發布時間: 2017-06-16 13:16:36
一個完整的FTP文件傳輸需要建立兩種類型的連接,一種為文件傳輸下命令,稱為控制連接,另一種實現真正的文件傳輸,稱為數據連接。
1) 控制連接 客戶端希望與FTP服務器建立上傳下載的數據傳輸時,它首先向服務器的TCP 21端口發起一個建立連接的請求,FTP服務器接受來自客戶端的請求,完成連接的建立過程,這樣的連接就稱為FTP控制連接。主要用來登錄,認證用的。
2) 數據連接 FTP控制連接建立之后,即可開始傳輸文件,傳輸文件的連接稱為FTP數據連接。FTP數據連接就是FTP傳輸數據的過程,它有兩種傳輸模式:主動傳輸模式(Active)和被動傳輸模式(PASSIVE)。
1. 主動傳輸模式
當FTP的控制連接建立,客戶提出目錄列表、傳輸文件時,客戶端發出PORT命令與服務器進行協商,FTP服務器使用一個標準端口20作為服務器端的數據連接端口(ftp-data),與客戶建立數據連接。端口20只用于連接源地址是服務器端的情況,并且端口20沒有監聽進程來監聽客戶請求。 在主動傳輸模式下,FTP的數據連接和控制連接方向相反,由服務器向客戶端發起一個用于數據傳輸的連接??蛻舳说倪B接端口由服務器端和客戶端通過協商確定。主動傳輸模式下,FTP服務器使用20端口與客戶端的暫時端口進行連接,并傳輸數據,客戶端只是處于接收狀態。
也就是說:客戶總是主動向服務器發起連接,源地址是自己,源端口是隨機端口,目的是服務器地址,端口是21.經過三次握手之后,就可以登錄到FTP看到目錄了。
2.被動傳輸模式 當FTP的控制連接建立,客戶提出目錄列表、傳輸文件時,客戶端發送PASV命令使服務器處于被動傳輸模式,FTP服務器等待客戶與其聯系。FTP服務器在非20端口的其它數據傳輸端口上監聽客戶請求。 在被動傳輸模式下,FTP的數據連接和控制連接方向一致,由客戶端向服務器發起一個用于數據傳輸的連接??蛻舳说倪B接端口是發起該數據連接請求時使用的端口。當FTP客戶在防火墻之外訪問FTP服務器時,需要使用被動傳輸模式。被動傳輸模式下,FTP服務器打開一個暫態端口等待客戶端對其進行連接,并傳輸數據,服務器并不參與數據的主動傳輸,只是被動接受。
上一篇: 從數據中心三大趨勢看如何做布線規劃
下一篇: {思科CCNP-RS}EIGRP的匯總