JP2016063511A - Network control system, router virtualization device, network control method, router virtualization method, and program - Google Patents

Network control system, router virtualization device, network control method, router virtualization method, and program Download PDF

Info

Publication number
JP2016063511A
JP2016063511A JP2014192462A JP2014192462A JP2016063511A JP 2016063511 A JP2016063511 A JP 2016063511A JP 2014192462 A JP2014192462 A JP 2014192462A JP 2014192462 A JP2014192462 A JP 2014192462A JP 2016063511 A JP2016063511 A JP 2016063511A
Authority
JP
Japan
Prior art keywords
router
virtual
switch
input
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014192462A
Other languages
Japanese (ja)
Other versions
JP6464631B2 (en
Inventor
忍 後藤
Shinobu Goto
忍 後藤
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
Priority to JP2014192462A priority Critical patent/JP6464631B2/en
Publication of JP2016063511A publication Critical patent/JP2016063511A/en
Application granted granted Critical
Publication of JP6464631B2 publication Critical patent/JP6464631B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To solve the problem of possibility of incapability of managing/maintaining a network in a way similar to the case of using an existing physical router when the existing physical router is replaced with a virtual router.SOLUTION: A network control system includes: a router for controlling a path between a plurality of networks; a switch connected to a virtual network in a network; and a router virtualization device that connects with a router and a switch and provides the router as a plurality of virtual routers for controlling a path between a plurality of virtual networks. The router virtualization device transfers a packet input from the switch to the router; and transfers a packet input from the router to the switch on the basis of an identifier granted according to a predetermined virtual router of the plurality of virtual routers.SELECTED DRAWING: Figure 1

Description

本発明は、ネットワーク制御システム、ルータ仮想化装置、ネットワーク制御方法、ルータ仮想化方法およびプログラムに関し、特に、ルータ仮想化技術を含むネットワーク制御システム、ルータ仮想化装置、ネットワーク制御方法、ルータ仮想化方法およびプログラムに関する。   The present invention relates to a network control system, a router virtualization apparatus, a network control method, a router virtualization method, and a program, and more particularly to a network control system, a router virtualization apparatus, a network control method, and a router virtualization method including router virtualization technology. And program.

クラウドコンピューティングやX as a Service(XaaS)で実現されるマルチテナント環境において、テナントごとに複数のサブネットをもつネットワークを構成する場合は、各テナントにルータを割り当てる必要がある。   In a multi-tenant environment realized by cloud computing or X as a Service (XaaS), when configuring a network having a plurality of subnets for each tenant, it is necessary to assign a router to each tenant.

特許文献1には、ローカルなイントラネットセグメントとしてのVirtual Local Area Network(以下、VLAN)間の経路を制御するローカルスイッチと、グローバルなインターネットセグメントとの間の経路を制御するメインルータと、ローカルスイッチからメインルータへはインターネットセグメントのトラヒックのみが送られるようにパケットをフィルタリングするローカルルータスイッチとを備えたネットワークスイッチング方式が開示されている。   Patent Document 1 discloses a local switch that controls a path between a virtual local area network (hereinafter referred to as a VLAN) as a local intranet segment, a main router that controls a path between a global Internet segment, and a local switch. A network switching system is disclosed that includes a local router switch that filters packets so that only Internet segment traffic is sent to the main router.

しかし、テナントごとに物理ルータを用意するとシステムの規模が膨大になったり、システム構成が複雑になったりするため、仮想ルータと呼ばれる仮想化されたルータのインスタンスを生成し、それらをテナントに割り当てることが行われている。   However, if a physical router is prepared for each tenant, the scale of the system becomes enormous and the system configuration becomes complicated, so instances of virtualized routers called virtual routers are created and assigned to tenants. Has been done.

仮想ルータを実現するためには、例えば、Virtual Routing and Forwarding(VRF)に対応したルータや、仮想ルータの機能をもつSoftware Defined Networking(SDN)製品を利用するといった方法がある。   In order to realize a virtual router, for example, there is a method of using a router corresponding to Virtual Routing and Forwarding (VRF) or a Software Defined Networking (SDN) product having a virtual router function.

特開平10−190715号公報JP-A-10-190715

上述の方法で生成された仮想ルータでは、置き換え前に使用されていた物理ルータとの互換性が保証されないという課題があった。たとえば、ファイアウォールや性能情報監視、障害監視、管理用インターフェースといった、置換前の物理ルータで用いてきた様々な機能と仮想ルータ上で実現する対応する機能とに差異や不足がある。このため、既存のInformation and Communication Technology(ICT)環境をマルチテナント化する際、仮想ルータによって置き換える前と同様に、ルータによってネットワークを管理・保守することができなくなることがあった。   The virtual router generated by the above-described method has a problem that compatibility with a physical router used before replacement is not guaranteed. For example, there are differences or deficiencies between various functions used in the physical router before replacement, such as a firewall, performance information monitoring, failure monitoring, and management interface, and corresponding functions realized on the virtual router. For this reason, when the existing Information and Communication Technology (ICT) environment is made multi-tenant, the network may not be managed and maintained by the router in the same manner as before the virtual router is replaced.

本発明のネットワーク制御システムは、ルータを仮想化し、かつ物理ルータとの互換性を維持することを可能とすることを目的とする。   An object of the network control system of the present invention is to virtualize a router and maintain compatibility with a physical router.

請求項1 Claim 1

本発明によれば、ルータを仮想化し、かつ物理ルータによってネットワークの管理・保守が可能となる。   According to the present invention, a router can be virtualized and a network can be managed and maintained by a physical router.

本発明の第一の実施形態におけるネットワーク制御システムの構成を示すブロック図である。It is a block diagram which shows the structure of the network control system in 1st embodiment of this invention. 本発明の第一の実施形態における動作を示すフローチャートである。It is a flowchart which shows the operation | movement in 1st embodiment of this invention. 本発明の第一の実施形態における動作を示すフローチャートである。It is a flowchart which shows the operation | movement in 1st embodiment of this invention. 本発明の第二の実施形態におけるネットワーク制御システムの構成を示すブロック図である。It is a block diagram which shows the structure of the network control system in 2nd embodiment of this invention. 本発明の第二の実施形態におけるネットワーク制御システムのトポロジ定義テーブル、ルータ定義テーブル、送信待ちフレームテーブルの例を示す図である。It is a figure which shows the example of the topology definition table of the network control system in 2nd embodiment of this invention, a router definition table, and a transmission waiting frame table. 本発明の第二の実施形態における動作を示すフローチャートである。It is a flowchart which shows the operation | movement in 2nd embodiment of this invention. 本発明の第二の実施形態における動作を示すフローチャートである。It is a flowchart which shows the operation | movement in 2nd embodiment of this invention. 本発明の第二の実施形態における動作を示すフローチャートである。It is a flowchart which shows the operation | movement in 2nd embodiment of this invention. 本発明の第二の実施形態における動作を示すフローチャートである。It is a flowchart which shows the operation | movement in 2nd embodiment of this invention. 本発明の第二の実施形態における動作を示すフローチャートである。It is a flowchart which shows the operation | movement in 2nd embodiment of this invention. 本発明の他の実施形態におけるネットワーク制御システムの構成を示すブロック図である。It is a block diagram which shows the structure of the network control system in other embodiment of this invention.

以下に、本発明を実施するための好ましい形態について図面を参照して詳細に説明する。ただし、以下に述べる実施形態は本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。   Hereinafter, preferred embodiments for carrying out the present invention will be described in detail with reference to the drawings. However, although the embodiments described below are technically preferable for carrying out the present invention, the scope of the invention is not limited to the following.

[第一の実施形態]
まず、本実施形態について図面を参照して詳細に説明する。図1は、第一の実施形態におけるネットワーク制御システムの構成を示すブロック図である。
[First embodiment]
First, the present embodiment will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing the configuration of the network control system in the first embodiment.

[構成の説明]
図1に示すように、本実施形態におけるネットワーク制御システム1は、ルータ10、仮想ネットワーク20~23、スイッチ30、ルータ仮想化装置40を備えている。
[Description of configuration]
As shown in FIG. 1, the network control system 1 in this embodiment includes a router 10, virtual networks 20 to 23, a switch 30, and a router virtualization apparatus 40.

ルータ10は、複数のネットワーク間の経路を制御する。スイッチ30は、前述のネットワーク内の仮想ネットワーク20~23と接続される。   The router 10 controls paths between a plurality of networks. The switch 30 is connected to the virtual networks 20 to 23 in the aforementioned network.

ルータ仮想化装置40は、ルータ10及びスイッチ30と接続し、ルータ10を、複数の仮想ネットワーク20~23間の経路を制御する複数の仮想ルータ50、51として提供する。具体的には、ルータ仮想化装置40は、スイッチ30から入力されたパケットをルータ10に転送し、ルータ10から入力されたパケットを複数の仮想ルータ50,51のうち所定の仮想ルータに応じて付与された識別子に基づいて、スイッチ30に転送する。   The router virtualization apparatus 40 is connected to the router 10 and the switch 30 and provides the router 10 as a plurality of virtual routers 50 and 51 that control paths between the plurality of virtual networks 20 to 23. Specifically, the router virtualization apparatus 40 transfers the packet input from the switch 30 to the router 10, and the packet input from the router 10 is determined according to a predetermined virtual router among the plurality of virtual routers 50 and 51. Based on the assigned identifier, the data is transferred to the switch 30.

[動作の説明]
次に、第一の実施形態におけるネットワーク制御システム1の動作を、図1〜図3を参照して説明する。
[Description of operation]
Next, the operation of the network control system 1 in the first embodiment will be described with reference to FIGS.

まず、仮想ネットワーク20〜23で構成されたネットワークから、ルータ10までパケットが転送される動作について図2を参照して説明する。
図2において、仮想ネットワーク20~23で構成されたネットワークから、接続されるスイッチ30へとパケットが入力される(S200)。次に、この入力されたパケットが、スイッチ30からルータ仮想化装置40に入力される(S201)。ルータ仮想化装置40は、スイッチ30から入力されたパケットをルータ10に転送する(S203)。
First, an operation of transferring a packet from the network formed of the virtual networks 20 to 23 to the router 10 will be described with reference to FIG.
In FIG. 2, a packet is input from the network constituted by the virtual networks 20 to 23 to the connected switch 30 (S200). Next, the input packet is input from the switch 30 to the router virtualization apparatus 40 (S201). The router virtualization apparatus 40 transfers the packet input from the switch 30 to the router 10 (S203).

次に、ルータ10から、仮想ネットワーク20〜23で構成されたネットワークまで、パケットが転送される動作について図3を参照して説明する。
図3において、ルータ10が、ルータ仮想化装置40にパケットを転送する(S300)と、ルータ仮想化装置40は、ルータ10から入力されたパケットを複数の仮想ルータ50,51のうち所定の仮想ルータに応じて付与された識別子に基づいて、スイッチ30に転送する(S301)。スイッチ30は、ルータ仮想化装置40から入力されたパケットを、付与された識別子に基づいて対応する仮想ネットワークへ転送する(S302)。
Next, an operation of transferring a packet from the router 10 to the network constituted by the virtual networks 20 to 23 will be described with reference to FIG.
In FIG. 3, when the router 10 transfers a packet to the router virtualization apparatus 40 (S300), the router virtualization apparatus 40 transmits a packet input from the router 10 to a predetermined virtual router among a plurality of virtual routers 50 and 51. Based on the identifier assigned according to the router, the data is transferred to the switch 30 (S301). The switch 30 transfers the packet input from the router virtualization apparatus 40 to the corresponding virtual network based on the assigned identifier (S302).

以上、説明した二つの動作において、ルータ10は、複数のネットワーク間のルーティングを制御する。つまり、仮想ネットワーク20~23で構成されたネットワークからスイッチ30とルータ仮想化装置40とを介して入力されるパケットを、ルータ10はルータ仮想化装置40へ転送する。   In the two operations described above, the router 10 controls routing between a plurality of networks. That is, the router 10 transfers the packet input from the network configured by the virtual networks 20 to 23 via the switch 30 and the router virtualization apparatus 40 to the router virtualization apparatus 40.

[効果の説明]
第一の実施形態におけるルータ仮想化装置40を用いたネットワーク制御システム1では、上述したように、ルータ10及びスイッチ30と接続したルータ仮想化装置40によって、ルータ10を活用して複数の仮想ルータ50,51を提供することができる。さらに、ルータ10を活用することで、ルータ10との互換性を維持することができる。加えて、ネットワークの管理・保守を、ルータ10の設定において行うことができる。
[Description of effects]
In the network control system 1 using the router virtualization apparatus 40 in the first embodiment, as described above, the router virtualization apparatus 40 connected to the router 10 and the switch 30 is used to make a plurality of virtual routers. 50, 51 can be provided. Furthermore, compatibility with the router 10 can be maintained by utilizing the router 10. In addition, network management and maintenance can be performed in the setting of the router 10.

[第二の実施形態]
次に、発明の第二の実施形態を、図面を参照して説明する。
[Second Embodiment]
Next, a second embodiment of the invention will be described with reference to the drawings.

図4は、第二の実施形態におけるネットワーク制御システム1の構成を示すブロック図である。第二の実施形態では、仮想ネットワーク20〜23として、Virtual Local Area Network Identifier(以下、VLAN IDという)211〜214と対応するVLAN120〜123、スイッチ30としてレイヤ2スイッチ(以下、L2スイッチという)130を用いる。また、ルータ仮想化装置40は、オープンフロースイッチ(以下、OFSという)140とオープンフローコントローラ(以下、OFCという)150とを備える。OFC150は、トポロジ定義テーブル151、ルータ定義テーブル152、及び送信待ちフレームテーブル153を有する。   FIG. 4 is a block diagram showing the configuration of the network control system 1 in the second embodiment. In the second embodiment, virtual networks 20 to 23 are VLANs 120 to 123 corresponding to virtual local area network identifiers (hereinafter referred to as VLAN IDs) 211 to 214, and layer 2 switches (hereinafter referred to as L2 switches) 130 as switches 30. Is used. The router virtualization apparatus 40 includes an open flow switch (hereinafter referred to as OFS) 140 and an open flow controller (hereinafter referred to as OFC) 150. The OFC 150 includes a topology definition table 151, a router definition table 152, and a transmission waiting frame table 153.

第二の実施形態では、OpenFlowプロトコルを使用してルータ仮想化装置40を実現する。   In the second embodiment, the router virtualization apparatus 40 is realized using the OpenFlow protocol.

[構成の説明]
以下、図4、図5を参照して、第二の実施形態の構成を詳細に説明する。図5は、第二の実施形態におけるネットワーク制御システムのトポロジ定義テーブル151、ルータ定義テーブル152、及び送信待ちフレームテーブル153の例を示す図である。
[Description of configuration]
Hereinafter, the configuration of the second embodiment will be described in detail with reference to FIGS. 4 and 5. FIG. 5 is a diagram illustrating an example of the topology definition table 151, the router definition table 152, and the transmission waiting frame table 153 of the network control system in the second embodiment.

ルータ10は、ルータ仮想化装置40によって仮想化される実際のルータである。図4に示すように、ルータ10は、192.168.1.254/24のIPアドレスを設定されたインターフェース11、172.16.255.254/16のIPアドレスを設定されたインターフェース12、及び192.168.2.254/24のIPアドレスを設定されたインターフェース13の、3つのインターフェースをもつ。また、インターフェース13についてはイントラネット80へのゲートウェイとなるため、10.0.0.0/8への経路も設定されている。   The router 10 is an actual router that is virtualized by the router virtualization apparatus 40. As shown in FIG. 4, the router 10 includes an interface 11 set with an IP address of 192.168.1.254/24, an interface 12 set with an IP address of 172.16.255.254/16, and It has three interfaces, the interface 13 set with the IP address of 192.168.2.254/24. Further, since the interface 13 serves as a gateway to the intranet 80, a route to 10.0.0.0/8 is also set.

業務ネットワーク70は、仮想ルータ50、51によってルーティングされるネットワークである。業務ネットワーク70には、テナント61と、テナント62との、2つのテナントが存在する。ここで、VLAN120とVLAN121はテナント60内のネットワークであり、VLAN122とVLAN123はテナント61内のネットワークである。テナント61ではVLAN120およびVLAN121の間を仮想ルータ50によってルーティングする。また、テナント62ではVLAN122およびVLAN123の間を仮想ルータ51によってルーティングする。また、VLAN123については、仮想ルータ51によってイントラネット80に接続する。   The business network 70 is a network routed by the virtual routers 50 and 51. The business network 70 has two tenants, a tenant 61 and a tenant 62. Here, the VLAN 120 and the VLAN 121 are networks in the tenant 60, and the VLAN 122 and the VLAN 123 are networks in the tenant 61. In the tenant 61, the virtual router 50 routes between the VLAN 120 and the VLAN 121. In the tenant 62, the virtual router 51 routes between the VLAN 122 and the VLAN 123. The VLAN 123 is connected to the intranet 80 by the virtual router 51.

ルータ仮想化装置40は、ルータ10を仮想ルータ50、51に仮想化する。ルータ仮想化装置40は、OFS140と、OFC150とで構成される。OFS140は、OpenFlowプロトコルで規定されるデータプレーンであり、OFC150の指示に従ってフレームの転送や破棄をおこなうスイッチである。OFS140は、内向きポートとしてポート41、ポート42、及びポート43を、外向きポートとしてポート44、ポート45、及びポート46を、それぞれ備える。   The router virtualization apparatus 40 virtualizes the router 10 into virtual routers 50 and 51. The router virtualization apparatus 40 includes an OFS 140 and an OFC 150. The OFS 140 is a data plane defined by the OpenFlow protocol, and is a switch that transfers and discards frames according to instructions from the OFC 150. The OFS 140 includes a port 41, a port 42, and a port 43 as inward ports, and a port 44, a port 45, and a port 46 as outward ports, respectively.

ここで「内向きポート」とは、ルータ10から業務ネットワーク70内のホストへ転送されるパケットが入力されるポートである。「外向きポート」とはホストからルータ10へ転送されるパケットが入力されるポートである。   Here, the “inward port” is a port to which a packet transferred from the router 10 to a host in the business network 70 is input. The “outward port” is a port to which a packet transferred from the host to the router 10 is input.

ポート45へは、VLANタグ付きのフレーム(VLAN IDを有するフレーム)が入力され、またはポート45から転送される。その他のポートへはVLANタグ無しのフレームが入力される。   A frame with a VLAN tag (a frame having a VLAN ID) is input to the port 45 or transferred from the port 45. Frames without VLAN tags are input to other ports.

OFC150は、OpenFlowプロトコルで規定されるコントロールプレーンであり、OFS140を制御することでルータの仮想化を実現する装置である。OFC150は、仮想ルータの構成情報データベースとして、図5に示すトポロジ定義テーブル151と、ルータ定義テーブル152と、送信待ちフレームテーブル153とを備える。   The OFC 150 is a control plane defined by the OpenFlow protocol, and is a device that realizes router virtualization by controlling the OFS 140. The OFC 150 includes a topology definition table 151, a router definition table 152, and a transmission waiting frame table 153 shown in FIG.

L2スイッチ130は、VLAN120~123で構成されたネットワークとポート34〜37で接続される。また、L2スイッチ130は、ルータ仮想化装置40におけるOFS140の外向きポート44〜46と、ポート31〜33で接続される。   The L2 switch 130 is connected to a network constituted by VLANs 120 to 123 through ports 34 to 37. Further, the L2 switch 130 is connected to the outward ports 44 to 46 of the OFS 140 in the router virtualization apparatus 40 through the ports 31 to 33.

図5を参照すると、トポロジ定義テーブル151は、仮想ルータ50、51と、各仮想ルータ50、51がもつリンクを定義する。リンクとは、仮想ルータに接続する内向きポートおよびそのVLANタグと、外向きポートおよびそのVLANタグとを、1対1で関連づけるための識別子である。   Referring to FIG. 5, the topology definition table 151 defines the virtual routers 50 and 51 and the links that the virtual routers 50 and 51 have. The link is an identifier for associating the inward port connected to the virtual router and its VLAN tag with the outward port and its VLAN tag on a one-to-one basis.

ここで、仮想ルータ50が持つリンク5112は、ポート42及びVLANタグがない場合と、ポート45及びVLANタグ212を持つ場合とを対応付けている。一方、仮想ルータ51が有するリンク5113は、ポート42及びVLANタグがない場合と、ポート45及びVLANタグ213を持つ場合とを対応付けている。リンク5112とリンク5113とは、「ポート42及びVLANタグがない場合と、ポート45と」を対応付けている点では一致しているが、ポート45と対応づけられたVLANタグの差異によって、リンク5112におけるポート45からVLAN121への経路と、リンク5113におけるポート45からVLAN122への経路とに分岐している。   Here, the link 5112 of the virtual router 50 associates the case where the port 42 and the VLAN tag are not provided with the case where the port 45 and the VLAN tag 212 are provided. On the other hand, the link 5113 included in the virtual router 51 associates the case where the port 42 and the VLAN tag are not provided with the case where the port 45 and the VLAN tag 213 are provided. The link 5112 and the link 5113 are identical in that “the case where there is no port 42 and VLAN tag and the port 45” are associated with each other. However, the link 5112 and the link 5113 are linked due to the difference in the VLAN tag associated with the port 45. A branch from the port 45 to the VLAN 121 in the path 5112 and a path from the port 45 to the VLAN 122 in the link 5113 are branched.

仮想ルータ50および仮想ルータ51は、それぞれテナント61およびテナント62が利用する仮想ルータであり(いいかえると、各テナントに対して仮想ルータが割り当てられており)、上述のようにポート45に対応付けられているVLANタグによって、テナント60、61内の経路をテナント間で分けることができる。   The virtual router 50 and the virtual router 51 are virtual routers used by the tenant 61 and the tenant 62 (in other words, a virtual router is assigned to each tenant), and are associated with the port 45 as described above. The route in the tenants 60 and 61 can be divided between the tenants by the VLAN tag.

図5のトポロジ定義テーブル151に示すように、仮想ルータ50は、リンク5111でポート41とポート44と(いずれもVLANタグは無し)を、リンク5112でポート42(VLANタグ無し)とポート45のVLANタグ212とを、それぞれ関連づける。   As shown in the topology definition table 151 of FIG. 5, the virtual router 50 includes a link 5111 for port 41 and port 44 (both without VLAN tag), and a link 5112 for port 42 (no VLAN tag) and port 45. The VLAN tags 212 are associated with each other.

一方、仮想ルータ51は、リンク5113でポート42(VLANタグ無し)とポート45のVLANタグ213とを、リンク5114でポート43とポート46と(いずれもVLANタグは無し)を、それぞれ関連づける。   On the other hand, the virtual router 51 associates the port 42 (no VLAN tag) with the VLAN tag 213 of the port 45 through the link 5113, and associates the port 43 with the port 46 (both without the VLAN tag) through the link 5114.

ルータ定義テーブル152は、ルータ10がもつインターフェースの情報を定義する。たとえば、インターフェース11は、ポート41とVLANタグ無しで接続し、MACアドレスはde:ad:be:ef:00:01、IPアドレスは192.168.1.254、経路として192.168.1.0/24をもつ。インターフェース12、インターフェース13についても同様である。なお、インターフェース13がもつイントラネット80への経路10.0.0.0/8についても、ルータ定義テーブル152で定義する。   The router definition table 152 defines interface information that the router 10 has. For example, the interface 11 is connected to the port 41 without a VLAN tag, the MAC address is de: ad: be: ef: 00: 01, the IP address is 192.168.1.254, and the route is 192.168.1. 0/24. The same applies to the interface 12 and the interface 13. Note that the route 10.0.0.0/8 to the intranet 80 of the interface 13 is also defined in the router definition table 152.

送信待ちフレームテーブル153は、ARP(Address Resolution Protocol)による宛先MACアドレスの解決待ちのため、外向きポートに出力できないフレームを格納するバッファである。例えば、送信待ちフレームテーブル153中のフレーム531とフレーム532のように、それぞれ別のVLAN上に存在する、MACアドレスは異なるがIPアドレスは同じであるようなホスト宛てにフレームを転送する事がある。この場合、ルータ10ではMACアドレスを解決できない。このため、ルータ10には疑似MACアドレスによりMACアドレスを解決させておき、ルータ10が送信した疑似MACアドレス宛てのフレームを送信待ちフレームテーブル153に格納したうえで、実際のMACアドレスの解決を行う。   The transmission wait frame table 153 is a buffer that stores frames that cannot be output to the outgoing port because the destination MAC address is waiting to be resolved by ARP (Address Resolution Protocol). For example, frames such as frame 531 and frame 532 in the transmission waiting frame table 153 may be forwarded to hosts that exist on different VLANs and have different MAC addresses but the same IP address. . In this case, the router 10 cannot resolve the MAC address. For this reason, the router 10 resolves the MAC address using the pseudo MAC address, stores the frame addressed to the pseudo MAC address transmitted by the router 10 in the transmission wait frame table 153, and resolves the actual MAC address. .

[動作の説明]
次に、図6〜8を参照して、第二の実施形態における動作を詳細に説明する。また、第一の実施形態におけるルータ仮想化装置40としての動作と、第二の実施形態におけるルータ仮想化装置40がOFS140及びOFC150を備えた場合の動作とに差異がある場合には、適宜対比して説明する。図6〜8は、ルータ仮想化装置40がOFS140及びOFC150を備えた場合として記載する。
[Description of operation]
Next, the operation in the second embodiment will be described in detail with reference to FIGS. In addition, when there is a difference between the operation as the router virtualization apparatus 40 in the first embodiment and the operation when the router virtualization apparatus 40 in the second embodiment includes the OFS 140 and the OFC 150, a comparison is appropriately made. To explain. 6 to 8 are described as a case where the router virtualization apparatus 40 includes the OFS 140 and the OFC 150.

図6は第二の実施形態におけるメインルーチンを示すフローチャートである。図7は第二の実施形態における、外向きポート44〜46に入力されたフレームを処理するサブルーチンを示すフローチャートである。図8は第二の実施形態における、内向きポート41〜43に入力されたフレームを処理するサブルーチンを示すフローチャートである。図9は、第二の実施形態における、仮想ルータ候補を取得するサブルーチンを示すフローチャートである。図10は、第二の実施形態における、フレーム転送処理のサブルーチンを示すフローチャートである。   FIG. 6 is a flowchart showing a main routine in the second embodiment. FIG. 7 is a flowchart showing a subroutine for processing a frame input to the outward ports 44 to 46 in the second embodiment. FIG. 8 is a flowchart showing a subroutine for processing a frame input to the inward ports 41 to 43 in the second embodiment. FIG. 9 is a flowchart illustrating a subroutine for acquiring virtual router candidates in the second embodiment. FIG. 10 is a flowchart showing a subroutine of frame transfer processing in the second embodiment.

まず、図6を参照して、第二の実施形態におけるメインルーチンを説明する。ルータ仮想化装置40がOFS140及びOFC150を備えた場合、図6に示す動作は、OFS140にフレームが入力された際、そのフレームに合致するフローエントリが登録されていない場合にOFS140から発行されるPacket−Inメッセージを契機に、OFC150で実行される。図7〜10に示す動作も同様に、OFC150で実行される。   First, the main routine in the second embodiment will be described with reference to FIG. When the router virtualization apparatus 40 includes the OFS 140 and the OFC 150, the operation illustrated in FIG. 6 is performed when the frame is input to the OFS 140 and the packet issued from the OFS 140 when the flow entry matching the frame is not registered. -Executed by the OFC 150 in response to the In message. The operations shown in FIGS. 7 to 10 are similarly executed by the OFC 150.

ここで、システムの構成変更に対応するため、フローエントリは永続性をもたないものとする。具体的には、フローエントリ登録時にOFC150がOFS140に発行するModify Flow Entryメッセージにおいて、適当なハードタイムアウトを指定する。   Here, in order to cope with a change in the system configuration, it is assumed that the flow entry has no persistence. Specifically, an appropriate hard timeout is specified in the Modify Flow Entry message that the OFC 150 issues to the OFS 140 when registering the flow entry.

OFS140にフレームが到着し、OFS140からOFC150へPacket−inメッセージが発行されると、OFC150はまず任意のフレームに合致するように初期化された、フローエントリのマッチ条件の構造体を作成する(S400)。続いて、OFC150は、フレームの入力ポートと入力VLANタグをマッチ条件に追加して(S401)、入力ポートと入力VLANタグを元にトポロジ定義テーブル151を検索する(S402)。   When a frame arrives at the OFS 140 and a Packet-in message is issued from the OFS 140 to the OFC 150, the OFC 150 first creates a structure of a flow entry match condition that is initialized to match an arbitrary frame (S400). ). Subsequently, the OFC 150 adds the input port of the frame and the input VLAN tag to the matching condition (S401), and searches the topology definition table 151 based on the input port and the input VLAN tag (S402).

一方、第一の実施形態に記載のルータ仮想化装置40においては、ルータ仮想化装置40にフレームが入力されるたびに図6の動作が実行される。フレームが到着すると、ルータ仮想化装置40はフレームの入力ポートと入力VLANタグを取得し、続いて入力ポートと入力VLANタグを元にトポロジ定義テーブル151を検索する。   On the other hand, in the router virtualization apparatus 40 described in the first embodiment, the operation of FIG. 6 is executed every time a frame is input to the router virtualization apparatus 40. When the frame arrives, the router virtualization apparatus 40 acquires the input port and input VLAN tag of the frame, and then searches the topology definition table 151 based on the input port and the input VLAN tag.

ここで、トポロジ定義テーブル151内でマッチ条件と合致する行が見つからなかった場合は、未定義のポートまたは未定義のVLANタグであるため、OFC150は、Modify Flow Entryメッセージを用いて合致したフレームを破棄するフローエントリをフローテーブルに登録して処理を終了する(S403)。第一の実施形態におけるルータ仮想化装置40では、S403においてフレームを破棄して処理を終了する。以下、OFC150が「Modify Flow Entryメッセージを用いて合致したフレームを破棄するフローエントリをフローテーブルに登録して処理を終了する」場合、第一の実施形態に記載のルータ仮想化装置40では、フレームを破棄して処理を終了する。   Here, if a line that matches the matching condition is not found in the topology definition table 151, it is an undefined port or an undefined VLAN tag, so the OFC 150 uses the Modify Flow Entry message to select a matching frame. The flow entry to be discarded is registered in the flow table and the process is terminated (S403). In the router virtualization apparatus 40 in the first embodiment, the frame is discarded in S403 and the process is terminated. Hereinafter, when the OFC 150 “registers a flow entry for discarding a matched frame using the Modify Flow Entry message in the flow table and ends the processing”, the router virtualization apparatus 40 described in the first embodiment uses the frame Is discarded and the process is terminated.

