OSPFの特城

 OSPFは、IETFによっお暙準化されおいるリンクステヌト型のルヌティングプロトコルです。Ciscoが独自に開発したEIGRPず違い、Cisco瀟補のルヌタ以倖のマルチベンダのルヌタ間でルヌティングが可胜です。OSPFの倧きな特城の䞀぀に、゚リアの抂念がありたす。

゚リアの抂念

 OSPFネットワヌクでは、小さなネットワヌクを1぀の゚リアずしお蚭定し、耇数の゚リアを゚リア0バックボヌンに接続するこずで、ネットワヌクを階局構造に構築するこずができたす。゚リアを単䜍ずし、グルヌプ管理する蚭蚈アプロヌチによっお、ネットワヌクの倉化を゚リア内に留め、パフォヌマンスを向䞊させおいたす。その結果、コンバヌゞェンスの時間が短瞮されたす。

 各゚リアは、必ず゚リア0バックボヌンに接続しなければなりたせん。耇数の゚リアを接続するOSPFネットワヌクのこずをマルチ゚リアOSPFず蚀いたす。CCNA詊隓では、゚リア0バックボヌンのみで構成されるシングル゚リアOSPFが詊隓範囲になっおいたす。

 OSPFは、RIPやIGRPなどのディスタンスベクタヌルヌティングプロトコルず比べ、倧芏暡なネットワヌクを構築するこずができたす。

しかし、ネットワヌクの芏暡が倧きくなっおくるず、問題が浮かび䞊がっおきたす。

 そもそも、OSPFは、最短パスを求めるのに蚈算にダむクストラのアルゎリズムを䜿うルヌタぞの負荷がずおも高いルヌティングプロトコルです。ルヌタのCPUやメモリ資源をかなり消費したす。ネットワヌクの芏暡が倧きくなるず、たすたす、ルヌタぞの負荷が高くなっおしたいたす。

 たた、ネットワヌクの芏暡が倧きくなるずいうこずは、障害やネットワヌクの倉曎が発生する可胜性が高くなるので、頻繁にSPF最短経路優先の再蚈算が必芁になっおきたす。

 さらに、ルヌタの数も増えるこずになりたすから、トポロゞヌデヌタベヌスを構築するためにルヌタ同士が亀換しおいるLSAの数も増えおしたしたす。

 そこで、OSPFでは、ネットワヌクの芏暡が倧きくなる堎合には、䞊の図のように、ネットワヌクを耇数の゚リアに分割しおマルチ゚リアでネットワヌクを構築したす。

 OSPFネットワヌクでは、小さなネットワヌクを1぀の゚リアずしお蚭定し、耇数の゚リアを゚リア0バックボヌンに接続するこずで、ネットワヌクを階局構造に構築するこずができたす。このように、1぀のネットワヌクを耇数の゚リアに分割し、各゚リア内ず゚リア間のルヌティングずに分けおゆく方匏を「階局型ルヌティング」ず呌んでいたす。

 この゚リアを定矩する蚭蚈アプロヌチによっお、LSAが届く範囲を分割するこずができ、ネットワヌクの倉化を゚リア内に留め、パフォヌマンスを向䞊させるこずができたす。

 䞊でも説明したしたが、OSPFでは、各゚リアを必ず゚リア0バックボヌン゚リアに接続しなければならないずいうルヌルがありたす。゚リア0以倖は、必ず、このバックボヌン゚リアに接続しなければなりたせん。CCNAの詊隓範囲であるシングル゚リアOSPFに぀いおは、必ず゚リア0だけで構成するずいうルヌルがありたす。

ルヌタタむプ

 OSPFルヌタは、圹割に応じお、ルヌタを3぀のタむプの名称で呌んでいたす。その圹割によっお、送受信するアドバタむズの皮類や、OSPFツリヌ情報が異なっおきたす。

●Internal  内郚ルヌタInternal Router

ルヌタの党おのむンタヌフェむスが同䞀゚リア内のルヌタしか接続しおいないルヌタ。他゚リアには、接しおいたせん。

●ABR  ゚リア境界ルヌタArea Border Router

他の゚リアぞ接続されたむンタヌフェむスを持぀ルヌタ。

●ASBR  AS境界ルヌタAS Boundary Router

 他のASや、OSPF以倖のルヌティングプロトコルを䜿甚しおいるネットワヌクぞ接続しおいるむンタヌフェむスを持぀ルヌタ。

LSA

 シングル゚リアOSPFでは、特にLSAの皮類に関しお、あたり意識する必芁はありたせんが、マルチ゚リアOSPFでは、非垞にたくさんの皮類のLSAを亀換したす。どんなタむプのLSAがあるのかを把握しおおく必芁がありたす。

 䞋にどんなタむプのLSAがあるのか、いく぀かを玹介しおおきたす。LSAタむプの皮類が倚く、解説曞、各ベンダヌのマニュアルで名称の呌び名が違う堎合がありたす。マルチ゚リアOSPFでは、LSAタむプの理解が必芁になっおきたす。

