JPWO2016035306A1 - 制御システム、通信システム、通信方法および記録媒体 - Google Patents

制御システム、通信システム、通信方法および記録媒体 Download PDF

Info

Publication number
JPWO2016035306A1
JPWO2016035306A1 JP2016546308A JP2016546308A JPWO2016035306A1 JP WO2016035306 A1 JPWO2016035306 A1 JP WO2016035306A1 JP 2016546308 A JP2016546308 A JP 2016546308A JP 2016546308 A JP2016546308 A JP 2016546308A JP WO2016035306 A1 JPWO2016035306 A1 JP WO2016035306A1
Authority
JP
Japan
Prior art keywords
communication
address
network
tunnel
vxlan
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.)
Pending
Application number
JP2016546308A
Other languages
English (en)
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2016035306A1 publication Critical patent/JPWO2016035306A1/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

仮想ネットワーク構築の実現にあたり、高速・大容量な通信に適し、またネットワーク通信の動作の一貫性を高めることのできる、通信システム、制御システム、通信方法および記録媒体を提供する。本発明による制御システムは、VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索するデータベースを、有する。

Description

本発明は、制御システム、通信システム、通信方法および記録媒体に関し、特に物理ネットワークを論理的に分離することで、仮想的なネットワークを物理ネットワーク上に構築する通信システムや通信方法に関する。
サーバ仮想化におけるメリットの1つとして、仮想マシン(VM:Virtual Machine)の物理的な配置を柔軟にできることが挙げられるが、その柔軟さを最大限に生かすためには、ネットワークも合わせて仮想化を行う必要がある。ネットワーク仮想化で重要な機能は、物理ネットワークをユーザテナント毎などの単位で論理的にスライシングし、仮想的なネットワークを物理ネットワーク上に重層的に構築することである。仮想ネットワーク構築の実現においては、VXLAN(Virtual eXtensible Local Area Network)といったトンネリングプロトコルを使用する手法が知られている。
現在注目されている手法の1つは、VXLANといったトンネリングプロトコルを利用する手法である(非特許文献1)。サーバ間に仮想化のための特殊な機器を導入することなく、レイヤ2の通信をレイヤ3でトンネリングすることでブロードキャストドメインが延長される。これにより、ネットワークの利用者はこのことを意識することなく、延長されたブロードキャストドメインを利用することができる。
一方近年のネットワーク通信は、一般的に使われているOS(Operating System)による処理では追い付けないほど大容量な性能を求められることが増えている。そのため、Intel(登録商標) DPDK(非特許文献2)などの、汎用のハードウェアの上で動作し、パケット転送の性能に特化して高速化する仕組みが考案されている。またこの仕組みを利用し、仮想マシン間の通信を高速に行う仮想スイッチも実現されつつある(非特許文献3)。
「VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks」、[online]、[平成26年(2014)年7月24日検索]、インターネット<http://datatracker.ietf.org/doc/draft-mahalingam-dutt-dcops-vxlan/> 「Packet Processing - Intel(登録商標)DPDK」、[online]、[平成26年(2014)年7月24日検索]、インターネット<https://01.org/packet-processing/overview/dpdk-detail> 「Packet Processing - Intel(登録商標)DPDK vSwitch and Openstack* Paches」、[online]、[平成26年(2014)年7月24日検索]、インターネット<https://01.org/packet-processing/intel%C2%AE-dpdk-vswitch-and-openstack-patches>
VXLANは、UDP(User Datagram Protocol)を使用してカプセル化を行う。この時、仮想ネットワーク上で大容量通信を実現しようとした場合、いくつかの解決すべき課題がある。
第1の課題は、UDPを使用する際、一般にはOSのUDPソケットを使用することになるため、求める大容量通信の実現が難しいことである。ネットワークスタックの処理は重い処理であり、またOSで実装されていることから高速化の工夫を入れ込むことが難しいため、どうしても通信性能を劣化させる要因となってしまう。
第2の課題は、何らかの高速化の仕組みの上にUDP通信を実装することで仮想ネットワーク上の通信性能を向上しようとしても、信頼性、一貫性、メンテナンス性などの観点で問題が発生してしまうことである。広く一般的に使われているOSによるネットワークスタックとは別に、ネットワークスタックの処理を改めて実装することは難易度が高く、商用で運用するには信頼性という面で課題が多い。またOSで実装されるようなレイヤについては専用品ではなく、汎用のLinux(登録商標)などの使用が求められることも多く、ネットワークスタック処理を独自に作りこむこと自体が受け入れられない分野も存在する。VXLANではUDP/IP(User Datagram Protocol/Internet Protocol)を利用するが、その際一般的に使用されているLinux系OSにて通信処理を行うと、高速・大容量な通信が実現できない。また、高速パケット転送処理の仕組みを使うとすると、UDP/IPといったレイヤの処理を改めてその仕組みの上で作りこむ必要があり、複数のネットワークスタック処理が1つの装置内に存在することとなる。
このため、もし高速なネットワークスタック処理の実装ができた場合でも、ネットワークスタック処理としてOSとVXLAN用との2つのルート・管理情報が存在してしまうため、ネットワーク通信の動作の一貫性が失われてしまう。障害解析やバグ対処などの難易度を高める原因となってしまう。このため、メンテナンス性が低下するといった課題があった。
キャリアにおける大量のデータ通信を処理するノードの仮想化の用途においては、発生する通信量が一般的なオペレーティングシステムが備えるネットワーク通信機能で処理しきれない量になるため、何らかのパケット高速転送処理が必要になる。また一部の狭い世界のみで使われているようなソフトウェアの利用は避けられており、広く一般で使用されているOSを使用したいという需要が存在している。
したがって本発明の目的は、仮想ネットワーク構築の実現にあたり、高速・大容量な通信に適し、またネットワーク通信の動作の一貫性を高めることのできる、制御システム、通信システム、通信方法および記録媒体を提供することにある。
前記目的を達成するため、本発明に係る制御システムは、VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索するデータベースを、有する。
本発明に係る通信システムは、
物理マシン上に構成されたVM(Virtual Machine)と、
上記物理マシン上に構成されたトンネルエンドポイントであって、VNI(VXLAN Network Identifier)と他の物理マシンにあるVM(Virtual Machine)のMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索するデータベースを有するトンネルエンドポイントと、
ネットワークスタック処理部を有するOS(Operating System)と、を備える。
本発明に係る通信方法は、VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索し、
上記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できたときには、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出して上記通信先のトンネルエンドポイントの外向きのインターフェースへ通信を行う。
本発明に係るパケット送出により通信するためのプログラムが記録された記録媒体は、
トンネルエンドポイントに、
VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索する処理と、
上記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できたときには、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出して上記通信先のトンネルエンドポイントの外向きのインターフェースへ通信する通信処理と、を実行させるプログラムが記録されている。
本発明は、VXLANで実現する仮想ネットワーク上で大容量な通信を実現できる。
本発明の最上位概念の実施形態に係る制御システムを示すブロック図である。 本発明の上位概念の実施形態に係る制御システムを示すブロック図である。 本発明の第1実施形態に係る通信システムを示すブロック図である。 本発明の第1実施形態に係る通信システムの動作を説明するためのブロック図である。 本発明の第1実施形態に係る通信システムの動作を説明するためのブロック図である。 本発明の第1実施形態に係る通信システムの動作を説明するためのブロック図である。 本発明の第1実施形態に係る通信システムの動作を説明するためのブロック図である。 本発明の第1実施形態に係る通信システムの動作を説明するためのブロック図である。
本発明の実施形態では、物理ネットワークを論理的に分離することで、仮想的なネットワークを物理ネットワーク上に重層的に構築した際に、その仮想ネットワーク上での大容量通信を実現する。
本発明の実施形態では、一般的なTCP/IP、UDP/IP通信の機能を持つオペレーティングシステム、およびサービスが必要とする高速なパケット転送処理の仕組みが存在する状況において、仮想ネットワーク上での大容量通信の実現を達成する。しかも、装置として一貫性を持ったネットワーク通信機能を持ちながら、仮想ネットワーク上での大容量通信の実現を達成する。
本発明の実施形態では、ネットワークスタック処理を最低限に抑えることにより、実効上の性能をパケット転送のみの性能にほぼ等しくする。VXLANの特性によりUDPのヘッダに乗る情報がほとんど変わらないことを利用し、通信性能にネットワークスタック処理を含まないようにする仕組みを実現する。
さらに本発明の実施形態では、ネットワークスタック処理の安定性、一貫性、メンテナンス性を低下させない。全てのネットワークスタック処理をOSにそのまま引き渡すことにより、汎用品のOSを使って仮想ネットワーク上の大容量通信を実現できる。また処理を行うルート・管理情報が1つになるので、ネットワーク処理自体の解析がシンプルになり、メンテナンス対象も1つに絞ることができる。
図1Aは、本発明の最上位概念の実施形態に係る制御システムを示すブロック図である。図1Aの制御システム20aは、FDB(Forwarding Database)25を備える。FDB25はキャッシュデータであり、VNIとVXLANトンネルのユーザのMACアドレスから、通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを検索するためのデータベースである。制御システム20aはVMからパケットを受け取った場合、その宛先VMのMACアドレスを見るだけで、FDB25により宛先OuterのIPアドレスなどから宛先OuterのMACアドレスを特定できる。そのため単純なヘッダ追加でUDP/IPヘッダを完成させることができ、パケット転送処理のみでVXLANの通信を行うことができる。
図1Bは、本発明の上位概念の実施形態に係る制御システムを示すブロック図である。制御システムの一例として、トンネルエンドポイント20を示す。図1Bのトンネルエンドポイント20は、FDB25と、UDPソケット23と、FD(ファイルディスクリプタ)24と、を備える。FDB25はキャッシュデータであり、VNIとVXLANトンネルのユーザのMACアドレスから、通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを検索するためのデータベースである。以下、VXLANトンネルのユーザの一例として、他の物理マシンにあるVMの場合で説明する。
UDPソケット23は、FDB25に宛先VMの情報がない場合や、宛先がブロードキャストであるため外向きのインターフェースからマルチキャスト通信を行う必要があるといった場合に、OSによるネットワークスタック処理を利用するためのものである。
FD24は、OSによるネットワークスタック処理の結果できたパケットを受け取るためのものである。
このトンネルエンドポイント20はVMからパケットを受け取った場合、その宛先VMのMACアドレスを見るだけで、FDB25により宛先OuterのIPアドレスなどから宛先OuterのMACアドレスを特定できる。そのため単純なヘッダ追加でUDP/IPヘッダを完成させることができ、パケット転送処理のみでVXLANの通信を行うことができる。
さらに、トンネルエンドポイント20がVMから受け取ったパケットについて、FDB25に宛先VMの情報がない場合は、UDPソケット23を使って、OSによりネットワークスタック処理を実施する。また、トンネルエンドポイント20がVMから受け取ったパケットについて、宛先がブロードキャストであるためOuterからマルチキャスト通信を行う必要があるといった場合にも、UDPソケット23を使って、OSのネットワークスタック処理を実施する。さらにトンネルエンドポイント20は、ネットワークスタック処理の結果できたパケットをFD24から受け取ることで、VMのMACアドレスと対応するOuterのIPアドレスの組を知ることができる。こうして、UDP/IPヘッダを完成させることができ、VXLANの通信を行うことができる。以下、本発明の好ましい実施形態について、図面を参照しながら詳細に説明する。
〔第1実施形態〕
次に、本発明の第1実施形態による通信システムについて、説明する。図2は、本発明の第1実施形態による通信システムを説明するためのブロック図である。図2の各ブロックは1つの物理マシン上に搭載される。この構成を持つ物理マシンは複数あることが想定される。既存の通信を行う装置として、仮想マシン11が存在している。仮想マシンを以下、VM(Virtual Machine)と呼び、仮想マシン11を以下、VM11と呼ぶことにする。1つの物理マシン上に搭載されるVMの数に、制限はない。各VMは仮想ネットワークを意識せず、通常のTCP/IP通信(Transmission Control Protocol/Internet Protocol通信)を行う。物理マシン上には、UDP/IP通信が可能なネットワークスタック処理部31を持つOS30が存在している。
さらに物理マシン上には、VXLANによるトンネリングを実施するトンネルエンドポイント20が存在する。トンネルエンドポイント20は、VXLANの仕様に従いトンネルを管理する。VXLANでは、VNI(VXLAN Network Identifier)と呼ばれるIDで仮想ネットワークが管理される。
各VMの仮想NIC(Network Interface Card)がどのVNIに収容されるかの管理、および違う物理マシン上にいる同じVNIに収容された仮想NICを持つVM同士をレイヤ2トンネリングすることにより、物理ネットワーク上に仮想ネットワークを実現する。トンネリングの実装方法に制限はない。
トンネルエンドポイント20は、内向きのインターフェースとしてInner21を有し、外向きのインターフェースとしてOuter22を有している。外向きのインターフェースとしてOuter22には、IPアドレスが振られている。複数物理マシン間のトンネルエンドポイント同士は、お互いのOuter同士が通信できるようにUDP/IPヘッダによりカプセリングを行い、UDP/IP通信を行う。これにより、複数物理マシン間のトンネルエンドポイント同士は、レイヤ3超えの通信を行う。
VM11とトンネルエンドポイントのInner21との間、およびトンネルエンドポイントのOuter22とNIC41を通じた外部との間は、高速パケット転送処理を用いて大容量の通信が可能であるとする。
本発明の実施形態の手法の第一点として、トンネルエンドポイント20に、FDB(Forwarding Database)と呼ばれるキャッシュデータを持たせている。FDBは、VNIとVXLANトンネルのユーザの一例としての他の物理マシンにあるVMのMACアドレスから、通信先のトンネルエンドポイントOuterのIPアドレスを引くためのDBである。
トンネルエンドポイント20がVM11からパケットを受け取った場合、その宛先VMのMACアドレスを見るだけで、FDB25から宛先OuterのMACアドレスを特定できる。すなわちFDB25を参照することにより、宛先OuterのIPアドレス、そのIPアドレスとOS30のARP(Address Resolution Protocol)テーブルから、宛先OuterのMACアドレスを特定できる。そのため単純なヘッダ追加でUDP/IPヘッダを完成させることができ、パケット転送処理のみでVXLANの通信を行うことができる。
第二点として、トンネルエンドポイント20にOS30のネットワークスタック処理を使用するためのUDPソケット23、およびその処理の結果生成されるパケットを受け取るためのFD(ファイルディスクリプタ)24を持たせている。
トンネルエンドポイント20がVM11から受け取ったパケットについて、FDB25に宛先VMの情報がない場合は、UDPソケット23を使って、OS30のネットワークスタック処理部31によりネットワークスタック処理を実施する。トンネルエンドポイント20がVM11から受け取ったパケットについて、宛先がブロードキャストであるためOuterからマルチキャスト通信を行う必要があるといった場合にも、OS30によるネットワークスタック処理を実施する。
さらにトンネルエンドポイント20は、ネットワークスタック処理の結果できたパケットをFD24から受け取ることで、VMのMACアドレスと対応するOuterのIPアドレスの組を知ることができるため、FDB25にその情報を追加する。
この操作により、VXLANのためだけにネットワークスタック処理を持つ必要がなくなる。また各物理装置上のVM構成、仮想ネットワーク構成に変更がない限りはFDBのレコードは不変であるため、OSによるネットワークスタック処理は通信の最初のみの実施となる。ネットワークスタック処理の性能は全体の通信性能にほとんど影響を与えない。
(実施形態の構成)
次に、本発明の実施形態の構成について、図面を参照して詳細に説明する。図2を参照すると、本実施形態の構成は、通信を行いサービス提供するVM11と、VXLANによる仮想ネットワーク通信を行うトンネルエンドポイント20と、UDP/IP通信機能を持つOS30と、外部と通信するためのNIC41とから構成されている。本構成を持つ物理マシンが複数存在し、NIC41を通してIP通信が可能となっている。
トンネルエンドポイント20は、VM11とパケットをやり取りするInner21と、IPアドレスを持ちNIC41を通して外部の別物理マシンと通信するOuter22と、を有する。さらにトンネルエンドポイント20は、OS30のネットワークスタック処理を使うためのUDPソケット23を有する。さらにトンネルエンドポイント20は、OS30が行ったネットワークスタック処理の結果できたパケットの受け取りや、外部から来たパケットをネットワークスタック処理に渡すためのFD24を有する。またトンネルエンドポイント20は、VXLAN処理を実施するためのキャッシュデータとして、FDB(Forwarding Database)25を持つ。
VM11とInner21の間は高速パケット転送処理の仕組み、および仮想スイッチを利用して、L2レイヤで繋がれた高速な通信ができるようにする。同様にOuter22がNIC41を通して行う外部との通信も高速で行えるようにする。
FDB25は、VNIと仮想NICのMACアドレスの組をキーとし、その仮想NICと収容するVNIの対応を管理しているトンネルエンドポイントのOuterIPアドレスを紐づけるDB(Database)である。
OS30はUDPソケットからネットワークスタック処理を実施し、UDP/IP通信ができるものであれば、その他の制限はない。
(実施形態の動作)
次に、図3〜図5を参照して本発明の実施形態の動作として、VMがVXLANを使って他のVMへ通信する処理を詳細に説明する。
図3、図4がVM11から送信を行う場合の処理の流れである。FDB25に送信先のOuterの情報がある場合とない場合で処理が分岐する。
図3が、FDB25に送信先のOuterの情報がある場合の送信の流れである。VM11はVXLANを使って送信をするため、トンネルエンドポイント20のInner21に向かって高速にパケットを転送する。トンネルエンドポイント20は、パケットを受け取った仮想NICを収容するVNIと、受け取ったパケットに記載のある宛先VMのMACアドレスをキーとして、FDB25を参照する。こうして、FDB25から宛先VMの仮想NICを収容するトンネルエンドポイントのOuterIPアドレスを取得する。
OS30のARPテーブルを参照し、APR情報を取得する。ARPテーブルの情報だけ参照すればOuterのMACアドレスも分かり、カプセル化するための情報が揃う。こうして、カプセリングしたパケットを完成させ、直接NIC41から高速にパケットを送出することで、宛先トンネルエンドポイントのOuterへの通信を行う。
図4が、FDB25に送信先のOuterの情報がない場合の送信の流れである。またOuterの情報がARPテーブルにない時、およびVM11からの送信要求がブロードキャストである時もこの場合に該当する。VM11はVXLANを使って送信をするため、トンネルエンドポイント20のInner21に向かって高速にパケットを転送する。
トンネルエンドポイント20は、パケットを受け取った仮想NICを収容するVNIと、受け取ったパケットに記載のある宛先VMのMACアドレスをキーとして、FDB25から情報を参照する。FDB25に送信先のOuterの情報がない場合には必要な情報が揃わないため、VXLANの仕様に従ったマルチキャストやARPリクエストを行う必要がある。トンネルエンドポイント20はUDPソケット23を使ってOS30に送出するパケット生成を任せ、その結果をNIC41から送出する。
図5がVM11への受信を行う場合の処理の流れである。外部からNIC41を通じて、トンネルエンドポイントのOuter22へパケットが届き、VXLANのパケットと判断されれば、カプセルを外してから、Inner21から受信するVM11へパケットを高速に転送する。またこのとき、VNI、通信元VMのMACアドレス、通信元トンネルエンドポイントOuterのIPアドレスがパケットに乗っているため、必要であればこの情報をFDB25に学習させる。
図6で別の受信時の処理を説明する。OS30がネットワークスタック処理を行う際に必要となる情報として、他の物理マシンにあるトンネルエンドポイントのARP Responseを受け取る必要がある。受信パケットがARP Responseと分かった段階で、FD24からOS30のネットワークスタック処理部31にパケットを流し込んで渡して、OS30のARPテーブルを学習させる。
(実施形態の効果)
第1の効果は、VXLANで実現する仮想ネットワーク上で大容量な通信ができることにある。この結果、既存で大容量通信を行っている装置をそのまま使用して、大容量の通信性能を維持したままサーバ仮想化、ネットワーク仮想化を実現できる。
その理由としては、ネットワーク仮想化実現のために用いたトンネリングのためのUDP通信で、必要なネットワークスタック処理を必要最低限に抑えることができたことがあげられる。そのため通信処理の大部分を単純なパケット転送処理に限定することができ、大容量な通信処理を実現できるようになる。
第2の効果は、仮想ネットワーク上で必要な性能を出すためのパケット転送の仕組み、およびUDP通信のためのネットワークスタック処理を、自由に選択できることにある。この結果、仮想ネットワークに求める性能と、その装置上で使用するOSを、独立して選択することができる。
その理由は、必要最低限に抑えたネットワークスタック処理は通信性能にほとんど影響を与えないため、たとえ選択したOSのネットワークスタック処理が低速であっても、処理自体を引き渡すことができるためである。
また、ここで選択したネットワークスタック処理は、高速である必要がない他の処理でも使用される処理であり、装置内でネットワークスタックの処理が統一されるため、障害時の解析や保守作業をシンプルにすることができる。
〔その他の実施形態〕
次に、本発明のその他の実施形態による通信システムについて、説明する。上述した第1実施形態では、OS30がネットワークスタック処理部31を備えており、OS30のネットワークスタック処理を利用するものとして、説明した。このネットワークスタック処理部31が持つARPテーブルをキャッシュとして、トンネルエンドポイント20の中に持っても良い。
本実施形態によれば、上述した第1実施形態と同様な効果がもたらされる。さらに本実施形態では、このネットワークスタック処理部31が持つARPテーブルをキャッシュとして、トンネルエンドポイント20の中に持つ構成により、図2の送信処理の際にカプセル処理の全てをトンネルエンドポイント20にて実施できる。その結果、第1実施形態と比べて、より高速な通信が期待できる。
ただしARPテーブルがトンネルエンドポイント20とOS30の2か所に存在することになるので、キャッシュのエイジングを行う、OSからARPテーブルの変更を通知してもらうなどの、一貫性の問題が起きないような適切な管理をする必要がある。
さらに、本発明の実施形態では、送信処理が図3の流れになるか、図4の流れになるかは、宛先トンネルエンドポイントの情報が揃うかどうかで分岐していたが、その他の制限の都合で図4の流れを選択させてもよい。例えば宛先情報が確定している場合でも、フラグメントの必要がある場合にはその処理をOSに任せる必要があるため、図4の流れを選択する。また受信時もフラグメントしたパケットを受け取るケースがある場合は、図7のようにFD24からネットワークスタック処理部31へ処理を投げてから、VM11へ渡すこともあり得る。このルートを構成することで、あらゆるVXLANパケットの送受信に対応することができる。
以上、本発明の好ましい実施形態や実施形態を説明したが、本発明はこれに限定されるものではない。上述した実施形態では、VNIと他の物理マシンにあるVMのMACアドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを検索するものとして説明したが、本発明はこれに限られない。例えば、VNIとVXLANトンネルのユーザのMACアドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを検索する場合に、上述した顕著な効果がもたらされる。また、上述したトンネルエンドポイントの動作は、このような動作を実行させるプログラムにおいても実現可能である。なお、このプログラムは、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記録デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記録媒体などのコンピュータが読み取り可能な記録媒体の形態で、流通され得る。このような記録媒体に記録されたプログラムを読み込んで実行することにより、本実施形態の通信機能をソフトウェア的に実現してもよい。請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲に含まれることはいうまでもない。
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索するデータベースを有する、制御システム。
(付記2)利用可能なOS(Operating System)のネットワークスタック処理を使用するためのUDP(User Datagram Protocol)ソケットと、前記OSのネットワークスタック処理の結果生成されるパケットを受け取るためのファイルディスクリプタとをさらに有する、付記1に記載の制御システム。
(付記3)前記利用可能なOSのネットワークスタック処理のARP(Address Resolution Protocol)テーブルに対応するキャッシュをさらに有する、付記2に記載の制御システム。
(付記4)前記VXLANトンネルのユーザは、他の物理マシンにあるVM(Virtual Machine)である、付記1乃至付記3のいずれか一つに記載の制御システム。
(付記5)物理マシン上に構成されたVM(Virtual Machine)と、前記物理マシン上に構成されたトンネルエンドポイントであって、VNI(VXLAN Network Identifier)と他の物理マシンにあるVM(Virtual Machine)のMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索するデータベースを有するトンネルエンドポイントと、ネットワークスタック処理部を有するOS(Operating System)と、を備える通信システム。
(付記6)前記トンネルエンドポイントは、前記OSのネットワークスタック処理を使用するためのUDP(User Datagram Protocol)ソケットと、前記OSのネットワークスタック処理の結果生成されるパケットを受け取るためのファイルディスクリプタとをさらに有する、付記5に記載の通信システム。
(付記7)前記トンネルエンドポイントは、前記OSのネットワークスタック処理のARP(Address Resolution Protocol)テーブルに対応するキャッシュをさらに有する、付記6に記載の通信システム。
(付記8)VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索し、前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できたときには、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出して前記通信先のトンネルエンドポイントの外向きのインターフェースへ通信を行う、通信方法。
(付記9)前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できないときには、利用可能なOS(Operating System)のネットワークスタック処理を使用して、前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得し、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出する、付記8に記載の通信方法。
(付記10)前記取得できた前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスと、ARP(Address Resolution Protocol)テーブルとから通信先のトンネルエンドポイントの外向きのインターフェースのMACアドレスを特定する、付記8に記載の通信方法。
(付記11)前記VXLANトンネルのユーザは、他の物理マシンにあるVM(Virtual Machine)である、付記8乃至付記10のいずれか一つに記載の通信方法。
(付記12)トンネルエンドポイントに、VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索する処理と、前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できたときには、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出して前記通信先のトンネルエンドポイントの外向きのインターフェースへ通信する通信処理と、を実行させる、パケット送出により通信するためのプログラムが記録された記録媒体。
(付記13)前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できないときには、利用可能なOS(Operating System)のネットワークスタック処理を使用して、前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得し、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出する、付記12に記載のプログラムが記録された記録媒体。
(付記14)前記取得できた前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスと、ARP(Address Resolution Protocol)テーブルとから通信先のトンネルエンドポイントの外向きのインターフェースのMACアドレスを特定する特定処理をさらに含む、付記12に記載のプログラムが記録された記録媒体。
(付記15)前記VXLANトンネルのユーザは、他の物理マシンにあるVM(Virtual Machine)である、付記12乃至付記14のいずれか一つに記載のプログラムが記録された記録媒体。
本発明は、キャリアにおける大量のデータ通信を処理するノードの仮想化の用途に適用できる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2014年9月1日に出願された日本出願特願2014−176927号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
11 VM
20 トンネルエンドポイント
20a 制御システム
21 Inner
22 Outer
23 UDPソケット
24 FD
25 FDB
30 OS
31 ネットワークスタック処理部
41 NIC

