FTP là gì ?


03/10/2010      
FTP (viết tắt của tiếng Anh File Transfer Protocol, "Giao thức truyền tập tin") thường được dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức TCP/IP (chẳng hạn như Internet - mạng ngoại bộ - hoặc intranet - mạng nội bộ). Hoạt động của FTP cần có hai máy tính, một máy chủ và một máy khách). Máy chủ FTP, dùng chạy phần mềm cung cấp dịch vụ FTP, gọi là trình chủ, lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng lưới. Máy khách chạy phần mềm FTP dành cho người sử dụng dịch vụ, gọi là trình khách, thì khởi đầu một liên kết với máy chủ. Một khi hai máy đã liên kết với nhau, máy khách có thể xử lý một số thao tác về tập tin, như tải tập tin lên máy chủ, tải tập tin từ máy chủ xuống máy của mình, đổi tên của tập tin, hoặc xóa tập tin ở máy chủ v.v.



Vì giao thức FTP là một giao thức chuẩn công khai, cho nên bất cứ một công ty phần mềm nào, hay một lập trình viên nào cũng có thể viết trình chủ FTP hoặc trình khách 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 FTP. Điều này cho phép tất cả các máy tính kết nối với một mạng lưới có nền TCP/IP, xử lý tập tin trên một máy tính khác trên cùng một mạng lưới với mình, bất kể máy tính ấy dùng hệ điều hành nào (nếu các máy tính ấy đều cho phép sự truy cập của các máy tính khác, dùng giao thức FTP). Hiện nay trên thị trường có rất nhiều các trình khách và trình chủ FTP, và phần đông các trình ứng dụng này cho phép người dùng được lấy tự do, không mất tiền.

FTP thường chạy trên hai cổng, 20 và 21, và chỉ chạy riêng trên nền của TCP. Trình chủ FTP lắng nghe các yêu cầu dịch vụ từ những kết nối vào máy của các trình khách FTP, trên cổng 21. Đường kết nối trên cổng 21 này tạo nên một dòng truyền điều khiển, cho phép các dòng lệnh được chuyển qua trình chủ FTP. Để truyền tải tập tin qua lại giữa hai máy, chúng ta cần phải có một kết nối khác. Tùy thuộc vào chế độ truyền tải được sử dụng, trình khách (ở chế độ năng động - active mode) hoặc trình chủ (ở chế độ bị động - passive mode) đều có thể lắng nghe yêu cầu kết nối đến từ đầu kia của mình. Trong trường hợp kết nối ở chế độ năng động, (trình chủ kết nối với trình khách để truyền tải dữ liệu) , trình chủ phải trước tiên đóng kết vào cổng 20, trước khi liên lạc và kết nối với trình khách. Trong chế độ bị động, hạn chế này được giải tỏa, và việc đóng kết trước là một việc không cần phải làm.

Trong khi dữ liệu được truyền tải qua dòng dữ liệu, dòng điều khiển đứng im. Tình trạng này gây ra một số vấn đề, đặc biệt khi số lượng dữ liệu đòi hỏi được truyền tải là một số lượng lớn, và đường truyền tải chạy thông qua những bức tường lửa. Bức tường lửa là dụng cụ thường tự động ngắt các phiên giao dịch sau một thời gian dài im lặng. Tuy tập tin có thể được truyền tải qua hoàn thiện, song dòng điều khiển do bị bức tường lửa ngắt mạch truyền thông giữa quãng, gây ra báo lỗi.

Mục đích của giao thức FTP, như được phác thảo trong bản RFC, là:

1. Khuyến khích việc dùng chung tập tin (như chương trình ứng dụng vi tính hoặc dữ liệu)
2. Khuyến khích việc sử dụng máy tính ở xa một cách gián tiếp / ngấm ngầm (implicit).
3. Che đậy sự khác biệt về hệ thống lưu trữ tập tin giữa các máy chủ, hầu cho người dùng không cần phải quan tâm đến những sự khác biệt riêng tư của chúng.
4. Truyền tải dữ liệu một cách đáng tin cậy và có hiệu quả cao.

