FTP Transfer Protocol 件傳輸協議的縮寫,在RFC 959中具體說明。
FTP會話時包含了兩個通道,一個叫控制通道,一個叫數據通道。
控制通道:控制通道是和FTP服務器進行溝通的通道,連接FTP,發送FTP指令都是通過控制通道來完成的。
數據通道:數據通道是和FTP服務器進行文件傳輸或者列表的通道。
FTP協議中,控制連接均有客戶端發起,而數據連接有兩種工作方式:PORT方式和PASV方式
- PORT模式(主動方式)
-
FTP 客戶端首先和FTP Server的TCP 21端口建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什么端口(一個大于1024的端口)接收數據。在傳送數據的時候,服務器端通過自己的TCP 20端口發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。
- PASV模式(被動方式)
-
在建立控制通道的時候和PORT模式類似,當客戶端通過這個通道發送PASV 命令的時候,FTP server打開一個位于1024和5000之間的隨機端口并且通知客戶端在這個端口上傳送數據的請求,然后FTP server 將通過這個端口進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接傳送數據。
如果從C/S模型這個角度來說,PORT對于服務器來說是OUTBOUND,而PASV模式對于服務器是INBOUND,這一點請特別注意,尤其是在使用防火墻的企業里,這一點非常關鍵,如果設置錯了,那么客戶將無法連接。
posted on 2012-04-24 14:05
Bluesea 閱讀(804)
評論(0) 編輯 收藏 引用 所屬分類:
網絡