【図解/OSPF】LSA Type5 (AS External LSA)のフォーマットと詳細 | SEの道標
OSPF

【図解/OSPF】LSA Type5 (AS External LSA)のフォーマットと詳細

OSPFv2 LSA Type5 のフォーマット

OSPFv2 において使われる LSA Type5 (AS External LSA) のフォーマットを以下に示します。

Age

その LSA が生成されてから現在までの時間 (単位:秒) です。LSDB にいる間 1 秒につき 1 が加算されます。また、LSA が他のルータへ送られる際は "InfTransDelay" の設定値の分だけ加算されます。

Options

詳細はこちらに記載します

LSA Type

その名の通り、LSA Type を表します。今回は Type 5 なので Ox05 が入ります。

Link State ID

再配送する外部ルートの NW アドレスが入ります。

Advertising Router

その LSA を生成したルータのルータ ID が入ります。

Sequence Number

新しい LSA インスタンスが生成されるたびに 1 ずつ増え、全てのルータが 最新の LSA インスタンスを識別できるようにします。

Checksum

Fletcher チェックサムを利用しており、Age 以外の部分の bit エラーが無いかを確認します。

Length

ヘッダ長を含めた LSA 全体の長さ (単位:オクテット) を表します。

Network Mask

Link State ID の NW アドレスのサブネットマスクを表現します。

"E"フラグ

外部ルートのメトリックタイプを示します。0 の場合はメトリックタイプ 1 (E1) となり、1 の場合はメトリックタイプ 2 (E2) となります。

メトリック

その外部ルートまでのメトリック (コスト) が入ります。

前述の通り、このメトリックはどのルータに伝達されても変化しません。ルーティングテーブルに入るタイミングであれば変化させることができます。

その場合はメトリックタイプ 1 を設定しますが、それでもやはり LSA Type5 のメトリック値は変わらず、(エリア内の場合は) LSA Type1 もしくは (エリア外の場合は) LSA Type4 の情報と合わせてコスト計算します。

詳細は LSA Type 4 の説明を参照下さい

ToS と ToSメトリック

LSA Type1 と同様です。

Forwarding Address

その外部ルートへの転送先を表しますが特殊な場合を除き、0.0.0.0 がセットされます。

0.0.0.0 以外の場合は、その外部ルートがルーティングテーブルに載る際は ASBR までのルート情報を再帰的に見て行き、Connected の NW の NextHop に変換されます。

0.0.0.0 以外になる場合は例えば以下のときです。

R1 は OSPF には参加していないが、RIPv2 を動作しており、R2 は RIPv2 と OSPF の両方に参加、R3 は OSPF のみに参加している場合を考えます。

R1 の Loopback 0 のインタフェースの NW アドレス「1.1.1.0/24」が RIP 経由で R2 の再配送で R3 に外部ルートとして 伝達されます。

このとき、R2 はルーティング情報として 1.1.1.0/24 の NextHop が 10.0.123.1 であることを意識し、R3 へ伝える際に Forwarding Address を 10.0.123.1 にセットします

そしてルーティングテーブルの NextHop にはこの 10.0.123.1 が入ります。

External Route Tag

再配送する際にタグを付けて管理をすることができます。

例えば、以下のような RIP と OSPF の再配送を考えます。

R4 が R3 よりも先に R2 から1.1.1.0/24 の情報を受け取ったとします。

すると R4 は R3 へ AD 値 110 で 1.1.1.0/24 を伝えます。

R3 では AD 値に従って RIP より OSPF のルートを優先しますので、OSPF から RIP への再配送で R1 に NextHop=R3 で 1.1.1.0/24 のルート情報を送ります。

これにより R3⇒R4⇒R2⇒R1⇒R3 のループが生成されます。

仮に R4 が R2 よりも先に R3 から 1.1.1.0/24 の情報を受け取った場合は逆向きのループが生成されます。

ループを防ぐため、RIP から OSPF に再配送する際に External Route Tag に値をセットします。

R2 で tag=2 をセットし、R3 で tag=3 をセットします。また、R2 では tag=3 のルートを受信拒否、 R3 では tag=2 のルートを受信拒否します。

このように、タグを使うことで簡単にループを回避できます。

コメント

タイトルとURLをコピーしました