This application claims priority from Korean Patent Application Nos. 10-2013-0134422, filed on Nov. 6, 2013, and 10-2014-0127911, filed on Sep. 24, 2014, in the Korean Intellectual Property Office, the entire disclosures of which are incorporated herein by reference for all purposes.
1. Field
The following description relates to a technology for network communication and management, and particularly to a software defined network (SDN) technology.
2. Description of the Related Art
There are technologies of separating a control plane from a transport plane in a network so that the network may have a flexible configuration. One of the technologies is a software defined network (SDN), which separates a transport plane and a control plane from each other, wherein the transport plane asks the control plane about every decision of transmitting a packet, so it is possible to control a network configuration and a packet flow using software installed in the transport plane in a centralized manner. A control plane in the SDN is generally called an AND controller.
If a control plane of a network is centralized on one controller, it is possible to control a packet transmission process using software. In this case, functions of all transport devices are controlled by only one controller, so that it may cause network scalability issue. The larger a network is, the more traffic a controller needs to deal with, since all the transport devices communicate with the only one controller. In addition, in a case where a single controller controls a transport network, it is hard for a manager to understand and manage a complicated structure of a large network.
The following description relates to a communication method in a software defined network (SDN) using a hierarchical structure for easier network control and management, and to an SDN system.
In one general aspect, there is provided a communication method in a software defined network (SDN), including: separating a transport plane and a control plane from each other; hierarchically partitioning the control plane into a plurality of lower-level controllers and a upper-level controller that is configured to integratedly manage the plurality of lower-level controllers; and controlling communication among unit networks or through at least one unit network by using a hierarchical structure of the control plane.
In another general aspect, there is provided a software-defined network (SDN) system including: a plurality of lower-level controller configured to manage different unit networks, respectively; and an upper-level controller configured to manage the plurality of lower-level controllers, wherein in a case where the plurality of lower-level controllers abstract the respective unit networks and provide the abstracted unit networks to the upper-level controller, the upper-level controller controls communication between the abstracted unit networks.
Other features and aspects may be apparent from the following detailed description, the drawings, and the claims.
Throughout the drawings and the detailed description, unless otherwise described, the same drawing reference numerals will be understood to refer to the same elements, features, and structures. The relative size and depiction of these elements may be exaggerated for clarity, illustration, and convenience.
The following description is provided to assist the reader in gaining a comprehensive understanding of the methods, apparatuses, and/or systems described herein. Accordingly, various changes, modifications, and equivalents of the methods, apparatuses, and/or systems described herein will be suggested to those of ordinary skill in the art. Also, descriptions of well-known functions and constructions may be omitted for increased clarity and conciseness.
Referring to
For example, a control plane of the first unit network 10a includes the first lower-level controller 12a in charge of a plurality of the first transport devices 100, 102, 104 and 106, the second lower-level controller 12b in charge of a plurality of the second transport devices 110, 112, 114 and 116, and the third unit network 10c includes a third lower-level controller 12c in charge of a plurality of the third transport devices 120, 122, 124 and 126. Each of the lower-level controllers 12a, 12b and 12c is connected to an upper-level controller 14, so that the upper-level controller 14 manages and controls the lower-level controllers 12a, 12b and 12c.
A router connects the unit networks. For example, the first router 16a connects the first and second unit networks 10a and 10b, the second router 16b connects the second and third unit networks 10b and 10c, and the third router 16c connects the first and third unit networks 10a and 10c.
Referring to
Meanwhile, although
Referring to
In order to transmit a packet, which is transmitted and received between terminals in a unit network, to a desired terminal, a transport device in the unit network asks a controller about a port to which the packets need to be transmitted. To respond the ask, the controller may acquire in advance not just a link layer address information and IP address information of each terminal in the unit network, and information on a transport device accessed by each terminal in the unit network, but information on link connection between transport devices, by analyzing a protocol packet operating on a link layer. Based on the above-described information, the controller may acquire a connection structure, that is, topology infortnation, of a unit network. Further, an IP address range of each terminal within a single unit network may be input in advance to the controller. In addition, IP address information and link layer address information of a router that transmits packets to an external unit network may be input in advance to the controller. The above-described prior procedures may be summed up as below:
[Prior Procedure 1]
For communication between unit networks or for communication through a unit network, a lower-level controller of a unit network according to an exemplary embodiment transmits the following information to an upper-level controller using a controller association protocol. That is, a lower-level controller transmits, to an upper-level controller, IP address range information of each terminal in a unit network. The IP address range information may be briefly represented by classless inter-domain routing (CIDR) and the like. In addition, the lower-level controller transmits, to the upper-level controller, a router's IP address and MAC address, which is information on a router that is to be connected to an external unit network. Transmission of the above-described information may be performed periodically. The above-described information is used for terminal-to-terminal communication that needs to go through a plurality of unit networks. The upper-level controller may identify connection among unit networks using the above-described information, and identify an IP address range of terminals in each unit network.
[Prior Procedure 2]
A controller of a unit network according to an exemplary embodiment transmits the following information to a router connected the unit network. That is, the controller transmits information on IP address range of terminals that are connected through transport devices to the router. The above-described information are used to enable each router to transmit/receive information on IP address range of terminals installed in the entire network through a traditional IP routing protocol, such as open shortest path first (OSPF), and to enable each router to transmit packets distributed among unit networks to a desired destination.
Based on a network environment satisfying the above-described prior procedures, various exemplary embodiments of the present disclosure are described with reference to
[Procedure 1-1]
Referring to
As already informed by [Prior Procedure 1] that the receiving terminal 39b is within the second unit network 30b, the upper-level controller 34 controls a transport device to reply the transmitting terminal 39a by including a link structure address (MAC address) of router A 36 connected to the second unit network 30b to an ARP REPLY message. As a result, the transmitting terminal 39a is informed that it is necessary to transmit a packet to the MAC address of the router A 36 in order to transmit the packet to an IP address of the receiving terminal 39b. Thus, the transmitting terminal 39a transmits the packet by allocating the MAC address of the router A 36 to the MAC address of the receiving terminal 39b.
[Procedure 1-2]
If the packet transmitted from the transmitting terminal 39a reaches the router A 36, the router A 36 changes an MAC address of the transmitting terminal 39a to the MAC address of the router A 36. However, as not informed of the MAC address of the receiving terminal 39b, the router A 36 transmits, to a transport device in the second unit network 30b, an ARP REQUEST packet including an IP address of the receiving terminal 39b. In response to receipt of the ARP REQUEST packet through the transport device, the second lower-level controller 32b checks that the IP address of the receiving terminal 39b is an IP address within in a network in which the second lower-level controller is located. Then, the second lower-level controller 32b directs a transport device of the second unit network 30b to distribute the ARP REQUEST packet within the network to transmit the ARP REQUEST packet to the receiving terminal 39b. In response to the direction, the transport device transmits the ARP REQUEST packet to the receiving terminal 39b. In response to the ARP REQUEST packet, the receiving terminal 39b informs the router A 36 of the MAC address of the receiving terminal 39b by ARP REPLY, which corresponds to an IP address thereof. As a result, the router A 36 records the MAC address of the receiving terminal 39b, to which the IP packet needs to be transmitted, and transmits the IP packet to the MAC address of the receiving terminal 39b, so that the IP packet reaches the receiving terminal 39b of the destination.
[Assumption 1]
Using a controller to control transmission of a packet within a unit network is a general and well-known technique in an SDN. That is, it is possible to transmit a packet from the router A 36 to the receiving terminal 39b using the well-known technique, so detailed descriptions thereof are omitted.
[Assumption 2]
It is assumed that each unit network and a controller managing the same have a function that enables transmission of a routing protocol packet, such as an OSPF packet, to every router connected to the corresponding network.
Meanwhile, the embodiment described above with reference to
[Procedure 2-1]
Referring to
As already informed in [Prior Procedure 1] of that the received IP address is within the fourth unit network 40d managed by the second upper-level controller 44b, the top-level controller 46 replies to the first upper-level controller 44a by transmitting IP and MAC addresses of router B 48b. Since the first upper-level controller 44a is informed by [Prior Procedure 1] that a packet needs to transmitted to the router A 48a and then to the router b 48b, the first upper-level controller 44a replies the first lower-level controller 42a in response to receipt of the IP and MAC addresses of the router b 48b by transmitting the received IP and MAC addresses of the router B 49b. The first lower-level controller 42a transmits an ARP REPLY packet including IP and MAC addresses of the router A 48a to the transmitting terminal 49a, and the transmitting terminal 49a transmits, to the router A 48a, an IP packet to be transmitted to an IP address of the receiving terminal 49b.
[Procedure 2-2]
If the IP packet transmitted from the transmitting terminal 49a reaches the router A 48a, a MAC address of the transmitting terminal 49a is changed into the MAC address of the router A 48a. In a case where the router A 48a is not informed of the MAC address of the router B 48b through which the packet need to be transmitted to an IP address of the receiving terminal 49b, an ARP REQUEST message including the IP address of the receiving terminal 49b is transmitted to a transport device in the second unit network 40b. At this point, the ARP REQUEST message is transmitted through the second lower-level controller 42b and the first upper-level controller 44a to the top-level controller 46 that is informed, of the MAC address of the router B 48b. The top-level controller 46 confirms that the packet needs to be transmitted to the router B 48b, and the router A 48a changes the destination MAC address, to which a packet is to be transmitted, to the MAC address of the router B 48B, and then transmits an IP packet to the router B 48b.
If [Prior Procedure 2] is properly performed and [Assumption 3] is satisfied, the router A 48a may be in advance informed of the MAC address of the router B 48b and of the fact that the router B 48b is the next router to reach the final destination. In this case, the above-described [Procedure 2-2] may be omitted.
[Procedure 2-3]
As [Procedure 2-2] is performed repeatedly, the packet finally enters the fourth unit network 40d in which the receiving terminal 49b is located, and the packet is transmitted within the fourth unit network 40d in accordance with [Procedure I-2].
The embodiments described above with reference to
Meanwhile, the present disclosure may be applied even in a case where a different specific IP network exists between unit networks. For example, the present disclosure may be applied even in a case where a different specific IP network between unit networks, as shown in
Referring to
Referring to
IP technologies are assumed in the descriptions provided above with the drawings. However, it is possible to apply the similar version of the present invention to an arbitrary network protocol.
According to an exemplary embodiment, a control plane is partitioned into upper-level controllers and lower-level controllers, and the upper-level controller controls only communication between unit networks, instead of controlling the entire network. That is, each lower-level controller abstracts a unit network managed by each lower-level controller and provides the abstracted unit network to a corresponding upper-level controller, and then the corresponding upper-level controller controls communication between the abstracted unit networks. Accordingly, the upper-level controller is able to control the entire network without knowing a specific configuration of each unit network managed by a different lower-level controller, so that it may become less complicated to control a network.
Further, by partitioning a large network into unit networks, allocating different controllers to the unit networks and by hierarchically associating the different controllers with each other, it is possible to reduce the number of transport devices to be managed by each controller and thus solve network scalability. Further, it is possible to associate unit networks with an arbitrary different network, for example, an IP network.
A number of examples have been described above. Nevertheless, it should be understood that various modifications may be made. For example, suitable results may be achieved if the described techniques are performed in a different order and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents. Accordingly, other implementations are within the scope of the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2013-0134422 | Nov 2013 | KR | national |
10-2014-0127911 | Sep 2014 | KR | national |