FTP(File Transfer Protocol,文件傳輸協議)用於在遠端服務器和本地主機之間傳輸文件,是IP網絡上傳輸文件的通用協議。在萬維網(WWW,World Wide Web)出現以前,用戶使用命令行方式傳輸文件,最通用的應用程序就是FTP。雖然目前大多數用戶在通常情況下選擇使用Email和Web傳輸文件,但是FTP仍然有著比較廣泛的應用。
FTP協議在TCP/IP協議族中屬於應用層協議,用於在遠端服務器和本地客戶端之間傳輸文件,使用TCP端口20和21進行傳輸。端口20用於傳輸數據,端口21用於傳輸控製消息。FTP協議基本操作在RFC959中進行了描述。
FTP有兩種文件傳輸模式:
l 二進製模式,用於傳輸程序文件(比如後綴名為.app、.bin和.btm的文件);
l ASCII碼模式,用於傳輸文本格式的文件(比如後綴名為.txt、.bat和.cfg的文件)。
FTP有兩種工作方式:
l 主動方式(PORT):建立數據連接時由FTP服務器發起連接請求,當FTP客戶端處於防火牆內時不適用(如FTP客戶端處於私網內)。
l 被動方式(PASV):建立數據連接時由FTP客戶端發起連接請求,當FTP服務器限製客戶端連接其高位端口(一般情況下大於1024)時不適用。
主動方式和被動方式建立控製鏈路的方法是相同的,但建立數據鏈路的方法完全不同,因此兩種方式在實際使用中也各有利弊,請根據實際組網環境選擇。
設備在支持FTP協議上有兩種方式:
l 設備作為FTP客戶端:用戶在PC上通過終端仿真程序或Telnet程序連接到設備(設備作為FTP客戶端),執行ftp命令,建立設備與遠程FTP服務器的連接,訪問遠程FTP服務器上的文件。
l 設備作為FTP服務器:用戶運行FTP客戶端程序,作為FTP客戶端,登錄到設備上進行訪問(用戶登錄前,網絡管理員需要事先配置好FTP服務器的IP地址)。
TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議)也是用於在遠端服務器和本地主機之間傳輸文件的,相對於FTP,TFTP沒有複雜的交互存取接口和認證控製,適用於客戶端和服務器之間不需要複雜交互的環境。TFTP協議的運行基於UDP協議,使用UDP端口69進行數據傳輸。TFTP協議基本操作在RFC1986中進行了描述。
TFTP傳輸文件使用二進製模式。
目前,設備隻能作為TFTP客戶端,不支持作為TFTP服務器。
TFTP傳輸請求是由客戶端發起的:
l 當TFTP客戶端需要從服務器下載文件時,由客戶端向TFTP服務器發送讀請求包,然後從服務器接收數據,並向服務器發送確認;
l 當TFTP客戶端需要向服務器上傳文件時,由客戶端向TFTP服務器發送寫請求包,然後向服務器發送數據,並接收服務器的確認。