JP7121821B1 - Communication system, communication device, program, and processing method - Google Patents

Communication system, communication device, program, and processing method Download PDF

Info

Publication number
JP7121821B1
JP7121821B1 JP2021035762A JP2021035762A JP7121821B1 JP 7121821 B1 JP7121821 B1 JP 7121821B1 JP 2021035762 A JP2021035762 A JP 2021035762A JP 2021035762 A JP2021035762 A JP 2021035762A JP 7121821 B1 JP7121821 B1 JP 7121821B1
Authority
JP
Japan
Prior art keywords
adjacent node
information
controller
communication
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.)
Active
Application number
JP2021035762A
Other languages
Japanese (ja)
Other versions
JP2022135752A (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.)
SoftBank Corp
Original Assignee
SoftBank 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 SoftBank Corp filed Critical SoftBank Corp
Priority to JP2021035762A priority Critical patent/JP7121821B1/en
Application granted granted Critical
Publication of JP7121821B1 publication Critical patent/JP7121821B1/en
Publication of JP2022135752A publication Critical patent/JP2022135752A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】コントローラと、複数の通信装置とを備える通信システムにおいて、コントローラがトポロジ情報収集のための制御パケットの送信を行わず、複数の通信装置からコントローラへの通知に基づき、ネットワークのトポロジを特定する方法を提供する。【解決手段】複数の通信装置200のそれぞれは、リンクを確立している他の通信装置である隣接ノードからアドホックルーティングにおける制御パケットを受信した場合に、自装置の隣接ノード情報の管理処理を実行し、隣接ノードに関する情報を含む通知情報をコントローラ100に送信する。コントローラは、複数の通信装置から受信した通知情報に基づきネットワークのトポロジを特定する。【選択図】図1Kind Code: A1 In a communication system including a controller and a plurality of communication devices, the topology of the network is specified based on notifications from the plurality of communication devices to the controller without the controller transmitting control packets for collecting topology information. provide a way to Kind Code: A1 When each of a plurality of communication devices 200 receives a control packet in ad-hoc routing from an adjacent node which is another communication device with which a link is established, each of the plurality of communication devices 200 executes management processing of adjacent node information of the own device. and transmits notification information including information about the neighboring node to the controller 100 . A controller identifies the topology of the network based on the notification information received from the plurality of communication devices. [Selection drawing] Fig. 1

Description

本発明は、通信システム、通信装置、プログラム、及び処理方法に関する。 The present invention relates to a communication system, communication device, program, and processing method.

特許文献1には、コントローラとスイッチとの間の通信に用いられるプロトコルとして、OpenFlowを用いたSDN(Software Defined Networking)コントローラが記載されている。
[先行技術文献]
[特許文献]
[特許文献1]特開2017-163383号公報
Patent Document 1 describes an SDN (Software Defined Networking) controller using OpenFlow as a protocol used for communication between the controller and the switch.
[Prior art documents]
[Patent Literature]
[Patent Document 1] JP 2017-163383 A

本発明の一実施の態様によれば、通信システムが提供される。通信システムは、コントローラと、複数の通信装置とを備えてよい。複数の通信装置のそれぞれは、リンクを確立している他の通信装置である隣接ノードからアドホックルーティングにおける制御パケットを受信した場合に、自装置の隣接ノード情報の管理処理を実行し、隣接ノードに関する情報を含む通知情報を前記コントローラに送信する処理機能部を有してよい。 According to one embodiment of the invention, a communication system is provided. A communication system may comprise a controller and a plurality of communication devices. When each of the plurality of communication devices receives a control packet in ad-hoc routing from an adjacent node that is another communication device that has established a link, each of the plurality of communication devices executes processing for managing adjacent node information of the own device, and A processing function may be provided for sending notification information containing information to the controller.

上記制御パケットは、Helloパケットであってよい。上記アドホックルーティングは、リアクティブ型のアドホックルーティングであってよい。上記処理機能部は、上記隣接ノードから受信した、上記隣接ノードの隣接ノード情報を含む上記制御パケットに基づいて、上記通知情報を上記コントローラに送信するか否かを判定してよい。上記処理機能部は、上記隣接ノードから受信した上記制御パケットに含まれる上記隣接ノードの上記隣接ノード情報に自装置が含まれない場合、上記通知情報を上記コントローラに送信し、含まれる場合、上記通知情報を上記コントローラに送信しなくてよい。上記複数の通信装置のそれぞれは、隣接ノードに、上記制御パケットを送信する送信部を有してよい。上記送信部は、自装置の上記隣接ノード情報を含む上記制御パケットを隣接ノードに送信してよい。上記コントローラは、集中経路制御のための通信プロトコルに準拠していてよい。上記コントローラは、OpenFlowに準拠しており、上記複数の通信装置に対するトポロジ情報収集のための制御パケットの送信を行わなくてよい。上記コントローラは、上記複数の通信装置のそれぞれから受信した上記通知情報に基づいて、上記複数の通信装置によって構成されているネットワークのトポロジを特定するトポロジ特定部を有してよい。 The control packet may be a Hello packet. The ad-hoc routing may be reactive ad-hoc routing. The processing function unit may determine whether or not to transmit the notification information to the controller based on the control packet received from the adjacent node and containing adjacent node information of the adjacent node. The processing function unit transmits the notification information to the controller when the own device is not included in the adjacent node information of the adjacent node included in the control packet received from the adjacent node; Notification information need not be sent to the controller. Each of the plurality of communication devices may have a transmitter that transmits the control packet to an adjacent node. The transmission unit may transmit the control packet including the adjacent node information of the own device to the adjacent node. The controller may conform to a communication protocol for centralized routing. The controller conforms to OpenFlow and does not need to transmit control packets for topology information collection to the plurality of communication devices. The controller may have a topology identification unit that identifies a topology of a network formed by the plurality of communication devices based on the notification information received from each of the plurality of communication devices.

本発明の一実施態様によれば、通信装置が提供される。通信装置は、リンクを確立している他の通信装置である隣接ノードからアドホックルーティングにおける制御パケットを受信した場合に、自装置の隣接ノード情報の管理処理を実行し、隣接ノードに関する情報を含む通知情報をコントローラに送信する処理機能部を備えてよい。 According to one embodiment of the present invention, a communication device is provided. When a communication device receives a control packet in ad-hoc routing from an adjacent node that is another communication device with which a link has been established, the communication device executes processing for managing adjacent node information of the own device and sends a notification including information about the adjacent node. A processing function may be provided to send information to the controller.

本発明の一実施態様によれば、コンピュータを、上記通信装置として機能させるためのプログラムが提供される。 According to one embodiment of the present invention, there is provided a program for causing a computer to function as the communication device.

本発明の一実施態様によれば、通信装置によって実行される処理方法が提供される。処理方法は、通信装置がリンクを確立している他の通信装置である隣接ノードからアドホックルーティングにおける制御パケットを受信した場合に、通信装置の隣接ノード情報の管理処理を実行し、隣接ノードに関する情報を含む通知情報をコントローラに送信する送信ステップを備えてよい。 According to one embodiment of the present invention, there is provided a processing method performed by a communication device. According to the processing method, when a communication device receives a control packet in ad-hoc routing from an adjacent node that is another communication device with which a link is established, management processing of adjacent node information of the communication device is performed, and information about the adjacent node is a transmitting step of transmitting to the controller notification information including:

なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。 It should be noted that the above summary of the invention does not list all the necessary features of the invention. Subcombinations of these feature groups can also be inventions.

通信システム10の一例を概略的に示す。An example of a communication system 10 is shown schematically. 本実施形態に係る通信システム10における処理について説明するための概念図である。It is a conceptual diagram for explaining the processing in the communication system 10 according to the present embodiment. 本実施形態に係る通信システム10における処理について説明するための概念図である。It is a conceptual diagram for explaining the processing in the communication system 10 according to the present embodiment. SDNコントローラ100の構成の一例を概略的に示す。An example of the configuration of the SDN controller 100 is shown schematically. SDNスイッチ200の構成の一例を概略的に示す。An example of the configuration of the SDN switch 200 is shown schematically. SDNスイッチ200による処理の流れの一例を概略的に示す。An example of the flow of processing by the SDN switch 200 is shown schematically. SDNコントローラ100の機能構成の一例を概略的に示す。An example of the functional configuration of the SDN controller 100 is shown schematically. SDNスイッチ200の機能構成の一例を概略的に示す。An example of the functional configuration of the SDN switch 200 is shown schematically. SDNコントローラ100又はSDNスイッチ200として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。1 schematically shows an example of a hardware configuration of a computer 1200 that functions as an SDN controller 100 or SDN switch 200. FIG.

複数のSDNスイッチによる無線メッシュネットワークをSDNコントローラによって集中制御(経路制御等)する無線メッシュSDNが知られている。SDNを実現するプロトコルとして、OpenFlowが知られている。OpenFlowにおいて、各SDNスイッチは、ノード・リンク情報をSDNコントローラへ送信する。SDNコントローラは、複数のSDNスイッチから受信した情報を用いて、ネットワークトポロジを把握し、経路制御に利用する(SDNコントローラからSDNスイッチに経路を配布したりする)。SDNスイッチは、SDNコントローラへの接続経路を常に(起動時やトポロジ変更時も)知っておく必要がある。SDNコントローラ障害時にもSDNスイッチ間疎通を実現する必要がある。そのような課題に対して、アドホックルーティング(例えば、AODV(Ad hoc On-Demand Distance Vector)等)の併用が考えられる。アドホックルーティングによって、自律分散処理により各SDNスイッチにてバックアップ経路を保持することができる。このような併用時の課題として、制御パケットによるオーバヘッドの増加が想定される。本実施形態に係る通信システム10は、このような課題の解決に貢献可能な技術を提供する。通信システム10は、コントローラと、コントローラの制御対象である複数の通信装置とを備える。コントローラは、集中経路制御のための通信プロトコルに準拠していてよい。 A wireless mesh SDN is known in which a wireless mesh network with a plurality of SDN switches is centrally controlled (route control, etc.) by an SDN controller. OpenFlow is known as a protocol that implements SDN. In OpenFlow, each SDN switch sends node link information to the SDN controller. The SDN controller uses information received from a plurality of SDN switches to understand the network topology and uses it for route control (distributes routes from the SDN controller to the SDN switches). The SDN switch must always know the connection path to the SDN controller (even when starting up or changing topology). It is necessary to achieve communication between SDN switches even when the SDN controller fails. Concurrent use of ad-hoc routing (for example, AODV (Ad hoc On-Demand Distance Vector), etc.) is conceivable for such a problem. Ad-hoc routing allows backup paths to be maintained at each SDN switch through autonomous distributed processing. As a problem at the time of such combined use, an increase in overhead due to control packets is assumed. The communication system 10 according to this embodiment provides technology that can contribute to solving such problems. The communication system 10 includes a controller and a plurality of communication devices controlled by the controller. The controller may conform to a communication protocol for centralized routing.

以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。 Hereinafter, the present invention will be described through embodiments of the invention, but the following embodiments do not limit the invention according to the claims. Also, not all combinations of features described in the embodiments are essential for the solution of the invention.

図1は、通信システム10の一例を概略的に示す。図1に示す例において、通信システム10は、SDNコントローラ100と、複数のSDNスイッチ200とを備える。SDNコントローラ100は、コントローラの一例であり、SDNスイッチ200は、通信装置の一例である。 FIG. 1 schematically illustrates an example communication system 10 . In the example shown in FIG. 1, the communication system 10 comprises an SDN controller 100 and multiple SDN switches 200 . The SDN controller 100 is an example of a controller, and the SDN switch 200 is an example of a communication device.

SDNスイッチ200は、他のSDNスイッチ200と無線リンクを確立可能であれば、どのような装置であってもよい。SDNスイッチ200は、例えば、HAPS(High Altitude Platform Station)に搭載される通信装置であってよく、例えば、ハードウェア型のスイッチやソフトウェア型のスイッチであってよい。SDNスイッチ200は、例えば、ドローン等の無人航空機に搭載される通信装置であってよく、例えば、ハードウェア型のスイッチやソフトウェア型のスイッチであってよい。SDNスイッチ200は、スマートフォン等の携帯電話、タブレット端末、及びPC(Personal Compuer)等であってもよい。SDNスイッチ200は、通信装置の一例であってよい。 The SDN switch 200 may be any device as long as it can establish a wireless link with another SDN switch 200 . The SDN switch 200 may be, for example, a communication device installed in HAPS (High Altitude Platform Station), and may be, for example, a hardware type switch or a software type switch. The SDN switch 200 may be, for example, a communication device mounted on an unmanned aerial vehicle such as a drone, and may be, for example, a hardware type switch or a software type switch. The SDN switch 200 may be a mobile phone such as a smart phone, a tablet terminal, a PC (Personal Computer), or the like. SDN switch 200 may be an example of a communication device.

ここでは、通信システム10が、OpenFlowに準拠し、アドホックルーティングを併用する場合について説明する。通信システム10が用いるアドホックルーティングは、リアクティブ型のアドホックルーティングであってよい。ここでは、通信システム10がAODVを用いる場合を主に例に挙げて説明するが、通信システム10は、DSR(Dynamic Source Routing)等の他のリアクティブ型のアドホックルーティングを用いてもよい。 Here, a case where the communication system 10 conforms to OpenFlow and uses ad-hoc routing together will be described. The ad-hoc routing used by communication system 10 may be reactive ad-hoc routing. Here, a case where the communication system 10 uses AODV will be mainly described as an example, but the communication system 10 may use other reactive ad-hoc routing such as DSR (Dynamic Source Routing).

通常、このような併用によって、SDNスイッチ200は、SDNコントローラ100が経路探索アルゴリズム(ex.ダイクストラ法)に従って計算し、OpenFlowに従って配信した経路表と、アドホックルーティングにより定義された経路表とを用いることができる。SDNコントローラ100が経路探索アルゴリズム(ex.ダイクストラ法)に従って計算し、OpenFlowに従って配信した経路表は、トポロジ変更やコントローラ障害時には無効となる可能性があるが、アドホックルーティングにより定義された経路表をバックアップ経路として利用することができる。しかし、何も工夫することなくOpenFlowとアドホックルーティングとを併用すると、制御パケットによるオーバヘッドの増加が問題となり得る。 Normally, by such combination, the SDN switch 200 uses a routing table calculated by the SDN controller 100 according to a route search algorithm (ex. Dijkstra's method) and distributed according to OpenFlow, and a routing table defined by ad-hoc routing. can be done. The routing table calculated by the SDN controller 100 according to the route search algorithm (ex. Dijkstra's method) and distributed according to OpenFlow may become invalid in the event of a topology change or controller failure, but the routing table defined by ad-hoc routing is backed up. Can be used as a route. However, if OpenFlow and ad-hoc routing are used together without any devising, an increase in overhead due to control packets may become a problem.

図2は、本実施形態に係る通信システム10における処理について説明するための概念図である。既知のOpenFlowでは、例えば、複数のSDNスイッチ200のそれぞれが、SDNコントローラ100からのLLDP(Link Layer Discovery Protocol)パケット送信命令によって、リンクを確立している他のSDNスイッチ200である隣接ノードに、LLDPパケットを定期的に送信し、LLDPパケットを受信したSDNスイッチ200はその情報をSDNコントローラ100に報告する。また、既知のAODVでは、複数のSDNスイッチ200のそれぞれが、隣接ノードにHelloパケットを定期的に送信し、複数のSDNスイッチ200のそれぞれは、受信したHelloパケットによって自身の隣接ノードを把握する。OpenFlowとAODVを単に併用すると、LLDPパケットの転送と、Helloパケットの送信との両方が実施されることになり、2種の制御パケット利用によってオーバヘッドが大きくなる。 FIG. 2 is a conceptual diagram for explaining processing in the communication system 10 according to this embodiment. In the known OpenFlow, for example, each of a plurality of SDN switches 200 sends an LLDP (Link Layer Discovery Protocol) packet transmission command from the SDN controller 100 to a neighboring node, which is another SDN switch 200 with which a link has been established. The SDN switch 200 that periodically transmits LLDP packets and receives the LLDP packets reports the information to the SDN controller 100 . Also, in known AODV, each of the plurality of SDN switches 200 periodically transmits a hello packet to an adjacent node, and each of the plurality of SDN switches 200 recognizes its own adjacent node from the received hello packet. If OpenFlow and AODV are simply used together, both the transfer of LLDP packets and the transmission of Hello packets will be performed, and overhead will increase due to the use of two types of control packets.

本実施形態に係る通信システム10は、LLDPパケットのような、OpenFlowにおけるトポロジ情報収集のための制御パケットを利用せずに、SDNスイッチ200がHelloパケットを受信したときにSDNコントローラ100に通知情報を送信するように構成することによって、SDNコントローラ100がトポロジを把握できるようにする。これにより、オーバヘッドを削減することができる。 The communication system 10 according to the present embodiment does not use a control packet for collecting topology information in OpenFlow, such as an LLDP packet, and sends notification information to the SDN controller 100 when the SDN switch 200 receives a Hello packet. By configuring to transmit, the SDN controller 100 is made aware of the topology. This can reduce overhead.

図3は、本実施形態に係る通信システム10における処理について説明するための概念図である。ここでは、通信システム10が、図2で説明した構成に対して、更なるオーバヘッド削減を実現する構成を有する場合について説明する。 FIG. 3 is a conceptual diagram for explaining processing in the communication system 10 according to this embodiment. Here, a case will be described where the communication system 10 has a configuration that achieves further overhead reduction with respect to the configuration described with reference to FIG.

図2に示す構成を採用することによって、例えば、SDNスイッチ200のb(スイッチbと記載する場合がある。)からSDNスイッチ200のa(スイッチaと記載する場合がある。)へのHelloパケット(についての通知情報をSDNコントローラ100に送信すること)によって、SDNコントローラ100は、スイッチaとスイッチbとの間のリンクを認識する。ここで、何も工夫しないとスイッチaからスイッチbへもHelloパケットが送信されることになるが、SDNコントローラ100は、スイッチaとスイッチbとの間のリンクを認識済みであるため、Helloパケット(についての通知情報をSDNコントローラ100へ送信する処理)が無駄になり得る。すなわちこの場合、スイッチbからSDNコントローラ100への通知情報の送信は必要ないことになる。 By adopting the configuration shown in FIG. 2, for example, a Hello packet from SDN switch 200 b (may be referred to as switch b) to SDN switch 200 a (may be referred to as switch a) By (sending notification information about to the SDN controller 100), the SDN controller 100 recognizes the link between switch a and switch b. If nothing is done here, the hello packet will be sent from the switch a to the switch b as well. (Processing of transmitting notification information about to the SDN controller 100) may be wasted. That is, in this case, there is no need to transmit notification information from the switch b to the SDN controller 100 .

本実施形態に係る通信システム10では、Helloパケットを拡張し、SDNスイッチ200が、自身の隣接ノードの情報を含むHelloパケットを隣接ノードに送信するようにする。そして、Helloパケットを受信したSDNスイッチ200が、Helloパケットに含まれる隣接ノード情報に自装置が含まれる場合には、SDNコントローラ100への通知情報の送信を行わないようする。これにより、更なるオーバヘッド削減を実現することができる。 In the communication system 10 according to this embodiment, the hello packet is extended so that the SDN switch 200 transmits a hello packet including information about its own adjacent node to the adjacent node. Then, the SDN switch 200 that has received the Hello packet does not transmit the notification information to the SDN controller 100 when the adjacent node information included in the Hello packet includes its own device. Thereby, further overhead reduction can be realized.

図4は、SDNコントローラ100の構成の一例を概略的に示す。SDNコントローラ100は、通信部102、OpenFlow処理部104、トポロジ特定部106、トポロジ格納部108、及び転送ルール格納部110を備える。 FIG. 4 schematically shows an example of the configuration of the SDN controller 100. As shown in FIG. The SDN controller 100 includes a communication unit 102 , an OpenFlow processing unit 104 , a topology identification unit 106 , a topology storage unit 108 and a transfer rule storage unit 110 .

通信部102は、複数のSDNスイッチ200のそれぞれと通信する。通信部102は、複数のSDNスイッチ200によって構成されているメッシュネットワークを介して、複数のSDNスイッチ200のそれぞれと通信してよい。 The communication unit 102 communicates with each of the multiple SDN switches 200 . The communication unit 102 may communicate with each of the multiple SDN switches 200 via a mesh network configured by the multiple SDN switches 200 .

OpenFlow処理部104は、OpenFlowに関する処理を実行する。OpenFlow処理部104は、SDNスイッチ200によって送信された通知情報を通信部102が受信した場合に、通知情報をトポロジ特定部106に送信する。 The OpenFlow processing unit 104 executes processing related to OpenFlow. The OpenFlow processing unit 104 transmits the notification information to the topology identification unit 106 when the communication unit 102 receives the notification information transmitted by the SDN switch 200 .

トポロジ特定部106は、複数のSDNスイッチ200によって送信された通知情報を用いて、複数のSDNスイッチ200によって構成されているネットワークのトポロジを特定する。トポロジ格納部108は、トポロジ特定部106によって特定されたトポロジを格納する。OpenFlow処理部104は、トポロジ特定部106によって特定されたトポロジに基づいて経路制御を実行してよい。OpenFlow処理部104は、トポロジ特定部106によって特定されたトポロジに基づいて転送ルールを生成してよい。転送ルール格納部110は、OpenFlow処理部104によって生成された転送ルールを格納する。OpenFlow処理部104は、転送ルールを複数のSDNスイッチ200のそれぞれに送信してよい。 The topology identification unit 106 identifies the topology of the network configured by the multiple SDN switches 200 using the notification information transmitted by the multiple SDN switches 200 . The topology storage unit 108 stores the topology identified by the topology identification unit 106. FIG. The OpenFlow processing unit 104 may perform route control based on the topology identified by the topology identification unit 106. FIG. The OpenFlow processing unit 104 may generate forwarding rules based on the topology identified by the topology identification unit 106 . The transfer rule storage unit 110 stores transfer rules generated by the OpenFlow processing unit 104 . The OpenFlow processing unit 104 may transmit the transfer rule to each of the multiple SDN switches 200 .

図5は、SDNスイッチ200の構成の一例を概略的に示す。SDNスイッチ200は、通信部202、アドホックルーティング処理部206、隣接ノード情報格納部208、OpenFlow処理部210、及び転送ルール格納部212を備える。 FIG. 5 schematically shows an example of the configuration of the SDN switch 200. As shown in FIG. The SDN switch 200 includes a communication unit 202 , an ad-hoc routing processing unit 206 , an adjacent node information storage unit 208 , an OpenFlow processing unit 210 and a transfer rule storage unit 212 .

通信部202は、SDNコントローラ100と通信する。通信部202は、他のSDNスイッチ200と通信する。 A communication unit 202 communicates with the SDN controller 100 . The communication unit 202 communicates with other SDN switches 200 .

アドホックルーティング処理部206は、アドホックルーティングに関する処理を実行する。アドホックルーティング処理部206は、隣接ノードに対して、アドホックルーティングにおける制御パケットを送信してよい。アドホックルーティング処理部206は、例えば、予め定められた条件に従って、隣接ノードにHelloパケットを送信する。アドホックルーティング処理部206は、例えば、予め定められた周期に従って、定期的にHelloパケットを隣接ノードに送信する。 The ad-hoc routing processing unit 206 executes processing related to ad-hoc routing. The ad-hoc routing processing unit 206 may transmit control packets in ad-hoc routing to adjacent nodes. The ad-hoc routing processing unit 206, for example, transmits Hello packets to neighboring nodes according to predetermined conditions. The ad-hoc routing processing unit 206 periodically transmits Hello packets to adjacent nodes, for example, according to a predetermined cycle.

アドホックルーティング処理部206は、隣接ノード情報格納部208が格納している隣接ノード情報を管理する。隣接ノード情報は、隣接ノードとして登録したSDNスイッチ200を識別可能な識別情報を含む。識別情報は、SDNスイッチ200を識別可能であればどのような情報であってもよい。例えば、識別情報は、MACアドレスや、MACアドレスに基づいて生成されたスイッチID等である。 The ad-hoc routing processing unit 206 manages adjacent node information stored in the adjacent node information storage unit 208 . The adjacent node information includes identification information that can identify the SDN switch 200 registered as an adjacent node. The identification information may be any information that can identify the SDN switch 200 . For example, the identification information is a MAC address, a switch ID generated based on the MAC address, or the like.

アドホックルーティング処理部206は、例えば、他のSDNスイッチ200からHelloパケットを受信した場合であって、隣接ノード情報格納部208に格納されている隣接ノード情報に、送信元のSDNスイッチ200が登録されていない場合、当該SDNスイッチ200を隣接ノード情報に登録する。また、アドホックルーティング処理部206は、例えば、隣接ノード情報に登録されているSDNスイッチ200のそれぞれについて、Helloパケットを定期的に受信しているか否かを確認する。アドホックルーティング処理部206は、例えば、隣接ノード情報に登録されているSDNスイッチ200から、予め定められた期間の間、Helloパケットを受信しなかった場合に、当該SDNスイッチ200の登録を解除する。 For example, when a Hello packet is received from another SDN switch 200, the ad-hoc routing processing unit 206 determines that the SDN switch 200 as the transmission source is registered in the adjacent node information stored in the adjacent node information storage unit 208. If not, the SDN switch 200 is registered in the adjacent node information. Also, the ad-hoc routing processing unit 206, for example, confirms whether or not the hello packet is received periodically for each of the SDN switches 200 registered in the adjacent node information. For example, when the ad-hoc routing processing unit 206 does not receive a Hello packet from the SDN switch 200 registered in the adjacent node information for a predetermined period, the registration of the SDN switch 200 is canceled.

OpenFlow処理部210は、OpenFlowに関連する処理を実行する。OpenFlow処理部210は、SDNコントローラ100から転送ルールを受信した場合に、転送ルール格納部212に格納したり、転送ルール格納部212にすでに転送ルールが格納されている場合には、転送ルールを更新したりする。OpenFlow処理部210は、転送ルール格納部212に格納されている転送ルールに従って、データの送信先やデータの中継先を判断し、データ転送を行う。 The OpenFlow processing unit 210 executes processing related to OpenFlow. When the OpenFlow processing unit 210 receives a transfer rule from the SDN controller 100, it stores it in the transfer rule storage unit 212. If the transfer rule is already stored in the transfer rule storage unit 212, the OpenFlow processing unit 210 updates the transfer rule. or The OpenFlow processing unit 210 determines the data transmission destination and the data relay destination according to the transfer rules stored in the transfer rule storage unit 212, and transfers the data.

図6は、SDNスイッチ200による処理の流れの一例を概略的に示す。SDNスイッチ200は、少なくとも1つの他のSDNスイッチ200とリンクを確立している場合に、当該処理を実行してよい。 FIG. 6 schematically shows an example of the flow of processing by the SDN switch 200. As shown in FIG. The SDN switch 200 may perform this process when it has established a link with at least one other SDN switch 200 .

ステップ(ステップをSと省略して記載する場合がある。)102では、SDNスイッチ200が、自身の隣接ノード情報を含むHelloパケットを他のSDNスイッチ200に送信する。S104では、SDNスイッチ200が、他のSDNスイッチ200から、当該他のSDNスイッチ200の隣接ノード情報を含むHelloパケットを受信する。 In step (the step may be abbreviated as S) 102 , the SDN switch 200 transmits a Hello packet including its own adjacent node information to the other SDN switches 200 . In S<b>104 , the SDN switch 200 receives a Hello packet containing adjacent node information of the other SDN switch 200 from the other SDN switch 200 .

S106では、SDNスイッチ200が、S104において受信したHelloパケットの送信元を隣接ノードとして登録する。S108では、SDNスイッチ200が、S104において受信したHelloパケットの送信元が自身を隣接ノードとして登録済であるか否かを判定する。SDNスイッチ200は、Helloパケットに含まれる隣接ノード情報に自身が含まれる場合、登録済みであると判定し、含まれない場合、登録済みでないと判定する。登録済みであると判定した場合、S102に戻り、登録済みでないと判定した場合、S110に進む。 In S106, the SDN switch 200 registers the sender of the Hello packet received in S104 as an adjacent node. In S108, the SDN switch 200 determines whether or not the sender of the Hello packet received in S104 has already registered itself as an adjacent node. The SDN switch 200 determines that the SDN switch 200 is registered when the adjacent node information included in the Hello packet includes itself, and determines that the SDN switch 200 is not registered when it is not included. If it is determined to be registered, the process returns to S102, and if it is determined not to be registered, the process proceeds to S110.

S110では、SDNスイッチ200が、S104において受信したHelloパケットをSDNコントローラ100に転送する。SDNコントローラ100は、受信したHelloパケットからトポロジ情報を計算する。 At S<b>110 , the SDN switch 200 transfers the Hello packet received at S<b>104 to the SDN controller 100 . The SDN controller 100 calculates topology information from received Hello packets.

図7は、SDNコントローラ100の機能構成の一例を概略的に示す。SDNコントローラ100は、通信部112、通知情報取得部114、トポロジ特定部116、トポロジ格納部118、転送ルール生成部120、及び転送ルール格納部122を備える。 FIG. 7 schematically shows an example of the functional configuration of the SDN controller 100. As shown in FIG. The SDN controller 100 includes a communication unit 112 , a notification information acquisition unit 114 , a topology identification unit 116 , a topology storage unit 118 , a transfer rule generation unit 120 and a transfer rule storage unit 122 .

通信部112は、複数のSDNスイッチ200のそれぞれと通信する。通信部112は、複数のSDNスイッチ200によって構成されているメッシュネットワークを介して、複数のSDNスイッチ200のそれぞれと通信してよい。通信部112は、通信部102によって実現されてよい。 The communication unit 112 communicates with each of the multiple SDN switches 200 . The communication unit 112 may communicate with each of the multiple SDN switches 200 via a mesh network configured by the multiple SDN switches 200 . The communication unit 112 may be implemented by the communication unit 102 .

通知情報取得部114は、通信部112がSDNスイッチ200から受信した通知情報を取得する。通知情報取得部114は、取得した通知情報をトポロジ特定部106に送信する。通知情報取得部114は、OpenFlow処理部104によって実現されてよい。 The notification information acquisition unit 114 acquires notification information received by the communication unit 112 from the SDN switch 200 . The notification information acquisition unit 114 transmits the acquired notification information to the topology identification unit 106 . The notification information acquisition unit 114 may be implemented by the OpenFlow processing unit 104 .

トポロジ特定部116は、複数のSDNスイッチ200のそれぞれから受信した通知情報に基づいて、複数のSDNスイッチ200によって構成されているネットワークのトポロジを特定する。トポロジ特定部116は、トポロジ特定部106によって実現されてよい。 The topology identifying unit 116 identifies the topology of the network configured by the multiple SDN switches 200 based on the notification information received from each of the multiple SDN switches 200 . The topology identification unit 116 may be realized by the topology identification unit 106. FIG.

トポロジ格納部118は、トポロジ特定部116によって特定されたトポロジを格納する。トポロジ格納部118は、トポロジ格納部108によって実現されてよい。 The topology storage unit 118 stores the topology identified by the topology identification unit 116. FIG. Topology storage unit 118 may be implemented by topology storage unit 108 .

転送ルール生成部120は、トポロジ格納部118に格納されているトポロジに基づいて、転送ルールを生成する。転送ルール生成部120は、OpenFlow処理部104によって実現されてよい。転送ルール格納部122は、転送ルール生成部120によって生成された転送ルールを格納する。通信部112は、転送ルール生成部120によって生成された転送ルールを、複数のSDNスイッチ200のそれぞれに送信してよい。 Transfer rule generation unit 120 generates transfer rules based on the topology stored in topology storage unit 118 . The transfer rule generator 120 may be implemented by the OpenFlow processor 104 . The transfer rule storage unit 122 stores transfer rules generated by the transfer rule generation unit 120 . The communication unit 112 may transmit the transfer rule generated by the transfer rule generation unit 120 to each of the multiple SDN switches 200 .

図8は、SDNスイッチ200の機能構成の一例を概略的に示す。SDNスイッチ200は、格納部220、通信部230、及び処理機能部240を備える。 FIG. 8 schematically shows an example of the functional configuration of the SDN switch 200. As shown in FIG. The SDN switch 200 comprises a storage unit 220 , a communication unit 230 and a processing function unit 240 .

格納部220は、各種情報を格納する。格納部220は、例えば、隣接ノード情報を格納する。格納部220は、例えば、転送ルールを格納する。 The storage unit 220 stores various information. The storage unit 220 stores adjacent node information, for example. The storage unit 220 stores transfer rules, for example.

通信部230は、リンク確立部232、Helloパケット送信部234、及び転送ルール受信部236を有する。リンク確立部232は、他のSDNスイッチ200とリンクを確立する。 The communication unit 230 has a link establishment unit 232 , a Hello packet transmission unit 234 and a transfer rule reception unit 236 . A link establishment unit 232 establishes a link with another SDN switch 200 .

Helloパケット送信部234は、リンク確立部232が無線リンクを確立した他のSDNスイッチ200に対して、予め定められた条件に従ってHelloパケットを送信する。Helloパケット送信部234は、例えば、予め定められた周期で定期的にHelloパケットを他のSDNスイッチ200に対して送信する。Helloパケット送信部234は、格納部220に格納されている隣接ノード情報を含むHelloパケットを他のSDNスイッチ200に対して送信してもよい。Helloパケット送信部234は、アドホックルーティング処理部206によって実現されてよい。 The Hello packet transmitting unit 234 transmits Hello packets according to predetermined conditions to other SDN switches 200 with which the link establishing unit 232 has established a wireless link. The Hello packet transmission unit 234 periodically transmits Hello packets to other SDN switches 200 at predetermined intervals, for example. The hello packet transmission unit 234 may transmit hello packets including the adjacent node information stored in the storage unit 220 to other SDN switches 200 . The Hello packet transmitter 234 may be implemented by the ad-hoc routing processor 206 .

転送ルール受信部236は、SDNコントローラ100から転送ルールを受信する。転送ルール受信部236は、受信した転送ルールを格納部220に格納する。転送ルール受信部236は、OpenFlow処理部210によって実現されてよい。通信部230は、格納部220に格納した転送ルールに従って、データの送信先や、データの中継先を判断し、データ転送を行う。 The transfer rule receiver 236 receives transfer rules from the SDN controller 100 . Transfer rule receiver 236 stores the received transfer rule in storage 220 . The transfer rule receiver 236 may be implemented by the OpenFlow processor 210 . The communication unit 230 determines the data transmission destination and the data relay destination according to the transfer rule stored in the storage unit 220, and transfers the data.

処理機能部240は、管理処理実行部242及び通知情報送信部244を有する。管理処理実行部242は、リンクを確立している他のSDNスイッチ200である隣接ノードからアドホックルーティングにおける制御パケットを受信した場合に、自装置の隣接ノード情報の管理処理を実行する。当該制御パケットは、隣接関係を確認するためのものであれば、どのようなものであってもよい。当該制御パケットは、例えば、Helloパケットである。 The processing function unit 240 has a management processing execution unit 242 and a notification information transmission unit 244 . When receiving a control packet in ad-hoc routing from an adjacent node that is another SDN switch 200 with which a link has been established, the management processing execution unit 242 executes management processing of adjacent node information of the device itself. The control packet may be of any type as long as it is for confirming the adjacency relationship. The control packet is, for example, a Hello packet.

管理処理実行部242は、例えば、制御パケットの送信元のSDNスイッチ200が隣接ノード情報に登録されていない場合、当該SDNスイッチ200を隣接ノード情報に登録する。また、管理処理実行部242は、例えば、隣接ノード情報に登録されているSDNスイッチ200について、制御パケットを定期的に受信しているか否かを確認する。管理処理実行部242は、例えば、隣接ノード情報に登録されているSDNスイッチ200から、予め定められた期間の間、制御パケットを受信しなかった場合に、当該SDNスイッチ200の登録を解除する。管理処理実行部242は、アドホックルーティング処理部206によって実現されてよい。 For example, if the SDN switch 200 that is the transmission source of the control packet is not registered in the adjacent node information, the management processing execution unit 242 registers the SDN switch 200 in the adjacent node information. Also, the management processing execution unit 242 checks whether or not the SDN switch 200 registered in the adjacent node information periodically receives control packets, for example. For example, when no control packet is received from the SDN switch 200 registered in the adjacent node information for a predetermined period, the management processing execution unit 242 cancels the registration of the SDN switch 200. The management processing execution unit 242 may be implemented by the ad-hoc routing processing unit 206 .

