1. 程式人生 > >三種FTP資料傳輸模式

三種FTP資料傳輸模式

導讀:對於FTP我們需要掌握的東西很多。其中就是包括它的傳輸模式。這裡我們就來對其進行一下系統的總結。那麼我們就來看看都有哪些FTP資料傳輸模式吧。在眾多網路應用中,FTP(檔案傳輸協議)有著非常重要的地位。Internet中一個十分重要的資源就是軟體資源,而各種各樣的軟體資源大多數都放在FTP伺服器中。與大多數Internet服務一樣,FTP也是一個客戶機/伺服器系統。使用者通過一個支援FTP協議的客戶機程式,連線到主機上的FTP伺服器程式。使用者通過客戶機程式向伺服器程式發出命令,伺服器程式執行使用者發出的命令,並將執行結果返回給客戶機。

  FTP服務可以根據服務物件的不同分為兩類:系統FTP伺服器只允許系統上的合法使用者使用;匿名FTP伺服器(Anonymous FTP Server)允許任何人登入到FTP伺服器去獲取檔案。

  針對FTP資料連線而言,分為主動傳輸模式、被動傳輸模式和單埠傳輸模式三種。

  1.主動傳輸模式

  當FTP的控制連線建立,客戶提出目錄列表、傳輸檔案時,客戶端發出PORT命令與伺服器進行協商,FTP伺服器使用一個標準埠20作為伺服器端的資料連線埠(ftp-data),與客戶建立資料連線。埠20只用於連線源地址是伺服器端的情況,並且埠20沒有監聽程序來監聽客戶請求。

  在主動傳輸模式下,FTP的資料連線和控制連線方向相反,由伺服器向客戶端發起一個用於資料傳輸的連線。客戶端的連線埠由伺服器端和客戶端通過協商確定。

  2.被動傳輸模式

  當FTP的控制連線建立,客戶提出目錄列表、傳輸檔案時,客戶端傳送PASV命令使伺服器處於被動傳輸模式,FTP伺服器等待客戶與其聯絡。FTP伺服器在非20埠的其它資料傳輸埠上監聽客戶請求。

  在被動傳輸模式下,FTP的資料連線和控制連線方向一致,由客戶端向伺服器發起一個用於資料傳輸的連線。客戶端的連線埠是發起該資料連線請求時使用的埠。當FTP客戶在防火牆之外訪問FTP伺服器時,需要使用被動傳輸模式。

  3.單埠模式

  除上述兩種模式之外,還有一種單埠模式。該模式的資料連線請求由FTP伺服器發起。使用該傳輸模式時,客戶端的控制連線埠和資料連線埠一致。因為這種模式無法在短時間連續輸入資料、傳輸命令,因此並不常用。

  Linux下有很多可用的FTP伺服器,其中比較流行的有WU-FTP(Washington University FTP)和VSFTP。Red Hat 8.0中自帶了WU-FTP和VSFTP兩個軟體。WU-FTP是一個著名的FTP伺服器軟體,它功能強大,能夠很好地運行於眾多Unix作業系統中。不過作為後起之秀的VSFTP越來越流行,在Red Hat 9.0發行版中就只帶有VSFTP。

  VSFTP中VS的意思是“Very Secure”。從名稱可以看出,從一開始,軟體的編寫者就非常注重其安全性。除與生俱來的安全性外,VSFTP還具有高速、穩定的效能特點。在穩定性方面,VSFTP可以在單機(非叢集)上支援4000個以上的併發使用者同時連線。據ftp.redhat.com的資料,VSFTP最多可以支援15000個併發使用者。