JP5871063B2 - マルチテナントシステム、スイッチ、コントローラ、及びパケット転送方法 - Google Patents
マルチテナントシステム、スイッチ、コントローラ、及びパケット転送方法 Download PDFInfo
- Publication number
- JP5871063B2 JP5871063B2 JP2014515659A JP2014515659A JP5871063B2 JP 5871063 B2 JP5871063 B2 JP 5871063B2 JP 2014515659 A JP2014515659 A JP 2014515659A JP 2014515659 A JP2014515659 A JP 2014515659A JP 5871063 B2 JP5871063 B2 JP 5871063B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- switch
- address
- tenant
- encapsulated
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 50
- 238000006243 chemical reaction Methods 0.000 claims description 37
- 230000005540 biological transmission Effects 0.000 claims description 32
- 238000010586 diagram Methods 0.000 description 17
- 230000005641 tunneling Effects 0.000 description 12
- 238000005538 encapsulation Methods 0.000 description 5
- 201000006284 orofacial cleft 1 Diseases 0.000 description 3
- 239000002775 capsule Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
- H04L41/0809—Plug-and-play configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/34—Signalling channels for network management communication
- H04L41/342—Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2596—Translation of addresses of the same type other than IP, e.g. translation from MAC to MAC addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、マルチテナントシステムに関し、特に、テナント識別情報を認識できない機器が接続されているマルチテナントシステムに関する。
クラウドコンピューティングにおいて、サーバ装置や、スイッチ、ストレージ等のハードウェアを、複数のユーザで共有するマルチテナントシステムが知られている。図1は、マルチテナントシステムにおけるリソース共有レベルを説明するための図である。マルチテナントシステムでは、リソース共有レベルに応じて、IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)、及びSaaS(Software as a Service)といった利用形態がある。従来のシステム(シングルテナントシステム)では、ハードウェア、OS/ミドルウェア、及びアプリケーションをユーザが管理していた。IaaSでは、ハードウェアを、システムベンダーが管理し、アプリケーション、及びOS/ミドルウェアについては、ユーザが管理する。PaaSでは、ハードウェア、及びOS/ミドルウェアをシステムベンダーが管理し、アプリケーションについては、ユーザが管理する。SaaSでは、ハードウェア、OS/ミドルウェア、及びアプリケーションを、システムベンダーが管理する。
マルチテナントシステムは、GRE(Generic Routing Encapsulation)等のトンネリングプロトコルによって実現されることが多い。その理由は、パケットをカプセル化する際に、テナント識別情報を付加することができるためである。また、トンネリングプロトコルを利用すると、VLANによりマルチテナントシステムを実現する場合に比べて、作成可能なテナント数に上限がないという利点もある。図2は、トンネリングプロトコルによるマルチテナントシステムを説明するための図である。図2では、DC(Data Center)1に、テナントAネットワークとテナントBネットワークが構築されている。同様に、DC2に、テナントAネットワークとテナントBネットワークが構築されている。DC1のテナントAネットワークと、DC2のテナントAネットワークは、トンネリングプロトコルを利用して接続されている。DC1のゲートウェイ、及びDC2のゲートウェイは、ヘッダ情報(以下、付加情報と称す)の追加によるカプセル化パケットの作成と、付加情報の除去によるカプセル化パケットの解除を行う。このとき、カプセル化されたパケットの付加情報には、L3ヘッダと共に、テナント識別情報が含まれている。
図2のDC1、又はDC2のようなマルチテナントシステム環境において、テナントAネットワーク、及びテナントBネットワークの共有ストレージとして、SAN(Storage Area Network)を利用したいというニーズがある。しかしながら、テナント識別情報を認識できない機器(例えば、システムベンダーやユーザが既存の資産として所持しているSAN)は、トンネリングプロトコルによるカプセル化パケットを受信するように設計されていない。そのため、既存のテナント識別情報を認識できない機器は、カプセル化されたパケット内のテナント識別情報を読み取ることができず、マルチテナントシステムに利用することができなかった。
一方、スイッチによるパケットの転送処理と、スイッチの制御処理を分離させたオープンフローネットワークシステムが知られている。オープンフローネットワークシステムでは、1つ以上のスイッチと、スイッチのパケット転送制御設定を指示するコントローラで構成される。コントローラは、スイッチのフローテーブルにフローエントリを設定する。スイッチは、当該フローエントリに基づいて、パケットを転送する。スイッチは、パケットを受信した際に、当該パケットを処理するためのフローエントリが、フローテーブルにない場合には、当該パケットをコントローラに転送する(以下、「パケットイン」という。)。コントローラは、パケットインされたパケットに基づくフローエントリを作成し、当該フローエントリを、当該パケットを転送するスイッチに設定する。コントローラは、スイッチにフローエントリを設定した後、パケットインを行ったスイッチに、当該パケットを返信する(以下、「パケットアウト」という。)。
本発明の分野に関連する文献公知発明として、特開2009−152953号公報(特許文献1)が知られている。特許文献1には、アプリケーションヘッダの書き換えにより、マルチテナントシステムを実現する場合に利用できるゲートウェイ装置、及びパケット転送方法の発明が開示されている。
本発明の目的は、テナント識別情報を認識できない機器を利用できるマルチテナントシステムを提供することにある。
本発明のテナントシステムは、テナント識別情報を有するVM(Virtual Machine)が動作するサーバ装置と、テナント識別情報を認識できない機器と、フローエントリに基づいてパケットを転送する複数のスイッチと、スイッチにフローエントリを設定するコントローラを備える。複数のスイッチは、サーバ装置が接続された第1のスイッチ、及びテナント識別情報を認識できない機器が接続された第2のスイッチを含む。
第1のスイッチは、VMからテナント識別情報を認識できない機器に送信されるパケットを、VMのテナント識別情報を含む付加情報が付加されたカプセル化パケットにカプセル化する処理部と、カプセル化パケットを、コントローラにパケットインし、コントローラからパケットアウトされたカプセル化パケットを、フローエントリに基づいて転送する転送処理部を備える。
コントローラは、パケットインされたカプセル化パケットの往路経路を計算する経路計算部と、往路経路上のスイッチにフローエントリを設定するフローエントリ設定部を備える。コントローラは、当該カプセル化パケットから付加情報を除去する動作を規定したフローエントリを、第2のスイッチに設定する。
第2のスイッチは、カプセル化パケットを受信する転送処理部と、フローエントリに基づいて、カプセル化パケットの付加情報を除去する処理部と、アドレス変換テーブルに基づいて、パケットの送信元IPアドレスを、第2のスイッチが管理するIPアドレスに変換するアドレス変換部を備える。転送処理部は、当該送信元IPアドレスが変換されたパケットを、テナント識別情報を認識できない機器に送信する。
本発明のパケット転送方法は、マルチテナントシステムにより実行されるパケット転送方法である。本発明のパケット転送方法は、VM(Virtual Machine)が、テナント識別情報を認識できない機器宛のパケットを送信するステップと、第1のスイッチが、当該パケットを、コントローラにパケットインするステップと、コントローラが、当該パケットの往路経路を計算するステップと、コントローラが、当該パケットを転送するためのフローエントリを、往路経路上のスイッチに設定するステップを具備する。当該設定するステップでは、VMのテナント識別情報を含む付加情報をパケットに付加して当該パケットをカプセル化する動作を規定したフローエントリが、第1のスイッチに設定される。又、カプセル化されたパケットから付加情報を除去する動作を規定したフローエントリが第2のスイッチに設定される。本発明のパケット転送方法は、更に、第1のスイッチが、フローエントリに従い、VMのテナント識別情報を含む付加情報を付加して当該パケットをカプセル化するステップと、第2のスイッチが、当該カプセル化パケットを受信するステップと、第2のスイッチが、フローエントリに従い、当該カプセル化パケットから付加情報を除去するステップと、第2のスイッチが、アドレス変換テーブルに基づいて、当該付加情報が除去されたパケットの送信元IPアドレスを、第2のスイッチが管理するIPアドレスに変換するステップと、第2のスイッチが、送信元IPアドレスが変換されたパケットを、テナント識別情報を認識できない機器に送信するステップとを具備する。
本発明によれば、テナント識別情報を認識できない機器を利用できるマルチテナントシステムを提供することができる。
上記発明の目的、効果、特徴は、添付される図面と連携して実施の形態の記述から、より明らかになる。
図1は、マルチテナントシステムにおけるリソースの共有レベルを説明するための図である。
図2は、トンネリングプロトコルによるマルチテナントシステムを説明するための図である。
図3は、本発明の第1実施形態のマルチテナントシステムの全体図である。
図4は、本発明の第1実施形態のマルチテナントシステムにおけるOFC1のブロック図である。
図5は、本発明の第1実施形態のマルチテナントシステムにおけるOFS2のブロック図である。
図6は、本発明の第1実施形態のフローテーブル25の例である。
図7は、本発明の第1実施形態のMACアドレステーブル26の例である。
図8は、本発明の第1実施形態のテナント管理テーブル27の例である。
図9は、本発明の第1実施形態のゲートウェイ管理テーブル28の例である。
図10は、本発明の第1実施形態のアドレス変換テーブル29の例である。
図11は、本発明の第1実施形態のマルチテナントシステムにおけるパケット転送方法(往路)のフローチャートである。
図12は、図11のパケット転送方法(往路)における往路経路(VM4−1→SAN6)上のパケットを模式的に示す図である。
図13は、本発明の第1実施形態のマルチテナントシステムにおけるパケット転送方法(復路)のフローチャートである。
図14は、図13のパケット転送方法(復路)における復路経路(SAN6→VM4−1)上のパケットを模式的に示す図である。
図15は、本発明の第2実施形態のマルチテナントシステムにおけるOFC1のブロック図である。
図16は、本発明の第2実施形態のマルチテナントシステムにおけるOFS2のブロック図である。
図17は、本発明の第2実施形態のマルチテナントシステムにおけるパケット転送方法(往路)のフローチャートである。
添付図面を参照して、本発明の実施形態によるマルチテナントシステムを以下に説明する。
(第1実施形態)
[構成の説明]
はじめに、本実施形態におけるマルチテナントシステムの構成の説明を行う。図3は、本発明の第1実施形態のマルチテナントシステムの全体図である。実施形態のマルチテナントシステムは、OFC(Open Flow Controller)1、第1のOFS(Open Flow Switch)2−1、第2のOFS2−2、サーバ装置3、ブリッジ5、及びSAN6を備える。サーバ装置3は、VM(Virtual Machine)4−1、及びVM4−2を備える。図3の構成例は、説明のために、簡易な構成となっているが、マルチテナントシステムに接続されている装置は、任意の台数でよい。また、本実施形態では、ユーザに割り当てられているリソースを、サーバ装置上で動作するVMとして説明しているが、パーソナルコンピュータ等の物理的な端末であってもよい。
[構成の説明]
はじめに、本実施形態におけるマルチテナントシステムの構成の説明を行う。図3は、本発明の第1実施形態のマルチテナントシステムの全体図である。実施形態のマルチテナントシステムは、OFC(Open Flow Controller)1、第1のOFS(Open Flow Switch)2−1、第2のOFS2−2、サーバ装置3、ブリッジ5、及びSAN6を備える。サーバ装置3は、VM(Virtual Machine)4−1、及びVM4−2を備える。図3の構成例は、説明のために、簡易な構成となっているが、マルチテナントシステムに接続されている装置は、任意の台数でよい。また、本実施形態では、ユーザに割り当てられているリソースを、サーバ装置上で動作するVMとして説明しているが、パーソナルコンピュータ等の物理的な端末であってもよい。
以下、第1のOFS2−1、及び第2のOFS2−2を、区別せずに総称する場合には、OFS2と称する。同様に、VM4−1、及びVM4−2を、区別せずに総称する場合には、VM4と称する。
図4は、本発明の第1実施形態のマルチテナントシステムにおけるOFC1のブロック図である。本実施形態のOFC1は、経路計算部11、及びフローエントリ設定部12を備える。経路計算部11は、OFS2により、パケットインされたパケットに基づいて、転送経路を計算する。経路計算部11は、パケット内の宛先アドレス及び送信元アドレスに基づいて宛先装置、送信元装置、及びそれぞれの装置に接続されたスイッチを特定し、図示しないシステムのトポロジ情報に基づいて当該装置間の経路を転送経路として算出する。フローエントリ設定部12は、経路計算部11により算出された転送経路上のOFS2に、当該パケットの転送制御に必要なフローエントリを設定する。
図5は、本発明の第1実施形態のマルチテナントシステムにおけるOFS2のブロック図である。本実施形態のOFS2は、転送処理部21、トンネリング判定部22、処理部23、アドレス変換部24及び記憶部30を備える。記憶部30には、フローテーブル25、MACアドレステーブル26、テナント管理テーブル27、ゲートウェイ管理テーブル28、及びアドレス変換テーブル29が記憶されている。
転送処理部21は、記憶部30に記憶されている各テーブルに基づいて決定した転送先にパケットを転送する。トンネリング判定部22は、OFS2により受信されたパケットがカプセル化されているかを判定する。また、トンネリング判定部22は、OFS2により受信されたパケットをカプセル化する必要があるかを判定する。処理部23は、OFS2により受信されたパケットのカプセル化と、カプセル化の解除(デカプセル化)を行う。アドレス変換部24は、アドレス変換テーブル29に基づいて、パケットに含まれるIPアドレス、及びポート番号を変換する。なお、当該変換は、IPアドレス、又はポート番号のいずれか一方のみでもよい。
次に、記憶部30に記憶されている各種テーブルについて説明する。
図6は、本発明の第1実施形態のフローテーブル25の例である。フローテーブル25では、「ルール」、「アクション」、及び「統計」によって定義される受信パケットに対する動作規定を含むフローエントリが管理される。「ルール」には、パケットを識別するための情報が設定される。例えば、VLAN IDやパケット送信元IPアドレス等を組み合わせた情報である。「アクション」では、「ルール」に含まれる情報に適合したパケットを、OFS2が、どのように処理するかを定義する。例えば、OFS2の所定のポートから所定のIPアドレスのノードに送信する処理や、パケットを廃棄する処理等を、「アクション」に定義する。「ルール」、及び「アクション」を組み合わせることにより、例えば、プロトコル番号が1(ICMP)の場合には、パケットを廃棄するという動作設定を、OFS2に設定することができる。「統計」は、フローエントリ毎の統計情報である。例えば、転送パケット数や転送オクテット数である。
図7は、本発明の第1実施形態のMACアドレステーブル26の例である。MACアドレステーブル26では、OFS2に接続されている機器のMACアドレスと、当該MACアドレスを有する機器が接続されているOFS2のスイッチポート番号が管理されている。なお、当該MACアドレスは、VM等に割り当てられている仮想MACアドレスでもよい。
図8は、本発明の第1実施形態のテナント管理テーブル27の例である。テナント管理テーブル27では、OFS2に接続されている機器のMACアドレスと、当該MACアドレスを有する機器が所属するテナントシステムのテナント識別情報が管理されている。なお、当該MACアドレスは、VM等に割り当てられている仮想MACアドレスでもよい。また、テナント識別情報は、VM自体が有する必要はなく、OFS2等が、テナント識別情報をVMに付与することによって、VMの所属するテナントが管理されてもよい。例えば、テナント識別情報は
Hyper−Visorのレイヤーで管理され得る。この場合、VMが送信したパケットを受信したOFS2は、Hyper−VisorにそのVMが所属するテナントを問い合わせて、当該パケットにそのテナント識別情報を付加する。
Hyper−Visorのレイヤーで管理され得る。この場合、VMが送信したパケットを受信したOFS2は、Hyper−VisorにそのVMが所属するテナントを問い合わせて、当該パケットにそのテナント識別情報を付加する。
図9は、本発明の第1実施形態のゲートウェイ管理テーブル28の例である。ゲートウェイ管理テーブル28では、ゲートウェイID毎に、ゲートウェイのIPアドレスが管理されている。ゲートウェイIDは、ゲートウェイを一意に識別する識別子であり、0や1等に例示される任意の番号からインクリメントして割り当てていくような運用が考えられる。
図10は、本発明の第1実施形態のアドレス変換テーブル29の例である。アドレス変換テーブル29では、宛先IPアドレス、宛先ポート番号、宛先テナント、割当IPアドレス、割当ポート番号、送信元ゲートウェイ、及び送信元VMが管理されている。宛先IPアドレス、及び宛先ポート番号は、マルチテナントシステムに接続されているテナント識別情報を認識できない機器(以下では、「識別不能機器」と称す)のIPアドレスとポート番号である。宛先テナントは、マルチテナントシステムに接続されている識別不能機器に割り当てられているテナントである。1つの識別不能機器に、複数のテナントを割り当て、複数のテナントシステムが、1つの識別不能機器を共有してもよい。割当IPアドレス、及び割当ポート番号は、OFS2から識別不能機器へパケットを送信する際に設定される送信元IPアドレスと送信元ポート番号である。送信元ゲートウェイは、アドレス変換テーブル29に基づいて、ヘッダ情報を書き換える必要があるパケットの送信元OFS2を識別するための情報である。送信元VMは、アドレス変換テーブル29に基づいて、ヘッダ情報を書き換える必要があるパケットの送信元VM4を識別するための情報である。なお、アドレス変換テーブル29では、宛先ポート番号と割当ポート番号が使用されない場合には、宛先IPアドレスと割当IPアドレスのみを管理してもよい。
[動作方法の説明]
次に、本実施形態のマルチテナントシステムにおけるパケット転送方法について説明する。
次に、本実施形態のマルチテナントシステムにおけるパケット転送方法について説明する。
まず、パケット転送方法(往路)について説明する。図11は、本発明の第1実施形態のマルチテナントシステムにおけるパケット転送方法(往路)のフローチャートである。図12は、図11のパケット転送方法(往路)における往路経路(VM4−1→SAN6)上のパケットを模式的に示す図である。なお、以下では、第1のOFS2−1が、VM4−1から識別不能機器であるSAN6に向けたパケットを、はじめて受信した場合について説明する。
(ステップS1)
テナントAシステムに属するVM4−1が、識別不能機器であるSAN6に向けてパケットを送信する。なお、図12では、サーバ装置3から第1のOFS2−1へ送信されているパケット(src:VM4−1、dst:SAN6)が、当該パケットに対応している。ここで、「src:VM4−1」は、送信元IPアドレスが、VM4−1に割り当てられているIPアドレスであることを示す。同様に、「dst:SAN6」は、送信先IPアドレスが、SAN6に割り当てられているIPアドレスであることを示す。
テナントAシステムに属するVM4−1が、識別不能機器であるSAN6に向けてパケットを送信する。なお、図12では、サーバ装置3から第1のOFS2−1へ送信されているパケット(src:VM4−1、dst:SAN6)が、当該パケットに対応している。ここで、「src:VM4−1」は、送信元IPアドレスが、VM4−1に割り当てられているIPアドレスであることを示す。同様に、「dst:SAN6」は、送信先IPアドレスが、SAN6に割り当てられているIPアドレスであることを示す。
(ステップS2)
第1のOFS2−1は、ステップS1で送信されたパケットを受信する。第1のOFS2−1は、当該パケットの送信先IPアドレスに対応するMACアドレスと、MACアドレステーブル26を比較する。第1のOFS2−1は、当該MACアドレスが、MACアドレステーブル26で管理されていない場合には、当該MACアドレスに対応する装置が、他のOFS2に接続されていると判断する(あるいは、当該MACアドレスに対応する装置が、第1のOFS2−1自身に接続されていないと判断する)。この場合、第1のOFS2−1は、当該パケットをカプセル化する必要があると判断する。本一例において第1のOFS2−1は、当該パケットを参照し、受信パケットの送信先IPアドレスに対応する装置(ここでは一例としてSAN6)が第1のOFS2−1自身に接続されていないと判断する。
第1のOFS2−1は、ステップS1で送信されたパケットを受信する。第1のOFS2−1は、当該パケットの送信先IPアドレスに対応するMACアドレスと、MACアドレステーブル26を比較する。第1のOFS2−1は、当該MACアドレスが、MACアドレステーブル26で管理されていない場合には、当該MACアドレスに対応する装置が、他のOFS2に接続されていると判断する(あるいは、当該MACアドレスに対応する装置が、第1のOFS2−1自身に接続されていないと判断する)。この場合、第1のOFS2−1は、当該パケットをカプセル化する必要があると判断する。本一例において第1のOFS2−1は、当該パケットを参照し、受信パケットの送信先IPアドレスに対応する装置(ここでは一例としてSAN6)が第1のOFS2−1自身に接続されていないと判断する。
(ステップS3)
第1のOFS2−1は、受信パケットの転送経路と、当該パケットをカプセル化する際の宛先IPアドレスを、OFC1に問い合わせるため、当該パケットを、OFC1にパケットインする。本一例では、第1のOFS2−1は、ステップS2においてMACアドレステーブル26に基づいてカプセル化の要否を判断し、OFC1に対するカプセル化に必要な情報の問い合わせが必要かどうかを判断した(ステップS2)。なお、第1のOFS2−1は、MACアドレステーブル26を参照せずに、フローテーブル25に、当該パケットを転送するためのフローエントリがない場合に、OFC1に問い合わせが必要であると判断してもよい。
第1のOFS2−1は、受信パケットの転送経路と、当該パケットをカプセル化する際の宛先IPアドレスを、OFC1に問い合わせるため、当該パケットを、OFC1にパケットインする。本一例では、第1のOFS2−1は、ステップS2においてMACアドレステーブル26に基づいてカプセル化の要否を判断し、OFC1に対するカプセル化に必要な情報の問い合わせが必要かどうかを判断した(ステップS2)。なお、第1のOFS2−1は、MACアドレステーブル26を参照せずに、フローテーブル25に、当該パケットを転送するためのフローエントリがない場合に、OFC1に問い合わせが必要であると判断してもよい。
(ステップS4)
OFC1は、当該パケットインされたパケットの宛先であるSAN6が接続されているOFS2が、第2のOFS2−2であることを特定する。OFC1は、当該パケットインされたパケットを、第2のOFS2−2まで送信するための往路経路を計算する。
OFC1は、当該パケットインされたパケットの宛先であるSAN6が接続されているOFS2が、第2のOFS2−2であることを特定する。OFC1は、当該パケットインされたパケットを、第2のOFS2−2まで送信するための往路経路を計算する。
(ステップS5)
OFC1が、当該パケットを転送するためのフローエントリを、ステップS4の処理により算出された往路経路上のスイッチに設定する。なお、図12では、説明を簡略化するため、第1のOFS2−1、及び第2のOFS2−2のみを記載しているが、第1のOFS2−1と、第2のOFS2−2の間には、複数のOFS2が存在していてもよい。その場合には、第1のOFS2−1と、第2のOFS2−2の間のOFS2にも、当該フローエントリが設定される。
OFC1が、当該パケットを転送するためのフローエントリを、ステップS4の処理により算出された往路経路上のスイッチに設定する。なお、図12では、説明を簡略化するため、第1のOFS2−1、及び第2のOFS2−2のみを記載しているが、第1のOFS2−1と、第2のOFS2−2の間には、複数のOFS2が存在していてもよい。その場合には、第1のOFS2−1と、第2のOFS2−2の間のOFS2にも、当該フローエントリが設定される。
また、OFC1は、付加情報を付加することによって当該パケットをカプセル化する動作を規定したフローエントリを、パケットイン元の第1のOFS2−1に設定する。
また、OFC1は、付加情報を除去する動作(カプセル化の解除)を規定したフローエントリを、識別不能機器が接続された終端エッジである第2のOFS2−2に設定する。
(ステップS6)
OFC1は、ステップS3の処理でパケットインされたパケットを、第1のOFS2−1にパケットアウトする。
OFC1は、ステップS3の処理でパケットインされたパケットを、第1のOFS2−1にパケットアウトする。
(ステップS7)
第1のOFS2−1は、OFC1により設定されたフローエントリに従い、パケットインされたパケット(ステップS2において受信したパケット)を、付加情報によりカプセル化することにより、カプセル化パケットを作成する。当該付加情報は、例えば、L3ヘッダ(送信元IPアドレス:OFS2−1、送信先IPアドレス:OFS2−2)と、テナント識別情報(テナントA)を含む。ここで、「送信元IPアドレス:OFS2−1」は、カプセル化パケットの送信元IPアドレスが、第1のOFS2−1のIPアドレスであることを示す。同様に、「送信先IPアドレス:OFS2−2」は、カプセル化パケットの送信先IPアドレスが、第2のOFS2−2のIPアドレスであることを示す。
第1のOFS2−1は、OFC1により設定されたフローエントリに従い、パケットインされたパケット(ステップS2において受信したパケット)を、付加情報によりカプセル化することにより、カプセル化パケットを作成する。当該付加情報は、例えば、L3ヘッダ(送信元IPアドレス:OFS2−1、送信先IPアドレス:OFS2−2)と、テナント識別情報(テナントA)を含む。ここで、「送信元IPアドレス:OFS2−1」は、カプセル化パケットの送信元IPアドレスが、第1のOFS2−1のIPアドレスであることを示す。同様に、「送信先IPアドレス:OFS2−2」は、カプセル化パケットの送信先IPアドレスが、第2のOFS2−2のIPアドレスであることを示す。
(ステップS8)
第2のOFS2−2は、当該カプセル化パケットを、第1のOFS2−1から受信する。第2のOFS2−2は、当該カプセル化パケットに含まれる付加情報から送信元ゲートウェイである第1のOFS2−1のIPアドレス及びテナント識別情報を抽出するとともに、付加情報を除くパケットのヘッダ情報から送信元VM4−1のIPアドレス及び宛先装置であるSAN6のIPアドレスを抽出し、アドレス変換テーブル29に記録する。又、第2のOFS2−2は、当該カプセル化パケットに含まれるデータの転送に使用する送信元IPアドレス(アドレス変換テーブル29の割当IPアドレス)に、DUMを割り当てる。本一例において、当該カプセル化パケットに対応するアドレス変換テーブル29のレコードは、図12に記載されたアドレス変換テーブル29のようになる。
第2のOFS2−2は、当該カプセル化パケットを、第1のOFS2−1から受信する。第2のOFS2−2は、当該カプセル化パケットに含まれる付加情報から送信元ゲートウェイである第1のOFS2−1のIPアドレス及びテナント識別情報を抽出するとともに、付加情報を除くパケットのヘッダ情報から送信元VM4−1のIPアドレス及び宛先装置であるSAN6のIPアドレスを抽出し、アドレス変換テーブル29に記録する。又、第2のOFS2−2は、当該カプセル化パケットに含まれるデータの転送に使用する送信元IPアドレス(アドレス変換テーブル29の割当IPアドレス)に、DUMを割り当てる。本一例において、当該カプセル化パケットに対応するアドレス変換テーブル29のレコードは、図12に記載されたアドレス変換テーブル29のようになる。
(ステップS9)
第2のOFS2−2が、ステップS5の処理により設定されたフローエントリに基づいて、ステップS7の処理で付与された付加情報を除去する。
第2のOFS2−2が、ステップS5の処理により設定されたフローエントリに基づいて、ステップS7の処理で付与された付加情報を除去する。
(ステップS10)
第2のOFS2−2は、図12のアドレス変換テーブル29に基づいて、送信元IPアドレスをDUMに変換する。なお、図12の第2のOFS2−2におけるアドレス変換テーブル29では、宛先ポート番号、及び割当ポート番号が使用されていない。このように、宛先IPアドレス、宛先テナント、割当IPアドレス、及び送信元ゲートウェイのみを利用して、パケットの書き換えを行ってもよい。すなわち、第2のOFS2−2は、NAT機能、又はIPマスカレード機能により、パケットを書き換える。例えばOFS2−2は、NAT機能を利用する場合、OFS2−2に管理されている複数のIPアドレスから、送信元VM毎に一意のIPアドレスをDUMとして払い出す。あるいは、OFS2−2は、IPマスカレード機能を利用する場合、OFS2−2に管理されている複数のIPアドレスとポート番号から、送信元VM毎に一意のIPアドレスとポート番号の組み合わせをDUMとして払い出す。
第2のOFS2−2は、図12のアドレス変換テーブル29に基づいて、送信元IPアドレスをDUMに変換する。なお、図12の第2のOFS2−2におけるアドレス変換テーブル29では、宛先ポート番号、及び割当ポート番号が使用されていない。このように、宛先IPアドレス、宛先テナント、割当IPアドレス、及び送信元ゲートウェイのみを利用して、パケットの書き換えを行ってもよい。すなわち、第2のOFS2−2は、NAT機能、又はIPマスカレード機能により、パケットを書き換える。例えばOFS2−2は、NAT機能を利用する場合、OFS2−2に管理されている複数のIPアドレスから、送信元VM毎に一意のIPアドレスをDUMとして払い出す。あるいは、OFS2−2は、IPマスカレード機能を利用する場合、OFS2−2に管理されている複数のIPアドレスとポート番号から、送信元VM毎に一意のIPアドレスとポート番号の組み合わせをDUMとして払い出す。
(ステップS11)
第2のOFS2−2は、ステップS9の処理により、送信元IPアドレスが書き換えられたパケットを、SAN6に向けて送信する。
第2のOFS2−2は、ステップS9の処理により、送信元IPアドレスが書き換えられたパケットを、SAN6に向けて送信する。
(ステップS12)
SAN6は、ブリッジ5を介して、当該書き換えられたパケットを受信する。なお、SAN6は、ブリッジ5を介さずに第2のOFS2−2に接続されていてもよい。
SAN6は、ブリッジ5を介して、当該書き換えられたパケットを受信する。なお、SAN6は、ブリッジ5を介さずに第2のOFS2−2に接続されていてもよい。
以上が、本実施形態のパケット転送方法(往路)についての説明である。なお、上述の説明では、第1のOFS2−1が、VM4−1からSAN6へ送信されるパケットを、はじめて受信した場合の処理(1stパケットの処理)について説明した。第1のOFSが、2回目以降に受信した当該パケットは、ステップS5により設定されたフローエントリに基づいて、転送経路上のOFS2により転送される。
次に、パケット転送方法(復路)について説明する。図13は、本発明の第1実施形態のマルチテナントシステムにおけるパケット転送方法(復路)のフローチャートである。図14は、図13のパケット転送方法(復路)における復路経路(SAN6→VM4−1)上のパケットを模式的に示す図である。なお、以下では、第2のOFS2−2が、SAN6からVM4−1に向けたパケットを、はじめて受信した場合について説明する。
(ステップS21)
識別不能機器であるSAN6は、ステップS12において受信したパケットに対するリプライパケットとしてVM4−1に向けてパケットを送信する。なお、図14では、SAN6から、ブリッジ5を介して、第2のOFS2−2へ送信されているパケット(src:SAN6、dst:DUM)が、当該パケットに対応している。
識別不能機器であるSAN6は、ステップS12において受信したパケットに対するリプライパケットとしてVM4−1に向けてパケットを送信する。なお、図14では、SAN6から、ブリッジ5を介して、第2のOFS2−2へ送信されているパケット(src:SAN6、dst:DUM)が、当該パケットに対応している。
(ステップS22)
第2のOFS2−2は、受信パケットの宛先IPアドレスがDUMであることから、アドレス変換テーブル29を参照して、送信先IPアドレスの変換を行う。ここでは、第2のOFS2−2は、図14のアドレス変換テーブル29の送信元VMを参照して、送信先IPアドレスを、DUMからVM4−1に変換する。
第2のOFS2−2は、受信パケットの宛先IPアドレスがDUMであることから、アドレス変換テーブル29を参照して、送信先IPアドレスの変換を行う。ここでは、第2のOFS2−2は、図14のアドレス変換テーブル29の送信元VMを参照して、送信先IPアドレスを、DUMからVM4−1に変換する。
(ステップS23) 第2のOFS2−2は、ステップS22においてアドレス変換済みのパケットをカプセル化する。詳細には、第2のOFS2−2は、ステップS21で送信されたパケットを、付加情報によりカプセル化することにより、カプセル化パケットを作成する。この際、第2のOFS2−2は、アドレス変換テーブル29の送信元ゲートウェイを参照し、送信元ゲートウェイが、第1のOFS2−1であることを特定する。第2のOFS2−2は、アドレス変換テーブル29の宛先テナントを参照し、当該付加情報に含めるテナント情報を特定する。第2のOFS2−2は、当該付加情報に、L3ヘッダ(送信元IPアドレス:OFS2−2、送信先IPアドレス:OFS2−1)と、テナント識別情報(テナントA)を含める。
(ステップS24)
第1のOFS2−1は、当該カプセル化パケットが1stパケットであるため、当該カプセル化パケットを、OFC1にパケットインする。
第1のOFS2−1は、当該カプセル化パケットが1stパケットであるため、当該カプセル化パケットを、OFC1にパケットインする。
(ステップS25)
OFC1は、当該パケットインされたカプセル化パケットに基づいて、復路経路を計算する。ここでは、パケットインされたカプセル化パケットをデカプセル化したパケットの送信元IPアドレス及び宛先IPアドレスから送信元機器と宛先VMを特定し、図示しないトポロジ情報を利用して、宛先VMに接続するエンドエッジ(ゲートウェイ)を特定し、復路経路を算出する。
OFC1は、当該パケットインされたカプセル化パケットに基づいて、復路経路を計算する。ここでは、パケットインされたカプセル化パケットをデカプセル化したパケットの送信元IPアドレス及び宛先IPアドレスから送信元機器と宛先VMを特定し、図示しないトポロジ情報を利用して、宛先VMに接続するエンドエッジ(ゲートウェイ)を特定し、復路経路を算出する。
(ステップS26)
OFC1は、当該カプセル化パケットを転送するためのフローエントリを、ステップS25の処理により算出された復路経路上のスイッチに設定する。なお、図14では、説明を簡略化するため、第1のOFS2−1、及び第2のOFS2−2のみを記載しているが、第1のOFS2−1と、第2のOFS2−2の間には、複数のOFS2が存在していてもよい。その場合には、第1のOFS2−1と、第2のOFS2−2の間のOFS2にも、当該フローエントリが設定される。
OFC1は、当該カプセル化パケットを転送するためのフローエントリを、ステップS25の処理により算出された復路経路上のスイッチに設定する。なお、図14では、説明を簡略化するため、第1のOFS2−1、及び第2のOFS2−2のみを記載しているが、第1のOFS2−1と、第2のOFS2−2の間には、複数のOFS2が存在していてもよい。その場合には、第1のOFS2−1と、第2のOFS2−2の間のOFS2にも、当該フローエントリが設定される。
また、OFC1は、復路経路上の最後のOFS2(VM4−1が接続されている第1のOFS2−1)には、付加情報を除去する動作(カプセル化の解除)を規定したフローエントリも第1のOFS2−1に設定する
(ステップS27)
OFC1は、ステップS24の処理でパケットインされたカプセル化パケットを、第2のOFS2−2にパケットアウトする。
OFC1は、ステップS24の処理でパケットインされたカプセル化パケットを、第2のOFS2−2にパケットアウトする。
(ステップS28)
第2のOFS2−2は、ステップS26の処理により設定されたフローエントリに従って当該カプセル化パケットを、第1のOFS2−1に送信する。
第2のOFS2−2は、ステップS26の処理により設定されたフローエントリに従って当該カプセル化パケットを、第1のOFS2−1に送信する。
(ステップS29)
第1のOFS2−1は、ステップS26の処理により設定されたフローエントリに基づいて、当該カプセル化パケットからステップS23の処理で付与された付加情報を除去する。また、第1のOFS2−1は、当該付加情報に含まれるテナント情報を参照し、当該付加情報が除去されたパケットの送信先を確認する。
第1のOFS2−1は、ステップS26の処理により設定されたフローエントリに基づいて、当該カプセル化パケットからステップS23の処理で付与された付加情報を除去する。また、第1のOFS2−1は、当該付加情報に含まれるテナント情報を参照し、当該付加情報が除去されたパケットの送信先を確認する。
(ステップS30)
第1のOFS2−1は、VM4−1に付加情報が除去されたパケットを送信する。VM4−1は、付加情報が除去されたパケットを受信する。
第1のOFS2−1は、VM4−1に付加情報が除去されたパケットを送信する。VM4−1は、付加情報が除去されたパケットを受信する。
本実施形態によれば、テナント識別情報を認識できない機器を利用できるマルチテナントシステムを提供することができる。
次に、本発明の第1実施形態のマルチテナントシステムの構成の一部が変更されたマルチテナントシステムの例として、第2実施形態について説明する。
(第2実施形態)
[構成の説明]
はじめに、本実施形態におけるマルチテナントシステムの構成の説明を行う。本実施形態のマルチテナントシステムの全体図は、図3で示した第1実施形態のマルチテナントシステムの全体図と同様であるため、詳細な説明を省略する。
[構成の説明]
はじめに、本実施形態におけるマルチテナントシステムの構成の説明を行う。本実施形態のマルチテナントシステムの全体図は、図3で示した第1実施形態のマルチテナントシステムの全体図と同様であるため、詳細な説明を省略する。
図15は、本発明の第2実施形態のマルチテナントシステムにおけるOFC1のブロック図である。本実施形態のOFC1は、経路計算部11、及びフローエントリ設定部12、トンネリング判定部13、及び記憶部16を備える。記憶部16には、テナント管理テーブル27、及びゲートウェイ管理テーブル28が記憶されている。経路計算部11は、OFS2により、パケットインされたパケットに基づいて、転送経路を計算する。フローエントリ設定部12は、経路計算部11により算出された転送経路上のOFS2に、当該パケットの転送制御に必要なフローエントリを設定する。トンネリング判定部13は、OFS2により受信されたパケットがカプセル化されているかを判定する。また、トンネリング判定部22は、OFS2により受信されたパケットをカプセル化する必要があるかを判定する。
図16は、本発明の第2実施形態のマルチテナントシステムにおけるOFS2のブロック図である。本実施形態のOFS2は、転送処理部21、処理部23、アドレス変換部24及び記憶部30を備える。記憶部30には、フローテーブル25、MACアドレステーブル26、及びアドレス変換テーブル29が記憶されている。
転送処理部21は、記憶部30に記憶されている各テーブルに基づいて決定した転送先にパケットを転送する。処理部23は、OFS2により受信されたパケットのカプセル化と、カプセル化の解除(デカプセル化)を行う。アドレス変換部24は、アドレス変換テーブル29に基づいて、パケットに含まれるIPアドレス、及びポート番号を変換する。なお、当該変換は、IPアドレス、又はポート番号のいずれか一方のみでもよい。
OFC1の記憶部16、及びOFS2の記憶部30に記憶されている各種テーブルの構成の説明については、第1実施形態と同様であるため、詳細な説明を省略する。
[動作方法の説明]
次に、本実施形態のマルチテナントシステムにおけるパケット転送方法について説明する。パケット転送方法(復路)については、第1実施形態と同様であるため、パケット転送方法(往路)についてのみ説明する。
次に、本実施形態のマルチテナントシステムにおけるパケット転送方法について説明する。パケット転送方法(復路)については、第1実施形態と同様であるため、パケット転送方法(往路)についてのみ説明する。
まず、パケット転送方法(往路)について説明する。図17は、本発明の第2実施形態のマルチテナントシステムにおけるパケット転送方法(往路)のフローチャートである。往路経路(VM4−1→SAN6)上のパケットを模式的に示す図については、図12と同様である。
(ステップS31)
テナントAシステムに属するVM4−1が、識別不能機器であるSAN6に向けてパケットを送信する。なお、図12では、サーバ装置3から第1のOFS2−1へ送信されているパケット(src:VM4−1、dst:SAN6)が、当該パケットに対応している。ここで、「src:VM4−1」は、送信元IPアドレスが、VM4−1に割り当てられているIPアドレスであることを示す。同様に、「dst:SAN6」は、送信先IPアドレスが、SAN6に割り当てられているIPアドレスであることを示す。
テナントAシステムに属するVM4−1が、識別不能機器であるSAN6に向けてパケットを送信する。なお、図12では、サーバ装置3から第1のOFS2−1へ送信されているパケット(src:VM4−1、dst:SAN6)が、当該パケットに対応している。ここで、「src:VM4−1」は、送信元IPアドレスが、VM4−1に割り当てられているIPアドレスであることを示す。同様に、「dst:SAN6」は、送信先IPアドレスが、SAN6に割り当てられているIPアドレスであることを示す。
(ステップS32)
第1のOFS2−1は、ステップS31で送信されたパケットを受信する。
第1のOFS2−1は、ステップS31で送信されたパケットを受信する。
(ステップS33)
第1のOFS2−1は、受信パケットの動作を規定するフローエントリがないため(1stパケット受信のため)当該パケットを、OFC1にパケットインする。
第1のOFS2−1は、受信パケットの動作を規定するフローエントリがないため(1stパケット受信のため)当該パケットを、OFC1にパケットインする。
(ステップS34)
OFC1は、ステップS33でパケットインされたパケットの送信先MACアドレスに基づいて、パケットをカプセル化する必要があるかを判定する。OFC1は、送信先MACアドレスが、第1のOFS2−1が管理しているMACアドレスでない場合、他のOFS2を介してパケットを送信する必要があると判断する。OFC1は、他のOFS2を介してパケットを送信する必要があると判断した場合、当該パケットをカプセル化する必要があると判断する。
OFC1は、ステップS33でパケットインされたパケットの送信先MACアドレスに基づいて、パケットをカプセル化する必要があるかを判定する。OFC1は、送信先MACアドレスが、第1のOFS2−1が管理しているMACアドレスでない場合、他のOFS2を介してパケットを送信する必要があると判断する。OFC1は、他のOFS2を介してパケットを送信する必要があると判断した場合、当該パケットをカプセル化する必要があると判断する。
(ステップS35)
OFC1は、図示しないトポロジ情報に基づいて、当該パケットインされたパケットの宛先であるSAN6が接続されているOFS2が、第2のOFS2−2であることを特定する。OFC1は、当該パケットインされたパケットを、第2のOFS2−2まで送信するための往路経路を計算する。
OFC1は、図示しないトポロジ情報に基づいて、当該パケットインされたパケットの宛先であるSAN6が接続されているOFS2が、第2のOFS2−2であることを特定する。OFC1は、当該パケットインされたパケットを、第2のOFS2−2まで送信するための往路経路を計算する。
(ステップS36)
OFC1は、当該パケットを転送するためのフローエントリを、ステップS35の処理により算出された往路経路上のスイッチに設定する。なお、図12では、説明を簡略化するため、第1のOFS2−1、及び第2のOFS2−2のみを記載しているが、第1のOFS2−1と、第2のOFS2−2の間には、複数のOFS2が存在していてもよい。その場合には、第1のOFS2−1と、第2のOFS2−2の間のOFS2にも、当該フローエントリが設定される。
OFC1は、当該パケットを転送するためのフローエントリを、ステップS35の処理により算出された往路経路上のスイッチに設定する。なお、図12では、説明を簡略化するため、第1のOFS2−1、及び第2のOFS2−2のみを記載しているが、第1のOFS2−1と、第2のOFS2−2の間には、複数のOFS2が存在していてもよい。その場合には、第1のOFS2−1と、第2のOFS2−2の間のOFS2にも、当該フローエントリが設定される。
また、OFC1は、付加情報を付加することによって当該パケットをカプセル化する動作を規定したフローエントリを、パケットイン元の第1のOFS2−1に設定する。
また、OFC1は、付加情報を除去する動作(カプセル化の解除)を規定したフローエントリを、識別不能機器が接続された終端エッジである第2のOFS2−2に設定する。
(ステップS37)
OFC1は、ステップS32の処理でパケットインされたパケットを、第1のOFS2−1にパケットアウトする。OFC1は、ステップS34において、パケットインされたパケットを、第1のOFS2−1がカプセル化して転送する必要があると判定した場合には、当該パケットと当該パケットのテナント識別情報を、パケットアウトメッセージに含める。
OFC1は、ステップS32の処理でパケットインされたパケットを、第1のOFS2−1にパケットアウトする。OFC1は、ステップS34において、パケットインされたパケットを、第1のOFS2−1がカプセル化して転送する必要があると判定した場合には、当該パケットと当該パケットのテナント識別情報を、パケットアウトメッセージに含める。
(ステップS38)
第1のOFS2−1は、OFC1により設定されたフローエントリに従い、パケットインされたパケット(ステップS2において受信したパケット)を、付加情報によりカプセル化することにより、カプセル化パケットを作成する。当該付加情報は、例えば、L3ヘッダ(送信元IPアドレス:OFS2−1、送信先IPアドレス:OFS2−2)と、テナント識別情報(テナントA)を含む。ここで、「送信元IPアドレス:OFS2−1」は、カプセル化パケットの送信元IPアドレスが、第1のOFS2−1のIPアドレスであることを示す。同様に、「送信先IPアドレス:OFS2−2」は、カプセル化パケットの送信先IPアドレスが、第2のOFS2−2のIPアドレスであることを示す。
第1のOFS2−1は、OFC1により設定されたフローエントリに従い、パケットインされたパケット(ステップS2において受信したパケット)を、付加情報によりカプセル化することにより、カプセル化パケットを作成する。当該付加情報は、例えば、L3ヘッダ(送信元IPアドレス:OFS2−1、送信先IPアドレス:OFS2−2)と、テナント識別情報(テナントA)を含む。ここで、「送信元IPアドレス:OFS2−1」は、カプセル化パケットの送信元IPアドレスが、第1のOFS2−1のIPアドレスであることを示す。同様に、「送信先IPアドレス:OFS2−2」は、カプセル化パケットの送信先IPアドレスが、第2のOFS2−2のIPアドレスであることを示す。
(ステップS39)
第2のOFS2−2が、当該カプセル化パケットを、第1のOFS2−1から受信する。
第2のOFS2−2が、当該カプセル化パケットを、第1のOFS2−1から受信する。
(ステップS40)
第2のOFS2−2が、ステップS36の処理により設定されたフローエントリに基づいて、ステップS37の処理で付与された付加情報を除去する。
第2のOFS2−2が、ステップS36の処理により設定されたフローエントリに基づいて、ステップS37の処理で付与された付加情報を除去する。
(ステップS41)
第2のOFS2−2は、第1の実施の形態と同様に、図12のアドレス変換テーブル29に基づいて、送信元IPアドレスをDUMに変換する。
第2のOFS2−2は、第1の実施の形態と同様に、図12のアドレス変換テーブル29に基づいて、送信元IPアドレスをDUMに変換する。
(ステップS42)
第2のOFS2−2は、ステップS40の処理により、送信元IPアドレスが書き換えられたパケットを、SAN6に向けて送信する。
第2のOFS2−2は、ステップS40の処理により、送信元IPアドレスが書き換えられたパケットを、SAN6に向けて送信する。
(ステップS43)
SAN6は、ブリッジ5を介して、当該書き換えられたパケットを、受信する。なお、SAN6は、ブリッジ5を介さずに第2のOFS2−2に接続されていてもよい。
SAN6は、ブリッジ5を介して、当該書き換えられたパケットを、受信する。なお、SAN6は、ブリッジ5を介さずに第2のOFS2−2に接続されていてもよい。
本実施形態によれば、既存の識別不能機器を利用できるマルチテナントシステムを提供することができる。なお、本発明の実施形態の説明では、識別不能機器の例として、SANを例にして説明した。当該識別不能機器は、SANに限られず、その他の機器に本発明を適用してもよい。
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
尚、本出願は、日本特許出願番号2012−111881に基づき、日本特許出願番号2012−111881における開示内容は引用により本出願に組み込まれる。
Claims (10)
- テナント識別情報が付与されるVM(Virtual Machine)が動作するサーバ装置と、
それぞれが、自身に設定されたフローエントリに基づいてパケットを処理する処理部を備える複数のスイッチと、
前記複数のスイッチのそれぞれにフローエントリを設定するコントローラとを備え、
前記複数のスイッチは、前記サーバ装置が接続された第1のスイッチと、前記テナント識別情報を認識できない機器が接続された第2のスイッチとを含み、
前記コントローラは、前記サーバ装置の前記VMから送信されるパケットを前記テナント識別情報を含む付加情報を付加してカプセル化する動作を規定したフローエントリを、前記第1のスイッチに設定し、前記カプセル化されたパケットから前記付加情報を除去する動作を規定したフローエントリを前記第2のスイッチに設定するフローエントリ設定部を備え、
前記第2のスイッチは、前記処理部により前記付加情報が除去されたパケットの送信元アドレスを、アドレス変換テーブルに基づいて前記第2のスイッチが管理するIPアドレスに変換するアドレス変換部と、前記送信元アドレスが変換された前記パケットを前記機器に送信する転送処理部と
を備えるマルチテナントシステム。 - 前記コントローラは、前記パケットと前記パケットのテナント識別情報を、パケットアウトメッセージに含めてパケットアウトし、
前記第1のスイッチの処理部は、前記パケットアウトメッセージに基づいて、前記パケットをカプセル化する
請求項1に記載のマルチテナントシステム。 - 前記第2のスイッチは、前記カプセル化パケットの受信時に、前記カプセル化パケットに含まれる前記第1のスイッチのIPアドレス、送信元VMのIPアドレス、及び前記テナント識別情報を、前記アドレス変換テーブルに記録し、
前記コントローラのフローエントリ設定部は、前記機器から送信されるパケットを、前記テナント識別情報を含む付加情報を付加してカプセル化する動作を規定するフローエントリを前記第2のスイッチに設定し、前記カプセル化されたパケットから前記付加情報を除去する動作を規定するフローエントリを前記第1のスイッチに設定し、
前記第2のスイッチの前記転送処理部は、前記機器から前記VMに送信されるリプライパケットを受信し、
前記第2のスイッチの前記アドレス変換部は、前記アドレス変換テーブルに基づいて、前記リプライパケットの送信先IPアドレスを、前記送信元VMのIPアドレスに変換し、
前記第2のスイッチの前記処理部は、送信元IPアドレスが変換された前記リプライパケットを、前記VMのテナント識別情報を含む付加情報が付加されたカプセル化リプライパケットにカプセル化し、前記付加情報内のL3ヘッダの送信先IPアドレスとして、前記アドレス変換テーブルの前記第1のスイッチのIPアドレスが設定され、
前記第1のスイッチの前記処理部は、前記カプセル化されたリプライパケットの前記付加情報を除去し、
前記第1のスイッチの前記転送処理部は、前記付加情報が除去されたリプライパケットを、前記VMに送信する
請求項1又は2のいずれか1項に記載のマルチテナントシステム。 - 前記第2のスイッチの前記アドレス変換部は、前記パケットの送信元ポート番号を、前記第2のスイッチが管理するポート番号に更に変換し、前記リプライパケットの送信先ポート番号を、前記変換前の元のポート番号に更に変換する
請求項3に記載のマルチテナントシステム。 - 請求項1乃至4のいずれか1項に記載のマルチテナントシステムに使用されるコントローラ。
- 請求項1乃至4のいずれか1項に記載のマルチテナントシステムに使用されるスイッチ。
- マルチテナントシステムにおけるパケット転送方法であって、
VM(Virtual Machine)が、テナント識別情報を認識できない機器宛にパケットを送信するステップと、
第1のスイッチが、前記パケットを、コントローラにパケットインするステップと、
前記コントローラが、前記パケットの往路経路を計算するステップと、
前記コントローラが、前記パケットを転送するためのフローエントリを、前記往路経路上のスイッチに設定するステップと、
前記設定するステップでは、前記VMのテナント識別情報を含む付加情報を前記パケットに付加してカプセル化する動作を規定したフローエントリが、第1のスイッチに設定され、カプセル化されたパケットから付加情報を除去する動作を規定したフローエントリが第2のスイッチに設定され、
第1のスイッチが、自身に設定されたフローエントリに従い、前記パケットを、前記VMのテナント識別情報を含む付加情報を付加してカプセル化するステップと、
前記第2のスイッチが、前記カプセル化されたパケットを受信するステップと、
前記第2のスイッチが、自身に設定されたフローエントリに従い、前記カプセル化されたパケットから前記付加情報を除去するステップと、
前記第2のスイッチが、アドレス変換テーブルに基づいて、前記付加情報が除去されたパケットの送信元IPアドレスを、前記第2のスイッチが管理するIPアドレスに変換するステップと、
前記第2のスイッチが、前記送信元IPアドレスが、前記変換されたパケットを、前記機器に送信するステップと
を含むパケット転送方法。 - 前記コントローラが、前記パケットと前記パケットのテナント識別情報を、パケットアウトメッセージに含めてパケットアウトするステップと
を更に含む
請求項7に記載のパケット転送方法。 - 前記受信するステップにおいて、前記カプセル化されたパケットを受信した前記第2のスイッチが、前記カプセル化されたパケットに含まれる前記第1のスイッチのIPアドレス、送信元VMのIPアドレス、及び前記テナント識別情報を、前記アドレス変換テーブルに記録するステップと、
前記機器が、前記VMにリプライパケットを送信するステップと、
前記第2のスイッチが、アドレス変換テーブルに基づいて、送信先IPアドレスを、前記送信元VMのIPアドレスに変換するステップと、
前記第2のスイッチが、前記リプライパケットを、前記VMのテナント識別情報を含む付加情報が付加されたカプセル化リプライパケットにカプセル化するステップと、
前記付加情報内のL3ヘッダの送信先IPアドレスとして、前記アドレス変換テーブルの前記第1のスイッチのIPアドレスが設定され、
前記第2のスイッチが、前記カプセル化リプライパケットを、コントローラにパケットインするステップと、
前記コントローラが、前記カプセル化リプライパケットの復路経路を計算するステップと、
前記コントローラが、前記カプセル化リプライパケットを転送するためのフローエントリを、前記復路経路上のスイッチに設定するステップと、前記設定するステップは、前記第1のスイッチには、前記付加情報を除去する設定を更に行い、
前記コントローラが、前記第2のスイッチに、前記カプセル化リプライパケットをパケットアウトするステップと、
前記第2のスイッチが、前記カプセル化リプライパケットを、前記第1のスイッチに送信するステップと、
前記第1のスイッチが、前記カプセル化リプライパケットを受信するステップと、
前記第1のスイッチが、前記フローエントリに基づいて、前記付加情報を除去するステップと、
前記第1のスイッチが、前記付加情報が除去された前記リプライパケットを、前記VMに送信するステップと
を更に含む請求項7又は8に記載のパケット転送方法。 - 前記パケットをカプセル化するステップは、前記パケットの送信元ポート番号を、前記第2のスイッチが管理するポート番号に変換したパケットをカプセル化するステップを備え、
前記カプセル化リプライパケットにカプセル化するステップは、前記リプライパケットの送信先ポート番号を、前記変換前の元のポート番号に変換したリプライパケットをカプセル化するステップを備える
請求項9に記載のパケット転送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014515659A JP5871063B2 (ja) | 2012-05-15 | 2013-05-15 | マルチテナントシステム、スイッチ、コントローラ、及びパケット転送方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012111881 | 2012-05-15 | ||
JP2012111881 | 2012-05-15 | ||
PCT/JP2013/063603 WO2013172391A1 (ja) | 2012-05-15 | 2013-05-15 | マルチテナントシステム、スイッチ、コントローラ、及びパケット転送方法 |
JP2014515659A JP5871063B2 (ja) | 2012-05-15 | 2013-05-15 | マルチテナントシステム、スイッチ、コントローラ、及びパケット転送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013172391A1 JPWO2013172391A1 (ja) | 2016-01-12 |
JP5871063B2 true JP5871063B2 (ja) | 2016-03-01 |
Family
ID=49583795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014515659A Active JP5871063B2 (ja) | 2012-05-15 | 2013-05-15 | マルチテナントシステム、スイッチ、コントローラ、及びパケット転送方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9654394B2 (ja) |
EP (1) | EP2852112A4 (ja) |
JP (1) | JP5871063B2 (ja) |
CN (1) | CN104322022B (ja) |
IN (1) | IN2014DN09612A (ja) |
WO (1) | WO2013172391A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104995882B (zh) * | 2013-12-11 | 2018-05-18 | 华为技术有限公司 | 报文处理方法及装置 |
TW201613310A (en) * | 2014-09-30 | 2016-04-01 | Ibm | Method, appliance, and computer program product of translating network attributes of packets in a multi-tenant environment |
CN106034052B (zh) * | 2015-03-13 | 2019-05-17 | 北京网御星云信息技术有限公司 | 一种对虚拟机间二层流量进行监控的系统及方法 |
US9729348B2 (en) * | 2015-06-04 | 2017-08-08 | Cisco Technology, Inc. | Tunnel-in-tunnel source address correction |
EP3425853B1 (en) * | 2016-03-02 | 2023-09-20 | Nec Corporation | Network system, terminal, sensor data collection method, and program |
JP6579257B2 (ja) * | 2016-03-02 | 2019-09-25 | 日本電気株式会社 | ネットワークシステム、制御装置、仮想ネットワークの構築方法及びプログラム |
EP3425855B1 (en) * | 2016-03-02 | 2020-04-22 | Nec Corporation | Network system, control device, method and program for building virtual network function |
US10728342B1 (en) * | 2016-06-30 | 2020-07-28 | EMP IP Holding Company LLC | Plug and play multi tenancy support for cloud applications |
CN107733799B (zh) * | 2016-08-11 | 2021-09-21 | 新华三技术有限公司 | 一种报文传输方法和装置 |
US11405335B2 (en) * | 2017-01-13 | 2022-08-02 | Nicira, Inc. | Managing network traffic in virtual switches based on logical port identifiers |
US11778038B2 (en) | 2021-12-14 | 2023-10-03 | Cisco Technology, Inc. | Systems and methods for sharing a control connection |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3490358B2 (ja) | 1999-11-04 | 2004-01-26 | 日本電信電話株式会社 | ネットワーク間通信方法およびサーバ装置並びにネットワーク間通信システム |
JP2006128803A (ja) | 2004-10-26 | 2006-05-18 | Japan Telecom Co Ltd | ネットワーク中継装置及びネットワークシステム |
JP2009152953A (ja) | 2007-12-21 | 2009-07-09 | Nec Corp | ゲートウェイ装置およびパケット転送方法 |
CN101639770A (zh) | 2008-07-30 | 2010-02-03 | 国际商业机器公司 | 用于在jvm中支持多租户隔离/多租户定制的系统和方法 |
EP2804350B1 (en) | 2009-04-01 | 2019-07-24 | Nicira, Inc. | Method and apparatus for implementing and managing virtual switches |
US8407366B2 (en) | 2010-05-14 | 2013-03-26 | Microsoft Corporation | Interconnecting members of a virtual network |
US8989187B2 (en) * | 2010-06-04 | 2015-03-24 | Coraid, Inc. | Method and system of scaling a cloud computing network |
CN103081418B (zh) * | 2010-09-09 | 2015-07-08 | 日本电气株式会社 | 计算机系统和计算机系统中的通信方法 |
JP2012111881A (ja) | 2010-11-25 | 2012-06-14 | Fujifilm Corp | 光拡散性樹脂組成物及び光拡散性部材 |
JP5707239B2 (ja) * | 2011-06-02 | 2015-04-22 | 株式会社日立製作所 | マルチテナント型情報処理システム、管理サーバ及び構成管理方法 |
EP2719124B1 (en) * | 2011-06-07 | 2018-04-11 | Hewlett-Packard Enterprise Development LP | A scalable multi-tenant network architecture for virtualized datacenters |
WO2013069133A1 (ja) | 2011-11-10 | 2013-05-16 | 株式会社日立製作所 | フレーム中継装置、通信システム、および、データ転送方法 |
-
2013
- 2013-05-15 EP EP13791085.7A patent/EP2852112A4/en not_active Withdrawn
- 2013-05-15 US US14/401,003 patent/US9654394B2/en active Active
- 2013-05-15 JP JP2014515659A patent/JP5871063B2/ja active Active
- 2013-05-15 WO PCT/JP2013/063603 patent/WO2013172391A1/ja active Application Filing
- 2013-05-15 CN CN201380025327.8A patent/CN104322022B/zh not_active Expired - Fee Related
-
2014
- 2014-11-14 IN IN9612DEN2014 patent/IN2014DN09612A/en unknown
Also Published As
Publication number | Publication date |
---|---|
CN104322022B (zh) | 2017-10-24 |
WO2013172391A1 (ja) | 2013-11-21 |
IN2014DN09612A (ja) | 2015-07-31 |
US20150146736A1 (en) | 2015-05-28 |
JPWO2013172391A1 (ja) | 2016-01-12 |
EP2852112A1 (en) | 2015-03-25 |
EP2852112A4 (en) | 2016-01-13 |
US9654394B2 (en) | 2017-05-16 |
CN104322022A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5871063B2 (ja) | マルチテナントシステム、スイッチ、コントローラ、及びパケット転送方法 | |
WO2021136311A1 (zh) | 一种vpc之间的通信方法及装置 | |
TWI744359B (zh) | 一種資料傳輸的方法及網路設備 | |
US10237089B2 (en) | Packet tunneling method, switching device, and control device | |
US11184842B2 (en) | Conveying non-access stratum messages over ethernet | |
JP7432095B2 (ja) | SRv6サービス機能チェーンでパケットを転送する方法、SFF、およびSFデバイス | |
CN110999265B (zh) | 管理云计算服务端点和虚拟机之间的网络连接性 | |
CN112671628B (zh) | 业务服务提供方法及系统 | |
CN104871495A (zh) | 用于叠加网络的虚拟叠加网关 | |
WO2014136864A1 (ja) | パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム | |
US8737396B2 (en) | Communication method and communication system | |
CN107770026B (zh) | 租户网络数据传输方法、租户网络系统和相关设备 | |
KR20150076041A (ko) | 가상 사설 클라우드망에서 사설 ip 주소 기반의 멀티 테넌트를 지원하기 위한 시스템 및 그 방법 | |
EP2548346B1 (en) | Packet node for applying service path routing at the mac layer | |
US9317431B2 (en) | Address generator, address generation method, and encapsulation-decapsulation device | |
CN112671938B (zh) | 业务服务提供方法及系统、远端加速网关 | |
WO2016150205A1 (zh) | 用于处理vxlan报文的方法、装置及系统 | |
KR20140099598A (ko) | 모바일 vpn 서비스를 제공하는 방법 | |
CN109246016B (zh) | 跨vxlan的报文处理方法和装置 | |
US9847929B2 (en) | Cluster and forwarding method | |
US10374937B2 (en) | Domain control method and domain control device | |
CN104363176A (zh) | 一种报文控制的方法和设备 | |
JP6718739B2 (ja) | 通信装置および通信方法 | |
CN107231309A (zh) | 获取sdn全网视图的方法、控制器及目的交换节点 | |
JP6256110B2 (ja) | パケット処理システム及びパケット処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151120 |
|
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: 20151215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5871063 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |