230 likes | 416 Views
ネットワーク層(ルーティング). ルーティング. Destination. Source. メトリック:最適化すべき指標 ・ホップ数 ・所要時間. :最適ルート(経路) :迂回ルート. ルーティングとは. ルーティングとは,「転送する経路を選ぶこと」. ルーティングとは. サブネット A から 192.168.2.10 という宛先パケットを受信すると,マスクをかけ算して, 192.168.2.0 とわかる.これはサブネット B 行きとわかり, eth2 という出口にパケットを送る. ルーティングとは.
E N D
ルーティング Destination Source メトリック:最適化すべき指標 ・ホップ数 ・所要時間 :最適ルート(経路) :迂回ルート
ルーティングとは ルーティングとは,「転送する経路を選ぶこと」
ルーティングとは サブネットAから192.168.2.10という宛先パケットを受信すると,マスクをかけ算して,192.168.2.0とわかる.これはサブネットB行きとわかり,eth2という出口にパケットを送る
ルーティングとは ルーターAは,サブネットA,B,C以外への経路を知らない. それ以外のパケットが来たら デフォルトゲートウェイであるルータBにパケットを送る
ルータ • ルータの主な機能 • ルーティングテーブルの管理 • この宛先へ送るにはどのルータへ飛ばせば良いか • IPデータグラムのフォワーディング • 次のルータへデータグラムを送る • IPデータグラムのフィルタリング • 不正なデータグラムの廃棄 • ルーティングプロトコルによるテーブル作成情報交換 • 経路情報の交換 • (最適)経路の計算
Routing table Routing table Routing table Routing table ルーティング方法 • 静的ルーティング(static routing) • 利点:制御トラフィックが生じない • 欠点:設定管理が困難、動的経路変更が不可能 • 動的ルーティング(dynamic routing) • 利点:設定が容易、動的経路変更が可能 大規模NW向き • 欠点:制御トラフィックが発生 (トラフィック) 情報交換 それぞれ設定 それぞれ設定 Static routing Dynamic routing
ルーティングの階層 • 黎明期のインタネットは,単一の「ネットワーク」であり,フラットな経路制御が行われていた(「ドメイン」は1つだけ). • その後,インタネットをASに分割し,AS内とAS間のニ階層での経路制御に移行. • NW規模の拡大に伴う経路制御オーバヘッドおよび経路表エントリ数の増大への対処. • 遠隔ネットワークの障害情報による経路再計算の回避. • 組織内ネットワークの詳細の隠蔽. • 組織のポリシーに基づく独自の経路制御設定の許容.
ルーティングの階層 • AS:Autonomous System(AS),自律系,自律NW(ルーティング)ドメイン • 「管理主体を同じくするルータおよびネットワークの集合(A set of routers and networks under the same administration)」 • ドメイン間経路制御の単位.転送・経路制御に関して,独自のポリシーを持つ. • 同一AS内のトラフィックはAS内部のみを通る. • AS内部の構造は外部に隠蔽 • AS番号:2byte,IANA(Internet Assigned Numbers Authority)が割当.
IGP,EGP • IGP:Interior(Internal) Gateway Protocol • AS内部の経路制御のためのプロトコルの総称. • 1つのAS内で複数のIGPを協調動作させても構わない. • EGP:Exterior(External) Gateway Protocol • AS間の経路制御のためのプロトコルの総称.
ルーティングアルゴリズム • 距離ベクトル (Distance Vector) アルゴリズム • 各ルータは,自分がどのネットワークに(直接 or 間接に)配送可能かを隣接ルータに公告 • IGPであるRIPで使用 • リンクステート (Link State) アルゴリズム • 各ルータは,自分が直接接続しているネットワークを全てのルータに公告(flooding) • 全ルータがネットワーク全体のトポロジを把握 • IGPであるOSPFで使用
RIP(Routing Information protocol) • Distance vector型 • 30秒おきに自分の持つ経路情報をbroadcast • 180秒間経路情報がこない → 経路を削除 • 最大ホップカウント = 16 • 大規模ネットワークでは利用不可 ○ 直感的に理解しやすく、実装が簡単 × 経路数に比例して交換される経路情報が増加 × 経路の変動が伝わるのに時間がかかる × サブアドレスを認識しない
IGP系プロトコルRIPにおける経路情報の伝播IGP系プロトコルRIPにおける経路情報の伝播 NW A Router 2 NW D NW C Router 1 経路情報 経路情報 NW B 到達可能NWと距離情報
距離ベクトルアルゴリズム • 数字はネットワークアドレス相当.リンクコストは全て1とする. step1:初期化時,各ルータは自分自身への経路のみを持つ. ルータA上の経路表:toA,local,cost0[A1] ルータB上の経路表:toB,local,cost0[B1] step2:各ルータは保持する経路表を接続するサブネットにブロードキャスト. step3:経路情報を受信したルータでは • 当該経路を持っていない場合, • or受信したリンクのコストを加えて,すでに持っているコストより小さい場合に経路情報を更新 [A1]到着後のBの経路表:toB,local,cost0[B2] toA, 1,cost1 • そうでなければ捨てる step4:step2に戻って繰り返し
経路の伝搬 Aに関する経路情報の伝搬を示す (1)初期化時,Aに関する情報はAにのみある. ルータA上の経路表:to A, local, cost 0 [A1] (2)Aは[A1]をリンク1,3にブロードキャスト.B,Dが[A1]を受信し,経路表に加える. ルータB上の経路表:to A, 1, cost 1 [B2] ルータD上の経路表:to A,3, cost 1 [D2] (3)Bは[B2]をリンク1,2,4にブロードキャスト.A,C,Eが[B2]を受信.C,Eは経路表に加える. ルータC上の経路表:to A, 2, cost 2 [C3] ルータE上の経路表:to A,4, cost 2 [E3] (4)同様にDは[D2]をリンク3,6にブロードキャスト.A,Eともすでに持っている経路のコストが新たな経路以下なので[D2]を捨てる. (5)C,Eもそれぞれ[C3],[E3]をブロードキャストするが,到着ルータでの経路コストは改善しないため捨てられる. (6)Aに関する経路は収束(安定).
収束後の経路表 • 収束後も,経路表が定期的に交換され,経路到達性を維持.
リンク障害時 • A-B間のリンク1に障害が発生した場合: • リンク1に隣接するA,Bは,リンク1を送出先とする経路のコストを無限大(infinity)とする.RIPではコストの最大値は15で,16が無限大を示す. • A,Bからの「コスト無限大」の経路情報が網内に伝搬する. • 例えば,Eは,Bからの経路情報に基づき「to A,link 4,cost2」を用いていたが,Bからは「to A,link 4,costinfinity」が伝わる. • 一方DからEに「Aへのコスト1の経路」が伝搬する. • したがってEは「to A,link 6,cost2」の経路に切替える. • 新たな経路で安定
RIP:「無限へのカウント」 to A local 0 to B x 1 to C x 2 to D x 3 to A x 1 to B local 0 to C y 1 to D y 2 to A y 2 to B y 1 to C local 0 to D z 1 to A z 3 to B z 2 to C z 2 to D local 1 x A B y C z D to A local 0 to B x 1 to C x 2 to D x 3 to A x 1 to B local 0 to C y 1 to D x 4 to A y 2 to B y 1 to C local 0 to D z 16 to D 3 to D 16 x y z A B C D to D 4 Split horizon:もらった経路をくれた本人には返さない(AはBに対して返さない) Poison reverse:無限大(16)として返す to D 5 to D 5 to D 6 to D 6 to D 7 to D 7 ・・・・ to D 8 to D 15 to D 15 to D 16→無限
OSPF • “Open Shortest Path First”:“Shortest Path First”アルゴリズム(ダイクストラ・アルゴリズム)により経路を計算するアルゴリズムであり,かつIETFでいう“Open”な場で標準化が行われた事を示す. • 現行バージョンはOSPFv2(RFC2328).CIDRに対応. • リンクステート:各ルータは自分が直接接続しているリンクに関する情報を網内すべてのルータに(直接間接に)広告 • 全ルータが,ネットワーク全体のトポロジーを同様に把握. • 経路ループが発生せず,経路収束が高速. • 経路メトリックの柔軟な設定が可能 • 基本的には経路変更のみを広告 • 隣接ルータの生存はHelloプロトコルで定期的に確認. • 二階層エリア構成が可能 • 比較的大規模なドメインでも使用できる.
ダイクストラアルゴリズムによる最短路計算 • ダイクストラ(Dijkstra)アルゴリズム動作概要 A A 1 1 出発点 出発点 1 3 3 4 4 2 2 C C スタート 1段目 1 1 2 B B 出発点から点Aへの仮のコストは1,点Bは2となる. 出発点から点A,B,Cへの最短路を求める 5 4 A A 1 1 出発点 出発点 1 1 3 3 4 4 2 2 C 3 C 6 2段目 3段目 1 1 2 2 B B 3 出発点から点Aを経由して点Bへのコストは5であり,仮のコスト2より大きいため,仮のコスト2を持つ経路が最短となる.点Aも同様.. 点Cへのコストは3と4があり,コストの小さい3の経路が最短となる.
OSPF:リンクステート・データベース • 全てのルータが同一のリンクステート・データベース(LSDB)を保持 • LSDBの作成:各ルータが直接接続リンクの情報を網内全域に配布(flooding) • 各ルータが計算する最適経路(ダイクストラ法)が一致する→経路ループは発生しない • メトリック:リンクコスト • 遅延や帯域等を反映.方向別. • 小さいほど「良い」リンク(選択されやすい)
フラッディング • 各ルータは直接接続しているリンクの情報(LSA,Link State Advertisement)を各リンクから送出.LSAには番号(Sequence number)が付いている. • LSAを受け取ったルータは • そのLSAを持っていなければLSDBに加えて,LSAをブロードキャスト • すでに持っているLSAより新しければ,入れ替えてLSAをブロードキャスト • すでに持っているLSAより古ければ手持ちのLSAを送出ルータに送付 • さもなくば何もしない • 上記によりLSAは網内全域に配布される
世界のASの現状 • 全世界で1万4千のAS,1万9千のAS間リンク,14万経路 (2002年11月現在,http://bgp.potaroo.net/) BGP経路数