メインコンテンツまでスキップ

Appendix A: OSPF Data Formats (OSPFデータフォーマット)

A. OSPF データフォーマット

OSPF プロトコルパケットおよび OSPF LSA のフォーマットを本付録で説明します。OSPF プロトコルは IP ネットワーク層の直上で動作します。データフォーマットを説明する前に、OSPF のカプセル化(encapsulation)の詳細を説明します。

次に OSPF Options フィールドを説明します。このフィールドは、OSPF ルーティングドメインの一部がサポートする場合としない場合があるさまざまな機能(capabilities)を記述します。OSPF Options フィールドは OSPF Hello パケット、Database Description パケット、および OSPF LSA に含まれます。

OSPF パケットフォーマットの詳細はセクション A.3 です。OSPF LSA の説明はセクション A.4 にあります。

A.1 OSPF パケットのカプセル化(Encapsulation of OSPF packets)

OSPF はインターネットプロトコル(IP)のネットワーク層の直上で動作します。したがって OSPF パケットは、IP およびローカルなデータリンクヘッダのみによってカプセル化されます。

OSPF は自身のプロトコルパケットを断片化(fragment)する方法を定義しておらず、ネットワークの MTU より大きなパケットを送信する際は IP のフラグメンテーションに依存します。必要に応じて、OSPF パケットの長さは(IP ヘッダを含めて)最大 65,535 バイトまで可能です。サイズが大きくなりやすい OSPF パケットタイプ(Database Description パケット、Link State Request、Link State Update、Link State Acknowledgment パケット)は、通常、機能を失うことなく複数の別々のプロトコルパケットに分割できます。これを推奨します。IP のフラグメンテーションは可能な限り避けるべきです。この考え方に基づき、Path MTU Discovery を実行していない限り、仮想リンク(virtual link)経由で送信する OSPF パケットのサイズは 576 バイトに制限するよう努めるべきです([Ref22] 参照)。

OSPF の IP カプセル化のその他の重要な特徴は以下のとおりです。

o IP マルチキャストの使用。一部の OSPF メッセージは、ブロードキャストネットワーク上で送信される際にマルチキャストされます。2 つの異なる IP マルチキャストアドレスが使用されます。これらのマルチキャストアドレス宛のパケットは転送されてはならず、単一ホップのみを伝播することを意図しています。これらのパケットが複数ホップを伝播しないことを保証するため、IP TTL を 1 に設定しなければなりません。


AllSPFRouters
このマルチキャストアドレスには値 224.0.0.5 が割り当てられています。OSPF を動作させているすべてのルーターは、このアドレス宛に送信されたパケットを受信できるように準備しておくべきです。Hello パケットは常にこの宛先に送信されます。また、フラッディング(flooding)手順中に、特定の OSPF プロトコルパケットがこのアドレスに送信されます。

AllDRouters
このマルチキャストアドレスには値 224.0.0.6 が割り当てられています。Designated Router(指定ルーター)および Backup Designated Router(バックアップ指定ルーター)の両方は、このアドレス宛のパケットを受信できるように準備しておかなければなりません。フラッディング手順中に、特定の OSPF プロトコルパケットがこのアドレスに送信されます。

o OSPF は IP プロトコル番号 89 です。この番号は Network Information Center に登録されています。IP プロトコル番号の割り当ては [Ref11] に記載されています。

o すべての OSPF ルーティングプロトコルパケットは、[Ref12] で定義された通常サービスの TOS 値(バイナリ 0000)を使用して送信されます。

o ルーティングプロトコルパケットは、IP precedence を Internetwork Control に設定して送信されます。OSPF プロトコルパケットは、送信時と受信時の両方で、通常の IP データトラフィックよりも優先されるべきです。IP ヘッダの IP precedence フィールドを Internetwork Control [Ref5] に設定すると、この目的の達成に役立つ場合があります。

A.2 Options フィールド(The Options field)

OSPF Options フィールドは、OSPF Hello パケット、Database Description パケット、およびすべての LSA に存在します。Options フィールドにより、OSPF ルーターはオプション機能をサポート(または非サポート)でき、その機能レベルを他の OSPF ルーターに通知できます。この仕組みにより、異なる機能を持つルーターを OSPF ルーティングドメイン内に混在させることができます。

Hello パケット内で使用される場合、Options フィールドによりルーターは、機能の不一致(capability mismatch)を理由にネイバー(neighbor)を拒否できます。あるいは、Database Description パケットで機能が交換される際、ルーターは、機能が限定されているネイバーに対して特定の LSA を転送しないことを選択できます。最後に、LSA に機能を記載することで、ルーターはルーティングテーブル計算の一部から機能限定ルーターを除外することで、それらを迂回してトラフィックを転送できます。

