Tổng quan về FTP
Tiêu chuẩn File Transfer Protocol (FTP) – Giao thức truyền tệp tin là một tiêu chuẩn do Nhóm chuyên trách kỹ thuật Internet - Internet Engineering Task Force (IETF) phát hành dưới dạng RFC, thường được sử dụng để trao đổi tệp tin trong mạng TCP/IP.
Phiên bản đầu tiên của FTP là RFC 114 công bố vào tháng 4/1971. Một số phiên bản cập nhật, thay thế tiếp theo của FTP là RFC 172 (tháng 6/1971) cung cấp giao thức định hướng người sử dụng cho việc truyền tải tệp tin giữa hai máy tính, RFC 281 (tháng 12/1971) đưa ra một số đề xuất cho FTP trong tương lai, RFC 294 (tháng 01/1972) thiết lập kiểu dữ liệu trong truyền tải dữ liệu, RFC 542 (tháng 8/1973) đưa ra một đề xuất mới về giao thức FTP, RFC 765 (tháng 6/1980) thay thế cho RFC 542. Phiên bản chính thức, được sử dụng rộng rãi hiện nay là RFC 959, được công bố vào tháng 10/1985. Một vài nội dung bổ sung, mở rộng cho FTP (RFC 959) đã được công bố là RFC 2228 (tháng 10/1997) mở rộng tính bảo mật cho FTP, RFC 2640 (tháng 7/1999) quốc tế hóa FTP cho phép hỗ trợ nhiều bộ ký tự và ngôn ngữ, RFC 2773 (tháng 03/2007) cung cấp cơ chế mã hóa, RFC 3659 cập nhật cho phiên bản RFC 959, RFC 5797 (tháng 3/2010) cung cấp cơ chế mở rộng cho FTP.
Mục đích của FTP là: Đẩy mạnh chia sẻ tệp tin (các chương trình máy tính và/hoặc dữ liệu); Khuyến khích sử dụng máy tính truy cập gián tiếp từ xa vào các tệp tin; Giúp người sử dụng dễ dàng truy cập vào các hệ thống lưu trữ khác nhau; Truyền dữ liệu một cách đáng tin cậy và hiệu quả cao.
FTP được xây dựng trên mô hình máy khách - máy chủ (client - server), trong đó, máy chủ FTP cài đặt phần mềm cung cấp dịch vụ FTP và lắng nghe yêu cầu về dịch vụ FTP của các máy tính trên mạng, máy khách cài đặt phần mềm FTP dành cho người sử dụng khởi tạo một liên kết với máy chủ. Máy khách có thể thực hiện một số chức năng như tải lên/tải xuống tệp tin từ máy chủ, đổi tên hoặc xóa tệp tin khi đã kết nối với máy chủ FTP.
Mô hình FTP
Việc thiết kế FTP dựa trên mô hình giao tiếp như sau:

Trong mô hình máy khách – máy chủ FTP, Máy chủ FTP gồm máy chủ PI và máy chủ DTP. Máy khách FTP gồm máy khách PI và máy khách DTP. Máy chủ PI “lắng nghe” trên cổng để thiết lập kết nối từ máy khách PI, nhận các lệnh FTP từ máy khách PI và gửi trả lời các thông tin phản hồi, quản lý các máy chủ DTP. Máy chủ DTP “lắng nghe” trên cổng để thiết lập kết nối dữ liệu, máy chủ DTP thiết lập tham số về truyền tải và lưu trữ theo thông tin điều khiển từ máy chủ PI. Cụ thể, quy trình hoạt động của mô hình sử dụng FTP như sau:
- Trong Hình 1, Máy khách PI khởi tạo một kết nối điều khiển với Máy chủ PI. Kết nối điều khiển này sử dụng giao thức Telnet. Trong phiên khởi tạo, Máy khách PI đưa ra các lệnh FTP chuẩn và truyền tới Máy chủ PI xử lý thông qua kết nối điều khiển. Sau đó, thông qua kết nối điều khiển, Máy chủ PI gửi lại các phản hồi tới Máy khách PI.
- Các lệnh FTP chỉ ra các tham số về kết nối dữ liệu (cổng dữ liệu, chế độ truyền, kiểu và cấu trúc) và các chức năng triển khai cơ bản của hệ thống tệp tin (lưu trữ, khôi phục, đánh dấu và xóa…). Máy khách DTP “lắng nghe” trên cổng dữ liệu đã định trước và Máy chủ DTP khởi tạo một kênh kết nối và truyền dữ liệu phù hợp với các tham số đã trao đổi trong phiên kết nối điều khiển.
Trong trường hợp người sử dụng muốn chuyển tệp tin giữa hai máy chủ, người sử dụng (máy khách) phải thiết lập kết nối điều khiển và kết nối dữ liệu cho hai máy chủ. Theo cách này, thông tin điều khiển được gửi đi từ Máy khách PI và dữ liệu sẽ được truyền đi giữa các máy chủ FTP. Hình vẽ dưới đây là mô hình tương tác giữa hai máy chủ trong truyền tệp tin.

