IP : IP ルーティング

OSPF デザイン ガイド

2008 年 2 月 7 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2005 年 8 月 10 日) | フィードバック

目次

概要
背景説明
      OSPF と RIP
      リンクステートとは
      リンクステート アルゴリズム
最短パス アルゴリズム
      OSPF コスト
      最短パス ツリー
エリアと境界ルータ
リンクステート パケット
ルータで OSPF をイネーブルにする方法
OSPF 認証
      シンプル パスワード認証
      メッセージ ダイジェスト認証
バックボーンと Area 0
仮想リンク
      Area 0 に物理的に接続されていないエリア
      バックボーンの分割
ネイバー
隣接関係
      DR の選出
      隣接関係の確立
      ポイントツーポイント インターフェイスでの隣接関係
      Non-Broadcast Multi-Access(NBMA)ネットワークでの隣接関係
NBMA での DR および neighbor コマンドの回避
      ポイントツーポイント サブインターフェイス
      インターフェイス ネットワーク タイプの選択
OSPF とルート集約
      エリア間ルート集約
      外部ルート集約
スタブ エリア
OSPF へのルートの再配布
      E1 外部ルート対 E2 外部ルート
他のプロトコルへの OSPF の再配布
      有効なメトリックの使用
      VLSM
      相互再配布
OSPF にデフォルト ルートを挿入する方法
OSPF 設計上のヒント
      エリアあたりのルータ数
      ネイバー数
      ABR あたりのエリア数
      フルメッシュ対部分メッシュ
      メモリの問題
要約
付録 A: リンクステート データベースの同期化
      リンクステート アドバタイズメント
      OSPF データベースの例
付録 B: OSPF および IP マルチキャスト アドレス指定
付録 C: 可変長サブネット マスク(VLSM)
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

RFC 2328 leavingcisco.com で定義されている Open Shortest Path First(OSPF)プロトコルは、単一の自律システム内でルーティング情報の配信に使用される内部ゲートウェイ プロトコルです。 このドキュメントでは OSPF の動作方法と、今日の大規模で複雑なネットワークの設計と構築に OSPF をどのように使用できるかについて検証を行います。

背景説明

OSPF プロトコルは、TCP/IP プロトコル ファミリとして高機能で非独占的な Internal Gateway Protocol(IGP; 内部ゲートウェイ プロトコル)を導入するというインターネット コミュニティでのニーズに基づいて開発されました。 インターネット用に共通の相互運用可能な IGP を作成するという検討は 1988 年に始まっていましたが、1991 年までは正式なものとはなっていませんでした。この時期に、OSPF ワーキング グループから、OSPF をドラフト インターネット規格に昇格させるようにとの要求が出されています。

OSPF プロトコルは、RIP など従来のインターネット ルーティング プロトコルで使用されていた Bellman-Ford ベクタ ベースのアルゴリムから発展した、リンクステート テクノロジーをベースにしています。 OSPF には、ルーティング アップデートの認証、Variable Length Subnet Mask(VLSM; 可変長サブネット マスク)、ルート サマライゼーションなどの新しいコンセプトが導入されています。

以降の章では、OSPF の用語、アルゴリズム、および今日の大規模で複雑なネットワークを設計する上でのこのプロトコルの長所と短所について説明します。

OSPF 対 RIP

今日のネットワークの急速な拡大と拡張によって、RIP はすでに限界に達しています。 RIP には次に示す制限事項があり、大規模なネットワークで問題を引き起こす原因となっています。

  • RIP のホップ カウントの上限は 15 に制限されています。 15 ホップ(15 台のルータ)を超える隔たりの RIP ネットワークは到達不能と見なされます。

  • RIP は Variable Length Subnet Mask(VLSM; 可変長サブネットマスク)を処理できません。 IP アドレスの不足や、IP アドレスを効率的に割り当てる VLSM の柔軟性を考慮すると、これは重大な欠点です。

  • ルーティング テーブル全体が定期的にブロードキャストされるため、大量の帯域幅が消費されます。 これは特に、低速リンクと WAN クラウドでの大規模ネットワークでは主要な問題となります。

  • RIP のコンバージェンスは OSPF よりも低速です。 大規模なネットワークでは、コンバージェンスの時間が分単位になります。 RIP ルータはホールドダウン タイマーとガベージ コレクション タイマーが時間切れになると、その間に受信されなかった情報を徐々にタイムアウトにします。 これは大規模なネットワーク環境には適しておらず、ルーティング情報の不一致を招くことがあります。

  • RIP には、ネットワーク遅延とリンク コストの概念がありません。 ルートは、ホップ カウントに基づいて決定されます。 より長いパスの方が総計リンク帯域幅が優れていて、遅延が小さいような場合でも、宛先までのホップ カウントが最小となるパスが常に優先されます。

  • RIP ネットワークはフラットなネットワークです。 エリアや境界という概念はありません。 クラスレス ルーティングの導入や、集約とサマライゼーションのインテリジェントな使用に関して、RIP ネットワークは遅れているように思われます。

RIP 2 と呼ばれる RIP の新バージョンで、いくつかの改良が加えられました。 RIP2 は、VLSM、認証、およびマルチキャスト ルーティング アップデートの機能に対応しています。 しかし、今日の大規模ネットワークで必須とされるホップ カウントの制限やコンバージェンスの遅さが残っているため、RIP2 は RIP(以降 RIP 1 と呼びます)を大きく改善したものではありません。

一方、OSPF では、上記の問題のほとんどが対応されています。

  • OSPF では、ホップ カウントの制限はありません。

  • VLSM のインテリジェントな使用は、IP アドレスの割り当てに非常に有効です。

  • OSPF は IP マルチキャストを使用して、リンクステート アップデートを送信します。 これにより、OSPF パケットを受信しないルータ上での処理が軽減されます。 またアップデートは定期的に送信されるのではなく、ルーティングが変更された場合にだけ送信されます。 このため、帯域幅を有効に利用できます。

  • OSPF のコンバージェンスは RIP よりも優れています。 これは、ルーティングの変更が定期的ではなく、発生と同時に伝搬されるためです。

  • OSPF では、RIP よりも適切なロード バランシングが可能です。

  • OSPF では、ネットワークを論理的に定義し、ルータを複数のエリアに分割できます。 これにより、ネットワーク全体でのリンクステート アップデートの爆発的な増加を制限できます。 またルートを集約して、サブネット情報の不要な伝搬を削減するためのメカニズムも提供されます。

  • OSPF では、各種のパスワード認証方式を使用して、ルーティング認証を実行できます。

  • OSPF は、自律システムに挿入された外部ルートの転送と外部ルートであることを示すタグ付け機能をサポートしています。 これにより、BGP などの外部プロトコルによって挿入された外部ルートを常にトラッキングできます。

これらの機能が使用できる代わりに、OSPF ネットワークの設定とトラブルシューティングはより複雑になります。 RIP のシンプルさに慣れた管理者は、OSPF ネットワークの技術を習得するために膨大な量の新しい情報を吸収する必要があります。 また、OSPF を使用すると、メモリ割り当て量と CPU の使用率のオーバーヘッドが大きくなります。 RIP を実行しているルータによっては、OSPF によって生じるオーバーヘッドを処理するために、アップグレードする必要が生じる場合があります。

リンクステートとは

OSPF はリンクステート プロトコルです。 リンクは、ルータ上のインターフェイスとみなすことができます。 リンクのステート(状態)とは、そのインターフェイスの記述であり、ネイバリング ルータとの関係の記述です。 インターフェイスの記述には、インターフェイスの IP アドレス、マスク、接続先のネットワークのタイプ、そのネットワークに接続されているルータなどが含まれます。 これらのリンクステートがすべて集まって、リンクステート データベースが形成されています。

リンクステート アルゴリズム

OSPF は、すべての既知の宛先への最短パスの作成と計算をするため、リンクステート アルゴリズムを使用します。 このアルゴリズム自体は非常に複雑です。 このアルゴリズムの各ステップをきわめて簡略化すると、次のようになります。

  1. 初期化時、またはルーティング情報の変更時、ルータはリンクステート アドバタイズメントを生成します。 このアドバタイズメントでは、そのルータ上のリンクステートをすべて集めたものが提示されます。

  2. すべてのルータがフラッディングを利用して、リンクステートを交換します。 リンクステート アップデートを受信した各ルータは、自身のリンクステート データベースにコピーを保存してから、アップデート情報を他のルータに伝搬します。

  3. 各ルータのデータベースが完成すると、ルータはすべての宛先に対する最短パス ツリーを計算します。 最短パス ツリーの計算にはダイクストラ アルゴリズムが使用されます。 宛先、関連コスト、および宛先に到達するためのネクストホップによって、IP ルーティング テーブルが形成されます。

  4. リンク コストやネットワークの追加や削除などの変更が、OSPF ネットワークで発生していない場合、OSPF は非常に「静か」です。 なんらかの変更が発生すると、リンクステート パケットにより情報がやり取りされ、ダイクストラ アルゴリズムによる再計算により、最短パスが検索されます。

最短パス アルゴリズム

最短パスは、ダイクストラ アルゴリズムを使用して計算されます。 このアルゴリズムは各ルータをツリーのルートに配置し、各宛先に到達するために必要な累計コストに基づいて最短パスを計算します。 すべてのルータが同じリンクステート データベースを使用して最短パス ツリーを作成した場合でも、トポロジ ビューは各ルータ固有のものになります。 以降のセクションでは、最短パス ツリーの作成に関連する事項について説明します。

OSPF コスト

OSPF におけるインターフェイスのコスト(メトリックともいいます)とは、特定のインターフェイスを経由してパケットを送信するために必要なオーバーヘッドを示す指標です。 インターフェイスのコストは、そのインターフェイスの帯域幅に反比例します。 つまり、帯域幅が大きいほどコストは小さくなります。 10M イーサネット回線を経由するよりも、56K シリアル回線を経由する方が、必要なオーバーヘッドが高くなり(コストが大きくなり)、遅延が大きくなります。 コストの計算には次の公式が使用されます。

  • コスト = 100,000,000/帯域幅(bps)

たとえば、10M イーサネット回線を経由する場合のコストは 108/107 = 10 となり、T1 回線を経由する場合のコストは 108/1544000 = 64 となります。

デフォルトでは、インターフェイスのコストは、帯域幅に基づいて計算されますが、ip ospf cost <value> interface sub- コマンドを使用すると、インターフェイスのコストを設定することもできます。

最短パス ツリー

インターネット コストが表示された、次のネットワーク ダイアグラムを考えてみます。 RTA の最短パス ツリーを作成するには、RTA をツリーのルートにして、各宛先の最小コストを計算する必要があります。

spf1.gif

上図は、RTA から見たネットワークのビューです。 コストを計算する際は、矢印の向きに注意してください。 たとえば、RTB のインターフェイスの、ネットワーク 128.213.0.0 へのコストは、192.213.11.0 へのコストを計算する際には関係ありません。 RTA は、RTB を経由してコスト15(10+5)で 192.213.11.0 に到達できます。 また、RTA が 222.211.10.0 に到達するには、RTC を経由したコスト 20(10+10)のルートと、RTB を経由したコスト 20(10+5+5)のルートがあります。 同じ宛先へのコストが等しいパスが存在する場合、シスコの OSPF 実装では、同じ宛先に対して最大 6 つのネクストホップのトラッキングを続けます。

ルータは最短パス ツリーを作成した後、それに従ってルーティング テーブルの作成を開始します。 直接接続されたネットワークにはメトリック(コスト)0 で到達し、それ以外のネットワークへの到達には、ツリーで算出されたコストに従います。

エリアと境界ルータ

前述したように、OSPF では、ルータ間のリンクステート アップデートの交換にフラッディングが使用されます。 ルーティング情報が変更されると、ネットワーク内のすべてのルータに対してフラッディングが実行されます。 エリアは、リンクステート アップデートの爆発的増加に対して境界を設定するために導入された概念です。 ルータにおけるフラッディングとダイクストラ アルゴリズムの計算は、エリア内の変更だけに限定されます。 エリア内のルータはすべて、まったく同一のリンクステート データベースを保持します。 複数のエリアに属し、そのエリアをバックボーン エリアに接続するルータは、Area Border Router(ABR; エリア境界ルータ)と呼ばれています。 したがって ABR は、バックボーン エリアやその他の接続エリアを記述する情報を維持管理する必要があります。

spf2.gif

エリアはインターフェイスに固有です。 すべてのインターフェイスが同じエリアに属しているルータのことを Internal Router(IR; 内部ルータ)といいます。 複数のエリアにまたがってインターフェイスを持つルータは Area Border Router(ABR; エリア境界ルータ)と呼ばれます。 OSPF と他のルーティング プロトコル(IGRP、EIGRP、IS-IS、RIP、BGP、スタティック)、あるいは OSPF ルーティング プロセスの他のインスタンス間のゲートウェイとして機能するルータは、Autonomous System Boundary Router(ASBR; 自律システム境界ルータ)と呼ばれます。 どのルータも ABR または ASBR になることができます。

リンクステート パケット

リンクステート パケットにはさまざまなタイプがありますが、それらは OSPF データベースで通常に見られるものです(付録 A)。 次図にリンクステート パケットの各種タイプを示します。

spf3.gif

上図からわかるように、ルータ リンクは、特定のエリアに属するルータ上のインターフェイスの状態を示しています。 各ルータは、自身のインターフェイスすべてについてのルータ リンクを生成します。 要約リンクは ABR によって生成されます。これにはネットワーク到達可能性情報がエリア間でどのように広められるかに関する情報が記述されています。 通常は、バックボーン(Area 0)にすべての情報が挿入され、続いてその情報がバックボーンから他のエリアに渡されます。 ABR は、ASBR の到達可能性情報を伝搬する役割も担っています。 このようにして、各ルータは他の AS 内の外部ルートへの到達方法を認識します。

ネットワーク リンクは、セグメントの Designated Router(DR; 代表ルータ)によって生成されます(DR については後述します)。 この情報には、イーサネット、トークン リング、FDDI(NBMA も含む)など、特定のマルチアクセス セグメントに接続されているすべてのルータについて記述されています。

外部リンクには、AS の外部ネットワークについて記述されています。 これらのネットワークは、再配布によって OSPF に挿入されます。 ASBR はこれらのルートを自律システムに挿入する役割を果たします。

ルータで OSPF をイネーブルにする方法

ルータで OSPF を有効にするには、設定モードで次の 2 つのステップを行います。

  1. router ospf <process-id> コマンドを使用して、OSPF プロセスをイネーブルにします。

  2. network <network or IP address> <mask> <area-id> コマンドを使用して、インターフェイスにエリアを割り当てます。

OSPF process-id は、そのルータでだけ有効な数値です。 他のルータの process-id と一致する必要はありません。 1 つのルータで複数の OSPF プロセスを実行できますが、複数のデータベース インスタンスが作成され、ルータによけいなオーバーヘッドが追加されるため、お勧めできません。

network コマンドを使用すると、特定のエリアにインターフェイスを割り当てることができます。 マスクはショートカットの役割を果たし、これによって、同じエリアに 1 行の設定行でインターフェイスのリストを追加できます。 マスクには、0 が一致、1 が「do not care」ビットを示すワイルド カード ビットが含まれています。たとえば、0.0.255.255 は、ネットワーク番号の最初の 2 バイトが一致していることを示します。

area-id はインターフェイスの所属エリア番号です。エリア ID は 0 〜 4,294,967,295 の間の整数である場合もあれば、IP アドレス A.B.C.D のような形式を取ることもあります。

次に例を示します。

spf4.gif

RTA#
interface Ethernet0
ip address 192.213.11.1 255.255.255.0
interface Ethernet1
ip address 192.213.12.2 255.255.255.0
interface Ethernet2
ip address 128.213.1.1 255.255.255.0
router ospf 100
network 192.213.0.0 0.0.255.255 area 0.0.0.0
network 128.213.1.1 0.0.0.0 area 23

