自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

FTP協(xié)議連接模式的分析

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
FTP協(xié)議連接模式是我們本篇文章主要講述的內(nèi)容。首先我們來對這個協(xié)議的基本情況做了大致的介紹,在模式介紹中我們分為PORT模式和PASV模式兩部分來分別講述。

對于網(wǎng)絡(luò)來說,現(xiàn)在它已經(jīng)不是單獨的一個事物了。在融合了多種應(yīng)用的現(xiàn)下,它和其它協(xié)議的融合讓其協(xié)議結(jié)構(gòu)更為多樣。現(xiàn)在我們就來簡單學(xué)習(xí)一下FTP協(xié)議的鏈接模式。起初,F(xiàn)TP協(xié)議并不是應(yīng)用于IP網(wǎng)絡(luò)上的協(xié)議,而是ARPANEt網(wǎng)絡(luò)中計算機間的文件傳輸協(xié)議, ARPANET是美國國防部組建的老網(wǎng)絡(luò),于1960-1980年使用。在那時,F(xiàn)TP的主要功能是在主機間高速可靠地傳輸文件。目前FTP仍然保持其可靠性,即使在今天,它還允許文件遠(yuǎn)程存取。這使得用戶可以在某個系統(tǒng)上工作,而將 文件存貯在別的系統(tǒng)。例如,如果某用戶運行Web服務(wù)器,需要從遠(yuǎn)程主機上取得HTML文件和CGI程序在本機上工作,他需要從遠(yuǎn)程存儲站點獲取文件(遠(yuǎn) 程站點也需安裝Web服務(wù)器)。當(dāng)用戶完成工作后,可使用FTP協(xié)議將文件傳回到Web服務(wù)器。采用這種方法,用戶無需使用Telnet登錄到遠(yuǎn)程主機進(jìn)行工 作,這樣就使Web服務(wù)器的更新工作變得如此的輕松。

FTP是TCP/IP的一種具體應(yīng)用,它工作在OSI模型的第七層,TCP模型的第四層上,即應(yīng)用層,使用TCP 傳輸而不是UDP,這樣FTP客戶在和服務(wù)器建立連接前就要經(jīng)過一個被廣為熟知的"三次握手"的過程,它帶來的意義在于客戶與服務(wù)器之間的連接是可靠的, 而且是面向連接,為數(shù)據(jù)的傳輸提供了可靠的保證。

下面,讓我們來看看,一個FTP客戶在和服務(wù)器連接是怎么樣的一個過程(以標(biāo)準(zhǔn)的FTP端口號為例)。

首先,F(xiàn)TP并不像HTTP協(xié)議那樣,只需要一個端口作為連接(HTTP的默認(rèn)端口是80,F(xiàn)TP的默認(rèn)端口是 21),F(xiàn)TP需要2個端口,一個端口是作為控制連接端口,也就是21這個端口,用于發(fā)送指令給服務(wù)器以及等待服務(wù)器響應(yīng);另一個端口是數(shù)據(jù)傳輸端口,端 口號為20(僅PORT模式),是用來建立數(shù)據(jù)傳輸通道的,主要有3個作用:

從客戶向服務(wù)器發(fā)送一個文件。

從服務(wù)器向客戶發(fā)送一個文件。

從服務(wù)器向客戶發(fā)送文件或目錄列表。

FTP協(xié)議連接模式

其次,F(xiàn)TP的連接模式有兩種,PORT和PASV。PORT模式是一個主動模式,PASV是被動模式,這里都是相對于服務(wù)器而言的。

PORT模式

