国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號

TFTP協(xié)議簡介
2008-04-22   中國協(xié)議分析網(wǎng)

1. 目的

TFTP是一個傳輸文件的簡單協(xié)議,它其于UDP協(xié)議而實現(xiàn),但是我們也不能確定有些TFTP協(xié)議是基于其它傳輸協(xié)議完成的。此協(xié)議設計的時候是進行小文件傳輸?shù)摹R虼怂痪邆渫ǔ5腇TP的許多功能,它只能從文件服務器上獲得或?qū)懭胛募荒芰谐瞿夸洠贿M行認證,它傳輸8位數(shù)據(jù)。傳輸中有三種模式:netascii,這是8位的ASCII碼形式,另一種是octet,這是8位源數(shù)據(jù)類型;最后一種mail已經(jīng)不再支持,它將返回的數(shù)據(jù)直接返回給用戶而不是保存為文件。

2. 概況

任何傳輸起自一個讀取或?qū)懭胛募恼埱螅@個請求也是連接請求。如果服務器批準此請求,則服務器打開連接,數(shù)據(jù)以定長512字節(jié)傳輸。每個數(shù)據(jù)包包括一塊數(shù)據(jù),服務器發(fā)出下一個數(shù)據(jù)包以前必須得到客戶對上一個數(shù)據(jù)包的確認。如果一個數(shù)據(jù)包的大小小于512字節(jié),則表示傳輸結(jié)構(gòu)。如果數(shù)據(jù)包在傳輸過程中丟失,發(fā)出方會在超時后重新傳輸最后一個未被確認的數(shù)據(jù)包。通信的雙方都是數(shù)據(jù)的發(fā)出者與接收者,一方傳輸數(shù)據(jù)接收應答,另一方發(fā)出應答接收數(shù)據(jù)。大部分的錯誤會導致連接中斷,錯誤由一個錯誤的數(shù)據(jù)包引起。這個包不會被確認,也不會被重新發(fā)送,因此另一方無法接收到。如果錯誤包丟失,則使用超時機制。錯誤主要是由下面三種情況引起的:不能滿足請求,收到的數(shù)據(jù)包內(nèi)容錯誤,而這種錯誤不能由延時或重發(fā)解釋,對需要資源的訪問丟失(如硬盤滿)。TFTP只在一種情況下不中斷連接,這種情況是源端口不正確,在這種情況下,指示錯誤的包會被發(fā)送到源機。這個協(xié)議限制很多,這是都是為了實現(xiàn)起來比較方便而進行的。

3. 與其它協(xié)議的聯(lián)系

因為TFTP使用UDP,而UDP使用IP,IP可以還使用其它本地通信方法。因此一個TFTP包中會有以下幾段:本地媒介頭,IP頭,數(shù)據(jù)報頭,TFTP頭,剩下的就是TFTP數(shù)據(jù)了。TFTP在IP頭中不指定任何數(shù)據(jù),但是它使用UDP中的源和目標端口以及包長度域。由TFTP使用的包標記(TID)在這里被用做端口,因此TID必須介于0到65,535之間。對它的初始化我們在后面討論。TFTP頭中包括兩上字節(jié)的操作碼,這個碼指出了包的類型下面我們看看大體上的TFTP包格式,相關(guān)的內(nèi)容我們在后面的章節(jié)中進行討論。

---------------------------------------------------
| Local Medium | Internet | Datagram | TFTP |
---------------------------------------------------
圖3-1: 包頭次序

4. 初始連接

