Ubuntu Server 10.04下pure-ftpd工作方式和原理
Pureftpd是一款快速,高質(zhì)量,功能齊全的ftp服務(wù)器,最重要的是可以支持設(shè)置客戶端默認(rèn)編碼,Ubuntu Server 10.04下pure-ftpd工作方式原理有倆種看下文。
FTP的工作方式
FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發(fā)送 PORT 命令到FTP服務(wù)器。Passive模式FTP的客戶端發(fā)送 PASV命令到 FTP Server。
下面介紹一個這兩種方式的工作原理:
Port模式FTP 客戶端首先和FTP服務(wù)器的TCP 21端口建立連接,通過這個通道發(fā)送命令,客戶端需要接收數(shù)據(jù)的時候在這個通道上發(fā)送PORT命令。 PORT命令包含了客戶端用什么端口接收數(shù)據(jù)。在傳送數(shù)據(jù)的時候,服務(wù)器端通過自己的TCP 20端口連接至客戶端的指定端口發(fā)送數(shù)據(jù)。 FTP server必須和客戶端建立一個新的連接用來傳送數(shù)據(jù)。
Passive模式在建立控制通道的時候和Standard模式類似,但建立連接后發(fā)送的不是 Port命令,而是Pasv命令。FTP服務(wù)器收到Pasv命令后,隨機(jī)打開一個臨時端口(也叫自由端口,端口號大于1023小于65535)并且通知客戶端在這個端口上傳送數(shù)據(jù)的請求,客戶端連接FTP服務(wù)器此端口,然后FTP服務(wù)器將通過這個端口進(jìn)行數(shù)據(jù)的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。
很多防火墻在設(shè)置的時候都是不允許接受外部發(fā)起的連接的,所以許多位于防火墻后或內(nèi)網(wǎng)的FTP 服務(wù)器不支持PASV模式,因為客戶端無法穿過防火墻打開FTP服務(wù)器的高端端口;而許多內(nèi)網(wǎng)的客戶端不能用PORT模式登陸FTP服務(wù)器,因為從服務(wù)器的TCP 20無法和內(nèi)部網(wǎng)絡(luò)的客戶端建立一個新的連接,造成無法工作。
通過閱讀文章,我們清楚地知道了Ubuntu Server 10.04下pure-ftpd工作方式原理,希望對大家有幫助!
【編輯推薦】