FTP協(xié)議詳解

FTP協(xié)議詳解

簡介

FTP(File Transfer Protocol)是應(yīng)用層的一個文件傳輸協(xié)議。其主要作用是在服務(wù)器和客戶端之間實現(xiàn)文件的傳輸和共享锋恬。FTP協(xié)議運行在TCP連接上,保證了文件傳輸?shù)目煽啃裕ㄟ\行在UDP協(xié)議上的是TFTP協(xié)議)

與Http協(xié)議區(qū)別

Http和FTP都是文件傳輸協(xié)議杠娱,都是運行在tcp上面挽牢,但是他們也有一些重要的區(qū)別,F(xiàn)TP使用了兩個并行的tcp來傳輸文件:一個是控制連接(port:21)摊求,一個是數(shù)據(jù)連接(port:20)禽拔,控制連接用于在兩個主機之間傳輸控制信息,如口令室叉,用戶標(biāo)識睹栖,存放、獲取文件等命令茧痕。數(shù)據(jù)連接用于實際發(fā)送一個文件,發(fā)送完文件之后數(shù)據(jù)連接后會關(guān)閉野来。因為ftp協(xié)議使用一個獨立的控制連接,所以踪旷,也稱ftp的控制信息是帶外(out-of-band)傳送的曼氛。而Http協(xié)議是在傳輸文件的同一個tcp連接中發(fā)送請求和相應(yīng)首部行的。因此令野,Http也可以說是帶內(nèi)(in-band)發(fā)送控制信息舀患。

FTP的兩種傳輸方式

FTP支持兩種方式的傳輸:文本(ASCII)方式和二進制(Binary)方式。通常文本文件的傳輸采用ASCII方式气破,而圖象聊浅、聲音文件、加密和壓縮文件等非文本文件采用二進制方式傳輸现使,如果為了從一個系統(tǒng)上傳輸文件而使用了與本地系統(tǒng)不同的計算機字節(jié)位數(shù)狗超,那么就必須使用Tenex模式。FTP以ASCII方式作為默認的文件傳輸方式朴下。

FTP的兩種傳輸模式

FTP有兩種傳輸模式:主動(FTP Port)模式和被動(FTP Passive)模式努咐。由于主動模式存在著安全問題,最近幾年殴胧,大部分的TFP客戶端開始默認使用被動模式渗稍。

主動模式(Port)

主動模式的核心是TFP客戶端告訴服務(wù)端自己開發(fā)那個端口作為數(shù)據(jù)端口,然后讓服務(wù)端來連接自己团滥。 主動模式的連接建立一般是通過一些幾個步驟:

  1. 客戶端隨機打開一個本地大于1024的端口P1
  2. 客戶端通過端口P1向服務(wù)器控制端口(端口21)發(fā)起連接請求
  3. 服務(wù)器進行認證成功竿屹,請求建立
  4. 客戶端對本地端口P2進行監(jiān)聽并向服務(wù)器發(fā)送“Port P1+1”告訴服務(wù)器,客戶端的數(shù)據(jù)監(jiān)聽端口灸姊。
  5. 服務(wù)器收到端口后拱燃,從自己的數(shù)據(jù)端口(端口20)發(fā)起連接,連接到客戶端指定的數(shù)據(jù)端口P1+1.

被動方式(Passive)

由于主動方式中力惯,服務(wù)端需要主動連客戶端碗誉,對于客戶端的防火墻來說召嘶,屬于外部連接內(nèi)部,會出現(xiàn)被阻塞的情況哮缺。被動方式解決了這個問題弄跌。被動連接的核心是控制連接請求和數(shù)據(jù)連接請求都是由客戶端發(fā)起。被動方式的步驟如下:

  1. 客戶端任意打開大約1024的兩個本地端口(P1和P1+1)
  2. P1端口發(fā)送請求連接服務(wù)器的21端口(控制連接端口)同時提交PASV命令尝苇。
  3. 服務(wù)器收到請求后铛只,會開啟任意一個大約1024的端口P2,然后返回如下格式內(nèi)容:
    227 entering passive mode(h1,h2,h3,h4,p1,p2)
  4. 客戶端收到服務(wù)端返回的內(nèi)容后糠溜,計算出服務(wù)端開放的數(shù)據(jù)連接端口
  5. 客戶端通過P1+1端口向服務(wù)端的發(fā)送連接請求淳玩。進行數(shù)據(jù)傳輸。

關(guān)于服務(wù)端返回的報文格式(h1,h2,h3,h4,p1,p2)具體含義如下:

  • h1,h2,h3,h4代表服務(wù)器的ip地址非竿;
  • p1,p2代表服務(wù)器監(jiān)聽的數(shù)據(jù)連接端口地址蜕着。計算方法為P1*256+P2

參考資料:
《計算機網(wǎng)絡(luò)自定向下方法》
《TCP/IP協(xié)議詳解》

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市汽馋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌圈盔,老刑警劉巖豹芯,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異驱敲,居然都是意外死亡铁蹈,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門众眨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來握牧,“玉大人,你說我怎么就攤上這事娩梨⊙匮” “怎么了?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵狈定,是天一觀的道長颂龙。 經(jīng)常有香客問我,道長纽什,這世上最難降的妖魔是什么措嵌? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮芦缰,結(jié)果婚禮上企巢,老公的妹妹穿的比我還像新娘。我一直安慰自己让蕾,他們只是感情好浪规,可當(dāng)我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布或听。 她就那樣靜靜地躺著,像睡著了一般罗丰。 火紅的嫁衣襯著肌膚如雪神帅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天萌抵,我揣著相機與錄音找御,去河邊找鬼。 笑死绍填,一個胖子當(dāng)著我的面吹牛霎桅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播讨永,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼滔驶,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了卿闹?” 一聲冷哼從身側(cè)響起揭糕,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锻霎,沒想到半個月后著角,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡旋恼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年吏口,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冰更。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡产徊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蜀细,到底是詐尸還是另有隱情舟铜,我是刑警寧澤,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布奠衔,位于F島的核電站深滚,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏涣觉。R本人自食惡果不足惜痴荐,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望官册。 院中可真熱鬧生兆,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至合蔽,卻和暖如春击敌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拴事。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工沃斤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人刃宵。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓衡瓶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親牲证。 傳聞我的和親對象是個殘疾皇子哮针,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,654評論 2 354

推薦閱讀更多精彩內(nèi)容