在計算機網(wǎng)絡中,巨型幀(英語:jumbo frames),又稱大型幀,是指有效負載超過IEEE 802.3標準所限制的1500字節(jié)的以太網(wǎng)幀。通常來說,巨型幀可以攜帶最多9000字節(jié)的有效負載,但也存在變化,因此需要謹慎使用該術語。許多吉比特以太網(wǎng)交換機和吉比特以太網(wǎng)網(wǎng)卡可以支持巨型幀。部分Fast Ethernet交換機和Fast Ethernet網(wǎng)卡也支持巨型幀。大多數(shù)國家級研究和教育網(wǎng)絡(諸如Internet2、National LambdaRail、ESnet、GéANT和AARNet)支持巨型幀,但大多數(shù)商業(yè)性互聯(lián)網(wǎng)服務供應商則不支持。
巨型幀是幀長大于1522字節(jié)的以太網(wǎng)幀。這是一種廠商標準的超長幀格式,專門為千兆以太網(wǎng)而設計。巨型幀的長度各廠商有所不同,從9000字節(jié)~64000字節(jié)不等。采用巨型幀能夠令千兆以太網(wǎng)性能充分發(fā)揮,使數(shù)據(jù)傳輸效率提高50%~100%。在網(wǎng)絡存儲的應用環(huán)境中,巨型幀更具有非同尋常的意義。
每個接收到的以太網(wǎng)幀都需要網(wǎng)絡硬件和軟件處理。增加幀大小有助于用更少的努力傳遞更大量的數(shù)據(jù),降低CPU使用率(主要是減少中斷),以及通過減少需處理的幀來增加吞吐量和減少所發(fā)送幀的幀開銷總量。巨型幀最初是由Alteon WebSystems在其ACEnic吉比特以太網(wǎng)適配器中推出。其他許多廠商也采納了此大小。但是,巨型幀尚未成為官方的IEEE 802.3以太網(wǎng)標準的一部分。
巨型幀或9000字節(jié)有效負載幀可以減少開銷和CPU使用。最近的工作也證明了,巨型幀對端到端TCP性能有著積極作用。巨型幀的存在可能對網(wǎng)絡延遲有不利影響,尤其是在低帶寬鏈路上。端到端連接使用的幀大小通常受到中間鏈路中的最小幀大小限制。802.5 Token Ring可以使用4464字節(jié)的幀MTU,F(xiàn)DDI可以4352字節(jié),ATM可以9180字節(jié),以及802.11可以傳輸7935字節(jié)MTU。IEEE 802.3以太網(wǎng)標準僅規(guī)定支持1500字節(jié)的幀MTU,總計1518字節(jié)的幀大小(1522字節(jié)及可選的IEEE 802.1QVLAN/QoS標簽)。巨型幀所采用的9000字節(jié)有效負載大小來自Internet2聯(lián)合工程團隊與美國聯(lián)邦政府網(wǎng)絡的討論。他們的建議已被其他所有國家研究和教育網(wǎng)絡采納。為滿足這一強制性購買標準,制造商已將9000字節(jié)納入常規(guī)的MTU大小,使巨型幀尺寸至少有9018/9022字節(jié)(不含或包含IEEE 802.1Q字段)。大多數(shù)以太網(wǎng)設備可支持高達9216字節(jié)的巨型幀。
巨型幀在使用以太網(wǎng)幀中簡單的CRC32錯誤檢測時,更容易遭受未檢測到的錯誤——因為更多的數(shù)據(jù)增加了幾個錯誤互相抵消的概率。正因如此,已經(jīng)有較高網(wǎng)絡層上的額外機制被開發(fā)以改進錯誤檢測。IETF為巨型幀中避免數(shù)據(jù)完整性降低準備的解決方案是在SCTP傳輸(RFC 4960)和iSCSI(RFC 7143)中使用Castagnoli CRC polynomial。這個多項式的選擇基于論文“32-Bit Cyclic Redundancy Codes for Internet Applications”中記錄的成果。Castagnoli多項式0x1EDC6F41達到了漢明距離HD=6,在超過一個以太網(wǎng)MTU(16,360位數(shù)據(jù)字長)時,以及HD=4(114,663比特),當超過以太網(wǎng)MTU長度的9倍。相比以太網(wǎng)CRC標準的多項式,這為基于MTU大小的數(shù)據(jù)提供了額外兩個比特的錯誤檢測能力,而不犧牲在數(shù)據(jù)字長超過72kbits時的HD=4的能力。通過為UDP和TCP傳輸內(nèi)部使用CRC校驗和而非簡單的累加校驗和,發(fā)生在NIC內(nèi)部的錯誤也可以被檢測到。由于簡單求和時這些誤差往往會自我消除,TCP和UDP都已被證明在檢測總線特定比特錯誤上是無效的。在RFC 3309中完成的對真實數(shù)據(jù)注入模擬誤差并對比的測試顯示,這些錯誤有將近2%未被檢測到。采用巨型幀的主要障礙之一是,升級現(xiàn)有的以太網(wǎng)基礎設施以避免降低檢測錯誤的能力是困難的。在軟件中完成的CRC計算必定會慢于TCP和UDP中那種簡單的累加校驗和實現(xiàn)。為克服這種性能損失,NIC卸載SCTP校驗和計算是可能的,并且支持SSE4.2的CPU可以利用在向量數(shù)學指令集中擴展的CRC32指令。在設計處理數(shù)據(jù)塊的常規(guī)目的傳輸中,以及在設計攜帶SCSI數(shù)據(jù)的TCP傳輸中,支持Castagnoli CRC多項式都可以帶來更好的錯誤檢測,盡管使用增加以太網(wǎng)MTU的巨型幀會使錯誤檢測顯著減少。





