起初, FTP并不是應(yīng)用于IP網(wǎng)絡(luò)上的協(xié)議,而是ARPANEt網(wǎng)絡(luò)中計(jì)算機(jī)間的文件傳輸協(xié)議, ARPANET是美國(guó)國(guó)防部組建的老網(wǎng)絡(luò),于1960-1980年使用。在那時(shí), FTP的主要功能是在主機(jī)間高速可靠地傳輸文件。目前FTP仍然保持其可靠性,即使在今天,它還允許文件遠(yuǎn)程存取。這使得用戶可以在某個(gè)系統(tǒng)上工作,而將 文件存貯在別的系統(tǒng)。例如,如果某用戶運(yùn)行Web服務(wù)器,需要從遠(yuǎn)程主機(jī)上取得HTML文件和CGI程序在本機(jī)上工作,他需要從遠(yuǎn)程存儲(chǔ)站點(diǎn)獲取文件(遠(yuǎn) 程站點(diǎn)也需安裝Web服務(wù)器)。當(dāng)用戶完成工作后,可使用FTP將文件傳回到Web服務(wù)器。采用這種方法,用戶無(wú)需使用Telnet登錄到遠(yuǎn)程主機(jī)進(jìn)行工 作,這樣就使Web服務(wù)器的更新工作變得如此的輕松。
FTP是TCP/IP的一種具體應(yīng)用,它工作在OSI模型的第七層,TCP模型的第四層上,即應(yīng)用層,使用TCP 傳輸而不是UDP,這樣FTP客戶在和服務(wù)器建立連接前就要經(jīng)過(guò)一個(gè)被廣為熟知的"三次握手"的過(guò)程,它帶來(lái)的意義在于客戶與服務(wù)器之間的連接是可靠的, 而且是面向連接,為數(shù)據(jù)的傳輸提供了可靠的保證。
FTP有兩個(gè)過(guò)程:一個(gè)是控制連接,一個(gè)是數(shù)據(jù)傳輸。
FTP協(xié)議不像HTTP協(xié)議一樣需要一個(gè)端口作為連接(默認(rèn)時(shí)HTTP端口是80,F(xiàn)TP端口是 21)。FTP協(xié)議需要兩個(gè)端口,一個(gè)端口是作為控制連接端口,也就是FTP的21端口,用于發(fā)送指令給服務(wù)器以及等待服務(wù)器響應(yīng);另外一個(gè)端口用于數(shù)據(jù)傳輸端口,端口號(hào)為20(僅用PORT模式),是用建立數(shù)據(jù)傳輸通道的,主要作用是從客戶向服務(wù)器發(fā)送一個(gè)文件,從服務(wù)器向客戶發(fā)送一個(gè)文件,從服務(wù)器向客戶發(fā)送文件或目錄列表。
FTP協(xié)議的主要作用就是讓用戶連接上一個(gè)遠(yuǎn)程計(jì)算機(jī)(這些計(jì)算機(jī)上運(yùn)行著FTP服務(wù)器程序)察看遠(yuǎn)程計(jì)算機(jī)有哪些文件,然后把文件從遠(yuǎn)程計(jì)算機(jī)上拷到本地計(jì)算機(jī),或把本地計(jì)算機(jī)的文件送到遠(yuǎn)程計(jì)算機(jī)去。
FTP協(xié)議可以實(shí)現(xiàn)以下目標(biāo):
1.可靠和高效的傳輸數(shù)據(jù)
2.鼓勵(lì)間接或者隱式的使用遠(yuǎn)程計(jì)算機(jī)
3.促進(jìn)文件的共享(計(jì)算機(jī)程序或數(shù)據(jù))
4.向用戶屏蔽不同主機(jī)中各種文件存儲(chǔ)系統(tǒng)(Filesystem)的細(xì)節(jié)