最初の network ステートメントによって、同じエリア 0.0.0.0 に E0 と E1 の両方が置かれ、2 番目の network ステートメントによって、Area 23 に E2 が置かれます。IP アドレスの完全一致を示す 0.0.0.0 のマスクに注意してください。 この方法を使用すれば、マスクを割り出せない場合でも、インターフェイスを特定のエリアに容易に設定できます。

OSPF 認証

事前定義されたパスワードでルータがルーティング ドメインに参加できるように、OSPF パケットの認証が可能です。 デフォルトでは、ルータは Null 認証を使用します。これは、ネットワークを介したルーティング交換が認証されないことを意味します。 他に 2 つの認証方式があります。 シンプル パスワード認証と、メッセージ ダイジェスト認証(MD-5)です。

シンプル パスワード認証

シンプルパスワード認証では、エリアごとにパスワード(キー)を設定できます。 ルーティング ドメインに参加する、同じエリア内のルータには、同じキーを設定する必要があります。 この方式の欠点は、受動攻撃に対して脆弱な点です。 リンク アナライザを使用すれば、だれでも簡単にネットワークからパスワードを取得できます。 パスワード認証をイネーブルにするには、次のコマンドを使用します。

  • ip ospf authentication-key key(これは特定のインターフェイスの下に記述します。)

  • area area-id authentication(これは router ospf <process-id> の下に記述します。)

次に例を示します。

interface Ethernet0
ip address 10.10.10.10 255.255.255.0
ip ospf authentication-key mypassword
router ospf 10
network 10.10.0.0 0.0.255.255 area 0
area 0 authentication

メッセージ ダイジェスト認証

メッセージ ダイジェスト認証は暗号を使用した認証です。 各ルータで、キー(パスワード)とキー ID を設定します。 ルータは、OSPF パケット、キー、およびキー ID に基づくアルゴリズムを使用して、パケットの最後に付加される「メッセージ ダイジェスト」を生成します。 シンプル認証とは異なり、キーはネットワークを通じて交換されません。 各 OSPF パケットには、メッセージ ダイジェストのリプレイ攻撃を防ぐために、減少しないシーケンス番号も含まれています。

またこの方式では、中断なしで、キーの移行が可能です。 これは、通信を中断せずに OSPF パスワードを変更しようとする管理者にとっては有用です。 インターフェイスに新しいキーが設定されると、ルータは、それぞれ異なるキーで認証される、同じパケットのコピーを複数送信します。 すべてのネイバーで新しいキーが採用されたことを検出すると、ルータは複製パケットの送信を停止します。 メッセージ ダイジェスト認証には、次のコマンドを使用します。

  • ip ospf message-digest-key keyid md5 key(インターフェイスの下で使用)

  • area area-id authentication message-digest(router ospf <process-id> の下で使用)

次に例を示します。

interface Ethernet0
ip address 10.10.10.10 255.255.255.0
ip ospf message-digest-key 10 md5 mypassword
router ospf 10
network 10.10.0.0 0.0.255.255 area 0
area 0 authentication message-digest 

バックボーンと Area 0

OSPF で複数のエリアを使用する場合には、特別な制約事項があります。 複数のエリアが設定される場合、これらのエリアの 1 つは Area 0 である必要があります。これをバックボーンと呼びます。 ネットワークを設計する際は、まず Area 0 から始めて、その後他のエリアに拡張するのがよい方法です。

バックボーンは必ず他のすべてのエリアの中心に位置します。つまり、すべてのエリアがバックボーンに物理的に接続されている必要があるということです。 この背景には、すべてのエリアからバックボーンにルーティング情報が挿入され、続いてその情報がバックボーンから他のエリアに伝搬されるという OSPF の概念があります。 次の図は、OSPF ネットワークにおける情報の流れを示しています。

spf5.gif

上図では、すべてのエリアがバックボーンに直接接続されています。 バックボーンに直接の物理アクセスを持たない新しいエリアを導入するケースがまれにありますが、この場合は仮想リンクを設定する必要があります。 仮想リンクについては、次のセクションで説明します。 ルーティング情報にはさまざまなタイプがあることに注意してください。 エリア内部で生成された(宛先がそのエリアに属している)ルートは、エリア内ルートと呼びます。 通常、これらのルートは、IP ルーティング テーブルでは文字 O で表されます。 他のエリアから発信されたルートは、エリア間ルートまたは要約ルートと呼ばれます。 IP ルーティング テーブルでは、これらのルートは O IA と表記されます。 他のルーティング プロトコル(または別の OSPF プロセス)から発信され、再配布を通じて OSPF に挿入されたルートは、外部ルートと呼ばれます。 これらのルートは、IP ルーティング テーブルでは O E2 または O E1 と表記されます。 同じ宛先への複数のルートの優先順位は、エリア内、エリア間、外部 E1、外部 E2 です。外部タイプの E1 と E2 については後述します。

仮想リンク

仮想リンクは、次の 2 つの目的で使用します。

  • バックボーンに物理的に接続していないエリアをリンクする。

  • Area 0 への接続が途絶えた場合にバックボーンを一時的に接続する。

Area 0 に物理的に接続されていないエリア

前述したように、Area 0 は必ず他のすべてのエリアの中心に位置する必要があります。 まれに、エリアをバックボーンに物理的に接続できないケースがありますが、この場合は仮想リンクを使用します。 仮想リンクは、接続されていないエリアにバックボーンへの論理的なパスを提供します。 仮想リンクは 2 台の ABR の間に確立します。これらの ABR は共通のエリアを持ち、一方の ABR がバックボーンに接続している必要があります。 これを次の例で説明します。

spf6.gif

この例では、Area 1 に Area 0 は直接物理接続されていません。仮想リンクを RTA と RTB の間で設定する必要があります。 Area 2 はトランジット エリアとして使用するもので、RTB は Area 0 へのエントリ ポイントとなります。このようにして、RTA と Area 1 をバックボーンに論理的に接続できます。 仮想リンクを設定するには、RTA と RTB の両方で area<area-id> virtual-link <RID> ルータ OSPF サブコマンドを使用します。area-id はトランジット エリアです。 上図では、これは Area 2 です。RID は router-id です。OSPF router-id は、通常ボックスでの最も高い IP アドレス、または1 つ存在すれば最も数字の大きいループバック アドレスになります。 router-id は、ブート時または OSPF プロセスの再起動時だけ計算されます。 router-id を確認するには、show ip ospf interface コマンドを使用します。 RTA と RTB の RID がそれぞれ 1.1.1.1 と 2.2.2.2 である場合、両方のルータの OSPF 設定は次のようになります。

RTA#
router ospf 10
area 2 virtual-link 2.2.2.2
RTB#
router ospf 10
area 2 virtual-link 1.1.1.1

バックボーンの分割

OSPF では、仮想リンクを使用することにより、バックボーンの非連続部分のリンクが可能です。 場合によっては、異なる Area 0 間でのリンクが必要になることがあります。 これは、たとえば、会社が 2 つの個別の OSPF ネットワークを、共通する Area 0 に接続された1 つのネットワークにマージしようとした場合などに発生することがあります。他の例としては、特定のルータに障害が発生して、バックボーンが 2 つに分割されるような場合、冗長性の目的で仮想リンクが追加されます。 理由にかかわらず、仮想リンクは、それぞれが Area 0 と接続し、なおかつ共通のエリアを持つ別個の ABR 間で設定できます。 これを次の例で説明します。

spf7.gif

上記の図では、2 つの Area 0 が仮想リンクを通じてリンクされています。 共通エリアがない場合は、Area 3 のような新たなエリアを作成してトランジット エリアにします。

バックボーン以外のエリアが分割されると、バックボーンは仮想リンクを使用せずにその分割を処理します。 分割されたエリアの一方の部分は、エリア内ルートではなく、エリア間ルートとしてもう一方の部分に認識されます。

ネイバー

共通のセグメントを共有しているルータは、そのセグメントのネイバーになります。 ネイバーは Hello プロトコルを通じて選出されます。 Hello パケットは、IP マルチキャストを使用して各インターフェイスから定期的に送信されます(付録 B)。 ネイバーから受信した Hello パケットに自ルータの情報が含まれていると、両者はただちにネイバーになります。 このようにして、双方向の通信が保証されます。 ネイバーのネゴシエーションは、プライマリ アドレスに対してだけ適用されます。 インターフェイスにはセカンダリ アドレスを設定できますが、プライマリ アドレスと同じエリアに属している必要があるという制約があります。

2 台のルータ間で次のものが一致しなければ、両者はネイバーになりません。

  • Area-id(エリア ID): 共通セグメントを持っている 2 台のルータ。各ルータのインターフェイスは、そのセグメントの同じエリアに属している必要があります。 当然、両インターフェイスは同じサブネットに属し、近似のマスクが設定されています。

  • Authentication(認証): OSPF では特定のエリアへのパスワードの設定が可能です。 ネイバーになろうとしているルータは、特定のセグメントで同じパスワードを交換する必要があります。

  • Hello and Dead Intervals(Hello インターバルと Dead インターバル): OSPF は各セグメントで Hello パケットを交換します。 これはキープアライブの一種で、セグメントでのルータの存在の確認応答や、マルチアクセス セグメントでの Designated Router(DR; 代表ルータ)の選出のためにルータが使用するものです。Hello インターバルは、ルータが OSPF インターフェイスで 1 つの Hello パケットを送信してから次の Hello パケットを送信するまでの時間の長さ(秒数)を指定します。 Dead インターバルとは、ルータからの Hello パケットが受信されない場合に、そのネイバーがその OSPF ルータのダウンを宣言するまでの秒数です。

    OSPF では、これらのインターバルが 2 台のネイバー間で完全に一致していることが必要です。 これらのインターバルのいずれかが異なっている場合、両ルータはそのセグメントのネイバーとはなりません。 これらのタイマーを設定するために使用されるルータ インターフェイス コマンドは次のとおりです。 ip ospf hello-interval seconds ip ospf dead-interval seconds.

  • Stub area flag(スタブ エリア フラグ): 2 台のルータがネイバーになるためには、Hello パケット内のスタブ エリア フラグも一致していることが必要です。 スタブ エリアについては後述します。 ここでは、スタブ エリアの定義がネイバー選出プロセスに影響を与えることを覚えておいてください。

隣接関係

隣接関係は、ネイバリング プロセスの次のステップです。 隣接関係ルータとは、シンプルな Hello パケットの交換を越えて、データベース交換プロセスに進むルータのことです。 OSPF では、特定セグメントでの情報交換量を最低限に抑えるために、マルチアクセス セグメントごとに DR と Backup Designated Router(BDR; バックアップ代表ルータ)が 1 台ずつ選出されます。 BDR は、DR がダウンした場合のバックアップ メカニズムとして選出されます。 この背景には、各ルータが情報交換用に、中心となる接点を持つという概念があります。 各ルータがセグメント上の他のすべてのルータとアップデートを交換する代わりに、すべてのルータが DR および BDR と情報を交換します。 DR と BDR は、こうした情報を他のすべてのルータに中継します。 数学的に表すと、これによって情報交換量が O(n*n) から O(n) に削減されます。ここで、n はマルチアクセス セグメント上のルータの数を表しています。 次のルータ モデルは、DR と BDR を表しています。

spf8.gif

上図では、すべてのルータで共通のマルチアクセス セグメントを共有しています。 Hello パケットの交換により、1 台のルータが DR に、別の 1 台のルータが BDR に選出されます。 (すでにネイバーになっている)セグメント上の各ルータは、DR および BDR と隣接関係を確立しようとします。

DR の選出

DR と BDR の選出は、Hello プロトコルを通じて行われます。 Hello パケットは、各セグメント上で IP マルチキャスト パケット(付録 B)によって交換されます。 セグメント上で OSPF 優先順位の最も高いルータがそのセグメントの DR になります。 同じプロセスが BDR についても繰り返されます。 OSPF 優先順位が同じである場合は、RID の最も大きいルータが選出されます。 インターフェイスの OSPF 優先順位のデフォルトは 1 です。 DR と BDR という概念は、マルチアクセス セグメントごとのものであることを思い出してください。 インターフェイスの OSPF 優先順位を設定するには、ip ospf priority <value> インターフェイス コマンドを使用します。

優先順位値 0 は、DR または BDR に選出されないインターフェイスを示します。 優先順位が 0 のインターフェイスは、状態が DROTHER になります。 次の図は、DR 選出の仕組みを示しています。

spf9.gif

上の図では、RTA と RTB のインターフェイスの優先順位は同じですが、RTB の方に大きい RID が設定されています。 この比較では、RTB がそのセグメントの DR になります。 ところが、RTC には RTB よりも高い優先順位が割り当てられています。 したがって、RTC がそのセグメントの DR になります。

隣接関係の確立

隣接関係確立プロセスは、複数の段階を経た後に有効になります。 隣接関係を確立したルータは、まったく同一のリンクステート データベースを保持します。 次に、別のルータと隣接関係を確立するまでにインターフェイスが経過する状態について簡単に説明します。

  • Down(ダウン): セグメント上のどこからも情報が届いていません。

  • Attempt(試行): フレーム リレーや X.25 などの非ブロードキャスト マルチアクセス クラウドでは、 この状態は、ネイバーから新しい情報が届いていないことを示しています。 ネイバーとコンタクトをとるために、ポーリング間隔を短縮して、Hello パケットを送信する必要があります。

  • Init(初期状態): インターフェイスはネイバーからの Hello パケットの着信を検出しましたが、双方向通信はまだ確立されていません。

  • Two-way(双方向): ネイバーと双方向通信が確立されています。 ルータは、ネイバーから のHello パケット内に自ルータが含まれていることを認識しています。 このステージの最後では、DR と BDR が選出されているはずです。 双方向ステージの最後で、ルータは隣接関係の確立ステップに進むかどうかを決定します。 この決定は、「いずれかのルータが DR または BDR であるか」、「リンクがポイントツーポイントであるか」、「リンクが仮想リンクであるか」といった基準に従って行われます。

  • Exstart: ルータは、情報交換パケットで使用する最初のシーケンス番号の確立を試行しています。 このシーケンス番号によって、ルータが常に最新の情報を受信していることが保証されます。 一方のルータがプライマリ、もう一方のルータがセカンダリになります。 プライマリ ルータが情報交換のためにセカンダリ ルータにポーリングします。

  • Exchange(交換): ルータはデータベース記述パケットを送信することにより、リンクステート データベース全体を記述します。 この状態で、ルータの他のインターフェイスにパケットをフラッディングできます。

  • Loading(ロード): この状態では、ルータは情報交換の確定作業を行っています。 ルータはすでにリンクステート要求リストとリンクステート再送リストを作成し終っています。 不完全な情報や期限切れの情報は要求リストに置かれます。 送信されるアップデートは、確認応答が得られるまで再送リストに置かれます。

  • Full(完全隣接関係): この状態では、隣接関係は確立されています。 ネイバリング ルータは完全隣接関係になっています。 隣接関係ルータは、近似のリンクステート データベースを保持します。

次に例を示します。

spf10.gif

RTA、RTB、RTD、および RTF は、エリア 0.0.0.0 で共通セグメント(E0)を共有しています。 RTA と RTF の設定を次に示します。 RTB と RTD の設定は RTF とほぼ同じであるため、省略します。

RTA#
hostname RTA 
interface Loopback0
 ip address 203.250.13.41 255.255.255.0
interface Ethernet0
 ip address 203.250.14.1 255.255.255.0
router ospf 10
 network 203.250.13.41 0.0.0.0 area 1
 network 203.250.0.0 0.0.255.255 area 0.0.0.0
RTF#
hostname RTF
interface Ethernet0
 ip address 203.250.14.2 255.255.255.0
