JP2018523443A - 要求に基づいてルートを取得する方法およびゲートウェイ - Google Patents

要求に基づいてルートを取得する方法およびゲートウェイ Download PDF

Info

Publication number
JP2018523443A
JP2018523443A JP2018526292A JP2018526292A JP2018523443A JP 2018523443 A JP2018523443 A JP 2018523443A JP 2018526292 A JP2018526292 A JP 2018526292A JP 2018526292 A JP2018526292 A JP 2018526292A JP 2018523443 A JP2018523443 A JP 2018523443A
Authority
JP
Japan
Prior art keywords
packet
gateway
address
host
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018526292A
Other languages
English (en)
Other versions
JP6542993B2 (ja
Inventor
▲遠▼ 高
▲遠▼ 高
新▲鵬▼ 李
新▲鵬▼ 李
永黎 袁
永黎 袁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2018523443A publication Critical patent/JP2018523443A/ja
Application granted granted Critical
Publication of JP6542993B2 publication Critical patent/JP6542993B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本願は、通信分野に関し、特に、要求に基づいてルートを取得する方法およびゲートウェイに関する。要求に基づいてルートを取得する方法では、第1のゲートウェイは、第1のパケットを受信し、第1のゲートウェイは、第1のパケット内の第1のIPアドレスの次のホップを求めて転送テーブルを検索し、該検索は失敗し、第1のゲートウェイは、第1のIPアドレスを搬送する第2のパケットを少なくとも1つのゲートウェイに送信し、第2のパケットは、第2のパケットを受信するゲートウェイに、第1のIPアドレスによって識別されるホストが第2のパケットを受信するゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用され、第1のゲートウェイは、第3のパケットを第2のゲートウェイから受信し、第3のパケットは、第1のIPアドレスによって識別されるホストが、第2のゲートウェイを使用してネットワークにアクセスするよう指示するために使用され、かつ第1のゲートウェイは、第2のゲートウェイのアドレスを、第1のIPアドレスの次のホップアドレスとして転送テーブルに書き込む。

Description

本願は、2016年1月18日に中国特許庁に出願された、「METHOD AND GATEWAY FOR OBTAINING ROUTE ACCORDING TO REQUIREMENT」という名称の中国特許出願第201610031655.4号の優先権を主張するものであり、参照によりその全体が本明細書に組み込まれる。
本発明は、通信分野に関し、特に、要求に基づいてルートを取得する方法及びゲートウェイに関する。
分散型ゲートウェイのネットワークアーキテクチャでは、ローカルエリアネットワーク(英語:local area network、略してLAN)は複数のゲートウェイを含む。ホストがそのゲートウェイを変更するとき、ホストのメディアアクセス制御(英語:Media Access Control、略してMAC)アドレスとインターネットプロトコル(英語:Internet Protocol、略してIP)アドレスは変更されない。分散型ゲートウェイアーキテクチャにおけるパケット転送方式は、パケットを送信するホストとパケットを受信するホストが同一のブロードキャストドメイン(英語:broadcast domain、略してBD)に位置するか否かに関わらず、送信側ホストはパケットを送信側ホストのゲートウェイに送信し、ゲートウェイはパケットの宛先IPアドレスに基づいて受信側ホストにパケットを送信する。受信側ホストは、ローカルエリアネットワーク内の別のゲートウェイを使用してネットワークにアクセスしてもよい。従って、送信側ホストのゲートウェイの転送テーブルは、ローカルエリアネットワーク内の別のゲートウェイを使用してネットワークにアクセスするすべてのホストのホストルートを含む必要がある。ローカルエリアネットワークが大量のホストを含むとき、大量のホストルートが転送テーブルの多くのストレージリソースを占有する。
本願は、要求に基づいてルートを取得する方法および装置を提供し、分散型ゲートウェイのネットワークアーキテクチャにおいて、実際のパケット転送要求に基づいてルートを取得し、それによって、転送テーブルのストレージリソースを節約することができる。
第1の態様によれば、要求に基づいてルートを取得する方法であって、
第1のゲートウェイによって、第1のパケットを受信するステップであって、第1のパケットは第1のインターネットプロトコルIPアドレスを含む、ステップと、
第1のゲートウェイによって、第1のIPアドレスの次のホップを求めて転送テーブルを検索するステップであって、該検索は失敗する、ステップと、
第1のゲートウェイによって、第2のパケットを少なくとも1つのゲートウェイに送信するステップであって、第2のパケットは第1のIPアドレスを搬送し、かつ第2のパケットは、第2のパケットを受信するゲートウェイに、第1のIPアドレスによって識別されるホストが第2のパケットを受信するゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用される、ステップと、
第1のゲートウェイによって、第3のパケットを第2のゲートウェイから受信するステップであって、第2のゲートウェイは少なくとも1つのゲートウェイの1つであり、かつ第3のパケットは、第1のIPアドレスによって識別されるホストに、第2のゲートウェイを使用してネットワークにアクセスするよう指示するために使用される、ステップと、
第1のゲートウェイによって、第2のゲートウェイのアドレスを、第1のIPアドレスの次のホップアドレスとして転送テーブルに書き込むステップと
を含む、方法が提供される。
第1のゲートウェイは、第1のパケット内のIPアドレスの次のホップを予め記憶している必要はないが、アクセスされたホストに基づく要求に基づいてルートを取得してもよい。従って、ネットワークが大量のホストを含む場合、第1のゲートウェイは、第1のゲートウェイと通信する必要のないホストのIPアドレスの次のホップを記憶している必要がなくなり、それによって、転送テーブルのストレージリソースを節約することができる。
任意選択で、第2のパケットは、第1のパケットの第1の仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIをさらに搬送する。第1のゲートウェイによって、第2のパケットを少なくとも1つのゲートウェイに送信するステップの前に、方法は、第1のゲートウェイによって、第1のパケットの第1のVNIを判定するステップをさらに含む。
例えば、第1のゲートウェイによって、第1のVNIを判定するステップは、第1のゲートウェイによって、第1のパケットを受信するポートを判定するステップと、第1のゲートウェイによって、ポートから第1のVNIへのマッピングに基づいて、第1のVNIを判定するステップとを特に含む。第1のゲートウェイが第1のパケット内のIPアドレスの次ホップを求めて転送テーブルを検索する前に、方法は、第1のゲートウェイによって、第1のVNIから転送テーブルへのマッピングに基づいて転送テーブルを判定するステップをさらに含む。
任意選択で、方法は、第1のゲートウェイによって、第4のパケットを第3のゲートウェイから受信するステップであって、第4のパケットは、第2のIPアドレスを搬送する、ステップと、第1のゲートウェイによって、第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定するステップと、第1のゲートウェイによって、第5のパケットを第3のゲートウェイに送信するステップであって、第5のパケットは、第2のIPアドレスによって識別されるホストに、第1のゲートウェイを使用してネットワークにアクセスするよう指示するために使用される、ステップとをさらに含む。任意選択で、第4のパケットは第2のVNIをさらに搬送し、かつ第1のゲートウェイによって、第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定するステップは、第1のゲートウェイによって第2のVNIによって識別されるVXLANセグメント内の第2のIPアドレスによって識別されるホストのMACアドレスを取得するよう試みるステップを含む。
任意選択で、第1のゲートウェイによって、第2のパケットを少なくとも1つのゲートウェイに送信するステップの前に、方法は、複数のVNIから複数のゲートウェイへのマッピングテーブルに基づいて、第1のゲートウェイによって、VNIに対応する少なくとも1つのゲートウェイを判定するステップをさらに含む。
任意選択で、第1のパケットは、データパケットであり、第1のIPアドレスは、第1のパケットの宛先IPアドレスであり、方法は、第1のゲートウェイによって、第1のパケットにVXLANカプセル化を実行して、第6のパケットを取得するステップと、第1のゲートウェイによって、第6のパケットを送信するステップとをさらに含み、第6のパケットのVXLANヘッダにおけるVNIフィールドの値はVNIであり、かつ第6のパケットの外部IPヘッダの宛先IPアドレスは第2のゲートウェイのIPアドレスである。
第2の態様によれば、ネットワークデバイスであって、
プロセッサと、メモリと、ネットワークインターフェースとを含み、メモリは、転送テーブルを記憶するように構成され、かつプロセッサは、
ネットワークインターフェースを使用して第1のパケットを受信し、第1のパケットは第1のインターネットプロトコルIPアドレスを含み、
第1のIPアドレスの次のホップを求めてメモリに記憶された転送テーブルを検索し、該検索は失敗し、
ネットワークインターフェースを使用して、第2のパケットを少なくとも1つのゲートウェイに送信し、第2のパケットは第1のIPアドレスを搬送し、かつ第2のパケットは、第2のパケットを受信するゲートウェイに、第1のIPアドレスによって識別されるホストが第2のパケットを受信するゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用され、
ネットワークインターフェースを使用して、第3のパケットを第1のゲートウェイから受信し、第1のゲートウェイは少なくとも1つのゲートウェイの1つであり、かつ第3のパケットは、第1のIPアドレスによって識別されるホストに、第1のゲートウェイを使用してネットワークにアクセスするよう指示するために使用され、かつ
第1のゲートウェイのアドレスを、第1のIPアドレスの次のホップアドレスとしてメモリに記憶された転送テーブルに書き込む
ように構成された、ネットワークデバイスが提供される。
この態様の技術的効果は、第1の態様のそれと同一である。
任意選択で、第2のパケットは、第1のパケットの第1の仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIをさらに搬送し、かつプロセッサは、第2のパケットを少なくとも1つのゲートウェイに送信する前に、第1のパケットの第1のVNIを判定するようにさらに構成される。
任意選択で、プロセッサは、ネットワークインターフェースを使用して、第4のパケットを第2のゲートウェイから受信し、第4のパケットは第2のIPアドレスを搬送し、第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定し、かつネットワークインターフェースを使用して、第5のパケットを第2のゲートウェイに送信し、第5のパケットは、第2のIPアドレスによって識別されるホストに、第1のネットワークを使用してネットワークにアクセスするよう指示するために使用される、ようにさらに構成される。
任意選択で、第4のパケットは第2のVNIをさらに搬送し、かつ第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定することは、
第2のVNIによって識別されるVXLANセグメント内の第2のIPアドレスによって識別されるホストのMACアドレスを取得するよう試みることを特に含む。
第3の態様によれば、要求に基づいてルートを取得する第1のゲートウェイであって、第1の受信ユニットと、記憶ユニットと、検索ユニットと、送信ユニットと、第2の受信ユニットと、処理ユニットとを含み、
第1の受信ユニットは、第1のパケットを受信するように構成され、第1のパケットは第1のインターネットプロトコルIPアドレスを含み、
記憶ユニットは、転送テーブルを記憶するように構成され、
検索ユニットは、第1のIPアドレスの次のホップを求めて記憶ユニットに記憶された転送テーブルを検索するように構成され、
送信ユニットは、検索ユニットが第1のIPアドレスの次のホップを求めて記憶ユニットに記憶された転送テーブルを検索し、該検索が失敗した後、第2のパケットを少なくとも1つのゲートウェイに送信するように構成され、第2のパケットは第1のIPアドレスを搬送し、かつ第2のパケットは、第2のパケットを受信するゲートウェイに、第1のIPアドレスによって識別されるホストが第2のパケットを受信するゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用され、
第2の受信ユニットは、第3のパケットを第2のゲートウェイから受信するように構成され、第2のゲートウェイは少なくとも1つのゲートウェイの1つであり、かつ第3のパケットは、第1のIPアドレスによって識別されるホストに、第2のゲートウェイを使用してネットワークにアクセスするよう指示するために使用され、かつ
処理ユニットは、第2の受信ユニットによって受信された第3のパケットを取得し、かつ第3のパケットに基づいて第1のIPアドレスの次のホップアドレスとして、第2のゲートウェイのアドレスを、記憶ユニットに記憶された転送テーブルに書き込むように構成された、第1のゲートウェイが提供される。
この態様の技術的効果は、第1の態様のそれと同一である。
任意選択で、第2のパケットは、第1のパケットの第1の仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIをさらに搬送し、かつ検索ユニットは、送信ユニットが第2のパケットを少なくとも1つのゲートウェイに送信する前に、第1のパケットの第1のVNIを判定するようにさらに構成される。
任意選択で、第2の受信ユニットは、第4のパケットを第3のゲートウェイから受信するようにさらに構成され、第4のパケットは第2のIPアドレスを搬送し、検索ユニットは、第2の受信ユニットによって受信された第4のパケットを取得し、かつ第4のパケットにおいて搬送された第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定するようにさらに構成され、かつ送信ユニットは、第5のパケットを第3のゲートウェイに送信するようにさらに構成され、第5のパケットは、第2のIPアドレスによって識別されるホストに、第1のネットワークを使用してネットワークにアクセスするよう指示するために使用される。
任意選択で、第4のパケットは第2のVNIをさらに搬送し、かつ検索ユニットが第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定するように構成されることは、第2のVNIによって識別されるVXLANセグメント内の第2のIPアドレスによって識別されるホストのMACアドレスを取得するよう試みるよう特に構成される。
第4の態様によれば、コンピュータ記憶媒体が提供される。コンピュータ記憶媒体は、前述の第1のゲートウェイによって使用されるコンピュータソフトウェア命令を記憶するように構成され、かつ命令は、前述の態様を実行するように設計されたプログラムを含む。
任意選択で、第1の態様、第2の態様、第3の態様、または第4の態様のいずれかに基づいて、第1のパケットは、アドレス解決プロトコルARPパケットであり、かつ第1のIPアドレスは、第1のパケットのターゲットIPアドレスであり、または、第1のパケットは、近隣探索プロトコルNDPパケットであり、かつIPアドレスは、第1のパケットのターゲットアドレスである。
第1のゲートウェイがARPパケットまたはNDPパケットを受信するとき、第1のパケットを送信するホストは、第1のIPアドレスによって識別されるホストと通信しようとしている可能性があることを意味する。第1のゲートウェイは、第1のパケットを受信すると別のゲートウェイに、第1のIPアドレスを取得するために使用される次のホップを送信する。このようにして、通信要求を有しないホストのIPアドレスが記憶されていないときには、通信要求を有するホストのIPアドレスの次ホップを早く取得することができ、それによって、以降のパケット転送の効率が向上する。
本願の実施形態における技術的解決策をより明確に説明するために、以下に、実施形態を説明するために必要な添付図面を簡単に説明する。明らかに、以下の説明における添付図面は、本願のいくつかの実施形態を示しており、当業者は創造的な努力なしにこれらの添付図面からさらに他の図面を導き出すことができる。
本願の実施形態によるアプリケーションシナリオの概略図である。 本願の実施形態による要求に基づいてルートを取得する方法のフローチャートである。 本願の実施形態による要求に基づいてルートを取得する方法のフローチャートである。 本願の実施形態による第1のゲートウェイの概略構成図である。 本願の実施形態による別の第1のゲートウェイの概略構成図である。
本願の実施形態において説明されるアプリケーションシナリオは、本願の実施形態の技術的解決策をより明確に説明することであるが、本願の実施形態の技術的解決方法を限定するものではない。当業者であれば、ネットワークアーキテクチャが進化し、新たなビジネスシナリオが現れるとき、本願の実施形態で提供される技術的解決策は、同様の技術的問題にも適用可能であることを理解するであろう。
図1は、本願の実施形態によるアプリケーションシナリオの概略図である。データセンターネットワーク(英語:data center network、略してDCN)は、第1のゲートウェイ101と、第2のゲートウェイ102と、第3のゲートウェイ103とを含む。
ホスト106は、第1のゲートウェイ101、第2のゲートウェイ102、または第3のゲートウェイ103のいずれか1つを使用してDCNにアクセスしてもよい。同様に、ホスト107は、第1のゲートウェイ101、第2のゲートウェイ102、または第3のゲートウェイ103のいずれか1つを使用してDCNにアクセスしてもよい。例えば、ホストは、パーソナルコンピュータ(英語:personal computer)、携帯電話(英語:cellphone)、スマートフォン(英語:smartphone)、タブレットコンピュータ(英語:tablet computer)、ウェアラブルデバイス(英語:wearable device)、パーソナルデジタルアシスタント(英語:personal digital assistant、略してPDA)、モバイルインターネット装置(英語:mobile Internet device、略してMID)、電子ブックリーダー(英語:e-book reader)などであってもよいし、または仮想マシン(英語:virtual machine、略してVM)であってもよい。ホストが仮想マシンのとき、仮想マシンはサーバ上で実行できる。
ホスト、例えばホスト106が異なるゲートウェイを使用してDCNにアクセスするとき、ホスト106のMACアドレスもIPアドレスも変更されない。例えば、ホスト106は仮想マシンである。仮想マシンが第1のゲートウェイ101に接続されたサーバから第2のゲートウェイ102に接続されたサーバに移行するとき、仮想マシンのMACアドレスもIPアドレスも変更されない。従って、同一のブロードキャストドメイン(英語:ブロードキャストドメイン、略してBD)に位置するホストは、異なるゲートウェイを使用してネットワークにアクセスしてもよい。
ブロードキャストパケットの量を減らすために、前述の分散型ゲートウェイのネットワークアーキテクチャにおけるパケット転送方式は、ホスト106がホスト107にパケットを送信するプロセスにおいて、ホスト106およびホスト107が同一のブロードキャストドメイン内にあるか否かに関わらず、ホスト106は、ホスト107に送信されたパケットのMACアドレスとして、ホスト106のゲートウェイのMACアドレスを使用する。例えば、第1のゲートウェイ101を使用してDCNにアクセスするとき、ホスト106は、パケットを第1のゲートウェイ101に送信する。パケットを受信した後、第1のゲートウェイ101は、パケットのイーサネット(登録商標)フレームヘッダ(英語:Ethernet frame header)をはがしてパケット内の宛先IPアドレスを取得し、かつパケット内の宛先IPアドレスに基づいてパケットを転送する。
前述のパケット転送方式を使用するとき、ホスト106がホスト107にパケットを送信できるようにするためには、ホスト106に接続されている第1のゲートウェイ101は、ホスト107のホストルート(英語:host route)を転送テーブルに予め記憶している必要がある。ホストルートは、ホスト107のIPアドレスと、ホスト107のIPアドレスの次のホップ(英語:next hop)とを含む。すなわち、第1のゲートウェイ101は、ネットワークにアクセスするために、ホスト107によって現在使用されているゲートウェイを予め記憶している必要がある。例えば、図1では、第1のゲートウェイ101は、第2のゲートウェイ102を使用して、または第3のゲートウェイ103を使用して、ホスト107が現在、ネットワークにアクセスしているか否かを知る必要がある。
従って、ホスト107が第2のゲートウェイ102を使用してネットワークにアクセスするとき、第2のゲートウェイ102は、ホスト107のホストルートをDCN内の別のゲートウェイに通知(英語:advertise)する必要がある。例えば、ホストルートが、第1のゲートウェイ101および第3のゲートウェイ103に通知され、かつ第1のゲートウェイ101および第3のゲートウェイ103は、第2のゲートウェイ102としてホスト107のIPアドレスの次のホップを記憶する。
第1のゲートウェイ101、第2のゲートウェイ102、および第3のゲートウェイ103が、仮想拡張可能ローカルエリアネットワーク(英語: Virtual eXtensible Local Area Network、略してVXLAN)トンネルを使用してデータパケットを転送し、かつボーダーゲートウェイプロトコル(英語:Border Gateway Protocol、略してBGP)を使用してホストルートを通知する実施例を使用して、パケットの転送およびホストルートの通知のプロセスを以下に説明する。
第1のゲートウェイ101、第2のゲートウェイ102、および第3のゲートウェイ103は、ボーダーゲートウェイプロトコル(英語:Border Gateway Protocol、略してBGP)を使用して予め相互の接続を確立する。すなわち、第1のゲートウェイ101、第2のゲートウェイ102、および第3のゲートウェイ103のいずれか2つは、互いのBGPピア(英語:BGP peer)である。
ホスト107が第2のゲートウェイ102との接続を確立するとき、第2のゲートウェイ102は、BGPパケットを使用してDCN内の第1のゲートウェイ101および第3のゲートウェイ103などの他のゲートウェイにホスト107のホストルートを通知する。第1のゲートウェイ101は、ホスト107のホストルートをルーティングテーブルに保存し、かつ第2のゲートウェイ102をホスト107の次のホップとして使用する。
第1のゲートウェイ101、第2のゲートウェイ102、および第3のゲートウェイ103はすべてVXLANトンネルエンドポイント(英語:VXLAN Tunnel End Point、略してVTEP)である。
ホスト106およびホスト107が異なるブロードキャストドメインに属し、かつホスト106がホスト107にデータパケットを送信しようとする場合、ホスト106は、ホスト107のIPアドレスをデータパケットの宛先IPアドレスとして使用し、第1のゲートウェイのMACアドレスをデータパケットの宛先MACアドレスとして使用し、かつ第1のゲートウェイ101にデータパケットを送信する。
ホスト106およびホスト107が同一のブロードキャストドメインに属する場合、ホスト106は、データパケットの宛先MACアドレスとしてホスト107のMACアドレスを使用することを意図する。従って、データパケットを送信する前に、ホスト106は、まずブロードキャストドメインにおけるホスト107のMACアドレスを要求するために使用される第2のパケットをブロードキャストする。例えば、第2のパケットは、インターネットプロトコルバージョン4(英語:Internet Protocol version 4、略してIPv4)におけるアドレス解決プロトコル(英語:address resolution protocol、略してARP)要求パケットであってもよい。例えば、インターネットプロトコルバージョン6(英語:Internet Protocol version 6、略してIPv6)では、第2のパケットは、インターネット制御メッセージプロトコル(英語:Internet Control Message Protocol、略してICMP)における近隣探索プロトコル(英語:Neighbor Discovery Protocol:略してNDP)であってもよい。第1のゲートウェイ101は、第2のパケットを受信した後、第2のパケットの応答パケットをプロキシ(英語:proxy)メカニズムを使用してホスト106に送信し、ホスト107のIPアドレスに対応するMACアドレスは第1のゲートウェイ101のMACアドレスであることをホスト106に知らせる。ホスト106は、第1ゲートウェイ101のMACアドレスを第1パケットのMACアドレスとして使用し、かつ第1のパケットを第1ゲートウェイ101に送信する。
従って、ホスト106およびホスト107が同一のブロードキャストドメインに属するか否かに関わらず、データパケットをホスト107に送信するとき、ホスト106は、第1ゲートウェイ101のMACアドレスをデータパケットのMACアドレスとして使用する。データパケットを受信した後、第1のゲートウェイ101は、データパケットを受信するポートに基づいて、データパケットのVXLANネットワーク識別子(英語:VXLAN Network Identifier、略してVNI)を判定する。VNIは、VXLANセグメント識別子(英語:VXLAN Segment ID)とも呼ばれる。第1ゲートウェイ101には、複数のVNIのそれぞれと転送テーブルとの対応が記憶されている。第1ゲートウェイ101は、第1パケットのVNIに基づいて転送テーブルを判定する。BGPプロトコルを使用して第2のゲートウェイ102によって通知されるホスト107のホストルートは、転送テーブルに予め記憶されている。ホストルートはホスト107のアドレスを含み、かつホスト107のアドレスに対応する次のホップは第2ゲートウェイ102である。第1ゲートウェイ101は、VXLANトンネルを使用して第2ゲートウェイ102にデータパケットを送信する。すなわち、第1のゲートウェイ101は、データパケットにVXLANカプセル化を実行する。特に、第1のゲートウェイ101は、VXLANヘッダ(英語:VXLAN header)、外部ユーザデータグラムプロトコル(英語:User Datagram Protocol、略してUDP)ヘッダ(英語:outer UDP header)および外部IPヘッダ(英語:outer IP header)を、データパケットの外側層に順番にカプセル化する。VXLANヘッダ内のVNIは、データパケットのVNIであり、かつ外部IPヘッダ内の宛先IPアドレスは、第2のゲートウェイ102のIPアドレスである。他のフィールドのカプセル化については、コメント要求(英語:Request for Comments、略してRFC)7348プロトコルを参照されたい。
VXLANカプセル化が実行されたデータパケットを受信した後、第2のゲートウェイ102は、パケットのVXLANヘッダ内のVNIに基づいて転送テーブルを判定する。VXLANセグメント内のホストのIPアドレスとMACアドレスと間の対応は転送テーブルに記憶されている。第2のゲートウェイ102は、転送テーブル内のホスト107のMACアドレスを発見し、かつデータパケットをホスト107に送信する。
この解決策では、第1のゲートウェイ101は、転送テーブル内に、別のゲートウェイを使用してネットワークにアクセスするすべてのホストルートを予め記憶している必要がある。DCNが大量のホストを含む場合、膨大な量のホストルートが存在する。いくつかのホストは相互に通信する必要がないことがあるため、いくつかのホストルートは、第1のゲートウェイ101によって所望されないことがある。第1のゲートウェイ101によって所望されないホストルートを記憶していることは、転送テーブルのストレージリソースを占有する。
本願の実施形態は、要求に基づいてルートを取得する方法を提供する。方法は、実際のパケット転送要求に基づいて分散型ゲートウェイのネットワークアーキテクチャにおいてルートを取得するために使用され、それによって、転送テーブルのストレージリソースを節約することができる。
図2は、本願の実施形態による要求に基づいてルートを取得する方法を示す。例えば、方法は、図1に示される分散型ゲートウェイに適用されてもよい。図2に示される方法における第1のゲートウェイは、図1に示される第1のゲートウェイ101であってもよい。図2に示される方法における第2のゲートウェイは、図1に示される第2のゲートウェイ102であってもよい。方法は以下のステップを含む。
S201: 第1のゲートウェイは、第1のパケットを受信し、第1のパケットは、第1のIPアドレスを含む。
第1のIPアドレスによって識別されるホストは、第1のパケットの送信者ではない。例えば、第1のパケットは第1のホストからのものであるが、第1のIPアドレスによって識別されるホストは第2のホストである。
例えば、第1のパケットは、図1に示される第1のゲートウェイ101にホスト106によって送信されたパケットである。
可能な実施例では、第1のパケットはデータパケットである。第1のIPアドレスは、第1のパケット内の宛先IPアドレス(英語:destination IP address)である。例えば、第1のパケットは、ホスト106によってホスト107に送信されるデータパケットである。宛先IPアドレスは、ホスト107のIPアドレスである。
別の可能な実施例では、第1のパケットはARPパケットであり、かつ第1のIPアドレスは第1のパケットのターゲットプロトコルアドレス(英語:target protocol address、略してTPA)である。例えば、ホスト106はIPv4に基づいてデータパケットをホスト107に送信することを意図しており、かつホスト106およびホスト107は同一のブロードキャストドメインに属する。データパケットをホスト107に送信する前に、ホスト106は、まず、ARPパケットをブロードキャストして、ホスト107のMACアドレスを取得する。
さらに別の可能な実施例では、第1のパケットはNDPパケットであり、かつ第1のIPアドレスは第1のパケットのターゲットアドレス(英語:target address)である。例えば、ホスト106は、IPv6に基づいてホスト107にデータパケットを送信することを意図しており、かつホスト106およびホスト107は同一のブロードキャストドメインに属する。データパケットをホスト107に送信する前に、ホスト106は、まず、NDPパケット(例えば、近隣要請(英語:Neighbor Solicitation))を送信して、ホスト107のMACアドレスを取得する。
S202: 第1のゲートウェイは、第1のIPアドレスの次のホップを求めて転送テーブルを検索し、該検索は失敗する。
本願では、複数のIPアドレスと、複数のIPアドレスのそれぞれの次のホップとが転送テーブルに記憶されている。例えば、ホストが別のゲートウェイ(例えば、第2のゲートウェイ)を使用してネットワークにアクセスするとき、転送テーブルに記憶されたIPアドレスの次のホップは、ゲートウェイ(例えば、第2のゲートウェイ)のIPアドレスを含んでもよい。すなわち、ホストのIPアドレスからゲートウェイ(たとえば、第2ゲートウェイ)のIPアドレスへのマッピングが転送テーブルに記憶されている。例えば、ホストが転送テーブルを記憶するゲートウェイ(例えば、第1のゲートウェイ)を使用してネットワークにアクセスするとき、転送テーブルに記憶されたIPアドレスの次のホップは、ホストのMACアドレスを含んでもよい。すなわち、ホストのIPアドレスからホストのMACアドレスへのマッピングが転送テーブルに記憶されている。さらに、IPアドレスの次のホップのアウトバウンドインターフェイス識別子が、転送テーブルにさらに記憶されてもよい。
例えば、転送テーブルは、ルーティング情報ベース(英語:routing information base、略してRIB)または転送情報ベース(英語:forwarding information base、略してFIB)であってもよい。
任意選択で、S201とS202との間で、第1のゲートウェイは、以下のステップ、すなわち、第1のゲートウェイが第1のパケットの第1のVNIを判定するというステップをさらに実行してもよい。
例えば、第1のゲートウェイは、第1のパケットを受信するポートを判定し、第1のゲートウェイは、ポートと仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIとの間のマッピングに基づいて、第1のパケットのVNIを判定し、かつ第1のゲートウェイは、VNIに基づいてVNIの転送テーブルを判定する。
特に、異なるVNIによって識別されるVXLANセグメント内のホストは、互いに通信できない。第1のゲートウェイは、複数の転送テーブルおよび各VNIから転送テーブルへのマッピングを記憶している。例えば、各転送テーブルは、仮想ルーティングおよび転送(英語:virtual routing and forwarding、略してVRF)インスタンス(英語:instance)である。
第1のゲートウェイは、第1のIPアドレスの次のホップを求めて転送テーブルを検索し、該検索が失敗することは、第1のゲートウェイが、転送テーブル内に、第1のパケット内のIPアドレスの次のホップを発見しないことを意味する。
S203: 第1のゲートウェイは、第2のパケットを少なくとも1つのゲートウェイに送信し、第2のパケットは第1のIPアドレスを搬送し、かつ第2のパケットは、第2のパケットを受信するゲートウェイに、第1のIPアドレスによって識別されるホストが第2のパケットを受信するゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用される。
可能な実施例では、第1のゲートウェイは、第1のパケットのVNIを有するゲートウェイを求めて複数のVNIから複数のゲートウェイへのマッピングテーブルを検索してもよい。マッピングテーブルには、第1のパケットのVNIから少なくとも1つのゲートウェイへのマッピングが記憶されている。少なくとも1つのゲートウェイは、VNIによって識別されるホストがローカルエリアネットワークにおいて接続することを許可されたゲートウェイである。第1のゲートウェイは、検索の結果に従って、第1のパケットのVNIを有する少なくとも1つのゲートウェイを判定する。
別の可能な実施例では、第1のゲートウェイは、第2のパケットをローカルエリアネットワークにおけるすべてのゲートウェイに送信する。
例えば、第1のゲートウェイおよび少なくとも1つのゲートウェイは、図1におけるBGPピアであってもよい。第2のパケットは、BGPパケットであってもよい。また、第2のパケットは、BGPで定義された更新(英語:update)パケットであってもよい。第1のIPアドレスは、更新パケットのパス属性(英語:Path Attribute)フィールドに保持されてもよい。特に、タイプは、第2のパケットを識別するために、パス属性フィールドのタイプ・長さ・値(英語:Type-Length-Value、略してTLV)で定義される。第1のIPアドレスは値フィールドにおいて搬送される。
任意選択で、第2のパケットは、第1のパケットのVNIをさらに搬送する。例えば、第1のパケットのVNIおよび第1のIPアドレスは、両方とも更新パケットのパス属性フィールドで搬送される。
任意選択で、第2のパケットは、第1のIPアドレスのブロードキャストドメイン識別子をさらに搬送する。例えば、第1のゲートウェイは、複数のIPサブネットセグメントとブロードキャストドメインとの間の対応関係を記憶している。第1のゲートウェイは、第1のIPアドレスに対応するブロードキャストドメインに基づいてブロードキャストドメイン識別子を取得する。例えば、ブロードキャストドメイン識別子、第1のパケットのVNI、および第1のIPアドレスは、更新パケットのパス属性フィールドにすべて含まれる。
S301: 第2のゲートウェイは、第1のゲートウェイから第2のパケットを受信し、かつ第2のゲートウェイは、第2のパケットにおいて搬送された第1のIPアドレスによって識別されるホストのMACアドレスは取得可能であると判定する。
任意選択で、第2のパケットが第1のパケットのVNIをさらに搬送する場合、第2のゲートウェイは、第2のパケットにおいて搬送された第1のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定することは、VNIに対応するVXLANセグメント内の第2のゲートウェイによって、第1のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定することを特に含む。
例えば、第2のゲートウェイが、第2のパケットにおいて搬送された第1のIPアドレスによって識別されるホストのMACアドレスを取得することは、第2のゲートウェイによって、第1のIPアドレスに対応するMACアドレスを求めて、IPアドレスとMACアドレスとの間の複数の記憶されたマッピングテーブルを検索することを含んでもよい。例えば、第1のIPアドレスによって識別されるホストは、ホスト107であり、かつ第1のIPアドレスに対応し、かつマッピングテーブルに記憶されているMACアドレスは、ホスト107のMACアドレスである。第2のゲートウェイへの接続を確立するとき、ホスト107は、ホスト107のMACアドレスを第2のゲートウェイに送信する。第2のゲートウェイは、ホスト107のMACアドレスとIPアドレスとの間の対応関係を、IPアドレスとMACアドレスとの間の複数のマッピングテーブルに保存する。第2のパケットがさらに第1のパケットのVNIを搬送する場合、第2のゲートウェイは、VNIと、IPアドレスおよびMACアドレス間の複数のマッピングテーブルとの間の対応関係をさらに記憶している。IPアドレスとMACアドレスとの間の複数のマッピングテーブルには、VNIに対応するVXLANセグメント内のIPアドレスとMACアドレスとの間のマッピングが記憶されている。
例えば、第2のゲートウェイは、第2のパケットにおいて搬送された第1のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定することは、第2のゲートウェイによって、第2のゲートウェイを使用して、ネットワークにアクセスするホストへの要求パケットをブロードキャストすることをさらに含んでもよい。要求パケットは、ホスト107のMACアドレスを要求するために使用される。例えば、要求パケットは、図1に示されるように、IPv4プロトコルにおけるARPパケットであってもよく、または、IPv6におけるNDPパケットであってもよい。第2のゲートウェイは、要求パケットに対するホスト107の応答に基づいて、第1のIPアドレスに対応するMACアドレスを取得する。第2のパケットが第1のパケットのVNIをさらに搬送する場合、要求パケットをブロードキャストするとき、第2のゲートウェイは、VNIに基づいて、要求パケットをブロードキャストするポートを判定し、かつVNIに対応するVXLANセグメント内のホストに要求パケットをブロードキャストする。第2のパケットが、S202で第2のパケットがさらにブロードキャストドメイン識別子をさらに搬送する場合、要求パケットをブロードキャストするときに、第2のゲートウェイは、VNIおよびブロードキャストドメイン識別子の両方に従って、要求パケットをブロードキャストするポートを判定し、かつ、VNIに対応するVXLANセグメントにあり、かつブロードキャストドメインに属するホストに要求パケットをブロードキャストする。
S302: 第2のゲートウェイは、第3のパケットを第1のゲートウェイに送信し、第3のパケットは、第2のIPアドレスによって識別されるホストに、第1のゲートウェイを使用してネットワークにアクセスするよう指示するために使用される。
例えば、第3のパケットは、BGPパケットであってもよい。特に、第3のパケットは、第2のパケットと同一のパケットフォーマットを使用してもよい。例えば、両方のパケットはBGP内の更新パケットである。第3のパケットにおいて搬送されるパス属性フィールドの値フィールドは、第2のパケットの値フィールドと同一である。タイプフィールドは、第3のパケットのタイプを識別するための識別子を定義する。
S204: 第1のゲートウェイは、第2のゲートウェイから第3のパケットを受信し、第3のパケットは、第1のIPアドレスによって識別されるホストに、第2のゲートウェイを使用してネットワークにアクセスするよう指示するために使用され、かつ第1のゲートウェイは、第2のゲートウェイのアドレスを、第1のIPアドレスの次のホップアドレスとして転送テーブルに書き込む。
特に、第3のパケットは、第3のパケットを送信するゲートウェイのソースアドレスを搬送し、かつ第1のゲートウェイは、第3のパケット内のソースアドレスに基づいて第2のゲートウェイを判定する。
例えば、第1のパケットは、データパケットであり、かつ方法は、S205、すなわち第1のゲートウェイが、第1のパケットにVXLANカプセル化を実行して、カプセル化された第1のパケットを取得し、かつ第1のゲートウェイがカプセル化された第1のパケットを送信するというステップをさらに含む。カプセル化された第1のパケットのVXLANヘッダにおけるVNIフィールドの値は、第1のパケットのVNIであり、かつカプセル化された第1のパケットの外部IPヘッダの宛先IPアドレスは、第2のゲートウェイのIPアドレスである。
例えば、第1のパケットは、第1のゲートウェイから、第1のIPアドレスによって識別されるホストのMACアドレス、例えばARPパケットまたはNDPパケットを要求するためにホスト106によって使用されるパケットである。方法は、第1のゲートウェイによって、第1のゲートウェイのMACアドレスをホスト106に送信するステップをさらに含む。
任意選択で、IPアドレス(例えば、第2のIPアドレス)によって識別されるホストが第1のゲートウェイを使用してネットワークにアクセスするか否かを判定するための別のゲートウェイの要求に応答して、第1のゲートウェイはさらに、IPアドレスによって識別されるホストが、第1のゲートウェイを使用してネットワークにアクセスするか否かを判定してもよい。第1のゲートウェイによって、IPアドレスによって識別されるホストが第1のゲートウェイを使用してネットワークにアクセスするか否かを判定するステップは、第2のゲートウェイによって、第1のIPアドレスによって識別されるホストが第1のゲートウェイを使用してネットワークにアクセスするか否かを判定するS301およびS302と同様である。例えば、図3に示されるように、第1のゲートウェイが第3のゲートウェイからの第4のパケットであって、第1のゲートウェイに、第2のIPアドレスによって識別されるホストが第1のゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用される第4のパケットを受信する場合、方法は、S401、S402、およびS403をさらに含む。
S401: 第1のゲートウェイは、第4のパケットを第3のゲートウェイから受信し、第4のパケットは第2のIPアドレスを搬送する。
S402: 第1のゲートウェイは、第2のIPアドレスに対応するMACアドレスを取得する。
S403: 第1のゲートウェイは、第5のパケットを第3のゲートウェイに送信し、第5のパケットは、第3のゲートウェイに、第2のIPアドレスの次のホップアドレスとして第1のゲートウェイのアドレスを使用するよう指示するために使用される。
S401およびS402では、第4のパケットにおいて搬送された第2のIPアドレスに基づいて第1のゲートウェイによって、第2のIPアドレスに対応するMACアドレスを取得するステップの特定の実装は、図2に示されるS301において、第2のパケットにおいて搬送された第1のIPアドレスに基づいて第2のゲートウェイによって、第1のIPアドレスに対応するMACアドレスを取得するステップの特定の実装を使用してもよい。
S403では、第1のゲートウェイによって第3のゲートウェイに第5のパケットを送信する特定の実装は、図2に示されるS302において、第2のゲートウェイによって第3のパケットを第1のゲートウェイに送信する特定の実装を使用してもよい。
図4は、本願の実施形態による第1のゲートウェイの概略構成図である。図4に示されるように、第1のゲートウェイ500は、プロセッサ501と、メモリ502と、ネットワークインターフェース503とを含む。
メモリ502は、転送テーブルを記憶するように構成される。例えば、メモリ502は、コンテンツアドレス可能メモリ(英語:content-addressable memory、略してCAM)、例えば3値コンテンツアドレス可能メモリ(英語:ternary CAM、略してTCAM)、およびランダムアクセスメモリ(英語:random-access memory、略してRAM)を含んでもよいが、これらに限定されない。
ネットワークインターフェース503は、ファイバ分散データインタフェース(英語:Fiber Distributed Data Interface、略してFDDI)またはイーサネット(登録商標)(英語:Ethernet)インタフェースなどの有線インタフェースであってもよい。あるいは、ネットワークインターフェース503は、無線インタフェース、例えば、無線ローカルエリアネットワークインタフェースであってもよい。
プロセッサ501は、中央処理装置(英語:central processing unit、略してCPU)、ネットワークプロセッサ(英語:network processor、略してNP)、特定用途向け集積回路(英語:application-specific integrated circuit、略してASIC)、またはプログラマブルロジックデバイス(英語:programmable logic device、略してPLD)の1つ以上を含んでもよいが、これらに限定されない。PLDは、複雑なプログラマブルロジックデバイス(英語:complex programmable logic device、略してCPLD)、フィールドプログラマブルゲートアレイ(英語:field-programmable gate array、略してFPGA)、ジェネリックアレイロジック(英語:generic array logic、略してGAL)、またはこれらの任意の組合せを含んでもよい。
メモリ502は、プロセッサ501に統合されてもよい。メモリ502とプロセッサ501が相互に独立したデバイスである場合、メモリ502はプロセッサ501と通信する。例えば、メモリ502は、バスを使用してプロセッサ501と通信してもよい。ネットワークインターフェース503は、バスを使用してプロセッサ501と通信してもよく、またはネットワークインターフェース503は、プロセッサ501に直接接続されてもよい。プロセッサ501は、以下の動作を実行するように構成される:
ネットワークインターフェース503を使用して第1のパケットを受信するステップであって、第1のパケットは第1のインターネットプロトコルIPアドレスを含む、ステップと、
第1のIPアドレスの次のホップを求めて、メモリ502に記憶された転送テーブルを検索するステップであって、該検索は失敗する、ステップと、
ネットワークインターフェース503を使用して、第2のパケットを少なくとも1つのゲートウェイに送信するステップであって、第2のパケットは第1のIPアドレスを搬送し、かつ第2のパケットは、第2のパケットを受信するゲートウェイに、第1のIPアドレスによって識別されるホストが第2のパケットを受信するゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用される、ステップと、
ネットワークインターフェース503を使用して、第3のパケットを第2のゲートウェイから受信するステップであって、第2のゲートウェイは少なくとも1つのゲートウェイの1つであり、かつ第3のパケットは、第1のIPアドレスによって識別されるホストに、第2のゲートウェイを使用してネットワークにアクセスするよう指示するために使用される、ステップと、
第2のゲートウェイのアドレスを、第1のIPアドレスの次のホップアドレスとしてメモリに記憶された転送テーブルに書き込むステップ。
例えば、プロセッサ501は、NPおよびCPUを含んでもよい。NPはバスを使用してCPUと通信する。NPは、転送プレーン動作を実行するように構成され、かつCPUは、制御プレーン動作を実行するように構成される。特に、NPは、ネットワークインターフェース503を使用して第1のパケットを受信し、かつ第1のパケット内のIPアドレスの次のホップを求めて、メモリ502に記憶された転送テーブルを検索する。NPが、第1のパケット内のIPアドレスの次のホップ検索し、該検索が失敗した後、NPはバスを使用してIPアドレスをCPUに送信する。特に、NPが次ホップを検索するとき、1つの可能な方法は、メモリがRAMである場合、NPはメモリ内の転送テーブルに関する情報を読み出し、かつ第1のIPアドレスの次のホップを検索してもよい。別の可能な方法は、メモリがCAMである場合、NPは第1のIPアドレスをメモリに送信し、かつ第1のIPアドレスに一致するエントリを求めて転送テーブルを検索するようメモリに指示し、ここで第1のIPアドレスの次のホップは、エントリに記憶されている。メモリは、検索結果をNPに送信する。次のホップを検索し、該検索が失敗することは、NPが、転送テーブル内に、第1のIPアドレスに一致するエントリを発見しないことを意味してもよい。次のホップを検索し、該検索が失敗することは、メモリが検索失敗の結果をNPに送信することを意味してもよい。例えば、転送テーブルは汎用エントリを含み、かつ第1のIPアドレスが転送テーブル内のエントリと一致しないとき、メモリは検索の結果としてNPに汎用エントリを送信する。CPUは、第2のパケットを生成し、かつネットワークインターフェース503を使用して、第2のパケットを少なくとも1つのゲートウェイに送信する。さらに、CPUは、ネットワークインターフェース503を使用して、第2のゲートウェイから第3のパケットを受信し、かつ第1のIPアドレスの次のホップアドレスとしての第2のゲートウェイのアドレスを使用する。CPUは、バスを使用して、第1のIPアドレスと、第1のIPアドレスの次のホップアドレスとをNPに送信する。NPは、第1のIPアドレスと、第1のIPアドレスの次のホップアドレスとをメモリ501に記憶された転送テーブルに書き込む。
任意選択で、第1のパケット内のIPアドレスの次のホップを求めてメモリ502に記憶された転送テーブルを検索するステップの前に、プロセッサ501は、以下のステップ、すなわち、第1のパケットを受信するポートを判定するステップと、ポートからVNIへのマッピングに基づいて仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIを判定するステップと、VNIから転送テーブルへのマッピングに基づいて転送テーブルを判定するステップとをさらに実行する。例えば、これらのステップは、NPによって実行されてもよい。バス504を使用してIPアドレスをCPUに送信するとき、NPはVNIをCPUにさらに送信する。
任意選択で、第2のパケットはVNIをさらに搬送する。任意選択で、プロセッサ501が、ネットワークインターフェース503を使用して、第2のパケットを少なくとも1つのゲートウェイに送信する前に、プロセッサ501は、以下のステップ、すなわち、VNIを有するゲートウェイを求めて、複数のVNIから複数のゲートウェイへのマッピングテーブルを検索するステップと、検索の結果に基づいて少なくとも1つのゲートウェイを判定するステップとをさらに実行する。例えば、これらのステップは、CPUによって実行されてもよい。複数のVNIから複数のゲートウェイへのマッピングテーブルは、CPUの内部メモリに記憶されてもよい。
第1のパケットはデータパケットであり、第1のIPアドレスは、第1のパケットの宛先IPアドレスであり、かつプロセッサは、以下のステップ、すなわち、第1のパケットにVXLANカプセル化を実行し、第3のパケットを取得するステップと、ネットワークインターフェースを使用して、第3のパケットを送信するステップとをさらに実行する。第3のパケットのVXLANヘッダにおけるVNIフィールドの値はVNIであり、かつ第3のパケットの外部IPヘッダの宛先IPアドレスは、第2のゲートウェイのIPアドレスである。例えば、これらのステップは、NPによって実行されてもよい。
任意選択で、第1のパケットは、アドレス解決プロトコルARPパケットであり、かつ第1のIPアドレスは第1のパケットのターゲットIPアドレスTPAである。あるいは、第1のパケットは、近隣探索プロトコルNDPパケットであり、かつIPアドレスは第1のパケットのターゲットアドレスTarget Addressである。
任意選択で、プロセッサ501は、以下のステップ、すなわち、ネットワークインターフェース503を使用して、第4のパケットを第3のゲートウェイから受信するステップであって、第4のパケットは第2のIPアドレスを搬送する、ステップと、第2のIPアドレスに対応するMACアドレスを取得するステップと、ネットワークインターフェースを使用して、第5のパケットを第3のゲートウェイに送信するステップであって、第5のパケットは、第3のゲートウェイに、第2のIPアドレスの次のホップアドレスとして第1のゲートウェイのアドレスを使用するよう指示するために使用される、ステップとをさらに実行する。例えば、これらのステップは、CPUによって実行されてもよい。
任意選択で、第4のパケットは、仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIをさらに搬送する。プロセッサ501が第2のIPアドレスに対応するMACアドレスを取得することは、プロセッサ501によって、VNIに対応するVXLANセグメントにおいて、第2のIPアドレスに対応するMACアドレスを取得するステップを特に含む。例えば、このステップは、CPUによって実行されてもよい。
この実施形態に提供される第1のゲートウェイ500は、図2および図3における実施形態の方法に適用され、第1のゲートウェイの機能を実装してもよい。第1のゲートウェイによって実装され得る他の追加機能および別のゲートウェイとの相互作用プロセスについては、方法の実施形態における第1のゲートウェイに関する説明を参照されたく、詳細はここでは再度説明しない。
図5は、本願の実施形態による別の第1のゲートウェイの概略構成図である。図5に示されるように、第1のゲートウェイ600は、第1の受信ユニット601と、記憶ユニット602と、検索ユニット603と、送信ユニット604と、第2の受信ユニット605と、処理ユニット606とを含む。
第1の受信ユニット601は、第1のパケットを受信するように構成され、第1のパケットは第1のインターネットプロトコルIPアドレスを含む。
記憶ユニット602は、転送テーブルを記憶するように構成される。
検索ユニット603は、第1の受信ユニット601によって受信された第1のパケットを取得し、かつ第1のIPアドレスの次のホップを求めて、記憶ユニット602に記憶された転送テーブルを検索するように構成され、該検索は失敗する。
送信ユニット604は、検索ユニット603が第1のIPアドレスの次のホップを検索し、該検索が失敗した後、第2のパケットを少なくとも1つのゲートウェイに送信するように構成され、第2のパケットは第1のIPアドレスを搬送し、かつ第2のパケットは、第2のパケットを受信するゲートウェイに、第1のIPアドレスによって識別されるホストが第2のパケットを受信するゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用される。
第2の受信ユニット605は、第3のパケットを第2のゲートウェイから受信するように構成され、第2のゲートウェイは少なくとも1つのゲートウェイの1つであり、かつ第3のパケットは、第1のIPアドレスによって識別されるホストに、第2のゲートウェイを使用してネットワークにアクセスするよう指示するために使用される。
処理ユニットは、第2の受信ユニットによって受信された第3のパケットを取得し、かつ第3のパケットに基づいて第1のIPアドレスの次のホップアドレスとして、第2のゲートウェイのアドレスを、記憶ユニットに記憶された転送テーブルに書き込むように構成される。
任意選択で、第2のパケットは、第1のパケットの第1の仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIをさらに搬送し、かつ検索ユニット603は、送信ユニットが第2のパケットを少なくとも1つのゲートウェイに送信する前に、第1のパケットの第1のVNIを判定するようにさらに構成される。
任意選択で、第1のパケットは、アドレス解決プロトコルARPパケットであり、かつ第1のIPアドレスは第1のパケットのターゲットIPアドレスTPAである。あるいは、第1のパケットは、近隣探索プロトコルNDPパケットであり、かつIPアドレスは第1のパケットのターゲットアドレスTarget Addressである。
任意選択で、第2の受信ユニット605は、第4のパケットを第3のゲートウェイから受信するようにさらに構成され、第4のパケットは第2のIPアドレスを搬送する。検索ユニット603は、第2の受信ユニット605によって受信された第4のパケットを取得し、かつ第4のパケットにおいて搬送された第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定するようにさらに構成される。送信ユニット604は、第5のパケットを第3のゲートウェイに送信するようにさらに構成され、第5のパケットは、第2のIPアドレスによって識別されるホストに、第1のネットワークを使用してネットワークにアクセスするよう指示するために使用される。
任意選択で、第4のパケットは第2のVNIをさらに搬送する。検索ユニット603は、第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定するように構成され、かつ第2のVNIによって識別されるVXLANセグメント内の第2のIPアドレスによって識別されるホストのMACアドレスを取得するよう試みるように特に構成される。
図5に示された第1のゲートウェイ600と、図4に示された第1のゲートウェイ500は、同一の装置であってもよい。例えば、両方とも図2および図3に示された方法における第1のゲートウェイである。図4は、物理的に第1のゲートウェイに含まれるコンテンツを示し、かつ図5は、論理的に第1のゲートウェイに含まれるコンテンツを示していると考えられてもよい。任意選択で、図5に示された第1の受信ユニット601と、第2の受信ユニット602と、送信ユニット604とが、図4に示されるネットワークインターフェース503を使用して、実装されてもよい。図5に示された検索ユニット603および処理ユニット606が、図4に示されたプロセッサ501を使用して実装されてもよい。図5に示された記憶ユニット602が、図4に示されたメモリ602を使用して実装されてもよい。
本明細書の実施形態はすべて、実施形態における同一または類似の部分については漸進的に記載され、これらの実施形態を参照し、かつ各実施形態は他の実施形態との差異に焦点を当てている。特に、システムの実施形態は基本的に方法の実施形態に類似しているので、簡単に説明されている。関連する部分については、方法の実施形態における部分的な説明を参照されたい。
明らかに、当業者は、本願の範囲から逸脱することなく、本願に対して様々な変更および変形を行うことができる。本願は、添付の特許請求の範囲およびそれらに相当する技術によって定義される保護の範囲内にある限り、提供される本願のこれらの変更および変形を包含することを意図している。
101 第1のゲートウェイ
102 第2のゲートウェイ
103 第3のゲートウェイ
104 ルータ
105 ルータ
106 ホスト
107 ホスト
500 第1のゲートウェイ
501 プロセッサ
502 メモリ
503 ネットワークインターフェース
600 第1のゲートウェイ
601 第1の受信ユニット
602 記憶ユニット
603 検索ユニット
604 送信ユニット
605 第2の受信ユニット
606 処理ユニット
本願は、2016年1月18日に中国特許庁に出願された、「METHOD AND GATEWAY FOR OBTAINING ROUTE ACCORDING TO REQUIREMENT」という名称の中国特許出願第201610031655.4号の優先権を主張するものであり、参照によりその全体が本明細書に組み込まれる。
本発明は、通信分野に関し、特に、要求に基づいてルートを取得する方法及びゲートウェイに関する。
分散型ゲートウェイのネットワークアーキテクチャでは、ローカルエリアネットワーク(英語:local area network、略してLAN)は複数のゲートウェイを含む。ホストがそのゲートウェイを変更するとき、ホストのメディアアクセス制御(英語:Media Access Control、略してMAC)アドレスとインターネットプロトコル(英語:Internet Protocol、略してIP)アドレスは変更されない。分散型ゲートウェイアーキテクチャにおけるパケット転送方式は、パケットを送信するホストとパケットを受信するホストが同一のブロードキャストドメイン(英語:broadcast domain、略してBD)に位置するか否かに関わらず、送信側ホストはパケットを送信側ホストのゲートウェイに送信し、ゲートウェイはパケットの宛先IPアドレスに基づいて受信側ホストにパケットを送信する。受信側ホストは、ローカルエリアネットワーク内の別のゲートウェイを使用してネットワークにアクセスしてもよい。従って、送信側ホストのゲートウェイの転送テーブルは、ローカルエリアネットワーク内の別のゲートウェイを使用してネットワークにアクセスするすべてのホストのホストルートを含む必要がある。ローカルエリアネットワークが大量のホストを含むとき、大量のホストルートが転送テーブルの多くのストレージリソースを占有する。
本願は、要求に基づいてルートを取得する方法および装置を提供し、分散型ゲートウェイのネットワークアーキテクチャにおいて、実際のパケット転送要求に基づいてルートを取得し、それによって、転送テーブルのストレージリソースを節約することができる。
第1の態様によれば、要求に基づいてルートを取得する方法であって、
第1のゲートウェイによって、第1のパケットを受信するステップであって、第1のパケットは第1のインターネットプロトコルIPアドレスを含む、ステップと、
第1のゲートウェイによって、第1のIPアドレスの次のホップを求めて転送テーブルを検索するステップであって、該検索は失敗する、ステップと、
第1のゲートウェイによって、第2のパケットを少なくとも1つのゲートウェイに送信するステップであって、第2のパケットは第1のIPアドレスを搬送し、かつ第2のパケットは、第2のパケットを受信するゲートウェイに、第1のIPアドレスによって識別されるホストが第2のパケットを受信するゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用される、ステップと、
第1のゲートウェイによって、第3のパケットを第2のゲートウェイから受信するステップであって、第2のゲートウェイは少なくとも1つのゲートウェイの1つであり、かつ第3のパケットは、第1のIPアドレスによって識別されるホストに、第2のゲートウェイを使用してネットワークにアクセスするよう指示するために使用される、ステップと、
第1のゲートウェイによって、第2のゲートウェイのアドレスを、第1のIPアドレスの次のホップアドレスとして転送テーブルに書き込むステップと
を含む、方法が提供される。
第1のゲートウェイは、第1のパケット内のIPアドレスの次のホップを予め記憶している必要はないが、アクセスするホストに基づく要求に基づいてルートを取得してもよい。従って、ネットワークが大量のホストを含む場合、第1のゲートウェイは、第1のゲートウェイと通信する必要のないホストのIPアドレスの次のホップを記憶している必要がなくなり、それによって、転送テーブルのストレージリソースを節約することができる。
任意選択で、第2のパケットは、第1のパケットの第1の仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIをさらに搬送する。第1のゲートウェイによって、第2のパケットを少なくとも1つのゲートウェイに送信するステップの前に、方法は、第1のゲートウェイによって、第1のパケットの第1のVNIを判定するステップをさらに含む。
例えば、第1のゲートウェイによって、第1のVNIを判定するステップは、第1のゲートウェイによって、第1のパケットを受信するポートを判定するステップと、第1のゲートウェイによって、ポートから第1のVNIへのマッピングに基づいて、第1のVNIを判定するステップとを特に含む。第1のゲートウェイが第1のパケット内のIPアドレスの次ホップを求めて転送テーブルを検索する前に、方法は、第1のゲートウェイによって、第1のVNIから転送テーブルへのマッピングに基づいて転送テーブルを判定するステップをさらに含む。
任意選択で、方法は、第1のゲートウェイによって、第4のパケットを第3のゲートウェイから受信するステップであって、第4のパケットは、第2のIPアドレスを搬送する、ステップと、第1のゲートウェイによって、第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定するステップと、第1のゲートウェイによって、第5のパケットを第3のゲートウェイに送信するステップであって、第5のパケットは、第2のIPアドレスによって識別されるホストに、第1のゲートウェイを使用してネットワークにアクセスするよう指示するために使用される、ステップとをさらに含む。任意選択で、第4のパケットは第2のVNIをさらに搬送し、かつ第1のゲートウェイによって、第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定するステップは、第1のゲートウェイによって第2のVNIによって識別されるVXLANセグメント内の第2のIPアドレスによって識別されるホストのMACアドレスを取得するよう試みるステップを含む。
任意選択で、第1のゲートウェイによって、第2のパケットを少なくとも1つのゲートウェイに送信するステップの前に、方法は、複数のVNIから複数のゲートウェイへのマッピングテーブルに基づいて、第1のゲートウェイによって、VNIに対応する少なくとも1つのゲートウェイを判定するステップをさらに含む。
任意選択で、第1のパケットは、データパケットであり、第1のIPアドレスは、第1のパケットの宛先IPアドレスであり、方法は、第1のゲートウェイによって、第1のパケットにVXLANカプセル化を実行して、第6のパケットを取得するステップと、第1のゲートウェイによって、第6のパケットを送信するステップとをさらに含み、第6のパケットのVXLANヘッダにおけるVNIフィールドの値はVNIであり、かつ第6のパケットの外部IPヘッダの宛先IPアドレスは第2のゲートウェイのIPアドレスである。
第2の態様によれば、ネットワークデバイスであって、
プロセッサと、メモリと、ネットワークインターフェースとを含み、メモリは、転送テーブルを記憶するように構成され、かつプロセッサは、
ネットワークインターフェースを使用して第1のパケットを受信し、第1のパケットは第1のインターネットプロトコルIPアドレスを含み、
第1のIPアドレスの次のホップを求めてメモリに記憶された転送テーブルを検索し、該検索は失敗し、
ネットワークインターフェースを使用して、第2のパケットを少なくとも1つのゲートウェイに送信し、第2のパケットは第1のIPアドレスを搬送し、かつ第2のパケットは、第2のパケットを受信するゲートウェイに、第1のIPアドレスによって識別されるホストが第2のパケットを受信するゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用され、
ネットワークインターフェースを使用して、第3のパケットを第1のゲートウェイから受信し、第1のゲートウェイは少なくとも1つのゲートウェイの1つであり、かつ第3のパケットは、第1のIPアドレスによって識別されるホストに、第1のゲートウェイを使用してネットワークにアクセスするよう指示するために使用され、かつ
第1のゲートウェイのアドレスを、第1のIPアドレスの次のホップアドレスとしてメモリに記憶された転送テーブルに書き込む
ように構成された、ネットワークデバイスが提供される。
この態様の技術的効果は、第1の態様のそれと同一である。
任意選択で、第2のパケットは、第1のパケットの第1の仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIをさらに搬送し、かつプロセッサは、第2のパケットを少なくとも1つのゲートウェイに送信する前に、第1のパケットの第1のVNIを判定するようにさらに構成される。
任意選択で、プロセッサは、ネットワークインターフェースを使用して、第4のパケットを第2のゲートウェイから受信し、第4のパケットは第2のIPアドレスを搬送し、第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定し、かつネットワークインターフェースを使用して、第5のパケットを第2のゲートウェイに送信し、第5のパケットは、第2のIPアドレスによって識別されるホストに、第1のゲートウェイを使用してネットワークにアクセスするよう指示するために使用される、ようにさらに構成される。
任意選択で、第4のパケットは第2のVNIをさらに搬送し、かつ第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定することは、
第2のVNIによって識別されるVXLANセグメント内の第2のIPアドレスによって識別されるホストのMACアドレスを取得するよう試みることを特に含む。
第3の態様によれば、要求に基づいてルートを取得する第1のゲートウェイであって、第1の受信ユニットと、記憶ユニットと、検索ユニットと、送信ユニットと、第2の受信ユニットと、処理ユニットとを含み、
第1の受信ユニットは、第1のパケットを受信するように構成され、第1のパケットは第1のインターネットプロトコルIPアドレスを含み、
記憶ユニットは、転送テーブルを記憶するように構成され、
検索ユニットは、第1のIPアドレスの次のホップを求めて記憶ユニットに記憶された転送テーブルを検索するように構成され、
送信ユニットは、検索ユニットが第1のIPアドレスの次のホップを求めて記憶ユニットに記憶された転送テーブルを検索し、該検索が失敗した後、第2のパケットを少なくとも1つのゲートウェイに送信するように構成され、第2のパケットは第1のIPアドレスを搬送し、かつ第2のパケットは、第2のパケットを受信するゲートウェイに、第1のIPアドレスによって識別されるホストが第2のパケットを受信するゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用され、
第2の受信ユニットは、第3のパケットを第2のゲートウェイから受信するように構成され、第2のゲートウェイは少なくとも1つのゲートウェイの1つであり、かつ第3のパケットは、第1のIPアドレスによって識別されるホストに、第2のゲートウェイを使用してネットワークにアクセスするよう指示するために使用され、かつ
処理ユニットは、第2の受信ユニットによって受信された第3のパケットを取得し、かつ第3のパケットに基づいて第1のIPアドレスの次のホップアドレスとして、第2のゲートウェイのアドレスを、記憶ユニットに記憶された転送テーブルに書き込むように構成された、第1のゲートウェイが提供される。
この態様の技術的効果は、第1の態様のそれと同一である。
任意選択で、第2のパケットは、第1のパケットの第1の仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIをさらに搬送し、かつ検索ユニットは、送信ユニットが第2のパケットを少なくとも1つのゲートウェイに送信する前に、第1のパケットの第1のVNIを判定するようにさらに構成される。
任意選択で、第2の受信ユニットは、第4のパケットを第3のゲートウェイから受信するようにさらに構成され、第4のパケットは第2のIPアドレスを搬送し、検索ユニットは、第2の受信ユニットによって受信された第4のパケットを取得し、かつ第4のパケットにおいて搬送された第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定するようにさらに構成され、かつ送信ユニットは、第5のパケットを第3のゲートウェイに送信するようにさらに構成され、第5のパケットは、第2のIPアドレスによって識別されるホストに、第1のゲートウェイを使用してネットワークにアクセスするよう指示するために使用される。
任意選択で、第4のパケットは第2のVNIをさらに搬送し、かつ検索ユニットが第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定するように構成されることは、第2のVNIによって識別されるVXLANセグメント内の第2のIPアドレスによって識別されるホストのMACアドレスを取得するよう試みるよう特に構成される。
第4の態様によれば、コンピュータ記憶媒体が提供される。コンピュータ記憶媒体は、前述の第1のゲートウェイによって使用されるコンピュータソフトウェア命令を記憶するように構成され、かつ命令は、前述の態様を実行するように設計されたプログラムを含む。
任意選択で、第1の態様、第2の態様、第3の態様、または第4の態様のいずれかに基づいて、第1のパケットは、アドレス解決プロトコルARPパケットであり、かつ第1のIPアドレスは、第1のパケットのターゲットIPアドレスであり、または、第1のパケットは、近隣探索プロトコルNDPパケットであり、かつ第1のIPアドレスは、第1のパケットのターゲットアドレスである。
第1のゲートウェイがARPパケットまたはNDPパケットを受信するとき、第1のパケットを送信するホストは、第1のIPアドレスによって識別されるホストと通信しようとしている可能性があることを意味する。第1のゲートウェイは、第1のパケットを受信すると別のゲートウェイに、第1のIPアドレスを取得するために使用される次のホップを送信する。このようにして、通信要求を有しないホストのIPアドレスが記憶されていないときには、通信要求を有するホストのIPアドレスの次ホップを早く取得することができ、それによって、以降のパケット転送の効率が向上する。
本願の実施形態における技術的解決策をより明確に説明するために、以下に、実施形態を説明するために必要な添付図面を簡単に説明する。明らかに、以下の説明における添付図面は、本願のいくつかの実施形態を示しており、当業者は創造的な努力なしにこれらの添付図面からさらに他の図面を導き出すことができる。
本願の実施形態によるアプリケーションシナリオの概略図である。 本願の実施形態による要求に基づいてルートを取得する方法のフローチャートである。 本願の実施形態による要求に基づいてルートを取得する方法のフローチャートである。 本願の実施形態による第1のゲートウェイの概略構成図である。 本願の実施形態による別の第1のゲートウェイの概略構成図である。
本願の実施形態において説明されるアプリケーションシナリオは、本願の実施形態の技術的解決策をより明確に説明することであるが、本願の実施形態の技術的解決方法を限定するものではない。当業者であれば、ネットワークアーキテクチャが進化し、新たなビジネスシナリオが現れるとき、本願の実施形態で提供される技術的解決策は、同様の技術的問題にも適用可能であることを理解するであろう。
図1は、本願の実施形態によるアプリケーションシナリオの概略図である。データセンターネットワーク(英語:data center network、略してDCN)は、第1のゲートウェイ101と、第2のゲートウェイ102と、第3のゲートウェイ103とを含む。
ホスト106は、第1のゲートウェイ101、第2のゲートウェイ102、または第3のゲートウェイ103のいずれか1つを使用してDCNにアクセスしてもよい。同様に、ホスト107は、第1のゲートウェイ101、第2のゲートウェイ102、または第3のゲートウェイ103のいずれか1つを使用してDCNにアクセスしてもよい。例えば、ホストは、パーソナルコンピュータ(英語:personal computer)、携帯電話(英語:cellphone)、スマートフォン(英語:smartphone)、タブレットコンピュータ(英語:tablet computer)、ウェアラブルデバイス(英語:wearable device)、パーソナルデジタルアシスタント(英語:personal digital assistant、略してPDA)、モバイルインターネット装置(英語:mobile Internet device、略してMID)、電子ブックリーダー(英語:e-book reader)などであってもよいし、または仮想マシン(英語:virtual machine、略してVM)であってもよい。ホストが仮想マシンのとき、仮想マシンはサーバ上で実行できる。
ホスト、例えばホスト106が異なるゲートウェイを使用してDCNにアクセスするとき、ホスト106のMACアドレスもIPアドレスも変更されない。例えば、ホスト106は仮想マシンである。仮想マシンが第1のゲートウェイ101に接続されたサーバから第2のゲートウェイ102に接続されたサーバに移行するとき、仮想マシンのMACアドレスもIPアドレスも変更されない。従って、同一のブロードキャストドメイン(英語:ブロードキャストドメイン、略してBD)に位置するホストは、異なるゲートウェイを使用してネットワークにアクセスしてもよい。
ブロードキャストパケットの量を減らすために、前述の分散型ゲートウェイのネットワークアーキテクチャにおけるパケット転送方式は、ホスト106がホスト107にパケットを送信するプロセスにおいて、ホスト106およびホスト107が同一のブロードキャストドメイン内にあるか否かに関わらず、ホスト106は、ホスト107に送信されたパケットのMACアドレスとして、ホスト106のゲートウェイのMACアドレスを使用する。例えば、第1のゲートウェイ101を使用してDCNにアクセスするとき、ホスト106は、パケットを第1のゲートウェイ101に送信する。パケットを受信した後、第1のゲートウェイ101は、パケットのイーサネット(登録商標)フレームヘッダ(英語:Ethernet frame header)をはがしてパケット内の宛先IPアドレスを取得し、かつパケット内の宛先IPアドレスに基づいてパケットを転送する。
前述のパケット転送方式を使用するとき、ホスト106がホスト107にパケットを送信できるようにするためには、ホスト106に接続されている第1のゲートウェイ101は、ホスト107のホストルート(英語:host route)を転送テーブルに予め記憶している必要がある。ホストルートは、ホスト107のIPアドレスと、ホスト107のIPアドレスの次のホップ(英語:next hop)とを含む。すなわち、第1のゲートウェイ101は、ネットワークにアクセスするために、ホスト107によって現在使用されているゲートウェイを予め記憶している必要がある。例えば、図1では、第1のゲートウェイ101は、第2のゲートウェイ102を使用して、または第3のゲートウェイ103を使用して、ホスト107が現在、ネットワークにアクセスしているか否かを知る必要がある。
従って、ホスト107が第2のゲートウェイ102を使用してネットワークにアクセスするとき、第2のゲートウェイ102は、ホスト107のホストルートをDCN内の別のゲートウェイに通知(英語:advertise)する必要がある。例えば、ホストルートが、第1のゲートウェイ101および第3のゲートウェイ103に通知され、かつ第1のゲートウェイ101および第3のゲートウェイ103は、第2のゲートウェイ102としてホスト107のIPアドレスの次のホップを記憶する。
第1のゲートウェイ101、第2のゲートウェイ102、および第3のゲートウェイ103が、仮想拡張可能ローカルエリアネットワーク(英語: Virtual eXtensible Local Area Network、略してVXLAN)トンネルを使用してデータパケットを転送し、かつボーダーゲートウェイプロトコル(英語:Border Gateway Protocol、略してBGP)を使用してホストルートを通知する実施例を使用して、パケットの転送およびホストルートの通知のプロセスを以下に説明する。
第1のゲートウェイ101、第2のゲートウェイ102、および第3のゲートウェイ103は、ボーダーゲートウェイプロトコル(英語:Border Gateway Protocol、略してBGP)を使用して予め相互の接続を確立する。すなわち、第1のゲートウェイ101、第2のゲートウェイ102、および第3のゲートウェイ103のいずれか2つは、互いのBGPピア(英語:BGP peer)である。
ホスト107が第2のゲートウェイ102との接続を確立するとき、第2のゲートウェイ102は、BGPパケットを使用してDCN内の第1のゲートウェイ101および第3のゲートウェイ103などの他のゲートウェイにホスト107のホストルートを通知する。第1のゲートウェイ101は、ホスト107のホストルートをルーティングテーブルに保存し、かつ第2のゲートウェイ102をホスト107の次のホップとして使用する。
第1のゲートウェイ101、第2のゲートウェイ102、および第3のゲートウェイ103はすべてVXLANトンネルエンドポイント(英語:VXLAN Tunnel End Point、略してVTEP)である。
ホスト106およびホスト107が異なるブロードキャストドメインに属し、かつホスト106がホスト107にデータパケットを送信しようとする場合、ホスト106は、ホスト107のIPアドレスをデータパケットの宛先IPアドレスとして使用し、第1のゲートウェイのMACアドレスをデータパケットの宛先MACアドレスとして使用し、かつ第1のゲートウェイ101にデータパケットを送信する。
ホスト106およびホスト107が同一のブロードキャストドメインに属する場合、ホスト106は、データパケットの宛先MACアドレスとしてホスト107のMACアドレスを使用することを意図する。従って、データパケットを送信する前に、ホスト106は、まずブロードキャストドメインにおけるホスト107のMACアドレスを要求するために使用される第2のパケットをブロードキャストする。例えば、第2のパケットは、インターネットプロトコルバージョン4(英語:Internet Protocol version 4、略してIPv4)におけるアドレス解決プロトコル(英語:address resolution protocol、略してARP)要求パケットであってもよい。例えば、インターネットプロトコルバージョン6(英語:Internet Protocol version 6、略してIPv6)では、第2のパケットは、インターネット制御メッセージプロトコル(英語:Internet Control Message Protocol、略してICMP)における近隣探索プロトコル(英語:Neighbor Discovery Protocol:略してNDP)であってもよい。第1のゲートウェイ101は、第2のパケットを受信した後、第2のパケットの応答パケットをプロキシ(英語:proxy)メカニズムを使用してホスト106に送信し、ホスト107のIPアドレスに対応するMACアドレスは第1のゲートウェイ101のMACアドレスであることをホスト106に知らせる。ホスト106は、第1ゲートウェイ101のMACアドレスを第1パケットのMACアドレスとして使用し、かつ第1のパケットを第1ゲートウェイ101に送信する。
従って、ホスト106およびホスト107が同一のブロードキャストドメインに属するか否かに関わらず、データパケットをホスト107に送信するとき、ホスト106は、第1ゲートウェイ101のMACアドレスをデータパケットのMACアドレスとして使用する。データパケットを受信した後、第1のゲートウェイ101は、データパケットを受信するポートに基づいて、データパケットのVXLANネットワーク識別子(英語:VXLAN Network Identifier、略してVNI)を判定する。VNIは、VXLANセグメント識別子(英語:VXLAN Segment ID)とも呼ばれる。第1ゲートウェイ101には、複数のVNIのそれぞれと転送テーブルとの対応が記憶されている。第1ゲートウェイ101は、第1パケットのVNIに基づいて転送テーブルを判定する。BGPプロトコルを使用して第2のゲートウェイ102によって通知されるホスト107のホストルートは、転送テーブルに予め記憶されている。ホストルートはホスト107のアドレスを含み、かつホスト107のアドレスに対応する次のホップは第2ゲートウェイ102である。第1ゲートウェイ101は、VXLANトンネルを使用して第2ゲートウェイ102にデータパケットを送信する。すなわち、第1のゲートウェイ101は、データパケットにVXLANカプセル化を実行する。特に、第1のゲートウェイ101は、VXLANヘッダ(英語:VXLAN header)、外部ユーザデータグラムプロトコル(英語:User Datagram Protocol、略してUDP)ヘッダ(英語:outer UDP header)および外部IPヘッダ(英語:outer IP header)を、データパケットの外側層に順番にカプセル化する。VXLANヘッダ内のVNIは、データパケットのVNIであり、かつ外部IPヘッダ内の宛先IPアドレスは、第2のゲートウェイ102のIPアドレスである。他のフィールドのカプセル化については、コメント要求(英語:Request for Comments、略してRFC)7348プロトコルを参照されたい。
VXLANカプセル化が実行されたデータパケットを受信した後、第2のゲートウェイ102は、パケットのVXLANヘッダ内のVNIに基づいて転送テーブルを判定する。VXLANセグメント内のホストのIPアドレスとMACアドレスと間の対応は転送テーブルに記憶されている。第2のゲートウェイ102は、転送テーブル内のホスト107のMACアドレスを発見し、かつデータパケットをホスト107に送信する。
この解決策では、第1のゲートウェイ101は、転送テーブル内に、別のゲートウェイを使用してネットワークにアクセスするすべてのホストルートを予め記憶している必要がある。DCNが大量のホストを含む場合、膨大な量のホストルートが存在する。いくつかのホストは相互に通信する必要がないことがあるため、いくつかのホストルートは、第1のゲートウェイ101によって所望されないことがある。第1のゲートウェイ101によって所望されないホストルートを記憶していることは、転送テーブルのストレージリソースを占有する。
本願の実施形態は、要求に基づいてルートを取得する方法を提供する。方法は、実際のパケット転送要求に基づいて分散型ゲートウェイのネットワークアーキテクチャにおいてルートを取得するために使用され、それによって、転送テーブルのストレージリソースを節約することができる。
図2は、本願の実施形態による要求に基づいてルートを取得する方法を示す。例えば、方法は、図1に示される分散型ゲートウェイに適用されてもよい。図2に示される方法における第1のゲートウェイは、図1に示される第1のゲートウェイ101であってもよい。図2に示される方法における第2のゲートウェイは、図1に示される第2のゲートウェイ102であってもよい。方法は以下のステップを含む。
S201: 第1のゲートウェイは、第1のパケットを受信し、第1のパケットは、第1のIPアドレスを含む。
第1のIPアドレスによって識別されるホストは、第1のパケットの送信者ではない。例えば、第1のパケットは第1のホストからのものであるが、第1のIPアドレスによって識別されるホストは第2のホストである。
例えば、第1のパケットは、図1に示される第1のゲートウェイ101にホスト106によって送信されたパケットである。
可能な実施例では、第1のパケットはデータパケットである。第1のIPアドレスは、第1のパケット内の宛先IPアドレス(英語:destination IP address)である。例えば、第1のパケットは、ホスト106によってホスト107に送信されるデータパケットである。宛先IPアドレスは、ホスト107のIPアドレスである。
別の可能な実施例では、第1のパケットはARPパケットであり、かつ第1のIPアドレスは第1のパケットのターゲットプロトコルアドレス(英語:target protocol address、略してTPA)である。例えば、ホスト106はIPv4に基づいてデータパケットをホスト107に送信することを意図しており、かつホスト106およびホスト107は同一のブロードキャストドメインに属する。データパケットをホスト107に送信する前に、ホスト106は、まず、ARPパケットをブロードキャストして、ホスト107のMACアドレスを取得する。
さらに別の可能な実施例では、第1のパケットはNDPパケットであり、かつ第1のIPアドレスは第1のパケットのターゲットアドレス(英語:target address)である。例えば、ホスト106は、IPv6に基づいてホスト107にデータパケットを送信することを意図しており、かつホスト106およびホスト107は同一のブロードキャストドメインに属する。データパケットをホスト107に送信する前に、ホスト106は、まず、NDPパケット(例えば、近隣要請(英語:Neighbor Solicitation))を送信して、ホスト107のMACアドレスを取得する。
S202: 第1のゲートウェイは、第1のIPアドレスの次のホップを求めて転送テーブルを検索し、該検索は失敗する。
本願では、複数のIPアドレスと、複数のIPアドレスのそれぞれの次のホップとが転送テーブルに記憶されている。例えば、ホストが別のゲートウェイ(例えば、第2のゲートウェイ)を使用してネットワークにアクセスするとき、転送テーブルに記憶されたIPアドレスの次のホップは、ゲートウェイ(例えば、第2のゲートウェイ)のIPアドレスを含んでもよい。すなわち、ホストのIPアドレスからゲートウェイ(たとえば、第2ゲートウェイ)のIPアドレスへのマッピングが転送テーブルに記憶されている。例えば、ホストが転送テーブルを記憶するゲートウェイ(例えば、第1のゲートウェイ)を使用してネットワークにアクセスするとき、転送テーブルに記憶されたIPアドレスの次のホップは、ホストのMACアドレスを含んでもよい。すなわち、ホストのIPアドレスからホストのMACアドレスへのマッピングが転送テーブルに記憶されている。さらに、IPアドレスの次のホップのアウトバウンドインターフェイス識別子が、転送テーブルにさらに記憶されてもよい。
例えば、転送テーブルは、ルーティング情報ベース(英語:routing information base、略してRIB)または転送情報ベース(英語:forwarding information base、略してFIB)であってもよい。
任意選択で、S201とS202との間で、第1のゲートウェイは、以下のステップ、すなわち、第1のゲートウェイが第1のパケットの第1のVNIを判定するというステップをさらに実行してもよい。
例えば、第1のゲートウェイは、第1のパケットを受信するポートを判定し、第1のゲートウェイは、ポートと仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIとの間のマッピングに基づいて、第1のパケットのVNIを判定し、かつ第1のゲートウェイは、VNIに基づいてVNIの転送テーブルを判定する。
特に、異なるVNIによって識別されるVXLANセグメント内のホストは、互いに通信できない。第1のゲートウェイは、複数の転送テーブルおよび各VNIから転送テーブルへのマッピングを記憶している。例えば、各転送テーブルは、仮想ルーティングおよび転送(英語:virtual routing and forwarding、略してVRF)インスタンス(英語:instance)である。
第1のゲートウェイは、第1のIPアドレスの次のホップを求めて転送テーブルを検索し、該検索が失敗することは、第1のゲートウェイが、転送テーブル内に、第1のパケット内のIPアドレスの次のホップを発見しないことを意味する。
S203: 第1のゲートウェイは、第2のパケットを少なくとも1つのゲートウェイに送信し、第2のパケットは第1のIPアドレスを搬送し、かつ第2のパケットは、第2のパケットを受信するゲートウェイに、第1のIPアドレスによって識別されるホストが第2のパケットを受信するゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用される。
可能な実施例では、第1のゲートウェイは、第1のパケットのVNIを有するゲートウェイを求めて複数のVNIから複数のゲートウェイへのマッピングテーブルを検索してもよい。マッピングテーブルには、第1のパケットのVNIから少なくとも1つのゲートウェイへのマッピングが記憶されている。少なくとも1つのゲートウェイは、VNIによって識別されるホストがローカルエリアネットワークにおいて接続することを許可されたゲートウェイである。第1のゲートウェイは、検索の結果に従って、第1のパケットのVNIを有する少なくとも1つのゲートウェイを判定する。
別の可能な実施例では、第1のゲートウェイは、第2のパケットをローカルエリアネットワークにおけるすべてのゲートウェイに送信する。
例えば、第1のゲートウェイおよび少なくとも1つのゲートウェイは、図1におけるBGPピアであってもよい。第2のパケットは、BGPパケットであってもよい。また、第2のパケットは、BGPで定義された更新(英語:update)パケットであってもよい。第1のIPアドレスは、更新パケットのパス属性(英語:Path Attribute)フィールドに保持されてもよい。特に、タイプは、第2のパケットを識別するために、パス属性フィールドのタイプ・長さ・値(英語:Type-Length-Value、略してTLV)で定義される。第1のIPアドレスは値フィールドにおいて搬送される。
任意選択で、第2のパケットは、第1のパケットのVNIをさらに搬送する。例えば、第1のパケットのVNIおよび第1のIPアドレスは、両方とも更新パケットのパス属性フィールドで搬送される。
任意選択で、第2のパケットは、第1のIPアドレスのブロードキャストドメイン識別子をさらに搬送する。例えば、第1のゲートウェイは、複数のIPサブネットセグメントとブロードキャストドメインとの間の対応関係を記憶している。第1のゲートウェイは、第1のIPアドレスに対応するブロードキャストドメインに基づいてブロードキャストドメイン識別子を取得する。例えば、ブロードキャストドメイン識別子、第1のパケットのVNI、および第1のIPアドレスは、更新パケットのパス属性フィールドにすべて含まれる。
S301: 第2のゲートウェイは、第1のゲートウェイから第2のパケットを受信し、かつ第2のゲートウェイは、第2のパケットにおいて搬送された第1のIPアドレスによって識別されるホストのMACアドレスは取得可能であると判定する。
任意選択で、第2のパケットが第1のパケットのVNIをさらに搬送する場合、第2のゲートウェイは、第2のパケットにおいて搬送された第1のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定することは、VNIに対応するVXLANセグメント内の第2のゲートウェイによって、第1のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定することを特に含む。
例えば、第2のゲートウェイが、第2のパケットにおいて搬送された第1のIPアドレスによって識別されるホストのMACアドレスを取得することは、第2のゲートウェイによって、第1のIPアドレスに対応するMACアドレスを求めて、IPアドレスとMACアドレスとの間の複数の記憶されたマッピングテーブルを検索することを含んでもよい。例えば、第1のIPアドレスによって識別されるホストは、ホスト107であり、かつ第1のIPアドレスに対応し、かつマッピングテーブルに記憶されているMACアドレスは、ホスト107のMACアドレスである。第2のゲートウェイへの接続を確立するとき、ホスト107は、ホスト107のMACアドレスを第2のゲートウェイに送信する。第2のゲートウェイは、ホスト107のMACアドレスとIPアドレスとの間の対応関係を、IPアドレスとMACアドレスとの間の複数のマッピングテーブルに保存する。第2のパケットがさらに第1のパケットのVNIを搬送する場合、第2のゲートウェイは、VNIと、IPアドレスおよびMACアドレス間の複数のマッピングテーブルとの間の対応関係をさらに記憶している。IPアドレスとMACアドレスとの間の複数のマッピングテーブルには、VNIに対応するVXLANセグメント内のIPアドレスとMACアドレスとの間のマッピングが記憶されている。
例えば、第2のゲートウェイは、第2のパケットにおいて搬送された第1のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定することは、第2のゲートウェイによって、第2のゲートウェイを使用して、ネットワークにアクセスするホストへの要求パケットをブロードキャストすることをさらに含んでもよい。要求パケットは、ホスト107のMACアドレスを要求するために使用される。例えば、要求パケットは、図1に示されるように、IPv4プロトコルにおけるARPパケットであってもよく、または、IPv6におけるNDPパケットであってもよい。第2のゲートウェイは、要求パケットに対するホスト107の応答に基づいて、第1のIPアドレスに対応するMACアドレスを取得する。第2のパケットが第1のパケットのVNIをさらに搬送する場合、要求パケットをブロードキャストするとき、第2のゲートウェイは、VNIに基づいて、要求パケットをブロードキャストするポートを判定し、かつVNIに対応するVXLANセグメント内のホストに要求パケットをブロードキャストする。第2のパケットが、S202で第2のパケットがさらにブロードキャストドメイン識別子をさらに搬送する場合、要求パケットをブロードキャストするときに、第2のゲートウェイは、VNIおよびブロードキャストドメイン識別子の両方に従って、要求パケットをブロードキャストするポートを判定し、かつ、VNIに対応するVXLANセグメントにあり、かつブロードキャストドメインに属するホストに要求パケットをブロードキャストする。
S302: 第2のゲートウェイは、第3のパケットを第1のゲートウェイに送信し、第3のパケットは、第1のIPアドレスによって識別されるホストに、第2のゲートウェイを使用してネットワークにアクセスするよう指示するために使用される。
例えば、第3のパケットは、BGPパケットであってもよい。特に、第3のパケットは、第2のパケットと同一のパケットフォーマットを使用してもよい。例えば、両方のパケットはBGP内の更新パケットである。第3のパケットにおいて搬送されるパス属性フィールドの値フィールドは、第2のパケットの値フィールドと同一である。タイプフィールドは、第3のパケットのタイプを識別するための識別子を定義する。
S204: 第1のゲートウェイは、第2のゲートウェイから第3のパケットを受信し、第3のパケットは、第1のIPアドレスによって識別されるホストに、第2のゲートウェイを使用してネットワークにアクセスするよう指示するために使用され、かつ第1のゲートウェイは、第2のゲートウェイのアドレスを、第1のIPアドレスの次のホップアドレスとして転送テーブルに書き込む。
特に、第3のパケットは、第3のパケットを送信するゲートウェイのソースアドレスを搬送し、かつ第1のゲートウェイは、第3のパケット内のソースアドレスに基づいて第2のゲートウェイを判定する。
例えば、第1のパケットは、データパケットであり、かつ方法は、S205、すなわち第1のゲートウェイが、第1のパケットにVXLANカプセル化を実行して、カプセル化された第1のパケットを取得し、かつ第1のゲートウェイがカプセル化された第1のパケットを送信するというステップをさらに含む。カプセル化された第1のパケットのVXLANヘッダにおけるVNIフィールドの値は、第1のパケットのVNIであり、かつカプセル化された第1のパケットの外部IPヘッダの宛先IPアドレスは、第2のゲートウェイのIPアドレスである。
例えば、第1のパケットは、第1のゲートウェイから、第1のIPアドレスによって識別されるホストのMACアドレス、例えばARPパケットまたはNDPパケットを要求するためにホスト106によって使用されるパケットである。方法は、第1のゲートウェイによって、第1のゲートウェイのMACアドレスをホスト106に送信するステップをさらに含む。
任意選択で、IPアドレス(例えば、第2のIPアドレス)によって識別されるホストが第1のゲートウェイを使用してネットワークにアクセスするか否かを判定するための別のゲートウェイの要求に応答して、第1のゲートウェイはさらに、IPアドレスによって識別されるホストが、第1のゲートウェイを使用してネットワークにアクセスするか否かを判定してもよい。第1のゲートウェイによって、IPアドレスによって識別されるホストが第1のゲートウェイを使用してネットワークにアクセスするか否かを判定するステップは、第2のゲートウェイによって、第1のIPアドレスによって識別されるホストが第1のゲートウェイを使用してネットワークにアクセスするか否かを判定するS301およびS302と同様である。例えば、図3に示されるように、第1のゲートウェイが第3のゲートウェイからの第4のパケットであって、第1のゲートウェイに、第2のIPアドレスによって識別されるホストが第1のゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用される第4のパケットを受信する場合、方法は、S401、S402、およびS403をさらに含む。
S401: 第1のゲートウェイは、第4のパケットを第3のゲートウェイから受信し、第4のパケットは第2のIPアドレスを搬送する。
S402: 第1のゲートウェイは、第2のIPアドレスに対応するMACアドレスを取得する。
S403: 第1のゲートウェイは、第5のパケットを第3のゲートウェイに送信し、第5のパケットは、第3のゲートウェイに、第2のIPアドレスの次のホップアドレスとして第1のゲートウェイのアドレスを使用するよう指示するために使用される。
S401およびS402では、第4のパケットにおいて搬送された第2のIPアドレスに基づいて第1のゲートウェイによって、第2のIPアドレスに対応するMACアドレスを取得するステップの特定の実装は、図2に示されるS301において、第2のパケットにおいて搬送された第1のIPアドレスに基づいて第2のゲートウェイによって、第1のIPアドレスに対応するMACアドレスを取得するステップの特定の実装を使用してもよい。
S403では、第1のゲートウェイによって第3のゲートウェイに第5のパケットを送信する特定の実装は、図2に示されるS302において、第2のゲートウェイによって第3のパケットを第1のゲートウェイに送信する特定の実装を使用してもよい。
図4は、本願の実施形態による第1のゲートウェイ500の概略構成図である。図4に示されるように、第1のゲートウェイ500は、プロセッサ501と、メモリ502と、ネットワークインターフェース503とを含む。
メモリ502は、転送テーブルを記憶するように構成される。例えば、メモリ502は、コンテンツアドレス可能メモリ(英語:content-addressable memory、略してCAM)、例えば3値コンテンツアドレス可能メモリ(英語:ternary CAM、略してTCAM)、およびランダムアクセスメモリ(英語:random-access memory、略してRAM)を含んでもよいが、これらに限定されない。
ネットワークインターフェース503は、ファイバ分散データインタフェース(英語:Fiber Distributed Data Interface、略してFDDI)またはイーサネット(登録商標)(英語:Ethernet)インタフェースなどの有線インタフェースであってもよい。あるいは、ネットワークインターフェース503は、無線インタフェース、例えば、無線ローカルエリアネットワークインタフェースであってもよい。
プロセッサ501は、中央処理装置(英語:central processing unit、略してCPU)、ネットワークプロセッサ(英語:network processor、略してNP)、特定用途向け集積回路(英語:application-specific integrated circuit、略してASIC)、またはプログラマブルロジックデバイス(英語:programmable logic device、略してPLD)の1つ以上を含んでもよいが、これらに限定されない。PLDは、複雑なプログラマブルロジックデバイス(英語:complex programmable logic device、略してCPLD)、フィールドプログラマブルゲートアレイ(英語:field-programmable gate array、略してFPGA)、ジェネリックアレイロジック(英語:generic array logic、略してGAL)、またはこれらの任意の組合せを含んでもよい。
メモリ502は、プロセッサ501に統合されてもよい。メモリ502とプロセッサ501が相互に独立したデバイスである場合、メモリ502はプロセッサ501と通信する。例えば、メモリ502は、バスを使用してプロセッサ501と通信してもよい。ネットワークインターフェース503は、バスを使用してプロセッサ501と通信してもよく、またはネットワークインターフェース503は、プロセッサ501に直接接続されてもよい。プロセッサ501は、以下の動作を実行するように構成される:
ネットワークインターフェース503を使用して第1のパケットを受信するステップであって、第1のパケットは第1のインターネットプロトコルIPアドレスを含む、ステップと、
第1のIPアドレスの次のホップを求めて、メモリ502に記憶された転送テーブルを検索するステップであって、該検索は失敗する、ステップと、
ネットワークインターフェース503を使用して、第2のパケットを少なくとも1つのゲートウェイに送信するステップであって、第2のパケットは第1のIPアドレスを搬送し、かつ第2のパケットは、第2のパケットを受信するゲートウェイに、第1のIPアドレスによって識別されるホストが第2のパケットを受信するゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用される、ステップと、
ネットワークインターフェース503を使用して、第3のパケットを第2のゲートウェイから受信するステップであって、第2のゲートウェイは少なくとも1つのゲートウェイの1つであり、かつ第3のパケットは、第1のIPアドレスによって識別されるホストに、第2のゲートウェイを使用してネットワークにアクセスするよう指示するために使用される、ステップと、
第2のゲートウェイのアドレスを、第1のIPアドレスの次のホップアドレスとしてメモリに記憶された転送テーブルに書き込むステップ。
例えば、プロセッサ501は、NPおよびCPUを含んでもよい。NPはバスを使用してCPUと通信する。NPは、転送プレーン動作を実行するように構成され、かつCPUは、制御プレーン動作を実行するように構成される。特に、NPは、ネットワークインターフェース503を使用して第1のパケットを受信し、かつ第1のパケット内のIPアドレスの次のホップを求めて、メモリ502に記憶された転送テーブルを検索する。NPが、第1のパケット内のIPアドレスの次のホップ検索し、該検索が失敗した後、NPはバスを使用してIPアドレスをCPUに送信する。特に、NPが次ホップを検索するとき、1つの可能な方法は、メモリがRAMである場合、NPはメモリ内の転送テーブルに関する情報を読み出し、かつ第1のIPアドレスの次のホップを検索してもよい。別の可能な方法は、メモリがCAMである場合、NPは第1のIPアドレスをメモリに送信し、かつ第1のIPアドレスに一致するエントリを求めて転送テーブルを検索するようメモリに指示し、ここで第1のIPアドレスの次のホップは、エントリに記憶されている。メモリは、検索結果をNPに送信する。次のホップを検索し、該検索が失敗することは、NPが、転送テーブル内に、第1のIPアドレスに一致するエントリを発見しないことを意味してもよい。次のホップを検索し、該検索が失敗することは、メモリが検索失敗の結果をNPに送信することを意味してもよい。例えば、転送テーブルは汎用エントリを含み、かつ第1のIPアドレスが転送テーブル内のエントリと一致しないとき、メモリは検索の結果としてNPに汎用エントリを送信する。CPUは、第2のパケットを生成し、かつネットワークインターフェース503を使用して、第2のパケットを少なくとも1つのゲートウェイに送信する。さらに、CPUは、ネットワークインターフェース503を使用して、第2のゲートウェイから第3のパケットを受信し、かつ第1のIPアドレスの次のホップアドレスとしての第2のゲートウェイのアドレスを使用する。CPUは、バスを使用して、第1のIPアドレスと、第1のIPアドレスの次のホップアドレスとをNPに送信する。NPは、第1のIPアドレスと、第1のIPアドレスの次のホップアドレスとをメモリ501に記憶された転送テーブルに書き込む。
任意選択で、第1のパケット内のIPアドレスの次のホップを求めてメモリ502に記憶された転送テーブルを検索するステップの前に、プロセッサ501は、以下のステップ、すなわち、第1のパケットを受信するポートを判定するステップと、ポートからVNIへのマッピングに基づいて仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIを判定するステップと、VNIから転送テーブルへのマッピングに基づいて転送テーブルを判定するステップとをさらに実行する。例えば、これらのステップは、NPによって実行されてもよい。バスを使用してIPアドレスをCPUに送信するとき、NPはVNIをCPUにさらに送信する。
任意選択で、第2のパケットはVNIをさらに搬送する。任意選択で、プロセッサ501が、ネットワークインターフェース503を使用して、第2のパケットを少なくとも1つのゲートウェイに送信する前に、プロセッサ501は、以下のステップ、すなわち、VNIを有するゲートウェイを求めて、複数のVNIから複数のゲートウェイへのマッピングテーブルを検索するステップと、検索の結果に基づいて少なくとも1つのゲートウェイを判定するステップとをさらに実行する。例えば、これらのステップは、CPUによって実行されてもよい。複数のVNIから複数のゲートウェイへのマッピングテーブルは、CPUの内部メモリに記憶されてもよい。
第1のパケットはデータパケットであり、第1のIPアドレスは、第1のパケットの宛先IPアドレスであり、かつプロセッサは、以下のステップ、すなわち、第1のパケットにVXLANカプセル化を実行し、第3のパケットを取得するステップと、ネットワークインターフェースを使用して、第3のパケットを送信するステップとをさらに実行する。第3のパケットのVXLANヘッダにおけるVNIフィールドの値はVNIであり、かつ第3のパケットの外部IPヘッダの宛先IPアドレスは、第2のゲートウェイのIPアドレスである。例えば、これらのステップは、NPによって実行されてもよい。
任意選択で、第1のパケットは、アドレス解決プロトコルARPパケットであり、かつ第1のIPアドレスは第1のパケットのターゲットIPアドレスTPAである。あるいは、第1のパケットは、近隣探索プロトコルNDPパケットであり、かつ第1のIPアドレスは第1のパケットのターゲットアドレスである。
任意選択で、プロセッサ501は、以下のステップ、すなわち、ネットワークインターフェース503を使用して、第4のパケットを第3のゲートウェイから受信するステップであって、第4のパケットは第2のIPアドレスを搬送する、ステップと、第2のIPアドレスに対応するMACアドレスを取得するステップと、ネットワークインターフェースを使用して、第5のパケットを第3のゲートウェイに送信するステップであって、第5のパケットは、第3のゲートウェイに、第2のIPアドレスの次のホップアドレスとして第1のゲートウェイのアドレスを使用するよう指示するために使用される、ステップとをさらに実行する。例えば、これらのステップは、CPUによって実行されてもよい。
任意選択で、第4のパケットは、仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIをさらに搬送する。プロセッサ501が第2のIPアドレスに対応するMACアドレスを取得することは、プロセッサ501によって、VNIに対応するVXLANセグメントにおいて、第2のIPアドレスに対応するMACアドレスを取得するステップを特に含む。例えば、このステップは、CPUによって実行されてもよい。
この実施形態に提供される第1のゲートウェイ500は、図2および図3における実施形態の方法に適用され、第1のゲートウェイの機能を実装してもよい。第1のゲートウェイによって実装され得る他の追加機能および別のゲートウェイとの相互作用プロセスについては、方法の実施形態における第1のゲートウェイに関する説明を参照されたく、詳細はここでは再度説明しない。
図5は、本願の実施形態による別の第1のゲートウェイの概略構成図である。図5に示されるように、第1のゲートウェイ600は、第1の受信ユニット601と、記憶ユニット602と、検索ユニット603と、送信ユニット604と、第2の受信ユニット605と、処理ユニット606とを含む。
第1の受信ユニット601は、第1のパケットを受信するように構成され、第1のパケットは第1のインターネットプロトコルIPアドレスを含む。
記憶ユニット602は、転送テーブルを記憶するように構成される。
検索ユニット603は、第1の受信ユニット601によって受信された第1のパケットを取得し、かつ第1のIPアドレスの次のホップを求めて、記憶ユニット602に記憶された転送テーブルを検索するように構成され、該検索は失敗する。
送信ユニット604は、検索ユニット603が第1のIPアドレスの次のホップを検索し、該検索が失敗した後、第2のパケットを少なくとも1つのゲートウェイに送信するように構成され、第2のパケットは第1のIPアドレスを搬送し、かつ第2のパケットは、第2のパケットを受信するゲートウェイに、第1のIPアドレスによって識別されるホストが第2のパケットを受信するゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用される。
第2の受信ユニット605は、第3のパケットを第2のゲートウェイから受信するように構成され、第2のゲートウェイは少なくとも1つのゲートウェイの1つであり、かつ第3のパケットは、第1のIPアドレスによって識別されるホストに、第2のゲートウェイを使用してネットワークにアクセスするよう指示するために使用される。
処理ユニットは、第2の受信ユニットによって受信された第3のパケットを取得し、かつ第3のパケットに基づいて第1のIPアドレスの次のホップアドレスとして、第2のゲートウェイのアドレスを、記憶ユニットに記憶された転送テーブルに書き込むように構成される。
任意選択で、第2のパケットは、第1のパケットの第1の仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIをさらに搬送し、かつ検索ユニット603は、送信ユニットが第2のパケットを少なくとも1つのゲートウェイに送信する前に、第1のパケットの第1のVNIを判定するようにさらに構成される。
任意選択で、第1のパケットは、アドレス解決プロトコルARPパケットであり、かつ第1のIPアドレスは第1のパケットのターゲットIPアドレスTPAである。あるいは、第1のパケットは、近隣探索プロトコルNDPパケットであり、かつ第1のIPアドレスは第1のパケットのターゲットアドレスである。
任意選択で、第2の受信ユニット605は、第4のパケットを第3のゲートウェイから受信するようにさらに構成され、第4のパケットは第2のIPアドレスを搬送する。検索ユニット603は、第2の受信ユニット605によって受信された第4のパケットを取得し、かつ第4のパケットにおいて搬送された第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定するようにさらに構成される。送信ユニット604は、第5のパケットを第3のゲートウェイに送信するようにさらに構成され、第5のパケットは、第2のIPアドレスによって識別されるホストに、第1のゲートウェイを使用してネットワークにアクセスするよう指示するために使用される。
任意選択で、第4のパケットは第2のVNIをさらに搬送する。検索ユニット603は、第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定するように構成され、かつ第2のVNIによって識別されるVXLANセグメント内の第2のIPアドレスによって識別されるホストのMACアドレスを取得するよう試みるように特に構成される。
図5に示された第1のゲートウェイ600と、図4に示された第1のゲートウェイ500は、同一の装置であってもよい。例えば、両方とも図2および図3に示された方法における第1のゲートウェイである。図4は、物理的に第1のゲートウェイに含まれるコンテンツを示し、かつ図5は、論理的に第1のゲートウェイに含まれるコンテンツを示していると考えられてもよい。任意選択で、図5に示された第1の受信ユニット601と、第2の受信ユニット602と、送信ユニット604とが、図4に示されるネットワークインターフェース503を使用して、実装されてもよい。図5に示された検索ユニット603および処理ユニット606が、図4に示されたプロセッサ501を使用して実装されてもよい。図5に示された記憶ユニット602が、図4に示されたメモリ502を使用して実装されてもよい。
本明細書の実施形態はすべて、実施形態における同一または類似の部分については漸進的に記載され、これらの実施形態を参照し、かつ各実施形態は他の実施形態との差異に焦点を当てている。特に、システムの実施形態は基本的に方法の実施形態に類似しているので、簡単に説明されている。関連する部分については、方法の実施形態における部分的な説明を参照されたい。
明らかに、当業者は、本願の範囲から逸脱することなく、本願に対して様々な変更および変形を行うことができる。本願は、添付の特許請求の範囲およびそれらに相当する技術によって定義される保護の範囲内にある限り、提供される本願のこれらの変更および変形を包含することを意図している。
101 第1のゲートウェイ
102 第2のゲートウェイ
103 第3のゲートウェイ
104 ルータ
105 ルータ
106 ホスト
107 ホスト
500 第1のゲートウェイ
501 プロセッサ
502 メモリ
503 ネットワークインターフェース
600 第1のゲートウェイ
601 第1の受信ユニット
602 記憶ユニット
603 検索ユニット
604 送信ユニット
605 第2の受信ユニット
606 処理ユニット

Claims (15)

  1. 要求に基づいてルートを取得する方法であって、
    第1のゲートウェイによって、第1のパケットを受信するステップであって、前記第1のパケットは第1のインターネットプロトコルIPアドレスを含む、ステップと、
    前記第1のゲートウェイによって、前記第1のIPアドレスの次のホップを求めて転送テーブルを検索するステップであって、該検索は失敗する、ステップと、
    前記第1のゲートウェイによって、第2のパケットを少なくとも1つのゲートウェイに送信するステップであって、前記第2のパケットは前記第1のIPアドレスを搬送し、かつ前記第2のパケットは、前記第2のパケットを受信するゲートウェイに、前記第1のIPアドレスによって識別されるホストが前記第2のパケットを受信する前記ゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用される、ステップと、
    前記第1のゲートウェイによって、第3のパケットを第2のゲートウェイから受信するステップであって、前記第2のゲートウェイは前記少なくとも1つのゲートウェイの1つであり、かつ前記第3のパケットは、前記第1のIPアドレスによって識別される前記ホストに、前記第2のゲートウェイを使用して前記ネットワークにアクセスするよう指示するために使用される、ステップと、
    前記第1のゲートウェイによって、前記第2のゲートウェイのアドレスを、前記第1のIPアドレスの次のホップアドレスとして前記転送テーブルに書き込むステップと
    を含む、方法。
  2. 前記第2のパケットは、前記第1のパケットの第1の仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIをさらに搬送し、かつ
    前記第1のゲートウェイによって、第2のパケットを少なくとも1つのゲートウェイに送信する前記ステップの前に、前記方法は、
    前記第1のゲートウェイによって、前記第1のパケットの前記第1のVNIを判定するステップをさらに含む、請求項1に記載の方法。
  3. 前記第1のパケットは、アドレス解決プロトコルARPパケットであり、かつ前記第1のIPアドレスは、前記第1のパケットのターゲットIPアドレスであり、または
    前記第1のパケットは、近隣探索プロトコルNDPパケットであり、かつ前記IPアドレスは、前記第1のパケットのターゲットアドレスである、請求項1または2に記載の方法。
  4. 前記第1のゲートウェイによって、第4のパケットを第3のゲートウェイから受信するステップであって、前記第4のパケットは、第2のIPアドレスを搬送する、ステップと、
    前記第1のゲートウェイによって、前記第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定するステップと、
    前記第1のゲートウェイによって、第5のパケットを前記第3のゲートウェイに送信するステップであって、前記第5のパケットは、前記第2のIPアドレスによって識別される前記ホストに、前記第1のゲートウェイを使用して前記ネットワークにアクセスするよう指示するために使用される、ステップと
    を含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記第4のパケットは第2のVNIをさらに搬送し、かつ前記第1のゲートウェイによって、前記第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定する前記ステップは、
    前記第1のゲートウェイによって、前記第2のVNIによって識別されるVXLANセグメント内の前記第2のIPアドレスによって識別される前記ホストの前記MACアドレスを取得するよう試みるステップを含む、請求項4に記載の方法。
  6. ネットワークデバイスであって、
    プロセッサと、メモリと、ネットワークインターフェースとを含み、前記メモリは、転送テーブルを記憶するように構成され、かつ前記プロセッサは、
    前記ネットワークインターフェースを使用して第1のパケットを受信し、前記第1のパケットは第1のインターネットプロトコルIPアドレスを含み、
    前記第1のIPアドレスの次のホップを求めて前記メモリに記憶された前記転送テーブルを検索し、該検索は失敗し、
    前記ネットワークインターフェースを使用して、第2のパケットを少なくとも1つのゲートウェイに送信し、前記第2のパケットは前記第1のIPアドレスを搬送し、かつ前記第2のパケットは、前記第2のパケットを受信するゲートウェイに、前記第1のIPアドレスによって識別されるホストが前記第2のパケットを受信する前記ゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用され、
    前記ネットワークインターフェースを使用して、第3のパケットを第1のゲートウェイから受信し、前記第1のゲートウェイは前記少なくとも1つのゲートウェイの1つであり、かつ前記第3のパケットは、前記第1のIPアドレスによって識別される前記ホストに、前記第1のゲートウェイを使用して前記ネットワークにアクセスするよう指示するために使用され、かつ
    前記第1のゲートウェイのアドレスを、前記第1のIPアドレスの次のホップアドレスとして、前記メモリに記憶された前記転送テーブルに書き込む
    ように構成された、ネットワークデバイス。
  7. 前記第2のパケットは、前記第1のパケットの第1の仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIをさらに搬送し、かつ前記プロセッサは、前記第2のパケットを前記少なくとも1つのゲートウェイに送信する前に前記第1のパケットの前記第1のVNIを判定するようにさらに構成された、請求項6に記載のネットワークデバイス。
  8. 前記第1のパケットは、アドレス解決プロトコルARPパケットであり、かつ前記第1のIPアドレスは前記第1のパケットのターゲットIPアドレスTPAであり、または
    前記第1のパケットは、近隣探索プロトコルNDPパケットであり、かつ前記IPアドレスは前記第1のパケットのターゲットアドレスTarget Addressである、請求項6または7に記載のネットワークデバイス。
  9. 前記プロセッサは、
    前記ネットワークインターフェースを使用して、第4のパケットを第2のゲートウェイから受信し、前記第4のパケットは第2のIPアドレスを搬送し、
    前記第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定し、かつ
    前記ネットワークインターフェースを使用して、第5のパケットを前記第2のゲートウェイに送信し、前記第5のパケットは、前記第2のIPアドレスによって識別される前記ホストに、第1のネットワークを使用して前記ネットワークにアクセスするよう指示するために使用される、
    ようにさらに構成された、請求項6から8のいずれか一項に記載のネットワークデバイス。
  10. 前記第4のパケットは第2のVNIをさらに搬送し、かつ前記第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定することは、
    前記第2のVNIによって識別されるVXLANセグメント内の前記第2のIPアドレスによって識別される前記ホストの前記MACアドレスを取得するよう試みることを特に含む、請求項9に記載のネットワークデバイス。
  11. 要求に基づいてルートを取得するための第1のゲートウェイであって、第1の受信ユニットと、記憶ユニットと、検索ユニットと、送信ユニットと、第2の受信ユニットと、処理ユニットとを含み、
    前記第1の受信ユニットは、第1のパケットを受信するように構成され、前記第1のパケットは第1のインターネットプロトコルIPアドレスを含み、
    前記記憶ユニットは、転送テーブルを記憶するように構成され、
    前記検索ユニットは、前記第1のIPアドレスの次のホップを求めて前記記憶ユニットに記憶された前記転送テーブルを検索するように構成され、
    前記送信ユニットは、前記検索ユニットが前記第1のIPアドレスの前記次のホップを求めて前記記憶ユニットに記憶された前記転送テーブルを検索し、該検索が失敗した後、第2のパケットを少なくとも1つのゲートウェイに送信するように構成され、前記第2のパケットは前記第1のIPアドレスを搬送し、かつ前記第2のパケットは、前記第2のパケットを受信するゲートウェイに、前記第1のIPアドレスによって識別されるホストが前記第2のパケットを受信する前記ゲートウェイを使用してネットワークにアクセスするか否かを判定するよう指示するために使用され、
    前記第2の受信ユニットは、第3のパケットを第2のゲートウェイから受信するように構成され、前記第2のゲートウェイは前記少なくとも1つのゲートウェイの1つであり、かつ前記第3のパケットは、前記第1のIPアドレスによって識別される前記ホストに、前記第2のゲートウェイを使用して前記ネットワークにアクセスするよう指示するために使用され、かつ
    前記処理ユニットは、前記第2の受信ユニットによって受信された前記第3のパケットを取得し、かつ前記第3のパケットに基づいて前記第1のIPアドレスの次のホップアドレスとして、前記第2のゲートウェイのアドレスを、前記記憶ユニットに記憶された前記転送テーブルに書き込むように構成された、第1のゲートウェイ。
  12. 前記第2のパケットは、前記第1のパケットの第1の仮想拡張可能ローカルエリアネットワークVXLANネットワーク識別子VNIをさらに搬送し、かつ前記検索ユニットは、前記送信ユニットが前記第2のパケットを前記少なくとも1つのゲートウェイに送信する前に、前記第1のパケットの前記第1のVNIを判定するようにさらに構成された、請求項11に記載の第1のゲートウェイ。
  13. 前記第1のパケットは、アドレス解決プロトコルARPパケットであり、かつ前記第1のIPアドレスは前記第1のパケットのターゲットIPアドレスTPAであり、または
    前記第1のパケットは、近隣探索プロトコルNDPパケットであり、かつ前記IPアドレスは前記第1のパケットのターゲットアドレスTarget Addressである、請求項11または12に記載の第1のゲートウェイ。
  14. 前記第2の受信ユニットは、第4のパケットを第3のゲートウェイから受信するようにさらに構成され、前記第4のパケットは第2のIPアドレスを搬送し、
    前記検索ユニットは、前記第2の受信ユニットによって受信された前記第4のパケットを取得し、かつ前記第4のパケットにおいて搬送された前記第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定するようにさらに構成され、かつ
    前記送信ユニットは、第5のパケットを前記第3のゲートウェイに送信するようにさらに構成され、前記第5のパケットは、前記第2のIPアドレスによって識別される前記ホストに、第1のネットワークを使用して前記ネットワークにアクセスするよう指示するために使用される、請求項11から13のいずれか一項に記載の第1のゲートウェイ。
  15. 前記第4のパケットは第2のVNIをさらに搬送し、かつ前記第2のIPアドレスによって識別されるホストのMACアドレスが取得可能であると判定することは、
    前記第2のVNIによって識別されるVXLANセグメント内の前記第2のIPアドレスによって識別される前記ホストの前記MACアドレスを取得するよう試みることを含む、請求項14に記載の第1のゲートウェイ。
JP2018526292A 2016-01-18 2016-12-24 要求に基づいてルートを取得する方法およびゲートウェイ Active JP6542993B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610031655.4 2016-01-18
CN201610031655.4A CN106982163B (zh) 2016-01-18 2016-01-18 按需获取路由的方法及网关
PCT/CN2016/111938 WO2017124886A1 (zh) 2016-01-18 2016-12-24 按需获取路由的方法及网关

Publications (2)

Publication Number Publication Date
JP2018523443A true JP2018523443A (ja) 2018-08-16
JP6542993B2 JP6542993B2 (ja) 2019-07-10

Family

ID=59341173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018526292A Active JP6542993B2 (ja) 2016-01-18 2016-12-24 要求に基づいてルートを取得する方法およびゲートウェイ

Country Status (6)

Country Link
US (1) US10447593B2 (ja)
EP (2) EP3306876B1 (ja)
JP (1) JP6542993B2 (ja)
CN (2) CN113162857B (ja)
ES (1) ES2826388T3 (ja)
WO (1) WO2017124886A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020053854A (ja) * 2018-09-27 2020-04-02 株式会社リコー ネットワークシステム、通信制御装置、通信制御方法およびプログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682261B (zh) * 2017-10-24 2020-04-03 新华三技术有限公司 流量转发方法及装置
EP3844915A1 (en) * 2018-09-12 2021-07-07 Huawei Technologies Co., Ltd. System and method for backup flooding topology split
US11502874B2 (en) * 2019-10-16 2022-11-15 Arista Networks, Inc. Filtering advertising of route advertisements based on virtual network identifiers
US11206155B2 (en) 2019-10-16 2021-12-21 Arista Networks, Inc. Filtering advertising of route advertisements based on virtual network identifiers
CN111884916A (zh) * 2020-07-24 2020-11-03 杭州希益丰新业科技有限公司 一种基于多网口计算机实现透明传输的代理网关系统
CN111935009B (zh) * 2020-08-05 2022-05-24 广州市百果园信息技术有限公司 数据包路由方法、装置、设备、系统及存储介质
CN114900560A (zh) * 2022-04-01 2022-08-12 阿里云计算有限公司 控制方法、系统、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005244983A (ja) * 2004-02-24 2005-09-08 Valtion Teknillinen Tutkimuskeskus パケットのルーティング方法及びシステム
CN102857427A (zh) * 2012-08-27 2013-01-02 上海斐讯数据通信技术有限公司 探测路由下一跳mac地址的方法及其路由设备
US20150124586A1 (en) * 2013-11-05 2015-05-07 Cisco Technology, Inc. N-way virtual port channels using dynamic addressing and modified routing
JP2015531212A (ja) * 2012-08-14 2015-10-29 ヴィーエムウェア, インコーポレイテッドVMware, Inc. 仮想ネットワークおよび物理ネットワークを統合するための方法およびシステム
JP2015534388A (ja) * 2012-09-29 2015-11-26 アルカテル−ルーセント 仮想プライベートlanサービスに基づくエッジルータ

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7307990B2 (en) * 1999-01-19 2007-12-11 Cisco Technology, Inc. Shared communications network employing virtual-private-network identifiers
US6658481B1 (en) * 2000-04-06 2003-12-02 International Business Machines Corporation Router uses a single hierarchy independent routing table that includes a flag to look-up a series of next hop routers for routing packets
CN101330447A (zh) * 2007-06-21 2008-12-24 中国科学院声学研究所 一种探测下一跳mac地址的方法
CN102857414B (zh) * 2012-08-20 2018-05-04 中兴通讯股份有限公司 一种转发表写入、报文转发方法及装置
CN103873373B (zh) * 2012-12-11 2017-05-17 杭州华三通信技术有限公司 一种组播数据报文转发方法及设备
CN104079486A (zh) * 2013-03-28 2014-10-01 国际商业机器公司 一种网关及其传送数据的方法
US9471356B2 (en) * 2013-06-12 2016-10-18 Dell Products L.P. Systems and methods for providing VLAN-independent gateways in a network virtualization overlay implementation
CN104426759B (zh) * 2013-08-21 2018-11-20 华为技术有限公司 主机路由获取方法、装置及系统
US9686180B2 (en) * 2013-11-05 2017-06-20 Cisco Technology, Inc. Managing routing information for tunnel endpoints in overlay networks
CN104702476B (zh) * 2013-12-05 2018-07-31 华为技术有限公司 基于分布式网关的报文处理方法及网络虚拟化边缘点
WO2015100656A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 一种实现虚拟机通信的方法和装置
US9729578B2 (en) * 2014-01-10 2017-08-08 Arista Networks, Inc. Method and system for implementing a network policy using a VXLAN network identifier
KR20150113597A (ko) * 2014-03-31 2015-10-08 한국전자통신연구원 Arp 패킷 처리 방법 및 장치
EP2966815A4 (en) * 2014-05-29 2016-04-13 Huawei Tech Co Ltd PACKET PROCESSING AND VXLAN GATEWAY
CN104158718B (zh) * 2014-08-25 2017-06-13 新华三技术有限公司 一种报文处理方法和装置
CN104283980B (zh) * 2014-10-09 2018-02-09 新华三技术有限公司 一种地址解析协议代答方法和装置
CN106375231B (zh) * 2015-07-22 2019-11-05 华为技术有限公司 一种流量切换方法、设备及系统
CN105072038B (zh) * 2015-08-28 2018-12-21 华讯方舟科技有限公司 一种数据报文转发方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005244983A (ja) * 2004-02-24 2005-09-08 Valtion Teknillinen Tutkimuskeskus パケットのルーティング方法及びシステム
JP2015531212A (ja) * 2012-08-14 2015-10-29 ヴィーエムウェア, インコーポレイテッドVMware, Inc. 仮想ネットワークおよび物理ネットワークを統合するための方法およびシステム
CN102857427A (zh) * 2012-08-27 2013-01-02 上海斐讯数据通信技术有限公司 探测路由下一跳mac地址的方法及其路由设备
JP2015534388A (ja) * 2012-09-29 2015-11-26 アルカテル−ルーセント 仮想プライベートlanサービスに基づくエッジルータ
US20150124586A1 (en) * 2013-11-05 2015-05-07 Cisco Technology, Inc. N-way virtual port channels using dynamic addressing and modified routing

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020053854A (ja) * 2018-09-27 2020-04-02 株式会社リコー ネットワークシステム、通信制御装置、通信制御方法およびプログラム
US11431810B2 (en) 2018-09-27 2022-08-30 Ricoh Company, Ltd. Network system, communication control device, and method of controlling communication
JP7251085B2 (ja) 2018-09-27 2023-04-04 株式会社リコー ネットワークシステム、通信制御装置、通信制御方法およびプログラム

Also Published As

Publication number Publication date
EP3823226B1 (en) 2023-08-02
CN106982163B (zh) 2020-12-04
EP3306876A1 (en) 2018-04-11
WO2017124886A1 (zh) 2017-07-27
US20180198712A1 (en) 2018-07-12
EP3823226A1 (en) 2021-05-19
CN106982163A (zh) 2017-07-25
CN113162857B (zh) 2023-01-13
US10447593B2 (en) 2019-10-15
EP3306876B1 (en) 2020-09-16
EP3306876A4 (en) 2018-08-22
ES2826388T3 (es) 2021-05-18
CN113162857A (zh) 2021-07-23
JP6542993B2 (ja) 2019-07-10

Similar Documents

Publication Publication Date Title
JP6542993B2 (ja) 要求に基づいてルートを取得する方法およびゲートウェイ
US9240944B2 (en) Overlay services in communication networks
US9253140B2 (en) System and method for optimizing within subnet communication in a network environment
US8898334B2 (en) System for network deployment and method for mapping and data forwarding thereof
US9467376B2 (en) Method and device for sending internet protocol packets
US10693833B2 (en) Address resolution suppression in a logical network
US10616175B2 (en) Forwarding information to forward data to proxy devices
EP3840304A1 (en) Communication method, device, and system
US7764691B2 (en) Allowing IPv4 clients to communicate using teredo addresses when both clients are behind a NAT
CN106572021B (zh) 一种实现网络虚拟化叠加的方法与网络虚拟化边缘节点
WO2011058511A1 (en) Method and apparatus for communications traffic breakout
US8194683B2 (en) Teredo connectivity between clients behind symmetric NATs
US20130332586A1 (en) Providing ipv6 connectivity through shared external interfaces on electronic devices
US11936614B2 (en) Method and apparatus for sending reply packet, computing device, and storage medium
US7715386B2 (en) Reducing network traffic to teredo server
CN110752989A (zh) 一种东西向流量转发方法与装置
US7693091B2 (en) Teredo connectivity between clients behind symmetric NATs
US20080225867A1 (en) Faster NAT detection for Teredo client
US11665266B2 (en) Roaming by binding a host with a device identifier
CN115428415A (zh) 使用可变长度地址在分层网络架构中转发报文的系统和方法
Di et al. Linyphi: creating IPv6 mesh networks with SSR

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190520

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190613

R150 Certificate of patent or registration of utility model

Ref document number: 6542993

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250