ジャンボフレーム

ウィキペディアから無料の百科事典

コンピュータネットワークにおいて、ジャンボフレーム英語: jumbo frame)とは、IEEE 802.3規格で規定されている、1500バイト以上のペイロードを持つイーサネットフレームのことである[1]。一般的には、ジャンボフレームは最大9000バイトのペイロードを持つことができるが、これより小さいものや大きいものも存在するため、この用語の使用には注意が必要である。

ギガビット・イーサネットに対応するスイッチングハブネットワークカードの多くがジャンボフレームに対応している。ギガビット・イーサネット非対応のネットワーク機器の中にも、ジャンボフレームに対応するものがある[2]

発端[編集]

イーサネットフレームは、ネットワークを通過するたびに処理する必要がある。ある内容を伝送する場合、小さなフレームに分割して処理するよりも、1つの大きなフレームに入れて処理する方が、割り込みを減らして利用可能なCPU時間を有効に活用できるため、より好ましい[3]。これは、1枚ずつ封筒に入れて郵送するのではなく、複数枚の紙をまとめて1つの封筒に入れて郵送することで、封筒を節約し、仕分けの時間を短縮することに似ている。

ジャンボフレームは、1998年にアルテオン・ウェブシステムズ英語版社が同社のギガビットイーサネットアダプタ"ACEnic"に搭載したことで注目を集めた[4]。その後、他の多くのベンダーもアルテオン社と同じパケットサイズを採用したが、ジャンボフレームはイーサネットの公式規格であるIEEE 802.3には含まれていなかった。

採択[編集]

ジャンボフレームは、オーバーヘッドとCPUサイクルを削減する可能性があり[5]、エンド・ツー・エンドのTCPパフォーマンスに良い効果をもたらす[6]。ただし、ジャンボフレームの存在は、特に低帯域幅のリンクにおいて、ネットワークのレイテンシに悪影響を及ぼす可能性がある。エンド・ツー・エンドの接続で使用可能なフレームサイズは、通常、通過経路のリンクの中の最低のフレームサイズによって制限される。トークンリングは4464バイト、FDDI は4352バイト、ATMは9180バイト、IEEE 802.11は7935バイトのMTUのフレームに対応している。IEEE 802.3イーサネット規格では、当初、MTUが1500バイト、総フレームサイズが1518バイト(オプションのIEEE 802.1Q VLAN/QoSタグを含めると1522バイト)に対応することが義務付けられていた。IEEE 802.3asのアップデートでは、複数の共通ヘッダ、トレーラ、カプセル化を引き継いで、最大482バイトのヘッダとトレーラを含むことができる「エンベロープ」という概念が導入され、IEEE 802.3が対応する最大のイーサネットフレームサイズが2000バイトまで拡大された。

ジャンボフレームのペイロードサイズとして9000バイトが推奨されているのは、Internet2と米国連邦政府のネットワークの合同チームでの議論から生まれたものである[7]。この勧告は、アメリカ以外の国の研究・教育ネットワークでも採用されている。ほとんどのイーサネット機器は、9216バイトまでのジャンボフレームに対応している[8]

IEEE 802.1AB-2009およびIEEE 802.3bc-2009では、標準イーサネットにLLDPディスカバリを追加し、最大フレーム長(TLVサブタイプ4)を設定した[9]。これにより、2オクテットのフィールドによってポート上のフレーム長を検出することができる。IEEE 802.3-2015時点での許容値は、1518(ベーシックフレームのみ)、1522(802.1Qタグ付きフレーム)、2000(マルチタグ付き、エンベロープフレーム)である[10]

エラー検出[編集]

UDPTCPに含まれる単純な加算式チェックサムは、バス特有のビットエラーを検出するには効果的ではないことがわかっている。単純な合計では、エラーを相殺してしまう傾向があるからである。RFC 3309の採択前に、実際のデータにエラーを注入してシミュレーションを行ったところ、これらのエラーの2%が検出されないことがわかった。イーサネットフレームで使用されている単純なCRC-32エラー検出では、フレームサイズが大きくなるほど、複数のエラーが互いに相殺される可能性が高くなるため、エラーが検出されない可能性が高くなる[注釈 1]

