フラグメント

MTUが小さなネットワークに転送する場合、パケットは分割されます。本項ではフラグメントについて説明します。

フラグメント

 MTUが1500byteのネットワークからそれより小さなネットワーク、ジャンボフレームを有効にしたネットワークから通常のネットワークに中継する際等にパケットの分割が行われます。これをフラグメントと言います。

フラグメント1

 フラグメント化されたパケットは元のパケットに組み立て出来るように情報が付加され、Macアドレス等を追加して複数のフレームとして送信されます。フラグメント化されたパケットの組み立てはネットワークの途中ではなく、通信相手に届いた時に行われます。「パケット」で示したヘッダー構造の内、フラグ部分にフラグメントされているかどうかの情報、フラグメントオフセット部分に全体の何byte目からのパケットかを示す情報が入っています。

 フラグメントはパケットの分割や再構築を行うため、ルーターにとって負荷が高い処理であり、出来るだけ避けた方が好ましいと言われています。

 フラグメントを禁止するにはパケットのフラグ部分でフラグメント不可ビットを有効にして送信します。ルーターはMTUが小さなネットワークに転送する必要があり、且つフラグメント不可ビットが有効になっている場合はICMPというプロトコルによりMTUサイズを応答します。

フラグメント2

 パソコンではICMPで教えられたMTU値でパケットを構成するため、フラグメント化が発生しません。これをPath MTU Discoveryと言い、最近のパソコンではデフォルトになっています。

 ICMPはpingで利用されるプロトコルのため知っている方も多いと思いますが、このようにネットワークの情報交換のために利用されます。

サイト関連1

応用編「パケット

キーマンズネット1

初級ネットワーク講座「IPヘッダの解読法とパケット分割
  • このエントリーをはてなブックマークに追加