[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5566952B2 - Network system, relay control device, relay control method, and relay control program - Google Patents

Network system, relay control device, relay control method, and relay control program Download PDF

Info

Publication number
JP5566952B2
JP5566952B2 JP2011132177A JP2011132177A JP5566952B2 JP 5566952 B2 JP5566952 B2 JP 5566952B2 JP 2011132177 A JP2011132177 A JP 2011132177A JP 2011132177 A JP2011132177 A JP 2011132177A JP 5566952 B2 JP5566952 B2 JP 5566952B2
Authority
JP
Japan
Prior art keywords
port
terminal
address
switch
data
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.)
Expired - Fee Related
Application number
JP2011132177A
Other languages
Japanese (ja)
Other versions
JP2013005087A (en
Inventor
英樹 山田
高明 小山
寿春 岸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011132177A priority Critical patent/JP5566952B2/en
Publication of JP2013005087A publication Critical patent/JP2013005087A/en
Application granted granted Critical
Publication of JP5566952B2 publication Critical patent/JP5566952B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明の実施形態は、ネットワークシステム、中継制御装置、中継制御方法及び中継制御プログラムに関する。   Embodiments described herein relate generally to a network system, a relay control device, a relay control method, and a relay control program.

従来、公衆電話網やインターネットなどのアクセスネットワークを利用して、複数箇所に散在する拠点間を接続する技術が提案されている。そして、この技術を用いて複数の拠点間を接続することにより、各拠点に散在するユーザ間で同時に音声や画像のやり取りを可能とする音声(電話)会議やテレビ会議、WEB会議などのサービスの提供も行われている。   2. Description of the Related Art Conventionally, a technology for connecting bases scattered in a plurality of locations using an access network such as a public telephone network or the Internet has been proposed. And by connecting multiple bases using this technology, services such as voice (telephone) conferences, video conferences, and WEB conferences that allow voices and images to be exchanged simultaneously between users scattered at each base Offering is also done.

また、近年では、企業内ネットワークなどに、複数の仮想ネットワークを形成するVLAN(Virtual Local Area Network)やタグVLAN等の技術が知られている。このようなVLAN等の技術が適用されたネットワークでは、仮想ネットワーク内における特定のユーザ間によるデータ通信を可能とする。   In recent years, technologies such as a VLAN (Virtual Local Area Network) and a tag VLAN that form a plurality of virtual networks in an in-company network are known. A network to which such a technique as VLAN is applied enables data communication between specific users in the virtual network.

Tony Jeffree et al, "IEEE Standard for Local and metropolitan area networks Virtual Bridged Local Area Networks", IEEE Std 802.1Q-2005, [online],[平成23年5月31日検索]、インターネット<http://standards.ieee.org/getieee802/download/802.1Q-2005.pdf>Tony Jeffree et al, "IEEE Standard for Local and metropolitan area networks Virtual Bridged Local Area Networks", IEEE Std 802.1Q-2005, [online], [searched May 31, 2011], Internet <http: // standards .ieee.org / getieee802 / download / 802.1Q-2005.pdf> Tony Jeffree et al, "IEEE Standard for Local and metropolitan area networks Virtual Bridged Local Area Networks Amendment 4: Provider Bridges", IEEE Std 802.1ad-2005, [online],[平成23年5月31日検索]、インターネット<http://standards.ieee.org/getieee802/download/802.1ad-2005.pdf>Tony Jeffree et al, "IEEE Standard for Local and metropolitan area networks Virtual Bridged Local Area Networks Amendment 4: Provider Bridges", IEEE Std 802.1ad-2005, [online], [searched May 31, 2011], Internet < http://standards.ieee.org/getieee802/download/802.1ad-2005.pdf> Tony Jeffree et al, "IEEE Standard for Local and metropolitan area networks Virtual Bridged Local Area Networks Amendment 7: Provider Backbone Bridges", IEEE Std 802.1ah-2008, [online],[平成23年5月31日検索]、インターネット<http://standards.ieee.org/getieee802/download/802.1ah-2008.pdf>Tony Jeffree et al, "IEEE Standard for Local and metropolitan area networks Virtual Bridged Local Area Networks Amendment 7: Provider Backbone Bridges", IEEE Std 802.1ah-2008, [online], [searched May 31, 2011], Internet <Http://standards.ieee.org/getieee802/download/802.1ah-2008.pdf> OpenFlow Switching Consortium, "Open Flow", [online],[平成23年5月31日検索]、インターネット<http://www.openflow.org/>OpenFlow Switching Consortium, "Open Flow", [online], [searched May 31, 2011], Internet <http://www.openflow.org/>

しかしながら、上記の仮想ネットワークに関する従来技術では、仮想ネットワークを構築するための作業コストが増大する場合がある。例えば、VLANにより仮想ネットワークを構築する場合には、スイッチ等の中継装置にVLANテーブル等を設定することを要する。このような中継装置はネットワーク内に複数存在するので、設定作業にかかる作業コストが増大する。   However, in the related art related to the virtual network, the work cost for constructing the virtual network may increase. For example, when a virtual network is constructed by VLAN, it is necessary to set a VLAN table or the like in a relay device such as a switch. Since there are a plurality of such relay apparatuses in the network, the work cost for the setting work increases.

本発明は、上記に鑑みてなされたものであって、仮想ネットワークにおけるデータ通信を容易に実現することを可能にするネットワークシステム、中継制御装置、中継制御方法及び中継制御プログラムを提供することを目的とする。   The present invention has been made in view of the above, and an object of the present invention is to provide a network system, a relay control device, a relay control method, and a relay control program that can easily realize data communication in a virtual network. And

実施形態に係るネットワークシステムは、データを中継する複数のスイッチを含むネットワークシステムであって、前記スイッチは、他のスイッチ又は端末と接続される複数のポートと、他のスイッチ又は端末からデータが入力されるポートである入力ポートを識別するためのポート識別子と、該データの送信元である送信元端末のMACアドレス及びIPアドレスと、該データの宛先となる宛先端末のMACアドレス及びIPアドレスと、該データを出力するポートである出力ポートのポート識別子とが登録されたフローテーブルと、他のスイッチ又は端末から所定の入力ポートにデータが入力された場合に、該所定の入力ポートのポート識別子と、該所定の入力ポートに入力された入力データの送信元端末のMACアドレス及びIPアドレスと、該入力データの宛先端末のMACアドレス及びIPアドレスとに対応付けて前記フローテーブルに登録されている出力ポートのポート識別子を取得する取得部と、前記取得部によって取得されたポート識別子が示す出力ポートから前記入力データを送信する送信部とを備えることを特徴とする。   The network system according to the embodiment is a network system including a plurality of switches that relay data, and the switch inputs a plurality of ports connected to other switches or terminals and data from the other switches or terminals. A port identifier for identifying an input port that is a received port, a MAC address and an IP address of a transmission source terminal that is a transmission source of the data, a MAC address and an IP address of a destination terminal that is a destination of the data, The flow table in which the port identifier of the output port that is the port that outputs the data is registered, and when data is input to the predetermined input port from another switch or terminal, the port identifier of the predetermined input port , The MAC address and IP address of the transmission source terminal of the input data input to the predetermined input port And an acquisition unit for acquiring the port identifier of the output port registered in the flow table in association with the MAC address and IP address of the destination terminal of the input data, and the port identifier acquired by the acquisition unit And a transmission unit for transmitting the input data from the output port shown.

また、実施形態に係る中継制御装置は、データを中継する複数のスイッチを制御する中継制御装置であって、前記スイッチは、他のスイッチ又は端末と接続される複数のポートと、他のスイッチ又は端末からデータが入力されるポートである入力ポートを識別するためのポート識別子と、該データの送信元である送信元端末のMACアドレス及びIPアドレスと、該データの宛先となる宛先端末のMACアドレス及びIPアドレスと、該データを出力するポートである出力ポートのポート識別子とが登録されたフローテーブルと、他のスイッチ又は端末から所定の入力ポートにデータが入力された場合に、該所定の入力ポートのポート識別子と、該所定の入力ポートに入力された入力データの送信元端末のMACアドレス及びIPアドレスと、該入力データの宛先端末のMACアドレス及びIPアドレスとに対応付けて前記フローテーブルに登録されている出力ポートのポート識別子が示す出力ポートから前記入力データを送信する送信部とを備え、前記中継制御装置は、前記複数のスイッチが有するポートを識別するためのポート識別子毎に、該ポートが属する仮想ネットワークを識別するためのグループ識別子と、該ポートと接続される端末のMACアドレス及びIPアドレス、又は、該ポートと接続される他のスイッチのMACアドレスとを記憶する接続情報記憶部と、所定のスイッチから、端末と接続されている該所定のスイッチのポートを示すポート識別子と、該端末の通信相手先端末のIPアドレスとを受け付ける受付部と、前記受付部によって受け付けられたポート識別子及び前記通信相手先端末のIPアドレスを用いて、前記端末が接続されるポート及び前記通信相手先端末が接続されるポートが属する仮想ネットワークに属し、かつ、前記端末と前記通信相手先端末とが通信を行う際の経路となるポートのポート識別子を前記接続情報記憶部から探索する経路探索部と、前記経路探索部によって探索されたポート識別子が示すポートを有するスイッチに対して、該ポート識別子と前記端末及び前記通信相手先端末のMACアドレス及びIPアドレスとを含む経路情報を送信することで、該スイッチのフローテーブルを更新する更新部とを備えることを特徴とする。   The relay control device according to the embodiment is a relay control device that controls a plurality of switches that relay data, and the switch includes a plurality of ports connected to other switches or terminals, and other switches or A port identifier for identifying an input port that is a port to which data is input from the terminal, a MAC address and an IP address of the transmission source terminal that is the transmission source of the data, and a MAC address of the destination terminal that is the destination of the data And a flow table in which the IP address and the port identifier of the output port that is the data output port are registered, and when the data is input to the predetermined input port from another switch or terminal, the predetermined input The port identifier of the port, and the MAC address and IP address of the transmission source terminal of the input data input to the predetermined input port; A relay unit that transmits the input data from an output port indicated by a port identifier of the output port registered in the flow table in association with a MAC address and an IP address of a destination terminal of the input data, and the relay control The apparatus includes, for each port identifier for identifying a port included in the plurality of switches, a group identifier for identifying a virtual network to which the port belongs, and a MAC address and an IP address of a terminal connected to the port, or A connection information storage unit for storing a MAC address of another switch connected to the port, a port identifier indicating a port of the predetermined switch connected to the terminal from a predetermined switch, and communication of the terminal A reception unit that receives the IP address of the destination terminal, and a port that is received by the reception unit The terminal and the communication partner terminal belong to a virtual network to which the port to which the terminal is connected and the port to which the communication partner terminal is connected belong using the IP address of the other child and the communication partner terminal. A path search unit that searches the connection information storage unit for a port identifier of a port that becomes a path when communicating with each other, and a switch having a port indicated by the port identifier searched by the route search unit. An update unit that updates the flow table of the switch by transmitting route information including an identifier, and the MAC address and IP address of the terminal and the communication partner terminal.

実施形態に係るネットワークシステム、中継制御装置、中継制御方法及び中継制御プログラムは、仮想ネットワークにおけるデータ通信を容易に実現することができるという効果を奏する。   The network system, the relay control device, the relay control method, and the relay control program according to the embodiment have an effect that data communication in a virtual network can be easily realized.

図1は、実施例1に係るネットワークシステムの物理的な構成例を示す図である。FIG. 1 is a diagram illustrating a physical configuration example of the network system according to the first embodiment. 図2は、実施例1に係るネットワークシステムの論理的な構成例を示す図である。FIG. 2 is a diagram illustrating a logical configuration example of the network system according to the first embodiment. 図3は、実施例1における中継制御装置の構成例を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration example of the relay control apparatus according to the first embodiment. 図4は、実施例1における接続情報記憶部の一例を示す図である。FIG. 4 is a diagram illustrating an example of the connection information storage unit according to the first embodiment. 図5は、実施例1におけるスイッチが有するフローテーブルの一例を示す図である。FIG. 5 is a diagram illustrating an example of a flow table included in the switch according to the first embodiment. 図6は、実施例1におけるスイッチが有するフローテーブルの一例を示す図である。FIG. 6 is a diagram illustrating an example of a flow table included in the switch according to the first embodiment. 図7は、実施例1におけるスイッチが有するフローテーブルの一例を示す図である。FIG. 7 is a diagram illustrating an example of a flow table included in the switch according to the first embodiment. 図8は、実施例1におけるスイッチの構成例を示すブロック図である。FIG. 8 is a block diagram illustrating a configuration example of a switch according to the first embodiment. 図9は、実施例1に係るネットワークシステムによる中継制御手順を示すシーケンス図である。FIG. 9 is a sequence diagram illustrating a relay control procedure by the network system according to the first embodiment. 図10は、中継制御プログラムを実行するコンピュータを示す図である。FIG. 10 is a diagram illustrating a computer that executes a relay control program.

以下に、本発明に係るネットワークシステム、中継制御装置、中継制御方法及び中継制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。   Hereinafter, embodiments of a network system, a relay control device, a relay control method, and a relay control program according to the present invention will be described in detail with reference to the drawings. In addition, this invention is not limited by this Example.

[ネットワークシステムの構成]
まず、図1を用いて、実施例1に係るネットワークシステムの構成について説明する。図1は、実施例1に係るネットワークシステムの物理的な構成例を示す図である。図1に例示するように、実施例1に係るネットワークシステムN1には、スイッチ10、20及び30と、端末M11〜M17と、中継制御装置100とが含まれる。
[Network system configuration]
First, the configuration of the network system according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating a physical configuration example of the network system according to the first embodiment. As illustrated in FIG. 1, the network system N1 according to the first embodiment includes switches 10, 20 and 30, terminals M11 to M17, and a relay control device 100.

スイッチ10、20及び30は、端末間で送受信されるデータを中継する中継装置である。図1に例示するように、スイッチ10は、ネットワークポート(以下、「NWポート」と表記する場合がある)11〜14を有する。かかるNWポート11〜14は、他のスイッチであるスイッチ20や端末M11〜M13との間でデータ(パケット等)を送受信する。具体的には、NWポート11は、端末M11と接続されており、端末M11との間でデータを送受信する。同様に、NWポート12は、端末M12との間でデータを送受信し、端末M13は、端末M13との間でデータを送受信する。また、NWポート14は、後述するスイッチ20が有するNWポート23と接続されており、NWポート23との間でデータを送受信する。   The switches 10, 20, and 30 are relay devices that relay data transmitted and received between terminals. As illustrated in FIG. 1, the switch 10 includes network ports (hereinafter also referred to as “NW ports”) 11 to 14. The NW ports 11 to 14 transmit and receive data (packets and the like) to and from the switch 20 that is another switch and the terminals M11 to M13. Specifically, the NW port 11 is connected to the terminal M11 and transmits / receives data to / from the terminal M11. Similarly, the NW port 12 transmits / receives data to / from the terminal M12, and the terminal M13 transmits / receives data to / from the terminal M13. The NW port 14 is connected to an NW port 23 included in the switch 20 described later, and transmits / receives data to / from the NW port 23.

スイッチ20は、NWポート21〜24を有する。NWポート21は、端末M14との間でデータを送受信し、NWポート22は、端末M15との間でデータを送受信する。また、NWポート23は、上記の通り、スイッチ10のNWポート14との間でデータを送受信する。また、NWポート24は、後述するスイッチ30が有するNWポート33と接続されており、NWポート33との間でデータを送受信する。   The switch 20 has NW ports 21 to 24. The NW port 21 transmits / receives data to / from the terminal M14, and the NW port 22 transmits / receives data to / from the terminal M15. The NW port 23 transmits and receives data to and from the NW port 14 of the switch 10 as described above. The NW port 24 is connected to an NW port 33 included in the switch 30 described later, and transmits / receives data to / from the NW port 33.

スイッチ30は、NWポート31〜33を有する。NWポート31は、端末M16との間でデータを送受信し、NWポート32は、端末M17との間でデータを送受信する。また、NWポート33は、上記の通り、スイッチ20のNWポート24との間でデータを送受信する。   The switch 30 has NW ports 31 to 33. The NW port 31 transmits / receives data to / from the terminal M16, and the NW port 32 transmits / receives data to / from the terminal M17. Further, the NW port 33 transmits and receives data to and from the NW port 24 of the switch 20 as described above.

端末M11〜M17は、例えば、PC(Personal Computer)等の情報処理装置であり、スイッチ10、20又は30を介して、他の端末との間で通信を行う。例えば、端末M11は、スイッチ10、20及び30を介して、端末M16との間で通信を行う場合がある。   The terminals M11 to M17 are information processing apparatuses such as PCs (Personal Computers), for example, and communicate with other terminals via the switch 10, 20 or 30. For example, the terminal M11 may communicate with the terminal M16 via the switches 10, 20, and 30.

中継制御装置100は、スイッチ10、20及び30による中継処理を制御する。ここで、実施例1に係るネットワークシステムN1は、かかる中継制御装置100のよる制御の下、仮想的なネットワーク(以下、「グループ」と表記する場合もある)を容易に形成することを可能にする。   The relay control device 100 controls relay processing by the switches 10, 20 and 30. Here, the network system N1 according to the first embodiment can easily form a virtual network (hereinafter also referred to as “group”) under the control of the relay control apparatus 100. To do.

例えば、実施例1に係るネットワークシステムN1のネットワーク管理者等は、仮想ネットワークを形成する場合に、各スイッチが有する各NWポートをいくつかのグループに分ける。このとき、ネットワーク管理者は、VLAN等を用いた場合には、スイッチ10、20及び30の各々にVLANテーブル等を設定することを要する。このため、ネットワーク管理者の作業コストが増大する。しかし、実施例1に係るネットワークシステムN1においては、ネットワーク管理者は、各スイッチの各NWポートが属するグループに関するグループ情報を中継制御装置100に登録するだけで、ネットワークシステムN1内に上記グループR及びグループBを形成することができる。   For example, a network administrator of the network system N1 according to the first embodiment divides each NW port included in each switch into several groups when forming a virtual network. At this time, when a VLAN or the like is used, the network administrator needs to set a VLAN table or the like in each of the switches 10, 20 and 30. For this reason, the work cost of the network administrator increases. However, in the network system N1 according to the first embodiment, the network administrator simply registers the group information about the group to which each NW port of each switch belongs in the relay control device 100, and the group R and the network R in the network system N1. Group B can be formed.

具体的には、中継制御装置100は、ネットワーク管理者から受け付けたグループ情報を保持する。そして、中継制御装置100は、スイッチ10、20又は30から所定の端末間における通信経路の探索要求を受け付けた場合に、ネットワーク管理者から受け付けたグループ情報に基づいて、同一のグループに属するNWポートのみを経由するように、かかる端末間の通信経路を決定する。   Specifically, the relay control apparatus 100 holds group information received from a network administrator. When the relay control apparatus 100 receives a search request for a communication path between predetermined terminals from the switch 10, 20 or 30, the NW port belonging to the same group based on the group information received from the network administrator The communication path between the terminals is determined so as to pass only through the terminal.

そして、中継制御装置100は、決定した通信経路を用いて、スイッチ10、20及び30がデータの中継処理を行う際に用いるテーブル(後述するフローテーブル)に記憶されるフローテーブル情報を生成する。このとき、実施例1における中継制御装置100は、データが入力される「入力ポート」と、データの送信元端末の「送信元MAC(Media Access Control)アドレス」と、データの宛先端末の「宛先MACアドレス」と、送信元端末の「送信元IP(Internet Protocol)アドレス」と、宛先端末の「宛先IPアドレス」と、データが出力される「出力ポート」とを含むフローテーブル情報を生成する。中継制御装置100は、このようにして生成したフローテーブル情報をスイッチ10、20及び30に登録する。   Then, the relay control device 100 generates flow table information stored in a table (a flow table described later) used when the switches 10, 20 and 30 perform data relay processing using the determined communication path. At this time, the relay control apparatus 100 according to the first embodiment includes an “input port” to which data is input, a “source MAC (Media Access Control) address” of the data transmission source terminal, and a “destination” of the data destination terminal. Flow table information including a “MAC address”, a “source IP (Internet Protocol) address” of the source terminal, a “destination IP address” of the destination terminal, and an “output port” to which data is output is generated. The relay control device 100 registers the flow table information generated in this way in the switches 10, 20 and 30.

そして、実施例1におけるスイッチ10、20及び30は、これらの「入力ポート」、「送信元MACアドレス」、「宛先MACアドレス」、「送信元IPアドレス」、「宛先IPアドレス」、「出力ポート」の組合せに基づいて、データの中継処理を行う。具体的には、スイッチ10等は、データを受信した場合に、データを受信した「入力ポート」と、かかるデータに設定されている「送信元MACアドレス」、「宛先MACアドレス」、「送信元IPアドレス」及び「宛先IPアドレス」とに対応する「出力ポート」を特定し、特定した出力ポートにかかるデータを送信する。   The switches 10, 20, and 30 in the first embodiment are the “input port”, “source MAC address”, “destination MAC address”, “source IP address”, “destination IP address”, “output port”. Data is relayed based on the combination of “”. Specifically, when the switch 10 or the like receives data, the “input port” that received the data and the “source MAC address”, “destination MAC address”, “source” set in the data The “output port” corresponding to the “IP address” and the “destination IP address” is specified, and the data related to the specified output port is transmitted.

図1に示した例を用いて、より具体的に説明する。図1に示した例では、ネットワーク管理者は、横線を付した矩形によって示したNWポート11、12、21及び31が属するグループ(以下、「グループR」とする)と、縦線を付した矩形によって示したNWポート13、22及び32が属するグループ(以下、「グループB」とする)とを形成するものとする。すなわち、図1に示した例のように各端末がNWポートに接続されている場合には、端末M11、M12、M14及びM16が互いに通信を行うことが許可され、端末M13、M15及びM17が互いに通信を行うことが許可されることとなる。なお、実施例1では、図1に示したNWポート14、23、24及び33のようにスイッチ間を接続するNWポートは、特定のグループに属さず、いずれのグループ(グループR及びグループB)内の通信においてもデータの送受信が行えるものとする。   This will be described more specifically using the example shown in FIG. In the example shown in FIG. 1, the network administrator adds a vertical line to a group to which the NW ports 11, 12, 21, and 31 to which the NW ports 11, 12, 21 and 31 belong indicated by a horizontal line (hereinafter referred to as “group R”). It is assumed that a group (hereinafter referred to as “group B”) to which the NW ports 13, 22 and 32 indicated by rectangles belong is formed. That is, when each terminal is connected to the NW port as in the example shown in FIG. 1, the terminals M11, M12, M14, and M16 are allowed to communicate with each other, and the terminals M13, M15, and M17 are allowed to communicate with each other. Communication with each other is permitted. In the first embodiment, the NW ports connecting the switches such as the NW ports 14, 23, 24, and 33 illustrated in FIG. 1 do not belong to a specific group, and any group (group R and group B) It is assumed that data can be transmitted / received also in the internal communication.

上記例の場合に、実施例1における中継制御装置100は、NWポート11、12、21及び31がグループRに属し、NWポート13、22及び32がグループBに属することを示すグループ情報をネットワーク管理者から受け付ける。そして、中継制御装置100は、各端末が他の端末との間で通信を行う場合に、スイッチ10、20又は30から端末間における通信経路の探索要求を受け付ける。例えば、中継制御装置100は、端末M11とM16とが初めて通信を行う場合等に、スイッチ10から端末M11とM16との間における通信経路の探索要求を受け付ける。   In the case of the above example, the relay control apparatus 100 according to the first embodiment transmits group information indicating that the NW ports 11, 12, 21, and 31 belong to the group R and the NW ports 13, 22, and 32 belong to the group B. Accept from the administrator. Then, when each terminal communicates with another terminal, the relay control apparatus 100 accepts a search request for a communication path between the terminals from the switch 10, 20 or 30. For example, the relay control apparatus 100 receives a search request for a communication path between the terminals M11 and M16 from the switch 10 when the terminals M11 and M16 communicate for the first time.

かかる場合には、中継制御装置100は、端末M11とM16との間におけるデータを送受信するNWポートとして、スイッチ10のNWポート11及び14と、スイッチ20のNWポート23及び24と、スイッチ30のNWポート33及び31とを選択する。このとき、中継制御装置100は、端末M11の接続先のNWポート11と端末M16の接続先のNWポート31とがグループRに属するので、グループRに属するNWポートの中から、端末M11と端末M16とが通信可能となるNWポートを選択する。そして、中継制御装置100は、このように選択したNWポートに基づいて、スイッチ10、20及び30に登録するためのフローテーブル情報を生成する。   In such a case, the relay control apparatus 100 has NW ports 11 and 14 of the switch 10, NW ports 23 and 24 of the switch 20, and NW ports 30 and 30 as NW ports for transmitting and receiving data between the terminals M11 and M16. NW ports 33 and 31 are selected. At this time, since the NW port 11 to which the terminal M11 is connected and the NW port 31 to which the terminal M16 is connected belong to the group R, the relay control apparatus 100 has the terminal M11 and the terminal out of the NW ports belonging to the group R. An NW port that can communicate with M16 is selected. And the relay control apparatus 100 produces | generates the flow table information for registering to switch 10,20,30 based on the NW port selected in this way.

具体的には、中継制御装置100は、スイッチ10に登録するフローテーブル情報として、端末M11から送信される端末M16宛のデータをNWポート11が受信した場合に、かかるデータをNWポート14に出力することを示す情報を生成する。さらに、中継制御装置100は、スイッチ10に登録するフローテーブル情報として、端末M16から端末M11宛のデータをNWポート14が受信した場合に、かかるデータをNWポート11に出力することを示す情報を生成する。   Specifically, when the NW port 11 receives data addressed to the terminal M16 transmitted from the terminal M11 as the flow table information registered in the switch 10, the relay control apparatus 100 outputs the data to the NW port 14. Generate information that indicates what to do. Further, the relay control apparatus 100 includes, as flow table information registered in the switch 10, information indicating that, when the NW port 14 receives data addressed to the terminal M11 from the terminal M16, the data is output to the NW port 11. Generate.

また、中継制御装置100は、スイッチ20に登録するフローテーブル情報として、端末M11から端末M16宛のデータをNWポート23が受信した場合に、かかるデータをNWポート24に出力することを示す情報を生成する。さらに、中継制御装置100は、スイッチ20に登録するフローテーブル情報として、端末M16から端末M11宛のデータをNWポート24が受信した場合に、かかるデータをNWポート23に出力することを示す情報を生成する。   Further, the relay control apparatus 100 includes, as flow table information registered in the switch 20, information indicating that, when the NW port 23 receives data addressed to the terminal M16 from the terminal M11, the data is output to the NW port 24. Generate. Further, the relay control apparatus 100 includes, as flow table information registered in the switch 20, information indicating that, when the NW port 24 receives data addressed to the terminal M11 from the terminal M16, the data is output to the NW port 23. Generate.

また、中継制御装置100は、スイッチ30に登録するフローテーブル情報として、端末M11から端末M16宛のデータをNWポート33が受信した場合に、かかるデータをNWポート31に出力することを示す情報を生成する。さらに、中継制御装置100は、スイッチ30に登録するフローテーブル情報として、端末M16から端末M11宛のデータをNWポート31が受信した場合に、かかるデータをNWポート33に出力することを示す情報を生成する。   Further, the relay control apparatus 100 includes, as flow table information registered in the switch 30, information indicating that, when the NW port 33 receives data addressed to the terminal M16 from the terminal M11, the data is output to the NW port 31. Generate. Further, the relay control apparatus 100 includes, as flow table information registered in the switch 30, information indicating that, when the NW port 31 receives data addressed to the terminal M11 from the terminal M16, the data is output to the NW port 33. Generate.

そして、中継制御装置100は、このようにして生成したフローテーブル情報をスイッチ10、20及び30に登録する。これにより、スイッチ10、20及び30は、中継制御装置100によって登録されたフローテーブル情報を用いて、端末M11と端末M16との間で送受信されるデータを中継することができる。   Then, the relay control device 100 registers the flow table information generated in this way in the switches 10, 20 and 30. Thereby, the switches 10, 20 and 30 can relay data transmitted and received between the terminal M11 and the terminal M16 using the flow table information registered by the relay control device 100.

同様にして、中継制御装置100は、端末M11とM14とが最初に通信を行う場合や、端末M12とM16とが最初に通信を行う場合や、端末M12とM14とが最初に通信を行う場合等についても、各スイッチ用のフローテーブル情報を生成し、生成したフローテーブル情報を各スイッチに登録する。また、中継制御装置100は、端末M13、M15及びM17が最初に相互通信を行う場合等についても、各スイッチにフローテーブル情報を登録する。スイッチ10、20及び30は、中継制御装置100によって生成されたフローテーブル情報に従って、データの中継処理を行うので、互いに通信を行うことが許可されていない端末間の通信を成立させることはない。このようにして、中継制御装置100は、ネットワークシステムN1にグループ(仮想ネットワーク)を形成することができる。   Similarly, the relay control apparatus 100 is used when the terminals M11 and M14 communicate first, when the terminals M12 and M16 communicate first, or when the terminals M12 and M14 communicate first. Etc., the flow table information for each switch is generated, and the generated flow table information is registered in each switch. The relay control apparatus 100 also registers the flow table information in each switch even when the terminals M13, M15, and M17 first perform mutual communication. Since the switches 10, 20, and 30 perform data relay processing according to the flow table information generated by the relay control device 100, communication between terminals that are not permitted to communicate with each other is not established. In this way, the relay control device 100 can form a group (virtual network) in the network system N1.

なお、上記例では、中継制御装置100が、スイッチ10等から探索要求を受け付けた場合に、各スイッチにフローテーブル情報を登録する例を示した。しかし、この例に限られず、中継制御装置100は、スイッチ10等から探索要求を受け付けない場合であっても、各スイッチにフローテーブル情報を登録してもよい。例えば、中継制御装置100は、ネットワークシステムN1が構築された時や、ネットワークシステムN1にスイッチが追加された場合や、スイッチに端末が接続された時等に、各スイッチにフローテーブル情報を登録してもよい。   In the above example, when the relay control apparatus 100 receives a search request from the switch 10 or the like, the example is shown in which the flow table information is registered in each switch. However, the present invention is not limited to this example, and the relay control apparatus 100 may register the flow table information in each switch even when the search request is not received from the switch 10 or the like. For example, the relay control device 100 registers the flow table information in each switch when the network system N1 is constructed, when a switch is added to the network system N1, or when a terminal is connected to the switch. May be.

ここで、図2に、実施例1に係るネットワークシステムN1の論理的な構成例を示す。図2に示したスイッチRは、グループRに属する仮想的なスイッチを示し、物理的なスイッチとしては、スイッチ10のNWポート11及び12と、スイッチ20のNWポート21と、スイッチ30のNWポート31を示す。また、図2に示したスイッチBは、グループBに属する仮想的なスイッチを示し、物理的なスイッチとしては、スイッチ10のNWポート13と、スイッチ20のNWポート22と、スイッチ30のNWポート32を示す。すなわち、実施例1におけるネットワークシステムN1においては、図2に示したように、中継制御装置100によって、端末M11、M12、M14及びM16がスイッチRを介して相互に通信を行うことができるグループRと、端末M13、M15及びM17がスイッチBを介して相互に通信を行うことができるグループBとが形成される。   Here, FIG. 2 illustrates a logical configuration example of the network system N1 according to the first embodiment. 2 represents a virtual switch belonging to the group R. As physical switches, the NW ports 11 and 12 of the switch 10, the NW port 21 of the switch 20, and the NW port of the switch 30 are shown. 31 is shown. 2 indicates a virtual switch belonging to the group B. As physical switches, the NW port 13 of the switch 10, the NW port 22 of the switch 20, and the NW port of the switch 30 are used. 32. That is, in the network system N1 according to the first embodiment, as illustrated in FIG. 2, the group R in which the terminals M11, M12, M14, and M16 can communicate with each other via the switch R by the relay control device 100. And a group B in which the terminals M13, M15, and M17 can communicate with each other via the switch B is formed.

以上のように、実施例1に係るネットワークシステムN1では、ネットワーク管理者が中継制御装置100にグループ情報を登録するだけで、中継制御装置100が、グループ情報に基づいて各スイッチ用のフローテーブル情報を生成することで、仮想ネットワークを形成する。これにより、実施例1に係るネットワークシステムN1において、ネットワーク管理者は、仮想ネットワークを容易に形成することが可能になる。例えば、ネットワーク管理者は、VLAN等の技術を用いて図2に例示した仮想ネットワークを形成する場合には、各スイッチにVLANテーブルを設定する作業を要する。しかし、実施例1に係るネットワークシステムN1では、ネットワーク管理者は、中継制御装置100にグループ情報を登録するだけで、図2に例示した仮想ネットワークを形成することができる。   As described above, in the network system N1 according to the first embodiment, the network administrator simply registers the group information in the relay control device 100, and the relay control device 100 performs flow table information for each switch based on the group information. To create a virtual network. Thereby, in the network system N1 according to the first embodiment, the network administrator can easily form a virtual network. For example, when forming a virtual network illustrated in FIG. 2 using a technique such as VLAN, the network administrator needs to set a VLAN table in each switch. However, in the network system N1 according to the first embodiment, the network administrator can form the virtual network illustrated in FIG. 2 simply by registering the group information in the relay control device 100.

なお、上述してきたスイッチ、端末、NWポートの数は、図1に示した例に限られない。例えば、実施例1に係るネットワークシステムN1は、4台以上のスイッチを有してもよいし、6台以下の端末や8台以上の端末を有してもよい。また、各スイッチは、図1に例示した数と異なる数のNWポートを有してもよい。また、図1に示した例では、ネットワークシステムN1に端末が含まれる例を示したが、かかる端末は、サーバ等であってもよい。   The numbers of switches, terminals, and NW ports described above are not limited to the example shown in FIG. For example, the network system N1 according to the first embodiment may include four or more switches, or may include six or less terminals and eight or more terminals. Each switch may have a number of NW ports different from the number illustrated in FIG. In the example illustrated in FIG. 1, an example in which a terminal is included in the network system N <b> 1 is illustrated, but the terminal may be a server or the like.

[中継制御装置の構成]
次に、図3を用いて、図1に示した中継制御装置100の構成について説明する。図3は、実施例1における中継制御装置100の構成例を示すブロック図である。図3に例示するように、実施例1における中継制御装置100は、接続情報記憶部110と、登録部121と、受付部122と、経路探索部123と、更新部124とを有する。
[Configuration of relay controller]
Next, the configuration of relay control apparatus 100 shown in FIG. 1 will be described using FIG. FIG. 3 is a block diagram illustrating a configuration example of the relay control apparatus 100 according to the first embodiment. As illustrated in FIG. 3, the relay control device 100 according to the first embodiment includes a connection information storage unit 110, a registration unit 121, a reception unit 122, a route search unit 123, and an update unit 124.

接続情報記憶部110は、各スイッチが有する各NWポートのグループ情報や、各NWポートと接続される端末又はスイッチに関する端末情報等を記憶する。具体的には、接続情報記憶部110は、各スイッチが有するポート毎に、かかるポートが属するグループに関するグループ情報と、かかるポートと接続される端末や他のスイッチのMACアドレスやIPアドレスを記憶する。   The connection information storage unit 110 stores group information of each NW port included in each switch, terminal information related to a terminal or switch connected to each NW port, and the like. Specifically, the connection information storage unit 110 stores, for each port included in each switch, group information regarding a group to which the port belongs, and a MAC address and an IP address of a terminal connected to the port and other switches. .

ここで、図4に、実施例1における接続情報記憶部110の一例を示す。図4に示した例では、接続情報記憶部110は、「スイッチ名」、「NWポート」、「グループ」、「MACアドレス」、「IPアドレス」といった項目を有する。   Here, FIG. 4 illustrates an example of the connection information storage unit 110 according to the first embodiment. In the example illustrated in FIG. 4, the connection information storage unit 110 includes items such as “switch name”, “NW port”, “group”, “MAC address”, and “IP address”.

「スイッチ名」は、ネットワークシステムN1に含まれるスイッチを識別するための情報である。図4に示した例において、接続情報記憶部110の「スイッチ名」には、図1に示したスイッチに付した符号の先頭に「SW」を付与した情報が記憶されるものとする。例えば、接続情報記憶部110は、スイッチ10の「スイッチ名」として「SW10」を記憶し、スイッチ20の「スイッチ名」として「SW20」を記憶する。   “Switch name” is information for identifying a switch included in the network system N1. In the example shown in FIG. 4, it is assumed that “switch name” in the connection information storage unit 110 stores information with “SW” added to the head of the reference numerals assigned to the switches shown in FIG. For example, the connection information storage unit 110 stores “SW10” as the “switch name” of the switch 10, and stores “SW20” as the “switch name” of the switch 20.

「NWポート」は、各スイッチが有するNWポートを識別するための情報(以下、「ポート識別子」と表記する場合がある)である。図4に示した例において、接続情報記憶部110の「NWポート」には、図1に示したNWポートに付した符号の1の位(下1桁の数値)が記憶されるものとする。例えば、接続情報記憶部110は、NWポート11の「NWポート」としてポート識別子「1」を記憶し、NWポート12の「NWポート」としてポート識別子「2」を記憶する。同様に、接続情報記憶部110は、NWポート21の「NWポート」としてポート識別子「1」を記憶し、NWポート22の「NWポート」としてポート識別子「2」を記憶する。   “NW port” is information for identifying an NW port included in each switch (hereinafter, may be referred to as “port identifier”). In the example illustrated in FIG. 4, the “NW port” of the connection information storage unit 110 stores the 1's place (numerical value of the last 1 digit) of the code attached to the NW port illustrated in FIG. 1. . For example, the connection information storage unit 110 stores the port identifier “1” as “NW port” of the NW port 11 and stores the port identifier “2” as “NW port” of the NW port 12. Similarly, the connection information storage unit 110 stores the port identifier “1” as “NW port” of the NW port 21 and stores the port identifier “2” as “NW port” of the NW port 22.

「グループ」は、各NWポートが属するグループを識別するための情報(以下、「グループ識別子」と表記する場合がある)である。図4に示した例において、接続情報記憶部110の「グループ」には、図1に示したグループに付した符号「R」又は「B」のいずれかが記憶されるものとする。例えば、接続情報記憶部110は、NWポート11の「グループ」としてグループ識別子「R」を記憶し、NWポート13の「グループ」としてグループ識別子「B」を記憶する。なお、接続情報記憶部110の「グループ」に記憶されている「U」は、特定のグループを示さず、いずれのグループであってもよいことを示す。例えば、スイッチ間を接続するNWポート14、23、24及び33の「グループ」には、グループ識別子「U」が記憶される。   “Group” is information for identifying a group to which each NW port belongs (hereinafter, sometimes referred to as “group identifier”). In the example illustrated in FIG. 4, it is assumed that either “R” or “B” attached to the group illustrated in FIG. 1 is stored in the “group” of the connection information storage unit 110. For example, the connection information storage unit 110 stores the group identifier “R” as the “group” of the NW port 11 and the group identifier “B” as the “group” of the NW port 13. Note that “U” stored in the “group” of the connection information storage unit 110 does not indicate a specific group but indicates any group. For example, the group identifier “U” is stored in the “group” of the NW ports 14, 23, 24 and 33 connecting the switches.

「MACアドレス」は、各NWポートに接続されている端末又はスイッチのMACアドレスである。図4に示した例において、接続情報記憶部110の「MACアドレス」には、図1に示した端末に付した符号の一の位の数値(下1桁の数値)の先頭に「m」を付与した情報、又は、図1に示したスイッチ10に付した符号の十の位の数値の先頭に「SW」を付与した情報が記憶されるものとする。例えば、接続情報記憶部110は、端末M11の「MACアドレス」として「m1」を記憶し、端末M12の「MACアドレス」として「m2」を記憶し、スイッチ10の「MACアドレス」として「SW1」を記憶する。   “MAC address” is the MAC address of the terminal or switch connected to each NW port. In the example shown in FIG. 4, the “MAC address” of the connection information storage unit 110 has “m” at the head of the first digit (the last one digit) of the code attached to the terminal shown in FIG. Or information with “SW” added to the head of the tens digit of the code given to the switch 10 shown in FIG. For example, the connection information storage unit 110 stores “m1” as the “MAC address” of the terminal M11, stores “m2” as the “MAC address” of the terminal M12, and “SW1” as the “MAC address” of the switch 10. Remember.

「IPアドレス」は、各NWポートに接続されている端末のIPアドレスである。図4に示した例において、接続情報記憶部110の「IPアドレス」には、図1に示した端末に付した符号の1の位(下1桁の数値)の先頭に「i」を付与した情報が記憶されるものとする。例えば、接続情報記憶部110は、端末M11の「IPアドレス」として「i1」を記憶し、端末M12の「IPアドレス」として「i2」を記憶する。   “IP address” is the IP address of the terminal connected to each NW port. In the example shown in FIG. 4, “i” is added to the head of the first digit (the last one digit number) of the code attached to the terminal shown in FIG. 1 to the “IP address” of the connection information storage unit 110. Information is stored. For example, the connection information storage unit 110 stores “i1” as the “IP address” of the terminal M11 and stores “i2” as the “IP address” of the terminal M12.

上記の各項目のうち、「スイッチ名」、「NWポート」及び「グループ」は、ネットワーク管理者等によって事前に登録されるグループ情報である。また、「MACアドレス」及び「IPアドレス」は、中継制御装置100が各スイッチから受け付ける情報であり、後述する登録部121によって登録される。   Among the above items, “switch name”, “NW port”, and “group” are group information registered in advance by a network administrator or the like. Further, “MAC address” and “IP address” are information that the relay control apparatus 100 receives from each switch, and are registered by the registration unit 121 described later.

図3の説明に戻って、登録部121は、各スイッチから、かかるスイッチが有するNWポートと接続されている端末やスイッチのMACアドレスやIPアドレスを受信した場合に、受信したMACアドレスやIPアドレスを接続情報記憶部110に登録する。   Returning to the description of FIG. 3, when the registration unit 121 receives the MAC address or IP address of the terminal or switch connected to the NW port of the switch from each switch, the registration unit 121 receives the received MAC address or IP address. Is registered in the connection information storage unit 110.

具体的には、ネットワークシステムN1に含まれる各端末は、自装置と接続されているNWポートがリンクアップした場合に、リンクアップしたNWポートに対して、自装置(端末)のMACアドレス及びIPアドレスを含むGratuitous ARP(Address Resolution Protocol)を送信する。同様に、ネットワークシステムN1に含まれる各スイッチは、自装置と接続されている他のスイッチのNWポートがリンクアップした場合に、リンクアップしたNWポートに対して、自装置(スイッチ)のMACアドレスを送信する。そして、実施例1における各スイッチは、端末や他のスイッチからMACアドレスやIPアドレスを受信した場合に、かかるMACアドレスやIPアドレスを受信したNWポートのポート識別子と、かかるMACアドレスやIPアドレスとを中継制御装置100に通知する。このときに、中継制御装置100の登録部121は、各スイッチから受信したポート識別子に対応する接続情報記憶部110のMACアドレスやIPアドレスに、受信したMACアドレスやIPアドレスを登録する。   Specifically, when each terminal included in the network system N1 links up with an NW port connected to the own apparatus, the MAC address and IP of the own apparatus (terminal) are linked to the linked up NW port. The Gratuitous ARP (Address Resolution Protocol) including the address is transmitted. Similarly, each switch included in the network system N1 has its own device (switch) MAC address for the linked up NW port when the NW port of another switch connected to the own device is linked up. Send. When each switch in the first embodiment receives a MAC address or an IP address from a terminal or another switch, the port identifier of the NW port that has received the MAC address or the IP address, the MAC address or the IP address, To the relay control device 100. At this time, the registration unit 121 of the relay control apparatus 100 registers the received MAC address or IP address in the MAC address or IP address of the connection information storage unit 110 corresponding to the port identifier received from each switch.

例えば、図1に示したスイッチ10のNWポート11がリンクアップしたものとする。かかる場合に、端末M11は、NWポート11に対して、端末M11のMACアドレス「m1」及びIPアドレス「i1」を含むGratuitous ARPを送信する。そして、スイッチ10は、端末M11から受信したMACアドレス「m1」及びIPアドレス「i1」と、かかるMACアドレス等を受信したNWポート11のポート識別子「1」とを中継制御装置100に通知する。かかる場合に、登録部121は、図4に示した例のように、スイッチ10を示すスイッチ名「SW10」と、NWポート「1」とに対応するMACアドレスに「m1」を登録するとともに、IPアドレスに「i1」を登録する。このようにして、接続情報記憶部110は、登録部121によってMACアドレス及びIPアドレスが登録されることで、図4に例示した各種情報を保持することになる。   For example, it is assumed that the NW port 11 of the switch 10 shown in FIG. In such a case, the terminal M11 transmits the Gratuitous ARP including the MAC address “m1” and the IP address “i1” of the terminal M11 to the NW port 11. Then, the switch 10 notifies the relay control device 100 of the MAC address “m1” and the IP address “i1” received from the terminal M11 and the port identifier “1” of the NW port 11 that has received the MAC address and the like. In this case, the registration unit 121 registers “m1” in the MAC address corresponding to the switch name “SW10” indicating the switch 10 and the NW port “1”, as in the example illustrated in FIG. Register “i1” as the IP address. In this way, the connection information storage unit 110 stores various information illustrated in FIG. 4 by registering the MAC address and the IP address by the registration unit 121.

図3の説明に戻って、受付部122は、スイッチ10、20又は30から、端末間における通信経路の探索要求を受け付ける。具体的には、受付部122は、スイッチ10、20又は30から、所定の端末と接続されているNWポートのポート識別子と、かかる端末の通信相手先の端末のIPアドレスとを受け付ける。   Returning to the description of FIG. 3, the accepting unit 122 accepts a search request for a communication path between terminals from the switch 10, 20, or 30. Specifically, the accepting unit 122 accepts from the switch 10, 20 or 30 the port identifier of the NW port connected to a predetermined terminal and the IP address of the terminal of the communication partner of the terminal.

例えば、図1に例示した端末M11は、端末M16との間で通信を開始する場合に、端末M16のMACアドレスを取得するために、端末M16のIPアドレス「i6」を含むARP要求をスイッチ10のNWポート11に送信する。このとき、実施例1におけるスイッチ10は、かかるARP要求を各端末に転送せずに、中継制御装置100に対して、端末M11と端末M16との間における通信経路の探索要求を送信する。具体的には、スイッチ10は、ARP要求を受信したNWポート11のポート識別子「1」と、端末M16のIPアドレス「i6」とを含む探索要求を中継制御装置100に送信する。中継制御装置100の受付部122は、このような探索要求を受け付ける。   For example, when starting communication with the terminal M16, the terminal M11 illustrated in FIG. 1 sends an ARP request including the IP address “i6” of the terminal M16 to the switch 10 in order to obtain the MAC address of the terminal M16. To the NW port 11 of the network. At this time, the switch 10 according to the first embodiment transmits a search request for a communication path between the terminal M11 and the terminal M16 to the relay control device 100 without transferring the ARP request to each terminal. Specifically, the switch 10 transmits a search request including the port identifier “1” of the NW port 11 that has received the ARP request and the IP address “i6” of the terminal M16 to the relay control device 100. The accepting unit 122 of the relay control device 100 accepts such a search request.

なお、上記例において、スイッチ10は、ARP要求を受信した場合に、端末M16のIPアドレス「i6」を保持している場合には、中継制御装置100に探索要求を送信しない。この点については、後述する。   In the above example, when the switch 10 receives the ARP request and holds the IP address “i6” of the terminal M16, the switch 10 does not transmit the search request to the relay control apparatus 100. This point will be described later.

経路探索部123は、受付部122によって探索要求が受け付けられた場合に、かかる探索要求に含まれる各種情報と、接続情報記憶部110に記憶されている各種情報とを用いて、端末間の通信経路を探索する。具体的には、経路探索部123は、探索要求に含まれる「ポート識別子」が示すNWポートから、探索要求に含まれる「通信相手先端末のIPアドレス」が示す端末までの通信経路を探索する。このとき、経路探索部123は、同一のグループに属するNWポートを経由する通信経路となるように、NWポートを選択する。   When the search request is received by the receiving unit 122, the route search unit 123 uses the various information included in the search request and the various information stored in the connection information storage unit 110 to communicate between the terminals. Search for a route. Specifically, the route search unit 123 searches for a communication route from the NW port indicated by the “port identifier” included in the search request to the terminal indicated by the “IP address of the communication partner terminal” included in the search request. . At this time, the route search unit 123 selects the NW port so that the communication route passes through the NW port belonging to the same group.

例えば、上記例のように、受付部122によって、NWポート11のポート識別子「1」と端末M16のIPアドレス「i6」とを含む探索要求が受け付けられたものとする。また、接続情報記憶部110には図4に例示した各種情報が記憶されているものとする。かかる場合に、経路探索部123は、スイッチ10からスイッチ30までの経路探索を行う。   For example, as in the above example, it is assumed that a search request including the port identifier “1” of the NW port 11 and the IP address “i6” of the terminal M16 is received by the receiving unit 122. Also, it is assumed that the connection information storage unit 110 stores various types of information illustrated in FIG. In such a case, the route search unit 123 performs a route search from the switch 10 to the switch 30.

具体的には、経路探索部123は、図4に例示した接続情報記憶部110の4行目のレコードに基づいて、スイッチ10のNWポート14とスイッチ20とが接続されていることを取得する。また、経路探索部123は、接続情報記憶部110の7行目のレコードに基づいて、スイッチ20のNWポート23とスイッチ10とが接続されていることを取得する。すなわち、経路探索部123は、接続情報記憶部110の4及び7行目のレコードに基づいて、スイッチ10のNWポート14とスイッチ20のNWポート23とが接続されていることを取得する。   Specifically, the route search unit 123 acquires that the NW port 14 of the switch 10 and the switch 20 are connected based on the record in the fourth row of the connection information storage unit 110 illustrated in FIG. . Further, the route search unit 123 acquires that the NW port 23 of the switch 20 and the switch 10 are connected based on the record in the seventh row of the connection information storage unit 110. That is, the route search unit 123 acquires that the NW port 14 of the switch 10 and the NW port 23 of the switch 20 are connected based on the records in the fourth and seventh rows of the connection information storage unit 110.

さらに、経路探索部123は、接続情報記憶部110の8行目のレコードに基づいて、スイッチ20のNWポート24とスイッチ30とが接続されていることを取得し、接続情報記憶部110の11行目のレコードに基づいて、スイッチ30のNWポート33とスイッチ20とが接続されていることを取得する。すなわち、経路探索部123は、接続情報記憶部110の8及び11行目のレコードに基づいて、スイッチ20のNWポート24とスイッチ30のNWポート33とが接続されていることを取得する。   Furthermore, the route search unit 123 acquires that the NW port 24 of the switch 20 and the switch 30 are connected based on the record in the eighth row of the connection information storage unit 110, and 11 of the connection information storage unit 110. Based on the record in the row, it is acquired that the NW port 33 of the switch 30 and the switch 20 are connected. That is, the route search unit 123 acquires that the NW port 24 of the switch 20 and the NW port 33 of the switch 30 are connected based on the records in the 8th and 11th rows of the connection information storage unit 110.

これにより、経路探索部123は、NWポート11から端末M16までの通信経路として、スイッチ10が有するNWポート12〜14から、スイッチ20と接続され、かつ、グループ「R」又は「U」であるNWポート14を選択することができる。さらに、経路探索部123は、NWポート14と接続され、かつ、グループ「R」又は「U」であるスイッチ20のNWポート23を選択することができる。さらに、経路探索部123は、スイッチ20が有するNWポート21、22、24から、スイッチ30と接続され、かつ、グループ「R」又は「U」であるNWポート24を選択することができる。さらに、経路探索部123は、NWポート24と接続され、かつ、グループ「R」又は「U」であるスイッチ30のNWポート33を選択することができる。そして、経路探索部123は、スイッチ30が有するNWポート31、32から、IPアドレス「i6」の端末M16と接続され、かつ、グループ「R」又は「U」であるNWポート31を選択することができる。   Accordingly, the route search unit 123 is connected to the switch 20 from the NW ports 12 to 14 included in the switch 10 as a communication route from the NW port 11 to the terminal M16, and is in the group “R” or “U”. The NW port 14 can be selected. Furthermore, the route search unit 123 can select the NW port 23 of the switch 20 that is connected to the NW port 14 and is in the group “R” or “U”. Further, the route search unit 123 can select an NW port 24 that is connected to the switch 30 and is in the group “R” or “U” from the NW ports 21, 22, and 24 included in the switch 20. Furthermore, the route search unit 123 can select the NW port 33 of the switch 30 that is connected to the NW port 24 and is in the group “R” or “U”. Then, the route search unit 123 selects the NW port 31 connected to the terminal M16 having the IP address “i6” and having the group “R” or “U” from the NW ports 31 and 32 of the switch 30. Can do.

なお、上記例では、経路探索部123が、NWポート11から端末M16までの通信経路として、スイッチ10が有するNWポート12〜14から、スイッチ20と接続され、かつ、グループ「R」又は「U」であるNWポート14を選択することを示した。この点について具体的に説明すると、経路探索部123は、NWポート11を有するスイッチ10内に端末M16と接続されているNWポートが存在しないので、自スイッチ10と接続されている他のスイッチ(スイッチ20)に対して、端末M16と接続されているNWポートが存在するかを探索するために、スイッチ20と接続されるNWポート14を選択する。さらに、経路探索部123は、スイッチ20内に端末M16と接続されているNWポートが存在しないので、スイッチ20と接続されている他のスイッチ(スイッチ30)に端末M16と接続されているNWポートが存在するかを探索するために、スイッチ30と接続されるスイッチ20のNWポート24を選択する。このように、経路探索部123は、探索先端末と接続されているNWポートを有するスイッチに辿り着くまで、他のスイッチ内を探索する処理を繰り返し行う。   In the above example, the route searching unit 123 is connected to the switch 20 from the NW ports 12 to 14 included in the switch 10 as a communication route from the NW port 11 to the terminal M16, and the group “R” or “U The NW port 14 is selected. Specifically, the route search unit 123 does not have an NW port connected to the terminal M16 in the switch 10 having the NW port 11, so that the other switch ( In order to search the switch 20) for an NW port connected to the terminal M16, the NW port 14 connected to the switch 20 is selected. Furthermore, since there is no NW port connected to the terminal M16 in the switch 20, the route search unit 123 has an NW port connected to the terminal M16 in another switch (switch 30) connected to the switch 20. Is selected, the NW port 24 of the switch 20 connected to the switch 30 is selected. In this manner, the route search unit 123 repeatedly performs a process of searching for other switches until reaching a switch having an NW port connected to the search destination terminal.

更新部124は、経路探索部123によって探索された通信経路に基づいて、各スイッチのフローテーブル情報を生成し、生成したフローテーブル情報を各スイッチに送信することで、各スイッチのフローテーブルを更新する。具体的には、更新部124は、経路探索部123による経路探索処理によって選択された各NWポートをスイッチ毎に分別する。そして、経路探索部123は、分別したポートと、経路探索対象となった双方の端末のMACアドレス及びIPアドレスとを含むフローテーブルを生成する。このとき、経路探索部123は、各ポートや端末のMACアドレス及びIPアドレスが送信元及び宛先となるように、フローテーブルを生成する。   The update unit 124 generates flow table information of each switch based on the communication path searched by the route search unit 123, and updates the flow table of each switch by transmitting the generated flow table information to each switch. To do. Specifically, the update unit 124 sorts each NW port selected by the route search processing by the route search unit 123 for each switch. Then, the route search unit 123 generates a flow table including the sorted ports and the MAC addresses and IP addresses of both terminals that are route search targets. At this time, the route search unit 123 generates a flow table so that the MAC address and IP address of each port and terminal are the transmission source and the destination.

例えば、上記例の場合には、経路探索部123は、NWポート11から端末M16までの通信経路として、NWポート11、14、23、24、33及び31を選択した。言い換えれば、経路探索部123は、NWポート11と接続されている端末M11から端末M16までの通信経路として、NWポート11、14、23、24、33及び31を選択した。かかる場合に、更新部124は、NWポート11及び14と、NWポート23及び24と、NWポート33及び31に分別する。そして、更新部124は、スイッチ10用のフローテーブル情報として、入力ポート「NWポート11」と、送信元MACアドレス「m1」と、宛先MACアドレス「m6」と、送信元IPアドレス「i1」と、宛先IPアドレス「i6」と、出力ポート「NWポート14」との組合せを生成する。このフローテーブル情報は、送信元MACアドレス「m1」、宛先MACアドレス「m6」、送信元IPアドレス「i1」、宛先IPアドレス「i6」であるデータがNWポート11によって受け付けられた場合に、スイッチ10が、かかるデータを出力ポート「NWポート14」に出力することを意味する。   For example, in the case of the above example, the route searching unit 123 selects the NW ports 11, 14, 23, 24, 33, and 31 as the communication route from the NW port 11 to the terminal M16. In other words, the route searching unit 123 selects the NW ports 11, 14, 23, 24, 33, and 31 as the communication route from the terminal M11 connected to the NW port 11 to the terminal M16. In such a case, the updating unit 124 classifies the NW ports 11 and 14, the NW ports 23 and 24, and the NW ports 33 and 31. Then, the update unit 124 uses the input port “NW port 11”, the source MAC address “m1”, the destination MAC address “m6”, and the source IP address “i1” as the flow table information for the switch 10. , A combination of the destination IP address “i6” and the output port “NW port 14” is generated. This flow table information is displayed when the NW port 11 receives data having a source MAC address “m1”, a destination MAC address “m6”, a source IP address “i1”, and a destination IP address “i6”. 10 means outputting such data to the output port “NW port 14”.

さらに、更新部124は、端末M11と端末M16との相互通信を可能にするために、スイッチ10用のフローテーブル情報として、入力ポート「NWポート14」と、送信元MACアドレス「m6」と、宛先MACアドレス「m1」と、送信元IPアドレス「i6」と、宛先IPアドレス「i1」と、出力ポート「NWポート11」との組合せを生成する。そして、更新部124は、このようにして生成したフローテーブル情報をスイッチ10に送信する。同様にして、更新部124は、各スイッチ用のフローテーブル情報を生成し、生成したフローテーブル情報を各スイッチに送信することで、各スイッチが保持するフローテーブルを更新する。   Furthermore, in order to enable mutual communication between the terminal M11 and the terminal M16, the updating unit 124 includes, as the flow table information for the switch 10, an input port “NW port 14”, a source MAC address “m6”, A combination of the destination MAC address “m1”, the source IP address “i6”, the destination IP address “i1”, and the output port “NW port 11” is generated. Then, the update unit 124 transmits the flow table information generated in this way to the switch 10. Similarly, the update unit 124 generates flow table information for each switch, and transmits the generated flow table information to each switch, thereby updating the flow table held by each switch.

ここで、図5〜図7に、実施例1におけるスイッチ10、20、30が有するフローテーブルの一例を示す。図5は、スイッチ10が有するフローテーブル10aの一例を示し、図6は、スイッチ20が有するフローテーブル20aの一例を示し、図7は、スイッチ30が有するフローテーブル30aの一例を示す。なお、図5〜7に示した例では、更新部124によって、端末M11と端末M16との間における通信経路と、端末M13と端末M17との間における通信経路に対応するフローテーブル情報が生成された例を示している。   Here, FIGS. 5 to 7 show examples of flow tables included in the switches 10, 20, and 30 in the first embodiment. 5 illustrates an example of the flow table 10a included in the switch 10, FIG. 6 illustrates an example of the flow table 20a included in the switch 20, and FIG. 7 illustrates an example of the flow table 30a included in the switch 30. In the example illustrated in FIGS. 5 to 7, the update unit 124 generates flow table information corresponding to the communication path between the terminal M11 and the terminal M16 and the communication path between the terminal M13 and the terminal M17. An example is shown.

図5〜図7に示した「In Port」は、入力ポートを示し、図4に示した「NWポート」に対応する。また、「Src MAC」は、送信元MACアドレスを示し、図4に示した「MACアドレス」に対応する。また、「Dst MAC」は、宛先MACアドレスを示し、図4に示した「MACアドレス」に対応する。また、「Src IP」は、送信元IPアドレスを示し、図4に示した「IPアドレス」に対応する。また、「Dst IP」は、宛先IPアドレスを示し、図4に示した「IPアドレス」に対応する。また、「Out Port」は、出力ポートを示し、図4に示した「NWポート」に対応する。   “In Port” illustrated in FIGS. 5 to 7 represents an input port and corresponds to the “NW port” illustrated in FIG. “Src MAC” indicates a source MAC address and corresponds to the “MAC address” illustrated in FIG. “Dst MAC” indicates a destination MAC address and corresponds to the “MAC address” illustrated in FIG. “Src IP” indicates a source IP address, and corresponds to the “IP address” illustrated in FIG. “Dst IP” indicates a destination IP address and corresponds to the “IP address” illustrated in FIG. “Out Port” indicates an output port and corresponds to the “NW port” illustrated in FIG.

例えば、図5に例示したフローテーブル10aの1行目は、端末M11から端末M16宛のデータを中継する際のフローテーブル情報を示す。また、図5に例示したフローテーブル10aの2行目は、端末M16から端末M11宛のデータを中継する際のフローテーブル情報を示し、3行目は、端末M13から端末M17宛のデータを中継する際のフローテーブル情報を示し、4行目は、端末M17から端末M13宛のデータを中継する際のフローテーブル情報を示す。   For example, the first line of the flow table 10a illustrated in FIG. 5 shows flow table information when relaying data addressed to the terminal M16 from the terminal M11. The second line of the flow table 10a illustrated in FIG. 5 shows flow table information when relaying data addressed to the terminal M11 from the terminal M16, and the third line relays data addressed to the terminal M17 from the terminal M13. The fourth row shows the flow table information for relaying data addressed to the terminal M13 from the terminal M17.

同様に、図6に例示したフローテーブル20aは、端末M11から端末M16宛のデータ、端末M16から端末M11宛のデータ、端末M13から端末M17宛のデータ、端末M17から端末M13宛のデータを中継する際のフローテーブル情報を記憶する。また、図7に例示したフローテーブル30aは、端末M11から端末M16宛のデータ、端末M16から端末M11宛のデータ、端末M13から端末M17宛のデータ、端末M17から端末M13宛のデータを中継する際のフローテーブル情報を記憶する。   Similarly, the flow table 20a illustrated in FIG. 6 relays data addressed to the terminal M16 from the terminal M11, data addressed to the terminal M11 from the terminal M16, data addressed to the terminal M17 from the terminal M13, and data addressed to the terminal M13 from the terminal M17. Stores the flow table information at the time. 7 relays data addressed to the terminal M16 from the terminal M11, data addressed to the terminal M11 from the terminal M16, data addressed to the terminal M17 from the terminal M13, and data addressed to the terminal M13 from the terminal M17. Flow table information is stored.

[スイッチの構成]
次に、図8を用いて、図1に示したスイッチ10、20、30の構成について説明する。なお、スイッチ10、20、30は、それぞれ同様の構成を有するので、ここでは、スイッチ10の構成について説明する。図8は、実施例1におけるスイッチ10の構成例を示すブロック図である。図8に示したスイッチ10やスイッチ20及び30は、例えば、OpenFlowに対応するスイッチである。このようなスイッチ10は、図8に例示するように、NWポート11〜14と、フローテーブル10aと、更新部10bと、通信部10cとを有する。
[Switch configuration]
Next, the configuration of the switches 10, 20, and 30 shown in FIG. 1 will be described with reference to FIG. Since the switches 10, 20, and 30 have the same configuration, the configuration of the switch 10 will be described here. FIG. 8 is a block diagram illustrating a configuration example of the switch 10 according to the first embodiment. The switch 10 and the switches 20 and 30 illustrated in FIG. 8 are switches corresponding to, for example, OpenFlow. As illustrated in FIG. 8, the switch 10 includes NW ports 11 to 14, a flow table 10a, an update unit 10b, and a communication unit 10c.

NWポート11〜14は、図1に示したように、他のスイッチや端末との間でデータを送受信する。図8に示した例では、NWポート11〜14は、他のスイッチや端末から受信したデータを通信部10cに送信する。また、NWポート11〜14は、通信部10cからデータを受け付けた場合に、かかるデータを接続先の他のNWポートに送信する。   As illustrated in FIG. 1, the NW ports 11 to 14 transmit and receive data to and from other switches and terminals. In the example illustrated in FIG. 8, the NW ports 11 to 14 transmit data received from other switches and terminals to the communication unit 10c. Further, when the NW ports 11 to 14 receive data from the communication unit 10c, the NW ports 11 to 14 transmit the data to other NW ports of the connection destination.

フローテーブル10aは、入力ポート、送信元MACアドレス、宛先MACアドレス、送信元IPアドレス、宛先IPアドレス、出力ポートを対応付けて記憶する。例えば、フローテーブル10aは、図5に例示した各種情報を記憶する。かかるフローテーブル10aは、入力ポート、送信元MACアドレス、宛先MACアドレス、送信元IPアドレス、宛先IPアドレスの5個の情報(以下、これらの5個の情報を「5タプル(tuple)」と表記する場合がある)の組合せをキーとして、各種情報を記憶する。なお、フローテーブル10aは、後述する通信部10cによってデータの中継処理が行われる場合に用いられる。   The flow table 10a stores an input port, a transmission source MAC address, a destination MAC address, a transmission source IP address, a destination IP address, and an output port in association with each other. For example, the flow table 10a stores various information illustrated in FIG. The flow table 10a includes five pieces of information of an input port, a source MAC address, a destination MAC address, a source IP address, and a destination IP address (hereinafter, these five pieces of information are expressed as “5 tuple”). Various types of information are stored using a combination as a key. The flow table 10a is used when data relay processing is performed by the communication unit 10c described later.

更新部10bは、中継制御装置100からフローテーブル情報を受信した場合に、受信したフローテーブル情報をフローテーブル10aに更新する。具体的には、更新部10bは、中継制御装置100から受信したフローテーブル情報をフローテーブル10aに追加することで、フローテーブル10aを更新する。このとき、更新部10bは、フローテーブル情報の5タプルの全情報と一致するレコードがフローテーブル10aに存在する場合には、かかるレコードを5タプルが一致するフローテーブル情報に更新する。   When receiving the flow table information from the relay control device 100, the update unit 10b updates the received flow table information to the flow table 10a. Specifically, the update unit 10b updates the flow table 10a by adding the flow table information received from the relay control device 100 to the flow table 10a. At this time, if there is a record in the flow table 10a that matches all the 5-tuple information of the flow table information, the update unit 10b updates the record to the flow table information that matches the 5-tuple.

通信部10cは、各種ARPパケットの送受信処理や、各種データの中継処理を行う。具体的には、通信部10cは、NWポート11〜14のいずれかがリンクアップした場合に、リンクアップしたNWポート11〜14のいずれかと接続されている端末からGratuitous ARPを受信する。かかる場合に、通信部10cは、Gratuitous ARPに含まれる端末のIPアドレス及びMACアドレスを中継制御装置100に送信することで、中継制御装置100の接続情報記憶部110にIPアドレス及びMACアドレスを登録する。   The communication unit 10c performs transmission / reception processing of various ARP packets and relay processing of various data. Specifically, when any of the NW ports 11 to 14 is linked up, the communication unit 10c receives the Gratuitous ARP from a terminal connected to any of the linked NW ports 11 to 14. In such a case, the communication unit 10c registers the IP address and MAC address in the connection information storage unit 110 of the relay control device 100 by transmitting the IP address and MAC address of the terminal included in the Gratuitous ARP to the relay control device 100. To do.

また、通信部10cは、NWポート11〜14のいずれかと接続されている端末からARP要求を受信した場合に、かかるARP要求に含まれるMACアドレスがフローテーブル10aに記憶されているか否かを判定する。ここで、通信部10cは、フローテーブル10aにMACアドレスが記憶されている場合には、かかるMACアドレスに対応するIPアドレスをフローテーブル10aから取得し、取得したIPアドレスをARP要求の送信元である端末に送信する。一方、通信部10cは、ARP要求に含まれるMACアドレスがフローテーブル10aに記憶されていない場合には、かかるARP要求を各端末に転送せずに、ARP要求を受信したNWポートのポート識別子と、ARP要求に含まれる端末のIPアドレスとを含む探索要求を中継制御装置100に送信する。   When the communication unit 10c receives an ARP request from a terminal connected to one of the NW ports 11 to 14, the communication unit 10c determines whether or not the MAC address included in the ARP request is stored in the flow table 10a. To do. Here, when the MAC address is stored in the flow table 10a, the communication unit 10c acquires the IP address corresponding to the MAC address from the flow table 10a, and uses the acquired IP address as the source of the ARP request. Send to a terminal. On the other hand, if the MAC address included in the ARP request is not stored in the flow table 10a, the communication unit 10c does not transfer the ARP request to each terminal, and the port identifier of the NW port that has received the ARP request The search request including the IP address of the terminal included in the ARP request is transmitted to the relay control apparatus 100.

また、通信部10cは、中継制御装置100からフローテーブル情報を受信した場合に、かかるフローテーブル情報を更新部10bに転送する。これにより、更新部10bによってフローテーブル10aが更新される。   When the communication unit 10c receives flow table information from the relay control device 100, the communication unit 10c transfers the flow table information to the update unit 10b. Thereby, the flow table 10a is updated by the update part 10b.

また、通信部10cは、NWポート11〜14を介して、他のスイッチや端末からデータを受信した場合に、フローテーブル10aに記憶されている各種情報に基づいて、かかるデータの中継処理を行う。具体的には、通信部10cは、データを受信した場合に、かかるデータの5タプルに対応する「Out Port」をフローテーブル10aから取得し、取得した「Out Port」が示すNWポートに対して、受信データを出力する。   In addition, when the communication unit 10c receives data from another switch or terminal via the NW ports 11 to 14, the communication unit 10c performs relay processing of the data based on various information stored in the flow table 10a. . Specifically, when the communication unit 10c receives data, the communication unit 10c acquires “Out Port” corresponding to the five tuples of the data from the flow table 10a, and the NW port indicated by the acquired “Out Port” , Output the received data.

例えば、フローテーブル10aが、図5に例示した各種情報を記憶するものとする。また、NWポート11によって、送信元MACアドレス「m1」、宛先MACアドレス「m6」、送信元IPアドレス「i1」及び宛先IPアドレス「i6」が設定されているデータが受信されたものとする。かかる場合に、通信部10cは、フローテーブル10aから、In Port「1(NWポート11のポート識別子)」と、Src MAC「m1」と、Dst MAC「m6」と、Src IP「i1」と、Dst IP「i6」に対応するOut Port「4」を取得する。そして、通信部10cは、Out Port「4」が示すNWポート14に、受信データを出力する。このように、通信部10cは、5タプルに基づいて、データの中継処理を行う。   For example, it is assumed that the flow table 10a stores various information illustrated in FIG. Further, it is assumed that data in which the source MAC address “m1”, the destination MAC address “m6”, the source IP address “i1”, and the destination IP address “i6” are set is received by the NW port 11. In such a case, the communication unit 10c, from the flow table 10a, reads In Port “1 (port identifier of the NW port 11)”, Src MAC “m1”, Dst MAC “m6”, Src IP “i1”, Out Port “4” corresponding to Dst IP “i6” is acquired. The communication unit 10c then outputs the received data to the NW port 14 indicated by Out Port “4”. In this way, the communication unit 10c performs data relay processing based on the 5-tuple.

[ネットワークシステムによる処理手順]
次に、図9を用いて、実施例1に係るネットワークシステムN1による中継制御の手順について説明する。図9は、実施例1に係るネットワークシステムN1による中継制御手順を示すシーケンス図である。なお、ここでは、端末M11と端末M16との間で行われる通信に特化した中継制御手順について説明する。また、ここでは、スイッチ10、20及び30は、フローテーブルに情報を保持していないものとする。
[Processing procedure by network system]
Next, the procedure of relay control by the network system N1 according to the first embodiment will be described with reference to FIG. FIG. 9 is a sequence diagram illustrating a relay control procedure by the network system N1 according to the first embodiment. Here, a relay control procedure specialized for communication performed between the terminal M11 and the terminal M16 will be described. Here, it is assumed that the switches 10, 20, and 30 do not hold information in the flow table.

図9に示すように、スイッチ10のNWポート11がリンクアップした場合に、NWポート11と接続されている端末M11は、端末M11のMACアドレス「m1」及びIPアドレス「i1」を含むGratuitous ARPをNWポート11に送信する(ステップS101)。   As illustrated in FIG. 9, when the NW port 11 of the switch 10 is linked up, the terminal M11 connected to the NW port 11 has the Gratuitous ARP including the MAC address “m1” and the IP address “i1” of the terminal M11. Is transmitted to the NW port 11 (step S101).

続いて、スイッチ10は、Gratuitous ARPを受信したNWポート11のポート識別子「1」と、Gratuitous ARPに含まれるMACアドレス「m1」及びIPアドレス「i1」とを中継制御装置100に送信する(ステップS102)。これにより、中継制御装置100は、スイッチ10を示すスイッチ名「SW10」と、NWポート「1(NWポート11のポート識別子)」とに対応する接続情報記憶部110のMACアドレスに「m1」を登録するとともに、IPアドレスに「i1」を登録する。   Subsequently, the switch 10 transmits the port identifier “1” of the NW port 11 that has received the Gratuitous ARP, the MAC address “m1”, and the IP address “i1” included in the Gratuitous ARP to the relay control device 100 (Step S10). S102). Thereby, the relay control device 100 sets “m1” to the MAC address of the connection information storage unit 110 corresponding to the switch name “SW10” indicating the switch 10 and the NW port “1 (port identifier of the NW port 11)”. At the same time, “i1” is registered in the IP address.

