IP : IP ルーティング

OSPF ネイバールータの問題について

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

目次


概要

このドキュメントでは、Open Shortest Path First(OSPF)ネイバールータに隣接関係(adjacency)をフルに持たせる場合によく見られる問題について説明しています。OSPF 隣接関係(adjacency)の確立に成功すると、OSPF ネイバールータは FULL のネイバー状態になります。

隣接関係(adjacency)の確立を確かめるには、debug ip ospf adj コマンドを発行します。debug コマンドを発行する前に、『debug コマンドの重要な情報』を参照してください。



前提条件

要件

このドキュメントを読み進めるには、IP ルーティング プロトコルと OSPF ルーティング プロトコルの基本知識が必要です。IP ルーティング プロトコルについての詳細は、『ルーティングの基本情報』を参照してください。OSPF についての詳細は、『OSPF のサポート ページ』を参照してください。



使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。

  • OSPF は、Cisco 2500 シリーズ、Cisco 2600 シリーズ、およびレイヤ 3 のスイッチなど、あらゆるルータで設定できます。

  • OSPF は Cisco IOS(R) ソフトウェア リリース 10.0 以降でサポートされています。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。



表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。



隣接関係(adjacency)

ルータがネイバールータであるという状態は、リンクステート アップデートの交換を保証するのには十分ではなく、ルータ間でリンクステート アップデートを交換するためには、隣接関係(adjacency)が形成されている必要があります。隣接関係(adjacency)とは、交換のためのパラメータのネゴシエーション後にルーティング情報の交換を行おうとしている複数のルータにより形成される拡張形式のネイバー関係を指します。ルータでは、リンクステート データベース上での同期済みビューが獲得されると、隣接関係(adjacency)が FULL の状態になります。

隣接関係(adjacency)の確立には、インターフェイス タイプが重要な役割を担います。たとえば、ポイントツーポイント リンクでのネイバールータでは常に隣接関係(adjacency)の確立が試みられますが、イーサネットなどのブロードキャスト メディアの接続されたルータでは、そのインターフェイスでのネイバールータのサブセットとのみ隣接関係(adjacency)を確立するように選択することもできます。

いったん、ネイバールータと隣接関係(adjacency)の確立を決めると、ルータではリンクステート データベースのフル コピーの交換によりこれが開始されます。すると、ネイバールータでは自身のリンクステート データベースのフル コピーの交換がそのルータとの間で行われます。いくつかのネイバー ステートを経過した後、ルータ間での隣接関係(adjacency)が確立されます。



ネイバールータの状態

show ip ospf neighbor コマンドを使用すると、OSPF ネイバールータ(複数可)の状態を調べることができます。このコマンドの出力結果は、次の内のいずれかのようになります。

  • 何の状態も表示されない

  • state = down

  • state = init

  • state = exstart

  • state = exchange

  • state = 2-way

  • state = loading

OSPF の状態は他にもありますが、通常は上記の状態が show ip ospf neighbor コマンドの出力結果として表示されます。OSPF ネイバールータのすべての状態についての説明は、『OSPF 近隣ルータの状態』を参照してください。



何の状態も表示されない

show ip ospf neighbor コマンドでまったく何も示されない場合、または解析中の対象ネイバールータについては何も示されない場合、このルータでは「有効な」OSPF の HELLO パケットがこのネイバールータから受信されていないことを意味します。これはつまり、OSPF ではネイバールータから HELLO パケットがまったく受信されていないか、あるいは、HELLO パケットを受信したけれども、きわめて基本的な健全性チェックに失敗したことを示しています。