一方、合致する行が見つかった場合は、OFC150は、フレームのイーサタイプをマッチ条件に追加するとともに(S404)、イーサタイプで示されるプロトコルがARPまたはIPであるかを検査する(S405)。第一の実施形態に記載のルータ仮想化装置40では、S404においてフレームのイーサタイプを取得し、S405においてイーサタイプで示されるプロトコルがARPまたはIPであるかを検査する。ここで、プロトコルがARPでもIPでもない場合は、処理できないプロトコルであるため、OFC150は、Modify Flow Entryメッセージを用いて合致したフレームを破棄するフローエントリをフローテーブルに登録して処理を終了する(S403)。   On the other hand, if a matching row is found, the OFC 150 adds the ether type of the frame to the match condition (S404) and checks whether the protocol indicated by the ether type is ARP or IP (S405). In the router virtualization apparatus 40 described in the first embodiment, the ether type of the frame is acquired in S404, and it is checked in S405 whether the protocol indicated by the ether type is ARP or IP. Here, if the protocol is neither ARP nor IP, it is a protocol that cannot be processed, so the OFC 150 registers a flow entry for discarding the matched frame in the flow table using the Modify Flow Entry message, and ends the processing ( S403).

一方、プロトコルがARPまたはIPである場合は、OFC150は、入力ポートを元にルータ定義テーブル152を検索する(S406)。ここで、行が見つからなかった場合は、外向きポートからの入力なので、OFC150は、図7に示す外向きポートのフレームを処理するサブルーチンを実行する(S407)。一方、行が見つかった場合は、内向きポートからの入力なので、OFC150は、図8に示す内向きポートのフレームを処理するサブルーチンを実行する(S408)。   On the other hand, if the protocol is ARP or IP, the OFC 150 searches the router definition table 152 based on the input port (S406). If no line is found, the input is from the outward port, so the OFC 150 executes a subroutine for processing the frame of the outward port shown in FIG. 7 (S407). On the other hand, if a line is found, it is an input from the inward port, so the OFC 150 executes a subroutine for processing the frame of the inward port shown in FIG. 8 (S408).

図7は、外向きポートから入力されたフレームを処理するサブルーチンである。まず、OFC150は、フレームのイーサタイプで示されるプロトコルがARPとIPのどちらであるか検査する(S500)。ここで、プロトコルがIPである場合は、OFC150は、フレームに含まれる送信元IPアドレスと宛先IPアドレスとをマッチ条件に追加し(S501)、続いて宛先IPアドレスを指定して図9に示す仮想ルータ候補を取得するサブルーチンを実行する(S502)。ルータ仮想化装置40では、S501においてフレームに含まれる送信元IPアドレスと宛先IPアドレスとを取得し、S502の処理を実行する。ここで、仮想ルータ候補の数が0個または複数個である場合は(S503)、仮想ルータを唯一に絞り込むことができない不正なIPアドレスであるため、OFC150は、Modify Flow Entryメッセージを用いて合致したフレームを破棄するフローエントリをフローテーブルに登録して処理を終了する(S504)。   FIG. 7 is a subroutine for processing a frame input from the outward port. First, the OFC 150 checks whether the protocol indicated by the ether type of the frame is ARP or IP (S500). Here, if the protocol is IP, the OFC 150 adds the source IP address and the destination IP address included in the frame to the matching condition (S501), and then specifies the destination IP address and shows the result in FIG. A subroutine for acquiring virtual router candidates is executed (S502). The router virtualization apparatus 40 acquires the source IP address and the destination IP address included in the frame in S501, and executes the process in S502. Here, if the number of virtual router candidates is zero or plural (S503), since the IP address is an illegal IP address that cannot be narrowed down to the virtual router, the OFC 150 matches using the Modify Flow Entry message. The flow entry for discarding the completed frame is registered in the flow table, and the process is terminated (S504).

