Tin tức

FTP là gì? Những điều bạn nên biết về giao thức FTP

Cập nhật lần cuối: 22:37, 03 tháng 1, 2023

FTP là gì? FTP là một thuật ngữ khá phổ biến trong trao đổi dữ liệu. Rất nhiều người đã sử dụng FTP nhưng chưa biết rõ về nó. Do đó trong bài viết này Puramu sẽ giới thiệu tổng quan về FTP, cách FTP hoạt động để mọi người có thể hiểu được FTP là gì cũng như tất tần tật về FTP.

FTP là gì?

FTP là viết tắt của cụm từ tiếng anh File Transfer Protocol (Giao thức truyền tập tin).

Giao thức FTP thuộc tầng ứng dụng trong mô hình TCP/IP. Là cách thức phổ biến để lưu trữ, trao đổi tập tin và dữ liệu giữa máy tính cá nhân và máy chủ chạy trên nền TCP/IP thông qua mạng Internet. Do đó, bạn có thể sử dụng giao thức FTP để lưu trữ dữ liệu từ máy tính lên máy chủ hoặc truyền tải dữ liệu từ máy tính này sang máy tính/điện thoại khác kể cả khi bạn ở bất cứ nơi đâu.

FTP là gì?

Tại sao nên chọn giao thức FTP?

FTP đã phổ biến từ năm 1970 nên nó rất quen thuộc với mọi người khi nhắc đến truyền tệp:

  • Với FTP, bạn có thể truyền nhiều tệp khác nhau vào cùng một thời điểm. Không những thế, nó còn tiếp tục quá trình truyền tệp nếu không may xảy ra mất kết nối. Khi đó, bạn có thể thêm tệp chưa xử lý xong vào khung chờ download hay upload để lên lịch truyền.
  • Chức năng của các script sẽ giúp các tệp tin được truyền đi tự động.
  • Các máy khách FTP có thể đồng bộ hoá được các tệp tin.

Mọi người thường chọn truyền tệp qua giao thức FTP vì độ chính xác, tương thích và khả năng kiểm soát cao hơn so với qua các thư điện tử như email hoặc dịch vụ web HTTP.

Thông thường các dịch vụ nhắn tin phổ biến như Gmail, Faceboook Messenger, Outlook,.. thường không cho phép người dùng đính kèm file có kích thước quá 25 MB. Hoặc khi bạn làm website với WordPress, bạn thường sẽ bị giới hạn dung lượng upload. Để khắc phục được điều đó, bạn chỉ cần sử dụng phương thức FTP để upload file. Việc truyền các file dung lượng lớn giờ đây đã dễ dàng và nhanh chóng hơn rất nhiều.

Sử dụng giao thức FTP, bạn có thể quản lý và đồng bộ toàn bộ các dữ liệu dạng các file trên FTP Server. Vì vậy, FTP được ứng dụng phổ biến trong việc lưu trữ và truyền dữ liệu đến các hosting, server sử dụng cho website. Nhiều doanh nghiệp, tổ chức còn chọn giao thức FTP để làm việc với khách hàng, đối tác, nhân viên.

Tại sao nên chọn giao thức FTP?
Tại sao nên chọn giao thức FTP?

Các thuật ngữ thường gặp khi nói về FTP

FTP port (cổng FTP): Là cổng kết nối nơi các dữ liệu đi vào hoặc ra khỏi hệ thống máy tính. Bạn cần xác định đúng cổng để các dữ liệu đi qua. Thông thường FTP sẽ hoạt động trên hai cổng là cổng 20 và cổng 21.

  • Cổng 20 (FTP data): Các dữ liệu, tập tin được trao đổi giữa server và máy tính tại cổng này.
  • Cổng 21 (FTP control): Khi máy bạn kết nối với dịch vụ FTP, bạn phải thêm cổng 21 để kết nối (đến cổng 21) theo mặc định. Khi đầu bit khớp, cổng 21 sẽ mở và cho máy bạn tới FTP để đăng nhập vào máy chủ.

FTP server: Còn gọi là máy chủ-nơi lưu trữ các dữ liệu, tập tin cho phép bạn download và upload. Tại đây, các yêu cầu về các tác vụ với dữ liệu, tập tin sẽ được tiếp nhận.
FTP client: Còn gọi là máy khách. Để sử dụng được giao thức FTP, máy tính bạn cần phải kết nối với một phần mềm/dịch vụ FTP Client. Đây là cầu nối để bạn vào được FTP server và thực hiện các thao tác với các dữ liệu, tệp tin.

Cách hoạt động của giao thức FTP

Giao thức FTP hoạt động cần 1 máy chủ FTP (FTP server) và 1 máy khách (FTP client).

  • Máy khách kết nối với máy chủ để thực hiện các thao tác trên tập tin như tải lên, tải về, copy, di chuyển, tạo thư mục trên server, đổi tên, xoá,..

Máy khách và máy chủ kết nối với nhau qua hai kênh:

  • Kênh lệnh (command channel): Kiểm soát các yêu cầu, chỉ truyền các lệnh qua lại giữa máy khách và máy chủ. Nó cũng kiêm luôn việc xác thực các thông tin như: nhận dạng người dùng, username, mật khẩu. Quá trình này diễn ra trong suốt quá trình trao đổi dữ liệu.
  • Kênh dữ liệu (data channel): Nhiệm vụ chính là truyền tải dữ liệu được yêu cầu giữa máy khách và máy chủ. Không chỉ truyền tập tin trực tiếp (gửi hoặc nhận một file) mà còn truyền dữ liệu ngầm. Phiên làm việc này chỉ được mở khi có trao đổi dữ liệu diễn ra.

Chế độ hoạt động

