国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
淺析FTP的工作原理
淺析FTP的工作原理 FTP協(xié)議概述起初, FTP并不是應(yīng)用于IP網(wǎng)絡(luò)上的協(xié)議,而是ARPANEt網(wǎng)絡(luò)中計算機間的文件傳輸協(xié)議, ARPANET是美國國防部組建的老網(wǎng)絡(luò),于1960-1980年使用。在那時, FTP的主要功能是在主機間高速可靠地傳輸文件。目前FTP仍然保持其可靠性,即使在今天,它還允許文件遠程存取。這使得用戶可以在某個系統(tǒng)上工作,而將文件存貯在別的系統(tǒng)。例如,如果某用戶運行Web服務(wù)器,需要從遠程主機上取得HTML文件和CGI程序在本機上工作,他需要從遠程存儲站點獲取文件(遠程站點也需安裝Web服務(wù)器)。當(dāng)用戶完成工作后,可使用FTP將文件傳回到Web服務(wù)器。采用這種方法,用戶無需使用Telnet登錄到遠程主機進行工作,這樣就使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的默認端口是80,F(xiàn)TP的默認端口是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ā)送文件或目錄列表。其次,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的三次握手后,連接(控制信道)被建立(如圖1和圖2)?,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ā)送目錄的列表(如圖3)。當(dāng)完成這一操作時,F(xiàn)TP客戶也許要下載一個文件,那么就會發(fā)出get指令,請注意,這時客戶會再次發(fā)送PORT指令,告訴服務(wù)器連接他的哪個"新"端口,你可以先用netstat -na這個命令驗證,上一次使用的6044已經(jīng)處于TIME_WAIT狀態(tài)(如圖4)。當(dāng)這個新的數(shù)據(jù)傳輸通道建立后(在微軟的系統(tǒng)中,客戶端通常會使用連續(xù)的端口,也就是說這一次客戶端會用6045這個端口),就開始了文件傳輸?shù)墓ぷ?。PASV模式然而,當(dāng)FTP客戶以PASV模式連接服務(wù)器時,情況就有些不同了。在初始化連接這個過程即連接服務(wù)器這個過程和PORT模式是一樣的,不同的是,當(dāng)FTP客戶發(fā)送ls、dir、get等這些要求數(shù)據(jù)返回的命令時,他不向服務(wù)器發(fā)送PORT指令而是發(fā)送PASV指令,在這個指令中,用戶告訴服務(wù)器自己要連接服務(wù)器的某一個端口,如果這個服務(wù)器上的這個端口是空閑的可用的,那么服務(wù)器會返回ACK的確認信息,之后數(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ù)器的?,F(xiàn)在我們使用CUTEFTP Pro以PASV模式連接服務(wù)器(如圖5),請注意連接LOG里有這樣幾句話:COMMAND:>PASV227 Entering Passive Mode (127,0,0,1,26,108)COMMAND:>LISTSTATUS:> Connecting ftp data socket 127.0.0.1: 6764...125 Data connection already open; Transfer starting.226 Transfer complete.其中,227 Entering Passive Mode (127,0,0,1,26,80). 代表客戶機使用PASV模式連接服務(wù)器的26x256+108=6764端口。(當(dāng)然服務(wù)器要支持這種模式)125 Data connection already open; Transfer starting.說明服務(wù)器的這個端口可用,返回ACK信息。再讓我們看看用CUTEFTP Pro以PORT模式連接服務(wù)器的情況。其中在LOG里有這樣的記錄:COMMAND:>PORT 127,0,0,1,28,37200 PORT command successful.COMMAND:>LIST150 Opening ASCII mode data connection for /bin/ls.STATUS:> Accepting connection: 127.0.0.1:20.226 Transfer complete.STATUS:> Transfer complete.其中,PORT 127,0,0,1,28,37告訴服務(wù)器當(dāng)收到這個PORT指令后,連接FTP客戶的28x256+37=7205這個端口。Accepting connection: 127.0.0.1:20表示服務(wù)器接到指令后用20端口連接7205端口,而且被FTP客戶接受。比較分析在這兩個例子中,請注意: PORT模式建立數(shù)據(jù)傳輸通道是由服務(wù)器端發(fā)起的,服務(wù)器使用20端口連接客戶端的某一個大于1024的端口;在PASV模式中,數(shù)據(jù)傳輸?shù)耐ǖ赖慕⑹怯蒄TP客戶端發(fā)起的,他使用一個大于1024的端口連接服務(wù)器的1024以上的某一個端口。如果從C/S模型這個角度來說,PORT對于服務(wù)器來說是OUTBOUND,而PASV模式對于服務(wù)器是INBOUND,這一點請?zhí)貏e注意,尤其是在使用防火墻的企業(yè)里,比如使用微軟的ISA Server 2000發(fā)布一個FTP服務(wù)器,這一點非常關(guān)鍵,如果設(shè)置錯了,那么客戶將無法連接。最后,請注意在FTP客戶連接服務(wù)器的整個過程中,控制信道是一直保持連接的,而數(shù)據(jù)傳輸通道是臨時建立的。在本文中,朗月繁星把重點放到了FTP的連接模式,沒有涉及FTP的其他內(nèi)容,比如FTP的文件類型(Type),格式控制(format control)以及傳輸方式(Transmission mode)等。不過這些規(guī)范大家可能不需要花費過多的時間去了解,因為現(xiàn)在流行的FTP客戶端都可以自動的選擇正確的模式來處理,對于FTP服務(wù)器端通常也都做了一些限制,如下類型:A S C I I或圖像。格式控制:只允許非打印。結(jié)構(gòu):只允許文件結(jié)構(gòu)。傳輸方式:只允許流方式至于這些內(nèi)容,限于篇幅朗月繁星在這里就不想再介紹了。希望這篇文章能對大家有些幫助,特別是正在學(xué)習(xí)ISA Server2000的朋友和一些對FTP不很了解的朋友。OK,就此駐筆了,希望大家與我交流。本文出自WinMag論壇,朗月繁星
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
FTP,FTPS,FTPS與防火墻
FTP正常原理運行的方式
=-貓貓軟件園-=-FTP 之傳輸原理篇
vsftp 打開 pasv模式
vsftpd主動模式和被動模式的區(qū)別
FTP的主動模式和被動模式(FileZilla Server)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服