新版思科ccie網絡工程師技術難點分析MTU和PMTU是什麼

新版思科ccie網絡工程師技術難點分析MTU和PMTU是什麼MTU(最大傳輸單元):

最大傳輸單元用來通知對方所能接受數據服務單元的最大尺寸,說明發送方能夠接受的有效載荷大小。

以太網和802.3對數據幀的長度都有一個限制,其最大值分別是1500字節和1492字節。鏈路層的這個特性稱爲MTU,即最大傳輸單元。不同類型網絡的數幀長度大多數都有一個上限。如果IP層有一個數據報要傳,而且數據幀的長度比鏈路層的MTU還大,那麼IP層就需要進行分片( fragmentation),即把數據報分成乾片,這樣每一片就都小於MTU。

數據鏈路不同,最大傳輸單元( Maximum transmission Unit,MTU)也不同,由於IP協議是數據鏈路的上一層,所以它必須不受數據鏈路的MTU大小的影響能夠加以利用。當IP數據報太大時,就要採用分片技術,以保證數據幀不大於要過的網絡的MTU。

IP協議除了具有路由尋址功能外,另一個重要的功能就是IP數據報的分片處理。每個數據鏈路層能夠確定發送的一個幀的最大長度稱爲最大傳輸單元。在Ethernet中,MTU爲1500字節;在FDDI中,MTU爲4352字節;在 IP over AMT中,MTU爲9180字節。 

如果要發送的IP數據報比數據鏈路層的MTU大,則無法發送該數據報。對於來自於上一層的IP協議,當要求發送的IP數據報比數據鏈路層的MTU大時,必把該數據報分割成多個IP數據報才能發送。另外,在進行通信的各臺主機之間,存在着MTU不同的數據鏈路;在發送的過程中,也有MTU縮小的情況發生。當出現上述情況時,在發送過程中必須有一臺能夠進行分片處理的路由器。 

接收端主機必須對經過分片處理後的IP數據報進行還原處理。在中繼路由器中,雖然路由器進行了分片處理,但並不進行還原處理。另外,經分片處理的IP數據報只有經過還原處理後才能還原成原來的IP數據報,纔可以向上一層的模塊傳遞數據。新版思科ccie網絡工程師技術難點分析MTU和PMTU是什麼

 

在IPv6協議之中,MTU又有了新的變化。前面學習的關於IPv6報文轉發相關知識的時候知道, IPv6報文在轉發的過程中是不進行分片操作的,當然也不進行分片報文的整合工作。IPv6報文僅在源節點進行分片,在目的節點進行組裝。那麼這會產生一個問題,源節點將報文到底分成多大的呢?很簡單,爲了所有的報文都能在路徑上暢通無阻,那麼分片的報文大小不能超過路徑上最小的MTU,也就是PMTU——路徑。MTURFC1981中定義了PMTU發現的機制,它是通過ICMPv6的Packet Too Big報文來完成的。首先源節點假設PMTU就是其出接口的MTU,發出報文,當轉發路徑上存在一個小於當前假設的PMTU時,就會向源節點發送Packet Too Big報文,並且攜帶自己的MTU值,此後源節點將PMTU的假設值更改爲新收到的MTU值。如此反覆,直到報文到達目的地之後,源節點就能知道到達某個目的地的PMTU了。假設源到目的要先後經過4條鏈路,鏈路地MTU分別是1500、1500、1400、1300,當源發送一個分片報文的時候,首先分成1500大小的片,當到達1400的出接口時,路由器就會返回PacketToo Big錯誤,同時攜帶1400的MTU值。源接收到之後就會重新分成1400大小的片,當到達1300的出接口時,同樣返回Packet Too Big錯誤,攜帶1300的MTU值。之後源重新分成1300的報文,最終到達目的地,這樣就找到了該路徑的PMTU。

我們需要注意的是,只有數據包超過路徑上的最小MTU時,PMTU發現機制纔有意義,如果報文很小,小於路徑上的最小MTU,就不可能產生Packet Too Big報文。由於IPv6要求鏈路層所支持的最小MTU爲1280,所以PMTU的值不會小於1280。而最大PMTU一般由鏈路層決定,如果鏈路層是一個隧道,那麼支持的PMTU可能會很大。

 

1、源端主機使用自己的MTU對報文進行分片,之後向目的主機發送報文。

2、中間轉發設備接收到該報文進行轉發時,如果發現轉發報文的接口支持的MTU值小於報文長度,則會丟棄報文,並給源端返回一個ICMPv6差錯報文,其中包含了轉發失敗的接口的MTU。

3、源主機收到該差錯報文後,將使用報文中所攜帶的MTU重新對報文進行分片併發送。

4、如此反覆,直到目的端主機收到這個報文,從而確定報文從源端到目的端路徑中的最小MTU。新版思科ccie網絡工程師技術難點分析MTU和PMTU是什麼

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章