久久无码中文字幕_日韩精品无码一本二本三_久久精品呦女暗网_欧美一级夜夜爽_久久精品国产99久久99久久久

13
2018/10

FTP上傳文件下載文件中的鏈接模式Passive模式和Active模式

發(fā)布時間:2018-10-13 12:32:27
發(fā)布者:pengyifeng
瀏覽量:
0

寫這篇文章主要是因為在使用ftp的時候有時候上傳文件會失敗,然后就卡住很久,原因就是默認主動模式受限于客戶端防火墻的限制,有時候會導致上傳文件失敗所以整理了區(qū)別了一下兩種。

一、FTP的兩種工作模式

FTP兩種鏈接模式:主動模式(Active FTP)和被動模式(Passive FTP)

      在主動模式下,FTP客戶端隨機開啟一個大于1024的端口N向服務器的21號端口發(fā)起連接,然后開放N+1號端口進行監(jiān)聽,并向服務器發(fā)出PORT N+1命令。服務器接收到命令后,會用其本地的FTP數據端口(通常是20)來連接客戶端指定的端口N+1,進行數據傳輸。

      在被動模式下,FTP客戶端隨機開啟一個大于1024的端口N向服務器的21號端口發(fā)起連接,同時會開啟N+1號端口。然后向服務器發(fā)送PASV命令,通知服務器自己處于被動模式。服務器收到命令后,會開放一個大于1024的端口P進行監(jiān)聽,然后用PORT P命令通知客戶端,自己的數據端口是P??蛻舳耸盏矫詈螅瑫ㄟ^N+1號端口連接服務器的端口P,然后在兩個端口之間進行數據傳輸。

      總的來說,主動模式的FTP是指服務器主動連接客戶端的數據端口,被動模式的FTP是指服務器被動地等待客戶端連接自己的數據端口。

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

      一般連接FTP客戶端軟件的連接模式默認為Passive(被動連接)。即FTP客戶端向服務端口(默認是21)發(fā)出連接請求,服務端接到請求后建立命令鏈路。然后服務端通過命令鏈路發(fā)消息告訴客戶端,服務端某個端口位于(1025—65535)之間開放,與客戶端建立起數據鏈路,從而客戶端可以進行數據上傳與下載。這個被動指的是客戶端被動收到服務端的消息,才能開始傳輸。一般這樣的話,可能會受到服務端防火墻的阻隔。而主動模式,PORT即FTP客戶端向服務端口(默認是21)發(fā)出連接請求,服務端接到請求后建立命令鏈路,這個過程與被動連接一樣。然后客戶端通過命令鏈路發(fā)消息告訴服務端,客戶端一般是20端口開放,服務端收到消息后連接該端口,建立起數據鏈路,從而進行數據的上傳下載。這個主動是指客戶端主動開放20端口,并發(fā)起與服務端建立數據傳輸的請求。這種模式,可能受限于客戶端防火墻的限制,另外也不能用與代理上網時的FTP服務,因為服務端收到客戶端請求后,他連接的代理服務器的端口。

二、FTP模式深入說明

      主動FTP對FTP服務器的管理有利,但對客戶端的管理不利,因為FTP服務器企圖與客戶端的高位隨機端口建立連接,而這個端口很有可能被客戶端的防火墻阻塞掉。被動FTP對FTP客戶端的管理有利,但對服務器端的管理不利,因為客戶端要與服務器端建立兩個連接,其中一個連到一個高位隨機端口,而這個端口很有可能被服務器端的防火墻阻塞掉。

      幸運的是,有折衷的辦法。既然FTP服務器的管理員需要他們的服務器有最多的客戶連接,那么必須得支持被動FTP。我們可以通過為FTP服務器指定一個有限的端口范圍來減小服務器高位端口的暴露。這樣,不在這個范圍的任何端口會被服務器的防火墻阻塞。雖然這沒有消除所有針對服務器的危險,但它大大減少了危險。

      簡而言之:主動模式(PORT)和被動模式(PASV)。主動模式是從服務器端向客戶端發(fā)起連接;被動模式是客戶端向服務器端發(fā)起連接。兩者的共同點是都使用21端口進行用戶驗證及管理,差別在于傳送數據的方式不同,PORT模式的FTP服務器數據端口固定在20,而PASV模式則在1025-65535之間隨機。

通常我們使用ftp 都是默認主動模式如何修改成被動模式,在連接的時候,有個選項目錄,在里面就有數據連接模式,我們在上傳遇到上傳失敗的時候,可以先試一下被動模式來試試是否是我們本地的防火墻原因導致的上傳下載失敗,也算是一個使用ftp的小細節(jié)。

image.png


返回列表