我正在開發一個項目,其中包括使用java套接字開發應用程序。但是在閱讀一些基本面和新即將其促使我問下面的問題IPv6的範例,從IPv6中刪除碎片有什麼好處?
什麼是IPv6之間刪除碎片的好處是什麼?
如果有人能讓我理解爲什麼會有幫助嗎?
我在互聯網上進行了研究,但還沒有找到任何有用的描述。
我正在開發一個項目,其中包括使用java套接字開發應用程序。但是在閱讀一些基本面和新即將其促使我問下面的問題IPv6的範例,從IPv6中刪除碎片有什麼好處?
什麼是IPv6之間刪除碎片的好處是什麼?
如果有人能讓我理解爲什麼會有幫助嗎?
我在互聯網上進行了研究,但還沒有找到任何有用的描述。
這是一種常見的錯誤理解,即存在否 IPv6分段,因爲IPv6報頭沒有IPv4所做的分段偏移字段;然而,這並不完全準確。 IPv6不允許路由器對數據包進行分段;然而,端節點可能會插入IPv6分段報頭。
由於RFC 5722聲明,碎片問題之一是它往往會產生安全漏洞。在二十世紀九十年代後期,在Windows 95上發生了幾次衆所周知的攻擊,它們利用重疊的IPv4片段;此外,由於需要處理的長長的問題列表,因此數據包的內聯碎片對於燒入因特網路由器芯片是有風險的。最大的問題之一是,如果處理不當,在路由器中緩衝的重疊片段(等待重新組裝)可能會在該設備上導致安全漏洞。最終的結果是大多數路由器實現將需要分段的數據包推送到軟件;這不會以很大的速度縮放。
的另一個問題是,如果你重新組裝的片段,你必須直到剩下接收緩衝區他們一段時間。有人可能利用這種動態併發送大量未完成的IP片段;迫使有問題的設備花費許多資源等待重新組裝的機會。智能實現限制未完成片段的數量以防止拒絕服務;然而,限制未完成的片段可以合法地影響可以重新組裝的有效片段的數量。
總之,只有太多的問題才能讓路由器處理碎片。如果IPv6數據包需要分段,主機實現應該足夠聰明以便使用TCP Path MTU discovery。這也意味着需要允許多個ICMPv6消息端對端;有趣的是,許多IPv4防火牆管理員阻止ICMP防範惡意網絡映射(然後天真地阻止所有ICMPv6),並沒有意識到阻止所有ICMPv6以微妙的方式破壞事物。
從RFC 5722: Handling of Overlapping IPv6 Fragments:
常用防火牆使用指定 該算法在[RFC1858]來除去嘗試 以覆蓋的惡意數據包爲了繞過入站連接檢查, 中傳輸層報頭的儀表部分。 [RFC1858] 通過推薦 防止上層協議(在這種情況下爲TCP)上的重疊片段攻擊,丟棄片段偏移量爲1的分組。
雖然這對於IPv4片段很適用,但對於IPv6片段它不會工作 。這是因爲IPv6數據包的可分片部分 可能包含擴展標頭,因此TCP標頭爲 ,這使得此檢查效果不佳。
參見RFC 4890: Recommendations for Filtering ICMPv6 Messages in Firewalls
我沒有「官方」的答案,而只是基於IPv6的閱讀如何處理太大的數據包,我的猜測是,以減少對路由器的負荷。碎片和重組會在路由器處開銷。 IPv6將這種負擔轉移到終端節點,並要求他們執行MTU發現以確定它們可以發送的最大數據報大小。理所當然的是,終端節點更適合這項任務,因爲它們處理的數據較少。實際上,路由器有足夠的盤子;強制節點處理它並允許路由器簡單地丟棄超過其MTU閾值的東西是有意義的。
理想的情況下,最終的結果將是路由器能夠處理IPv6的下一個更大的負載(所有的事情都是平等的)比他們的IPv4下過,因爲沒有片/組裝,他們不必擔心。該處理器能力可專用於路由流量。
「_Fragmentation和reassembly招致開銷在router_」爲什麼**路由器**處理重組? – curiousguy 2013-07-08 09:07:42
IPv4的具有576個字節的保證最小的MTU,IPv6是 1280個字節,並且建議是1500個字節,所不同的是基本上表現。由於大多數最終用戶LAN網段都是1,500字節,因此存儲狀態的網絡基礎架構開銷減少了,這是由於需要更小尺寸的有效傳統網絡造成額外的碎片。
對於UDP,在IPv4標準中沒有關於分片數據包重構的定義,這意味着每個平臺都可以以不同的方式處理它。 IPv6聲稱,碎片和彙編將始終發生在IP堆棧中,並且碎片將不會呈現給應用程序。
對不起,IPv6需要1500字節是不正確的。 [RFC 2460](http://www.faqs.org/rfcs/rfc2460.html)允許layer2 MTU低至1280字節,請參見第5節。 – 2011-06-06 17:26:55
爲什麼片段是TCP還是UDP? IPv4分段在IP層處理。 – 2011-06-06 17:29:33
@Mike數據報彙編不保證。許多消息傳遞中間件堆棧包括專用於重建時的代碼,當底層IP堆棧不能保證它時。 – 2011-06-06 17:33:11
+1,令人驚訝的是,當他們可以在硬件中完成所有任務時,路由器的速度能夠提高多少 – mpontillo 2011-06-06 17:33:47
阻止所有v4 ICMP同樣有害 - 需要分段的響應對IPv4中的PMTUD同樣重要。 – caf 2011-06-08 13:07:59