一方、仮想ルータ候補の数が1個の場合は、OFC150は、その仮想ルータにおいて入力ポートおよび入力VLANタグと、同じリンクに関連づけられた出力ポートおよび出力VLANタグをトポロジ定義テーブル151から取得し(S505)、続いてフレームのVLANタグを出力VLANタグに変更するアクションと、出力ポートを出力先とするアクションとを指定して、図10に示すフレーム転送処理のサブルーチンを実行する(S506)。第一の実施形態に記載のルータ仮想化装置40では、S506においてフレームのVLANタグを出力VLANタグに変更して出力ポートからフレームを出力する
S500でプロトコルがARPであった場合は、OFC150は、ARPリプライかARPリクエストかを検査する(S507)。ここで、ARPの種別がARPリクエストであった場合は、OFC150は、トポロジ定義テーブル151から入力ポートおよび入力VLANタグとリンクを共有するポートおよびVLANタグを取得し、続いてルータ定義テーブル152からインターフェースのIPアドレスとMACアドレスを取得する(S508)。
On the other hand, when the number of virtual router candidates is one, the OFC 150 acquires from the topology definition table 151 the input port and the input VLAN tag and the output port and the output VLAN tag associated with the same link in the virtual router ( S505) Subsequently, the action of changing the VLAN tag of the frame to the output VLAN tag and the action having the output port as the output destination are designated, and the subroutine of the frame transfer process shown in FIG. 10 is executed (S506). In the router virtualization apparatus 40 described in the first embodiment, the frame VLAN tag is changed to the output VLAN tag in S506 and the frame is output from the output port. If the protocol is ARP in S500, the OFC 150 Whether it is an ARP reply or an ARP request is checked (S507). If the ARP type is an ARP request, the OFC 150 acquires a port and a VLAN tag that share a link with the input port and the input VLAN tag from the topology definition table 151, and then interfaces from the router definition table 152. The IP address and the MAC address are acquired (S508).

そして、ARPリクエストに含まれるターゲットIPアドレスがルータのIPアドレスと一致する場合は(S509)、OFC150は、ルータのMACアドレスをセンダーMACアドレスとするARPリプライのフレームを生成し、Send Packetメッセージを用いて入力VLANタグを付与して入力ポートから出力する(S510)。第一の実施形態に記載のルータ仮想化装置40では、S510において生成したフレームを、入力VLANタグを付与して入力ポートから出力する。   If the target IP address included in the ARP request matches the IP address of the router (S509), the OFC 150 generates an ARP reply frame with the router MAC address as the sender MAC address, and uses the Send Packet message. Then, an input VLAN tag is assigned and output from the input port (S510). In the router virtualization apparatus 40 described in the first embodiment, the frame generated in S510 is attached with the input VLAN tag and output from the input port.

一方、ARPの種別がARPリプライであった場合は、まず入力ポートと入力VLANタグ、ARPリプライに含まれるセンダーIPアドレスとを元に送信待ちフレームテーブル153を検索し(S511)、検索条件と合致した行の取得を試み、行が取得できたかどうか検査する(S512)。   On the other hand, if the ARP type is ARP reply, first the transmission waiting frame table 153 is searched based on the input port, the input VLAN tag, and the sender IP address included in the ARP reply (S511), and matches the search condition. An attempt is made to acquire the line and whether or not the line has been acquired is checked (S512).

ここで、行が取得できた場合は、以下のアクションを指定し、図10に示すフレーム転送処理のサブルーチンを実行する(S513)。つまり、行に含まれるフレームデータを出力フレームとし、フレームのVLANタグを、取得した行に含まれるVLANタグに変更するアクションと、フレームの宛先MACアドレスをARPリプライに含まれるセンダーMACアドレスに変更するアクションと、行に含まれるポートを出力先とするアクションとを指定する。第一の実施形態に記載のルータ仮想化装置40では、S513において行に含まれるフレームデータを出力フレームとし、フレームのVLANタグを行に含まれるVLANタグに変更するとともに、フレームの宛先MACアドレスをARPリプライに含まれるセンダーMACアドレスに変更して、行に含まれるポートからフレームを出力する。   Here, when the line can be acquired, the following action is designated, and the frame transfer processing subroutine shown in FIG. 10 is executed (S513). In other words, the frame data included in the row is used as an output frame, the action of changing the VLAN tag of the frame to the VLAN tag included in the acquired row, and the destination MAC address of the frame is changed to the sender MAC address included in the ARP reply. Specify an action and an action whose output destination is the port included in the line. In the router virtualization apparatus 40 described in the first embodiment, the frame data included in the row is set as the output frame in S513, the VLAN tag of the frame is changed to the VLAN tag included in the row, and the destination MAC address of the frame is changed. Change to the sender MAC address included in the ARP reply, and output the frame from the port included in the row.

そして、転送が完了したフレームの行を送信待ちフレームテーブル153から削除するとともに(S514)、残りの送信待ちフレームに対して同様の処理を繰り返す(S511)。   Then, the row of the frame for which transfer has been completed is deleted from the transmission waiting frame table 153 (S514), and the same processing is repeated for the remaining transmission waiting frames (S511).

図8は、内向きポートから入力されたフレームを処理するサブルーチンである。まず、フレームのイーサタイプで示されるプロトコルがARPとIPのどちらであるか検査する(S600)。ここで、プロトコルがIPである場合は、フレームに含まれる送信元IPアドレスと宛先IPアドレスとをマッチ条件に追加し(S601)、続いて送信元IPアドレスを指定して図9に示す仮想ルータ候補を取得するサブルーチンを実行する(S602)。ルータ仮想化装置40では、S601においてフレームに含まれる送信元IPアドレスと宛先IPアドレスとを取得し、S602の処理を実行する。   FIG. 8 is a subroutine for processing a frame input from an inward port. First, it is checked whether the protocol indicated by the ether type of the frame is ARP or IP (S600). Here, when the protocol is IP, the source IP address and the destination IP address included in the frame are added to the matching condition (S601), and then the source IP address is designated and the virtual router shown in FIG. A subroutine for acquiring candidates is executed (S602). The router virtualization apparatus 40 acquires the transmission source IP address and the destination IP address included in the frame in S601, and executes the process of S602.

ここで、仮想ルータ候補の数が0個または複数個である場合は(S603)、仮想ルータを唯一に絞り込むことができない不正なIPアドレスであるため、Modify Flow Entryメッセージを用いて合致したフレームを破棄するフローエントリを登録して処理を終了する(S604)。   Here, when the number of virtual router candidates is zero or plural (S603), since the IP address is an invalid IP address that cannot be narrowed down only to the virtual router, a matching frame using the Modify Flow Entry message is displayed. The flow entry to be discarded is registered and the process is terminated (S604).

一方、仮想ルータ候補の数が1個の場合は、その仮想ルータにおいて入力ポートおよび入力VLANタグとリンクを共有する出力ポートおよび出力VLANタグをトポロジ定義テーブル151から取得し(S605)、続いてフレームの宛先MACアドレスが疑似MACアドレスかどうかを検査する(S606)。   On the other hand, if the number of virtual router candidates is one, the output port and output VLAN tag sharing the link with the input port and input VLAN tag in the virtual router are acquired from the topology definition table 151 (S605), and then the frame It is checked whether the destination MAC address is a pseudo MAC address (S606).

ここで、宛先が疑似MACアドレスであった場合は、疑似MACアドレス内にエンコードされた宛先IPアドレスを取得し(S607)、宛先IPアドレスと出力ポート、出力VLANタグ、およびフレーム全体のデータを送信待ちフレームテーブル153に登録するとともに(S608)、宛先IPアドレスをターゲットIPアドレスとするARPリクエストのフレームを生成し、Send Packetメッセージを用いて、フレームに出力VLANタグを付与して出力ポートから出力する(S609)。第一の実施形態に記載のルータ仮想化装置40では、S609において生成したフレームに出力VLANタグを付与して出力ポートから出力する。   If the destination is a pseudo MAC address, the destination IP address encoded in the pseudo MAC address is acquired (S607), and the destination IP address and output port, output VLAN tag, and the entire frame data are transmitted. The frame is registered in the waiting frame table 153 (S608), and an ARP request frame with the destination IP address as the target IP address is generated, and the output VLAN tag is attached to the frame using the Send Packet message and output from the output port. (S609). In the router virtualization apparatus 40 described in the first embodiment, an output VLAN tag is attached to the frame generated in S609 and output from the output port.

一方、宛先が疑似MACアドレスでない場合は、フレームのVLANタグを出力VLANタグに変更するアクションと、出力ポートを出力先とするアクションとを指定して、図10に示すフレーム転送処理のサブルーチンを実行する(S610)。第一の実施形態に記載のルータ仮想化装置40では、S610においてフレームのVLANタグを出力VLANタグに変更して出力ポートからフレームを出力する。   On the other hand, when the destination is not a pseudo MAC address, the action of changing the VLAN tag of the frame to the output VLAN tag and the action having the output port as the output destination are designated, and the frame transfer processing subroutine shown in FIG. 10 is executed. (S610). In the router virtualization apparatus 40 described in the first embodiment, the VLAN tag of the frame is changed to the output VLAN tag in S610, and the frame is output from the output port.

S600でプロトコルがARPであった場合は、ARPリプライかARPリクエストかを検査し、ARPリプライであった場合は無視して処理を終了する(S611)。一方、ARPリクエストであった場合は、入力ポートと入力VLANタグを元にルータ定義テーブル152からインターフェースのIPアドレスを取得し、これがARPリクエストのターゲットIPアドレスと同じ場合は、ARPリプライを送信せずに処理を終了する(S612)。これは、ルータがIPアドレスの重複を確認するために自身のIPアドレスに対するARPリクエストを送信する事があり、そのようなARPリクエストを無視するための処理である。   If the protocol is ARP in S600, it is checked whether it is an ARP reply or an ARP request, and if it is an ARP reply, the process is ignored and the process ends (S611). On the other hand, if the request is an ARP request, the interface IP address is obtained from the router definition table 152 based on the input port and the input VLAN tag. If this is the same as the target IP address of the ARP request, the ARP reply is not transmitted. The process ends (S612). This is a process for ignoring such an ARP request when the router may transmit an ARP request for its own IP address in order to confirm duplication of the IP address.