OSPF Options フィールドのうち 5 ビットが割り当てられていますが、本メモで完全に説明されているのは 1 ビット(E-bit)のみです。各ビットについて以下に簡単に説明します。ルーターは、Hello パケットや Database Description パケットの送信時、および LSA の生成(originating)時に、Options フィールド内の認識できないビットをリセット(すなわちクリア)する必要があります。逆に、受信した Hello パケット、Database Description パケット、または LSA 内の認識できない Option ビットに遭遇したルーターは、その機能を無視し、パケット/LSA を通常通り処理すべきです。

+------------------------------------+
| * | * | DC | EA | N/P | MC | E | * |
+------------------------------------+

The Options field(Options フィールド)


E-bit
このビットは、AS-external-LSA がフラッディングされる方法を記述します。本メモのセクション 3.6、9.5、10.8、12.1.2 で説明されています。

MC-bit
このビットは、IP マルチキャストデータグラムが [Ref18] の仕様に従って転送されるかどうかを記述します。


N/P-bit
このビットは、Type-7 LSA の処理を記述します。[Ref19] で規定されています。

EA-bit
このビットは、[Ref20] で規定されているとおり、ルーターが External-Attributes-LSA を受信および転送する意思を記述します。

DC-bit
このビットは、[Ref21] で規定されているとおり、ルーターの オンデマンド回線(demand circuit)の処理を記述します。

A.3 OSPF パケットフォーマット(OSPF Packet Formats)

OSPF には 5 つの異なるパケットタイプがあります。すべての OSPF パケットタイプは、標準の 24 バイトヘッダで始まります。このヘッダを最初に説明します。その後、各パケットタイプを続くセクションで説明します。これらのセクションでは、各パケットのフィールドへの分割が示され、その後にフィールド定義が列挙されます。

OSPF Hello パケット以外のすべての OSPF パケットタイプは、LSA のリストを扱います。たとえば、Link State Update パケットは OSPF ルーティングドメイン全体への LSA のフラッディングを実装します。このため、LSA のフォーマットも理解していなければ、OSPF プロトコルパケットを解析できません。LSA のフォーマットはセクション A.4 で説明されます。

OSPF パケットの受信処理の詳細はセクション 8.2 に、OSPF パケットの送信はセクション 8.1 に説明されています。

A.3.1 OSPF パケットヘッダ(The OSPF packet header)

すべての OSPF パケットは、標準の 24 バイトヘッダで始まります。このヘッダには、パケットをさらに処理するために受け入れるべきかどうかを判断するために必要なすべての情報が含まれています。この判断は仕様のセクション 8.2 で説明されています。


    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Version #   |     TYPE      |         Packet length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Router ID                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Area ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Checksum            |             AuType            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Version #
   OSPF のバージョン番号。本仕様はプロトコルのバージョン 2 を記述しています。

Type
   OSPF パケットタイプは以下のとおりです。詳細はセクション A.3.2 から A.3.6 を参照してください。


                      Type   Description
                      ________________________________
                      1      Hello
                      2      Database Description
                      3      Link State Request
                      4      Link State Update
                      5      Link State Acknowledgment


Packet length
   OSPF プロトコルパケットの長さ(バイト単位)。この長さには標準の OSPF ヘッダが含まれます。

Router ID
   パケットの送信元の Router ID。

Area ID
   このパケットが属するエリア(Area)を識別する 32 ビットの数値。すべての OSPF パケットは単一のエリアに関連付けられています。ほとんどは単一ホップのみを伝播します。仮想リンク上を伝播するパケットは、バックボーン(backbone)エリア ID 0.0.0.0 でラベル付けされます。

Checksum
   パケット全体の標準的な IP チェックサム。OSPF パケットヘッダから始まり、64 ビットの認証フィールドを除きます。このチェックサムは、認証フィールドを除くパケット内のすべての 16 ビットワードの 1 の補数和の 16 ビット 1 の補数として計算されます。パケットの長さが 16 ビットワードの整数倍でない場合、チェックサム計算前にゼロのバイトでパディングされます。このチェックサムはパケット認証手順の一部と見なされます。一部の認証タイプではチェックサム計算は省略されます。

AuType
   パケットに使用される認証手順を識別します。認証については仕様の Appendix D で議論されています。現在定義されている認証タイプの一覧については Appendix D を参照してください。

Authentication
   認証スキームで使用するための 64 ビットフィールド。詳細は Appendix D を参照してください。

A.3.2 Hello パケット(The Hello packet)

Hello パケットは OSPF パケットタイプ 1 です。これらのパケットは、ネイバー関係(neighbor relationship)を確立し維持するために、すべてのインターフェース(仮想リンクを含む)上で定期的に送信されます。さらに、Hello パケットは、マルチキャストまたはブロードキャスト機能を持つ物理ネットワーク上でマルチキャストされ、隣接ルーターの動的な発見を可能にします。

共通のネットワークに接続されたすべてのルーターは、特定のパラメータ(Network mask、HelloInterval、RouterDeadInterval)について合意する必要があります。これらのパラメータは Hello パケットに含まれるため、差異があるとネイバー関係の形成を妨げます。Hello パケットの受信処理の詳細な説明はセクション 10.5 に、Hello パケットの送信はセクション 9.5 で扱われています。


    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Version #   |       1       |         Packet length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Router ID                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Area ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Checksum            |             AuType            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Network Mask                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         HelloInterval         |    Options    |    Rtr Pri    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     RouterDeadInterval                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Designated Router                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   Backup Designated Router                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Neighbor                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |


Network mask
   このインターフェースに関連付けられたネットワークマスク。たとえば、インターフェースがクラス B ネットワークで、サブネット化に第 3 バイトを使用する場合、ネットワークマスクは 0xffffff00 です。

Options
   セクション A.2 に記載されている、ルーターがサポートするオプション機能。

HelloInterval
   このルーターの Hello パケット間の秒数。

Rtr Pri
   このルーターの Router Priority。(Backup)Designated Router の選出に使用されます。0 に設定すると、ルーターは(Backup)Designated Router になる資格がなくなります。

RouterDeadInterval
   サイレントなルーターをダウンと宣言するまでの秒数。

Designated Router
   送信ルーターの見解における、このネットワークの Designated Router の識別子。Designated Router はここではネットワーク上の IP インターフェースアドレスで識別されます。Designated Router が存在しない場合は 0.0.0.0 に設定されます。

Backup Designated Router
   送信ルーターの見解における、このネットワークの Backup Designated Router の識別子。Backup Designated Router はここではネットワーク上の IP インターフェースアドレスで識別されます。Backup Designated Router が存在しない場合は 0.0.0.0 に設定されます。

Neighbor
   ネットワーク上で最近有効な Hello パケットが確認された各ルーターの Router ID。「最近」とは、最後の RouterDeadInterval 秒以内を意味します。

A.3.3 Database Description パケット(The Database Description packet)

Database Description パケットは OSPF パケットタイプ 2 です。これらのパケットは、隣接関係(adjacency)の初期化時に交換されます。これらはリンクステートデータベースの内容を記述します。データベースを記述するために複数のパケットが使用される場合があります。この目的のために、ポーリング・レスポンス手順(poll-response procedure)が使用されます。一方のルーターがマスター(master)、もう一方がスレーブ(slave)に指定されます。マスターは Database Description パケット(ポール)を送信し、スレーブが送信する Database Description パケット(レスポンス)によって確認応答されます。レスポンスはパケットの DD sequence number を通じてポールに関連付けられます。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Version #   |       2       |         Packet length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Router ID                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Area ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Checksum            |             AuType            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Interface MTU         |    Options    |0|0|0|0|0|I|M|MS
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     DD sequence number                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +-                                                             -+
   |                                                               |
   +-                      An LSA Header                          -+
   |                                                               |
   +-                                                             -+
   |                                                               |
   +-                                                             -+
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |


Database Description パケットのフォーマットは、Link State Request パケットおよび Link State Acknowledgment パケットの両方と非常に似ています。この 3 つすべての主要部分はアイテムのリストであり、各アイテムはリンクステートデータベースの一部を記述します。Database Description パケットの送信はセクション 10.8 に、受信はセクション 10.6 に記載されています。

Interface MTU
   断片化なしに、関連するインターフェースから送信できる最大の IP データグラムのサイズ(バイト単位)。一般的なインターネットリンクタイプの MTU は [Ref22] の Table 7-1 にあります。Interface MTU は、仮想リンク上で送信される Database Description パケットでは 0 に設定する必要があります。

Options
   セクション A.2 に記載されている、ルーターがサポートするオプション機能。

I-bit
   Init ビット。1 に設定されると、このパケットは Database Description パケットのシーケンスの最初のものです。

M-bit
   More ビット。1 に設定されると、それ以降に Database Description パケットが続くことを示します。

MS-bit
   Master/Slave ビット。1 に設定されると、ルーターが Database Exchange プロセス中のマスターであることを示します。それ以外の場合、ルーターはスレーブです。

