JP2016178530A - Communication system, communication terminal, communication method, and program - Google Patents

Communication system, communication terminal, communication method, and program Download PDF

Info

Publication number
JP2016178530A
JP2016178530A JP2015058153A JP2015058153A JP2016178530A JP 2016178530 A JP2016178530 A JP 2016178530A JP 2015058153 A JP2015058153 A JP 2015058153A JP 2015058153 A JP2015058153 A JP 2015058153A JP 2016178530 A JP2016178530 A JP 2016178530A
Authority
JP
Japan
Prior art keywords
packet
switch
communication
socket
switch unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015058153A
Other languages
Japanese (ja)
Inventor
小林 宰
Tsukasa Kobayashi
宰 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2015058153A priority Critical patent/JP2016178530A/en
Publication of JP2016178530A publication Critical patent/JP2016178530A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To also allow a communication terminal to use a communication network other than a communication network to which a physical IF provided in the communication terminal is connected.SOLUTION: A communication system includes a communication terminal (10) and a switch (20). The communication terminal (10) includes a controller unit (11), a first physical IF (12-1) connected to the switch (20), and communication applications (#1 to #N). The switch (20) includes a first switch unit (21), a second physical IF (22-1) connected to the communication terminal (10), and third physical IFs (22-2 to 22-3). The controller unit (11) sets a processing content when receiving a packet generated in each communication application (#1 to #N) to the first switch unit (21). The first switch part (21), on receiving the packet generated in each communication application (#1 to #N), processes the packet according to the processing content set by the controller unit (11).SELECTED DRAWING: Figure 1

Description

本発明は、通信システム、通信端末、通信方法、プログラムに関し、特に、通信アプリケーションで発生したパケットを処理する通信システム、通信端末、通信方法、プログラムに関する。   The present invention relates to a communication system, a communication terminal, a communication method, and a program, and more particularly, to a communication system, a communication terminal, a communication method, and a program for processing a packet generated in a communication application.

近年、集中制御型のネットワークアーキテクチャが提案されている。集中制御型のネットワークアーキテクチャの例として、オープンフロー(OpenFlow)と呼ばれる技術がある。オープンフローは、オープンフローコントローラ(OpenFlow Controller)と、オープンフロースイッチ(OpenFlow Switch)と、で実現される。   In recent years, a centralized control type network architecture has been proposed. As an example of a centralized control type network architecture, there is a technology called OpenFlow. OpenFlow is realized by an OpenFlow Controller and an OpenFlow Switch.

オープンフローコントローラは、オープンフロースイッチで受信するパケットの処理内容(送信、送信せずに破棄等)をオープンフロースイッチに設定する。オープンフロースイッチは、パケットを受信した場合、そのパケットの処理内容がオープンフローコントローラにより設定されていれば、その処理内容に従って、そのパケットを処理する。   The OpenFlow controller sets the processing content (transmission, discard without sending) of the packet received by the OpenFlow switch in the OpenFlow switch. When the OpenFlow switch receives a packet, if the processing content of the packet is set by the OpenFlow controller, the OpenFlow switch processes the packet according to the processing content.

ここで、オープンフローの実装態様としては、通信端末にオープンフロースイッチを搭載し、ネットワーク上のオープンフローコントローラが通信端末上のオープンフロースイッチを制御(受信パケットの処理内容を設定)する態様がある。また、最近は、単一の通信端末にオープンフローコントローラ及びオープンフロースイッチの双方を搭載する事で、通信端末に搭載されている複数の無線通信を自律的に制御する方法が提案されている(非特許文献1)。非特許文献1によれば、例えば、通信端末の通信アプリケーションで発生したパケット(フロー)については、同じ通信端末のオープンフローコントローラが処理内容を設定している。これにより、オープンフローコントローラによる制御のスケーラビリティの向上を図ることができる。また、非特許文献1によれば、通信端末の通信アプリケーションでフローを識別することとし、通信アプリケーション毎のフロー制御を行っている。具体的には、通信アプリケーション毎に、その通信アプリケーションで発生したパケットの送信に利用する通信網を設定している。   Here, as an implementation mode of OpenFlow, there is an embodiment in which an OpenFlow switch is mounted on a communication terminal, and an OpenFlow controller on the network controls the OpenFlow switch on the communication terminal (sets the processing contents of the received packet). . Recently, a method for autonomously controlling a plurality of wireless communications mounted on a communication terminal by mounting both an OpenFlow controller and an OpenFlow switch on a single communication terminal has been proposed ( Non-patent document 1). According to Non-Patent Document 1, for example, for a packet (flow) generated in a communication application of a communication terminal, the open flow controller of the same communication terminal sets the processing content. Thereby, it is possible to improve the scalability of control by the open flow controller. According to Non-Patent Document 1, a flow is identified by a communication application of a communication terminal, and flow control is performed for each communication application. Specifically, for each communication application, a communication network used for transmission of packets generated by the communication application is set.

飯星貴裕、渡邊義和、森田弦、才田好則、狩野秀一、「OpenFlowによる移動端末通信制御のスケーラビリティ向上方式とその実装」、信学技報、社団法人 電子情報通信学会、Vol.112、No.463(NS2012 165−289)、pp.477−482、2013年2月28日Takahiro Iiboshi, Yoshikazu Watanabe, Gen Morita, Yoshinori Saita, Shuichi Kano, “Scalability improvement method and implementation of mobile terminal communication control by OpenFlow”, IEICE Technical Report, The Institute of Electronics, Information and Communication Engineers, Vol. 112, no. 463 (NS2012 165-289), pp. 477-482, February 28, 2013

非特許文献1によれば、通信端末の通信アプリケーションで発生したパケット(フロー)については、同じ通信端末のオープンフローコントローラが処理内容を設定することができる。また、このとき、通信アプリケーション毎に、その通信アプリケーションで発生したパケットの送信に利用する通信網を設定することができる。
ただし、通信端末が利用可能な通信網は、その通信端末が備える物理IF(Interface)が接続される通信網だけとなる。また、通信端末が備える物理IFの数には限りがある。
そのため、通信端末は、その通信端末が備える物理IFが接続される、限られた数の通信網しか利用することができないという問題がある。
According to Non-Patent Document 1, the OpenFlow controller of the same communication terminal can set the processing content for a packet (flow) generated by the communication application of the communication terminal. At this time, for each communication application, it is possible to set a communication network used for transmission of a packet generated by the communication application.
However, a communication network that can be used by a communication terminal is only a communication network to which a physical IF (Interface) included in the communication terminal is connected. Further, the number of physical IFs provided in the communication terminal is limited.
Therefore, there is a problem that the communication terminal can use only a limited number of communication networks to which the physical IF provided in the communication terminal is connected.

そこで本発明の目的の1つは、上述した課題を解決し、通信端末が、その通信端末が備える物理IFが接続される通信網以外の通信網も利用することができる通信システム、通信端末、通信方法、プログラムを提供することにある。   Therefore, one of the objects of the present invention is to solve the above-described problems, and a communication system, a communication terminal, and a communication terminal that can use a communication network other than a communication network to which a physical IF included in the communication terminal is connected, To provide a communication method and program.

一態様において、通信システムは、通信端末と、スイッチと、を備える。前記通信端末は、コントローラ部と、前記スイッチに接続される第1物理インタフェースと、通信アプリケーションと、を備える。前記スイッチは、第1スイッチ部と、前記通信端末に接続される第2物理インタフェースと、前記第2物理インタフェース以外の第3物理インタフェースと、を備える。前記コントローラ部は、前記通信アプリケーションで発生したパケットを前記第1スイッチ部で受信した場合の該パケットの処理内容を決定し、決定した該パケットの処理内容を前記第1スイッチ部に設定する。前記第1スイッチ部は、前記通信アプリケーションで発生したパケットを受信した場合、前記コントローラ部により設定された処理内容に従って該パケットを処理する。   In one aspect, a communication system includes a communication terminal and a switch. The communication terminal includes a controller unit, a first physical interface connected to the switch, and a communication application. The switch includes a first switch unit, a second physical interface connected to the communication terminal, and a third physical interface other than the second physical interface. The controller unit determines a processing content of the packet when the first switch unit receives a packet generated by the communication application, and sets the determined processing content of the packet in the first switch unit. When the first switch unit receives a packet generated by the communication application, the first switch unit processes the packet according to the processing content set by the controller unit.

一態様において、通信端末は、コントローラ部と、外部のスイッチに接続される第1物理インタフェースと、通信アプリケーションと、を備える。前記コントローラ部は、前記通信アプリケーションで発生したパケットを前記スイッチで受信した場合の該パケットの処理内容を決定し、決定した該パケットの処理内容を前記スイッチに設定する。   In one aspect, the communication terminal includes a controller unit, a first physical interface connected to an external switch, and a communication application. The controller unit determines a processing content of the packet when the switch generates a packet generated by the communication application, and sets the determined processing content of the packet in the switch.

一態様において、通信方法は、コントローラ部と、外部のスイッチに接続される第1物理インタフェースと、通信アプリケーションと、を備える通信端末による通信方法である。前記通信方法では、前記コントローラ部が、前記通信アプリケーションで発生したパケットを前記スイッチで受信した場合の該パケットの処理内容を決定し、前記コントローラ部が、前記決定した前記パケットの処理内容を前記スイッチに設定する。   In one aspect, the communication method is a communication method by a communication terminal including a controller unit, a first physical interface connected to an external switch, and a communication application. In the communication method, the controller unit determines a processing content of the packet when the switch generates a packet generated by the communication application, and the controller unit determines the processing content of the determined packet. Set to.

一態様において、プログラムは、コントローラ部と、外部のスイッチに接続される第1物理インタフェースと、通信アプリケーションと、を備える通信端末に実行させるためのプログラムである。前記プログラムは、前記通信端末に、前記コントローラ部が、前記通信アプリケーションで発生したパケットを前記スイッチで受信した場合の該パケットの処理内容を決定する手順と、前記コントローラ部が、前記決定した前記パケットの処理内容を前記スイッチに設定する手順と、を実行させる。   In one aspect, the program is a program for causing a communication terminal including a controller unit, a first physical interface connected to an external switch, and a communication application to execute. The program includes a step of determining, in the communication terminal, a procedure for determining processing contents of the packet when the controller unit receives a packet generated by the communication application by the switch, and the controller unit determines the packet And a procedure for setting the processing content in the switch.

上述した態様によれば、通信端末は、通信端末が備える第1物理インタフェースが接続される通信網以外にも、スイッチが備える第3物理インタフェースが接続される通信網を利用することができるという効果が得られる。   According to the aspect described above, the communication terminal can use the communication network to which the third physical interface provided in the switch is connected in addition to the communication network to which the first physical interface provided in the communication terminal is connected. Is obtained.

実施形態1の通信システムの構成例を示す図である。1 is a diagram illustrating a configuration example of a communication system according to a first embodiment. 実施形態2の通信システムの構成例を示す図である。It is a figure which shows the structural example of the communication system of Embodiment 2. FIG. 実施形態2の通信システムの全体動作例を示すシーケンス図である。FIG. 10 is a sequence diagram illustrating an example of the overall operation of the communication system according to the second embodiment. 実施形態2のコントローラ部の動作例を示すフロー図である。FIG. 10 is a flowchart illustrating an operation example of a controller unit according to the second embodiment. 実施形態2のコントローラ部の動作の具体例を示す図である。FIG. 10 is a diagram illustrating a specific example of the operation of the controller unit of the second embodiment. 実施形態3の通信システムの構成例を示す図である。It is a figure which shows the structural example of the communication system of Embodiment 3. FIG. 実施形態3のコントローラ部の動作例を示すフロー図である。FIG. 10 is a flowchart illustrating an operation example of a controller unit according to the third embodiment. 実施形態3のコントローラ部の動作の具体例を示す図である。FIG. 10 is a diagram illustrating a specific example of the operation of the controller unit of the third embodiment. 他の実施形態のコントローラ部の動作例を示す図である。It is a figure which shows the operation example of the controller part of other embodiment.

以下、図面を参照して本発明の実施形態について説明する。なお、以下で説明する各図面においては、「アプリケーション」を「アプリ」と略して記載する。
(1)実施形態1
図1に、本実施形態の通信システムの構成例を示す。図1を参照すると本実施形態の通信システムは、通信端末10と、スイッチ20と、を備える。また、通信端末10は、コントローラ部11と、物理IF12−1と、通信アプリケーション#1〜#N(Nは2以上の自然数)と、を備える。スイッチ20は、スイッチ部21と、物理IF22−1〜22−3と、を備える。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. In each drawing described below, “application” is abbreviated as “application”.
(1) Embodiment 1
FIG. 1 shows a configuration example of a communication system according to the present embodiment. Referring to FIG. 1, the communication system of this embodiment includes a communication terminal 10 and a switch 20. Further, the communication terminal 10 includes a controller unit 11, a physical IF 12-1, and communication applications # 1 to #N (N is a natural number of 2 or more). The switch 20 includes a switch unit 21 and physical IFs 22-1 to 22-3.

物理IF12−1は、スイッチ20の物理IF22−1に接続される第1物理インタフェースである。物理IF22−1は、通信端末10の物理IF12−1に接続される第2物理インタフェースである。物理IF22−2〜22−3は、不図示のデバイス、サーバ等と接続される第3物理インタフェースである。なお、第1物理IF、第2物理IF、第3物理IFの数は、いずれも1以上であれば良い。   The physical IF 12-1 is a first physical interface connected to the physical IF 22-1 of the switch 20. The physical IF 22-1 is a second physical interface connected to the physical IF 12-1 of the communication terminal 10. The physical IFs 22-2 to 22-3 are third physical interfaces connected to devices (not shown), servers, and the like. Note that the number of the first physical IF, the second physical IF, and the third physical IF may all be one or more.

通信アプリケーション#1〜#Nは、通信端末10の外部の不図示のデバイス、サーバ等との間でのパケット通信を要するアプリケーションであり、例えば、Webブラウザ、動画を閲覧するためのアプリケーション、ニュースや地図を閲覧するためのアプリケーション等である。なお、通信アプリケーションの数は、1以上であれば良い。また、通信アプリケーション#1〜#Nは、不図示のCPU(Central Processing Unit)が実行部として実行するものとする。   The communication applications # 1 to #N are applications that require packet communication with a device, a server, or the like (not shown) outside the communication terminal 10, such as a web browser, an application for browsing a video, news, An application for browsing a map. Note that the number of communication applications may be one or more. In addition, the communication applications # 1 to #N are executed by an unillustrated CPU (Central Processing Unit) as an execution unit.

コントローラ部11は、オープンフローコントローラの機能を備える。コントローラ部11は、通信アプリケーション#1〜#Nで発生したパケットをスイッチ部21で受信した場合のそのパケットの処理内容(例えば、特定の通信網に送信、送信せずに破棄等)を決定し、決定した処理内容をスイッチ部21に設定する。   The controller unit 11 has an OpenFlow controller function. The controller unit 11 determines the processing content (for example, sending to a specific communication network, discarding without sending, etc.) when the packet generated by the communication applications # 1 to #N is received by the switch unit 21 The determined processing content is set in the switch unit 21.

スイッチ部21は、オープンフロースイッチの機能を備える第1スイッチ部である。スイッチ部21は、通信アプリケーション#1〜#Nで発生したパケットを受信した場合、そのパケットの処理内容がコントローラ部11により設定されていれば、その処理内容に従って、そのパケットを処理する。   The switch unit 21 is a first switch unit having the function of an open flow switch. When the switch unit 21 receives a packet generated by the communication applications # 1 to #N, if the processing content of the packet is set by the controller unit 11, the switch unit 21 processes the packet according to the processing content.

上述したように本実施形態においては、通信端末10は、コントローラ部11及び通信アプリケーション#1〜#Nを備え、スイッチ20が備えるスイッチ部21を外部接続する構成である。そして、通信端末10のコントローラ部11は、外部のスイッチ部21に対し、通信アプリケーション#1〜#Nで発生したパケットの処理内容を設定する。そのため、通信端末10は、通信端末10が備える物理IF12−1が接続される通信網以外にも、スイッチ20が備える物理IF22−2〜22−3が接続される通信網を利用することができる。   As described above, in the present embodiment, the communication terminal 10 includes the controller unit 11 and communication applications # 1 to #N, and is configured to externally connect the switch unit 21 included in the switch 20. And the controller part 11 of the communication terminal 10 sets the processing content of the packet which generate | occur | produced by communication application # 1- # N with respect to the external switch part 21. FIG. Therefore, the communication terminal 10 can use a communication network to which the physical IFs 22-2 to 22-3 included in the switch 20 are connected in addition to the communication network to which the physical IF 12-1 included in the communication terminal 10 is connected. .

なお、本実施形態においては、通信端末10の外部のスイッチ20にオープンフロースイッチの機能を備えるスイッチ部21を設けていたが、同様の機能を備えるスイッチ部を通信端末10に追加で設けても良い。   In the present embodiment, the switch unit 21 having the function of the open flow switch is provided in the switch 20 outside the communication terminal 10, but a switch unit having the same function may be additionally provided in the communication terminal 10. good.

(2)実施形態2
本実施形態は、実施形態1の構成及び動作をより具体化した例である。図2に、本実施形態の通信システムの構成例を示す。図2を参照すると、本実施形態の通信システムは、通信端末10は、OS(Operating System)としてLinux(登録商標)のみを搭載した端末であるとし、TCP/IP(Transmission Control Protocol/Internet Protocol)スタック13を追加で備えている。TCP/IPスタック13は、TCP/IPのプロトコル処理を行うプロトコルスタックである。これにより、通信アプリケーション#1〜#Nは物理IF12−1を介して通信先となるサーバー間とTCP/IPによるパケットの受け渡しが可能になる。なお、TCP/IPスタック13は、非特許文献1にも記載された周知技術であるため、詳細な説明は省略する。
(2) Embodiment 2
The present embodiment is an example in which the configuration and operation of the first embodiment are more specific. FIG. 2 shows a configuration example of the communication system of the present embodiment. Referring to FIG. 2, in the communication system of the present embodiment, the communication terminal 10 is assumed to be a terminal equipped with only Linux (registered trademark) as an OS (Operating System), and TCP / IP (Transmission Control Protocol / Internet Protocol). An additional stack 13 is provided. The TCP / IP stack 13 is a protocol stack that performs TCP / IP protocol processing. As a result, the communication applications # 1 to #N can transfer packets by TCP / IP between servers as communication destinations via the physical IF 12-1. Since the TCP / IP stack 13 is a well-known technique described in Non-Patent Document 1, detailed description thereof is omitted.

また、本実施形態は、物理IF12−1及び物理IF22−1〜22−3をより具体化している。物理IF12−1及び物理IF22−1〜22−2は、接続される通信網がイーサネット(登録商標)であり、物理IF22−3は、接続される通信網がセルラーネットワークである。また、物理IF12−1及び物理IF22−1〜22−3のIPアドレスはそれぞれ、“A”、“E”、“F”、“G”である。   In the present embodiment, the physical IF 12-1 and the physical IFs 22-1 to 22-3 are more specific. The physical IF 12-1 and the physical IFs 222-1 to 22-2 are connected to the Ethernet (registered trademark), and the physical IF 22-3 is connected to the cellular network. The IP addresses of the physical IF 12-1 and the physical IFs 22-1 to 22-3 are “A”, “E”, “F”, and “G”, respectively.

また、本実施形態は、通信アプリケーション#1〜#N毎にフロー制御を行うこととし、通信アプリケーション#1〜#N毎に、その通信アプリケーションで発生したパケットの送信に利用する通信網を設定しておく。パケット(フロー)が発生した場合は、そのパケットが発生した通信アプリケーションを特定し、特定した通信アプリケーションについて設定されている通信網を利用して、そのパケットを送信する。   Further, in this embodiment, flow control is performed for each communication application # 1 to #N, and a communication network used for transmission of packets generated by the communication application is set for each communication application # 1 to #N. Keep it. When a packet (flow) is generated, the communication application in which the packet is generated is specified, and the packet is transmitted using a communication network set for the specified communication application.

以下、本実施形態の通信システムの動作について説明する。
最初に、通信システムの全体動作について図3を参照して説明する。
Hereinafter, the operation of the communication system of this embodiment will be described.
First, the overall operation of the communication system will be described with reference to FIG.

まず、コントローラ部11に通信アプリケーション#1〜#N毎の制御ポリシーを設定する(ステップA1)。ここでは、例えば、通信アプリケーション#1の制御ポリシーとして、“セルラーネットワークに送信”が設定されたとする。   First, a control policy for each communication application # 1 to #N is set in the controller unit 11 (step A1). Here, for example, it is assumed that “send to cellular network” is set as the control policy of communication application # 1.

ここで、通信アプリケーション#1でパケット(フロー)が発生したとする(ステップA2)。すると、そのパケットは通信アプリケーション#1からスイッチ部21に送信される。   Here, it is assumed that a packet (flow) is generated in the communication application # 1 (step A2). Then, the packet is transmitted from the communication application # 1 to the switch unit 21.

スイッチ部21は、通信アプリケーション#1からパケットを受信すると、そのパケットの処理内容がコントローラ部11により設定されているか判断する。ここでは、設定されていないものとする。そのため、スイッチ部21は、通信アプリケーション#1から受信したパケットが構成するフローに関するフロー情報(そのパケットの送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号等を表す)を、Packet_inメッセージを用いてコントローラ部11に送信する(ステップA3)。なお、フロー情報は、パケットのヘッダフィールドに記述されており、パケットそのものとすることができる。   When the switch unit 21 receives a packet from the communication application # 1, the switch unit 21 determines whether the processing content of the packet is set by the controller unit 11. Here, it is assumed that it is not set. Therefore, the switch unit 21 displays flow information (representing a transmission source IP address, a transmission destination IP address, a transmission source port number, a transmission destination port number, and the like of the packet) related to a flow formed by the packet received from the communication application # 1. The packet is sent to the controller unit 11 using a Packet_in message (step A3). The flow information is described in the header field of the packet and can be the packet itself.

コントローラ部11は、スイッチ部21からPacket_inメッセージでフロー情報を受信すると、そのフロー情報をLinux(登録商標)のOSが使用しているソケットに関するソケット情報の一時ファイル(/proc/net/tcp(6),/proc/net/udp(6))の中から検索する。この一時ファイルは、ソケットのinode番号(識別番号)、そのソケットを使用するフローに関するフロー情報(そのフローを構成するパケットの送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号等を表す)、ユーザID(uid)等を表している。コントローラ部11は、この一時ファイルの中から、Packet_inメッセージで受信したフロー情報が検索されると、検索されたフロー情報に対応するフローに使用されているソケットのinode番号を特定する。次に、コントローラ部11は、Linux(登録商標)のlsofコマンド等を用いて、上記で特定したinode番号をキーとして検索する事で、inode番号のソケットを使用しているプロセスのプロセス番号を特定する。次に、コントローラ部11は、Linux(登録商標)のpsコマンド等を用いて、OSから、現在実行中のプロセスの一覧を表すリストを取得する。このリストは、現在実行中のプロセス毎に、そのプロセスのプロセス番号、そのプロセスを実行する通信アプリケーションのアプリケーション名等を表すリストである。そして、コントローラ部11は、このリストを参照して、上記で特定したプロセス番号のプロセスを実行している通信アプリケーションを特定する(ステップA3)。ここでは、通信アプリケーション#1と特定される。また、ステップA1においては、通信アプリケーション#1の制御ポリシーとして、“セルラーネットワークに送信”が設定されている。そのため、コントローラ部11は、通信アプリケーション#1の制御ポリシーを基に、スイッチ部21から受信したPacket_inメッセージで受信したフロー情報に対応するフローを構成するパケットの処理内容を“セルラーネットワークに送信”に決定する。そして、コントローラ部11は、パケットの処理内容“セルラーネットワークに送信”を、Flow_modメッセージを用いてスイッチ部21に送信する(ステップA5)。   When the controller unit 11 receives flow information from the switch unit 21 using a Packet_in message, the controller unit 11 stores the flow information in a temporary file (/ proc / net / tcp (6) of socket information related to the socket used by the Linux (registered trademark) OS. ), / proc / net / udp (6)). The temporary file includes an inode number (identification number) of a socket, flow information about a flow that uses the socket (a source IP address, a destination IP address, a source port number, and a destination port number of a packet constituting the flow). , Etc.), user ID (uid), etc. When the flow information received by the Packet_in message is searched from the temporary file, the controller unit 11 specifies the inode number of the socket used for the flow corresponding to the searched flow information. Next, the controller unit 11 uses the Linux (registered trademark) lsof command or the like to search for the process number of the process using the socket of the inode number by searching using the specified inode number as a key. To do. Next, the controller unit 11 acquires a list representing a list of processes currently being executed from the OS, using a Linux (registered trademark) ps command or the like. This list is a list indicating the process number of the process, the application name of the communication application that executes the process, and the like for each process currently being executed. And the controller part 11 specifies the communication application which is performing the process of the process number specified above with reference to this list (step A3). Here, it is specified as communication application # 1. In step A1, “send to cellular network” is set as the control policy of communication application # 1. Therefore, based on the control policy of the communication application # 1, the controller unit 11 sets the processing content of the packet constituting the flow corresponding to the flow information received by the Packet_in message received from the switch unit 21 to “send to cellular network”. decide. Then, the controller unit 11 transmits the packet processing content “transmit to cellular network” to the switch unit 21 using the Flow_mod message (step A5).

スイッチ部21は、コントローラ部11から、処理内容“セルラーネットワークに送信”をFlow_modメッセージで受信すると、その処理内容を、スイッチ部21内の不図示のフローテーブルに設定する。そのため、スイッチ部21には、通信アプリケーション#1から受信したパケットの処理内容“セルラーネットワークに送信”に従って、通信アプリケーション#1から受信したパケットを、物理IF22−3からセルラーネットワークに送信する(ステップA6)。また、スイッチ部21は、以降に、通信アプリケーション#1からパケットを受信した場合は、Packet_inメッセージをコントローラ部11に送信することなく、通信アプリケーション#1から受信したパケットを物理IF22−3からセルラーネットワークに送信する。   When the switch unit 21 receives the processing content “send to cellular network” from the controller unit 11 as a Flow_mod message, the switch unit 21 sets the processing content in a flow table (not shown) in the switch unit 21. Therefore, the packet received from the communication application # 1 is transmitted to the switch unit 21 from the physical IF 22-3 to the cellular network according to the processing content “transmit to cellular network” of the packet received from the communication application # 1 (step A6). ). In addition, when the switch unit 21 subsequently receives a packet from the communication application # 1, the switch unit 21 transmits the packet received from the communication application # 1 to the cellular network from the physical IF 22-3 without transmitting the Packet_in message to the controller unit 11. Send to.

続いて、コントローラ部11がスイッチ部21からPacket_inメッセージを受信した時の動作について図4及び図5を参照して説明する。
図4を参照すると、コントローラ部11は、スイッチ部21からPacket_inメッセージでフロー情報を受信すると(ステップB1)、Linux(登録商標)のOSが使用しているソケットに関するソケット情報の一時ファイル(/proc/net/tcp(6),/proc/net/udp(6))を参照する(ステップB2)。そして、コントローラ部11は、ソケット情報の一時ファイルの中から、Packet_inメッセージで受信したフロー情報を検索する(ステップB3)。
Next, an operation when the controller unit 11 receives a Packet_in message from the switch unit 21 will be described with reference to FIGS. 4 and 5.
Referring to FIG. 4, when the controller unit 11 receives flow information from the switch unit 21 using a Packet_in message (step B1), the controller unit 11 receives a temporary file (/ proc of socket information related to the socket used by the Linux OS). (/ net / tcp (6), / proc / net / udp (6)) is referenced (step B2). And the controller part 11 searches the flow information received with the Packet_in message from the temporary file of socket information (step B3).

ステップB3において、フロー情報が検索された場合は(ステップB3のYes)、コントローラ部11は、検索されたフロー情報に対応するフローに使用されているソケットのinode番号を特定する(ステップB4)。   When the flow information is searched in step B3 (Yes in step B3), the controller unit 11 specifies the inode number of the socket used for the flow corresponding to the searched flow information (step B4).

ここまでの処理について、図5を参照して具体的に説明する。図5を参照すると、Packet_inメッセージで受信したフロー情報は、フローを構成するパケットの送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号を表している。また、ソケット情報の一時ファイルは、Packet_inメッセージで受信したフロー情報と同様のフロー情報と、そのフロー情報に対応するフローに使用されているソケットのinode番号と、を表している。ここで、図5において、Packet_inメッセージで受信したフロー情報は、ソケット情報の一時ファイルの上から3番目のエントリのフロー情報と合致する。そのため、コントローラ部11は、ステップB3において、そのエントリを検索し、ステップB4において、そのエントリのinode番号“300”を特定する。なお、図5のフロー情報の送信先IPアドレスは、スイッチ20の物理IF22−3,22−3がイーサネット(登録商標)やセルラーネットワークを介してそれぞれ接続される不図示のサーバ、デバイス等のIPアドレスである。   The processing so far will be specifically described with reference to FIG. Referring to FIG. 5, the flow information received by the Packet_in message represents the transmission source IP address, transmission destination IP address, transmission source port number, and transmission destination port number of the packets constituting the flow. The temporary file of socket information represents the same flow information as the flow information received by the Packet_in message and the inode number of the socket used for the flow corresponding to the flow information. Here, in FIG. 5, the flow information received by the Packet_in message matches the flow information of the third entry from the top of the temporary file of socket information. Therefore, the controller unit 11 searches for the entry in step B3, and specifies the inode number “300” of the entry in step B4. Note that the destination IP address of the flow information in FIG. 5 is the IP of a server, a device, etc. (not shown) to which the physical IFs 22-3 and 22-3 of the switch 20 are respectively connected via Ethernet (registered trademark) or a cellular network. Address.

再度図4を参照すると、次に、コントローラ部11は、Linux(登録商標)のlsofコマンド等を用いて、上記で特定したinode番号をキーとして検索する事で、ステップB4で特定したinode番号のソケットを使用しているプロセスのプロセス番号を特定する(ステップB5)。   Referring to FIG. 4 again, next, the controller unit 11 uses the Linux (registered trademark) lsof command or the like to search for the inode number identified in step B4 by searching using the identified inode number as a key. The process number of the process using the socket is specified (step B5).

次に、コントローラ部11は、Linux(登録商標)のpsコマンド等を用いて、OSから、現在実行中のプロセスの一覧を表すリストを取得し、このリストを参照して、ステップB5で特定したプロセス番号のプロセスを実行している通信アプリケーションのアプリケーション名を特定する(ステップB6)。   Next, the controller unit 11 uses the Linux (registered trademark) ps command or the like to acquire a list representing a list of processes currently being executed from the OS, and specifies the list in step B5 with reference to this list. The application name of the communication application that is executing the process of the process number is specified (step B6).

次に、コントローラ部11は、ステップB6で特定したアプリケーション名の通信アプリケーションの制御ポリシーが設定されているか判断する(ステップB7)。   Next, the controller unit 11 determines whether or not the control policy for the communication application with the application name specified in step B6 is set (step B7).

ステップB7において、制御ポリシーが設定されている場合は(ステップB7のYes)、コントローラ部11は、設定されている制御ポリシーに従った処理内容を、Flow_modメッセージを用いてスイッチ部21に送信する(ステップB8)。   In step B7, when the control policy is set (Yes in step B7), the controller unit 11 transmits the processing content according to the set control policy to the switch unit 21 using the Flow_mod message ( Step B8).

なお、ステップB3において、フロー情報が検索されない場合や(ステップB3のNo)、ステップB7において、制御ポリシーが設定されていない場合は(ステップB7のNo)、コントローラ部11は、処理内容をDrop(送信せずに破棄)に決定し、処理内容“Drop”を、Flow_modメッセージを用いてスイッチ部21に送信する(ステップB9)。   If the flow information is not searched in Step B3 (No in Step B3), or if no control policy is set in Step B7 (No in Step B7), the controller unit 11 sets the processing contents to Drop ( The processing content “Drop” is transmitted to the switch unit 21 using the Flow_mod message (step B9).

上述したように本実施形態においては、実施形態1と同様に、通信端末10は、コントローラ部11及び通信アプリケーション#1〜#Nを備え、スイッチ20が備えるスイッチ部21を外部接続する構成である。そして、通信端末10のコントローラ部11は、外部のスイッチ部21に対し、通信アプリケーション#1〜#Nで発生したパケットの処理内容を設定する。そのため、通信端末10は、通信端末10が備える物理IF12−1が接続されるイーサネット(登録商標)以外にも、例えば、スイッチ20が備える物理IF22−3が接続されるセルラーネットワークを利用することができる。   As described above, in the present embodiment, as in the first embodiment, the communication terminal 10 includes the controller unit 11 and communication applications # 1 to #N and is configured to externally connect the switch unit 21 included in the switch 20. . And the controller part 11 of the communication terminal 10 sets the processing content of the packet which generate | occur | produced by communication application # 1- # N with respect to the external switch part 21. FIG. Therefore, the communication terminal 10 may use, for example, a cellular network to which the physical IF 22-3 included in the switch 20 is connected, in addition to the Ethernet (registered trademark) to which the physical IF 12-1 included in the communication terminal 10 is connected. it can.

(3)実施形態3
本実施形態は、実施形態2と同様に、通信端末10は、スイッチ20が備えるスイッチ部を外部接続する。ただし、本実施形態は、実施形態2とは異なり、通信端末10もスイッチ部を備え、通信端末10のスイッチ部及びスイッチ20のスイッチ部の両方を使用する構成である。
(3) Embodiment 3
In the present embodiment, similarly to the second embodiment, the communication terminal 10 externally connects a switch unit included in the switch 20. However, this embodiment differs from the second embodiment in that the communication terminal 10 also includes a switch unit and uses both the switch unit of the communication terminal 10 and the switch unit of the switch 20.

図6に、本実施形態の通信システムの構成例を示す。図6を参照すると、本実施形態の通信システムは、実施形態2と比較して、通信端末10の構成が異なる。すなわち、通信端末10は、実施形態2と比較して、スイッチ部14及び物理IF12−2を追加している。スイッチ部14は、オープンフロースイッチの機能を備える第2スイッチ部であり、コントローラ部11と物理IF12−1〜12−2との間に配置されている。コントローラ部11は、スイッチ部14に対しても、通信アプリケーション#1〜#Nで発生したパケットをスイッチ部14で受信した場合のそのパケットの処理内容(例えば、イーサネット(登録商標)に送信、送信せずに破棄等)を設定する。スイッチ部14は、通信アプリケーション#1〜#Nで発生したパケットを受信した場合、そのパケットの処理内容がコントローラ部11により設定されていれば、その処理内容に従って、そのパケットを処理する。また、物理IF12−1は、接続される通信網がイーサネット(登録商標)であり、物理IF12−2は、接続される通信網がWiFi(Wireless Fidelity)(登録商標)ネットワークである。また、スイッチ部14、物理IF12−1〜12−2のIPアドレスはそれぞれ、“A”、“B”、“C”である。なお、スイッチ20の構成は、実施形態2と同様であるため、説明を省略する。   FIG. 6 shows a configuration example of the communication system of the present embodiment. Referring to FIG. 6, the communication system according to the present embodiment is different from the second embodiment in the configuration of the communication terminal 10. That is, the communication terminal 10 adds a switch unit 14 and a physical IF 12-2 as compared with the second embodiment. The switch unit 14 is a second switch unit having an OpenFlow switch function, and is arranged between the controller unit 11 and the physical IFs 12-1 to 12-2. The controller unit 11 transmits the packet generated by the communication applications # 1 to #N to the switch unit 14 when the switch unit 14 receives the processing contents of the packet (for example, transmission to the Ethernet (registered trademark)) (Discard without setting). When receiving the packet generated by the communication applications # 1 to #N, the switch unit 14 processes the packet according to the processing content if the processing content of the packet is set by the controller unit 11. The physical IF 12-1 is connected to the Ethernet (registered trademark) communication network, and the physical IF 12-2 is connected to the WiFi (Wireless Fidelity) (registered trademark) network. The IP addresses of the switch unit 14 and the physical IFs 12-1 to 12-2 are “A”, “B”, and “C”, respectively. Note that the configuration of the switch 20 is the same as that of the second embodiment, and a description thereof will be omitted.

本実施形態は、通信端末10のスイッチ部14及びスイッチ20のスイッチ部21の両方を使用可能となる。しかし、スイッチ20のスイッチ部21に対しては、通信アプリケーション#1〜#N毎にフロー制御を行うことができないという問題があった。以下、その理由について説明する。   In the present embodiment, both the switch unit 14 of the communication terminal 10 and the switch unit 21 of the switch 20 can be used. However, the switch unit 21 of the switch 20 has a problem that the flow control cannot be performed for each of the communication applications # 1 to #N. The reason will be described below.

本実施形態の構成の場合、通信端末10内のソケット情報の一時ファイルの送信元IPアドレスには、スイッチ部14のIPアドレスが設定される。その一方、通信端末10からスイッチ20にパケットが送信される場合、そのパケットの送信元IPアドレスには物理IF12−1のIPアドレスが設定される。そのため、コントローラ部11がスイッチ部21からPacket_inメッセージで受信したフロー情報の送信元IPアドレスには、物理IF12−1のIPアドレスが設定されている。そのため、コントローラ部11は、通信端末10内のソケット情報の一時ファイルから、スイッチ部21から受信したフロー情報を検索しても、該当するフロー情報を検索することはできない。   In the case of the configuration of this embodiment, the IP address of the switch unit 14 is set as the source IP address of the temporary file of the socket information in the communication terminal 10. On the other hand, when a packet is transmitted from the communication terminal 10 to the switch 20, the IP address of the physical IF 12-1 is set as the transmission source IP address of the packet. For this reason, the IP address of the physical IF 12-1 is set as the transmission source IP address of the flow information received by the controller unit 11 from the switch unit 21 using the Packet_in message. Therefore, even if the controller unit 11 retrieves the flow information received from the switch unit 21 from the temporary file of socket information in the communication terminal 10, it cannot retrieve the corresponding flow information.

そこで本実施形態においては、コントローラ部11は、通信端末10内のソケット情報の一時ファイルから、スイッチ部21から受信したフロー情報を検索する場合、内部的にソケット情報の一時ファイルの送信元IPアドレスを、物理IF12−1がスイッチ20に送信するパケットに設定した、物理IF12−1のIPアドレスに置き換えた形で検索を行う。   Therefore, in the present embodiment, when the controller unit 11 searches the flow information received from the switch unit 21 from the socket information temporary file in the communication terminal 10, it internally sends the source IP address of the socket information temporary file. Is replaced with the IP address of the physical IF 12-1 set in the packet transmitted to the switch 20 by the physical IF 12-1.

以下、本実施形態の通信システムの動作について説明する。
ただし、通信システムの全体動作については、コントローラ部11とスイッチ部21との通信がスイッチ部14を経由すること以外は図3と同様になるため、説明を省略する。
そこで以下では、コントローラ部11がスイッチ部21からPacket_inメッセージを受信した時の動作について図7及び図8を参照して説明する。
Hereinafter, the operation of the communication system of this embodiment will be described.
However, the overall operation of the communication system is the same as that in FIG. 3 except that the communication between the controller unit 11 and the switch unit 21 passes through the switch unit 14, and thus the description thereof is omitted.
Therefore, hereinafter, an operation when the controller unit 11 receives a Packet_in message from the switch unit 21 will be described with reference to FIGS. 7 and 8.

図7を参照すると、コントローラ部11は、スイッチ部21からPacket_inメッセージでフロー情報を受信すると(ステップC1)、Linux(登録商標)のOSが使用しているソケットに関するソケット情報の一時ファイル(/proc/net/tcp(6),/proc/net/udp(6))を参照する(ステップC2)。次に、コントローラ部11は、ソケット情報の一時ファイルの送信元(src)IPアドレスを内部的に検索用に置き換える。具体的には、コントローラ部11は、ソケット情報の一時ファイルの送信元IPアドレスを、物理IF12−1がスイッチ20に送信するパケットに設定した、物理IF12−1のIPアドレスに置き換える(ステップC3)。その状態で、コントローラ部11は、ソケット情報の一時ファイルの中から、Packet_inメッセージで受信したフロー情報を検索する(ステップC4)。   Referring to FIG. 7, when the controller unit 11 receives flow information from the switch unit 21 using a Packet_in message (step C1), a temporary file (/ proc of socket information related to sockets used by the Linux (registered trademark) OS is received. Reference is made to / net / tcp (6), / proc / net / udp (6)) (step C2). Next, the controller unit 11 internally replaces the source (src) IP address of the temporary file of socket information for search. Specifically, the controller unit 11 replaces the source IP address of the temporary file of the socket information with the IP address of the physical IF 12-1 set in the packet that the physical IF 12-1 transmits to the switch 20 (step C3). . In this state, the controller unit 11 searches for the flow information received by the Packet_in message from the temporary file of socket information (step C4).

ステップC4において、フロー情報が検索された場合は(ステップC4のYes)、コントローラ部11は、検索されたフロー情報に対応するフローに使用されているソケットのinode番号を特定する(ステップC5)。   When the flow information is searched in Step C4 (Yes in Step C4), the controller unit 11 specifies the inode number of the socket used for the flow corresponding to the searched flow information (Step C5).

ここまでの処理について、図8を参照して具体的に説明する。図8を参照すると、スイッチ部21からPacket_inメッセージで受信したフロー情報の送信元IPアドレスは、物理IF12−1のIPアドレスになっている。これに対して、ソケット情報の一時ファイルの送信元IPアドレスは、通信端末10のスイッチ部14のIPアドレスになっている。そのため、このままでは、ソケット情報の一時ファイルからは、Packet_inメッセージで受信したフロー情報は検索されない。そこで、コントローラ部11は、ステップC3において、ソケット情報の一時ファイルの送信元IPアドレスを、物理IF12−1がスイッチ20に送信するパケットに設定した、物理IF12−1のIPアドレスに置き換える。この状態では、Packet_inメッセージで受信したフロー情報は、ソケット情報の一時ファイルの上から3番目のエントリのフロー情報と合致することになる。そのため、コントローラ部11は、ステップC4において、そのエントリを検索し、ステップC5において、そのエントリのinode番号“300”を特定する。   The processing so far will be specifically described with reference to FIG. Referring to FIG. 8, the source IP address of the flow information received by the Packet_in message from the switch unit 21 is the IP address of the physical IF 12-1. On the other hand, the source IP address of the temporary file of socket information is the IP address of the switch unit 14 of the communication terminal 10. Therefore, in this state, the flow information received by the Packet_in message is not searched from the temporary file of socket information. Therefore, in step C3, the controller unit 11 replaces the transmission source IP address of the temporary file of the socket information with the IP address of the physical IF 12-1 set in the packet that the physical IF 12-1 transmits to the switch 20. In this state, the flow information received by the Packet_in message matches the flow information of the third entry from the top of the temporary file of socket information. Therefore, the controller unit 11 searches for the entry in step C4, and specifies the inode number “300” of the entry in step C5.

なお、図8の以降のステップC6〜C10の動作は、図4のステップB5〜B9の動作と同様であるため、説明を省略する。
また、コントローラ部11がスイッチ部14からPacket_inメッセージを受信した時の動作は、図4と同様であるため、説明を省略する。
8 and subsequent steps C6 to C10 are the same as the operations of steps B5 to B9 in FIG.
The operation when the controller unit 11 receives the Packet_in message from the switch unit 14 is the same as that shown in FIG.

上述したように本実施形態においては、実施形態2と同様に、通信端末10は、コントローラ部11及び通信アプリケーション#1〜#Nを備え、スイッチ20が備えるスイッチ部21を外部接続する構成である。そして、通信端末10のコントローラ部11は、外部のスイッチ部21に対し、通信アプリケーション#1〜#Nで発生したパケットの処理内容を設定する。そのため、通信端末10は、通信端末10が備える物理IF12−1,12−2がそれぞれ接続されるイーサネット(登録商標)及びWiFiネットワーク以外にも、例えば、スイッチ20が備える物理IF22−3が接続されるセルラーネットワークを利用することができる。   As described above, in the present embodiment, as in the second embodiment, the communication terminal 10 includes the controller unit 11 and communication applications # 1 to #N and is configured to externally connect the switch unit 21 included in the switch 20. . And the controller part 11 of the communication terminal 10 sets the processing content of the packet which generate | occur | produced by communication application # 1- # N with respect to the external switch part 21. FIG. Therefore, the communication terminal 10 is connected to, for example, the physical IF 22-3 included in the switch 20 in addition to the Ethernet (registered trademark) and the WiFi network to which the physical IFs 12-1 and 12-2 included in the communication terminal 10 are respectively connected. A cellular network can be used.

また、本実施形態においては、通信端末10もスイッチ部14を備えており、通信端末10のスイッチ部14及びスイッチ20のスイッチ部21の両方を使用可能である。また、通信端末10のコントローラ部11は、スイッチ20のスイッチ部21からPacket_inメッセージを受信した場合は、ソケット情報の一時ファイルの送信元IPアドレスを、パケットが通信端末10からスイッチ20に送信される際にそのパケットに物理IF12−1により設定される物理IF12−1のIPアドレスに置き換えた形で、その一時ファイルから、Packet_inメッセージで受信したフロー情報を検索する。これにより、ソケット情報の一時ファイルからフロー情報を検索可能になることから、スイッチ20のスイッチ部21に対しても、通信アプリケーション#1〜#N毎のフロー制御を行うことができる。   In the present embodiment, the communication terminal 10 also includes the switch unit 14, and both the switch unit 14 of the communication terminal 10 and the switch unit 21 of the switch 20 can be used. In addition, when the controller unit 11 of the communication terminal 10 receives the Packet_in message from the switch unit 21 of the switch 20, the transmission source IP address of the temporary file of the socket information and the packet are transmitted from the communication terminal 10 to the switch 20. At this time, the flow information received by the Packet_in message is searched from the temporary file in a form in which the packet is replaced with the IP address of the physical IF 12-1 set by the physical IF 12-1. As a result, the flow information can be retrieved from the temporary file of the socket information, so that the flow control for each of the communication applications # 1 to #N can be performed on the switch unit 21 of the switch 20 as well.

なお、本発明は上記実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。   In addition, this invention is not limited to the said embodiment, It is possible to change suitably in the range which does not deviate from the meaning.

例えば、図9に示されるように、通信端末10が、スイッチ20に外部接続されるだけでなく、他のデバイス(以下、外部接続デバイスと称す)30にも外部接続される場合を考える。ここでは、スイッチ20の通信端末10側の物理IF22−1のIPアドレスを“E”とする。また、通信端末10のスイッチ20側の物理IF12−1のIPアドレスを“B”、外部接続デバイス30側の物理IF12−2のIPアドレスを“C”とする。また、外部接続デバイス30の通信端末10側の物理IFのIPアドレスを“H”とする。また、スイッチ20と通信端末10間の通信網と、通信端末10と外部接続デバイス30間の通信網と、は同一の通信網(例えば、イーサネット(登録商標)等)であるとする。この場合、スイッチ20が、通信端末10から受信するパケットの送信元(scr)IPアドレスには、通信端末10のスイッチ20側の物理IF12−1のIPアドレス(=B)が設定される。しかし、スイッチ20が、外部接続デバイス30から通信端末10を介して受信するパケットの送信元IPアドレスには、外部接続デバイス30の通信端末10側の物理IFのIPアドレス(=H)が設定される。   For example, as shown in FIG. 9, let us consider a case where the communication terminal 10 is not only externally connected to the switch 20 but also externally connected to another device (hereinafter referred to as an external connection device) 30. Here, the IP address of the physical IF 22-1 on the communication terminal 10 side of the switch 20 is assumed to be “E”. Further, the IP address of the physical IF 12-1 on the switch 20 side of the communication terminal 10 is “B”, and the IP address of the physical IF 12-2 on the external connection device 30 side is “C”. Further, the IP address of the physical IF on the communication terminal 10 side of the external connection device 30 is set to “H”. The communication network between the switch 20 and the communication terminal 10 and the communication network between the communication terminal 10 and the external connection device 30 are the same communication network (for example, Ethernet (registered trademark)). In this case, the IP address (= B) of the physical IF 12-1 on the switch 20 side of the communication terminal 10 is set as the transmission source (scr) IP address of the packet that the switch 20 receives from the communication terminal 10. However, the IP address (= H) of the physical IF on the communication terminal 10 side of the external connection device 30 is set as the transmission source IP address of the packet that the switch 20 receives from the external connection device 30 via the communication terminal 10. The

そのため、実施形態3において、通信端末10のコントローラ部11は、Packet_inメッセージで受信したフロー情報の送信元IPアドレスが“B”(すなわち、通信端末10の物理IF12−1がパケットに設定したIPアドレス)である場合にのみ、実施形態3の以降の処理を行えば良い。具体的には、図7において、通信端末10のコントローラ部11は、ステップC1において、Packet_inメッセージで受信したフロー情報の送信元IPアドレスが“B”であれば、ステップC2に進む。一方、“B”でなければ、コントローラ部11は、ステップC2には進まず、フロー情報に対応するフローを構成するパケットの処理内容を決定し、Flow_modメッセージを返す。   Therefore, in the third embodiment, the controller unit 11 of the communication terminal 10 determines that the source IP address of the flow information received by the Packet_in message is “B” (that is, the IP address set by the physical IF 12-1 of the communication terminal 10 in the packet). ), The subsequent processing of the third embodiment may be performed. Specifically, in FIG. 7, the controller unit 11 of the communication terminal 10 proceeds to step C2 if the source IP address of the flow information received by the Packet_in message is “B” in step C1. On the other hand, if it is not “B”, the controller unit 11 does not proceed to step C2, but determines the processing contents of the packet constituting the flow corresponding to the flow information, and returns a Flow_mod message.

また、実施形態3においては、コントローラ部11は、ソケット情報の一時ファイルの送信元IPアドレスを、物理IF12−1がスイッチ20に送信するパケットに設定した、物理IF12−1のIPアドレスに置き換え、その状態で、コントローラ部11は、ソケット情報の一時ファイルの中から、Packet_inメッセージで受信したフロー情報を検索した。しかし、他の方法として、コントローラ部11はスイッチ部21からPacket_inメッセージでフロー情報を受信した際、Packet_inメッセージに含まれているフロー情報である送信元IPアドレスを“A”に書き換えた形でソケット情報の一時ファイルと比較する事で、同様の検索を実施することができる。   In the third embodiment, the controller unit 11 replaces the source IP address of the temporary file of the socket information with the IP address of the physical IF 12-1 set in the packet that the physical IF 12-1 transmits to the switch 20, In this state, the controller unit 11 retrieves the flow information received by the Packet_in message from the socket information temporary file. However, as another method, when the controller unit 11 receives the flow information from the switch unit 21 using the Packet_in message, the controller unit 11 rewrites the source IP address, which is the flow information included in the Packet_in message, to “A”. A similar search can be performed by comparing with a temporary file of information.

また、実施形態3においては、通信端末10の物理IF12−1が、パケットのIPアドレスのヘッダフィールドを更新して、そのパケットをスイッチ20に送信することを想定し、送信元IPアドレスの差分のみに言及して記載した。しかし、通信端末10の物理IF12−1が、パケットのポート番号などの他のヘッダフィールドを更新して、そのパケットをスイッチ20に送信するケースも考えられる。その様なケースにおいても、通信端末10のコントローラ部11が、ヘッダフィールドの更新内容に合わせて、ソケット情報の一時ファイルの検索を行うことで、通信アプリケーションの特定が可能となる。例えば、通信端末10の物理IF12−1が、パケットのポート番号のヘッダフィールドを更新した場合には、ソケット情報の一時ファイルの送信元ポート番号を、物理IF12−1がパケットに設定したポート番号に置き換えた上で検索を行えば良い。   In the third embodiment, it is assumed that the physical IF 12-1 of the communication terminal 10 updates the header field of the IP address of the packet and transmits the packet to the switch 20, and only the difference of the transmission source IP address. It was described with reference to. However, there may be a case where the physical IF 12-1 of the communication terminal 10 updates other header fields such as the port number of the packet and transmits the packet to the switch 20. Even in such a case, the controller 11 of the communication terminal 10 searches for a temporary file of socket information in accordance with the updated contents of the header field, so that the communication application can be specified. For example, when the physical IF 12-1 of the communication terminal 10 updates the header field of the port number of the packet, the source port number of the temporary file of the socket information is set to the port number set in the packet by the physical IF 12-1. Search after replacing.

また、実施形態3においては、フローが発生した通信アプリケーションを特定する目的で、ソケット情報の一時ファイルの内容を更新前の内容に置き換えた上で検索を行っているが、この検索方法は、他の目的のためにも適用可能である。他の目的としては、例えば、パケットを送信したユーザ(uid)を特定する目的等が挙げられる。   In the third embodiment, for the purpose of specifying the communication application in which the flow has occurred, the search is performed after replacing the contents of the temporary file of the socket information with the contents before the update. It is also applicable for the purpose of. Other purposes include, for example, the purpose of identifying the user (uid) that sent the packet.

また、実施形態2,3においては、Packet_inメッセージで受信したフロー情報を、ソケット情報の一時ファイルから検索する場合、フロー情報の全ての内容が合致しているか判断したが、送信元(scr)ポート番号が合致しているかのみで判断しても良い。これは、複数の通信アプリケーションのフローが同時に発生した場合に、送信元(scr)ポート番号が重複することが無いためである。   In the second and third embodiments, when the flow information received by the Packet_in message is searched from the temporary file of the socket information, it is determined whether all the contents of the flow information match, but the transmission source (scr) port You may judge only by whether the numbers match. This is because the source (scr) port numbers do not overlap when a plurality of communication application flows occur simultaneously.

また、通信端末10における処理は、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現されても良い。プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Compact Disk-Read Only Memory)、CD−R(CD-Recordable)、CD−R/W(CD-ReWritable)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されても良い。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   The processing in the communication terminal 10 may be realized by causing a CPU (Central Processing Unit) to execute a computer program. The program may be stored using various types of non-transitory computer readable media and supplied to a computer. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer-readable media are magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Compact Disk-Read Only Memory). CD-R (CD-Recordable), CD-R / W (CD-ReWritable), semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory) )including. Further, the program may be supplied to the computer by various types of temporary computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