初始連接時候需要發(fā)出WRQ(請求寫入遠程系統(tǒng))或RRQ(請求讀取遠程系統(tǒng)),收到一個確定應答,一個確定可以寫出的包或應該讀取的第一塊數(shù)據(jù)。通常確認包包括要確認的包的包號,每個數(shù)據(jù)包都與一個塊號相對應,塊號從1開始而且是連續(xù)的。因此對于寫入請求的確定是一個比較特殊的情況,因此它的包的包號是0。如果收到的包是一個錯誤的包,則這個請求被拒絕。創(chuàng)建連接時,通信雙方隨機選擇一個TID,因此是隨機選擇的,因此兩次選擇同一個ID的可能性就很小了。每個包包括兩個TID,發(fā)送者ID和接收者ID。這些ID用于在UDP通信時選擇端口,請求主機選擇ID的方法上面已經(jīng)說過了,在第一次請求的時候它會將請求發(fā)到TID 69,也就是服務器的69端口上。應答時,服務器使用一個選擇好的TID作為源TID,并用上一個包中的TID作為目的ID進行發(fā)送。這兩個被選擇的ID在隨后的通信中會被一直使用。下例是一個寫入的例子,其中WRQ,ACK和DATA代表寫入請求,確認和數(shù)據(jù)。

1. 主機A向主機B發(fā)出WRQ,其中端口為69
2. B機向A機發(fā)出ACK,塊號為0,包括B和A的TID

此時連接建立,第一個數(shù)據(jù)包以序列號1從主機開始發(fā)出。以后兩臺主機要保證以開始時確定的TID進行通信。如果源ID與原來確定的ID不一樣,這個包會被認識為發(fā)送到了錯誤的地址而被拋棄。錯誤的包是被發(fā)送到正確端口的,但是包本身有錯誤。設想發(fā)送方發(fā)出一個請求,這個請求在網(wǎng)絡的那個設備中被復制成兩個包,接收方先后接收到兩個包。接收方會認為為這是兩個獨立的請求,會返回兩個應答。當這兩個應答其中之一被接收到時,連接已經(jīng)建立。第二個應答再到達時,這個包會被拋棄,而不會因為接收到第二個應答包而導致第一個建立的連接失敗。

5. TFTP包

TFTP支持五種類型的包,我們在以上已經(jīng)說明這五種類型的包:

opcode operation
1 Read request (RRQ)
2 Write request (WRQ)
3 Data (DATA)
4 Acknowledgment (ACK)
5 Error (ERROR)

包頭中包括了這個包所指定的操作碼。


2 bytes string 1 byte string 1 byte
------------------------------------------------
| Opcode | Filename | 0 | Mode | 0 |
------------------------------------------------

Figure 5-1: RRQ/WRQ包

RRQ和WRQ包(代碼分別為1和2)的格式如上所示。文件名是NETASCII碼字符,以0結(jié)束。 而MODE域包括了字符串"netascii","octet"或"mail",名稱不分大小寫。接收到NETASCII格式數(shù)據(jù)的主機必須將數(shù)據(jù)轉(zhuǎn)換為本地格式。OCTET模式用于傳輸文件,這種文件在源機上以8位格式存儲。假設每個機器都存在一個8位的格式,這樣的假設是最一般的。比如DEC-20,這是一種36位機,我們可以假設它是4個8位外加另外4位而構(gòu)成。如果機器收到OCTET格式文件,返回時必須與原來文件完全一樣。在使用MAIL模式時,用戶可以在FILE處使用接收人地址,這個地址可以是用戶名或用戶名@主機的形式,如果是后一種形式,允許主機使用電子郵件傳輸此文件。如果使用MAIL類型,包必須以WRQ開始,否則它與NETASCII完全一樣。我們的討論建立在發(fā)送方和接收方都在相同模式的情況下,但是雙方可以以不同的模式進行傳輸。例如一個機器可以是一臺存儲服務器,這樣一臺服務器需要將NETASCII格式轉(zhuǎn)換為自己的格式。另外,我們可以設想DEC-20這種機器,它使用36位字長,用戶這邊可以使用特殊的機制一次讀取36位,而服務器卻可以仍然使用8位格式。在這兩種情況下,我們看到了兩臺機器使用不同格式的情況。可以在兩臺主機間定義其它的傳輸方式,但是定義要小心,因為這種傳輸方式不為人知,而且也沒有權(quán)威機構(gòu)為其指定名稱或定義它的模式。