通知情報送信部244は、通知情報をSDNコントローラ100に送信する。通知情報送信部244は、例えば、管理処理実行部242によって、SDNスイッチ200が隣接ノード情報に登録された場合に、当該SDNスイッチ200が隣接ノードになったことを通知する通知情報をSDNコントローラ100に送信する。また、通知情報送信部244は、例えば、管理処理実行部242によって、SDNスイッチ200の登録が解除された場合に、当該SDNスイッチ200が隣接ノードでなくなったことを通知する通知情報をSDNコントローラ100に送信する。通知情報送信部244は、アドホックルーティング処理部206又はOpenFlow処理部210によって実現されてよい。 The notification information transmission unit 244 transmits notification information to the SDN controller 100 . For example, when the management processing execution unit 242 registers the SDN switch 200 in the adjacent node information, the notification information transmission unit 244 transmits notification information to the SDN controller 100 to notify that the SDN switch 200 has become an adjacent node. Send to Further, for example, when the registration of the SDN switch 200 is canceled by the management processing execution unit 242, the notification information transmitting unit 244 transmits notification information notifying that the SDN switch 200 is no longer an adjacent node to the SDN controller 100. Send to The notification information transmission unit 244 may be realized by the ad-hoc routing processing unit 206 or the OpenFlow processing unit 210.

通知情報送信部244は、隣接ノードから受信した、隣接ノードの隣接ノード情報を含む制御パケットに基づいて、通知情報をSDNコントローラ100に送信するか否かを判定してもよい。例えば、通知情報送信部244は、隣接ノードから受信した制御パケットに含まれる隣接ノードの隣接ノード情報に、自装置が含まれない場合、通知情報をSDNコントローラ100に送信し、含まれる場合、通知情報をSDNコントローラ100に送信しない。これにより、制御パケットを送信した隣接ノードが、自装置との隣接関係を既にSDNコントローラ100に通知しているにも関わらず、通知情報をSDNコントローラ100に送信してしまうことを防止できる。 The notification information transmission unit 244 may determine whether or not to transmit notification information to the SDN controller 100 based on a control packet including adjacent node information of the adjacent node received from the adjacent node. For example, the notification information transmitting unit 244 transmits the notification information to the SDN controller 100 when the own device is not included in the adjacent node information of the adjacent node included in the control packet received from the adjacent node, and when it is included, the notification information No information is sent to the SDN controller 100 . This prevents the adjacent node that transmitted the control packet from transmitting notification information to the SDN controller 100 even though the adjacent node has already notified the SDN controller 100 of the adjacent relationship with its own device.

図9は、SDNコントローラ100又はSDNスイッチ200として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。 FIG. 9 schematically shows an example hardware configuration of a computer 1200 that functions as the SDN controller 100 or SDN switch 200. As shown in FIG. Programs installed on the computer 1200 cause the computer 1200 to function as one or more "parts" of the apparatus of the present embodiments, or cause the computer 1200 to operate or perform operations associated with the apparatus of the present invention. Multiple "units" can be executed and/or the computer 1200 can be caused to execute the process or steps of the process according to the present invention. Such programs may be executed by CPU 1212 to cause computer 1200 to perform certain operations associated with some or all of the blocks in the flowcharts and block diagrams described herein.

本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブは、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。 Computer 1200 according to this embodiment includes CPU 1212 , RAM 1214 , and graphics controller 1216 , which are interconnected by host controller 1210 . Computer 1200 also includes input/output units such as communication interface 1222 , storage device 1224 , DVD drive, and IC card drive, which are connected to host controller 1210 via input/output controller 1220 . The DVD drive may be a DVD-ROM drive, a DVD-RAM drive, and the like. Storage devices 1224 may be hard disk drives, solid state drives, and the like. Computer 1200 also includes legacy input/output units, such as ROM 1230 and keyboard, which are connected to input/output controller 1220 via input/output chip 1240 .

CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。 The CPU 1212 operates according to programs stored in the ROM 1230 and RAM 1214, thereby controlling each unit. Graphics controller 1216 retrieves image data generated by CPU 1212 into a frame buffer or the like provided in RAM 1214 or itself, and causes the image data to be displayed on display device 1218 .

通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブは、プログラム又はデータをDVD-ROM等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。 Communication interface 1222 communicates with other electronic devices over a network. Storage device 1224 stores programs and data used by CPU 1212 within computer 1200 . The DVD drive reads programs or data from a DVD-ROM or the like and provides them to the storage device 1224 . The IC card drive reads programs and data from IC cards and/or writes programs and data to IC cards.

ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。 ROM 1230 stores therein programs that are dependent on the hardware of computer 1200, such as a boot program that is executed by computer 1200 upon activation. Input/output chip 1240 may also connect various input/output units to input/output controller 1220 via USB ports, parallel ports, serial ports, keyboard ports, mouse ports, and the like.

プログラムは、DVD-ROM又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。 The program is provided by a computer-readable storage medium such as DVD-ROM or IC card. The program is read from a computer-readable storage medium, installed in storage device 1224 , RAM 1214 , or ROM 1230 , which are also examples of computer-readable storage media, and executed by CPU 1212 . The information processing described within these programs is read by computer 1200 to provide coordination between the programs and the various types of hardware resources described above. An apparatus or method may be configured by implementing information operations or processing according to the use of computer 1200 .

例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。 For example, when communication is performed between the computer 1200 and an external device, the CPU 1212 executes a communication program loaded into the RAM 1214 and sends communication processing to the communication interface 1222 based on the processing described in the communication program. you can command. The communication interface 1222 reads transmission data stored in a transmission buffer area provided in a recording medium such as a RAM 1214, a storage device 1224, a DVD-ROM, or an IC card under the control of the CPU 1212, and transmits the read transmission data. Data is transmitted to the network, or received data received from the network is written in a receive buffer area or the like provided on the recording medium.

また、CPU1212は、記憶装置1224、DVDドライブ(DVD-ROM)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。 In addition, the CPU 1212 causes the RAM 1214 to read all or necessary portions of files or databases stored in an external recording medium such as a storage device 1224, a DVD drive (DVD-ROM), an IC card, etc. Various types of processing may be performed on the data. CPU 1212 may then write back the processed data to an external recording medium.

様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。 Various types of information, such as various types of programs, data, tables, and databases, may be stored on recording media and subjected to information processing. CPU 1212 performs various types of operations on data read from RAM 1214, information processing, conditional decisions, conditional branching, unconditional branching, and information retrieval, which are described throughout this disclosure and are specified by instruction sequences of programs. Various types of processing may be performed, including /replace, etc., and the results written back to RAM 1214 . In addition, the CPU 1212 may search for information in a file in a recording medium, a database, or the like. For example, when a plurality of entries each having an attribute value of a first attribute associated with an attribute value of a second attribute are stored in the recording medium, the CPU 1212 selects the first attribute from among the plurality of entries. search for an entry that matches the specified condition of the attribute value of the attribute, read the attribute value of the second attribute stored in the entry, and thereby determine the first attribute that satisfies the predetermined condition An attribute value of the associated second attribute may be obtained.

上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。 The programs or software modules described above may be stored in a computer-readable storage medium on or near computer 1200 . Also, a recording medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can be used as a computer-readable storage medium, whereby the program can be transferred to the computer 1200 via the network. offer.

本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。 The blocks in the flowcharts and block diagrams in this embodiment may represent steps in the process in which the operations are performed or "parts" of the apparatus responsible for performing the operations. Certain steps and "sections" may be provided with dedicated circuitry, programmable circuitry provided with computer readable instructions stored on a computer readable storage medium, and/or computer readable instructions provided with computer readable instructions stored on a computer readable storage medium. It may be implemented by a processor. Dedicated circuitry may include digital and/or analog hardware circuitry, and may include integrated circuits (ICs) and/or discrete circuitry. Programmable circuits, such as Field Programmable Gate Arrays (FPGAs), Programmable Logic Arrays (PLAs), etc., perform AND, OR, EXCLUSIVE OR, NOT AND, NOT OR, and other logical operations. , flip-flops, registers, and memory elements.

コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。 A computer-readable storage medium may comprise any tangible device capable of storing instructions to be executed by a suitable device, such that a computer-readable storage medium having instructions stored thereon may be illustrated in flowchart or block diagram form. It will comprise an article of manufacture containing instructions that can be executed to create means for performing specified operations. Examples of computer-readable storage media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, and the like. More specific examples of computer readable storage media include floppy disks, diskettes, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory) , electrically erasable programmable read only memory (EEPROM), static random access memory (SRAM), compact disc read only memory (CD-ROM), digital versatile disc (DVD), Blu-ray disc, memory stick , integrated circuit cards, and the like.

コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。 The computer readable instructions may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state configuration data, or instructions such as Smalltalk, JAVA, C++, etc. any source or object code written in any combination of one or more programming languages, including object-oriented programming languages, and conventional procedural programming languages such as the "C" programming language or similar programming languages; may include

コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。 Computer readable instructions are used to produce means for a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, or programmable circuits to perform the operations specified in the flowchart or block diagrams. A general purpose computer, special purpose computer, or other programmable data processor, locally or over a wide area network (WAN) such as the Internet, etc., to execute such computer readable instructions. It may be provided in the processor of the device or in a programmable circuit. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, and the like.

上記実施形態では、SDNスイッチ200同士が無線リンクを確立して無線通信する場合を例に挙げて説明したが、これに限らない。通信システム10は、有線ネットワークを構築する複数の通信装置と、複数の通信装置を制御するコントローラとを備えてもよい。 In the above embodiment, the case where the SDN switches 200 establish a wireless link and wirelessly communicate with each other has been described as an example, but the present invention is not limited to this. The communication system 10 may include multiple communication devices that construct a wired network, and a controller that controls the multiple communication devices.

以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。 Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It is obvious to those skilled in the art that various modifications or improvements can be made to the above embodiments. It is clear from the description of the scope of the claims that forms with such modifications or improvements can also be included in the technical scope of the present invention.

特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。 The execution order of each process such as actions, procedures, steps, and stages in the devices, systems, programs, and methods shown in the claims, the specification, and the drawings is etc., and it should be noted that they can be implemented in any order unless the output of the previous process is used in the subsequent process. Regarding the operation flow in the claims, the specification, and the drawings, even if the description is made using "first," "next," etc. for convenience, it means that it is essential to carry out in this order. not a thing

10 通信システム、100 SDNコントローラ、102 通信部、104 OpenFlow処理部、106 トポロジ特定部、108 トポロジ格納部、110 転送ルール格納部、112 通信部、114 通知情報取得部、116 トポロジ特定部、118 トポロジ格納部、120 転送ルール生成部、122 転送ルール格納部、200 SDNスイッチ、202 通信部、206 アドホックルーティング処理部、208 隣接ノード情報格納部、210 OpenFlow処理部、212 転送ルール格納部、220 格納部、230 通信部、232 リンク確立部、234 Helloパケット送信部、236 転送ルール受信部、240 処理機能部、242 管理処理実行部、244 通知情報送信部、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1230 ROM、1240 入出力チップ 10 communication system, 100 SDN controller, 102 communication unit, 104 OpenFlow processing unit, 106 topology identification unit, 108 topology storage unit, 110 transfer rule storage unit, 112 communication unit, 114 notification information acquisition unit, 116 topology identification unit, 118 topology Storage unit 120 Transfer rule generation unit 122 Transfer rule storage unit 200 SDN switch 202 Communication unit 206 Ad-hoc routing processing unit 208 Adjacent node information storage unit 210 OpenFlow processing unit 212 Transfer rule storage unit 220 Storage unit , 230 communication unit, 232 link establishment unit, 234 hello packet transmission unit, 236 transfer rule reception unit, 240 processing function unit, 242 management processing execution unit, 244 notification information transmission unit, 1200 computer, 1210 host controller, 1212 CPU, 1214 RAM, 1216 graphic controller, 1218 display device, 1220 input/output controller, 1222 communication interface, 1224 storage device, 1230 ROM, 1240 input/output chip

Claims (8)