次の確認を行います。

  • ローカル ルータまたはネイバールータのインターフェイスはアップしていて、回線プロトコルもアップしていますか。確認するには、show interface コマンドを発行します。

  • 次に示すように、ネイバールータ間の IP 接続を確認してください。

    • ping コマンドに対してネイバールータが応答するか。ネイバールータの対象のインターフェイスに割り当てられた IP アドレスに ping を送信します。同じ IP アドレスに traceroute コマンドを発行して、宛先に到達するための経由ホップ数が 1 ホップに収まっていることを確認します。

    • ping 224.0.0.5 コマンドを発行した場合に、ネイバールータが応答するか。(224.0.0.5 は OSPF HELLO が送信されるアドレスです。)

    • インバウンド アクセス リストまたはその他のデバイス(スイッチなど)を確認してください。これらによって IP パケットがネイバールータから別のネイバールータへ転送されるのが妨げられている場合があります。

  • 自身のインターフェイスとネイバールータのインターフェイスの両方で OSPF がイネーブルになっていますか。確認するには、show ip ospf interface コマンドを発行します。

  • ローカル ルータまたはネイバールータのインターフェイスで OSPF が受動(passive)に設定されていますか。インターフェイスから HELLO パケットが送信されるようになってことを確認するには、show ip ospf interface コマンドを発行します。アクティブな OSPF インターフェイスに次のような行が表示されます。

    Hello due in 00:00:07
    
  • 各ネイバールータに別個のルータ ID が設定されていることを確認します。ルータ ID は OSPF ネットワーク内での各ルータの識別に使用されます。同じルータ ID が設定されたルータでは、相互に送信された HELLO パケットが無視されるため、隣接関係(adjacency)の形成が阻止されます。show ip ospf コマンド出力の 1 行目には、各ルータの現行ルータ ID が表示されます。

  • 次の HELLO パラメータがネイバー インターフェイス上で一致することを確認してください。

    • OSPF エリア番号:確認するには、show ip ospf interface interface-name コマンドを発行します。

    • OSPF エリア タイプ(stub または NSSA):確認するには、show ip ospf コマンドを発行します。

    • サブネットおよびサブネット マスク:確認するには、show interface コマンドを発行します。

    • OSPF HELLO およびデッド タイマー値:確認するには、show ip ospf interface interface-name コマンドを発行します。

  • 問題がポイントツーポイント リンク(PPP やハイレベル データリンク コントロール(HDLC)など)上のもので、この一対のルータ間にパラレル リンクが複数ある場合、各回線が適切に接続されていることを確認します。一方のルータのインターフェイス Serial0/0 をネイバールータのインターフェイス Serial0/0 に接続し、Serial1/0 をネイバールータの Serial1/0 に接続することを計画していながら、誤ってそれらを交差させてしまい、各ルータの Serial0/0 が他のルータの Serial1/0 に接続してしまったものとします。この種の問題は ping コマンドでは検出できない可能性がありますが、OSPF では隣接関係(adjacency)の確立に失敗することになります。デバイスの適切な相互接続を確認するには、Cisco Discovery Protocol(CDP)で提供される情報を使用します。リモート デバイスの名前と PortID がネットワーク デザインに適合していることを確認するには、show cdp neighbor interface-name コマンドを発行します。

注:OSPF 隣接関係(adjacency)が形成されるのはプライマリ ネットワーク上だけで、セカンダリ ネットワークでは形成されません。

上のすべてのチェック項目を検証しても show ip ospf neighbor コマンドで何も表示されない場合、発生している問題は特殊なものであり、Cisco に問い合せてサポートを求める必要があります。



ネイバールータが down 状態

HELLO パケットの受信によりダイナミックに検出されるネイバールータでは、削除中である場合は down 状態へのフォール バックが可能です。OSPF で、デッド タイマーのインターバルよりも長い時間、ネイバールータからの HELLO パケットが受信されない場合が、これに該当します。そのため、そのようなネイバールータでは down 状態は経過的なもので、もっと上の状態に移行するか、あるいは既知のネイバールータのテーブルから完全に削除されることになります。この状態は「forgotten」として知られています。

通常、down 状態にあるネイバールータは neighbor コマンドで手動設定されています。手動設定したネイバールータは OSPF ネイバーテーブルに常時存在しています。手動設定されたネイバールータからの HELLO パケットが OSPF でまったく受信されていない場合、あるいは前回のデッド タイマー インターバルの間、ネイバールータからの Hello パケットがまったく受信されていない場合、この手動設定されたネイバールータは down としてリストされることになります。

注:neighbor コマンドは、下記のタイプのネットワークで直接接続されたネイバールータに対してのみ設定できます。

  • 非ブロードキャスト マルチアクセス(NBMA)ネットワーク:ip ospf network non-broadcast コマンドで設定されたインターフェイス。

  • 非ブロードキャスト ポイントツーマルチポイント ネットワーク:ip ospf network point-to-multipoint non-broadcast コマンドで設定されたインターフェイス。

ネイバールータが down 状態になっている場合は、そのネイバールータがアップであること、稼働中であること、および、このインターフェイスで OSPF 用に適切に設定されていることを確認します。ping コマンドと traceroute コマンドでルータ間の接続をテストします。show ip ospf neighbor コマンドでネイバールータ上の OSPF ネイバーテーブルをチェックして、「何の状態も表示されない」セクションに挙げられているのと同じ設定確認操作を実行します。



ネイバールータが init 状態

init 状態は、ルータではネイバールータからの HELLO パケットが検知されているが、双方向通信が確立されていないことを示しています。Cisco ルータは、init(またはそれよりも高位の)状態にあるすべてのネイバールータのルータ ID を、HELLO パケットの Neighbor フィールドに組み込みます。ネイバールータと確立する双方向通信では、ルータはネイバールータの HELLO パケットにある Neighbor フィールドにも自分のルータ ID があることを確認する必要があります。詳細な例と説明は、『show ip ospf neighbor コマンドで Init 状態にあるネイバールータが表示される理由』を参照してください。



ネイバールータが 2-way 状態

2-way 状態は、ルータで、ネイバールータからの HELLO パケットの Neighbor フィールドに自身のルータ ID が検出されたことを示しています。init 状態にあるネイバールータから Database Descriptor(DBD)パケットを受信した場合も 2-way 状態に移行します。OSPF ネイバールータの 2-way 状態は問題ではありません。2-way 状態の説明は、『show ip ospf neighbor コマンドによって、ネイバールータが 2-way 状態のままであると表示される理由』を参照してください。



ネイバールータが exstart/exchange 状態

OSPF ネイバールータが exstart または exchange 状態の場合は、Database Descriptor(DBD)パケットを交換しようとしているところです。このルータとネイバールータは master/slave 関係にあります。隣接関係(adjacency)は、この状態を過ぎても継続するはずです。もし継続していない場合は、DBD 交換時に最大伝送ユニット(MTU)のミスマッチや予測しない DBD シーケンス番号の受信などの障害があったことが考えられます。詳細は、『OSPF 隣接ルータが exstart/exchange 状態のままになる理由』を参照してください。



ネイバールータが loading 状態

loading 状態では、ルータはリンクステート要求パケットを送信します。隣接関係(adjacency)にある場合、ルータで期限切れまたは欠損した Link-State Advertisement(LSA; リンクステート アドバタイズメント)が受信されると、リンクステート要求パケットを送信してこの LSA を要求します。この状態から遷移しないネイバールータは、おそらく破損した LSA を交換しています。この障害は、通常 %OSPF-4-BADLSA のコンソール メッセージを伴います。この問題は一般的なものではないので、Cisco に問い合せてサポートを求めてください。



OSPF ネイバールータ問題の一般的な原因

次の表には、OSPF ネイバールータで隣接関係(adjacency)の形成に問題が発生する理由と、問題の確認に使用できる一部のコマンドがリストされています。障害の診断には、『TAC Case Collection』も有効です。

ネイバールータとの隣接関係(adjacency)問題の理由 障害を診断するコマンド

OSPF が設定されていないルータがある。

show ip ospf

OSPF が必要とされるインターフェイスで OSPF がイネーブルにされていない。

show ip ospf interface

OSPF の HELLO またはデッド タイマー インターバルがミスマッチである。

show ip ospf interface

ip ospf network-type が隣接インターフェイスでミスマッチである。

show ip ospf interface

あるネイバールータでは OSPF エリアタイプが stub であるが、同じエリアの隣接しているネイバールータは stub に設定されていない。

show running-config

show ip ospf interface

OSPF ネイバールータに重複したルータ ID が設定されている。

show ip ospf

show ip ospf interface

ネイバールータのセカンダリ ネットワークに OSPF が設定されているが、プライマリ ネットワークには設定されていない。これは不正な設定で、そのインターフェイスで OSPF がイネーブルになることが阻止されます。

show ip ospf interface

show running-config

OSPF の HELLO がリソースの不足(CPU の使用率が高い、またはメモリが不足しているなど)により処理されない。

show memory summary

show memory processor

根底にあるレイヤの障害により OSPF の HELLO 受信が阻止されている。

show interface





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

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


関連情報




Document ID: 13699