計算機網絡中,巨型幀(英語:jumbo frames),又稱大型幀,是指有效負載超過IEEE 802.3標準所限制的1500字節的以太網幀[1]通常來說,巨型幀可以攜帶最多9000字節的有效負載,但也存在變化,因此需要謹慎使用該術語。許多吉比特以太網交換機和吉比特以太網網卡可以支持巨型幀。部分快速以太網交換機和Fast Ethernet網卡也支持巨型幀。[2]

開端

編輯

每個接收到的以太網幀都需要網絡硬件和軟件處理。增加幀大小有助於用更少的負載傳遞更大量的數據,降低CPU使用率(主要是減少中斷),以及通過減少需處理的幀來增加吞吐量和減少所發送幀的幀開銷總量。

巨型幀最初是由Alteon WebSystems英語Alteon WebSystems在其ACEnic吉比特以太網適配器中推出。其他許多廠商也採納了此大小。

採用

編輯

巨型幀或9000字節有效負載幀可以減少開銷和CPU使用。[3]最近的工作也證明了,巨型幀對端到端TCP性能有着積極作用。[4] 巨型幀的存在可能對網絡延遲有不利影響,尤其是在低帶寬鏈路上。端到端連接使用的幀大小通常受到中間鏈路中的最小幀大小限制。802.5 Token Ring 可以使用4464字節的幀MTUFDDI可以4352字節,ATM可以9180字節,以及802.11可以傳輸7935字節MTU。IEEE 802.3以太網標準僅規定支持1500字節的幀MTU,總計1518字節的幀大小(1522字節及可選的IEEE 802.1Q VLAN/QoS標籤)。

巨型幀所採用的9000字節有效負載大小來自Internet2聯合工程團隊與美國聯邦政府網絡的討論。他們的建議已被其他所有國家研究和教育網絡採納。為滿足這一強制性購買標準,製造商已將9000字節納入常規的MTU大小,使巨型幀尺寸至少有9018/9022字節(不含或包含IEEE 802.1Q 字段)。[來源請求]大多數以太網設備可支持高達9216字節的巨型幀。[5]

錯誤檢測

編輯

巨型幀在使用以太網幀中簡單的CRC32錯誤檢測時,更容易遭受未檢測到的錯誤——因為更多的數據增加了幾個錯誤互相抵消的概率。正因如此,已經有較高網絡層上的額外機制被開發以改進錯誤檢測。

IETF為巨型幀中避免數據完整性降低準備的解決方案是在SCTP傳輸(RFC 4960)和iSCSI(RFC 7143)中使用Castagnoli CRC polynomial。這個多項式的選擇基於論文「32-Bit Cyclic Redundancy Codes for Internet Applications」中記錄的成果。[6]Castagnoli多項式0x1EDC6F41達到了漢明距離HD=6,在超過一個以太網MTU(16,360位元數據字長)時,以及HD=4(114,663位元),當超過以太網MTU長度的9倍。相比以太網CRC標準的多項式,這為基於MTU大小的數據提供了額外兩個比特的錯誤檢測能力,而不犧牲在數據字長超過72kbits時的HD=4的能力。

通過為UDP和TCP傳輸內部使用CRC校驗和而非簡單的累加校驗和,發生在NIC內部的錯誤也可以被檢測到。由於簡單求和時這些誤差往往會自我消除,TCP和UDP都已被證明在檢測總線特定比特錯誤上是無效的。在RFC 3309中完成的對真實數據注入模擬誤差並對比的測試顯示,這些錯誤有將近2%未被檢測到。

採用巨型幀的主要障礙之一是,升級現有的以太網基礎設施以避免降低檢測錯誤的能力是困難的。在軟件中完成的CRC計算必定會慢於TCP和UDP中那種簡單的累加校驗和實現。為克服這種性能損失,NIC卸載SCTP校驗和計算是可能的,並且支持SSE4.2的CPU可以利用在向量數學指令集中擴展的CRC32指令。

在設計處理數據塊的常規目的傳輸中,以及在設計攜帶SCSI數據的TCP傳輸中,支持Castagnoli CRC多項式都可以帶來更好的錯誤檢測,儘管使用增加以太網MTU的巨型幀會使錯誤檢測顯著減少。

配置

編輯

部分廠商在大小設置時包括頭的大小,而部分廠商則不是。這即是最大幀大小(包括幀頭)與最大傳輸單元/MTU (不包括幀頭=最大的第三層包大小)。因此您可能會發現,必須在不同廠商的設備中配置不同的值,以使其設置匹配。[來源請求]在網絡上同時存在配置為巨型幀的設備與未配置為巨型幀的設備可能導致網絡性能問題。[7]

