FTP協(xié)議的基本概念
網(wǎng)絡(luò)中的數(shù)據(jù)傳輸時一個復(fù)雜的過程,完成一個簡單的數(shù)據(jù)傳輸,其實經(jīng)過了很多道協(xié)議的規(guī)范和作用。那么現(xiàn)在我們就來介紹一下FTP協(xié)議,這個遠程文件傳輸協(xié)議。
1. 什么是FTP協(xié)議
FTP協(xié)議(File Transfer Protocol)即遠程文件傳輸協(xié)議,是一個用于簡化IP網(wǎng)絡(luò)上系統(tǒng)之間文件傳送的協(xié)議,F(xiàn)TP是TCP/IP的一種具體應(yīng)用,它工作在OSI模型的第7層,TCP模型的第四層上,即應(yīng)用層,使用TCP傳輸而不是UDP,F(xiàn)TP建立的就是一個可靠的連接。采用FTP協(xié)議可使 Internet用戶高效地從網(wǎng)上的FTP服務(wù)器下載大信息量的數(shù)據(jù)文件,將遠程主機上的文件拷貝到自己的計算機上。以達到資源共享和傳遞信息的目的。由于FTP的使用使得Internet上出現(xiàn)大量為用戶提供的下載服。Internet成為了一個巨型的軟件倉庫。
2. FTP工作原理
FTP有兩個過程一個是控制連接,一個是數(shù)據(jù)傳輸。FTP協(xié)議不像HTTP協(xié)議一樣需要一個端口作為連接(默認時HTTP端口是80,F(xiàn)TP端口是21)。FTP協(xié)議需要兩個端口,一個端口是作為控制連接端口,也就是FTP的21端口,用于發(fā)送指令給服務(wù)器以及等待服務(wù)器響應(yīng);另外一個端口用于數(shù)據(jù)傳輸端口,端口號為20(僅用PORT模式),是用建立數(shù)據(jù)傳輸通道的,主要作用是從客戶向服務(wù)器發(fā)送一個文件,從服務(wù)器向客戶發(fā)送一個文件,從服務(wù)器向客戶發(fā)送文件或目錄列表。
3. FTP的傳輸模式
FTP協(xié)議的任務(wù)是從一臺計算機將文件傳送到另一臺計算機,它與這兩臺計算機所處的位置、聯(lián)接的方式、甚至是是否使用相同的操作系統(tǒng)無關(guān)。假設(shè)兩臺計算機通過ftp協(xié)議對話,并且能訪問Internet, 你可以用ftp命令來傳輸文件。每種操作系統(tǒng)使用上有某一些細微差別,但是每種協(xié)議基本的命令結(jié)構(gòu)是相同的。
FTP的傳輸有兩種方式:ASCII傳輸模式和二進制數(shù)據(jù)傳輸模式。
ASCII傳輸方式假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當(dāng)文件傳輸時ftp通常會自動地調(diào)整文件的內(nèi)容以便于把文件解釋成另外那臺計算機存儲文本文件的格式。但是常常有這樣的情況,用戶正在傳輸?shù)奈募牟皇俏谋疚募?,它們可能是程序,?shù)據(jù)庫,字處理文件或者壓縮文件(盡管字處理文件包含的大部分是文本,其中也包含有指示頁尺寸,字庫等信息的非打印字符)。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進制傳輸。
二進制傳輸模式在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應(yīng)的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執(zhí)行文件到Windows系統(tǒng),在對方系統(tǒng)上,此文件不能執(zhí)行。如果你在ASCII方式下傳輸二進制文件,即使不需要也仍會轉(zhuǎn)譯。這會使傳輸稍微變慢 ,也會損壞數(shù)據(jù),使文件變得不能用。(在大多數(shù)計算機上,ASCII方式一般假設(shè)每一字符的***有效位無意義,因為ASCII字符組合不使用它。如果你傳輸二進制文件,所有的位都是重要的。)如果你知道這兩臺機器是同樣的,則二進制方式對文本文件和數(shù)據(jù)文件都是有效的。


