Claims (10)

  1. VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索するデータベースを有する、
    制御システム。
  2. 利用可能なOS(Operating System)のネットワークスタック処理を使用するためのUDP(User Datagram Protocol)ソケットと、
    前記OSのネットワークスタック処理の結果生成されるパケットを受け取るためのファイルディスクリプタとをさらに有する、請求項1に記載の制御システム。
  3. 前記利用可能なOSのネットワークスタック処理のARP(Address Resolution Protocol)テーブルに対応するキャッシュをさらに有する、請求項2に記載の制御システム。
  4. 物理マシン上に構成されたVM(Virtual Machine)と、
    前記物理マシン上に構成されたトンネルエンドポイントであって、VNI(VXLAN Network Identifier)と他の物理マシンにあるVM(Virtual Machine)のMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索するデータベースを有するトンネルエンドポイントと、
    ネットワークスタック処理部を有するOSと、を備える通信システム。
  5. 前記トンネルエンドポイントは、前記OSのネットワークスタック処理を使用するためのUDP(User Datagram Protocol)ソケットと、前記OSのネットワークスタック処理の結果生成されるパケットを受け取るためのファイルディスクリプタとをさらに有する、請求項4に記載の通信システム。
  6. 前記トンネルエンドポイントは、前記OSのネットワークスタック処理のARP(Address Resolution Protocol)テーブルに対応するキャッシュをさらに有する、請求項5に記載の通信システム。
  7. VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索し、
    前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できたときには、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出して前記通信先のトンネルエンドポイントの外向きのインターフェースへ通信を行う、通信方法。
  8. 前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できないときには、利用可能なOS(Operating System)のネットワークスタック処理を使用して、前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得し、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出する、請求項7に記載の通信方法。
  9. 前記取得できた前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスと、ARP(Address Resolution Protocol)テーブルとから通信先のトンネルエンドポイントの外向きのインターフェースのMACアドレスを特定する、請求項7に記載の通信方法。
  10. パケット送出により通信するためのプログラムが記録された記録媒体であって、
    トンネルエンドポイントに、
    VNI(VXLAN Network Identifier)とVXLAN(Virtual eXtensible Local Area Network)トンネルのユーザのMAC(Media Access Control)アドレスとから、通信先のトンネルエンドポイントの外向きのインターフェースのIP(Internet Protocol)アドレスを検索する処理と、
    前記通信先のトンネルエンドポイントの外向きのインターフェースのIPアドレスを取得できたときには、カプセリングしたパケットを完成させて、NIC(Network Interface Card)からパケットを送出して前記通信先のトンネルエンドポイントの外向きのインターフェースへ通信する通信処理と、を実行させるプログラムが記録された記録媒体。