Những phê bình về giao thức FTP
1. Mật khẩu và nội dung của tập tin được truyền qua đường dây ở thể dạng văn bản thường (clear text), và vì vậy chúng có thể bị chặn và nội dung bị tiết lộ cho những kẻ nghe trộm. Hiện nay, người ta có những cải tiến để né tránh được nhược điểm này.
2. Cần phải có nhiều kết nối TCP/IP: một dòng dành riêng cho việc điều khiển kết nối, một dòng riêng cho việc truyền tập tin lên, truyền tập tin xuống, hoặc liệt kê thư mục. Các phần mềm bức tường lửa cần phải được cài đặt thêm những lôgic mới, đế có thể lường trước được những kết nối của FTP.
3. Việc thanh lọc giao thông FTP bên trình khách, khi nó hoạt động ở chế độ năng động, dùng bức tường lửa, là một việc khó làm, vì trình khách phải tùy ứng mở một cổng mới để tiếp nhận đòi hỏi kết nối khi nó xảy ra. Vấn đề này phần lớn được giải quyết bằng cách chuyển FTP sang dùng ở chế độ bị động.
4. Người ta có thể lạm dụng tính năng ủy quyền, được cài đặt sẵn trong giao thức, để sai khiến máy chủ gửi dữ liệu sang một cổng tùy chọn ở một máy tính thứ ba. Xin xem thêm về FXP.
5. FTP là một giao thức có tính trì trệ rất cao (high latency). Sự trì trệ gây ra do việc, nó bắt buộc phải giải quyết một số lượng lớn các dòng lệnh khởi đầu một phiên truyền tải.
6. Phần nhận không có phương pháp để kiểm chứng tính toàn vẹn của dữ liệu được truyền sang. Nếu kết nối truyền tải bị ngắt giữa lưng chừng thì không có cách gì, trong giao thức, giúp cho phần nhận biết được rằng, tập tin nhận được là hoàn chỉnh hay còn vẫn còn thiếu sót. Sự hỗ trợ bên ngoài, như việc dùng kiểm tra tổng MD5, hoặc dùng kiểm độ dư tuần hoàn (cyclic redundancy checking) là một việc cần thiết.

FTP là một phương pháp truyền tập tin có truyền thống phi bảo an (không an toàn), vì theo như bản thiết kế gốc đặc tả của FTP, không có cách nào có thể truyền tải dữ liệu dưới hình thức mật mã hóa được. Ảnh hưởng này có nghĩa là, phần lớn các cài đặt của mạng lưới truyền thông, tên người dùng, mật khẩu, dòng lệnh FTP và tập tin được truyền tải, đều có thể bị người khác trên cùng một mạng lưới, "ngửi" hoặc quan sát, dùng phần mềm phân tích giao thức (protocol analyzer) (hoặc còn gọi là "dụng cụ ngửi dữ liệu", tiếng Anh là "sniffer"). 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ế trước khi SSL (Secure Sockets Layer) ra đời (tạm dịch là giao thức "tầng kết nối bảo mật"), như HTTP, SMTP và Telnet. Giải pháp thường thấy, đối với vấn đề này, là dùng SFTP (Secure Shell File Transfer Protocol - tạm dịch là "giao thức truyền tập tin dùng trình bao bảo mật"), một giao thức dựa trên nền của SSH, hoặc trên FTPS (FTP over SSL). SFTP là FTP được cộng thêm chức năng mã hoá dữ liệu của SSL hoặc TLS (Transport Layer Security - tạm dịch là "Bảo mật tầng giao vận").

Không có nhận xét nào:

Đăng nhận xét

Giới thiệu

Website hướng dẫn các thủ thuật, cách cài đặt, cấu hình các phần mềm. Các thông tin công nghệ và hướng dẫn lập trình...

facebook.com/dung.phamtrung.9

phamtrungdung@gmail.com

Copyright © 2016. Cách cài đặt. Ghi rõ nguồn khi lấy tin từ trang này