OSPFv2パケットの種類と機能
OSPFv2 において使われる OSPF パケットの種類と機能を以下の表に示します。
OSPFのポート番号
OSPF は TCP も UDP も使いませんので、ポート番号という概念はありません。
IP ヘッダの次には TCP でも UDP でもなく、OSPF のパケットフォーマットが入ります。
OSPFのパケットフォーマット
OSPFv2 は IPv4 のプロトコル番号 89 番のプロトコルです。
TCP (プロトコル番号 6 番) でも UDP (プロトコル番号 17 番) でもありません。
しかし、TCP のように、相手からのパケット受信確認 (LSAck) や再送の仕組みがあるため、(どちらかと言えば UDP よりも) TCP に近い高信頼性のプロトコルです。
OSPFパケットのヘッダ
OSPFv2 において使われる OSPF パケットのヘッダは、上記 5 種類のパケット全てで共通のものになります。
OSPF パケットヘッダのフォーマットを以下に示します。
Version
OSPF のバージョン情報です。IPv4 の場合は Verion2 なので 2 が入ります。IPv6 の場合は Version3 なので 3 が入ります。
Type
パケットのタイプコードが入ります。Hello であれば 1、DBD であれば 2、LSR であれば 3、LSU であれば 4、LSAck であれば 5 です。
Packet Length
パケット長 (単位は Bytes) が入ります。
Router ID
そのパケットの送信元のルータを一意に識別する ID です。Cisco では手動での設定もできますし、設定を省いた場合はルータの IP アドレス (Loopback インタフェースが優先、高い IP アドレスが優先) がルータ ID として設定されます。
Area ID
OSPF のエリアを識別する ID です。パケットを送信するエリアの ID が入ります。
Checksum
OSPF ヘッダに bit 誤りがないかを確認する bit 列が入ります。
AuType
OSPF の情報をやり取りをして良いかを判断するための認証方法を示します。0 の場合は認証無し、1 の場合はクリアテキストによる認証 (この場合、パケットキャプチャをされたらあっさりと認証を破られます)、2 の場合は MD5 ハッシュによる認証を示しています。
Authentication
認証情報が入ります。AuType が 0 の場合はここの領域は無視されます。1 の場合はクリアテキストでパスワードが入ります。2 の場合は以下のフォーマットで認証情報が入ります。
Key ID
認証アルゴリズムとハッシュを生成するための秘密鍵を決定します。
Auth Length
パケットの最後に付けられるハッシュ認証情報の長さ (単位は Bytes) が入ります。
Cryptographic Sequence Number
リプレイ攻撃対策で利用されるシーケンス番号です。
コメント