1.Giới thiệu
_ Giao thức cấp ứng dụng:
• Hỗ trợ dùng chung tập tin, sử dụng tập tin trên máy ở xa. • Che dấu sự khác biệt giữa các hệ thống lưu trữ tập tin.
• Cung cấp dịch vụ chuyển tập tin tin cậy và hiệu quả giữa các máy. _ Đặc điểm:
• Mô hình client – server: Server:
Quản lý hệ thống tập tin trên máy ở xa
Đáp ứng yêu cầu làm việc trên tập tin từ phía lcient Client:
Giao tiếp với server: làm việc với tập tin trên máy ở xa. Giao tiếp người dùng.
• Sử dụng giao thức TCP:
Trao đổi dữ liệu tin cậy. Có thiết lập cầu nối:
Cầu nối điều khiển (control connection). Cầu nối dữ liệu (data connection). • Yêu cầu chứng thực người dùng:
Người dùng đã đăng ký tài khoản: tên và mật khẩu. Người dùng chưa đăng ký: bí danh.
_ Mô hình hoạt động: • Client:
Giao diện người dùng (User Interface – UI): Giao diện dạng dòng lệnh.
Giao diện đồ họa.
Giao thức phiên dịch (Protocol Interpreter – PI): Diễn dịch yêu cầu từ UI
Giao tiếp với server PI:
Thiết lập cầu nối điều khiển. Gởi yêu cầu (FTP command). Xử lý hồi đáp.
Điều khiên họa động của client DTP.
Tiến trình Vận chuyển Dữ liệu (Data Transfer Process – DTP). • Server:
Giao thức phiên dịch (Protocol Interpreter – PI): Chờ yêu cầu kết nối từ client.
Giao tiếp với client PI:
Nhận yêu cầu (FTP commmand). Giụ hồi đáp.
Điều khiển hoạt động của server DTP.
Tiến trình Vận chuyển Dữ liệu (Data Transfer Process – DTP). _ FTP và NVT:
• FTP client thiết lập cầu nối
• FTP client dàn xếp việc thiết lập cầu nối giữa hai FTP server. _ Hai loại cầu nối:
• Cầu nối điều khiển:
Client PI / server PI trao đổi yêu cầu / hồi đáp. Đặc điểm:
Duy trì cho đến khi kết thúc phiên làm việc. Thiết lập:
Server PI lắng nghe tại cổng dành riêng (port 21). Client PI chủ động kết nối đến server PI.
Server PI gởi hối đáp sẵn sàng khi kết nối thành công. • Cầu nối dữ liệu:
Client DTP / server DTP gởi nhận dữ liệu. Đặc điểm:
Thiết lập trước khi bắt đầu truyền dữ liệu
Duy trì trong suốt quá trình truyền dữ liệu, có thể đóng sau khi kết thúc quá trình truyền dữ liệu.
Thiết lập:
Server mở cầu nối chủ động:
Client DTP lắng nghe tại cổng tự chọn (mở cầu nối thụ động). Client PI gởi thông tin về địa chỉ và cổng “lắng nghe” cho server PI. Server DTP chủ động kết nối theo địa chỉ và cổng đã nhận.
Server mở cầu nối thụ động:
Client PI báo cho server DTP mở cầu nối thụ động (gởi lệnh PASV). Server PI gởi hồi đáp thông tin về địa chỉ và cổng “lắng nghe” cho client PI. Client DTP chủ động kết nối đến server DTP.
_ Vấn đề truyền dữ liệu: • Tùy chọn:
Dạng biểu diễn của dữ liệu. Ký tự định dạng.
Cấu trúc. Chế độ truyền. • Tổng kết:
Ứng dụng FTP chỉ hỗ trợ:
Điều khiển không định dạng in (Nonprint format control). Cấu trúc tập tin (File structure).
Chế độ dòng (Stream mode). Người dùng lựa chọn loại tập tin:
ASCII.
Image (binary). _ Tập lệnh:
• Các lệnh kiểm soát truy cập (access control commands): USER (USER <SP><tên người dùng><CRLF>):
Cung cấp tên người dùng cho FTP server.
Lệnh đầu tiên được gởi sau khi thiết lập cầu nối điều khiển. Mã hồi đáp.
PASS (PASS<SP><mật khẩu><CRLF>):
Cung cấp mật khẩu người dùng cho FTP Server.
Thực hiện sau lệnh USER, bổ sung thông tin xác nhận người dùng. Mã hồi đáp.
ACCT, CWD, CDUP, SMNT, REIN, QUIT. • Các lệnh truyền tải biến (transfer-parameter commands):
PORT (PORT <SP><h1, h2, h3, h4, p1, p2><CRLF>): Cung cấp thông tin để thiết lập cầu nối dữ liệu. Thông tin cung cấp theo định dạng byte, bao gồm :
Địa chỉ máy: h1, h2, h3, h4. Cổng chờ kết nối: p1, p2. Mã hồi đáp.
Báo cho tiến trình truyền dữ liệu phía server lắng nghe trên port dữ liệu (không phải port dữ liệu mặc định) và chờ kết nối đến.
Phía server đáp ứng bằng cách gởi hồi đáp kèm thông tin về địa chỉ server và port dữ liệu cùng với định dạng như trong lệnh PORT.
Mã hồi đáp. TYPE, STRU, MODE. • Các lệnh dịch vụ (service commands):
RETR (RETR <SP><tên đường dẫn><CRLF>): Yêu cầu server gởi tập tin (tải xuống). Mã hồi đáp.
STOR (RETR <SP><tên đường dẫn><CRLF>): Yêu cầu server nhận tập tin (tải lên). Mã hồi đáp.
LIST (LIST <SP><tên đường dẫn><CRLF>):
Yêu cầu danh sách tập tin trong thư mục hay thông tin về tập tin chỉ định. Dữ liệu được truyền qua cầu nối dữ liệu.
Mã hồi đáp.
STAT (STAT <SP><tên đường dẫn><CRLF>): Xác định trạng thái của FTP server.
Server gởi thông tin trạng thái thông qua hồi đáp (qua cầu nối điều khiển). Khi thông số là đường dẫn, lệnh STAT có tác dụng như lệnh LIST nhưng dữ liệu được gửi qua cầu nối điều khiển.
Mã hồi đáp. NOOP (NOOP<CRLF>):
Thường dùng để kiểm tra cầu nối. Khi nhận được, server gởi hồi đáp OK. Mã hồi đáp.
STOU, APPE, ALLO, REST, ABOR, RNFR, RNTO, DELE, RMD, MKD, PWD, NLIST, HELP.
_ Mã hồi đáp (xyz): • x:
1yz:
Positive Preliminary reply.
Server chờ hồi đáp khác trước khi xử lý lệnh mới. 2yz:
Positive Completion reply.
Server đã đáp ứng hoàn tất yêu cầu. 3yz:
Positive Intermediate reply.
Server chấp nhận yêu cầu nhưng cần thên thông tin. 4yz:
Transient Negative Completion reply.
Yêu cầu không được chấp nhận, có thể gởi yêu cầu lại sau. 5yz:
Permanent Negative Completion reply. Server không chấp nhận yêu cầu. • y:
x0z:
Syntax.
Liên quan đến lỗi sai cú pháp. x1z:
Information.
Hồi đáp cho những yêu cầu về thông tin (STAT, HELP, …). x2z:
Connection
Liên quan đến các cầu nối. x3z:
Authentication, accounting.
Liên quan đến quá trình chứng thực, đăng ký. x4z: chưa dùng.
x5z:
File system.
Liên quan đến trạng thái hệ thống tập tin. _ Minh họa:
• Dạng tương tác dòng lệnh:
ftp> open nic.ddn.mil <enter>.
Name (nic.ddn.mil:happy):anonymous. ftp> get index.txt <enter>.
ftp> get index.txt <enter>. ftp> close <enter>.
• Phiên làm việc điển hình.