ルーティング・OSPF -隣接関係-


OSPF:近接関係の確立フロー

OSPFでは近接ルータから受信した Hello パケットに自ルータの情報が含まれていると、近接関係(neighbor)が確立される。

ただし、2台のルータで以下の情報が一致していないと隣接関係は確立されません。

  • Area-id
  • 認証(近接ルータになろうとしているルータは、特定のセグメントで同じパスワードを交換する必要があります。)
  • Hello インターバルと Dead インターバル
  • スタブ エリア フラグHello パケットスタブ エリア フラグも一致している必要があります。スタブ エリアについては後述。

OSPF:DRとBDRの選出

OSPFでは2way state確立後、ポイントツーポイントネットワークならそのままデータベースの交換が行われる。
ブロードキャストマルチアクセストポロジーNBMA トポロジー のマルチアクセスネットワークであれば、 DR(Designated Router)BDR(Backup Designated Router) を選出する必要がある。

  • DR(Designated Router)
    OSPFは、すべてのマルチアクセスネットワークにおいてネットワークセグメントごとに必ず1つだけのDRを持ちます。DRが選出されるとその他のRouterとAdjacency関係を形成し、LSAの交換を行う。更新が発生した場合もDRからLSAをMulticastによりAdvertiseする。
    こうすることにより、 マルチアクセスネットワークにおいてLSAPacketを大幅に減らすことが出来る。
  • BDR(Backup Designated Router)
    OSPFではDRがダウンした際に、DRの再選出を最小の時間で移行させるために、あらかじめバックアップ用のDR(BDR)を選出しておきます。
    BDRはDRと同様に他のRouterとAdjacency関係を形成します。
    BDRはDRと比較すると、flooding手続きにおいていくつかの役割をDRに任せることで、リンクステートのトラフィックを減らすようにしています。また、DRのもう1つの大きな役割であるネットワークLSAの生成はBDRでは行いません。

DR と BDR の選出は、Hello プロトコルを通じて行われます。
選出基準はOSPFプライオリティの高い順に選出され、もしOSPFプライオリティが同じであればRouterIDの大きいルーターが選出される。
CiscoのデフォルトOSPFプライオリティは"1"に設定されており、ip ospf priority コマンドで設定変更可能。
もしOSPFプライオリティを"0"に設定すると、そのルーターはDRにもBDRにもなれない。
どちらにも選出されなかったOSPFルーターはDrotherと呼ばれる。

※RouterIDはActiveなInterfaceで最も数字が大きいAddress。ただしLoopbackInterfaceが設定されていれば、そのAddressがRouterIDとして使用される。

DRBDRは以下のポリシーに沿って動作する

  • DRBDR が一度選出されると、プライオリティ値が高いルータがネットワークに追加されても、DRBDR がDownするまで再選出はされない。
  • DR がDownした場合、BDRDR として動作するし、BDR は新たに選出される。
  • BDR がDownした場合、BDR が新たに選出される。

DRBDRを選出後ルーターはExstart Stateに入る。今後Drotherは、DRBDRとのみ隣接(Adjacency)関係プロセスを行う。
つまり、OSPFではLSAが含まれるLSUパケットはDRとBDRだけに送信されるため、無駄な帯域を使用しない。

 

OSPF:隣接関係の確立フロー

 

隣接ステート 説明
Exstart State DDP(Database Description Packet)のやりとりにより、マスターとスレーブの関係の確立と(RouterIDの大きいルータがマスターになる)、初期シーケンス番号を一致させます。情報交換はマスター側ルータから開始する。
Exchange State DDP(Database Description Packet)が交換され、内容を自分のトポロジデータベースと比較しLSAckを返信する。
Loading State 自分ののトポロジデータベースより新しいアドバダイズメントを要求するため、LSR(Link State Request) を送信。LSRを受信したルータはLSA(Link-State Advertisement)のリストを作成しLSU(Link State Update)を送信。LSUを受信したルーターは確認応答(LSAck)を送信。
Full State LSR→LSU→LSAckを双方向で行うと同期完了。

 

OSPF:隣接関係の確立フロー

  1. OSPFではリンクに変更が発生すると、最新のLSA(Link-State Advertisement)を含んだLSU(Link State Update)をDRとBDRにマルチキャスト送信(224.0.0.6:DRとBDR宛て)。
  2. DRとBDRはLSUを受信し、DRがLSAckをユニキャスト送信。
  3. DRはLSUをフラッディング(224.0.0.5:全OSPFルータ)。BDRはDRからのLSU送信を待ち、一定時間内にLSUを受信しなかった場合、BDRがLSUを送信。
  4. DrotherがLSUを受信したら、LSAckをユニキャスト送信。もし全DrotherからLSUを受信しなかった場合、LSUを再送する。
  5. LSUを受信したルータは、自身のリンクステートデーターベースにコピーを保存してから、その更新を別のルータにフラッディングする。
  6. ルータのデータベースが形成されると、宛先に対する最短パスをダイクストラ アルゴリズム(Dijkstra algorithm)を使用し計算し、宛先、コスト、宛先までのネクストホップによって、IPRoutingTableを作成する。

 

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: