File Transfer Protocol (FTP) :
Giao thức truyền tải file, thường được gọi là FTP, là công cụ quản lý files giữa các máy. FTP cho phép truyền và tải files, quản lý thư mục, và lấy mail. FTP không được thiết kế để truy nhập và thi hành files, Nhưng nó là công cụ tuyệt vời để truyền tải files.
FTP dùng 2 kênh TCP. TCP cổng 20 là kênh dữ liệu, và cổng 21 là kênh lệnh. FTP khác với tất cả ứng dụng TCP/IP là phải dùng 2 kênh, cho phép giả lập truyền tải lệnh và dữ liệu của FTP. Nó cũng khác các giao thức khác một chức năng quan trọng: FTP truyền tải files ở foreground, so với giao thức khác ở background. Hay nói cách khác, FPT không dùng spoolers hay queues, do vậy việc truyền tải thực hiện bằng thời gian thực.
Trong FTP, có 2 kênh tồn tại giữa 2 máy gọi là protocol interpreter, hay PI, và data transfer process, hay DTP. Cấu trúc truyền tải PI dùng kênh lệnh 21 TCP, và truyền tải dữ liệu DTP trên kênh dữ liệu 20 TCP.
FTP gần giống Telnet trong cách dùng chương trình máy chủ chạy liên tục và ngắt quảng chương trình chạy trên máy khách. Trên hệ thống UNIX, các chương trình được goi là ftpd và ftp.
Lệnh của FTP
Trước khi xem làm thế nào dùng FTP để truyền files, bạn nên xem các lệnh của giao thức này. Tương tự lệnh của Telnet, nhiều lệnh chỉ dùng cho giao thức và không dùng cho người dùng (mặc dù administrators đôi khi dùng lệnh FTP để gỡ rối và chẩn đoán).Lệnh nội bộ của FTP gồm 4 ký tự ASCII cách nhau bởi newline character. Nhiều lệnh cần phải có tham số. Một lợi ích chính dùng ký tự ASCII cho lệnh là người dùng có thể quan sát các lệnh chạy và hiểu được nó. Nó giúp ích cho quá trình gỡ rối. Nó cũng mở rộng kiến thức về giao tiếp trực tiếp với FTP server component (ftpd).
Quote
Command Description
ABOR Abort previous command
ACCT User account ID
ALLO Allocate storage for forthcoming operation
APPE Append incoming data to an existing file
CDUP Change to parent directory
CWD Change working directory
DELE Delete file
HELP Retrieve information
LIST Transfer list of directories
MKD Make a directory
MODE Set transfer mode
NLST Transfer a directory listing
NOOP No operation
PASS User password
PASV Request a passive open
PORT Port address
PWD Display current directory
QUIT Terminate the connection
REIN Terminate and restart a connection
REST Restart marker (restart transfer)
RETR Transfer copy of file
RMD Remove a directory
RNFR Old pathname for rename command
RNTO New pathname for rename command
SITE Provides service specifics
SMNT Mount a file system
STAT Returns status
STOR Accept and store data
STOU Accept data and store under different name
STRU File structure
SYST Query to determine operating system
TYPE Type of data
USER User ID
FTP cũng dùng các mã đơn giản để báo tình trạng truyền tải. Mỗi return code là số có 3 chữ số, số đầu tiên báo thi hành thành công (số đầu tiên là 1, 2, hay 3) hoặc thất bại (số đầu tiên là 4 hay 5). Số thứ 2 và 3 diễn giải chi tiết thêm tình trạng.
Quote
First Digit Description
1 Action initiated. Expect another reply before sending a new command.
2 Action completed. Can send a new command.
3 Command accepted but on hold due to lack of information.
4 Command not accepted or completed. Temporary error condition exists.
Command can be reissued.
5 Command not accepted or completed.
Reissuing the command will result in the same error (don't reissue).
Quote
Second Digit Description
0 Syntax error or illegal command
1 Reply to request for information
2 Reply that refers to connection management
3 Reply for authentication command
4 Not used
5 Reply for status of server
FTP cho phép truyền files ở nhiều dạng khác nhau, tùy thuộc hệ thống. Hệ thống chính (bao gồm hệ thống UNIX) chỉ có 2 chế độ: text và binary. Nhiều hệ thống mainframe hỗ trợ EBCDIC, nhiều trang có những dạng tự định nghĩa để tăng tốc độ truyền tải trong mạng nội bộ (có thể dùng 32- hoặc 64-bit words).
Truyền tải dạng Text dùng ký tự ASCII phân cách bởi ký tự carriage-return và newline characters, trong khi truyền tải binary truyền các ký tự không có định dạng. Binary mode nhanh hơn text và cho phép truyền tất cả giá trị của ASCII (cần thiết cho các file non-text). Trên nhiều hệ thống, FTP bắt đầu ở text mode, mặc dù nhiều nhà quản trị hệ thống thiết lập FTP ở binary mode mặc định cho sự tiện lợi của người dùng.
Trước khi truyền tải files bằng FTP, phải chắc chắn dùng đúng dạng truyền. Truyền tải binary file bằng ASCII mode sẽ thành một đống rác! Hỏi nhà quản trị hệ thống nếu chưa rõ mode, hoặc xem kết quả trả lời của FTP để biết mode.
Giao thức truyền tải file, thường được gọi là FTP, là công cụ quản lý files giữa các máy. FTP cho phép truyền và tải files, quản lý thư mục, và lấy mail. FTP không được thiết kế để truy nhập và thi hành files, Nhưng nó là công cụ tuyệt vời để truyền tải files.
FTP dùng 2 kênh TCP. TCP cổng 20 là kênh dữ liệu, và cổng 21 là kênh lệnh. FTP khác với tất cả ứng dụng TCP/IP là phải dùng 2 kênh, cho phép giả lập truyền tải lệnh và dữ liệu của FTP. Nó cũng khác các giao thức khác một chức năng quan trọng: FTP truyền tải files ở foreground, so với giao thức khác ở background. Hay nói cách khác, FPT không dùng spoolers hay queues, do vậy việc truyền tải thực hiện bằng thời gian thực.
Trong FTP, có 2 kênh tồn tại giữa 2 máy gọi là protocol interpreter, hay PI, và data transfer process, hay DTP. Cấu trúc truyền tải PI dùng kênh lệnh 21 TCP, và truyền tải dữ liệu DTP trên kênh dữ liệu 20 TCP.
FTP gần giống Telnet trong cách dùng chương trình máy chủ chạy liên tục và ngắt quảng chương trình chạy trên máy khách. Trên hệ thống UNIX, các chương trình được goi là ftpd và ftp.
Lệnh của FTP
Trước khi xem làm thế nào dùng FTP để truyền files, bạn nên xem các lệnh của giao thức này. Tương tự lệnh của Telnet, nhiều lệnh chỉ dùng cho giao thức và không dùng cho người dùng (mặc dù administrators đôi khi dùng lệnh FTP để gỡ rối và chẩn đoán).Lệnh nội bộ của FTP gồm 4 ký tự ASCII cách nhau bởi newline character. Nhiều lệnh cần phải có tham số. Một lợi ích chính dùng ký tự ASCII cho lệnh là người dùng có thể quan sát các lệnh chạy và hiểu được nó. Nó giúp ích cho quá trình gỡ rối. Nó cũng mở rộng kiến thức về giao tiếp trực tiếp với FTP server component (ftpd).
Quote
Command Description
ABOR Abort previous command
ACCT User account ID
ALLO Allocate storage for forthcoming operation
APPE Append incoming data to an existing file
CDUP Change to parent directory
CWD Change working directory
DELE Delete file
HELP Retrieve information
LIST Transfer list of directories
MKD Make a directory
MODE Set transfer mode
NLST Transfer a directory listing
NOOP No operation
PASS User password
PASV Request a passive open
PORT Port address
PWD Display current directory
QUIT Terminate the connection
REIN Terminate and restart a connection
REST Restart marker (restart transfer)
RETR Transfer copy of file
RMD Remove a directory
RNFR Old pathname for rename command
RNTO New pathname for rename command
SITE Provides service specifics
SMNT Mount a file system
STAT Returns status
STOR Accept and store data
STOU Accept data and store under different name
STRU File structure
SYST Query to determine operating system
TYPE Type of data
USER User ID
FTP cũng dùng các mã đơn giản để báo tình trạng truyền tải. Mỗi return code là số có 3 chữ số, số đầu tiên báo thi hành thành công (số đầu tiên là 1, 2, hay 3) hoặc thất bại (số đầu tiên là 4 hay 5). Số thứ 2 và 3 diễn giải chi tiết thêm tình trạng.
Quote
First Digit Description
1 Action initiated. Expect another reply before sending a new command.
2 Action completed. Can send a new command.
3 Command accepted but on hold due to lack of information.
4 Command not accepted or completed. Temporary error condition exists.
Command can be reissued.
5 Command not accepted or completed.
Reissuing the command will result in the same error (don't reissue).
Quote
Second Digit Description
0 Syntax error or illegal command
1 Reply to request for information
2 Reply that refers to connection management
3 Reply for authentication command
4 Not used
5 Reply for status of server
FTP cho phép truyền files ở nhiều dạng khác nhau, tùy thuộc hệ thống. Hệ thống chính (bao gồm hệ thống UNIX) chỉ có 2 chế độ: text và binary. Nhiều hệ thống mainframe hỗ trợ EBCDIC, nhiều trang có những dạng tự định nghĩa để tăng tốc độ truyền tải trong mạng nội bộ (có thể dùng 32- hoặc 64-bit words).
Truyền tải dạng Text dùng ký tự ASCII phân cách bởi ký tự carriage-return và newline characters, trong khi truyền tải binary truyền các ký tự không có định dạng. Binary mode nhanh hơn text và cho phép truyền tất cả giá trị của ASCII (cần thiết cho các file non-text). Trên nhiều hệ thống, FTP bắt đầu ở text mode, mặc dù nhiều nhà quản trị hệ thống thiết lập FTP ở binary mode mặc định cho sự tiện lợi của người dùng.
Trước khi truyền tải files bằng FTP, phải chắc chắn dùng đúng dạng truyền. Truyền tải binary file bằng ASCII mode sẽ thành một đống rác! Hỏi nhà quản trị hệ thống nếu chưa rõ mode, hoặc xem kết quả trả lời của FTP để biết mode.
Chán đời đi lang thang !