同様に、スイッチ30のNWポート31がリンクアップした場合に、端末M16は、端末M16のMACアドレス「m6」及びIPアドレス「i6」を含むGratuitous ARPをNWポート31に送信する(ステップS103)。続いて、スイッチ30は、Gratuitous ARPを受信したNWポート11のポート識別子「1」と、MACアドレス「m6」及びIPアドレス「i6」とを中継制御装置100に送信する(ステップS104)。これにより、中継制御装置100は、MACアドレスに「m6」とIPアドレスに「i6」とを接続情報記憶部110に登録する。   Similarly, when the NW port 31 of the switch 30 is linked up, the terminal M16 transmits the Gratuitous ARP including the MAC address “m6” and the IP address “i6” of the terminal M16 to the NW port 31 (step S103). Subsequently, the switch 30 transmits the port identifier “1” of the NW port 11 that has received the Gratuitous ARP, the MAC address “m6”, and the IP address “i6” to the relay control device 100 (step S104). As a result, the relay control device 100 registers “m6” as the MAC address and “i6” as the IP address in the connection information storage unit 110.

続いて、図9に示した例では、端末M11は、端末M16との間で通信を開始するために、端末M16のIPアドレス「i6」を含むARP要求をスイッチ10のNWポート11に送信する(ステップS105)。この段階では、スイッチ10は、フローテーブル10aに各種情報を保持していないので、IPアドレス「i6」に対応するMACアドレスをフローテーブル10aから取得できない。したがって、スイッチ10は、NWポート11から受信したARP要求をスイッチ20やスイッチ30に転送せずに、ARP要求を受信したNWポートのポート識別子「1」と、ARP要求に含まれる端末のIPアドレス「i6」とを含む探索要求を中継制御装置100に送信する(ステップS106)。   Subsequently, in the example illustrated in FIG. 9, the terminal M11 transmits an ARP request including the IP address “i6” of the terminal M16 to the NW port 11 of the switch 10 in order to start communication with the terminal M16. (Step S105). At this stage, since the switch 10 does not hold various information in the flow table 10a, the MAC address corresponding to the IP address “i6” cannot be acquired from the flow table 10a. Therefore, the switch 10 does not transfer the ARP request received from the NW port 11 to the switch 20 or the switch 30, but the port identifier “1” of the NW port that has received the ARP request and the IP address of the terminal included in the ARP request. A search request including “i6” is transmitted to the relay control apparatus 100 (step S106).

スイッチ10から探索要求を受信した中継制御装置100は、接続情報記憶部110に記憶されている各種情報を用いて、通信経路の探索処理を行う(ステップS107)。そして、中継制御装置100は、探索処理の結果から、スイッチ10用のフローテーブル情報と、スイッチ20用のフローテーブル情報と、スイッチ30用のフローテーブル情報とを生成する。そして、中継制御装置100は、スイッチ10用のフローテーブル情報をスイッチ10に送信することで、スイッチ10のフローテーブル10aにフローテーブル情報を設定する(ステップS108)。同様に、中継制御装置100は、スイッチ20用のフローテーブル情報をスイッチ20に送信することで、スイッチ20のフローテーブル20aにフローテーブル情報を設定し(ステップS109)、スイッチ30用のフローテーブル情報をスイッチ30に送信することで、スイッチ30のフローテーブル30aにフローテーブル情報を設定する(ステップS110)。これにより、スイッチ10、20及び30には、少なくとも端末M11と端末M16との通信を可能にするフローテーブル情報が設定されることになる。   The relay control apparatus 100 that has received the search request from the switch 10 performs a communication path search process using various information stored in the connection information storage unit 110 (step S107). And the relay control apparatus 100 produces | generates the flow table information for switch 10, the flow table information for switch 20, and the flow table information for switch 30 from the result of a search process. Then, the relay control device 100 sets the flow table information in the flow table 10a of the switch 10 by transmitting the flow table information for the switch 10 to the switch 10 (step S108). Similarly, the relay control apparatus 100 sets the flow table information in the flow table 20a of the switch 20 by transmitting the flow table information for the switch 20 to the switch 20 (step S109), and the flow table information for the switch 30. Is sent to the switch 30 to set the flow table information in the flow table 30a of the switch 30 (step S110). As a result, the switch 10, 20, and 30 are set with flow table information that enables communication between at least the terminal M11 and the terminal M16.

