ftp主动模式和被动模式的区别
一、FTP是什么
FTP的中文名稱是“文件傳輸協議”,是File Transfer Protocol三個英文單詞的縮寫。FTP:是TCP/IP協議組中的協議之一,其傳輸效率非常高,在網絡上傳輸大的文件時,經常采用此協議。
一個完整的FTP是FTP服務器和FTP客戶端組成,客戶端可以將服務器上的文件通過FTP協議下載到本地,也可以將本地數據通過FTP協議上傳到服務器上。
二、FTP的兩個連接?
?
無論是上傳還是下載,客戶端與服務器之間都會建立2個TCP連接會話,綠色是控制連接,紅色的是數據連接。
其中控制連接用于傳輸FTP命令,如:刪除文件、重命名文件、下載文件、列取目錄、獲取文件信息等。真正的數據傳輸時通過數據連接來完成的。
?
默認情況下,服務器21端口作為命令端口,20端口作為數據端口。但是被動模式下有所差別。
(一)、主動模式
在主動模式下,客戶端會開啟N和N+1兩個端口,N為客戶端的命令端口,N+1為客戶端的數據端口
第一步:客戶端使用端口N連接FTP服務器的命令端口21,建立控制連接并告訴服務器我這邊開啟了數據端口N+1
第二步:在控制連接建立成功后,服務器會使用數據端口20,主動連接客戶端的N+1d端口以建立數據連接。這就是FTP主動模式的連接過程。
?
我們可以看到,在這條紅色的數據連接建立的過程中,服務器是主動的連接客戶端的,所以稱這種模式為主動模式
?主動模式的利弊
主動模式對FTP服務器的管理有利,因為FTP服務器只需要開啟21端口的“準入”和20端口的“準出”即可。
但這種模式對客戶端的管理不利,因為FTP服務器20端口連接客戶端的數據端口時,有可能被客戶端的防火墻攔截掉。
?
(二)被動模式
?示意圖
?
?第一步:客戶端的命令端口N主動連接服務器命令端口21,并發送PASV命令,告訴服務器用“被動模式”,控制連接建立成功后,服務器開啟一個數據端口P,通過PORT命令將P端口告訴客戶端
第二步:客戶端的數據端口N+1去連接服務器的數據端口P,建立數據連接
我們可以看到,在這條紅色的數據連接建立的過程中,服務器是被動的等待客戶端來連接的,所以稱這種模式為被動模式。
?被動模式的利弊
被動模式對FTP客戶端的管理有利,因為客戶端的命令端口和數據端口都是“準出”,windows防火墻對于“準出”一般是不攔截的,所以客戶端不需要任何多余的配置就可以連接FTP服務器了。
但對服務器端的管理不利。因為客戶端數據端口連到FTP服務器的數據端口P時,很有可能被服務器端的防火墻阻塞掉。
?
總結
以上是生活随笔為你收集整理的ftp主动模式和被动模式的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算逆矩阵
- 下一篇: sms4的S盒构造c实现