6.3 FTP协议
文章目錄
- 1.FTP協(xié)議的功能
- 2.FTP工作原理
- 控制連接和數(shù)據(jù)連接
1.FTP協(xié)議的功能
- 文件傳輸協(xié)議( File Transfer Protocol, FTP)是因特網上使用得最廣泛的文件傳輸協(xié)議。
- FTP提供交互式的訪問,允許客戶指明文件的類型與格式,并允許文件具有存取權限。
- 它屏蔽了各計算機系統(tǒng)的細節(jié),因而適合于在異構網絡中的任意計算機之間傳送文件。
FTP提供以下功能:
①提供不同種類主機系統(tǒng)(硬、軟件體系等都可以不同)之間的文件傳輸能力。
②以用戶權限管理的方式提供用戶對遠程FTP服務器上的文件管理能力。
③以匿名FTP的方式提供公用文件共享的能力。
2.FTP工作原理
- FTP采用客戶/服務器(C/S)的工作方式,它使用TCP可靠的傳輸服務。
- 一個FTP服務器進程可同時為多個客戶進程提供服務。
- 依照FTP協(xié)議提供服務,進行文件傳送的計算機就是FTP服務器。
- 連接FTP服務器,遵循FTP協(xié)議與服務器傳送文件的電腦就是FTP客戶端。
- FTP的服務器進程由兩大部分組成:
一個主進程,負責接收新的請求;
若干從屬進程,負責處理單個請求。
其工作步驟如下:
①打開熟知端口21 (控制端口),使客戶進程能夠連接上。
②等待客戶進程發(fā)連接請求。
③啟動從屬進程來處理客戶進程發(fā)來的請求。主進程與從屬進程并發(fā)執(zhí)行,從屬進程對客戶進程的請求處理完畢后即終止。
④回到等待狀態(tài),繼續(xù)接收其他客戶進程的請求。
- FTP服務器必須在整個會話期間保留用戶的狀態(tài)信息。
特別是服務器必須把指定的用戶賬戶與控制連接聯(lián)系起來,服務器必須追蹤用戶在遠程目錄樹上的當前位置。
控制連接和數(shù)據(jù)連接
- FTP在工作時使用兩個并行的TCP連接:
一個是控制連接(端口號21),
一個是數(shù)據(jù)連接(端口號20)。 - 使用兩個不同的端口號可使協(xié)議更加簡單和更容易實現(xiàn)。
1.控制連接
- 服務器監(jiān)聽21號端口,等待客戶連接,建立在這個端口.上的連接稱為控制連接,控制連接用來傳輸控制信息(如連接請求、傳送請求等),并且控制信息都以7位ASCII格式傳送。
- FTP客戶發(fā)出的傳送請求,通過控制連接發(fā)送給服務器端的控制進程,但控制連接并不用來傳送文件。
- 在傳輸文件時還可以使用控制連接(如客戶在傳輸中途發(fā)一個中止傳輸?shù)拿?,因此控制連接在整個會話期間一直保持打開狀態(tài)。
2.數(shù)據(jù)連接 - 服務器端的控制進程在接收到FTP客戶發(fā)來的文件傳輸請求后,就創(chuàng)建“數(shù)據(jù)傳送進程”和“數(shù)據(jù)連接”。
- 數(shù)據(jù)連接用來連接客戶端和服務器端的數(shù)據(jù)傳送進程,數(shù)據(jù)傳送進程實際完成文件的傳送,在傳送完畢后關閉“數(shù)據(jù)傳送連接”并結束運行。
- 因為FTP使用了一個分離的控制連接,所以也稱FTP的控制信息是帶外(Out-of-band) 傳送的。
- 使用FTP時,若要修改服務器上的文件,則需要先將此文件傳送到本地主機,然后再將修改后的文件副本傳送到原服務器。
- 網絡文件系統(tǒng)(NFS)允許進程打開一個遠程文件,并在該文件的某個特定位置開始讀寫數(shù)據(jù)。這樣,NFS可使用戶復制一個大文件中的一個很小的片段,而不需要復制整個大文件。
總結
- 上一篇: 1.1.10 从二分查找BinarySe
- 下一篇: 3.1.6 OS之分页存储(页号、页偏移