DD sequence number
   Database Description パケットの集まりをシーケンス付けするために使用されます。初期値(Init ビットが設定されていることで示される)は一意である必要があります。その後、完全なデータベース記述が送信されるまで DD sequence number がインクリメントされます。

パケットの残りの部分は、リンクステートデータベースの構成要素の(部分的な場合もある)リストで構成されます。データベース内の各 LSA は、その LSA ヘッダによって記述されます。LSA ヘッダはセクション A.4.1 に記載されています。これには、LSA および LSA の現在のインスタンスの両方を一意に識別するために必要なすべての情報が含まれています。

A.3.4 Link State Request パケット(The Link State Request packet)

Link State Request パケットは OSPF パケットタイプ 3 です。隣接するルーターと Database Description パケットを交換した後、ルーターは自身のリンクステートデータベースの一部が最新でないことに気付く場合があります。Link State Request パケットは、より最新の隣接ルーターのデータベースの構成要素を要求するために使用されます。複数の Link State Request パケットが必要になる場合があります。

Link State Request パケットを送信するルーターは、要求しているデータベースの構成要素の正確なインスタンスを念頭に置いています。各インスタンスは、その LS sequence number、LS checksum、および LS age によって定義されますが、これらのフィールドは Link State Request パケット自体には指定されません。ルーターは、より新しいインスタンスで応答を受信する場合があります。

Link State Request パケットの送信はセクション 10.9 に、受信はセクション 10.7 に記載されています。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Version #   |       3       |         Packet length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Router ID                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Area ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Checksum            |             AuType            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          LS type                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Link State ID                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Advertising Router                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |


要求される各 LSA は、その LS type、Link State ID、および Advertising Router によって指定されます。これは LSA を一意に識別しますが、そのインスタンスまでは識別しません。Link State Request パケットは、最新のインスタンス(何であれ)の要求と見なされます。

A.3.5 Link State Update パケット(The Link State Update packet)

Link State Update パケットは OSPF パケットタイプ 4 です。これらのパケットは LSA のフラッディングを実装します。各 Link State Update パケットは、LSA の集まりを発信元からさらに 1 ホップ運びます。1 つのパケットに複数の LSA を含めることができます。

Link State Update パケットは、マルチキャスト/ブロードキャストをサポートする物理ネットワーク上でマルチキャストされます。フラッディング手順を確実なものにするため、フラッディングされた LSA は Link State Acknowledgment パケットで確認応答されます。特定の LSA の再送信が必要な場合、再送信される LSA は常にネイバーに直接送信されます。LSA の確実なフラッディングの詳細については、セクション 13 を参照してください。

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Version #   |       4       |         Packet length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Router ID                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Area ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Checksum            |             AuType            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            # LSAs                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +-                                                            +-+
   |                             LSAs                              |
   +-                                                            +-+
   |                              ...                              |


# LSAs
   この更新に含まれる LSA の数。


Link State Update パケットの本体は LSA のリストで構成されます。各 LSA は、セクション A.4.1 で説明される共通の 20 バイトヘッダで始まります。さまざまなタイプの LSA の詳細なフォーマットはセクション A.4 で説明されています。

A.3.6 Link State Acknowledgment パケット(The Link State Acknowledgment packet)

Link State Acknowledgment パケットは OSPF パケットタイプ 5 です。LSA のフラッディングを確実なものにするため、フラッディングされた LSA は明示的に確認応答されます。この確認応答は、Link State Acknowledgment パケットの送受信を通じて行われます。1 つの Link State Acknowledgment パケットで複数の LSA を確認応答できます。

送信インターフェースの状態および対応する Link State Update パケットの送信者に応じて、Link State Acknowledgment パケットは、マルチキャストアドレス AllSPFRouters 宛、マルチキャストアドレス AllDRouters 宛、またはユニキャストとして送信されます。Link State Acknowledgement パケットの送信はセクション 13.5 に、Link State Acknowledgement パケットの受信はセクション 13.7 に記載されています。

このパケットのフォーマットは Data Description パケットのフォーマットと似ています。両方のパケットの本体は、単なる LSA ヘッダのリストです。


    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Version #   |       5       |         Packet length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Router ID                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Area ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Checksum            |             AuType            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Authentication                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +-                                                             -+
   |                                                               |
   +-                         An LSA Header                       -+
   |                                                               |
   +-                                                             -+
   |                                                               |
   +-                                                             -+
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |


確認応答される各 LSA は、その LSA ヘッダによって記述されます。LSA ヘッダはセクション A.4.1 に記載されています。これには、LSA および LSA の現在のインスタンスの両方を一意に識別するために必要なすべての情報が含まれています。