そして、中継制御装置100は、ステップS105におけるARP要求に対して、端末M16の代わりにMACアドレスを送信する代理応答(Proxy ARP)を行う(ステップS111)。具体的には、中継制御装置100は、かかるARP要求に含まれるIPアドレス「i6」に対応するMACアドレス「m6」をフローテーブル10aから取得し、取得したMACアドレス「m6」を端末M11に送信する。これにより、端末M11は、通信相手先の端末M16のMACアドレスを取得することができる。   And the relay control apparatus 100 performs the proxy response (Proxy ARP) which transmits a MAC address instead of the terminal M16 with respect to the ARP request | requirement in step S105 (step S111). Specifically, the relay control device 100 acquires the MAC address “m6” corresponding to the IP address “i6” included in the ARP request from the flow table 10a, and transmits the acquired MAC address “m6” to the terminal M11. To do. Thereby, the terminal M11 can acquire the MAC address of the terminal M16 of the communication partner.

その後に、端末M11と端末M16との間で相互通信が行われる(ステップS112)。このとき、スイッチ10、20及び30は、端末M11と端末M16との間で送受信されるデータに含まれる5タプルに基づいて、データの中継先を決定する。   Thereafter, mutual communication is performed between the terminal M11 and the terminal M16 (step S112). At this time, the switches 10, 20 and 30 determine the data relay destination based on the 5-tuple included in the data transmitted / received between the terminal M11 and the terminal M16.

