ftp 的主動模式和被動模式

    在網上查詢了不少的資料,現在將自己對 ftp 的主動模式和被動模式的理解寫下來,一個是爲了記錄方便以後查看和加深理解,另一個原因是希望能夠與各位大牛交流一下,對我寫的不好的地方希望大家可以不吝指教微笑


     ftp 的主動模式:我們都知道,ftp在工作的時候無論是客戶端還是服務端都會開啓兩個端口,一個是命令端口(21端口),用於客戶端和服務端之間的"命令"通信;一個是數據端口(一般爲20端口),該端口用於客戶端與服務端之間數據的傳輸;在主動模式下,客戶端創建了兩個端口(非特權端口):n 端口 和 n+1 端口,客戶端的 n 端口主動與服務端的21端口通過 tcp 著名的“三次握手”建立了連接,此後,ftp 客戶端會通過建立起來的“命令通道”告訴服務器想通過“主動模式”進行連接,並把自己的 n+1 端口設置爲監聽狀態,服務器則將自己的20端口也是通過著名的“三次握手”與客戶端的 n+1 端口連接起來。概括起來說,就是客戶端主動連接服務端的命令端口,然後通知服務器來回連自己的數據端口。


    ftp 的被動模式:同樣的,ftp 客戶端開啓一個端口主動與 ftp 服務器 的命令端口(21端口)連接,然後通過建立起來的命令通道通知服務器當前要使用“被動模式”,服務器則會開啓一個端口(用於數據傳輸),監聽該端口並且將該端口的信息(端口號)告訴客戶端,客戶端則開啓另一個端口並連接到服務端的數據端口。


   可見,所謂的主動和被動,可以理解成是服務器“主動”連接客戶端的“數據端口”,還是服務器“被動”地接受客戶端對其“數據端口”的連接。但,啓動“主動”模式或者是“被動”模式的決定權則在於客戶端。


    謝謝閱讀,如有意見和建議,歡迎交流!微笑






 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章