巨型訊框

電腦網路中,巨型訊框(英語: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). 

外部連結