Các phiên làm việc của giao thức FTP hoạt động ở chế độ chủ động hoặc thụ động để tạo ra kênh dữ liệu:

  • Chế độ chủ động (Active mode): Sau khi máy khách bắt đầu phiên làm việc thông qua yêu cầu kênh lệnh. Lúc này, máy chủ sẽ tạo kết nối dữ liệu lại với máy khách và bắt đầu truyền dữ liệu.
  • Chế độ thụ động (Passive mode): Máy chủ chấp nhận yêu cầu kết nối dữ liệu được khởi tạo từ máy khách. Thông qua kênh lệnh, máy chủ gửi cho máy khách địa chỉ IP. Kênh dữ liệu được mở. Trong chế độ thụ động, máy khách sẽ khởi tạo tất cả các kết nối nên nó hoạt động tốt trên tường lửa và NAT Gateway.
Cách hoạt động của FTP. Nguồn: techtarget.com
Cách hoạt động của FTP. Nguồn: techtarget.com

Các phương thức truyền dữ liệu

Máy chủ và máy khách thiết lập xong kênh dữ liệu qua chế độ chủ động hoặc thụ động. Sau đó, dữ liệu sẽ được truyền trực tiếp từ máy chủ sang máy khách hoặc ngược lại. FTP có ba phương thức truyền dữ liệu chính là:

1. Stream mode

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 truyền 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.

Đây là phương thức được sử dụng nhiều nhất vì:

  • Nó là phương thức mặc định và đơn giản nhất.
  • Nó xử lí các file chỉ đơn thuần là xử lí dòng byte, không cần để ý tới nội dung.
  • Không tốn một lượng byte “overload” nào để thông báo Header.

2. Block mode

Phương thức truyền dữ liệu này mang tính quy chuẩn hơn. Dữ liệu sẽ được chia thành nhiều khối nhỏ gọi là FTP blocks. Mỗi block có một trường header 3 byte báo hiệu độ dài và chứa thông tin về khối dữ liệu đang được gửi. Một thuật toán đặc biệt được sử dụng để kiểm tra các dữ liệu đã được truyền đi. Nếu phiên truyền dữ liệu bị ngắt, nó sẽ được khởi tạo lại.

3. 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” (mã hoá chiều dài). Với thuật toán này, FTP sẽ xoá các đoạn dữ liệu bị lặp giúp giảm chiều dài và hoàn thiện thông tin gửi đi. Thông tin khi đã được nén sẽ được xử lý trong Block Mode với trường Header.

Trong thực tế, việc nén dữ liệu thường được thực hiện ở chỗ khác. Điều này làm cho phương thức này trở nên không cần thiết và ít được sử dụng.

Các loại FTP

Giống như phần lớn các giao thức cũ, phương pháp đăng nhập đơn giản của FTP là một sự kế thừa từ những giao thức ở thời kì đầu của Internet. Ngày nay, nó không còn đảm bảo tính an toàn do username và password được gửi qua kênh lệnh dưới dạng clear text (không mã hóa).

Do đó, nhiều loại biến thể của FTP đã ra đời với nhiều tùy chọn chứng thực và mã hóa phức tạp để tăng thêm mức độ an toàn khi trao đổi tệp.

Máy chủ FTP và phần mềm máy khách có thể sử dụng nhiều biến thể FTP khác nhau để truyền tệp, như:

1. FTP ẩn danh

Đây là dạng cơ bản nhất của FTP. FTP này truyền dữ liệu qua cổng mà không cần mã hóa dữ liệu hoặc đăng nhập bằng tên người dùng và mật khẩu. Nó được sử dụng phổ biến nhất để tải những tài liệu đơn giản. 

2. FTP có lớp bảo vệ bằng mật khẩu

Đây cũng là một dịch vụ FTP cơ bản. Khác với dạng trên, FTP này yêu cầu đăng nhập bằng tên người dùng và mật khẩu. Mặc dù dịch vụ này có thể không được mã hóa hoặc bảo mật. Nó hoạt động trên cổng 21.

3. FTPS (FTP Secure) 

Hay còn được gọi là FTP Secure Sockets Layer (FTP-SSL). Đây là phiên bản FTP được mã hoá đầu tiên. FTPS được cải tiến để tăng tính bảo mật, hạn chế nhược điểm của FTP. Do đó, quá trình truyền dữ liệu bằng FTPS diễn ra an toàn hơn. Khi kết nối FTP được thiết lập, máy khách FTPS sẽ tiến hành tra certificate xem có đáng tin không. Nếu đáng tin thì quá trình trao đổi dữ liệu mới được diễn ra. FTPS ẩn hoạt động mặc định trên cổng 990. FTPS hiện hoạt động trên cổng 21.

4. FTPES (FTP qua SSL/TLS hiện)

Cách tiếp cận này cho phép hỗ trợ TLS hiện bằng cách nâng cấp kết nối FTP qua cổng 21 thành kết nối được mã hóa. Nó hoạt động tốt trên tường lửa nên thường được các dịch vụ chia sẻ tệp sử dụng để truyền tệp an toàn.

5. SFTP (Secure FTP)

Về mặt kỹ thuật, đây không phải là một giao thức FTP, nhưng nó lại hoạt động tương tự. Thay vào đó, SFTP là một nhánh của giao thức Secure Shell (SSH) chạy trên cổng 22. SSH thường được quản trị viên hệ thống sử dụng để truy cập hệ thống và ứng dụng từ xa an toàn. Đồng thời, SFTP cung cấp một cơ chế trong SSH để truyền tệp an toàn.

Bên trên là sơ lược các thông tin về FTP. Hy vọng qua bài viết này, bạn có thể có thêm kiến thức về FTP như: FTP là gì, gồm những loại nào, cách FTP hoạt động như thế nào.