1. 程式人生 > >FTP的主動模式和被動模式,你應該用那種?

FTP的主動模式和被動模式,你應該用那種?

FTP 原理 主動模式 被動模式

FTP文件傳輸分為兩種模式,主動(PORT)模式和被動(Passive)模式,用戶應該用哪種?

-

簡單粗暴,直接上答案

1)如果不是必須需要,不要使用FTP服務,主動/被動模式,命令/數據端口,初學者很容易一下子就被搞蒙。

2)如果一定要使用FTP服務,在今天的互聯網環境裏面,使用FTP被動模式進行連接傳輸。不要使用主動模式,除非你真的知道你在做什麽

如果只是想知道答案的朋友,看到這裏就可以了。對技術和原理感興趣的朋友,請繼續往下。

FTP兩種模式協議過程和原理

被動模式

技術分享圖片

從上圖中可以看到,被動模式是FTP服務器返回數據傳輸需要的端口,FTP客戶端去連接FTP服務端。

絕大部分的互聯網應用(比如Web/Http),都是客戶端向服務端發起連接。換句話說,絕大部分互聯網應用都是被動模式。

主動模式

技術分享圖片

從上圖中可以看到,主動模式是FTP客戶端向FTP服務器發送數據傳輸需要的端口,FTP服務端去連接FTP客戶端的端口,與被動模式剛好相反。

需要註意的是,被動模式和主動模式的登錄過程,都是FTP客戶端去連接FTP服務器。

為什麽絕大部分互聯網應用都是被動模式

因為大部分客戶端都是在路由器後面,沒有獨立的公網IP地址,服務器想要主動連接客戶端,難度太大,在現在真實的互聯網環境裏面幾乎是不可能完成的任務。

FTP的主動模式和被動模式,你應該用那種?