(57)【特許請求の範囲】
【請求項１】
ローカルエッジデバイス及び複数の相手側エッジデバイスを備えるシステムにおける前記ローカルエッジデバイスに適用されるパケット伝送方法であって、
前記ローカルエッジデバイス及び複数の前記相手側エッジデバイスが各々異なるデータセンターにあり、前記ローカルエッジデバイスと前記相手側エッジデバイスとの間にイーサネットバーチャルプライベートネットワークネイバーが確立されており、
前記相手側エッジデバイスからの第１通知メッセージを受信して、前記第１通知メッセージから第１ホストのルーティングを見付け出して、前記第１ホストのルーティングと前記第１通知メッセージを受信したインターフェースとの対応関係を含む第１転送エントリーをソフトウェア転送テーブルに追加し、ハードウェア転送テーブルに前記第１転送エントリーを追加しないことと、
パケットを受信した後、前記パケットの宛先アドレスによってハードウェア転送テーブルをクエリし、前記宛先アドレスにマッチしている転送エントリーが前記ハードウェア転送テーブルに存在しない場合は、前記パケットの宛先アドレスによって前記ソフトウェア転送テーブルをクエリし、前記宛先アドレスにマッチしている転送エントリーが前記ソフトウェア転送テーブルに存在している場合は、前記宛先アドレスにマッチしている転送エントリーに基づいて前記パケットを送信することと、
を含むパケット伝送方法。
【請求項２】
前記ソフトウェア転送テーブルに第１転送エントリーを追加することは、
前記第１通知メッセージに所定のタグが載せられている場合は、前記ソフトウェア転送テーブルに第１転送エントリーを追加し、前記所定のタグは前記第１通知メッセージにホストのルーティングが載せられていることを示すこと
を含む請求項１に記載の方法。
【請求項３】
前記ソフトウェア転送テーブルに第１転送エントリーを追加することは、
前記第１通知メッセージのソースアドレスがネイバーテーブルに存在している場合は、前記ソフトウェア転送テーブルに第１転送エントリーを追加し、前記ネイバーテーブルは、前記ローカルエッジデバイスのイーサネットバーチャルプライベートネットワークＥＶＰＮネイバーであるとともに他のデータセンターに位置しているエッジデバイスのアドレスを記録する為のものであること
を含む請求項１に記載の方法。
【請求項４】
相手側エッジデバイスからの第２通知メッセージを受信して、前記第２通知メッセージからネットワークセグメントのルーティングを見付け出して、前記ネットワークセグメントのルーティングと前記第２通知メッセージを受信したインターフェースとの対応関係を含む第２転送エントリーをハードウェア転送テーブルに追加すること
を更に含む請求項１に記載の方法。
【請求項５】
アクセスデバイスからの第３通知メッセージを受信して、前記第３通知メッセージから第２ホストのルーティングを見付け出して、前記第２ホストのルーティングと前記第３通知メッセージを受信したインターフェースとの対応関係を含む第３転送エントリーをハードウェア転送テーブルに追加すること
を更に含む請求項１に記載の方法。
【請求項６】
前記宛先アドレスにマッチしている転送エントリーが前記ソフトウェア転送テーブルに存在している場合は、前記宛先アドレスにマッチしている転送エントリーを前記ハードウェア転送テーブルに追加すること
を更に含む請求項１に記載の方法。
【請求項７】
ローカルエッジデバイスが位置しているデータセンターにおけるホストの第３ホストのルーティングを取得し、前記第３ホストのルーティングを含む第４通知メッセージを生成して、相手側エッジデバイスに前記第４通知メッセージを送信し、前記相手側エッジデバイスが前記第３ホストのルーティングに対応する転送エントリーをソフトウェア転送テーブルに追加すること
を含む請求項１に記載の方法。
【請求項８】
ローカルエッジデバイス及び複数の相手側エッジデバイスを備えるシステムにおける前記ローカルエッジデバイスであって、
前記ローカルエッジデバイス及び複数の前記相手側エッジデバイスが各々異なるデータセンターにあり、前記ローカルエッジデバイスと前記相手側エッジデバイスとの間にイーサネットバーチャルプライベートネットワークネイバーが確立されており、
前記ローカルエッジデバイスは、プロセッサ及び機械可読記憶媒体を備え、前記機械可読記憶媒体には前記プロセッサに実行されることができる機械実行可能命令が記憶され、前記プロセッサは、前記機械実行可能命令によって、
前記相手側エッジデバイスからの第１通知メッセージを受信して、前記第１通知メッセージから第１ホストのルーティングを見付け出して、前記第１ホストのルーティングと前記第１通知メッセージを受信したインターフェースとの対応関係を含む第１転送エントリーをソフトウェア転送テーブルに追加し、ハードウェア転送テーブルに前記第１転送エントリーを追加しないことと、
パケットを受信した後、前記パケットの宛先アドレスによってハードウェア転送テーブルをクエリし、前記宛先アドレスにマッチしている転送エントリーが前記ハードウェア転送テーブルに存在しない場合は、前記パケットの宛先アドレスによって前記ソフトウェア転送テーブルをクエリし、前記宛先アドレスにマッチしている転送エントリーが前記ソフトウェア転送テーブルに存在している場合は、前記宛先アドレスにマッチしている転送エントリーに基づいて前記パケットを送信することを、実行する
ローカルエッジデバイス。
【請求項９】
ソフトウェア転送テーブルに第１転送エントリーを追加するとき、前記プロセッサは、前記機械実行可能命令によって、
前記第１通知メッセージに所定のタグが載せられている場合は、前記ソフトウェア転送テーブルに第１転送エントリーを追加し、前記所定のタグは前記第１通知メッセージにホストのルーティングが載せられていることを示すことを実行する
請求項８に記載のローカルエッジデバイス。
【請求項１０】
ソフトウェア転送テーブルに第１転送エントリーを追加するとき、前記プロセッサは、前記機械実行可能命令によって、
前記第１通知メッセージのソースアドレスがネイバーテーブルに存在している場合は、前記ソフトウェア転送テーブルに第１転送エントリーを追加することを実行し、前記ネイバーテーブルは前記ローカルエッジデバイスのイーサネットバーチャルプライベートネットワークＥＶＰＮネイバーであるとともに他のデータセンターに位置しているエッジデバイスのアドレスを記録する為のものである
請求項８に記載のローカルエッジデバイス。
【請求項１１】
前記プロセッサは、前記機械実行可能命令によって、更に、
相手側エッジデバイスからの第２通知メッセージを受信して、前記第２通知メッセージからネットワークセグメントのルーティングを見付け出して、前記ネットワークセグメントのルーティングと前記第２通知メッセージを受信したインターフェースとの対応関係を含む第２転送エントリーをハードウェア転送テーブルに追加することを実行する
請求項８に記載のローカルエッジデバイス。
【請求項１２】
前記プロセッサは、前記機械実行可能命令によって、更に、
アクセスデバイスからの第３通知メッセージを受信して、前記第３通知メッセージから第２ホストのルーティングを見付け出して、前記第２ホストのルーティングと前記第３通知メッセージを受信したインターフェースとの対応関係を含む第３転送エントリーをハードウェア転送テーブルに追加することを実行する
請求項８に記載のローカルエッジデバイス。
【請求項１３】
前記プロセッサは、前記機械実行可能命令によって、更に、
前記宛先アドレスにマッチしている転送エントリーが前記ソフトウェア転送テーブルに存在している場合、前記宛先アドレスにマッチしている転送エントリーを前記ハードウェア転送テーブルに追加することを実行する
請求項８に記載のローカルエッジデバイス。
【請求項１４】
前記プロセッサは、前記機械実行可能命令によって、更に、
ローカルエッジデバイスが位置しているデータセンターにおけるホストの第３ホストのルーティングを取得し、前記第３ホストのルーティングを含む第４通知メッセージを生成して、相手側エッジデバイスに前記第４通知メッセージを送信し、前記相手側エッジデバイスが前記第３ホストのルーティングに対応する転送エントリーをソフトウェア転送テーブルに追加することを実行する
請求項８に記載のローカルエッジデバイス。
【請求項１５】
ローカルエッジデバイス及び複数の相手側エッジデバイスを備えるシステムにおける前記ローカルエッジデバイスに適用される機械可読記憶媒体であって、
前記ローカルエッジデバイス及び複数の前記相手側エッジデバイスが各々異なるデータセンターにあり、前記ローカルエッジデバイスと前記相手側エッジデバイスとの間にイーサネットバーチャルプライベートネットワークネイバーが確立されており、
機械実行可能命令が前記機械可読記憶媒体に記憶され、
プロセッサにコールされて実行されるとき、前記プロセッサは、前記機械実行可能命令によって、
前記相手側エッジデバイスからの第１通知メッセージを受信して、前記第１通知メッセージから第１ホストのルーティングを見付け出して、前記第１ホストのルーティングと前記第１通知メッセージを受信したインターフェースとの対応関係を含む第１転送エントリーをソフトウェア転送テーブルに追加し、ハードウェア転送テーブルに前記第１転送エントリーを追加しないことと、
パケットを受信した後、前記パケットの宛先アドレスによってハードウェア転送テーブルをクエリし、前記宛先アドレスにマッチしている転送エントリーが前記ハードウェア転送テーブルに存在しない場合は、前記パケットの宛先アドレスによって前記ソフトウェア転送テーブルをクエリし、前記宛先アドレスにマッチしている転送エントリーが前記ソフトウェア転送テーブルに存在している場合は、前記宛先アドレスにマッチしている転送エントリーに基づいて前記パケットを送信することを、実行する
機械可読記憶媒体。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本願は、２０１７年０５月１９日に中国特許局に提出して出願番号が２０１７１０３５５３６９.８で名称が「パケット伝送方法及び装置」である中国特許出願を優先権として主張し、その全内容が援用されて本願に取り込まれている。
【技術分野】
【０００２】
本開示は通信技術分野に関し、特にパケット伝送方法、エッジデバイス及び機械可読記憶媒体に関する。
【背景技術】
【０００３】
ＶＸＬＡＮ（Ｖｉｒｔｕａｌ  ｅＸｔｅｎｓｉｂｌｅ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、仮想拡張可能ローカルエリアネットワーク）はＩＰネットワークに基づき、「ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ、媒体アクセス制御）ｉｎ  ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ、ユーザーデータグラムプロトコル）」カプセル化の形式を用いたレイヤー２のＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ、バーチャルプライベートネットワーク）技術である。ＶＸＬＡＮは既存のサービスプロバイダ又は企業ＩＰネットワークに基づき、分散したサイトにレイヤー２の相互接続を提供し、様々なテナントにサービス分離を提供することができる。ＶＸＬＡＮは主にデータセンターネットワークに適用される。データセンターはエッジデバイスによって他のデータセンター又は外部パブリックネットワークと通信する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示はパケット伝送方法、エッジデバイス及び機械可読記憶媒体を提供する。
【課題を解決するための手段】
【０００５】
本開示の実施例はローカルエッジデバイスに適用されるパケット伝送方法を提供する。前記方法は、
相手側エッジデバイスからの第１通知メッセージを受信して、前記第１通知メッセージから第１ホストのルーティングを見付け出して、前記第１ホストのルーティングと前記第１通知メッセージを受信したインターフェースとの対応関係を含む第１転送エントリーをソフトウェア転送テーブルに追加することと、
パケットを受信した後、前記パケットの宛先アドレスによってハードウェア転送テーブルをクエリし、前記宛先アドレスにマッチしている転送エントリーが前記ハードウェア転送テーブルに存在しない場合は、前記パケットの宛先アドレスによって前記ソフトウェア転送テーブルをクエリし、前記宛先アドレスにマッチしている転送エントリーが前記ソフトウェア転送テーブルに存在している場合は、前記宛先アドレスにマッチしている転送エントリーに基づいて前記パケットを送信することと、を含む。
【０００６】
本開示の実施例はプロセッサ及び機械可読記憶媒体を備えるローカルエッジデバイスを提供する。前記機械可読記憶媒体には前記プロセッサに実行される機械実行可能命令が記憶され、前記プロセッサは、前記機械実行可能命令によって、
相手側エッジデバイスからの第１通知メッセージを受信して、前記第１通知メッセージから第１ホストのルーティングを見付け出して、前記第１ホストのルーティングと前記第１通知メッセージを受信したインターフェースとの対応関係を含む第１転送エントリーをソフトウェア転送テーブルに追加することと、
パケットを受信した後、前記パケットの宛先アドレスによってハードウェア転送テーブルをクエリし、前記宛先アドレスにマッチしている転送エントリーが前記ハードウェア転送テーブルに存在しない場合は、前記パケットの宛先アドレスによって前記ソフトウェア転送テーブルをクエリし、前記宛先アドレスにマッチしている転送エントリーが前記ソフトウェア転送テーブルに存在している場合は、前記宛先アドレスにマッチしている転送エントリーに基づいて前記パケットを送信することを、実行する。
【０００７】
本開示の実施例は機械実行可能命令が記憶される機械可読記憶媒体を提供する。プロセッサにコールして実行されるとき、前記プロセッサは、前記機械実行可能命令によって、
相手側エッジデバイスからの第１通知メッセージを受信して、前記第１通知メッセージから第１ホストのルーティングを見付け出して、前記第１ホストのルーティングと前記第１通知メッセージを受信したインターフェースとの対応関係を含む第１転送エントリーをソフトウェア転送テーブルに追加することと、
パケットを受信した後、前記パケットの宛先アドレスによってハードウェア転送テーブルをクエリし、前記宛先アドレスにマッチしている転送エントリーが前記ハードウェア転送テーブルに存在しない場合は、前記パケットの宛先アドレスによって前記ソフトウェア転送テーブルをクエリし、前記宛先アドレスにマッチしている転送エントリーが前記ソフトウェア転送テーブルに存在している場合は、前記宛先アドレスにマッチしている転送エントリーに基づいて前記パケットを送信することを、実行する。
【０００８】
上記技術案によれば、本開示の実施例では、ローカルエッジデバイスは相手側エッジデバイスからの第１通知メッセージを受信した後、ソフトウェア転送テーブルに第１ホストのルーティングに対応する転送エントリーを追加することができる。このように、第１ホストのルーティングにマッチしているパケットを受信した後、第１ホストのルーティングに対応する転送エントリーによってパケットを相手側エッジデバイスに送信し、相手側エッジデバイスがパケットをホストに送信する。上記過程において、ローカルエッジデバイスのデータセンターで該パケットをブロードキャストすることを回避し、データセンターのバンドリソースを節約し、ホストのサービス中断を回避し、ユーザー体験を向上させることができる。そして、ローカルエッジデバイスは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理ユニット）にメンテナンスされるソフトウェア転送テーブルに第１ホストのルーティングに対応する転送エントリーを追加し、ハードウェア転送チップにメンテナンスされるハードウェア転送テーブルに第１ホストのルーティングに対応する転送エントリーを追加することなく、ハードウェア転送チップのエントリーリソースを節約する。
【図面の簡単な説明】
【０００９】
本開示の実施例又は従来技術の技術案をより明確に説明するために、以下に本開示の実施例又は従来技術の記述に必要な図面を簡単に説明する。当然ながら、以下に記載する図面は単に本開示に記載する実施例の一例であって、当業者であれば、本開示の実施例のこれらの図面に基づいて他の図面に想到しうる。
【００１０】
【図１】図１はＶＸＬＡＮを用いたデータセンターネットワークの模式図である。
【図２】図２は本開示の実施形態におけるパケット伝送方法のフローチャートである。
【図３】図３は本開示の実施形態におけるパケット伝送装置の構造図である。
【図４】図４は本開示の実施形態におけるローカルエッジデバイスのハードウェア構造図である。
【発明を実施するための形態】
【００１１】
本開示の実施例に使用される用語は特定の実施例を説明するためのものであって、本開示を制限するためのものではない。文章に他の意味が明確に示されない限り、本開示及び特許請求の範囲に使用される単数形式の「１種」「前記」及び「該」は複数形式を含むように意図される。本明細書に使用される用語「及び/又は」は１つ又は複数の関連する列挙した項目を含む任意又はすべての組み合わせを指すと更に理解すべきである。
【００１２】
本開示に用語「第１」「第２」「第３」等を用いて様々な情報を説明する可能性があるが、これらの情報がこれらの用語に限られないと理解すべきである。これらの用語は同じタイプの情報を区別するためのものに過ぎない。例えば、本開示の範囲を逸脱せずに、第１情報が第２情報と称されてもよく、同様に、第２情報が第１情報と称されてもよい。コンテクストによって、使用される用語「〇〇場合」は「○○時」、「○○であれば」又は「決定に応答する」と解釈されてもよい。
【００１３】
図１を参照する。図１にはＶＸＬＡＮを用いたデータセンターネットワークのアーキテクチャ模式図を示し、ホスト１及びエッジデバイス１はデータセンター１にあり、ホスト２及びエッジデバイス２はデータセンター２にあり、ホスト３はパブリックネットワーク側にある。このような場合に、従来技術では、安全性のためにホストのルーティングが乗せられている通知メッセージはデータセンターの内部での伝達のみが許容され、データセンターのエッジデバイスは該データセンター内のネットワークセグメントのルーティングのみを外部に送る。
【００１４】
例えば、データセンター１がネットワークセグメント１１.１.１.０/２４を使い、データセンター２がネットワークセグメント１１.１.１.０/２４を使うと仮定する場合、データセンター１のエッジデバイス１はネットワークセグメントのルーティング１１.１.１.０/２４をパブリックネットワーク側のネットワーク機器及びデータセンター２のエッジデバイス２に送ることができる。ネットワーク機器はインターフェース１を介してネットワークセグメントのルーティング１１.１.１.０/２４を受信した後、転送テーブルにネットワークセグメントのルーティング１１.１.１.０/２４とインターフェース１との対応関係を記録する。エッジデバイス２はＶＸＬＡＮトンネル１を介してネットワークセグメントのルーティング１１.１.１.０/２４を受信した後、転送テーブルにネットワークセグメントのルーティング１１.１.１.０/２４とＶＸＬＡＮトンネル１との対応関係を記録する。
【００１５】
なお、データセンター２のエッジデバイス２はネットワークセグメントのルーティング１１.１.１.０/２４をネットワーク機器及びデータセンター１のエッジデバイス１に送ることもできる。ネットワーク機器はインターフェース２を介してネットワークセグメントのルーティング１１.１.１.０/２４を受信した後、転送テーブルにネットワークセグメントのルーティング１１.１.１.０/２４とインターフェース２との対応関係を記録する。エッジデバイス１はＶＸＬＡＮトンネル１を介してネットワークセグメントのルーティング１１.１.１.０/２４を受信した後、転送テーブルにネットワークセグメントのルーティング１１.１.１.０/２４とＶＸＬＡＮトンネル１との対応関係を記録する。
【００１６】
ホスト１のＩＰアドレスが１１.１.１.２、ホスト２のＩＰアドレスが１１.１.１.３、ホスト３が宛先ＩＰアドレスが１１.１.１.２であるパケットを送信すると仮定し、ネットワーク機器は該パケットを受信した後、転送テーブルには、宛先ＩＰアドレス１１.１.１.２のネットワークセグメントにマッチしている転送エントリーが２つであるため、１つの転送エントリーを選択して該転送エントリーに基づいて該パケットを送信する。インターフェース２を介して該パケットを送信すると仮定する場合は、パケットをエッジデバイス２に送信する。
【００１７】
エッジデバイス２の転送テーブルにはネットワークセグメント１１.１.１.０/２４に対応する転送エントリーのみが含まれて具体的な宛先ＩＰアドレス１１.１.１.２にマッチしている転送エントリーが含まれないため、データセンター２においてブロードキャストフラッディングを行い、それによりデータセンター２の大量のバンドリソースが占有され、パケットをホスト１に送信できなく、ホスト１のサービス中断が生じてユーザー体験に悪影響を与えてしまう。
【００１８】
従って、本開示の実施例は上記問題の解決案を提供し、以下に本実施例案を詳しく説明する。
【００１９】
本開示の実施例はパケット伝送方法を提供する。該方法はローカルエッジデバイス及び相手側エッジデバイスを備えるシステムに適用されることができる。ローカルエッジデバイス及び相手側エッジデバイスが異なるデータセンターにあり、ローカルエッジデバイスと相手側エッジデバイスとの間にＥＶＰＮ（Ｅｔｈｅｒｎｅｔ  Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ、イーサネットバーチャルプライベートネットワーク）ネイバーが確立されている。一例では、ローカルエッジデバイス及び相手側エッジデバイスがいずれもＶＴＥＰ（ＶＸＬＡＮ  Ｔｕｎｎｅｌ  Ｅｎｄ  Ｐｏｉｎｔ、ＶＸＬＡＮトンネルエンドポイント）デバイスであってもよく、ローカルエッジデバイスと相手側エッジデバイスとがＶＸＬＡＮトンネルを介して接続される。
【００２０】
一例では、各データセンターにはエッジデバイス（例えば、ローカルエッジデバイス又は相手側エッジデバイス）のほか、更にアクセスデバイス（例えば、ルーター又はスイッチ）、ホスト（例えば、バーチャルマシン）が含まれてもよく、アクセスデバイスがエッジデバイスに接続され、アクセスデバイスがホストに接続される。なお、該システムはデータセンターを含むだけでなく、更にパブリックネットワーク側のネットワーク機器（例えば、ルーター又はスイッチ）及びホストを含んでもよい。
【００２１】
一例では、ローカルエッジデバイス及び相手側エッジデバイスが相対的なものである。例えば、エッジデバイス１がデータセンター１にあり、エッジデバイス２がデータセンター２にあり、エッジデバイス１とエッジデバイス２との間にＥＶＰＮネイバーが確立されている場合は、エッジデバイス１がローカルエッジデバイスであり、エッジデバイス２が相手側エッジデバイスであり、又は、エッジデバイス２がローカルエッジデバイスであり、エッジデバイス１が相手側エッジデバイスである。
【００２２】
一例では、ローカルエッジデバイスが位置しているデータセンター及び相手側エッジデバイスが位置しているデータセンターは同じネットワークセグメントを用いてもよいし、異なるネットワークセグメントを用いてもよく、例えば、ローカルエッジデバイスが位置しているデータセンター及び相手側エッジデバイスが位置しているデータセンターはいずれもネットワークセグメント１１.１.１.０/２４を用いる。
【００２３】
図１は本開示の実施例の応用シーンの模式図であり、データセンター１はホスト１、アクセスデバイス１及びエッジデバイス１を含み、データセンター２はホスト２、アクセスデバイス２及びエッジデバイス２を含み、パブリックネットワーク側はネットワーク機器及びホスト３を含み、データセンター１はネットワークセグメント１１.１.１.０/２４を使い、データセンター２はネットワークセグメント１１.１.１.０/２４を使うと仮定する。本応用シーンにおいて、エッジデバイス１が相手側エッジデバイスであって、エッジデバイス２がローカルエッジデバイスである場合を例として説明し、当然ながら、実用では、エッジデバイス１がローカルエッジデバイスであって、エッジデバイス２が相手側エッジデバイスであってもよい。
【００２４】
本応用シーンにおいて、異なるデータセンターのエッジデバイスの間にＥＶＰＮネイバーが確立されるが、データセンターのエッジデバイスとパブリックネットワーク側のネットワーク機器との間にＥＶＰＮネイバーが確立されない。これに基づき、エッジデバイス１及びエッジデバイス２がいずれもデータセンターのエッジデバイスであるため、エッジデバイス１とエッジデバイス２との間にＥＶＰＮネイバーが確立されるが、エッジデバイス１とネットワーク機器との間にＥＶＰＮネイバーが確立されなく、エッジデバイス２とネットワーク機器との間にＥＶＰＮネイバーが確立されない。
【００２５】
上記応用シーンにおいて、本開示の実施例に係るパケット伝送方法は転送テーブルメンテナンスステップ及びパケット伝送ステップを含んでもよい。転送テーブルメンテナンスステップについては、ローカルエッジデバイスはソフトウェア転送テーブル及びハードウェア転送テーブルをメンテナンスすることができる。パケット伝送ステップについては、ローカルエッジデバイスは該ソフトウェア転送テーブル又は該ハードウェア転送テーブルに基づいてパケットを伝送することができる。ローカルエッジデバイスのＣＰＵにメンテナンスされる転送テーブルはソフトウェア転送テーブルと称され、ローカルエッジデバイスのハードウェア転送チップにメンテナンスされる転送テーブルはハードウェア転送テーブルと称される。なお、ソフトウェア転送テーブル/ハードウェア転送テーブルにおける各エントリーは１つの転送エントリーと称され、該転送エントリーはルーティング（例えば、ＩＰアドレス）とアウトバウンドインターフェースとのマッピング関係を記録するように構成される。
【００２６】
ローカルエッジデバイスがソフトウェア転送テーブル/ハードウェア転送テーブルに転送エントリーを記録する過程は、以下であってもよい。１、ローカルエッジデバイスは相手側エッジデバイスから送信されたホストのルーティング（区別しやすいため、第１ホストのルーティングと称される）を受信した場合、ソフトウェア転送テーブルのみに該第１ホストのルーティングに対応する転送エントリー（区別しやすいため、第１転送エントリーと称される）を記録する。２、ローカルエッジデバイスは相手側エッジデバイスから送信されたネットワークセグメントのルーティングを受信した場合、ソフトウェア転送テーブルに該ネットワークセグメントのルーティングに対応する転送エントリー（区別しやすいため、第２転送エントリーと称される）を記録するとともにハードウェア転送テーブルにも該ネットワークセグメントのルーティングに対応する第２転送エントリーを記録する。３、ローカルエッジデバイスはアクセスデバイスから送信されたホストのルーティング（区別しやすいため、第２ホストのルーティングと称される）を受信した場合、ソフトウェア転送テーブルに該第２ホストのルーティングに対応する転送エントリー（区別しやすいため、第３転送エントリーと称される）を記録するとともにハードウェア転送テーブルに該第２ホストのルーティングに対応する第３転送エントリーを記録する。
【００２７】
図２は該パケット伝送方法のフローチャートである。ステップ２０１は転送テーブルメンテナンスステップの一例であるが、ステップ２０２はパケット伝送ステップの一例である。
【００２８】
ステップ２０１、ローカルエッジデバイスは相手側エッジデバイスからの第１通知メッセージを受信して、該第１通知メッセージから第１ホストのルーティングを見付け出して、該第１ホストのルーティングと該第１通知メッセージを受信したインターフェースとの対応関係を含む第１転送エントリーをソフトウェア転送テーブルに追加する。
【００２９】
ステップ２０２、ローカルエッジデバイスはパケットを受信した後、該パケットの宛先アドレスによってハードウェア転送テーブルをクエリし、該宛先アドレスにマッチしている転送エントリーが該ハードウェア転送テーブルに存在しない場合は、該パケットの宛先アドレスによって該ソフトウェア転送テーブルをクエリし、該宛先アドレスにマッチしている転送エントリーが該ソフトウェア転送テーブルに存在している場合、該宛先アドレスにマッチしている転送エントリーに基づいて該パケットを送信する。
【００３０】
以下、図１の応用シーンを参照しながら、転送テーブルメンテナンスステップ及びパケット伝送ステップを説明する。
【００３１】
Ｉ、転送テーブルメンテナンスステップ
該転送テーブルはソフトウェア転送テーブル及びハードウェア転送テーブルを含んでもよい。
【００３２】
ローカルエッジデバイスが転送テーブルをメンテナンスする過程は３つのタイプの通知メッセージに関する。例えば相手側エッジデバイスから送信されてホストのルーティングが載せられている通知メッセージ（区別しやすいため、以下に第１通知メッセージと称される）と、相手側エッジデバイスから送信されてネットワークセグメントのルーティングが載せられている通知メッセージ（区別しやすいため、以下に第２通知メッセージと称される）と、アクセスデバイス（ローカルエッジデバイスと同じデータセンターにあるアクセスデバイス）から送信されてホストのルーティングが載せられている通知メッセージと（区別しやすいため、以下に第３通知メッセージと称される）である。以下、この３つのタイプの通知メッセージを詳しく説明する。
【００３３】
１、相手側エッジデバイスはホストのルーティングが載せられている第１通知メッセージをローカルエッジデバイスに送信する。
【００３４】
一例では、相手側エッジデバイスは相手側エッジデバイスが位置しているデータセンターにおけるホストの第１ホストのルーティング（区別しやすいため、第１ホストのルーティングと称される）を取得し、第１ホストのルーティングを含む第１通知メッセージを生成し、ローカルエッジデバイスに第１通知メッセージを送信することができる。このように、ローカルエッジデバイスは第１ホストのルーティングが載せられている第１通知メッセージを受信することができる。
【００３５】
同様に、ローカルエッジデバイスはローカルエッジデバイスが位置しているデ  ータセンターにおけるホストの第３ホストのルーティング（区別しやすいため、第３ホストのルーティングと称される）を取得し、第３ホストのルーティングを含む第４通知メッセージ（区別しやすいため、第４通知メッセージと称される）を生成し、相手側エッジデバイスに第４通知メッセージを送信することもできる。このように、相手側エッジデバイスは第３ホストのルーティングが載せられている第４通知メッセージを受信することができる。
【００３６】
更に、ローカルエッジデバイスは第１通知メッセージを受信した後、該第１通知メッセージから第１ホストのルーティングを見付け出して、第１ホストのルーティングと該第１通知メッセージを受信したインターフェースとの対応関係を含む第１転送エントリーをソフトウェア転送テーブルに追加する。該インターフェースは、一般的に、ローカルエッジデバイスと相手側エッジデバイスとの間のトンネルの接続口、例えばＶＸＬＡＮトンネルである。同様に、相手側エッジデバイスは第４通知メッセージを受信した後、該第４通知メッセージから第３ホストのルーティングを見付け出して、第３ホストのルーティングに対応する転送エントリーをソフトウェア転送テーブルに追加し、該転送エントリーは、第３ホストのルーティングと該第４通知メッセージを受信したインターフェースとの対応関係を含む。該インターフェースは、一般的に、相手側エッジデバイスとローカルエッジデバイスとの間のトンネル接続口、例えばＶＸＬＡＮトンネルである。従って、相手側エッジデバイスは、受信したパケットの宛先アドレスが前記ローカルエッジデバイスが位置しているデータセンターにおけるホストである場合、前記第３ホストのルーティングに基づいて該パケットをローカルエッジデバイスに送信する。
【００３７】
一例では、ローカルエッジデバイスは第１通知メッセージを受信した後、ソフトウェア転送テーブルのみに第１転送エントリーを追加し、ハードウェア転送テーブルに第１転送エントリーを追加しない。
【００３８】
以下、図１のシーンを参照しながら、上記過程を説明する。エッジデバイス１はデータセンター１におけるホスト１のホストのルーティング（例えば、１１.１.１.２/３２）を取得し、該ホストのルーティングは３２ビットのＩＰアドレスであり、ネットワークセグメントのルーティングではない。次に、エッジデバイス１はホストのルーティング（１１.１.１.２/３２）を含む通知メッセージを生成して、エッジデバイス２に該通知メッセージを送信する。エッジデバイス２は通知メッセージを受信した後、ソフトウェア転送テーブルに転送エントリーを追加する。表１に示すように、該転送エントリーはホストのルーティング（１１.１.１.２/３２）とＶＸＬＡＮトンネル１（エッジデバイス１とエッジデバイス２との間のＶＸＬＡＮトンネル）との対応関係を含む。
【００３９】
【表１】
0006989621.tif 000002
【００４０】
「エッジデバイス１がデータセンター１におけるホスト１のホストのルーティングを取得する」過程については、一例では、エッジデバイス１とアクセスデバイス１との接続インターフェースは所属するネットワークセグメントが１１.１.１.０/２４であるため、エッジデバイス１は該インターフェースを介してＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ、アドレス解析プロトコル）リクエストパケットを送信する。該ＡＲＰリクエストパケットは宛先ＩＰアドレスがネットワークセグメントアドレス１１.１.１.０/２４である。このように、ホスト１は該ＡＲＰリクエストパケットを受信した後、該ＡＲＰリクエストパケットに対するＡＲＰ応答パケットを送信する。エッジデバイス１は該ＡＲＰ応答パケットを受信した後、ホスト１のＩＰアドレス１１.１.１.２を見付け出して、ホスト１のホストのルーティング（１１.１.１.２/３２）を取得することができる。他の例では、アクセスデバイス１はホスト１から送信された無償（Gratuitous）のＡＲＰパケットを受信した場合、無償（Gratuitous）のＡＲＰパケットからホスト１のＩＰアドレス１１.１.１.２を見付け出して、ホスト１のホストのルーティング（１１.１.１.２/３２）を取得することができる。次に、アクセスデバイス１はエッジデバイス１にホストのルーティング（１１.１.１.２/３２）が載せられている通知メッセージを送信する。このように、エッジデバイス１は該通知メッセージからホスト１のホストのルーティング（１１.１.１.２/３２）を解析することができる。つまり、相手側エッジデバイスはＡＲＰ学習を能動的にトリガーして、該相手側デバイスが位置しているデータセンターにおけるホストの前記第１ホストのルーティングを取得することができる。相手側エッジデバイスは該相手側デバイスが位置しているデータセンターにおけるホストから送信された無償（Gratuitous）のＡＲＰパケットに基づいて前記第１ホストのルーティングを取得することもできる。
【００４１】
同様に、エッジデバイス２は上記方式でデータセンター２におけるホスト２のホストのルーティングを取得することもできる。
【００４２】
「エッジデバイス１がエッジデバイス２に通知メッセージを送信する」過程については、従来方式では、安全性のためにデータセンター内のみにホストのルーティングが載せられている通知メッセージを伝送し、他のデータセンターにホストのルーティングが載せられている通知メッセージを送信することがなく、パブリックネットワーク側にホストのルーティングが載せられている通知メッセージを送信することもない。本開示の実施例では、エッジデバイス１はそのＥＶＰＮネイバーにホストのルーティングが載せられている通知メッセージを送信し、パブリックネットワーク側にホストのルーティングが載せられている通知メッセージを送信することがない。
【００４３】
エッジデバイス１とエッジデバイス２との間にＥＶＰＮネイバーが確立されているので、エッジデバイス１はエッジデバイス２にホストのルーティング（１１.１.１.２/３２）が載せられている通知メッセージを送信する。エッジデバイス１とパブリックネットワーク側のネットワーク機器との間にＥＶＰＮネイバーが確立されていないため、エッジデバイス１はネットワーク機器にホストのルーティング（１１.１.１.２/３２）が載せられている通知メッセージを送信することがない。当然ながら、エッジデバイス１は更に他のＥＶＰＮネイバーがある場合、他のＥＶＰＮネイバーにホストのルーティング（１１.１.１.２/３２）が載せられている通知メッセージを送信することもできる。
【００４４】
同様に、エッジデバイス２はデータセンター２におけるホスト２のホストのルーティング（例えば、１１.１.１.３/３２）を取得し、ホストのルーティング（例えば、１１.１.１.３/３２）を含む通知メッセージを生成して、エッジデバイス１に該通知メッセージを送信することができるが、パブリックネットワーク側のネットワーク機器に該通知メッセージを送信することがない。エッジデバイス１は通知メッセージを受信した後、ホストのルーティング（例えば、１１.１.１.３/３２）とＶＸＬＡＮトンネル１（エッジデバイス２とエッジデバイス１との間のＶＸＬＡＮトンネル）との対応関係を含む転送エントリーをソフトウェア転送テーブルに追加する。
【００４５】
一例では、「ローカルエッジデバイスがソフトウェア転送テーブルに第１転送エントリー（第１ホストのルーティングとＶＸＬＡＮトンネルとの対応関係）を追加する」過程は、以下の方式を含むが、それに限らない。第１通知メッセージに所定のタグが載せられ、及び/又は、第１通知メッセージのソースアドレスがネイバーテーブルに位置している場合は、ソフトウェア転送テーブルに第１転送エントリーを追加する。そのうち、所定のタグは第１通知メッセージにホストのルーティングが載せられていることを示し、ネイバーテーブルはローカルエッジデバイスのＥＶＰＮネイバーであるとともに他のデータセンターに位置しているエッジデバイスのアドレスを記録するように構成される。以下、いくつかの具体的な方式によって上記過程を詳しく説明する。
【００４６】
方式Ａ
ローカルエッジデバイスは第１通知メッセージに所定のタグが載せられているかどうかをクエリする。ＹＥＳの場合、ソフトウェア転送テーブルに第１転送エントリーを追加し、ＮＯの場合、ソフトウェア転送テーブルに第１転送エントリーを追加しない。該所定のタグは該第１通知メッセージに載せられているのがホストのルーティングであることを示すように構成される。
【００４７】
同様に、ローカルエッジデバイスから相手側エッジデバイスに送信されて前記第３ホストのルーティングを含む第４通知メッセージが所定のタグを含むことによって、前記相手側エッジデバイスが前記所定のタグに基づき、前記第３ホストのルーティングに対応する転送エントリーをソフトウェア転送テーブルに記録する。
【００４８】
例えば、エッジデバイス１がホストのルーティング（１１.１.１.２/３２）が載せられている通知メッセージをエッジデバイス２に送信するとき、該通知メッセージに所定のタグ（例えば、ＡＡＡ等）を追加し、該通知メッセージに載せられているのがホストのルーティングであることを示すようにする。このように、エッジデバイス２は第１通知メッセージに所定のタグが載せられているとクエリして、ホストのルーティング（１１.１.１.２/３２）及びＶＸＬＡＮトンネル１を含む転送エントリーをソフトウェア転送テーブルに追加する。
【００４９】
方式Ｂ
ローカルエッジデバイスは該第１通知メッセージのソースアドレス（すなわち、相手側エッジデバイスのアドレス）がネイバーテーブルに位置しているかどうかをクエリする。ＹＥＳの場合、ソフトウェア転送テーブルに第１転送エントリーを追加し、ＮＯの場合、ソフトウェア転送テーブルに第１転送エントリーを追加しない。該ネイバーテーブルはローカルエッジデバイスのＥＶＰＮネイバーであるとともに他のデータセンターに位置しているエッジデバイスのアドレスを記録するように構成される。
【００５０】
例えば、エッジデバイス１とエッジデバイス２とがＥＶＰＮネイバーであるので、エッジデバイス２のネイバーテーブルにエッジデバイス１のアドレス（例えば、ＩＰアドレス）を記録する。これに基づき、エッジデバイス２は第１通知メッセージのソースアドレスがネイバーテーブルに位置しているとクエリして、ホストのルーティング（１１.１.１.２/３２）及びＶＸＬＡＮトンネル１を含む転送エントリーをソフトウェア転送テーブルに追加することができる。なお、該第１通知メッセージのソースアドレスがネイバーテーブルに位置していない場合は、相手側エッジデバイス（すなわち、エッジデバイス１）がエッジデバイス２のＥＶＰＮネイバーではないことを示し、この時、ソフトウェア転送テーブルに第１転送エントリーを追加する必要がない。
【００５１】
方式Ｃ
ローカルエッジデバイスは第１通知メッセージに所定のタグが載せられているかどうかをクエリする。ＮＯの場合、ソフトウェア転送テーブルに第１転送エントリーを追加しなく、ＹＥＳの場合、第１通知メッセージのソースアドレス（すなわち、相手側エッジデバイスのアドレス）がネイバーテーブルに位置しているかどうかをクエリする。ＮＯの場合、ソフトウェア転送テーブルに第１転送エントリーを追加しなく、ＹＥＳの場合、ソフトウェア転送テーブルに第１転送エントリーを追加する。
【００５２】
方式Ｄ
ローカルエッジデバイスは第１通知メッセージのソースアドレス（すなわち、相手側エッジデバイスのアドレス）がネイバーテーブルに位置しているかどうかをクエリする。ＮＯの場合、ソフトウェア転送テーブルに第１転送エントリーを追加しなく、ＹＥＳの場合、第１通知メッセージに所定のタグが載せられているかどうかをクエリする。ＮＯの場合、ソフトウェア転送テーブルに第１転送エントリーを追加しなく、ＹＥＳの場合、ソフトウェア転送テーブルに第１転送エントリーを追加する。
【００５３】
２、相手側エッジデバイスはネットワークセグメントのルーティングが載せられている第２通知メッセージをローカルエッジデバイスに送信する。
【００５４】
一例では、相手側エッジデバイスはその自身が位置しているデータセンターで使用しているネットワークセグメント（例えば、相手側エッジデバイスで本データセンターにおけるアクセスデバイスに接続されるインターフェースが属するネットワークセグメント、例えばネットワークセグメント１１.１.１.０/２４）を取得して、該ネットワークセグメントのルーティングが載せられている第２通知メッセージをローカルエッジデバイスに送信することができる。例えば、エッジデバイス１とエッジデバイス２とはマルチプロトコルボーダーゲートウェイプロトコル（ＭＰ−ＢＧＰ：Ｍｕｌｔｉｐｒｏｔｏｃｏｌ−ＢｏｒｄｅｒＧａｔｅｗａｙＰｒｏｔｏｃｏｌ）によってＥＶＰＮルーティング情報を相互に通知することができる。
【００５５】
このように、ローカルエッジデバイスは相手側エッジデバイスからの第２通知メッセージを受信し、該第２通知メッセージからネットワークセグメントのルーティングを見付け出して、該ネットワークセグメントのルーティングと該第２通知メッセージを受信したインターフェースとの対応関係を含む第２転送エントリーをソフトウェア転送テーブル及びハードウェア転送テーブルに追加することができる。該インターフェースは、一般的に、ローカルエッジデバイスと相手側エッジデバイスとの間のトンネル接続口、例えばＶＸＬＡＮトンネルである。
【００５６】
一例では、ローカルエッジデバイスは第２通知メッセージを受信した後、ソフトウェア転送テーブルに第２転送エントリーを追加し、ハードウェア転送テーブルにも第２転送エントリーを追加する。
【００５７】
以下、図１のシーンを参照しながら、上記過程を説明する。エッジデバイス１はデータセンター１のネットワークセグメント１１.１.１.０/２４を取得して、ネットワークセグメントのルーティング（１１.１.１.０/２４）を含む通知メッセージを生成して、エッジデバイス２に該通知メッセージを送信することができる。エッジデバイス２は該通知メッセージを受信した後、ネットワークセグメントのルーティング（１１.１.１.０/２４）と、ＶＸＬＡＮトンネル１（エッジデバイス１とエッジデバイス２との間のＶＸＬＡＮトンネル）との対応関係を含む転送エントリーをソフトウェア転送テーブル及びハードウェア転送テーブルに追加する。
【００５８】
エッジデバイス２はネットワークセグメントのルーティング（１１.１.１.０/２４）が載せられている通知メッセージをエッジデバイス１に送信することもでき、エッジデバイス１によってソフトウェア転送テーブル及びハードウェア転送テーブルに転送エントリーを追加し、ここで詳細な説明は省略する。
【００５９】
一例では、「エッジデバイス１はネットワークセグメントのルーティングが載せられている通知メッセージをエッジデバイス２に送信する」過程については、エッジデバイス１はネットワークセグメントのルーティングが載せられている通知メッセージをその自身のＥＶＰＮネイバーに送信することもでき、ネットワークセグメントのルーティングが載せられている通知メッセージをパブリックネットワーク側のネットワーク機器に送信することもでき、更にネットワークセグメントのルーティングが載せられている通知メッセージをＥＶＰＮネイバーではない他のエッジデバイスに送信することもできる。ここでは制限しない。
【００６０】
ネットワーク機器はインターフェース１を介してエッジデバイス１から送信されてネットワークセグメントのルーティング１１.１.１.０/２４が載せられている通知メッセージを受信した後、ネットワークセグメントのルーティング１１.１.１.０/２４とインターフェース１との対応関係を転送テーブルに記録することができる。ネットワーク機器はインターフェース２を介してエッジデバイス２から送信されてネットワークセグメントのルーティング１１.１.１.０/２４が載せられている通知メッセージを受信した後、ネットワークセグメントのルーティング１１.１.１.０/２４とインターフェース２との対応関係を転送テーブルに記録することができる。
【００６１】
３、アクセスデバイスはホストのルーティングが載せられている第３通知メッセージをローカルエッジデバイスに送信する。
【００６２】
一例では、アクセスデバイスは該アクセスデバイスが位置しているデータセンターにおけるホストの第２ホストのルーティング（区別しやすいため、第２ホストのルーティングと称される）を取得した後、該第２ホストのルーティングが載せられている第３通知メッセージを該データセンターのローカルエッジデバイスに送信することができる。このように、ローカルエッジデバイスはアクセスデバイスからの第３通知メッセージを受信し、該第３通知メッセージから第２ホストのルーティングを見付け出して、第２ホストのルーティングと該第３通知メッセージを受信したインターフェースとの対応関係を含む第３転送エントリーをソフトウェア転送テーブル及びハードウェア転送テーブルに追加することができる。該インターフェースは、一般的に、ローカルエッジデバイスとアクセスデバイスとの間のインターフェースであってもよく、ＶＸＬＡＮトンネルでなくてもよい。
【００６３】
一例では、ローカルエッジデバイスは第３通知メッセージを受信した後、ソフトウェア転送テーブルに第３転送エントリーを追加し、ハードウェア転送テーブルにも第３転送エントリーを追加する。
【００６４】
以下、図１のシーンを参照しながら、上記過程を説明する。アクセスデバイス２はホスト２から送信された無償（Gratuitous）のＡＲＰパケットを受信したとき、無償（Gratuitous）のＡＲＰパケットからＩＰアドレス１１.１.１.３を見付け出して、ホストのルーティング（１１.１.１.３/３２）を取得し、ホストのルーティング（１１.１.１.３/３２）が載せられている通知メッセージをエッジデバイス２に送信することができ。このように、エッジデバイス２は該通知メッセージからホストのルーティング（１１.１.１.３/３２）を見付け出して、ホストのルーティング（１１.１.１.３/３２）とインターフェースＡ（エッジデバイス２とアクセスデバイス２との間のインターフェース）との対応関係を含む転送エントリーをソフトウェア転送テーブル及びハードウェア転送テーブルに追加することができる。
【００６５】
つまり、ローカルエッジデバイスはＡＲＰ学習を能動的にトリガーし、ＡＲＰ学習パケットを送信して、該ローカルデバイスが位置しているデータセンターにおけるホストの前記第３ホストのルーティングを取得することができる。ローカルエッジデバイスは該ローカルデバイスが位置しているデータセンターにおけるホストから送信された無償（Gratuitous）のＡＲＰパケットを受信し、前記第３ホストのルーティングを見付け出して取得することもできる。
【００６６】
以上の過程はローカルエッジデバイスが転送テーブル（ソフトウェア転送テーブル及びハードウェア転送テーブル）をメンテナンスする過程である。
【００６７】
ＩＩ、パケット伝送ステップ
該パケット伝送ステップはソフトウェア転送テーブル又はハードウェア転送テーブルを用いてパケットを伝送することに用いられる。
【００６８】
一例では、ローカルエッジデバイスはソフトウェア転送テーブル（ＣＰＵによってメンテナンスされる）及びハードウェア転送テーブル（ハードウェア転送チップによってメンテナンスされる）をメンテナンスするので、ローカルエッジデバイスがパケットを伝送する過程については、まず、ローカルエッジデバイスは該パケットの宛先アドレス（例えば、宛先ＩＰアドレス）によってハードウェア転送テーブルをクエリする（例えば、ハードウェア転送チップがパケットを受信した後、該宛先アドレスによってハードウェア転送テーブルをクエリする）。該ハードウェア転送テーブルには該宛先アドレスにマッチしている転送エントリーが存在している場合は、該宛先アドレスにマッチしている転送エントリーに基づいて該パケットを送信する。該ハードウェア転送テーブルには該宛先アドレスにマッチしている転送エントリーが存在しない場合は、ローカルエッジデバイスが該宛先アドレスによってソフトウェア転送テーブルをクエリする（例えば、ハードウェア転送チップがパケットをＣＰＵに送信し、ＣＰＵが該宛先アドレスによってソフトウェア転送テーブルをクエリする）。該ソフトウェア転送テーブルには該宛先アドレスにマッチしている転送エントリーが存在している場合、該宛先アドレスにマッチしている転送エントリーに基づいて該パケットを送信し、該ソフトウェア転送テーブルには該宛先アドレスにマッチしている転送エントリーが存在しない場合、該パケットを廃棄する。
【００６９】
以下、図１のシーンを参照しながら、上記過程を説明する。ホスト３が宛先ＩＰアドレス１１.１.１.２のパケットを送信すると仮定する場合、ネットワーク機器は該パケットを受信した後、転送テーブルにはネットワークセグメントのルーティング１１.１.１.０/２４とインターフェース１との対応関係、ネットワークセグメントのルーティング１１.１.１.０/２４とインターフェース２との対応関係が含まれているので、ネットワーク機器はその中の１つの転送エントリーを選択することができ、ネットワークセグメントのルーティング１１.１.１.０/２４とインターフェース２との対応関係に対応する転送エントリーを選択すると仮定する場合は、ネットワーク機器はインターフェース２を介して該パケットを送信する。
【００７０】
エッジデバイス２はハードウェア転送チップが該パケットを受信した後、宛先ＩＰアドレス１１.１.１.２によってハードウェア転送テーブルをクエリする。表２にはハードウェア転送テーブルの一例を示す。１番目の転送エントリーは「アクセスデバイスからエッジデバイス２に送信されてホストのルーティング（１１.１.１.３/３２）が載せられている第３通知メッセージ」に基づいて生成されたものであり、２番目の転送エントリーは「エッジデバイス１からエッジデバイス２に送信されてネットワークセグメントのルーティング（１１.１.１.０/２４）が載せられている第２通知メッセージ」に基づいて生成されたものであり、３番目の転送エントリーはエッジデバイス２によってインターフェースＡが属するネットワークセグメントが１１.１.１.０/２４であることを把握することで生成されたものである。宛先ＩＰアドレス１１.１.１.２が２番目の転送エントリー及び３番目の転送エントリーにマッチしており、この２つの転送エントリーはネットワークセグメントのルーティングが同じであるが、アウトバウンドインターフェースが一致しないため、マッチングにエラーがある認定する。つまり、ハードウェア転送テーブルには該宛先ＩＰアドレス１１.１.１.２にマッチしている転送エントリーがなく、ハードウェア転送チップは該パケットをＣＰＵに送信する。
【００７１】
【表２】
0006989621.tif 000003
【００７２】
エッジデバイス２のＣＰＵは該パケットを受信した後、宛先ＩＰアドレス１１.１.１.２によってソフトウェア転送テーブルをクエリする。表３にはソフトウェア転送テーブルの一例を示す。２番目の転送エントリー、３番目の転送エントリー、４番目の転送エントリーを生成する過程は表２と同様であり、ここで詳細な説明は省略する。１番目の転送エントリーは「エッジデバイス１からエッジデバイス２に送信されてホストのルーティング（１１.１.１.２/３２）が載せられている第１通知メッセージ」に基づいて生成されたものである。宛先ＩＰアドレス１１.１.１.２は１番目の転送エントリーにマッチングする（最長のマスクでマッチングする原則によって、１１.１.１.２/３２のマスクが３２ビットであるのに対して１１.１.１.０/２４のマスクが２４ビットであるので、１番目の転送エントリーのみにマッチングする）ため、ソフトウェア転送テーブルには該宛先ＩＰアドレス１１.１.１.２にマッチしている転送エントリーが存在しており、ＣＰＵは該転送エントリーのアウトバウンドインターフェース（すなわち、ＶＸＬＡＮトンネル１）に基づいて該パケットを送信する。このように、該パケットがエッジデバイス１に送信される。エッジデバイス１は該パケットを受信した後、最終的にパケットをホスト１に送信することができる。ここでパケットの伝送過程を完了する。
【００７３】
【表３】
0006989621.tif 000004
【００７４】
ハードウェア転送チップがパケットをＣＰＵに送信する過程については、大量のパケットでＣＰＵに与えた影響を軽減するために、更にバッファキューを新規作成する。ハードウェア転送チップはパケットをバッファキューに記憶する。ＣＰＵはその性能に基づいてバッファキューからパケットを読み取り、大量のパケットをＣＰＵに直接送信しないので、大量のパケットでＣＰＵの処理性能に与えた衝撃を軽減し、ＣＰＵの負荷が大きすぎることを回避する。
【００７５】
一例では、ソフトウェア転送テーブルには宛先アドレスにマッチしている転送エントリーが存在している場合、更に該宛先アドレスにマッチしている転送エントリーをハードウェア転送テーブルに追加する。例えば、ＣＰＵはソフトウェア転送テーブルにおける転送エントリー（１１.１.１.２/３２とＶＸＬＡＮトンネル１との対応関係）に基づいてパケットを送信した後、更に転送エントリー（１１.１.１.２/３２とＶＸＬＡＮトンネル１との対応関係）をハードウェア転送テーブルに追加する。このように、ハードウェア転送チップは宛先ＩＰアドレス１１.１.１.２のパケットを再び受信した後、転送エントリー（１１.１.１.２/３２とＶＸＬＡＮトンネル１との対応関係）を直接に用いてパケットを転送するので、パケットをＣＰＵに送信しなく、ＣＰＵの処理負荷を軽減することができる。
【００７６】
そして、上記方式は転送エントリー（１１.１.１.２/３２とＶＸＬＡＮトンネル１との対応関係）をハードウェア転送テーブルに直接に追加するではなく、該転送エントリーにマッチしているパケットを受信した後、該転送エントリー（１１.１.１.２/３２とＶＸＬＡＮトンネル１との対応関係）をハードウェア転送テーブルに追加するので、ハードウェア転送チップのエントリーリソースを節約して、エントリーリソースの無駄遣いを回避することができる。
【００７７】
上記技術案によれば、ローカルエッジデバイスは相手側エッジデバイスからの第１通知メッセージを受信した後、ソフトウェア転送テーブルに第１ホストのルーティングに対応する転送エントリーを追加することができる。このように、第１ホストのルーティングにマッチしているパケットを受信した後、第１ホストのルーティングに対応する転送エントリーによってパケットを相手側エッジデバイスに送信し、相手側エッジデバイスがパケットをホストに送信する。上記過程において、ローカルエッジデバイスのデータセンターで該パケットをブロードキャストすることを回避し、データセンターのバンドリソースを節約し、ホストのサービス中断を回避し、ユーザー体験を向上させることができる。そして、ローカルエッジデバイスは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理ユニット）にメンテナンスされるソフトウェア転送テーブルに第１ホストのルーティングに対応する転送エントリーを追加し、ハードウェア転送チップにメンテナンスされるハードウェア転送テーブルに第１ホストのルーティングに対応する転送エントリーを追加することなく、ハードウェア転送チップのエントリーリソースを節約する。
【００７８】
上記方法と同様の発想に基づき、本願の実施例は更にローカルエッジデバイスに適用されるパケット伝送装置を提供する。図３に示すように、該装置は、
相手側エッジデバイスからの第１通知メッセージを受信するように構成される受信モジュール１１と、
前記第１通知メッセージから第１ホストのルーティングを解析するように構成される解析モジュール１２と、
前記第１ホストのルーティングと前記第１通知メッセージを受信したインターフェースとの対応関係を含む第１転送エントリーをソフトウェア転送テーブルに追加するように構成される記録モジュール１３と、
パケットを受信した後、前記パケットの宛先アドレスによってハードウェア転送テーブルをクエリし、前記宛先アドレスにマッチしている転送エントリーが前記ハードウェア転送テーブルに存在しない場合は、前記パケットの宛先アドレスによって前記ソフトウェア転送テーブルをクエリし、前記宛先アドレスにマッチしている転送エントリーが前記ソフトウェア転送テーブルに存在している場合は、前記宛先アドレスにマッチしている転送エントリーに基づいて前記パケットを送信するように構成される送信モジュール１４と、
を備える。
【００７９】
前記記録モジュール１３は、具体的に、ソフトウェア転送テーブルに第１転送エントリーを追加する過程において、前記第１通知メッセージに所定のタグが載せられている場合、及び/又は、前記第１通知メッセージのソースアドレスがネイバーテーブルに位置している場合は、前記ソフトウェア転送テーブルに第１転送エントリーを追加するように構成され、前記所定のタグは前記第１通知メッセージにホストのルーティングが載せられていることを示し、前記ネイバーテーブルは前記ローカルエッジデバイスのイーサネットバーチャルプライベートネットワークＥＶＰＮネイバーであるとともに他のデータセンターに位置しているエッジデバイスのアドレスを記録するように構成される。
【００８０】
一例では、前記受信モジュール１１は、更に、相手側エッジデバイスからの第２通知メッセージを受信するように構成され、
前記解析モジュール１２は、更に、前記第２通知メッセージからネットワークセグメントのルーティングを解析するように構成され、
前記記録モジュール１３は、更に、前記ネットワークセグメントのルーティングと前記第２通知メッセージを受信したインターフェースとの対応関係を含む第２転送エントリーをハードウェア転送テーブルに追加するように構成される。
【００８１】
一例では、前記受信モジュール１１は、更に、アクセスデバイスからの第３通知メッセージを受信するように構成され、
前記解析モジュール１２は前記第３通知メッセージから第２ホストのルーティングを見付け出し、
前記記録モジュール１３は、更に、前記第２ホストのルーティングと前記第３通知メッセージを受信したインターフェースとの対応関係を含む第３転送エントリーをハードウェア転送テーブルに追加するように構成される。
【００８２】
前記記録モジュール１３は、更に、前記ソフトウェア転送テーブルには前記宛先アドレスにマッチしている転送エントリーが存在している場合、前記宛先アドレスにマッチしている転送エントリーを前記ハードウェア転送テーブルに追加するように構成される。
【００８３】
一例では、前記送信モジュール１４は、更に、、前記ローカルエッジデバイスが位置しているデータセンターにおけるホストの第３ホストのルーティングを取得して、前記第３ホストのルーティングを含む第４通知メッセージを生成して、前記相手側エッジデバイスに前記第４通知メッセージを送信することによって、前記相手側エッジデバイスが前記第３ホストのルーティングに対応する転送エントリーをソフトウェア転送テーブルに追加するように構成される。
【００８４】
本願の実施例に係るローカルエッジデバイスは、ハードウェアの面では、ハードウェアアーキテクチャ模式図が具体的に図４を参照してもよい。図４は本願の実施例に係るローカルエッジデバイスのハードウェア構造模式図である。機械可読記憶媒体及びプロセッサを備え、
機械可読記憶媒体には、機械実行可能命令コード、例えば、本開示の実施例に係るパケット伝送装置に含まれるソフトウェア機能モジュール又はコンピュータプログラム等が記憶されている。
【００８５】
プロセッサ及び機械可読記憶媒体はシステムバスによって通信することができ、プロセッサは機械可読記憶媒体に記憶されてパケット伝送論理に対応する機械実行可能命令コードを読み取って実行することにより、ローカルエッジデバイスが本願の上記例に開示されるパケット伝送操作を実現する。
【００８６】
ここで、機械可読記憶媒体は、いかなる電子、電気、光又は他の物理記憶装置であってもよく、情報例えば実行可能命令、データ等を含む又は記憶することができる。例えば、機械可読記憶媒体はＲＡＭ（Ｒａｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ランダムアクセスメモリ）、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、記憶ドライブ（例えば、ハードディスクドライブ）、ソリッドステートドライブ、いかなるタイプのメモリディスク（例えば、光ディスク、ｄｖｄ等）、同様の記憶媒体又はそれらの組み合わせであってもよい。
【００８７】
上記実施例に開示されるシステム、装置、モジュール又はユニットは具体的にコンピュータチップ又はエンティティで実現されてもよいし、ある機能を有する製品で実現されてもよい。典型的な実現装置はコンピュータであり、コンピュータの具体的な形式はパーソナルコンピュータ、ラップトップコンピュータ、セルラー方式電話、カメラ付き電話、スマートフォン、パーソナルデジタルアシスタント、メディアプレーヤー、ナビゲーションデバイス、電子メール送受信装置、ゲームコンソール、タブレットコンピュータ、ウェアラブルデバイス又はこれらのデバイスのうちの任意の複数のデバイスの組み合わせであってもよい。
【００８８】
説明の便利上、以上の装置を説明する際に機能によって様々なユニットに分けてそれぞれ説明する。当然ながら、本開示を実施する際に各ユニットの機能を同じ又は複数のソフトウェア及び/又はハードウェアで実現してもよい。
【００８９】
当業者であれば、本開示の実施例が方法、システム又はコンピュータプログラム製品として提供されてもよいと理解すべきである。従って、本開示は完全なハードウェア実施例、完全なソフトウェア実施例、又はソフトウェア及びハードウェア態様を組み合わせた実施例の形式を用いてもよい。且つ、本開示の実施例はコンピュータ利用可能プログラムコードが含まれる１つ又は複数のコンピュータ利用可能記憶媒体（磁気ディスクメモリ、ＣＤ−ＲＯＭ、光メモリ等を含むが、それらに限らない）において実施されるコンピュータプログラム製品の形式を用いてもよい。
【００９０】
本開示は本開示の実施例に係る方法、デバイス（システム）及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して説明したものである。コンピュータプログラム命令によってフローチャート及び/又はブロック図における各プロセス及び/又はブロック、及びフローチャート及び/又はブロック図におけるプロセス及び/又はブロックの組み合わせを実現できると理解すべきである。１つのマシンを生成するよう、これらのコンピュータプログラム命令を汎用コンピュータ、専用コンピュータ、組み込みプロセッサ又は他のプログラマブルデータ処理装置のプロセッサに提供することができ、それによりコンピュータ又は他のプログラマブルデータ処理装置のプロセッサの実行した命令によってフローチャートにおける１つのプロセス又は複数のプロセス及び/又はブロック図における１つのブロック又は複数のブロックにおいて指定された機能を実現するための装置を生成する。
【００９１】
且つ、これらのコンピュータプログラム命令はコンピュータ又は他のプログラマブルデータ処理装置が特定の方式で動作するように案内できるコンピュータ可読メモリに記憶されてもよく、それにより該コンピュータ可読メモリに記憶される命令に命令装置を備える製造品を生成させ、該命令装置がフローチャートにおける１つのプロセス又は複数のプロセス及び/又はブロック図における１つのブロック又は複数のブロックにおいて指定された機能を実現する。
【００９２】
これらのコンピュータプログラム命令が更にコンピュータ又は他のプログラマブルデータ処理装置にアップロードされてもよく、それによりコンピュータ又は他のプログラマブルデバイスにおいて一連の操作ステップを実行することでコンピュータの実現した処理を生成し、それによりコンピュータ又は他のプログラマブルデバイスにおいて実行される命令はフローチャートにおける１つのプロセス又は複数のプロセス及び/又はブロック図における１つのブロック又は複数のブロックにおいて指定された機能を実現するためのステップを提供する。
【００９３】
当業者であれば、本開示の実施例が方法、システム又はコンピュータプログラム製品として提供されてもよいと理解すべきである。従って、本開示は完全なハードウェア実施例、完全なソフトウェア実施例、又はソフトウェア及びハードウェア態様を組み合わせた実施例の形式を用いてもよい。且つ、本開示はコンピュータ利用可能プログラムコードが含まれる１つ又は複数のコンピュータ利用可能記憶媒体（磁気ディスクメモリ、ＣＤ−ＲＯＭ、光メモリ等を含んでもよいが、それらに限らない）において実施されるコンピュータプログラム製品の形式を用いてもよい。
【００９４】
以上の説明は本開示の実施例であって、本開示を制限するためのものではない。当業者であれば、本開示に対して種々の変更や変形を行うことができる。本開示の趣旨や原理内に行った修正、等価置換、改良等は、いずれも本開示の特許請求の範囲に含まれるべきである。
【産業上の利用可能性】
【００９５】
本開示の実施例では、ローカルエッジデバイスは相手側エッジデバイスからの第１通知メッセージを受信した後、第１ホストのルーティングに対応する転送エントリーをソフトウェア転送テーブルに追加する。このように、第１ホストのルーティングにマッチしているパケットを受信した後、第１ホストのルーティングに対応する転送エントリーによってパケットを相手側エッジデバイスに送信し、相手側エッジデバイスがパケットをホストに送信する。上記過程では、ローカルエッジデバイスのデータセンターで該パケットをブロードキャストすることを回避し、データセンターのバンドリソースを節約し、ホストのサービス中断を回避し、ユーザー体験を向上させることができる。そして、ローカルエッジデバイスは第１ホストのルーティングに対応する転送エントリーをメンテナンスされるソフトウェア転送テーブルに追加することによって、第１ホストのルーティングに対応する転送エントリーをハードウェア転送チップにメンテナンスされるハードウェア転送テーブルに追加しなく、ハードウェア転送チップのエントリーリソースを節約する。
【図１】
0006989621.tif 000005
【図２】
0006989621.tif 000006
【図３】
0006989621.tif 000007
【図４】
0006989621.tif 000008