WO2015118822A1 - 通信制御システム、通信制御方法および通信制御プログラム - Google Patents
通信制御システム、通信制御方法および通信制御プログラム Download PDFInfo
- Publication number
- WO2015118822A1 WO2015118822A1 PCT/JP2015/000262 JP2015000262W WO2015118822A1 WO 2015118822 A1 WO2015118822 A1 WO 2015118822A1 JP 2015000262 W JP2015000262 W JP 2015000262W WO 2015118822 A1 WO2015118822 A1 WO 2015118822A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- domain
- controller
- communication
- adjacent
- ofc
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/18—Loop-free operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Definitions
- the present invention relates to a communication control system, a communication control method, and a communication control program for performing communication control between controllers that manage a plurality of communication devices.
- OpenFlow is widely known as a technology for centrally managing multiple communication devices with a single control device.
- one or more OpenFlow switches (Open Flow Switch, hereinafter referred to as OFS) are controlled by an OpenFlow controller (OpenFlow Controller, hereinafter referred to as OFC).
- OFS Open Flow Switch
- OFC OpenFlow Controller
- Patent Document 1 discloses a load that enables load balancing of a controller even in a combination of a switch and a controller that does not have a load balancing function uniquely, or in a combination of a switch and a controller that have incompatible load balancing functions due to differences in manufacturers.
- a distributed system is described.
- a proxy is installed between a switch and a controller, and the proxy notifies a plurality of controllers of connections from one switch and becomes a master for the switch.
- One controller is determined, and an inquiry message from the switch is transferred to only one master controller.
- OFC detects the subordinate topology managed by itself without being aware of the connection with OFS groups managed by other OFCs.
- the OFS group managed by the OFC is referred to as an OFC domain. That is, the OFC controls BCMC (Broadcast and Multicast), Unknown unicast, and Unicast transfer using the OpenFlow protocol based on the topology of the own OFC domain detected for each OFC.
- BCMC Broadcast and Multicast
- Unknown unicast Unknown unicast
- Unicast transfer using the OpenFlow protocol based on the topology of the own OFC domain detected for each OFC.
- the OFC detects and controls only the topology of its own OFC domain, the following problems occur.
- FIG. 11 is an explanatory diagram showing an example in which two OFC domains are connected by a plurality of lines.
- the OFC1 domain 110 and the OFC2 domain 120 are connected by two lines C41 and C42.
- the OFC1 domain 110 is a domain managed by OFC1
- the OFC2 domain 120 is a domain managed by OFC2.
- the OFC1 domain 110 includes four OFS (OFS1 to 4).
- OFS1 and OFS2 are connected by a line C11
- OFS1 and OFS3 are connected by a line C12
- OFS2 and OFS4 are connected by a line C13
- OFS3 and OFS4 are connected by a line C14.
- a client PC (Personal Computer) 210 is connected to the OFS 1 of the OFC 1 domain 110.
- the OFC2 domain 120 similarly includes four OFS (OFS1 to 4).
- OFS1 and OFS2 are connected by a line C21
- OFS1 and OFS3 are connected by a line C22
- OFS2 and OFS4 are connected by a line C23
- OFS3 and OFS4 are connected by a line C24.
- OFC 1 detects (discovers) the topology of the OFC 1 domain 110
- OFC 2 detects (discovers) the topology of the OFC 2 domain 120.
- the OFC 1 constructs a logical spanning tree so as to block (block) the line C14 in its own domain
- the OFC 2 blocks (blocks) the line C23 in its own domain.
- MCLAG Multi-Chasis Link Aggregation Group
- FIG. 12 is an explanatory diagram showing an example when three OFC domains are connected.
- the OFC3 domain 130 is a domain managed by the OFC3.
- the OFC1 domain 110 and the OFC3 domain 130 are connected by a line C43, and the OFC2 domain 120 and the OFC3 domain 130 are connected by a line C44.
- the OFC3 domain 130 also includes four OFS (OFS1 to 4).
- OFS1 and OFS2 are connected by line C31
- OFS1 and OFS3 are connected by line C32
- OFS2 and OFS4 are connected by line C33
- OFS3 and OFS4 are connected by line C34.
- the OFC1 domain 110 and the OFC2 domain 120 are connected by MCLAG created using the line C41 and the line C42.
- the BCMC packet transmitted from the PC 1 passes through the MCLAG created using the line C 41 and the line C 42, the link of the line C 43 and the line C 44, and the OFC 1 domain 110, the OFC 2 domain 120, and the OFC 3 domain 130. Loop between. Therefore, a BCMC storm occurs in the entire system illustrated in FIG.
- the present invention enables communication using an optimal route without looping communication even when a physical loop exists between a plurality of connected OFC domains in an open flow network environment. It is an object to provide a communication control system, a communication control method, and a communication control program that can be performed.
- the communication control system controls communication between controller domains in a network in which controller domains indicating ranges in which at least one or more OpenFlow switches are managed by each OpenFlow controller are connected to each other.
- An adjacent domain specifying means for specifying a controller domain adjacent to the own controller domain; a loop solving means for creating a communication tree that avoids a loop configuration existing in a communication path between adjacent controller domains;
- the topology specifying means for specifying the network topology between the controller domains and the network topology, the optimum route based on the communication tree is calculated, and communication from the communication device connected to each OpenFlow switch is controlled. Characterized in that a signal control unit.
- Another communication control system controls communication between controller domains in a network in which controller domains indicating ranges in which at least one or more OpenFlow switches are managed by each OpenFlow controller are connected to each other.
- An open flow controller comprising a plurality of OpenFlow controllers and a topology manager that is connected so that communication from the OpenFlow controller reaches and creates a communication tree indicating a communication path between controller domains.
- Adjacent domain specifying means for specifying a controller domain adjacent to its own controller domain, and adjacent domain information transmitting means for transmitting information indicating the specified adjacent controller domain to the topology manager
- a communication control means for calculating an optimum route based on the network topology calculated by the topology manager and controlling communication from a communication device connected to each OpenFlow switch, and received by the topology manager from the OpenFlow controller Based on the information, the network topology between each controller domain is specified, and a communication tree creation means for creating a communication tree that avoids a loop configuration existing in the communication path between adjacent controller domains and the created communication tree are opened.
- Network topology distribution means for distributing to the flow controller.
- the communication control method is a communication control for controlling communication between controller domains in a network in which controller domains indicating ranges in which at least one or more OpenFlow switches are managed by each OpenFlow controller are connected to each other.
- a communication control program is provided in a computer that controls communication between controller domains in a network in which controller domains indicating ranges in which at least one or more OpenFlow switches are managed by each OpenFlow controller are connected to each other.
- Applicable communication control program that creates a communication tree that avoids a loop configuration that exists in the communication path between adjacent controller domains, and an adjacent domain specifying process that specifies a controller domain adjacent to its own controller domain. Loop solving process, topology identifying process for identifying the network topology between the controller domains, and calculating the optimal route based on the communication tree using the network topology, Characterized in that to execute a communication control process for controlling the communication from the communication device connected to the pitch.
- FIG. FIG. 1 is an explanatory diagram showing a configuration example of a first embodiment of a communication control system according to the present invention.
- FIG. 2 is a block diagram showing a configuration example of the OFC used in the communication control system of this embodiment.
- the communication network includes three OFC domains (OFC domains 110, 120, and 130) and four OFSs managed by the OFC in each OFC domain. That is, the environment described below is a multi-controller environment including three OFCs.
- the number of OFC domains included in the communication control system is not limited to three, and may be four or more. Further, the number of OFS included in each OFC domain is not limited to four, but may be 1 to 3, or 5 or more.
- FIG. 2 shows the functional module configuration of the OFC of this embodiment.
- the OFC 100 illustrated in FIG. 2 controls the OFC domain.
- the OFC 100 illustrated in FIG. 2 corresponds to the OFC1, OFC2, and OFC3 illustrated in FIG.
- the OFC 100 includes a path calculation module 10, a topology management module 20, a message analysis module 30, and a message transmission / reception module 40.
- the message transmission / reception module 40 is a module for transmitting / receiving an OpenFlow message.
- the message analysis module 30 analyzes the OpenFlow message received from the message transmission / reception module 40 and notifies the higher module (the route calculation module 10 and the topology management module 20). In addition, the message analysis module 30 converts the OFS control message issued from the upper module (the route calculation module 10 and the topology management module 20) into an open flow message and notifies the message transmission / reception module 40.
- the topology management module 20 includes an interdomain topology management module 21 and an internal domain topology management module 22.
- Topology management module 20 (more specifically, interdomain topology management module 21 and internal domain topology management module 22) is realized by a CPU of a computer that operates according to a program (communication control program).
- the program is stored in a storage unit (not shown) of the OFC 100, and the CPU reads the program and, according to the program, the topology management module 20 (more specifically, the inter-domain topology management module 21 and the internal domain). It may operate as a topology management module 22).
- each of the inter-domain topology management module 21 and the internal domain topology management module 22 may be realized by dedicated hardware. Further, the topology management module 20 may collectively perform the processes performed by the inter-domain topology management module 21 and the internal domain topology management module 22.
- the internal domain topology management module 22 searches the topology in the OFC domain and maintains the topology.
- the method for searching the topology in the OFC domain varies depending on the implementation of the OFC, but the internal domain topology management module 22 may search the topology and maintain the topology using a generally known method.
- a detailed description of the topology search method and maintenance method in the OFC domain managed by the OFC is omitted.
- the inter-domain topology management module 21 searches for topology between OFC domains and maintains the topology. Further, the inter-domain topology management module 21 notifies the route calculation module 10 of information on the searched topology.
- the path calculation module 10 includes a MAC (Media Access Control) / destination domain table storage unit 11, a MAC local table storage unit 12, and an inter-domain topology information storage unit 13.
- the MAC / destination domain table storage unit 11, the MAC local table storage unit 12, and the inter-domain topology information storage unit 13 are realized by, for example, a memory or a magnetic disk.
- the route calculation module 10 is realized by a CPU of a computer that operates according to a program (communication control program).
- the inter-domain topology information storage unit 13 holds topology information between OFC domains in the entire system notified from the inter-domain topology management module 21.
- the MAC local table storage unit 12 holds MAC information learned in the own OFC domain.
- the MAC information is updated by the movement or disappearance of the OFS in the own OFC domain or new learning.
- the topology management module 20 floods OFCSDA (OFC Source Domain Advertise) to another OFC domain when the MAC information disappears or when new MAC information is learned.
- OFCSDA OFFC Source Domain Advertise
- the MAC / destination domain table storage unit 11 stores a MAC / destination domain table generated based on information collected from other OFC domains (for example, OFCSDA).
- inter-domain topology management module 21 the processing performed by the inter-domain topology management module 21 will be described in detail.
- the inter-domain topology management module 21 specifies an OFC domain adjacent to its own OFC domain and notifies the OFC in another OFC domain.
- the inter-domain topology management module 21 uses an OFC ND (OFC Neighbor Discovery) packet to search for an adjacent OFC domain.
- OFC ND OFFC Neighbor Discovery
- an OFCND packet with a packet type of NAD may be referred to as an OFCNDAD packet
- an OFCND packet with a packet type of NRS may be referred to as an OFCNRS packet.
- FIG. 3 is an explanatory diagram showing an example of information propagated by an OFCND packet whose packet type is NAD.
- FIG. 4 is an explanatory diagram showing an example of information propagated by an OFCND packet whose packet type is NRS.
- the OFCND message includes a Type field indicating the type and a Node field indicating the type of the node (Node).
- the Node field includes fields of OFC Domain ID, OFS Domain ID, OFS ID, OFS Port ID, and Port Link Cost.
- the OFC Domain ID includes the sending domain ID
- the OFS Domain ID includes the OFS domain ID
- the OFS ID includes the OFS ID
- the OFS Port ID includes the port ID of the OFS to be transmitted and the information indicating the link cost of the port to be transmitted.
- NN Neighbor Node
- the OFC Domain ID receives the adjacent OFC domain ID that received the NAD
- the OFS Domain ID receives the adjacent OFS domain ID that received the NAD
- the OFS ID receives the NAD.
- information indicating the port ID of the adjacent OFS that has received the NAD and information indicating the link cost of the adjacent port that has received the NAD is set in the Port Link Cost.
- the OFS Domain ID in the Node field is a field for identifying each OFS group when one OFC manages a plurality of isolated island-state OFS groups.
- FIG. 5 is an explanatory diagram showing a state in which the OFC manages a plurality of OFS groups.
- the OFC 1 manages two OFS domains, respectively.
- each OFC may manage a plurality of isolated (island state) OFS groups.
- the OFS Domain ID is assigned a unique ID within the OFC domain and is managed by the OFC.
- a unique ID is also assigned to the OFC Domain ID within the communication control system.
- the method of allocating the OFC Domain ID is arbitrary.
- the OFC Domain ID may be set manually for each OFC, or may be automatically assigned between OFCs, or may be automatically assigned by another device having a centralized management function. Good.
- the frame of the OFCND packet is not particularly limited as long as the following conditions are satisfied.
- Each OFC transmits an OFFCNAD packet to another OFC domain, and the OFC that has received the OFFCNAD returns an OFCNRS to the OFC domain that has transmitted the OFCNAD, thereby identifying an adjacent OFC domain (neighbor discovery).
- the inter-domain topology management module 21 transmits an OFNAD packet to another OFC domain.
- the inter-domain topology management module 21 replies OFFCRS to the OFC domain that transmitted the OFNAD.
- the inter-domain topology management module 21 records the port that has transmitted the OFCNAD packet as an outgoing port with a neighbor (a port in which an adjacent OFC domain exists).
- OFC-OFS domain a domain managed by the OFC.
- there is one OFS domain managed by the OFC but the same applies to the case where there are two or more OFS domains.
- the internal domain topology management module 22 detects the topology of its own OFC-OFS domain and constructs a physical BCMC distribution tree and a logical BCMC distribution tree. Note that a method for detecting a topology in its own domain and a method for constructing a distribution tree are widely known, and a description thereof is omitted here.
- the outgoing port state is set to information (for example, 0) indicating that the connection is unknown. Therefore, the internal domain topology management module 22 sets the flow entry so as to prohibit transmission / reception of packets other than OFCND from the outward port whose outgoing port state is set to 0.
- the internal domain topology management module 22 may perform settings for permitting transmission / reception of the packet in the same manner as OFCND.
- the internal domain topology management module 22 notifies the inter-domain topology management module 21 of the outward port state.
- the inter-domain topology management module 21 registers a flow entry (OFCND packet inflow) for packetizing an OFCND packet that satisfies the following conditions for an outgoing port whose outgoing port state is 0.
- OFCND packet inflow a flow entry for packetizing an OFCND packet that satisfies the following conditions for an outgoing port whose outgoing port state is 0.
- the internal domain topology management module 22 transmits an OFNAD packet to all outward ports using a Packet_Out message. Since the OFFCNAD packet reaches the external OFC domain with connectivity, the OFCNDAD packet matches the OFCND packet inflow and is Packeted-In to the OFC.
- the inter-domain topology management module 21 compares the received MACSA in the OFFCNAD, the OFC Domain ID and OFS Domain ID in the ON Node with the OFS Domain ID that has received the own MAC, the own OFC domain ID, and the OFNAD.
- the inter-domain topology management module 21 immediately blocks the packet transfer from the port identified by the OFS Port ID of the ON Node or the OFS Port that has received the OFNAD. Which port is to be blocked may be determined according to the implementation of the OFC.
- the inter-domain topology management module 21 transmits the OFCNRS packet to the receiving port of the OFCNAD packet. Since the OFCNRS packet reaches the OFC domain that transmitted the OFCDNAD, it matches the OFCND packet inflow and is Packeted-In to the OFC.
- the inter-domain topology management module 21 compares the OFS domain ID, OFS domain ID, OFS ID, and PORT ID that received the OFCRS with the information of the ON Node in OFCNRS. If all items do not match, the received packet is discarded.
- the inter-domain topology management module 21 connects the OFC-OFS domain under its management with the adjacent OFC-OFS domain from the ON Node information and NN Node information of the received OFCNRS.
- the inter-domain topology information storage unit 13 stores a neighbor domain DB as information indicating that the information has been stored.
- the inter-domain topology management module 21 determines that the port connected to the external OFC-OFS domain is an outgoing port where an adjacent domain exists, and sets the outgoing port state to 2. That is, an outward port in which 2 is set in the outward port state indicates that neighbor discovery has been completed and an adjacent domain exists.
- the inter-domain topology management module 21 sets the outgoing port state to 1 for the outgoing port for which the outgoing port state is set to 0. To do. That is, an outward port with 1 set to the outward port state indicates that neighbor discovery has been completed and there is no adjacent domain.
- the inter-domain topology management module 21 recognizes an outward port in which 1 is set in the outward port state as an outward port in which no adjacent domain exists.
- the inter-domain topology management module 21 performs general processing (for example, processing for permitting packet in, processing performed as an element of the BCMC tree in the OFC) performed by the OFC on the outbound port with respect to the outbound port. Do.
- the OFC maintains the neighbor domain DB by sending and receiving OFCND to all outward ports. For example, when a new OFCNRS for OFNAD is correctly received, the inter-domain topology management module 21 updates the neighbor domain DB with new information.
- the inter-domain topology management module 21 performs a certain retry process and performs operations such as deleting the corresponding information from the neighbor domain DB.
- the interdomain topology management module 21 determines whether a loop exists in the communication path.
- the loop in the communication path may be referred to as a closed graph.
- the inter-domain topology management module 21 uses an OFCDU (OFC Data Unit) packet when determining whether or not a loop exists.
- OFCDU OFFC Data Unit
- OFCDU has the same format as the BPDU (Bridge Protocol Data Unit) packet used in STP (Spanning Tree Protocol). However, while the BPDU packet is used for transmission of switch information, the OFCDU packet used in this embodiment is used for transmission of information exemplified below (specifically, information of the OFC-OFS domain). .
- BPDU Binary Protocol Data Unit
- STP Session Transfer Protocol
- Root OFC-OFS Domain ID Transmission OFC-OFS Domain ID Root Path Cost (for each OFC-OFS domain, the path cost with the root OFC-OFS domain)
- the inter-domain topology management module 21 performs processing on OFCDU using the same algorithm as STP. Hereinafter, processing for avoiding a loop will be described.
- the inter-domain topology management module 21 registers a flow entry (OFCDU packet inflow) for packetizing an OFCDU packet that satisfies the following conditions with respect to all outward ports where adjacent domains exist. -When the OFCDU packet is received, the OFC makes Packet_In.
- the inter-domain topology management module 21 transmits and receives OFCDUs from all outward ports where adjacent domains exist. By sending and receiving OFCDU between OFCs, OFC determines Root OFC-OFS Domain.
- the inter-domain topology management module 21 first recognizes that all OFC-OFS Domains managed by itself are Root OFC-OFS Domains, and sets the OFC-OFS Domain ID as the OFCDU Root OFC. -Set to OFS Domain ID. Then, the inter-domain topology management module 21 transmits the OFCDU to each outward port where an adjacent domain exists.
- Each controller compares the OFCDU Root OFC-OFS Domain ID of the received OFCDU with the OFC-OFS Domain ID managed by itself.
- the inter-domain topology management module 21 determines that it is not the Root OFC-OFS Domain.
- Root OFC-OFS Domain The outgoing port where the adjacent domain exists in Root OFC-OFS Domain becomes the representative port. In the other OFC-OFS Domain, the port closest to the Root OFC-OFS Domain (Root Path Cost) is the Root Port.
- the OFC-OFS Domain ports that are close to the Root OFC-OFS Domain become representative ports, and the far ports become non-representative ports.
- the inter-domain topology management module 21 performs general processing (for example, processing for permitting packet in, processing performed as an element of a BCMC tree in the OFC, etc.) performed by the OFC on the representative port in which the adjacent domain exists. )I do.
- general processing for example, processing for permitting packet in, processing performed as an element of a BCMC tree in the OFC, etc.
- OFC on the representative port in which the adjacent domain exists.
- a communication tree single path
- such a communication tree may be referred to as Inter-Domain BCMC Tree.
- the inter-domain topology management module 21 may sequentially compare the transmission OFC-OFS Domain ID, the reception OFS ID, and the reception OFS Port ID in the OFCDU.
- the inter-domain topology management module 21 maintains Inter-Domain BCMC Tree using a method similar to the method used in STP.
- the inter-domain topology management module 21 of Root OFC-OFS Domain may, for example, continuously transmit OFCDUs at regular intervals. When the OFCDU cannot be received within a certain time, the inter-domain topology management module 21 may transmit the OFCDU by itself and perform the loop discovery process again.
- the inter-domain topology management module 21 calculates a communication tree that avoids the loop configuration used in the STP for the closed graph. .
- communication between OFC-OFS domains becomes possible via Inter-Domain BCMC Tree, which is a built communication tree.
- the inter-domain topology management module 21 specifies the network topology between the OFC domains.
- the inter-domain topology management module 21 uses an OFCTDDU (OFC Topology Discovery Data Unit) packet when determining the network topology between domains.
- OFCTDDU OFFC Topology Discovery Data Unit
- FIG. 6 is an explanatory diagram showing an example of the OCTDDU packet.
- the OFCTDDU packet illustrated in FIG. 6 includes fields of OFC Domain ID, OFS Domain ID, OFS ID, OFS Port ID, and Port Link Cost for each Node ID.
- the frame of the OCCTDDU packet is not particularly limited as long as the following conditions are satisfied.
- Node information is stored in each Node label.
- the inter-domain topology management module 21 increments the last Node ID of the OCCTDDU, creates a new Node label, and stores the received OFC-OFS domain information in the Node label. .
- the inter-domain topology management module 21 of each OFC transmits OFCTDDU storing the OFC-OFS Domain information of the transmission source to all outward ports where adjacent domains exist.
- the inter-domain topology management module 21 determines whether the information indicating the OFC-OFS Domain that has received the OFCTDDU is included in the OFCTDDU.
- the inter-domain topology management module 21 learns the topology information.
- the inter-domain topology management module 21 learns the topology information and further adds OFC-OFS Domain information to OFCTDDU, and there is an adjacent domain other than the receiving port. Forward to outgoing port.
- the OFC topology management module 20 identifies the topology of the entire network (hereinafter also referred to as “Inter-Domain Topology”) based on the collected topology information, and notifies the route calculation module 10 of it.
- the inter-domain topology management module 21 may use the largest value among the link costs of adjacent ports as the link cost (edge cost) in the topology.
- the route calculation module 10 calculates a route based on the above-described communication route using the specified network topology, and controls communication from devices connected to each OFS. Specifically, the route calculation module 10 rewrites the broadcast MACDA of ARP (Address Resolution Protocol) Request, and sets the MACSA source OFC-OFS Domain ID information. Then, the path calculation module 10 notifies the rewritten packet to other OFCs via the Inter-Domain BCMC Tree.
- ARP Address Resolution Protocol
- FIG. 7 is an explanatory diagram illustrating an example of an OFSDA packet and an OFSDD packet.
- “03255c00” is set as a fixed value for identifying the OFSDA.
- “03255c01” is set as a fixed value for identifying OFSDD.
- the OFSDA packet and OFSDD packet shown in FIG. 7 are examples. However, the following conditions are satisfied.
- ⁇ MACDA Multicast It has a field for storing an identifier for identifying OFCDA and OFCDD. It has a field for storing MACSA transmission source OFC-OFS Domain ID information. ⁇ Ether Type ARP
- the path calculation module 10 registers the following OFCDA-OFCDD packet inflow for an outward port where an adjacent domain exists on the Inter-Domain BCMC Tree. -When OFCDA or OFCDD is received, Packet_In is made to OFC.
- the route calculation module 10 passes the BC ARP Request received from the terminal (for example, PC) through the BCMC tree inside the OFC domain to the outgoing port where no adjacent domain exists in each OFS in each OFS domain. Flood.
- the route calculation module 10 learns the MAC ARP Request BCSA and registers it in the MAC local table storage unit 12.
- the route inside the OFS domain is specified by an existing method.
- the route calculation module 10 rewrites the BC ARP Request received from the terminal (for example, PC) to OFSDA, and floods to the outward port where the adjacent domain exists on the Inter-Domain BCMC Tree.
- the path calculation module 10 registers the MACSA included in the OFSDA and the OFC domain ID and OFS domain ID set in the MACDA in the MAC / destination domain table storage unit 11.
- the path calculation module 10 floods the OFCDA packet to all outward ports (excluding reception ports) in which adjacent domains exist on the Inter-Domain BCMC Tree.
- the route calculation module 10 floods the ARP Request, in which the MACDA of the OFCDA is written back to the broadcast MACDA, to the outgoing port where the adjacent domain does not exist in the domain via the BCMC tree inside the received OFC domain. .
- each OFC can grasp the ID of the OFC-OFS Domain in which the terminal MAC exists.
- the path calculation module 10 When the MAC of the terminal exists in the MAC local table storage unit 12, the path calculation module 10 performs control to transfer a packet to a port where the MAC of the terminal exists by a general method. For example, the route calculation module 10 may control to add a flow entry and transfer a packet.
- the path calculation module 10 searches the MAC / destination domain table storage unit 11.
- the route calculation module 10 recognizes the received packet as an unknown unicast packet. Then, the route calculation module 10 sends the received packets to all outgoing ports where the adjacent domain exists on the Inter-Domain BCMC Tree and to outgoing ports where the adjacent domain does not exist within the own OFC-OFS domain. Flood.
- the path calculation module 10 starts from the own OFC-OFS domain that received the Unicast packet, and the destination OFC-OFS in the MAC / destination domain table.
- the shortest path is searched with the domain as the end point.
- the route calculation module 10 may search for the shortest route using any commonly used search algorithm such as the Dijkstra method.
- the path calculation module 10 may select a path using a predetermined distributed algorithm (for example, round robin method, MAC hash, IP hash, etc.).
- a predetermined distributed algorithm for example, round robin method, MAC hash, IP hash, etc.
- the path calculation module 10 controls the OFC to transfer the corresponding packet to the port connected to the OFC-OFS domain on the calculated shortest path. For example, the path calculation module 10 sets a flow entry in OFS and causes hardware transfer of a Unicast packet to be transmitted.
- the path calculation module 10 deletes the disappearing MAC learning information from the MAC local table storage unit 12. Then, the path calculation module 10 floods the OFCDD in which the MAC is set to MACSA to each OFC-OFS domain via the Inter-Domain BCMC Tree. When the OFC receives the OFCDD, the path calculation module 10 deletes the MACSA information set in the OFCDD from the MAC / destination domain table storage unit 11.
- the route calculation module 10 performs a Unicast transfer and load distribution by calculating a Unicast route after the topology discovery is completed. Therefore, even when a physical loop exists between a plurality of connected OFC domains, communication can be performed using an optimal route without looping communication.
- each OFC constructs a BCMC Tree inside its own domain using an existing method.
- the link between OFS3 and OFS4 is blocked in the OFC1 domain 110 (hereinafter referred to as OFC1-OFS1 domain), and OFS2 in the OFC2 domain 120 (hereinafter referred to as OFC2-OFS1 domain).
- OFC1-OFS1 domain the link between OFS4 is blocked and the link between OFS3 and OFS4 is blocked in OFC3 domain 130 (hereinafter referred to as OFC3-OFS1 domain).
- OFS1-Port1, OFS2-Port1, OFS3-Port1, and OFS4-Port1 in the OFC1-OFS1 domain are recognized by OFC1 as outward ports.
- OFS1-Port1 and OFS3-Port1 in the OFC2-OFS1 domain are recognized by OFC2 as outgoing ports. Further, OFS1-Port1 and OFS2-Port1 in the OFC3-OFS1 domain are recognized by OFC3 as outward ports.
- the internal domain topology management module 22 of each OFC floods the OFNAD to the outward ports that are under its control.
- the OFNAD transmitted by the OFC 1 includes information exemplified below.
- -For OFS1-Port1 Type NAD, Original Node: ⁇ OFC1 domain, OFS1 domain, OFS1, Port1, LinkCost1 ⁇ -For OFS2-Por1, Type: NAD, Original Node: ⁇ OFC1 domain, OFS1 domain, OFS2, Port1, LinkCost1 ⁇ -For OFS3-Por1, Type: NAD, Original Node: ⁇ OFC1 domain, OFS1 domain, OFS3, Port1, LinkCost1 ⁇ -For OFS4-Por1, Type: NAD, Original Node: ⁇ OFC1 domain, OFS1 domain, OFS4, Port1, LinkCost2 ⁇
- OFCND (NAD) transmitted from OFC1 reaches PC211, PC212, OFC2-OFS1 domain, and OFC3-OFS1 domain. Since the PCs 211 and 212 are terminals, no reply is made to the ONCND (NAD) packet.
- the OFCND (NAD) that has reached the OFC2-OFS1 domain and the OFC3-OFS1 domain coincides with the OFCND packet inflow, and is Packeted-In to OFC2 and OFC3, respectively.
- the inter-domain topology management module 21 of OFC2 and OFS3 returns an OFCND (NRS) packet.
- the OFCND (NRS) packet transmitted by the OFC2 and OFC3 includes the following information.
- OFC2 is for OFS1-Port1 Type: NRS, Original Node: ⁇ OFC1 domain, OFS1 domain, OFS2, Port1, LinkCost1 ⁇ , Neighbor Node: ⁇ OFC2 domain, OFS1 domain, OFS1, Port1, LinkCost1 ⁇ -OFC3 is relative to OFS1-Port1 Type: NRS, Original Node: ⁇ OFC1 domain, OFS1 domain, OFS4, Port1, LinkCost2 ⁇ , Neighbor Node: ⁇ OFC3 domain, OFS1 domain, OFS1, Port1, LinkCost1 ⁇
- OFCND (NRS) transmitted from OFC2 and OFC3 reaches the OFC1-OFS1 domain, matches the OFCND packet flow, and is Packeted-In to OFC1.
- the inter-domain topology management module 21 of OFC 1 recognizes OFS 2 -Port 1 and OFS 4 -Port 1 as neighbor outgoing ports and records the following information in the inter-domain topology information storage unit 13.
- OFSND NRS
- OFS3-Port1 OFS3-Port1. Therefore, the inter-domain topology management module 21 of the OFC 1 recognizes these two ports as no-neighboring outward ports, and permits packet_in and packet transfer of OFS1-Port1 and OFS3-Port1 according to an existing method.
- the other OFC 2 and OFC 3 also perform the neighbor discovery process.
- the information detected by the OFC 2 has the following contents.
- the information detected by the OFC 3 has the following contents.
- Each OFC performs an operation similar to the STP described in the above embodiment by transmitting and receiving OFCDU and prevents a loop between OFC domains. Since the algorithm for preventing the loop is the same as the processing based on STP, detailed description is omitted here.
- the OFC1-OFS1 domain with the smallest OFC domain ID is selected as the Root Domain.
- OFS3-Port1 of the OFC3-OFS1 domain is selected as a non-representative port.
- the inter-domain topology management module 21 of each OFC permits Packet_In, packet transfer, and the like to an outbound port with a neighbor other than OFS2-Port1 in the OFC3-OFS1 domain.
- the Inter-Domain BCMC Tree illustrated below is configured. Thereafter, communication between the OFC-OFS domains is performed via the Inter-Domain BCMC Tree.
- Each OFC transmits OFCTDDU to all outgoing ports with neighbors.
- OFCTDDU transmitted from OFC 1
- the inter-domain topology management module 21 of OFC1 transmits OFCTDDU including the following information to OFS2-Port1 and OFS4-Port1, respectively.
- Node ID 0 for OFS2-Port1 ⁇ OFC1 domain, OFS1 domain, Linkcost1 ⁇
- Node ID 0 for OFS4-Port1 ⁇ OFC1 domain, OFS1 domain, Linkcost2 ⁇
- the OFCTDDU that has reached the OFC2-OFS1 domain matches the OCTDDU packet inflow and is Packeted-In to OFC2.
- the inter-domain topology management module 21 of OFC 2 learns the topology information included in the OFCTDDU.
- the OFC2 inter-domain topology management module 21 determines that the information of the OFC-OFS domain (OFC2-OFS1 domain) that received the OFCTDDU is not included in the Node label of the OFCTDDU. Therefore, the inter-domain topology management module 21 increments the last Node ID in the received OFCTDDU, and stores the information of the OFC2-OFS1 domain that has received the OFCTDDU in a Node label having a new Node ID.
- the OFC2 inter-domain topology management module 21 floods the newly created OFCTDDU to an outgoing port with a neighbor other than the receiving port (OFS3-Port1 existing in the OFC2-OFS1 domain).
- OFCTDDU transmitted by OFC1 is transferred via OFC2 and includes information exemplified below.
- the inter-domain topology management module 21 of the OFC 3 learns topology information from the received OFCTDDU packet.
- the inter-domain topology management module 21 of the OFC 3 creates a new OFCTDDU based on the received OFCTDDU and floods it to OFS2-Port1.
- OFCTDDU transmitted by OFC1 is transferred via OFC3 and includes information exemplified below.
- OFCTDDU transmitted from OFC1 is transferred from OFC2 and reaches OFC3.
- the inter-domain topology management module 21 of the OFC 3 learns topology information from the received OFCTDDU packet.
- the inter-domain topology management module 21 of the OFC 3 determines that the information of the received OFC-OFS domain that received the OFCTDDU is not included in the Node label of the OFCTDDU. Therefore, the inter-domain topology management module 21 creates a new OFCTDDU and floods it to OFS1-Port1.
- the newly created OFCTDDU includes information exemplified below.
- OFCTDDU transmitted from OFC1 is transferred from OFC2 and reaches OFC2.
- the inter-domain topology management module 21 of the OFC 2 learns topology information from the received OFCTDDU packet.
- the OFC2 inter-domain topology management module 21 determines that the information of the received OFC-OFS domain that received the OFCTDDU is not included in the Node label of the OCCTDDU. Therefore, the inter-domain topology management module 21 creates a new OFCTDDU and floods it to OFS1-Port1.
- the newly created OFCTDDU includes information exemplified below.
- OFC1 receives OFCTDDU from OFC1 through OFC2 and further through OFC3, and OFCTDDU from OFC1 through OFC3 and further through OFC2.
- the OFC1 inter-domain topology management module 21 determines that its OFC-OFS domain (OFC1-OFS1 domain) is included in the Node label of OFCTDDU. Therefore, the inter-domain topology management module 21 learns the topology information included in the OFCTDDU and discards the OCTDDU packet.
- OFC2 and OFC3 issue OFCDDDDU themselves and perform topology discovery processing.
- OFC1, OFC2, and OFC3 hold the following topology information.
- the OFC1-OFS1 domain and the OFC2-OFS1 domain are connected by Linkcost1.
- the OFC1-OFS1 domain and the OFC3-OFS1 domain are connected by Linkcost2.
- -The OFC2-OFS1 domain and the OFC3-OFS1 domain are connected by Linkcost1.
- the PC 211 transmits an ARP Request.
- the APR Request reaches the OFC1-OFS1 domain and is Packeted-In to OFC1.
- the OFC1 path calculation module 10 floods the ARP Request to OFS3-Port1, and registers the MAC ARP of the ARP Request and the learning position (OFS1-Port1 of the OFS1 domain) in the MAC local table.
- the OFC1 path calculation module 10 rewrites ARP Request to OFCDA. Specifically, the path calculation module 10 includes the OFC1-OFS1 domain ID that received the ARP Request in the OFCDA, and floods the OFCDA to the outgoing port with a neighbor in the Inter-Domain BCMC Tree.
- OFC2 and OFC3 receive OFCDA including MAC of PC211 issued from OFC1 as MACSA by Packet_In.
- the OFC2 path calculation module 10 extracts the MACSA of the PC 211 and the OFC1-OFS1 domain ID which is the MAC transmission source domain from the received OFCDA, and registers them in the MAC / destination domain table storage unit 11.
- the path calculation module 10 of the OFC 3 extracts the MACSA of the PC 211 and the OFC1-OFS1 domain ID that is the transmission source domain of the MAC, and registers them in the MAC / destination domain table storage unit 11. Also, the OFC3 path calculation module 10 rewrites OFCDA to ARP Request and floods it to OFS4-Port1 and OFS3-Port1.
- the path calculation module 10 of the OFC 1 searches the MAC local table storage unit 12 using the MACDA (PC 231) of the Unicast packet received by Packet_In.
- the path calculation module 10 of the OFC 1 searches the MAC / destination domain table storage unit 11 using the PC 231. As a result, the OFC1 path calculation module 10 knows that the PC 231 exists in the OFC3-OFS1 domain.
- the OFC1 path calculation module 10 searches for the lowest cost path on the topology, starting from the OFC-OFS domain (OFC1-OFS1 domain) that received the Unicast packet-in and starting from the OFC3-OFS1 domain in which the PC 231 exists.
- the OFC 1 path calculation module 10 calculates the minimum cost path exemplified below.
- Linkcost 2 from the OFC1-OFS1 domain to the OFC3-OFS1 domain via the OFC2-OFS1 domain
- Linkcost from the OFC1-OFS1 domain to the OFC3-OFS1 domain 2
- the OFC 1 path calculation module 10 selects an arbitrary path according to a general OFC load distribution algorithm. Here, it is assumed that the route (1) is selected.
- the OFC1 path calculation module 10 refers to the inter-domain topology information storage unit 13 and acquires the OFS ID and Port ID for transfer to the OFC2-OFS1 domain. Then, the OFC1 path calculation module 10 controls to transfer the Unicast packet addressed to the PC 231 from the PC 211 to the OFC2-OFS1 domain.
- Unicast packet addressed to PC 231 from PC 211 is transferred from OFC1-OFS1 domain to OFC2-OFS1 domain.
- OFC2 receives the Unicast packet with Packet_In.
- the OFC 2 path calculation module 10 searches the MAC local table storage unit 12 and the MAC / destination domain table storage unit 11 for MACDA (PC 231). In this example, the OFC2 path calculation module 10 knows that the PC 231 exists in the OFC3-OFS1 domain.
- the OFC2 path calculation module 10 searches the lowest cost path on the topology starting from the OFC-OFS domain (OFC2-OFS1 domain) that received the Unicast packet-in and the OFC3-OFS1 domain where the PC 231 exists as the end point.
- the OFC 2 path calculation module 10 calculates the minimum cost path exemplified below.
- the OFC2 path calculation module 10 refers to the inter-domain topology information storage unit 13 and obtains the OFS ID and Port ID for transfer to the OFC3-OFS1 domain. Then, the OFC 2 path calculation module 10 controls to transfer the Unicast packet addressed to the PC 231 from the PC 211 to the OFC3-OFS1 domain.
- the OFC 3 path calculation module 10 searches the MAC local table storage unit 12 for MACDA (PC 231). Then, the route calculation module 10 knows that the PC 231 is connected to the OFS4-Port1 in the subordinate domain to be managed. Therefore, the OFC 3 path calculation module 10 controls to transfer the Unicast packet addressed to the PC 231 from the PC 211 to OFS 4 -Port 1.
- the Unicast packet is transferred from the PC 211 to the PC 231 via the domains in the order of OFC1-OFS1 domain, OFC2-OFS1 domain, OFC3-OFS1 domain.
- the path calculation module 10 of each OFC may perform processing in consideration of traffic load distribution.
- the route calculation module 10 may perform load distribution processing using, for example, a round robin algorithm. In this case, for the communication from the PC 211 to the PC 231, the path calculation module 10 may calculate a path that reaches the OFC3-OFS1 domain from the OFC1-OFS1 domain via the OFC2-OFS1 domain. Further, the path calculation module 10 may calculate a path from the OFC1-OFS1 domain to the OFC3-OFS1 domain for communication from the PC 221 to the PC 232.
- the inter-domain topology management module 21 specifies an OFC domain adjacent to the own OFC domain.
- the inter-domain topology management module 21 creates a communication tree that avoids a loop configuration existing in a communication path between adjacent OFC domains, and specifies a network topology between the OFC domains.
- the route calculation module 10 calculates the optimum route based on the above-described communication tree using the identified network topology, and controls communication from the communication devices connected to each OFS.
- the communication control system of the present embodiment can be realized using the standard OpenFlow protocol without affecting the existing OFC processing method.
- a loop between OpenFlow networks controlled by a plurality of independently operated OFCs can be prevented, so that a redundant configuration between OpenFlow networks can be formed.
- route calculation can be performed using an optimal link cost, so that the utilization rate of the network bandwidth can be increased. Therefore, it is possible to reduce the probability of band compression caused by erroneous determination of the dark fiber link cost.
- Embodiment 2 a second embodiment of the present invention will be described.
- the OFC calculates the domain topology of the entire system based on information on adjacent domains, and further calculates the SPT between domains.
- a topology manager having IP reachability with all OFCs in the system is prepared, and the topology manager performs these processes and notifies the process results to each OFC.
- the method described in the first embodiment can be called a completely autonomous method. Further, the method described in this embodiment can be called a hybrid method because the OFC and the topology manager perform communication control in cooperation.
- FIG. 8 is an explanatory diagram showing a configuration example of the second embodiment of the communication control system according to the present invention.
- symbol same as FIG. 1 is attached
- subjected and description is abbreviate
- the communication control system illustrated in FIG. 8 includes a topology manager 140 in addition to the communication control system of the first embodiment.
- the topology manager 140 includes a control unit 141.
- the control unit 141 is realized by a CPU of a computer that operates according to a program (interdomain topology management program).
- the program may be stored in a storage unit (not shown) of the topology manager 140, and the CPU may read the program and operate as the control unit 141 according to the program.
- the inter-domain topology management module 21 of each OFC transmits information indicating an adjacent domain to the topology manager 140.
- the control unit 141 calculates a topology between the OFC domains based on the received information, and further avoids a loop configuration between the OFC domains. (Eg, spanning tree) is calculated. Then, the control unit 141 distributes the calculated communication tree to each OFC.
- the control unit 141 may calculate the topology between the OFC domains using a method similar to the method performed by the interdomain topology management module 21 in the first embodiment, and performs communication that avoids a loop configuration between the OFC domains.
- a tree may be calculated.
- the inter-domain topology management module 21 determines that the communication tree received from the topology manager 140 is a communication path between domains, and constructs a spanning tree between domains, for example. Thereafter, the route calculation module 10 performs processing at the Unicast route calculation stage.
- the method for calculating the Unicast route by the route calculation module 10 is the same as in the first embodiment.
- the loop discovery stage process and the topology discovery stage process in the fully autonomous system are performed by the topology manager 140 instead of the OFC.
- the control unit 141 of the topology manager 140 identifies the topology between the OFC domains based on the adjacent domain information received from the OFC, and the adjacent OFC Create a communication tree that avoids the loop configuration that exists in the communication path between domains. Then, the control unit 141 distributes the created communication tree to each OFC.
- a fully autonomous method and a hybrid method there are a fully autonomous method and a hybrid method, and it is possible to flexibly cope with different environments.
- the fully autonomous system for example, loop prevention and load distribution can be realized without using other devices.
- the network bandwidth and load occupied by OFCDU and OFCTDDU can be reduced by using a topology manager that centrally manages the topology between OFC domains.
- FIG. 9 is a block diagram showing an outline of a communication control system according to the present invention.
- the communication control system according to the present invention includes a controller domain (for example, OFC domain) indicating a range in which at least one open flow switch (for example, OFS1 to OFS4) is managed by each open flow controller (for example, OFC1 to OFC3).
- a controller domain for example, OFC domain
- OFS1 to OFS4 open flow controller
- OFC1 to OFC3 OFC1 to OFC3
- an adjacent domain specifying means 81 for example, an inter-domain topology management module 21
- a loop solving means 82 for example, an inter-domain topology management module 21
- a topology specifying means 83 for example, an inter-domain topology management module 21
- communication control means 84 for example, route calculation module 10 for controlling communication from a communication device (for example, PC 211 etc.) connected to.
- the adjacent domain specifying unit 81 transmits an adjacency confirmation packet (for example, OFCNAD) for confirming the adjoining domain from the outward port of the own controller domain, and when receiving the adjacency confirmation packet, the controller that transmitted the adjacency confirmation packet.
- An adjacent response packet (for example, OFCNRS) may be returned to the domain, and the adjacent response packet may be received to identify the adjacent controller domain.
- the loop solving means 82 may create a communication tree that avoids a loop configuration existing in a communication path between adjacent controller domains based on a spanning tree algorithm.
- the loop solving unit 82 sets a flow entry that prohibits packet transfer for a port (for example, a non-representative port) in a communication path between adjacent controller domains, thereby avoiding a loop configuration. May be created.
- the communication control unit 84 may calculate a plurality of routes and perform control (for example, ECMP load balancing) for distributing the load from the communication device connected to each OpenFlow switch to the plurality of routes. Good.
- FIG. 10 is a block diagram showing another outline of the communication control system according to the present invention.
- Another communication control system according to the present invention includes a controller domain (eg, OFC) indicating a range in which at least one open flow switch (eg, OFS1 to OFS4) is managed by each open flow controller (eg, OFC1 to OFC3).
- a communication control system that controls communication between controller domains in a network in which domains are connected to each other, and communication from a plurality of OpenFlow controllers 80 (for example, OFC1 to OFC3) and OpenFlow controllers arrives.
- a topology manager 90 for example, topology manager 140
- the OpenFlow controller 80 includes adjacent domain specifying means 81 (for example, the inter-domain topology management module 21 in the second embodiment) that specifies a controller domain adjacent to its own controller domain, and information indicating the specified adjacent controller domain.
- the adjacent domain information transmitting means 85 (for example, the inter-domain topology management module 21 in the second embodiment) for transmitting to the topology manager, and calculating the optimum route based on the network topology calculated by the topology manager, each OpenFlow switch Communication control means 86 (for example, route calculation module 10) for controlling communication from a communication device connected to the communication device.
- the topology manager 90 identifies the network topology between the controller domains based on the information received from the OpenFlow controller 80, and creates a communication tree that avoids a loop configuration existing in the communication path between adjacent controller domains.
- Communication tree creation means 91 for example, control unit 141
- network topology distribution means 92 for example, control unit 141 for distributing the created communication tree to the OpenFlow controller.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
図1は、本発明による通信制御システムの第1の実施形態の構成例を示す説明図である。また、図2は、本実施形態の通信制御システムで用いられるOFCの構成例を示すブロック図である。以下の説明では、通信ネットワーク内には、3つのOFCドメイン(OFCドメイン110,120,130)と各OFCドメインにおけるOFCに管理されるそれぞれ4台のOFSが含まれるものとする。すなわち、以下で説明する環境は、3台のOFCを含むマルチコントローラ環境である。
ドメイン間トポロジ管理モジュール21は、自OFCドメインに隣接するOFCドメインを特定し、他のOFCドメインにおけるOFCに通知する。ドメイン間トポロジ管理モジュール21は、隣接するOFCドメインを探索するため、OFCND(OFC Neighbor Discovery)パケットを使用する。
OFC OpenFlow Channelとして利用するNIC(Network Interface Card)のMAC
なお、クラスタ構成の場合、共有の仮想MAC
・MACDA(MAC Destination Address)
パケットのタイプがNADの場合、BC/MC
パケットのタイプがNRSの場合、受信NADのMACSA
レガシースイッチの透過性があるMACDA
・Ether Type
レガシースイッチの透過性があるEther Type
・OFCNDパケットを受信した場合、OFCにPacket_Inさせる。
ドメイン間トポロジ管理モジュール21は、通信経路内にループが存在するか否か判断する。以下の説明では、通信経路内のループのことを、閉鎖グラフと記すこともある。本実施形態では、ドメイン間トポロジ管理モジュール21は、ループが存在するか否か判断する際に、OFCDU(OFC Data Unit)パケットを利用する。
・送信OFC-OFS Domain ID
・Root Path Cost(各OFC-OFSドメインについて、ルートOFC-OFSドメインとのパスコスト)
・OFCDUパケットを受信した場合、OFCにPacket_Inさせる。
ドメイン間トポロジ管理モジュール21は、各OFCドメイン間のネットワークトポロジを特定する。本実施形態では、ドメイン間トポロジ管理モジュール21は、ドメイン間のネットワークトポロジを判断する際に、OFCTDDU(OFC Topology Discovery Data Unit)パケットを利用する。
OFC OpenFlow Channelとして利用するNICのMAC
なお、クラスタ構成の場合、共有の仮想MAC
・MACDA
BC/MC
レガシースイッチの透過性があるMACDA
・Ether Type
レガシースイッチの透過性があるEther Type
経路計算モジュール10は、特定されたネットワークトポロジを利用して、上述する通信経路に基づく経路を算出して、各OFSに接続される装置からの通信を制御する。具体的には、経路計算モジュール10は、ARP(Address Resolution Protocol ) RequestのブロードキャストMACDAを書き換え、MACSAの発信元OFC-OFS Domain ID情報を設定する。そして、経路計算モジュール10は、Inter-Domain BCMC Tree経由で、書き換えたパケットを他のOFCに通知する。
Multicast
OFCDAとOFCDDを識別するための識別子を格納するフィールドを有する。
MACSAの送信元OFC-OFS Domain ID情報を格納するフィールドを有する。
・Ether Type
ARP
・OFCDAまたはOFCDDを受信した場合、OFCにPacket_Inさせる。
各OFCの内部ドメイントポロジ管理モジュール22は、自身が管理する配下に存在する外向きポートに対して、OFCNADをフラディングする。OFC1が送信するOFCNADは、以下に例示する情報を含む。
Type:NAD,
Original Node:{OFC1ドメイン,OFS1ドメイン,OFS1,Port1,LinkCost1}
・OFS2-Por1に対して
Type:NAD,
Original Node:{OFC1ドメイン,OFS1ドメイン,OFS2,Port1,LinkCost1}
・OFS3-Por1に対して
Type:NAD,
Original Node:{OFC1ドメイン,OFS1ドメイン,OFS3,Port1,LinkCost1}
・OFS4-Por1に対して
Type:NAD,
Original Node:{OFC1ドメイン,OFS1ドメイン,OFS4,Port1,LinkCost2}
Type:NRS,
Original Node:{OFC1ドメイン,OFS1ドメイン,OFS2,Port1,LinkCost1},
Neighbor Node:{OFC2ドメイン,OFS1ドメイン,OFS1,Port1,LinkCost1}
・OFC3はOFS1-Port1に対して
Type:NRS,
Original Node:{OFC1ドメイン,OFS1ドメイン,OFS4,Port1,LinkCost2},
Neighbor Node:{OFC3ドメイン,OFS1ドメイン,OFS1,Port1,LinkCost1}
Neighbor Node:{OFC2ドメイン,OFS1ドメイン,OFS1,Port1,LinkCost1}
・Original Node:{OFC1ドメイン,OFS1ドメイン,OFS4,Port1,LinkCost2},
Neighbor Node:{OFC3ドメイン,OFS1ドメイン,OFS1,Port1,LinkCost1}
Neighbor Node:{OFC1ドメイン,OFS1ドメイン,OFS2,Port1,LinkCost1}
・Original Node:{OFC2ドメイン,OFS1ドメイン,OFS3,Port1,LinkCost1},
Neighbor Node:{OFC3ドメイン,OFS1ドメイン,OFS2,Port1,LinkCost1}
Neighbor Node:{OFC1ドメイン,OFS1ドメイン,OFS4,Port1,LinkCost2}
・Original Node:{OFC3ドメイン,OFS1ドメイン,OFS2,Port1,LinkCost1},
Neighbor Node:{OFC2ドメイン,OFS1ドメイン,OFS3,Port1,LinkCost1}
各OFCは、OFCDUを送受信することにより、上記の実施形態で説明したSTPに類似する動作を行い、OFCドメイン間のループを防止する。ループを防止する際のアルゴリズムは、STPに基づく処理と同様のため、ここでは詳細な説明は省略する。
(OFC2-OFS1ドメイン、OFS1、Port1)とが接続される。
・(OFC1-OFS1ドメイン、OFS4、Port1)と、
(OFC3-OFS1ドメイン、OFS1、Port1)とが接続される。
各OFCは、ネーバーあり全外向きポートに対して、OFCTDDUを送信する。ここでは、OFC1から送信されたOFCTDDUに対する処理例を説明する。
Node ID=0
{OFC1ドメイン,OFS1ドメイン、Linkcost1}
・OFS4-Port1に対して
Node ID=0
{OFC1ドメイン,OFS1ドメイン、Linkcost2}
Node ID=0
{OFC1ドメイン,OFS1ドメイン、Linkcost1}
Node ID=1
{OFC2ドメイン,OFS1ドメイン、Linkcost1}
Node ID=0
{OFC1ドメイン、OFS1ドメイン、Linkcost2}
・Node ID=1
{OFC3ドメイン、OFS1ドメイン、Linkcost1}
Node ID=0
{OFC1ドメイン、OFS1ドメイン、Linkcost1}
Node ID=1
{OFC2ドメイン、OFS1ドメイン、Linkcost1}
Node ID=2
{OFC3ドメイン、OFS1ドメイン、Linkcost1}
Node ID=0
{OFC1ドメイン、OFS1ドメイン、Linkcost2}
Node ID=1
{OFC2ドメイン、OFS1ドメイン、Linkcost1}
Node ID=2
{OFC3ドメイン、OFS1ドメイン、Linkcost1}
・OFC1-OFS1ドメインとOFC3-OFS1ドメインが、Linkcost2で接続されている。
・OFC2-OFS1ドメインとOFC3-OFS1ドメインが、Linkcost1で接続されている。
本具体例では、PC211がARP Requestを送信する。APR Requestは、OFC1-OFS1ドメインに到達し、OFC1にPacket_Inされる。
・MACローカルテーブル
MACSA=PC211,Learning Point:OFS1-Port1
MACDA=PC212,Learning Point:OFS2-Port1
・MAC・宛先ドメインテーブル
MACSA=PC231,Learning Point:OFC3-OFS1ドメイン
MACSA=PC232,Learning Point:OFC3-OFS1ドメイン
<OFC2>
・MACローカルテーブル
空(未設定)
・MAC・宛先ドメインテーブル
MACSA=PC211,Learning Point:OFC1-OFS1ドメイン
MACSA=PC212,Learning Point:OFC1-OFS1ドメインMACSA=PC231,Learning Point:OFC3-OFS1ドメイン
MACSA=PC232,Learning Point:OFC3-OFS1ドメイン
<OFC3>
・MACローカルテーブル
MACSA=PC231,Learning Point:OFS4-Port1
MACDA=PC232,Learning Point:OFS3-Port1
・MAC・宛先ドメインテーブル
MACSA=PC211,Learning Point:OFC1-OFS1ドメイン
MACSA=PC212,Learning Point:OFC1-OFS1ドメイン
(2)OFC1-OFS1ドメインからOFC3-OFS1ドメインに至るまでのLinkcost=2
次に、本発明の第2の実施形態を説明する。第1の実施形態では、OFCが、隣接するドメインの情報に基づいてシステム全体のドメイントポロジを計算し、さらに、ドメイン間のSPTを算出していた。一方、本実施形態では、システム内全てのOFCとIP到達性を有するトポロジマネージャを用意し、これらの処理をそのトポロジマネージャが行って、処理結果を各OFCに通知する。
11 MAC・宛先ドメインテーブル記憶部
12 MACローカルテーブル記憶部
13 ドメイン間トポロジ情報記憶部
20 トポロジ管理モジュール
21 ドメイン間トポロジ管理モジュール
22 内部ドメイントポロジ管理モジュール
30 メッセージ解析モジュール
40 メッセージ送受信モジュール
100 OFC
110 OFC1ドメイン
120 OFC2ドメイン
130 OFC3ドメイン
210,211,212,231,232 PC
Claims (10)
- 各オープンフローコントローラによって少なくとも1つ以上のオープンフロースイッチが管理される範囲を示すコントローラドメインが相互に接続されるネットワークにおいて、各コントローラドメイン間の通信を制御する通信制御システムであって、
自コントローラドメインに隣接するコントローラドメインを特定する隣接ドメイン特定手段と、
前記隣接するコントローラドメイン間の通信経路中に存在するループ構成を回避する通信ツリーを作成するループ解決手段と、
各コントローラドメイン間のネットワークトポロジを特定するトポロジ特定手段と、
前記ネットワークトポロジを利用して、前記通信ツリーに基づく最適経路を算出して、各オープンフロースイッチに接続される通信装置からの通信を制御する通信制御手段とを備えた
ことを特徴とする通信制御システム。 - 隣接ドメイン特定手段は、自コントローラドメインの外向きポートから隣接ドメインを確認する隣接確認パケットを送信し、前記隣接確認パケットを受信したときに当該隣接確認パケットを送信したコントローラドメイン宛に隣接応答パケットを返信し、前記隣接応答パケットを受信して隣接するコントローラドメインを特定する
請求項1記載の通信制御システム。 - ループ解決手段は、スパニングツリーアルゴリズムに基づいて、隣接するコントローラドメイン間の通信経路中に存在するループ構成を回避する通信ツリーを作成する
請求項1または請求項2記載の通信制御システム。 - ループ解決手段は、隣接するコントローラドメイン間の通信経路中のポートに対して、パケット転送を禁止するフローエントリを設定することにより、ループ構成を回避する通信ツリーを作成する
請求項1から請求項3のうちのいずれか1項に記載の通信制御システム。 - 通信制御手段は、複数の経路を算出し、各オープンフロースイッチに接続される通信装置からの通信を前記複数の経路に負荷分散する制御を行う
請求項1から請求項4のうちのいずれか1項に記載の通信制御システム。 - 各オープンフローコントローラによって少なくとも1つ以上のオープンフロースイッチが管理される範囲を示すコントローラドメインが相互に接続されるネットワークにおいて、各コントローラドメイン間の通信を制御する通信制御システムであって、
複数のオープンフローコントローラと、
前記オープンフローコントローラからの通信が到達するように接続され、前記コントローラドメイン間の通信経路を示す通信ツリーを作成するトポロジマネージャとを備え、
前記オープンフローコントローラは、
自コントローラドメインに隣接するコントローラドメインを特定する隣接ドメイン特定手段と、
特定した隣接するコントローラドメインを示す情報を、前記トポロジマネージャに送信する隣接ドメイン情報送信手段と、
前記トポロジマネージャが算出したネットワークトポロジに基づく最適経路を算出して、各オープンフロースイッチに接続される通信装置からの通信を制御する通信制御手段とを含み、
前記トポロジマネージャは、
前記オープンフローコントローラから受信した情報に基づいて、各コントローラドメイン間のネットワークトポロジを特定し、隣接するコントローラドメイン間の通信経路中に存在するループ構成を回避する通信ツリーを作成する通信ツリー作成手段と、
作成した通信ツリーを前記オープンフローコントローラに配信するネットワークトポロジ配信手段とを含む
ことを特徴とする通信制御システム。 - 各オープンフローコントローラによって少なくとも1つ以上のオープンフロースイッチが管理される範囲を示すコントローラドメインが相互に接続されるネットワークにおいて、各コントローラドメイン間の通信を制御する通信制御方法であって、
自コントローラドメインに隣接するコントローラドメインを特定し、
前記隣接するコントローラドメイン間の通信経路中に存在するループ構成を回避する通信ツリーを作成し、
各コントローラドメイン間のネットワークトポロジを特定し、
前記ネットワークトポロジを利用して、前記通信ツリーに基づく最適経路を算出して、各オープンフロースイッチに接続される通信装置からの通信を制御する
ことを特徴とする通信制御方法。 - 隣接ドメインを特定する際、自コントローラドメインの外向きポートから隣接ドメインを確認する隣接確認パケットを送信し、前記隣接確認パケットを受信したときに当該隣接確認パケットを送信したコントローラドメイン宛に隣接応答パケットを返信し、前記隣接応答パケットを受信して隣接するコントローラドメインを特定する
請求項7記載の通信制御方法。 - 各オープンフローコントローラによって少なくとも1つ以上のオープンフロースイッチが管理される範囲を示すコントローラドメインが相互に接続されるネットワークにおいて、各コントローラドメイン間の通信を制御するコンピュータに適用される通信制御プログラムであって、
前記コンピュータに、
自コントローラドメインに隣接するコントローラドメインを特定する隣接ドメイン特定処理、
前記隣接するコントローラドメイン間の通信経路中に存在するループ構成を回避する通信ツリーを作成するループ解決処理、
各コントローラドメイン間のネットワークトポロジを特定するトポロジ特定処理、および、
前記ネットワークトポロジを利用して、前記通信ツリーに基づく最適経路を算出して、各オープンフロースイッチに接続される通信装置からの通信を制御する通信制御処理
を実行させるための通信制御プログラム。 - コンピュータに、
隣接ドメイン特定処理で、自コントローラドメインの外向きポートから隣接ドメインを確認する隣接確認パケットを送信させ、前記隣接確認パケットを受信したときに当該隣接確認パケットを送信したコントローラドメイン宛に隣接応答パケットを返信させ、前記隣接応答パケットを受信して隣接するコントローラドメインを特定させる
請求項9記載の通信制御プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/111,082 US9998367B2 (en) | 2014-02-05 | 2015-01-21 | Communication control system, communication control method, and communication control program |
EP15745896.9A EP3104561A4 (en) | 2014-02-05 | 2015-01-21 | Communication control system, communication control method, and communication control program |
JP2015561200A JP6191703B2 (ja) | 2014-02-05 | 2015-01-21 | 通信制御システム、通信制御方法および通信制御プログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014-020390 | 2014-02-05 | ||
JP2014020390 | 2014-02-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015118822A1 true WO2015118822A1 (ja) | 2015-08-13 |
Family
ID=53777637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/000262 WO2015118822A1 (ja) | 2014-02-05 | 2015-01-21 | 通信制御システム、通信制御方法および通信制御プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9998367B2 (ja) |
EP (1) | EP3104561A4 (ja) |
JP (1) | JP6191703B2 (ja) |
WO (1) | WO2015118822A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108702326A (zh) * | 2016-01-05 | 2018-10-23 | 瑞典爱立信有限公司 | 检测软件定义网络(sdn)中的控制平面循环的机制 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2016137124A (ru) * | 2014-02-19 | 2018-03-22 | Нек Корпорейшн | Система связи, устройство управления, способ управления связью и программа |
KR102117497B1 (ko) * | 2017-06-29 | 2020-06-02 | 주식회사 케이티 | 네트워크 인프라 구축 시스템 및 네트워크 인프라 구축 방법 |
CN111277423B (zh) * | 2018-12-04 | 2022-05-20 | 中兴通讯股份有限公司 | 数据中心流量互通方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008505531A (ja) * | 2004-06-30 | 2008-02-21 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | マルチドメイン仮想プライベートネットワークにおける接続経路の高速判定方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6556541B1 (en) * | 1999-01-11 | 2003-04-29 | Hewlett-Packard Development Company, L.P. | MAC address learning and propagation in load balancing switch protocols |
EP1847071A4 (en) * | 2005-01-26 | 2010-10-20 | Internet Broadcasting Corp B V | MULTI-DIFFUSION IN LAYERS AND EXACT ATTRIBUTION OF BANDWIDTH AND PRIORIZATION OF PACKETS |
JP5393686B2 (ja) | 2007-09-26 | 2014-01-22 | ニシラ, インコーポレイテッド | ネットワークを管理する及び安全にするためのネットワークオペレーティングシステム |
US20120250496A1 (en) | 2009-11-26 | 2012-10-04 | Takeshi Kato | Load distribution system, load distribution method, and program |
US10244500B2 (en) * | 2011-03-30 | 2019-03-26 | Wei Lu | Open wireless architecture (OWA) mobile cloud infrastructure and method |
US9204207B2 (en) | 2011-11-01 | 2015-12-01 | Plexxi Inc. | Hierarchy of control in a data center network |
US9337931B2 (en) * | 2011-11-01 | 2016-05-10 | Plexxi Inc. | Control and provisioning in a data center network with at least one central controller |
US9306800B2 (en) * | 2013-05-10 | 2016-04-05 | Telefonaktiebolaget L M Ericsson (Publ) | Inter-domain fast reroute methods and network devices |
-
2015
- 2015-01-21 US US15/111,082 patent/US9998367B2/en not_active Expired - Fee Related
- 2015-01-21 WO PCT/JP2015/000262 patent/WO2015118822A1/ja active Application Filing
- 2015-01-21 JP JP2015561200A patent/JP6191703B2/ja active Active
- 2015-01-21 EP EP15745896.9A patent/EP3104561A4/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008505531A (ja) * | 2004-06-30 | 2008-02-21 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | マルチドメイン仮想プライベートネットワークにおける接続経路の高速判定方法 |
Non-Patent Citations (2)
Title |
---|
NOBUHIKO ITO ET AL.: "An Efficient Calculation of Passive Type Loop Detection Method and it's Implimentation on OpenFlow-based Network", IEICE TECHNICAL REPORT, vol. 109, no. 448, 25 February 2010 (2010-02-25), pages 31 - 36, XP055219409 * |
See also references of EP3104561A4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108702326A (zh) * | 2016-01-05 | 2018-10-23 | 瑞典爱立信有限公司 | 检测软件定义网络(sdn)中的控制平面循环的机制 |
CN108702326B (zh) * | 2016-01-05 | 2021-03-19 | 瑞典爱立信有限公司 | 检测sdn控制平面循环的方法、设备和非暂时性机器可读介质 |
Also Published As
Publication number | Publication date |
---|---|
US9998367B2 (en) | 2018-06-12 |
US20160344625A1 (en) | 2016-11-24 |
EP3104561A4 (en) | 2017-10-18 |
EP3104561A1 (en) | 2016-12-14 |
JPWO2015118822A1 (ja) | 2017-03-23 |
JP6191703B2 (ja) | 2017-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10230577B2 (en) | Packet broadcast mechanism in a split architecture network | |
EP3474502B1 (en) | Reduced configuration for multi-stage network fabrics | |
US9379975B2 (en) | Communication control system, control server, forwarding node, communication control method, and communication control program | |
US9225641B2 (en) | Communication between hetrogenous networks | |
US20160269289A1 (en) | Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow | |
CN110971441B (zh) | 多级网络结构的简化配置 | |
US20130322460A1 (en) | End-to-end multipathing through network having switching devices compatible with different protocols | |
JP6191703B2 (ja) | 通信制御システム、通信制御方法および通信制御プログラム | |
WO2017084448A1 (zh) | 一种网络系统及网络运行方法 | |
CN102437967B (zh) | 报文转发方法和装置 | |
CN105262686B (zh) | 一种网络连通性验证方法和装置 | |
US10171306B2 (en) | Automatic discovery and provisioning of multi-chassis etherchannel peers | |
US20150036508A1 (en) | Method and Apparatus For Gateway Selection In Multilevel SPB Network | |
WO2014126094A1 (ja) | 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム | |
US10574481B2 (en) | Heterogeneous capabilities in an overlay fabric | |
JP2017175522A (ja) | ネットワークシステム、制御装置、方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15745896 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2015561200 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15111082 Country of ref document: US |
|
REEP | Request for entry into the european phase |
Ref document number: 2015745896 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2015745896 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |