ルーティングの原理 ルーティングの必要条件 1. ルーティングデバイスが論理的なあて先アドレスを認識できるか 2. あて先となる論理ネットワークが有効な現在のルーティングテーブルに存在するか 3. どのアウトバンドインタフェースを通して転送されるか判断 アドミニストレイティブディスタンス(Administrative Distance)は、ルート情報の信頼度 ルートソース デフォルトのディスタンス 接続されたインタフェース 0 スタティック 1 EIGRP集約経路 5 外部BGP 20 内部EIGRP 90 IGRP 100 OSPF 110 IS-IS 115 RIPv1 RIPv2 120 EGP 140 外部EIGRP 170 内部BGP 200 不明 255 IGRP・EIGRPのルーティングメトリック 帯域幅(デフォルト)・遅延(デフォルト)・信頼性・負荷・MTU クラスフルルーティング ディスタンスベクター方式ではほとんどクラスフルルーティング。サブネットマスクをアドバタイズしない。 クラスフル境界で自動的に経路集約が行われる。 RIPv1、IGRPなど クラスレスルーティング サブネットマスクをアドバタイズすることができる。ネットワーク内で手動で経路集約の設定を行うことができる。 ネットワーク内でさまざまなサブネットマスクを利用できる。VLSM(Variable Length Subnet Mask)をサポート。 これにより、IPアドレスの割り当てを効率的に行える。 OSPF、RIPv2、EIGRP、BGP、IS-IS コンバージェンス ネットワーク内の各ルータがあて先ネットワークまでのループフリーなパスを維持し、あて先ネットワークまでの 使用可能ルートが指定されている状態。 コンバージェンス時間は、 ・ アップデートメカニズム ・ トポロジテーブルのサイズ ・ ルート計算アルゴリズム ・ メディアタイプ などによって影響を受ける。 IPアドレスの拡張 IPアドレッシング問題 ・ IPアドレスの不足 ・ ルーティングテーブルの増加 IPアドレッシングソリューション ・ サブネットマスキング RFC950、RFC1812 ・ プライベートアドレス RFC1918 ・ NAT RFC1631 ・ 階層型アドレッシング ・ 可変長サブネットマスク VLSM RFC1812 ・ 経路集約 RFC1518 ・ CIDR RFC1518、RFC1519、RFC2050 階層型アドレッシング ルーティングテーブルのエントリ数が減る。 メリット:ルーティングの効率が上がる、ルータのメモリ要件が減る、コンバージェンスが早い、トラブルシュー ティングが容易 アドレス割り当てが効率的 経路集約 一連のネットワーク番号をひとつの集約アドレスで表現する。これによりルーティングテーブルのエントリを減ら すことができる。 アドレスの数が2の累乗になっているときは集約を行うことができる。2の累乗になっていない場合は、アドレス をいくつかのグループに分けてからグループごとに集約を行う。 CIDR 複数のクラスCアドレスのブロックを集約して、さらに大きなIPアドレスのクラスレスセットを作成する。 ip unnumbered シリアルインタフェースに明示的にIPを設定せずに、そのインタフェース上でIP処理を行うことができる。 Router(config-if)# ip unnumbered type number type numberで指定したIPアドレスを利用する。 ヘルパーアドレス デフォルトではルータはブロードキャストを転送しないが、ヘルパーアドレスを設定することによってブロード キャストをユニキャストに変換して転送を行うことができる。 有効な転送プロトコルは、TFTP(69)、DNS(53)、TIME(37)、NetBIOSネームサービス(137)、NetBIOSデータグラム サービス(138)、BOOTPサーバ(67)、BOOTPクライアント(68)、TACACS(49) Router(config-if)# ip helper-address address 転送するプロトコルを指定 Router(config)# ip forward-protocol udp [port] no をつけるとそのプロトコルだけ転送できないようにする。 シングルエリアでのOSPFの設定 OSPFの特徴 ・ コンバージェンスが高速 ・ VLSMをサポート ・ アップデート処理が効率的 ・ 帯域幅に基づいてパスを選択(コストメトリック) ・ 等コストマルチパスをサポート IPパケットを用いてルーティング情報を配信。IPヘッダのプロトコル番号89 OSPFの用語 インタフェース ルータとその接続ネットワークのうちの1つとの間の接続。リンクとも呼ばれる リンクステート 2台のルータ間のリンク状況。任意のルータのインタフェース、その近接ルータとの関係。LSAに よって他のルータにアドバタイズされる。 コスト リンクに割り当てる値。OSPFではメディアの帯域幅によって決まる。 自律システム 共通のルーティングプロトコルを用いてルーティング情報を交換するルータのグループ エリア 同じエリアIDが指定されているネットワークとルータの集合。エリア内の各ルータは内部ルータと呼ばれる。 ネイバー 共通ネットワーク上にインタフェースがある2つのルータ。Helloプロトコルにより発見され維持される。 Hello ネイバー関係を確立して維持するためにOSPFが使用するプロトコル。 ネイバー関係データベース ルータが双方向通信を確立したネイバーがリストされている リンクステートデータベース(トポロジカルデータベース) ネットワーク内にある他のすべてのルータのリンクステー トエントリがリストされている。これによりネットワークトポロジが示される。同じエリア内の各ルータでは必ず同じリ ンクステートデータベースが使用される。ルータリンクLSA(LSA Type1)により構築される。 ルーティングテーブル(フォワーディングテーブル) リンクステートデータベース上でSPFアルゴリズムが実行さ れて生成される。各ルータで一意。 OSPFのトポロジ ・ ブロードキャストマルチアクセス−多くのルータの接続をサポートし、接続されているルータすべてに単一の物理 メッセージを送信することができる。イーサネットなど。 ・ ポイントツーポイント−接続されているルータが2台しかないネットワーク。シリアル接続など。 ・ NonBroadcast MultiAccess−多くの接続ルータをサポートしているがブロードキャスト機能がない。フレームリレー、X.25など ・ ブロードキャストマルチアクセストポロジでの動作 ネイバー関係 Helloプロトコルによりネイバー関係が確立、維持される。マルチキャストアドレス224.0.0.5を使用する。 Helloパケットの内容 ・ ルータID−自律システム内でルータを一意に識別する32ビットの数値。デフォルトではアクティブなインタフェースの一番大きいIPアドレス。DR、BDR選定中にプライオリティ値が等しい場合にはルータIDを使用して優先順位をつける ・ HelloとDeadの間隔−Helloパケットを送信する間隔。デフォルトでは10s。Deadは近接ルータがダウンしたと判断する時間。Hellの4倍がデフォルト。これらの値は近接ルータで同じになっている必要がある。 ・ ネイバー−双方向通信が確立しているネイバーのルータIDのリスト。ネイバーから受信したHelloパケットの中に自分のリストを見つけると、双方向通信が確立。 ・ エリアID−ルータが所属しているエリアID ・ ルータプライオリティ−DR、BDR選出に用いられるプライオリティ値。8ビット。 ・ 認証パスワード−認証が有効になっている場合、2つのルータは同じパスワードを交換する必要がある。 ・ スタブエリアフラグ DRとBDR DRはセグメントを代表するルータ。DRが動作しているときはBDRは動作しない。セグメント上の各ルータはDRにリンクステート情報を送信する。これにより、セグメント上のルータが個別にリンクステート情報を交換するよりもトラフィックを減少させることができる。 セグメント上の各ルータはDRと隣接関係を築く。リンクステート情報を交換する関係を隣接関係という。ネイバーとは違う。 DR、BDRの選出 プライオリティが一番高いルータがDR 2番目にプライオリティが高いルータがBDR プライオリティが同じであればルータIDが高いルータが選ばれる 現在稼動中のDR、BDRよりもプライオリティが高いルータが追加されてもDR、BDRは変更されない。DR、BDRがダウンしたら変更される。 交換プロセス HelloパケットのOSPF Typeコード=1 ・ Down状態−他のルータとまだ情報を交換し合っていない状態。Helloパケットを出してネイバーを確立しようとする ・ INIT状態−あるルータからHelloパケットを受信して、ネイバーリストにそのルータのルータIDを追加した状態。この後、Helloパケットを送ってきたルータに応答Helloパケットを送信する。 ・ 2WAY状態−2台のルータのネイバーリストにお互いが追加されている状態。双方向通信が確立された状態。 ・ EXSTART状態−DR、BDRの選出が終わったルータの状態。インターネットワークに関するリンクステート情報を発見してそのリンクステートデータベースを作成する準備ができたということになる。 セグメント上のすべてのルータと2WAY状態を確立していく過程でDR、BDRが指定されていく。DR、BDRの選出が終わった状態がEXSTART状態。 ルートの探索 1. EXSTART状態でDR、BDRはネットワーク内の各ルータと隣接関係を確立する。ルータIDが高い方がマスタ、低い方がスレーブとして動作する。 2. マスタルータとスレーブルータは1つまたは複数のデータベース記述パケット(DBD)を交換する。DBDはOSPF Typeコード=2。このときの状態がExchange状態。 3. スレーブルータはDBDを受信すると次のことを実行する。 −リンクステート応答確認(LSAck OSPF TypeCode=5)を返送してDBD受信の応答確認を行う −受信した情報と現在の情報を比較。DBDのリンクステートエントリの方が新しい場合、マスタルータにリンクステート要求(LSR OSPF TypeCode=3)を送信 −マスタルータは要求されたエントリに関する完全な情報をリンクステートアップデート(LSU OSPF TypeCode=4)で返答。これにもLSAckが返される。LSRの送信プロセスはLOADING状態。 4. ルータはすべてそのリンクステートデータベースに新規リンクステートデータベースエントリを追加 5. 所定のルータに対応したLSRがすべて満たされたら、隣接ルータではリンクステートデータベースが同期して完全状態になったとみなす。FULL状態。 ルートの選択 ルータに完全なリンクステートデータベース(FULL状態)を持たせれば、いつでもルーティングテーブルを作成することができる。 コストメトリックを使用して、あて先までのベストパスを選択する。コストメトリックはメディアの帯域幅によって決定される。 シリアル回線のフラッピング(急にダウンしたりアップしたりすること)の影響をさけるため、LSUを受信するたびにデフォルトでは5秒間待ってルーティングテーブルを再計算する。 ポイントツーポイントトポロジでのOSPF動作 ポイントツーポイントネットワークでは、2台のルータのみ。 Helloパケットを224.0.0.5に送信して、ネイバーをダイナミックに検出。DR、BDRのコンセプトはなく、2台は必ず隣接関係。 Hello 10s Dead 40s NMBAトポロジでのOSPF動作 Hello 30s Dead 120s NBMA環境はイーサネットなどのほかのブロードキャストメディアと同等と扱われる。 DRとBDRは他の全ルータとの完全な物理的接続が必要 DRとBDRではネイバーリストが必要 NMBA動作モード ・ NBMA−DR、BDRの選出を行う。通常はフルメッシュネットワーク。ネイバーはスタティックに設定。IPサブネットはひとつ。 ・ ポイントツーマルチポイント−DR、BDRの選出は行わない。部分メッシュネットワーク。IPサブネットはひとつ。 ・ ポイントツーマルチポイントノンブロードキャスト−ネイバーをスタティックに設定。 ・ ブロードキャスト−インタフェースはルータがLANに接続されているように動作する。DR、BDRの選出を行う。 ・ ポイントツーポイント−DR、BDRは選出されない。ポイントツーポイントサブインタフェースで利用される。 モード 適切なトポロジ サブネット 隣接関係 RFC or Cisco NBMA フルメッシュ 同一 手動設定DR/BDR選出 RFC ブロードキャスト フルメッシュ 同一 自動DR/BDR選出 Cisco ポイントツーマルチポイント 部分メッシュまたはスター 同一 自動DR/BDRなし RFC ポイントツーマルチポイントノンブロードキャスト 部分メッシュまたはスター 同一 手動DR/BDRなし Cisco ポイントツーポイント 部分メッシュまたはスター、サブインタフェース サブインターフェースごとに異なる 自動DR/BDRなし Cisco 設定コマンド ・router(config)#router ospf process id ルータでOSPFを有効にする ・router(config-router)#network address wildcard-mask area area-id ルータのどのIPネットワークがOSPFのエリアになっているか ・router(config-if)#interface loopback number ルータIDをループバックアドレスに変更する ・show ip osfp interface ルータIDの確認 ・router(config-if)#ip ospf priority number ルータプライオリティの変更 ・router(config-if)#ip ospf cost cost リンクコストの変更 メディア デフォルト 56kbpsシリアル 1785 T1 64 イーサネット 10 ファストイーサネット 1 16Mbpsトークン 6 ・NBMAの設定 router(config-if)# ip ospf network non-broadcast NBMAモード point-to-multipoint [non-broadcast] ポイントツーマルチポイントモード broadcast ブロードキャストモード point-to-point ポイントツーポイントモード NBMAモードのOSPFの設定 R1(config)#interface Serial0 R1(config-if)#ip address 10.1.1.1 255.255.255.0 R1(config-if)#encapsulation frame-relay R1(config-if)#ip ospf network non-broadcast R1(config)#router ospf 1 R1(config-router)#network 10.1.1.0 0.0.0.255 area 0 R1(config-router)#neighbor 10.1.1.2 R1(config-router)#neighbor 10.1.1.3 R1(config-router)#neighbor 10.1.1.4 ポイントツーマルチポイントモードのOSPF設定 R1(config)#interface Serial0 R1(config-if)#ip address 10.1.1.1 255.255.255.0 R1(config-if)#encapsulation frame-relay R1(config-if)#ip ospf network point-to-multipoint R1(config)#router ospf 1 R1(config-router)#network 10.1.1.0 0.0.0.255 area 0 ブロードキャストモードでのOSPF設定 R1(config)#interface Serial0 R1(config-if)#ip address 10.1.1.1 255.255.255.0 R1(config-if)#encapsulation frame-relay R1(config-if)#ip ospf network broadcast R1(config)#router ospf 1 R1(config-router)#network 10.1.1.0 0.0.0.255 area 0 ポイントツーポイントモードのOSPF設定 R1(config)#interface Serial0 R1(config-if)#no ip address R1(config-if)#encapsulation frame-relay R1(config)#interface Serial0.1 point-to-point R1(config-subif)#ip address 10.1.1.1 255.255.255.0 R1(config-subif)#frame-relay interface-dlci 51 R1(config)#interface Serial0.2 point-to-point R1(config-subif)#ip address 10.1.2.1 255.255.255.0 R1(config-subif)#frame-relay interface-dlci 52 R1(config)#router ospf 1 R1(config-router)#network 10.1.0.0 0.0.255.255 area 0 OSPF動作確認 ・router#show ip protocols OSPFが設定されているかどうか ・router#show ip route ルータが学習したルートを表示 ・router#show ip ospf interface エリアIDと隣接関係情報を表示 ・router#show ip ospf OSPFタイマ値と統計情報を表示 ・router#show ip ospf neighbor detail DR、BDR、ネイバーに関する情報を表示 ・router#show ip ospf database リンクステートデータベースを表示 ・router#clear ip route * IPルーティングテーブルをクリア ・router#debug ip ospf オプション Hello、交換、フラッディングの各プロセス中のルータ相互作用を表示 複数のOSPFエリアの相互接続 OSPF階層型ソリューション OSPFエリアを複数に分け、階層型の構造をとるソリューションのメリットは次の通り ・ SPF計算頻度の減少 ・ ルーティングテーブルの小型化 ・ リンクステートアップデート(LSU)オーバーヘッドの減少 内部ルータ すべてのインタフェースが同一エリア内にあるルータ バックボーンルータ バックボーンエリアの周辺に置かれているルータ エリア境界ルータ(ABR) インタフェースが複数のエリアと接続されているルータ。ABRはエリアの出口。別のエリアあてのルーティング情報はローカルABRを介さないと目的のエリアに到達できない。 自律システム境界ルータ(ASBR) インタフェースの少なくともひとつが別の自律システム内にあるルータ。 LSAタイプ LSAType 名称 説明 1 ルータリンク 各エリアのルータが送信。エリアとルータのリンク状態を記述する。特定のエリア内だけにフラッディングされる。 2 ネットワークリンク マルチアクセスネットワーク内のDRにより生成される。特定ネットワークと接続されているルータのセットを記述。該当するネットワークが含まれているエリア内にだけフラッディングされる。 3,4 集約リンクエントリ ABRが発信する。ABRとローカルエリアの内部ルータのリンクを記述。バックボーンエリアを介して他のABRにフラッディングされる。タイプ3LSAはローカルエリア内のネットワークへのルートを記述。タイプ4LSAはASBRへの到達可能性を記述。トータリースタブエリアにはフラッディングされない 5 AS外部リンクエントリ ASBRが発信する。自律システムの外部あて先へのルータを記述。スタブエリア、トータリースタブエリア、NSSAをのぞき、OSPF自律システム全体にフラッディングされる。 6 グループメンバーシップエントリ マルチキャストOSPFルータによりフラッディングされてルーティングドメイン全体にグループメンバシップ位置情報を配布する。 7 NSSA AS外部リンクエントリ NSSAのASSBRによって発信される。NSSA内にしかフラッディングされない。エリア境界ルータでタイプ5LSAに変換され、バックボーンにフラッディングされる。 エリアのタイプ 標準エリア シングルエリアと同じように動作する バックボーンエリア 複数のエリアを相互接続するエリア。エリア0 スタブエリア 非OSPF発信元からのルートなど、自律システム外部ルートに関する情報を受け取らない。自律システム外部へのルートはデフォルトルートを用いる。ハブアンドスポークトポロジ。 トータリースタブエリア 外部自律システムルート、または自律システム内の他のエリアの集約ルートを受け取らないエリア。 OSPF動作確認 ・router#show ip ospf border-routers 自律システム内のABRをリスト ・router#show ip ospf virtual-links 仮想リンクの状況を表示 ・router#show ip ospf process-id ルータが接続されている各エリアの統計情報を表示 ・router#show ip ospf database OSPFトポロジーデータベースの内容を表示