MTU概念深入講解.doc_第1頁(yè)
MTU概念深入講解.doc_第2頁(yè)
MTU概念深入講解.doc_第3頁(yè)
MTU概念深入講解.doc_第4頁(yè)
MTU概念深入講解.doc_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

MTU概念詳解1. 概述在IP數(shù)據(jù)在網(wǎng)絡(luò)上傳輸時(shí),會(huì)涉及到MTU這個(gè)概念。MTU,即最大傳輸單元(Maximum Transport Unit),這是一個(gè)數(shù)據(jù)鏈路層的概念,指數(shù)據(jù)鏈路層對(duì)數(shù)據(jù)幀長(zhǎng)度的限制。但是,MTU實(shí)際上限制的并非數(shù)據(jù)鏈路層數(shù)據(jù)幀的長(zhǎng)度,而是數(shù)據(jù)鏈路層幀的載荷(Payload)部分的長(zhǎng)度。以最常見(jiàn)的以太網(wǎng)為例,其幀格式如圖 1所示,MTU限定的是數(shù)據(jù)部分的長(zhǎng)度,根據(jù)RFC894(附后),對(duì)于以太網(wǎng)而言,MTU為1500 bytes,也即“數(shù)據(jù)(載荷)”部分的最大長(zhǎng)度為1500 bytes。圖 1 數(shù)據(jù)鏈路幀格式2. MTU詳解由于IP數(shù)據(jù)報(bào)在由IP層交由數(shù)據(jù)鏈路層傳輸時(shí),要將包括IP報(bào)頭和IP數(shù)據(jù)的內(nèi)容作為數(shù)據(jù)鏈路層的載荷封裝在數(shù)據(jù)鏈路幀中。因此,MTU實(shí)際上是限制了IP層中IP數(shù)據(jù)報(bào)的總長(zhǎng)度,當(dāng)IP數(shù)據(jù)報(bào)的總長(zhǎng)度超過(guò)MTU時(shí),即需要分片,若IP數(shù)據(jù)報(bào)頭中設(shè)置了“不可分片”,則該報(bào)文將被丟棄,并產(chǎn)生ICMP差錯(cuò)報(bào)告。圖 2 IP數(shù)據(jù)報(bào)分片演示圖 2演示了一個(gè)長(zhǎng)度為2000的IP數(shù)據(jù)報(bào)在經(jīng)過(guò)以太網(wǎng)傳輸時(shí)的分片情況,由于MTU限制為1500 bytes,在以太網(wǎng)中傳輸時(shí)將被拆分為兩個(gè)分片,每個(gè)分片包含首部的長(zhǎng)度不超過(guò)1500 bytes。3. 抓包分析在局域網(wǎng)中進(jìn)行抓包,采用如下命令:C: ping -l 2000 10.137.135.191由于指定的數(shù)據(jù)長(zhǎng)度超過(guò)了以太網(wǎng)MTU的限制,在傳輸中會(huì)發(fā)生分片。對(duì)第一個(gè)分片的抓包結(jié)果如圖 3所示。通過(guò)IP協(xié)議部分可見(jiàn),該IP數(shù)據(jù)報(bào)為一個(gè)分片,且不為第一分片(More Fragments位被設(shè)置),首部長(zhǎng)度20 bytes,總長(zhǎng)1500 bytes。這里發(fā)現(xiàn)抓包得到數(shù)據(jù)鏈路幀的長(zhǎng)度為1514 bytes,而非如圖 1所示的1526 bytes。分析其原因:數(shù)據(jù)幀在到達(dá)物理網(wǎng)卡時(shí),首先要去掉前導(dǎo)同步碼和幀開(kāi)始定界符,然后對(duì)幀進(jìn)行CRC校驗(yàn)。只有CRC校驗(yàn)正確,才會(huì)將幀送到“設(shè)備驅(qū)動(dòng)程序”進(jìn)行進(jìn)一步處理,此時(shí)抓包軟件才能抓到數(shù)據(jù),因此,Wireshark抓到的數(shù)據(jù)幀是去掉了前導(dǎo)同步碼字段、幀開(kāi)始定界符字段和幀校驗(yàn)和字段后的數(shù)據(jù),因此抓包得到的數(shù)據(jù)幀總長(zhǎng)為1514bytes。圖 3 指定長(zhǎng)度2000的數(shù)據(jù)報(bào)第一分片抓包結(jié)果進(jìn)一步,對(duì)第二個(gè)分片進(jìn)行分析,這個(gè)分片為ICMP包,其IP數(shù)據(jù)報(bào)長(zhǎng)度為548 bytes,這其中包括原2000bytes的數(shù)據(jù)中剩余的520 bytes(上一分片傳輸了1480 bytes),加上分片的首部20bytes,以及ICMP的首部8bytes,因此該分片的IP數(shù)據(jù)層長(zhǎng)度為20+8+520 = 548 bytes。該數(shù)據(jù)幀長(zhǎng)度為548+14 = 562 bytes。圖 4 指定長(zhǎng)度2000的數(shù)據(jù)報(bào)第二分片抓包結(jié)果同樣,我們還可通過(guò)抓包分析當(dāng)IP數(shù)據(jù)報(bào)長(zhǎng)度達(dá)不到最短幀長(zhǎng)時(shí)的情況。采用如下命令:C: ping -l 0 10.137.135.191這里我們指定發(fā)送了一個(gè)長(zhǎng)度為0的ICMP請(qǐng)求報(bào)文。首先分析由對(duì)端發(fā)回的reply報(bào)文,如圖 5所示。圖 5 指定長(zhǎng)度0的數(shù)據(jù)報(bào)reply報(bào)文抓包結(jié)果可以看到,IP數(shù)據(jù)報(bào)的長(zhǎng)度為28 bytes,包含了20 bytes IP首部和8 bytes ICMP協(xié)議首部,數(shù)據(jù)部分長(zhǎng)度為0。由于數(shù)據(jù)部分長(zhǎng)度達(dá)不到數(shù)據(jù)鏈路層數(shù)據(jù)幀的最小長(zhǎng)度(46 bytes),數(shù)據(jù)層對(duì)數(shù)據(jù)進(jìn)行了填充(圖中Trailer部分),最后的抓包得到的總幀長(zhǎng)為60 bytes(46 bytes數(shù)據(jù)和14 bytes數(shù)據(jù)鏈路幀首部)。圖 6 指定長(zhǎng)度0的數(shù)據(jù)報(bào)request報(bào)文抓包結(jié)果抓包得到的request報(bào)文如圖 6所示。從圖中可以看到,IP數(shù)據(jù)報(bào)長(zhǎng)度和reply報(bào)文相同,同樣為28 bytes,但是得到的幀長(zhǎng)僅為42 bytes,達(dá)不到數(shù)據(jù)鏈路幀的最小長(zhǎng)度。分析其原因,可以看到與圖 5的差別是沒(méi)有Trailer填充字段部分。這說(shuō)明了兩點(diǎn):1)當(dāng)IP數(shù)據(jù)報(bào)達(dá)不到數(shù)據(jù)鏈路層最小長(zhǎng)度要求時(shí),是由數(shù)據(jù)鏈路層進(jìn)行填充的;2)Wireshark對(duì)本機(jī)發(fā)出的數(shù)據(jù)抓包的處理權(quán)優(yōu)先于數(shù)據(jù)鏈路層對(duì)數(shù)據(jù)幀的處理。附:RFC894(已校對(duì))IP 數(shù)據(jù)報(bào)通過(guò)以太網(wǎng)網(wǎng)絡(luò)傳輸標(biāo)準(zhǔn)(A Standard for the Transmission of IP Datagrams over Ethernet Networks)1984年4月本RFC文檔描述了在以太網(wǎng)2中封裝IP數(shù)據(jù)進(jìn)行傳輸1的一種標(biāo)準(zhǔn)方法。本RFC文檔描述的是ARPA網(wǎng)絡(luò)社區(qū)的一種標(biāo)準(zhǔn)協(xié)議。1介紹本文適用于速率為10MB/S,采用48位地址的以太網(wǎng)。文獻(xiàn)3描述了IP數(shù)據(jù)報(bào)在一種速率3MB/S的試驗(yàn)以太網(wǎng)中傳輸?shù)倪^(guò)程。2幀格式IP數(shù)據(jù)報(bào)通過(guò)標(biāo)準(zhǔn)的以太網(wǎng)幀傳輸,以太網(wǎng)幀的幀類型字節(jié)數(shù)值必須為十六進(jìn)制的0800以表示它的類型。以太幀的數(shù)據(jù)部分包含了IP數(shù)據(jù)報(bào)的首部和數(shù)據(jù)部分。以太網(wǎng)幀數(shù)據(jù)字段要求的最小長(zhǎng)度為46個(gè)字節(jié),在必要時(shí)需要在數(shù)據(jù)字段以0進(jìn)行填充,填充的部分不屬于IP數(shù)據(jù)報(bào)的內(nèi)容,不計(jì)入IP數(shù)據(jù)報(bào)的總長(zhǎng)。以太網(wǎng)幀的數(shù)據(jù)字段的最大長(zhǎng)度為1500個(gè)字節(jié),因此,在以太網(wǎng)中傳輸?shù)腎P數(shù)據(jù)報(bào)的最大長(zhǎng)度不能超過(guò)1500字節(jié)。在實(shí)現(xiàn)中,推薦盡量使用最大長(zhǎng)度(1500字節(jié))的數(shù)據(jù)包。網(wǎng)關(guān)的設(shè)計(jì)也要求必須能夠處理最大長(zhǎng)度的數(shù)據(jù)包,并且可將超長(zhǎng)的數(shù)據(jù)包進(jìn)行分片。如果一個(gè)系統(tǒng)不能處理最大長(zhǎng)度的包,應(yīng)該采取措施,要求發(fā)送方減小發(fā)送數(shù)據(jù)包的長(zhǎng)度,例如使用TCP的最大段長(zhǎng)度4。注意:在以太網(wǎng)上的數(shù)據(jù)報(bào)可能不再是一般Internet上默認(rèn)的576字節(jié)的最大包長(zhǎng)。一個(gè)以太網(wǎng)上的主機(jī)在向另一個(gè)以太網(wǎng)上的主機(jī)發(fā)送數(shù)據(jù)報(bào)時(shí),應(yīng)注意到這一點(diǎn)。比較合適的方法是發(fā)送一個(gè)較小的數(shù)據(jù)報(bào)以避免在中間的網(wǎng)關(guān)處被分片。在這一點(diǎn)上,請(qǐng)參考文獻(xiàn)4以得到更多的信息。3地址映射32位的IP地址映射到48位的以太網(wǎng)地址有多種方式,可以使用靜態(tài)對(duì)照表或采用動(dòng)態(tài)解析。3.1 靜態(tài)對(duì)照表 在一個(gè)局域網(wǎng)里可以為每一個(gè)主機(jī)制定一個(gè)以太網(wǎng)地址和IP地址對(duì)應(yīng)的表格。3.2 動(dòng)態(tài)解析32位的IP地址和48位的以太網(wǎng)地址之間的映射可以通過(guò)ARP5(地址解析協(xié)議)來(lái)實(shí)現(xiàn)。IP地址在一些Internet網(wǎng)絡(luò)中被隨意的分配。每一個(gè)主機(jī)必須知道自己的IP地址以及對(duì)應(yīng)的以太網(wǎng)地址才能正常處理數(shù)據(jù)包。在必要時(shí),需要使用ARP協(xié)議將IP地址解析為對(duì)應(yīng)的以太網(wǎng)地址。3.3 廣播地址Internet上的廣播地址(主機(jī)地址為全1)映射為以太網(wǎng)廣播地址(48位全1,即16位地址FF-FF-FFFF -FF-FF)。強(qiáng)烈推薦使用ARP協(xié)議進(jìn)行動(dòng)態(tài)解析。4追蹤格式(Trailer Format)一些版本的Unix 4.2bsd為了在VAX虛擬內(nèi)存結(jié)構(gòu)下得到更好的性能,采用了一種不同的封裝方式。在同一以太網(wǎng)中的兼容系統(tǒng)可能使用這種格式。一般主機(jī)不要求去實(shí)現(xiàn)這種格式。除非發(fā)送方能夠肯定接受方可以

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論