• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • I P v 6的分段

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    IPv6的分段只能由源節點和目的節點進行,這樣就簡化了包頭并減少了用于選路的開銷。逐跳分段被認為是一種有害的方法。首先,它在端到端的分段中將產生更多的分段。此外在傳輸中,一個分段的丟失將導致所有分段重傳。IPv6的確可以通過其擴展頭來支持分段,但
    IPv6的分段只能由源節點和目的節點進行,這樣就簡化了包頭并減少了用于選路的開銷。逐跳分段被認為是一種有害的方法。首先,它在端到端的分段中將產生更多的分段。此外在傳輸中,一個分段的丟失將導致所有分段重傳。IPv6的確可以通過其擴展頭來支持分段,但是如下所述,了解IPv4分段如何工作將有助于了解IPv6中為什么要進行改變。

    在IPv4中,當一個沒有分段的包由于太長而無法沿著發送源到目的地的網絡鏈路進行傳輸時,就需要進行包的分段。舉例來說,一個源節點可以創建一個長度為1500字節的包,并把它向Inte.net上的某個遠端目的地發送。這個包通過源節點的本地以太網到達該節點的默認路由器。然后路由器通過其鏈路把數據發到Internet上,這條鏈路可能是到一個ISP的點到點連接。在Internet中的某處或離目的節點較近的某處,可能有條網絡鏈路無法處理這樣一大塊的數據。在這種情況下,使用該網絡鏈路的路由器將不得不把1500字節的數據報分割成許多不超過下一個網絡的最大傳輸單元(MTU)的分段。因此,如果假設下一個鏈路可以處理的包長度不能超過1280字節的話,路由器將把最初的一個包分割為兩個。第一個包的長度為1260字節,留下的20字節用于IPv4頭。第二段的長度就是剩余數據的長度,240字節,另外再用20字節作為另一個IPv4頭。

    IPv4中的分段由包沿途的中間路由器根據需要進行。進行分段的路由器根據需要修改包頭并在其中包含進最初的包的數據報標識,同時還將正確地設置分段標志和分段偏移值。當目的節點收到由此產生的分段包之后,該系統必須根據每個分段包的IPv4頭后的分段數據重組最初的包。

    在使用了分段之后,不論中間的網絡是什么類型,不同類型網絡上的節點都可以互操作,源節點無需了解任何有關目的節點網絡的信息,同時也無需了解它們之間的網絡信息。這一直被認為是一個不錯的特性,由于不需要節點或路由器存儲信息或記錄整個Internet的結構,從而Internet可以獲得很好的擴展性。但另一方面,它也為路由器帶來了性能方面的問題,對IP包進行分段消耗了沿途路由器和目的地的處理能力和時間。了解IP數據報標識、計算分段偏移值、真正把數據分段以及在目的地進行重裝都會帶來額外的開銷。

    問題在于對于任何一個指定的路由器,雖然源節點能夠了解鏈路的MTU是多大,但卻沒有辦法事先知道整個路徑的MTU。路徑MTU是源節點和目的節點之間在不分段時可以沿著該路由穿越任何網絡的最大包長。

    然而,目前有兩種方法可以減少或消除對于分段的需求。第一種方法可用在IPv4中,它使用一種叫做“路徑MTU發現”的方法。通過這種方法,路由器可以向目的地發送一個包來報告該路由器上鏈路的MTU值。如果包到達了一條必須對其進行分段的鏈路,負責分段的路由器將使用ICMP回送一個報文來指出分段路由器上鏈路的MTU值。這種過程可以重復進行直到路由器確定路徑MTU為止。

    另一種減少分段需求的方法是要求所有支持IP的鏈路必須能夠處理一些合理的最小長度的包。換句話說,如果一個鏈路的MTU超過20字節,那么所有的節點都必須準備產生可觀數量的分段包。另一方面,如果能夠提出所有網絡鏈路都可以適應的某個合理的長度,并把它設置為允許包長度的絕對最小值,那么就可以消滅分段。

    IPv6中實際上同時使用了上面兩種方法。在最初的RFC中,IPv6規定每個鏈路支持的MTU最小為576字節。那么這些包的凈荷長度將是536字節,另外40字節用于IPv6頭。由于RFC1883發表于1995年,后來產生了很多關于更大的MTU的爭論。在Huitema提出的報告(參見《IPv6:新的IP》第2版,Prentice-Hall)中,建議值為1997,SteveDeering則正在促使將MTU值改為1500字節。在最新的于1997年11月發表的Internet草案中,MTU值被設為1280字節。很明顯,關注的焦點在于:倡導較短MTU的人希望那些不能支持較長MTU的網絡不會被完全丟棄,而倡導較長MTU的人不希望為照顧小部分接近于廢棄的網絡而使得整個Internet的性能下降。

    為了對較短的MTU進行一些彌補,IPv6標準中強烈推薦所有IPv6節點都支持路徑MTU發現。路徑MTU發現最早出現在RFC1191中,其中使用了分段標志中的“不能分段”來要求中間路由器在發現包太長時返回一個ICMP出錯報文。

    路徑MTU發現的IPv6版本在RFC1981(IPv6的路徑MTU發現)中描述。這是對原有的RFC1191的升級,但其中加入了一些改變使之可以工作在IPv6中。其中最重要的是,由于IPv6頭中不支持分段,因此也就沒有“不能分段”位。正在執行路徑MTU發現的節點只是簡單地在自己的網絡鏈路上向目的地發送允許的最長包。如果一條中間鏈路無法處理該長度的包,嘗試轉發路徑MTU發現包的路由器將向源節點回送一個ICMPv6出錯報文。然后源節點將發送另一個較小的包。這個過程將一直重復,直到不再收到ICMPv6出錯報文為止,然后源節點就可以使用最新的MTU作為路徑MTU。

    這里需要注意,有一些實例并沒有實現路徑MTU發現。例如,使用最小IPv6實現來進行遠程網絡啟動的終端只是簡單地使用576字節的路徑MTU。從源節點到目的節點的IPv6分段,作為一個擴展頭來實現。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>