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