8. ルーティングのおさらい

先程はネットワークのおさらいをしたが、「ゼロから始める」を謳っているので、今度はLayer3同士のコミュニケーション、いわゆるルーティングに特化しておさらいを行う。NSXは以下のルーティングプロトコルをサポートする。
・OSPF   ※ 分散論理ルータでサポート
・IS-IS    ※ 仮想アプライアンス機器でサポート
・BGP    ※ 分散論理ルータでサポート

Open Shortest Path First (OSPF)は、小規模から大規模のネットワーク向けの ルーティングプロトコルでありリンクステートルーティングアルゴズムを使用する。

OSPFは内部ネットワークを制御するもの(内部ゲートウェイプロトコル : IGP)で、あて先までのコスト値(主にインターフェイスの帯域幅により決定)が最小の経路を最適経路と見なす。

一般的に、ルーティング・プロトコルは経路情報そのものを交換するが、OSPFではLSA(Link-State Advertisement)を交換する。LSAには、そのルータに接続されたネットワークの情報やインターフェイスのコストなどの情報が含まれており、各ルータはこのLSAをアナウンス/収集し、そこから各自がリンクステート・データベース(LSDB)を作成する。さらに、各ルータはこのLSDBに基づいて、Dijkstraアルゴリズムに基づき最短パス・ツリーを作成し、各自でルーティング・テーブルを作成する。LSAは定期的にアナウンスするのではなく、更新があった場合のみ、その差分情報をアナウンスする。

OSPFにはエリアという概念が設けられている。
OSPFルータがLSAを交換する範囲は、同一エリア内に限られており、LSAの交換範囲を抑制し、LSAに基づき作成されるLSDBのサイズも抑制する。
複数のエリアに接続されているエリア境界ルータ (ABR)が、別のエリア上で他のABRとルーティングを行う仕組みである。

またOSPF以外のプロトコルの経路情報を、OSPF内にリディストリビュートしているルータをASBR(AS Border Router)と呼ぶ。また、このようなOSPF以外のプロトコルからの経路情報を、外部経路(AS external routes)と呼ぶ。

エリアに関して4種類が存在する。各エリアは32bitsで表現されるエリアIDと呼ばれる番号を設定し区別する。バックボーン・エリアには必ず0という番号を設定する。IPアドレスと同じように0.0.0.0と入力したり、単純に0と入力したりする。
(1) バックボーンエリア
最初に構築されるエリアで、バックボーン以外のエリア間でルーティング情報を配信する。
(2) 標準エリア
標準エリア内の全てのルータがあらゆるルートを認識する。
(3) スタブエリア
ASBRが設置できないエリアで、外部経路を伝えるLSA(AS-external-LSA)を流さない。
(4) NSSA("not-so-stubby" area)
AS-external-LSAを流さないが、ASBRが設置できるエリアで、NSSA内部では、専用の外部経路のLSA(NSSA External LSA)が用意される。

他にも、内部ネットワークをルーティングするプロトコルとしてIS-ISがある。
IS-ISは日本ではほとんど使用されていないが、海外の電話会社やISPでは広く使用されている。OSPFと同様に、IS-ISはルータのリンクステートを使用して、送信先に到達するための最適な経路を選択するプロトコルであり、メトリックにコスト・遅延・エクスペンス・エラーの4つを使用することが可能である。

OSPFやIS-ISで管理された内部ネットワーク同士を制御するものとして、 外部ゲートウェイプロトコル(EGP)がある。内部ネットワークは、それぞれの組織の管理するネットワークであり、自律システム(Autonomous System : AS)と総称する。EGPはAS間でのルーティングに使用されるプロトコルである。

主なEGPとして、 Border Gateway Protocol(BGP)がある。
BGPでは経路制御を行う組織ごとにインターネットの世界で唯一の番号が割り当てられ、個々の経路を識別する。このインターネットの世界で唯一の番号をAS(Autonomous System)番号と呼び、AS番号はIANA(Internet Assigned Numbers Authority)が管理している。

BGPの経路情報には、宛先に到達するまでに経由したAS番号のリスト(ASパス)が含まれている。通常、ASパスの短いものを最短ルートとして使用するが、パス属性の操作により柔軟な経路制御を行うことが可能である。またBGPは、CIDR(Classless Inter Domain Routing)をサポートしており、受け取った経路やローカル経路を集約し、複数の経路をまとめて1つの経路としてアナウンスすることができる。これにより、インターネット上にある経路情報の数を抑えています。

2台のBGPルータ間でTCP(ポート番号179)による接続を行い、経路情報を交換する。この経路情報を交換する隣接ルータをネイバー(Neighbor)もしくはピア(Peer)と呼ぶ。経路情報して、それぞれのASで受信している経路、およびローカル経路を交換する。別の AS 内 にあるピアは外部ピア(eBGPピア)と呼ばれ、同じ AS 内のピアは内部ピア(iBGPピア)と呼ばれる。

BGPでの経路選定のプロセスは、次のようになる。
・ローカルの優先順位が最も高いパス
     ・NEXT_HOPアトリビュートのIPアドレス
     ・WEIGHTアトリビュート(Cisco独自)が最大のルート
     ・LOCAL_PREFアトリビュートが最大のルート
     ・ローカルルータが発生元であるルート
・最短のASパス(AS_PATHアトリビュートが最も短いルート)
・ORIGINアトリビュートが最小のルートを優先
・MEDアトリビュートが最小のルートを優先
・iBGPピアから学習した経路よりもeBGPピアから学習したルートを優先
・ルートがEBGPピアから学習したもののとき、学習してから最も時間がたっているルートを優先
・BGPピアのルータIDが最も小さいルートを優先


この記事が気に入ったらサポートをしてみませんか?