[実施例1の効果]
上述してきたように、実施例1に係るネットワークシステムN1において、各スイッチは、他のスイッチ又は端末からデータが入力される入力ポートのポート識別子と、かかるデータの送信元である送信元端末のMACアドレス及びIPアドレスと、かかるデータの宛先となる宛先端末のMACアドレス及びIPアドレスと、かかるデータを出力する出力ポートのポート識別子とが登録されたフローテーブルを有する。また、各スイッチは、他のスイッチ又は端末から所定の入力ポートにデータが入力された場合に、かかる所定の入力ポートのポート識別子と、かかる所定の入力ポートに入力された入力データの送信元端末のMACアドレス及びIPアドレスと、かかる入力データの宛先端末のMACアドレス及びIPアドレスとに対応付けてフローテーブルに登録されている出力ポートのポート識別子を取得し、取得したポート識別子が示す出力ポートから入力データを送信する。すなわち、実施例1に係るネットワークシステムN1において、各スイッチは、5タプルに基づいて、データの中継処理を行う。
[Effect of Example 1]
As described above, in the network system N1 according to the first embodiment, each switch has a port identifier of an input port to which data is input from another switch or terminal, and a MAC of a transmission source terminal that is a transmission source of such data. It has a flow table in which an address and an IP address, a MAC address and an IP address of a destination terminal that is a destination of the data, and a port identifier of an output port that outputs the data are registered. Each switch has a port identifier of the predetermined input port and a transmission source terminal of the input data input to the predetermined input port when data is input to the predetermined input port from another switch or terminal. The port identifier of the output port registered in the flow table in association with the MAC address and IP address of the destination terminal of the input data and the output port indicated by the acquired port identifier. Send input data. That is, in the network system N1 according to the first embodiment, each switch performs data relay processing based on five tuples.