一方、ARPリクエストのターゲットIPアドレスとルータのインターフェースのIPアドレスが異なる場合は、ターゲットIPアドレスをエンコードした疑似MACアドレスをセンダーMACアドレスとするARPリプライのフレームを生成し、Send Packetメッセージを用いて、フレームに入力VLANタグを付与して入力ポートから出力する(S613)。ここで、疑似MACアドレスは、下位32ビットにIPアドレスを格納するとともに、実際のMACアドレスとの重複を避けるためにU/Lビットを1に設定するものとする。第一の実施形態に記載のルータ仮想化装置40では、S613においてターゲットIPアドレスをエンコードした疑似MACアドレスをセンダーMACアドレスとするARPリプライのフレームを生成し、フレームに入力VLANタグを付与して入力ポートから出力する。   On the other hand, if the target IP address of the ARP request is different from the IP address of the router interface, an ARP reply frame is generated with the pseudo MAC address encoded as the target IP address as the sender MAC address, and a Send Packet message is used. An input VLAN tag is attached to the frame and output from the input port (S613). Here, the pseudo MAC address stores the IP address in the lower 32 bits and sets the U / L bit to 1 in order to avoid duplication with the actual MAC address. In the router virtualization apparatus 40 described in the first embodiment, an ARP reply frame is generated with a pseudo MAC address encoded with the target IP address as a sender MAC address in S613, and an input VLAN tag is attached to the frame and input. Output from the port.

図9は、仮想ルータ候補を取得するサブルーチンである。まず、フレームの入力ポートと入力VLANタグをもつすべての行をトポロジー定義テーブル151から取得し、それらの行に含まれる仮想ルータの集合を仮想ルータ候補Aとする(S700)。例えば、ポート42にVLANタグなしで入力されたフレームに対しては、仮想ルータ候補Aは{511,512}となる。   FIG. 9 is a subroutine for acquiring virtual router candidates. First, all rows having an input port of a frame and an input VLAN tag are acquired from the topology definition table 151, and a set of virtual routers included in those rows is set as a virtual router candidate A (S700). For example, for a frame input without a VLAN tag to the port 42, the virtual router candidate A is {511, 512}.

次に、本サブルーチンの呼び出し時に指定されたIPアドレスが特殊なIPアドレスの場合は(S701)、仮想ルータ候補Aを仮想ルータ候補として返却する(S702)。ここで特殊なIPアドレスとは、255.255.255.255や0.0.0.0、マルチキャストアドレスである。このようなIPアドレスは以降の経路の検索に用いることができないため、仮想ルータ候補Aを仮想ルータ候補として返却する。   Next, when the IP address designated at the time of calling this subroutine is a special IP address (S701), the virtual router candidate A is returned as a virtual router candidate (S702). Here, special IP addresses are 255.255.255.255, 0.0.0.0, and multicast addresses. Since such an IP address cannot be used for the subsequent route search, the virtual router candidate A is returned as a virtual router candidate.

一方、特殊なIPアドレスでない場合は、ルータ定義テーブル152からIPアドレスの経路をロンゲストマッチで検索し、経路を唯一に絞り込む(S703)。ここで、経路が見つからなかった場合は(S704)、仮想ルータ候補Aを仮想ルータ候補として返却する(S702)。   On the other hand, if it is not a special IP address, the route of the IP address is searched from the router definition table 152 by a longest match, and the route is narrowed down only (S703). If no route is found (S704), the virtual router candidate A is returned as a virtual router candidate (S702).

一方、経路が見つかった場合は、その行に含まれるポートおよびVLANタグをもつすべての行をトポロジ定義テーブル151から取得し、それらの行に含まれる仮想ルータの集合を仮想ルータ候補Bとする(S705)。例えば、IPアドレスが10.0.0.1の場合は、仮想ルータ候補Bは{512}となる。そして、最後に仮想ルータ候補Aと仮想ルータ候補Bとの積集合を仮想ルータ候補として返却する(S706)。   On the other hand, when a route is found, all the rows having ports and VLAN tags included in the row are acquired from the topology definition table 151, and a set of virtual routers included in those rows is set as a virtual router candidate B ( S705). For example, when the IP address is 10.0.0.1, the virtual router candidate B is {512}. Finally, the product set of virtual router candidate A and virtual router candidate B is returned as a virtual router candidate (S706).

図10は、フレーム転送処理のサブルーチンである。まず、本サブルーチンの呼び出し時に指定されたアクションを用いてSend Packetメッセージを発行し、フレームを送信する(S800)。次に、本サブルーチンの呼び出し時に指定されたアクションとマッチ条件を用いてModify Flow Entryメッセージを発行し、フローエントリを登録する(S801)。第一の実施形態に記載のルータ仮想化装置40では、図10における動作(S800、S801)を実行しない。   FIG. 10 is a subroutine of frame transfer processing. First, a Send Packet message is issued using an action designated when this subroutine is called, and a frame is transmitted (S800). Next, a Modify Flow Entry message is issued using the action and match condition specified when this subroutine is called, and a flow entry is registered (S801). The router virtualization apparatus 40 described in the first embodiment does not execute the operations (S800 and S801) in FIG.

[効果の説明]
第二の実施形態におけるルータ仮想化装置40を用いたネットワーク制御システム1では、ルータ仮想化装置40において、仮想ルータとテナントとを対応付けることにより、VLANタグを用いて特定のテナントへの通信を制御する構成としたため、物理ルータを活用したマルチテナント環境において、互換性を維持したまま仮想ルータの導入をすることができる。
[Description of effects]
In the network control system 1 using the router virtualization apparatus 40 in the second embodiment, the router virtualization apparatus 40 controls communication to a specific tenant using a VLAN tag by associating a virtual router with a tenant. Therefore, in a multi-tenant environment using physical routers, a virtual router can be introduced while maintaining compatibility.

[他の実施形態]
以下、本発明のバリエーションについて説明する。第一の実施形態において説明した識別子は、ルータ仮想化装置40によって付与されてよい。また、識別子は所定の仮想ルータと、スイッチ30に転送するパケットが入力したルータ仮想化装置40のポートとの組み合わせに基づいて付与されてもよい。同様に、識別子は、前述のパケットの送信元の仮想ネットワークの識別子及びIP(Internet Protocol)アドレスと、スイッチ30に転送するパケットが入力されたルータ仮想化装置40のポートとの組み合わせに基づいて付与されてもよい。さらに、前述の組み合わせは、予めテーブルとして保存されていてよい。
[Other Embodiments]
Hereinafter, variations of the present invention will be described. The identifier described in the first embodiment may be given by the router virtualization apparatus 40. The identifier may be given based on a combination of a predetermined virtual router and a port of the router virtualization apparatus 40 to which a packet transferred to the switch 30 is input. Similarly, the identifier is assigned based on the combination of the identifier and IP (Internet Protocol) address of the virtual network that is the transmission source of the packet and the port of the router virtualization apparatus 40 to which the packet to be transferred to the switch 30 is input. May be. Further, the above combinations may be stored in advance as a table.

第一の実施形態においては、ルータ10と、スイッチ30と、ルータ仮想化装置40と、を有するネットワーク制御システム1として説明した。しかし、ルータ仮想化装置40が単体の場合でも、上述した構成・動作であれば、作用効果を奏する。   In the first embodiment, the network control system 1 having the router 10, the switch 30, and the router virtualization apparatus 40 has been described. However, even when the router virtualization apparatus 40 is a single unit, the above-described configuration and operation can provide operational effects.

第二の実施形態では、OpenFlowプロトコルを用いて、ルータ仮想化装置をOFSとOFCの組み合わせで実現する方法を説明した。しかし、本発明のルータ仮想化装置40は単一の物理的または仮想的なネットワーク装置を、その装置に内蔵されたハードウェアまたはファームウェアで制御することで実現することもできる。また、複数のネットワークインターフェースをもつ物理的または仮想的な計算機の上で動作するソフトウェアとして実現することもできる。   In the second embodiment, the method of realizing the router virtualization apparatus with a combination of OFS and OFC using the OpenFlow protocol has been described. However, the router virtualization apparatus 40 of the present invention can also be realized by controlling a single physical or virtual network apparatus with hardware or firmware built in the apparatus. It can also be realized as software that operates on a physical or virtual computer having a plurality of network interfaces.