當(dāng)FTP客戶以PORT模式連接服務(wù)器時,他動態(tài)的選擇一個端口號(本次試驗是6015)連接服務(wù)器的21端口, 注意這個端口號一定是1024以上的,因為1024以前的端口都已經(jīng)預(yù)先被定義好,被一些典型的服務(wù)使用,當(dāng)然有的還沒使用,保留給以后會用到這些端口的 資源服務(wù)。當(dāng)經(jīng)過TCP的三次握手后,連接(控制信道)被建立?,F(xiàn)在用戶要列出服務(wù)器上的目錄結(jié)構(gòu)(使用ls或dir命令),那么首先就 要建立一個數(shù)據(jù)通道,因為只有數(shù)據(jù)通道才能傳輸目錄和文件列表,此時用戶會發(fā)出PORT指令告訴服務(wù)器連接自己的什么端口來建立一條數(shù)據(jù)通道(這個命令由 控制信道發(fā)送給服務(wù)器),當(dāng)服務(wù)器接到這一指令時,服務(wù)器會使用20端口連接用戶在PORT指令中指定的端口號,用以發(fā)送目錄的列表。當(dāng)完成這 一操作時,F(xiàn)TP客戶也許要下載一個文件,那么就會發(fā)出get指令,請注意,這時客戶會再次發(fā)送PORT指令,告訴服務(wù)器連接他的哪個"新"端口,你可以 先用netstat -na這個命令驗證,上一次使用的6044已經(jīng)處于TIME_WAIT狀態(tài)。當(dāng)這個新的數(shù)據(jù)傳輸通道建立后(在微軟的系統(tǒng)中,客戶端通常會使用 連續(xù)的端口,也就是說這一次客戶端會用6045這個端口),就開始了文件傳輸?shù)墓ぷ鳌?/p>

PASV模式

然而,當(dāng)FTP協(xié)議的客戶以PASV模式連接服務(wù)器時,情況就有些不同了。在初始化連接這個過程即連接服務(wù)器這個過程和 PORT模式是一樣的,不同的是,當(dāng)FTP客戶發(fā)送ls、dir、get等這些要求數(shù)據(jù)返回的命令時,他不向服務(wù)器發(fā)送PORT指令而是發(fā)送PASV指 令,在這個指令中,用戶告訴服務(wù)器自己要連接服務(wù)器的某一個端口,如果這個服務(wù)器上的這個端口是空閑的可用的,那么服務(wù)器會返回ACK的確認(rèn)信息,之后數(shù) 據(jù)傳輸通道被建立并返回用戶所要的信息(根據(jù)用戶發(fā)送的指令,如ls、dir、get等);如果服務(wù)器的這個端口被另一個資源所使用,那么服務(wù)器返回 UNACK的信息,那么這時,F(xiàn)TP客戶會再次發(fā)送PASV命令,這也就是所謂的連接建立的協(xié)商過程。為了驗證這個過程我們不得不借助CUTEFTP Pro這個大家經(jīng)常使用的FTP客戶端軟件,因為微軟自帶的FTP命令客戶端,不支持PASV模式。雖然你可以使用QUOTE PASV這個命令強制使用PASV模式,但是當(dāng)你用ls命令列出服務(wù)器目錄列表,你會發(fā)現(xiàn)它還是使用PORT方式來連接服務(wù)器的。

責(zé)任編輯:佟健 來源: it168
相關(guān)推薦

2010-06-09 15:40:01

FTP文件傳輸協(xié)議

2010-06-24 15:02:43

FTP協(xié)議

2010-06-24 13:26:53

FTP協(xié)議

2010-06-24 15:07:20

FTP協(xié)議

2014-06-05 17:02:41

FTP

2010-06-28 14:51:25

FTP協(xié)議命令

2010-06-28 14:38:12

FTP協(xié)議

2010-06-30 16:00:01

FTP協(xié)議

2010-07-01 12:22:40

ftp命令FTP協(xié)議

2011-03-07 13:12:58

FileZilla

2010-06-28 17:00:58

FTP傳輸模式

2010-08-06 09:17:37

RIP路由協(xié)議

2010-07-13 16:12:15

DHCP協(xié)議

2010-07-08 12:42:34

UDP協(xié)議

2010-06-23 15:19:35

eMule協(xié)議

2011-03-17 12:25:55

iptables ft

2010-09-06 09:26:07

PPP協(xié)議

2010-06-10 13:18:31

RIP協(xié)議

2010-07-30 16:00:36

ICMP協(xié)議

2010-07-30 14:31:20

RIP協(xié)議
點贊
收藏

51CTO技術(shù)棧公眾號