IP : Open Shortest Path First(OSPF)

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

2015 年 11 月 26 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2009 年 4 月 17 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

この資料では、OSPF ネイバーを完全な隣接関係にする場合によく見られる問題について説明します。 OSPF 隣接関係(adjacency)の確立に成功すると、OSPF ネイバールータは FULL のネイバー状態になります。

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

前提条件

要件

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

使用するコンポーネント

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

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

  • OSPF Cisco IOS でサポートされますか。 ソフトウェアリリース 10.0 およびそれ以降。

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

表記法

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

隣接関係(adjacency)

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

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

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

隣接ルータの状態

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

  • 何も示さない

  • state = down

  • state = init

  • state = exstart

  • state = exchange

  • 状態 = 双方向

  • 状態 = ロード

OSPF の状態は他にもありますが、通常は上記の状態が show ip ospf neighbor コマンドの出力結果として表示されます。 詳細については OSPFネイバ状態およびすべての OSPFネイバ状態の説明を参照して下さい。

何の状態も表示されない

show ip ospf neighbor コマンドが何も明らかにしなければ分析すれば—または特定 の ネイバについて何も明らかにしません—それからこのルータ見てしまいませんでしたそのネイバーからの「有効な」OSPF HELLOs を。 これはつまり、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 隣接関係が作られるのはプライマリ ネットワーク上だけです。セカンダリ ネットワークでは作られません。

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

ネイバールータが down 状態

HELLO パケットの受信によりダイナミックに検出されるネイバールータでは、削除中である場合は down 状態へのフォール バックが可能です。OSPF で、デッド タイマーのインターバルよりも長い時間、ネイバールータからの HELLO パケットが受信されない場合が、これに該当します。 従って、ダウン の 状態はそのような相手のために一時です; 彼らはより高い状態に進むか、または既知相手の表から完全に削除されます。 この状態は「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 パケットにある近隣ルータ フィールドにも自分のルータ 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 関係にあります。 隣接関係は、この状態を過ぎても継続するはずです。 もし継続していない場合は、DBD 交換時に最大伝送ユニット(MTU)のミスマッチや予測しない DBD シーケンス番号の受信などの障害があったことが考えられます。 詳細は、『OSPF 隣接ルータが exstart/exchange 状態のままになる理由』を参照してください。

ネイバールータが loading 状態

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

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

次の表には、OSPF ネイバールータで隣接関係(adjacency)の形成に問題が発生する理由と、問題の確認に使用できる一部のコマンドがリストされています。 TAC Case Collection登録ユーザのみ)はまた問題の診断を助けることができます。

近隣ルータの隣接関係問題の理由 障害を診断するコマンド
OSPF が設定されていないルータがある。 show ip ospf
OSPF が必要とされるインターフェイスで OSPF が有効になっていない。 show ip ospf interface
OSPF の HELLO またはデッド タイマー インターバルがミスマッチである。 show ip ospf interface
ip ospf network-type が隣接インターフェイスでミスマッチである。 show ip ospf interface
近隣インターフェイス間の MTU ミスマッチ。 show interface <int-type><int-num>
あるネイバールータでは 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

注: OSPF隣接を確立する間、MTU が、可能性のあるチェックする aviod インターフェイス設定モードの ip ospf mtu-ignore コマンドを設定する必要があります。

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

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


関連情報


Document ID: 13699