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

外部連結

編輯