FTP
FTP |
文件傳輸協議(File Transfer Protocol,FTP)是用於在網絡上進行文件傳輸的一套標準協議,它工作在 OSI 模型的第七層, TCP 模型的第四層, 即應用層, 使用 TCP 傳輸而不是 UDP, 客戶在和服務器建立連接前要經過一個「三次握手」的過程, 保證客戶與服務器之間的連接是可靠的, 而且是面向連接, 為數據傳輸提供可靠保證。FTP允許用戶以文件操作的方式(如文件的增、刪、改、查、傳送等)與另一主機相互通信。然而, 用戶並不真正登錄到自己想要存取的計算機上面而成為完全用戶, 可用FTP程序訪問遠程資源, 實現用戶往返傳輸文件、目錄管理以及訪問電子郵件等等, 即使雙方計算機可能配有不同的操作系統和文件存儲方式。
目錄
簡介
FTP 是因特網網絡上歷史最悠久的網絡工具,從 1971 年由 A KBHUSHAN 提出第一個 FTP 的RFC(RFC114)至今近半個世紀來,FTP 憑藉其獨特的優勢一直都是因特網中最重要、最廣泛的服務之一。FTP 的目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。它能操作任何類型的文件而不需要進一步處理,就像MIME或Unicode一樣。但是,FTP有着極高的延時,這意味着,從開始請求到第一次接收需求數據之間的時間,會非常長;並且不時的必須執行一些冗長的登錄進程。
評價
開發任何基於 FTP 的客戶端軟件都必須遵循 FTP 的工作原理,FTP 的獨特的優勢同時也是與其它客戶服務器程序最大的不同點就在於它在兩台通信的主機之間使用了兩條 TCP 連接,一條是數據連接,用於數據傳送;另一條是控制連接,用於傳送控制信息(命令和響應),這種將命令和數據分開傳送的思想大大提高了 FTP 的效率,而其它客戶服務器應用程序一般只有一條 TCP 連接。圖 1 給出了 FTP 的基本模型。客戶有三個構件:用戶接口、客戶控制進程和客戶數據傳送進程。服務器有兩個構件:服務器控制進程和服務器數據傳送進程。在整個交互的 FTP 會話中,控制連接始終是處於連接狀態的,數據連接則在每一次文件傳送時先打開後關閉在FTP服務器中,我們往往會給不同的部門或者某個特定的用戶設置一個帳戶。但是,這個賬戶有個特點,就是其只能夠訪問自己的主目錄。服務器通過這種方式來保障FTP服務上其他文件的安全性。這類帳戶,在Vsftpd軟件中就叫做Guest用戶。擁有這類用戶的帳戶,只能夠訪問其主目錄下的目錄,而不得訪問主目錄以外的文件。[1]