6.3 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可使用戶複製一個大文件中的一個很小的片段,而不需要複製整個大文件。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章