IPフラグメント
読み:アイピーフラグメント
外語:IP fragment

 IP破片。ある一つのデータを、複数のIPパケットに分割して送り、IP層にて連結し上位階層へ渡すこと。
目次

概要
 TCP/IPv4ネットワークのIPv4層では、最大64Kiオクテットまでのデータを一度に送ることができる。だが実際には各ホストの都合により、必ずしも最大サイズを送受信できるとは限らない。
 例えばIPの下層にEthernetを用いた場合、最大でも1500オクテットまでしか一度に送ることができない。それを超える場合は何らかの方法でパケットを分割し、あとで連結せねばならない。
 これには幾つか方法があり、上位層(TCPやUDP)で行なう方法と、このIP層で行なう方法があり、IP層で行なうものをIPフラグメントという。

実装

実装方法
 IPv4ヘッダー内の情報にて、以下の三種類が区別可能となっている。
 これらは、次の二つの識別情報で判断される。
 続くフラグメントがある(一番最初と途中)場合は、継続フラグメントビットを1とする。最後のパケットでは0とする。
 フラグメントオフセットは8オクテットごとの、当該パケットの開始位置を表わす。一番最初は0であり、続くパケットは何オクテット目からを格納しているのかをここで示す。
 そして全体を通じて、データグラム識別子(Identification)などは統一する。

注意点
 IPフラグメントが発生した場合、時に順序が入れ代わって届いたり、重複して届いたりする。
 受信元はこれらを正しい順序に直さなければならず、効率が悪くなる。

対応環境
 ルーターなどの高度なネットワーク機器は、通常は対応している。しかし、ネットワーク家電などのたぐいはメモリー容量の制約等もあり、対応していないものが多い。

IPv6
 IPv6においては、実際の通信に先立ってMTUのネゴシエーションが行なわれ、経路上MTUが最小の部分のMTUをその通信のMTUとして使うので、ルーターでのフラグメントは起きない。

再検索