router ospf 10
 network 203.250.0.0 0.0.255.255 area 0.0.0.0 

OSPF ネットワークのデバッグに役立つ 2 つのコマンドを説明するための簡単な例を次に示します。

  • show ip ospf interface<interface>

このコマンドを実行すると、すべてのインターフェイスが適切な領域に属しているかどうか、迅速にチェックできます。ここで OSPF ネットワーク コマンドがリストされる順序は非常に重要です。 RTA の設定では、network 203.250.0.0 0.0.255.255 area 0.0.0.0 ステートメントを network 203.250.13.41 0.0.0.0 area 1 ステートメントの前に記述すると、すべてのインターフェイスが Area 0 に属することになりますが、ループバックは Area 1 にあるため、これは正しくありません。RTA、RTF、RTB、および RTD のコマンド出力を次に示します。

RTA#show ip ospf interface e0
Ethernet0 is up, line protocol is up 
  Internet Address 203.250.14.1 255.255.255.0, Area 0.0.0.0 
  Process ID 10, Router ID 203.250.13.41, Network Type BROADCAST, Cost: 
10
  Transmit Delay is 1 sec, State BDR, Priority 1
  Designated Router (ID) 203.250.15.1, Interface address 203.250.14.2
  Backup Designated router (ID) 203.250.13.41, Interface address 
203.250.14.1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 0:00:02
  Neighbor Count is 3, Adjacent neighbor count is 3
    Adjacent with neighbor 203.250.15.1  (Designated Router)
Loopback0 is up, line protocol is up 
  Internet Address 203.250.13.41 255.255.255.255, Area 1 
  Process ID 10, Router ID 203.250.13.41, Network Type LOOPBACK, Cost: 1
  Loopback interface is treated as a stub Host
RTF#show ip ospf interface e0
Ethernet0 is up, line protocol is up 
  Internet Address 203.250.14.2 255.255.255.0, Area 0.0.0.0
  Process ID 10, Router ID 203.250.15.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DR, Priority 1 
  Designated Router (ID) 203.250.15.1, Interface address 203.250.14.2
  Backup Designated router (ID) 203.250.13.41, Interface address 
203.250.14.1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 0:00:08
  Neighbor Count is 3, Adjacent neighbor count is 3 
    Adjacent with neighbor 203.250.13.41  (Backup Designated Router)
RTD#show ip ospf interface e0
Ethernet0 is up, line protocol is up 
  Internet Address 203.250.14.4 255.255.255.0, Area 0.0.0.0 
  Process ID 10, Router ID 192.208.10.174, Network Type BROADCAST, Cost: 
10
  Transmit Delay is 1 sec, State DROTHER, Priority 1 
  Designated Router (ID) 203.250.15.1, Interface address 203.250.14.2
  Backup Designated router (ID) 203.250.13.41, Interface address 
203.250.14.1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 0:00:03
  Neighbor Count is 3, Adjacent neighbor count is 2 
    Adjacent with neighbor 203.250.15.1  (Designated Router)
    Adjacent with neighbor 203.250.13.41  (Backup Designated Router)
RTB#show ip ospf interface e0
Ethernet0 is up, line protocol is up 
  Internet Address 203.250.14.3 255.255.255.0, Area 0.0.0.0
  Process ID 10, Router ID 203.250.12.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DROTHER, Priority 1 
  Designated Router (ID) 203.250.15.1, Interface address 203.250.14.2
  Backup Designated router (ID) 203.250.13.41, Interface address 
203.250.14.1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 0:00:03
  Neighbor Count is 3, Adjacent neighbor count is 2
    Adjacent with neighbor 203.250.15.1  (Designated Router)
    Adjacent with neighbor 203.250.13.41  (Backup Designated Router)

上記出力は非常に重要な情報を示しています。 RTA の出力を見てみましょう。 Ethernet0 は、エリア 0.0.0.0 に属しています。 プロセス ID は 10(router ospf 10)で、ルータ ID は 203.250.13.41 です。 RID はボックスで最も大きい IP アドレスか、またはループバック インターフェイスで、ブート時または OSPF プロセスの再起動時に計算されることを思い出してください。 そのインターフェイスの状態は BDR です。 Ethernet 0 上のルータがすべて同じ OSPF 優先順位を持っていて(デフォルトは 1)、RTF の RID が最も大きいことから、RTF のインターフェイスが DR として選出されています。 同様に、RTA が BDR として選出されています。 RTD と RTB は DR と BDR のいずれでもなく、状態は DROTHER です。

Neighbor Count と Adjacent neighbor count それぞれの数にも注意してください。 RTD は 3 台のネイバーを持ち、そのうちの 2 台(DR と BDR)と隣接関係にあります。 RTF は 3 台のネイバーを持ち、それらすべてのルータと隣接関係にあります。これは、RTF が DR であるためです。

ネットワーク タイプに関する情報も重要で、これによってインターフェイスの状態が決まります。 イーサネットなどのブロードキャスト ネットワークでは、エンド ユーザとは無関係に、DR と BDR が選出されます。 どのルータが DR または BDR になろうとも、まったく重要ではありません。 その他のケース、たとえばフレームリレーや X.25 などの NBMA メディアでは、OSPF が正常に機能する上で、DR と BDR の選出が非常に重要になります。 幸いなことに、ポイントツーポイント サブインターフェイスとポイントツーマルチポイント サブインターフェイスを導入すると、DR の選出が問題とはなりません。 NBMA 上での OSPF については、次のセクションで説明します。

もう 1 つ見ておく必要があるコマンドは、次のコマンドです。

  • show ip ospf neighbor

RTD の出力を次に示します。

RTD#show ip ospf neighbor
Neighbor ID    Pri State         Dead Time  Address      Interface
203.250.12.1    1  2WAY/DROTHER  0:00:37   203.250.14.3  Ethernet0
203.250.15.1    1  FULL/DR       0:00:36   203.250.14.2  Ethernet0
203.250.13.41   1  FULL/BDR      0:00:34   203.250.14.1  Ethernet0

show ip ospf neighbor コマンドは、特定のセグメント上にあるすべてのネイバーの状態を示します。 「Neighbor ID」が表示中のセグメントに属していなくても、気にしないでください。 この例では、203.250.12.1 と 203.250.15.1 が Ethernet0 上にはありません。 「Neighbor ID」とは実際は RID で、これは通常、ボックスのいずれかの IP アドレスになるので、問題ではありません。 RTD と RTB は単なるネイバーなので、状態は 2WAY/DROTHER になっています。 RTD は RTA および RTF と隣接関係にあり、状態は FULL/DR および FULL/BDR になっています。

ポイントツーポイント インターフェイスでの隣接関係

OSPF は、ポイントツーポイント インターフェイス(ポイントツーポイント シリアル回線など)の相手側にあるネイバーと常に隣接関係を確立します。 DR や BDR という概念はありません。 シリアル インターフェイスの状態はポイントツーポイントです。

Non-Broadcast Multi-Access(NBMA)ネットワークでの隣接関係

フレームリレー、X.25、ATM などのブロードキャストに対応していないマルチアクセス メディア上で OSPF を設定する際は、特別な注意が必要です。 OSPF プロトコルはこれらのメディアを、イーサネットなどその他のブロードキャスト メディアと同等のものであるとみなします。 通常、NBMA クラウドはハブ アンド スポーク トポロジに組み込まれています。 PVC や Switched Virtual Circuit(SVC; 相手先選択接続)は部分メッシュで配置され、その物理トポロジは OSPF で想定されているようなマルチアクセスを提供しません。 DR と BDR はそのクラウドに存在するすべてのルータと完全に物理的に接続している必要があるため、DR の選出が問題になります。 また、ブロードキャスト機能がないため、DR と BDR にはクラウドに接続された他のすべてのルータの静的リストが必要です。 これは、neighbor ip-address[priority number] [poll-interval seconds] コマンドによって実現されます。ip-address(IP アドレス)と priority(優先順位)は、ネイバーの IP アドレスと OSPF の優先順位です。 優先順位 0 のネイバーは、DR として選出される資格がないと見なされます。 poll-interval(ポーリング間隔)はダウンしている可能性があるネイバーに NBMA インターフェイスがポーリング(Hello の送信)するまでの間隔です。 この neighbor コマンドは、DR または BDR になる資格のある(インターフェイスの優先順位が 0 でない)ルータに対して適用します。 次のネットワーク ダイアグラムは、DR 選出が非常に重要となる例を示しています。

spf11.gif

上記のダイアグラムでは、クラウドに対する RTA インターフェイスを DR として選出することが重要です。これは、他のルータと完全接続しているルータは、RTA しかないためです。 DR の選出は、インターフェイスの OSPF プライオリティを設定することで制御できます。 DR または BDR になる必要がないルータには優先順位 0 を設定し、他のルータには低い優先順位を設定します。

neighbor コマンドの使用については、このドキュメントでは詳細に説明しません。使用する基本物理メディアの種類にかかわらず、インターフェイスの Network Type を自由に設定する新しい手段が導入されたため、このコマンドは使用されなくなっているためです。 このことについては、次のセクションで説明します。

NBMA での DR および neighbor コマンドの回避

スタティック ネイバーの設定や、非ブロードキャスト クラウド上で特定のルータを DR や BDR にするなど、複雑な問題を回避するためにさまざまな方法を利用できます。 使用する方法の指定は、ネットワークを新規に設計するのか、または既存のネットワークの設計を修正するかによって異なります。

ポイントツーポイント サブインターフェイス

サブインターフェイスは、インターフェイスを論理的に定義する方法です。 同じ物理インターフェイスを複数の論理インターフェイスに分割でき、各サブインターフェイスをポイントツーポイントに定義できます。 この方法は、当初は NBMA 上のスプリット ホライズンが原因で生じる問題や、ベクトル ベースのルーティング プロトコルをより適切に対処するために作られました。

ポイントツーポイント サブインターフェイスには、物理的なポイントツーポイント インターフェイスの属性があります。 OSPF に関する限り、隣接関係は常にポイントツーポイント サブインターフェイス上で作られ、DR や BDR は選定されません。 次の図は、ポイントツーポイントのサブインターフェイスを示しています。

spf12.gif

上の図では、RTA 上でシリアル 0 を S0.1 と S0.2 の 2 つのサブインターフェイスに分割できます。このようにして、OSPF はクラウドを、1 つのマルチ アクセス ネットワークとしてではなく、ポイントツーポイント リンクの集合と認識します。 ポイントツーポイントの唯一の欠点は、各セグメントが別のサブネットに属するということです。 管理者によっては、すでに 1 つの IP サブネットをクラウド全体に割り当てているため、このことを受け入れられない場合があります。

別の回避策は、IP アドレス非指定インターフェイスをクラウド上で使用することです。 この場合も、シリアル回線の IP アドレスをベースにした WAN を管理する一部の管理者にとっては問題になります。 RTA と RTB の一般的な設定を次に示します。

RTA#
interface Serial 0
 no ip address
 encapsulation frame-relay
interface Serial0.1 point-to-point
 ip address 128.213.63.6 255.255.252.0
 frame-relay interface-dlci 20
interface Serial0.2 point-to-point
 ip address 128.213.64.6 255.255.252.0
 frame-relay interface-dlci 30
router ospf 10
network 128.213.0.0 0.0.255.255 area 1
RTB#
interface Serial 0
 no ip address
 encapsulation frame-relay
interface Serial0.1 point-to-point
 ip address 128.213.63.5 255.255.252.0
 frame-relay interface-dlci 40
interface Serial1
 ip address 123.212.1.1 255.255.255.0
router ospf 10
network 128.213.0.0 0.0.255.255 area 1
network 123.212.0.0 0.0.255.255 area 0

インターフェイス ネットワーク タイプの選択

OSPF インターフェイスのネットワーク タイプを設定するために使用するコマンドは、次のようになります。

ip ospf network {broadcast | non-broadcast | point-to-multipoint}

ポイントツーマルチポイント インターフェイス

OSPF ポイントツーマルチポイント インターフェイスは、1 つ以上のネイバーを伴う番号付きポイントツーポイント インターフェイスとして定義されています。 この概念は、前に説明したポイントツーポイントの概念を 1 歩進めたものです。 ネットワーク管理者は、各ポイントツーポイント リンクに複数のサブネットを作ることを心配する必要はありません。 クラウドは、1 つのサブネットとして設定されます。 これは、クラウドの IP アドレッシングを変更しないまま、ポイントツーポイント概念に移行する場合に適しています。 また、DR や neighbor ステートメントについて心配する必要もありません。 OSPF ポイントツーマルチポイントは、追加のリンク状態アップデートを交換することにより機能しますが、これにはネイバリング ルータへの接続性を記述した多数の情報要素が含まれます。

spf13.gif

RTA#
interface Loopback0
 ip address 200.200.10.1 255.255.255.0
interface Serial0
 ip address 128.213.10.1 255.255.255.0
 encapsulation frame-relay
 ip ospf network point-to-multipoint
router ospf 10
network 128.213.0.0 0.0.255.255 area 1
RTB#
interface Serial0
 ip address 128.213.10.2 255.255.255.0
 encapsulation frame-relay
 ip ospf network point-to-multipoint
interface Serial1
 ip address 123.212.1.1 255.255.255.0
router ospf 10
network 128.213.0.0 0.0.255.255 area 1
network 123.212.0.0 0.0.255.255 area 0

static frame relay map ステートメントが設定されなかったことに注意してください。これは、Inverse ARP が DLCI から IP アドレスへのマッピングを処理するためです。 show ip ospf interfaceshow ip ospf route の出力結果を次に表示します。

RTA#show ip ospf interface s0
Serial0 is up, line protocol is up
  Internet Address 128.213.10.1 255.255.255.0, Area 0
  Process ID 10, Router ID 200.200.10.1, Network Type
POINT_TO_MULTIPOINT, Cost: 64
  Transmit Delay is 1 sec, State POINT_TO_MULTIPOINT,
  Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
    Hello due in 0:00:04
  Neighbor Count is 2, Adjacent neighbor count is 2
    Adjacent with neighbor 195.211.10.174
    Adjacent with neighbor 128.213.63.130
RTA#show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
128.213.10.3      1   FULL/  -        0:01:35     128.213.10.3    Serial0
128.213.10.2      1   FULL/  -        0:01:44     128.213.10.2    Serial0
RTB#show ip ospf interface s0
Serial0 is up, line protocol is up
  Internet Address 128.213.10.2 255.255.255.0, Area 0
  Process ID 10, Router ID 128.213.10.2, Network Type
POINT_TO_MULTIPOINT, Cost: 64
  Transmit Delay is 1 sec, State POINT_TO_MULTIPOINT,
  Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
    Hello due in 0:00:14
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 200.200.10.1
RTB#show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
200.200.10.1      1   FULL/  -        0:01:52     128.213.10.1    Serial0

ポイントツーマルチポイントの唯一の欠点は、複数のホスト ルート(マスクが 255.255.255.255 であるルート)をすべてのネイバーに対して生成することです。 下記の RTB の IP ルーティング テーブル内のホスト ルートに注意してください。

RTB#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is not set
      200.200.10.0 255.255.255.255 is subnetted, 1 subnets
 O       200.200.10.1 [110/65] via 128.213.10.1,  Serial0
         128.213.0.0 is variably subnetted, 3 subnets, 2 masks
 O    128.213.10.3 255.255.255.255
            [110/128] via 128.213.10.1, 00:00:00, Serial0
 O    128.213.10.1 255.255.255.255
            [110/64] via 128.213.10.1, 00:00:00, Serial0
 C       128.213.10.0 255.255.255.0 is directly connected, Serial0
      123.0.0.0 255.255.255.0 is subnetted, 1 subnets
 C       123.212.1.0 is directly connected, Serial1
 RTC#show ip route
      200.200.10.0 255.255.255.255 is subnetted, 1 subnets
 O       200.200.10.1 [110/65] via 128.213.10.1, Serial1
      128.213.0.0 is variably subnetted, 4 subnets, 2 masks
 O       128.213.10.2 255.255.255.255 [110/128] via 128.213.10.1,Serial1
 O       128.213.10.1 255.255.255.255 [110/64] via 128.213.10.1, Serial1
 C       128.213.10.0 255.255.255.0 is directly connected, Serial1
      123.0.0.0 255.255.255.0 is subnetted, 1 subnets
 O       123.212.1.0 [110/192] via 128.213.10.1, 00:14:29, Serial1

RTC の IP ルーティング テーブルの中で、ネットワーク 123.212.1.0 はネクストホップ 128.213.10.1 を経由して到達可能ですが、128.213.10.2 は経由しないことに注目してください。これは同じサブネットを共有するフレームリレー クラウド上で通常表示されるものと同じです。 これはポイントツーマルチポイント設定の利点の 1 つです。なぜなら、ネクストホップ 128.213.10.2 に到達するために RTC 上のスタティック マッピングに頼る必要がないからです。

ブロードキャスト インターフェイス

このアプローチは、neighbor コマンドを使用した場合に既存のネイバーをすべてスタティックにリストしてしまうことへの回避策です。 インターフェイスは論理的にブロードキャストに設定され、あたかもルータが LAN に接続されたかのように振舞います。 それでも DR と BDR の選出は行われるので、細心の注意を払って、フルメッシュ トポロジあるいは DR のスタティック選択がインターフェイスの優先順位に基づくことを確証する必要があります。 インターフェイスをブロードキャストに設定するコマンドは、次のとおりです。

ip ospf network broadcast

OSPF とルート集約

集約とは、複数のルートを 1 つのアドバタイズメントに統合することです。 これは通常、Area Border Router(ABR; エリア境界ルータ)の境界で行われます。 集約は任意の 2 つのエリア間に設定できますが、バックボーンの方向に集約することをお勧めします。 このすることで、バックボーンはすべての集約アドレスを受信してから、すでに集約されたこれらのアドレスを別のエリアに挿入します。 集約には 2 つのタイプがあります。

  • エリア間ルート集約

  • 外部ルート集約

エリア間ルート集約

エリア間ルート集約は ABR 上で行われ、AS 内からのルートに適用されます。 これは再配布で OSPF に挿入された外部ルートには適用されません。 集約を利用するために、エリア内のネットワーク番号を連続するように割り当てて、これらのアドレスを 1 つの範囲にまとめられるようにする必要があります。 アドレス範囲を指定するには、ルータ設定モードで次のタスクを実行します。

area area-id range address mask

ここで、area-id は、集約するネットワークを含むエリアです。 address と mask は、1 つの範囲に集約するアドレスの範囲を指定します。 次に、集約の例を示します。

spf14.gif

上の図で、RTB は 128.213.64.0 から 128.213.95.0 までのサブネットの範囲を 1 つの範囲である 128.213.64.0 255.255.224.0 に集約しています。128.213.64.0 255.255.224.0. これは、255.255.224.0のネットワークマスクを使用し、64の左端 3 ビットを マスクすることで実現されます。 同じように、RTC はバックボーンへのサマリー アドレス 128.213.96.0 255.255.224.0 を生成しています。 この集約が成功したのは、64-95 と 96-127 という 2 つの異なるサブネットの範囲があるためであることに注目してください。

Area 1 と Area 2 の間のサブネットがオーバーラップした場合、集約は困難だったと予測されます。 バックボーン エリアはオーバーラップする集約範囲を受信するため、中間のルータはサマリー アドレスに基づいてトラフィックをどこに送信するかを判断できません。

次に、RTB に関連する設定を示します。

RTB#
 router ospf 100
 area 1 range 128.213.64.0 255.255.224.0

Cisco IOS(R) ソフトウェア リリース 12.1(6) より前では、ルーティング ループの発生を防止するため、ABR 上で、サマリー アドレスに対するスタティック ルートの破棄を手動設定することが推奨されていました。 上記の集約ルートの場合、次のコマンドを使用できます。

ip route 128.213.64.0 255.255.224.0 null0

IOS 12.1(6) 以降では、破棄ルートはデフォルトで自動生成されます。 何らかの理由によりこの破棄ルートを使用しない場合、次のコマンドを router ospf の下に設定できます。

[no] discard-route internal

または

[no] discard-route external

サマリー アドレスのメトリックの計算について注意してください。 RFC 1583 leavingcisco.com では、使用可能なコンポーネント パスの最小メトリックに基づいて、集約ルートのメトリックを計算するように規定されていました。

RFC 2178leavingcisco.com(現在では RFC 2328 leavingcisco.com に置き換わっています)では、集約で最もコストがかかるコンポーネントによって集約のコストが決定されるように、集約ルートのメトリックの計算方法が変更されました。

IOS 12.0 よりも前のバージョンでは、シスコはその当時の RFC 1583leavingcisco.com に準拠していました。IOS 12.0 の時点で、シスコは新しい規格である RFC 2328 に準拠するように、OSPF の動作を変更しました。leavingcisco.com. こうした状況により、エリア内のすべての ABR が新しいコードに同時にアップグレードされなかった場合、最適なルーティングではなくなる可能性が出て来ました。 この潜在的な問題に対処するために、RFC 2328 leavingcisco.com との互換性を選択的にディセーブルにできるコマンドが、Cisco IOS の OSPF 設定に追加されました。 新しい設定コマンドは router ospf の下に記述され、構文は次のようになります。

[no] compatible rfc1583 

デフォルト設定では、RFC 1583 leavingcisco.comと互換性があります。 このコマンドは、IOS の次のバージョンで使用可能です。

  • 12.1(03)DC

  • 12.1(03)DB

  • 12.001(001.003) - 12.1 メインライン

  • 12.1(01.03)T - 12.1 T トレイン

  • 12.000(010.004) - 12.0 メインライン

  • 12.1(01.03)E - 12.1 E トレイン

  • 12.1(01.03)EC

  • 12.0(10.05)W05(18.00.10)

  • 12.0(10.05)SC

外部ルート集約

外部ルート集約は、外部ルートに固有の集約であり、再配布により OSPF に挿入されます。 また、集約されている外部範囲が連続していることを確認してください。 異なる 2 台のルータからの範囲がオーバーラップしている集約は、パケットが誤った送信先へ送られる原因になります。 集約は、次の router ospf サブコマンドによって行われます。

summary-address ip-address mask

このコマンドは、OSPF への再配布を行う ASBR 上だけで有効です。

spf15.gif

上の図において、RTA と RTD は再配布により外部ルートを OSPF に挿入しています。 RTA はサブネットを範囲 128.213.64 〜 95 に挿入し、RTD はサブネットを範囲 128.213.96 〜 127 に挿入しています。次のコマンドを実行することにより、サブネットを各ルータ上の 1 つの範囲に集約できます。

RTA#
 router ospf 100
 summary-address 128.213.64.0 255.255.224.0
 redistribute bgp 50 metric 1000 subnets
 RTD#
 router ospf 100
 summary-address 128.213.96.0 255.255.224.0
 redistribute bgp 20 metric 1000 subnets

これにより RTA は 1 つの外部ルート 128.213.64.0 255.255.224.0 を生成することになり、RTD は 128.213.96.0 255.255.224.0 を生成することになります。

summary-address コマンドを RTB で使用しても効果がないことに注意してください。これは RTB が OSPF へ再配布を行っていないためです。

スタブ エリア

OSPF では、特定のエリアをスタブ エリアとして設定できます。 外部ネットワークは、たとえば別のプロトコルから OSPF へ再配布されるような場合、スタブ エリアへのフラッディングはできません。 これらのエリアから外部ネットワークへのルーティングには、デフォルト ルートを使用します。 スタブ エリアを設定することによりエリア内のトポロジ用データベース サイズを小さくすることができ、そのエリア内のルータのメモリ要件を縮小できます。

エリアに 1 つの出口がある場合や、エリア外部へのルーティングに最適なパスを使用する必要がない場合、このエリアをスタブとみなすことができます。 後者の記述では、複数の出口があるスタブ エリアには、デフォルトをこのエリアに挿入する 1 つ以上のエリア境界ルータがあることを示しています。 外部ネットワークへのルーティングは送信先に達する上で最適でないパスを使用することがあります。これは、エリアから外へ出る際に経由する出口から送信先への距離が、他の出口からの距離より遠い場合に起こります。

スタブ エリアのその他の制約事項は、スタブ エリアを仮想リンクのトランジット エリアとして使用できないことです。 また、スタブ エリアの内部には ASBR を設置できません。 これらの制約事項が作られた理由は、スタブ エリアは主に外部ルートを運ばないように設定されており、上記のどの状況でも外部リンクがこのエリアに挿入されてしまうためです。 当然バックボーンは、スタブとして設定できません。

スタブ エリア内のすべての OSPF ルータはスタブ ルータとして設定する必要があります。 これは、あるエリアをスタブとして設定すると、このエリアに属するすべてのインターフェイスが Hello パケットを、インターフェイスがスタブであることを示すフラグを添付して交換し始めるためです。 実際には、このフラグはその Hello パケット内の 1 ビット(E ビット)であり、0 に設定されます。共通セグメントを持つすべてのルータでは、このフラグが一致する必要があります。 このフラグが一致しない場合、これらのルータはネイバーとならず、ルーティングは実行されません。

スタブ エリアの拡張に、「トータル スタブ エリア」と呼ばれるものがあります。 シスコではこれを示すために、no-summary キーワードをスタブ エリアの設定に追加しています。 トータル スタブ エリアは、外部ルートとサマリー ルート(エリア間ルート)がエリア内に挿入されることを防御するエリアです。 このようにして、このエリアに挿入されるルートは、エリア内ルートとデフォルトの 0.0.0.0 だけになります。

エリアをスタブとして設定するコマンドを次に示します。

area <area-id> stub [no-summary]

またデフォルトコストをエリア内に設定するコマンドは、次のようになります。

area area-id default-cost cost

コストが上記のコマンドを使用して設定されていない場合、コスト 1 が ABR によってアドバタイズされます。

spf16.gif

Area 2 をスタブ エリアとして設定すると仮定します。 次の例では、Area 2 をスタブに設定する前と後の RTE のルーティング テーブルを示します。

RTC#
 interface Ethernet 0
  ip address 203.250.14.1 255.255.255.0
 interface Serial1
  ip address 203.250.15.1 255.255.255.252
 router ospf 10
  network 203.250.15.0 0.0.0.255 area 2
  network 203.250.14.0 0.0.0.255 area 0
 RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is not set
      203.250.15.0 255.255.255.252 is subnetted, 1 subnets
 C       203.250.15.0 is directly connected, Serial0
 O IA 203.250.14.0 [110/74] via 203.250.15.1, 00:06:31, Serial0
      128.213.0.0 is variably subnetted, 2 subnets, 2 masks
 O E2    128.213.64.0 255.255.192.0
            [110/10] via 203.250.15.1, 00:00:29, Serial0
 O IA    128.213.63.0 255.255.255.252
            [110/84] via 203.250.15.1, 00:03:57, Serial0
      131.108.0.0 255.255.255.240 is subnetted, 1 subnets
 O       131.108.79.208 [110/74] via 203.250.15.1, 00:00:10, Serial0

RTE はエリア間ルート(O IA)203.250.14.0 と 128.213.63.0 を認識し、エリア内ルート(O)131.108.79.208 と外部ルート(O E2)128.213.64.0 を認識しています。

Area 2 をスタブに設定する場合、次のことを実行する必要があります。

RTC#
 interface Ethernet 0
  ip address 203.250.14.1 255.255.255.0
 interface Serial1
  ip address 203.250.15.1 255.255.255.252
 router ospf 10
  network 203.250.15.0 0.0.0.255 area 2
  network 203.250.14.0 0.0.0.255 area 0
  area 2 stub
 RTE#
 interface Serial1
  ip address 203.250.15.2 255.255.255.252 router ospf 10 network 203.250.15.0 0.0.0.255 area 2
  area 2 stub

スタブ コマンドが RTE にも設定されていることに注意してください。設定されていない場合、RTE は RTC のネイバーにはなりません。 デフォルト コストは設定されていないため、RTC は 0.0.0.0 を RTE にメトリック 1 でアドバタイズします。

RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is 203.250.15.1 to network 0.0.0.0
      203.250.15.0 255.255.255.252 is subnetted, 1 subnets
 C       203.250.15.0 is directly connected, Serial0
 O IA 203.250.14.0 [110/74] via 203.250.15.1, 00:26:58, Serial0
      128.213.0.0 255.255.255.252 is subnetted, 1 subnets
 O IA    128.213.63.0 [110/84] via 203.250.15.1, 00:26:59, Serial0
      131.108.0.0 255.255.255.240 is subnetted, 1 subnets
 O       131.108.79.208 [110/74] via 203.250.15.1, 00:26:59, Serial0
 O*IA 0.0.0.0 0.0.0.0 [110/65] via 203.250.15.1, 00:26:59, Serial0

0.0.0.0 のデフォルトルートに置き換えられた外部ルート以外のすべてのルートが表示されることに注意してください。 たまたま、ルートのコストは 65 になっています(T1 回線の 64 + RTC がアドバタイズした 1)。

ここでは、Area 2 がトータル スタブになるように設定し、0.0.0.0 のデフォルト コストを 10 に変更します。

RTC#
 interface Ethernet 0
  ip address 203.250.14.1 255.255.255.0
 interface Serial1
  ip address 203.250.15.1 255.255.255.252
 router ospf 10
  network 203.250.15.0 0.0.0.255 area 2
  network 203.250.14.0 0.0.0.255 area 0
  area 2 stub no-summary
  area 2 default cost 10
 RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is not set
      203.250.15.0 255.255.255.252 is subnetted, 1 subnets
 C       203.250.15.0 is directly connected, Serial0
      131.108.0.0 255.255.255.240 is subnetted, 1 subnets
 O       131.108.79.208 [110/74] via 203.250.15.1, 00:31:27, Serial0
 O*IA 0.0.0.0 0.0.0.0 [110/74] via 203.250.15.1, 00:00:00, Serial0

表示される唯一のルートは、エリア内ルート(O)とデフォルトルート 0.0.0.0 であることに注意してください。 外部ルートとエリア間ルートはブロックされています。 デフォルトルートのコストは現在 74 です(T1 回線の 64 + RTC がアドバタイズした 10)。 このケースでは、RTE の設定は必要ありません。 エリアはすでにスタブになっており、no-summary コマンドは stub コマンドとは違い、Hello パケットにはまったく影響を与えません。

OSPF へのルートの再配布

他のルーティング プロトコルやスタティックルートから OSPF へのルートの再配布により、これらのルートは OSPF 外部ルートになります。 ルートを OSPF に再配布するには、次のコマンドをルータ設定モードで使用します。

redistribute protocol [process-id] [metric value] 
[metric-type value] [route-map map-tag] [subnets]

注:上記のコマンドは、1 行に記述する必要があります。 

protocol と process-id は、OSPF に挿入しようとしているプロトコルとそのプロセス ID(存在する場合)になります。 メトリックは、外部ルートに割り当てるコストです。 メトリックを指定しないと、すべてのプロトコルからルートを再配布する場合、OSPF はデフォルト値 20 を使用します。ただし、メトリック 1 を得る BGP ルートを除きます。metric-type については、次のパラグラフで説明します。

route-map は、ルーティング ドメイン間でルートの再配布を制御するために使用する方式です。 route-map の形式を次に示します。

route-map map-tag [[permit | deny] | [sequence-number]]

ルートを OSPF に再配布するとき、subnets キーワードを指定しなければ、サブネット化されていないルートだけが再配布されます。

E1 外部ルート対 E2 外部ルート

外部ルートは 2 つのカテゴリ、外部タイプ 1 と外部タイプ 2 に分類されます。この 2 つのタイプの違いは、ルート コスト(メトリック)の計算方法にあります。 タイプ 2 のルートのコストは、そのルートに到達するための内部コストに関係なく、常に外部コストになります。 タイプ 1 のコストは、外部コストに追加されるもので、このルートに到達するために使用される内部コストです。 送信先が同じ場合、タイプ 1 ルートがタイプ 2 ルートよりも、常に優先されます。 これを次の図に示します。

spf17.gif

上の図が示すように、RTA は 2 つの外部ルートを OSPF に再配布しています。 N1 と N2 の外部コストはともに x です。 唯一の相違点は N1 が metric-type 1 を使用して OSPF に再配布され、N2 が metric-type 2 を使用して再配布されることです。Area 1 から Area 0 へのルートを辿るとすると、N2 への到達コストは、RTB から見た場合も RTC から見た場合も常に x になります。 途中の内部コストは考慮されません。 一方、N1 への到達コストは、内部コストの分だけ増加しています。 コストは RTB から見ると x+y で、RTC から見ると x+y+z です。

外部ルートが両方ともタイプ 2 ルートで送信先ネットワークへの外部コストが等しい場合、ASBR へのコストが最も低いパスが最適なパスとして選択されます。

特に指定されない限り、外部ルートに付与されるデフォルトの外部タイプはタイプ 2 です。

spf18.gif

RTC 上の E0 を指している次の 2 本のスタティック ルートを追加したと仮定します。 16.16.16.0 255.255.255.0(/24 表記は、左端から始まる 24 ビットのマスクを意味します)と 128.213.0.0 255.255.0.0。 次に RTC で redistribute コマンドに異なるパラメータを使用した場合の動作の違いを示します。

RTC#
 interface Ethernet0
  ip address 203.250.14.2 255.255.255.0
 interface Serial1
  ip address 203.250.15.1 255.255.255.252
 router ospf 10
  redistribute static
  network 203.250.15.0 0.0.0.255 area 2
  network 203.250.14.0 0.0.0.255 area 0
 ip route 16.16.16.0 255.255.255.0 Ethernet0
 ip route 128.213.0.0 255.255.0.0 Ethernet0
 RTE#
 interface Serial0
  ip address 203.250.15.2 255.255.255.252
 router ospf 10
 network 203.250.15.0 0.0.0.255 area 2

次に、RTE での show ip route の出力結果を示します。

RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is not set
      203.250.15.0 255.255.255.252 is subnetted, 1 subnets
 C       203.250.15.0 is directly connected, Serial0
 O IA 203.250.14.0 [110/74] via 203.250.15.1, 00:02:31, Serial0
 O E2 128.213.0.0 [110/20] via 203.250.15.1, 00:02:32, Serial0

subnet subnet キーワードを使用しなかったため、表示された外部ルートは唯一 128.213.0.0 であることに注意してください。 subnet キーワードを使用しなければ、サブネットでないルートだけが再配布されることを思い出してください。 この場合では、16.16.16.0 はサブネット化されたクラス A ルートであり、再配布されていません。 metric キーワード(またはルータ OSPF の基で default-metric ステートメント)が使用されなかったため、外部ルートに割り当てられたコストは 20 です(BGP のデフォルトのコストは 1)。 次のコマンドを使用すると、下記のようになります。

redistribute static metric 50 subnets
RTE#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M
- mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is not set
      16.0.0.0 255.255.255.0 is subnetted, 1 subnets
 O E2    16.16.16.0 [110/50] via 203.250.15.1, 00:00:02, Serial0
      203.250.15.0 255.255.255.252 is subnetted, 1 subnets
 C       203.250.15.0 is directly connected, Serial0
 O IA 203.250.14.0 [110/74] via 203.250.15.1, 00:00:02, Serial0
 O E2 128.213.0.0 [110/50] via 203.250.15.1, 00:00:02, Serial0

16.16.16.0 が表示され、外部ルートへのコストが 50 である点に注意してください。外部ルートはタイプ 2(E2)であるため、内部コストは追加されていません。 ここで、タイプを E1 に変更します。

redistribute static metric 50 metric-type 1 subnets
RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is not set
      16.0.0.0 255.255.255.0 is subnetted, 1 subnets
 O E1    16.16.16.0 [110/114] via 203.250.15.1, 00:04:20, Serial0
      203.250.15.0 255.255.255.252 is subnetted, 1 subnets
 C       203.250.15.0 is directly connected, Serial0
 O IA 203.250.14.0 [110/74] via 203.250.15.1, 00:09:41, Serial0
 O E1 128.213.0.0 [110/114] via 203.250.15.1, 00:04:21, Serial0

タイプが E1 に変更され、コストは S0 の内部コスト分(64)だけ増加し、合計コストは 64+50=114 となったことに注意してください。

ルート マップを RTC の設定に追加したとすると、次の結果が得られます。

RTC#
 interface Ethernet0
  ip address 203.250.14.2 255.255.255.0
 interface Serial1
  ip address 203.250.15.1 255.255.255.252
 router ospf 10
 redistribute static metric 50 metric-type 1 subnets route-map STOPUPDATE
  network 203.250.15.0 0.0.0.255 area 2
  network 203.250.14.0 0.0.0.255 area 0
 ip route 16.16.16.0 255.255.255.0 Ethernet0
 ip route 128.213.0.0 255.255.0.0 Ethernet0
 access-list 1 permit 128.213.0.0 0.0.255.255
 route-map STOPUPDATE permit 10
  match ip address 1

上のルート マップでは、128.213.0.0 が OSPF に再配布されることだけが許可され、他は拒否されます。 これが、16.16.16.0 が RTE のルーティング テーブルに表示されなくなる理由です。

RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is not set
      203.250.15.0 255.255.255.252 is subnetted, 1 subnets
 C       203.250.15.0 is directly connected, Serial0
 O IA 203.250.14.0 [110/74] via 203.250.15.1, 00:00:04, Serial0
 O E1 128.213.0.0 [110/114] via 203.250.15.1, 00:00:05, Serial0

他のプロトコルへの OSPF の再配布

有効なメトリックの使用

OSPF を別のプロトコルへ再配布するときは、常にこれらのプロトコルのルールを考慮する必要があります。 特に、適用されるメトリックはこのプロトコルが使用するメトリックと一致する必要があります。 たとえば RIP メトリックは範囲が 1 から 16 までのホップ カウントで、この場合、1 はネットワークが 1 ホップ先にあることを示し、16 はネットワークが到達不能なことを示しています。 一方 IGRP と EIGRP は、次の形式のメトリックを必要とします。

default-metric bandwidth delay reliability loading mtu

VLSM

考慮する必要がある別の問題は、Variable Length Subnet Mask(VLSM; 可変長サブネット マスク)です(付録 C)。 OSPF は同一主要ネットの複数のサブネット情報を伝えることができますが、RIP や IGRP など他のプロトコル(EIGRP は VLSM で可能)はできません。 同一主要ネットが OSPF と RIP ドメインの境界を超える場合、RIP や IGRP に再配布された VLSM 情報は紛失し、スタティックルートを RIP や IGRP ドメインで設定する必要があります。 次の例では、この問題を説明します。

spf19.gif

上の図で、RTE は OSPF を実行し RTA は RIP を実行しています。 RTC は、2 つのプロトコル間で再配布を行っています。 問題はクラス C ネットワーク 203.250.15.0 が変動的にサブネット化されていて、255.255.255.252 と 255.255.255.192 の 2 つの異なるマスクを持っている場合です。 RTE と RTA の設定とルーティング テーブルを見てみましょう。

RTA#
 interface Ethernet0
  ip address 203.250.15.68 255.255.255.192
 router rip
  network 203.250.15.0
 RTC#
 interface Ethernet0
  ip address 203.250.15.67 255.255.255.192
 interface Serial1
  ip address 203.250.15.1 255.255.255.252
 router ospf 10
 redistribute rip metric 10 subnets
  network 203.250.15.0 0.0.0.255 area 0
 router rip
  redistribute ospf 10 metric 2
  network 203.250.15.0
 RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is not set
      203.250.15.0 is variably subnetted, 2 subnets, 2 masks
 C       203.250.15.0 255.255.255.252 is directly connected, Serial0
 O       203.250.15.64 255.255.255.192
            [110/74] via 203.250.15.1, 00:15:55, Serial0
 RTA#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is not set
      203.250.15.0 255.255.255.192 is subnetted, 1 subnets
 C       203.250.15.64 is directly connected, Ethernet0

RTE は 203.250.15.0 には 2 つのサブネットがあると認識しているのに対して、RTA は 203.250.15.0 には 1 つのサブネット(インターフェイス上で設定されている 1 つ)しか認識していないことに注意してください。 サブネット 203.250.15.0 255.255.255.252 に関する情報は、RIP ドメインの中で失われています。 このサブネットに到達するためには、RTA でスタティック ルートを設定する必要があります。

RTA#
 interface Ethernet0
  ip address 203.250.15.68 255.255.255.192
 router rip
  network 203.250.15.0
ip route 203.250.15.0 255.255.255.0 203.250.15.67

このようにして、RTA は別のサブネットへ到達できるようになります。

相互再配布

プロトコル間の相互再配布は、十分に注意を払い、管理された手法で行う必要があります。 設定に誤りがあるとルーティング情報のループが生じる可能性があります。 大雑把に言うと、相互再配布では、あるプロトコルから学習した情報を再び同じプロトコルに挿入しないことです。 受動インターフェイスと配布リストを再配布ルータに適用する必要があります。 OSPF などのリンク ステート プロトコルでの情報のフィルタリングは、注意を要する作業です。 Distribute-list out は ASBR 上で動作して、再配布されたルートを他のプロトコルにフィルタリングします。 Distribute-list in はあらゆるルータ上で動作してルートがルーティング テーブルに入れられるのを防ぎます。しかし、リンクステート パケットが伝搬されるのを防ぐことはないので、ダウンストリーム ルータには引き続きルートが維持されます。 フィルタを他のプロトコルに適用してループを防ぐことができる場合は、OSPF フィルタリングはできるだけ避けた方がよいでしょう。

spf20.gif

説明のため、RTA、RTC、および RTE が RIP を実行していると想定してください。 RTC と RTA は、OSPF も実行しています。 RTC と RTA はいずれも、RIP と OSPF の間で再配布を実行しています。 RTE から着信する RIP を OSPF ドメインに挿入したくないと仮定して、RIP の受動インターフェイスを RTC の E0 に配置させます。 ただし、RTA から着信する RIP が OSPF に挿入されるのは許可しています。 次に出力結果を示します。

注:次の設定は使用しないでください。 

RTE#
 interface Ethernet0
  ip address 203.250.15.130 255.255.255.192
 interface Serial0
  ip address 203.250.15.2 255.255.255.192
 router rip
  network 203.250.15.0
RTC#
 interface Ethernet0
  ip address 203.250.15.67 255.255.255.192
 interface Serial1
  ip address 203.250.15.1 255.255.255.192
 router ospf 10
  redistribute rip metric 10 subnets
  network 203.250.15.0 0.0.0.255 area 0
 router rip
  redistribute ospf 10 metric 2
  passive-interface Ethernet0
  network 203.250.15.0
RTA#
interface Ethernet0
 ip address 203.250.15.68 255.255.255.192
router ospf 10
 redistribute rip metric 10 subnets
 network 203.250.15.0 0.0.0.255 area 0
router rip
 redistribute ospf 10 metric 1
 network 203.250.15.0
RTC#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is not set
      203.250.15.0 255.255.255.192 is subnetted, 4 subnets
 C       203.250.15.0 is directly connected, Serial1
 C       203.250.15.64 is directly connected, Ethernet0
 R       203.250.15.128 [120/1] via 203.250.15.68, 00:01:08, Ethernet0
                        [120/1] via 203.250.15.2, 00:00:11, Serial1
 O       203.250.15.192 [110/20] via 203.250.15.68, 00:21:41, Ethernet0

RTC には、203.250.15.128 サブネットに到達するためのパスが 2 つあることに注意してください。 シリアル 1 と Ethernet 0 です(E0 は明らかに適切でないパスです)。 これは、RTC がこのエントリを OSPF を介して RTA に送り、RTA はそれを RIP を介して学習しなかったために RIP を介して戻しているからです。 これはきわめて小規模なループの例であり、設定が正しくないために発生します。 大規模なネットワークでは、この状況はさらに悪化します。

この例で生じている状況を修正するために、RTA のイーサネット 0 で受動インターフェイスを介して RIP の送信を止めることができます。 これは、イーサネット上に RIP 専用のルータがある場合は適切な方法ではありません。 この場合、RTC がイーサネットの RIP を送信することを許可できます。このように、RTA はスプリット ホライズンが原因で、ネットワークに RIP を送り返しません(スプリット ホライズンがオフの場合、NBMA メディアでは、このような動作は起こらない可能性があります)。 スプリット ホライズンは、アップデートの学習元である同じインターフェイス(同じプロトコルを介して)に、アップデートが送り返されることを許可しません。 他の方法は、配布リストを RTA に適用して、OSPF を介して学習したサブネットが、イーサネットで RIP に戻されるのを拒否することです。 後者の方法は、これから使用する方法です。

RTA#
  interface Ethernet0
  ip address 203.250.15.68 255.255.255.192
 router ospf 10
  redistribute rip metric 10 subnets
  network 203.250.15.0 0.0.0.255 area 0
 router rip
  redistribute ospf 10 metric 1
  network 203.250.15.0
  distribute-list 1 out ospf 10

RTC のルーティング テーブルの出力結果は、次のようになります。

RTF#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is not set
      203.250.15.0 255.255.255.192 is subnetted, 4 subnets
 C       203.250.15.0 is directly connected, Serial1
 C       203.250.15.64 is directly connected, Ethernet0
 R       203.250.15.128 [120/1] via 203.250.15.2, 00:00:19, Serial1
 O       203.250.15.192 [110/20] via 203.250.15.68, 00:21:41, Ethernet0

OSPF にデフォルト ルートを挿入する方法

Autonomous System Boundary Router(ASBR; 自律システム境界ルータ)に、OSPF ドメインへのデフォルト ルートを強制的に生成させることができます。 すでに説明したように、ルートが OSPF ドメインに再配布されると、ルータは ASBR になります。 しかし ASBR はデフォルトでは、OSPF ルーティング ドメインへのデフォルトルートを生成しません。

OSPF にデフォルトルートを生成させるために、次のコマンドを使用します。

default-information originate [always] [metric metric-value] 
[metric-type type-value] [route-map map-name]

注:上記のコマンドは、1 行に記述する必要があります。 

デフォルト ルートを生成するには、2 つの方法があります。 最初の方法はドメイン内部で 0.0.0.0 をアドバタイズすることですが、これは ASBR 自体にすでにデフォルトルートがある場合だけです。 次の方法では、ASBR にデフォルトルートがあるかないかにかかわらず 0.0.0.0 をアドバタイズします。 後者の方法は、キーワード always を追加することによって設定できます。 always キーワードを使用するときには注意が必要です。 使用しているルータがドメイン内でデフォルト(0.0.0.0)をアドバタイズした場合に、デフォルト ルート自体がなかったり、送信先へ到達するパスがなかったりした場合、ルーティングは中断します。

メトリックとメトリック タイプは、デフォルトルートに割り当てられたコストとタイプ(E1 または E2)です。 ルート マップは、デフォルト ルートの生成に必要な条件のセットを指定します。

spf21.gif

RTE がデフォルトルート 0.0.0.0 を RIP に挿入していると仮定します。 RTC には、203.250.15.2 のラスト リゾートのゲートウェイがあります。 default-information originate コマンドにより RTC を設定するまで、RTC はデフォルトを RTA に伝搬しません。

