理系学生日記

おまえはいつまで学生気分なのか

忍者TOOLS

OSPF (Open Shortest Path First)

リンクステート型の IGP.ネットワークのエリアへの分割を可能にすることで,大規模ネットワークに対応.

エリア

  • バックボーンエリアが一番偉い.エリア番号は 0 で固定.エリアとエリアを繋ぐ役割を果たす.
  • 標準エリア.他のエリアとの通信の際は,一度バックボーンエリアを介す必要がある.
  • あとはスタブエリア,トータリースタブエリア,NSSA とか.
エリアによるルータの種類
  • 内部ルータ:全インタフェースが同じエリアにあるルータ
  • ABR (Area Boarder Router):複数のエリアに接続されているルータ
  • ASBR (Anonymous System Boarder Router):外部 AS にも接続されているルータ
  • バックボーンルータ:一つ以上のインタフェースがバックボーンエリアに接続されているルータ

ルータの役割

BMA (Broadcast MultiAccess) では,同じネットワーク上にいる OSPF ルータの中から,DR (Designated Router) と BDR (Backup Designated Router) が選出される.他の OSPF ルータは DROTHER と呼ばれる.ポイントツーポイントネットワークでは選出されない (必要がない)

BMA において,DROTHER は 224.0.0.6 のマルチキャストアドレスに LSA を送信するが,これを受信するのは DR と BDR のみである.DR はこれを受けて,他のルータに対し 224.0.0.6 マルチキャストアドレス宛に LSA を送信する.これによって,LSA によって生じるトラフィックを減らす.OSPF にはそれぞれのルータにプライオリティ値が振られており (デフォルト値は 1),その値が最大のものが DR,次点が BDR となる仕組み.もしプライオリティ値が同じ場合は,ルータ ID が大きい方が選ばれる.なお,プライオリティ値が 0 のルータは DR,BDR には選出されない.

NBMA (NonBroadcast MultiAccess) においてはマルチキャストがサポートされないために,ユニキャストで LSA 等を送信する必要がある.隣接関係も手動で設定する必要あり.

(config-router)# neighbor neigbor's-ip [priority value]

ルータ ID

32 bit で構成.

(config-router)# router-id id

上記コマンドで明示的に指定していない場合は,ルーパバックインタフェースの IP アドレスのうち最大のもの,それもない場合は有効状態になっているインタフェースの最大の IP アドレスがルータ ID となる.OSPF を有効にした時点でルータ ID は固定され,その後の変更は反映されない.

OSPF のルータ ID の確認は

# show ip ospf

でどうぞ.

テーブル

OSPF で使われるテーブルは以下の 3 つ.

ネイバーテーブル

同一セグメント上でかつ,Hello パケットによって関係が確率された OSPF ルータが格納されたテーブル

トポロジテーブル

ネイバーから収集した LBA (Link Broadcast Advertisement) で作成した,ネットワークトポロジに関するテーブル.LSDB (Link-State DataBase) とも呼ばれる.

ルーティングテーブル

その名前のまま

パケットの種類

Hello パケット

ネイバー関係の確立と生存確認を行うためのパケット.デフォルトでは 10 秒間隔で定期的に送信され,40 秒間届かない場合にネイバー関係は消失する (ただし,NBMA ネットワークについてはそれぞれ 3 倍の秒数になる).

Database Description パケット

自身の LSDB 情報を他の OSPF ルータに伝えるためのパケット.

Link State Request パケット

他の OSPF ルータから Database Description パケットを受信したときに知らないノードの情報などがあれば,そのノードへ LSA の送信をお願いするために送出するパケット

Link State Update パケット

Link State Request への対応として送信する.

Link State Acknowledgement パケット

Hello 以外のパケットに対して返送する,確認応答パケット.OSPF はこれによって信頼性を確保する.

メトリック

OSPF ではコストと呼ばれる.宛先までの各リンクコストの合計が最小となる経路がルーティングテーブルに格納される.Cisco の場合,100 M (10^8) を帯域幅で割った値がリンクコストとなる.この 100 M は以下のコマンドで変更が可能.

(config-router)# auto-cost reference-bandwidth width (単位は M)

OSPF ルータ同士の関係

Hello パケットを交換しあう関係が Neighbor.それに加えて,LSA パケットを交換しあうのが Adjacency.Adjacency 確立されたとき,FULL State と言う.ポイントツーポイントのネットワークでは,2 台のルータは Adjacency の関係となる.