また、上述の第二の実施形態ではL2スイッチ130で構成したが、図11に示すように、ハイパーバイザー160上に仮想スイッチ165〜168を作成し、L2スイッチ130と同様に動作させることができる。ここで、図11はハイパーバイザー160とその構成要素のみ符号を示している。また、第二の実施形態において、IPv4のアドレス体系を用いて説明を行ったがIPv6のアドレス体系を用いてもよい。   In the second embodiment described above, the L2 switch 130 is used. However, as shown in FIG. 11, virtual switches 165 to 168 can be created on the hypervisor 160 and operated in the same manner as the L2 switch 130. . Here, FIG. 11 shows only the hypervisor 160 and its components. In the second embodiment, the IPv4 address system has been described. However, an IPv6 address system may be used.

上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。   A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

[付記1]
複数のネットワーク間の経路を制御するルータと、
前記ネットワーク内の仮想ネットワークと接続されるスイッチと、
前記ルータ及び前記スイッチと接続し、前記ルータを、複数の前記仮想ネットワーク間の経路を制御する複数の仮想ルータとして提供するルータ仮想化装置と、
を有し、
前記ルータ仮想化装置は、前記スイッチから入力されたパケットを前記ルータに転送し、前記ルータから入力されたパケットを前記複数の仮想ルータのうち所定の仮想ルータに応じて付与された識別子に基づいて、前記スイッチに転送する、
ネットワーク制御システム。
[Appendix 1]
A router that controls the route between multiple networks;
A switch connected to a virtual network in the network;
A router virtualization apparatus connected to the router and the switch, and providing the router as a plurality of virtual routers that control paths between the plurality of virtual networks;
Have
The router virtualization apparatus transfers a packet input from the switch to the router, and the packet input from the router is based on an identifier given according to a predetermined virtual router among the plurality of virtual routers. Forward to the switch,
Network control system.

[付記2]
前記識別子は、前記所定の仮想ルータと、前記スイッチに転送する前記パケットが入力された前記ルータ仮想化装置のポートと、の組み合わせに基づいて付与される、
付記1に記載のネットワーク制御システム。
[Appendix 2]
The identifier is given based on a combination of the predetermined virtual router and a port of the router virtualization apparatus to which the packet to be transferred to the switch is input.
The network control system according to attachment 1.

[付記3]
前記識別子は、前記パケットの送信元の仮想ネットワークの識別子及びIPアドレスと、前記スイッチに転送する前記パケットが入力された前記ルータ仮想化装置のポートと、の組み合わせに基づいて付与される、
付記1または2に記載のネットワーク制御システム。
[Appendix 3]
The identifier is given based on a combination of an identifier and an IP address of a virtual network that is a transmission source of the packet, and a port of the router virtualization apparatus to which the packet to be transferred to the switch is input.
The network control system according to appendix 1 or 2.

[付記4]
前記組み合わせはテーブルとして保存されている、
付記3に記載のネットワーク制御システム。
[Appendix 4]
The combination is stored as a table,
The network control system according to attachment 3.

[付記5]
テナント内に複数の前記仮想ネットワークを有し、複数の前記テナントの、おのおのの前記テナントに対して前記仮想ルータが割り当てられている、付記1から4のいずれかに記載のネットワーク制御システム。
[Appendix 5]
The network control system according to any one of appendices 1 to 4, wherein the tenant has a plurality of the virtual networks and the virtual router is assigned to each of the tenants of the plurality of tenants.

[付記6]
ルータによって経路が制御される複数のネットワークにおいて、前記複数のネットワーク内の複数の仮想ネットワーク間の経路を制御する仮想ルータとして、前記ルータを提供し、
前記仮想ネットワークと接続されるスイッチから入力されたパケットを、前記ルータに転送し、前記ルータから入力されたパケットを前記複数の仮想ルータのうち所定の仮想ルータに応じて付与された識別子に基づいて、前記スイッチに転送する、
ルータ仮想化装置。
[Appendix 6]
In a plurality of networks whose routes are controlled by a router, the router is provided as a virtual router that controls a route between a plurality of virtual networks in the plurality of networks,
The packet input from the switch connected to the virtual network is transferred to the router, and the packet input from the router is based on an identifier given according to a predetermined virtual router among the plurality of virtual routers. Forward to the switch,
Router virtualization device.

[付記7]
前記識別子は、前記所定の仮想ルータと、前記スイッチに転送する前記パケットが入力した前記ルータ仮想化装置ポートと、の組み合わせに基づいて付与される、
付記6に記載のルータ仮想化装置。
[Appendix 7]
The identifier is given based on a combination of the predetermined virtual router and the router virtualization apparatus port input by the packet to be transferred to the switch.
The router virtualization apparatus according to attachment 6.

[付記8]
スイッチから入力されたパケットをルータに転送する第一のステップと、
前記ルータから入力されたパケットに、複数の仮想ネットワーク間の経路を制御する仮想ルータに応じた識別子を付与して、仮想ネットワークで構成された前記ネットワークと接続されるスイッチに転送する第二のステップと、を含むネットワーク制御方法。
[Appendix 8]
A first step of forwarding packets input from the switch to the router;
A second step of assigning an identifier corresponding to a virtual router that controls a path between a plurality of virtual networks to a packet input from the router and transferring the packet to a switch connected to the network configured by a virtual network And a network control method.

[付記9]
前記第二のステップにおいて、前記スイッチに転送する前記パケットの識別子は、前記仮想ルータと、前記スイッチに転送する前記パケットが入力された前記ルータ仮想化装置のポートと、の組み合わせに基づいて付与される、
付記8に記載のネットワーク制御方法。
[Appendix 9]
In the second step, the identifier of the packet to be transferred to the switch is given based on a combination of the virtual router and the port of the router virtualization apparatus to which the packet to be transferred to the switch is input. The
The network control method according to attachment 8.

[付記10]
前記第二のステップにおいて、前記組み合わせはテーブルとして保存されている、
付記9に記載のネットワーク制御方法。
[Appendix 10]
In the second step, the combinations are stored as a table,
The network control method according to appendix 9.

[付記11]
スイッチから入力されたパケットをルータに転送する第一のステップと、
前記ルータから入力されたパケットに、複数の仮想ネットワーク間の経路を制御する仮想ルータに応じた識別子を付与して、仮想ネットワークで構成された前記ネットワークと接続されるスイッチに転送する第二のステップと、を含む、
ルータ仮想化方法。
[Appendix 11]
A first step of forwarding packets input from the switch to the router;
A second step of assigning an identifier corresponding to a virtual router that controls a path between a plurality of virtual networks to a packet input from the router and transferring the packet to a switch connected to the network configured by a virtual network Including,
Router virtualization method.

[付記12]
スイッチから入力されたパケットをルータに転送する処理と、
前記ルータから入力されたパケットに、複数の仮想ネットワーク間の経路を制御する仮想ルータに応じた識別子を付与して、仮想ネットワークで構成された前記ネットワークと接続されるスイッチに転送する処理と、
をコンピュータに実行させることを特徴とするプログラム。
[Appendix 12]
Processing to forward packets input from the switch to the router;
A process of assigning an identifier corresponding to a virtual router that controls a route between a plurality of virtual networks to a packet input from the router, and transferring the packet to a switch connected to the network configured by a virtual network;
A program that causes a computer to execute.

但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。   However, the present invention is not limited to the above-described embodiments, and can be appropriately changed by those skilled in the art without departing from the scope of the invention.

1 ネットワーク制御システム
10 ルータ
11〜13 インターフェース
20〜23 仮想ネットワーク
30 スイッチ
31〜37 ポート
40 ルータ仮想化装置
41〜46 ポート
50、51 仮想ルータ
60、61 テナント
70 業務ネットワーク
80 イントラネット
120〜123 VLAN
130 L2スイッチ
140 オープンフロースイッチ
150 オープンフローコントローラ
151 トポロジ定義テーブル
152 ルータ定義テーブル
153 送信待ちフレームテーブル
160 ハイパーバイザー
161〜164 物理NIC
165〜168 仮想スイッチ
165a、 165b ポート
166a、 165b‘、 165b’‘ ポート
165a、 165b ポート
165a、 165b ポート
DESCRIPTION OF SYMBOLS 1 Network control system 10 Router 11-13 Interface 20-23 Virtual network 30 Switch 31-37 Port 40 Router virtualization apparatus 41-46 Port 50, 51 Virtual router 60, 61 Tenant 70 Business network 80 Intranet 120-123 VLAN
130 L2 Switch 140 Open Flow Switch 150 Open Flow Controller 151 Topology Definition Table 152 Router Definition Table 153 Transmission Waiting Frame Table 160 Hypervisor 161-164 Physical NIC
165 to 168 Virtual switch 165a, 165b port 166a, 165b ', 165b''port 165a, 165b port 165a, 165b port

Claims (10)