JP2016546308A 2014-09-01 2015-08-28 制御システム、通信システム、通信方法および記録媒体 Pending JPWO2016035306A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014176927 2014-09-01
JP2014176927 2014-09-01
PCT/JP2015/004377 WO2016035306A1 (ja) 2014-09-01 2015-08-28 制御システム、通信システム、通信方法および記録媒体

Publications (1)

Publication Number Publication Date
JPWO2016035306A1 true JPWO2016035306A1 (ja) 2017-06-08

Family

ID=55439389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016546308A Pending JPWO2016035306A1 (ja) 2014-09-01 2015-08-28 制御システム、通信システム、通信方法および記録媒体

Country Status (2)

Country Link
JP (1) JPWO2016035306A1 (ja)
WO (1) WO2016035306A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107317832B (zh) 2016-04-27 2020-01-03 新华三技术有限公司 报文转发方法及装置
CN108337158B (zh) * 2018-01-23 2020-12-04 新华三技术有限公司 单播报文转发方法和装置
CN113596038B (zh) * 2021-08-02 2023-04-07 武汉绿色网络信息服务有限责任公司 数据包解析的方法和服务器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013014507A1 (en) * 2011-07-22 2013-01-31 Josafatsson Atli Mar A trawl door or paravane with remote control adjustment
JP2013110509A (ja) * 2011-11-18 2013-06-06 Oki Electric Ind Co Ltd 転送処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013014507A1 (en) * 2011-07-22 2013-01-31 Josafatsson Atli Mar A trawl door or paravane with remote control adjustment
JP2013110509A (ja) * 2011-11-18 2013-06-06 Oki Electric Ind Co Ltd 転送処理装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"次世代オープンプラットフォームにおけるCTCの取り組み サーバ運用のノウハウをネットワークにも適用したL", BUSINESS COMMUNICATION, vol. 第51巻, 第5号, JPN6015045791, 1 May 2014 (2014-05-01), JP, pages 78 - 79 *
M. MAHALINGAM ET AL.: "Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networ", RFC7348, JPN6015045790, August 2014 (2014-08-01) *
田村 奈央: "世界で一番わかりやすい SDNの話 ソフトでネットワークを自動構築 Part2 技術・プロトコル デ", 日経NETWORK, vol. 第157号, JPN6018016976, 28 April 2013 (2013-04-28), pages 34 - 41 *