これにより、実施例1における各スイッチは、端末間で送受されるデータを特定の経路に限定することができ、この結果、仮想的なネットワークであるグループ内でデータの中継処理を行うことができる。また、実施例1における各スイッチは、VLAN等の技術を用いないので、VLANタグを付与する処理や、グループ化のためのカプセリングを行うことなく、グループ内でデータの中継処理を低負荷で行うことができる。また、VLANが適用されるネットワークシステムでは、VLAN−ID数の上限が定められているため、VLAN−IDが枯渇するおそれがあるが、実施例1における各スイッチは、VLAN−IDを用いないので、グループ数が制限されない。   As a result, each switch in the first embodiment can limit data transmitted and received between terminals to a specific route, and as a result, can perform data relay processing within a group that is a virtual network. . In addition, since each switch in the first embodiment does not use a technique such as VLAN, data relay processing within a group is performed with a low load without performing processing for assigning a VLAN tag or encapsulation for grouping. be able to. Further, in a network system to which VLAN is applied, there is a risk that the VLAN-ID will be exhausted because the upper limit of the number of VLAN-IDs is set. However, each switch in the first embodiment does not use VLAN-ID. The number of groups is not limited.

一例を挙げて説明すると、例えば、ネットワークシステムN1に仮想的な端末である仮想マシン(VM:Virtual Machine)が含まれる場合、複数の仮想マシンに、同一のMACアドレスが設定される場合がある。これは、仮想LANカードによって仮想マシンのMACアドレスが定義されるためである。従来のスイッチは、このような複数の仮想マシンに重複して定義されたMACアドレスが設定されたデータを受信した際に、かかるデータを複数のスイッチに中継する場合があるので、端末間で送受されるデータを特定の経路に限定することができない。一方で、実施例1における各スイッチは、上記の通り、5タプルに基づいてデータの中継処理を行うので、端末間で送受されるデータを特定の経路に限定することができる。   For example, when a virtual machine (VM) that is a virtual terminal is included in the network system N1, for example, the same MAC address may be set in a plurality of virtual machines. This is because the MAC address of the virtual machine is defined by the virtual LAN card. When a conventional switch receives data in which MAC addresses defined redundantly in a plurality of virtual machines are set, the data may be relayed to a plurality of switches. Data to be used cannot be limited to a specific route. On the other hand, since each switch in the first embodiment performs data relay processing based on five tuples as described above, data transmitted and received between terminals can be limited to a specific route.

また、実施例1に係るネットワークシステムN1において、各スイッチは、通信相手先端末のMACアドレスを取得するためのARP要求であって、かかる通信相手先端末のIPアドレスを含むARP要求を受信した場合に、かかる通信相手先端末のMACアドレスを保持していない場合には、ARP要求を受信したポートのポート識別子と、ARP要求に含まれるIPアドレスとを含む探索要求を中継制御装置100に通知する。   Further, in the network system N1 according to the first embodiment, each switch receives an ARP request for obtaining the MAC address of the communication partner terminal and includes the IP address of the communication partner terminal. In addition, when the MAC address of the communication partner terminal is not held, the relay control apparatus 100 is notified of a search request including the port identifier of the port that has received the ARP request and the IP address included in the ARP request. .

これにより、実施例1に係るネットワークシステムN1は、NWポートのリンクアップ時に端末からARP要求を受信した場合に、かかるARP要求をネットワークシステムN1内の全端末に送信することを防止でき、この結果、同一のグループに属さない端末間におけるデータの送受信を防止することができる。すなわち、ネットワークシステムN1は、NWポートのリンクアップ時においても、グループ内でデータの中継処理を行うことができる。   Thereby, the network system N1 according to the first embodiment can prevent the ARP request from being transmitted to all the terminals in the network system N1 when the ARP request is received from the terminal at the time of the link up of the NW port. Data transmission / reception between terminals that do not belong to the same group can be prevented. That is, the network system N1 can perform data relay processing within the group even when the NW port is linked up.

また、実施例1における中継制御装置100は、各スイッチが有するポートのポート識別子毎に、かかるポートが属するグループのグループ識別子と、かかるポートと接続される端末のMACアドレス及びIPアドレス、又は、かかるポートと接続される他のスイッチのMACアドレスとを記憶する接続情報記憶部110を保持する。そして、中継制御装置100は、所定のスイッチから、端末間における通信経路の探索要求を受け付けた場合に、双方の端末が接続されるポートが属するグループに属し、かつ、かかる端末間における通信の経路となるポートのポート識別子を接続情報記憶部110から探索する。そして、中継制御装置100は、探索したポート識別子が示すポートを有するスイッチに対して、かかるポート識別子と双方の端末のMACアドレス及びIPアドレスとを含む経路情報を送信することで、スイッチのフローテーブルを更新する。   In addition, the relay control device 100 according to the first embodiment has, for each port identifier of a port included in each switch, a group identifier of a group to which the port belongs and a MAC address and an IP address of a terminal connected to the port, or A connection information storage unit 110 that stores MAC addresses of other switches connected to the port is held. When the relay control apparatus 100 receives a request for searching for a communication path between terminals from a predetermined switch, the relay control apparatus 100 belongs to a group to which the port to which both terminals are connected belongs, and the communication path between the terminals. The connection information storage unit 110 is searched for the port identifier of the port to be. Then, the relay control device 100 transmits the route information including the port identifier and the MAC address and the IP address of both terminals to the switch having the port indicated by the searched port identifier, so that the flow table of the switch Update.

