1. Khái quát về FTP

FTP (File Transfer Protocol ), dịch ra tiếng Việt là “giao thức truyền tin” được sử dụng ở tầng Ứng Dụng (Application layer) trong mô hình TCP/IP. Đúng theo tên gọi, FTP được dùng để trao đổi file từ máy tính sang máy chủ hay giữa hai máy tính với nhau.Vì giao thức FTP là một giao thức chuẩn công khai, cho nên rất dễ để tìm kiếm bất cứ một phần mềm nào trên mạng, hay một lập trình viên nào cũng có thể viết chương trình dựa trên cách thức hoạt động của FTP. Hầu như bất cứ một nền tảng hệ điều hành máy tính nào cũng hỗ trợ giao thức này.

FTPP 735x400 - [Phần 1] Giao thức FTP là gì? Mục đích và nguyên lí hoạt động trong các bộ giao thức Internet - Series tự học CCNA [A-Z]

2. Nguyên lý hoạt động

2.1 Hoạt động trên nền TCP

FTP là một giao thức lớp ứng dụng di chuyển tệp giữa các hệ thống tệp cục bộ và từ xa. Nó chạy trên TCP, như HTTP trong bộ giao thức Internet. Để truyền một tập tin, 2 kết nối TCP được FTP sử dụng song song: điều khiển kết nối (control connection) và kết nối dữ liệu (data connection)

Để gửi thông tin điều khiển như nhận dạng người dùng, mật khẩu, lệnh thay đổi thư mục từ xa, lệnh truy xuất và lưu trữ tệp, v.v… FTP sử dụng kết nối điều khiển. Điều khiển kết nối được bắt đầu trên cổng số 21.

Để gửi tệp, FTP sử dụng kết nối dữ liệu. Kết nối dữ liệu được bắt đầu trên cổng số 20. FTP gửi thông tin điều khiển ra ngoài băng vì nó sử dụng kết nối điều khiển riêng biệt. Một số giao thức trong bộ giao thức Internet cũng gửi các dòng tiêu đề yêu cầu và phản hồi cũng như dữ liệu trong cùng một kết nối TCP. Vì lý do này, họ được cho là gửi thông tin kiểm soát của họ trong băng ví dụ điển hình là HTTP và SMTP.

2.2 FTP session

Khi một phiên FTP được bắt đầu giữa máy khách và máy chủ, máy khách sẽ khởi tạo kết nối TCP điều khiển với phía máy chủ. Máy khách gửi thông tin kiểm soát việc này. Khi máy chủ nhận được điều này, nó sẽ bắt đầu kết nối dữ liệu với phía máy khách. Chỉ có thể gửi một tệp qua một kết nối dữ liệu. Nhưng kết nối điều khiển vẫn hoạt động trong suốt phiên người dùng, FTP cần duy trì trạng thái về người dùng của nó trong suốt phiên.

computer network ftp - [Phần 1] Giao thức FTP là gì? Mục đích và nguyên lí hoạt động trong các bộ giao thức Internet - Series tự học CCNA [A-Z]

Phía Client:

User Interface – Client: cung cấp giao diện xử lý cho người dùng (phần mềm, ứng dụng) cho phép sử dụng các lệnh đơn giản hướng người dùng, và cho phép người điều khiển phiên FTP theo dõi được các thông tin và kết quả xảy ra trong tiến trình.

Control process – Client: chịu trách nhiệm quản lý kênh điều khiển phía Client. Nó khởi tạo phiên kết nối FTP bằng việc phát ra yêu cầu tới phía Server. Khi kết nối đã được thiết lập, nó xử lý các lệnh nhận được trên giao diện người dùng, gửi chúng tới Server và nhận phản hồi trở lại. Bên cạnh đó nó cũng quản lý tiến trình Data transfer process.


Data transfer process – Client: là bộ phận DTP nằm ở phía người dùng, làm nhiệm vụ gửi hoặc nhận dữ liệu từ Server – DTP. nó có thể thiết lập hoặc lắng nghe yêu cầu kết nối kênh dữ liệu trên server. Nó tương tác với thiết bị lưu trữ file phía client.

Phía Sever

Control process – Sever: chịu trách nhiệm quản lý kênh điều khiển trên server. Nó lắng nghe yêu cầu kết nối hướng tới từ users trên cổng dành riêng. Khi kết nối đã được thiết lập, nó sẽ nhận lệnh từ phía User – ClientI để trả lời lại và quản lý tiến trình truyền dữ liệu trên server.

Data transfer process – Sever: làm nhiệm vụ gửi hoặc nhận file từ bộ phận Client-DTP. Server-DTP vừa làm nhiệm thiết lập kết nối kênh dữ liệu và lắng nghe một kết nối kênh dữ liệu từ người dùng. Nó tương tác với server file trên hệ thống cục bộ để đọc và chép file.

3. Một số câu lệnh sử dụng trong FTP

Commands Mô tả
USER Username
PASS Password
CWD Truy xuất thư mục
RMD Xóa thư mục hiện tại
MKD Tạo tên thư mục mới
PWD Quay lại thư mục
RETR Cho phép kết nối và gửi dữ liệu
STOR Lưu lại tệp và thư mục của máy chủ từ xa
LIST Hiển thị danh sách trong thư mục
ABOR Hủy bỏ các lệnh FTP
QUIT Thoát khỏi phiên làm việc

Phản hồi từ FTP:

Code Mô tả
200 Lệnh đúng
530 Chưa đăng nhập
311 Username đúng, cần password
225 Kết nối dữ liệu mở, không có kết nối nào được tiến hành
221 Dịch vụ kiểm soát đang đóng kết nối
551 Hành động được yêu cầu đã hủy bỏ
502 Lệnh không được triển khai
503 Chuỗi lệnh không hợp lệ
504 Lệnh không được triển khai cho tham số đó

4. FTP ẩn danh

FTP ẩn danh được sử dụng trên một số trang web có sẵn file để có thể truy cập công khai. Người dùng có thể truy cập các tệp này mà không cần có bất kỳ tên người dùng hoặc mật khẩu nào. Thay vào đó, tên người dùng được đặt thành ẩn danh và mật khẩu cho khách theo mặc định. Ở đây, quyền truy cập của người dùng rất hạn chế. Ví dụ: người dùng có thể được phép sao chép các tệp nhưng không được phép thay đổi, sửa hay di chuyển các thư mục.

5. Vấn đề bảo mật trong FTP

FTP là phương pháp truyền dữ liệu không an toàn, theo như thiết kế gốc thì không có một hình thức mã hóa hay mật mã nào được đề cập đến. Do đó, hầu hết các thông tin về tài khoản, mật khẩu hoặc dữ liệu đề có thể được lấy cắp dễ dàng. Nên chú ý rằng đây là vấn đề thường thấy ở các giao thức của Internet được thiết kế đời đầu khi mà tính an toàn của thông tin chưa được đề cao.

Ngày nay, với sự xuất hiện của nhiều giao thức khác trong bộ giao thức Internet có tính bảo mật cao hơn, FTP sẽ được kết hợp để tăng tính an toàn cho người dùng và dữ liệu.

Hết!

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x