




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、計(jì)算機(jī)網(wǎng)絡(luò)作業(yè) 題 目 TFTP協(xié)議分析 學(xué) 院 電子工程學(xué)院 專 業(yè) XXXXXXXXXXXX 學(xué)生姓名 XXX(學(xué)號(hào)02113XXX) 導(dǎo)師姓名 胡建偉 1. TFTP協(xié)議簡介TFTP(Trivial File Transfer Protocol,簡單文件傳輸協(xié)議)是TCP/IP協(xié)議族中的一個(gè)用來在客戶機(jī)與服務(wù)器之間進(jìn)行簡單文件傳輸?shù)膮f(xié)議,提供不復(fù)雜、開銷不大的文件傳輸服務(wù)。端口號(hào)為69。TFTP的版本2是因特網(wǎng)的正式標(biāo)準(zhǔn)RFC 1350。1.1概述雖然TFTP也使用客戶服務(wù)器方式,但它使用UDP數(shù)據(jù)報(bào)(但是我們也不能確定有些TFTP協(xié)議是基于其它傳輸協(xié)議完成的),因此TFTP需要自己的差
2、錯(cuò)改正措施。TFTP只支持文件傳輸而不支持交互。TFTP沒有一個(gè)龐大的命令集,因此它不具備通常的FTP的許多功能,它只能從文件服務(wù)器上獲得或?qū)懭胛募?,不能列出目錄,不進(jìn)行認(rèn)證,它傳輸8位數(shù)據(jù)。TFTP協(xié)議概述:1.簡單文件傳送協(xié)議(Trivial File Transfer Protocol)2.最初用于引導(dǎo)無盤系統(tǒng),被設(shè)計(jì)用來傳輸小文件3.基于UDP協(xié)議實(shí)現(xiàn),但也可以由其他協(xié)議實(shí)現(xiàn)4.不具備FTP的許多功能5.只能從服務(wù)器獲取或?qū)懭胛募?,不能列出目?.不進(jìn)行認(rèn)證1.2模式與FTP相似,TFTP傳輸過程中也有傳輸模式之分,模式的意思是如何解釋數(shù)據(jù)包里的內(nèi)容,比如是字符串還是二進(jìn)制等。目前TF
3、TP傳輸有三種模式: netascii型:是8位的ASCII碼形式(文本模式) octet型:即普通的二進(jìn)制型(二進(jìn)制模式) mail型:過時(shí),不再使用另外,通訊雙方也可以自定義所需的傳輸模式。1.3特點(diǎn)TFTP的主要特點(diǎn)是:(1) 每次傳送的數(shù)據(jù)報(bào)文中有512字節(jié)的數(shù)據(jù),但最后一次可不足512字節(jié)。(2) 數(shù)據(jù)報(bào)文按序編號(hào),從1開始。(3) 支持ASCII碼或二進(jìn)制傳送。(4) 可對(duì)文件進(jìn)行讀或?qū)憽?5) 使用很簡單的首部。1.4優(yōu)點(diǎn)TFTP的優(yōu)點(diǎn)主要有兩個(gè)。第一,TFTP可用于UDP環(huán)境。例如,當(dāng)需要將程序或文件同時(shí)向許多機(jī)器下載時(shí)就往往需要使用TFTP。第二,TFTP代碼所占的內(nèi)存較小。
4、這對(duì)較小的計(jì)算機(jī)或某些特殊用途的設(shè)備是很重要的。這些設(shè)備不需要硬盤,只需要固化了TFTP,UDP和IP的小容量只讀存儲(chǔ)器即可。當(dāng)接通電源后,設(shè)備執(zhí)行只讀存儲(chǔ)器中的代碼,在網(wǎng)絡(luò)上廣播一個(gè)TFTP請(qǐng)求。網(wǎng)絡(luò)上的TFTP服務(wù)器就發(fā)送響應(yīng),其中包括可執(zhí)行二進(jìn)制程序。設(shè)備收到此文件后將其放入內(nèi)存,然后開始運(yùn)行程序。這種方式增加了靈活性,也減少了開銷。2. TFTP包格式因?yàn)門FTP使用UDP,而UDP使用IP,IP還可以使用其它本地通信方法。因此一個(gè)TFTP包中會(huì)有以下幾段:本地媒介頭,IP頭,數(shù)據(jù)報(bào)頭,TFTP頭,剩下的就是TFTP數(shù)據(jù)了。TFTP在IP頭中不指定任何數(shù)據(jù),但是它使用UDP中的源和目標(biāo)
5、端口以及包長度域。由TFTP使用的包標(biāo)記(TID)在這里被用做端口,因此TID必須介于0到65,535之間。TFTP頭中包括兩個(gè)字節(jié)的操作碼,這個(gè)碼指出了包的類型,包頭次序?yàn)椋篢FTP共定義了五種類型的包格式,格式的區(qū)分由包數(shù)據(jù)前兩個(gè)字節(jié)的Opcode字段區(qū)分,分別是: 讀文件請(qǐng)求包:Read request,簡寫為RRQ,對(duì)應(yīng)Opcode字段值為1 寫文件請(qǐng)求包:Write request,簡寫為WRQ,對(duì)應(yīng)Opcode字段值為2 文件數(shù)據(jù)包:Data,簡寫為DATA,對(duì)應(yīng)Opcode字段值為3 回應(yīng)包:Acknowledgement,簡寫為ACK,對(duì)應(yīng)Opcode字段值為4 錯(cuò)誤信息包:E
6、rror,簡寫為ERROR,對(duì)應(yīng)Opcode字段值為51、 讀寫請(qǐng)求包的格式如下圖:PRQ(讀請(qǐng)求)報(bào)文由客戶使用,用來建立一條從服務(wù)器讀數(shù)據(jù)的連接。WRQ(寫請(qǐng)求)報(bào)文由客戶使用,用來建立一條把數(shù)據(jù)寫到服務(wù)器的連接,它的格式與PRQ相同,除了頭部的操作碼是2。RRQ和WRQ包(代碼分別為1和2)中,文件名是NETASCII碼字符,以0結(jié)束。而MODE域包括了字符串"netascii","octet"或"mail",名稱不分大小寫。接收到NETASCII格式數(shù)據(jù)的主機(jī)必須將數(shù)據(jù)轉(zhuǎn)換為本地格式。OCTET模式用于傳輸文件,這種文件在源機(jī)
7、上以8位格式存儲(chǔ)。假設(shè)每個(gè)機(jī)器都存在一個(gè)8位的格式,這樣的假設(shè)是最一般的。比如DEC-20,這是一種36位機(jī),我們可以假設(shè)它是4個(gè)8位外加另外4位而構(gòu)成。如果機(jī)器收到OCTET格式文件,返回時(shí)必須與原來文件完全一樣。在使用MAIL模式時(shí),用戶可以在FILE處使用接收人地址,這個(gè)地址可以是用戶名或用戶名主機(jī)的形式,如果是后一種形式,允許主機(jī)使用電子郵件傳輸此文件。如果使用MAIL類型,包必須以WRQ開始,否則它與NETASCII完全一樣。我們的討論建立在發(fā)送方和接收方都在相同模式的情況下,但是雙方可以以不同的模式進(jìn)行傳輸。例如一個(gè)機(jī)器可以是一臺(tái)存儲(chǔ)服務(wù)器,這樣一臺(tái)服務(wù)器需要將NETASCII格式
8、轉(zhuǎn)換為自己的格式。另外,我們可以設(shè)想DEC-20這種機(jī)器,它使用36位字長,用戶這邊可以使用特殊的機(jī)制一次讀取36位,而服務(wù)器卻可以仍然使用8位格式。在這兩種情況下,我們看到了兩臺(tái)機(jī)器使用不同格式的情況??梢栽趦膳_(tái)主機(jī)間定義其它的傳輸方式,但是定義要小心,因?yàn)檫@種傳輸方式不為人知,而且也沒有權(quán)威機(jī)構(gòu)為其指定名稱或定義它的模式。2、DATA(數(shù)據(jù))報(bào)文由客戶和服務(wù)器使用,用來傳送數(shù)據(jù)塊,其格式如下圖所示:數(shù)據(jù)包的操作碼為3,它還包括有一個(gè)數(shù)據(jù)塊號(hào)和數(shù)據(jù)。數(shù)據(jù)塊號(hào)域從1開始編碼,每個(gè)數(shù)據(jù)塊加1,這樣接收方可以確定這個(gè)包是新數(shù)據(jù)還是已經(jīng)接收過的數(shù)據(jù)。數(shù)據(jù)域從0字節(jié)到512字節(jié)。如果數(shù)據(jù)域是512字節(jié)
9、則它不是最后一個(gè)包,如果小于512字節(jié)則表示這個(gè)包是最后一個(gè)包。除了ACK和用于中斷的包外,其它的包均得到確認(rèn)。發(fā)出新的數(shù)據(jù)包等于確認(rèn)上次的包。WRQ和DATA包由ACK或ERROR數(shù)據(jù)包確認(rèn),而RRQ數(shù)據(jù)包由DATA或ERROR數(shù)據(jù)包確認(rèn)。3、ACK(確認(rèn))報(bào)文由客戶和服務(wù)器使用,用來確認(rèn)已收到數(shù)據(jù)塊,這個(gè)報(bào)文只有四字節(jié),其格式如下圖所示:ACK包操作碼為4,其中的包號(hào)為要確認(rèn)的數(shù)據(jù)包的包號(hào)。WRQ數(shù)據(jù)包被ACK數(shù)據(jù)包確認(rèn),WRQ數(shù)據(jù)包的包號(hào)為0。4、ERROR(錯(cuò)誤)報(bào)文由客戶或服務(wù)器使用,用于當(dāng)一條連接不能建立或在數(shù)據(jù)傳輸中出現(xiàn)了問題,它可以作為PRQ或WRQ的負(fù)面響應(yīng),但不能用于對(duì)受損
10、或重復(fù)報(bào)文的聲明,其格式如下圖:此包可以被其它任何類型的包確認(rèn)。錯(cuò)誤碼指定錯(cuò)誤的類型。錯(cuò)誤的值和錯(cuò)誤的意義如下:0 未定義,請(qǐng)參閱錯(cuò)誤信息(如果提示這種信息的話)1文件未找到2訪問非法3磁盤滿或超過分配的配額4非法的TFTP操作5未知的傳輸ID6文件已經(jīng)存在7沒有類似的用戶3. TFTP通信流程任何傳輸起自一個(gè)讀取或?qū)懭胛募恼?qǐng)求,這個(gè)請(qǐng)求也是連接請(qǐng)求。如果服務(wù)器批準(zhǔn)此請(qǐng)求,則服務(wù)器打開連接,數(shù)據(jù)以定長512字節(jié)傳輸。每個(gè)數(shù)據(jù)包包括一塊數(shù)據(jù),服務(wù)器發(fā)出下一個(gè)數(shù)據(jù)包以前必須得到客戶對(duì)上一個(gè)數(shù)據(jù)包的確認(rèn)。如果一個(gè)數(shù)據(jù)包的大小小于512字節(jié),則表示傳輸結(jié)束。如果數(shù)據(jù)包在傳輸過程中丟失,發(fā)出方會(huì)在超時(shí)
11、后重新傳輸最后一個(gè)未被確認(rèn)的數(shù)據(jù)包。通信的雙方都是數(shù)據(jù)的發(fā)出者與接收者,一方傳輸數(shù)據(jù)接收應(yīng)答,另一方發(fā)出應(yīng)答接收數(shù)據(jù)。大部分的錯(cuò)誤會(huì)導(dǎo)致連接中斷,錯(cuò)誤由一個(gè)錯(cuò)誤的數(shù)據(jù)包引起。這個(gè)包不會(huì)被確認(rèn),也不會(huì)被重新發(fā)送,因此另一方無法接收到。如果錯(cuò)誤包丟失,則使用超時(shí)機(jī)制。錯(cuò)誤主要是由下面三種情況引起的:不能滿足請(qǐng)求,收到的數(shù)據(jù)包內(nèi)容錯(cuò)誤,而這種錯(cuò)誤不能由延時(shí)或重發(fā)解釋,對(duì)需要資源的訪問丟失(如硬盤滿)。TFTP只在一種情況下不中斷連接,這種情況是源端口不正確,在這種情況下,指示錯(cuò)誤的包會(huì)被發(fā)送到源機(jī)。這個(gè)協(xié)議限制很多,這些都是為了實(shí)現(xiàn)起來比較方便而進(jìn)行的。初始連接時(shí)需要發(fā)出WRQ(請(qǐng)求寫入遠(yuǎn)程系統(tǒng))或
12、RRQ(請(qǐng)求讀取遠(yuǎn)程系統(tǒng)),收到一個(gè)確定應(yīng)答,一個(gè)確定可以寫出的包或應(yīng)該讀取的第一塊數(shù)據(jù)。通常確認(rèn)包包括要確認(rèn)的包的包號(hào),每個(gè)數(shù)據(jù)包都與一個(gè)塊號(hào)相對(duì)應(yīng),塊號(hào)從1開始而且是連續(xù)的。因此對(duì)于寫入請(qǐng)求的確定是一個(gè)比較特殊的情況,因此它的包的包號(hào)是0。如果收到的包是一個(gè)錯(cuò)誤的包,則這個(gè)請(qǐng)求被拒絕。創(chuàng)建連接時(shí),通信雙方隨機(jī)選擇一個(gè)TID,因?yàn)槭请S機(jī)選擇的,因此兩次選擇同一個(gè)ID的可能性就很小了。每個(gè)包包括兩個(gè)TID,發(fā)送者ID和接收者ID。這些ID用于在UDP通信時(shí)選擇端口,請(qǐng)求主機(jī)選擇ID的方法上面已經(jīng)說過了,在第一次請(qǐng)求的時(shí)候它會(huì)將請(qǐng)求發(fā)到TID 69,也就是服務(wù)器的69端口上。應(yīng)答時(shí),服務(wù)器使用一
13、個(gè)選擇好的TID作為源TID,并用上一個(gè)包中的TID作為目的ID進(jìn)行發(fā)送。這兩個(gè)被選擇的ID在隨后的通信中會(huì)被一直使用。TFTP協(xié)議的通信流程如下圖所示:4. 實(shí)驗(yàn)4.1實(shí)驗(yàn)環(huán)境本實(shí)驗(yàn)以虛擬機(jī)里的兩個(gè)32位windows XP系統(tǒng)作為TFTP服務(wù)器和TFTP客戶機(jī)。以Cisco TFTP Server搭建TFTP服務(wù)器和TFTP客戶端。該軟件的相關(guān)介紹如下:1、軟件簡介CISCO公司出品的 TFTP 服務(wù)器,常用于CISCO 路由器的IOS升級(jí)與備份工作。也可用于個(gè)人建立TFTP服務(wù)器,進(jìn)行文件傳輸。軟件中附帶了一個(gè)命令行方式的TFTP 客戶端,文件名為TFTP.EXE,用它可以測(cè)試你建立的T
14、FTP服務(wù)器。2、 已知問題當(dāng)多個(gè)客戶端同時(shí)訪問TFTP服務(wù)器,并且“選項(xiàng)”中的“顯示傳輸進(jìn)程”開啟后,會(huì)導(dǎo)致TFTP服務(wù)器掛掉。要避免此問題的發(fā)生,請(qǐng)將“選項(xiàng)”中的“顯示文件傳輸進(jìn)程”選項(xiàng)取消即可。3、 TFTP 客戶端用法TFTP -i -b blocksize -v -t timeout -s host GET | PUT source destination -i 以二進(jìn)制方式傳輸 -b 傳輸過程中使用的塊大小 (默認(rèn)為512字節(jié)). 8-65464 字節(jié) -v 傳輸過程中顯示詳細(xì)的信息 (冗余模式). -t 超時(shí) (默認(rèn)為10 秒).可以設(shè)置為1-255秒 -s 不使用 tsize
15、選項(xiàng) (默認(rèn)啟用). host 指定本地或遠(yuǎn)程主機(jī) GET 下載文件 PUT 傳文件 source 指定要傳輸?shù)奈募?destination 指定傳輸?shù)哪康牡乩簍ftp -i get 1.txt從 這個(gè)主機(jī)中下載1.txt這個(gè)文件到當(dāng)前目錄tftp -i put test.txt將本地當(dāng)前目錄中的test.txt 文件上傳到主機(jī)中服務(wù)器端根目錄如下圖所示:客戶端根目錄如下圖所示:服務(wù)器系統(tǒng)信息:客戶機(jī)系統(tǒng)信息:4.2實(shí)驗(yàn)說明實(shí)驗(yàn)過程在客戶機(jī)CMD命令行中進(jìn)行,因命令行中的文件路徑與文件名均不能包含空
16、格,故Cisco TFTP Server軟件的使用與軟件說明有所出入。實(shí)驗(yàn)過程中要保持服務(wù)器端軟件一直運(yùn)行。實(shí)驗(yàn)過程中在客戶端抓取數(shù)據(jù)包,并命名為“TFTPclient.pcapng”。4.3實(shí)驗(yàn)過程將客戶機(jī)C盤根目錄下的test1.txt上傳到TFTP服務(wù)器,將TFTP服務(wù)器根目錄下的test2.txt下載到客戶機(jī)。服務(wù)器端根目錄如下圖所示:客戶端待上傳文件:實(shí)驗(yàn)前服務(wù)器端軟件界面:實(shí)驗(yàn)過程(客戶端):實(shí)驗(yàn)后服務(wù)器端軟件界面:實(shí)驗(yàn)后服務(wù)器端根目錄:實(shí)驗(yàn)后客戶端下載的文件:4.4實(shí)驗(yàn)分析現(xiàn)對(duì)實(shí)驗(yàn)過程中在客戶端抓的包進(jìn)行簡單分析。實(shí)驗(yàn)整個(gè)過程共抓取56個(gè)數(shù)據(jù)包(實(shí)驗(yàn)過程未運(yùn)行其它軟件),將TFT
17、P包過濾出來,共有7個(gè),如下圖所示:實(shí)驗(yàn)第一條指令是,也就是將本地C盤根目錄下的test1.txt文件上傳到服務(wù)器。抓取的1號(hào)包如下圖:1號(hào)包為客戶端發(fā)給服務(wù)端的WRQ包,向TFTP服務(wù)器請(qǐng)求上傳文件test1.txt。2號(hào)包如下圖所示:服務(wù)器收到客戶端的上傳請(qǐng)求后向客戶端發(fā)送確認(rèn)包,同意客戶端上傳文件test1.txt。3號(hào)包如下圖所示:客戶端收到服務(wù)端發(fā)來的確認(rèn)包后,開始上傳文件,因上傳的文件較小,小于512字節(jié),故用一個(gè)DATA包就傳完數(shù)據(jù)。上傳的文件test1.txt的內(nèi)容如下圖:經(jīng)與3號(hào)包對(duì)比,test1.txt的內(nèi)容全被3號(hào)包包含。4號(hào)包如下圖所示:4號(hào)為客戶端上傳文件完成后服務(wù)端發(fā)給客戶端的確認(rèn)包,告知客戶端上傳的文件已收到,上傳結(jié)束。54號(hào)包如下圖所示:此包為指令發(fā)出后抓取的TFTP包,指令表示客戶端向服務(wù)端請(qǐng)求下載文件test2.txt。55號(hào)包如下圖所示:服務(wù)端收到客戶端的下載請(qǐng)求后馬上將客戶端請(qǐng)求的數(shù)據(jù)下傳至客戶端,并不對(duì)客戶端的身份進(jìn)行確認(rèn)。因傳送的文件較小,僅為92字節(jié),未超過512字節(jié),故用一個(gè)DATA包
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 代墊款合同標(biāo)準(zhǔn)文本
- 會(huì)議贊助合同范例
- 代人簽合同樣本
- 形式與政策教育
- lpr利率貸款合同標(biāo)準(zhǔn)文本
- 佛山新房購房合同標(biāo)準(zhǔn)文本
- 共同銷售合同標(biāo)準(zhǔn)文本
- 公務(wù)員簽勞動(dòng)合同標(biāo)準(zhǔn)文本
- 養(yǎng)殖用電安全合同標(biāo)準(zhǔn)文本
- 鄉(xiāng)村出租土地合同標(biāo)準(zhǔn)文本
- 常見業(yè)務(wù)場(chǎng)景網(wǎng)絡(luò)安全建設(shè)VISIO圖合集(27個(gè)類型)v2023
- 純堿生產(chǎn)工(初級(jí))考試題及答案
- 工程施工分包協(xié)議書
- 金融知識(shí)與服務(wù)考核試卷
- 消化系統(tǒng)(人體解剖生理學(xué))
- 臨床醫(yī)學(xué)科研設(shè)計(jì)的基本原則和設(shè)計(jì)要點(diǎn)
- 班組長的領(lǐng)導(dǎo)方式與技巧
- DL-T5190.1-2022電力建設(shè)施工技術(shù)規(guī)范第1部分:土建結(jié)構(gòu)工程
- TD/T 1044-2014 生產(chǎn)項(xiàng)目土地復(fù)墾驗(yàn)收規(guī)程(正式版)
- (高清版)JTGT 3331-07-2024 公路膨脹土路基設(shè)計(jì)與施工技術(shù)規(guī)范
- 基金會(huì)公益慈善項(xiàng)目管理辦法
評(píng)論
0/150
提交評(píng)論