10 通信端末
11 コントローラ部
12−1〜12−2 物理IF
13 TCP/IPスタック
14 スイッチ部
20 スイッチ
21 スイッチ部
22−1〜22−3 物理IF
#1〜#N 通信アプリケーション
DESCRIPTION OF SYMBOLS 10 Communication terminal 11 Controller part 12-1 to 12-2 Physical IF
13 TCP / IP stack 14 Switch unit 20 Switch 21 Switch unit 22-1 to 22-3 Physical IF
# 1 to #N Communication application

Claims (9)

通信端末と、
スイッチと、を備え、
前記通信端末は、
コントローラ部と、
前記スイッチに接続される第1物理インタフェースと、
通信アプリケーションと、を備え、
前記スイッチは、
第1スイッチ部と、
前記通信端末に接続される第2物理インタフェースと、
前記第2物理インタフェース以外の第3物理インタフェースと、を備え、
前記コントローラ部は、
前記通信アプリケーションで発生したパケットを前記第1スイッチ部で受信した場合の該パケットの処理内容を決定し、決定した該パケットの処理内容を前記第1スイッチ部に設定し、
前記第1スイッチ部は、
前記通信アプリケーションで発生したパケットを受信した場合、前記コントローラ部により設定された処理内容に従って該パケットを処理する、通信システム。
A communication terminal;
A switch,
The communication terminal is
A controller section;
A first physical interface connected to the switch;
A communication application,
The switch is
A first switch part;
A second physical interface connected to the communication terminal;
A third physical interface other than the second physical interface,
The controller unit is
Determining the processing content of the packet when the first switch unit receives a packet generated in the communication application, and setting the determined processing content of the packet in the first switch unit;
The first switch unit includes:
A communication system that, when receiving a packet generated by the communication application, processes the packet according to the processing content set by the controller unit.
前記通信端末は、
前記コントローラ部と前記第1物理インタフェースとの間に配置された第2スイッチ部をさらに備え、
前記コントローラ部は、
前記通信アプリケーションで発生したパケットを前記第2スイッチ部で受信した場合の該パケットの処理内容を決定し、決定した該パケットの処理内容を前記第2スイッチ部に設定し、
前記第2スイッチ部は、
前記通信アプリケーションで発生したパケットを受信した場合、前記コントローラ部により設定された処理内容に従って該パケットを処理する、請求項1に記載の通信システム。
The communication terminal is
A second switch unit disposed between the controller unit and the first physical interface;
The controller unit is
Determining the processing content of the packet when the second switch unit receives a packet generated in the communication application, and setting the determined processing content of the packet in the second switch unit;
The second switch unit is
The communication system according to claim 1, wherein when a packet generated by the communication application is received, the packet is processed according to a processing content set by the controller unit.
前記コントローラ部は、
前記第1スイッチ部から、前記第1スイッチ部で受信したパケットの送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号を表すフロー情報を受信した場合、前記通信端末内のソケットの識別番号と、該ソケットを使用するフローを構成するパケットに関する前記フロー情報と、を表すソケット情報を参照し、
前記ソケット情報の前記フロー情報の送信元IPアドレス又は送信元ポート番号を、前記第1物理インタフェースが前記第1スイッチ部に送信するパケットに設定する送信元IPアドレス又は送信元ポート番号に置き換えた上で、前記ソケット情報から、前記第1スイッチ部から受信したフロー情報を検索し、
前記ソケット情報から検索されたフロー情報に対応するフローに使用されているソケットの識別番号を特定し、
前記特定したソケットの識別番号をキーにして、該ソケットを使用しているプロセスのプロセス番号を特定し、
前記通信端末内で現在実行中のプロセス毎に、該プロセスのプロセス番号と、該プロセスを実行する通信アプリケーションのアプリケーション名と、を表すリストを参照して、前記特定したプロセスを実行している通信アプリケーションを特定し、
前記特定した通信アプリケーションに応じて前記パケットの処理内容を決定し、
前記決定した前記パケットの処理内容を前記第1スイッチ部に設定する、請求項2に記載の通信システム。
The controller unit is
When the flow information indicating the source IP address, destination IP address, source port number, destination port number of the packet received by the first switch unit is received from the first switch unit, Refer to the socket information indicating the identification number of the socket and the flow information regarding the packets constituting the flow using the socket,
After replacing the source IP address or source port number of the flow information in the socket information with the source IP address or source port number set in the packet transmitted by the first physical interface to the first switch unit Then, the flow information received from the first switch unit is retrieved from the socket information,
Identify the socket identification number used in the flow corresponding to the flow information retrieved from the socket information,
Using the identification number of the specified socket as a key, specify the process number of the process using the socket,
Communication for executing the specified process with reference to a list representing the process number of the process and the application name of the communication application executing the process for each process currently executed in the communication terminal Identify the application,
Determine the processing content of the packet according to the identified communication application,
The communication system according to claim 2, wherein the processing content of the determined packet is set in the first switch unit.
前記コントローラ部は、
前記第1スイッチ部から受信したフロー情報の送信元IPアドレスが、前記第1物理インタフェースが前記第1スイッチ部に送信するパケットに設定するIPアドレスである場合に、パケットが発生した通信アプリケーションを特定し、特定した通信アプリケーションに応じて該パケットの処理内容を決定し、決定した該パケットの処理内容を前記第1スイッチ部に設定する、請求項3に記載の通信システム。
The controller unit is
When the source IP address of the flow information received from the first switch unit is an IP address set in the packet transmitted from the first physical interface to the first switch unit, the communication application in which the packet has occurred is specified. 4. The communication system according to claim 3, wherein the processing content of the packet is determined according to the specified communication application, and the determined processing content of the packet is set in the first switch unit.
前記コントローラ部は、
前記第1スイッチ部から、前記第1スイッチ部で受信したパケットの送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号を表すフロー情報を受信した場合、前記通信端末内のソケットの識別番号と、該ソケットを使用するフローを構成するパケットに関する前記フロー情報と、を表すソケット情報を参照し、
前記ソケット情報から、前記第1スイッチ部から受信したフロー情報を検索し、
前記ソケット情報から検索されたフロー情報に対応するフローに使用されているソケットの識別番号を特定し、
前記特定したソケットの識別番号をキーにして、該ソケットを使用しているプロセスのプロセス番号を特定し、
前記通信端末内で現在実行中のプロセス毎に、該プロセスのプロセス番号と、該プロセスを実行する通信アプリケーションのアプリケーション名と、を表すリストを参照して、前記特定したプロセスを実行している通信アプリケーションを特定し、
前記特定した通信アプリケーションに応じて前記パケットの処理内容を決定し、
前記決定した前記パケットの処理内容を前記第1スイッチ部に設定する、請求項1に記載の通信システム。
The controller unit is
When the flow information indicating the source IP address, destination IP address, source port number, destination port number of the packet received by the first switch unit is received from the first switch unit, Refer to the socket information indicating the identification number of the socket and the flow information regarding the packets constituting the flow using the socket,
Search the flow information received from the first switch unit from the socket information,
Identify the socket identification number used in the flow corresponding to the flow information retrieved from the socket information,
Using the identification number of the specified socket as a key, specify the process number of the process using the socket,
Communication for executing the specified process with reference to a list representing the process number of the process and the application name of the communication application executing the process for each process currently executed in the communication terminal Identify the application,
Determine the processing content of the packet according to the identified communication application,
The communication system according to claim 1, wherein the determined processing content of the packet is set in the first switch unit.
前記コントローラ部は、
前記ソケット情報から、前記第1スイッチ部から受信したフロー情報を検索するに際し、前記第1スイッチ部から受信したフロー情報と送信元ポート番号が合致するフロー情報を検索する、請求項3から5のいずれか1項に記載の通信システム。
The controller unit is
The flow information received from the first switch unit is searched for flow information that matches the source port number when searching the flow information received from the first switch unit from the socket information. The communication system according to any one of the above.
コントローラ部と、
外部のスイッチに接続される第1物理インタフェースと、
通信アプリケーションと、を備え、
前記コントローラ部は、
前記通信アプリケーションで発生したパケットを前記スイッチで受信した場合の該パケットの処理内容を決定し、決定した該パケットの処理内容を前記スイッチに設定する、通信端末。
A controller section;
A first physical interface connected to an external switch;
A communication application,
The controller unit is
A communication terminal that determines a processing content of the packet when the switch generates a packet generated by the communication application, and sets the processing content of the determined packet in the switch.
コントローラ部と、外部のスイッチに接続される第1物理インタフェースと、通信アプリケーションと、を備える通信端末による通信方法であって、
前記コントローラ部が、前記通信アプリケーションで発生したパケットを前記スイッチで受信した場合の該パケットの処理内容を決定し、
前記コントローラ部が、前記決定した前記パケットの処理内容を前記スイッチに設定する、通信方法。
A communication method comprising a controller unit, a first physical interface connected to an external switch, and a communication application.
The controller unit determines the processing contents of the packet when the switch receives a packet generated by the communication application,
The communication method, wherein the controller unit sets the processing content of the determined packet in the switch.
コントローラ部と、外部のスイッチに接続される第1物理インタフェースと、通信アプリケーションと、を備える通信端末に、
前記コントローラ部が、前記通信アプリケーションで発生したパケットを前記スイッチで受信した場合の該パケットの処理内容を決定する手順と、
前記コントローラ部が、前記決定した前記パケットの処理内容を前記スイッチに設定する手順と、を実行させるためのプログラム。
In a communication terminal comprising a controller unit, a first physical interface connected to an external switch, and a communication application,
A procedure for determining processing contents of the packet when the controller unit receives a packet generated by the communication application at the switch;
A program for causing the controller unit to execute a procedure for setting the processing content of the determined packet in the switch.
JP2015058153A 2015-03-20 2015-03-20 Communication system, communication terminal, communication method, and program Pending JP2016178530A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015058153A JP2016178530A (en) 2015-03-20 2015-03-20 Communication system, communication terminal, communication method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015058153A JP2016178530A (en) 2015-03-20 2015-03-20 Communication system, communication terminal, communication method, and program

Publications (1)

Publication Number Publication Date
JP2016178530A true JP2016178530A (en) 2016-10-06

Family

ID=57070374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015058153A Pending JP2016178530A (en) 2015-03-20 2015-03-20 Communication system, communication terminal, communication method, and program

Country Status (1)

Country Link
JP (1) JP2016178530A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018142935A1 (en) * 2017-02-02 2018-08-09 日本電気株式会社 Communication system, communication control method, and communication program
WO2019064823A1 (en) * 2017-09-28 2019-04-04 日本電気株式会社 Communication apparatus, communication system, communication control method, communication program and device connection control program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018142935A1 (en) * 2017-02-02 2018-08-09 日本電気株式会社 Communication system, communication control method, and communication program
JP2018125765A (en) * 2017-02-02 2018-08-09 日本電気株式会社 Communication system, communication control method, and communication program
US11303525B2 (en) 2017-02-02 2022-04-12 Nec Corporation Communication system, communication control method, and communication program
WO2019064823A1 (en) * 2017-09-28 2019-04-04 日本電気株式会社 Communication apparatus, communication system, communication control method, communication program and device connection control program
JP2019068119A (en) * 2017-09-28 2019-04-25 日本電気株式会社 Communication device, communication system, communication control method, communication program and device connection control program
US11303476B2 (en) 2017-09-28 2022-04-12 Nec Corporation Communication apparatus, communication system, communication control method, communication program and device connection control program

