FTP là gì? Giao thức FTP là gì? Bạn nên biết gì về giao thức FTP. Hiện nay, việc chia sẻ dữ liệu ngày một trở nên phổ biến đối với các cá nhân, một công ty, hay một trường học. Nhất là các công ty hay tổ chức có nhiều chi nhánh, thì việc tạo lập một máy chủ FTP để đồng bộ hóa dữ liệu làm việc sẽ góp phần không nhỏ trong việc phát triển của công ty. Nếu bạn còn thắc mắc, hãy đọc bài viết này để biết rõ hơn về Giao thức FTP cũng như những điều bạn chưa từng biết về giao thức FTP này nhé!
FTP là gì?
FTP là từ viết tắt của cụm từ tiếng anh “File Transfer Protocol” (Giao thức truyền tải tập tin) được dùng trong việc trao đổi dữ liệu trong mạng thông qua giao thức TCP/IP, thường hoạt động trên 2 cổng là 20 và 21. Với giao thức này, các máy client trong mạng có thể truy cập đến máy chủ FTP để gửi hoặc lấy dữ liệu. Điểm nổi bật là người dùng có thể truy cập vào máy chủ FTP để truyền và nhận dữ liệu dù đang ở xa.
Mô hình hoạt động của giao thức FTP
Giao thức FTP hoạt động dựa trên mô hình cơ bản của việc truyền và nhận dữ liệu từ máy Client đến máy Server. Quá trình truyền nhận dữ liệu giữa máy Client và Server lại được tạo nên từ 2 tiến trình TCP logic là Control Connection và Data Connection.
- Control Connection: Đây là phiên làm việc TCP logic đầu tiên được tạo ra khi quá trình truyền dữ liệu bắt đầu. Tuy nhiên, tiến trình này chỉ kiểm soát các thông tin điều khiển đi qua nó, ví dụ như các tập lệnh. Quá trình này sẽ được duy trì trong suốt quá trình phiên làm việc diễn ra.
- Data Connection: Khác với tiến trình Control Connection, Data Connection là một kết nối dữ liệu TCP được tạo ra với mục đích chuyên biệt là truyền tải dữ liệu giữa máy Client và máy Server. Kết nối sẽ tự động ngắt khi quá trình truyền tải dữ liệu hoàn tất.
Các phương thức truyền dữ liệu trong giao thức FTP
Khi quá trình truyền dữ liệu được thiết lập, dữ liệu sẽ được truyền từ máy Client đến máy Server hoặc có thể ngược lại. Dựa trên việc truyền dữ liệu này, FTP có 3 phương thức truyền tải dữ liệu là stream mode, block mode, và compressed mode.
- Stream mode: Phương thức này hoạt động dựa vào tính tin cậy trong việc truyền dữ liệu trên giao thức TCP. Dữ liệu sẽ được truyền đi dưới dạng các byte có cấu trúc không liên tiếp. Thiết bị gửi chỉ đơn thuần đẩy luồng dữ liệu qua kết nối TCP tới phía nhận mà không có một trường tiêu đề nhất định.
- Block mode: Là phương thức truyền dữ liệu mang tính quy chuẩn hơn. Với phương thức này, dữ liệu được chia thành nhiều khối nhỏ và được đóng gói thành các FTP blocks. Mỗi block sẽ chứa thông tin về khối dữ liệu đang được gửi.
- Compressed mode: Phương thức truyền sử dụng kỹ thuật nén dữ liệu khá đơn giản là “run-length encoding”. Với thuật toán này, các đoạn dữ liệu bị lặp sẽ được phát hiện và loại bỏ để giảm chiều dài của toàn bộ thông điệp khi gửi đi.
Cách xây dựng một máy chủ FTP đơn giản
Trước đây, việc xây dựng một máy chủ FTP khá phức tạp và tốn kém đối với mọi người. Nhất là các doanh nghiệp chưa có riêng cho mình một phòng server và những hộ gia đình có nhu cầu sử dụng nhưng ngại thực hiện vì chi phí tốn kém. Nhưng giờ đây, việc xây dựng một máy chủ FTP để truyền và nhận dữ liệu trở nên hoàn toàn dễ dàng khi được tích hợp sẵn trên các Router.
Các doanh nghiệp hay hộ gia đình chỉ cần sở hữu một thiết bị Router có tích hợp tính năng FTP. Sau đó, đầu tư thêm 1 bộ nhớ ngoài như USB hoặc ổ cứng với dung lượng thích hợp với nhu cầu cần sử dụng. Kết nối bộ nhớ với Router và cài đặt các thông số cần thiết theo hướng dẫn từ nhà sản xuất. Vậy là một máy chủ FTP đã được dựng thành công.
Chức năng từng phần trong mô hình FTP
Phía Server
Server Protocol Interpreter (Server-PI) : Chịu trách nhiệm quản lí Control Connection trên Server. Nó lắng nghe yêu cầu kết nối hướng từ User trên cổng 21. Khi kết nối được thiết lập, nó nhận lệnh từ User-PI, gửi phản hồi và quản lí tiến trình truyền dữ liệu trên Server.
Server Data Transfer Process (Server-DTP) : chịu trách nhiệm nhận và gửi file từ User-DTP. Server-DTP vừa làm nhiệm vụ thiết lập Data Connection và lắng nghe Data Connection của User thông qua cổng 20. Nó tương tác với Server File System trên hệ thống cục bộ để đọc và chép file.
Phía Client
User Interface: Đây là chương trình được chạy trên máy tính, nó cung cấp giao diện xử lí cho người dùng, chỉ có trên phía Client. Nó cho phép người dùng sử dụng những lệnh đơn giản để điều khiển các session FTP, từ đó có thể theo dõi được các thông tin và kết quả xảy ra trong quá trình.
User Protocol Interpreter (User-PI): Chịu trách nhiệm quản lí Control Connection phía Client. Nó khởi tạo phiên kết nối giao thức FTP bằng việc phát hiện ra Request tới Server-PI. Sau khi kết nối được thiết lập, nó xử lí các lệnh nhận được trên User Interface, gửi chúng tới Server-PI rồi đợi nhận Response trở lại. Nó cũng quản lí các tiến trình trên Client.
User Data Transfer Process (User-DTP): Có nhiệm vụ gửi hoặc nhận dữ liệu từ Server-DTP. User-DTP có thể thiết lập hoặc lắng nghe DataConnection từ Server thông qua cổng 20. Nó tương tác với Client File System trên Client để lưu trữ file.
Nguồn: Tổng hợp và tham khảo:
- //www.totolink.vn/article/154-giao-thuc-ftp-la-gi-nhung-dieu-ban-chua-biet-ve-giao-thuc-ftp.html
- //mesidas.com/ftp/
- //www.semtek.com.vn/giao-thuc-ftp/