Also Published As

Publication number Publication date
WO2016035306A1 (ja) 2016-03-10

Similar Documents

Publication Publication Date Title
US11671367B1 (en) Methods and apparatus for improving load balancing in overlay networks
US11398921B2 (en) SDN facilitated multicast in data center
US10320664B2 (en) Cloud overlay for operations administration and management
CN105612719B (zh) 使用封装头部中的元数据的高级网络虚拟化
CN103200069B (zh) 一种报文处理的方法和设备
CN106998286B (zh) 一种vxlan报文转发方法及装置
JP6581277B2 (ja) データパケット転送
US9565105B2 (en) Implementation of virtual extensible local area network (VXLAN) in top-of-rack switches in a network environment
US9559896B2 (en) Network-assisted configuration and programming of gateways in a network environment
EP3197107B1 (en) Message transmission method and apparatus
US11522763B2 (en) Agent-based network scanning in software-defined networking (SDN) environments
CN111092801B (zh) 数据传输方法及装置
JP5855630B2 (ja) 仮想ローカルエリアネットワークのクラウドアプライアンスを管理するための管理サーバおよびその管理方法
US10257086B2 (en) Source imposition of network routes in computing networks
TWI577164B (zh) 可縮放位址解析之技術
JP2020520612A (ja) パケット伝送方法、エッジデバイス及び機械可読記憶媒体
JP2019517168A (ja) 物理ネットワークと仮想ネットワークの間の相互接続
JP6722816B2 (ja) パケット転送
CN106209557B (zh) 报文转发方法及装置
US11121969B2 (en) Routing between software defined networks and physical networks
WO2016035306A1 (ja) 制御システム、通信システム、通信方法および記録媒体
CN110752989A (zh) 一种东西向流量转发方法与装置
US9819594B2 (en) Information processing system and controlling method and controlling device for the same
CN115065660B (zh) Arp代答的优化方法
JP2024503319A (ja) 仮想化されたクラウド環境におけるレイヤ2ネットワーキング情報

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180515