FTP即文件傳輸協(xié)議。文件傳輸協(xié)議(FTP:File Transfer Protocol)使得主機(jī)間可以共享文件。 FTP使用TCP生成一個(gè)虛擬連接用于控制信息,然后再生成一個(gè)單獨(dú)的TCP連接用于數(shù)據(jù)傳輸。控制連接使用類似 TELNET協(xié)議在主機(jī)間交換命令和消息。文件傳輸協(xié)議是TCP/IP網(wǎng)絡(luò)上兩臺(tái)計(jì)算機(jī)傳送文件的協(xié)議,F(xiàn)TP是在TCP/IP網(wǎng)絡(luò)和INTERNET上最早使用的協(xié)議之一,它屬于網(wǎng)絡(luò)協(xié)議組的應(yīng)用層。FTP客戶機(jī)可以給服務(wù)器發(fā)出命令來(lái)下載文件,上傳文件,創(chuàng)建或改變服務(wù)器上的目錄。
FTP是TCP/IP網(wǎng)絡(luò)上兩臺(tái)計(jì)算機(jī)傳送文件的協(xié)議,F(xiàn)TP是在TCP/IP網(wǎng)絡(luò)和INTERNET上最早使用的協(xié)議之一。盡管World Wide Web(WWW)已經(jīng)替代了FTP的大多數(shù)功能,F(xiàn)TP仍然是通過(guò)Internet把文件從客戶機(jī)復(fù)制到服務(wù)器上的一種途徑。FTP客戶機(jī)可以給服務(wù)器發(fā)出命令來(lái)下載文件,上傳文件,創(chuàng)建或改變服務(wù)器上的目錄。原來(lái)的FTP軟件多是命令行操作,有了像CUTEFTP這樣的圖形界面軟件,使用FTP傳輸變得方便易學(xué)。主要使用它進(jìn)行“上載”。即向服務(wù)器傳輸文件。由于FTP協(xié)議的傳輸速度比較快,我們?cè)谥谱髦T如“軟件下載”這類網(wǎng)站時(shí)喜歡用FTP來(lái)實(shí)現(xiàn),同時(shí)我們這種服務(wù)面向大眾,不需要身份認(rèn)證,即“匿名FTP服務(wù)器”。
FTP是應(yīng)用層的協(xié)議,它基于傳輸層,為用戶服務(wù),它們負(fù)責(zé)進(jìn)行文件的傳輸。FTP是一個(gè)8位的客戶端-服務(wù)器協(xié)議,能操作任何類型的文件而不需要進(jìn)一步處理,就像MIME或Unicode一樣。但是,F(xiàn)TP有著極高的延時(shí),這意味著,從開(kāi)始請(qǐng)求到第一次接收需求數(shù)據(jù)之間的時(shí)間會(huì)非常長(zhǎng),并且不時(shí)的必需執(zhí)行一些冗長(zhǎng)的登陸進(jìn)程。
FTP服務(wù)一般運(yùn)行在20和21兩個(gè)端口。端口20用于在客戶端和服務(wù)器之間傳輸數(shù)據(jù)流,而端口21用于傳輸控制流,并且是命令通向ftp服務(wù)器的進(jìn)口。當(dāng)數(shù)據(jù)通過(guò)數(shù)據(jù)流傳輸時(shí),控制流處于空閑狀態(tài)。而當(dāng)控制流空閑很長(zhǎng)時(shí)間后,客戶端的防火墻會(huì)將其會(huì)話置為超時(shí),這樣當(dāng)大量數(shù)據(jù)通過(guò)防火墻時(shí),會(huì)產(chǎn)生一些問(wèn)題。此時(shí),雖然文件可以成功的傳輸,但因?yàn)榭刂茣?huì)話會(huì)被防火墻斷開(kāi),傳輸會(huì)產(chǎn)生一些錯(cuò)誤。