Similar Documents

Publication Publication Date Title
US10715634B2 (en) System and method for creating virtual interfaces based on network characteristics
JP5742834B2 (en) COMMUNICATION SYSTEM, ROUTE CONTROL DEVICE, PACKET TRANSFER DEVICE, AND ROUTE CONTROL METHOD
US9832130B2 (en) Data packet routing method and device
JP5994851B2 (en) Transfer device control device, transfer device control method, communication system, and program
US20160330167A1 (en) Arp Implementation Method, Switch Device, and Control Device
JP6801409B2 (en) Route search system, route search method and route search program
US20150172174A1 (en) Control apparatus, communication system, switch control method and program
JP6928076B2 (en) Packet monitoring
JP6752141B2 (en) Methods and forwarders for processing packets
CN105247831A (en) Flow table modifying method, flow table modifying device, and openflow network system
JP6662136B2 (en) Relay device, communication system, relay method, and relay program
KR101577926B1 (en) Communication node, packet processing method and program
WO2015151184A1 (en) Communication system, communication method, relay device, and communication program
JP5534033B2 (en) Communication system, node, packet transfer method and program
JP2016178530A (en) Communication system, communication terminal, communication method, and program
JP5747997B2 (en) Control device, communication system, virtual network management method and program
JPWO2014126094A1 (en) COMMUNICATION SYSTEM, COMMUNICATION METHOD, CONTROL DEVICE, CONTROL DEVICE CONTROL METHOD, AND PROGRAM
US10320661B2 (en) Communication device and communication method
WO2018161827A1 (en) Address self-learning method and device, and switch
JP6470640B2 (en) COMMUNICATION DEVICE, ITS CONTROL METHOD, COMPUTER PROGRAM
JP2015530763A (en) Access control system, access control method and program
WO2015131617A1 (en) Flow table processing method, device, openflow controller and openflow switch
WO2014119602A1 (en) Control apparatus, switch, communication system, switch control method and program
WO2020031946A1 (en) Notification device and notification method
JPWO2014175335A1 (en) Control device, computer system, communication control method, and program