OSPFパケットの種類

OSPFはRIPよりも高度な処理を行うために、複数のOSPFパケットを利用します。OSPFパケットはIPでカプセル化して、ルータ間でやり取りされます。IPヘッダのプロトコル番号は89です。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)

Helloパケット

Helloパケットは、ネイバーの動的な発見、アジャセンシーの確立と維持に利用されています。


Helloパケットの詳細は、以下の記事で解説しています。


DDパケット

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

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

LSRパケット

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

LSUパケット

LSUパケットによって、LSRで要求されたLSAを送信します。OSPFルータ間でやり取りするLSAは、LSUパケットの中にいくつかのLSAを含めています。

LSAckパケット

LSUパケットを受け取ると、LSAckパケットによって受信したという応答確認を行っています。

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ビットの識別番号です。


OSPFのルータIDについての詳細は、以下の記事をご覧ください。


Area ID

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

Checksum

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

AuType

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

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

Authentication

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