これにより、実施例1における中継制御装置100は、各スイッチによる5タプルに基づく中継処理を実現するためのフローテーブルを生成することができる。すなわち、実施例1に係るネットワークシステムN1においては、ネットワーク管理者は、各スイッチの各NWポートが属するグループに関するグループ情報を中継制御装置100に登録するだけで、ネットワークシステムN1内に所望のグループを形成することができる。   Thereby, the relay control apparatus 100 according to the first embodiment can generate a flow table for realizing relay processing based on a 5-tuple by each switch. That is, in the network system N1 according to the first embodiment, the network administrator simply registers the group information regarding the group to which each NW port of each switch belongs in the relay control device 100, and then creates a desired group in the network system N1. Can be formed.

ところで、本発明は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例2では、本発明の他の実施例について説明する。   By the way, this invention may be implemented with a various different form other than the Example mentioned above. Therefore, in the second embodiment, another embodiment of the present invention will be described.

[システム構成]
上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、図4〜図7等に例示した各種情報は、あくまで一例であって任意の情報に変更することができる。
[System configuration]
Of the processes described in the above embodiment, all or part of the processes described as being automatically performed can be performed manually, or all or all of the processes described as being performed manually can be performed. A part can be automatically performed by a known method. In addition, the processing procedures, specific names, and information including various data and parameters shown in the document and drawings can be arbitrarily changed unless otherwise specified. For example, the various information illustrated in FIGS. 4 to 7 and the like is merely an example and can be changed to arbitrary information.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図8に示した通信部10cは、端末からARP要求を受信した際に経路探索要求を中継制御装置100に通知する通知部と、端末や他のスイッチからNWポート11にデータが入力された場合に、入力データに設定されている5タプルに対応する出力ポートのポート識別子をフローテーブル10aから取得する取得部と、かかる取得部によって取得されたポート識別子が示す出力ポートから入力データを送信する送信部とに分散されてもよい。   Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. For example, in the communication unit 10c illustrated in FIG. 8, data is input to the NW port 11 from a notification unit that notifies the relay control device 100 of a route search request when an ARP request is received from the terminal, and from a terminal or another switch. The acquisition unit acquires the port identifier of the output port corresponding to the 5-tuple set in the input data from the flow table 10a, and transmits the input data from the output port indicated by the port identifier acquired by the acquisition unit May be distributed to the transmitting unit.

[プログラム]
また、上記実施例において説明した中継制御装置100が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施例1における中継制御装置100が実行する処理をコンピュータが実行可能な言語で記述した中継制御プログラムを作成することもできる。この場合、コンピュータが中継制御プログラムを実行することにより、上記実施例と同様の効果を得ることができる。さらに、かかる中継制御プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された中継制御プログラムをコンピュータに読み込ませて実行することにより上記実施例と同様の処理を実現してもよい。以下に、図3に示した中継制御装置100と同様の機能を実現する中継制御プログラムを実行するコンピュータの一例を説明する。
[program]
It is also possible to create a program in which the processing executed by the relay control device 100 described in the above embodiment is described in a language that can be executed by a computer. For example, it is possible to create a relay control program in which processing executed by the relay control apparatus 100 according to the first embodiment is described in a language that can be executed by a computer. In this case, when the computer executes the relay control program, the same effect as in the above embodiment can be obtained. Further, the relay control program is recorded on a computer-readable recording medium, and the relay control program recorded on the recording medium is read by the computer and executed, so that the same processing as in the above embodiment can be realized. Good. Hereinafter, an example of a computer that executes a relay control program that realizes the same function as that of the relay control apparatus 100 illustrated in FIG. 3 will be described.

図10は、中継制御プログラムを実行するコンピュータ1000を示す図である。図10に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。   FIG. 10 is a diagram illustrating a computer 1000 that executes a relay control program. As illustrated in FIG. 10, the computer 1000 includes, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.

メモリ1010は、図10に例示するように、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図10に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図10に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース1050は、図10に例示するように、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、図10に例示するように、例えばディスプレイ1061に接続される。   As illustrated in FIG. 10, the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012. The ROM 1011 stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1031 as illustrated in FIG. The disk drive interface 1040 is connected to the disk drive 1041 as illustrated in FIG. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive. The serial port interface 1050 is connected to, for example, a mouse 1051 and a keyboard 1052 as illustrated in FIG. The video adapter 1060 is connected to a display 1061, for example, as illustrated in FIG.

ここで、図10に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の中継制御プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。例えば、図3に例示した登録部121と同様の情報処理を実行する登録手順と、図3に例示した受付部122と同様の情報処理を実行する受付手順と、図3に例示した経路探索部123と同様の情報処理を実行する経路探索手順と、図3に例示した更新部124と同様の情報処理を実行する更新手順とが記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。   Here, as illustrated in FIG. 10, the hard disk drive 1031 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the relay control program is stored in, for example, the hard disk drive 1031 as a program module in which a command executed by the computer 1000 is described. For example, a registration procedure for executing information processing similar to that of the registration unit 121 illustrated in FIG. 3, a reception procedure for executing information processing similar to that of the reception unit 122 illustrated in FIG. 3, and a route search unit illustrated in FIG. The hard disk drive 1031 stores a program module 1093 in which a route search procedure for executing the same information processing as 123 and an update procedure for executing the same information processing as the updating unit 124 illustrated in FIG.

また、上記実施例で説明した中継制御装置100が保持する各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、登録手順、受付手順、経路探索手順、更新手順を実行する。   Various data held by the relay control device 100 described in the above embodiment is stored as program data in, for example, the memory 1010 or the hard disk drive 1031. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1031 to the RAM 1012 as necessary, and executes a registration procedure, a reception procedure, a route search procedure, and an update procedure.

なお、中継制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、中継制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。   Note that the program module 1093 and the program data 1094 related to the relay control program are not limited to being stored in the hard disk drive 1031, but are stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive or the like. Also good. Alternatively, the program module 1093 and the program data 1094 related to the relay control program are stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.), and the network interface 1070 is stored. Via the CPU 1020.

N1 ネットワークシステム
10、20、30 スイッチ
10a フローテーブル
10b 更新部
10c 通信部
11〜14、21〜24、31〜33 NWポート
100 中継制御装置
110 接続情報記憶部
121 登録部
122 受付部
123 経路探索部
124 更新部
N1 network system 10, 20, 30 switch 10a flow table 10b update unit 10c communication unit 11-14, 21-24, 31-33 NW port 100 relay control device 110 connection information storage unit 121 registration unit 122 reception unit 123 route search unit 124 Update unit

Claims (5)