コントローラと、
複数の通信装置と
を備え、
前記複数の通信装置のそれぞれは、
リンクを確立している他の通信装置である隣接ノードに、自装置の隣接ノードの隣接ノード情報を含むアドホックルーティングにおけるHelloパケットを送信する送信部と、
前記隣接ノードから前記Helloパケットを受信した場合に、自装置の前記隣接ノード情報の管理処理を実行し、前記隣接ノードに関する情報を含む通知情報を前記コントローラに送信する処理機能部であって、前記隣接ノードから受信した、前記隣接ノードの隣接ノード情報を含む前記Helloパケットに含まれる前記隣接ノードの前記隣接ノード情報に自装置が含まれない場合、前記通知情報を前記コントローラに送信し、含まれる場合、前記通知情報を前記コントローラに送信しない処理機能部と
を有する、通信システム。
a controller;
comprising a plurality of communication devices and
each of the plurality of communication devices,
a transmission unit that transmits a Hello packet in ad-hoc routing including adjacent node information of the adjacent node of the own device to an adjacent node that is another communication device that has established a link;
A processing function unit that, when receiving the Hello packet from the adjacent node, executes management processing of the adjacent node information of the device itself and transmits notification information including information about the adjacent node to the controller, If the device itself is not included in the adjacent node information of the adjacent node included in the Hello packet containing the adjacent node information of the adjacent node received from the adjacent node, the notification information is transmitted to the controller and included case, a processing function unit that does not transmit the notification information to the controller
A communication system having
前記アドホックルーティングは、リアクティブ型のアドホックルーティングである、請求項1に記載の通信システム。 The communication system according to claim 1, wherein said ad-hoc routing is reactive ad-hoc routing. 前記コントローラは、集中経路制御のための通信プロトコルに準拠している、請求項1又は2に記載の通信システム。 3. A communication system according to claim 1 or 2 , wherein said controller conforms to a communication protocol for centralized routing. 前記コントローラは、OpenFlowに準拠しており、前記複数の通信装置に対するトポロジ情報収集のための制御パケットの送信を行わない、請求項1からのいずれか一項に記載の通信システム。 The communication system according to any one of claims 1 to 3 , wherein said controller conforms to OpenFlow and does not transmit control packets for topology information collection to said plurality of communication devices. 前記コントローラは、
前記複数の通信装置のそれぞれから受信した前記通知情報に基づいて、前記複数の通信装置によって構成されているネットワークのトポロジを特定するトポロジ特定部
を有する、請求項1からのいずれか一項に記載の通信システム。
The controller is
5. The method according to any one of claims 1 to 4 , further comprising: a topology identification unit that identifies a topology of a network configured by the plurality of communication devices based on the notification information received from each of the plurality of communication devices. Communication system as described.
通信装置であって、
リンクを確立している他の通信装置である隣接ノードに、自装置の隣接ノードの隣接ノード情報を含むアドホックルーティングにおけるHelloパケットを送信する送信部と、
前記隣接ノードから前記Helloパケットを受信した場合に、自装置の前記隣接ノード情報の管理処理を実行し、前記隣接ノードに関する情報を含む通知情報をコントローラに送信する処理機能部であって、前記隣接ノードから受信した、前記隣接ノードの隣接ノード情報を含む前記Helloパケットに含まれる前記隣接ノードの前記隣接ノード情報に自装置が含まれない場合、前記通知情報を前記コントローラに送信し、含まれる場合、前記通知情報を前記コントローラに送信しない処理機能部と
を備える、通信装置。
A communication device,
a transmission unit that transmits a Hello packet in ad-hoc routing including adjacent node information of the adjacent node of the own device to an adjacent node that is another communication device that has established a link;
A processing function unit that , when receiving the Hello packet from the adjacent node, executes management processing of the adjacent node information of the device itself and transmits notification information including information about the adjacent node to a controller, If the device itself is not included in the adjacent node information of the adjacent node included in the Hello packet that is received from the node and includes the adjacent node information of the adjacent node, the notification information is transmitted to the controller; , a processing function unit that does not transmit the notification information to the controller;
A communication device comprising:
コンピュータを、請求項に記載の通信装置として機能させるためのプログラム。 A program for causing a computer to function as the communication device according to claim 6 . 通信装置によって実行される処理方法であって、
前記通信装置がリンクを確立している他の通信装置である隣接ノードに、自装置の隣接ノードの隣接ノード情報を含むアドホックルーティングにおけるHelloパケットを送信する送信ステップと、
前記隣接ノードから前記Helloパケットを受信した場合に、前記通信装置の前記隣接ノード情報の管理処理を実行し、前記隣接ノードに関する情報を含む通知情報をコントローラに送信する送信ステップであって、前記隣接ノードから受信した、前記隣接ノードの隣接ノード情報を含む前記Helloパケットに含まれる前記隣接ノードの前記隣接ノード情報に自装置が含まれない場合、前記通知情報を前記コントローラに送信し、含まれる場合、前記通知情報を前記コントローラに送信しない送信ステップと
を備える、処理方法。
A processing method performed by a communication device, comprising:
a transmission step of transmitting a Hello packet in ad-hoc routing including adjacent node information of an adjacent node of the own device to an adjacent node that is another communication device with which the communication device has established a link;
A transmitting step of executing a management process of the adjacent node information of the communication device and transmitting notification information including information about the adjacent node to a controller when the Hello packet is received from the adjacent node, If the device itself is not included in the adjacent node information of the adjacent node included in the Hello packet that is received from the node and includes the adjacent node information of the adjacent node, the notification information is transmitted to the controller; , a sending step of not sending the notification information to the controller;
A processing method comprising:
JP2021035762A 2021-03-05 2021-03-05 Communication system, communication device, program, and processing method Active JP7121821B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021035762A JP7121821B1 (en) 2021-03-05 2021-03-05 Communication system, communication device, program, and processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021035762A JP7121821B1 (en) 2021-03-05 2021-03-05 Communication system, communication device, program, and processing method

Publications (2)

Publication Number Publication Date
JP7121821B1 true JP7121821B1 (en) 2022-08-18
JP2022135752A JP2022135752A (en) 2022-09-15

Family

ID=82897989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021035762A Active JP7121821B1 (en) 2021-03-05 2021-03-05 Communication system, communication device, program, and processing method

Country Status (1)

Country Link
JP (1) JP7121821B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007528619A (en) * 2004-01-20 2007-10-11 エルジー エレクトロニクス インコーポレイティド Mobile ad hoc network system and operation method thereof
CN106304229A (en) * 2016-08-18 2017-01-04 南京邮电大学 A kind of software definition wireless Mesh netword based on content storage
CN106330536A (en) * 2016-08-22 2017-01-11 华南理工大学 Method for acquiring network state information of wmSDN
US20190312784A1 (en) * 2018-04-05 2019-10-10 Netsia, Inc. Controller-enabled topology management in self backhauling wireless mesh and relay networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007528619A (en) * 2004-01-20 2007-10-11 エルジー エレクトロニクス インコーポレイティド Mobile ad hoc network system and operation method thereof
CN106304229A (en) * 2016-08-18 2017-01-04 南京邮电大学 A kind of software definition wireless Mesh netword based on content storage
CN106330536A (en) * 2016-08-22 2017-01-11 华南理工大学 Method for acquiring network state information of wmSDN
US20190312784A1 (en) * 2018-04-05 2019-10-10 Netsia, Inc. Controller-enabled topology management in self backhauling wireless mesh and relay networks

Also Published As

Publication number Publication date
JP2022135752A (en) 2022-09-15

Similar Documents

Publication Publication Date Title
US9450830B2 (en) Node apparatus and communication method
US9014088B2 (en) System and method for delivering data in an intermittent communication environment
JP2012174081A (en) Information processing system
US10305825B2 (en) Bus control device, relay device, and bus system
EP1519520B1 (en) Management node device, node device, network configuration management system, network configuration management method, node device control method, management node device control method
JP7187849B2 (en) Data collection system and data collection method
JP2010074691A (en) Ad-hoc network wireless communication method
CN110178410A (en) A kind of communication path determines method and the network equipment
JPWO2013042209A1 (en) Data transfer method and node apparatus using the same
JP7121821B1 (en) Communication system, communication device, program, and processing method
JP7219832B1 (en) Communication system, communication device, program, and processing method
JP5673303B2 (en) Wireless terminal device, wireless system, and wireless communication method
US10813033B1 (en) Partitioned network routing
JP2013135313A (en) Wireless communication device, wireless communication program and wireless communication method
JP2009165070A (en) Ad hoc network communication system, method therefor, and communication terminal
JP7437345B2 (en) Communication system, communication device, program, and control method
Ibrahim et al. Energy-efficient OLSR Routing Protocol for Flying Ad Hoc Networks
JP6345560B2 (en) Communication device system and program
JP5287373B2 (en) Communication device and communication processing method
JPWO2015145508A1 (en) Communication terminal
JP5885257B2 (en) Network system, node, network management method, and program
JP6345561B2 (en) Communication device system and program
JP6354258B2 (en) COMMUNICATION MANAGEMENT DEVICE, NODE, COMMUNICATION SYSTEM, COMMUNICATION MANAGEMENT METHOD, NODE CONTROL METHOD, AND PROGRAM
KR20190108255A (en) Method and apparatus for controlling mobile ad-hoc network based on software-defined network
CN114040007B (en) Method and device for data transmission between multiple nodes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220617

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220805

R150 Certificate of patent or registration of utility model

Ref document number: 7121821

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150