LoginSignup
0
0

More than 3 years have passed since last update.

ダイナミックルーティングについて簡単に纏めておく

Posted at

メトリックを使用した最適経路の選択

ダイナミックルーティングには様々なプロトコルを利用しますが、各プロトコルはそれぞれ異なるメトリックを使って、最適な経路を選択します。

ディスタンスベクター型ルーティングプロトコル

定期的にルーティングのアップデートをおこない、ネイバーにのみアドバタイズします。
アドバタイズにはブロードキャストが使われます。

経由するルータの数(ホップ数)で判断

ホップ数で経路を判断します。
直接接続されたインターフェイスはディスタンスが0となります。

ネイバーの情報に基づいて送信先への最適経路を判断

ネイバールータはネイバー以外のルータ情報も送信し、ルータはネイバーからのメトリック情報に基づいて、直接接続されていないネットワークへの経路を選択します。

ディスタンスベクター型のメトリック

メトリックは以下の項目を基にして算出されます。

関係項目 説明
ホップカウント 宛先に到達するまでのルータの数
帯域幅 リンクのデータキャパシティ
遅延 パケットが回線を通過するのに必要な時間
負荷 回線の帯域幅に対するトラフィック量の割合
信頼性 各ネットワークリンクのビットエラーレート
最大伝送ユニット 送信可能なデータの最大値

リンクステート型ルーティングプロトコル

主なルーティング動作

各ルータが自身でネットワーク全体の詳細な構成図を作成し、構成図をもとに最適な経路を計算します。実際には①リンクステートと言うネットワーク内の他のルータとインターフェイスの情報を交換して、ネットワークのトポロジに関する詳細な②データベースを作成し、それを維持し続けます。宛先への最適経路を求めるためにDijkstra(ダイクストラ)アルゴリズムを用います。

①LSA(Link State Advertisement)を交換
 リンクステート情報のことです

②LSDB(Link State Data Base)を作成
リンクステート・データベース

アップデートは「隣接関係」のルータ間で行われる

リンクステート型ルーティングプロトコルでは「隣接関係」と呼ばれる関係になったルータ同士でのみ情報を交換し、ネットワークを学習します。
情報を交換するトリガーとなるのは、ネットワークが追加されたり、障害が発生したことによるネットワークのトポロジー変更です。
このようなトリガーによってアップデートされることをトリガーアップデートと言います。

OSPFとは

OSPF (Open Shortest Path Fast)

リンクステート型ルーティングプロトコルのひとつで、ネットワークトポロジ変更時にアップデートをマルチキャストで送信します。
OSPFはクラスレスルーティングプロトコルなので、送信データにはサブネットマスクが含まれます。
メトリックはコスト値(主にインターフェイスの帯域幅により決定する値)を使います。
宛先までのコスト値が最小の経路を最適経路とします。
RIPは最大ホップ数が15でしたが、OSPFには最大ホップ数の制限がありません。

項目 OSPFの場合
アップデート時の宛先 マルチキャスト
メトリック コスト値
最大のホップ数 制限なし
認証機能 パスワードによる認証あり

OSPF Helloパケットとネイバー関係

Helloパケットを投げてどのルータがOSPFの仲間か探す

ルータでOSPFが有効化されると、Helloパケットをマルチキャスト(224.0.0.5:全OSPFルータ宛)で送信して、他のOSPFルータを自動で検知します。
検出したネイバールータの情報をネイバーテーブルに保存します。このとき、ネイバールータ については、ネイバールータのルータIDが登録されます。
ネイバーテーブルにお互いが登録しあっている状態のことをネイバー関係といいます。(ネイバーを張っているとも)

Helloパケットを投げてネイバーが生きているか確かめる

ネイバー関係にあるルータ同士はお互いが動作しているかをHelloパケットにより確かめ合います。
この確かめる間隔は10秒(Hello Interval)です。

10秒×4回つまり40秒の間(Dead Interval)、Helloパケットが確認できない場合は、ダウンしたと判断されます。
このHello IntervalとDead Intervalの間隔は変更することができますが、ネイバーを張っている機器どうしで異なる場合は、ネイバーを張ることができません。

ネットワークトポロジーアップデートと隣接関係

アップデート時のトラッフィックを小さくするため決まったルータに情報を集める

DR(Designated Router:指定ルータ)とBDR(Backup Designated Router:バックアップ指定ルータ)を一台ずつ選出して、このルータだけにLSAを送信することでトラフィックを小さくします。

DRとBRDの選ばれかた

次のルールで選ばれます。

  1. OSPFプライオリティが最大のルータがDR、次がBDR(OSPFのプライオリティのデフォルト値は1)
  2. 上記が同じ場合、ルータID(ルータに付与されているIPアドレス)が最大のルータがDR、次がBDR

DRとBDRは一度選ばれると、その機器がダウンするまで、再び別の機器が選ばれることはありません。

OSPFの隣接関係

DRとBDR以外のルータはDROTHERと呼ばれるルータになります。
DROTHERはDRとBDRとのみ隣接関係(adjacency関係)と呼ばれる関係になります。

隣接関係にあるルータでLSAを交換する

OSPFでは全ルータ間で直接LSAを交換するのではなく、マルチキャスト(224.0.0.6)宛にLSAを送信します。
224.0.0.6はDR、BDR宛のマルチキャストアドレスです。
LSAを受け取ったDRは224.0.0.5(全OSPFルータ宛)にLSAを送信し、他ルータのアップデートを行います。

ルータはLSAを受け取るとLSDBに登録する

LSAをLSDBに登録するので、OSPFによってネイバー関係にあるルータは全て同じLSDBを持つことになります。
LSDBに対してDijkstraアルゴリズムを使用して最適な経路を計算し、自身のルーティングテーブルを作成します。

LSDBのアップデートは30分間隔

OSPFでは、30分に一回LSAの交換を行い、LSDBのアップデート、ルーティングテーブルの更新を行います。

OSPFエリアとは

ネットワークの規模が大きくなるとLSAの交換が多くなったり、LSDBの容量が膨大になる恐れがあります。

そこで、OSPFはエリアという概念を持ちます。エリアとは、完全なLSA情報を交換する集合体を意味し、他のエリアには自身のエリア情報を要約して通知します。

必ず必要なエリア0 バックボーンエリア

OSPFをエリアで分割する、しない関わらず必ず存在しなければならないエリアがエリア0です。
これはバックボーンエリアと呼ばれます。

エリアボーダルータ ABR

下の図のようにルータAとルータBはエリアの境界になっています。
このようになルータをABR(エリアボーダルータ)と呼びます。
ルータAはエリア1のLSDBの内容を要約し、他のエリアへ通知し、ルータBはエリア2のLSDBの内容を要約し他のエリアへ通知をします。

スクリーンショット 2020-04-29 21.02.06.png

OSPFの設定方法

プロセスIDを指定する

一つのルータで複数のOSPFを動かすことができるため、それらを識別するためのIDとしてプロセスIDがあります。
1-65535までの間で任意に指定ができ、他のルータと合わせる必要もありません。

RouterA(config)# router ospf 1
RouterA(config-router)#

ルータにconnnectedされているネットワークを登録してあげる

OSPFを有効にするには以下のようにconnectedのネットワークをワイルドカードマスクで登録します。
下の例では192.168.1.0/24、192.168.2.0/24のネットワークでOSPFを有効化し、その2つのネットワークをエリア0と認識し、他のルータへ通知しています。
また、その2つのネットワーク経由で、他のルータからLSAを取得しています。

RouterA(config-router)# network 192.168.1.0 0.0.0.255 area 0
RouterA(config-router)# network 192.168.2.0 0.0.0.255 area 0

設定の確認をしてみる

show runでOSPFの設定状況を確認できます。

RouterA# show run

--省略---

router ospf 1
 network 192.168.1.0 0.0.0.255 area 0
 network 192.168.2.0 0.0.0.255 area 0

プロトコルの状態を表示してみる

以下のコマンドで、ルータ情で有効なルーティングプロトコルの状態を確認できます。

RouterA# show ip protocols 
Routing Protocol is "ospf 1"
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Router ID 192.168.2.1
  Number of areas in this router is 1.
 1 normal 0 stub 0 nssa
  Maximum path: 2
  Routing for Networks:
    192.168.1.0 0.0.0.255 area 0
    192.168.2.0 0.0.0.255 area 0
 Reference bandwidth unit is 100 mbps
  Routing Information Sources:
    Gateway         Distance      Last Update
    192.168.2.2           110      00:22:43                       //LSAを送信した隣接ルータ
  Distance: (default is 110)

OSPFが有効になっているインターフェイスの要約情報

以下のコマンドで、情報が取得できます。

RT-A#show ip ospf interface brief 
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Fa0/0        1     0               192.168.2.1/24     10    BDR   1/1
Fa0/1        1     0               192.168.1.1/24     10    DR    0/0

OSPFネイバー情報

OSPFが動作しているネイバーの情報を確認できます。

RT-A#show ip ospf neighbor 

Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.3.1       1   FULL/DR         00:00:35    192.168.2.2     FastEthernet0/0

Deadtimeは40分で切れる

RT-B#show ip ospf neighbor 

Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.2.1       1   FULL/BDR        00:00:34    192.168.2.1     FastEthernet0/1

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0