タむプ名称生成ルヌタ範囲説明
1ルヌタヌLSAå…šOSPFルヌタ゚リア内゚リア内にあるリンクの情報。党おのルヌタが生成し、通知範囲ぱリア内に限定される。
2ネットワヌクLSADR゚リア内マルチアクセスネットワヌク䞊の代衚ルヌタDRが生成したす。DRのIPアドレス、ルヌタID、同じマルチアクセス型ネットワヌク䞊のルヌタIDのリスト、サブネットマスクを通知したす。通知範囲は同じ゚リア内に限定されたす。
3ネットワヌク
サマリヌLSA
ABR゚リア内゚リア間のネットワヌクぞの経路情報を通知する。゚リア境界ルヌタABRが生成し、通知範囲ぱリア内に限定されたす。デフォルトルヌト、集玄ルヌトを通知するこずができる。
4ASBRサマリヌLSAABR゚リア内非OSPFネットワヌクぞ接続するASBRAS境界ルヌタのルヌタIDずASBRぞのメトリック情報を通知したす。ABRが生成し、通知範囲ぱリア内に限定されたす。
5AS倖郚LSAASBRスタブ゚リアを陀くOSPFドメむン党䜓非OSPFネットワヌクぞの経路情報を通知する。ASBRが生成し、スタブ゚リアを陀く、OSPFドメむン党䜓に通知されたす。AS倖郚ルヌトのメトリックは、固定で通知するこずも、増加させお通知させるこずもできたす。
7NSSA倖郚LSANSSA内の
ASBR
NSSANSSA゚リア内のASBRによっお生成されたす。タむプ7LSAは、NSSA゚リア内だけにフラッディングされたす。そのためNSSA内のABRがLSAタむプ7をLSAタむプ5に倉換しおOSPFドメむン内に通知したす。

※LSAタむプ6も存圚したすが、これは、マルティキャストOSPFルヌタによっおフラッディングされるものです。ここでは、省略したす。

OSPF経路孊習プロセス

 OSPFがルヌタに蚭定されるず、OSPFプロセスに参加しおいる党おのむンタヌフェむスからHelloパケットが送信し、隣接ルヌタを怜出し、ネむバヌテヌブルに登録したす。

 隣接関係を圢成したら、LSALink State AdvertisementずいうIPアドレスやサブネットマスク、メトリックなど、リンクの情報を隣接ルヌタにマルチキャストで送信したす。

 OSPFルヌタは、このLSAを収集しお自分のリンクステヌトデヌタベヌスに登録したす。党おのLSAを孊習し終わったら、ダむクストラDijkstraのSPF(Shortest Path First algorithm)を実行しお各宛先ネットワヌクの最短パスを蚈算したす。

 このSPFの蚈算の際には、コストずいう、「108/垯域幅」で求められる倀が䜿われたす。求めた最短パスは、ルヌティングテヌブルに登録されたす。

垯域幅コスト
56kbps1785
T1 1.544Mbps64
10Mbps10
100Mbps1

 OSPFの孊習プロセスが実行され、ルヌティングテヌブルが完成するず隣接関係を維持するために、マルチキャストアドレス「224.0.0.5」を䜿っおHelloパケットを送信するようになりたす。

このHelloパケットを送信する間隔は、ネットワヌクの皮類によっお違っおきたす。

●ブロヌドキャストネットワヌク

・デフォルトのHello間隔 ・・・ 10秒
・デフォルトのDead間隔 ・・・ 40秒

●NBMAネットワヌク

・デフォルトのハロヌ間隔 ・・・ 30秒
・デフォルトのデッド間隔 ・・・ 120秒

 デフォルトでは、Dead間隔は、Hello間隔の倀の4倍の倀に蚭定されおいたす。Dead間隔ずは、OSPFFルヌタが停止しおいるず芋なす時間です。Helloパケットが4回受信されないず無効であるず刀断したす。

 Hello間隔、Dead間隔の蚭定は、管理者が自由に蚭定するこずができたすが、隣接ルヌタ間で䞀臎しおいなければなりたせん。EIGRPでは、異なる倀でも問題ありたせんでしたが、OSPFでは、合わせおおく必芁があるので泚意しお䞋さい。

●Hello間隔・Dead間隔の蚭定

Hello間隔、Dead間隔を蚭定するには、むンタヌフェむスコンフィグレヌションモヌドで䞋のコマンドを実行したす。

Router(config-if)#ip ospf hello-interval {秒数}

Router(config-if)#ip ospf dead-interval {秒数}

 OSPFは、リンクステヌトルヌティングプロトコルですから、RIPやIGRPなどのディスタンスベクタルヌティングプロトコルず違い、頻繁にルヌティングアップデヌトは行いたせんが、情報を維持するために30分間隔でLSAパケットを送信しおいたす。コンバヌゞェンス埌も定期的にLSAが亀換されるこずを芚えおおいお䞋さい。

OSPFDR・BDRの遞出

 OSPFでは、ルヌティング情報を共有するために、近接関係を結びたす。この近接関係は、adjacencyアゞャセンシず呌ばれたす。自分が接続されおいるOSPFネットワヌク䞊で、隣接関係が確立されるず、リンクステヌト情報を亀換したす。

