Hệ thống FTP

Một phần của tài liệu BÀI GIẢNG MÔN LẬP TRÌNH MẠNG (Trang 27 - 30)

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.

Một phần của tài liệu BÀI GIẢNG MÔN LẬP TRÌNH MẠNG (Trang 27 - 30)

Tải bản đầy đủ (PDF)

(40 trang)