ジャンボフレームとは
コンピュータネットワークにおけるジャンボフレームとは、
IEEE 802.3規格で規定された1500バイトを超えるペイロードを持つ
イーサネットフレームのことです。通常、最大9000バイトのペイロードを持つものが一般的ですが、それよりも小さいものや大きいものも存在します。そのため、ジャンボフレームという用語を使う際には、そのサイズについて注意が必要です。
ジャンボフレームの登場背景
ネットワークを通過する
イーサネットフレームは、その都度処理が必要です。同じデータを送信する場合、小さなフレームに分割して処理するよりも、大きなフレームにまとめて処理する方が、CPUの割り込み処理を減らし、効率的にCPUリソースを活用できます。これは、複数枚の紙を1枚ずつ封筒に入れるよりも、まとめて1つの封筒に入れる方が、封筒の節約や仕分け時間の短縮につながるのと同じ考え方です。
ジャンボフレームは、1998年にアルテオン・ウェブシステムズ社が自社のギガビット
イーサネットアダプタ「ACEnic」に搭載したことで注目を集めました。その後、他のベンダーもアルテオン社と同じパケットサイズを採用しましたが、ジャンボフレームは
イーサネットの公式規格である
IEEE 802.3には含まれていませんでした。
ジャンボフレームの採用と課題
ジャンボフレームは、オーバーヘッドを削減し、CPUサイクルを効率化することで、TCPパフォーマンスを向上させる可能性があります。しかし、低帯域幅のリンクにおいては、ネットワークの
レイテンシに悪影響を及ぼす可能性も指摘されています。また、エンドツーエンドの接続で利用できるフレームサイズは、経路上の最小フレームサイズによって制限されます。
例えば、
トークンリングは4464バイト、FDDIは4352バイト、ATMは9180バイト、
IEEE 802.11は7935バイトのMTUに対応しています。一方で、
IEEE 802.3イーサネット規格では、当初MTUは1500バイト、総フレームサイズは1518バイト(VLAN/QoSタグを含む場合は1522バイト)と規定されていました。
IEEE 802.3asのアップデートにより、複数のヘッダ、トレーラを含む最大482バイトの「エンベロープ」という概念が導入され、
IEEE 802.3がサポートする最大
イーサネットフレームサイズは2000バイトまで拡大されました。
ジャンボフレームのペイロードサイズとして9000バイトが推奨されるようになった背景には、
Internet2と米国連邦政府のネットワークの合同チームの議論がありました。この推奨は、アメリカ以外の研究・教育ネットワークでも採用されています。
エラー検出
UDPやTCPで使用される単純なチェックサムは、バス特有のビットエラーを検出するには不十分であることがわかっています。これは、エラーが相殺されてしまう可能性があるためです。実際、RFC 3309以前のシミュレーションでは、エラーの2%が検出されないことが判明しました。
イーサネットフレームで使用されているCRC-32エラー検出も、フレームサイズが大きくなるほど、複数のエラーが相殺される可能性が高まり、エラーが検出されない可能性が高まります。
IETFがジャンボフレームに対して採用したアプローチの一つは、
イーサネットの次のプロトコル層で追加のCRCを実行することで、データの完全性を確保することです。SCTP(RFC 4960)とiSCSI(RFC 7143)では、カステニョーリCRC多項式が使用されています。この多項式は、エラー検出能力を向上させ、ジャンボフレーム使用時でも信頼性の高いデータ伝送を実現します。
ジャンボフレームの設定
ベンダーによっては、ヘッダをサイズ設定に含める場合と含めない場合があります。前者は最大フレームサイズ、後者は最大伝送ユニット(MTU)となります。そのため、異なるベンダーの機器を接続する際には、設定値に注意が必要です。
ジャンボフレームに対応するように設定された機器と、対応していない機器が混在するネットワークでは、パフォーマンスの問題が発生する可能性があります。
ジャンボフレームの効率
ジャンボフレームは、プロトコルのオーバーヘッドを削減することで、ホストにおける
イーサネットとネットワーク処理の効率を向上させることができます。ホストの処理オーバーヘッドは、ペイロードサイズの比率に応じて減少します。
例えば、IPv4 over TCPの場合、ジャンボフレームを使用すると、ペイロードサイズの比率に応じてホストの処理負荷が削減されます。しかし、TCPオフロードエンジンを使用しているホストでは、CPUでフレームを処理しているホストよりもメリットが少なくなります。
一般的に、回線のビットレートが上昇すると、パケットのペイロードサイズも比例して上昇し、同等のタイミングパラメータを維持できます。ただし、そのためには、ネットワーク経路上にあるすべての中間リンクを、必要な最大フレームサイズに合わせて拡張する必要があります。
ベビージャイアントフレーム
ベビージャイアントフレーム(ベビージャンボフレーム)は、IEEE
イーサネット規格で認められているサイズよりもわずかに大きな
イーサネットフレームのことです。例えば、IP/MPLS over Ethernetで1500バイトの標準ペイロードを持つ
イーサネットサービスを提供する場合に使用されます。
MPLSフレームフォーマットは、
EtherType値が0x8847と0x8848の
イーサネットフレームフォーマットにカプセル化されます。MPLSと
イーサネットのヘッダを追加することでオーバーヘッドが増えるため、キャリア
イーサネットネットワークでは最大1600バイトのフレームに対応する必要が生じます。
まとめ
ジャンボフレームは、ネットワークパフォーマンスを向上させる可能性を秘めた技術ですが、設定やエラー検出など考慮すべき点も多く存在します。導入にあたっては、ネットワーク環境や利用目的に応じて、慎重に検討することが重要です。
関連項目
ジャンボグラム - IPv6における大きなパケット
参考資料
Jumbo Frames – Where to use it?
Jumbo frames? Yes!, by Selina Lo, Alteon Networks, 2/23/1998 in NetworkWorld
Pushing up the Internet MTU
IEEE 802.3as Frame Expansion Task Force
32-Bit Cyclic Redundancy Codes for Internet Applications
Need To Know: Jumbo Frames in Small Networks
Jumbo frames in Arch Linux wiki