OSPFパケットの種類

OSPFはRIPよりも高度な処理を行うために、複数のOSPFパケットを利用します。OSPFパケットはIPでカプセル化して、ルータ間でやり取りされます。IPヘッダのプロトコル番号は89です。OSPFルータがやり取りするOSPFパケットには、次のような種類があります。OSPFヘッダのパケットタイプによって、OSPFパケットの種類を示します。

図 OSPFパケットのカプセル化
図 OSPFパケットのカプセル化
OSPFパケットタイプパケットの種類
1 Hello
2 DD(Database Description)
3 LSR(Link State Request)
4 LSU(Link State Update)
5 LSAck(Link State Acknowledgement)
表 OSPFパケットの種類
OSPFパケットは、IPヘッダに加えてさらにイーサネットなどのネットワークインタフェースプロトコルでカプセル化したうえで、インタフェースから送り出します。

OSPFパケットを交換する範囲

OSPFパケットを交換する範囲についても明確にしておきましょう。OSPFに限らずルーティングプロトコルのパケットは、同じネットワーク内の同じルーティングプロトコルを利用しているルータ間で交換します。

以下の図で、R1は同じネットワーク内のR2とOSPFパケットをやり取りします。そして、R2は同じネットワーク内のR3とOSPFパケットをやり取りします。異なるネットワークのR1とR3では、OSPFパケットを交換しません。OSPF用に予約されている224.0.0.5と22.4.0.06というマルチキャストアドレスは、同じネットワーク内でのみ利用するマルチキャストアドレスです。

図 OSPFパケットを交換する範囲
図 OSPFパケットを交換する範囲

ただし、BGPは例外です。BGPの場合は、たいていは異なるネットワークのBGPルータ間でBGPのやり取りを行います。

Helloパケット

Helloパケットは、ネイバーの動的な発見と維持に利用されています。

DDパケット

DDパケットは、リンクステートデータベースの同期を取る際に使います。DDパケットには、自身のLSDBに含まれているLSAヘッダ部分が含まれています。

DDの略称として、DBDとすることもあります。

LSRパケット

LSRパケットは、DDパケットの交換で認識した不足しているLSAを要求するパケットです。

LSUパケット

LSUパケットによって、LSRで要求されたLSAを送信します。LSUパケットの中にLSAが含まれています。

LSAckパケット

LSAckパケットはLSUパケットの受信確認に利用します。

OSPFヘッダフォーマット

OSPFパケットに共通して付加される24バイトのOSPFヘッダのフォーマットは以下のようになります。

図 OSPFヘッダフォーマット
図 OSPFヘッダフォーマット

Version

Version(8ビット)はOSPFのバージョンです。IPv4のOSPFのバージョンは「2」です。

Type

Type(8ビット)で前述のOSPFパケットの種類を表します。

Packet Length

Packet Length(16ビット)は、OSPFヘッダとOSPFデータ部分を合わせた長さです。

Router ID

Router ID(32ビット)は、OSPFルータを識別するための32ビットの識別番号です。

Area ID

Area ID(32ビット)は、OSPFが有効なインタフェースが所属しているエリア番号です。

Checksum

Checksum(16ビット)で、エラーチェックを行います。

AuType

AuType(16ビット)で認証の種類を表します。

AuTypeの値認証の種類
0 認証なし
1 平文パスワード
2 MD5
表 AuType

Authentication

Authentication(64ビット)は認証に利用するデータです。

OSPFの仕組み