帶寬效率

編輯

巨型幀可以減少開銷以略微提升以太網效率,例如在IPv4上的TCP:[來源請求]

幀類型 MTU 第一層開銷 第二層開銷 第三層開銷 第四層開銷 有效負載大小 總計傳輸[8] 效率[9]
標準 1500 preamble英語Syncword

8字節

IPG英語Interpacket gap

12字節

幀頭

14字節

FCS

4字節

IPv4頭

20字節

TCP頭

20字節

1460字節 1538字節 94.93%
Jumbo 9000 preamble

8字節

IPG

12字節

幀頭

14字節

FCS

4字節

IPv4頭

20字節

TCP頭

20字節

8960字節 9038字節 99.14%
其他幀大小供參考
IEEE 802.11[10][11] 7935 PLCP前導和頭

24字節

IPG

varies

幀頭和安全ovhd

52字節

FCS

4字節

IPv4頭

20字節

TCP頭

20字節

7895字節 8015 + IPG大小字節 < 98.5%

小巨型幀

編輯

小巨型幀(Baby giant或baby jumbo frames;也稱小巨人幀)是只比IEEE以太網標準所限定的體積稍大的以太網幀。[2]小巨型幀是為使IP/MPLS能通過以太網幀直接傳輸到以太網服務而準備。大多數實現要求將非巨型的用戶幀封裝為MPLS幀格式以使其可以被封裝成適當的以太網幀格式(以太類型值為0x8847和0x8848)。[12]額外的MPLS和以太網頭開銷意味着支持1600字節的幀是運營商以太網英語Carrier Ethernet網絡中的一項強制性要求。[13]

超巨型幀

編輯

超巨型幀Super jumbo frames,簡稱SJF)通常被認為是有效負載大小超過9000字節的幀。

部分過時

編輯

通過使CPU負載與幀大小無關,大段卸載(LSO)已經消除了巨型幀設計目的中的減少分組開銷。[14]大接收卸載英語Large receive offload(LRO)——接收方的大段卸載,並不能完全消除每個分組導致的CPU開銷,因此巨型幀對保證入站流量仍然有益。[來源請求]從帶寬的角度來說,巨型幀仍然有用,因為它減少了非數據的帶寬開銷量。

參見

編輯

參考資料

編輯
  1. ^ Ethernet Jumbo Frames. Ethernet Alliance. 2009-11-12 [2015-06-18]. (原始內容存檔於2019-02-06). 
  2. ^ 2.0 2.1 Jumbo/Giant Frame Support on Catalyst Switches Configuration Example. Cisco. [2011-08-22]. (原始內容存檔於2014-01-11). Catalyst 3750/3560 Series switches support an MTU of 1998 bytes for all 10/100 interfaces 
  3. ^ Foong, A; H. Hum; J. Patwardhan; G. Regnier. TCP Performance Re-visited. In IEEE International Symposium on Performance of Systems and Software. 2003.  Authors list列表缺少|last2= (幫助)
  4. ^ Large MTUs and internet performance. 13th IEEE Conference on High Performance Switching and Routing (HPSR 2012). 2012. 
  5. ^ Scott Hogg, Jumbo Frames, Network World, 2013-03-06 [2013-08-05], (原始內容存檔於2013-12-19), Most network devices support a jumbo frame size of 9216 bytes. 
  6. ^ "32-Bit Cyclic Redundancy Codes for Internet Applications"頁面存檔備份,存於網際網路檔案館) by Philip Koopman, ECE Department & ICES, Carnegie Mellon University
  7. ^ What is the Jumbo Frame Supported by Switches and Adapters?. Netgear. [2013-08-05]. 
  8. ^ 總計傳輸大小是有效負載大小+所有開銷大小的總和。
  9. ^ 效率是有效負載大小除以總傳輸大小。
  10. ^ Philip. Wireless Network Speed Tweaks. speedguide.net. October 20, 2016 [October 20, 2016]. (原始內容存檔於2021-02-24). 
  11. ^ IEEE 802.11-2012 8.2.3 General frame format
  12. ^ RFC-3032, MPLS Label Stack Encoding
  13. ^ Ceragon, Jumbo Frames: The Microwave Perspective, Technical brief 網際網路檔案館存檔,存檔日期2012-09-15.
  14. ^ Coding Relic: Requiem for Jumbo Frames. 2011-12-07 [2011-12-07]. (原始內容存檔於2012-01-10). 

外部連結

編輯