理系学生日記

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

忍者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 (108) を帯域幅で割った値がリンクコストとなる.この 100 M は以下のコマンドで変更が可能.

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

**OSPF ルータ同士の関係

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