無料ブログはココログ

« 【BFD】 7. BFDは指名ルータ問題を救うか? | トップページ | 【OSPF】 8. OSPFの豆知識 »

【OSPF】 7. p2mpが指名ルータを救う

7. p2mpが指名ルータを救う

前回までのあらすじ
ネットワークを二重化構成にしていても、障害の発生した場所が指名ルータになっていると、 通信が途絶える時間は長くなってしまう。 これは古い指名ルータの作成したネットワークLSAが無効になってしまうためである。 新しい指名ルータが選ばれるには、Router Dead Interval待たなければならない。

指名ルータとは

ブロードキャスト型のネットワークの場合、同じセグメントに多数のルータが同居することになります。 その場合、ルータ同士が直接隣接関係を作ると、自分以外の(N-1)台のルータを意識しなければなりません。 リンクステート型では、相手がどのLSAを持っているのか常に把握している必要がありますので、隣接数が多いとこれは大変です。 OSPFではこれを工夫して、誰か一人をそのLANの代表者とし、そこを中心に隣接関係を構築します。

実際にはバックアップ指名ルータもいますので、2台のルータと隣接関係を構築します。 LAN上に4台以上のルータがいると、ネイバー状態を表示したときに2WAY以上に進まないルータが出てきますが、まったく問題ありません(たとえば上の図でいうとRa-Rb間は2way止まりです。

指名ルータをなくすには

指名ルータを使うことで、全体的な処理負荷を下げることができるわけですが、 ノードの数がそう多くないなら、あまり効果は望めないと言えます。

OSPFではブロードキャスト型以外に、point-to-multipoint(以下p2mp)というタイプが使えます。 基本的にATMとかフレームリレーのような、point-to-pointの集まったネットワークに使用するのですが、 実はイーサネットの上でも使えます。 試してみましょう。

次の図で、R1-R2-R7のLAN(ピンクの網掛け部分)をp2mpに変更してみます。

R7(Cisco)の設定は次(↓)のようにします。 タイプをp2mpに変えるとHelloインターバルが自動的に30秒になってしまいます。 これだとJuniperと一致しなくなってしまいますので、手動で10秒に戻します。 ip mtuもjuniperと一致させるために設定しています。 (一致させないとOSPFのDDのシーケンスではじかれてしまいます)。

!
interface Ethernet1
 ip address 192.168.1.7 255.255.255.0
 ip mtu 1486
 ip ospf network point-to-multipoint
 ip ospf hello-interval 10
 ip ospf priority 0

Juniperはこう(↓)します。 Juniperの場合、p2mpを設定すると、既知のネイバーにしかHelloを送信しません。 R7(Cisco)はマルチキャストでHelloを出してくれるので、 R7-R1やR7-R2は自動でネイバーを確立しますが、 R1-R2間のネイバーには手動設定が必要です。

ospf {
    area 0.0.0.0 {
        interface fe-0/0/0.0 {
            interface-type p2mp;
            metric 10;
            neighbor 192.168.1.2;
            neighbor 192.168.1.7;
        }
        interface lo0.0;
        interface fxp0.0 {
            disable;
        }
        interface so-0/1/0.0 {
            metric 10;
        }
    }
}

設定したら、LSAの一覧を調べてみましょう。 どのルータで実行しても同じですが、R4でshow ip ospf databaseコマンドを入力してみます(↓)。 ネットワークLSAが一つ無くなっていることがわかります。 192.168.1.0/24のセグメントには指名ルータがいないので、192.168.1.0/24のネットワークLSAは無くなりました。

R4#show ip ospf database

            OSPF Router with ID (192.168.254.4) (Process ID 100)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
192.168.254.1   192.168.254.1   976         0x80000194 0x00458F 6
192.168.254.2   192.168.254.2   987         0x800001DF 0x00E730 6
192.168.254.4   192.168.254.4   192         0x80000029 0x00D478 3
192.168.254.5   192.168.254.5   181         0x80000024 0x00755F 2
192.168.254.6   192.168.254.6   1883        0x80000031 0x007F86 4
192.168.254.7   192.168.254.7   1371        0x8000002D 0x0091BD 4

                Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
192.168.2.6     192.168.254.6   1883        0x80000027 0x006681
R4#

次にR1(Juniper)が生成したルータLSAを見てみます(↓)。 青字になっているところが変化したところです。 自分のインタフェースアドレス192.168.1.1/32のホストルートを広告しているのが分かります。

R4#show ip ospf database router adv-router 192.168.254.1

            OSPF Router with ID (192.168.254.4) (Process ID 100)

                Router Link States (Area 0)

  LS age: 1065
  Options: (No TOS-capability, No DC)
  LS Type: Router Links
  Link State ID: 192.168.254.1
  Advertising Router: 192.168.254.1
  LS Seq Number: 80000194
  Checksum: 0x458F
  Length: 96
  Number of Links: 6

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 192.168.1.1
     (Link Data) Network Mask: 255.255.255.255
      Number of TOS metrics: 0
       TOS 0 Metrics: 0

    Link connected to: another Router (point-to-point)
     (Link ID) Neighboring Router ID: 192.168.254.7
     (Link Data) Router Interface address: 192.168.1.1
      Number of TOS metrics: 0
       TOS 0 Metrics: 10

    Link connected to: another Router (point-to-point)
     (Link ID) Neighboring Router ID: 192.168.254.2
     (Link Data) Router Interface address: 192.168.1.1
      Number of TOS metrics: 0
       TOS 0 Metrics: 10

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 192.168.254.1
     (Link Data) Network Mask: 255.255.255.255
      Number of TOS metrics: 0
       TOS 0 Metrics: 0

    Link connected to: another Router (point-to-point)
     (Link ID) Neighboring Router ID: 192.168.254.4
     (Link Data) Router Interface address: 0.0.0.70
      Number of TOS metrics: 0
       TOS 0 Metrics: 10

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 192.168.254.4
     (Link Data) Network Mask: 255.255.255.255
      Number of TOS metrics: 0
       TOS 0 Metrics: 10

R7(Cisco)が生成したルータLSAを見てみましょう(↓)。 Juniperと同じく、自足のインタフェースアドレス192.168.1.7/32のホストルートを広告しています。

R4#show ip ospf database router adv-router 192.168.254.7

            OSPF Router with ID (192.168.254.4) (Process ID 100)

                Router Link States (Area 0)

  LS age: 1590
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 192.168.254.7
  Advertising Router: 192.168.254.7
  LS Seq Number: 8000002D
  Checksum: 0x91BD
  Length: 72
  Number of Links: 4

    Link connected to: another Router (point-to-point)
     (Link ID) Neighboring Router ID: 192.168.254.1
     (Link Data) Router Interface address: 192.168.1.7
      Number of TOS metrics: 0
       TOS 0 Metrics: 10

    Link connected to: another Router (point-to-point)
     (Link ID) Neighboring Router ID: 192.168.254.2
     (Link Data) Router Interface address: 192.168.1.7
      Number of TOS metrics: 0
       TOS 0 Metrics: 10

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 192.168.1.7
     (Link Data) Network Mask: 255.255.255.255
      Number of TOS metrics: 0
       TOS 0 Metrics: 0

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 192.168.254.7
     (Link Data) Network Mask: 255.255.255.255
      Number of TOS metrics: 0
       TOS 0 Metrics: 1

192.168.1.0/24のネットワークLSAが無くなり、 なおかつルータLSAでは自足のインタフェースアドレスしか広告してませんから、 他のルータから見ると・・・
次のように、192.168.1.0/24のセグメントはホストルートしか見えないことになります。

R4#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 1 subnets
C       172.16.2.0 is directly connected, FastEthernet0/0
O    192.168.26.0/24 [110/21] via 192.168.2.6, 00:05:01, FastEthernet1/0
     192.168.254.0/32 is subnetted, 6 subnets
O       192.168.254.6 [110/2] via 192.168.2.6, 00:05:01, FastEthernet1/0
O       192.168.254.7 [110/21] via 192.168.254.1, 00:05:01, POS2/0
C       192.168.254.4 is directly connected, Loopback0
O       192.168.254.5 [110/2] via 192.168.2.5, 00:05:01, FastEthernet1/0
O       192.168.254.2 [110/21] via 192.168.2.6, 00:05:01, FastEthernet1/0
O       192.168.254.1 [110/10] via 192.168.254.1, 00:05:01, POS2/0
     192.168.1.0/32 is subnetted, 3 subnets
O       192.168.1.1 [110/10] via 192.168.254.1, 00:05:01, POS2/0
O       192.168.1.2 [110/21] via 192.168.2.6, 00:05:01, FastEthernet1/0
O       192.168.1.7 [110/20] via 192.168.254.1, 00:05:01, POS2/0
C    192.168.2.0/24 is directly connected, FastEthernet1/0
R4#

このことはつまり、そのセグメントにホスト(PC)を接続しても、外からは通信できないことを意味します。 あくまでルータ間のリンクしか使えない技であることに注意しましょう。

切り替え速度は速くなるのか?

R5→R7にpingを打ちながら、R1(Juniper)のfe-0/0/0を抜いてみましょう。

R5#ping
Protocol [ip]:
Target IP address: 192.168.254.7
Repeat count [5]: 1000000
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 1000000, 100-byte ICMP Echos to 192.168.254.7, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!...!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 99 percent (473/476), round-trip min/avg/max = 1/3/8 ms
R5#

6秒ほどの通信断時間の後、経路が切り替わりました。 CiscoのSPF Delayが5秒ですから、悪くない数字です。

このように、ルータ間のネットワークタイプをp2mpにすることで指名ルータを排除し、 経路の切り替え速度を上げることができます。

つづく。

« 【BFD】 7. BFDは指名ルータ問題を救うか? | トップページ | 【OSPF】 8. OSPFの豆知識 »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/54859/1598488

この記事へのトラックバック一覧です: 【OSPF】 7. p2mpが指名ルータを救う:

« 【BFD】 7. BFDは指名ルータ問題を救うか? | トップページ | 【OSPF】 8. OSPFの豆知識 »