- ftp(filetransferprotocol,ftp)是tcpip網絡上兩台計算機傳送檔案的協議,ftp是在tcpip網絡和inter上最早使用的協議之一,它屬於網絡協議組的應用層。ftp客戶機可以給服務器發出命令來下載檔案,上載檔案,創建或改變服務器上的目錄。
ftp是一個8位的客戶端-服務器協議,能操作任何類型的檔案而不需要進一步處理,就像mime或unencode一樣。但是,ftp有著極高的延時,這意味著,從開始請求到第一次接收需求數據之間的時間會非常長,並且不時的必需執行一些冗長的登陸進程。
ftp服務一般運行在20和21兩個。
20用於在客戶端和服務器之間傳輸數據流,而21用於傳輸控製流,並且是命令通向ftp服務器的進口。當數據通過數據流傳輸時,控製流處於空閒狀態。而當控製流空閒很長時間後,客戶端的fanghuoqiang會將其會話置為超時,這樣當大量數據通過fanghuoqiang時,會產生一些問題。此時,雖然檔案可以成功的傳輸,但因為控製會話會被fanghuoqiang斷開,傳輸會產生一些錯誤。
ftp實現的目標
1.促進檔案的共享(計算機程式或數據)
2.鼓勵間接或者隱式的使用遠程計算機
3.向用戶遮蔽不同主機中各種檔案存儲係統的細節
4.可靠和高效的傳輸數據
缺點:
1.密碼和檔案內容都使用明文傳輸,可能產生不希望發生的竊聽。
2.因為必需開放一個隨機的以建立連接,當fanghuoqiang存在時,客戶端很難過濾處於主動模式下的ftp流量。這個問題通過使用被動模式的ftp得到了很大解決。
3.服務器可能會被告知連接一個第三方計算機的保留。
ftp雖然可以被終端用戶直接使用,但是它是設計成被ftp客戶端程式所控製。
運行ftp服務的許多站點都開放匿名服務,在這種設置下,用戶不需要帳號就可以登錄服務器,默認情況下,匿名用戶的用戶名是:“anonyus”。這個帳號不需要密碼,雖然通常要求輸入用戶的郵件地址作為認證密碼,但這隻是一些細節或者此郵件地址根本不被確定,而是依賴於ftp服務器的配置情況。
主動和被動模式
ftp有兩種使用模式:主動和被動。主動模式要求客戶端和服務器端同時打開並且監聽一個以建立連接。在這種情況下,客戶端由於安裝了fanghuoqiang會產生一些問題。所以,創立了被動模式。被動模式隻要求服務器端產生一個監聽相應的進程,這樣就可以繞過客戶端安裝了fanghuoqiang的問題。
一個主動模式的ftp連接建立要遵循以下步驟:
1.客戶端打開一個隨機的(號大於1024,在這裡,我們稱它為x),同時一個ftp進程連接至服務器的21號命令。此時,源為隨機x,在客戶端,遠程為21,在服務器。
2.客戶端開始監聽(x 1),同時向服務器發送一個命令(通過服務器的21號命令),此命令告訴服務器客戶端正在監聽的號並且已準備好從此接收數據。這個就是我們所知的數據。
3.服務器打開20號源並且建立和客戶端數據的連接。此時,源為20,遠程數據為(x 1)。
4.客戶端通過本地的數據建立一個和服務器20號的連接,然後向服務器發送一個應答,告訴服務器它已經建立好了一個連接。
ftp和網頁瀏覽器
大多數最新的網頁瀏覽器和檔案管理器都能和ftp服務器建立連接。這使得在ftp上通過一個介麵就可以操控遠程檔案,如同操控本地檔案一樣。這個功能通過給定一個ftp的url實現,形如ftp:(例如,ftp:ftp.gimp)。是否提供密碼是可選擇的,如果有密碼,則形如ftp::@。大部分網頁瀏覽器要求使用被動ftp模式,然而並不是所有的ftp服務器都支援被動模式。
網絡協議
應用層dns,ftp,enrp,http,imap,iirc,nntp,pop3,sip,smtp,snmp,ssh,tel,bittorrent,dhcp...
傳輸層dp,sctp,tcp,rtp,udp,il,rudp,...
網絡層ipv4,ipv6...
數據鏈路層以太網,wi-fi,令牌環,mpls,ppp...
物理層rs-232,eia-422,rs-449,eia-485,10base2,10base-t...-