(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-30
(45)【発行日】2024-09-09
(54)【発明の名称】MACアドレス送信方法、装置、およびシステム、ならびに関連デバイス
(51)【国際特許分類】
H04L 45/74 20220101AFI20240902BHJP
H04L 12/46 20060101ALI20240902BHJP
【FI】
H04L45/74
H04L12/46 V
(21)【出願番号】P 2022557970
(86)(22)【出願日】2021-03-01
(86)【国際出願番号】 CN2021078547
(87)【国際公開番号】W WO2021190251
(87)【国際公開日】2021-09-30
【審査請求日】2022-11-02
(31)【優先権主張番号】202010209165.5
(32)【優先日】2020-03-23
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【氏名又は名称】野村 進
(72)【発明者】
【氏名】朱 文惠
【審査官】羽岡 さやか
(56)【参考文献】
【文献】特表2019-534648(JP,A)
【文献】特表2015-534388(JP,A)
【文献】特開2017-034365(JP,A)
【文献】A. Sajassi et al.,BGP MPLS-Based Ethernet VPN,Request for Comments: 7432,2015年02月28日,<URL> https://www.rfc-editor.org/rfc/rfc7432.html
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-69/40
(57)【特許請求の範囲】
【請求項1】
ネットワークシステムに適用されるメディア・アクセス制御MACアドレス送信方法であって、前記ネットワークシステムは第1のネットワークデバイスおよび第2のネットワークデバイスを含み、前記第1のネットワークデバイスは複数の仮想マシンに接続され、前記複数の仮想マシンは第1の仮想マシンおよび第2の仮想マシンを含み、前記方法は前記第1のネットワークデバイスによって実行され、前記方法は
、
前記第1のネットワークデバイスが、事前設定された持続時間内に前記第1の仮想マシンのMACアドレスおよび前記第2の仮想マシンのMACアドレスを取得し、前記第1の仮想マシンおよび前記第2の仮想マシンが、同じMACアドレスを有し、異なる仮想ローカル・エリア・ネットワークに位置する
ことを確認した場合に、前記第1のネットワークデバイスによって、第1の経路を取得するステップであって、前記第1の経路は経路情報を含み、前記経路情報は、前記MACアドレス、前記第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および前記第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報を含む、ステップと、
前記第1のネットワークデバイスによって、前記第1の経路を前記第2のネットワークデバイスへ送信するステップと
を含む、メディア・アクセス制御MACアドレス送信方法。
【請求項2】
前記第1のネットワークデバイスによって、第2の経路を格納するステップであって、前記第2の経路は前記経路情報を含む、ステップ
をさらに含む、請求項1に記載の方法。
【請求項3】
前記第1のネットワークデバイスによって、第1の経路を取得する、前記ステップの前に、前記方法は、
前記第1のネットワークデバイスによって、第3の経路を前記第2のネットワークデバイスへ送信するステップであって、前記第3の経路は前記MACアドレスおよび前記第2の仮想ローカル・エリア・ネットワーク情報を含むが、前記第1の仮想ローカル・エリア・ネットワーク情報を含まない、ステップ
をさらに含み、
前記第1のネットワークデバイスによって、前記第1の経路を取得する前記ステップは、
前記第1のネットワークデバイスによって、前記第1の経路を取得するために、前記第3の経路を更新するステップを含む、
請求項1に記載の方法。
【請求項4】
前記第1の仮想ローカル・エリア・ネットワーク情報は、仮想プライベート・ネットワーク・タグを含む、請求項1に記載の方法。
【請求項5】
前記第1のネットワークデバイスが、イーサネット仮想プライベート・ネットワークEVPNベースの仮想拡張ローカル・エリア・ネットワークVXLANに位置する場合、前記仮想プライベート・ネットワーク・タグは、仮想拡張ローカル・エリア・ネットワーク識別子VNIを含み、
前記第1のネットワークデバイスが、セグメント・ルーティングSRネットワークもしくはインターネット・プロトコル・バージョン6セグメント・ルーティングSRv6ネットワークに位置する場合、前記仮想プライベート・ネットワーク・タグは、セグメント識別子SIDを含むか、または、
前記第1のネットワークデバイスが、マルチ・プロトコル・ラベル・スイッチングMPLSネットワークに位置する場合、前記仮想プライベート・ネットワーク・タグは、MPLSラベルを含む、
請求項4に記載の方法。
【請求項6】
前記第1の仮想ローカル・エリア・ネットワーク情報は、経路ターゲット属性、仮想ローカル・エリア・ネットワーク・タグ、およびMACモビリティ拡張コミュニティ属性、のうちのいずれか1つまたは複数を、さらに含む、請求項4に記載の方法。
【請求項7】
前記第1の仮想ローカル・エリア・ネットワーク情報に含まれる前記MACモビリティ拡張コミュニティ属性の属性値が、第1の属性値であり、
前記方法は、
前記第1のネットワークデバイスによって、第4の経路を受信するステップであって、前記第4の経路は、前記第1の仮想マシンの前記MACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含み、前記第1の仮想マシンのものであり、前記第3の仮想ローカル・エリア・ネットワーク情報に含まれる、MACモビリティ拡張コミュニティ属性の属性値が、第2の属性値である、ステップと、
前記第1の属性値が前記第2の属性値未満である場合、前記第1のネットワークデバイスによって
、第2の経路内の前記第1の仮想ローカル・エリア・ネットワーク情報を削除し、第5の経路を格納するステップであって、前記第5の経路は、前記MACアドレスおよび前記第3の仮想ローカル・エリア・ネットワーク情報を含む、ステップと
をさらに含む、請求項6に記載の方法。
【請求項8】
前記第1の経路は、メディア・アクセス制御/インターネット・プロトコル通知MAC/IP Advertisement経路である、請求項1に記載の方法。
【請求項9】
ネットワークシステムに適用されるメディア・アクセス制御MACアドレス受信方法であって、前記ネットワークシステムは、第1のネットワークデバイスおよび第2のネットワークデバイスを含み、前記第1のネットワークデバイスは複数の仮想マシンに接続され、前記複数の仮想マシンは第1の仮想マシンおよび第2の仮想マシンを含み、前記方法は前記第2のネットワークデバイスによって実行され、
前記方法は、
前記第2のネットワークデバイスによって、前記第1のネットワークデバイスにより送信された第1の経路を受信するステップであって、前記第1の経路は、第1の経路情報を含み、前記第1の経路情報は、MACアドレス、第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想ローカル・エリア・ネットワーク情報を含み、前記MACアドレスは、前記第1のネットワークデバイスに接続されている前記第1の仮想マシンと前記第2の仮想マシンの両方のMACアドレスであり、
前記第1の経路は、事前設定された持続時間内に取得された前記両方のMACアドレスが同じMACアドレスであり、前記第1の仮想マシンおよび前記第2の仮想マシンが、異なる仮想ローカル・エリア・ネットワークに位置する場合に取得された経路であり、前記第1の仮想ローカル・エリア・ネットワーク情報は、前記第1の仮想マシンに関する情報であり、前記第2の仮想ローカル・エリア・ネットワーク情報は、前記第2の仮想マシンに関する情報である、ステップと、
前記第2のネットワークデバイスよって、前記第1の経路情報を格納するステップと
を含む、メディア・アクセス制御MACアドレス受信方法。
【請求項10】
前記第2のネットワークデバイスによって、前記第1の経路情報を格納する前記ステップは、
前記第2のネットワークデバイスによって、第2の経路に前記第1の経路情報を格納するステップを含む、
請求項9に記載の方法。
【請求項11】
前記方法は、
前記第1の経路を受信する前に、前記第2のネットワークデバイスによって、前記第1のネットワークデバイスにより送信された第3の経路を受信するステップであって、前記第3の経路は第2の経路情報を含み、前記第2の経路情報は前記MACアドレスおよび前記第2の仮想ローカル・エリア・ネットワーク情報を含むが、前記第1の仮想ローカル・エリア・ネットワーク情報を含まない、ステップと、
前記第2のネットワークデバイスによって、前記第2の経路情報を前記第2の経路に追加するステップと、をさらに含み、
前記第2のネットワークデバイスによって、前記第1の経路情報を前記第2の経路に格納する前記ステップは、
前記第2のネットワークデバイスによって、前記第2の経路の前記第2の経路情報を、前記第1の経路情報
に更新するステップを含む、
請求項10に記載の方法。
【請求項12】
前記第1の仮想ローカル・エリア・ネットワーク情報は、仮想プライベート・ネットワーク・タグを含む、請求項9に記載の方法。
【請求項13】
前記第1のネットワークデバイスが、イーサネット仮想プライベート・ネットワークEVPNベースの仮想拡張ローカル・エリア・ネットワークVXLANに位置する場合、前記仮想プライベート・ネットワーク・タグは、仮想拡張ローカル・エリア・ネットワーク識別子VNIを含み、
前記第1のネットワークデバイスが、セグメント・ルーティングSRネットワークもしくはインターネット・プロトコル・バージョン6セグメント・ルーティングSRv6ネットワークに位置する場合、前記仮想プライベート・ネットワーク・タグは、セグメント識別子SIDを含むか、または、
前記第1のネットワークデバイスが、マルチ・プロトコル・ラベル・スイッチングMPLSネットワークに位置する場合、前記仮想プライベート・ネットワーク・タグは、MPLSラベルを含む、
請求項12に記載の方法。
【請求項14】
前記第1の仮想ローカル・エリア・ネットワーク情報は、経路ターゲット属性、仮想ローカル・エリア・ネットワーク・タグ、およびMACモビリティ拡張コミュニティ属性のうちのいずれか1つまたは複数を、さらに含む、請求項12に記載の方法。
【請求項15】
前記第1の仮想マシンのものであり、前記第1の経路情報に含まれる、前記MACモビリティ拡張コミュニティ属性に含まれる属性値は、第1の属性値であり、前記方法は、
前記第2のネットワークデバイスによって、前記第1の仮想マシンと前記第2のネットワークデバイスとの間の接続に基づいて、第4の経路を生成するステップであって、前記第4の経路は、前記第1の仮想マシンの前記MACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含み、前記第1の仮想マシンのものであり、前記第3の仮想ローカル・エリア・ネットワーク情報に含まれる、MACモビリティ拡張コミュニティ属性の属性値は、第2の属性値であり、前記第2の属性値は、前記第1の属性値より大きい、ステップと、
前記第2のネットワークデバイスによって、前記第4の経路を前記第1のネットワークデバイスへ送信するステップと
をさらに含む、請求項14に記載の方法。
【請求項16】
前記第2のネットワークデバイスによって、第1の経路を受信する前記ステップの後に、前記方法は、
前記第2のネットワークデバイスによって、前記第1の経路を第3のネットワークデバイスへ送信するステップ
をさらに含む、請求項9に記載の方法。
【請求項17】
前記第1の経路は、メディア・アクセス制御/インターネット・プロトコル通知MAC/IP Advertisement経路である、請求項9に記載の方法。
【請求項18】
メディア・アクセス制御MACアドレス送信装置であって、
前記装置は第1のネットワークデバイスに適用され、
前記第1のネットワークデバイスと第2のネットワークデバイスの両方がネットワークシステム内に位置し、前記第1のネットワークデバイスは複数の仮想マシンに接続されており、前記複数の仮想マシンは第1の仮想マシンと第2の仮想マシンとを含み、前記装置は
、
事前設定された持続時間内に前記第1の仮想マシンのMACアドレスおよび前記第2の仮想マシンのMACアドレスを取得し、前記第1の仮想マシンおよび前記第2の仮想マシンが、同じMACアドレスを有し、異なる仮想ローカル・エリア・ネットワークに位置する
ことを確認した場合に、第1の経路を取得するように構成された
、取得モジュールであって、前記第1の経路は経路情報を含み、前記経路情報は、前記MACアドレス、前記第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および前記第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報を含む
、取得モジュールと、
前記第1の経路を前記第2のネットワークデバイスへ送信するように構成された、送信モジュールと
を含む、メディア・アクセス制御MACアドレス送信装置。
【請求項19】
前記装置は、
第2の経路を格納するように構成された、第1の記憶モジュールであって、前記第2の経路は、前記経路情報を含む、第1の記憶モジュール
をさらに含む、請求項18に記載の装置。
【請求項20】
前記送信モジュールは、
第3の経路を前記第2のネットワークデバイスへ送信するようにさらに構成され、前記第3の経路は、前記MACアドレスおよび前記第2の仮想ローカル・エリア・ネットワーク情報を含むが、前記第1の仮想ローカル・エリア・ネットワーク情報を含まず、
前
記取得モジュールは、
前記第1の経路を取得するために、前記第3の経路を更新するように構成される、
請求項18に記載の装置。
【請求項21】
前記第1の仮想ローカル・エリア・ネットワーク情報は、仮想プライベート・ネットワーク・タグを含む、請求項18に記載の装置。
【請求項22】
前記第1のネットワークデバイスが、イーサネット仮想プライベート・ネットワークEVPNベースの仮想拡張ローカル・エリア・ネットワークVXLANに位置する場合、前記仮想プライベート・ネットワーク・タグは、仮想拡張ローカル・エリア・ネットワーク識別子VNIを含み、
前記第1のネットワークデバイスが、セグメント・ルーティングSRネットワークもしくはインターネット・プロトコル・バージョン6セグメント・ルーティングSRv6ネットワークに位置する場合、前記仮想プライベート・ネットワーク・タグは、セグメント識別子SIDを含むか、または、
前記第1のネットワークデバイスが、マルチプロトコル・ラベル・スイッチングMPLSネットワークに位置する場合、前記仮想プライベート・ネットワーク・タグは、MPLSラベルを含む、
請求項21に記載の装置。
【請求項23】
前記第1の仮想ローカル・エリア・ネットワーク情報は、経路ターゲット属性、仮想ローカル・エリア・ネットワーク・タグ、およびMACモビリティ拡張コミュニティ属性のうちのいずれか1つまたは複数をさらに含む、請求項21に記載の装置。
【請求項24】
前記第1の仮想ローカル・エリア・ネットワーク情報に含まれる前記MACモビリティ拡張コミュニティ属性の属性値は、第1の属性値であり、
前記装置は、
第4の経路を受信するように構成された、受信モジュールであって、前記第4の経路は、前記第1の仮想マシンの前記MACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含み、前記第1の仮想マシンのものであり、前記第3の仮想ローカル・エリア・ネットワーク情報に含まれる、MACモビリティ拡張コミュニティ属性の属性値は、第2の属性値である、受信モジュールと、
前記第1の属性値が前記第2の属性値より小さい場合
、第2の経路の前記第1の仮想ローカル・エリア・ネットワーク情報を削除するように構成された、更新モジュールと、
第5の経路を格納するように構成された、第2の記憶モジュールであって、前記第5の経路は、前記MACアドレスおよび前記第3の仮想ローカル・エリア・ネットワーク情報を含む、第2の記憶モジュールと
をさらに含む、請求項23に記載の装置。
【請求項25】
前記第1の経路は、メディア・アクセス制御/インターネット・プロトコル通知MAC/IP Advertisement経路である、請求項18に記載の装置。
【請求項26】
メディア・アクセス制御MACアドレス受信装置であって、前記装置は第2のネットワークデバイスに適用され、前記第2のネットワークデバイスと第1のネットワークデバイスの両方がネットワークシステム内に位置し、前記第1のネットワークデバイスは複数の仮想マシンに接続されており、前記複数の仮想マシンは第1の仮想マシンと第2の仮想マシンとを含み、
前記装置は、
前記第1のネットワークデバイスによって送信された第1の経路を受信するように構成された、受信モジュールであって、前記第1の経路は第1の経路情報を含み、前記第1の経路情報はMACアドレス、第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想ローカル・エリア・ネットワーク情報を含み、前記MACアドレスは、前記第1のネットワークデバイスに接続されている前記第1の仮想マシンと前記第2の仮想マシンの両方のMACアドレスであり、
前記第1の経路は、事前設定された持続時間内に取得された前記両方のMACアドレスが同じMACアドレスであり、前記第1の仮想マシンおよび前記第2の仮想マシンが、異なる仮想ローカル・エリア・ネットワークに位置する場合に取得された経路であり、前記第1の仮想ローカル・エリア・ネットワーク情報は前記第1の仮想マシンに関する情報であり、前記第2の仮想ローカル・エリア・ネットワーク情報は前記第2の仮想マシンに関する情報である、受信モジュールと、
前記第1の経路情報を格納するように構成された、記憶モジュールと
を含む、メディア・アクセス制御MACアドレス受信装置。
【請求項27】
前記記憶モジュールは、
前記第1の経路情報を第2の経路に格納するように構成された、
請求項26に記載の装置。
【請求項28】
前記装置は、追加モジュールをさらに含み、
前記受信モジュールは、前記第1の経路を受信する前に、前記第1のネットワークデバイスによって送信された第3の経路を受信するように、さらに構成され、前記第3の経路は第2の経路情報を含み、前記第2の経路情報は前記MACアドレスおよび前記第2の仮想ローカル・エリア・ネットワーク情報を含むが、前記第1の仮想ローカル・エリア・ネットワーク情報を含まず、
前記追加モジュールは、前記第2の経路に前記第2の経路情報を追加するように、構成され、
前記記憶モジュールは、前記第2のネットワークデバイスのために、前記第2の経路の前記第2の経路情報を、
前記第2の経路に格納された前記第1の経路情報
に更新するように
さらに構成された、
請求項27記載の装置。
【請求項29】
前記第1の仮想ローカル・エリア・ネットワーク情報は、仮想プライベート・ネットワーク・タグを含む、請求項2
6に記載の装置。
【請求項30】
前記第1のネットワークデバイスが、イーサネット仮想プライベート・ネットワークEVPNベースの仮想拡張ローカル・エリア・ネットワークVXLANに位置する場合、前記仮想プライベート・ネットワーク・タグは、仮想拡張ローカル・エリア・ネットワーク識別子VNIを含み、
前記第1のネットワークデバイスが、セグメント・ルーティングSRネットワークもしくはインターネット・プロトコル・バージョン6セグメント・ルーティングSRv6ネットワークに位置する場合、前記仮想プライベート・ネットワーク・タグは、セグメント識別子SIDを含むか、または、
前記第1のネットワークデバイスが、マルチプロトコル・ラベル・スイッチングMPLSネットワークに位置する場合、前記仮想プライベート・ネットワーク・タグは、MPLSラベルを含む、
請求項29に記載の装置。
【請求項31】
前記第1の仮想ローカル・エリア・ネットワーク情報は、経路ターゲット属性、仮想ローカル・エリア・ネットワーク・タグ、およびMACモビリティ拡張コミュニティ属性のうちのいずれか1つまたは複数をさらに含む、請求項29に記載の装置。
【請求項32】
前記第1の仮想マシンのものであり、前記第1の経路情報に含まれる、前記MACモビリティ拡張コミュニティ属性の属性値が、第1の属性値であり、
前記装置は、
前記第1の仮想マシンと前記第2のネットワークデバイスとの間の接続に基づいて第4の経路を生成するように構成された、生成モジュールであって、前記第4の経路は、前記第1の仮想マシンの前記MACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含み、前記第1の仮想マシンのものであり、前記第3の仮想ローカル・エリア・ネットワーク情報に含まれる、MACモビリティ拡張コミュニティ属性の属性値は、第2の属性値であり、前記第2の属性値は、前記第1の属性値より大きい、生成モジュールと、
前記第4の経路を前記第1のネットワークデバイスへ送信するように構成された送信モジュールと
をさらに含む、請求項31に記載の装置。
【請求項33】
前記装置は、
前記第1の経路を第3のネットワークデバイスへ送信するように構成された
、送信モジュール
をさらに含む、請求項26に記載の装置。
【請求項34】
前記第1の経路は、メディア・アクセス制御/インターネット・プロトコル通知MAC/IP Advertisement経路である、請求項26に記載の装置。
【請求項35】
メディア・アクセス制御MACアドレス送受信システムであって、前記システムは第1のネットワークデバイスおよび第2のネットワークデバイスを含み、前記第1のネットワークデバイスは複数の仮想マシンに接続され、前記複数の仮想マシンは第1の仮想マシンおよび第2の仮想マシンを含み、
前記第1のネットワークデバイスは、
事前設定された持続時間内に前記第1の仮想マシンのMACアドレス
および前記第2の仮想マシンのMACアドレスを取得し、前記第1の仮想マシンおよび前記第2の仮想マシンが同じMACアドレスを有し、異なる仮想ローカル・エリア・ネットワークに位置する
ことを確認した場合に、第1の経路を取得するように構成され、
前記第1の経路は第1の経路情報を含み、前記第1の経路情報は、前記MACアドレス、前記第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および前記第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報を含み、前記第1の経路を前記第2のネットワークデバイスへ送信するように構成され、
前記第2のネットワークデバイスは、前記第1のネットワークデバイスによって送信された前記第1の経路を受信し、前記第1の経路情報を前記第1の経路に格納するように構成された、
メディア・アクセス制御MACアドレス送受信システム。
【請求項36】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体は命令を格納し、前記命令がコンピュータ上で実行されると、前記コンピュータは、請求項1から17のいずれか一項に記載の方法を実行することが可能になる、コンピュータ可読記憶媒体。
【請求項37】
命令を含むコンピュータプログラ
ムであって、前記コンピュータプログラ
ムがコンピュータ上で実行されると、前記コンピュータは、請求項1から17のいずれか一項に記載の前記方法を実行することが可能になる、コンピュータプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願の実施形態は、2020年3月23日に出願された「MACアドレス送信方法、装置、およびシステム」という名称の中国特許出願第202010209165.5号の優先権を主張し、その全体が参照により本出願の実施形態に組み込まれる。
【0002】
本出願の実施形態は、通信技術の分野に関し、詳細には、メディア・アクセス制御(Media Access Control,MAC)アドレス送信方法、装置、およびシステム、ならびに関連デバイスに関する。
【背景技術】
【0003】
イーサネット仮想プライベート・ネットワーク(Ethernet Virtual Private Network,EVPN)は、レイヤ2ネットワーク相互接続のための仮想プライベート・ネットワーク(Virtual Private Network,VPN)技術である。レイヤ2サービスを搬送するための主流の解決策として、EVPNは様々な事業者のネットワーク設計に広く使用されている。EVPNベースの仮想拡張ローカル・エリア・ネットワーク(virtual extensible local area network,VXLAN)は、互いに通信する複数のプロバイダ・エッジ(Provider Edge,PE)デバイスを含む。ホストは、VXLANにアクセスするためにVXLAN内のPEデバイスに接続されてもよい。
【0004】
PEデバイスは、複数のホスト(PEデバイスのローカルホストと呼ばれてもよい)に接続されてもよく、複数の仮想マシン(PEデバイスのローカル仮想マシンと呼ばれてもよい)は、複数のホストの各々に作成されてもよい。各ホスト上の複数の仮想マシンは、同じ仮想ローカル・エリア・ネットワーク(virtual local area network,VLAN)、または異なるVLANに属してもよい。
【0005】
PEデバイスは、PEデバイスのローカル仮想マシンのMACアドレスを取得することができる。PEデバイスが仮想マシンのMACアドレスを取得するたびに、PEデバイスは、仮想マシンのMACアドレスを通知するためのメディア・アクセス制御/インターネット・プロトコル通知(Media Access Control/Internet Protocol Advertisement,MAC/IP Advertisement)経路を生成し、MAC/IP Advertisement経路を、他のPEデバイスに送信することができる。The MAC/IP Advertisement経路は、仮想マシンのMACアドレスおよび仮想マシンのVXLANネットワーク識別子(VXLAN network identifier,VNI)を含む。
【発明の概要】
【課題を解決するための手段】
【0006】
本出願の実施形態は、ネットワーク内の仮想マシンのMACアドレスを通知するための経路数をある程度減らすために、MACアドレス送信方法、装置、およびシステム、ならびに関連デバイスを提供する。
【0007】
第1の態様によれば、MACアドレス送信方法が提供され、ネットワークシステムに適用される。ネットワークシステムは、第1のネットワークデバイスおよび第2のネットワークデバイスを含み、第1のネットワークデバイスは複数の仮想マシンに接続され、複数の仮想マシンは第1の仮想マシンおよび第2の仮想マシンを含む。
【0008】
本方法は、第1のネットワークデバイスによって実行されてもよい。具体的には、第1のネットワークデバイスは、第1の仮想マシンのMACアドレスを取得する。第1の仮想マシンおよび第2の仮想マシンが同じMACアドレスを有し、異なる仮想ローカル・エリア・ネットワークに位置するときに、第1のネットワークデバイスが第1の経路を取得し、第1の経路は経路情報を含み、経路情報は、MACアドレス、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報を含む。第1のネットワークデバイスは、第1の経路を第2のネットワークデバイスへ送信する。
【0009】
可能な場合には、MACアドレスが第1の仮想マシンのMACアドレスと同じである、複数の仮想マシンが存在するか場合があり、複数の仮想マシンは、第1の仮想マシンが位置する仮想ローカル・エリア・ネットワークとは異なる仮想ローカル・エリア・ネットワーク内に位置し、仮想ローカル・エリア・ネットワークも互いに異なる。第2の仮想マシンは、複数の仮想マシンのうちの1つである。前述の場合、第1の経路内の経路情報は、MACアドレス、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および複数の仮想マシンの複数の仮想ローカル・エリア・ネットワーク情報を含み、複数の仮想マシンは、複数の仮想ローカル・エリア・ネットワーク情報に、1対1で対応する。
【0010】
本出願の実施形態では、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワークに位置する複数の仮想マシンについて、複数の仮想マシンのそれぞれのMACアドレスおよび仮想ローカル・エリア・ネットワーク情報を通知するために、1つの経路を使用することができ、すなわち、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワークに位置する複数の仮想マシンの複数の情報を、1つの経路に集約することができる。このようにして、ネットワーク内の経路の数を減らすことができ、経路伝送性能および経路収束性能が、改善され得る。
【0011】
可能な実装形態では、第1のネットワークデバイスは、第2の経路(例えば、ボーダ・ゲートウェイ・プロトコル(Border Gateway Protocol,BGP)経路)を格納することができ、第2の経路は、経路情報を含む。このようにして、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワークに位置する複数の仮想マシンについて、複数の仮想マシンの同じMACアドレスおよび仮想ローカル・エリア・ネットワーク情報を記録するために、ただ1つの経路がローカルに格納される必要があり、経路は、複数の仮想マシンにそれぞれ対応する複数の経路テーブルエントリを含むことができる。すなわち、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワークに位置する複数の仮想マシンについて、複数の仮想マシンに対応する複数の情報が1つの経路に記録され、ローカルに格納する必要がある経路の数を減らし、記憶リソースを節約する。
【0012】
可能な実装形態では、第1のネットワークデバイスが第1の経路を取得する前に、第1のネットワークデバイスは、第3の経路を第2のネットワークデバイスへ送信することができ、第3の経路は、MACアドレスおよび第2の仮想ローカル・エリア・ネットワーク情報を含むが、第1の仮想ローカル・エリア・ネットワーク情報を含まない。例えば、1つまたは複数の仮想マシンがオンラインになると、第1のネットワークデバイスは、1つまたは複数の仮想マシンの関連属性情報を取得することができ、1つまたは複数の仮想マシンは、第2の仮想マシンを含むが、第1の仮想マシンを含まない。前述の場合、第1のネットワークデバイスは、第2の仮想マシンの関連情報を通知するために、第2のネットワークデバイスに第3の経路を送信することができる。第1のネットワークデバイスが、同時にオンラインになる(ここで、「同時にオンラインになる」とは、必ずしも仮想マシンが同じ時点でオンラインになることを意味せず、仮想マシンは特定のしきい値範囲内の時点で順次オンラインになってもよい)仮想マシンが、第2の仮想マシンのMACアドレスと同じMACアドレスを有する仮想マシンを、さらに含むことをさらに確認した場合、第1のネットワークデバイスは、第3の経路で、同じMACアドレスを有する複数の仮想マシンの関連情報を送信することができる。第1のネットワークデバイスが第3の経路を送信した後、第1の仮想マシンは即座にオンラインになり、第1の仮想マシンおよび第2の仮想マシンは同じMACアドレスを有する。この場合、第1のネットワークデバイスは、第1の仮想マシンの関連情報を通知するために、第1の経路を送信することができる。第1の経路は、第1の仮想マシンの関連情報と、前述の第3の経路に含まれる1つ以上の仮想マシンの関連情報とを含んでもよい。すなわち、第1の経路は、第3の経路の更新経路として用いられてもよい。上記では、仮想マシンがオンラインになるときに送信される経路が、第3の経路である例を使用している。第3の経路は、代替的に、更新シナリオにおける経路であってもよいことが理解されよう。このようにして、第2のネットワークデバイスは、第1のネットワークデバイスによって通知された最新の経路を連続的に受信することができ、第1のネットワークデバイスの下にあり、同じMACアドレスを有する仮
想マシンの集約された属性情報を、経路が含んでおり、第2のネットワークデバイスにローカルで格納された経路の数を減らす。
【0013】
例えば、第1の仮想ローカル・エリア・ネットワーク情報は、仮想プライベート・ネットワーク・タグを含むことができる。例えば、第1のネットワークデバイスがEVPNベースのVXLANに位置する場合、仮想プライベート・ネットワーク・タグはVNIを含む。あるいは、第1のネットワークデバイスがセグメント・ルーティング(Segment Routing,SR)ネットワーク、またはインターネット・プロトコル・バージョン6セグメント・ルーティング(Internet Protocol Version 6 segment routing,SRv6)ネットワークに位置する場合、仮想プライベート・ネットワーク・タグはセグメント識別子(segment identifier,SID)を含む。あるいは、第1のネットワークデバイスがマルチ・プロトコル・ラベル・スイッチング(Multi-protocol Label Switching,MPLS)ネットワークに位置する場合、仮想プライベート・ネットワーク・タグはMPLSラベルを含む。
【0014】
例えば、第1の仮想ローカル・エリア・ネットワーク情報は、経路ターゲット属性、仮想ローカル・エリア・ネットワーク・タグ、およびMACモビリティ拡張コミュニティ属性のうちのいずれか1つまたは複数をさらに含むことができる。
【0015】
第1の経路は、MACアドレスを通知するための経路であってもよい。例えば、第1の経路はMAC/IP Advertisement経路であってもよく、MAC/IP Advertisement経路はBGP更新(Update)パケットで搬送されてもよい。上記の場合、MACアドレス、第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想ローカル・エリア・ネットワーク情報を含む経路情報は、MAC/IP Advertisement経路内の一部のフィールドに存在してもよい。あるいは、経路情報の一部の情報がBGP Updateパケット内の一部のフィールドに直接存在し、他の情報がMAC/IP Advertisement経路内に存在していてもよい。別の場合には、経路情報は、代替的に別種類の経路に存在してもよい。経路および1つまたは複数の他の通知経路は、パケットで搬送され、一緒に送信されてもよく、または経路は個別に送信されてもよい。
【0016】
可能な実装形態では、第1の仮想ローカル・エリア・ネットワーク情報に含まれるMACモビリティ拡張コミュニティ(MAC Mobility Extended Community,MMEC)属性の属性値は、第1の属性値である。この場合、第1のネットワークデバイスは第4の経路を受信し、第4の経路は第1の仮想マシンのMACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含み、第1の仮想マシンのものであり、第3の仮想ローカル・エリア・ネットワーク情報に含まれる、MACモビリティ拡張コミュニティ属性の属性値は、第2の属性値である。第1の属性値が第2の属性値より小さい場合、第1のネットワークデバイスは、第2の経路内の第1の仮想ローカル・エリア・ネットワーク情報を削除し、第5の経路を格納し、第5の経路は、MACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含む。
【0017】
第1の属性値が第2の属性値より小さいとき、それは、第3の仮想ローカル・エリア・ネットワーク情報が、第1の仮想ローカル・エリア・ネットワーク情報と比較された、第1の仮想マシンの更新された仮想ローカル・エリア・ネットワーク情報であり、別のネットワークデバイスによって送信されることを示す。この場合、第1の仮想マシンは、第1のネットワークデバイスから別のネットワークデバイスに移行することを示す。したがって、第1のネットワークデバイスは、第1の仮想マシンに対応するローカルに格納された経路テーブルエントリを更新することができ、具体的には、第1のネットワークデバイスは、第2の経路に格納された第1の仮想ローカル・エリア・ネットワーク情報を削除することができる。第1のネットワークデバイスは、受信した第4の経路に基づいて、第5の経路(例えば、BGP経路)をさらに生成し、第5の経路を格納し、第5の経路は、第2のネットワークデバイスによって送信された第3の仮想ローカル・エリア・ネットワーク情報を含む。したがって、MMEC属性を使用することにより、第1のネットワークデバイスは、ローカルに維持される経路情報の精度を向上させ、ネットワーク動作の堅牢性を向上させるために、ローカル仮想マシンの移行を適時に検出することができる。
【0018】
第2の態様によれば、MACアドレス送信装置が提供される。MACアドレス送信装置は、第1の態様によるMACアドレス送信方法における挙動を実施する機能を有する。MACアドレス送信装置は少なくとも1つのモジュールを含み、少なくとも1つのモジュールは、第1の態様によるMACアドレス送信方法を実施するように構成される。
【0019】
第3の態様によれば、MACアドレス送信装置が提供される。MACアドレス送信装置の構造は、プロセッサとトランシーバとを含む。プロセッサは、第1の態様によるMACアドレス送信方法を実施するために、メモリに格納されたプログラムを実行するように構成される。トランシーバは、第1の態様において様々な種類のデータを送受信するように構成される。任意選択で、本装置は、第1の態様によるMACアドレス送信方法を実行する際に、MACアドレス送信装置をサポートするプログラムを格納するように構成されたメモリをさらに含んでもよい。MACアドレス送信装置は、通信バスをさらに含むことができ、通信バスはプロセッサとトランシーバとの間の接続を確立するように構成される。
【0020】
第4の態様によれば、コンピュータ可読記憶媒体が提供される。コンピュータ可読記憶媒体は命令を格納する。命令がコンピュータ上で実行されると、コンピュータは、第1の態様によるMACアドレス送信方法を実行することが可能になる。
【0021】
第5の態様によれば、命令を含むコンピュータプログラム製品が提供される。コンピュータプログラム製品がコンピュータ上で動作すると、コンピュータは、第1の態様によるMACアドレス送信方法を実行することが可能になる。
【0022】
第6の態様によれば、MACアドレス受信方法が提供され、ネットワークシステムに適用される。ネットワークシステムは、第1のネットワークデバイスおよび第2のネットワークデバイスを含み、第1のネットワークデバイスは複数の仮想マシンに接続され、複数の仮想マシンは第1の仮想マシンおよび第2の仮想マシンを含む。
【0023】
本方法は、第2のネットワークデバイスによって実行される。具体的には、第2のネットワークデバイスは、第1のネットワークデバイスによって送信された第1の経路を受信し、第1の経路は、第1の経路情報を含み、第1の経路情報は、MACアドレス、第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想ローカル・エリア・ネットワーク情報を含み、MACアドレスは、第1のネットワークデバイスに接続された第1の仮想マシンと第2の仮想マシンの両方のMACアドレスであり、第1の仮想ローカル・エリア・ネットワーク情報は、第1の仮想マシンに関する情報であり、第2の仮想ローカル・エリア・ネットワーク情報は、第2の仮想マシンに関する情報である。第2のネットワークデバイスは、第1の経路情報を格納する。
【0024】
可能な場合には、MACアドレスが第1の仮想マシンのMACアドレスと同じである複数の仮想マシンが存在し、複数の仮想マシンは、第1の仮想マシンが位置する仮想ローカル・エリア・ネットワークとは異なる仮想ローカル・エリア・ネットワーク内に位置し、仮想ローカル・エリア・ネットワークも互いに異なる。第2の仮想マシンは、複数の仮想マシンのうちの1つである。前述の場合、第1の経路内の経路情報は、MACアドレス、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および複数の仮想マシンの複数の仮想ローカル・エリア・ネットワーク情報を含み、複数の仮想マシンは、複数の仮想ローカル・エリア・ネットワーク情報に、1対1で対応する。
【0025】
本出願の実施形態では、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワークに位置する複数の仮想マシンについて、複数の仮想マシンのそれぞれのMACアドレスおよび仮想ローカル・エリア・ネットワーク情報を通知するために、1つの経路を使用することができ、すなわち、異なる仮想ローカル・エリア・ネットワーク内にある同じMACアドレスを1つの経路に集約することができる。このようにして、ネットワーク内の経路の数を減らすことができ、経路伝送性能および経路収束性能が、改善され得る。
【0026】
可能な実装形態では、第1の経路情報を格納するとき、第2のネットワークデバイスは、第2の経路に第1の経路情報を格納する。このように、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワーク内に位置する複数の仮想マシンについては、複数の仮想マシンのMACアドレスおよび複数の仮想マシンの仮想ローカル・エリア・ネットワーク情報を記録するために、ただ1つの経路を格納すればよい。すなわち、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワークに位置する複数の仮想マシンについて、複数の仮想マシンに対応する複数の経路テーブルエントリを1つの経路に記録して、ローカルに格納する必要がある経路の数を減らすことができる。
【0027】
可能な実装形態では、第1の経路を受信する前に、第2のネットワークデバイスは、第1のネットワークデバイスによって送信された第3の経路を受信し、第3の経路は、第2の経路情報を含み、第2の経路情報は、MACアドレスおよび第2の仮想ローカル・エリア・ネットワーク情報を含むが、第1の仮想ローカル・エリア・ネットワーク情報を含まない。第2のネットワークデバイスは、第2の経路に第2の経路情報を格納する。すなわち、第2のネットワークデバイスによってローカルに格納された第2の経路は、第2の仮想マシンの仮想ローカル・エリア・ネットワーク情報を含む。この場合、第1の仮想マシンは第1のネットワークデバイスなどの下でオンラインにならない可能性があるため、第1のネットワークデバイスによって送信され、第2のネットワークデバイスによって受信される第3の経路は、第2の仮想マシンのMACアドレスと同じMACアドレスを有する、第1の仮想マシンに関する情報を含まない。したがって、第2のネットワークデバイスによってローカルに格納された第2の経路は、第1の仮想マシンに関する情報も含まない。第2のネットワークデバイスが第3の経路を受信した後、第1の仮想マシンの属性情報を含む第1の経路を受信した後、第2のネットワークデバイスは、第2の経路に第1の経路に含まれる第1の経路情報を格納するとき、第2の経路内の第2の経路情報を、第1の経路情報として更新することができる。更新は、例えば、完全な第2の経路情報を第1の経路情報として更新することであってもよいし、第2の経路情報内の、第1の経路情報とは異なるデータ内容を、部分的に更新することであってもよい。
【0028】
上記の場合、第3の経路は第2の仮想マシンに関する情報を含み、第1の経路が第1の仮想マシンに関する情報および第2の仮想マシンに関する情報を含むことは、一例として使用される。実際の適用シナリオでは、第3の経路は、第2の仮想マシンのMACアドレスと同じMACアドレスを有する1つまたは複数の他の仮想マシンに関する情報をさらに含んでもよく、第3の経路は、第1の仮想マシンのMACアドレスと同じMACアドレスを有する仮想マシン、例えば、第2の仮想マシンおよび/または1つもしくは複数の他の仮想マシンを含んでもよく、または別の仮想マシンに関する情報を含まなくてもよい。すなわち、第1のネットワークデバイスが第1の経路を送信するとき、第1の経路に含まれる第1の経路情報は、第1のネットワークデバイスに実際に搭載され、第1の仮想マシンがオンラインになるときに第1の仮想マシンが確認されるMACアドレスと同じMACアドレスを有する、仮想マシンに関する情報である。
【0029】
例えば、第1の仮想ローカル・エリア・ネットワーク情報は、仮想プライベート・ネットワーク・タグを含むことができる。例えば、第1のネットワークデバイスがEVPNベースのVXLANに位置する場合、仮想プライベート・ネットワーク・タグはVNIを含む。あるいは、第1のネットワークデバイスがSRネットワークまたはSRv6ネットワークに位置する場合、仮想プライベート・ネットワーク・タグはSIDを含む。あるいは、第1のネットワークデバイスがMPLSネットワークに位置する場合、仮想プライベート・ネットワーク・タグはMPLSラベルを含む。
【0030】
例えば、第1の仮想ローカル・エリア・ネットワーク情報は、経路ターゲット属性、仮想ローカル・エリア・ネットワーク・タグ、およびMACモビリティ拡張コミュニティ属性のうちのいずれか1つまたは複数をさらに含むことができる。
【0031】
第1の経路は、MACアドレスを通知するための経路であってもよい。例えば、第1の経路はMAC/IP Advertisement経路であってもよく、MAC/IP Advertisement経路はBGP Updateパケットで搬送されてもよい。上記の場合、MACアドレス、第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想ローカル・エリア・ネットワーク情報を含む経路情報は、MAC/IP Advertisement経路内の一部のフィールドに存在してもよい。あるいは、経路情報の一部の情報がBGP Updateパケット内の一部のフィールドに直接存在し、他の情報がMAC/IP Advertisement経路内に存在していてもよい。別の場合には、経路情報は、代替的に別種類の経路に存在してもよい。経路および1つまたは複数の他の経路は、パケットで搬送され、一緒に送信されてもよく、または経路は個別に送信されてもよい。
【0032】
可能な実装形態では、第1の仮想マシンのものであり、第1の経路情報に含まれる、MACモビリティ拡張コミュニティ属性の属性値は、第1の属性値である。この場合、第2のネットワークデバイスは、第1の仮想マシンと第2のネットワークデバイスとの間の接続に基づいて、第4の経路(MAC/IP Advertisement経路など)を生成し、第4の経路を第1のネットワークデバイスへ送信する。第4の経路は、第1の仮想マシンのMACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含む。第1の仮想マシンのものであり、第3の仮想ローカル・エリア・ネットワーク情報に含まれる、MACモビリティ拡張コミュニティ属性の属性値は、第2の属性値であり、第2の属性値は第1の属性値より大きい。第2のネットワークデバイスは、第6の経路をさらにローカルに格納することができ、第6の経路は、第1の仮想マシンのMACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含む。第6の経路および第2の経路は、独立して格納された2つの経路であり、第2の経路は、第1のネットワークデバイスから受信したMAC/IP Advertisement経路に基づいて格納された経路であり、第6の経路は、第2のネットワークデバイスの下で検出された仮想マシンに基づいて、第2のネットワークデバイスによって生成または取得された経路である。
【0033】
第1の仮想マシンが第2のネットワークデバイスに接続されているとき、それは、第1の仮想マシンが第1のネットワークデバイスから第2のネットワークデバイスに移行することを示す。したがって、第2のネットワークデバイスは、第1の仮想マシンのローカルに格納されたMMEC属性の属性値を更新することができ、具体的には、第1の仮想マシンのMMEC属性の属性値を増加させることができ、言い換えれば、第2の属性値は第1の属性値よりも大きい。第1の仮想マシンのMMEC属性の属性値が増加された後で、第1の仮想マシンのMACアドレスおよび仮想ローカル・エリア・ネットワーク情報を再度通知することができ、すなわち、第4の経路を第1のネットワークデバイスへ送信することができる。ある場合には、第1の仮想マシンの更新された仮想ローカル・エリア・ネットワーク情報に加えて、第2のネットワークデバイスによって格納され、第1の仮想マシンのMACアドレスと同じMACアドレスを有する、別の仮想マシンに関する情報を、第4の経路にさらに含めることができる。別の場合には、例えば、別の仮想マシンが第1のネットワークデバイスから第2のネットワークデバイスに同時に移行するとき、または別の仮想マシンが第2のネットワークデバイスの下で新たにオンラインになるとき、第4の経路は、代替として、第1の仮想マシンの更新された仮想ローカル・エリア・ネットワーク情報のみを搬送してもよく、代替として、第1の仮想マシンの更新された仮想ローカル・エリア・ネットワーク情報、および第1の仮想マシンのMACアドレスと同じMACアドレスを有する他の更新された仮想ローカル・エリア・ネットワーク情報を搬送してもよい。別の場合には、第4の経路を受信する第1のネットワークデバイスは、受信された経路で搬送された更新された情報に基づいて、同じMACアドレスを有するローカルに格納された経路内の経路テーブルエントリを更新して、経路送信効率を改善し、経路受信側によってローカルに格納された経路の数を減らすことができる。
【0034】
可能な実装形態では、第2のネットワークデバイスが第1の経路を受信した後、第2のネットワークデバイスは、第1の経路を第3のネットワークデバイスへさらに送信することができる。第2のネットワークデバイスは、例えば、経路リフレクタであってもよい。第1のネットワークデバイスは送信する必要がある経路の数を減らすので、したがって、第2のネットワークデバイスも再通知する必要がある経路の数を減らし、それによってネットワークの全体的な伝送効率を改善する。
【0035】
第7の態様によれば、MACアドレス送信装置が提供される。MACアドレス送信装置は、第6の態様によるMACアドレス送信方法における挙動を実施する機能を有する。MACアドレス送信装置は少なくとも1つのモジュールを含み、少なくとも1つのモジュールは、第6の態様によるMACアドレス送信方法を実施するように構成される。
【0036】
第8の態様によれば、MACアドレス送信装置が提供される。MACアドレス送信装置の構造は、プロセッサとトランシーバとを含む。プロセッサは、第6の態様によるMACアドレス送信方法を実施するために、メモリに格納されたプログラムを実行するように構成される。トランシーバは、第6の態様において様々な種類のデータを送受信するように構成される。任意選択で、本装置は、第6の態様によるMACアドレス送信方法を実行する際に、MACアドレス送信装置をサポートするプログラムを格納するように構成されたメモリをさらに含んでもよい。MACアドレス送信装置は、通信バスをさらに含むことができ、通信バスはプロセッサとトランシーバとの間の接続を確立するように構成される。
【0037】
第9の態様によれば、コンピュータ可読記憶媒体が提供される。コンピュータ可読記憶媒体は命令を格納する。命令がコンピュータ上で実行されると、コンピュータは第6の態様によるMACアドレス送信方法を実行することが可能になる。
【0038】
第10の態様によれば、命令を含むコンピュータプログラム製品が提供される。コンピュータプログラム製品がコンピュータ上で動作すると、コンピュータは、第6の態様によるMACアドレス送信方法を実行することが可能になる。
【0039】
第11の態様によれば、MACアドレス送受信システムが提供される。システムは、第1のネットワークデバイスおよび第2のネットワークデバイスを含み、第1のネットワークデバイスは複数の仮想マシンに接続され、複数の仮想マシンは第1の仮想マシンおよび第2の仮想マシンを含む。
【0040】
第1のネットワークデバイスは、
第1の仮想マシンのMACアドレスを取得し、
第1の仮想マシンおよび第2の仮想マシンが同じMACアドレスを有し、異なる仮想ローカル・エリア・ネットワークに位置する場合に、第1の経路を取得し、第1の経路は第1の経路情報を含み、第1の経路情報は、MACアドレス、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報を含み、
第1の経路を第2のネットワークデバイスへ送信するように、構成される。
【0041】
第2のネットワークデバイスは、第1のネットワークデバイスによって送信された第1の経路を受信し、
第1の経路情報を第1の経路に格納するように、構成される。
【0042】
可能な実装形態では、第1のネットワークデバイスは、第2の経路を格納するようにさらに構成され、第2の経路は、第1の経路情報を含む。
【0043】
可能な実装形態では、第2のネットワークデバイスは、第6の経路に第1の経路情報を格納するように構成される。
【0044】
可能な実装形態では、第1のネットワークデバイスは、第3の経路を第2のネットワークデバイスへ送信するようにさらに構成され、第3の経路は、第2の経路情報を含み、第2の経路情報は、MACアドレスおよび第2の仮想ローカル・エリア・ネットワーク情報を含むが、第1の仮想ローカル・エリア・ネットワーク情報を含まない。このようにして、第1のネットワークデバイスは、第1の経路を取得するために、第3の経路を更新するように構成される。
【0045】
第2のネットワークデバイスは、第1のネットワークデバイスによって送信された第3の経路を受信し、第2の経路情報を第6の経路に追加する。このようにして、第2のネットワークデバイスは、第6の経路の第2の経路情報を第1の経路情報として更新するように構成される。
【0046】
可能な場合には、第1の仮想ローカル・エリア・ネットワーク情報は、仮想プライベート・ネットワーク・タグを含む。例えば、第1のネットワークデバイスがEVPNベースのVXLANに位置する場合、仮想プライベート・ネットワーク・タグはVNIを含む。あるいは、第1のネットワークデバイスがSRネットワークまたはSRv6ネットワークに位置する場合、仮想プライベート・ネットワーク・タグはSIDを含む。あるいは、第1のネットワークデバイスがMPLSネットワークに位置する場合、仮想プライベート・ネットワーク・タグはMPLSラベルを含む。
【0047】
可能な場合には、第1の仮想ローカル・エリア・ネットワーク情報は、経路ターゲット属性、仮想ローカル・エリア・ネットワーク・タグ、およびMACモビリティ拡張コミュニティ属性のうちのいずれか1つまたは複数をさらに含む。
【0048】
可能な場合には、第1の経路は、MAC/IP Advertisement経路である。
【0049】
可能な実装形態では、第1の仮想ローカル・エリア・ネットワーク情報に含まれるMACモビリティ拡張コミュニティ属性の属性値は、第1の属性値である。
【0050】
第2のネットワークデバイスは、第1の仮想マシンと第2のネットワークデバイスとの間の接続に基づいて、第4の経路を生成するように、さらに構成され、第4の経路は、第1の仮想マシンのMACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含み、第1の仮想マシンのものであり、第3の仮想ローカル・エリア・ネットワーク情報に含まれる、MACモビリティ拡張コミュニティ属性の属性値は第2の属性値であり、第2の属性値は第1の属性値より大きく、第4の経路を第1のネットワークデバイスへ送信するように、さらに構成される。
【0051】
第1のネットワークデバイスは、第4の経路を受信し、第1の属性値が第2の属性値未満である場合、第2の経路における第1の仮想ローカル・エリア・ネットワーク情報を削除し、MACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含む第5の経路を格納するように、さらに構成される。
【0052】
可能な実装形態では、第2のネットワークデバイスは、第1の経路を第3のネットワークデバイスへ送信するようにさらに構成される。
【0053】
第2の態様、第3の態様、第4の態様、および第5の態様において達成される技術的効果は、第1の態様における対応する技術的手段を用いて達成される技術的効果と同様である。ここでは詳細を繰り返さない。
【0054】
第7の態様、第8の態様、第9の態様、および第10の態様において達成される技術的効果は、第6の態様における対応する技術的手段を用いて達成される技術的効果と同様である。ここでは詳細を繰り返さない。
【0055】
第11の態様において得られる技術的効果は、第1の態様および第6の態様における対応する技術的手段を用いて達成される技術的効果と同様である。ここでは詳細を繰り返さない。
【図面の簡単な説明】
【0056】
【
図1】本出願の一実施形態による、ネットワークシステムの概略図である。
【
図2】本出願の一実施形態による、MACアドレス送信方法のフォローチャートある。
【
図3】本出願の一実施形態による、別のネットワークシステムの概略図である。
【
図4】本出願の一実施形態による、ネットワークデバイスの構造の概略図である。
【
図5】本出願の一実施形態による、MACアドレス送信装置の構造の概略図である。
【
図6】本出願の一実施形態による、別のMACアドレス送信装置の構造の概略図である。および
【
図7】本出願の一実施形態による、MACアドレス送受信システムの概略図である。
【発明を実施するための形態】
【0057】
本出願の実施形態の目的、技術的解決策、および利点をより明確にするために、以下で、添付の図面を参照して本出願の実装形態を詳細にさらに説明する。
【0058】
本出願の実施形態が詳細に説明される前に、本出願の実施形態における適用シナリオが最初に説明される。
【0059】
図1は、本出願の一実施形態による、ネットワークシステムの概略図である。
図1を参照されたい。ネットワークシステム、例えば、EVPNベースのVXLANネットワーク、SRネットワーク、SRv6ネットワーク、またはMPLSネットワークは、通常、データ転送機能を実施するために、互いに通信するための複数のネットワークデバイス(例えば、
図1に示すネットワークデバイス1およびネットワークデバイス2)を含む。ホスト(例えば、
図1に示すホスト1、ホスト2、ホスト3、ホスト4)は、ネットワークシステムにアクセスするために、ネットワークシステム内のネットワークデバイスに接続されてもよい。
【0060】
各ネットワークデバイスは、複数のホスト(ネットワークデバイスのローカルホストと呼ばれてもよい)に接続されてもよく、複数の仮想マシン(ネットワークデバイスのローカル仮想マシンと呼ばれてもよい)は、複数のホストのそれぞれに作成されてもよい。すなわち、各ネットワークデバイスは、複数の仮想マシンに接続されてもよい。ネットワークデバイスに接続された複数の仮想マシンは、同じVLANに属していてもよいし、異なるVLANに属していてもよい。各ネットワークデバイスは、ネットワークデバイスに接続された仮想マシンのMACアドレスを取得し、MACアドレスを別のネットワークデバイスに送信することができる。
【0061】
通常、VXLANでは、ネットワークデバイスがネットワークデバイスに接続された仮想マシンのMACアドレスを取得するたびに、ネットワークデバイスは仮想マシンのMACアドレスを通知するためのMAC/IP Advertisement経路を生成する。MAC/IP Advertisement経路は、仮想マシンのMACアドレスと、仮想マシンのVNIとを含む。次いで、ネットワークデバイスは、別のネットワークデバイスが仮想マシンのMACアドレスを知るように、MAC/IP Advertisement経路を、別のネットワークデバイスに送信する。
【0062】
しかしながら、仮想マシン技術が発展するにつれて、1つのホスト上に大量の仮想マシンが作成される可能性があり、異なる仮想マシンは異なる仮想ローカル・エリア・ネットワークに属し、同じMACアドレスを有する可能性がある。前述のMACアドレス通知方式では、各仮想マシンに対して、1つのMAC/IP Advertisement経路が、生成される必要がある。その結果、ネットワーク内の経路の数が連続的に増加し、ネットワーク性能に影響を及ぼす。
【0063】
したがって、本出願の一実施形態は、異なる仮想ローカル・エリア・ネットワーク内の同じMACアドレスが、1つの経路に集約され得、ネットワーク内で送信される経路数をある程度削減し、ネットワークデバイスによってローカルに維持される経路数を大幅に削減し、全体的なネットワーク動作性能を改善できるような、MACアドレス送信方法を提供する。
【0064】
図2は、本出願の一実施形態によるMACアドレス送信方法のフローチャートである。本方法は、
図1に示すネットワークシステムに適用され、ネットワークシステムは第1のネットワークデバイスおよび第2のネットワークデバイスを含み、第1のネットワークデバイスは複数の仮想マシンに接続され、複数の仮想マシンは第1の仮想マシンおよび第2の仮想マシンを含む。
図2を参照すると、本方法は以下のステップを含む。
【0065】
201:第1のネットワークデバイスは、第1の仮想マシンのMACアドレスを取得する。
【0066】
第1のネットワークデバイスは、データ転送機能を有するデバイス、例えば、スイッチまたはルータなどのデバイスであってもよい。異なるネットワークでは、第1のネットワークデバイスの種類は同じであっても異なっていてもよい。
【0067】
例えば、EVPNベースのVXLANでは、第1のネットワークデバイスは、VXLANトンネル・エンド・ポイント(vxlan tunnel end point,VTEP)デバイスなどであってもよい。EVPNは、レイヤ2ネットワーク相互接続のためのVPN技術である。
【0068】
別の例では、EVPNベースのVXLAN、SRネットワーク、SRv6ネットワーク、またはMPLSネットワークでは、第1のネットワークデバイスはPEデバイスであり得る。SRv6ネットワークは、インターネット・プロトコル・バージョン6(Internet Protocol Version 6,IPv6)データ・プレーンを使用し、IPv6ネットワークに増分的に配備され得る。
【0069】
第1のネットワークデバイスは、複数のホスト(第1のネットワークデバイスのローカルホストと呼ばれてもよい)に接続されてもよく、複数の仮想マシン(第1のネットワークデバイスのローカル仮想マシンと呼ばれてもよい)は、複数のホストの各々に作成されてもよい。すなわち、第1のネットワークデバイスは、複数の仮想マシンに接続されてもよい。第1のネットワークデバイスに接続された複数の仮想マシンは、同じVLANに属してもよいし、異なるVLANに属してもよい。
【0070】
さらに、第1の仮想マシンは、第1のネットワークデバイスに接続された複数の仮想マシンのうちの1つであり、すなわち、第1の仮想マシンは、第1のネットワークデバイスのローカル仮想マシンである。第1のネットワークデバイスは、ローカル仮想マシンのMACアドレスを取得することができる。
【0071】
具体的には、第1のネットワークデバイスは、複数の方法で第1の仮想マシンのMACアドレスを取得することができる。可能な方法では、インターネット・プロトコル・バージョン4(Internet Protocol Version 4,IPv4)ネットワークでは、第1の仮想マシンのMACアドレスは、第1の仮想マシンから受信されたアドレス解決プロトコル(Address Resolution Protocol,ARP)パケットに基づいて、第1のネットワークデバイスによって決定され得、ARPパケットは、無償(gratuitous)ARPメッセージ、ARP要求メッセージ、ARP応答メッセージなどを含み得る。別の可能な方法では、IPv6ネットワークでは、第1の仮想マシンのMACアドレスは、第1の仮想マシンから受信された近隣発見プロトコル(Neighbor Discovery Protocol,NDP)パケットに基づいて、第1のネットワークデバイスによって決定され得、NDPパケットは、近隣要請(Neighbor solicitation,NS)メッセージ、近隣通知(Neighbor Advertisement,NA)メッセージなどを含み得る。
【0072】
例えば、IPv4ネットワークでは、第1の仮想マシンがオンラインになった後、第1の仮想マシンは、第1の仮想マシンのアドレスを第1のネットワークデバイスに通知するために、第1の仮想マシンに接続された第1のネットワークデバイスに、第1の仮想マシンのMACアドレスを含む無償(Gratuitous)ARPメッセージを送信することができる。あるいは、別の仮想マシンと通信する前に、第1の仮想マシンは、別の仮想マシンのIPアドレスに基づいて別の仮想マシンのMACアドレスを問い合わせるために、第1の仮想マシンに接続された第1のネットワークデバイスに、別の仮想マシンのIPアドレスを搬送するARP要求メッセージを送信することができる。この場合、ARP要求メッセージの送信元アドレスは、第1の仮想マシンのMACアドレスである。あるいは、第1の仮想マシンのIPアドレスを搬送し、別の仮想マシンによって送信されたARP要求メッセージを受信した場合、第1の仮想マシンは、第1の仮想マシンのMACアドレスを搬送するARP応答メッセージを、別の仮想マシンに送信することができる。この場合、ARP応答メッセージの送信元アドレスは、第1の仮想マシンのMACアドレスである。次いで、第1の仮想マシンによって送信された無償(gratuitous)ARPメッセージ、ARP要求メッセージ、またはARP応答メッセージを受信した後、第1のネットワークデバイスは、無償(gratuitous)ARPメッセージ、ARP要求メッセージ、またはARP応答メッセージから、第1の仮想マシンのMACアドレスを取得することができる。
【0073】
別の例として、IPv6ネットワークでは、第1の仮想マシンがオンラインになった後で、第1の仮想マシンが別の仮想マシンと通信する前に、第1の仮想マシンは、別の仮想マシンのIPアドレスに基づいて別の仮想マシンのMACアドレスを問い合わせるために、別の仮想マシンのIPアドレスを搬送するNSメッセージを、第1の仮想マシンに接続された第1のネットワークデバイスに送信することができる。この場合、NSメッセージの送信元アドレスは、第1の仮想マシンのMACアドレスである。あるいは、第1の仮想マシンのIPアドレスを搬送し、別の仮想マシンによって送信されたNSメッセージを受信した場合、第1の仮想マシンは、第1の仮想マシンのMACアドレスを搬送するNAメッセージを、別の仮想マシンに送信することができる。この場合、NAメッセージの送信元アドレスは、第1の仮想マシンのMACアドレスである。次いで、第1の仮想マシンによって送信されたNSメッセージまたはNAメッセージを受信した後、第1のネットワークデバイスは、NSメッセージまたはNAメッセージから、第1の仮想マシンのMACアドレスを取得することができる。
【0074】
第1のネットワークデバイスのローカルな第1の仮想マシンのMACアドレスを取得した後で、第1のネットワークデバイスは、以下のステップ202を行うことによって、MACアドレスを通知するための経路を取得することができる。
【0075】
202:第1の仮想マシンと第2の仮想マシンが同じMACアドレスを有し、異なる仮想ローカル・エリア・ネットワークに位置するとき、第1のネットワークデバイスは、第1の経路を取得し、第1の経路を第2のネットワークデバイスへ送信する。第1の経路は経路情報を含み、経路情報は、MACアドレス、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報を含む。
【0076】
第2のネットワークデバイスは、データ転送機能を有するデバイス、例えば、スイッチまたはルータなどのデバイスであってもよい。異なるネットワークでは、第2のネットワークデバイスの種類は同じであっても異なっていてもよい。例えば、EVPNベースのVXLANでは、第2のネットワークデバイスはVTEPデバイスなどであってもよい。別の例では、EVPNベースのVXLAN、SRネットワーク、SRv6ネットワーク、またはMPLSネットワークでは、第2のネットワークデバイスはPEデバイスであり得る。
【0077】
また、第2の仮想マシンは、第1のネットワークデバイスに接続された複数の仮想マシンのうち第1の仮想マシン以外の仮想マシンであり、第2の仮想マシンも第1のネットワークデバイスのローカル仮想マシンである。
【0078】
本出願の実施形態では、MACアドレスが第1の仮想マシンのMACアドレスと同じである1つまたは複数の仮想マシンが存在してもよく、1つまたは複数の仮想マシンは、第1の仮想マシンが位置する仮想ローカル・エリア・ネットワークとは異なる仮想ローカル・エリア・ネットワークに位置する。第2の仮想マシンは、1つまたは複数の仮想マシンのうちの1つである。すなわち、第1の経路における経路情報は、第1の仮想マシンのMACアドレスおよび第1の仮想ローカル・エリア・ネットワーク情報を含み、MACアドレスが第1の仮想マシンのMACアドレスと同じである、1つもしくは複数の仮想マシンの1つまたは複数の仮想ローカル・エリア・ネットワーク情報を、さらに含むことができる。
【0079】
本出願のこの実施形態では、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワークに位置する複数の仮想マシンについて、複数の仮想マシンのそれぞれのMACアドレスおよび仮想ローカル・エリア・ネットワーク情報を通知するために、1つの経路を使用することができ、すなわち、異なる仮想ローカル・エリア・ネットワーク内にある同じMACアドレスを1つの経路に集約することができる。このようにして、ネットワーク内の経路の数を減らすことができ、経路伝送性能および経路収束性能が、改善され得る。
【0080】
第1のネットワークデバイスは、複数の方法で第1の経路を取得することができる。以下では、複数の可能なケースについて説明する。
【0081】
第1の可能なケースでは、第1のネットワークデバイスは、事前設定された持続時間内に第1の仮想マシンのMACアドレスおよび第2の仮想マシンのMACアドレスを取得し、第1の仮想マシンのMACアドレスが第2の仮想マシンのMACアドレスと同じであることを確認する。この場合、第1のネットワークデバイスは、MACアドレス、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報を含む、第1の経路を直接生成し、第1の経路を第2のネットワークデバイスへ送信する。このようにして、送信する必要がある経路の数を減らすことができる。
【0082】
事前設定された持続時間は、実際の要件に応じて適切に設定されてもよく、事前設定された持続時間は小さい値に設定されてもよいことに留意されたい。例えば、事前設定された持続時間は、0秒以上600秒以下であってもよい。言い換えれば、第1のネットワークデバイスは、短期間内に第1の仮想マシンのMACアドレスと第2の仮想マシンのMACアドレスの両方を取得する。
【0083】
例えば、仮想マシンをバッチでオンラインにするシナリオでは、第1の仮想マシンおよび第2の仮想マシンが同時に、もしくは短い時間間隔でオンラインになる場合、第1のネットワークデバイスは、第1の仮想マシンのMACアドレスおよび第2の仮想マシンのMACアドレスを同時に取得する。または、第1のネットワークデバイスは、まず第1の仮想マシンのMACアドレスを取得し、次いで、短い時間間隔の後で第2の仮想マシンのMACアドレスを取得する。または、第1のネットワークデバイスは、まず第2の仮想マシンのMACアドレスを取得し、次いで、短い時間間隔の後に第1の仮想マシンのMACアドレスを取得する。
【0084】
別の例として、同じMACアドレスを有する仮想マシンの属性情報を集約して通知する機能が初めて有効にされたときに、第1のネットワークデバイスは、機能を有効にする前に、同じMACアドレスを有する複数のローカル仮想マシンに関する情報を学習していてもよい。ただし、これらの仮想マシンの情報は、それぞれ複数の経路に格納される。この場合、第1の経路は、集約および通知機能を有効にすることによって生成および送信されてもよい。
【0085】
第2の可能なケースでは、第1のネットワークデバイスは、第2の仮想マシンのMACアドレスをまず取得し、次いで、事前設定された持続時間が経過した後に、第1の仮想マシンのMACアドレスを取得する。「事前設定された持続時間が経過した後」は、前述の第1のケースとは異なる。具体的には、第2の仮想マシンのMACアドレスを取得した後、第1のネットワークデバイスは、第1のケースで指定された事前設定された持続時間内に同じMACアドレスを有する別の仮想マシン(例えば、第1の仮想マシン)のMACアドレスを取得しないが、第1のネットワークデバイスは、第2の仮想マシンのMACアドレスを取得した後、第3の経路を第2のネットワークデバイスへ送信することができる。第3の経路は、MACアドレスおよび第2の仮想ローカル・エリア・ネットワーク情報を含むが、第1の仮想マシンがまだ確認されていないため、第1の仮想ローカル・エリア・ネットワーク情報を含まない。第1のネットワークデバイスが続いて第1の仮想マシンのMACアドレスを取得するときに、第1の仮想マシンのMACアドレスが第2の仮想マシンのMACアドレスと同じであることを、第1のネットワークデバイスが確認した場合、第1のネットワークデバイスは、更新された第1の経路を送信することができる。第3の経路と比較されて、更新された第1の経路は、MACアドレス、第1の仮想マシンの仮想ローカル・エリア・ネットワーク情報、および第2の仮想マシンの仮想ローカル・エリア・ネットワーク情報を搬送することができる。別の場合には、更新された第1の経路は、第1の仮想マシンのMACアドレスおよび仮想ローカル・エリア・ネットワーク情報を、代替として含んでもよいが、第2の仮想マシンの仮想ローカル・エリア・ネットワーク情報を含まない。例えば、第1の仮想マシンがオンラインになると、第2の仮想マシンは第1のネットワークデバイスからオフロードされているか、または別のネットワークデバイスに移行している。第1の経路で搬送され、第1のネットワークデバイスによって送信される仮想マシン情報は、第1のネットワークデバイスに実際に搭載され、デバイスが経路を送信するときに同じMACアドレスを有する1つまたは複数の仮想マシンの仮想ローカル・エリア・ネットワーク情報であってもよく、第1のネットワークデバイスによる第1
の経路の送信は、第1の仮想マシンがオンラインになることによって、トリガされる。
【0086】
第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報に加えて、第3の経路は、同じMACアドレスを有し、事前設定された持続時間内に確認される、別の仮想マシンの仮想ローカル・エリア・ネットワーク情報をさらに含むことができる。
【0087】
例えば、仮想マシンがオンラインになるシナリオでは、複数の仮想マシンが同時にまたは短い時間間隔でオンラインになる場合、第1のネットワークデバイスは、短期間内に複数の仮想マシンのMACアドレスを取得することができる。複数の仮想マシンのMACアドレスが同じであると仮定すると、第1のネットワークデバイスは、複数の仮想マシンのMACアドレスおよび仮想ローカル・エリア・ネットワーク情報を含む第3の経路を生成し、第3の経路を第2のネットワークデバイスに送信することができる。事前設定された持続時間を超える長い期間の後、第1の仮想マシンはオンラインになり、第1のネットワークデバイスは第1の仮想マシンのMACアドレスを取得する。第1の仮想マシンのMACアドレスが複数の仮想マシンのMACアドレスと同じであると仮定すると、第1のネットワークデバイスは、更新された第1の経路を取得するために、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報を追加することができる。
【0088】
第1のネットワークデバイスは、MACアドレスと、MACアドレスを有する1つまたは複数の仮想マシンの仮想ローカル・エリア・ネットワーク情報との対応関係をローカルに格納することができ、対応関係は、経路情報としてローカル経路に格納することができる。例えば、第2のネットワークデバイスに送信された第1の経路に対応して、第1のネットワークデバイスは、第2の経路をローカルに格納することができ、第2の経路は、第1の経路の経路情報と同じ経路情報を含み、経路情報は、MACアドレス、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報を含む。
【0089】
本出願のこの実施形態では、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワークに位置する複数の仮想マシンについて、複数の仮想マシンのMACアドレスおよび複数の仮想マシンの仮想ローカル・エリア・ネットワーク情報を記録するために、ただ1つの経路が格納される必要がある。すなわち、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワークに位置する複数の仮想マシンについて、複数の仮想マシンに対応する複数の経路テーブルエントリを1つの経路に記録して、格納する必要がある経路の数を減らすことができる。
【0090】
第1の経路が第1のネットワークデバイスによって直接生成される場合、第1のネットワークデバイスは、第1の経路を取得する前に第2の経路を格納していないことに留意されたい。この場合、第1の経路を生成した後、第1のネットワークデバイスは、第2の経路を生成し格納することができる。
【0091】
第1の経路が第3の経路を更新することによって、第1のネットワークデバイスにより取得される場合、第1の経路を取得する前に、第1のネットワークデバイスは、MACアドレスおよび第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報を含む経路を、すでに格納している。この場合、第1のネットワークデバイスは、第2の経路を取得するために、格納された経路を更新することができる。具体的には、第1のネットワークデバイスは、更新された第2の経路を取得するために、第1の仮想ローカル・エリア・ネットワーク情報を格納された経路に追加することができる。
【0092】
仮想ローカル・エリア・ネットワーク情報について説明する。
【0093】
仮想ローカル・エリア・ネットワーク情報は、仮想マシンが位置する仮想ローカル・エリア・ネットワークの関連情報を再通知し、具体的には、仮想マシンに対応する1つまたは複数の仮想ローカル・エリア・ネットワークの属性情報とすることができる。異なるネットワークにおいて、仮想ローカル・エリア・ネットワーク情報に含まれる属性は、同一であってもよいし、異なっていてもよい。仮想ローカル・エリア・ネットワーク情報は、仮想マシンが位置する仮想ローカル・エリア・ネットワークの関連情報を再通知でき、異なる仮想マシンを判別するために仮想ローカル・エリア・ネットワークの関連情報を使用できるという条件で、仮想ローカル・エリア・ネットワーク情報は、特定の要件に応じて設計され得る。
【0094】
任意選択で、仮想ローカル・エリア・ネットワーク情報は、仮想マシンが位置するVPNを識別するための仮想プライベート・ネットワーク・タグ(VPN tag)を含んでもよい。
【0095】
例えば、第1のネットワークデバイスがEVPNベースのVXLANに位置する場合、仮想プライベート・ネットワーク・タグはVNIを含むことができる。あるいは、第1のネットワークデバイスがSRネットワークまたはSRv6ネットワークに位置する場合、仮想プライベート・ネットワーク・タグはSIDを含むことができる。あるいは、第1のネットワークデバイスがMPLSネットワークに位置する場合、仮想プライベート・ネットワーク・タグは、MPLSラベルを含むことができる。
【0096】
任意選択で、仮想ローカル・エリア・ネットワーク情報は、経路ターゲット(Route Target)属性、仮想ローカル・エリア・ネットワーク・タグ(VLAN tag)、およびMMEC属性のうちのいずれか1つまたは複数をさらに含むことができる。第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報および第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報が第1の経路に含まれる場合、例えば、第1の仮想ローカル・エリア・ネットワーク情報および第2の仮想ローカル・エリア・ネットワーク情報の両方は、仮想プライベート・ネットワーク・タグ、経路ターゲット属性、VLAN tag、およびMMEC属性を含むことができる。または、第1の仮想ローカル・エリア・ネットワーク情報および第2の仮想ローカル・エリア・ネットワーク情報の両方は、仮想プライベート・ネットワーク・タグ、経路ターゲット属性、およびMMEC属性を含むことができる。または、第1の仮想ローカル・エリア・ネットワーク情報および第2の仮想ローカル・エリア・ネットワーク情報の両方は、仮想プライベート・ネットワーク・タグおよび経路ターゲット属性を含むことができる。
【0097】
Route Target属性は、経路の通知および受信を制御するためのものであり得ることに留意されたい。具体的には、経路に含まれる仮想ローカル・エリア・ネットワーク情報がRoute Target属性を搬送する場合、経路を受信した他のネットワークデバイスは、別のネットワークデバイスにより設定されたRoute Target属性と、経路におけるRoute Target属性とを比較し、2つのRoute Target属性の属性値が同一である場合にのみ、当該経路に経路情報を格納してもよい。そうでない場合、別のネットワークデバイスは、経路に経路情報を格納しない。
【0098】
また、VLANタグは、データフレームが属するVLANを識別してもよい。具体的には、経路に含まれる仮想ローカル・エリア・ネットワーク情報がVLAN tagを搬送する場合、経路を受信した別のネットワークデバイスは経路内に経路情報を格納し、別のネットワークデバイスは、その後宛先アドレスがMACアドレスであるデータフレームを転送するときに、データフレームにVLAN tagを付加して、VLAN tagによって識別されるVLAN内で、データフレームを転送することができる。
【0099】
また、MMEC属性にはシーケンス番号が含まれ、仮想マシンの移行回数が多いほど、シーケンス番号が大きくなる。具体的には、仮想マシンの移行とは、仮想マシンによってアクセスされるネットワークデバイスからネットワーク内の別のネットワークデバイスに仮想マシンが移行することを意味する。仮想マシンがオンラインになったことを検出した後、仮想マシンが新たに移行したネットワークデバイスは、仮想マシンのMACアドレスを通知するための経路を再送信してもよい。経路と、仮想マシンのMACアドレスを通知するために以前に通知された経路との違いは、経路に含まれるMMEC属性内のシーケンス番号(または値)が1つ増加することである。別のネットワークデバイスは、別のネットワークデバイスに現在格納されている経路よりも大きいシーケンス番号を有する経路を受信した後、別のネットワークデバイスは、経路に基づいて格納されている経路を更新する。
【0100】
仮想ローカル・エリア・ネットワーク情報がMMEC属性を含む場合、第1の仮想マシンが第1のネットワークデバイスから第2のネットワークデバイスに移行することは、一例として使用される。(第1の仮想マシンに対応する)第1のネットワークデバイスに格納された第1の仮想ローカル・エリア・ネットワーク情報に含まれるMMEC属性の属性値が第1の属性値である場合、第1のネットワークデバイスは、第2のネットワークデバイスによって送信された第4の経路を受信する。第4の経路は、第2のネットワークデバイスが、第1の仮想マシンがオンラインになることを確認したときに生成され、第1の仮想マシンのMACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含む。第1の仮想マシンのものであり、第3の仮想ローカル・エリア・ネットワーク情報に含まれる、MMEC属性の属性値は、第2の属性値である。第1の属性値が第2の属性値より小さい場合、第1のネットワークデバイスは、第2の経路を更新する。具体的には、第1のネットワークデバイスは、ローカルに格納された第2の経路から、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報を削除することができる。加えて、第1のネットワークデバイスは、第4の経路に基づいて第5の経路を生成し、第5の経路を格納し、第5の経路は、MACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含む。更新された第2の経路および格納された第5の経路は、2つの異なる経路であり、第2の経路は、第1のネットワークデバイスの下にMACアドレスを有する仮想マシンの仮想ローカル・エリア・ネットワーク情報を含み、第5の経路は、第2のネットワークデバイスの下にMACアドレスを有する仮想マシンの仮想ローカル・エリア・ネットワーク情報を含む。第2の経路および第5の経路は、2つの異なるBGP経路であってもよい。
【0101】
第1の属性値が第2の属性値未満である場合、第3の仮想ローカル・エリア・ネットワーク情報は、第1の仮想ローカル・エリア・ネットワーク情報と比較された、第1の仮想マシンの新たな仮想ローカル・エリア・ネットワーク情報であることを示す。この場合、第1の仮想マシンは、第1のネットワークデバイスから第2のネットワークデバイスに移行している。したがって、第1のネットワークデバイスは、第1の仮想マシンに対応する格納された経路を更新することができ、具体的には、第2の経路内の第1の仮想ローカル・エリア・ネットワーク情報を削除し、第5の経路を格納することができる。
【0102】
前述の場合、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報を削除する前に、第1のネットワークデバイスは、第1の仮想マシンがまだローカルに存在するかどうかを、最初に検出することができる。第1の仮想マシンがローカルに存在しないと決定した場合、第1のネットワークデバイスは削除動作を実行することができる。そうでない場合、第1のネットワークデバイスは、エラーを報告するなどの動作を実行することができる。また、第2の経路の更新は、第1の仮想ローカル・エリア・ネットワーク情報の削除に加えて、設定により、第1の仮想ローカル・エリア・ネットワーク情報を一時的に遮蔽するようにしてもよい。
【0103】
上記の場合、第3の仮想ローカル・エリア・ネットワーク情報は、少なくとも仮想プライベート・ネットワーク・タグおよびMMEC属性を含む必要があり、Route Target属性および/またはVLAN tagをさらに含んでもよい。
【0104】
第1の経路は、MACアドレスを通知するための経路であってもよい。例えば、第1の経路は、MAC/IP Advertisement経路であってもよい。MAC/IP Advertisement経路は、BGP Updateパケットで搬送されてもよい。この場合、MACアドレス、第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想ローカル・エリア・ネットワーク情報を含む経路情報は、MAC/IP Advertisement経路内の一部のフィールドに存在していてもよい。あるいは、経路情報の一部はBGP Updateパケット内の一部のフィールドに直接存在し、他の情報はMAC/IP Advertisement経路に存在してもよい。別の場合には、経路情報は、代替的に別種類の経路に存在してもよい。経路および1つまたは複数の他の経路は、パケットで搬送され、一緒に送信されてもよく、または経路は個別に送信されてもよい。
【0105】
第1の可能な方法では、MAC/IP Advertisement経路は、EVPNネットワーク層到達可能性情報(network layer reachability information,NLRI)属性を含んでもよく、経路情報は、EVPN NLRI属性に存在してもよい。例えば、EVPN NLRI属性に含まれるフィールドを以下の表1に示すことができる。
【0106】
【0107】
経路判別部フィールドは、MAC/IP Advertisement経路競合を回避するために、異なるVXLANのMAC/IP Advertisement経路を判別するためのものである。イーサネット・セグメント識別子フィールドは、仮想マシンとネットワークデバイスとの間のリンクを一意に識別するためのものである。イーサネット・タグ識別文書フィールドは、ネットワークデバイスに対して実際に構成されたVLAN IDを識別するためのものである。MACアドレス長フィールドは、MACアドレスフィールドの長さを示すためのものであり、MACアドレス長フィールドおよびMACアドレスフィールドを参照して、MACアドレスが決定され得る。IPアドレス長フィールドは、IPアドレスフィールドの長さを示すためのものである。本出願の実施形態では、IPアドレス長フィールドとIPアドレスフィールドの両方の値は、0であり得る。
【0108】
MAC/IP Advertisement経路のEVPN NLRI属性は、1つのMACアドレスと、複数の仮想ローカル・エリア・ネットワーク情報(すなわち、仮想プライベート・ネットワーク・タグ、Route Target属性、VLAN tag、およびMMEC属性)とを含み得、複数の仮想ローカル・エリア・ネットワーク情報は、MACアドレスが属する複数の仮想マシンの仮想ローカル・エリア・ネットワーク情報であることが、表1から分かる。このようにして、異なる仮想ローカル・エリア・ネットワークに位置し、同じMACアドレスを有する複数の仮想マシンの仮想ローカル・エリア・ネットワーク情報およびMACアドレスを、1つのMAC/IP Advertisement経路が搬送する。
【0109】
本出願の実施形態では、表1はEVPN NLRI属性を説明するための一例としてのみ使用され、表1は本出願の実施形態に対する固有の制限を構成しないことに留意されたい。例えば、MAC/IP Advertisement経路は、実際には任意の数の仮想ローカル・エリア・ネットワーク情報を搬送することができ、仮想ローカル・エリア・ネットワーク情報の各部分に含まれる属性フィールドは、代替として、要件に応じて決定され得る。
【0110】
第2の可能な方法では、経路情報内のRoute Target属性は、BGP Updateパケット内の拡張コミュニティ(extended communities)属性に存在してもよく、経路情報内のRoute Target属性以外の情報は、EVPN NLRI属性に存在してもよい。例えば、BGP Updateパケットに含まれるフィールドを、以下の表2に示すことができる。
【0111】
【0112】
表2から分かるように、BGP Updateパケットは、1つのMACアドレスと、複数の仮想ローカル・エリア・ネットワーク情報(すなわち、仮想プライベート・ネットワーク・タグ、Route Target属性、VLAN tag、およびMMEC属性)とを含んでよく、複数の仮想ローカル・エリア・ネットワーク情報は、そのMACアドレスが属する複数の仮想マシンの仮想ローカル・エリア・ネットワーク情報である。このようにして、1つのBGP Updateパケットは、仮想ローカル・エリア・ネットワーク情報と異なる仮想ローカル・エリア・ネットワーク内に位置し、かつ同じMACアドレスを有する複数の仮想マシンのMACアドレスとを搬送する。
【0113】
本出願の実施形態では、表2は、BGP Updateパケットを説明するための一例としてのみ使用され、表2は、本出願の実施形態に対する固有の制限を構成しないことに留意されたい。
【0114】
203:第2のネットワークデバイスは、第1のネットワークデバイスによって送信された第1の経路を受信する。
【0115】
第1の経路は、本明細書では第1の経路情報と呼ばれる前述の経路情報を含む。言い換えれば、第1の経路情報は、MACアドレスと、第1の仮想ローカル・エリア・ネットワーク情報と、第2の仮想ローカル・エリア・ネットワーク情報とを含む。MACアドレスは、第1のネットワークデバイスに接続されている第1の仮想マシンと第2の仮想マシンの両方のMACアドレスであり、第1の仮想ローカル・エリア・ネットワーク情報は第1の仮想マシンに関する情報であり、第2の仮想ローカル・エリア・ネットワーク情報は第2の仮想マシンに関する情報である。
【0116】
さらに、第1のネットワークデバイスによって送信された第1の経路を受信した後、第2のネットワークデバイスは、経路再通知をさらに実行することができ、具体的には、第1の経路を第3のネットワークデバイスへ送信することができ、その結果、第3のネットワークデバイスは、第1の経路に基づいて、仮想マシン経路学習を実行することができる。本出願の実施形態では、第1のネットワークデバイスによって送信される必要がある経路の数が減少するため、第2のネットワークデバイスによって再通知される必要がある経路の数がそれに応じて減少し、それによってネットワーク内の経路の数がさらに減少する。
【0117】
204:第2のネットワークデバイスは、第1の経路情報を格納する。
【0118】
第1のネットワークデバイスが第1の経路を送信した後、第1の経路を受信する第2のネットワークデバイスは、第1の経路に基づいて仮想マシン経路学習を実行することができ、言い換えれば、第1の経路情報を第1の経路に格納することができることに留意されたい。
【0119】
具体的には、第2のネットワークデバイスは、ローカル経路に第1の経路情報を格納することができる。ローカル経路は、第1のネットワークデバイスによって第1の経路を使用して通知されたMACアドレス、MACアドレスを有する第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、およびMACアドレスを有する第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報を含む。
【0120】
可能な場合には、第2のネットワークデバイスが、第1の経路を受信したときにMACアドレスを含む経路を格納していない場合、第2のネットワークデバイスは、第1の経路を受信したときに第1の経路情報を含むローカル経路を生成し格納することができる。
【0121】
別の可能なケースでは、第1の経路を受信する前に、第2のネットワークデバイスは、第1のネットワークデバイスによって送信された第3の経路を受信しており、第3の経路は、第2の経路情報を含み、第2の経路情報は、MACアドレスおよび第2の仮想ローカル・エリア・ネットワーク情報を含むが、第1の仮想ローカル・エリア・ネットワーク情報を含まない。この場合、第2のネットワークデバイスは、第2の経路情報を第2の経路に追加する。次いで、第1の経路を受信したときに、第2のネットワークデバイスが、MACアドレスを含み、第1のネットワークデバイスによって通知されたローカル経路がローカルに格納されていることを確認した場合、第2のネットワークデバイスは、受信した第1の経路に基づいて、ローカル経路を更新することができる。この場合、第2のネットワークデバイスは、ローカル経路の第2の経路情報を、第1の経路情報として更新する。具体的には、例えば、第2の経路情報は、第1の経路情報に完全に置き換えられ得る。あるいは、第2の経路情報の異なる部分は、第1の経路情報と第2の経路情報との比較によって部分的に更新されてもよく、例えば、更新を実施するために、第1の仮想ローカル・エリア・ネットワーク情報は、ローカル経路に追加される。
【0122】
このようにして、同じネットワークデバイスでは、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワークに位置する複数の仮想マシンについて、複数の仮想マシンのMACアドレスおよび複数の仮想マシンの仮想ローカル・エリア・ネットワーク情報を記録するために、1つの経路のみを格納する必要があり、その結果、格納する必要がある経路の数を減らすことができる。
【0123】
第1の仮想マシンのものであり、第1の経路情報に含まれる、MMEC属性の属性値が第1の属性値である場合、第2のネットワークデバイスは、第1の仮想マシンと第2のネットワークデバイスとの間の接続に基づいて第4の経路を生成し、第4の経路を第1のネットワークデバイスへ送信することができ、第4の経路は、第1の仮想マシンのMACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含む。第1の仮想マシンのものであり、第3の仮想ローカル・エリア・ネットワーク情報に含まれる、MMEC属性の属性値は第2の属性値であり、第2の属性値は第1の属性値に基づいて決定され、第2の属性値は第1の属性値よりも大きく、第1の仮想マシンが移行を実行することを示すことができる。
【0124】
第1の仮想マシンが第2のネットワークデバイスに接続されているとき、それは、第1の仮想マシンが第1のネットワークデバイスから第2のネットワークデバイスに移行することを示すことに留意されたい。したがって、第2のネットワークデバイスは、第1の仮想マシンに対応するMMEC属性の属性値を更新することができ、具体的には、第1の仮想マシンのMMEC属性の属性値を増加させることができ、言い換えれば、第2の属性値は第1の属性値よりも大きい。第1の仮想マシンのMMEC属性の属性値を増加させた後、第2のネットワークデバイスは、第1の仮想マシンのMACアドレスおよび第2の属性値を含む第3の仮想ローカル・エリア・ネットワーク情報を通知することができ、第3の仮想ローカル・エリア・ネットワーク情報は、第2のネットワークデバイスによって第1のネットワークデバイスに送信された第4の経路で搬送され得る。
【0125】
第2のネットワークデバイスは、第3の仮想ローカル・エリア・ネットワーク情報を含む第6の経路をさらにローカルに格納することができる。場合によっては、第1の仮想マシンが第2のネットワークデバイスの下でオンラインになる前に、第2のネットワークデバイスは、第1の仮想マシンのMACアドレスと同じMACアドレスを有する1つまたは複数の他の仮想マシンがオンラインになることが、すでに確認されており、第6の経路内の1つまたは複数の他の仮想マシンの仮想ローカル・エリア・ネットワーク情報を格納する。この場合、第2のネットワークデバイスは、第1の仮想マシンがオンラインになったことを確認すると、第3の仮想ローカル・エリア・ネットワーク情報を追加することによって第6の経路を更新することができる。別の場合には、第1の仮想マシンが第2のネットワークデバイスの下でオンラインになる前に、第1の仮想マシンのMACアドレスを有する別の仮想マシンは、第2のネットワークデバイスにロードされない。この場合、第1の仮想マシンがオンラインになると、第2のネットワークデバイスは第6の経路をローカルに生成し格納する。さらに別の場合には、第3の仮想ローカル・エリア・ネットワーク情報が第6の経路に追加されると、1つまたは複数の他の仮想マシンの仮想ローカル・エリア・ネットワーク情報が削除されてもよく、1つまたは複数の他の仮想マシンは、例えば、第1の仮想マシンがオンラインになった後に、事前設定された持続時間内にオフロードされる仮想マシンであってもよい。
【0126】
本出願の実施形態では、第1のネットワークデバイスは、第1の仮想マシンのMACアドレスを取得する。次いで、第1のネットワークデバイスは、第1の仮想マシンおよび第2の仮想マシンが同じMACアドレスを有し、異なる仮想ローカル・エリア・ネットワークに位置するときに、第1の経路を取得し、第1の経路は経路情報を含み、経路情報は、MACアドレス、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報を含む。最後に、第1のネットワークデバイスは第1の経路を第2のネットワークデバイスへ送信し、その結果、第2のネットワークデバイスは経路情報を格納することができる。このようにして、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワークに位置する複数の仮想マシンについて、複数の仮想マシンの各々のMACアドレスおよび仮想ローカル・エリア・ネットワーク情報を通知するために、1つの経路を使用することができ、すなわち、異なる仮想ローカル・エリア・ネットワークに位置する同じMACアドレスを1つの経路に集約することができ、その結果、ネットワーク内の経路の数を減らすことができ、経路送信性能および経路収束性能を改善することができる。
【0127】
理解を容易にするために、以下では、
図3に示す異なる段階におけるネットワークシステムおよび適用シナリオを参照して、例を使用して前述のMACアドレス送信方法を説明する。
【0128】
シナリオ1:仮想マシンがオンラインになる
仮想マシン1および仮想マシン2は、同時にネットワークデバイス1の下でオンラインになる。仮想マシン1のMACアドレスおよび仮想マシン2のMACアドレスを取得すると、ネットワークデバイス1は、仮想マシン1のMACアドレスが仮想マシン2のMACアドレスと同じであり、仮想マシン1が位置する仮想ローカル・エリア・ネットワークは、仮想マシン2が位置する仮想ローカル・エリア・ネットワークと異なることを確認する。したがって、ネットワークデバイス1は、MACアドレスを通知するための経路を生成し、経路は、経路情報を含み、経路情報は、MACアドレス、仮想マシン1の仮想ローカル・エリア・ネットワーク情報、および仮想マシン2の仮想ローカル・エリア・ネットワーク情報を含む。ネットワークデバイス1は、ネットワークデバイス2に経路を送信し、経路情報を含むローカル経路を格納する。
【0129】
ネットワークデバイス1によって送信された経路を受信した後、ネットワークデバイス2は、別のネットワークデバイスに経路を送信するために、経路再通知などの動作を実行することができる。加えて、ネットワークデバイス2は、経路内にある経路情報を含むローカル経路を格納することができ、ローカル経路はネットワークデバイス1に対応する。
【0130】
シナリオ2:仮想マシンの追加
ネットワークデバイス1がネットワークデバイス2に経路を送信した後、仮想マシン5がネットワークデバイス1の下でオンラインになる。ネットワークデバイス1は、仮想マシン5のMACアドレスを取得すると、仮想マシン5のMACアドレスが仮想マシン1のMACアドレスおよび仮想マシン2のMACアドレスの両方と同じであることを確認し、次いで、ネットワークデバイス1は経路を更新し、更新された経路内の経路情報は、MACアドレス、仮想マシン1の仮想ローカル・エリア・ネットワーク情報、仮想マシン2の仮想ローカル・エリア・ネットワーク情報、および仮想マシン5の仮想ローカル・エリア・ネットワーク情報を含む。ネットワークデバイス1は、更新された経路をネットワークデバイス2に送信し、仮想マシン5の仮想ローカル・エリア・ネットワーク情報を、以前に格納されたローカル経路に追加する。
【0131】
ネットワークデバイス1によって送信され更新された経路を受信した後、ネットワークデバイス2は、経路再通知を実行することができ、具体的には、更新された経路を別のネットワークデバイスに送信することができる。また、ネットワークデバイス2は、仮想マシン5の仮想ローカル・エリア・ネットワーク情報を、予め格納されたローカル経路に追加してもよい。
【0132】
シナリオ3:仮想マシンの移行
仮想マシン1は、ネットワークデバイス1からネットワークデバイス2に移行する。仮想マシン1がネットワークデバイス1の下でオフラインになり、ネットワークデバイス2の下で再びオンラインになった後、ネットワークデバイス2は、仮想マシン1のMACアドレスおよび仮想マシン1の仮想ローカル・エリア・ネットワーク情報を取得する。ネットワークデバイス2は、以前に格納されたローカル経路が、第1のネットワークデバイスによって通知された仮想マシン1のMACアドレスおよび仮想ローカル・エリア・ネットワーク情報を含むことを確認する。この場合、ネットワークデバイス2は、ローカル経路に格納されている仮想マシン1の仮想ローカル・エリア・ネットワーク情報を削除し、取得した仮想マシン1の仮想ローカル・エリア・ネットワーク情報におけるMMEC属性の属性値を増加させる。次いで、ネットワークデバイス2は、MACアドレスおよび仮想マシン1の仮想ローカル・エリア・ネットワーク情報を含む新しいローカル経路を生成し、新しく生成されたローカル経路はネットワークデバイス2に対応する。加えて、ネットワークデバイス2は、MACアドレスを通知するための経路を生成し、経路をネットワークデバイス1に送信し、経路は、MACアドレスおよび仮想マシン1の仮想ローカル・エリア・ネットワーク情報を含む。
【0133】
ネットワークデバイス1は、ネットワークデバイス2によって送信された経路を受信した後に、その経路によって通知されたMACアドレスがローカル経路に含まれるMACアドレスと同じであることを確認し、仮想マシン1のものでありその経路に含まれるMMEC属性の属性値が、仮想マシン1のものでありローカル経路に格納されているMMEC属性の属性値よりも大きいことを確認した場合(その経路がネットワークデバイス1に対応する場合)、ネットワークデバイス1は、そのローカル経路から仮想マシン1の仮想ローカル・エリア・ネットワーク情報を削除し、その経路内の仮想マシン1のMACアドレスおよび仮想ローカル・エリア・ネットワーク情報を含むローカル経路(その経路がネットワークデバイス2に対応する場合)を生成する。
【0134】
図4は、本出願の一実施形態によるネットワークデバイスの構造の概略図である。ネットワークデバイスは、
図1に示すネットワークデバイスであってもよいし、
図2の実施形態における第1のネットワークデバイスであってもよいし、
図2の実施形態における第2のネットワークデバイスであってもよいし、
図3に示すネットワークデバイス1またはネットワークデバイス2であってもよい。
図4を参照されたい。ネットワークデバイスは、少なくとも1つのプロセッサ401および少なくとも1つの通信インターフェース404を含んでもよい。ネットワークデバイスは、通信バス402およびメモリ403をさらに含んでもよい。
【0135】
プロセッサ401は、マイクロプロセッサ(CPU(central processing unit,CPU)等を有する)、特定用途向け集積回路(application-specific integrated circuit,ASIC)、または本出願の解決策のプログラム実行を制御するように構成された1つもしくは複数の集積回路であってもよい。
【0136】
通信インターフェース404は、トランシーバなどの任意の装置を使用して、別のデバイス、または、イーサネット、無線アクセスネットワーク(radio access network,RAN)、もしくは無線ローカル・エリア・ネットワーク(wireless local area network,WLAN)など、の通信ネットワークと通信する。
【0137】
メモリ403は、読み出し専用メモリ(read-only memory,ROM)、ランダムアクセスメモリ(random access memory,RAM)、電気的消去可能プログラマブル読み出し専用メモリ(electrically erasable programmable read-Only memory,EEPROM)、光ディスク(コンパクトディスク読み出し専用メモリ(compact disc read-only memory,CD-ROM))、コンパクトディスク、レーザーディスク(登録商標)、デジタル多用途ディスク、ブルーレイディスクなどを含む)、磁気ディスク記憶媒体、別の磁気記憶装置、または命令もしくはデータ構造の形態で予想されるプログラムコードを搬送もしくは格納するために使用することができ、コンピュータによってアクセスすることができる任意の他の媒体であってもよいが、それらに限定されない。メモリ403は、独立して存在してもよく、通信バス402を介してプロセッサ401に接続される。あるいは、メモリ403はプロセッサ401と一体化されていてもよい。
【0138】
通信バス402は、前述の構成要素間で情報を送信するための経路を含んでもよい。
【0139】
具体的な実装中に、一実施形態では、プロセッサ401は、1つまたは複数のCPU、例えば、
図4に示すCPU 0およびCPU 1を含んでもよい。
【0140】
具体的な実装中に、一実施形態では、ネットワークデバイスは、複数のプロセッサ、例えば、
図4に示すプロセッサ401およびプロセッサ405を含んでもよい。これらのプロセッサの各々は、シングルコアプロセッサであってもよく、マルチコアプロセッサであってもよい。本明細書におけるプロセッサは、データ(例えば、コンピュータプログラム命令)を処理するように構成された1つまたは複数のデバイス、回路、および/または処理コアを指すことができる。
【0141】
具体的な実装中に、一実施形態では、ネットワークデバイスは、出力デバイス406および入力デバイス407をさらに含んでもよい。出力デバイス406は、プロセッサ401と通信し、複数の方法で情報を表示してもよい。例えば、出力デバイス406は、液晶ディスプレイ(liquid crystal display,LCD)、発光ダイオード(light emitting diode,LED)表示デバイス、陰極線管(cathode ray tube,CRT)表示デバイス、プロジェクタ(プロジェクタ)などであってもよい。入力デバイス407は、プロセッサ401と通信し、複数の方法でユーザの入力を受信してもよい。例えば、入力デバイス407は、マウス、キーボード、タッチスクリーンデバイス、またはセンシングデバイスなどであってもよい。
【0142】
ネットワークデバイスは、例えば、ルータ、PEデバイス、ネットワークサーバ、スイッチ、またはデスクトップコンピュータであってもよいし、別種類の通信デバイスまたは組み込みデバイスであってもよい。ネットワークデバイスの種類は、本出願の実施形態では特に限定されない。
【0143】
ネットワークデバイスがメモリ403を含む場合、メモリ403は、本出願の解決策を実行するためのプログラムコード410を格納するように構成され、プロセッサ401は、メモリ403に格納されたプログラムコード410を実行するように構成される。ネットワークデバイスは、プロセッサ401およびメモリ403内のプログラムコード410を使用することによって、
図2の実施形態で提供されるMACアドレス送信方法において、第1のネットワークデバイスまたは第2のネットワークデバイスによって実行される動作を実施してもよい。別の実施態様では、メモリは、代替として、ネットワークデバイスから独立して存在してもよい。ネットワークデバイスが動作するとき、
図2に示すMACアドレス送信方法において、第1のネットワークデバイスまたは第2のネットワークデバイスによって実行される動作を実施するために、メモリに格納されたプログラムコードが呼び出されてもよい。
【0144】
図5は、本出願の一実施形態によるMACアドレス送信装置の構造の概略図である。装置は、ソフトウェア、ハードウェア、またはそれらの組み合わせを使用することによって、ネットワークデバイスの一部または全部として実装されてもよい。ネットワークデバイスは、
図4に示すネットワークデバイスであってもよい。
図5を参照されたい。装置は、
図2に示す第1のネットワークデバイスまたは
図3に示すネットワークデバイス1に位置してもよく、第1のネットワークデバイスは複数の仮想マシンに接続され、複数の仮想マシンは第1の仮想マシンおよび第2の仮想マシンを含む。この装置は、第1の取得モジュール501と、第2の取得モジュール502と、送信モジュール503とを含む。
【0145】
第1の取得モジュール501は、第1の仮想マシンのMACアドレスを取得するように構成される。
【0146】
第2の取得モジュール502は、第1の仮想マシンと第2の仮想マシンとが同じMACアドレスを有し、異なる仮想ローカル・エリア・ネットワークに位置する場合に、第1の経路を取得するように構成されており、第1の経路は経路情報を含み、経路情報は、MACアドレス、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および、第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報とを含む。
【0147】
送信モジュール503は、第1の経路を第2のネットワークデバイスへ送信するように構成される。
【0148】
任意選択的に、本装置は、第1の記憶モジュールをさらに含む。
【0149】
第1の記憶モジュールは、第2の経路を格納するように構成され、第2の経路は経路情報を含む。
【0150】
任意選択で、送信モジュール503は、
第3の経路を第2のネットワークデバイスへ送信するようにさらに構成され、第3の経路は、MACアドレスおよび第2の仮想ローカル・エリア・ネットワーク情報を含むが、第1の仮想ローカル・エリア・ネットワーク情報を含まない。
【0151】
第2の取得モジュール502は、
第1の経路を取得するために、第3の経路を更新する。
【0152】
任意選択で、第1の仮想ローカル・エリア・ネットワーク情報は、仮想プライベート・ネットワーク・タグを含む。
【0153】
任意選択で、第1のネットワークデバイスがEVPNベースのVXLANに位置する場合、仮想プライベート・ネットワーク・タグはVNIを含む。
【0154】
あるいは、第1のネットワークデバイスがSRネットワークまたはSRv6ネットワークに位置する場合、仮想プライベート・ネットワーク・タグはSIDを含む。
【0155】
あるいは、第1のネットワークデバイスがMPLSネットワークに位置する場合、仮想プライベート・ネットワーク・タグはMPLSラベルを含む。
【0156】
任意選択で、第1の仮想ローカル・エリア・ネットワーク情報は、経路ターゲット属性、仮想ローカル・エリア・ネットワーク・タグ、およびMACモビリティ拡張コミュニティ属性のうちのいずれか1つまたは複数をさらに含む。
【0157】
任意選択で、第1の仮想ローカル・エリア・ネットワーク情報に含まれるMACモビリティ拡張コミュニティ属性の属性値は、第1の属性値である。本装置は、受信モジュールと、更新モジュールと、第2の記憶モジュールとをさらに含む。
【0158】
受信モジュールは、第4の経路を受信するように構成され、第4の経路は、第1の仮想マシンのMACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含み、第1の仮想マシンのものであり、第3の仮想ローカル・エリア・ネットワーク情報に含まれる、MACモビリティ拡張コミュニティ属性の属性値は第2の属性値である。
【0159】
更新モジュールは、第1の属性値が第2の属性値より小さい場合、第2の経路内の第1の仮想ローカル・エリア・ネットワーク情報を削除するように構成される。
【0160】
第2の記憶モジュールは、第5の経路を格納するようにさらに構成され、第5の経路は、MACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含む。
【0161】
任意選択で、第1の経路は、MAC/IP Advertisement経路である。
【0162】
本出願の実施形態では、第1のネットワークデバイスは、第1の仮想マシンのMACアドレスを取得する。次いで、第1のネットワークデバイスは、第1の仮想マシンおよび第2の仮想マシンが同じMACアドレスを有し、異なる仮想ローカル・エリア・ネットワークに位置するときに、第1の経路を取得し、第1の経路は経路情報を含み、経路情報は、MACアドレス、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報を含む。最後に、第1のネットワークデバイスは第1の経路を第2のネットワークデバイスへ送信し、その結果、第2のネットワークデバイスは経路情報を格納することができる。このようにして、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワークに位置する複数の仮想マシンについて、MACアドレスおよび複数の仮想マシンの各々の仮想ローカル・エリア・ネットワーク情報を通知するために、1つの経路を使用することができ、すなわち、異なる仮想ローカル・エリア・ネットワークに位置する同じMACアドレスを1つの経路に集約することができ、その結果、ネットワーク内の経路の数を減らすことができ、経路伝送性能および経路収束性能を改善することができる。
【0163】
図6は、本出願の一実施形態によるMACアドレス送信装置の構造の概略図である。装置は、ソフトウェア、ハードウェア、またはそれらの組み合わせを使用することによって、ネットワークデバイスの一部または全部として実装されてもよい。ネットワークデバイスは、
図4に示すネットワークデバイスであってもよい。
図6を参照されたい。装置は、
図2に示す第2のネットワークデバイス、または
図3に示すネットワークデバイス2に位置してもよい。第2のネットワークデバイスと第1のネットワークデバイスの両方がネットワークシステム内に位置し、第1のネットワークデバイスは複数の仮想マシンに接続され、複数の仮想マシンは第1の仮想マシンおよび第2の仮想マシンを含む。この装置は、受信モジュール601と、記憶モジュール602とを含む。
【0164】
受信モジュール601は、第1のネットワークデバイスによって送信された第1の経路を受信するように構成されており、第1の経路は第1の経路情報を含み、第1の経路情報はMACアドレス、第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想ローカル・エリア・ネットワーク情報を含み、MACアドレスは第1のネットワークデバイスに接続された第1の仮想マシンと第2の仮想マシンの両方のMACアドレスであり、第1の仮想ローカル・エリア・ネットワーク情報は第1の仮想マシンに関する情報であり、第2の仮想ローカル・エリア・ネットワーク情報は第2の仮想マシンに関する情報である。
【0165】
記憶モジュール602は、第1の経路情報を格納するように構成される。
【0166】
任意選択的に、記憶モジュール602は、
第1の経路情報を第2の経路に格納するように構成される。
【0167】
任意選択で、本装置は、追加モジュールをさらに含む。
【0168】
受信モジュール601は、第1の経路を受信する前に、第1のネットワークデバイスによって送信された第3の経路を受信するようにさらに構成されており、第3の経路は第2の経路情報を含み、第2の経路情報は、MACアドレスおよび第2の仮想ローカル・エリア・ネットワーク情報を含むが、第1の仮想ローカル・エリア・ネットワーク情報を含まない。追加モジュールは、第2の経路情報を第2の経路に追加するように構成される。
【0169】
記憶モジュール602は、
第2のネットワークデバイスのために、第2の経路内の第2の経路情報を、第1の経路情報として更新するようにさらに構成される。
【0170】
任意選択で、第1の仮想ローカル・エリア・ネットワーク情報は、仮想プライベート・ネットワーク・タグを含む。
【0171】
任意選択で、第1のネットワークデバイスがEVPNベースのVXLANに位置する場合、仮想プライベート・ネットワーク・タグはVNIを含む。
【0172】
あるいは、第1のネットワークデバイスがSRネットワークまたはSRv6ネットワークに位置する場合、仮想プライベート・ネットワーク・タグはSIDを含む。
【0173】
あるいは、第1のネットワークデバイスがMPLSネットワークに位置する場合、仮想プライベート・ネットワーク・タグはMPLSラベルを含む。
【0174】
任意選択で、第1の仮想ローカル・エリア・ネットワーク情報は、経路ターゲット属性、仮想ローカル・エリア・ネットワーク・タグ、およびMACモビリティ拡張コミュニティ属性のうちのいずれか1つまたは複数をさらに含む。
【0175】
任意選択で、第1の仮想マシンのものであり、第1の経路情報に含まれる、MACモビリティ拡張コミュニティ属性の属性値は、第1の属性値である。本装置は、送信モジュールをさらに含む。
【0176】
送信モジュールは、第1の仮想マシンと第2のネットワークデバイスとの間の接続に基づいて、第4の経路を第1のネットワークデバイスへ送信するように構成され、第4の経路は、第1の仮想マシンのMACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含み、第1の仮想マシンのものであり、第3の仮想ローカル・エリア・ネットワーク情報に含まれる、MMEC属性の属性値は第2の属性値であり、第2の属性値は第1の属性値より大きい。
【0177】
任意選択で、本装置は送信モジュールをさらに含む。
【0178】
送信モジュールは、第1の経路を第3のネットワークデバイスへ送信するように構成される。
【0179】
任意選択で、第1の経路は、MAC/IP Advertisement経路である。
【0180】
本出願の実施形態では、第2のネットワークデバイスは、第1のネットワークデバイスによって送信された第1の経路を受信し、第1の経路は、第1の経路情報を含み、第1の経路情報は、MACアドレス、第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想ローカル・エリア・ネットワーク情報を含み、MACアドレスは、第1のネットワークデバイスに接続された第1の仮想マシンと第2の仮想マシンの両方のMACアドレスであり、第1の仮想ローカル・エリア・ネットワーク情報は、第1の仮想マシンに関する情報であり、第2の仮想ローカル・エリア・ネットワーク情報は、第2の仮想マシンに関する情報である。次いで、第2のネットワークデバイスは、第1の経路情報を格納する。このようにして、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワークに位置する複数の仮想マシンについて、MACアドレスおよび複数の仮想マシンの各々の仮想ローカル・エリア・ネットワーク情報を通知するために、1つの経路を使用することができ、すなわち、異なる仮想ローカル・エリア・ネットワークに位置する同じMACアドレスを1つの経路に集約することができ、その結果、ネットワーク内の経路の数を減らすことができ、経路伝送性能および経路収束性能を改善することができる。
【0181】
前述の実施形態で提供されたMACアドレス送信装置がMACアドレスを送信するとき、前述の機能モジュールの分割は単に説明のための例として使用されることに留意されたい。実際の適用時に、前述の機能は、要件に応じて実装のために異なる機能モジュールに割り当てられてもよく、すなわち、装置の内部構造は、上述の機能の全部または一部を実装するために異なる機能モジュールに分割される。加えて、前述の実施形態で提供されたMACアドレス送信装置およびMACアドレス送信方法の実施形態は、同じ概念を共有する。その具体的な実施プロセスについては、方法の実施形態を参照されたく、ここでは詳細を繰り返さない。
【0182】
図7は、本出願の一実施形態によるMACアドレス送受信システムの概略図である。
図7を参照されたい。本システムは、第1のネットワークデバイス701と第2のネットワークデバイス702とを含む。第1のネットワークデバイス701は複数の仮想マシンに接続され、複数の仮想マシンは第1の仮想マシンと第2の仮想マシンとを含む。
【0183】
第1のネットワークデバイス701は、第1の仮想マシンのMACアドレスを取得し、第1の仮想マシンおよび第2の仮想マシンが同じMACアドレスを有し、異なる仮想ローカル・エリア・ネットワークに位置する場合に、第1の経路を取得し、第1の経路は第1の経路情報を含み、第1の経路情報は、MACアドレス、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報を含み、第1の経路を第2のネットワークデバイス702へ送信する、ように構成される。
【0184】
第2のネットワークデバイス702は、第1のネットワークデバイス701によって送信された第1の経路を受信し、第1の経路情報を第1の経路に格納する、ように構成される。
【0185】
任意選択で、第1のネットワークデバイス701は第2の経路を格納するようにさらに構成されており、第2の経路は第1の経路情報を含む。
【0186】
任意選択で、第2のネットワークデバイス702は、第6の経路に第1の経路情報を格納するように構成される。
【0187】
任意選択で、第1のネットワークデバイス701は、第3の経路を第2のネットワークデバイス702へ送信するようにさらに構成されており、第3の経路は第2の経路情報を含み、第2の経路情報はMACアドレスおよび第2の仮想ローカル・エリア・ネットワーク情報を含むが、第1の仮想ローカル・エリア・ネットワーク情報を含まない。このようにして、第1のネットワークデバイス701は、第1の経路を取得するために、第3の経路を更新するように構成される。
【0188】
第2のネットワークデバイス702は、第1のネットワークデバイス701によって送信された第3の経路を受信し、第2の経路情報を第6の経路に追加するように、さらに構成される。このように、第2のネットワークデバイス702は、第6の経路における第2の経路情報を、第1の経路情報として更新するように構成される。
【0189】
任意選択で、第1の仮想ローカル・エリア・ネットワーク情報は、仮想プライベート・ネットワーク・タグを含む。例えば、第1のネットワークデバイス701がEVPNベースのVXLANに位置する場合、仮想プライベート・ネットワーク・タグはVNIを含む。あるいは、第1のネットワークデバイス701がSRネットワークまたはSRv6ネットワークに位置する場合、仮想プライベート・ネットワーク・タグはSIDを含む。あるいは、第1のネットワークデバイス701がMPLSネットワークに位置する場合、仮想プライベート・ネットワーク・タグはMPLSラベルを含む。
【0190】
任意選択で、第1の仮想ローカル・エリア・ネットワーク情報は、経路ターゲット属性、仮想ローカル・エリア・ネットワーク・タグ、およびMACモビリティ拡張コミュニティ属性のうちのいずれか1つまたは複数をさらに含む。
【0191】
任意選択で、第1の経路は、MAC/IP Advertisement経路である。
【0192】
任意選択で、第1の仮想ローカル・エリア・ネットワーク情報に含まれるMACモビリティ拡張コミュニティ属性の属性値は、第1の属性値である。
【0193】
第2のネットワークデバイス702は、第1の仮想マシンと第2のネットワークデバイス702との間の接続に基づいて、第4の経路を生成するようにさらに構成されており、第4の経路はMACアドレスと第1の仮想マシンの第3の仮想ローカル・エリア・ネットワーク情報とを含み、第1の仮想マシンのものであり、第3の仮想ローカル・エリア・ネットワーク情報に含まれる、MACモビリティ拡張コミュニティ属性の属性値は、第2の属性値であり、第2の属性値は第1の属性値より大きく、第4の経路を第1のネットワークデバイス701へ送信するように、さらに構成される。
【0194】
第1のネットワークデバイス701は、第4の経路を受信し、
第1の属性値が第2の属性値未満である場合、第2の経路における第1の仮想ローカル・エリア・ネットワーク情報を削除し、MACアドレスおよび第3の仮想ローカル・エリア・ネットワーク情報を含む第5の経路を格納する、ようにさらに構成される。
【0195】
任意選択で、第2のネットワークデバイス702は、第1の経路を第3のネットワークデバイスへ送信するようにさらに構成される。
【0196】
本出願の実施形態では、第1のネットワークデバイスは、最初に第1の仮想マシンのMACアドレスを取得する。次いで、第1のネットワークデバイスは、第1の仮想マシンおよび第2の仮想マシンが同じMACアドレスを有し、異なる仮想ローカル・エリア・ネットワークに位置するときに第1の経路を取得し、第1の経路は第1の経路情報を含み、第1の経路情報は、MACアドレス、第1の仮想マシンの第1の仮想ローカル・エリア・ネットワーク情報、および第2の仮想マシンの第2の仮想ローカル・エリア・ネットワーク情報を含む。次いで、第1のネットワークデバイスは第1の経路を第2のネットワークデバイスへ送信し、その結果、第2のネットワークデバイスは第1の経路情報を格納することができる。このようにして、同じMACアドレスを有する異なる仮想ローカル・エリア・ネットワークに位置する複数の仮想マシンについて、第1のネットワークデバイスは、複数の仮想マシンの各々のMACアドレスおよび仮想ローカル・エリア・ネットワーク情報を通知するために、1つの経路を使用することができ、すなわち、第1のネットワークデバイスに属し、同じMACアドレスを有するが、異なる仮想ローカル・エリア・ネットワークに位置する、複数の仮想マシンに関する情報を1つの経路に集約することができ、その結果、ネットワーク内の仮想マシンのMACアドレスを通知するための経路の数を減らすことができ、経路伝送性能および経路収束性能を改善することができる。
【0197】
前述の実施形態の全部または一部は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせを使用することによって実施されてもよい。実施形態がソフトウェアを使用して実施される場合、実施形態の全部または一部は、コンピュータプログラム製品の形態で実施されてもよい。コンピュータプログラム製品は、1つまたは複数のコンピュータ命令を含む。コンピュータ命令がコンピュータにロードされ実行されると、本出願の実施形態による手順または機能はすべてまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または他のプログラマブル装置であってもよい。コンピュータ命令はコンピュータ可読記憶媒体に格納されてもよいし、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送されてもよい。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、またはデータセンターから別のウェブサイト、コンピュータ、サーバ、またはデータセンターに、有線(例えば、同軸ケーブル、光ファイバ、またはデジタル加入者回線(Digital Subscriber Line,DSL))または無線(例えば、赤外線、無線、およびマイクロ波)方式で送信されてもよい。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な何らかの使用可能な媒体であってよく、または1つ以上の使用可能な媒体を統合したデータ記憶装置、例えばサーバまたはデータセンターであってよい。使用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、または磁気テープ)、光学媒体(例えば、デジタル多用途ディスク(Digital Versatile Disc,DVD))、半導体媒体(例えば、ソリッドステートドライブ(Solid-State Drive,SSD))などであってもよい。
【0198】
上述の説明は、本願の単なる実施形態であり、本願を限定するように意図されない。本出願の趣旨および原理から逸脱することなくなされるあらゆる改変、等価の置換、または改善は、本出願の保護範囲内に含まれるべきである。
【符号の説明】
【0199】
401 プロセッサ
402 通信バス
403 メモリ
404 通信インターフェース
405 プロセッサ
406 出力デバイス
407 入力デバイス
410 プログラムコード
501 第1の取得モジュール
502 第2の取得モジュール
503 送信モジュール
601 受信モジュール
602 記憶モジュール
701 第1のネットワークデバイス
702 第2のネットワークデバイス