Ubuntu Android 云计算 Firefox wordpress java 微软 开源 编程 nginx 程序员 Python linux google shell php mysql centos apache Windows

FTP的工作原理

 ftp是一種文件傳輸協議,它支持兩種模式,一種方式叫做Standard (也就是 Active,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP server。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。

 下面介紹一個這兩種方式的工作原理:

Standard模式

 FTP 客戶端首先和FTP Server的TCP 21端口建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麽端口接收數據。在傳送數據的時候,服務器端通過自己的TCP 20端口發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。

Passive模式

 在建立控制通道的時候和Standard模式類似,當客戶端通過這個通道發送PASV 命令的時候,FTP server打開一個位於1024和5000之間的隨機端口並且通知客戶端在這個端口上傳送數據的請求,然後FTP server 將通過這個端口進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。

 現在的FTP軟件裏面包括在IE5以上的版本裏面也已經支持這兩種模式了。一般一些FTP客戶端的軟件就比較好設置了,一般都有一個PASV的選項,比如CuteFTP,傳輸的方式都有Standard和PASV的選項,可以自己進行選擇;另外在IE裏面如果要設置成PASV模式的話可以選中工具-Internet選項-高級-為FTP站點啟用文件夾視圖,否則就采用Standard模式。

延伸阅读

评论