2 bytes 2 bytes n bytes
----------------------------------
| Opcode | Block # | Data |
----------------------------------
Figure 5-2: DATA包

數(shù)據(jù)在數(shù)據(jù)包中傳輸,其格式如上圖所示。數(shù)據(jù)包的OP碼為3,它還包括有一個數(shù)據(jù)塊號和數(shù)據(jù)。數(shù)據(jù)塊號域從1開始編碼,每個數(shù)據(jù)塊加1,這樣接收方可以確定這個包是新數(shù)據(jù)還是已經(jīng)接收過的數(shù)據(jù)。數(shù)據(jù)域從0字節(jié)到512字節(jié)。如果數(shù)據(jù)域是512字節(jié)則它不是最后一個包,如果小于512字節(jié)則表示這個包是最后一個包。除了ACK和用于中斷的包外,其它的包均得到確認。發(fā)出新的數(shù)據(jù)包等于確認上次的包。WRQ和DATA包由ACK或ERROR數(shù)據(jù)包確認,而RRQ數(shù)據(jù)包由DATA或ERROR數(shù)據(jù)包確認。下圖即是一個ACK包,操作碼為4。其中的包號為要確認的數(shù)據(jù)包的包號。

2 bytes 2 bytes
---------------------
| Opcode | Block # |
---------------------
Figure 5-3: ACK包

WRQ數(shù)據(jù)包被ACK數(shù)據(jù)包確認,WRQ數(shù)據(jù)包的包號為0。

2 bytes 2 bytes string 1 byte
-----------------------------------------
| Opcode | ErrorCode | ErrMsg | 0 |
-----------------------------------------
Figure 5-4: ERROR包

一個ERROR包,它的操作碼是5,它的格式如上所示。此包可以被其它任何類型的包確認。錯誤碼指定錯誤的類型。錯誤的值和錯誤的意義在附錄中。錯誤信息是供程序員使用的。

6. 正常終止

傳輸?shù)慕Y(jié)束由DATA數(shù)據(jù)標記,其包括0-511個字符。這個包可以被其它數(shù)據(jù)包確認。接收方在發(fā)出對最后數(shù)據(jù)包的確認后可以斷開連接,當然,適當?shù)牡却潜容^好的,如果最后的確定包丟失可以再次傳輸。如果發(fā)出確認后仍然收到最后數(shù)據(jù)包,可以確定最后的確認丟失。發(fā)送最后一個DATA包的主機必須等待對此包的確認或超時。如果響應是ACK,傳輸完成。如果發(fā)送方超時并不準備重新發(fā)送并且接收方有問題或網(wǎng)絡有問題時,發(fā)送也正常結(jié)束。當然實現(xiàn)時也可以是非正常結(jié)束,但無論如何連接都將被關(guān)閉。

7. 早終結(jié)

如果請求不能被滿足,或者在傳輸中發(fā)生錯誤,需要發(fā)送ERROR包。這僅是一種傳輸友好的方式,這種包不會被確認也不會被重新傳輸,因此這種包可能永遠不會被接收到。因此需要用超時來偵測錯誤。

I. 附錄

包頭的次序

2 bytes
----------------------------------------------------------
| Local Medium | Internet | Datagram | TFTP Opcode |
----------------------------------------------------------

TFTP格式

Type Op # 沒有包頭的格式

2 bytes string 1 byte string 1 byte
-----------------------------------------------
RRQ/ | 01/02 | Filename | 0 | Mode | 0 |
WRQ -----------------------------------------------

2 bytes 2 bytes n bytes
---------------------------------
DATA | 03 | Block # | Data |
---------------------------------

2 bytes 2 bytes
-------------------
ACK | 04 | Block # |
--------------------

2 bytes 2 bytes string 1 byte
----------------------------------------
ERROR | 05 | ErrorCode | ErrMsg | 0 |
----------------------------------------

