2015-02-24 31 views
1

我一直認爲當FTP數據連接打開時,它只能以一種方式傳輸數據。雙方都可以通過FTP雙向數據連接發送數據

現在我發現雙方都可以在打開的數據連接上傳輸數據。

我的問題:

  1. 它的作用是什麼?我讀過它可以用來通過SSL傳輸文件,所以雙向用於協商,但爲什麼不使用ftps?
  2. 打開數據連接以傳輸文件和列表(其他任何東西?)。那麼發送方在接收來自另一方的數據時應該做些什麼?它會如何處理它?
  3. 有客戶支持這種行爲嗎?
  4. 這是常見的嗎?
+0

*「現在我發現雙方都可以在打開的數據連接上傳輸數據。」*:您是在哪裏找到的?你可以發佈參考嗎? – 2015-02-24 08:14:48

+0

http://tools.ietf.org/html/rfc959 - 「應該注意的是 數據連接可以用於同時發送和接收」 「 – 2015-02-24 09:08:16

回答

2

你是正確的FTP RFC確實提到可能性,即數據連接使用雙向:

它應該也注意的是,數據連接,可以用於同時發送和接收

但是,RFC作者很可能只是想確保此類選項可用於協議的未來功能。

但據我所知,實際上沒有這樣的功能使用雙向數據連接。

FTP協議根本不允許同時傳輸,既不是在相同的方向,也不是相反的方向。

目前數據連接被用於:

  • 對於下載,其中只有服務器發送數據。
  • 對於只有客戶端發送數據的上傳。
  • 對於只有服務器發送數據的目錄列表。

關於FTPS:事實上,如果所述數據連接使用TLS/SSL加密的,所述連接被用於雙向上TCP級,當客戶機和服務器協商加密。但我不認爲這就是RFC所指的,因爲SSL/TLS在當時並不存在,談判也不在FTP協議的範圍之內。