Giao thức FTP yêu cầu kết nối điều khiển phải mở trong quá trình truyền tệp tin. Người sử dụng có trách nhiệm yêu cầu đóng kết nối điều khiển khi kết thúc sử dụng dịch vụ FTP. Các máy chủ có thể kết thúc sớm việc truyền tải dữ liệu nếu kết nối điều khiển đóng đột ngột.
Đặc điểm của FTP
FTP truyền tệp tin theo cách không an toàn, có nghĩa là dữ liệu được truyền đi mà không được mã hóa. Để giải quyết vấn đề này, IETF khuyến nghị sử dụng giao thức SFTP (Secure File Transfer Protocol) được xây dựng dựa trên nền giao thức SSH hoặc giao thức FTPS (FTP over SSL). FTPS là phần mở rộng của FTP bao gồm chức năng mã hóa dữ liệu của SSL hoặc TLS.
Ứng dụng
FTP là một giao thức đã được chuẩn hóa bởi IETF và cung cấp công khai trên trang chủ của tổ chức này. Do đó, các nhà phát triển phần mềm hay hệ thống đều có thể xây dựng sản phẩm hỗ trợ được giao thức FTP. Hiện nay, hầu hết các nền tảng, hệ điều hành máy tính như Windows, Linux, Mac OS X… đều hỗ giao thức FTP, các trình duyệt web như Internet Explorer, Firefox, Chrome… đều hỗ trợ FTP, để gửi nhận, xử lý các tệp tin giữa máy khách và máy chủ FTP. Trong Thông tư số 01/2011/TT-BTTTT ngày 04/01/2011 của Bộ trưởng Bộ Thông tin và Truyền thông Công bố Danh mục tiêu chuẩn kỹ thuật về ứng dụng công nghệ thông tin trong cơ quan nhà nước quy định Bắt buộc áp dụng tiêu chuẩn FTP và được xếp vào nhóm Tiêu chuẩn về kết nối.
Viết tắt/Thuật ngữ
RFC
|
Request for Comments
|
Là những tài liệu kỹ thuật và tổ chức về Internet, bao gồm những tài liệu đặc tả kỹ thuật và chính sách được tổ chức IETF phát hành
|
SSH
|
Secure Shell
|
Giao thức mạng cung cấp phương thức kết nối mạng có mã hóa dữ liệu để bảo mật
|
SSL
|
Secure Socket Layer
|
Giao thức mạng bảo đảm an toàn kênh truyền trên mạng Internet
|
TLS
|
Transport Layer Security
|
Giao thức mạng bảo đảm an toàn kênh truyền trên mạng Internet, phiên bản tiếp theo của giao thức SSL 3.0
|
TCP
|
Transmission Control Protocol
|
Giao thức bảo đảm truyền dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự
|
Telnet
|
|
Giao thức mạng cung cấp một phương thức truyền thông cơ bản, có tính lưỡng truyền, định hướng byte 8 bit, dùng để cung cấp những phiên giao dịch đăng nhập, giữa các máy trên mạng Internet hay mạng LAN
|