云自無心水自閑

          天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
          posts - 288, comments - 524, trackbacks - 0, articles - 6
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          FTP 主動模式和被動模式

          Posted on 2014-01-28 08:54 云自無心水自閑 閱讀(586) 評論(0)  編輯  收藏
           在主動模式下,F(xiàn)TP客戶端隨機開啟一個大于1024的端口N向服務(wù)器的21號端口發(fā)起連接,然后開放N+1號端口進行監(jiān)聽,并向服務(wù)器發(fā)出PORT N+1命令。服務(wù)器接收到命令后,會用其本地的FTP數(shù)據(jù)端口(通常是20)來連接客戶端指定的端口N+1,進行數(shù)據(jù)傳輸。     
          在被動模式下,F(xiàn)TP庫戶端隨機開啟一個大于1024的端口N向服務(wù)器的21號端口發(fā)起連接,同時會開啟N+1號端口。然后向服務(wù)器發(fā)送PASV命令,通知服務(wù)器自己處于被動模式。服務(wù)器收到命令后,會開放一個大于1024的端口P進行監(jiān)聽,然后用PORT P命令通知客戶端,自己的數(shù)據(jù)端口是P。客戶端收到命令后,會通過N+1號端口連接服務(wù)器的端口P,然后在兩個端口之間進行數(shù)據(jù)傳輸。    
           總的來說,主動模式的FTP是指服務(wù)器主動連接客戶端的數(shù)據(jù)端口,被動模式的FTP是指服務(wù)器被動地等待客戶端連接自己的數(shù)據(jù)端口。     

          被動模式的FTP通常用在處于防火墻之后的FTP客戶訪問外界FTp服務(wù)器的情況,因為在這種情況下,防火墻通常配置為不允許外界訪問防火墻之后主機,而只允許由防火墻之后的主機發(fā)起的連接請求通過。
          因此,在這種情況下不能使用主動模式的FTP傳輸,而被動模式的FTP可以良好的工作。

           Standard模式FTP 客戶端首先和FTP Server的TCP 21端口建立連接,通過這個通道發(fā)送命令,客戶端需要接收數(shù)據(jù)的時候在這個通道上發(fā)送PORT命令。 PORT命令包含了客戶端用什么端口接收數(shù)據(jù)。
          在傳送數(shù)據(jù)的時候,服務(wù)器端通過自己的TCP 20端口發(fā)送數(shù)據(jù)。 FTP server必須和客戶端建立一個新的連接用來傳送數(shù)據(jù)。     
           Passive模式在建立控制通道的時候和Standard模式類似,當(dāng)客戶端通過這個通道發(fā)送PASV 命令的時候,F(xiàn)TP server打開一個位于1024和5000之間的隨機端口并且通知客戶端在這個端口上傳送數(shù)據(jù)的請求, 然后FTP server 將通過這個端口進行數(shù)據(jù)的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。 


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 宝应县| 建德市| 山阴县| 河曲县| 海兴县| 峨眉山市| 雷州市| 佛冈县| 滦南县| 宣恩县| 乐至县| 宝鸡市| 铜川市| 申扎县| 电白县| 宁乡县| 开封县| 禹城市| 台安县| 安阳市| 清流县| 肃宁县| 盈江县| 玉林市| 瑞安市| 莫力| 凌云县| 宝坻区| 梁平县| 天津市| 九寨沟县| 原平市| 和平县| 子长县| 顺义区| 鄂托克旗| 茌平县| 柳江县| 万州区| 黄陵县| 遵义县|