讀文件的初始連接

1. 主機A發(fā)RRQ到A,包括源=A的ID和目的=69
2. 主機B發(fā)送DATA,其中包號=1,這個包被傳送到A,源=B的ID,目的=A的ID

錯誤碼

Value Meaning

0 未定義,請參閱錯誤信息(如果提示這種信息的話)
1 文件未找到
2 訪問非法
3 磁盤滿或超過分配的配額
4 非法的TFTP操作
5 未知的傳輸ID
6 文件已經(jīng)存在
7 沒有類似的用戶

Internet用戶數(shù)據(jù)報頭

(TFTP不一定非要在UDP上實現(xiàn)。)

Format

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

域的值

Source Port 由傳輸發(fā)起方選擇
Dest. Port 由目的地選擇(如果是RRQ或WRQ,其值為69)
Length 包括UDP包頭的包長度
Checksum 校驗碼,如果是0,則未使用校驗

注意:TFTP將傳輸標記TID傳送給UDP作為源和目的端口

安全問題

因為TFTP沒有安全控制機制,因此安全問題應該多加考慮。通常TFTP允許下載數(shù)據(jù)而不允許上傳數(shù)據(jù)。

熱詞搜索:

上一篇:創(chuàng)建一個TFTP服務器
下一篇:DNS的名稱記錄

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
成人av在线网| 国产精品自拍在线| 成人一道本在线| 欧美国产日产图区| 不卡一区在线观看| 一区二区在线观看免费视频播放 | 欧美mv日韩mv国产| 免费观看在线色综合| 精品久久免费看| 成人av资源在线| 亚洲天堂2016| 日韩免费高清av| 99视频热这里只有精品免费| 视频在线观看一区| 欧美国产精品v| 欧美久久久久中文字幕| 成人精品鲁一区一区二区| 日韩影视精彩在线| 亚洲欧美在线高清| 欧美哺乳videos| 欧美性感一类影片在线播放| 国产成人一区二区精品非洲| 亚洲成人一区在线| 国产喷白浆一区二区三区| 在线亚洲人成电影网站色www| 久草精品在线观看| 亚洲国产成人porn| 中文字幕一区三区| 久久蜜桃av一区二区天堂| 精品视频一区二区不卡| 成人一区在线观看| 久久激情五月婷婷| 三级一区在线视频先锋| 亚洲欧美另类小说| 国产精品嫩草影院av蜜臀| 欧美成人精品高清在线播放| 欧美日韩国产一级二级| 91麻豆国产自产在线观看| 国产精品自在在线| 国产一区二区三区免费在线观看| 亚洲无线码一区二区三区| 国产精品久久久久久久久快鸭 | 欧美国产一区视频在线观看| 在线不卡a资源高清| 欧美中文字幕一区二区三区 | 另类小说一区二区三区| 一区二区三区日本| 国产精品成人免费| 中文无字幕一区二区三区| 久久综合国产精品| 精品成人a区在线观看| 欧美一级精品大片| 日韩视频一区二区在线观看| 欧美精品v国产精品v日韩精品| 91黄色激情网站| 欧美性xxxxx极品少妇| 欧美三级电影一区| 69精品人人人人| 日韩一区二区精品葵司在线| 日韩欧美在线网站| 久久精品亚洲精品国产欧美| 国产欧美一区二区精品仙草咪| 亚洲国产成人在线| 亚洲精品日产精品乱码不卡| 一区二区三区精品视频在线| 午夜视频在线观看一区二区 | 最新日韩av在线| 综合在线观看色| 亚洲第一福利一区| 久久99精品久久久久久| 成人精品免费视频| av在线不卡免费看| 欧美日韩亚洲丝袜制服| 欧美xxxx老人做受| 中文字幕制服丝袜成人av| 国产成人三级在线观看| 亚洲国产成人私人影院tom | 精品三级在线观看| 中文字幕亚洲一区二区av在线| 日韩欧美成人一区| 亚洲欧美经典视频| 久久66热re国产| 在线播放欧美女士性生活| 精品国产乱码久久久久久浪潮| 日韩一区中文字幕| 国产成人夜色高潮福利影视| 亚洲国产视频直播| 亚洲成a人v欧美综合天堂| 国产99精品国产| 精品蜜桃在线看| 一区二区三区资源| 奇米影视一区二区三区| 色哟哟精品一区| 精品福利一区二区三区免费视频| 香蕉久久夜色精品国产使用方法| 国产精品白丝av| 精品sm在线观看| 亚洲免费av网站| 亚洲午夜视频在线| 国产在线精品视频| 欧美色偷偷大香| 国产精品色哟哟网站| 日韩不卡免费视频| 国产在线一区观看| 久久国产生活片100| 亚洲欧美电影一区二区| 亚洲情趣在线观看| 亚洲一区二区三区在线| 亚洲精品伦理在线| 久久99精品久久久久| 欧美性色综合网| 国产精品人妖ts系列视频| 免费黄网站欧美| 欧美手机在线视频| 亚洲毛片av在线| 9色porny自拍视频一区二区| 精品国精品国产尤物美女| 日韩国产欧美在线视频| 欧美三区在线观看| 亚洲精品午夜久久久| 99re视频精品| 17c精品麻豆一区二区免费| 国产激情91久久精品导航 | 欧美放荡的少妇| 亚洲国产综合91精品麻豆| 日本二三区不卡| 一区二区欧美视频| 欧美日韩一区二区在线观看| 一区二区免费在线| 欧美美女一区二区| 美女网站色91| 久久只精品国产| 国产成人免费在线观看不卡| 中文字幕免费在线观看视频一区| 久久久久久9999| 亚洲综合色视频| 国产精品盗摄一区二区三区| 成人app软件下载大全免费| 国产精品毛片久久久久久久| 99re在线精品| 亚洲伊人色欲综合网| 欧美久久久久中文字幕| 久久福利资源站| 国产欧美一区二区三区鸳鸯浴| 粉嫩高潮美女一区二区三区| 亚洲同性gay激情无套| 在线观看日韩国产| 免费的成人av| 国产精品免费视频观看| 91成人免费电影| 美女爽到高潮91| 久久久久久久久久久黄色| 99综合电影在线视频| 亚洲一区二区美女| 久久久三级国产网站| 色呦呦日韩精品| 黄页网站大全一区二区| 中文字幕中文字幕一区| 91精品国产91热久久久做人人| 国产精品亚洲专一区二区三区| 欧美国产成人在线| 91麻豆精品国产91久久久更新时间| 国产中文一区二区三区| 亚洲男同性恋视频| 日韩欧美高清一区| 99久久久久久| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲精品v日韩精品| 精品久久久久久久久久久久久久久| 粉嫩一区二区三区性色av| 午夜久久电影网| 国产精品久久久久久亚洲伦 | www.亚洲激情.com| 精品少妇一区二区三区| 色狠狠av一区二区三区| 开心九九激情九九欧美日韩精美视频电影| 精品电影一区二区三区| 欧美精品vⅰdeose4hd| 91在线无精精品入口| 激情五月婷婷综合网| 亚洲一区在线电影| 国产精品传媒入口麻豆| 久久久一区二区三区捆绑**| 欧美伦理电影网| 91精品办公室少妇高潮对白| 国产成人综合视频| 精品影院一区二区久久久| 亚洲不卡在线观看| 一区二区三区在线视频免费观看 | 亚洲精品一区二区三区影院 | 亚洲精品成人精品456| 国产目拍亚洲精品99久久精品| 4438x成人网最大色成网站| 色婷婷久久久久swag精品| 不卡视频一二三四| 国产99久久久国产精品潘金 | 中文字幕欧美日本乱码一线二线| 日韩精品在线一区| 欧美一区二区三区四区久久 | 欧美一区二区视频网站|