IETFがジャンボフレームで採用したアプローチの一つは、イーサネットの次の通信プロトコルの層で余分なCRCを実行することで、service data unit英語版(SDU)のデータ完全性の低下を回避するものである。SCTP(RFC 4960)とiSCSI(RFC 7143)では、カスタニョーリCRC多項式を使用している。カスタニョーリ多項式0x1EDC6F41は、ハミング距離HD=6をイーサネットのMTU1個分(16,360ビットのデータワード長まで)を超えて達成し、HD=4をイーサネットのMTUの9倍以上の長さである114,663ビットまで達成している。これにより、イーサネットCRC多項式と比較して、MTUサイズのデータワードで2ビットのエラー検出能力が追加される一方、72kbits以上のデータワードサイズでHD=4の能力が犠牲になることはない[12]。カスタニョーリCRC多項式は、データチャンクを扱うように設計された汎用トランスポートと、SCSIデータを伝送するように設計されたTCPトランスポートの両方に対応しており、ジャンボフレームを使用しているにもかかわらず、エラー検出率が向上しているが、イーサネットのMTUが増加するとエラー検出率が大幅に低下する。

設定[編集]

ベンダによって、ヘッダをサイズ設定に含めている場合と含めていない場合とがある。前者の場合は最大フレームサイズ(フレームヘッダを含む、レイヤ2の最大パケットサイズ)となり、後者の場合最大伝送ユニット(フレームヘッダを除くレイヤ3の最大パケットサイズ)となる。そのため、異なるベンダの機器を接続する場合には、設定値に注意する必要がある。

ジャンボフレーム用に設定された機器と、ジャンボフレーム用に設定されていない機器がネットワーク上に混在すると、ネットワークのパフォーマンスに問題が生じる可能性がある[13]

効率[編集]

ジャンボフレームは、次のIPv4上のTCPの例に示すように、プロトコルのオーバーヘッド英語版を削減することで、ホストにおけるイーサネットおよびネットワーク処理の効率を向上させることができる。ホストの処理オーバーヘッドは、ペイロードサイズの比率分だけ減少する可能性がある(以下の例では約6倍改善)。これが重要であるかどうかは、ホスト内でパケットがどのように処理されるかによる。TCPオフロードエンジン英語版を使用しているホストは、CPUでフレームを処理しているホストよりもメリットが少なくなる。

フレームレベルのバンド幅の効率[注釈 2]
フレームタイプ MTU レイヤ1
オーバーヘッド
レイヤ2
オーバーヘッド
レイヤ3
オーバーヘッド
レイヤ4
オーバーヘッド
ペイロードサイズ 総送信サイズ[A] 効率[B]
標準 1500 プリアンブル
8 byte
IPG
12 byte
フレームヘッダ
14 byte
FCS
4 byte
IPv4ヘッダ
20 byte
TCPヘッダ
20 byte
1460 byte 1538 byte 94.93%
ジャンボ 9000 プリアンブル
8 byte
IPG
12 byte
フレームヘッダ
14 byte
FCS
4 byte
IPv4ヘッダ
20 byte
TCPヘッダ
20 byte
8960 byte 9038 byte 99.14%
その他のフレーム(参考)
IEEE 802.11[14][15] 7935 PLCPプリアンブル&ヘッダ
24 byte
IPG
(可変)
フレームヘッダ&セキュリティオーバーヘッド
52 byte
FCS
4 byte
IPv4ヘッダ
20 byte
TCPヘッダ
20 byte
7895 byte 8015 + IPGサイズ byte < 98.5%
IEEE 802.11 bridged to Ethernet 1500 PLCPプリアンブル&ヘッダ
24 byte
IPG
(可変)'
フレームヘッダ&セキュリティオーバーヘッド
52 byte
FCS
4 byte
IPv4ヘッダ
20 byte
TCPヘッダ
20 byte
1460 byte 1580 + IPGサイズ byte < 92.4%
  1. ^ 総送信サイズは、ペイロードサイズと全てのオーバーヘッドサイズの合計。
  2. ^ 効率は、ペイロードサイズを総送信サイズで割ったもの。

パケット転送速度の関数としてのネットワークデータスループットの相対的なスケーラビリティは、パケットあたりのペイロードサイズに複雑に関係している[16]。一般的に、回線のビットレートが上昇すると、それに比例してパケットのペイロードサイズも上昇し、同等のタイミングパラメータを維持することができる。しかし、そのためには、ネットワーク経路上にある多数の中間リンクを、必要な最大フレームサイズに合わせて拡張する必要がある。

ベビージャイアントフレーム[編集]