データを中継する複数のスイッチと、前記複数のスイッチを制御する中継制御装置とを含むネットワークシステムであって、
前記スイッチは、
他のスイッチ又は端末と接続される複数のポートと、
他のスイッチ又は端末からデータが入力されるポートである入力ポートを識別するためのポート識別子と、該データの送信元である送信元端末のMACアドレス及びIPアドレスと、該データの宛先となる宛先端末のMACアドレス及びIPアドレスと、該データを出力するポートである出力ポートのポート識別子とが登録されたフローテーブルと、
他のスイッチ又は端末から所定の入力ポートにデータが入力された場合に、該所定の入力ポートのポート識別子と、該所定の入力ポートに入力された入力データの送信元端末のMACアドレス及びIPアドレスと、該入力データの宛先端末のMACアドレス及びIPアドレスとに対応付けて前記フローテーブルに登録されている出力ポートのポート識別子を取得する取得部と、
前記取得部によって取得されたポート識別子が示す出力ポートから前記入力データを送信する送信部と
所定の端末の通信相手先となる通信相手先端末のMACアドレスを取得するための取得要求であって、該通信相手先端末のIPアドレスを含む取得要求を前記所定の端末から受信した場合に、該取得要求を受信したポートのポート識別子と、該取得要求に含まれるIPアドレスとを前記中継制御装置に通知し、該取得要求に対する応答として、前記中継制御装置から送信された経路情報に含まれる前記通信相手先端末のMACアドレスを前記所定の端末へ送信する通知部と
を備え、
前記中継制御装置は、
前記複数のスイッチが有するポートを識別するためのポート識別子毎に、該ポートが属する仮想ネットワークを識別するためのグループ識別子と、該ポートと接続される端末のMACアドレス及びIPアドレス、又は、該ポートと接続される他のスイッチのMACアドレスとを記憶する接続情報記憶部と、
前記通知部によって通知された前記ポート識別子及び前記通信相手先端末のIPアドレスを受け付ける受付部と、
前記受付部によって受け付けられたポート識別子及び前記通信相手先端末のIPアドレスを用いて、前記所定の端末が接続されるポート及び前記通信相手先端末が接続されるポートが属する仮想ネットワークに属し、かつ、前記所定の端末と前記通信相手先端末とが通信を行う際の経路となるポートのポート識別子を前記接続情報記憶部から探索する経路探索部と、
前記経路探索部によって探索されたポート識別子が示すポートを有するスイッチに対して、該ポート識別子と前記端末及び前記通信相手先端末のMACアドレス及びIPアドレスとを含む経路情報を送信することで、該スイッチのフローテーブルを更新する更新部と
を備えたことを特徴とするネットワークシステム。
A network system including a plurality of switches that relay data, and a relay control device that controls the plurality of switches ,
The switch is
A plurality of ports connected to other switches or terminals;
A port identifier for identifying an input port that is a port to which data is input from another switch or terminal, a MAC address and an IP address of a transmission source terminal that is the transmission source of the data, and a destination that is a destination of the data A flow table in which a MAC address and an IP address of a terminal and a port identifier of an output port which is a port for outputting the data are registered;
When data is input to a predetermined input port from another switch or terminal, the port identifier of the predetermined input port, and the MAC address and IP address of the transmission source terminal of the input data input to the predetermined input port An acquisition unit that acquires the port identifier of the output port registered in the flow table in association with the MAC address and IP address of the destination terminal of the input data;
A transmission unit that transmits the input data from the output port indicated by the port identifier acquired by the acquisition unit ;
An acquisition request for acquiring a MAC address of a communication partner terminal that is a communication partner of a predetermined terminal, when an acquisition request including the IP address of the communication partner terminal is received from the predetermined terminal, The relay control device is notified of the port identifier of the port that has received the acquisition request and the IP address included in the acquisition request, and is included in the route information transmitted from the relay control device as a response to the acquisition request. A notification unit for transmitting the MAC address of the communication partner terminal to the predetermined terminal;
With
The relay control device
For each port identifier for identifying a port of the plurality of switches, a group identifier for identifying a virtual network to which the port belongs, and a MAC address and an IP address of a terminal connected to the port, or the port A connection information storage unit for storing MAC addresses of other switches connected to
A reception unit that receives the port identifier and the IP address of the communication partner terminal notified by the notification unit;
Using the port identifier received by the receiving unit and the IP address of the communication partner terminal, belonging to the virtual network to which the port to which the predetermined terminal is connected and the port to which the communication partner terminal is connected; A route search unit that searches the connection information storage unit for a port identifier of a port that becomes a route when the predetermined terminal and the communication partner terminal communicate with each other;
By transmitting route information including the port identifier and the MAC address and IP address of the terminal and the communication partner terminal to the switch having the port indicated by the port identifier searched by the route search unit, A network system comprising: an updating unit that updates a flow table of a switch .
データを中継する複数のスイッチを制御する中継制御装置であって、
前記スイッチは、
他のスイッチ又は端末と接続される複数のポートと、
他のスイッチ又は端末からデータが入力されるポートである入力ポートを識別するためのポート識別子と、該データの送信元である送信元端末のMACアドレス及びIPアドレスと、該データの宛先となる宛先端末のMACアドレス及びIPアドレスと、該データを出力するポートである出力ポートのポート識別子とが登録されたフローテーブルと、
他のスイッチ又は端末から所定の入力ポートにデータが入力された場合に、該所定の入力ポートのポート識別子と、該所定の入力ポートに入力された入力データの送信元端末のMACアドレス及びIPアドレスと、該入力データの宛先端末のMACアドレス及びIPアドレスとに対応付けて前記フローテーブルに登録されている出力ポートのポート識別子を取得する取得部と、
前記取得部によって取得されたポート識別子が示す出力ポートから前記入力データを送信する送信部と
所定の端末の通信相手先となる通信相手先端末のMACアドレスを取得するための取得要求であって、該通信相手先端末のIPアドレスを含む取得要求を前記所定の端末から受信した場合に、該取得要求を受信したポートのポート識別子と、該取得要求に含まれるIPアドレスとを前記中継制御装置に通知し、該取得要求に対する応答として、前記中継制御装置から送信された経路情報に含まれる前記通信相手先端末のMACアドレスを前記所定の端末へ送信する通知部と
を備え、
前記中継制御装置は、
前記複数のスイッチが有するポートを識別するためのポート識別子毎に、該ポートが属する仮想ネットワークを識別するためのグループ識別子と、該ポートと接続される端末のMACアドレス及びIPアドレス、又は、該ポートと接続される他のスイッチのMACアドレスとを記憶する接続情報記憶部と、
所定のスイッチから、端末と接続されている該所定のスイッチのポートを示すポート識別子と、該端末の通信相手先端末のIPアドレスとを受け付ける受付部と、
前記受付部によって受け付けられたポート識別子及び前記通信相手先端末のIPアドレスを用いて、前記端末が接続されるポート及び前記通信相手先端末が接続されるポートが属する仮想ネットワークに属し、かつ、前記端末と前記通信相手先端末とが通信を行う際の経路となるポートのポート識別子を前記接続情報記憶部から探索する経路探索部と、
前記経路探索部によって探索されたポート識別子が示すポートを有するスイッチに対して、該ポート識別子と前記端末及び前記通信相手先端末のMACアドレス及びIPアドレスとを含む経路情報を送信することで、該スイッチのフローテーブルを更新する更新部と
を備えたことを特徴とする中継制御装置。
A relay control device that controls a plurality of switches that relay data,
The switch is
A plurality of ports connected to other switches or terminals;
A port identifier for identifying an input port that is a port to which data is input from another switch or terminal, a MAC address and an IP address of a transmission source terminal that is the transmission source of the data, and a destination that is a destination of the data A flow table in which a MAC address and an IP address of a terminal and a port identifier of an output port which is a port for outputting the data are registered;
When data is input to a predetermined input port from another switch or terminal, the port identifier of the predetermined input port, and the MAC address and IP address of the transmission source terminal of the input data input to the predetermined input port An acquisition unit that acquires the port identifier of the output port registered in the flow table in association with the MAC address and IP address of the destination terminal of the input data;
A transmission unit that transmits the input data from the output port indicated by the port identifier acquired by the acquisition unit ;
An acquisition request for acquiring a MAC address of a communication partner terminal that is a communication partner of a predetermined terminal, when an acquisition request including the IP address of the communication partner terminal is received from the predetermined terminal, The relay control device is notified of the port identifier of the port that has received the acquisition request and the IP address included in the acquisition request, and is included in the route information transmitted from the relay control device as a response to the acquisition request. A notification unit that transmits the MAC address of the communication partner terminal to the predetermined terminal ;
The relay control device
For each port identifier for identifying a port of the plurality of switches, a group identifier for identifying a virtual network to which the port belongs, and a MAC address and an IP address of a terminal connected to the port, or the port A connection information storage unit for storing MAC addresses of other switches connected to
A receiving unit that receives, from a predetermined switch, a port identifier indicating a port of the predetermined switch connected to the terminal, and an IP address of a communication partner terminal of the terminal;
Using the port identifier received by the receiving unit and the IP address of the communication partner terminal, belonging to the virtual network to which the port connected to the terminal and the port connected to the communication partner terminal belong, and A route search unit that searches the connection information storage unit for a port identifier of a port that becomes a route when the terminal and the communication partner terminal communicate with each other;
By transmitting route information including the port identifier and the MAC address and IP address of the terminal and the communication partner terminal to the switch having the port indicated by the port identifier searched by the route search unit, A relay control device comprising: an update unit that updates a flow table of a switch.
データを中継する複数のスイッチと、前記複数のスイッチを制御する中継制御装置とを含むネットワークシステムで実行される中継制御方法であって、
前記スイッチは、
他のスイッチ又は端末と接続される複数のポートと、
他のスイッチ又は端末からデータが入力されるポートである入力ポートを識別するためのポート識別子と、該データの送信元である送信元端末のMACアドレス及びIPアドレスと、該データの宛先となる宛先端末のMACアドレス及びIPアドレスと、該データを出力するポートである出力ポートのポート識別子とが登録されたフローテーブルとを備え、
他のスイッチ又は端末から所定の入力ポートにデータが入力された場合に、該所定の入力ポートのポート識別子と、該所定の入力ポートに入力された入力データの送信元端末のMACアドレス及びIPアドレスと、該入力データの宛先端末のMACアドレス及びIPアドレスとに対応付けて前記フローテーブルに登録されている出力ポートのポート識別子を取得する取得工程と、
前記取得工程によって取得されたポート識別子が示す出力ポートから前記入力データを送信する送信工程と
所定の端末の通信相手先となる通信相手先端末のMACアドレスを取得するための取得要求であって、該通信相手先端末のIPアドレスを含む取得要求を前記所定の端末から受信した場合に、該取得要求を受信したポートのポート識別子と、該取得要求に含まれるIPアドレスとを前記中継制御装置に通知し、該取得要求に対する応答として、前記中継制御装置から送信された経路情報に含まれる前記通信相手先端末のMACアドレスを前記所定の端末へ送信する通知工程と
を含み、
前記中継制御装置は、
前記複数のスイッチが有するポートを識別するためのポート識別子毎に、該ポートが属する仮想ネットワークを識別するためのグループ識別子と、該ポートと接続される端末のMACアドレス及びIPアドレス、又は、該ポートと接続される他のスイッチのMACアドレスとを記憶する接続情報部を備え、
前記通知工程によって通知された前記ポート識別子及び前記通信相手先端末のIPアドレスを受け付ける受付工程と、
前記受付工程によって受け付けられたポート識別子及び前記通信相手先端末のIPアドレスを用いて、前記所定の端末が接続されるポート及び前記通信相手先端末が接続されるポートが属する仮想ネットワークに属し、かつ、前記所定の端末と前記通信相手先端末とが通信を行う際の経路となるポートのポート識別子を前記接続情報記憶部から探索する経路探索工程と、
前記経路探索工程によって探索されたポート識別子が示すポートを有するスイッチに対して、該ポート識別子と前記端末及び前記通信相手先端末のMACアドレス及びIPアドレスとを含む経路情報を送信することで、該スイッチのフローテーブルを更新する更新工程と
含んだことを特徴とする中継制御方法。
A relay control method executed in a network system including a plurality of switches that relay data and a relay control device that controls the plurality of switches ,
The switch is
A plurality of ports connected to other switches or terminals;
A port identifier for identifying an input port that is a port to which data is input from another switch or terminal, a MAC address and an IP address of a transmission source terminal that is the transmission source of the data, and a destination that is a destination of the data A flow table in which a MAC address and an IP address of a terminal and a port identifier of an output port which is a port for outputting the data are registered;
When data is input to a predetermined input port from another switch or terminal, the port identifier of the predetermined input port, and the MAC address and IP address of the transmission source terminal of the input data input to the predetermined input port An acquisition step of acquiring a port identifier of an output port registered in the flow table in association with a MAC address and an IP address of a destination terminal of the input data;
A transmission step of transmitting the input data from an output port indicated by the port identifier acquired by the acquisition step ;
An acquisition request for acquiring a MAC address of a communication partner terminal that is a communication partner of a predetermined terminal, when an acquisition request including the IP address of the communication partner terminal is received from the predetermined terminal, The relay control device is notified of the port identifier of the port that has received the acquisition request and the IP address included in the acquisition request, and is included in the route information transmitted from the relay control device as a response to the acquisition request. A notification step of transmitting the MAC address of the communication partner terminal to the predetermined terminal;
Including
The relay control device
For each port identifier for identifying a port of the plurality of switches, a group identifier for identifying a virtual network to which the port belongs, and a MAC address and an IP address of a terminal connected to the port, or the port And a connection information section for storing MAC addresses of other switches connected to the
Accepting the port identifier notified by the notification step and the IP address of the communication partner terminal;
Belongs to the virtual network to which the port to which the predetermined terminal is connected and the port to which the communication partner terminal is connected, using the port identifier received by the receiving step and the IP address of the communication partner terminal; and A route search step of searching the connection information storage unit for a port identifier of a port that becomes a route when the predetermined terminal and the communication partner terminal perform communication;
By transmitting route information including the port identifier and the MAC address and IP address of the terminal and the communication partner terminal to the switch having the port indicated by the port identifier searched by the route search step, A relay control method comprising: an update step of updating a flow table of the switch .
データを中継する複数のスイッチを制御する中継制御装置で実行される中継制御方法であって、
前記スイッチは、
他のスイッチ又は端末と接続される複数のポートと、
他のスイッチ又は端末からデータが入力されるポートである入力ポートを識別するためのポート識別子と、該データの送信元である送信元端末のMACアドレス及びIPアドレスと、該データの宛先となる宛先端末のMACアドレス及びIPアドレスと、該データを出力するポートである出力ポートのポート識別子とが登録されたフローテーブルと、
他のスイッチ又は端末から所定の入力ポートにデータが入力された場合に、該所定の入力ポートのポート識別子と、該所定の入力ポートに入力された入力データの送信元端末のMACアドレス及びIPアドレスと、該入力データの宛先端末のMACアドレス及びIPアドレスとに対応付けて前記フローテーブルに登録されている出力ポートのポート識別子を取得する取得部と、
前記取得部によって取得されたポート識別子が示す出力ポートから前記入力データを送信する送信部と、
所定の端末の通信相手先となる通信相手先端末のMACアドレスを取得するための取得要求であって、該通信相手先端末のIPアドレスを含む取得要求を前記所定の端末から受信した場合に、該取得要求を受信したポートのポート識別子と、該取得要求に含まれるIPアドレスとを前記中継制御装置に通知し、該取得要求に対する応答として、前記中継制御装置から送信された経路情報に含まれる前記通信相手先端末のMACアドレスを前記所定の端末へ送信する通知部と
を備え、
前記中継制御装置は、
前記複数のスイッチが有するポートを識別するためのポート識別子毎に、該ポートが属する仮想ネットワークを識別するためのグループ識別子と、該ポートと接続される端末のMACアドレス及びIPアドレス、又は、該ポートと接続される他のスイッチのMACアドレスとを記憶する接続情報記憶部を備え、
所定のスイッチから、端末と接続されている該所定のスイッチのポートを示すポート識別子と、該端末の通信相手先端末のIPアドレスとを受け付ける受付工程と、
前記受付工程によって受け付けられたポート識別子及び前記通信相手先端末のIPアドレスを用いて、前記端末が接続されるポート及び前記通信相手先端末が接続されるポートが属する仮想ネットワークに属し、かつ、前記端末と前記通信相手先端末とが通信を行う際の経路となるポートのポート識別子を前記接続情報記憶部から探索する経路探索工程と、
前記経路探索工程によって探索されたポート識別子が示すポートを有するスイッチに対して、該ポート識別子と前記端末及び前記通信相手先端末のMACアドレス及びIPアドレスとを含む経路情報を送信することで、該スイッチのフローテーブルを更新する更新工程と
を含んだことを特徴とする中継制御方法。
A relay control method executed by a relay control device that controls a plurality of switches that relay data,
The switch is
A plurality of ports connected to other switches or terminals;
A port identifier for identifying an input port that is a port to which data is input from another switch or terminal, a MAC address and an IP address of a transmission source terminal that is the transmission source of the data, and a destination that is a destination of the data A flow table in which a MAC address and an IP address of a terminal and a port identifier of an output port which is a port for outputting the data are registered;
When data is input to a predetermined input port from another switch or terminal, the port identifier of the predetermined input port, and the MAC address and IP address of the transmission source terminal of the input data input to the predetermined input port An acquisition unit that acquires the port identifier of the output port registered in the flow table in association with the MAC address and IP address of the destination terminal of the input data ;
A transmission unit that transmits the input data from the output port indicated by the port identifier acquired by the acquisition unit;
An acquisition request for acquiring a MAC address of a communication partner terminal that is a communication partner of a predetermined terminal, when an acquisition request including the IP address of the communication partner terminal is received from the predetermined terminal, The relay control device is notified of the port identifier of the port that has received the acquisition request and the IP address included in the acquisition request, and is included in the route information transmitted from the relay control device as a response to the acquisition request. A notification unit that transmits the MAC address of the communication partner terminal to the predetermined terminal ;
The relay control device
For each port identifier for identifying a port of the plurality of switches, a group identifier for identifying a virtual network to which the port belongs, and a MAC address and an IP address of a terminal connected to the port, or the port A connection information storage unit for storing the MAC address of other switches connected to
A receiving step of receiving a port identifier indicating a port of the predetermined switch connected to the terminal and an IP address of a communication partner terminal of the terminal from a predetermined switch;
Using the port identifier received by the receiving step and the IP address of the communication partner terminal, the port to which the terminal is connected and the virtual network to which the port to which the communication partner terminal is connected belong, and A route search step of searching from the connection information storage unit for a port identifier of a port to be a route when communication is performed between the terminal and the communication partner terminal;
By transmitting route information including the port identifier and the MAC address and IP address of the terminal and the communication partner terminal to the switch having the port indicated by the port identifier searched by the route search step, An update process for updating a flow table of a switch.
コンピュータを請求項に記載の中継制御装置として機能させるための中継制御プログラム。 A relay control program for causing a computer to function as the relay control device according to claim 2 .
JP2011132177A 2011-06-14 2011-06-14 Network system, relay control device, relay control method, and relay control program Expired - Fee Related JP5566952B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011132177A JP5566952B2 (en) 2011-06-14 2011-06-14 Network system, relay control device, relay control method, and relay control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011132177A JP5566952B2 (en) 2011-06-14 2011-06-14 Network system, relay control device, relay control method, and relay control program

Publications (2)

Publication Number Publication Date
JP2013005087A JP2013005087A (en) 2013-01-07
JP5566952B2 true JP5566952B2 (en) 2014-08-06

Family

ID=47673221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011132177A Expired - Fee Related JP5566952B2 (en) 2011-06-14 2011-06-14 Network system, relay control device, relay control method, and relay control program

Country Status (1)

Country Link
JP (1) JP5566952B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6036986B2 (en) * 2013-03-11 2016-11-30 日本電気株式会社 Control message relay device, control message relay method and program
WO2014157241A1 (en) * 2013-03-26 2014-10-02 日本電気株式会社 Control apparatus, communication system, control information transmission method and program
CN105556506B (en) * 2013-10-25 2018-08-28 英特尔公司 Device and method for capturing and generating user experience
JP6357335B2 (en) * 2014-03-31 2018-07-11 株式会社エヌ・ティ・ティ・データ Network control apparatus, network system, network system control method, and program
JP6335584B2 (en) * 2014-03-31 2018-05-30 株式会社エヌ・ティ・ティ・データ Network control device, network control method, and program
JP6525256B2 (en) * 2015-05-29 2019-06-05 Necプラットフォームズ株式会社 Virtual network system and virtual network route setting method
JP2020072427A (en) * 2018-11-01 2020-05-07 日本電気株式会社 Controller, control method, system and program, capable of preventing infection of threat to network
JP2019092233A (en) * 2019-03-26 2019-06-13 Necプラットフォームズ株式会社 Virtual network system and virtual network routing method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2011049135A1 (en) * 2009-10-23 2013-03-14 日本電気株式会社 Network system, control method therefor, and controller

Also Published As

Publication number Publication date
JP2013005087A (en) 2013-01-07

Similar Documents

Publication Publication Date Title
JP5566952B2 (en) Network system, relay control device, relay control method, and relay control program
CN105376114B (en) The identifying system and method for wireless terminal type under router bridge mode
CN101090324B (en) Network system and server
CN107733670B (en) Forwarding strategy configuration method and device
CN101809943B (en) Method and system for virtual port communications
CN102938794B (en) ARP message forwarding method, switch and controller
US7826462B2 (en) Address assignment apparatus, address assignment method, and computer product
US20120294192A1 (en) Method and apparatus of connectivity discovery between network switch and server based on vlan identifiers
US20050111455A1 (en) VLAN server
EP3053304B1 (en) Data network management
CN107070691A (en) Docker containers across host communication method and system
KR20170009927A (en) Method, device, and system for configuring flow entries
CN105812259A (en) Packet forwarding method and device
WO2013012878A1 (en) Distributing network identifiers using a hash function
US10382391B2 (en) Systems and methods for managing network address information
CN101729425A (en) Method and equipment for flow sending in VRRP networking
JP6378121B2 (en) Gateway apparatus and communication method
CN106209680A (en) Information processor and method
US11523443B2 (en) Extraction, conversion, and transmission of user packet from encapsulated packet
JP2011039681A (en) Relay device, information processing method related to transfer rule, and program
JP2007272340A (en) Network device management method and device
JP2007251622A (en) Server device and communication system
CN106230983A (en) A kind of control device and method
CN112235158B (en) Flow mirroring method and device, virtual machine platform and storage medium
US10334023B2 (en) Content distribution method, system and server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140528

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140618

R150 Certificate of patent or registration of utility model

Ref document number: 5566952

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees