JP6162831B2 - Packet communication system, SDN control device, packet communication method, and program - Google Patents

Packet communication system, SDN control device, packet communication method, and program Download PDF

Info

Publication number
JP6162831B2
JP6162831B2 JP2016001392A JP2016001392A JP6162831B2 JP 6162831 B2 JP6162831 B2 JP 6162831B2 JP 2016001392 A JP2016001392 A JP 2016001392A JP 2016001392 A JP2016001392 A JP 2016001392A JP 6162831 B2 JP6162831 B2 JP 6162831B2
Authority
JP
Japan
Prior art keywords
sdn
host
packet
switch
sdn switch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016001392A
Other languages
Japanese (ja)
Other versions
JP2017123557A (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 JP2016001392A priority Critical patent/JP6162831B2/en
Application granted granted Critical
Publication of JP6162831B2 publication Critical patent/JP6162831B2/en
Publication of JP2017123557A publication Critical patent/JP2017123557A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、動的にホスト間の接続設定や接続変更を行うことを可能とする技術に関連するものである。   The present invention relates to a technique that enables dynamic connection setting and connection change between hosts.

Service Oriented Architecture(SOA)やMicroservice Architecture(MSA)の構成を取る処理システムにおいては、単機能なアプリケーション同士がIPネットワーク上で順列に接続され全体の処理が実行される。   In a processing system having a Service Oriented Architecture (SOA) or Microservice Architecture (MSA) configuration, single-function applications are connected in a permutation on an IP network and the entire processing is executed.

近年の仮想化サービスの普及により、単機能なアプリケーションは仮想化された計算機リソースであるVirtual Machine(VM)上で実行される。特に、多くの計算リソースが必要な単機能アプリケーションの処理の高速化が必要である場合は複数のVMを立ち上げて並列パイプラインによる負荷分散を行う。   With the spread of virtualization services in recent years, single-function applications are executed on virtual machines (VMs), which are virtualized computer resources. In particular, when it is necessary to speed up the processing of a single function application that requires a lot of computing resources, multiple VMs are started up and load distribution is performed using a parallel pipeline.

上記の技術に関連する従来技術として、例えば、非特許文献1、特許文献1に開示された技術がある。   As conventional techniques related to the above technique, for example, there are techniques disclosed in Non-Patent Document 1 and Patent Document 1.

非特許文献1に開示された技術は、クライアントとサーバの中間にアドレス変換(NAT)用のGWを介して、TCP/UDP層のヘッダに含まれるポート番号を元にアドレス変換(NAPT)を実施し、アドレス体系の異なるネットワークに属するホスト間を接続する技術である。しかし、非特許文献1の技術では片方向のみの通信を実現することを目的としており、双方向性のある通信に関しては述べられていない。よって、TCPを始めとする双方向の通信が必要な場合には適用することができない。また、アドレス変換の際にクライアント及びサーバに対応付けるポート番号を選択する方法として、関係するホスト・ネットワークに関係なくランダムに割り当てる方式を採っている。   The technology disclosed in Non-Patent Document 1 performs address translation (NAPT) based on the port number included in the header of the TCP / UDP layer via the GW for address translation (NAT) between the client and server This is a technology for connecting hosts belonging to networks with different address systems. However, the technique of Non-Patent Document 1 aims to realize communication in only one direction, and does not describe communication with bidirectionality. Therefore, it cannot be applied when bidirectional communication such as TCP is required. In addition, as a method of selecting a port number associated with a client and a server at the time of address conversion, a method of randomly assigning regardless of a related host network is adopted.

特許文献1に開示された技術は、仮想ネットワーク接続(VPN)用GWを用いてトンネリングを施すことにより異なるネットワーク拠点間を接続する技術である。接続するネットワーク同士が同じIPアドレス空間を使用している場合に限り仮想的なIPアドレス空間を設定しそれらをNATすることでアドレス衝突の問題を回避している。   The technique disclosed in Patent Document 1 is a technique for connecting different network bases by tunneling using a virtual network connection (VPN) GW. Only when connected networks use the same IP address space, a virtual IP address space is set and NATed to avoid the address collision problem.

北村匡彦, 君山博之, 藤井竜也, 丸山充, "広域L2/L3網を使った仮想ネットワーク構成法の提案", 電子情報通信学会技術研究報告, vol.114, no.477, pp.197-202, 2015.Akihiko Kitamura, Hiroyuki Kimiyama, Tatsuya Fujii, Mitsuru Maruyama, "Proposal of Virtual Network Configuration Method Using Wide Area L2 / L3 Network", IEICE Technical Report, vol.114, no.477, pp.197-202 , 2015.

特開2009-017429号公報JP 2009-017429

背景技術で説明した複数のアプリケーション(VM)を接続した処理システムを実現する上での課題として、以下の点が挙げられる。   The following points can be cited as issues in realizing a processing system in which a plurality of applications (VMs) connected in the background art are connected.

新たにアプリケーション(VM)を追加した場合、ネットワーク構成の変更が伴うため、アプリケーションの設定変更をする必要がある。しかし、従来のアプリケーションでは外部からの設定変更機能がない場合がある。その機能がある場合でも、設定変更時に一度機能停止が必要な場合が多い。   When a new application (VM) is added, the network configuration must be changed, so the application settings must be changed. However, the conventional application may not have an external setting change function. Even if there is such a function, it is often necessary to stop the function once when the setting is changed.

更に、異なるクラウドサービス上のVMは独自のIP空間で運用されていることから、異なるVM同士が通信するにはVXLAN等のNAT/VPN追加機能がネットワーク側に必要である。また、途中のネットワークリソース(使用帯域)の偏りがある場合には、VM間接続の経路を別のパスに乗せ変える必要がある。   Furthermore, because VMs on different cloud services are operated in their own IP space, NAT / VPN additional functions such as VXLAN are required on the network side for different VMs to communicate with each other. In addition, if there is a bias in the network resources (bandwidth used) on the way, it is necessary to change the path of the connection between VMs to another path.

また、非特許文献1に開示された技術では、一組のネットワーク拠点間で使用できるポート番号がNAT GWで使用可能なポート番号の数に制限されるため、接続するホストが増加した場合に利用可能接続数が大きく制限される。更に、接続するホスト数が増加した場合に利用可能なポート番号を検索する時間が大きくなり、NAT管理処理の負荷が増加する。   In the technology disclosed in Non-Patent Document 1, the port number that can be used between a set of network bases is limited to the number of port numbers that can be used in NAT GW. The number of possible connections is greatly limited. Furthermore, when the number of connected hosts increases, the time for searching for available port numbers increases, and the load of NAT management processing increases.

また、特許文献1に開示された技術では、同じアドレス空間を用いているネットワーク拠点が複数あり、別のネットワーク拠点から接続することを試みる場合、接続先アドレスの指定において、複数のネットワーク拠点が該当するためにルーティングが不可能であり、ホスト間が接続できないという問題がある。   Further, in the technique disclosed in Patent Document 1, when there are a plurality of network bases using the same address space and a connection is attempted from another network base, a plurality of network bases are applicable in specifying the connection destination address. Therefore, routing is impossible and there is a problem that the hosts cannot be connected.

図1を参照して、複数のアプリケーション(VM)を接続した処理システムを実現する上での課題を具体的に説明する。図1は、SOAシステムを用いた映像制作ワークフローの一例である。ここでは、映像の一つの処理(色変換、字幕合成、映像フォーマット変換処理等)を一つのアプリケーション(VM)で実行し、それらを順列に接続することで目的の処理を実現する。つまり、図1に示すように、映像素材配信ホスト1から送信された映像素材に対し、色変換アプリケーション(VM)2により色変換がなされ、字幕合成アプリケーション(VM)3により字幕合成がなされ、映像フォーマット変換アプリケーション(VM)4により映像フォーマット変換がなされて、映像保存ホスト5に送信される。また、図1には、映像フォーマット変換を行わない処理経路も示されている。   With reference to FIG. 1, problems in realizing a processing system in which a plurality of applications (VMs) are connected will be specifically described. FIG. 1 is an example of a video production workflow using an SOA system. Here, one process (color conversion, caption synthesis, video format conversion process, etc.) of video is executed by one application (VM), and the target process is realized by connecting them in a permutation. That is, as shown in FIG. 1, the video material transmitted from the video material distribution host 1 is color-converted by the color conversion application (VM) 2 and the caption synthesis is performed by the caption synthesis application (VM) 3. Video format conversion is performed by the format conversion application (VM) 4 and transmitted to the video storage host 5. FIG. 1 also shows a processing path in which video format conversion is not performed.

当該処理システムにおいて、一つのアプリケーションは、データを送信する場合には「クライアントホスト」として動作し、データを受信する場合には「サーバホスト」として動作するので、図1では、送信部分に「クライアントホスト」と記載し、受信部分に「サーバホスト」と記載している。   In the processing system, one application operates as a “client host” when transmitting data, and operates as a “server host” when receiving data. Therefore, in FIG. “Host” is described, and “Server host” is described in the reception part.

図1に示すように、映像データはアプリケーション毎に受信され、処理され、次のアプリケーションへ送信される。この処理の中で映像フォーマット変換処理は非常に時間がかかるため、最初は3つのVMを起動し、並列パイプラインによって負荷分散する構成になっている。   As shown in FIG. 1, video data is received for each application, processed, and transmitted to the next application. Since the video format conversion process takes a very long time in this process, first, three VMs are activated and the load is distributed by a parallel pipeline.

ここで、処理高速化のため、図1に示すように、新たにVMを追加する場合を考える。このとき、字幕合成アプリケーション3は、新たに映像フォーマット変換用VMが追加された事実を検知して、追加されたVMのIPアドレスと待受ポート番号を調べて、送信先VMリストに追加する設定変更が必要である。   Here, in order to increase the processing speed, consider a case where a new VM is added as shown in FIG. At this time, the subtitle composition application 3 detects the fact that a new video format conversion VM has been added, checks the IP address and standby port number of the added VM, and adds it to the destination VM list Change is required.

また、新たに追加されたVMが字幕合成アプリケーション(VM)と異なるIP空間で直接IP通信できない場所(例えば、別のクラウドサービス上)に配置されている場合、ネットワーク側でVPN/トンネル接続もしくはNAT接続を構成する必要がある。   Also, if the newly added VM is placed in a place where direct IP communication is not possible in a different IP space from the caption synthesis application (VM) (for example, on another cloud service), VPN / tunnel connection or NAT on the network side You need to configure the connection.

これらの構成・設定変更の機能を従来からある全てのアプリケーションに追加実装し対応させるのは現実的ではない。つまり、従来技術では、複数のホストが接続されて構成される処理システムにおいて、ホストの設定変更なしに動的にホスト間の接続制御を行うことができなかった。   It is not practical to add these configurations and setting change functions to all existing applications and make them compatible. That is, in the conventional technology, in a processing system configured by connecting a plurality of hosts, connection control between the hosts cannot be performed dynamically without changing the host settings.

本発明は上記の点に鑑みてなされたものであり、複数のホストが接続されて構成される処理システムにおいて、ホストの設定変更なしに動的にホスト間の接続制御を行うことを可能とする技術を提供することを目的とする。   The present invention has been made in view of the above points. In a processing system configured by connecting a plurality of hosts, it is possible to dynamically control connection between hosts without changing host settings. The purpose is to provide technology.

本発明の実施の形態によれば、SDN制御装置と、第1ホストと通信を行う第1SDNスイッチと、第2ホストと通信を行う第2SDNスイッチとを備え
前記SDN制御装置が、前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対してパケットのアドレス変換ルールを指定し、
前記第1SDNスイッチは、前記第1ホストから前記第1SDNスイッチ宛てのパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2SDNスイッチに送信し、
前記第2SDNスイッチは、前記第1SDNスイッチからパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2ホストに送信する
パケット通信システムにおいて、
前記SDN制御装置は、
前記第1SDNスイッチと前記第2SDNスイッチとの間で利用可能な候補経路の情報を、ホストが接続されるローカルネットワークの名前を名前空間として使用したキーとともに格納した候補経路テーブルを参照し、前記第1ホストと前記第2ホストに対応するキーに基づき、前記候補経路テーブルから候補経路を取得し、当該候補経路から、前記第1ホストと前記第2ホストとの間の通信に利用する経路を選択する
ことを特徴とするパケット通信システムが提供される。
また、本発明の実施の形態によれば、SDN制御装置と、第1ホストと通信を行う第1SDNスイッチと、第2ホストと通信を行う第2SDNスイッチとを備え、
前記SDN制御装置が、前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対してパケットのアドレス変換ルールを指定し、
前記第1SDNスイッチは、前記第1ホストから前記第1SDNスイッチ宛てのパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2SDNスイッチに送信し、
前記第2SDNスイッチは、前記第1SDNスイッチからパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2ホストに送信する
パケット通信システムにおいて、
前記SDN制御装置は、
前記第1SDNスイッチのポート番号と前記第2SDNスイッチのポート番号の組合せを、前記第1SDNスイッチと前記第2SDNスイッチとの間の経路の情報と、ホストが接続されるローカルネットワークの名前とを有するキーとともに格納したポート割当テーブルを参照し、前記第1ホストと前記第2ホストとの間の通信に対応するキーに基づき、前記ポート割当テーブルを検索し、当該ポート割当テーブル内で未使用のポート番号の組合せを、前記第1ホストと前記第2ホストとの間の通信に利用するポート番号の組合せとして決定する
ことを特徴とするパケット通信システムが提供される。
According to an embodiment of the present invention, an SDN control device, a first SDN switch that communicates with a first host, and a second SDN switch that communicates with a second host are provided .
The SDN control device designates a packet address translation rule for each of the first SDN switch and the second SDN switch,
The first SDN switch receives a packet addressed to the first SDN switch from the first host, rewrites the address of the packet according to an address translation rule specified by the SDN control device, and rewrites the packet with the rewritten address. To the second SDN switch,
The second SDN switch receives a packet from the first SDN switch, rewrites the address of the packet according to an address translation rule specified by the SDN control device, and transmits the packet with the rewritten address to the second host.
In packet communication systems,
The SDN controller is
A candidate route table storing information on candidate routes available between the first SDN switch and the second SDN switch together with a key using a name of a local network to which a host is connected as a name space; Based on a key corresponding to one host and the second host, a candidate route is obtained from the candidate route table, and a route used for communication between the first host and the second host is selected from the candidate route. A packet communication system is provided.
Further, according to the embodiment of the present invention, the SDN control device, the first SDN switch for communicating with the first host, and the second SDN switch for communicating with the second host are provided.
The SDN control device designates a packet address translation rule for each of the first SDN switch and the second SDN switch,
The first SDN switch receives a packet addressed to the first SDN switch from the first host, rewrites the address of the packet according to an address translation rule specified by the SDN control device, and rewrites the packet with the rewritten address. To the second SDN switch,
The second SDN switch receives a packet from the first SDN switch, rewrites the address of the packet according to an address translation rule specified by the SDN control device, and transmits the packet with the rewritten address to the second host.
In packet communication systems,
The SDN controller is
A key having a combination of a port number of the first SDN switch and a port number of the second SDN switch, information on a path between the first SDN switch and the second SDN switch, and a name of a local network to which a host is connected The port allocation table stored together with the port allocation table is searched based on the key corresponding to the communication between the first host and the second host, and an unused port number in the port allocation table is searched. Is determined as a combination of port numbers used for communication between the first host and the second host.
A packet communication system is provided.

また、本発明の実施の形態によれば、SDN制御装置と、第1ホストと通信を行う第1SDNスイッチと、第2ホストと通信を行う第2SDNスイッチとを備えるパケット通信システム実行され
前記SDN制御装置が、前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対してパケットのアドレス変換ルールを指定するステップと、
前記第1SDNスイッチが、前記第1ホストから前記第1SDNスイッチ宛てのパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2SDNスイッチに送信するステップと、
前記第2SDNスイッチが、前記第1SDNスイッチからパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2ホストに送信するステップと
を備えるパケット通信方法において、
前記SDN制御装置は、
前記第1SDNスイッチと前記第2SDNスイッチとの間で利用可能な候補経路の情報を、ホストが接続されるローカルネットワークの名前を名前空間として使用したキーとともに格納した候補経路テーブルを参照し、前記第1ホストと前記第2ホストに対応するキーに基づき、前記候補経路テーブルから候補経路を取得し、当該候補経路から、前記第1ホストと前記第2ホストとの間の通信に利用する経路を選択する
ことを特徴とするパケット通信方法が提供される。
また、本発明の実施の形態によれば、SDN制御装置と、第1ホストと通信を行う第1SDNスイッチと、第2ホストと通信を行う第2SDNスイッチとを備えるパケット通信システムで実行され、
前記SDN制御装置が、前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対してパケットのアドレス変換ルールを指定するステップと、
前記第1SDNスイッチが、前記第1ホストから前記第1SDNスイッチ宛てのパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2SDNスイッチに送信するステップと、
前記第2SDNスイッチが、前記第1SDNスイッチからパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2ホストに送信するステップと
を備えるパケット通信方法において、
前記SDN制御装置は、
前記第1SDNスイッチのポート番号と前記第2SDNスイッチのポート番号の組合せを、前記第1SDNスイッチと前記第2SDNスイッチとの間の経路の情報と、ホストが接続されるローカルネットワークの名前とを有するキーとともに格納したポート割当テーブルを参照し、前記第1ホストと前記第2ホストとの間の通信に対応するキーに基づき、前記ポート割当テーブルを検索し、当該ポート割当テーブル内で未使用のポート番号の組合せを、前記第1ホストと前記第2ホストとの間の通信に利用するポート番号の組合せとして決定する
ことを特徴とするパケット通信方法が提供される。

Further, according to the embodiment of the present invention, the SDN controller, a first 1SDN switch for communicating with the first host, runs in a packet communication system and a second 2SDN switch for communicating with a second host,
The SDN control device designating a packet address translation rule for each of the first SDN switch and the second SDN switch;
The first SDN switch receives a packet addressed to the first SDN switch from the first host, rewrites the address of the packet according to an address translation rule designated by the SDN control device, and rewrites the packet with the rewritten address. Sending to the second SDN switch;
The second SDN switch receives a packet from the first SDN switch, rewrites the address of the packet in accordance with an address conversion rule specified by the SDN control device, and transmits the packet with the rewritten address to the second host. A packet communication method comprising:
The SDN controller is
A candidate route table storing information on candidate routes available between the first SDN switch and the second SDN switch together with a key using a name of a local network to which a host is connected as a name space; Based on a key corresponding to one host and the second host, a candidate route is obtained from the candidate route table, and a route used for communication between the first host and the second host is selected from the candidate route. A packet communication method is provided.
According to an embodiment of the present invention, the packet communication system includes an SDN control device, a first SDN switch that communicates with the first host, and a second SDN switch that communicates with the second host.
The SDN control device designating a packet address translation rule for each of the first SDN switch and the second SDN switch;
The first SDN switch receives a packet addressed to the first SDN switch from the first host, rewrites the address of the packet according to an address translation rule designated by the SDN control device, and rewrites the packet with the rewritten address. Sending to the second SDN switch;
The second SDN switch receives a packet from the first SDN switch, rewrites the address of the packet in accordance with an address conversion rule specified by the SDN control device, and transmits the packet with the rewritten address to the second host. Step and
In a packet communication method comprising:
The SDN controller is
A key having a combination of a port number of the first SDN switch and a port number of the second SDN switch, information on a path between the first SDN switch and the second SDN switch, and a name of a local network to which a host is connected The port allocation table stored together with the port allocation table is searched based on the key corresponding to the communication between the first host and the second host, and an unused port number in the port allocation table is searched. Is determined as a combination of port numbers used for communication between the first host and the second host.
A packet communication method is provided.

本発明の実施の形態によれば、複数のホストが接続されて構成される処理システムにおいて、ホストの設定変更なしに動的にホスト間の接続制御を行うことを可能とする技術が提供される。   According to the embodiment of the present invention, there is provided a technique capable of dynamically controlling connection between hosts without changing host settings in a processing system configured by connecting a plurality of hosts. .

課題を説明するための図である。It is a figure for demonstrating a subject. 本発明の実施の形態におけるシステムの構成例を示す図である。It is a figure which shows the structural example of the system in embodiment of this invention. 第1の実施の形態における動作を説明するための図である。It is a figure for demonstrating the operation | movement in 1st Embodiment. 第1の実施の形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in 1st Embodiment. フローテーブルの状況を説明するための図である。It is a figure for demonstrating the condition of a flow table. ホスト間接続を確立・変更する際のアドレス変換、ポート番号対応管理方法を説明するための図である。It is a figure for demonstrating the address conversion at the time of establishing and changing the connection between hosts, and a port number corresponding | compatible management method. ホスト間接続を確立・変更する際のアドレス変換、ポート番号対応管理方法を説明するための図である。It is a figure for demonstrating the address conversion at the time of establishing and changing the connection between hosts, and a port number correspondence management method. 第2の実施の形態における動作を説明するための図である。It is a figure for demonstrating the operation | movement in 2nd Embodiment. 第2の実施の形態における動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the operation | movement in 2nd Embodiment. フローテーブルの変化を示す図である。It is a figure which shows the change of a flow table. フローテーブルの変化を示す図である。It is a figure which shows the change of a flow table. 本実施の形態におけるシステムの各装置の構成例を示す図である。It is a figure which shows the structural example of each apparatus of the system in this Embodiment.

以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。   Hereinafter, an embodiment (this embodiment) of the present invention will be described with reference to the drawings. The embodiment described below is only an example, and the embodiment to which the present invention is applied is not limited to the following embodiment.

(システム構成例)
図2に、本実施の形態(第1の実施の形態と第2の実施の形態に共通)におけるシステム(パケット通信システムと呼んでもよい)の構成例を示す。本実施の形態におけるシステムは、図1に例示したような単機能なアプリケーション同士がIPネットワーク上で順列に接続され全体の処理が実行されるシステムを想定している。ただし、本発明の適用対象はこのようなシステムに限定されるわけではなく、様々なシステムに適用可能である。
(System configuration example)
FIG. 2 shows a configuration example of a system (may be called a packet communication system) in the present embodiment (common to the first embodiment and the second embodiment). The system according to the present embodiment assumes a system in which single-function applications such as those illustrated in FIG. 1 are connected in a permutation on the IP network and the entire process is executed. However, the application target of the present invention is not limited to such a system, and can be applied to various systems.

図2に示すシステムは、アプリケーションのローカルネットワーク(プライベートIPアドレスを有する)毎に1台のSDN(Software Defined Networking)スイッチが配置され、それぞれのSDNスイッチがグローバルのIPネットワークを介して直接通信ができる構成を有する。なお、ここでの「アプリケーション」は、アプリケーションのプログラムが動作する装置(物理的なコンピュータであってもよいし、仮想マシンであってもよい)である。以降、当該アプリケーションを「ホスト」と呼ぶ。図2では、データ送信側のアプリケーションを「クライアントホスト」として示し、データ受信側のアプリケーションを「サーバホスト」として示している。   In the system shown in FIG. 2, one SDN (Software Defined Networking) switch is arranged for each application local network (having a private IP address), and each SDN switch can directly communicate via a global IP network. It has a configuration. The “application” here is an apparatus (a physical computer or a virtual machine) on which an application program operates. Hereinafter, the application is referred to as “host”. In FIG. 2, the application on the data transmission side is indicated as “client host”, and the application on the data reception side is indicated as “server host”.

上述したように、図2に示す構成は、プライベートIPアドレスを有するローカルネットワークが1つのSDNスイッチを介してグローバルIP空間で相互接続された構成である。通常のネットワーク構成ではローカルネットワークがGWであるL3スイッチを介して接続されているため、このL3スイッチをSDNスイッチに置き換えるだけで本実施の形態に係るシステムが実現される。   As described above, the configuration shown in FIG. 2 is a configuration in which local networks having private IP addresses are interconnected in a global IP space via one SDN switch. In a normal network configuration, the local network is connected via an L3 switch that is a GW. Therefore, the system according to the present embodiment is realized by simply replacing the L3 switch with an SDN switch.

本実施の形態のSDNスイッチは、matchフィールドとactionフィールドを有するフローテーブルを備え、入力されたパケットの情報とmatchフィールドに記述された情報とを比較して、マッチする場合に、actionフィールドに記述された動作(例:ヘッダを書き換えて所定ポートから出力)を実行する。なお、SDNスイッチ自体は既存技術である。以下、本システムの構成をより具体的に説明する。   The SDN switch according to the present embodiment includes a flow table having a match field and an action field, and compares the information of the input packet with the information described in the match field. (For example, rewrite the header and output from a predetermined port). The SDN switch itself is an existing technology. Hereinafter, the configuration of the present system will be described more specifically.

図2に示すとおり、本実施の形態のシステムには、3つのローカルネットワークが存在し、それぞれプライベートIPアドレス192.168.0.0/24、192.168.10.0/24、192.168.0.0/24のアドレス空間を有している。更に、それぞれのローカルネットワークがSDNスイッチSDN1、SDNスイッチSDN2、SDNスイッチSDN3を介してグローバルアドレスのネットワークに接続されている。以降、SDNスイッチSDN1, SDNスイッチSDN2、SDNスイッチSDN3をそれぞれ、SDN1、SDN2、SDN3と記述する。   As shown in FIG. 2, the system according to the present embodiment has three local networks, and has private IP addresses 192.168.0.0/24, 192.168.10.0/24, and 192.168.0.0/24, respectively. ing. Further, each local network is connected to a network having a global address through an SDN switch SDN1, an SDN switch SDN2, and an SDN switch SDN3. Hereinafter, the SDN switch SDN1, the SDN switch SDN2, and the SDN switch SDN3 are described as SDN1, SDN2, and SDN3, respectively.

SDN1はローカルアドレスとして192.168.0.1を有し、グローバルアドレスとして10.0.1.1、20.0.1.1を有している。同様にSDN2、SDN3はそれぞれ、プライベートアドレスとして、192.168.10.1と192.168.0.1を有し、グローバルアドレスとしてSDN2は10.0.2.1を有し、SDN3は10.0.3.1,と20.0.3.1を有している。グローバルアドレスは相互接続可能なネットワーク300、400に接続されている。   SDN1 has 192.168.0.1 as a local address and 10.0.1.1 and 20.0.1.1 as global addresses. Similarly, SDN2 and SDN3 have private addresses 192.168.10.1 and 192.168.0.1, global addresses SDN2 has 10.0.2.1, and SDN3 has 10.0.3.1 and 20.0.3.1, respectively. . The global address is connected to interconnectable networks 300 and 400.

本実施の形態では、SDN1、SDN2、SDN3を有するローカルネットワークの名前をそれぞれ「SDN1」、「SDN2」、「SDN3」と呼び、これらを後述する「名前空間によるNAPTポート管理」において名前空間として用いる。   In this embodiment, the names of local networks having SDN1, SDN2, and SDN3 are referred to as “SDN1,” “SDN2,” and “SDN3”, respectively, and are used as namespaces in “NAPT port management by name space” described later. .

図2に示すとおり、それぞれのローカルネットワークには、複数のホストが存在しプライベートIPアドレスが割り当てられ、ネットワーク接続されている。例えば、クライアントホスト10には、192.168.0.10が割り当てられ、サーバホスト20には、192.168.0.11が割り当てられている。   As shown in FIG. 2, each local network has a plurality of hosts, assigned private IP addresses, and connected to the network. For example, 192.168.0.10 is assigned to the client host 10 and 192.168.0.11 is assigned to the server host 20.

各SDNスイッチは、外部に専用の制御接続線を介してSDN制御装置200に接続されており、SDN制御装置200からの指示を受けてパケット交換処理を行う。本実施の形態では、SDN制御装置200は、SDNコントローラとSDNマネージャを有する装置である。   Each SDN switch is externally connected to the SDN control device 200 via a dedicated control connection line, and receives a command from the SDN control device 200 and performs packet switching processing. In the present embodiment, the SDN control device 200 is a device having an SDN controller and an SDN manager.

また、SDN制御装置200は、ポート割当管理データベース100を有しており、これによって、アドレス変換対応の状態を管理する。なお、ポート割当管理データベース100は、SDN制御装置200の内部機能であってもよいし、SDN制御装置200の外部に備えられていてもよい。いずれの場合も、SDN制御装置200は、ポート割当管理データベース100の各テーブルを参照することができる。   Further, the SDN control device 200 has a port allocation management database 100, and manages a state corresponding to address translation. The port allocation management database 100 may be an internal function of the SDN control device 200 or may be provided outside the SDN control device 200. In any case, the SDN control device 200 can refer to each table of the port assignment management database 100.

図2に示すシステムにおけるパケットの転送動作例を説明する。一例として、SDN1に属してIPアドレス192.168.0.10を有するクライアントホスト10から、SDN3に属してIPアドレス192.168.0.11を有するサーバホスト20へパケットを転送する場合を考える。このとき、クライアントホスト10はSDN1へ目的のパケットを転送する。SDN1では送信元IPアドレス及び宛先TCP/UDPポート番号からSDN3への転送パケットであることを識別し、SDN3へ転送する。SDN3では、送信元SDNスイッチとTCP/UDPポートからSDN3に属しているIPアドレス192.168.0.11のホストへのパケットであると識別し、パケットを転送する。なお、パケットの識別及びアドレス変換の実現についての詳細は後述する。   An example of packet transfer operation in the system shown in FIG. 2 will be described. As an example, consider a case where a packet is transferred from a client host 10 belonging to SDN1 and having an IP address 192.168.0.10 to a server host 20 belonging to SDN3 and having an IP address 192.168.0.11. At this time, the client host 10 transfers the target packet to SDN1. In SDN1, it identifies that it is a transfer packet to SDN3 from a transmission source IP address and a destination TCP / UDP port number, and transfers to SDN3. In SDN3, the packet is transferred from the transmission source SDN switch and the TCP / UDP port to the host having the IP address 192.168.0.11 belonging to SDN3, and the packet is transferred. Details of packet identification and address translation will be described later.

以上のようにして、本実施の形態に係るシステムにより、異なるローカルネットワークに属するホスト同士の接続を実現する。   As described above, connection between hosts belonging to different local networks is realized by the system according to the present embodiment.

(第1の実施の形態)
以下、第1の実施の形態を説明する。第1の実施の形態では、ホスト(アプリケーション、VM)の設定変更なしに異なるIP空間に配置されたホスト間接続を確立・変更するアドレス変換、及びポート番号対応管理方法について説明する。
(First embodiment)
Hereinafter, the first embodiment will be described. In the first embodiment, a description will be given of an address conversion and a port number correspondence management method for establishing and changing a connection between hosts arranged in different IP spaces without changing the setting of the host (application, VM).

<処理シーケンス例>
図3は、第1の実施の形態に係る動作について、アドレス変換を分かり易く示した図であり、図4は、第1の実施の形態に係る動作を示すシーケンス図である。以下、図4のシーケンス図に沿って説明する。その説明の中で、適宜、図3を参照する。
<Example of processing sequence>
FIG. 3 is a diagram showing the address conversion in an easily understandable manner with respect to the operation according to the first embodiment, and FIG. 4 is a sequence diagram showing the operation according to the first embodiment. Hereinafter, description will be given along the sequence diagram of FIG. In the description, FIG. 3 will be referred to as appropriate.

第1の実施の形態では、上述した場合と同様に、SDN1に属してIPアドレ192.168.0.10を有するクライアントホスト10(これを、ホストSDN1::192.168.0.10と記述する)からSDN3::192.168.0.11(サーバホスト20)上でTCP/80番ポートで待ち受けするサーバプロセスへ接続する場合を考える。   In the first embodiment, as described above, from the client host 10 belonging to SDN1 and having the IP address 192.168.0.10 (denoted as host SDN1 :: 192.168.0.10) to SDN3 :: 192.168. Consider the case of connecting to a server process that listens on port TCP / 80 on 0.11 (server host 20).

まず、システム運用者がSDN1::192.168.0.10をSDN3::192.168.0.11:80へ接続する指示をSDN制御装置200に投入する。これにより、SDN制御装置200からSDN1とSDN3に対して、宛先ポート8080のパケットを10.0.3.1::192.168.0.11:80 (SDN3::192.168.0.11)に接続することを通知する(ステップS101、S102)。これにより、SDN1は、自分宛ての宛先ポート8080のパケットの監視を開始する(ステップS103)。   First, the system operator inputs an instruction to connect SDN1 :: 192.168.0.10 to SDN3 :: 192.168.0.11: 80 to the SDN control device 200. As a result, the SDN control device 200 notifies SDN1 and SDN3 that the packet of the destination port 8080 is connected to 10.0.3.1::192.168.0.11:80 (SDN3 :: 192.168.0.11) (step S101, S102). Thereby, SDN1 starts monitoring the packet of the destination port 8080 addressed to itself (step S103).

続いて、クライアントホスト10はtcp/8080番ポートが接続先であることをシステムから通知される(ステップS104)。クライアントホスト10は自身の属するSDNスイッチであるSDN1へ向けて宛先IPアドレス192.168.0.1に、宛先ポート番号をtcp/8080番にして、送信元アドレスを自身のIPアドレスである192.168.0.10、送信元ポート番号をランダム決定した整数値、例えば1234、にしてパケットを送出する(ステップS105)。以後、このパケットをdst=192.168.0.1:8080、src=192.168.0.10:1234として記述する。   Subsequently, the client host 10 is notified from the system that the tcp / 8080 port is the connection destination (step S104). The client host 10 sets the destination IP address 192.168.0.1, the destination port number to tcp / 8080, and the source address to its own IP address 192.168.0.10, toward the SDN1 that belongs to the client host 10 The packet is transmitted with the port number set to an integer value determined at random, for example, 1234 (step S105). Hereinafter, this packet is described as dst = 192.168.0.1: 8080 and src = 192.168.0.10: 1234.

図3には、クライアントホスト10から当該パケットが送出されることが示されている。なお、図3におけるパケットの記述の意味は、図3の右側に例示で記載したとおりである。   FIG. 3 shows that the packet is transmitted from the client host 10. The meaning of the packet description in FIG. 3 is as described in the example on the right side of FIG.

SDN1は、dst=192.168.0.1:8080、src=192.168.0.10:1234のパケット情報をキーにして自身のフローテーブルを参照し、既に該当するフローエントリーが登録されているかを調べる。すなわち、マッチの有無を調べる(図4のステップS106)。初期の状態では該当するフローエントリーが登録されていないため、SDN1は、到着したパケットをSDN制御装置200(SDNコントローラ)に転送する(ステップS107)。このようなパケット転送をPacketInと呼ぶ。   SDN1 refers to its own flow table using the packet information of dst = 192.168.0.1: 8080, src = 192.168.0.10: 1234 as a key, and checks whether the corresponding flow entry has already been registered. That is, the presence or absence of a match is checked (step S106 in FIG. 4). Since the corresponding flow entry is not registered in the initial state, the SDN 1 transfers the arrived packet to the SDN control device 200 (SDN controller) (step S107). Such packet transfer is called PacketIn.

PacketInが発生した場合、SDN制御装置200(SDNマネージャ)は、SDNスイッチ間で用いる中間経路とその対応tcpポートとしてSDN1上の10.0.1.1:6636とSDN3上の10.0.3.1:7749を割り当て、サーバ側ローカルネットワーク内での対応送信元ポート番号として2345を割り当てる(ステップS108)。その後それらの情報をSDN1とSDN3に通知し、アドレス変換のフローエントリーを登録する(ステップS109〜S112)。つまり、SDN1とSDN3に対し、パケットのアドレス変換ルール(アドレス書き換えルール)を指定する信号を送信する。この信号には、例えば、図5の示すフローテーブルにおいて、各SDNに該当する内容が含まれている。   When PacketIn occurs, the SDN controller 200 (SDN manager) assigns 10.0.1.1:6636 on SDN1 and 10.0.3.1:7749 on SDN3 as the intermediate route used between SDN switches and its corresponding tcp port, and the server 2345 is assigned as the corresponding transmission source port number in the local network on the side (step S108). Thereafter, the information is notified to SDN1 and SDN3, and the address translation flow entry is registered (steps S109 to S112). That is, a signal designating a packet address translation rule (address rewrite rule) is transmitted to SDN1 and SDN3. This signal includes, for example, contents corresponding to each SDN in the flow table shown in FIG.

以降、SDN1では該当パケットが到着する度にアドレス変換を行いパケットペイロードの情報はそのままに、ヘッダ部分をdst=10.0.3.1:7749、src=10.0.1.1:6636に書き換えて(図3のSDN1における書き換え)、SDN3へパケット転送を行う(図4のステップS113、S114、S116、S117)。   After that, SDN1 converts the address every time the packet arrives and rewrites the header part to dst = 10.0.3.1: 7749 and src = 10.0.1.1: 6636 without changing the packet payload information (in SDN1 in FIG. Rewriting), the packet is transferred to SDN3 (steps S113, S114, S116, and S117 in FIG. 4).

SDN3ではdst=10.0.3.1:7749、src=10.0.1.1:6636のパケット情報をキーにしてアドレス変換を行い、dst=192.168.0.11:80、src=192.168.0.1:2345として(図3のSDN3における書き換え)、パケットをサーバホスト20に転送する(図4のステップS115、S118)。   In SDN3, address conversion is performed using the packet information of dst = 10.0.3.1: 7749 and src = 10.0.1.1: 6636 as keys, and dst = 192.168.0.11: 80, src = 192.168.0.1: 2345 (SDN3 in FIG. 3) The packet is transferred to the server host 20 (steps S115 and S118 in FIG. 4).

以上によりクライアントホスト10からサーバホスト20へのパケット転送が完了する。逆に、サーバホスト20からクライアントホスト10へのパケット転送は以上の逆のアドレス変換を行うことより実現される。上記の例を用いると、まず、サーバホスト20であるSDN3::192.168.0.11は、dst=192.168.0.1:2345、src=192.168.0.11:80としてパケットを送出する。SDN3において、アドレス変換によりdst=10.0.1.1:6636、src=10.0.3.1:7749としてパケットを転送する。SDN1では、アドレス変換によりdst=192.168.0.10:1234、 src=192.168.0.1:8080としてパケットをSDN1:192.168.0.10のクライアントホスト10に転送する。   Thus, packet transfer from the client host 10 to the server host 20 is completed. Conversely, packet transfer from the server host 20 to the client host 10 is realized by performing the above reverse address translation. Using the above example, first, SDN3 :: 192.168.0.11 which is the server host 20 transmits a packet as dst = 192.168.0.1: 2345 and src = 192.168.0.11: 80. In SDN3, the packet is transferred as dst = 10.0.1.1: 6636 and src = 10.0.3.1: 7749 by address conversion. In SDN1, the packet is transferred to the client host 10 of SDN1: 192.168.0.10 as dst = 192.168.0.10: 1234 and src = 192.168.0.1: 8080 by address conversion.

以上により、逆方向のパケット転送も実現され、tcp通信のような双方向通信においても本発明を利用することができる。   As described above, packet transfer in the reverse direction is also realized, and the present invention can be used in bidirectional communication such as tcp communication.

<フローテーブルの例>
図4のシーケンス図中の破線の時間におけるSDN1及びSDN3上に登録されるフローエントリーについて、図5を参照して説明する。
<Example of flow table>
Flow entries registered on SDN1 and SDN3 at the time indicated by the broken line in the sequence diagram of FIG. 4 will be described with reference to FIG.

図5(a)に示すとおり、クライアントホスト10が属するSDN1におけるフローテーブルでは、ローカルネットワークの接続ポートp2から到着したパケットのうちsrc=192.168.0.10:1234、dst=192.168.0.1:8080に該当するパケットが到着した場合(matchフィールド)、アドレス変換・転送処理(actionフィールド)として、dst=10.0.3.1:7749、src=10.0.1.1:6636のアドレス変換を実施した後、グローバルアドレス空間の接続ポートp1に転送するフローエントリーが登録されている。   As shown in FIG. 5A, the flow table in SDN1 to which the client host 10 belongs corresponds to src = 192.168.0.10: 1234 and dst = 192.168.0.1: 8080 among the packets arriving from the connection port p2 of the local network. When a packet arrives (match field), after performing address translation of dst = 10.0.3.1: 7749, src = 10.0.1.1: 6636 as address translation / forwarding processing (action field), connection port in global address space The flow entry to be transferred to p1 is registered.

また、逆方向のパケットに対するフロールールとして、グローバルアドレス空間の接続ポートp1に到着したパケットのうち、dst=10.0.1.1:6636、src=10.0.3.1:7749に該当するパケットに対して、dst=192.168.0.10:1234、src=192.168.0.1:8080のアドレス変換を実施し、ローカルネットワーク接続ポートp2へ転送するフローエントリーが登録されている。   Also, as a flow rule for packets in the reverse direction, among packets arriving at connection port p1 in the global address space, for packets corresponding to dst = 10.0.1.1: 6636, src = 10.0.3.1: 7749, dst = The address entry of 192.168.0.10:1234, src = 192.168.0.1: 8080 is implemented, and the flow entry to be transferred to the local network connection port p2 is registered.

図5(b)に示すように、サーバホスト20が属するSDN3についても同様のフローエントリーが登録されている。   As shown in FIG. 5B, the same flow entry is registered for the SDN 3 to which the server host 20 belongs.

本実施の形態では、このSDNスイッチ上のフローエントリーを書き換えるのみで、クライアントホスト及びサーバホストの変更なしにホスト間の接続変更が可能である。例えば、上記で説明したフローエントリーのうち、SDN3のサーバホスト20のIPアドレスである192.168.0.11を192.168.0.22とするのみで、クライアントホストSDN1::192.168.0.10を別のサーバホストSDN3::192.168.0.22への接続に変更することが可能である。   In this embodiment, it is possible to change the connection between the hosts without changing the client host and the server host only by rewriting the flow entry on the SDN switch. For example, in the flow entry described above, only the IP address 192.168.0.11 of the server host 20 of SDN3 is set to 192.168.0.22, and the client host SDN1 :: 192.168.0.10 is changed to another server host SDN3 :: 192.168. It is possible to change to a connection to .0.22.

<アドレス変換、ポート番号対応管理方法について>
本実施の形態では、tcp/udpポートベースのアドレス変換対応において、ローカルネットワークと接続対象ホストのIPアドレスを名前空間として用いることで、対応付けするポートの干渉検知と、未使用ポート番号の検索の高速化を実現している。以下、図6Aと図6Bを参照して、本実施の形態における名前空間によるNAPTポート管理について説明する。
<About address conversion and port number management method>
In this embodiment, in correspondence with tcp / udp port-based address translation, the IP address of the local network and the connection target host is used as a name space, so that interference detection of the associated port and search for unused port numbers can be performed. High speed is realized. Hereinafter, with reference to FIGS. 6A and 6B, NAPT port management by name space in the present embodiment will be described.

SDN制御装置200(SDNマネージャ)は主要変数としてclient_keyとserver_keyを保持する。図6Aの上側に例示するとおり、client_key、server_keyはローカルネットワークの名前をリージョンIDとして、下記の形式で与えられる変数である。   The SDN control device 200 (SDN manager) holds client_key and server_key as main variables. As illustrated in the upper side of FIG. 6A, client_key and server_key are variables given in the following format with the name of the local network as the region ID.

client_key=リージョンID::クライアントIP:クライアント送信元ポート/クライアント送信先ポート
server_key=リージョンID::サーバIP:サーバlistenポート
例えば、図3で示した例ではclient_key、server_keyは下記の通りになる。
client_key = Region ID :: Client IP: Client source port / Client destination port
server_key = region ID :: server IP: server listen port For example, in the example shown in FIG. 3, client_key and server_key are as follows.

client_key=SDN1::192.168.0.10:1234/8080
server_key=SDN3::192.168.0.11:80
SDN制御装置200(SDNマネージャ)は、これら変数とともに、ポート割当管理データベース100を用いてアドレス変換の状態を管理する。図6Aにおいて「key-valueストアによる定義テーブルとそのデータ構造」として示すように、ポート割当管理データベース100には以下の4種類のテーブルが含まれる。
client_key = SDN1 :: 192.168.0.10: 1234/8080
server_key = SDN3 :: 192.168.0.11: 80
The SDN control device 200 (SDN manager) manages the address translation state using the port assignment management database 100 together with these variables. As shown as “definition table by key-value store and its data structure” in FIG. 6A, the port assignment management database 100 includes the following four types of tables.

(1) SDN間経路候補テーブル inter_sdn_route
(2) SDN間経路テーブル inter_sdn_path
(3) SDN間ポート割当テーブル inter_sdn_port
(4)サーバ側SDNスイッチ送信元ポート番号テーブル server_sdn_local_port
SDN間経路候補テーブル(inter_sdn_route)では、各ローカルネットワーク同士を接続するSDNスイッチ間において、利用可能な経路とそれに対するグローバルIPアドレスを管理している。これらの情報はシステム管理者によって登録される。このテーブルでは接続するリージョンIDの組み合わせをキー(key)にして値(value)を取得することができる。例えば図2の例において、SDN1とSDN3の接続経路に対応するグローバルIPアドレスの候補として、SDN1=10.0.1.1, SDN3=10.0.3.1と、SDN1=20.0.1.1, SDN3=20.0.3.1の2経路がある場合、SDN間経路候補テーブルのkeyとvalueは以下のように表わされる。
(1) Inter-SDN route candidate table inter_sdn_route
(2) Inter-SDN route table inter_sdn_path
(3) Inter-SDN port allocation table inter_sdn_port
(4) Server-side SDN switch source port number table server_sdn_local_port
In the inter-SDN route candidate table (inter_sdn_route), an available route and a global IP address corresponding to it are managed between the SDN switches connecting the local networks. Such information is registered by the system administrator. In this table, a combination of region IDs to be connected can be used as a key to obtain a value. For example, in the example of FIG. 2, as global IP address candidates corresponding to the connection routes of SDN1 and SDN3, two routes of SDN1 = 10.0.1.1, SDN3 = 10.0.3.1 and SDN1 = 20.0.1.1, SDN3 = 20.0.3.1 If there is, the key and value of the inter-SDN candidate table are expressed as follows.

key=(SDN1, SDN3)
value=[["10.0.1.1", "10.0.3.1"], ["20.0.1.1", "20.0.3.1"]]
SDN間経路テーブル(inter_sdn_path)では、ホスト間を接続する際に用いる中間経路に対応するSDNスイッチ上のグローバルIPアドレスが保持されている。このテーブルでは接続するclient_keyとserver_keyをキーにして値を取得することができる。例えば、図3の例では、
key=(SDN1::192.168.0.10:1234/8080, SDN3::192.168.0.11:80)
value=[10.0.1.1, 10.0.3.1]
となる。
key = (SDN1, SDN3)
value = [["10.0.1.1", "10.0.3.1"], ["20.0.1.1", "20.0.3.1"]]
In the inter-SDN route table (inter_sdn_path), a global IP address on the SDN switch corresponding to an intermediate route used when connecting hosts is held. In this table, values can be obtained using the client_key and server_key to be connected as keys. For example, in the example of FIG.
key = (SDN1 :: 192.168.0.10: 1234/8080, SDN3 :: 192.168.0.11: 80)
value = [10.0.1.1, 10.0.3.1]
It becomes.

SDN間ポート割当テーブル(inter_sdn_port)では、ホスト間を接続する際に用いられるSDNスイッチ上での対応tcp/udpポート番号が保持される。このテーブルでは、inter_sdn_pathの値とclient_key, server_keyの組み合わせをキーとして、使用されるポート番号を値として保持する。例えば図3の例では、
key=(10.0.1.1, 10.0.3.1):(SDN1::192.168.0.10:1234/8080, SDN3::192.168.0.11:80)
value=[6636, 7749]
となる。
The inter-SDN port assignment table (inter_sdn_port) holds the corresponding tcp / udp port number on the SDN switch used when connecting hosts. In this table, a combination of inter_sdn_path, client_key, and server_key is used as a key, and the port number to be used is held as a value. For example, in the example of FIG.
key = (10.0.1.1, 10.0.3.1) :( SDN1 :: 192.168.0.10: 1234/8080, SDN3 :: 192.168.0.11: 80)
value = [6636, 7749]
It becomes.

サーバ側SDNスイッチ送信元ポート番号テーブル(server_sdn_local_port)では、サーバホストが属するローカルネットワーク内で、SDNスイッチが使用するtcp/udpポート番号を保持する。このテーブルでは、server_keyをキーにして、対応するポート番号が値として保持される。例えば、図3の例では、
key=SDN3::192.168.0.11:80
value=2345
となる。
The server side SDN switch transmission source port number table (server_sdn_local_port) holds the tcp / udp port numbers used by the SDN switch in the local network to which the server host belongs. In this table, server_key is used as a key, and the corresponding port number is held as a value. For example, in the example of FIG.
key = SDN3 :: 192.168.0.11: 80
value = 2345
It becomes.

<拠点間経路、ポート番号決定手順>
次に、上記のテーブル構成を前提として、経路/ポート番号の割り当てを行う際に(例:図4のステップS108)、SDN制御装置200(SDNマネージャ)が実行する手順例について、図6Bを参照して説明する。
<Procedure for determining inter-base route and port number>
Next, referring to FIG. 6B for an example of a procedure executed by the SDN control device 200 (SDN manager) when assigning a route / port number (example: step S108 in FIG. 4) on the premise of the above table configuration. To explain.

まず、接続ホストの設定として、client_key(例:SDN1::192.168.0.10)、server_key(例:SDN3::192.168.0.11)を設定する(ステップS11)。   First, client_key (example: SDN1 :: 192.168.0.10) and server_key (example: SDN3 :: 192.168.0.11) are set as connection host settings (step S11).

次に、拠点間経路の一覧の取得を行う(ステップS12)。ここでは、client_key、server_keyから2拠点間の経路(SDNスイッチの外向きのIPアドレスの組)の候補をSDN間経路候補テーブル(inter_sdn_route)から検索する。   Next, a list of routes between bases is acquired (step S12). Here, a candidate for a route (a set of IP addresses facing outward from the SDN switch) between two bases is searched from the inter-SDN route candidate table (inter_sdn_route) from client_key and server_key.

そして、拠点間経路の決定を行う(ステップS13)。ここでは、検索された2拠点間の経路候補の内、予め定められているシステムのパス選択基準(例えば可用帯域が最大の経路)に従って使用経路を選択し、(client_key, server_key)をkeyにしてSDN間経路テーブルinter_sdn_pathに登録する。   Then, the route between bases is determined (step S13). Here, of the route candidates between the two bases searched, the used route is selected according to a predetermined system path selection criterion (for example, the route with the maximum available bandwidth), and (client_key, server_key) is set as the key. Register in the inter-SDN route table inter_sdn_path.

次に、SDNスイッチ間の対応ポート番号の割り当てを行う(ステップS14)。ここでは、(inter_sdn_path, client_key, server_key)をkeyにしてSDN間ポート割当テーブル(inter_sdn_port)を検索し、テーブル内で未使用のポート番号の組合せをランダムに割り当てる。この際、同テーブルの別のkey(inter_sdn_path)内で使用しているポート番号の組合せを使用しても干渉は起こらない。割り当てたポート番号を同テーブルの同keyに追加登録する。   Next, the corresponding port number is assigned between the SDN switches (step S14). Here, the inter-SDN port allocation table (inter_sdn_port) is searched using (inter_sdn_path, client_key, server_key) as a key, and combinations of unused port numbers are randomly allocated in the table. At this time, no interference occurs even if a combination of port numbers used in another key (inter_sdn_path) of the table is used. Add and register the assigned port number to the same key in the same table.

次に、サーバ側SDNスイッチの拠点内の送受信ポート番号の割り当てを行う(ステップS15)。ここでは、server_keyをkeyにしてサーバ側SDNスイッチ送信元ポート番号テーブル(server_sdn_local_port)内を検索し、テーブル内で未使用のポート番号をランダムに割り当てる。この際、同テーブルの別のkey内で使用しているポート番号を使用しても干渉は起こらない。割り当てたポート番号を同テーブルの同keyに追加登録する。   Next, the transmission / reception port number in the base of the server side SDN switch is assigned (step S15). Here, the server-side SDN switch transmission source port number table (server_sdn_local_port) is searched using server_key as a key, and unused port numbers are randomly assigned in the table. At this time, no interference occurs even if a port number used in another key of the table is used. Add and register the assigned port number to the same key in the same table.

ここで、上述した「テーブル内で未使用のポート番号の組合せをランダムに割り当てる。この際、同テーブルの別のkey内で使用しているポート番号の組合せを使用しても干渉は起こらない。」という点について、図6A内の「3. SDN間ポート割当テーブル(inter_sdn_port)」の部分に記載された例を用いて詳しく説明する。   Here, “unused port number combinations in the table are randomly assigned as described above. At this time, even if the port number combinations used in other keys of the table are used, no interference occurs. ”Will be described in detail using an example described in“ 3. Inter-SDN port allocation table (inter_sdn_port) ”in FIG. 6A.

この例では、"(10.0.1.1, 10.0.3.1)"というkeyに対し、その中のエントリー(「(SDN1::192.168.0.10:1234/8080, SDN3::192.168.0.11:80)」)に対して"[6636, 7749]"というポート番号を割り当てている。   In this example, for the key "(10.0.1.1, 10.0.3.1)", enter the entry ("(SDN1 :: 192.168.0.10: 1234/8080, SDN3 :: 192.168.0.11: 80)") On the other hand, the port number "[6636, 7749]" is assigned.

ここで、新たに"(10.0.1.1, 10.0.2.1)"というkeyでエントリー(例えば、「(SDN1::192.168.0.10:5678/8080, SDN2::192.168.10.11:80)」)が追加される場合、上記と同じポート番号"[6636, 7749]"のポートをアサインしても、各SDNスイッチで上記の2種類のフローを(送信元/宛先IPアドレスから)識別できるので問題なく動作する。すなわち、別のkey内で使用しているポート番号の組合せを使用しても干渉は起こらない。   Here, an entry (for example, “(SDN1 :: 192.168.0.10: 5678/8080, SDN2 :: 192.168.10.11: 80)”) with the key “(10.0.1.1, 10.0.2.1)” is added. If the same port number "[6636, 7749]" is assigned, the above two types of flows can be identified (from the source / destination IP address) by each SDN switch, so that it works without problems. . That is, even if a combination of port numbers used in another key is used, no interference occurs.

上記の場合における「SDN間ポート割当テーブル(inter_sdn_port)」は下記の通りとなる。
[
"(10.0.1.1, 10.0.3.1)": { (SDN1::192.168.0.10:1234/8080,SDN3::192.168.0.11:80):[6639,7749] },
"(10.0.1.1, 10.0.2.1)": { (SDN1::192.168.0.10:5678/8080,SDN2::192.168.10.11:80):[6639,7749] }
]
逆に、同じkey、つまり"(10.0.1.1, 10.0.3.1)"内の別エントリー(例えば「(SDN1::192.168.0.20:1234/8080, SDN3::192.168.0.21:80)」)に同じポート番号をアサインしてしまうと、SDNスイッチでこれらのフローを識別できなくなるため、動作しなくなる。すなわち、「SDN間ポート割当テーブル(inter_sdn_port)」が下記の状態になることは許容されない。
[
"(10.0.1.1, 10.0.3.1)": { (SDN1::192.168.0.10:1234/8080,SDN3::192.168.0.11:80):[6639,7749],
(SDN1::192.168.0.20:1234/8080,SDN3::192.168.0.21:80):[6639,7749] }
]
以上、説明したように、本実施の形態では、中間経路で使用されるtcp/updポート番号はクライアントホスト、サーバホスト、及び中間経路を組み合わせたキーによって管理・分離されるため、(1)異なるキーに対しては同一のポート番号割当が可能になり、接続可能数が増大する、(2)同様に、同一ポート使用によるアドレス変換の干渉を同一キー内のテーブルのみに制限できるので、利用可能ポートの検索が高速に可能になる、という利点がある。
The “inter-SDN port allocation table (inter_sdn_port)” in the above case is as follows.
[
"(10.0.1.1, 10.0.3.1)": {(SDN1 :: 192.168.0.10: 1234/8080, SDN3 :: 192.168.0.11: 80): [6639,7749]},
"(10.0.1.1, 10.0.2.1)": {(SDN1 :: 192.168.0.10: 5678/8080, SDN2 :: 192.168.10.11: 80): [6639,7749]}
]
Conversely, the same key, that is, the same as another entry in "(10.0.1.1, 10.0.3.1)" (for example, "(SDN1 :: 192.168.0.20: 1234/8080, SDN3 :: 192.168.0.21: 80)") If the port number is assigned, these flows cannot be identified by the SDN switch, and the operation will not be performed. That is, the “inter-SDN port allocation table (inter_sdn_port)” is not allowed to be in the following state.
[
"(10.0.1.1, 10.0.3.1)": {(SDN1 :: 192.168.0.10: 1234/8080, SDN3 :: 192.168.0.11: 80): [6639,7749],
(SDN1 :: 192.168.0.20: 1234/8080, SDN3 :: 192.168.0.21: 80): [6639,7749]}
]
As described above, in the present embodiment, the tcp / upd port number used in the intermediate route is managed and separated by the key combining the client host, the server host, and the intermediate route. It is possible to assign the same port number to the key and increase the number of connectables. (2) Similarly, it is possible to limit the interference of address translation due to the use of the same port to only the table in the same key. There is an advantage that the port can be searched at high speed.

(第2の実施の形態)
次に、ホスト(アプリケーション)の設定変更なしに、切り替え時のパケットロスを回避し、SDNスイッチ間のNW経路を変更する方法を第2の実施の形態として説明する。
(Second Embodiment)
Next, a method for avoiding packet loss at the time of switching without changing the host (application) setting and changing the NW path between the SDN switches will be described as a second embodiment.

<処理シーケンス例>
図7は、第2の実施の形態に係る動作について、パス切替直後のアドレス変換動作を分かり易く示した図であり、図8は、第2の実施の形態に係る動作を示すシーケンス図である。以下、図8のシーケンス図に沿って説明する。その説明の中で、適宜、図7を参照する。また、図9、図10は、フローテーブルの変化を示しており、図9、図10についてもシーケンスの説明の中で適宜、参照する。図9において、フローテーブルAは、経路切替前を示し、これは、図5と同じである。
<Example of processing sequence>
FIG. 7 is a diagram showing the address conversion operation immediately after path switching in an easy-to-understand manner with respect to the operation according to the second embodiment, and FIG. 8 is a sequence diagram showing the operation according to the second embodiment. . Hereinafter, description will be given along the sequence diagram of FIG. In the description, FIG. 7 will be referred to as appropriate. FIGS. 9 and 10 show changes in the flow table, and FIGS. 9 and 10 are also referred to as appropriate in the description of the sequence. In FIG. 9, the flow table A shows before route switching, which is the same as FIG.

本実施の形態におけるネットワーク構成は図2に示したものと同じであり、始めの状態ではSDN1::192.168.0.10のクライアントホスト10がSDN3::192.168.0.11:80のサーバホスト20に中間経路(10.0.1.1, 10.0.3.1)で接続されている。   The network configuration in the present embodiment is the same as that shown in FIG. 2. In the initial state, the client host 10 of SDN1 :: 192.168.0.10 is connected to the server host 20 of SDN3 :: 192.168.0.11: 80 with an intermediate path ( 10.0.1.1, 10.0.3.1).

ここでシステム運用者が新しい中間経路として(20.0.1.1, 20.0.3.1)の利用を本システムにアサインする。その後、SDN制御装置200(SDNマネージャ)は図6Bに示した手順で新しい経路(20.0.1.1, 20.0.3.1)に用いる対応ポートを割り当てる(図8のステップS201)。ここでは、図6Bに示すステップS14の手順により、SDNスイッチ間の対応ポート番号の割り当てがなされる。   Here, the system operator assigns the use of (20.0.1.1, 20.0.3.1) as a new intermediate route to this system. Thereafter, the SDN control device 200 (SDN manager) allocates a corresponding port to be used for a new route (20.0.1.1, 20.0.3.1) in the procedure shown in FIG. 6B (step S201 in FIG. 8). Here, the corresponding port numbers are assigned between the SDN switches by the procedure of step S14 shown in FIG. 6B.

例えばここでSDN1上の5001番、SDN3上の6001番が割り当てられたとする。その後、SDN制御装置200において、SDNマネージャはSDNコントローラを介して、SDN1、SDN3に対してグローバルIPネットワークからローカルネットワークへ(外から内へ)のパケットに対してアドレス変換のフローエントリーを追加する(ステップS202〜ステップS205)。   For example, it is assumed here that number 5001 on SDN1 and number 6001 on SDN3 are assigned. Thereafter, in the SDN control device 200, the SDN manager adds an address translation flow entry to the packets from the global IP network to the local network (from outside to inside) for SDN1 and SDN3 via the SDN controller ( Steps S202 to S205).

具体的には、図9のフローテーブルBの3段のうちの最下段に示すように、SDN1に対して、接続ポートp3に到着するdst=20.0.1.1:5001, src=20.0.3.1:6001のパケットに対して、dst=192.168.0.10:1234, src=192.168.0.1:8080のアドレス変換を実施した後、接続ポートp2へパケットを転送するフローエントリーが追加される。   Specifically, as shown at the bottom of the three stages of the flow table B of FIG. 9, dst = 20.0.1.1: 5001, src = 20.0.3.1: 6001 arrives at the connection port p3 with respect to SDN1. After performing address translation of dst = 192.168.0.10: 1234, src = 192.168.0.1: 8080 on the packet of, a flow entry for transferring the packet to the connection port p2 is added.

同様にSDN3に対しては、接続ポートp3に到着するdst=20.0.3.1:6001、src=20.0.1.1:5001のパケットに対して、dst=192.168.0.11:80、src=192.168.0.1:2345のアドレス変換を実施した後、接続ポートp2へパケットを転送するフローエントリーが追加される。   Similarly, for SDN3, for the packet with dst = 20.0.3.1: 6001 and src = 20.0.1.1: 5001 arriving at connection port p3, dst = 192.168.0.11: 80, src = 192.168.0.1: 2345 After performing the address translation, a flow entry for transferring the packet to the connection port p2 is added.

続いて、SDN制御装置200において、SDNマネージャはSDNコンントローラを介して、SDN1、SDN3に対してローカルネットワークからグローバルIPネットワークへ(内から外へ)のパケットに対してアドレス変換のフローエントリーを差し替える(図8のステップS206〜S209)。   Subsequently, in the SDN control device 200, the SDN manager replaces a flow entry for address translation for packets from the local network to the global IP network (from inside to outside) for SDN1 and SDN3 via the SDN controller. (Steps S206 to S209 in FIG. 8).

具体的には、図10のフローテーブルCの3段のうちの最上段に示すように、SDN1に対して、接続ポートp2に到着するdst=192.168.0.1:8080、src=192.168.0.10:1234のパケットに対するアクションを下記の通り書き換える。   Specifically, as shown in the top of the three stages of the flow table C in FIG. 10, dst = 192.168.0.1: 8080, src = 192.168.0.10: 1234 arrives at the connection port p2 with respect to SDN1. Rewrite the action for the packet as follows.

旧action: dst=10.0.3.1:7749、src=10.0.1.1:6636へのアドレス変換処理の後、接続ポートp1にパケットを転送する。   After address conversion processing to old action: dst = 10.0.3.1: 7749, src = 10.0.1.1: 6636, the packet is transferred to the connection port p1.

新action: dst=20.0.3.1:6001、src=20.0.1.1:5001へのアドレス変換処理の後、接続ポートp3にパケットを転送する。   After address conversion processing to new action: dst = 20.0.3.1: 6001, src = 20.0.1.1: 5001, the packet is transferred to the connection port p3.

同様に、SDN3に対して、接続ポートp2に到着するdst=192.168.0.1:2345、src=192.168.0.11:80のパケットに対するアクションを下記の通り書き換える。   Similarly, the action for the packet of dst = 192.168.0.1: 2345 and src = 192.168.0.11: 80 arriving at the connection port p2 is rewritten as follows for SDN3.

旧action: dst=10.0.1.1:6636、src=10.0.3.1:7749へのアドレス変換処理の後、接続ポートp1にパケットを転送する。   After address conversion processing to old action: dst = 10.0.1.1: 6636 and src = 10.0.3.1: 7749, the packet is transferred to the connection port p1.

新action: dst=20.0.1.1:5001、src=20.0.3.1:6001へのアドレス変換処理の後、接続ポートp3にパケットを転送する。   After address conversion processing to new action: dst = 20.0.1.1: 5001 and src = 20.0.3.1: 6001, the packet is transferred to connection port p3.

なお、SDN制御装置200から、SDN1、SDN3に送信される指示は、上記の書き換え内容を含む指示となる。   The instruction transmitted from the SDN control device 200 to SDN1 and SDN3 is an instruction including the above-described rewriting content.

続いて、SDN制御装置200(SDNマネージャ)はこの時点で経路変更する以前の経路上にあるパケットの転送完了を待つために、経路変更前のSDN1とSDN3の間の往復伝搬遅延時間(RTT)待機する(図8のステップS210)。その後、SDN制御装置200のSDNマネージャはSDNコンントローラを介して旧経路で用いていたアドレス変換のフローエントリーを削除する(ステップS211〜S214、図10のフローテーブルD)。   Subsequently, the SDN control device 200 (SDN manager) waits for completion of transfer of a packet on the path before the path change at this time, so that the round-trip propagation delay time (RTT) between SDN1 and SDN3 before the path change. Wait (step S210 in FIG. 8). Thereafter, the SDN manager of the SDN control device 200 deletes the address translation flow entry used in the old path via the SDN controller (steps S211 to S214, flow table D in FIG. 10).

以上で、SDNスイッチ間の経路切替が完了する。この切替は、SDNスイッチ上のフローエントリーの操作だけで完了するため、結果として、ホスト(アプリケーション)の設定変更なしに、かつ、切り替え時のパケットロスを回避しつつ、SDNスイッチ間の経路変更が実現される。   This completes the path switching between the SDN switches. This switching is completed only by operating the flow entry on the SDN switch. As a result, the route between SDN switches can be changed without changing the host (application) settings and avoiding packet loss during switching. Realized.

(装置構成)
図11に、これまでに説明した処理動作を行う各装置の構成例を説明する。各SDNスイッチは同様の構成を有するため、図11では、代表として、SDNスイッチ500が示されている。また、図11の例では、ポート割当管理データベース100とSDN制御装置200は別々の装置であるとするが、SDN制御装置200の中にポート割当管理データベース100が備えられていてもよい。
(Device configuration)
FIG. 11 illustrates a configuration example of each apparatus that performs the processing operations described so far. Since each SDN switch has the same configuration, the SDN switch 500 is shown as a representative in FIG. In the example of FIG. 11, it is assumed that the port allocation management database 100 and the SDN control device 200 are separate devices, but the SDN control device 200 may include the port allocation management database 100.

図11に示すように、ポート割当管理データベース100は、SDN間経路候補テーブル保持部101、SDN間経路テーブル保持部102、SDN間ポート割当テーブル103、サーバ側SDNスイッチ送信元ポート番号テーブル保持部104を有する。SDN間経路候補テーブル保持部101は、inter_sdn_routeを保持する。SDN間経路テーブル保持部102は、inter_sdn_pathを保持する。SDN間ポート割当テーブル103は、inter_sdn_portを保持する。サーバ側SDNスイッチ送信元ポート番号テーブル保持部104は、server_sdn_local_portを保持する。   As shown in FIG. 11, the port assignment management database 100 includes an inter-SDN route candidate table holding unit 101, an inter-SDN route table holding unit 102, an inter-SDN port assignment table 103, and a server-side SDN switch transmission source port number table holding unit 104. Have The inter-SDN route candidate table holding unit 101 holds inter_sdn_route. The inter-SDN path table holding unit 102 holds inter_sdn_path. The inter-SDN port allocation table 103 holds inter_sdn_port. The server-side SDN switch transmission source port number table holding unit 104 holds server_sdn_local_port.

SDN制御装置200は、これまでにSDNマネージャとして説明したSDNマネージャ部201と、SDNコントローラとして説明したSDNコントローラ部202を有する。SDNマネージャ部201は、これまでに説明したとおり、ポート割当管理データベース100の各テーブルを参照することで、アドレス変換、ポート割当等を実行する。SDNコントローラ部202は、SDNスイッチに対して各種の指示(フローテーブル変更内容等)を送信する。   The SDN control device 200 includes an SDN manager unit 201 described so far as an SDN manager and an SDN controller unit 202 described as an SDN controller. As described above, the SDN manager unit 201 refers to each table of the port assignment management database 100 to perform address conversion, port assignment, and the like. The SDN controller unit 202 transmits various instructions (flow table change contents, etc.) to the SDN switch.

SDNスイッチ500は、フローエントリー編集部501、フローテーブル保持部502、パケット受信部503、パケットマッチ処理部504、アドレス変換部505、パケット送信部506を有する。   The SDN switch 500 includes a flow entry editing unit 501, a flow table holding unit 502, a packet receiving unit 503, a packet match processing unit 504, an address conversion unit 505, and a packet transmission unit 506.

フローエントリー編集部501は、SDNコントローラ部202からの指示に基づき、フローテーブル保持部502に格納されているフローテーブルを編集(追加、差し替え、削除、修正等)する。パケット受信部502がパケットを受信すると、パケットマッチ処理部504が、パケットの情報(例:受信ポート、宛先/送信元アドレス)と、フローテーブルとを比較し、マッチするエントリーがある場合に、アドレス変換部505が、エントリーのアクションの内容に従って、アドレス変換を行い、指定されたポートに相当するパケット送信部506からパケットを送出する。   The flow entry editing unit 501 edits (adds, replaces, deletes, modifies, etc.) the flow table stored in the flow table holding unit 502 based on an instruction from the SDN controller unit 202. When the packet receiving unit 502 receives a packet, the packet matching processing unit 504 compares the packet information (eg, reception port, destination / source address) with the flow table, and if there is a matching entry, the address The conversion unit 505 performs address conversion according to the content of the action of the entry, and transmits a packet from the packet transmission unit 506 corresponding to the designated port.

図11では、ホストの例としてホスト10を示している。また、スイッチ600は、ホスト10とSDNスイッチ500間でのパケットのスイッチを行う。   FIG. 11 shows the host 10 as an example of the host. The switch 600 switches packets between the host 10 and the SDN switch 500.

本実施の形態におけるSDN制御装置200は、例えば、1つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、SDN制御装置200が有する機能は、当該コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、SDN制御装置200で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。なお、上記のプログラムは、各データベースに関わる機能を含まないこととしてもよい。   The SDN control device 200 in the present embodiment can be realized, for example, by causing one or a plurality of computers to execute a program describing the processing contents described in the present embodiment. That is, the functions of the SDN control device 200 are realized by executing a program corresponding to processing executed by the SDN control device 200 using hardware resources such as a CPU and a memory built in the computer. Is possible. The above-mentioned program can be recorded on a computer-readable recording medium (portable memory or the like), stored, or distributed. It is also possible to provide the program through a network such as the Internet or electronic mail. Note that the above program may not include a function related to each database.

また、SDNスイッチ500についても、1つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。   The SDN switch 500 can also be realized by causing one or a plurality of computers to execute a program describing the processing contents described in the present embodiment.

また、SDN制御装置200とSDNスイッチ500のいずれについても、処理を組み込んだハードウェア回路(集積回路)を用いて実現することも可能である。   Further, both of the SDN control device 200 and the SDN switch 500 can be realized by using a hardware circuit (integrated circuit) incorporating processing.

(実施の形態の効果等)
以上、説明したように、本実施の形態により、ホストが属するローカルネットワークに1台のSDNスイッチが配置され、それぞれのSDNスイッチがIPネットワークを介して直接通信ができるシステムが実現される。また、ホストの設定変更なしに異なるIP空間に配置されたホスト間接続を確立・変更することが可能となる。また、アプリケーションの設定変更なしに、切り替え時のパケットロスを回避し、途中のNW経路を変更することが可能となる。
(Effects of embodiment, etc.)
As described above, according to the present embodiment, a system in which one SDN switch is arranged in a local network to which a host belongs and each SDN switch can directly communicate via an IP network is realized. In addition, it is possible to establish / change connections between hosts arranged in different IP spaces without changing the host settings. Also, without changing the application settings, it is possible to avoid packet loss at the time of switching and change the NW path on the way.

すなわち、本実施の形態では、SDNスイッチを用いることで、アプリケーションリソースとネットワークリソースを分離して管理することにより、アプリケーションの設定変更なしに動的にホスト間の接続変更、負荷分散追加割当、中間ネットワークパス経路の変更を実現することができる。   That is, in this embodiment, by using an SDN switch, application resources and network resources are separated and managed, so that connection changes between hosts, load distribution additional allocation, intermediate It is possible to change the network path route.

(実施の形態のまとめ)
本実施の形態によれば、SDN制御装置と、第1ホストと通信を行う第1SDNスイッチと、第2ホストと通信を行う第2SDNスイッチとを備えるパケット通信システムであって、前記SDN制御装置が、前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対してパケットのアドレス変換ルールを指定し、前記第1SDNスイッチは、前記第1ホストから前記第1SDNスイッチ宛てのパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2SDNスイッチに送信し、前記第2SDNスイッチは、前記第1SDNスイッチからパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2ホストに送信するパケット通信システムが提供される。
(Summary of embodiment)
According to the present embodiment, there is provided a packet communication system comprising an SDN control device, a first SDN switch that communicates with a first host, and a second SDN switch that communicates with a second host, wherein the SDN control device is A packet address translation rule is designated for each of the first SDN switch and the second SDN switch, the first SDN switch receives a packet addressed to the first SDN switch from the first host, and the SDN control device The address of the packet is rewritten in accordance with the address conversion rule specified by, the packet with the rewritten address is transmitted to the second SDN switch, the second SDN switch receives the packet from the first SDN switch, and the SDN control Rewrite the address of the packet according to the address conversion rule specified by the device, and rewrite the address. Packet communication system is provided for transmitting the resulting packets to the second host.

前記SDN制御装置は、前記第1SDNスイッチと前記第2SDNスイッチとの間で利用可能な候補経路の情報を、ホストが接続されるローカルネットワークの名前を名前空間として使用したキーとともに格納した候補経路テーブルを参照し、前記第1ホストと前記第2ホストに対応するキーに基づき、前記候補経路テーブルから候補経路を取得し、当該候補経路から、前記第1ホストと前記第2ホストとの間の通信に利用する経路を選択する。   The SDN control device stores information on candidate routes that can be used between the first SDN switch and the second SDN switch together with a key that uses the name of the local network to which the host is connected as a name space. And obtaining a candidate route from the candidate route table based on the keys corresponding to the first host and the second host, and communication between the first host and the second host from the candidate route. Select the route to use.

前記SDN制御装置は、前記第1SDNスイッチのポート番号と前記第2SDNスイッチのポート番号の組合せを、前記第1SDNスイッチと前記第2SDNスイッチとの間の経路の情報と、ホストが接続されるローカルネットワークの名前とを有するキーとともに格納したポート割当テーブルを参照し、前記第1ホストと前記第2ホストとの間の通信に対応するキーに基づき、前記ポート割当テーブルを検索し、当該ポート割当テーブル内で未使用のポート番号の組合せを、前記第1ホストと前記第2ホストとの間の通信に利用するポート番号の組合せとして決定する。   The SDN control device includes a combination of a port number of the first SDN switch and a port number of the second SDN switch, information on a path between the first SDN switch and the second SDN switch, and a local network to which a host is connected. The port allocation table stored together with the key having the name of the first port is referred to, the port allocation table is searched based on the key corresponding to the communication between the first host and the second host, and the port allocation table A combination of unused port numbers is determined as a combination of port numbers used for communication between the first host and the second host.

前記第1ホストと前記第2ホストとの間の通信における、前記第1SDNスイッチと前記第2SDNスイッチとの間の経路を新たな経路に変更する場合に、前記SDN制御装置は、前記ポート割当テーブルを検索することにより、新たな経路に対応するポート番号の組合せを決定し、当該組み合わせを含むアドレス変換ルールを、前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対して指定する。   In the communication between the first host and the second host, when the path between the first SDN switch and the second SDN switch is changed to a new path, the SDN controller is configured to use the port allocation table. Is searched, a combination of port numbers corresponding to the new route is determined, and an address translation rule including the combination is designated for each of the first SDN switch and the second SDN switch.

また、本実施の形態によれば、SDN制御装置と、第1ホストと通信を行う第1SDNスイッチと、第2ホストと通信を行う第2SDNスイッチとを備えるパケット通信システムにおいて使用される前記SDN制御装置であって、前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対してパケットのアドレス変換ルールを指定する手段を備え、前記第1ホストから前記第1SDNスイッチ宛てのパケットを受信した前記第1SDNスイッチを、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2SDNスイッチに送信するように動作させ、前記第1SDNスイッチからパケットを受信した前記第2SDNスイッチを、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2ホストに送信するように動作させるSDN制御装置が提供される。   According to the present embodiment, the SDN control used in a packet communication system comprising an SDN control device, a first SDN switch that communicates with the first host, and a second SDN switch that communicates with the second host. A first SDN switch, comprising: means for designating a packet address translation rule for each of the first SDN switch and the second SDN switch, wherein the first SDN switch receives a packet addressed to the first SDN switch from the first host; In accordance with the address conversion rule specified by the SDN control device, rewrites the address of the packet, operates to transmit the packet with the rewritten address to the second SDN switch, and receives the packet from the first SDN switch. The second SDN switch is set according to the address translation rule specified by the SDN control device. Rewrites the address of the packet, SDN controller operates to transmit the address is rewritten packet to the second host is provided.

前記SDN制御装置は、前記第1SDNスイッチのポート番号と前記第2SDNスイッチのポート番号の組合せを、前記第1SDNスイッチと前記第2SDNスイッチとの間の経路の情報と、ホストが接続されるローカルネットワークの名前とを有するキーとともに格納したポート割当テーブルを参照する手段と、前記第1ホストと前記第2ホストとの間の通信に対応するキーに基づき、前記ポート割当テーブルを検索し、当該ポート割当テーブル内で未使用のポート番号の組合せを、前記第1ホストと前記第2ホストとの間の通信に利用するポート番号の組合せとして決定する手段とを備える。   The SDN control device includes a combination of a port number of the first SDN switch and a port number of the second SDN switch, information on a path between the first SDN switch and the second SDN switch, and a local network to which a host is connected. The port allocation table is searched based on means for referring to the port allocation table stored together with the key having the name of the key and the key corresponding to the communication between the first host and the second host, and the port allocation Means for determining a combination of unused port numbers in the table as a combination of port numbers used for communication between the first host and the second host.

本実施の形態により、ホストの設定変更を行うことなく、異なるローカルネットワークに配置されたホスト間接続の確立および変更を動的に行うことができる。   According to the present embodiment, it is possible to dynamically establish and change connections between hosts arranged in different local networks without changing host settings.

以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.

10 クライアントホスト
20 サーバホスト
100 ポート割当管理データベース部
101 SDN間経路候補テーブル保持部
102 SDN間経路テーブル保持部
103 SDN間ポート割当テーブル
104 サーバ側SDNスイッチ送信元ポート番号テーブル保持部
200 SDN制御装置
201 SDNマネージャ部
202 SDNコントローラ部
300、400 ネットワーク
500 SDNスイッチ
501 フローエントリー編集部
502 フローテーブル保持部
503 パケット受信部
504 パケットマッチ処理部
505 アドレス変換部
506 パケット送信部
600 スイッチ
10 Client Host 20 Server Host 100 Port Assignment Management Database Unit 101 Inter-SDN Route Candidate Table Holding Unit 102 Inter-SDN Route Table Holding Unit 103 Inter-SDN Port Assignment Table 104 Server-side SDN Switch Source Port Number Table Holding Unit 200 SDN Controller 201 SDN manager unit 202 SDN controller unit 300, 400 Network 500 SDN switch 501 Flow entry editing unit 502 Flow table holding unit 503 Packet reception unit 504 Packet match processing unit 505 Address conversion unit 506 Packet transmission unit 600 Switch

Claims (9)

SDN制御装置と、第1ホストと通信を行う第1SDNスイッチと、第2ホストと通信を行う第2SDNスイッチとを備え
前記SDN制御装置が、前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対してパケットのアドレス変換ルールを指定し、
前記第1SDNスイッチは、前記第1ホストから前記第1SDNスイッチ宛てのパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2SDNスイッチに送信し、
前記第2SDNスイッチは、前記第1SDNスイッチからパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2ホストに送信する
パケット通信システムにおいて、
前記SDN制御装置は、
前記第1SDNスイッチと前記第2SDNスイッチとの間で利用可能な候補経路の情報を、ホストが接続されるローカルネットワークの名前を名前空間として使用したキーとともに格納した候補経路テーブルを参照し、前記第1ホストと前記第2ホストに対応するキーに基づき、前記候補経路テーブルから候補経路を取得し、当該候補経路から、前記第1ホストと前記第2ホストとの間の通信に利用する経路を選択する
ことを特徴とするパケット通信システム。
An SDN controller, a first SDN switch for communicating with the first host, and a second SDN switch for communicating with the second host ,
The SDN control device designates a packet address translation rule for each of the first SDN switch and the second SDN switch,
The first SDN switch receives a packet addressed to the first SDN switch from the first host, rewrites the address of the packet according to an address translation rule specified by the SDN control device, and rewrites the packet with the rewritten address. To the second SDN switch,
The second SDN switch receives a packet from the first SDN switch, rewrites the address of the packet according to an address translation rule specified by the SDN control device, and transmits the packet with the rewritten address to the second host.
In packet communication systems,
The SDN controller is
A candidate route table storing information on candidate routes available between the first SDN switch and the second SDN switch together with a key using a name of a local network to which a host is connected as a name space; Based on a key corresponding to one host and the second host, a candidate route is obtained from the candidate route table, and a route used for communication between the first host and the second host is selected from the candidate route. packet communication system, characterized by.
SDN制御装置と、第1ホストと通信を行う第1SDNスイッチと、第2ホストと通信を行う第2SDNスイッチとを備え
前記SDN制御装置が、前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対してパケットのアドレス変換ルールを指定し、
前記第1SDNスイッチは、前記第1ホストから前記第1SDNスイッチ宛てのパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2SDNスイッチに送信し、
前記第2SDNスイッチは、前記第1SDNスイッチからパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2ホストに送信する
パケット通信システムにおいて、
前記SDN制御装置は、
前記第1SDNスイッチのポート番号と前記第2SDNスイッチのポート番号の組合せを、前記第1SDNスイッチと前記第2SDNスイッチとの間の経路の情報と、ホストが接続されるローカルネットワークの名前とを有するキーとともに格納したポート割当テーブルを参照し、前記第1ホストと前記第2ホストとの間の通信に対応するキーに基づき、前記ポート割当テーブルを検索し、当該ポート割当テーブル内で未使用のポート番号の組合せを、前記第1ホストと前記第2ホストとの間の通信に利用するポート番号の組合せとして決定する
ことを特徴とするパケット通信システム。
An SDN controller, a first SDN switch for communicating with the first host, and a second SDN switch for communicating with the second host ,
The SDN control device designates a packet address translation rule for each of the first SDN switch and the second SDN switch,
The first SDN switch receives a packet addressed to the first SDN switch from the first host, rewrites the address of the packet according to an address translation rule specified by the SDN control device, and rewrites the packet with the rewritten address. To the second SDN switch,
The second SDN switch receives a packet from the first SDN switch, rewrites the address of the packet according to an address translation rule specified by the SDN control device, and transmits the packet with the rewritten address to the second host.
In packet communication systems,
The SDN controller is
A key having a combination of a port number of the first SDN switch and a port number of the second SDN switch, information on a path between the first SDN switch and the second SDN switch, and a name of a local network to which a host is connected The port allocation table stored together with the port allocation table is searched based on the key corresponding to the communication between the first host and the second host, and an unused port number in the port allocation table is searched. Is determined as a combination of port numbers used for communication between the first host and the second host .
前記第1ホストと前記第2ホストとの間の通信における、前記第1SDNスイッチと前記第2SDNスイッチとの間の経路を新たな経路に変更する場合に、
前記SDN制御装置は、前記ポート割当テーブルを検索することにより、新たな経路に対応するポート番号の組合せを決定し、当該組合わせを含むアドレス変換ルールを、前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対して指定する
ことを特徴とする請求項に記載のパケット通信システム。
When changing the path between the first SDN switch and the second SDN switch in the communication between the first host and the second host to a new path,
The SDN control device determines a combination of port numbers corresponding to a new route by searching the port allocation table, and determines an address conversion rule including the combination of the first SDN switch and the second SDN switch. The packet communication system according to claim 2 , wherein the packet communication system is designated for each.
SDN制御装置と、第1ホストと通信を行う第1SDNスイッチと、第2ホストと通信を行う第2SDNスイッチとを備えるパケット通信システム実行され
前記SDN制御装置が、前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対してパケットのアドレス変換ルールを指定するステップと、
前記第1SDNスイッチが、前記第1ホストから前記第1SDNスイッチ宛てのパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2SDNスイッチに送信するステップと、
前記第2SDNスイッチが、前記第1SDNスイッチからパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2ホストに送信するステップと
を備えるパケット通信方法において、
前記SDN制御装置は、
前記第1SDNスイッチと前記第2SDNスイッチとの間で利用可能な候補経路の情報を、ホストが接続されるローカルネットワークの名前を名前空間として使用したキーとともに格納した候補経路テーブルを参照し、前記第1ホストと前記第2ホストに対応するキーに基づき、前記候補経路テーブルから候補経路を取得し、当該候補経路から、前記第1ホストと前記第2ホストとの間の通信に利用する経路を選択する
ことを特徴とするパケット通信方法。
And SDN controller, a first 1SDN switch for communicating with the first host, runs in a packet communication system and a second 2SDN switch for communicating with a second host,
The SDN control device designating a packet address translation rule for each of the first SDN switch and the second SDN switch;
The first SDN switch receives a packet addressed to the first SDN switch from the first host, rewrites the address of the packet according to an address translation rule designated by the SDN control device, and rewrites the packet with the rewritten address. Sending to the second SDN switch;
The second SDN switch receives a packet from the first SDN switch, rewrites the address of the packet in accordance with an address conversion rule specified by the SDN control device, and transmits the packet with the rewritten address to the second host. A packet communication method comprising:
The SDN controller is
A candidate route table storing information on candidate routes available between the first SDN switch and the second SDN switch together with a key using a name of a local network to which a host is connected as a name space; Based on a key corresponding to one host and the second host, a candidate route is obtained from the candidate route table, and a route used for communication between the first host and the second host is selected from the candidate route. packet communication method characterized by.
SDN制御装置と、第1ホストと通信を行う第1SDNスイッチと、第2ホストと通信を行う第2SDNスイッチとを備えるパケット通信システム実行され
前記SDN制御装置が、前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対してパケットのアドレス変換ルールを指定するステップと、
前記第1SDNスイッチが、前記第1ホストから前記第1SDNスイッチ宛てのパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2SDNスイッチに送信するステップと、
前記第2SDNスイッチが、前記第1SDNスイッチからパケットを受信し、前記SDN制御装置から指定されたアドレス変換ルールに従って、当該パケットのアドレスを書き換え、アドレスが書き換えられたパケットを前記第2ホストに送信するステップと
を備えるパケット通信方法において、
前記SDN制御装置は、
前記第1SDNスイッチのポート番号と前記第2SDNスイッチのポート番号の組合せを、前記第1SDNスイッチと前記第2SDNスイッチとの間の経路の情報と、ホストが接続されるローカルネットワークの名前とを有するキーとともに格納したポート割当テーブルを参照し、前記第1ホストと前記第2ホストとの間の通信に対応するキーに基づき、前記ポート割当テーブルを検索し、当該ポート割当テーブル内で未使用のポート番号の組合せを、前記第1ホストと前記第2ホストとの間の通信に利用するポート番号の組合せとして決定する
ことを特徴とするパケット通信方法。
And SDN controller, a first 1SDN switch for communicating with the first host, runs in a packet communication system and a second 2SDN switch for communicating with a second host,
The SDN control device designating a packet address translation rule for each of the first SDN switch and the second SDN switch;
The first SDN switch receives a packet addressed to the first SDN switch from the first host, rewrites the address of the packet according to an address translation rule designated by the SDN control device, and rewrites the packet with the rewritten address. Sending to the second SDN switch;
The second SDN switch receives a packet from the first SDN switch, rewrites the address of the packet in accordance with an address conversion rule specified by the SDN control device, and transmits the packet with the rewritten address to the second host. A packet communication method comprising:
The SDN controller is
A key having a combination of a port number of the first SDN switch and a port number of the second SDN switch, information on a path between the first SDN switch and the second SDN switch, and a name of a local network to which a host is connected The port allocation table stored together with the port allocation table is searched based on the key corresponding to the communication between the first host and the second host, and an unused port number in the port allocation table is searched. A combination of port numbers used for communication between the first host and the second host .
SDN制御装置と、第1ホストと通信を行う第1SDNスイッチと、第2ホストと通信を行う第2SDNスイッチとを備えるパケット通信システム使用され
前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対してパケットのアドレス変換ルールを指定する手段を備え、
前記第1SDNスイッチに対する前記アドレス変換ルールは、前記第1ホストから前記第1SDNスイッチ宛てのパケットを受信した前記第1SDNスイッチに、当該パケットのアドレスを書き換えさせ、アドレスが書き換えられたパケットを前記第2SDNスイッチに送信させるものであり
前記第2SDNスイッチに対する前記アドレス変換ルールは、前記第1SDNスイッチからパケットを受信した前記第2SDNスイッチに、当該パケットのアドレスを書き換えさせ、アドレスが書き換えられたパケットを前記第2ホストに送信させるものである
前記SDN制御装置において、
前記第1SDNスイッチと前記第2SDNスイッチとの間で利用可能な候補経路の情報を、ホストが接続されるローカルネットワークの名前を名前空間として使用したキーとともに格納した候補経路テーブルを参照し、前記第1ホストと前記第2ホストに対応するキーに基づき、前記候補経路テーブルから候補経路を取得し、当該候補経路から、前記第1ホストと前記第2ホストとの間の通信に利用する経路を選択する
ことを特徴とするSDN制御装置。
And SDN controller, a first 1SDN switch for communicating with the first host, is used in a packet communication system comprising a first 2SDN switch for communicating with a second host,
Means for designating a packet address translation rule for each of the first SDN switch and the second SDN switch;
It said address translation rule for said first 1SDN switch is in said second 1SDN switch receives a packet of the first 1SDN switch destined from the first host, to rewrite the address of the person the packet, wherein the address is rewritten packet No. 2 to send to SDN switch,
It said address translation rule for said first 2SDN switch, to the first 2SDN switch receives a packet from the first 1SDN switch, which is rewritten addresses of those said packets, to transmit the address is rewritten packet to the second host Is
In the SDN control device,
A candidate route table storing information on candidate routes available between the first SDN switch and the second SDN switch together with a key using a name of a local network to which a host is connected as a name space; Based on a key corresponding to one host and the second host, a candidate route is obtained from the candidate route table, and a route used for communication between the first host and the second host is selected from the candidate route. An SDN control device characterized by that.
SDN制御装置と、第1ホストと通信を行う第1SDNスイッチと、第2ホストと通信を行う第2SDNスイッチとを備えるパケット通信システム使用され
前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対してパケットのアドレス変換ルールを指定する手段を備え、
前記第1SDNスイッチに対する前記アドレス変換ルールは、前記第1ホストから前記第1SDNスイッチ宛てのパケットを受信した前記第1SDNスイッチに、当該パケットのアドレスを書き換えさせ、アドレスが書き換えられたパケットを前記第2SDNスイッチに送信させるものであり
前記第2SDNスイッチに対する前記アドレス変換ルールは、前記第1SDNスイッチからパケットを受信した前記第2SDNスイッチに、当該パケットのアドレスを書き換えさせ、アドレスが書き換えられたパケットを前記第2ホストに送信させるものである
前記SDN制御装置において、
前記第1SDNスイッチのポート番号と前記第2SDNスイッチのポート番号の組合せを、前記第1SDNスイッチと前記第2SDNスイッチとの間の経路の情報と、ホストが接続されるローカルネットワークの名前とを有するキーとともに格納したポート割当テーブルを参照し、前記第1ホストと前記第2ホストとの間の通信に対応するキーに基づき、前記ポート割当テーブルを検索し、当該ポート割当テーブル内で未使用のポート番号の組合せを、前記第1ホストと前記第2ホストとの間の通信に利用するポート番号の組合せとして決定する
ことを特徴とするSDN制御装置。
And SDN controller, a first 1SDN switch for communicating with the first host, is used in a packet communication system comprising a first 2SDN switch for communicating with a second host,
Means for designating a packet address translation rule for each of the first SDN switch and the second SDN switch;
It said address translation rule for said first 1SDN switch is in said second 1SDN switch receives a packet of the first 1SDN switch destined from the first host, to rewrite the address of the person the packet, wherein the address is rewritten packet No. 2 to send to SDN switch,
It said address translation rule for said first 2SDN switch, to the first 2SDN switch receives a packet from the first 1SDN switch, which is rewritten addresses of those said packets, to transmit the address is rewritten packet to the second host Is
In the SDN control device,
A key having a combination of a port number of the first SDN switch and a port number of the second SDN switch, information on a path between the first SDN switch and the second SDN switch, and a name of a local network to which a host is connected The port allocation table stored together with the port allocation table is searched based on the key corresponding to the communication between the first host and the second host, and an unused port number in the port allocation table is searched. Is determined as a combination of port numbers used for communication between the first host and the second host .
コンピュータを、
SDN制御装置と、第1ホストと通信を行う第1SDNスイッチと、第2ホストと通信を行う第2SDNスイッチとを備えるパケット通信システムで使用される前記SDN制御装置における、前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対してパケットのアドレス変換ルールを指定する手段として機能させ
前記第1SDNスイッチに対する前記アドレス変換ルールは、前記第1ホストから前記第1SDNスイッチ宛てのパケットを受信した前記第1SDNスイッチに、当該パケットのアドレスを書き換えさせ、アドレスが書き換えられたパケットを前記第2SDNスイッチに送信させるものであり、
前記第2SDNスイッチに対する前記アドレス変換ルールは、前記第1SDNスイッチからパケットを受信した前記第2SDNスイッチに、当該パケットのアドレスを書き換えさせ、アドレスが書き換えられたパケットを前記第2ホストに送信させるものである
プログラムにおいて、前記コンピュータを、
前記第1SDNスイッチと前記第2SDNスイッチとの間で利用可能な候補経路の情報を、ホストが接続されるローカルネットワークの名前を名前空間として使用したキーとともに格納した候補経路テーブルを参照し、前記第1ホストと前記第2ホストに対応するキーに基づき、前記候補経路テーブルから候補経路を取得し、当該候補経路から、前記第1ホストと前記第2ホストとの間の通信に利用する経路を選択するように機能させる
ことを特徴とするプログラム。
Computer
In the SDN control device used in a packet communication system comprising an SDN control device, a first SDN switch that communicates with a first host, and a second SDN switch that communicates with a second host, the first SDN switch and the first It functions as a means to specify packet address translation rules for each of the two SDN switches ,
The address translation rule for the first SDN switch causes the first SDN switch that has received a packet addressed to the first SDN switch from the first host to rewrite the address of the packet, and the packet with the rewritten address is the second SDN. To send to the switch,
The address translation rule for the second SDN switch causes the second SDN switch that has received a packet from the first SDN switch to rewrite the address of the packet and transmit the packet with the rewritten address to the second host. is there
In the program, the computer is
A candidate route table storing information on candidate routes available between the first SDN switch and the second SDN switch together with a key using a name of a local network to which a host is connected as a name space; Based on a key corresponding to one host and the second host, a candidate route is obtained from the candidate route table, and a route used for communication between the first host and the second host is selected from the candidate route. To function
A program characterized by that .
コンピュータを、
SDN制御装置と、第1ホストと通信を行う第1SDNスイッチと、第2ホストと通信を行う第2SDNスイッチとを備えるパケット通信システムで使用される前記SDN制御装置における、前記第1SDNスイッチと前記第2SDNスイッチのそれぞれに対してパケットのアドレス変換ルールを指定する手段として機能させ
前記第1SDNスイッチに対する前記アドレス変換ルールは、前記第1ホストから前記第1SDNスイッチ宛てのパケットを受信した前記第1SDNスイッチに、当該パケットのアドレスを書き換えさせ、アドレスが書き換えられたパケットを前記第2SDNスイッチに送信させるものであり、
前記第2SDNスイッチに対する前記アドレス変換ルールは、前記第1SDNスイッチからパケットを受信した前記第2SDNスイッチに、当該パケットのアドレスを書き換えさせ、アドレスが書き換えられたパケットを前記第2ホストに送信させるものである
プログラムにおいて、前記コンピュータを、
前記第1SDNスイッチのポート番号と前記第2SDNスイッチのポート番号の組合せを、前記第1SDNスイッチと前記第2SDNスイッチとの間の経路の情報と、ホストが接続されるローカルネットワークの名前とを有するキーとともに格納したポート割当テーブルを参照し、前記第1ホストと前記第2ホストとの間の通信に対応するキーに基づき、前記ポート割当テーブルを検索し、当該ポート割当テーブル内で未使用のポート番号の組合せを、前記第1ホストと前記第2ホストとの間の通信に利用するポート番号の組合せとして決定するように機能させる
ことを特徴とするプログラム。
Computer
In the SDN control device used in a packet communication system comprising an SDN control device, a first SDN switch that communicates with a first host, and a second SDN switch that communicates with a second host, the first SDN switch and the first It functions as a means to specify packet address translation rules for each of the two SDN switches ,
The address translation rule for the first SDN switch causes the first SDN switch that has received a packet addressed to the first SDN switch from the first host to rewrite the address of the packet, and the packet with the rewritten address is the second SDN. To send to the switch,
The address translation rule for the second SDN switch causes the second SDN switch that has received a packet from the first SDN switch to rewrite the address of the packet and transmit the packet with the rewritten address to the second host. is there
In the program, the computer is
A key having a combination of a port number of the first SDN switch and a port number of the second SDN switch, information on a path between the first SDN switch and the second SDN switch, and a name of a local network to which a host is connected The port allocation table stored together with the port allocation table is searched based on the key corresponding to the communication between the first host and the second host, and an unused port number in the port allocation table is searched. Is determined as a combination of port numbers used for communication between the first host and the second host.
A program characterized by that .
JP2016001392A 2016-01-06 2016-01-06 Packet communication system, SDN control device, packet communication method, and program Active JP6162831B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016001392A JP6162831B2 (en) 2016-01-06 2016-01-06 Packet communication system, SDN control device, packet communication method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016001392A JP6162831B2 (en) 2016-01-06 2016-01-06 Packet communication system, SDN control device, packet communication method, and program

Publications (2)

Publication Number Publication Date
JP6162831B2 true JP6162831B2 (en) 2017-07-12
JP2017123557A JP2017123557A (en) 2017-07-13

Family

ID=59306737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016001392A Active JP6162831B2 (en) 2016-01-06 2016-01-06 Packet communication system, SDN control device, packet communication method, and program

Country Status (1)

Country Link
JP (1) JP6162831B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110768911A (en) * 2018-07-27 2020-02-07 深信服科技股份有限公司 Efficient flow guiding method, device, equipment, system and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110768911A (en) * 2018-07-27 2020-02-07 深信服科技股份有限公司 Efficient flow guiding method, device, equipment, system and storage medium
CN110768911B (en) * 2018-07-27 2023-05-12 深信服科技股份有限公司 Method, device, equipment, system and storage medium for efficient flow drainage

Also Published As

Publication number Publication date
JP2017123557A (en) 2017-07-13

Similar Documents

Publication Publication Date Title
US11088872B2 (en) Servicing packets in a virtual network and a software-defined network (SDN)
JP6087922B2 (en) Communication control method and gateway
EP3466037B1 (en) Subnet stretching via layer three communications
CN108347493B (en) Hybrid cloud management method and device and computing equipment
US20150358232A1 (en) Packet Forwarding Method and VXLAN Gateway
WO2016062140A1 (en) Method and apparatus for implementing interworking between virtual private cloud network and external network
US10574570B2 (en) Communication processing method and apparatus
CN112511432B (en) Method and system for configuring and transmitting virtualization SFC (Small form factor) route of Overlay network
US20150200910A1 (en) Control apparatus and transfer control method
JP2016092530A (en) Administrative server route control method, and administrative server
JPWO2014142278A1 (en) Control device, communication system, communication method, and program
CN116248595B (en) Method, device, equipment and medium for communication between cloud intranet and physical network
CN105657078A (en) Data transmission method, data transmission device and multi-layer network manager
JP6162831B2 (en) Packet communication system, SDN control device, packet communication method, and program
WO2016173196A1 (en) Method and apparatus for learning address mapping relationship
JP5505707B2 (en) Network system and operation method thereof
CN111800340B (en) Data packet forwarding method and device
JP2017175522A (en) Network system, control device, method and program
CN107508845B (en) Networking system, network sharing method and system
JP2019075785A (en) Computer device and operation method thereof, and cloud network system
KR102481623B1 (en) address management method and system for applications in LISP-based distributed container virtualization environment
US20230087723A1 (en) Communication apparatus, communication system, communication method and program
CN117278395A (en) Network configuration method and server in container cloud platform environment
CN117880097A (en) Cloud tenant EIP migration method and device, computer equipment and storage medium
CN115913819A (en) Communication method and related device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170529

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170615

R150 Certificate of patent or registration of utility model

Ref document number: 6162831

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150