RTC#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is 203.250.15.2 to network 0.0.0.0
      203.250.15.0 255.255.255.192 is subnetted, 4 subnets
 C       203.250.15.0 is directly connected, Serial1
 C       203.250.15.64 is directly connected, Ethernet0
 R       203.250.15.128 [120/1] via 203.250.15.2, 00:00:17, Serial1
 O       203.250.15.192 [110/20] via 203.250.15.68, 2d23, Ethernet0
 R*   0.0.0.0 0.0.0.0 [120/1] via 203.250.15.2, 00:00:17, Serial1
             [120/1] via 203.250.15.68, 00:00:32, Ethernet0
 RTC#
 interface Ethernet0
  ip address 203.250.15.67 255.255.255.192
 interface Serial1
  ip address 203.250.15.1 255.255.255.192
 router ospf 10
  redistribute rip metric 10 subnets
  network 203.250.15.0 0.0.0.255 area 0
  default-information originate metric 10
 router rip
  redistribute ospf 10 metric 2
  passive-interface Ethernet0
  network 203.250.15.0
RTA#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is 203.250.15.67 to network 0.0.0.0
      203.250.15.0 255.255.255.192 is subnetted, 4 subnets
 O       203.250.15.0 [110/74] via 203.250.15.67, 2d23, Ethernet0
 C       203.250.15.64 is directly connected, Ethernet0
 O E2    203.250.15.128 [110/10] via 203.250.15.67, 2d23, Ethernet0
 C       203.250.15.192 is directly connected, Ethernet1
 O*E2 0.0.0.0 0.0.0.0 [110/10] via 203.250.15.67, 00:00:17, Ethernet0

RTA がメトリック 10 の外部ルートとして、0.0.0.0 を学習したことに注意してください。ラスト リゾートのゲートウェイが、予測どおり、203.250.15.67 に対して設定されます。

OSPF 設計上のヒント

OSPF の RFC(1583)では、エリア内のルータの数やセグメント当たりのネイバーの数、またはネットワークを構築する最良の方法についてガイドラインが指定されていませんでした。 さまざまな人たちが、さまざまなアプローチで OSPF ネットワークを設計しています。 忘れてはならない重要なことは、あらゆるプロトコルは負荷がかかると失敗する可能性があるということです。 発想としてはプロトコルに無理を強いるのではなく、最適な動作を得るためにプロトコルと連携することです。 次に、検討する事項のリストを示します。

エリアあたりのルータ数

エリア当たりのルータの最大数は、次のようなさまざまな要素によって決まります。

  • どのような種類のエリアがあるか。

  • そのエリアの CPU の能力はどの位か。

  • どのような種類のメディアがあるか。

  • OSPF を NBMA モードで実行するか。

  • NBMA ネットワークはメッシュ化されているか。

  • ネットワーク内に多数の外部 LSA があるか。

  • 他のエリアは、充分に集約されているか。

このような理由から、エリア当たりのルータの最大数を指定することは簡単なことではありません。 特定のネットワーク設計の支援については、販売店やシステム エンジニアにお問い合せください。

ネイバーの数

同一 LAN に接続されているルータの数も重要です。 各 LAN には、他のあらゆるルータと隣接関係をつくる DR と BDR があります。 LAN に存在するネイバーの数が少ないほど、DR や BDR が構築する隣接関係の数も小さくなります。 これは、使用しているルータにどれだけの能力があるかによって決まります。 OSPF の優先順位を変更することによって、DR を選出できます。また可能であれば、複数のセグメントで同じルータが DR とならないようにしてください。 DR の選出が 最も大きい RID に基づく場合、偶然にある 1 つのルータが、接続されているすべてのセグメント上での DR になる可能性があります。 このルータは、他のルータがアイドル状態の間も余分に稼動することになります。

spf22.gif

ABR あたりのエリア数

ABR は、サービスを提供する全エリアのデータベースのコピーを保持します。 たとえばルータが 5 つのエリアに接続されている場合、5 つのデータベースのリストを保持する必要があります。 ABR 当たりのエリアの数は多数の要素に依存しており、エリアのタイプ(ノーマル、スタブ、NSSA)、ABR CPU の能力、エリア当たりのルートの数、エリア当たりの外部ルートの数などによって決まります。 このため、ABR ごとに特定のエリア数を推奨することは不可能です。 当然、エリアを他のルータへと拡大できる場合は ABR に過負荷をかけないほうがよいでしょう。 次の図に、1 つの ABR が 5 つの異なるデータベースを維持する場合(Area 0 を含む)と、2 つの ABR がそれぞれ 3 つのデータベースを維持する場合の違いを示します。 繰り返しますが、これらは単なるガイドラインに過ぎず、ABR ごとに設定するエリアが増えればパフォーマンスは低下します。 状況によっては、パフォーマンスの低下も許容されます。

spf23.gif

フルメッシュ対部分メッシュ

フレームリレーや X.25 などの Non Broadcast Multi-Access(NBMA)クラウドでは、常に困難が生じます。 狭い帯域幅と過剰なリンク ステートにより、問題が発生しやすくなります。 部分メッシュ トポロジは、フルメッシュより動作が優れていることが実証されています。 入念に配置されたポイントツーポイントまたはポイントツーマルチポイント ネットワークは、DR 問題の対処が必要なマルチポイント ネットワークよりはるかにうまく機能します。

spf24.gif

メモリの問題

特定の OSPF 構成に必要なメモリを見積もるのは容易なことではありません。 メモリの問題は、通常は非常に多数の外部ルートが OSPF ドメインに挿入される場合に生じます。 バックボーン エリアのルータの数が 40 で外部ネットワークへのデフォルトルートが 1 つの場合、ルータ数が 4 つで 33,000 の外部ルートが OSPF に挿入されるバックボーン エリアに比べると、メモリ上の問題は少なくなります。

メモリは、優れた OSPF 設計を採用することによっても節約できます。 エリア境界ルータにおける集約とスタブエリアの使用により、交換されるルートの数はさらに削減可能です。

OSPF が使用するメモリ総量は、ルーティング テーブルで使用されるメモリ(show ip route summary)とリンクステート データベースで使用されるメモリの合計です。 次の数値は、だいたいの目安です。 ルーティング テーブルの各エントリが消費するバイト数は約 200 〜 280 バイトで、パスを追加するごとに 44 バイトです。 各 LSA が消費するバイト数は 100 バイトのオーバーヘッドおよび実際のリンクステート アドバタイズメントのサイズで、おそらく別に 60 〜 100 バイトになります(ルータ リンクの場合、これはルータのインターフェイスの数によって決まります)。 さらに、他の処理と IOS そのものが使用するメモリも追加されます。 正確な数字が知りたい場合は、OSPF をオンにした状態とオフにした状態で、show memory を実行してください。 使用プロセッサ メモリの差が答になります(configs のバックアップ コピーを保存してください)。

通常、500K バイト未満のルーティング テーブルは 2 〜 4 MB の RAM に格納できます。500 KB を超える大規模なネットワークは 8 〜 16 MB が必要で、すべてのルートがインターネットから挿入される場合は 32 〜 64 MB が必要となることがあります。

要約

RFC 1583 で定義されている OSPF プロトコルは、高機能なオープン プロトコルを提供するため、複数ベンダーのネットワークが TCP/IP プロトコル ファミリを使用して通信することが可能です。 OSPF の利点としては、 高速コンバージェンス、VLSM、認証、階層的セグメント化、ルート集約、および集約性があり、これらは大規模で複雑なネットワークの処理に必要なものです。

付録 A: リンクステート データベースの同期化

spf25.gif

上記の図では、同じセグメントのルータ同士が隣接関係を確立するまでの状態変化を表しています。 ネイバーと DR の選出は、Hello プロトコルを通じて行われます。 ルータは、ネイバーからの Hello パケットに自ルータの情報を検出すると、「Two-Way(双方向)」状態に移行します。 マルチアクセス セグメント上では、この時点で DR および BDR の選出が実行されます。 2 台のルータのどちらかがすでに DR または BDR であるか、または 2 台のルータがポイントツーポイントまたは仮想リンクで接続されている場合、ルータはネイバーとの隣接関係の確立を続行します。

Exstart 状態では、2 台のネイバーがマスター/スレーブ関係を確立し、初期シーケンス番号を一致させます。 シーケンス番号は、古いまたは重複した Link-State Advertisement(LSA; リンクステート アドバタイズメント)を検出するために使用されます。

Exchange 状態では、Database Description(DD)パケットが交換されます。 このパケットは、リンクステート アドバタイズメントがリンクステート ヘッダーの形式に短縮されたものです。 このヘッダーはリンクを識別するために十分な情報を提供します。 マスター ノードが DD パケットを送信すると、このパケットはスレーブ ノードからの DD パケットによって確認応答されます。 Exchange 以降の状態にある隣接関係はすべて、フラッディング手順によって使用されます。 これらの状態の隣接関係では、すべてのタイプの OSPF ルーティング プロトコル パケットの送受信を完全に行うことができます。

Loading 状態では、検出されているものの、まだ受信されていない新しいアドバタイズメントを要求するために、ネイバーにリンクステート要求パケットが送信されます。 各ルータは要求された LSA のリストを作成し、隣接関係を最新の状態に更新します。 すべての LSA の確認応答が到達したことを確認するために、再送リストが維持されます。 隣接関係に対するリンクステート アドバタイズメントの再送間隔(秒)を指定するには、次のコマンドを使用します。

ip ospf retransmit-interval seconds

要求パケットに対する応答として、リンクステート アップデート パケットが送信されます。 リンクステート アップデート パケットは、すべての隣接関係にフラッディングされます。

Full 状態では、ネイバー ルータ同士は完全に隣接関係になります。 共通のエリアのデータベースは、隣接関係ルータ間で完全に一致します。

各 LSA には age フィールドがあり、LSA がデータベース内にある間、またはエリア全体にフラッディングされる過程で、このフィールドが定期的に増加します。 どのネイバーの再送リストにもない LSA が Maxage に達すると、この LSA はデータベースからフラッシュ(消去)されます。

リンクステート アドバタイズメント

spf26.gif

リンクステート アドバタイズメントは、5 つのタイプに分けられます。 Router Link(RL; ルータ リンク)は、すべてのルータによって生成されます。 このリンクは、特定のエリア内にあるルータ インターフェイスの状態を記述します。 このリンクは、ルータのエリア内だけでフラッディングされます。 Network Link(NL; ネットワーク リンク)は、各セグメントの DR によって生成されます。NL は、そのセグメントに接続されたルータの状態を表示します。 Summary Link(SL; サマリー リンク)はエリア間リンク(タイプ 3)です。このリンクは、他のエリア内に存在するものの、同じ自律システムに属するネットワークをリストします。 サマリー リンクは、Area Border Router(ABR; エリア境界ルータ)によってバックボーンから他のエリアに、また他のエリアからバックボーンに挿入されます。 このリンクは、エリア間の集約のために使用されます。 サマリー リンクには、他に Autonomous System Border Router(ASBR; 自律システム境界ルータ)サマリー リンクというタイプもあります。 これは、ASBR へのルートを示すタイプ 4 リンクです。 これは、すべてのルータがその自律システムから外部に出るルートを確実に認識するためのものです。 最後のタイプはタイプ 5、External Link(EL; 外部リンク)です。EL は、ASBR によってドメインに挿入されます。

上記の図は、さまざまなリンク タイプを示しています。 RTA は Area 1 内に Router Link(RL; ルータ リンク)を生成します。また、RTA は、たまたまこのセグメントの DR でもあるため、Network Link(NL; ネットワーク リンク)も生成します。 RTB は ABR であり、Area 1 と Area 0 への RL を生成します。また RTB は、Area 1 と Area 0 へのサマリー リンクも生成します。これらのリンクは、2 つのエリア間で交換されるネットワークのリストです。 ASBR サマリー リンクも RTB によって Area 1 に挿入されます。これは、Autonomous System Boundary router(ASBR; 自律システム境界ルータ)である RTD が存在していることを意味しています。 同様に、別の ABR である RTC は Area 0 と Area 2 に対して RL を生成し、Area 2 には SL(3)を(ASBR をアナウンスしていないため)、RTD をアナウンスしている Area 0 には SL(3,4)を生成します。 RTD は Area 2 に対して RL を生成し、また BGP を介して学習した外部ルートの EL を生成します。 これらの外部ルートは、ドメイン全体にフラッディングされます。

次の表に、リンクステート アドバタイズメントの要約を示します。

LS タイプ

アドバタイズメントの説明

1

ルータ リンク アドバタイズメント。 各ルータにより、そのルータが所属するエリアに対して生成されます。 ルータ上に存在する、そのエリアへのリンクの状態を記述します。 特定のエリア内だけでフラッディングされます。

2

ネットワーク リンク アドバタイズメント。 DR によって生成されます。 特定のネットワークに接続している一連のルータを記述します。 そのネットワークを含むエリア内でフラッディングされます。

3 または 4

サマリー リンク アドバタイズメント。 ABR によって生成されます。 エリア間ルートを記述します。 タイプ 3 はネットワークへのルートを記述します。また、ルートを集約するためにも使用されます。 タイプ 4 は ASBR へのルートについて記述します。

5

AS 外部リンク アドバタイズメント。 ASBR によって発信されます。 AS の外部の宛先へのルートを記述します。 スタブ エリアを除くすべてのエリアにフラッデングされます。

show ip ospf database detail を使用して、OSPF データベースを詳細に確認すると、Link-Data、Link-ID、Link-state ID などのさまざまなキーワードが確認できます。これらの用語は、それぞれの値がリンクステート タイプおよびリンク タイプによって異なるため、まぎらわしくなります。 次にこの用語について説明し、ルータから見た OSPF データベースに関する詳細な例を示します。

Link State ID は基本的に、LS タイプに応じたリンクステートの識別情報を定義します。 ルータ リンクは、アドバタイズメントを発信したルータの Router ID(RID; ルータ ID)によって識別されます。 ネットワーク リンクは、DR の相対 IP アドレスによって識別されます。これはネットワーク リンクが DR によって生成されるため、理にかなっています。 サマリー リンク(タイプ 3)は、指し示す宛先の IP ネットワーク番号によって識別されます。 ASBR サマリー リンク(サマリー リンク タイプ 4)は、ASBR の RID によって識別されます。 最後に、外部リンクは、指し示す外部の宛先の IP ネットワーク番号によって識別されます。 次の表に要約を示します。

LS タイプ

Link State ID(ルータを参照する場合のデータベースの概要表示では、Link ID と表記)

1

発信側ルータの Router ID(RID)

2

そのネットワークの DR の IP インターフェイス アドレス

3

宛先ネットワーク番号

4

記述された ASBR の RID

5

外部ネットワーク番号

次に、利用可能なさまざまなリンクについて説明します。

スタブ ネットワーク リンク: この用語はスタブ エリアとは無関係です。 スタブ セグメントとは、ルータが 1 台だけ接続されているセグメントです。 1 台のルータが接続されたイーサネットまたはトークン リング セグメントは、スタブ ネットワークへのリンクと見なされます。 ループバック インターフェイスも、255.255.255.255 のマスク(ホスト ルート)を持つスタブ ネットワークへのリンクと見なされます。

ポイントツーポイント リンク: 物理的または論理的な(サブインターフェイス)ポイントツーポイント シリアル リンク接続です。 番号が割り当てられる(IP アドレスがリンク上で設定される)場合と、割り当てられない場合があります。

トランジット リンク: 複数のルータが接続されているネットワークに接続されたインターフェイスです。そのため、「トランジット(輸送)」と呼ばれます。