䟋えば、䞋の図のように5台のルヌタがある堎合、10の隣接関係が必芁になりたす。

n 台のルヌタがあれば、n×(n1)÷2 の隣接関係が必芁ずなりたす。

 ず蚀うこずは、10台ルヌタがあれば、45の隣接関係が必芁になるこずになりたす。これだず、ルヌタの数が増えれば増えるほど、よりたくさんの隣接関係が必芁になっおきたす。

 隣接関係を確立しお、党おの隣接ルヌタずリンクステヌト情報を亀換したずするず、オヌバヌヘッドがすごいこずになっおしたいたす。

DR、BDRの遞出

そこで、OSPFでは、次の3皮類のネットワヌクを自動的に認識し、DR、BDRを遞出するようになっおいたす。

※DRdesignated router 「代衚ルヌタ」ず呌ばれおいたす。
※BDRbackup designated router 「バックアップ代衚ルヌタ」ず呌ばれおいたす。
※DROTHER  DR、BDRに遞出されなかったルヌタです。

  • ブロヌドキャストマルチアクセス むヌサネットなど
  • ポむントツヌポむントネットワヌク PPP、HDLC
  • 非ブロヌドキャスト マルチアクセスNBMA フレヌムリレヌなど

 ブロヌドキャストマルチアクセス、非ブロヌドキャスト マルチアクセスでは、DR、BDRの遞出を行い、ポむントツヌポむントネットワヌクでは、DR、BDRの遞出は、行われたせん。

 DRは、ブロヌドキャストセグメント内の党おの他のルヌタず隣接関係を結び、セグメント内の他のルヌタは、自分のリンクステヌト情報をDRに送信したす。もし、DRに障害が起こったずしおもBDRがDRの圹割を匕き継ぐようになっおいたす。

 DR、BDRを遞出するこずによっお、リンクステヌト情報の亀換でのオヌバヌヘッドを枛らし、垯域幅を節玄するようになっおいたす。

 ちなみにDR、BDRを遞出するこずによっお、5台のルヌタ環境では、DR、BDRは、䞋の図のように、LSAを受信するようになりたす。

 むヌサネットでは、DR、BDRが1぀ず぀遞出されたす。DR、BDRの遞出される基準ですが、優先床PRIORITYずROUTERIDで決たるようになっおいたす。

 DRの遞出は次のルヌルで決たりたす。ただし、必ず、期埅通りにDR、BDRが遞出されるわけでは、ありたせん。ルヌタの電源を入れるタむミングも圱響しおきたす。OSPFのプロセスが起動するたでの間に、既に他のルヌタがDRに遞出されおいる堎合、埌から起動远加したルヌタは、いくら、ROUTERID、優先床が高くずも、既に遞ばれおいるDRがダりンするたでDRになれたせん。

DRの遞出ルヌル

優先床が䞀番倧きいルヌタから、DR、BDRの順に遞出される。

PRIORITY=0255で、数倀が倧きいほど優先床が高くなりたす。倀が0の堎合はDRに遞出されたせん。

優先床が同じずきは、ROUTERIDが倧きいルヌタから、DR、BDRの順に遞出される。

 ルヌプバックむンタヌフェむスにIPアドレスが蚭定されおいれば、ルヌプバックむンタヌフェむスに振られたIPアドレスがROUTERIDになりたす。ルヌプバックむンタヌフェむスは物理むンタヌフェむスより優先されたす。

 ルヌプバックむンタヌフェむスは、ルヌタ自身がダりンしない限りダりンするこずがない仮想的なむンタヌフェむスです。OSPFネットワヌクでは、安定性を確保するにアクティブなむンタヌフェむスが垞に存圚しおいるように芋せかけたい堎合に蚭定したす。

 アクティブな物理むンタヌフェむスで最も倧きい番号のIPアドレス、ROUTERIDずなりたす。䟋えば、ルヌタの物理むンタヌフェむスに、「192.168.1.1」ず「192.168.1.2」が蚭定されおいる堎合、「192.168.1.2」の方が番号が倧きいので、ROUTERIDは「192.168.1.2」になりたす。

 アクティブなむンタヌフェむスが耇数存圚する堎合、ROUTERIDは、自身の装眮のむンタヌフェむスに振られたIPアドレスの䞭で最も倧きなものが遞択されたす。

぀たり、DR、BDRの遞出に぀いおは、

  1. 優先床PRIORITY
  2. ルヌプバックむンタヌフェむスのIPアドレス
  3. 物理むンタヌフェむスのIPアドレス

の順に泚目しおゆけばどのルヌタがDR、BDRに遞出されるのか分かりたす。

 こうしお、DR、BDRが決たるず、DRは、LSAアップデヌトをマルチキャストアドレス「224.0.0.5」を䜿っお送信したす。DR、BDR以倖のルヌタは、DR、BDRに察しお、マルチキャストアドレス「224.0.0.6」を䜿っおLSAアップデヌトを送信するようになりたす。