(57)【特許請求の範囲】
【請求項１】
発信側仮想トンネルエンドポイント（ＶＴＥＰ）において、仮想拡張可能ローカルエリアネットワーク（ＶＸＬＡＮ）データパケットを、ＶＸＬＡＮプロトコルに従って生成することと、
ＶＸＬＡＮ双方向フォワーディング検出（ＢＦＤ）データパケットを生成するために、ＢＦＤデータパケットを、ＶＸＬＡＮデータパケット内でカプセル化することと、
ＶＸＬＡＮ  ＢＦＤデータパケットのペイロードがＢＦＤデータパケットであることを表示するように、ＶＸＬＡＮ  ＢＦＤデータパケットの内側イーサネットヘッダ内の送信先メディアアクセス制御（ＭＡＣ）アドレスを所定の値に設定することと
ＶＸＬＡＮトンネルを通じたＢＦＤセッションを確立するために、ＶＸＬＡＮ  ＢＦＤデータパケットを、終端側ＶＴＥＰに送信することと、
ＢＦＤセッションのためのＶＸＬＡＮトンネルの通信ステータスを、受信時間間隔に従って終端側ＶＴＥＰから受信した返信ＢＦＤデータパケットに基づいて決定することと
を含む、方法。
【請求項２】
ＶＸＬＡＮ  ＢＦＤデータパケットが終端側ＶＴＥＰでのローカル処理のためであることを表示するように、ＶＸＬＡＮ  ＢＦＤデータパケットの外側ＶＸＬＡＮヘッダ内にルータアラートオプションを設定することと
をさらに含む、請求項１に記載の方法。
【請求項３】
ＶＸＬＡＮトンネルの通信ステータスを決定することが、
ＶＸＬＡＮトンネルの通信ステータスを、受信時間間隔内に終端側ＶＴＥＰから返信ＢＦＤデータパケットを受信しないということに基づいて決定すること
をさらに含む、請求項１に記載の方法。
【請求項４】
ＶＸＬＡＮトンネルの通信ステータスを決定することが、
特定数の返信ＢＦＤデータパケットがそれぞれの受信時間間隔内に受信されない場合、ＶＸＬＡＮトンネルの通信ステータスを停止にすると決定すること
をさらに含む、請求項１に記載の方法。
【請求項５】
ＶＸＬＡＮトンネルの通信ステータスを決定することが、
送信時間間隔に基づき、初期ＢＦＤデータパケットを、終端側ＶＴＥＰに送信すること
をさらに含む、請求項１に記載の方法。
【請求項６】
ＶＸＬＡＮトンネルを通じたＢＦＤセッションを確立するためにＶＸＬＡＮ  ＢＦＤデータパケットを終端側ＶＴＥＰに送信することが、
返信ＢＦＤデータパケットを終端側ＶＴＥＰから受信することであって、返信ＢＦＤデータパケットが、ＶＸＬＡＮ  ＢＦＤデータパケットのＢＦＤヘッダ内の自己ディスクリミネータフィールドと等しい値に設定されたＢＦＤヘッダ内の相手ディスクリミネータフィールドを有する、受信することと、
受信時間間隔を、ＶＸＬＡＮ  ＢＦＤデータパケットの必要最小受信間隔フィールド内に設定された値と、返信ＢＦＤデータパケットの必要最小受信間隔フィールド内に設定された値とに基づいてネゴシエートすることと
をさらに含む、請求項１に記載の方法。
【請求項７】
仮想拡張可能ローカルエリアネットワーク（ＶＸＬＡＮ）トンネルを通じた双方向フォワーディング検出（ＢＦＤ）セッションを確立するために、終端側仮想トンネルエンドポイント（ＶＴＥＰ）において、ＶＸＬＡＮ  ＢＦＤデータパケットを、発信側ＶＴＥＰから受信することであって、ＶＸＬＡＮ  ＢＦＤデータパケットが、ＢＦＤデータパケットをカプセル化するＶＸＬＡＮプロトコルに則ったＶＸＬＡＮデータパケットを含む、受信することと、
ＶＸＬＡＮ  ＢＦＤデータパケットの内側イーサネットヘッダ内の送信先メディアアクセス制御（ＭＡＣ）アドレス内に設定された所定の値に基づき、ＢＦＤデータパケットを含むものであるとＶＸＬＡＮ  ＢＦＤデータパケットを識別することと、
ＢＦＤセッションのためのＶＸＬＡＮトンネルの通信ステータスを、受信時間間隔に従って発信側ＶＴＥＰから受信した初期ＢＦＤデータパケットに基づいて決定することと
を含む、方法。
【請求項８】
ＶＸＬＡＮ  ＢＦＤデータパケットの外側ＶＸＬＡＮヘッダ内に設定されたルータアラートオプションに基づき、終端側ＶＴＥＰでのローカル処理のためのＶＸＬＡＮ  ＢＦＤデータパケットを識別すること
をさらに含む、請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、通信障害の検出に関し、より詳細には、仮想拡張可能ローカルエリアネットワーク上でネットワーク通信障害を検出するための双方向フォワーディング検出に関する。
【背景技術】
【０００２】
仮想拡張可能ローカルエリアネットワーク（ＶＸＬＡＮ）とは、大規模なクラウドコンピューティングの配備に伴うスケーラビリティの問題を改善するように構成された、ネットワーク仮想化技術である。ＶＸＬＡＮはカプセル化技術を利用するが、同技術は、仮想ローカルエリアネットワーク（ＶＬＡＮ）がメディアアクセス制御（ＭＡＣ）ベースのレイヤ２イーサネット（登録商標）フレームをレイヤ３パケット内でカプセル化するのに利用する技術と同様のものである。ＶＸＬＡＮトンネリング機構によれば、第１のデバイス（発信側仮想トンネルエンドポイントと呼ばれる）がＶＸＬＡＮプロトコルに従ってデータパケットをカプセル化し、そのカプセル化されたデータパケットを、第２のデバイス（終端側仮想トンネルエンドポイントと呼ばれる）に送信する。終端側仮想トンネルエンドポイントは、データパケットをデカプセル化し、デカプセル化されたデータパケットを意図した送信先デバイスに転送する。
【０００３】
代替経路をより素早く確立するために、隣接するシステム間での通信障害を迅速に検出することが、ネットワーク管理の機能として、ますます重要になってきている。双方向フォワーディング検出（ＢＦＤ）は、迅速な障害検出のためにネットワーク機器で使用される一般的な方法である。しかし、ＢＦＤがＶＸＬＡＮトンネリングにおけるエンドポイント間の障害を検出するのをサポートするための機構は、現在のところ存在しない。
【発明の概要】
【課題を解決するための手段】
【０００４】
一実施形態では、発信側仮想トンネルエンドポイント（ＶＴＥＰ）において通信ステータスを検出するためのシステムおよび方法が、発信側ＶＴＥＰにおいて、仮想拡張可能ローカルエリアネットワーク（ＶＸＬＡＮ）データパケットを、ＶＸＬＡＮプロトコルに従って生成することを含む。ＶＸＬＡＮ双方向フォワーディング検出（ＢＦＤ）データパケットを生成するために、ＢＦＤデータパケットが、ＶＸＬＡＮデータパケット内でカプセル化される。ＶＸＬＡＮトンネルを通じたＢＦＤセッションを確立するために、ＶＸＬＡＮ  ＢＦＤデータパケットが、終端側ＶＴＥＰに送信される。ＢＦＤセッションのために、ＶＸＬＡＮトンネルの通信ステータスが、受信時間間隔に従って終端側ＶＴＥＰから受信した返信ＢＦＤデータパケットに基づいて決定される。
【０００５】
一実施形態では、ＶＸＬＡＮ  ＢＦＤデータパケットがＢＦＤフレームを含むという表示を提供するようにＶＸＬＡＮ  ＢＦＤデータパケットが構成され得る。この表示は、ＶＸＬＡＮデータパケットの外側ＶＸＬＡＮヘッダ内にルータアラートオプションを設定すること、およびＶＸＬＡＮ  ＢＦＤデータパケットの内側イーサネットヘッダ内の送信先メディアアクセス制御（ＭＡＣ）アドレスを所定の値に設定することによって提供され得る。
【０００６】
ＶＸＬＡＮトンネルの通信ステータスが、受信時間間隔内に終端側ＶＴＥＰから返信ＢＦＤデータパケットを受信しないということに基づいて決定され得る。特定数の返信ＢＦＤデータパケットがそれぞれの受信時間間隔内に受信されない場合、ＶＸＬＡＮトンネルの通信ステータスを停止にすると決定され得る。発信側ＶＴＥＰは、送信時間間隔に基づき、初期ＢＦＤデータパケットを、終端側ＶＴＥＰに送信することができる。
【０００７】
ＶＸＬＡＮトンネルを通じたＢＦＤセッションを確立することには、終端側ＶＴＥＰから応答ＢＦＤデータパケットを受信することがさらに含まれ得る。応答ＢＦＤデータパケットは、ＶＸＬＡＮ  ＢＦＤデータパケットのＢＦＤヘッダ内の自己ディスクリミネータフィールドと等しい値に設定されたＢＦＤヘッダ内の相手ディスクリミネータフィールドを有し得る。受信時間間隔は、ＶＸＬＡＮ  ＢＦＤデータパケットの必要最小受信間隔フィールド内に設定された値と、応答ＢＦＤデータパケットの必要最小受信間隔フィールド内に設定された値とに基づいてネゴシエートされ得る。
【０００８】
別の実施形態では、終端側ＶＴＥＰにおいて通信障害を検出するためのシステムおよび方法には、ＶＸＬＡＮトンネルを通じたＢＦＤセッションを確立するために、発信側ＶＴＥＰからＶＸＬＡＮ  ＢＦＤデータパケットを受信することが含まれる。ＶＸＬＡＮ  ＢＦＤデータパケットには、ＢＦＤデータパケットをカプセル化するＶＸＬＡＮプロトコルに則ったＶＸＬＡＮデータパケットが含まれる。ＶＸＬＡＮトンネルの通信ステータスが、受信時間間隔に従って発信側ＶＴＥＰから受信した初期ＢＦＤデータパケットに基づいて決定される。
【０００９】
本発明が持つこれらおよび他の利点は、以下の詳細な説明および添付図面を参照することにより、当業者にとっては明瞭なものとなろう。
【図面の簡単な説明】
【００１０】
【図１】通信システムの上位レベル概観図である。
【図２】発信側と終端側の仮想トンネルエンドポイント間で通信するためのシステムを示す図である。
【図３】例示的なＶＸＬＡＮ  ＢＦＤデータパケットを示す図である。
【図４】例示的なＶＸＬＡＮ  ＢＦＤデータパケットの外側ＶＸＬＡＮヘッダを示す図である。
【図５】例示的なＶＸＬＡＮ  ＢＦＤデータパケットの内側イーサネットヘッダを示す図である。
【図６】例示的なＶＸＬＡＮ  ＢＦＤデータパケットの内側ＩＰヘッダを示す図である。
【図７】例示的なＶＸＬＡＮ  ＢＦＤデータパケットの内側ＢＦＤヘッダを示す図である。
【図８】発信側ＶＴＥＰにおいて通信障害を検出するための方法の流れ図である。
【図９】終端側ＶＴＥＰにおいて通信障害を検出するための方法の流れ図である。
【図１０】通信障害を検出するために使用可能な例示的コンピュータの構成要素を示す図である。
【発明を実施するための形態】
【００１１】
図１は、１つまたは複数の実施形態による、通信システム１００の上位レベル概観図である。通信システム１００には、ネットワーク１０４に通信可能に結合される、ネットワーク要素１０２−ａ、１０２−ｂ、１０２−ｃ、１０２−ｄ、１０２−ｅなど（集合的にネットワーク要素１０２と呼ばれる）が含まれる。ネットワーク要素１０２には、ネットワーク１０４上で通信することが可能な、任意のタイプのデバイスが含まれ得る。たとえば、ネットワーク要素１０２は、例として、電子メールサーバ、データベースサーバ、仮想マシン、ソフトウェアアプリケーションなどの、サーバコンピュータとなり得る。別の例では、ネットワーク要素１０２は、ルータとなり得る。通信システム１００には任意の数のネットワーク要素１０２が含まれてよいこと、およびネットワーク要素１０２とはネットワーク要素のいずれか１つを指し得ることを理解されたい。
【００１２】
ネットワーク要素１０２は、ネットワーク１０４上で通信する。ネットワーク１０４には、任意のタイプのネットワーク、または異なるタイプのネットワークの組み合わせが含まれ得る。たとえば、ネットワーク１０４には、インターネット、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、有線および／または無線ネットワーク、ファイバチャネルストレージエリアネットワーク（ＳＡＮ）、セルラ通信ネットワークなどが含まれ得る。これら以外のタイプのネットワークも考えられる。
【００１３】
一実施形態では、ネットワーク１０４内の２つ以上のネットワーク要素１０２が、仮想拡張可能ローカルエリアネットワーク（ＶＸＬＡＮ）を利用して通信する。ＶＸＬＡＮは、カプセル化技術を利用して、メディアアクセス制御（ＭＡＣ）ベースのレイヤ２イーサネットフレームをレイヤ３パケット内でカプセル化する。ＶＸＬＡＮトンネリング機構によれば、発信側仮想トンネルエンドポイント（ＶＴＥＰ）（たとえば、ネットワーク要素１０２−ａなど）が、ＶＸＬＡＮプロトコルに従ってデータパケットをカプセル化し、そのカプセル化されたデータパケットを、終端側ＶＴＥＰ（たとえば、ネットワーク要素１０２−ｂなど）に送信する。終端側ＶＴＥＰは、データパケットをデカプセル化し、デカプセル化されたデータパケットを意図した送信先デバイスに転送する。
【００１４】
図２は、１つまたは複数の実施形態による、ＶＸＬＡＮを実装するためのシステム２００を示す図である。システム２００には、送信元デバイス２０２、発信側ＶＴＥＰ２０４、終端側ＶＴＥＰ２１２、および送信先デバイス２１８が含まれ、これらの各々は、通信システム１００におけるネットワーク要素１０２に相当し得るものである。
【００１５】
発信側ＶＴＥＰ２０４は、カプセル化モジュール２０６、および発信側アプリケーション２０８を備える。カプセル化モジュール２０６は、ＶＸＬＡＮプロトコルに従ってデータパケットをカプセル化し、そのＶＸＬＡＮパケットを、送信先デバイス２１８のための終端側ＶＴＥＰ２１２にリンク２１０経由で送信するように構成される。リンク２１０には、ネットワーク接続、直接接続などが含まれ得る。一実施形態では、データパケットには、双方向フォワーディング検出（ＢＦＤ）データパケットが含まれる。ただし、データパケットには、たとえばインターネットプロトコル（ＩＰ）データパケットなどの、別のタイプのデータパケットも含まれ得る。ある例では、データパケットは、送信元デバイス２０２によって生成される。別の例では、データパケットは、発信側アプリケーション２０８によって生成される。
【００１６】
発信側アプリケーション２０８には、任意のタイプの機能を有する任意のタイプのアプリケーションが含まれ得る。一実施形態では、発信側アプリケーション２０８は、ネットワーク障害検出用のＢＦＤタスクとすることができる。このＢＦＤタスクは、ＢＲＤデータパケットを作成し、それをカプセル化モジュール２０６に提供するものである。他のタイプの発信側アプリケーション２０８も考えられる（たとえば、運用管理保守（ＯＡＭ）アプリケーションなど）。
【００１７】
データパケットは、ＶＸＬＡＮデータパケットを提供するために、ＶＸＬＡＮプロトコルに従い、カプセル化モジュール２０６によってカプセル化され得る。ＶＸＬＡＮデータパケットは、リンク２１０を介し、終端側ＶＴＥＰ２０２に送信される。終端側ＶＴＥＰ２１２は、デカプセル化モジュール２１４、および終端側アプリケーション２１６を備える。デカプセル化モジュール２１４は、ＶＸＬＡＮデータパケットからデータパケットをデカプセル化するように構成される。一実施形態では、デカプセル化モジュール２１４は、デカプセル化されたデータパケットを、送信先デバイス２１８に送信する。別の実施形態では、デカプセル化モジュール２１４は、デカプセル化されたデータパケットを、終端側アプリケーション２１６に送信する。終端側アプリケーション２１６には、任意のタイプの機能を有する任意のタイプのアプリケーションが含まれる。たとえば、終端側アプリケーション２１６には、ＢＦＤタスク、ＯＡＭアプリケーションなどが含まれ得る。
【００１８】
１つまたは複数の実施形態によれば、システム２００は、ＶＸＬＡＮ上でのＢＦＤを実装するように構成され得る。有利には、ＶＸＬＡＮ上でのＢＦＤが、代替経路をより素早く確立するために、通信障害の迅速な検出を実現し得る。ＶＸＬＡＮ上でのＢＦＤを実装するために、ＢＦＤデータパケットは、ＶＸＬＡＮプロトコルに従ってカプセル化される。ＢＦＤデータパケットは、送信元デバイス２０２、または発信側アプリケーション２０８（たとえば、ＢＦＤタスク）によって生成され得る。ＢＦＤデータパケットは、ＶＸＬＡＮ  ＢＦＤデータパケットを生成するために、発信側ＶＴＥＰ２０４のカプセル化モジュール２０６により、ＶＸＬＡＮプロトコルに従ってカプセル化される。
【００１９】
図３は、１つまたは複数の実施形態による、例示的なＶＸＬＡＮ  ＢＦＤデータパケット３００を示す図である。ＶＸＬＡＮ  ＢＦＤデータパケット３００には、ＶＸＬＡＮプロトコルに従ってカプセル化された、ＢＦＤデータパケット３０２が含まれる。ＶＸＬＡＮ  ＢＦＤデータパケット３００には、ＶＸＬＡＮプロトコルに則った外側ヘッダ部と、カプセル化されたＢＦＤデータパケット３０２の内側ヘッダ部とが含まれる。ＶＸＬＡＮ  ＢＦＤデータパケット３００の外側ヘッダ部には、外側イーサネットヘッダ３０４、外側ＩＰ（インターネットプロトコル）ヘッダ３０６、外側ＵＤＰヘッダ３０７、および外側ＶＸＬＡＮヘッダ３０８が含まれる。ＶＸＬＡＮ  ＢＦＤデータパケット３００の内側ヘッダ部には、内側イーサネットヘッダ３１０、内側ＩＰヘッダ３１２、内側ＢＦＤヘッダ３１４、および任意選択でペイロード３１６が含まれる。ＶＸＬＡＮ上でのＢＦＤは、ＶＸＬＡＮ  ＢＦＤデータパケット３００のパラメータを構成または設定することにより、システム２００上で実装される。
【００２０】
図４は、１つまたは複数の実施形態による、例示的なＶＸＬＡＮ  ＢＦＤデータパケット３００の外側ＶＸＬＡＮヘッダ３０８を示す図である。外側ＶＸＬＡＮヘッダ３０８は、複数のセクションを備える。たとえば、外側ＶＸＬＡＮヘッダ３０８には、情報セクション４０２、第１の予約セクション４０４、ＶＸＬＡＮネットワーク識別子（ＶＮＩ）セクション４０６、および第２の予約セクション４０８が含まれ得る。外側ＶＸＬＡＮヘッダ３０８には、これら以外のセクションが含まれてもよい。
【００２１】
発信側ＶＴＥＰ２０４は、ＶＸＬＡＮ上でのＢＦＤに関する外側ＶＸＬＡＮヘッダ３０８のパラメータを構成する。ＶＮＩ４０６は、検証中のＶＸＬＡＮセグメントのＶＮＩと同じになるように設定される。これにより、ＶＸＬＡＮ  ＢＦＤデータパケット３００は、同ＶＸＬＡＮセグメント上で伝達される他のエンドシステムデータと同じデータパス上で確実に伝達される。
【００２２】
ＶＸＬＡＮルータアラートオプション（図４の外側ＶＸＬＡＮヘッダ３０８においてＲＡと示される）も、外側ＶＸＬＡＮヘッダ３０８の予約セクション４０４内に設定される。たとえば、ルータアラートオプションＲＡには、その値を更新することによって設定される、ルータアラートビットが含まれ得る。ある例では、発信側ＶＴＥＰ２０４は、外側ＶＸＬＡＮヘッダ３０８において、Ｉビットを、たとえば０に設定することができる。ＶＸＬＡＮ  ＢＦＤフレームであるＶＸＬＡＮヘッダ３０８内のＩビットが０に設定されたと示されることにより、図２の終端側ＶＴＥＰ２１２がＶＸＬＡＮ  ＢＦＤデータパケット３００を理解できない場合に終端側ＶＴＥＰ２１２にそのフレームをドロップさせることになる。加えて、ＶＸＬＡＮ  ＢＦＤデータパケット３００内でＢＦＤフレームを示すルータアラートオプションＲＡは、終端側ＶＴＥＰ２１２に対し、ＶＸＬＡＮフレームを送信先デバイス２１８に転送しないように、また代わりにローカル処理（たとえば、ＢＦＤ）を実行するようにアラートすることになる。
【００２３】
発信側ＶＴＥＰ２０４は、ＶＸＬＡＮ上でのＢＦＤを実装するための内側イーサネットヘッダ３１０のパラメータも構成する。図５は、１つまたは複数の実施形態による、例示的なＶＸＬＡＮ  ＢＦＤデータパケット３００の内側イーサネットヘッダ３１０を示す図である。内側イーサネットヘッダ３１０は、複数のセクションを備える。たとえば、内側イーサネットヘッダ３１０には、送信先ＭＡＣ（メディアアクセス制御）アドレス５０２、送信元ＭＡＣアドレス５０４、オプションのセクション５０６、およびＶＬＡＮタグ情報セクション５０８が含まれ得る。内側イーサネットヘッダ３１０には、これら以外のセクションが含まれてもよい。
【００２４】
内側イーサネットヘッダ３１０のパラメータは、送信先ＭＡＣアドレス５０２を、ＢＦＤデータパケットになるＶＸＬＡＮ  ＢＦＤデータパケット３００のペイロードを示すための、明確な所定の値に設定することによって構成される。たとえば、送信先ＭＡＣアドレス５０２は、００−００−５Ｅ−９０−ＸＸ−ＸＸと設定され得る。このとき、Ｘは任意の１６進数の数字（たとえば、Ｉｎｔｅｒｎｅｔ  Ａｓｓｉｇｎｅｄ  Ｎｕｍｂｅｒｓ  Ａｕｔｈｏｒｉｔｙ（ＩＡＮＡ）によって割り当てられた値）となる。また、送信元ＭＡＣアドレス５０４は、発信側ＶＴＥＰ２０４のＭＡＣアドレスに設定される。一実施形態では、送信元ＭＡＣアドレス５０４は、ＭＡＣアドレステーブル内で学習されない（このことが、ＶＸＬＡＮ  ＢＦＤを象徴している）。典型的には、ＶＸＬＡＮがレイヤ２／イーサネットデータを搬送し、データを受信するＶＴＥＰがＭＡＣアドレステーブルから送信元ＭＡＣアドレスを学習する。しかし、ＶＸＬＡＮ  ＢＦＤデータパケット３００がＶＸＬＡＮパケットの下でＢＦＤ制御パケットをカプセル化するため、ＭＡＣアドレステーブルから送信元ＭＡＣアドレス５０４を学習する必要はない。
【００２５】
加えて、内側ＩＰヘッダ３１２のパラメータが、発信側ＶＴＥＰ２０４により、ＶＸＬＡＮ上でのＢＦＤを実装するために構成される。図６は、１つまたは複数の実施形態による、例示的なＶＸＬＡＮ  ＢＦＤデータパケット３００の内側ＩＰヘッダ３１２を示す図である。図６において、内側ＩＰヘッダ３１２はＩＰｖ４（インターネットプロトコルバージョン４）ヘッダとして例証的に示されているが、たとえばＩＰｖ６（インターネットプロトコルバージョン６）など、別のフォーマットも考えられる。内側ＩＰヘッダ３１２は、複数のセクションを備える。たとえば、内側ＩＰヘッダ３１２には、バージョン６０２、ＩＨＬ（インターネットヘッダ長）６０４、サービスのタイプ６０６、長さの合計６０８、識別情報６１０、フラグ６１２、フラグメントオフセット６１４、生存時間６１６、プロトコル６１８、ヘッダチェックサム６２０、送信元アドレス６２２、送信先アドレス６２４、オプション６２６、およびパディング６２８が含まれ得る。内側ＩＰヘッダ３１２には、これら以外のセクションが含まれてもよい。
【００２６】
ＶＸＬＡＮ上でのＢＦＤのために、内側ＩＰヘッダ３１２のパラメータが、送信元アドレス６２２を送信者（たとえば、発信側ＶＴＥＰ２０４）のルーティング可能アドレスに設定することによって構成される。送信先アドレス６２４は、１２７／８の範囲からランダムに選択されるＩＰｖ４アドレス、または０：０：０：０：０：ＦＦＦＦ：１２７／１０４の範囲からランダムに選択されるＩＰｖ６アドレスとなる。また、生存時間６１６は２５５に設定される。
【００２７】
加えて、内側ＢＦＤヘッダ３１４のパラメータが、発信側ＶＴＥＰ２０４により、ＶＸＬＡＮ上でのＢＦＤのために構成される。図７は、１つまたは複数の実施形態による、例示的なＶＸＬＡＮ  ＢＦＤデータパケット３００の内側ＢＦＤヘッダ３１４を示す図である。内側ＢＦＤヘッダ３１４は、複数のセクションを備える。たとえば、内側ＢＦＤヘッダ３１４には、バージョン７０２、診断（ｄｉａｇ）７０４、状態（ｓｔａ）７０６、ポール（Ｐ）７０８、最終（Ｆ）７１０、制御プレーン非依存（Ｃ）７１２、認証書（Ａ）７１４、要求（Ｄ）７１６、マルチポイント（Ｍ）７１８、検出時間乗数（Ｄｅｃｔ  Ｍｕｌｔ）７２０、長さ７２２、自己ディスクリミネータ７２４、相手ディスクリミネータ７２６、所望最小送信間隔７２８、必要最小受信間隔７３０、および必要最小エコー受信間隔７３２が含まれ得る。内側ＢＦＤヘッダ３１４には、たとえば認証セクションなど、これら以外のセクションが含まれてもよい。
【００２８】
内側ＢＦＤヘッダ３１４のパラメータは、自己ディスクリミネータ７２４を、たとえばランダムな有効な値（たとえば、１０または２０）などの何らかの値に設定し、相手ディスクリミネータ７２６を０に設定することによって構成される。自己ディスクリミネータ７２４は、発信側ＶＴＥＰ２０４によって生成されるゼロ以外の一意のディスクリミネータであり、同一ペアのシステム間での複数のＢＦＤセッションを多重分離するのに使用される。相手ディスクリミネータ７２６は、対応するリモートシステムから受信するディスクリミネータであり、受信した自己ディスクリミネータの値（または、値が不明であればゼロ）が反映される。また、所望最小送信間隔７２８および必要最小受信間隔７３０に関するタイマ値が設定される。所望最小送信間隔７２８は、発信側ＶＴＥＰ２０４がＶＸＬＡＮ  ＢＦＤデータパケットを送信する最小間隔である。必要最小受信間隔７３０は、各ＢＦＤデータパケットの受信間の最小間隔である。
【００２９】
上で構成されたＶＸＬＡＮ  ＢＦＤデータパケット３００は、発信側ＶＴＥＰ２０４と終端側ＶＴＥＰ２１２の間で、ＶＸＬＡＮトンネルを通じたＢＦＤセッションを確立するために使用される。発信側ＶＴＥＰ２０４は、ＶＸＬＡＮ  ＢＦＤデータパケット３００を、リンク２１０を介して終端側ＶＴＥＰ２１２に送信する。ＶＸＬＡＮ  ＢＦＤデータパケット３００の受信後、終端側ＶＴＥＰ２１２のデカプセル化モジュール２１４が、ＶＸＬＡＮ  ＢＦＤフレームを含むものであるとＶＸＬＡＮ  ＢＦＤデータパケット３００を識別し、ＶＸＬＡＮ  ＢＦＤデータパケット３００からＢＦＤデータパケット３０２をデカプセル化する。デカプセル化モジュール２１４は、外側ＶＸＬＡＮヘッダ３０８内のルータアラートと、内側イーサネットヘッダ３１０の送信先ＭＡＣアドレス５０２の所定の値とに基づき、ＶＸＬＡＮ  ＢＦＤフレームを含むものであるとＶＸＬＡＮ  ＢＦＤデータパケット３００を識別する。終端側ＶＴＥＰ２１２は、デカプセル化されたＢＦＤデータパケット３０２のパラメータを、相手ディスクリミネータ７２６を（発信側ＶＴＥＰ２０４から受信した）ＶＸＬＡＮ  ＢＦＤデータパケット３００から受信した自己ディスクリミネータ７２４の値に設定することによって構成する。終端側ＶＴＥＰ２１２は、所望最小送信間隔７２８および必要最小受信間隔７３０に関するタイマ値も設定する。終端側ＶＴＥＰ２１２は、次いで、構成されたＢＦＤデータパケット３０２を、リンク２１０を介して発信側ＶＴＥＰ２０４に送信する。
【００３０】
終端側ＶＴＥＰ２１２からＢＦＤデータパケット３０２を受信した後、発信側ＶＴＥＰ２０４は、各タイマ（たとえば、所望最小送信間隔７２８および必要最小受信間隔７３０）を、それぞれ発信側ＶＴＥＰ２０４からの初期ＶＸＬＡＮ  ＢＦＤデータパケット３００と終端側ＶＴＥＰ２１２からの応答ＢＦＤデータパケット３０２との遅い方の値に対してネゴシエートして、ＢＦＤセッションを確立する。たとえば、所望最小送信間隔７２８は、（発信側ＶＴＥＰ２０４から終端側ＶＴＥＰ２１２に送信された）初期ＶＸＬＡＮ  ＢＦＤデータパケット３００および（終端側ＶＴＥＰ２１２から発信側ＶＴＥＰ２０４に送信された）応答ＢＦＤデータパケット３０２から受信される遅い方の値となるようにネゴシエートされる。別の例では、必要最小受信間隔７３０が、初期ＶＸＬＡＮ  ＢＦＤデータパケット３００および応答ＢＦＤデータパケット３０２から受信される遅い方の値となるようにネゴシエートされる。また、発信側ＶＴＥＰ２０４および終端側ＶＴＥＰ２１２は、特定のＶＸＬＡＮトンネルを識別するために、ＶＮＩ４０６をディスクリミネータの値（たとえば、自己ディスクリミネータ７２４、相手ディスクリミネータ７２６）に関連付ける。
【００３１】
ＢＦＤセッションの確立後、発信側ＶＴＥＰ２０４は初期ＢＦＤパケットを周期的に送信し、終端側ＶＴＥＰ２１２はタイマ値に従って返信ＢＦＤパケットを用いて応答することになる。初期ＢＦＤパケットおよび返信ＢＦＤパケットは、ＶＸＬＡＮを用いてカプセル化され、ＶＸＬＡＮトンネルを通じて送信される。初期ＢＦＤパケットは、ネゴシエートされた所望最小送信間隔７２８に従って周期的に送信される。発信側ＶＴＥＰ２０４か終端側ＶＴＥＰ２１２のどちらかが合意された時間間隔でのＢＦＤパケットの受信を停止した場合、このことが通信障害を示すものとなり得る。たとえば、発信側ＶＴＥＰ２０４が、必要最小受信間隔７３０に定められた、期待される受信時間間隔の間に終端側ＶＴＥＰ２１２から返信ＢＦＤパケットを受信しない場合、このことが通信障害を示すものとなり得る。別の例では、終端側ＶＴＥＰ２１２が、所望最小送信間隔７２８に定められた、期待される受信時間間隔の間に発信側ＶＴＥＰ２０４から初期ＢＦＤパケットを受信しない場合、このことが通信障害を示すものとなり得る。
【００３２】
一実施形態では、ＶＸＬＡＮトンネルは、特定数の（たとえば連続する）ＢＦＤパケットを取り逃した後に停止宣言されることになる。取り逃されたＢＦＤパケットの特定数は、発信側ＶＴＥＰ２０４と終端側ＶＴＥＰ２１２において取り逃されたＢＦＤパケットの数とすることができる。取り逃されたＢＦＤパケットの特定数は、ＢＦＤヘッダ３１４の検出時間乗数７２０に基づくものとなる。ＶＸＬＡＮトンネルによって作成された、発信側ＶＴＥＰ２０４または終端側ＶＴＥＰ２１２のあらゆる状態は、ＶＸＬＡＮトンネルが一度停止宣言されると除去される。
【００３３】
有利には、システム２００が、ＶＸＬＡＮトンネル上でのＢＦＤを用いた迅速な障害検出を実装するように構成される。これにより、システム２００は、より素早く代替経路を確立することが可能となる。
【００３４】
図８は、１つまたは複数の実施形態による、発信側ＶＴＥＰにおいて通信障害を検出するための方法８００の流れ図である。ステップ８０２において、ＶＸＬＡＮデータパケットが、発信側ＶＴＥＰにおいて、ＶＸＬＡＮプロトコルに従って生成される。ステップ８０４において、ＶＸＬＡＮ  ＢＦＤデータパケットを生成するために、発信側ＶＴＥＰにおいて、ＢＦＤデータパケットがＶＸＬＡＮデータパケット内でカプセル化される。ＢＦＤデータパケットは、送信元デバイスによって、または発信側アプリケーション（たとえば、発信側ＶＴＥＰにおけるＢＦＤタスク）によって生成され得る。ステップ８０６において、ＶＸＬＡＮ  ＢＦＤデータパケットが、同ＶＸＬＡＮ  ＢＦＤデータパケットがＢＦＤフレームを含むことを示すように構成される。たとえば、ＶＸＬＡＮ  ＢＦＤデータパケットは、ＶＸＬＡＮ  ＢＦＤデータパケットの外側ＶＸＬＡＮヘッダ内のルータアラートオプションを設定すること、およびＶＸＬＡＮ  ＢＦＤデータパケットの内側イーサネットヘッダ内の送信先ＭＡＣアドレスを明確な所定の値（たとえば、００−００−５Ｅ−９０−ＸＸ−ＸＸ。このとき、Ｘは、たとえばＩＡＮＡによって割り当てられた、任意の１６進数の数字）に設定することにより、ＢＦＤフレームを示すように構成され得る。
【００３５】
一実施形態では、ＶＸＬＡＮ  ＢＦＤデータパケットが、以下のように、発信側ＶＴＥＰによってさらに構成される。ＶＸＬＡＮ  ＢＦＤデータパケットの外側ＶＸＬＡＮヘッダのＶＮＩは、検証中のＶＸＬＡＮセグメント（またはトンネル）のＶＮＩと同じになるように設定される。内側イーサネットヘッダ内の送信元ＭＡＣアドレスは、発信側ＶＴＥＰのＭＡＣアドレスに設定される。ＶＸＬＡＮ  ＢＦＤデータパケットの内側ＩＰヘッダの送信元アドレスは、発信側ＶＴＥＰのルーティング可能アドレスに設定される。内側ＩＰヘッダの送信先アドレスは、１２７／８の範囲からランダムに選択されるＩＰｖ４アドレス、または０：０：０：０：０：ＦＦＦＦ：１２７／１０４の範囲からランダムに選択されるＩＰｖ６アドレスに設定され、生存時間は２５５に設定される。ＶＸＬＡＮ  ＢＦＤデータパケットの内側ＢＦＤヘッダ内の自己ディスクリミネータフィールドが任意の有効な値に設定され、相手ディスクリミネータフィールドがゼロに設定される。所望最小送信間隔および必要最小受信間隔も設定される。
【００３６】
ステップ８０８において、ＶＸＬＡＮトンネルを通じたＢＦＤセッションを確立するために、ＶＸＬＡＮ  ＢＦＤデータパケットが、発信側ＶＴＥＰから終端側ＶＴＥＰに送信される。終端側ＶＴＥＰは、ＢＦＤデータパケットをデカプセル化し、ＢＦＤヘッダ内の相手ディスクリミネータフィールドを、受信したＶＸＬＡＮ  ＢＦＤデータパケット内の自己ディスクリミネータの値に設定する。また、終端側ＶＴＥＰは、所望最小送信間隔および必要最小受信間隔も設定する。次いで、終端側ＶＴＥＰは、ＢＦＤデータパケットを発信側ＶＴＥＰに送信する。所望最小送信間隔および必要最小受信間隔に関するタイマ値は、それぞれ発信側ＶＴＥＰによって示される値と終端側ＶＴＥＰによって示される値との遅い方の値に対してネゴシエートされる。また、発信側ＶＴＥＰおよび終端側ＶＴＥＰは、特定のＶＸＬＡＮトンネルを識別するために、ＶＮＩをディスクリミネータの値に関連付ける。
【００３７】
ステップ８１０において、ＢＦＤセッションのためのＶＸＬＡＮトンネルの通信ステータスが、発信側ＶＴＥＰにより、ネゴシエートされた受信時間間隔に従って終端側ＶＴＥＰから受信した返信ＢＦＤパケットに基づいて決定される。一実施形態では、発信側ＶＴＥＰが（内側ＢＦＤヘッダ内の検出時間乗数フィールドに設定された）特定数の間隔についてネゴシエートされた時間内にＢＦＤパケットを受信しない場合、ＶＸＬＡＮトンネルは停止宣言される。たとえば、例として、３つのＢＦＤパケットの各々が、それぞれの受信時間間隔内で受信されなかった場合、ＶＸＬＡＮトンネルは停止宣言される。ＶＸＬＡＮトンネルによって作成されたＶＴＥＰのあらゆる状態は、トンネルが一度停止宣言されると除去される。
【００３８】
図９は、１つまたは複数の実施形態による、終端側ＶＴＥＰによって通信障害を検出するための方法９００の流れ図である。ステップ９０２において、ＶＸＬＡＮ  ＢＦＤデータパケットが、終端側ＶＴＥＰにより、発信側ＶＴＥＰから受信される。ＶＸＬＡＮ  ＢＦＤデータパケットには、ＢＦＤデータパケットをカプセル化するＶＸＬＡＮプロトコルに従って生成されたＶＸＬＡＮデータパケットが含まれる。ＶＸＬＡＮ  ＢＦＤデータパケットは、上述のように構成され得る。ステップ９０４において、終端側ＶＴＥＰが、ＶＸＬＡＮトンネルを通じたＢＦＤセッションを確立するために、ＢＦＤフレームを含むものであるとＶＸＬＡＮ  ＢＦＤデータパケットを識別する。一実施形態では、ＶＸＬＡＮ  ＢＦＤデータパケットの外側ＶＸＬＡＮヘッダ内に設定されたルータアラートオプションと、ＶＸＬＡＮ  ＢＦＤデータパケットの内側イーサネットヘッダ内の送信先ＭＡＣアドレスの明確な所定の値とに基づき、終端側ＶＴＥＰが、ＢＦＤフレームを含むものであるとＶＸＬＡＮ  ＢＦＤデータパケットを識別する。
【００３９】
ステップ９０６において、ＢＦＤセッションのために、ＶＸＬＡＮトンネルの通信ステータスが、終端側ＶＴＥＰにより、受信時間間隔に従って発信側ＶＴＥＰから受信した初期ＢＦＤデータパケットに基づいて決定される。一実施形態では、終端側ＶＴＥＰが（内側ＢＦＤヘッダ内の検出時間乗数フィールドに設定された）特定数の間隔についてネゴシエートされた時間内にＢＦＤパケットを受信しない場合、ＶＸＬＡＮトンネルは停止宣言される。ＶＸＬＡＮトンネルによって作成されたＶＴＥＰのあらゆる状態は、トンネルが一度停止宣言されると除去される。
【００４０】
本明細書に記述されるシステム、装置、および方法は、デジタル回路の使用、あるいは、よく知られているコンピュータプロセッサ、メモリユニット、記憶装置、コンピュータソフトウェア、その他の構成要素を用いる、１つまたは複数のコンピュータの使用を通じて実装され得る。通常、コンピュータには、命令を実行するためのプロセッサと、命令およびデータを記憶するための１つまたは複数のメモリとが含まれる。また、コンピュータは、１つまたは複数の磁気ディスク、内部ハードディスクおよびリムーバブルディスク、光磁気ディスク、光ディスクなど、１つまたは複数の大容量記憶装置を含むか、これに結合され得る。
【００４１】
本明細書に記述されるシステム、装置、および方法は、クライアント−サーバ関係で動作するコンピュータを用いて実装され得る。通常、そのようなシステムにおいて、クライアントコンピュータは、サーバコンピュータから離れた場所に設置され、ネットワークを介してやり取りする。クライアント−サーバ関係は、クライアントコンピュータとサーバコンピュータの各々で動作するコンピュータプログラムによって定義かつ制御され得る。
【００４２】
本明細書に記述されるシステム、装置、および方法は、ネットワークベースのクラウドコンピューティングシステム内で実装され得る。そのようなネットワークベースのクラウドコンピューティングシステムにおいて、ネットワークに接続されるサーバまたは別のプロセッサは、ネットワークを介して１つまたは複数のクライアントコンピュータと通信する。クライアントコンピュータは、たとえば、同クライアントコンピュータに常駐し、そこで動作するネットワークブラウザアプリケーションを介して、サーバと通信し得る。クライアントコンピュータは、サーバ上にデータを格納し、ネットワーク経由でそのデータにアクセスすることができる。クライアントコンピュータは、データの要求、またはオンラインサービスの要求を、ネットワークを介してサーバに送信することができる。サーバは、要求されたサービスを実行し、データをクライアントコンピュータに提供することができる。また、サーバは、指定された機能をクライアントコンピュータに実行させる（たとえば、計算を実行させる、スクリーン上に指定されたデータを表示させる、など）ように構成されたデータを送信することができる。たとえば、サーバは、図８および図９のステップのうちの１つまたは複数を含む、本明細書に記述される１つまたは複数の方法ステップをクライアントコンピュータに実行させるように構成された要求を送信することができる。図８および図９のステップのうちの１つまたは複数を含む、本明細書に記述される方法の特定のステップは、サーバによって、またはネットワークベースのクラウドコンピューティングシステム内の別のプロセッサによって実行され得る。図８および図９のステップのうちの１つまたは複数を含む、本明細書に記述される方法の特定のステップは、ネットワークベースのクラウドコンピューティングシステム内のクライアントコンピュータによって実行され得る。図８および図９のステップのうちの１つまたは複数を含む、本明細書に記述される方法のステップは、サーバによって、かつ／またはネットワークベースのクラウドコンピューティングシステム内のクライアントコンピュータによって、あらゆる組み合わせにおいて実行され得る。
【００４３】
本明細書に記述されるシステム、装置、および方法は、プログラマブルプロセッサが実行するために、情報担体に（たとえば、非一時的機械可読記憶装置に）実体的に具現化された、コンピュータプログラム製品を用いて実装され得る。また、図８および図９のステップのうちの１つまたは複数を含む、本明細書に記述される方法ステップは、かかるプロセッサによって実行可能な１つまたは複数のコンピュータプログラムを用いて実装され得る。コンピュータプログラムとは、特定の動作を実行するか特定の結果を引き起こすために、コンピュータ内で直接的または間接的に使用可能な、コンピュータプログラム命令のセットである。コンピュータプログラムは、コンパイルまたは解釈（インタープリット）された言語を含む、あらゆる形式のプログラミング言語で記述され得るものであり、スタンドアロンプログラムとしての形態、またはモジュール、コンポーネント、サブルーチンとしての形態を含むあらゆる形態で、あるいは、コンピューティング環境において使用するのに適したその他の単位で配備することが可能である。
【００４４】
図１０には、本明細書に記述されるシステム、装置、および方法を実装するのに使用可能な例示的コンピュータの上位レベルブロック図１０００が描かれている。コンピュータ１００２には、データ記憶装置１０１２およびメモリ１０１０に動作可能に結合された、プロセッサ１００４が含まれる。プロセッサ１００４は、コンピュータ１００２の全体的な動作を、かかる動作を規定するコンピュータプログラム命令を実行することによって制御する。コンピュータプログラム命令は、データ記憶装置１０１２、または他のコンピュータ可読媒体に記憶され、同コンピュータプログラム命令の実行が求められたときに、メモリ１０１０へとロードすることが可能である。よって、図８および図９の方法ステップは、メモリ１０１０および／またはデータ記憶装置１０１２に記憶されたコンピュータプログラム命令によって規定され、同コンピュータプログラム命令を実行するプロセッサ１００４によって制御され得るものとなる。たとえば、コンピュータプログラム命令は、図８および図９の方法ステップを実行するために当業者によってプログラミングされた、コンピュータ実行可能コードとして実装され得る。したがって、コンピュータプログラム命令を実行することにより、プロセッサ１００４が図８および図９の方法ステップを実行する。また、コンピュータ１００２には、他のデバイスとネットワーク経由で通信するために、１つまたは複数のネットワークインターフェイス１００６が含まれ得る。さらに、コンピュータ１００２には、コンピュータ１００２とのユーザ対話を可能にする、１つまたは複数の入力／出力デバイス１００８（たとえば、ディスプレイ、キーボード、マウス、スピーカ、ボタンなど）が含まれ得る。
【００４５】
プロセッサ１００４には、汎用マイクロプロセッサと専用マイクロプロセッサの両方が含まれ得る。また、プロセッサ１００４は、単独のプロセッサ、またはコンピュータ１００２の複数のプロセッサのうちの１つとなり得る。プロセッサ１００４には、たとえば、１つまたは複数の中央処理ユニット（ＣＰＵ）が含まれ得る。プロセッサ１００４、データ記憶装置１０１２、および／またはメモリ１０１０は、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）および／または１つまたは複数のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）を含むか、これらによって補助されるか、またはこれらの中に組み込まれ得る。
【００４６】
データ記憶装置１０１２およびメモリ１０１０の各々には、有形の非一時的コンピュータ可読記憶媒体が含まれる。データ記憶装置１０１２およびメモリ１０１０のそれぞれには、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダブルデータレートシンクロナスダイナミックランダムアクセスメモリ（ＤＤＲ  ＲＡＭ）などといった、高速ランダムアクセスメモリ、またはその他のランダムアクセスソリッドステートメモリデバイスが含まれ得ると同時に、１つまたは複数となる、内部ハードディスクやリムーバブルディスクなどの磁気ディスク記憶装置、光磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリデバイス、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ）や電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）などの半導体メモリデバイス、コンパクトディスクリードオンリメモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスクリードオンリメモリ（ＤＶＤ−ＲＯＭ）ディスクなどといった、不揮発性メモリ、またはその他の不揮発性ソリッドステート記憶装置が含まれ得る。
【００４７】
入力／出力デバイス１００８には、プリンタ、スキャナ、ディスプレイスクリーンなどの周辺機器が含まれ得る。たとえば、入力／出力デバイス１００８には、ユーザに対して情報を表示するためのブラウン管（ＣＲＴ）または液晶ディスプレイ（ＬＣＤ）モニタなどのディスプレイデバイス、キーボード、およびコンピュータ１００２に対するユーザ入力を実現するマウスやトラックボールなどのポインティングデバイスが含まれ得る。
【００４８】
図１の通信システム１００および図２のシステム２００の要素を含む、本明細書で論じたシステムおよび装置のいずれかまたは一切は、コンピュータ１００２など、１つまたは複数のコンピュータを用いて実装され得る。
【００４９】
当業者であれば、実際のコンピュータまたはコンピュータシステムの実装形態は他の構造を持ち得るものであり、同様に他の構成要素を含み得るものであるということ、および図１０は説明を目的としたかかるコンピュータの構成要素の一部を示す上位レベル表現であるということを認識されよう。
【００５０】
以上の「発明を実施するための形態」の項は、あらゆる点で例証的かつ例示的であって非限定的なものと理解されるべきであり、本明細書に開示される発明の範囲は、「発明を実施するための形態」の項から判断されるのではなく、特許法によって認められる最大限の範囲に従って解釈される各請求項から判断されるべきものである。本明細書に示され説明された実施形態は、本発明の原理の例証にすぎず、さまざまな修正形態が、本発明の範囲および趣旨から逸脱することなく、当業者によって実装され得ることを理解されたい。当業者であれば、本発明の範囲および趣旨から逸脱することなく、他のさまざまな特徴の組み合わせを実装することが可能であろう。
【図１】
0006513813.tif 000002
【図２】
0006513813.tif 000003
【図３】
0006513813.tif 000004
【図４】
0006513813.tif 000005
【図５】
0006513813.tif 000006
【図６】
0006513813.tif 000007
【図７】
0006513813.tif 000008
【図８】
0006513813.tif 000009
【図９】
0006513813.tif 000010
【図１０】
0006513813.tif 000011