無料ブログはココログ

« 【OSPF】 1. リンクステートとトポロジマップ | トップページ | 【OSPF】 3. マップからルーティングテーブルへ »

【OSPF】 2. 地図を作るには

2. 地図を作るには

いちおう前回の解説をしておきます。 ルータ3台からなるOSPFネットワークを作りました。 人間はネットワークを設計するときに↓のような図を書くわけですが、 実はOSPFルータも内部で同じような事をやってるのです。

Ciscoルータでshow ip ospf database router、 show ip ospf database networkコマンドの表示結果をフラッシュに食わせると↓のような絵が描けたと思います。 緑色の丸がルータ、四角がネットワークを表しています。

このようにリンクステートデータベースというのは、 ネットワークの図を書くための情報がもれなく記述されていて、 ルータは機械的にその絵を作ることができるのです。 もっとも、ルータは絵を描きたいわけではなく、ルーティングテーブルを計算するのが目的です。

ルータLSAとは

ルータLSAはどのルータも必ず一つ作成し、インタフェースがどういうネットワークに繋がっているのかを記してます。 大雑把に言うと、どのアドレスにコストいくつで繋がっているか、という情報で構成されてます。


  LS age: 335
  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: 80000107
  Checksum: 0x47ED
  Length: 60
  Number of Links: 3

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 192.168.1.2
     (Link Data) Router Interface address: 192.168.1.1
      Number of TOS metrics: 0
       TOS 0 Metrics: 10

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 192.168.0.6
     (Link Data) Router Interface address: 192.168.0.1
      Number of TOS metrics: 0
       TOS 0 Metrics: 1

    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

青い文字の部分はLSAの共通ヘッダです。 そのLSAの種類は何なのか(ルータLSAなのかネットワークLSAなのか)、 誰が作ったのか、 作られて何秒経過したか、 等の情報が入ってます。

ルータLSAの中身は、どういうリンクに繋がっているのか、という情報がインタフェースの数だけ含まれてます。 Link connected to: a Transit Networkというのは、「他にもルータが存在するネットワークに繋がっている」という意味です。 Link connected to: a Stub Networkというのは、「自分以外にルータはいないネットワークに繋がっている」という意味です。

上記のルータLSAはR1が作ったものなのですが、R1-R6間はTransit、R1-R2間もTransit、あと一つループバックインタフェースというのを持っているのですが、これはStubです。 Transitに繋がっている場合、指名ルータのアドレスが重要な情報になります。 というのも、 OSPFでは指名ルータがネットワークLSAを作成するため、ルータLSAとネットワークLSAをくっつけるのにこの情報が必要になるのです。 Stubに繋がっている場合、それがどういうアドレス/マスクなのかを記します。

次にネットワークLSAを見てみましょう。R6が作成したネットワークLSAを次に示します (R6がネットワークLSAを作っているということは、R1-R6間のセグメントはR6が指名ルータになっていることを意味します)。


  Routing Bit Set on this LSA
  LS age: 1045
  Options: (No TOS-capability, DC)
  LS Type: Network Links
  Link State ID: 192.168.0.6 (address of Designated Router)
  Advertising Router: 192.168.254.6
  LS Seq Number: 80000034
  Checksum: 0x1140
  Length: 32
  Network Mask: /24
        Attached Router: 192.168.254.6
        Attached Router: 192.168.254.1

青い字は共通ヘッダです。 中身は何かというと、そのセグメントのサブネットマスクと、そのセグメントに存在するルータのリストです。

ルータLSAとネットワークLSAを繋ぐには

イーサネットでルータ間を接続していると、ネットワークLSAっていうのが出てきます。 地図を作るにはルータLSAとネットワークLSAを繋いでいくわけですが、これは次の手順で行います。

  1. ルータLSAを取り出します。
  2. Connection To: a Transit Networkになっているインタフェースを見つけたら、それはイーサに繋がっていて、他にもルータがいるセグメントだと考えます。
  3. そういうセグメントには指名ルータが必ず存在しますので、誰が指名ルータなのかを調べます。ルータLSAにちゃんと書いてあります。
  4. その指名ルータが作成したネットワークLSAを探します。Attached Routerにそのルータが入っているものを選びます。
  5. これでルータLSAとネットワークLSAが繋がりました。
  6. そのネットワークのアドレスは、ルータLSAに書かれたインタフェースアドレスと、ネットワークLSAに書かれたマスクを組み合わせることで判断します。

このようにしてルータLSA→ネットワークLSAを繋いでいくと、最終的に一つの地図ができるわけです。

つづく。

« 【OSPF】 1. リンクステートとトポロジマップ | トップページ | 【OSPF】 3. マップからルーティングテーブルへ »

トラックバック

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

この記事へのトラックバック一覧です: 【OSPF】 2. 地図を作るには:

« 【OSPF】 1. リンクステートとトポロジマップ | トップページ | 【OSPF】 3. マップからルーティングテーブルへ »