解説書 Vol.1
IPパケットを中継するとき,最大転送単位(MTU:Maximum Transfer Unit)に従い,それ以上大きなパケットは分割して送信します。これをフラグメント化といいます。MTUのサイズに収まるパケットはハードウェア処理で中継しますが,分割して送信する場合はソフトウェア処理で中継するため中継パフォーマンスが低下しますので注意が必要です。
- <この項の構成>
- (1) 最大フレーム長とMTUの決定
- (2) MTUとフラグメント
- (3) フラグメントの生成
- (4) フラグメントの再構成
(a) インタフェースに対してポートが一つ存在する際のMTU値の決定
ネットワーク内の中継装置を経由するレイヤ3パケット(IPパケット)は,回線を流れる物理フレームの中にカプセル化されています。カプセル化を次の図に示します。
物理フレームの最大長は,規格書の最大値を固定として持つもの,コンフィグレーションで定義するもの,さらにプロトコルでネゴシエーションするものがあり,物理種別やレイヤ2プロトコルによってMTUのサイズが決定します。フレームフォーマットおよび最大フレーム長については,「4. イーサネット」を参照してください。
コンフィグレーションで最大フレーム長またはMTUサイズを指定できる場合については,マニュアル「コンフィグレーションコマンドレファレンス Vol.1」を参照してください。
(b) インタフェースに対してポートが複数存在する際のMTU値の決定
リンクアグリゲーションインタフェースのようにポートが複数存在するインタフェースのMTU値の決定方法を次に示します。
- リンクアグリゲーションインタフェース
リンクアグリゲーション情報のaggregated-portサブコマンドで指定したポート内のLine情報のjumbo_frameサブコマンドの最小値から18byte※減算した値をMTU値とします。また,IP情報のmtuサブコマンドが設定されていた場合は,mtuサブコマンドの値とaggregated-portサブコマンドで指定したポート内のjumbo_frameサブコマンドの値の最小値から18byte減算した値を比較し,小さい方をMTU値として採用します。
- 注※
- 18byteの詳細は,「4.3 MACおよびLLC副層制御」のフレームフォーマットを参照してください。また,Line情報のjumbo_frameサブコマンド未設定時に関しては,「コンフィグレーションコマンドレファレンス Vol.1 4. ライン情報」のline(Line情報)を参照してください。
図7-15 リンクアグリゲーションインタフェースの設定例
- 注※1
- 接続インタフェースに関しては,「4.2 物理インタフェース」を参照してください。
- 注※2
- Line情報のjumbo_frameサブコマンドで設定した値より18byte減算した値です。
- IP設定無しの場合
- [MTU決定値]
- リンクアグリゲーション 10のMTU値・・・2000
- リンクアグリゲーション 20のMTU値・・・1500
- IP設定有りの場合
リンクアグリゲーション 10にip mtu 1000,リンクアグリゲーション 20にip mtu 3000を定義したとき
- [MTU決定値]
- リンクアグリゲーション 10のMTU値・・・1000
- リンクアグリゲーション 20のMTU値・・・1500
ネットワークの中には異なるMTUのサブネットワークがある可能性があります。サイズの大きなIPパケットを,小さなMTUを持つネットワークを通る場合,IPパケットを分割し中継します。
フラグメント化モデルを次の図に示します。ネットワークAから送信したパケットをネットワークBへ中継するとき,MTUが1500から630に短くなるためにフラグメント化します。
MTUを超えるIPパケットは,IPヘッダを除くデータ部分を8の倍数長でフラグメント化します。
ネットワークBはMTUが630ですから,IPヘッダ長を除くと610となり,610での8の倍数長は608なので608バイトずつフラグメント化します。フラグメント化したパケットにはそれぞれIPヘッダを付加します。パケットのフラグメント化を次の図に示します。
MTUに収まるようにフラグメント化したIPパケットは,フラグメント化したことをIPヘッダ内のオフセットとmore fragmentsビットに書き込みます。また,同一のidentificationを設定してchecksumを再計算します。オフセットは,先頭からのデータ長を8で割った値を設定します。
フラグメント化されたIPパケットは,終端でIPヘッダ内のidentification,オフセット,more fragmentsを基に再構成します。途中のルータは再構成を行いません。それは,終端までの中継で各フラグメントを独立して経路制御させることを前提としているため,仮に途中のルータがフラグメントを蓄積し再構成しようとした場合,そのルータを通過しなかったフラグメントがあると,蓄積していたフラグメントを破棄することになるためです。
Copyright (c)2005, 2011, ALAXALA Networks Corporation. All rights reserved.