仮想リンク: バックボーンへの物理的な接続を持たないエリアを接続するための論理リンクです。 仮想リンクは、番号を割り当てられたポイントツーポイント リンクとして扱われます。

Link ID はリンク自体の識別情報です。 これはリンクのタイプごとに異なります。 トランジット リンクは、そのリンク上の DR の IP アドレスによって識別されます。 番号を割り当てられたポイントツーポイント リンクは、そのポイントツーポイント リンク上のネイバー ルータの RID によって識別されます。 仮想リンクはポイントツーポイントと同じです。 最後に、スタブ ネットワークへのリンクは、スタブ ネットワークへのインターフェイスの IP アドレスによって識別されます。 次の表に要約を示します。

リンク タイプ

Link ID(これは個々のリンクに適用されます)

ポイントツーポイント

ネイバーの RID

トランジット ネットワークへのリンク

DR のインターフェイス アドレス

スタブ ネットワークへのリンク(ループバック マスクが 255.255.255.255 の場合)

ネットワーク/サブネット番号

仮想リンク

ネイバーの RID

Link Data とは、そのリンクの IP アドレスです。ただし、スタブ ネットワークの場合に限り、リンク データとはネットワーク マスクです。

リンク タイプ

リンク データ

スタブ ネットワーク

ネットワーク マスク

その他のネットワーク(ルータ リンクだけに適用)

ルータに関連付けられた IP インターフェイス アドレス

最後に、アドバタイジング ルータとは、LSA を送信したルータの RID です。

OSPF データベースの例

spf27.gif

上記のネットワーク ダイアグラム、下記の設定、および IP ルーティング テーブルに基づいて、さまざまな角度から OSPF データベースの理解を試みます。

RTA#
 interface Loopback0
  ip address 203.250.13.41 255.255.255.255
 interface Ethernet0
  ip address 203.250.15.68 255.255.255.192
 interface Ethernet1
  ip address 203.250.15.193 255.255.255.192
 router ospf 10
  network 203.250.0.0 0.0.255.255 area 0
 RTA#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is 203.250.15.67 to network 0.0.0.0
      203.250.16.0 255.255.255.192 is subnetted, 1 subnets
 O E2    203.250.16.128 [110/10] via 203.250.15.67, 00:00:50, Ethernet0
      203.250.13.0 255.255.255.255 is subnetted, 1 subnets
 C       203.250.13.41 is directly connected, Loopback0
      203.250.15.0 255.255.255.192 is subnetted, 3 subnets
 O IA    203.250.15.0 [110/74] via 203.250.15.67, 00:00:50, Ethernet0
 C       203.250.15.64 is directly connected, Ethernet0
 C       203.250.15.192 is directly connected, Ethernet1
 O*E2 0.0.0.0 0.0.0.0 [110/10] via 203.250.15.67, 00:00:50, Ethernet0
 RTE#
 ip subnet-zero
 interface Ethernet0
  ip address 203.250.16.130 255.255.255.192
 interface Serial0
  ip address 203.250.15.2 255.255.255.192
 router ospf 10
  redistribute rip metric 10 subnets
  network 203.250.15.0 0.0.0.63 area 1
  default-information originate metric 10
 router rip
  network 203.250.16.0
 ip route 0.0.0.0 0.0.0.0 Ethernet0
RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is 0.0.0.0 to network 0.0.0.0
      203.250.16.0 255.255.255.192 is subnetted, 1 subnets
 C       203.250.16.128 is directly connected, Ethernet0
      203.250.13.0 is variably subnetted, 2 subnets, 2 masks
 O IA    203.250.13.41 255.255.255.255
            [110/75] via 203.250.15.1, 00:16:31, Serial0
      203.250.15.0 255.255.255.192 is subnetted, 3 subnets
 C       203.250.15.0 is directly connected, Serial0
 O IA    203.250.15.64 [110/74] via 203.250.15.1, 00:16:31, Serial0
 O IA    203.250.15.192 [110/84] via 203.250.15.1, 00:16:31, Serial0
 S*   0.0.0.0 0.0.0.0 is directly connected, Ethernet0
 RTC#
 ip subnet-zero
 interface Ethernet0
  ip address 203.250.15.67 255.255.255.192
 interface Serial1
  ip address 203.250.15.1 255.255.255.192
 router ospf 10
  network 203.250.15.64 0.0.0.63 area 0
  network 203.250.15.0 0.0.0.63 area 1
RTF#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
 Gateway of last resort is 203.250.15.2 to network 0.0.0.0
      203.250.16.0 255.255.255.192 is subnetted, 1 subnets
 O E2    203.250.16.128 [110/10] via 203.250.15.2, 04:49:05, Serial1
      203.250.13.0 255.255.255.255 is subnetted, 1 subnets
 O       203.250.13.41 [110/11] via 203.250.15.68, 04:49:06, Ethernet0
      203.250.15.0 255.255.255.192 is subnetted, 3 subnets
 C       203.250.15.0 is directly connected, Serial1
 C       203.250.15.64 is directly connected, Ethernet0
 O       203.250.15.192 [110/20] via 203.250.15.68, 04:49:06, Ethernet0
 O*E2 0.0.0.0 0.0.0.0 [110/10] via 203.250.15.2, 04:49:06, Serial1

データベースの概要

RTC#show ip ospf database
       OSPF Router with ID (203.250.15.67) (Process ID 10)
                Router Link States (Area 1)
Link ID         ADV Router      Age    Seq#       Checksum Link count
203.250.15.67   203.250.15.67   48     0x80000008 0xB112   2
203.250.16.130  203.250.16.130  212    0x80000006 0x3F44   2
                Summary Net Link States (Area 1)
Link ID         ADV Router      Age    Seq#       Checksum
203.250.13.41   203.250.15.67   602    0x80000002 0x90AA
203.250.15.64   203.250.15.67   620    0x800000E9 0x3E3C
203.250.15.192  203.250.15.67   638    0x800000E5 0xA54E
                Router Link States (Area 0)
Link ID         ADV Router      Age    Seq#       Checksum Link count
203.250.13.41   203.250.13.41   179    0x80000029 0x9ADA   3
203.250.15.67   203.250.15.67   675    0x800001E2 0xDD23   1
                Net Link States (Area 0)
Link ID         ADV Router      Age    Seq#       Checksum
203.250.15.68   203.250.13.41   334    0x80000001 0xB6B5
                Summary Net Link States (Area 0)
Link ID         ADV Router      Age    Seq#       Checksum
203.250.15.0    203.250.15.67   792    0x80000002 0xAEBD
                Summary ASB Link States (Area 0)
Link ID         ADV Router      Age    Seq#       Checksum
203.250.16.130  203.250.15.67   579    0x80000001 0xF9AF
                AS External Link States
Link ID         ADV Router      Age    Seq#       Checksum Tag
0.0.0.0         203.250.16.130  1787   0x80000001 0x98CE   10
203.250.16.128  203.250.16.130  5      0x80000002 0x93C4   0

これは、OSPF データベースの概要を示したものです。 データベースは、エリアに従ってリストされています。 この出力は、ABR である RTC のデータベースであり、 Area 1 と Area 0 の両方のデータベースがリストされています。 Area 1 はルータ リンクとサマリー リンクから構成されています。 Area 1 内のどのセグメントにも DR は存在しないため、ネットワーク リンクは存在しません。唯一の ASBR は、たまたま Area 0 にあるため、Area 1 にサマリー ASBR リンクは存在しません。外部リンクは全体にフラッディングされるため、特定のエリアに属していません。 すべてのリンクが、エリア内のすべてのルータから収集された累積リンクである点に注意してください。

ここでは、主として Area 0 のデータベースについて説明します。ここに示す Link-ID は、実際の Link-State ID です。これは個々のリンクをではなく、ルータ全体を表したものです。 少々誤解しやすいのですが、この高レベルの Link ID(本来は Link State ID)は、リンクではなくルータ全体を表す点は忘れないでください。

ルータ リンク

Router Link States (Area 0)
 Link ID         ADV Router      Age    Seq#       Checksum Link count
 203.250.13.41   203.250.13.41   179    0x80000029 0x9ADA   3
 203.250.15.67   203.250.15.67   675    0x800001E2 0xDD23   1

最初にルータ リンクから見て行きます。 203.250.13.41 と 203.250.15.67 に対して 2 つのエントリが示されています。これらは Area 0 の 2 台のルータの RID です。ルータごとの Area 0 のリンク数も示されています。 RTA には Area 0 に対して 3 つのリンクがあり、RTC には 1 つのリンクがあります。 次に、RTC のルータ リンクの詳細を示します。

RTC#show ip ospf database router 203.250.15.67 
     OSPF Router with ID (203.250.15.67) (Process ID 10)
                Router Link States (Area 1)
  LS age: 1169
  Options: (No TOS-capability)
  LS Type: Router Links
  Link State ID: 203.250.15.67
  Advertising Router: 203.250.15.67
  LS Seq Number: 80000008
  Checksum: 0xB112
  Length: 48
  Area Border Router
   Number of Links: 2
    Link connected to: another Router (point-to-point)
     (Link ID) Neighboring Router ID: 203.250.16.130
     (Link Data) Router Interface address: 203.250.15.1
      Number of TOS metrics: 0
       TOS 0 Metrics: 64
    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 203.250.15.0
     (Link Data) Network Mask: 255.255.255.192
      Number of TOS metrics: 0
       TOS 0 Metrics: 64

ここでは、OSPF がポイントツーポイント インターフェイスごとに追加のスタブ リンクを生成する点に注意してください。 物理インターフェイスの数よりもリンク カウントが多い場合もありますが、混乱しないでください。

Router Link States (Area 0)
  LS age: 1227
  Options: (No TOS-capability)
  LS Type: Router Links
  Link State ID: 203.250.15.67
  Advertising Router: 203.250.15.67
  LS Seq Number: 80000003
  Checksum: 0xA041
  Length: 36
  Area Border Router
   Number of Links: 1
    Link connected to: a Transit Network
     (Link ID) Designated Router address: 203.250.15.68
     (Link Data) Router Interface address: 203.250.15.67
      Number of TOS metrics: 0
       TOS 0 Metrics: 10

Link ID が、接続された DR の IP アドレス(RID ではない)に等しい点に注意してください。このケースでは、203.250.15.68 です。 Link Data は、RTC 自身の IP アドレスです。

ネットワーク リンク

Net Link States (Area 0)
Link ID         ADV Router      Age    Seq#       Checksum
203.250.15.68   203.250.13.41   334    0x80000001 0xB6B5

1 つのネットワーク リンクが、DR のインターフェイス IP アドレス(RID ではなく)によって示されます。このケースでは、203.250.15.68 です。 次に、このエントリの詳細を示します。

RTC#show ip ospf database network
       OSPF Router with ID (203.250.15.67) (Process ID 10)
                Net Link States (Area 0)
  Routing Bit Set on this LSA
  LS age: 1549
  Options: (No TOS-capability)
  LS Type: Network Links
  Link State ID: 203.250.15.68 (address of Designated Router)
  Advertising Router: 203.250.13.41
  LS Seq Number: 80000002
  Checksum: 0xB4B6
  Length: 32
  Network Mask: 255.255.255.192
        Attached Router: 203.250.13.41
        Attached Router: 203.250.15.67

ネットワーク リンクでは、トランジット ネットワークに接続されたルータの RID がリストされる点に注意してください。このケースでは、RTA と RTC の RID がリストされます。

サマリー リンク

Summary Net Link States (Area 0)
Link ID         ADV Router      Age    Seq#       Checksum
203.250.15.0    203.250.15.67   792    0x80000002 0xAEBD
Area 0 has one summary link represented by the IP network address of the
link 203.250.15.0. This link was injected by the ABR RTC from area 1 into
area 0. A detailed view of this summary link follows, summary links for
area 1 are not listed here:
RTC#show ip ospf database summary (area 1 is not listed)
              Summary Net Link States (Area 0)
  LS age: 615
  Options: (No TOS-capability)
  LS Type: Summary Links(Network)
  Link State ID: 203.250.15.0 (summary Network Number)
  Advertising Router: 203.250.15.67
  LS Seq Number: 80000003
  Checksum: 0xACBE
  Length: 28
  Network Mask: 255.255.255.192 TOS: 0  Metric: 64

サマリー ASBR リンク

Summary ASB Link States (Area 0)
Link ID         ADV Router      Age    Seq#       Checksum
203.250.16.130  203.250.15.67   579    0x80000001 0xF9AF

これは、どのルータが ASBR であるかを示しています。 このケースでは、ASBR は RTE であり、RID 203.250.16.130 によって表されています。 この Area 0 へのエントリのアドバタイジング ルータは RTC(RID 203.250.15.67)です。 次に、このサマリー ASBR エントリの詳細を示します。

RTC#show ip ospf database asbr-summary
        OSPF Router with ID (203.250.15.67) (Process ID 10)
                 Summary ASB Link States (Area 0)
   LS age: 802
   Options: (No TOS-capability)
   LS Type: Summary Links(AS Boundary Router)
   Link State ID: 203.250.16.130 (AS Boundary Router address)
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000003
   Checksum: 0xF5B1
   Length: 28
   Network Mask: 0.0.0.0 TOS: 0  Metric: 64

外部リンク

AS External Link States
Link ID         ADV Router      Age    Seq#       Checksum Tag
0.0.0.0         203.250.16.130  1787   0x80000001 0x98CE   10
203.250.16.128  203.250.16.130  5      0x80000002 0x93C4   0

2 つの外部リンクが存在します。最初のエントリは default-information originate コマンドによって OSPF に挿入された 0.0.0.0 です。 もう 1 つのエントリは、再配布によって OSPF に挿入された 203.250.16.12 8 ネットワークです。 これらのネットワークをアドバタイズするルータは、203.250.16.130(RTE の RID)です。 次に、この外部ルートの詳細を示します。

RTC#show ip ospf database external
        OSPF Router with ID (203.250.15.67) (Process ID 10)
                 AS External Link States
   Routing Bit Set on this LSA
   LS age: 208
   Options: (No TOS-capability)
   LS Type: AS External Link
   Link State ID: 0.0.0.0 (External Network Number )
   Advertising Router: 203.250.16.130
   LS Seq Number: 80000002
   Checksum: 0x96CF
   Length: 36
   Network Mask: 0.0.0.0
         Metric Type: 2 (Larger than any link state path)
         TOS: 0
         Metric: 10 
         Forward Address: 0.0.0.0
         External Route Tag: 10
  Routing Bit Set on this LSA
   LS age: 226
   Options: (No TOS-capability)
   LS Type: AS External Link
   Link State ID: 203.250.16.128 (External Network Number)
   Advertising Router: 203.250.16.130
   LS Seq Number: 80000002
   Checksum: 0x93C4
   Length: 36
   Network Mask: 255.255.255.192
         Metric Type: 2 (Larger than any link state path)
         TOS: 0
         Metric: 10
         Forward Address: 0.0.0.0
         External Route Tag: 0

Forward Address に注意してください。 このアドレスが 0.0.0.0 の場合、この外部ルートはアドバイジング ルータ(このケースでは 203. 250.16.130)を介して到達可能であることを意味します。このため、ABR は ASBR サマリー リンクを使用して、ASBR の ID を他のエリアに挿入します。

この Forward Address は必ずしも 0.0.0.0 ではありません。 場合によっては、同じセグメント上にある別のルータの IP アドレスになることもあります。 次の図は、この状況を示しています。

spf28.gif