複数のネットワーク間の経路を制御するルータと、
前記ネットワーク内の仮想ネットワークと接続されるスイッチと、
前記ルータ及び前記スイッチと接続し、前記ルータを、複数の前記仮想ネットワーク間の経路を制御する複数の仮想ルータとして提供するルータ仮想化装置と、
を有し、
前記ルータ仮想化装置は、前記スイッチから入力されたパケットを前記ルータに転送し、前記ルータから入力されたパケットを前記複数の仮想ルータのうち所定の仮想ルータに応じて付与された識別子に基づいて、前記スイッチに転送する、
ネットワーク制御システム。
A router that controls the route between multiple networks;
A switch connected to a virtual network in the network;
A router virtualization apparatus connected to the router and the switch, and providing the router as a plurality of virtual routers that control paths between the plurality of virtual networks;
Have
The router virtualization apparatus transfers a packet input from the switch to the router, and the packet input from the router is based on an identifier given according to a predetermined virtual router among the plurality of virtual routers. Forward to the switch,
Network control system.
前記識別子は、前記所定の仮想ルータと、前記スイッチに転送する前記パケットが入力された前記ルータ仮想化装置のポートと、の組み合わせに基づいて付与される、
請求項1に記載のネットワーク制御システム。
The identifier is given based on a combination of the predetermined virtual router and a port of the router virtualization apparatus to which the packet to be transferred to the switch is input.
The network control system according to claim 1.
前記組み合わせは予めテーブルとして保存されている、
請求項2に記載のネットワーク制御システム。
The combinations are stored in advance as a table,
The network control system according to claim 2.
ルータによって経路を制御される複数のネットワークにおいて、前記複数のネットワーク内の複数の仮想ネットワーク間の経路を制御する仮想ルータとして、前記ルータを提供し、
前記仮想ネットワークと接続されるスイッチから入力されたパケットを、前記ルータに転送し、前記ルータから入力されたパケットを前記複数の仮想ルータのうち所定の仮想ルータに応じて付与された識別子に基づいて、前記スイッチに転送する、
ルータ仮想化装置。
In a plurality of networks whose paths are controlled by a router, the router is provided as a virtual router that controls paths between a plurality of virtual networks in the plurality of networks.
The packet input from the switch connected to the virtual network is transferred to the router, and the packet input from the router is based on an identifier given according to a predetermined virtual router among the plurality of virtual routers. Forward to the switch,
Router virtualization device.
前記識別子は、前記所定の仮想ルータと、前記スイッチに転送する前記パケットが入力した前記ルータ仮想化装置ポートと、の組み合わせに基づいて付与される、
請求項4に記載のルータ仮想化装置。
The identifier is given based on a combination of the predetermined virtual router and the router virtualization apparatus port input by the packet to be transferred to the switch.
The router virtualization apparatus according to claim 4.
スイッチから入力されたパケットをルータに転送する第一のステップと、
前記ルータから入力されたパケットに、複数の仮想ネットワーク間の経路を制御する仮想ルータに応じた識別子を付与して、仮想ネットワークで構成された前記ネットワークと接続されるスイッチに転送する第二のステップと、を含むネットワーク制御方法。
A first step of forwarding packets input from the switch to the router;
A second step of assigning an identifier corresponding to a virtual router that controls a path between a plurality of virtual networks to a packet input from the router and transferring the packet to a switch connected to the network configured by a virtual network And a network control method.
前記第二のステップにおいて、前記スイッチに転送する前記パケットの識別子は、前記仮想ルータと、前記スイッチに転送する前記パケットが入力された前記ルータ仮想化装置のポートと、の組み合わせに基づいて付与される、
請求項6に記載のネットワーク制御方法。
In the second step, the identifier of the packet to be transferred to the switch is given based on a combination of the virtual router and the port of the router virtualization apparatus to which the packet to be transferred to the switch is input. The
The network control method according to claim 6.
前記第二のステップにおいて、前記組み合わせはテーブルとして保存されている、
請求項7に記載のネットワーク制御方法。
In the second step, the combinations are stored as a table,
The network control method according to claim 7.
スイッチから入力されたパケットをルータに転送する第一のステップと、
前記ルータから入力されたパケットに、複数の仮想ネットワーク間の経路を制御する仮想ルータに応じた識別子を付与して、仮想ネットワークで構成された前記ネットワークと接続されるスイッチに転送する第二のステップと、を含む、
ルータ仮想化方法。
A first step of forwarding packets input from the switch to the router;
A second step of assigning an identifier corresponding to a virtual router that controls a path between a plurality of virtual networks to a packet input from the router and transferring the packet to a switch connected to the network configured by a virtual network Including,
Router virtualization method.
スイッチから入力されたパケットをルータに転送する処理と、
前記ルータから入力されたパケットに、複数の仮想ネットワーク間の経路を制御する仮想ルータに応じた識別子を付与して、仮想ネットワークで構成された前記ネットワークと接続されるスイッチに転送する処理と、
をコンピュータに実行させることを特徴とするプログラム。
但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
Processing to forward packets input from the switch to the router;
A process of assigning an identifier corresponding to a virtual router that controls a route between a plurality of virtual networks to a packet input from the router, and transferring the packet to a switch connected to the network configured by a virtual network;
A program that causes a computer to execute.
However, the present invention is not limited to the above-described embodiments, and can be appropriately changed by those skilled in the art without departing from the scope of the invention.
JP2014192462A 2014-09-22 2014-09-22 Network control system, router virtualization apparatus, network control method, router virtualization method and program Active JP6464631B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014192462A JP6464631B2 (en) 2014-09-22 2014-09-22 Network control system, router virtualization apparatus, network control method, router virtualization method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014192462A JP6464631B2 (en) 2014-09-22 2014-09-22 Network control system, router virtualization apparatus, network control method, router virtualization method and program

Publications (2)

Publication Number Publication Date
JP2016063511A true JP2016063511A (en) 2016-04-25
JP6464631B2 JP6464631B2 (en) 2019-02-06

Family

ID=55798409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014192462A Active JP6464631B2 (en) 2014-09-22 2014-09-22 Network control system, router virtualization apparatus, network control method, router virtualization method and program

Country Status (1)

Country Link
JP (1) JP6464631B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115552860A (en) * 2020-05-11 2022-12-30 质一科技有限公司 Virtual network
CN115552860B (en) * 2020-05-11 2024-06-07 质一科技有限公司 Virtual network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8094659B1 (en) * 2007-07-09 2012-01-10 Marvell Israel (M.I.S.L) Ltd. Policy-based virtual routing and forwarding (VRF) assignment
JP2012253550A (en) * 2011-06-02 2012-12-20 Hitachi Ltd Multiple tenant type information processing system, management server, and configuration management method
WO2013020126A1 (en) * 2011-08-04 2013-02-07 Midokura Pte. Ltd. System and method for implementing and managing virtual networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8094659B1 (en) * 2007-07-09 2012-01-10 Marvell Israel (M.I.S.L) Ltd. Policy-based virtual routing and forwarding (VRF) assignment
JP2012253550A (en) * 2011-06-02 2012-12-20 Hitachi Ltd Multiple tenant type information processing system, management server, and configuration management method
WO2013020126A1 (en) * 2011-08-04 2013-02-07 Midokura Pte. Ltd. System and method for implementing and managing virtual networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115552860A (en) * 2020-05-11 2022-12-30 质一科技有限公司 Virtual network
CN115552860B (en) * 2020-05-11 2024-06-07 质一科技有限公司 Virtual network

Also Published As

Publication number Publication date
JP6464631B2 (en) 2019-02-06

Similar Documents

Publication Publication Date Title
US11736394B2 (en) Address resolution using multiple designated instances of a logical router
JP6317851B1 (en) Logical router
US10243834B1 (en) Interconnecting virtual networks using an ethernet virtual private network (EVPN) and virtual extensible local area network (VXLAN) based overlay network
EP3099022B1 (en) Packet forwarding methods and apparatuses
US9225636B2 (en) Method and apparatus for exchanging IP packets among network layer 2 peers
CN106936777B (en) Cloud computing distributed network implementation method and system based on OpenFlow
US9438531B2 (en) LISP stretched subnet mode for data center migrations
JP5991424B2 (en) Packet rewriting device, control device, communication system, packet transmission method and program
CN112910750B (en) Method, apparatus, system, and medium for address resolution using logical router
EP3069471B1 (en) Optimized multicast routing in a clos-like network
US20140211795A1 (en) Communication system, control device, node, node control method, and program
JP2017511069A5 (en)
JP6323444B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
US9553764B2 (en) Migration of guest bridge
Yamanaka et al. AutoVFlow: Autonomous virtualization for wide-area OpenFlow networks
JP6464631B2 (en) Network control system, router virtualization apparatus, network control method, router virtualization method and program
JP2015231212A (en) Data transfer system, data transfer server, data transfer method, and program
US9521065B1 (en) Enhanced VLAN naming
Jun et al. Building a Tunnel through NAT Using OpenFlow
Filter-Based I2RS Working Group L. Dunbar Internet-Draft S. Hares Intended status: Informational Huawei Expires: September 25, 2015 J. Tantsura Ericsson
JP2017183960A (en) Switch control device, method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180807

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: 20181211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181224

R150 Certificate of patent or registration of utility model

Ref document number: 6464631

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150