【図解/OSPF】LSA Type7 (NSSA External LSA)のフォーマットとForwardingAddressについて

OSPFv2 において使われる LSA Type7 (NSSA External LSA) のフォーマットを以下に示します。 LSA Type5 と同じフォーマットになります。

意味合いが異なるフィールドは Forwarding Address のみで、他のフィールドは Type5 と同一になります。

【図解/OSPF】LSA Type5 (AS External LSA)のフォーマットと詳細
【図解/OSPF】LSA Type5 (AS External LSA)のフォーマットと詳細
OSPFv2 において使われる LSA Type5 (AS External L...

Forwarding Address には、再配布する ASBR の中で OSPF が有効になっているインタフェースの IP アドレスが入ります。

OSPF が有効になっている Loopback アドレスがあれば、それが優先され、複数ある場合は一番高い IP アドレスが優先されます。

例えば以下の構成の場合、R3 の Loopback 0 インタフェースの IP アドレスがセットされます。

もし Loopback インタフェースで OSPF が有効になっていない場合は、例え Loopback アドレスがルータ ID になっていてもそれは採用されず、 10.0.35.3 がセットされます。

この Type7 は Area0 に入るタイミングで Type5 に変換されます。先ほどの構成例の場合、R1 の Type5 は下記のようになります。

ここで 1つ実験します。

R3 の Loopback アドレスを R2 のフィルタ設定で Area23 から Area0 に入るのを止めてみます。

Cisco の場合は R2 で「filter-list」や 「area 23 3.3.3.0 255.255.255.0 not-advertise」を設定して止めます。

すると R1 では、ルーティングテーブルから 3.3.3.0/24 だけでなく、4.4.4.0/24 も消えてしまいます。4.4.4.0/24 の LSA type5 が LSDB にあるにも関わらずです。

これは Forwarding Address があるのに、その Forwarding Address までのルート情報が無いためです。

この場合は、Forwarding Address を 0.0.0.0 にする必要があります。そうすることにより、前の記事の通り、ルートが伝わってきた R2 を NextHop としてセットします。

Cisco の場合は R2 で以下コマンドを打ちます。

(config-router)# area 23 nssa translate type7 suppress-fa

これにより、R2 で Type7 から Type5 へ変換する際に Forwarding Address を 3.3.3.3 から0.0.0.0 へ変換することができ、R1 のルーティングテーブルに、 3.3.3.0/24 だけを消し、4.4.4.0/24 を載せることができます。