![協(xié)議及數(shù)據(jù)包淺析_第1頁](http://file4.renrendoc.com/view/869f7422c83fb71bfd64094d838bf7cb/869f7422c83fb71bfd64094d838bf7cb1.gif)
![協(xié)議及數(shù)據(jù)包淺析_第2頁](http://file4.renrendoc.com/view/869f7422c83fb71bfd64094d838bf7cb/869f7422c83fb71bfd64094d838bf7cb2.gif)
![協(xié)議及數(shù)據(jù)包淺析_第3頁](http://file4.renrendoc.com/view/869f7422c83fb71bfd64094d838bf7cb/869f7422c83fb71bfd64094d838bf7cb3.gif)
![協(xié)議及數(shù)據(jù)包淺析_第4頁](http://file4.renrendoc.com/view/869f7422c83fb71bfd64094d838bf7cb/869f7422c83fb71bfd64094d838bf7cb4.gif)
![協(xié)議及數(shù)據(jù)包淺析_第5頁](http://file4.renrendoc.com/view/869f7422c83fb71bfd64094d838bf7cb/869f7422c83fb71bfd64094d838bf7cb5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
FTP協(xié)議及數(shù)據(jù)包淺析第27章FTP:文獻(xiàn)傳送協(xié)議
27.1引言
FTP是另一個(gè)常見的應(yīng)用程序。它是用于文獻(xiàn)傳輸?shù)腎nternet標(biāo)準(zhǔn)。我們必須分清文獻(xiàn)傳
送(filetransfer)和文獻(xiàn)存取(fileaccess)之間的區(qū)別,前者是FTP提供的,后者是如NFS
(Sun的網(wǎng)絡(luò)文獻(xiàn)系統(tǒng),第29章)等應(yīng)用系統(tǒng)提供的。由FTP提供的文獻(xiàn)傳送是將一個(gè)完整的
文獻(xiàn)從一個(gè)系統(tǒng)復(fù)制到另一個(gè)系統(tǒng)中。要使用FTP,就需要有登錄服務(wù)器的注冊帳號(hào),或者通
過允許匿名FTP的服務(wù)器來使用(本章我們將給出這樣的一個(gè)例子)。
與Telnet類似,F(xiàn)TP最早的設(shè)計(jì)是用于兩臺(tái)不同的主機(jī),這兩個(gè)主機(jī)也許運(yùn)營在不同的操作系
統(tǒng)下、使用不同的文獻(xiàn)結(jié)構(gòu)、并也許使用不同字符集。但不同的是,Telnet獲得異構(gòu)性是強(qiáng)制兩端
都采用同一個(gè)標(biāo)準(zhǔn):使用7比特ASCII碼的NVT。而FTP是采用另一種方法來解決不同系統(tǒng)間的差
異。FTP支持有限數(shù)量的文獻(xiàn)類型(ASCII,二進(jìn)制,等等)和文獻(xiàn)結(jié)構(gòu)(面向字節(jié)流或記錄)。
參考文獻(xiàn)959[Postel和Reynolds1985]是FTP的正式規(guī)范。該文獻(xiàn)敘述了近年來文獻(xiàn)傳輸
的歷史演變。
27.2FTP協(xié)議
FTP與我們已描述的另一種應(yīng)用不同,它采用兩個(gè)TCP連接來傳輸一個(gè)文獻(xiàn)。
1)控制連接以通常的客戶服務(wù)器方式建立。服務(wù)器以被動(dòng)方式打開眾所周知的用于
FTP的端口(21),等待客戶的連接??蛻魟t以積極方式打開TCP端口21,來建立連
接。控制連接始終等待客戶與服務(wù)器之間的通信。該連接將命令從客戶傳給服務(wù)器,
并傳回服務(wù)器的應(yīng)答。
由于命令通常是由用戶鍵入的,所以IP對控制連接的服務(wù)類型就是“最大限度地減小遲延”。
2)每當(dāng)一個(gè)文獻(xiàn)在客戶與服務(wù)器之間傳輸時(shí),就創(chuàng)建一個(gè)數(shù)據(jù)連接。(其他時(shí)間也可以創(chuàng)
建,后面我們將說到)。
由于該連接用于傳輸目的,所以IP對數(shù)據(jù)連接的服務(wù)特點(diǎn)就是“最大限度提高吞吐量”。
圖27-1描述了客戶與服務(wù)器以及它們之間的連接情況
從圖中可以看出,交互式用戶通常不解決在控制連接中轉(zhuǎn)換的命令和應(yīng)答。這些細(xì)節(jié)均
由兩個(gè)協(xié)議解釋器來完畢。標(biāo)有“用戶接口”的方框功能是按用戶所需提供各種交互界面
(全屏幕菜單選擇,逐行輸入命令,等等),并把它們轉(zhuǎn)換成在控制連接上發(fā)送的FTP命令。
類似地,從控制連接上傳回的服務(wù)器應(yīng)答也被轉(zhuǎn)換成用戶所需的交互格式。
從圖中還可以看出,正是這兩個(gè)協(xié)議解釋器根據(jù)需要激活文獻(xiàn)傳送功能。
27.2.1數(shù)據(jù)表達(dá)
FTP協(xié)議規(guī)范提供了控制文獻(xiàn)傳送與存儲(chǔ)的多種選擇。在以下四個(gè)方面中每一個(gè)方面都必
須作出一個(gè)選擇。1.文獻(xiàn)類型
(a)ASCII碼文獻(xiàn)類型(默認(rèn)選擇)文本文獻(xiàn)以NVTASCII碼形式在數(shù)據(jù)連接中傳輸。這規(guī)定
發(fā)方將本地文本文獻(xiàn)轉(zhuǎn)換成NVTASCII碼形式,而收方則將NVTASCII碼再還原成本地文本文獻(xiàn)。
其中,用NVTASCII碼傳輸?shù)拿啃卸紟в幸粋€(gè)回車,而后是一個(gè)換行。這意味著收方必須掃描每
個(gè)字節(jié),查找CR、LF對(我們在第15.2節(jié)見過的關(guān)于TFIP的ASCII碼文獻(xiàn)傳輸情況與此相同)。
(b)EBCDIC文獻(xiàn)類型該文本文獻(xiàn)傳輸方式規(guī)定兩端都是EBCDIC系統(tǒng)。
(c)圖像文獻(xiàn)類型(也稱為二進(jìn)制文獻(xiàn)類型)數(shù)據(jù)發(fā)送呈現(xiàn)為一個(gè)連續(xù)的比特流。通常
用于傳輸二進(jìn)制文獻(xiàn)。
(d)本地文獻(xiàn)類型該方式在具有不同字節(jié)大小的主機(jī)間傳輸二進(jìn)制文獻(xiàn)。每一字節(jié)的比特
數(shù)由發(fā)方規(guī)定。對使用8bit字節(jié)的系統(tǒng)來說,本地文獻(xiàn)以8bit字節(jié)傳輸就等同于圖像文獻(xiàn)傳輸。
2.格式控制
該選項(xiàng)只對ASCII和EBCDIC文獻(xiàn)類型有效。
(a)非打印(默認(rèn)選擇)文獻(xiàn)中不具有垂直格式信息。
(b)遠(yuǎn)程登錄格式控制文獻(xiàn)具有向打印機(jī)解釋的遠(yuǎn)程登錄垂直格式控制。
(c)Fortran回車控制每行首字符是Fortran格式控制符。
3.結(jié)構(gòu)
(a)文獻(xiàn)結(jié)構(gòu)(默認(rèn)選擇)文獻(xiàn)被認(rèn)為是一個(gè)連續(xù)的字節(jié)流。不存在內(nèi)部的文獻(xiàn)結(jié)構(gòu)。
(b)記錄結(jié)構(gòu)該結(jié)構(gòu)只用于文本文獻(xiàn)(ASCII或EBCDIC)。
(c)頁結(jié)構(gòu)每頁都帶有頁號(hào)發(fā)送,以便收方能隨機(jī)地存儲(chǔ)各頁。該結(jié)構(gòu)由TOPS-20操
作系統(tǒng)提供(主機(jī)需求RFC不提倡采用該結(jié)構(gòu))。
4.傳輸方式
它規(guī)定文獻(xiàn)在數(shù)據(jù)連接中如何傳輸。
(a)流方式(默認(rèn)選擇)文獻(xiàn)以字節(jié)流的形式傳輸。對于文獻(xiàn)結(jié)構(gòu),發(fā)方在文獻(xiàn)尾提
示關(guān)閉數(shù)據(jù)連接。對于記錄結(jié)構(gòu),有專用的兩字節(jié)序列碼標(biāo)志記錄結(jié)束和文獻(xiàn)結(jié)束。
(b)塊方式文獻(xiàn)以一系列塊來傳輸,每塊前面都帶有一個(gè)或多個(gè)首部字節(jié)。
(c)壓縮方式一個(gè)簡樸的全長編碼壓縮方法,壓縮連續(xù)出現(xiàn)的相同字節(jié)。在文本文獻(xiàn)
客戶
用戶接口
用戶協(xié)議
解釋器
用戶數(shù)據(jù)傳
輸功能
文獻(xiàn)系統(tǒng)
數(shù)據(jù)連接
控制連接
服務(wù)器
服務(wù)器協(xié)
議接口
服務(wù)器數(shù)據(jù)傳
輸功能
文獻(xiàn)系統(tǒng)
(FTP命令)
(FTP應(yīng)答)
在終端上
的用戶
下載
318使用TCP/IP詳解,卷1:協(xié)議
中常用來壓縮空白串,在二進(jìn)制文獻(xiàn)中常用來壓縮0字節(jié)(這種方式很少使用,也不受支持。
現(xiàn)在有一些更好的文獻(xiàn)壓縮方法來支持FTP)。
假如算一下所有這些選擇的排列組合數(shù),那么對傳輸和存儲(chǔ)一個(gè)文獻(xiàn)來說就有72種不同
的方式。幸運(yùn)的是,其中很多選擇不是廢棄了,就是不為多數(shù)實(shí)現(xiàn)環(huán)境所支持,所以我們可
以忽略掉它們。
通常由Unix實(shí)現(xiàn)的FTP客戶和服務(wù)器把我們的選擇限制如下:
?類型:ASCII或圖像。
?格式控制:只允許非打印。
?結(jié)構(gòu):只允許文獻(xiàn)結(jié)構(gòu)。
?傳輸方式:只允許流方式。
這就限制我們只能取一、兩種方式:ASCII或圖像(二進(jìn)制)。
該實(shí)現(xiàn)滿足主機(jī)需求RFC的最小需求(該RFC也規(guī)定能支持記錄結(jié)構(gòu),但只有操作系統(tǒng)
支持它才行,而Unix不行)。
很多非Unix的實(shí)現(xiàn)提供了解決它們自己文獻(xiàn)格式的FTP功能。主機(jī)需求RFC指出“FTP協(xié)
議有很多特性,雖然其中一些通常不實(shí)現(xiàn),但對FTP中的每一個(gè)特性來說,都存在著至少一種
實(shí)現(xiàn)”。27.2.4連接管理
數(shù)據(jù)連接有以下三大用途:
1)從客戶向服務(wù)器發(fā)送一個(gè)文獻(xiàn)。
2)從服務(wù)器向客戶發(fā)送一個(gè)文獻(xiàn)。
3)從服務(wù)器向客戶發(fā)送文獻(xiàn)或目錄列表。
FTP服務(wù)器把文獻(xiàn)列表從數(shù)據(jù)連接上發(fā)回,而不是控制連接上的多行應(yīng)答。這就避免了行
的有限性對目錄大小的限制,并且更易于客戶將目錄列表以文獻(xiàn)形式保存,而不是把列表顯
示在終端上。
我們已說過,控制連接一直保持到客戶-服務(wù)器連接的全過程,但數(shù)據(jù)連接可以根據(jù)需要
隨時(shí)來,隨時(shí)走。那么需要如何為數(shù)據(jù)連接選端標(biāo)語,以及誰來負(fù)責(zé)積極打開和被動(dòng)打開?
一方面,我們前面說過通用傳輸方式(Unix環(huán)境下唯一的傳輸方式)是流方式,并且文獻(xiàn)
結(jié)尾是以關(guān)閉數(shù)據(jù)連接為標(biāo)志。這意味著對每一個(gè)文獻(xiàn)傳輸或目錄列表來說都要建立一個(gè)全
新的數(shù)據(jù)連接。其一般過程如下:
1)正由于是客戶發(fā)出命令規(guī)定建立數(shù)據(jù)連接,所以數(shù)據(jù)連接是在客戶的控制下建立的。
2)客戶通常在客戶端主機(jī)上為所在數(shù)據(jù)連接端選擇一個(gè)臨時(shí)端標(biāo)語。客戶從該端口發(fā)布
一個(gè)被動(dòng)的打開。
3)客戶使用PORT命令從控制連接上把端標(biāo)語發(fā)向服務(wù)器。
4)服務(wù)器在控制連接上接受端標(biāo)語,并向客戶端主機(jī)上的端口發(fā)布一個(gè)積極的打開。服
務(wù)器的數(shù)據(jù)連接端一直使用端口20。
圖27-4給出了第3步執(zhí)行時(shí)的連接狀態(tài)。假設(shè)客戶用于控制連接的臨時(shí)端口是1173,客戶
用于數(shù)據(jù)連接的臨時(shí)端口是1174??蛻舭l(fā)出的命令是PORT命令,其參數(shù)是6個(gè)ASCII中的十進(jìn)
制數(shù)字,它們之間由逗點(diǎn)隔開。前面4個(gè)數(shù)字指明客戶上的IP地址,服務(wù)器將向它發(fā)出積極打
開(本例中是4),而后兩位指明16bit端口地址。由于16bit端口地址是從這兩個(gè)
數(shù)字中得來,所以其值在本例中就是4×256+150=1174。
圖27-5給出了服務(wù)器向客戶所在數(shù)據(jù)連接端發(fā)布積極打開時(shí)的連接狀態(tài)。服務(wù)器的端點(diǎn)
是端口20。服務(wù)器總是執(zhí)行數(shù)據(jù)連接的積極打開。通常服務(wù)器也執(zhí)行數(shù)據(jù)連
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- LY/T 2777-2024林化類固體產(chǎn)品生產(chǎn)綜合能耗
- 湘師大版道德與法治九年級(jí)下冊4.1《感受時(shí)代洗禮》聽課評(píng)課記錄
- 招商引資項(xiàng)目合同(2篇)
- 理療按摩技術(shù)加盟合同(2篇)
- 新北師大版小學(xué)數(shù)學(xué)一年級(jí)上冊《有幾棵樹》聽評(píng)課記錄
- 岳麓版歷史七年級(jí)下冊第26課《唐代的社會(huì)風(fēng)尚與文化》聽課評(píng)課記錄2
- 蘇教版數(shù)學(xué)九年級(jí)上冊聽評(píng)課記錄《1-2一元二次方程的解法(1)》
- 湘教版數(shù)學(xué)七年級(jí)上冊5.2《復(fù)式統(tǒng)計(jì)圖及統(tǒng)計(jì)圖的選擇》聽評(píng)課記錄1
- 中華書局版歷史七年級(jí)上冊第17課《三國兩晉南北朝的文化》聽課評(píng)課記錄
- 新版湘教版秋八年級(jí)數(shù)學(xué)上冊第一章分式課題同分母分式的加法和減法聽評(píng)課記錄
- 體質(zhì)健康概論
- 檔案管理流程優(yōu)化與效率提升
- 顱腦損傷的生物標(biāo)志物
- 2023高考語文實(shí)用類文本閱讀-新聞、通訊、訪談(含答案)
- 人工智能在商場應(yīng)用
- (完整word版)大格子作文紙模板(帶字?jǐn)?shù)統(tǒng)計(jì))
- 高考語文復(fù)習(xí):小說閱讀主觀題題型探究-解讀《理水》
- 物流營銷(第四版) 課件 第一章 物流營銷概述
- 藍(lán)印花布鑒賞課件
- 血液灌流流程及注意事項(xiàng)詳細(xì)圖解
- 5A+Chapter+2+Turning+over+a+new+leaf 英語精講課件
評(píng)論
0/150
提交評(píng)論