上記の状況では、RTB と RTA の間で BGP が動作し、RTB とドメイン内の他のルータとの間で OSPF が動作しています。 RTA では OSPF は動作していません。 RTB は OSPF に BGP ルートを再配布しています。 OSPF から見ると、RTB は外部ルートをアドバタイズしている ASBR です。 この場合のフォワーディング アドレスは、アドバタイジング ルータ(0.0.0.0)RT B ではなく、125.211.1.1 に設定されます。追加でホップする必要はないため、これは理にかなっています。 重要な点は、外部ルートが IP ルーティング テーブルにインストールされるためには、OSPF ドメイン内のルータが OSPF 経由でフォワーディング アドレスに到達できる必要があることです。 フォワーディング アドレスが他のプロトコルを通じて到達される場合、またはフォワーディング アドレスに到達できない場合、外部エントリはデータベースにあっても、IP ルーティング テーブルにはありません。

RTB と RTC がともに ASBR である場合は、状況が変わります(RTC と RTA の間でも BGP が動作しているとします)。 この状況では、重複を避けるため、2 台のルータのうち 1 台は外部ルートをアドバタイズしません(フラッシュします)。 RID の大きい方のルータが選出され、そのルータがアドバタイズします。

データベース全体

最後に、練習としてデータベース全体のリストを示します。 ここまで読んできた方であれば、それぞれのエントリを調べてどのような状況にあるのかを説明できるはずです。

RTC#show ip ospf database router
         OSPF Router with ID (203.250.15.67) (Process ID 10)
                 Router Link States (Area 1)
   LS age: 926
   Options: (No TOS-capability)
   LS Type: Router Links
   Link State ID: 203.250.15.67
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000035
   Checksum: 0x573F
   Length: 48
   Area Border Router
    Number of Links: 2
     Link connected to: another Router (point-to-point)
      (Link ID) Neighboring Router ID: 203.250.16.130
      (Link Data) Router Interface address: 203.250.15.1
       Number of TOS metrics: 0
        TOS 0 Metrics: 64
     Link connected to: a Stub Network
      (Link ID) Network/subnet number: 203.250.15.0
      (Link Data) Network Mask: 255.255.255.192
       Number of TOS metrics: 0
        TOS 0 Metrics: 64
   Routing Bit Set on this LSA
   LS age: 958
   Options: (No TOS-capability)
   LS Type: Router Links
   Link State ID: 203.250.16.130
   Advertising Router: 203.250.16.130
   LS Seq Number: 80000038
   Checksum: 0xDA76
   Length: 48
   AS Boundary Router
    Number of Links: 2
     Link connected to: another Router (point-to-point)
      (Link ID) Neighboring Router ID: 203.250.15.67
      (Link Data) Router Interface address: 203.250.15.2
       Number of TOS metrics: 0
        TOS 0 Metrics: 64
     Link connected to: a Stub Network
      (Link ID) Network/subnet number: 203.250.15.0
      (Link Data) Network Mask: 255.255.255.192
       Number of TOS metrics: 0
        TOS 0 Metrics: 64
                 Router Link States (Area 0)
   Routing Bit Set on this LSA
   LS age: 1107
   Options: (No TOS-capability)
   LS Type: Router Links
   Link State ID: 203.250.13.41
   Advertising Router: 203.250.13.41
   LS Seq Number: 8000002A
   Checksum: 0xC0B0
   Length: 60
   AS Boundary Router
    Number of Links: 3
     Link connected to: a Stub Network
      (Link ID) Network/subnet number: 203.250.13.41
      (Link Data) Network Mask: 255.255.255.255
       Number of TOS metrics: 0
        TOS 0 Metrics: 1
     Link connected to: a Stub Network
      (Link ID) Network/subnet number: 203.250.15.192
      (Link Data) Network Mask: 255.255.255.192
       Number of TOS metrics: 0
        TOS 0 Metrics: 10
     Link connected to: a Transit Network
      (Link ID) Designated Router address: 203.250.15.68
      (Link Data) Router Interface address: 203.250.15.68
       Number of TOS metrics: 0
        TOS 0 Metrics: 10
   LS age: 1575
   Options: (No TOS-capability)
   LS Type: Router Links
   Link State ID: 203.250.15.67
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000028
   Checksum: 0x5666
   Length: 36
   Area Border Router
    Number of Links: 1
     Link connected to: a Transit Network
      (Link ID) Designated Router address: 203.250.15.68
      (Link Data) Router Interface address: 203.250.15.67
       Number of TOS metrics: 0
        TOS 0 Metrics: 10
 RTC#show ip ospf database network
        OSPF Router with ID (203.250.15.67) (Process ID 10)
                 Net Link States (Area 0)
   Routing Bit Set on this LSA
   LS age: 1725
   Options: (No TOS-capability)
   LS Type: Network Links
   Link State ID: 203.250.15.68 (address of Designated Router)
   Advertising Router: 203.250.13.41
   LS Seq Number: 80000026
   Checksum: 0x6CDA
   Length: 32
   Network Mask: 255.255.255.192
         Attached Router: 203.250.13.41
         Attached Router: 203.250.15.67
 RTC#show ip ospf database summary
        OSPF Router with ID (203.250.15.67) (Process ID 10)
                 Summary Net Link States (Area 1)
   LS age: 8
   Options: (No TOS-capability)
   LS Type: Summary Links(Network)
   Link State ID: 203.250.13.41 (summary Network Number)
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000029
   Checksum: 0x42D1
   Length: 28
   Network Mask: 255.255.255.255 TOS: 0  Metric: 11
   LS age: 26
   Options: (No TOS-capability)
   LS Type: Summary Links(Network)
   Link State ID: 203.250.15.64 (summary Network Number)
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000030
   Checksum: 0xB182
   Length: 28
   Network Mask: 255.255.255.192 TOS: 0  Metric: 10
   LS age: 47
   Options: (No TOS-capability)
   LS Type: Summary Links(Network)
   Link State ID: 203.250.15.192 (summary Network Number)
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000029
   Checksum: 0x1F91
   Length: 28
   Network Mask: 255.255.255.192 TOS: 0  Metric: 20
                 Summary Net Link States (Area 0)
   LS age: 66
   Options: (No TOS-capability)
   LS Type: Summary Links(Network)
   Link State ID: 203.250.15.0 (summary Network Number)
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000025
   Checksum: 0x68E0
   Length: 28
   Network Mask: 255.255.255.192 TOS: 0  Metric: 64
 RTC#show ip ospf asbr-summary
        OSPF Router with ID (203.250.15.67) (Process ID 10)
                 Summary ASB Link States (Area 0)
   LS age: 576
   Options: (No TOS-capability)
   LS Type: Summary Links(AS Boundary Router)
   Link State ID: 203.250.16.130 (AS Boundary Router address)
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000024
   Checksum: 0xB3D2
   Length: 28
   Network Mask: 0.0.0.0 TOS: 0  Metric: 64
 RTC#show ip ospf database external
       OSPF Router with ID (203.250.15.67) (Process ID 10)
                 AS External Link States
   Routing Bit Set on this LSA
   LS age: 305
   Options: (No TOS-capability)
   LS Type: AS External Link
   Link State ID: 0.0.0.0 (External Network Number)
   Advertising Router: 203.250.16.130
   LS Seq Number: 80000001
   Checksum: 0x98CE
   Length: 36
   Network Mask: 0.0.0.0
         Metric Type: 2 (Larger than any link state path)
         TOS: 0
         Metric: 10
         Forward Address: 0.0.0.0
         External Route Tag: 10
   Routing Bit Set on this LSA
   LS age: 653
   Options: (No TOS-capability)
   LS Type: AS External Link
   Link State ID: 203.250.16.128 (External Network Number)
   Advertising Router: 203.250.16.130
   LS Seq Number: 80000024
   Checksum: 0x4FE6
   Length: 36
   Network Mask: 255.255.255.192
         Metric Type: 2 (Larger than any link state path)
         TOS: 0
         Metric: 10
         Forward Address: 0.0.0.0
         External Route Tag: 0

付録 B: OSPF および IP マルチキャスト アドレス指定

OSPF では、Hello パケットおよびリンク ステート アップデートの交換に IP マルチキャストを使用します。 IP マルチキャスト アドレスは、クラス D アドレスを使用して実装されます。 クラス D アドレスとは、224.0.0.0 〜 239.255.255.255 の範囲のアドレスです。

spf29.gif

次の IP マルチキャスト アドレスは、OSPF 用に特別に予約されています。

  • 224.0.0.5: OSPF ルータはすべて、このアドレスへの送受信ができます。

  • 224.0.0.6: DR および BDR ルータはすべて、このアドレスへの送受信ができます。

IP マルチキャスト アドレスと MAC アドレスの間のマッピングには、次の規則があります。

マルチキャストをサポートするマルチアクセス ネットワークに関しては、IP アドレスの下位の 23 ビットは MAC マルチキャスト アドレス 01-005E-00-00- 00 の下位ビットとして使用されます。次に、例を示します。

  • 224.0.0.5 は 01-00-5E-00-00-05 にマッピングされます。

  • 224.0.0.6 は 01-00-5E-00-00-06 にマッピングされます。

OSPF では、トークン リング ネットワーク上でブロードキャストが使用されます。

付録 C: 可変長サブネット マスク(VLSM)

次に、2 進数/10 進数の変換表を示します。

 

0000

 

0001

 

0010

 

0011

 

0100

 

0101

 

0110

 

0111

0

0000

16

0000

32

0000

48

0000

64

0000

80

0000

96

0000

112

0000

1

0001

17

0001

33

0001

49

0001

65

0001

81

0001

97

0001

113

0001

2

0010

18

0010

34

0010

50

0010

66

0010

82

0010

98

0010

114

0010

3

0011

19

0011

35

0011

51

0011

67

0011

83

0011

99

0011

115

0011

4

0100

20

0100

36

0100

52

0100

68

0100

84

0100

100

0100

116

0100

5

0101

21

0101

37

0101

53

0101

69

0101

85

0101

101

0101

117

0101

6

0110

22

0110

38

0110

54

0110

70

0110

86

0110

102

0110

118

0110

7

0111

23

0111

39

0111

55

0111

71

0111

87

0111

103

0111

119

0111

8

1000

24

1000

40

1000

56

1000

72

1000

88

1000

104

1000

120

1000

9

1001

25

1001

41

1001

57

1001

73

1001

89

1001

105

1001

121

1001

10

1010

26

1010

42

1010

58

1010

74

1010

90

1010

106

1010

122

1010

11

1011

27

1011

43

1011

59

1011

75

1011

91

1011

107

1011

123

1011

12

1100

28

1100

44

1100

60

1100

76

1100

92

1100

108

1100

124

1100

13

1101

29

1101

45

1101

61

1101

77

1101

93

1101

109

1101

125

1101

14

1110

30

1110

46

1110

62

1110

78

1110

94

1110

110

1110

126

1110

15

1111

31

1111

47

1111

63

1111

79

1111

95

1111

111

1111

127

1111

 

1000

 

1001

 

1010

 

1011

 

1100

 

1101

 

1110

 

1111

128

0000

144

0000

160

0000

176

0000

192

0000

208

0000

224

0000

240

0000

129

0001

145

0001

161

0001

177

0001

193

0001

209

0001

225

0001

241

0001

130

0010

146

0010

162

0010

178

0010

194

0010

210

0010

226

0010

242

0010

131

0011

147

0011

163

0011

179

0011

195

0011

211

0011

227

0011

243

0011

132

0100

148

0100

164

0100

180

0100

196

0100

212

0100

228

0100

244

0100

133

0101

149

0101

165

0101

181

0101

197

0101

213

0101

229

0101

245

0101

134

0110

150

0110

166

0110

182

0110

198

0110

214

0110

230

0110

246

0110

135

0111

151

0111

167

0111

183

0111

199

0111

215

0111

231

0111

247

0111

136

1000

152

1000

168

1000

184

1000

200

1000

216

1000

232

1000

248

1000

137

1001

153

1001

169

1001

185

1001

201

1001

217

1001

233

1001

249

1001

138

1010

154

1010

170

1010

186

1010

202

1010

218

1010

234

1010

250

1010

139

1011

155

1011

171

1011

187

1011

203

1011

219

1011

235

1011

251

1011

140

1100

156

1100

172

1100

188

1100

204

1100

220

1100

236

1100

252

1100

141

1101

157

1101

173

1101

189

1101

205

1101

221

1101

237

1101

253

1101

142

1110

158

1110

174

1110

190

1110

206

1110

222

1110

238

1110

254

1110

143

1111

159

1111

175

1111

191

1111

207

1111

223

1111

239

1111

255

1111

可変長サブネット マスクが使用されるようになった背景にあるのは、より柔軟にメジャー ネットを複数のサブネットに分割して、各サブネットに十分な数のホストを確保するという考え方です。 VLSM を使用しなければ、1 つのサブネット マスクは 1 つのメジャー ネットワークにしか割り当てることができません。 これでは、必要なサブネットの数によってホストの数が制限されてしまいます。 十分な数のサブネットを確保できるようなマスクを選択すれば、各サブネットに十分なホストを割り当てられなくなります。 ホストに関しても同じことが言えます。十分な数のホストを確保できるマスクでは、十分なサブネット スペースを提供できなくなります。

たとえば、クラス C ネットワーク 192.214.11.0 を割り当てられたと仮定して、このネットワークを 3 つのサブネットに分割し、1 つのサブネットには 100 のホスト、残りのサブネットにはそれぞれ 50 のホストを確保する必要があるとします。 両端の 0 と 255 の制限を無視すると、理論的には 256 のアドレスを使用できます(192.214.11.0 〜 192.214.11.255)。 これは、VLSM を使用しなければ達成できません。

spf30.gif

使用できるサブネット マスクは少ししかありません。マスクは連続する 1 で始まり、残りのビットはすべて 0 である必要があります。

-252 (1111 1100) The address space is divided into 64.
 -248 (1111 1000) The address space is divided into 32.
 -240 (1111 0000) The address space is divided into 16.
 -224 (1110 0000) The address space is divided into 8.
 -192 (1100 0000) The address space is divided into 4.
 -128 (1000 0000) The address space is divided into 2.

VLSM を使用しない場合は、マスク 255.255.255.128 を使用してそれぞれ 128 のホストがある 2 つのサブネットに分割するか、またはマスク 255.255.255.192 を使用してそれぞれ 64 のホストがある 4 つのサブネットに分割することになります。 しかし、これでは要件が満たされません。 複数のマスクを使用すると、マスク 128 を使用して、マスク 192 を使用した 2 番目のアドレス空間をさらにサブネット化できます。次のテーブルは、アドレス空間をそれに応じてどのように分けたかを示しています。

spf31.gif

ここで、各マスクへの IP アドレスの割り当てに注意してください。 ルータまたはホストに IP アドレスを割り当てると、そのセグメントのサブネット全体が消費されます。 たとえば、E2 に 192.214.11.10 255.255.255.128 を割り当てると、192.214.11.0 から 192.214.11.127 までのアドレス範囲全体が E2 によって消費されます。 同様に、E2 に 192.214.11.160 255.255.255.128 を割り当てると、192.214.11.128 から 192.214.11.255 までのアドレス範囲全体が E2 セグメントによって消費されます。

次に、これらのアドレスがルータでどのように解釈されるかを示します。 ナチュラル マスク以外のマスクを使用する場合(サブネット化する場合など)は、IP アドレスとマスクの組み合せによってサブネット 0 が発生するとルータの処理に問題が生じる点に注意してください。 この問題を解決するには、ルータで ip subnet-zero コマンドを使用します。

RTA#
 ip subnet-zero
 interface Ethernet2
  ip address 192.214.11.10 255.255.255.128
 interface Ethernet3
  ip address 192.214.11.160 255.255.255.192
 interface Ethernet4
  ip address 192.214.11.226 255.255.255.192
 RTA# show ip route connected
      192.214.11.0 is variably subnetted, 3 subnets, 2 masks
 C       192.214.11.0 255.255.255.128 is directly connected, Ethernet2
 C       192.214.11.128 255.255.255.192 is directly connected, Ethernet3
 C       192.214.11.192 255.255.255.192 is directly connected, Ethernet4

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 7039