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