ベビージャイアントフレーム(baby giant frame)またはベビージャンボフレーム(baby jumbo frame)とは、IEEEイーサネット規格で認められているサイズよりもわずかに大きいイーサネットフレームのことである[2]。ベビージャイアントフレームは、例えば、1500バイトの標準的なペイロードを持つイーサネットサービスをIP/MPLS over Ethernetが提供するために必要となる。ほとんどの実装では、非ジャンボユーザフレームをMPLSフレームフォーマットにカプセル化する必要がある。MPLSフレームフォーマットは、EtherType値が0x8847と0x8848の適切なイーサネットフレームフォーマットにカプセル化される[17]。MPLSとイーサネットのヘッダを追加することでオーバーヘッドが増えるため、キャリアイーサネット英語版ネットワークでは最大1600バイトのフレームに対応する必要がある[18]

関連項目[編集]

脚注[編集]

注釈[編集]

  1. ^ Matt Mathisは、これが実際に問題になるかどうかを検討し、ジャンボフレームにすることによりパケット数が減ることで、検出されないエラーの確率が高くなることが打ち消されると主張している[11]
  2. ^ 以下の表は、レイヤごとのオーバーヘッドをまとめて記載するものであり、実際のフレームにおけるデータの順番を示すものではない。実際のフレームでは、FCSとIPGはペイロードの後である。

出典[編集]

  1. ^ Ethernet Jumbo Frames”. Ethernet Alliance (2009年11月12日). 2015年6月18日閲覧。
  2. ^ a b Jumbo/Giant Frame Support on Catalyst Switches Configuration Example”. Cisco. 2011年8月22日閲覧。 “Catalyst 3750/3560 Series switches support an MTU of 1998 bytes for all 10/100 interfaces”
  3. ^ Ethernet Jumbo Frames”. EthernetAlliance.org. 2017年4月28日閲覧。
  4. ^ Jeff Caruso (1998年10月22日). “Alteon still stumping for Jumbo Frames”. Network World. オリジナルの2012年10月15日時点におけるアーカイブ。. https://web.archive.org/web/20121015084400/http://www.networkworld.com/news/1022alteon.html 2011年7月4日閲覧。 
  5. ^ Foong, A; T. Huff; H. Hum; J. Patwardhan; G. Regnier (2003). “TCP Performance Re-visited”. 2003 IEEE International Symposium on Performance Analysis of Systems and Software. ISPASS 2003. pp. 70–79. doi:10.1109/ISPASS.2003.1190234. ISBN 978-0-7803-7756-1 
  6. ^ D Murray; T Koziniec; K Lee; M Dixon (2012). “Large MTUs and internet performance”. 2012 IEEE 13th International Conference on High Performance Switching and Routing. pp. 82–87. doi:10.1109/HPSR.2012.6260832. ISBN 978-1-4577-0833-6. https://researchrepository.murdoch.edu.au/id/eprint/9920/ 
  7. ^ Rick Summerhill (17 Feb 2003), rrsum-almes-mtu, Internet2, https://noc.net.internet2.edu/i2network/jumbo-frames/rrsum-almes-mtu.html 
  8. ^ Scott Hogg (2013-03-06), Jumbo Frames, Network World, https://www.networkworld.com/article/2224722/jumbo-frames.html 2013年8月5日閲覧, "Most network devices support a jumbo frame size of 9216 bytes." 
  9. ^ IEEE 802.3 79.3.4 Maximum Frame Size TLV
  10. ^ IEEE 802.3 3.2.7 MAC Client Data field
  11. ^ Mathis, Matt (2016年10月8日). “Arguments about Internet MTU”. web.archive.org. 2016年10月8日時点のオリジナルよりアーカイブ。2019年8月23日閲覧。
  12. ^ Philip Koopman. “32-Bit Cyclic Redundancy Codes for Internet Applications”. ECE Department & ICES, Carnegie Mellon University. 2021年4月5日閲覧。
  13. ^ Guidance on the use of jumbo frames”. Netgear. 2020年3月21日閲覧。
  14. ^ Philip (2016年10月20日). “Wireless Network Speed Tweaks”. speedguide.net. https://www.speedguide.net/articles/wireless-network-speed-tweaks-5681 2016年10月20日閲覧。 
  15. ^ IEEE 802.11-2012 8.2.3 General frame format
  16. ^ Rutherford, W.; Jorgenson, L.; Siegert, M.; Van Epp, P.; Liu, L. (2007). “16000–64000 B pMTU experiments with simulation: The case for super jumbo frames at Supercomputing '05”. Optical Switching and Networking 4 (2): 121–130. doi:10.1016/j.osn.2006.10.001. 
  17. ^ RFC-3032, MPLS Label Stack Encoding
  18. ^ Ceragon, Jumbo Frames: The Microwave Perspective, Technical brief Archived 2012-09-15 at the Wayback Machine.

外部リンク[編集]