主動模式port
FTP主動模式:TCP鏈接客戶端訪問FTP,客戶端會開啟一個大於1024的端口N訪問FTP的21端口(控制端口),並通過21端口發送port命令與N+1的端口,服務端收到命令后會使用20(數據端口)主動鏈接客戶端N+1端口進行數據傳輸。
被動模式pasv
FTP被動模式:TCP鏈接客戶端訪問FTP,客戶端開啟一個大於1024的端口N訪問FTP的21端口(控制端口),同時會開啟一個N+1的端口,並通過21端口發送pasv命令,FTP同過命令得知處於被動狀態,會開放一個大於1024的端口P,然后通過命令通知客戶端P數據端口,客戶端然后會通過N+1端口鏈接P端口進行數據傳輸。
注:
- 由於防火牆機制,主動模式不利於客戶端管理,被動模式不利於服務端管理。
- 主動情況下服務端數據端主動鏈接客戶端可能遭到客戶端防火牆攔截。
- 被動情況下客戶端主動訪問服務端數據端口可能遭到服務端防火牆攔截。