WO2015152435A1 - Sdn 기반의 분할 계층적 네트워크 시스템 - Google Patents

Sdn 기반의 분할 계층적 네트워크 시스템 Download PDF

Info

Publication number
WO2015152435A1
WO2015152435A1 PCT/KR2014/002749 KR2014002749W WO2015152435A1 WO 2015152435 A1 WO2015152435 A1 WO 2015152435A1 KR 2014002749 W KR2014002749 W KR 2014002749W WO 2015152435 A1 WO2015152435 A1 WO 2015152435A1
Authority
WO
WIPO (PCT)
Prior art keywords
edge
controller
topology
information
network
Prior art date
Application number
PCT/KR2014/002749
Other languages
English (en)
French (fr)
Inventor
박성용
딥죠이티사이키아
공석환
이지민
닉힐말릭
Original Assignee
쿨클라우드㈜
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 쿨클라우드㈜ filed Critical 쿨클라우드㈜
Priority to US14/890,056 priority Critical patent/US9537751B2/en
Priority to PCT/KR2014/002749 priority patent/WO2015152435A1/ko
Publication of WO2015152435A1 publication Critical patent/WO2015152435A1/ko
Priority to US15/352,052 priority patent/US10122654B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Definitions

  • the present invention relates to a network system of an SDN-based partitioned hierarchical structure capable of operating in a hierarchical manner by dividing a network in order to improve scalability and flexibility in a software defined network (SDN) -based network.
  • SDN software defined network
  • the network environment has evolved to be hardware-oriented, which does not proactively and flexibly cope with network changes and is not easy to scale. In some cases, devices from different vendors or different models of the same vendor may not be compatible.
  • Software defined network (SDN) technology and openflow protocol that separate data plane and control play are one of the alternatives, and there are many cases that are currently used as a use case.
  • SDN-based networks are an architecture that can meet these requirements.
  • Non-Patent Literature OpenFlow Switch Specification version 1.4.0 (Wire Protocol 0x05), October 14, 2013 [https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1. 4.0.pdf]
  • Non-Patent Literature Software-Defined Networking: The New Norm for Netwrks, ONF White Paper, April 13, 2012 [https://www.opennetworking.org/images/stories/downloads/sdn-resources/white-papers/wp-sdn-newnorm. pdf]
  • an object of the present invention is to provide a network system of SDN-based partitioning structure capable of managing the divided network hierarchically by dividing the entire network.
  • segmentation requirements can be specified to reduce errors due to network segmentation, and almost all controllers can manage the topology of directly connected underlying networks, thereby reducing the load on the controller.
  • the SDN-based split hierarchical network system generates and responds to forwarding information for a flow forwarding query of a lower layer, and each of a plurality of edge ports of a plurality of switches constituting the lower layer is one virtual.
  • the mapping information is generated to correspond to each of the plurality of virtual ports of the switch, and forwarding information for a flow forwarding query having an edge port received from a lower layer cannot be generated, the edge port is configured based on the mapping information.
  • An edge controller may be provided to query the upper layer for forwarding information on the flow converted into the virtual port corresponding to the port.
  • an SDN-based network system includes an orchestrator, a root controller, and a plurality of switches, wherein the orchestrator includes one switch or one or less connected switches.
  • a topological abstraction unit configured to set an edge splitting network of the edge splitting network, and an edge controller generating unit generating an edge controller controlling the edge splitting network, wherein the first edge controller generated by the edge controller generating unit comprises: the first edge;
  • a topology manager for managing the topology of the first edge division network, which is a lower layer of the controller, an entry manager for generating and responding to forwarding information of flow forwarding queries of the lower layer, and a plurality of edge ports of a plurality of switches constituting the lower layer Map each to multiple virtual ports on one virtual switch
  • a mapping unit generating information; If forwarding information for a flow forwarding query having an edge port received from a lower layer cannot be generated, the forwarding information for the flow converted into the virtual port corresponding to the edge port is higher based on the mapping information. It may include a conversion unit for querying the
  • the entire network when the segmentation start requirement and the segmentation requirement are satisfied, the entire network can be partitioned to manage the partitioned network hierarchically, and the controllers of each layer need only manage the network of the next lower level. This can reduce the load and improve security.
  • FIG. 1 is a block diagram of a network system based on SDN (Software Defined Network) according to an embodiment of the present invention
  • FIG. 2 is a block diagram of an abstracted network system of the network system of FIG.
  • FIG. 3 is a block diagram of an orchestrator of the network system of FIG.
  • FIG. 4 is a block diagram of a root controller of the network system of FIG. 1;
  • FIG. 5 is a block diagram illustrating an edge controller of FIG. 1;
  • FIG. 6 is a flowchart illustrating an SDN network virtualization method of an orchestrator according to an embodiment of the present invention
  • FIG. 7 is a flowchart illustrating an SDN network virtualization method of an edge controller according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a path request response method of an edge controller according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a SDN network virtualization method of a root controller according to an embodiment of the present invention.
  • FIG. 10 is a block diagram illustrating an example of a network topology
  • FIG. 11 is a block diagram illustrating another example of a network topology.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • a component When a component is referred to as being “connected” or “connected” to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be “directly connected” or “directly connected” to another component, it should be understood that there is no other component in between.
  • first component and the second component on the network are connected or connected, it means that data can be exchanged between the first component and the second component by wire or wirelessly.
  • module and “unit” for the components used in the following description are merely given in consideration of ease of preparation of the present specification, and do not give particular meanings or roles by themselves. Therefore, the “module” and “unit” may be used interchangeably.
  • Such components may be configured by combining two or more components into one component, or by dividing one or more components into two or more components as necessary when implemented in an actual application.
  • FIG. 1 is a block diagram of a network system based on SDN (Software Defined Network) according to an embodiment of the present invention
  • FIG. 2 is a block diagram of an abstracted network system of the network system of FIG. Is a block diagram of an orchestrator of the network system of FIG. 1
  • FIG. 4 is a block diagram of a root controller of the network system of FIG. 1
  • FIG. 5 is a block diagram of an edge controller of FIG.
  • a network system includes an orchestrator 100, a root controller 200, an edge controller 300, and a switch 400. can do.
  • the edge controller 300 of the network system behaves like a general controller for a switch of a lower layer, and like a switch for a controller of the upper layer (root controller 200). I can act.
  • the switch 400 may be a physical switch or a virtual switch.
  • the switch 400 may process the received packet to relay a flow between network devices (not shown) connected to the switch.
  • the switch 400 may have a flow table.
  • the switch 400 may be provided with multiple flow tables for pipeline processing of the OpenFlow specification.
  • the flow table includes a flow entry that defines a rule of how to process a flow of a network device (not shown).
  • the network device may include a terminal device for exchanging data or information, or a physical device or a virtual device for performing a specific function.
  • a flow may refer to a packet flow of a specific path according to a combination of a series of packets or multiple flow entries of multiple switches that share a value of at least one header field from one switch perspective.
  • Openflow networks can perform path control, failover, load balancing and optimization on a flow-by-flow basis.
  • the switch 400 may be divided into a core switch between an ingress switch and an egress switch and an edge switch of a flow according to a combination of multiple switches.
  • the flow entry in the flow table contains a match field that describes the condition (control rule) that matches the packet, a counter that is updated if there is a matched packet, a timeout that describes the time to be discarded from the switch, and an oppaque selected by the controller.
  • Instructions such as cookies of the opaque type, changes to packets described in flow entries, updates to action sets, and metadata updates, forwarding or discarding packets to specified or multiple ports It may include tuples such as action, priority, and the like.
  • the switch 400 may extract flow information from the packet received as user traffic.
  • the flow information may include an ingress port, which is a packet inflow port of an edge switch of a packet, packet header information (such as source and destination IP addresses, MAC addresses, ports, and VLAN information), metadata, and the like. .
  • the metadata may be optionally added in the previous table or data added in another switch.
  • the switch 400 may search whether there is a flow entry for the received packet in the table by referring to the extracted flow information. When the flow entry is found, the switch 400 may process and manipulate a received packet according to a processing rule (action or instruction) of the found flow entry. If the flow entry search fails, the switch 400 may transmit a received packet or the minimum data of the received packet to a controller of a higher layer to request flow processing, and receive a flow entry from a controller of a higher layer.
  • a processing rule action or instruction
  • the present invention can manage the divided network hierarchically by dividing the entire network, reduce the errors due to the network segmentation by specifying the segmentation requirements, and almost all controllers manage only the topology of the directly connected lower network, The load on the controller can be reduced.
  • the orchestrator 100 may include an entire topology management unit 110, a topology abstraction unit 120, and an edge controller generator 130. Although the orchestrator 100 is displayed separately from the root controller 200 in this embodiment, the root controller 200 may replace the function of the orchestrator 100.
  • the overall topology manager 110 may manage network topology information by constructing network topology information based on the connection relationships of the entire physical switches 400.
  • the overall topology manager 110 may monitor the connection state of the entire physical switch.
  • the actual switch may include a virtual switch as well as a physical switch.
  • the actual switch refers to a switch having only a switching function located in the data plane, except for a virtual switch as an edge controller in which a controller and a switch function are mixed, which will be described later.
  • it is assumed that the actual switch is a physical switch.
  • the overall topology manager 110 may collect a connection relationship or a connection state of the physical switch from the root controller 200 or the edge controller 300.
  • the overall topology manager 110 may communicate with the edge controller 300 to receive port map information on a virtual port corresponding to a real port to be described later.
  • the topology abstraction unit 120 may divide all or part of the entire topology into an edge division network based on the overall topology information by the entire topology management unit 110.
  • the edge splitting network may be hierarchical.
  • the division start requirement by the topology abstraction unit 120 is not particularly limited.
  • the network can be divided into edge splitting networks from the beginning when the network is first constructed, and can be split into multiple edge splitting networks when the size is over a certain size.
  • the edge controller generator 130 may generate an edge controller 300 that controls the edge division network divided by the topology abstraction unit 120. Detailed description of the edge controller 300 will be described later. For flexibility and convenience of management, the edge controller 300 is preferably a virtual machine (VM) that is created virtually rather than a physical device.
  • VM virtual machine
  • the topology abstraction unit 120 and the edge controller generation unit 130 may limit the construction of the edge division network and the generation of the edge controller. As a limitation, there may be an example in which switching devices in an edge division network are linked networks that are directly connected to each other. As another example, the multi-link may be excluded between both edge division networks.
  • the physical switches SW11 to SW15 are constructed by one edge division network, and the physical switches SW21 to SW25 are constructed by another edge division network by the topology abstraction unit 120.
  • the edge controller generation unit 130 generates edge controllers vSW1 and vSW2 to manage each edge division network.
  • the orchestrator 100 may further include an equivalent topology generator 140. It can be used to find the best path between both nodes, especially the shortest hop.
  • the root controller 200 cannot know the internal topology of the edge controller 300.
  • 10 shows an example of a network topology.
  • FIG. 10 (a) shows the overall network topology of the physical switches sw6 to sw8, and FIG. 10 (b) abstracts the entire topology of FIG. 10 (a).
  • a topology composed of edge controllers vSW6 to vSW8 is shown. From the root controller, the shortest hop path from switch vSW7 on the lower layer to switch vSW8 is vSW7-> vSW8. However, in the overall topology, the vSW7-> vSW6-> vSW8 path is the shortest hop path. Therefore, in order to correct this, the equivalent topology generating unit 140 needs to generate the equivalent topology as shown in FIG.
  • the equivalent topology generating unit 140 may monitor whether there is a structure in which edge division networks form a loop from the overall topology information. When the edge division networks form a loop, the equivalent topology generating unit 140 may construct an equivalent topology between physical switches of the edge division networks constituting the loop.
  • the equivalent topology generator 140 may receive port map information on the virtual port of the edge controller 300 and the corresponding actual port, which will be described later, from the edge controller 300. Based on the port map information, it is preferable to convert identification information of the edge port of the equivalent topology into identification information of the virtual port.
  • the port map information may be received through communication between the entire topology manager 110 and the edge controller 300 that monitor connection information of the switch, not the communication between the equivalent topology generator 140 and the edge controller 300. .
  • Equivalent topology information obtained by converting identification information of the edge port may be transmitted to the root controller 200.
  • the controller presents the root controller 200 and the edge controller 300. They can serve as general controllers in SDN network systems.
  • the root controller 200 manages at least one edge controller 300 of the lower layer, and the edge controller 300 can manage at least one physical switch or at least one lower edge controller of the lower layer.
  • the names of the edge controller and the root controller may be relative according to the hierarchical position, unless otherwise specified herein, it is assumed that the root controller manages at least one edge controller immediately below the top layer.
  • a controller in an SDN network system is a kind of command program that controls an SDN system, and can perform various and complex functions such as routing, policy declaration, and security check.
  • the controller may define the flow of packets occurring in the plurality of switches of the lower layer.
  • the controller may calculate a route to be flowed by referring to the network topology and the like for the flows allowed by the network policy, and then allow the entry of the flow to be set in a switch on the route.
  • the controller can communicate with the switch using a specific protocol, such as an OpenFlow protocol.
  • the communication channel between the controller and the switch can be encrypted by SSL.
  • the root controller 200 stores a switch communication unit 210, a lower topology manager 220, a path determiner 230, an entry manager 240, and a flow entry communicating with a switch of a lower layer.
  • An entry database (DB) 250 may be included.
  • the lower topology manager 220 may construct and manage direct network topology information based on the connection relations of the switches of the lower layers collected through the switch communication unit 210.
  • the switch of the lower layer communicating with the switch communication unit 210 is preferably the edge control unit 300.
  • the lower topology manager 220 may receive equivalent topology information from the equivalent topology generator 140 of the orchestrator 100 and manage the equivalent topology information.
  • the entire topology information is a topology by the switches SW11 to SW15 and SW21 to SW25. Since there is no structure in which the edge dividing network loops in the whole topology, an equivalent topology is not established.
  • the lower topology viewed by the root controller 200, that is, managed by the lower topology management unit 220, is a topology by the devices vSW1 and vSW2 of FIG. 2.
  • 10 (a) to 10 (c) respectively show topologies of the entire network, the subnetwork, and the equivalent network.
  • the path calculator 230 may obtain a transmission path of a packet received through the switch communication unit 210 and an action string to be executed by the switch on the transmission path based on the network topology information constructed by the topology manager 220.
  • the entry manager 240 may register the result calculated by the path calculator 230 as a flow entry in the entry DB 250 and respond to a request for adding or updating a flow entry or entries from a lower layer switch.
  • the root controller 200 stores a switch communication unit 310, a lower topology manager 320, a path determiner 330, an entry manager 340, and a flow entry communicating with a switch of a lower layer. It may include an entry database (DB) 350, a mapping unit 360, a transformation unit 370, and a higher controller communication unit 380 communicating with a controller of a higher layer.
  • DB entry database
  • the lower topology manager 320 may construct and manage direct network topology information based on the connection relationships of the switches of the lower layers collected through the switch communicator 310.
  • the lower topology information managed by the lower topology manager 320 of the edge controller 300 (SW1) is a topology by the switches SW11 to SW15.
  • the path calculator 330 may obtain a transmission path of a packet received through the switch communication unit 310 and an action string to be executed by the switch on the transmission path based on the network topology information constructed by the topology manager 320. If there is no flow entry for the received packet, the path calculator 330 may transmit all or part of the packet to the converter 370.
  • the entry manager 340 may register the result calculated by the path calculator 330 in the entry DB 350 as a flow entry, and may respond to a request for adding or updating a flow entry or entries from a lower layer switch.
  • the mapping unit 360 may convert the edge division network into one virtual switch, and convert the edge port of the edge division network into the virtual port of the converted virtual switch. . 1 and 2, the edge controller SW1 generates virtual switch identification information vSW1 through the mapping unit 360 so that the lower networks SW11 to SW15 appear as one virtual switch. Actual edge port p11.1 can be converted to vp1.1.
  • the mapping unit 360 may generate and manage mapping information associated with the actual port identification information and the virtual port identification information.
  • the mapping unit 360 may transfer the mapping information to the request of the orchestrator 100.
  • the converter 370 may convert the actual port information of the packet received from the path calculator 330 into virtual port information using the mapping information of the mapping unit 360.
  • the converter 370 may inquire the forwarding information about the packet to the controller of the higher layer (the root controller 200 in this embodiment) through the upper controller communication unit 380.
  • the converter 370 may convert the virtual port information of the forwarding message or the flow entry of the route controller 200 received through the upper controller communication unit 380 into the actual port information by using the mapping information.
  • the entry converted by the converter 370 may be stored in the entry DB 350 through the entry manager 340.
  • FIG. 6 is a flowchart illustrating an SDN network virtualization method of an orchestrator according to an embodiment of the present invention.
  • the orchestrator 100 may virtualize the entire network according to a preset condition (S410).
  • a preset condition is at the time of network construction
  • the topology abstraction unit 120 virtualizes it and the edge controller generation unit 130.
  • the edge controller 300 May generate the edge controller 300 (S430).
  • the preset condition is a virtualization operation for an existing network
  • the topology abstraction unit 120 of the orchestrator 100 abstracts the number of switches 400 using the entire topology information of the entire topology management unit 110. It may be determined whether to start.
  • the topology abstraction unit 120 When the number of the switches 400 exceeds the minimum number, the topology abstraction unit 120, for example, according to the edge split network establishment conditions, for example, a predetermined range of the number of switches 400 directly connected to each other in one edge split network Can be set. In response to the number of edge division networks, the edge controller generator 130 may generate or delete the edge controller 300.
  • the topology abstraction unit 120 of the orchestrator 100 may generate a standby flag and broadcast it to the entire network while initiating virtualization (S420). This is because an error does not occur when calculating the route configuration until the edge division network construction is completed.
  • the topology abstraction unit 120 may virtualize the edge division network (S430).
  • the edge controller generation unit 130 may generate and connect the edge controller 300 to the generated edge division network, or delete the edge controller 300 of the deleted edge division network (S440).
  • the equivalent topology generating unit 140 may monitor whether the edge division networks form a loop from the entire topology information (S460), and if there is a loop structure, generate the equivalent topology information and transmit the generated topology information to the root controller 200 (S470). ).
  • the orchestrator 100 may broadcast the wait flag release message to the entire network through the topology abstraction unit 120 (S480).
  • FIG. 7 is a flowchart illustrating an SDN network virtualization method of an edge controller according to an embodiment of the present invention.
  • a necessary application may be driven (S520).
  • a user request or a predetermined application may be driven from an application for performing a controller and a switch function.
  • components referred to as a switch communication unit, a topology manager, a path calculator, and the like may be driven as a kind of application.
  • the edge controller 300 When the edge controller 300 is ready to drive, after generating a virtual switch identifier, the edge controller 300 may convert a real port into a virtual port and map the virtual switch to the virtual switch (S520). When the mapping is complete, the edge controller 300 may assist in determining the wait flag release by sending a completion message to the orchestrator 100 when it is ready to operate.
  • FIG. 8 is a flowchart illustrating a path request response method of an edge controller according to an embodiment of the present invention.
  • the edge controller 300 may receive a packet-in message that is a message for querying a packet path from a switch of a lower layer through the switch receiver 310 (S610).
  • the edge controller 300 may determine whether there is an entry corresponding to the packet of the packet-in message (S620).
  • the edge controller 300 may wait for the wait flag to be released, and then again determine whether there is an entry for the received packet (S620).
  • the edge controller 300 may determine whether to update the database of the controller of the upper layer, that is, the root controller 200 (S645).
  • FIG. 11 is a block diagram that is an example of a network topology.
  • the switch sw9 group and the switch sw10 group of FIG. 11 (a) may be virtualized into respective edge division networks.
  • the controller of the upper layer root controller 200 determines as the lower network topology as shown in FIG. If a problem occurs in the link as shown in FIG.
  • the edge splitting network since the portion directly connected between the switches of the existing edge splitting network vSW9 is broken, the edge splitting network must be rebuilt. Before rebuilding, querying the packet path establishment from the edge controller 300 to the root controller 200, the root controller 200 refers to the topology of FIG. 11 (b) rather than FIG. 11 (d) to establish a flow entry. Will reply. Since the edge controller 300 does not transmit packets to the flow entry by the root controller 200, the edge controller 300 will inquire the root controller 200 again. In order to avoid such loop repetition, the edge controller 300 needs to determine whether there is a change in the topology of the lower network so that it needs to be updated in the database of the root controller 200.
  • the edge controller 300 may send a packet-out message to the switch requesting the packet path through the entry DB 350 to transmit the packet to the appropriate port. There is (S690).
  • the edge controller 300 may transmit a flow mod message to the switch on the path in advance. This flow change message can be set to always send with the packet-out message.
  • the edge controller 300 updates its sub-topology. Thereafter, the root controller 200 may be notified of this. In the case of FIG. 11D, the edge controller 300 may make the root controller 200 appear as two switches, or a new edge controller may be generated by the orchestrator 100.
  • the update ends there is no flow entry for the received packet of the edge controller 300. That is, as in the case where there is no entry as a result of the entry existence determination (S620) for the received packet, it is the same.
  • the edge controller 300 converts the edge port of the received packet into a virtual port (S650) and then sends a packet-in message to the root controller 200. It may transmit (S660).
  • the edge controller 300 converts the virtual port of the packet-out message into a real port (S680), and then an appropriate path based on the internal network topology information. After the calculation, the packet-out message can be transmitted to the inquired switch (S690).
  • the related entry may be updated in the entry DB 350.
  • FIG. 9 is a flowchart illustrating a SDN network virtualization method of a root controller according to an embodiment of the present invention.
  • the root controller 200 may receive a packet-in message from a lower layer switch, that is, the edge controller 300 (S710).
  • the route controller 200 may calculate an appropriate path based on the information of the packet-in message. If there is equivalent topology information in the calculated proper path (S720), the root controller 200 may first reflect the equivalent topology (S730).
  • the root controller 200 determines whether there is an entry that matches the packet of the packet-in message (S740). If the entry does not exist, the route controller 200 transmits a packet discard message to the lower layer (S760). In operation S750, the root controller 200 transmits the packet-out message to the lower layer switch.
  • the present invention can also be embodied as computer readable code on a computer readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, which are also implemented in the form of carrier waves (for example, transmission over the Internet). Include.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. And functional programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.

Abstract

본 발명은 SDN(Software Defined Network) 기반의 네트워크에서 확장성 및 유연성을 향상시키기 위해, 네트워크를 분할하여 계층적으로 운용할 수 있는 SDN 기반의 분할 계층 구조의 네트워크 시스템에 관한 것이다.

Description

SDN 기반의 분할 계층적 네트워크 시스템
본 발명은 SDN(Software Defined Network) 기반의 네트워크에서 확장성 및 유연성을 향상시키기 위해, 네트워크를 분할하여 계층적으로 운용할 수 있는 SDN 기반의 분할 계층 구조의 네트워크 시스템에 관한 것이다.
네트워크 환경은 하드웨어 위주로 발전하여, 네트워크 변화에 능동적이고 유연하게 대처하지 못하며 확장성도 쉽지 않다. 벤더 또는 동일 벤더의 다른 모델의 디바이스 끼리 호환이 잘 안되는 경우도 있다. 이에 데이터 플레인과 제어 플레이을 분리하는 소프트웨처 정의 네트워크(software defined network; SDN) 기술 및 오픈플로우(openflow) 프로토콜이 대안 기술 중 하나로 각광 받고 있으며, 현재 유스케이스(usecase)로 적용된 케이스가 많이 있다.
네트워크 환경이 복잡해 짐에 따라, 더 향상된 보안, 자동화, 및 확장성이 요구되고 있으며, SDN 기반 네트워크는 이러한 요건을 만족시킬 수 있는 아키텍쳐이다. 그러나 제어 플레인의 제어기가 담당할 수 있는 스위치의 개수는 한계가 있을 수 밖에 없다. 이러한 한계는 네트워크 환경의 확장성 및 유연성을 떨어뜨릴 수 있다.
<선행기술문헌>
비특허문헌.1. OpenFlow Switch Specification version 1.4.0(Wire Protocol 0x05), October 14, 2013 [https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.4.0.pdf]
비특허문헌.2. Software-Defined Networking: The New Norm for Netwrks, ONF White Paper, April 13, 2012 [https://www.opennetworking.org/images/stories/downloads/sdn-resources/white-papers/wp-sdn-newnorm.pdf]
따라서 본 발명의 목적은 전체 네트워크를 분할하여 계층적으로 분할 망을 관리할 수 있는 SDN 기반의 분할 구조의 네트워크 시스템을 제공하는 데 있다.
또한 분할 요건을 지정하여 네트워크 분할에 따른 에러를 줄이며, 거의 모든 제어기는 직접 연결되어 있는 하부 네트워크의 토폴로지만 관리하게 하여, 제어기의 로드를 줄일 수 있도록 하는 데 있다.
본 발명에 따른 SDN 기반의 분할 계층 구조의 네트워크 시스템은, 하위 계층의 플로우 포워딩 문의에 대한 포워딩 정보를 생성하여 응답하고, 상기 하위 계층을 구성하는 복수의 스위치의 복수의 에지 포트 각각을 하나의 가상 스위치의 복수의 가상 포트로 각각 대응하도록 맵핑 정보를 생성하고, 하위 계층으로부터 수신한 에지 포트를 구비하는 플로우 포워딩 문의에 대한 포워딩 정보가 생성 불가능한 경우, 상기 에지 포트를 상기 맵핑 정보에 기초하여 상기 에지 포트에 대응하는 가상 포트로 변환된 플로우에 대한 포워딩 정보를 상위 계층으로 문의하는 에지 제어기를 구비할 수 있다.
본 발명의 다른 실시예에 따른 SDN 기반의 네트워크 시스템은, 오케스트레이터, 루트 제어기, 및 복수의 스위치를 포함하고, 상기 오케스트레이터는, 하나의 스위치 또는 기설정된 개수 이하의 서로 연결되어 있는 스위치들을 하나의 에지 분할망으로 설정하는 토폴로지 추상화부, 및 상기 에지 분할망을 제어하는 에지 제어기를 생성하는 에지 제어기 생성부를 구비하고, 상기 에지 제어기 생성부에 의해 생성된 제1 에지 제어기는, 상기 제1 에지 제어기의 하위 계층인 제1 에지 분할망의 토폴로지를 관리하는 토폴로지 관리부, 하위 계층의 플로우 포워딩 문의에 대한 포워딩 정보를 생성하여 응답하는 엔트리 관리부, 상기 하위 계층을 구성하는 복수의 스위치의 복수의 에지 포트 각각을 하나의 가상 스위치의 복수의 가상 포트로 각각 대응하도록 맵핑 정보를 생성하는 맵핑부; 하위 계층으로부터 수신한 에지 포트를 구비하는 플로우 포워딩 문의에 대한 포워딩 정보가 생성 불가능한 경우, 상기 에지 포트를 상기 맵핑 정보에 기초하여 상기 에지 포트에 대응하는 가상 포트로 변환된 플로우에 대한 포워딩 정보를 상위 계층으로 문의하는 변환부를 포함할 수 있다.
본 발명에 따르면, 분할 개시 요건 및 분할 요건을 만족하는 경우, 전체 네트워크를 분할하여 계층적으로 분할 망을 관리할 수 있으며, 각 계층의 제어기는 바로 아래 단계의 네트워크만 관리하면 되므로, 각 제어기의 로드를 줄일 수 있으며 이에 따라 보안성이 향상될 수 있다.
또한 가상화된 토폴로지에 대응하는 등가 토폴로지를 생성 및 관리하여, 경로 계산시 최적의 경로가 나오도록 할 수 있다.
도 1은 본 발명의 일실시예에 따른 SDN(Software Defined Network) 기반의 네트워크 시스템의 블록 구성도(block diagram),
도 2는 도 1의 네트워크 시스템의 추상화된 네트워크 시스템의 블록 구성도,
도 3은 도 1의 네트워크 시스템의 오케스트레이터의 블록 구성도,
도 4는 도 1의 네트워크 시스템의 루트 제어기의 블록 구성도,
도 5는 도 1의 에지 제어기의 블록 구성도,
도 6는 본 발명의 일실시예에 따른 오케스트레이터의 SDN 네트워크 가상화 방법에 대한 순서도,
도 7은 본 발명의 일실시예에 따른 에지 제어기의 SDN 네트워크 가상화 방법에 대한 순서도,
도 8은 본 발명의 일실시예에 따른 에지 제어기의 경로 요청 응답 방법에 대한 순서도,
도 9는 본 발명의 일실시예에 따른 루트 제어기의 SDN 네트워크 가상화 방법에 대한 순서도,
도 10은 네트워크 토폴로지의 일례를 도시한 블록도, 및
도 11은 네트워크 토폴로지의 다른 례를 도시한 블록도이다.
이하, 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
제 1, 제 2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 또한 네트워크 상의 제1 구성요소와 제2 구성요소가 연결되어 있거나 접속되어 있다는 것은, 유선 또는 무선으로 제1 구성요소와 제2 구성요소 사이에 데이터를 주고 받을 수 있음을 의미한다.
또한, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.
이와 같은 구성요소들은 실제 응용에서 구현될 때 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다.
도 1은 본 발명의 일실시예에 따른 SDN(Software Defined Network) 기반의 네트워크 시스템의 블록 구성도(block diagram), 도 2는 도 1의 네트워크 시스템의 추상화된 네트워크 시스템의 블록 구성도, 도 3은 도 1의 네트워크 시스템의 오케스트레이터의 블록 구성도, 도 4는 도 1의 네트워크 시스템의 루트 제어기의 블록 구성도, 도 5는 도 1의 에지 제어기의 블록 구성도이다.
도 1을 참조하면, 본 실시예에 따른 네트워크 시스템은 오케스트레이터(orchestrator)(100), 루트 제어기(root contoller)(200), 에지 제어기(edge controller)(300), 및 스위치(400)를 포함할 수 있다.
도 1 및 도 2를 참조하면, 본 실시예에 따른 네트워크 시스템의 에지 제어기(300)는 하위 계층의 스위치에 대해 일반적인 제어기 처럼 행동하며, 상위 계층의 제어기(루트 제어기(200))에 대해 스위치처럼 행동할 수 있다.
스위치(400)는 물리적인 스위치 또는 가상 스위치일 수 있다. 스위치(400)는 수신한 패킷을 처리하여, 스위치에 연결된 네트워크 디바이스(미도시) 사이의 플로우를 중계할 수 있다. 스위치(400)는 플로우 테이블을 구비할 수 있다. 스위치(400)는 오픈플로우 스펙의 파이프라인 처리를 위해 다중 플로우 테이블을 구비할 수 있다.
플로우 테이블은 네트워크 디바이스(미도시)의 플로우를 어떻게 처리할 지의 규칙을 정의한 플로우 엔트리를 포함한다. 네트워크 디바이스는 데이터나 정보를 주고 받고자 하는 단말 장치, 또는 특정 기능을 수행하는 물리 장치 또는 가상 장치를 포함할 수 있다.
플로우(flow)는 하나의 스위치 관점에서 적어도 하나의 헤더 필드의 값을 공유하는 일련의 패킷들 또는 다중 스위치의 여러 플로우 엔트리(flow entry)들의 조합에 따른 특정 경로의 패킷 흐름을 의미할 수 있다. 오픈플로우 네트워크는 플로우 단위로 경로 제어, 장애 회복, 부하 분산 및 최적화를 행할 수 있다.
스위치(400)는 다중 스위치의 조합에 따른 플로우의 입구 및 출구 측 에지 스위치(edge switch)(ingress switch and egress switch)와 에지 스위치 사이의 코어 스위치(core switch)로 구분될 수 있다.
플로우 테이블의 플로우 엔트리는 패킷과 매치하는 조건(대조 규칙)을 기술한 매치 필드, 매치되는 패킷이 있는 경우 업데이트되는 카운터, 스위치에서 파기될 시간을 기술하는 타임아웃, 제어기에 의해 선택되어지는 오파큐(opaque) 타입의 쿠키(cookie), 플로우 엔트리에 기술된 패킷의 변경, 액션 세트(action set)의 업데이트, 및 메타데이타 업데이트 등의 인스트럭션(instruction), 패킷을 지정된 포트 또는 여러 포트로 전달하거나 폐기시키는 액션(action), 우선 순위(priority) 등의 튜플(tuple)을 포함할 수 있다.
스위치(400)는 유저 트래픽으로서 수신한 패킷으로부터 플로우 정보를 추출할 수 있다. 플로우 정보는 패킷의 에지 스위치의 패킷 유입 포트인 입구 포트(ingress port), 패킷 헤더 정보(송신원 및 수신처의 IP 주소, MAC 주소, 포트, 및 VLAN 정보 등), 및 메타데이터 등을 포함할 수 있다. 메타데이터는 이전 테이블에서 선택적으로 추가되거나, 다른 스위치에서 추가된 데이터일 수 있다. 스위치(400)는 추출한 플로우 정보를 참조하여 테이블에 수신 패킷에 대한 플로우 엔트리가 있는지 검색할 수 있다. 스위치(400)는 플로우 엔트리가 검색되면, 검색된 플로우 엔트리의 처리 규칙(액션 또는 인스트럭션)에 따라 수신 패킷을 처리 및 조작 등을 할 수 있다. 플로우 엔트리 검색이 실패되면, 스위치(400)는 수신 패킷 또는 수신 패킷의 최소한의 데이터를 상위 계층의 제어기로 송신하여 플로우 처리를 문의하여, 상위 계층의 제어기로부터 플로우 엔트리를 응답 받을 수 있다.
네트워크 환경이 복잡해 짐에 따라, 더 향상된 보안, 자동화, 및 확장성이 요구되고 있으며, SDN 기반 네트워크는 이러한 요건을 만족시킬 수 있는 아키텍쳐이다. 그러나 제어 플레인의 제어기가 담당할 수 있는 스위치의 개수는 한계가 있을 수 밖에 없다. 이러한 한계는 네트워크 환경의 확장성 및 유연성을 떨어뜨릴 수 있다. 이에 본 발명은 전체 네트워크를 분할하여 계층적으로 분할 망을 관리할 수 있으며, 분할 요건을 지정하여 네트워크 분할에 따른 에러를 줄이며, 거의 모든 제어기는 직접 연결되어 있는 하부 네트워크의 토폴로지만 관리하게 하여, 제어기의 로드를 줄일 수 있다.
도 3을 참조하면, 오케스트레이터(100)는 전체 토폴로지 관리부(110), 토폴로지 추상화부(120), 및 에지 제어기 생성부(130)를 포함할 수 있다. 본 실시예에서 오케스트레이터(100)는 루트 제어기(200)와 별도로 표시하였지만, 루트 제어기(200)가 오케스트레이터(100)의 기능을 대신 할 수도 있다.
전체 토폴로지 관리부(110)는 전체 실제 스위치(400)의 접속 관계를 기초로 네트워크 토폴로지 정보를 구축하여 전체 토폴로지 정보를 관리할 수 있다. 전체 토폴로지 관리부(110)는 전체 실제 스위치의 연결 상태를 모니터 할 수 있다. 여기에서 의미하는 실제 스위치는 물리적인 스위치 뿐만 아니라 가상 스위치도 포함할 수 있다. 다만 실제 스위치는 데이터 플레인(data plane)에 위치한 스위칭 기능만을 하는 스위치를 의미하며, 후술할 제어기와 스위치의 기능이 혼재된 에지 제어기로서의 가상 스위치는 제외한다. 다만 본 명세서에서 가상 스위치의 용어가 지칭하는 것에 대한 혼동을 방지하기 위해, 실제 스위치는 물리적인 스위치인 것으로 가정한다.
전체 토폴로지 관리부(110)는 물리적인 스위치의 접속 관계나 연결상태를 루트 제어기(200) 또는 에지 제어기(300)로부터 수집할 수 있다. 전체 토폴로지 관리부(110)는 에지 제어기(300)와 통신하여 후술할 실제 포트와 대응하는 가상 포트에 대한 포트 맵 정보를 수신할 수 있다.
토폴로지 추상화부(120)는 전체 토폴로지 관리부(110)에 의한 전체 토폴로지 정보를 기초로, 전체 토폴로지의 전부 또는 일부를 에지 분할 망으로 나눌 수 있다. 에지 분할 망은 계층 구조일 수 있다.
토폴로지 추상화부(120)에 의한 분할 개시 요건은 특별히 한정되지 않는다. 예를 들어, 처음 네트워크를 구축할 때 부터 에지 분할 망으로 분할하며 구축할 수 있고, 어느 규모 이상이 되면 다수의 에지 분할 망으로 분할할 수도 있다.
에지 제어기 생성부(130)는 토폴로지 추상화부(120)에 의해 분할된 에지 분할 망을 제어하는 에지 제어기(300)를 생성할 수 있다. 에지 제어기(300)에 대한 자세한 설명은 후술한다. 유연성 및 관리의 편리성을 위해, 에지 제어기(300)은 물리적인 장치인 것 보다 가상으로 생성되는 VM(virtual machine)인 것이 바람직하다.
토폴로지 추상화부(120) 및 에지 제어기 생성부(130)는 에지 분할 망의 구축 및 에지 제어기 생성에 제한을 가할 수 있다. 제한 요건으로 에지 분할 망 내의 스위칭 기능의 디바이스들은 서로 직접 연결되어 있는 링크드 네트워크(linked network)인 예가 있을 수 있다. 또 다른 예로, 양 에지 분할 망 사이에 멀티 링크는 제외되도록 할 수 있다. 본 실시예에서, 토폴로지 추상화부(120)에 의해 물리적인 스위치 SW11 ~ SW15은 하나의 에지 분할 망으로 구축하며, 물리적인 스위치 SW21 ~ SW25은 또 다른 에지 분할 망으로 구축하고 있다. 에지 제어기 생성부(130)는 에지 제어기 vSW1 및 vSW2를 생성하여, 각각의 에지 분할 망을 관리하도록 하고 있다.
오케스트레이터(100)는 등가 토폴로지 생성부(140)를 더 포함할 수 있다. 양 노드 간 최적 경로, 특히 최단 홉을 탐색할 때 사용될 수 있다. 본 실시예에서 루트 제어기(200)는 에지 제어기(300)의 내부 토폴로지를 알 수 없다. 도 10은 네트워크 토폴로지의 일례를 도시한다. 예를 들어, 도 10을 참조하면, 도 10(a)는 물리적인 스위치 들(sw6~sw8)의 전체 네트워크 토폴로지를 도시하며, 도 10(b)는 도 10(a)의 전체 토폴로지를 추상화한 에지 제어기(vSW6~vSW8)로 구성된 토폴로지를 도시한다. 루트 제어기에서 보았을 때, 하위 계층의 스위치 vSW7에서 스위치 vSW8로의 최단 홉 경로는 vSW7 -> vSW8이다. 그러나 전체 토폴로지로 보았을 때에는 vSW7 -> vSW6 -> vSW8 경로가 최단 홉 경로이다. 따라서 이를 보정하기 위해, 도 10(c)와 같은 등가 토폴로지를 등가 토폴로지 생성부(140)은 생성할 필요가 있다.
등가 토폴로지 생성부(140)는 전체 토폴로지 정보로부터 에지 분할 망들이 루프를 이루는 구조가 있는지 모니터링 할 수 있다. 에지 분할 망들이 루프를 구성하는 경우, 등가 토폴로지 생성부(140)는 루프를 구성하는 에지 분할 망의 물리적인 스위치들끼리의 등가 토폴로지를 구축하는 것이 바람직하다.
등가 토폴로지 생성부(140)는 후술할 에지 제어기(300)의 가상 포트 및 이와 대응하는 실제 포트에 대한 포트 맵 정보를 에지 제어기(300)으로부터 수신할 수 있다. 포트 맵 정보를 기초로, 등가 토폴로지의 에지 포트의 식별 정보는 가상 포트의 식별 정보로 변환하는 것이 바람직하다. 포트 맵 정보는, 등가 토폴로지 생성부(140)와 에지 제어기(300)의 통신이 아닌, 스위치의 접속 정보를 모니터링하는 전체 토폴로지 관리부(110)와 에지 제어기(300)의 통신을 통해 수신될 수 있다.
에지 포트의 식별 정보가 변환된 등가 토폴로지 정보는 루트 제어기(200)로 전송될 수 있다.
본 실시예에서 제어기는 루트 제어기(200)와 에지 제어기(300)에 대해 제시하고 있다. 이 들은 SDN 네트워크 시스템에서 일반적인 제어기 역할을 할 수 있다. 루트 제어기(200)는 하위 계층의 적어도 하나의 에지 제어기(300)를 관리하며, 에지 제어기(300)는 하위 계층의 적어도 하나의 물리적인 스위치 또는 적어도 하나의 하위 에지 제어기를 관리할 수 있다. 계층 위치에 따라 에지 제어기와 루트 제어기의 명칭이 상대적일 수 있으나, 본 명세서에서 특별한 말이 없으면, 루트 제어기는 최상위 계층에서 바로 밑의 적어도 하나의 에지 제어기를 관리하는 것으로 가정한다.
SDN 네트워크 시스템에서 제어기(controller)는 SDN 시스템을 제어하는 일종의 지휘 프로그램으로서, 다양하고 복잡한 기능들, 예를 들어, 라우팅, 정책 선언, 및 보안 체크 등을 할 수 있다. 제어기는 하위 계층의 복수의 스위치에서 발생하는 패킷의 플로우를 정의할 수 있다. 제어기는 네트워크 정책 상 허용되는 플로우에 대해 네트워크 토폴로지 등을 참조하여 플로우가 경유할 경로를 계산한 후, 경로 상의 스위치에 상기 플로우의 엔트리가 설정되도록 할 수 있다. 제어기는 특정 프로토콜, 예를 들어, 오픈플로우 프로토콜을 이용하여 스위치와 통신할 수 있다. 제어기와 스위치의 통신 채널은 SSL에 의해 암호화 될 수 있다.
도 4를 참조하면, 루트 제어기(200)는 하위 계층의 스위치와 통신하는 스위치 통신부(210), 하위 토폴로지 관리부(220), 경로 결정부(230), 엔트리 관리부(240), 및 플로우 엔트리를 저장하는 엔트리 데이터베이스(DB)(250)를 포함할 수 있다.
하위 토폴로지 관리부(220)는 스위치 통신부(210)를 통하여 수집된 하위 계층의 스위치의 접속 관계를 기초로 직속 네트워크 토폴로지 정보를 구축 및 관리 할 수 있다. 본 실시예에서, 스위치 통신부(210)와 통신하는 하위 계층의 스위치는 에지 제어부(300)인 것이 바람직하다. 하위 토폴로지 관리부(220)는 오케스트레이터(100)의 등가 토폴로지 생성부(140)으로부터 등가 토폴로지 정보를 수신하여, 등가 토폴로지 정보를 관리할 수 있다. 도 1 및 도 2의 경우, 전체 토폴로지 정보는 스위치 SW11 ~ SW15 및 SW21 ~ SW25에 의한 토폴로지이다. 전체 토폴로지에서 에지 분할 망이 루프를 이루는 구조가 없으므로, 등가 토폴로지는 구축되지 않는다. 루트 제어기(200)가 바라보는, 즉 하위 토폴로지 관리부(220)에서 관리하는 하위 토폴로지는 도 2의 디바이스 vSW1 및 vSW2에 의한 토폴로지이다. 도 10(a) 내지 도 10(c)는 각각 전체 네트워크, 하위 네트워크, 및 등가 네트워크의 토폴로지를 각각 도시한다.
경로 계산부(230)는 토폴로지 관리부(220)에서 구축된 네트워크 토폴로지 정보를 기초로 스위치 통신부(210)을 통해 수신한 패킷의 전송 경로 및 상기 전송 경로 상의 스위치에 실행시키는 액션 열을 구할 수 있다.
엔트리 관리부(240)는 경로 계산부(230)에서 계산된 결과를 플로우 엔트리로서 엔트리 DB(250)에 등록하고, 하위 계층 스위치로부터의 플로우 엔트리 또는 엔트리들의 추가 또는 갱신 요구에 응답할 수 있다.
도 5를 참조하면, 루트 제어기(200)는 하위 계층의 스위치와 통신하는 스위치 통신부(310), 하위 토폴로지 관리부(320), 경로 결정부(330), 엔트리 관리부(340), 플로우 엔트리를 저장하는 엔트리 데이터베이스(DB)(350), 맵핑부(360), 변환부(370), 및 상위 계층의 제어기와 통신하는 상위 제어기 통신부(380)를 포함할 수 있다.
하위 토폴로지 관리부(320)는 스위치 통신부(310)를 통하여 수집된 하위 계층의 스위치의 접속 관계를 기초로 직속 네트워크 토폴로지 정보를 구축 및 관리 할 수 있다. 도 1의 경우, 에지 제어기(300)(SW1)의 하위 토폴로지 관리부(320)에서 관리하는 하위 토폴로지 정보는 스위치 SW11 ~ SW15에 의한 토폴로지이다.
경로 계산부(330)는 토폴로지 관리부(320)에서 구축된 네트워크 토폴로지 정보를 기초로 스위치 통신부(310)을 통해 수신한 패킷의 전송 경로 및 상기 전송 경로 상의 스위치에 실행시키는 액션 열을 구할 수 있다. 수신 패킷에 대한 플로우 엔트리가 없는 경우, 경로 계산부(330)는 변환부(370)로 패킷의 전부 또는 일부를 전송할 수 있다.
엔트리 관리부(340)는 경로 계산부(330)에서 계산된 결과를 플로우 엔트리로서 엔트리 DB(350)에 등록하고, 하위 계층 스위치로부터의 플로우 엔트리 또는 엔트리들의 추가 또는 갱신 요구에 응답할 수 있다.
맵핑부(360)는 오케스트레이터(100)에 의해 에지 제어기가 생성되면 에지 분할 망을 하나의 가상 스위치로 변환하며, 에지 분할 망의 에지 포트를 상기 변환한 가상 스위치의 가상 포트로 변환할 수 있다. 도 1 및 도 2를 참조하면, 에지 제어기 SW1은 맵핑부(360)를 통해 하위 네트워크인 SW11 ~ SW15을 하나의 가상 스위치처럼 보이기 위해, 가상의 스위치 식별 정보 vSW1을 생성한 후, 가상 스위치 vSW1에 실제 에지 포트 p11.1을 vp1.1로 변환할 수 있다. 맵핑부(360)는 실제 포트 식별정보와 가상 포트 식별 정보가 연관된 맵핑 정보을 생성 관리할 수 있다. 맵핑부(360)는 오케스트레이터(100)의 요구에 맵핑 정보를 전달할 수 있다.
변환부(370)는 경로 계산부(330)으로부터 수신한 패킷의 실제 포트 정보를 맵핑부(360)의 맵핑 정보를 이용하여 가상 포트 정보로 변환할 수 있다. 변환부(370)는 변환된 패킷을 상위 제어기 통신부(380)를 통해, 상위 계층의 제어기(본 실시예에서는 루트 제어기(200))로 패킷에 대한 포워딩 정보를 문의할 수 있다.
변환부(370)는 상위 제어기 통신부(380)을 통해 수신한 루트 제어기(200)의 포워딩 메시지 또는 플로우 엔트리의 가상 포트 정보를 맵핑 정보를 이용하여 실제 포트 정보로 변환할 수 있다. 변환부(370)에 의해 변환된 엔트리는 엔트리 관리부(340)를 통해 엔트리 DB(350)에 저장될 수 있다.
도 6는 본 발명의 일실시예에 따른 오케스트레이터의 SDN 네트워크 가상화 방법에 대한 순서도이다.
도 6을 참조하면, 오케스트레이터(100)는 기설정 조건에 따라 전체 네트워크를 가상화할 수 있다(S410). 기설정 조건이 네트워크 구축시인 경우, 오케스트레이터(100)의 전체 토폴로지 관리부(110)에서 스위치(400)가 구축되는 것을 감지하면, 토폴로지 추상화부(120)는 이를 가상화하며, 에지 제어기 생성부(130)는 에지 제어기(300)를 생성할 수 있다(S430). 기설정 조건이 기존의 네트워크에 대해 가상화 작업인 경우, 오케스트레이터(100)의 토폴로지 추상화부(120)는 전체 토폴로지 관리부(110)의 전체 토폴로지 정보를 이용하여, 스위치(400)의 개수에 따라 추상화 개시 여부를 결정할 수 있다. 스위치(400)의 개수가 최소 개수를 초과하는 경우, 토폴로지 추상화부(120)는 에지 분할 망 성립 조건에 따라, 예를 들어 기설정된 범위 개수의 서로 직접 연결된 스위치(400)들을 하나의 에지 분할 망으로 설정할 수 있다. 에지 분할 망 개수에 대응하여, 에지 제어기 생성부(130)는 에지 제어기(300)를 생성하거나 삭제할 수 있다.
오케스트레이터(100)의 토폴로지 추상화부(120)는 가상화를 개시하면서, 대기 플래그를 생성하여 전체 네트워크에 브로드캐스팅할 수 있다(S420). 에지 분할 망 구축이 완료되어야 경로 설정 계산시 에러가 발생하지 않기 때문이다.
토폴로지 추상화부(120)는 가상화 개시 요건 및 에지 분할 망 요건 등의 기설정 조건을 만족하면, 에지 분할 망을 가상화할 수 있다(S430).
에지 제어기 생성부(130)는 생성된 에지 분할 망에 에지 제어기(300)를 생성하여 연결시키거나, 삭제된 에지 분할 망의 에지 제어기(300)를 삭제할 수 있다(S440).
등가 토폴로지 생성부(140)는 전체 토폴로지 정보로부터 에지 분할 망들이 루프를 이루는 구조가 있는지 모니터링하여(S460), 루프 구조가 있으면, 등가 토폴로지 정보를 생성하여 루트 제어기(200)로 전송할 수 있다(S470).
오케스트레이터(100)는 등가 토폴로지 정보의 구축이 끝나거나 구축할 필요가 없다고 판단하면, 토폴로지 추상화부(120)를 통해 대기 플래그 해제 메시지를 전체 네트워크에 브로드캐스팅할 수 있다(S480).
도 7은 본 발명의 일실시예에 따른 에지 제어기의 SDN 네트워크 가상화 방법에 대한 순서도이다.
도 7을 참조하면, 에지 제어기 생성부(130)에 의해, 에지 제어기(300)가 생성되면, 필요한 어플리케이션(application)을 구동할 수 있다(S520). 제어기 및 스위치 기능을 수행하기 위한 어플리케이션부터 사용자 요청이나 기설정된 어플리케이션이 구동될 수 있다. 본 명세서에서 스위치 통신부, 토폴로지 관리부, 경로 계산부 등으로 칭해지는 구성요소들은 어플리케이션의 일종으로 구동될 수 있다.
에지 제어기(300)는 구동 준비가 완료되면, 가상 스위치 식별자를 생성한 후, 가상 스위치에 실제 포트를 가상 포트로 변환하여 맵핑할 수 있다(S520). 맵핑이 완료되면, 에지 제어기(300)는 작동할 준비가 완료되면, 오케스트레이터(100)로 완료 메시지를 보내어 대기 플래그 해제 판단에 도움을 줄 수 있다.
도 8은 본 발명의 일실시예에 따른 에지 제어기의 경로 요청 응답 방법에 대한 순서도이다.
도 8을 참조하면, 에지 제어기(300)는 스위치 수신부(310)를 통해 하위 계층의 스위치로부터 패킷 경로를 문의 메시지인 패킷-인(packet-in) 메시지를 수신할 수 있다(S610).
에지 제어기(300)는 패킷-인 메시지의 패킷에 부합하는 엔트리가 있는지 판단할 수 있다(S620).
해당 엔트리가 존재하는 경우, 오케스트레이터(100)에 대기 플래그가 있는지 판단할 수 있다(S630).
오케스트레이터(100)에 대기 플래그가 존재하면, 에지 제어기(300)는 대기 플래그가 해제되길 기다린 후, 다시 수신 패킷에 대한 엔트리 존재 여부를 판단할 수 있다(S620).
오케스트레이터(100)에 대기 플래그가 존재하지 않으면, 에지 제어기(300)는 상위 계층의 제어기 즉 루트 제어기(200)의 데이터베이스에 업데이트해야 하는지 판단할 수 있다(S645).
예를 들어, 에지 제어기(300)의 하위 네트워크에 스위치의 연결이 다운되거나 다운 후 재연결, 또는 새로운 스위치가 추가되는 경우, 에지 제어기(300)의 하위 토폴로지가 변화면서, 루트 제어기(200)에서 보는 가상 스위치의 포트가 변경되기 때문이다. 도 11은 네트워크 토폴로지의 일 예시인 블록도이다. 도 11(a)의 스위치 sw9 그룹과 스위치 sw10 그룹을 각각의 에지 분할 망으로 가상화할 수 있다. 이 경우, 상위 계층의 제어기(루트 제어기(200))는 도 11(b)와 같이 하위 네트워크 토폴로지로 판단한다. 링크에 도 11(c)와 같이 문제가 생긴 경우, 기존의 에지 분할 망(vSW9)의 스위치들간 직접 연결되는 부분이 끊기기 때문에, 에지 분할 망을 재구축해야 한다. 재구축하기 전에, 에지 제어기(300)에서 루트 제어기(200)로 패킷 경로 설정을 문의하면, 루트 제어기(200)는 도 11(d)가 아닌 도 11(b)의 토폴로지를 참조하여 플로우 엔트리를 응답할 것이다. 에지 제어기(300)는 루트 제어기(200)에 의한 플로우 엔트리로 패킷 전송이 안 이루어 지므로, 다시 루트 제어기(200)로 문의할 것이다. 이러한 루프 반복을 피하기 위해, 에지 제어기(300)는 하위 네트워크의 토폴로지에 변화가 생겨 루트 제어기(200)의 데이터베이스에 업데이트할 필요가 있는지 판단할 필요가 있다.
업데이트 판단(S645) 결과 업데이트할 필요가 없다면, 에지 제어기(300)는 엔트리 DB(350)를 통해, 적정한 포트로 패킷을 전송하라는 패킷-아웃(packet-out) 메시지를 패킷 경로 요청한 스위치에 보낼 수 있다(S690). 에지 제어기(300)는 경로 상의 스위치에 플로우 변경 메시지(flow Mod message)를 미리 전송할 수 있다. 이러한 플로우 변경 메시지는 패킷-아웃 메시지와 항상 같이 보내도록 설정될 수 있다.
업데이트 판단(S645) 결과 업데이트할 필요가 있다면, 예를 들어, 도 11(d)와 같은 스위치 구조임을 루트 제어기(200)에 알릴 필요가 있으면, 에지 제어기(300)는 자신의 하위 토폴로지를 업데이트한 후, 이를 루트 제어기(200)에 통보할 수 있다. 도 11(d)와 같은 경우, 에지 제어기(300)는 루트 제어기(200)가 두 개의 스위치로 보이도록 하거나, 오케스트레이터(100)에 의해 새로운 에지 제어기가 생성될 수 있다. 업데이트가 종료되면, 에지 제어기(300)의 수신 패킷에 대한 플로우 엔트리가 존재하지 않게된다. 즉 수신 패킷에 대한 엔트리 존재 판단(S620) 결과 엔트리가 존재하지 않는 경우와 같게 된다.
수신 패킷에 대한 엔트리 판단(S620) 결과 엔트리가 존재하지 않는 경우, 에지 제어기(300)는 수신 패킷의 에지 포트를 가상 포트로 변환(S650)한 후, 루트 제어기(200)로 패킷-인 메시지를 전송할 수 있다(S660). 루트 제어기(200)로부터 패킷-아웃 메시지를 수신하면(S670), 에지 제어기(300)는 패킷-아웃 메시지의 가상 포트를 실제 포트로 변환(S680)한 후, 내부 네트워크 토폴로지 정보를 기초로 적정 경로를 계산한 후, 패킷-아웃 메지지를 문의한 스위치에 전송할 수 있다(S690). 관련 엔트리는 엔트리 DB(350)에 엡데이트될 수 있다.
도 9는 본 발명의 일실시예에 따른 루트 제어기의 SDN 네트워크 가상화 방법에 대한 순서도이다.
도 9를 참조하면, 루트 제어기(200)는 하위 계층의 스위치 즉, 에지 제어기(300)로부터 패킷-인 메시지를 수신할 수 있다(S710). 루트 제어기(200)는 패킷-인 메시지의 정보를 기초로 적정 경로를 계산할 수 있다. 계산된 적정 경로에 등가 토폴로지 정보가 있는 경우(S720), 루트 제어기(200)는 등가 토폴로지를 우선 반영할 수 있다(S730). 루트 제어기(200)는 패킷-인 메시지의 패킷과 일치하는 엔트리가 있는지 판단하여(S740), 엔트리가 존재하지 않으면 패킷 폐기 메시지를 하위 계층으로 전송하며(S760), 엔트리가 존재하면 계산된 경로를 기초로, 루트 제어기(200)는 패킷-아웃 메시지를 문의한 하위 계층의 스위치로 전송할 수 있다(S750).
상기 본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.

Claims (8)

  1. 하위 계층의 플로우 포워딩 문의에 대한 포워딩 정보를 생성하여 응답하고,
    상기 하위 계층을 구성하는 복수의 스위치의 복수의 에지 포트 각각을 하나의 가상 스위치의 복수의 가상 포트로 각각 대응하도록 맵핑 정보를 생성하고,
    하위 계층으로부터 수신한 에지 포트를 구비하는 플로우 포워딩 문의에 대한 포워딩 정보가 생성 불가능한 경우, 상기 에지 포트를 상기 맵핑 정보에 기초하여 상기 에지 포트에 대응하는 가상 포트로 변환된 플로우에 대한 포워딩 정보를 상위 계층으로 문의하는 에지 제어기를 구비하는 SDN 기반의 분할 계층 구조의 네트워크 시스템.
  2. 제 1 항에 있어서,
    상기 에지 제어기는 상위 계층에서 플로우 포워딩 문의를 하는 스위치로 보이는 것을 특징으로 하는 SDN 기반의 분할 계층 구조의 네트워크 시스템.
  3. 제 1 항에 있어서,
    상기 에지 제어기는 상기 상위 계층으로부터 응신 받은 상기 변환된 플로우에 대한 포워딩 정보, 상기 맵핑 정보, 및 하위 계층의 네트워크 토폴로지에 기초하여 상기 에지 포트를 구비하는 플로우에 대한 포워딩 정보를 생성하여 응답하는, SDN 기반의 분할 계층 구조의 네트워크 시스템.
  4. 제 1 항에 있어서,
    상기 하위 계층을 구성하는 복수의 스위치는 서로 연결되어 있는 에지 분할 망을 구성하는 것을 특징으로 하는 SDN 기반의 분할 계층 구조의 네트워크 시스템.
  5. 제 4 항에 있어서,
    상기 에지 제어기는 상기 에지 분할 망에 에지 포트를 구비한 스위치가 추가 또는 삭제 되는 경우, 상기 맵핑 정보를 갱신하는 것을 특징으로 하는 SDN 기반의 분할 계층 구조의 네트워크 시스템.
  6. 제 5 항에 있어서,
    상기 에지 제어기는 상기 맵핑 정보를 갱신하기 전에 하위 계층의 토폴로지가 업데이트된다는 플래그를 상기 상위 및 하위 계층에 전송하고,
    상기 토폴로지 업데이트 플래그에 연관된 플로우의 포워딩은 중단되는 것을 특징으로 하는 SDN 기반의 분할 계층 구조의 네트워크 시스템.
  7. 제 4 항에 있어서,
    상기 상위 계층의 플로우에 대한 포워딩 정보를 응답하는 루트 제어기의 하위 계층은 복수의 에지 제어기로 구성되며,
    상기 복수의 에지 제어기 중 적어도 제1 내지 제3 에지 제어기는 루프형 토폴로지를 형성하고,
    상기 루트 제어기는 상기 제1 내지 제3 에지 제어기의 하위 계층을 구성하는 모든 노드들의 토폴로지에 기초하여 상기 모든 노드들 사이의 홉 수와 대응하는 복수의 등가 토폴로지 정보를 구비하고,
    상기 복수의 등가 토폴로지 정보의 에지 포트들은 상기 제1 내지 제3 에지 제어기에 의해 맵핑된 가상 에지 포트들로 변환되어 있으며,
    상기 루트 제어기는 상기 가상 에지 포트들 사이의 플로우 포워딩 정보의 문의에 대한 포워딩 정보 생성시 상기 제1 내지 제3 제어기에 의한 루프형 토폴로지 보다 상기 복수의 등가 토폴로지 정보를 더 고려하여 생성하는 것을 특징으로 하는 SDN 기반의 분할 계층 구조의 네트워크 시스템.
  8. 오케스트레이터, 루트 제어기, 및 복수의 스위치를 포함하는 SDN(Software Defined Network) 기반의 네트워크 시스템으로서,
    상기 오케스트레이터는,
    하나의 스위치 또는 기설정된 개수 이하의 서로 연결되어 있는 스위치들을 하나의 에지 분할망으로 설정하는 토폴로지 추상화부; 및
    상기 에지 분할망을 제어하는 에지 제어기를 생성하는 에지 제어기 생성부를 구비하고,
    상기 에지 제어기 생성부에 의해 생성된 제1 에지 제어기는,
    상기 제1 에지 제어기의 하위 계층인 제1 에지 분할망의 토폴로지를 관리하는 토폴로지 관리부;
    하위 계층의 플로우 포워딩 문의에 대한 포워딩 정보를 생성하여 응답하는 엔트리 관리부;
    상기 하위 계층을 구성하는 복수의 스위치의 복수의 에지 포트 각각을 하나의 가상 스위치의 복수의 가상 포트로 각각 대응하도록 맵핑 정보를 생성하는 맵핑부;
    하위 계층으로부터 수신한 에지 포트를 구비하는 플로우 포워딩 문의에 대한 포워딩 정보가 생성 불가능한 경우, 상기 에지 포트를 상기 맵핑 정보에 기초하여 상기 에지 포트에 대응하는 가상 포트로 변환된 플로우에 대한 포워딩 정보를 상위 계층으로 문의하는 변환부를 포함하는, SDN 기반의 네트워크 시스템.
PCT/KR2014/002749 2014-03-31 2014-03-31 Sdn 기반의 분할 계층적 네트워크 시스템 WO2015152435A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/890,056 US9537751B2 (en) 2014-03-31 2014-03-31 Divided hierarchical network system based on software-defined networks
PCT/KR2014/002749 WO2015152435A1 (ko) 2014-03-31 2014-03-31 Sdn 기반의 분할 계층적 네트워크 시스템
US15/352,052 US10122654B2 (en) 2014-03-31 2016-11-15 Divided hierarchical network system based on software-defined networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2014/002749 WO2015152435A1 (ko) 2014-03-31 2014-03-31 Sdn 기반의 분할 계층적 네트워크 시스템

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/890,056 A-371-Of-International US9537751B2 (en) 2014-03-31 2014-03-31 Divided hierarchical network system based on software-defined networks
US15/352,052 Continuation US10122654B2 (en) 2014-03-31 2016-11-15 Divided hierarchical network system based on software-defined networks

Publications (1)

Publication Number Publication Date
WO2015152435A1 true WO2015152435A1 (ko) 2015-10-08

Family

ID=54240736

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/002749 WO2015152435A1 (ko) 2014-03-31 2014-03-31 Sdn 기반의 분할 계층적 네트워크 시스템

Country Status (2)

Country Link
US (2) US9537751B2 (ko)
WO (1) WO2015152435A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200071767A (ko) * 2017-11-28 2020-06-19 인스티튜트 오브 어쿠스틱스, 차이니스 아카데미 오브 사이언스 프로그래머블 네트워크 기술 기반의 멀티 홈드 네트워크 라우팅 및 포워딩 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107204924B (zh) * 2016-03-18 2020-09-25 华为技术有限公司 链路发现方法及装置
US11265104B2 (en) * 2016-05-09 2022-03-01 Telefonaktiebolaget Lm Ericsson (Publ) Mechanism for inline packet response generation in software defined networks
EP3646533B1 (en) 2017-06-27 2023-08-02 Telefonaktiebolaget LM Ericsson (PUBL) Inline stateful monitoring request generation for sdn
JP6958440B2 (ja) * 2018-03-08 2021-11-02 富士通株式会社 情報処理装置、情報処理システム及びプログラム
US11444836B1 (en) * 2020-06-25 2022-09-13 Juniper Networks, Inc. Multiple clusters managed by software-defined network (SDN) controller
US20230112007A1 (en) * 2021-10-08 2023-04-13 Advanced Micro Devices, Inc. Global addressing for switch fabric

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130060819A1 (en) * 2010-07-06 2013-03-07 W. Andrew Lambeth Distributed network control system with one master controller per logical datapath set
US20130211549A1 (en) * 2011-10-25 2013-08-15 Nicira, Inc. Scheduling distribution of logical control plane data

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793763A (en) * 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US7139267B2 (en) * 2002-03-05 2006-11-21 Industrial Technology Research Institute System and method of stacking network switches
US8559335B2 (en) * 2011-01-07 2013-10-15 Jeda Networks, Inc. Methods for creating virtual links between fibre channel over ethernet nodes for converged network adapters
CN106850444B (zh) * 2011-08-17 2020-10-27 Nicira股份有限公司 逻辑l3路由
WO2013074855A1 (en) * 2011-11-15 2013-05-23 Nicira, Inc. Control plane interface for logical middlebox services
US8521905B2 (en) * 2011-12-22 2013-08-27 Telefonaktiebolaget L M Ericsson (Publ) System for flexible and extensible flow processing in software-defined networks
AU2013249152B2 (en) * 2012-04-18 2016-04-28 Nicira, Inc. Using transactions to minimize churn in a distributed network control system
US9769061B2 (en) * 2012-05-23 2017-09-19 Brocade Communications Systems, Inc. Integrated heterogeneous software-defined network
US10225094B2 (en) * 2012-05-29 2019-03-05 Futurewei Technologies, Inc. SDN facilitated multicast in data center
US9729424B2 (en) * 2012-06-11 2017-08-08 Futurewei Technologies, Inc. Defining data flow paths in software-defined networks with application-layer traffic optimization
US9590901B2 (en) * 2014-03-14 2017-03-07 Nicira, Inc. Route advertisement by managed gateways
US9225597B2 (en) * 2014-03-14 2015-12-29 Nicira, Inc. Managed gateways peering with external router to attract ingress packets
US9686176B2 (en) * 2014-12-19 2017-06-20 Ciena Corporation Constrained and viable path computation systems and methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130060819A1 (en) * 2010-07-06 2013-03-07 W. Andrew Lambeth Distributed network control system with one master controller per logical datapath set
US20130058208A1 (en) * 2010-07-06 2013-03-07 Benjamin L. Pfaff Fault tolerant managed switching element architecture
US20130211549A1 (en) * 2011-10-25 2013-08-15 Nicira, Inc. Scheduling distribution of logical control plane data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BOUGHZALA, B. ET AL.: "OpenFlow supporting inter-domain virtual machine migration", WIRELESS AND OPTICAL COMMUNICATIONS NETWORKS (WOCN), 2011 EIGHTH INTERNATIONAL CONFERENCE, 24 May 2011 (2011-05-24), Paris, pages 1 - 7, XP031944999 *
STEFAN SCHMID ET AL.: "Exploiting locality in distributed SDN control", 2013, New York, USA, pages 121 - 126, XP058030696, ISBN: 978-1-4503-2178-5 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200071767A (ko) * 2017-11-28 2020-06-19 인스티튜트 오브 어쿠스틱스, 차이니스 아카데미 오브 사이언스 프로그래머블 네트워크 기술 기반의 멀티 홈드 네트워크 라우팅 및 포워딩 방법
KR102342723B1 (ko) 2017-11-28 2021-12-23 인스티튜트 오브 어쿠스틱스, 차이니스 아카데미 오브 사이언스 프로그래머블 네트워크 기술 기반의 멀티 홈드 네트워크 라우팅 및 포워딩 방법

Also Published As

Publication number Publication date
US10122654B2 (en) 2018-11-06
US20170063732A1 (en) 2017-03-02
US9537751B2 (en) 2017-01-03
US20160087872A1 (en) 2016-03-24

Similar Documents

Publication Publication Date Title
WO2015152435A1 (ko) Sdn 기반의 분할 계층적 네트워크 시스템
KR101650832B1 (ko) 네트워크 자원 모니터링
JP6538986B2 (ja) 仮想マシンパケット制御
WO2015152436A1 (ko) Sdn 기반의 서비스 체이닝 시스템
CN105591863B (zh) 一种实现虚拟私有云网络与外部网络互通的方法和装置
CN107947961A (zh) 基于SDN的Kubernetes网络管理系统与方法
EP2843906B1 (en) Method, apparatus, and system for data transmission
EP2439883A1 (en) Virtual network and management method of virtual network
CN104081733A (zh) 用于虚拟机的迁移的互连数据中心
JPH09130421A (ja) 仮想ネットワーク管理方法
EP2883123B1 (en) Forwarding packet in stacking system
US20140317313A1 (en) Nat sub-topology management server
WO2021098727A1 (zh) 网络部署的方法及系统
WO2014030229A1 (ja) ライブマイグレーションされた仮想計算機のネットワーク接続を復元する仮想計算機システム
CN110430114A (zh) 一种虚拟路由器及实现sdn网络与传统ip网络互联的方法
WO2020130158A1 (ko) 오픈 프론트홀 네트워크 시스템
CN110474829A (zh) 传输报文的方法和装置
CN108696370B (zh) 一种服务器与业务绑定和解绑定方法、装置及系统
CN103067287A (zh) 在转发和控制分离架构下实现虚拟可编程路由器的方法
US10523629B2 (en) Control apparatus, communication system, communication method, and program
CN105379198A (zh) 转发控制方法、驱动器及sdn网络
JP2011141635A (ja) ホスト間通信を使用した仮想サーバのデータの通信方法
KR101794719B1 (ko) Sdn 기반 네트워크 가상화 플랫폼에서의 ip 주소 가상화 방법 및 시스템
KR101527373B1 (ko) Sdn 기반의 분할 계층적 네트워크 시스템
WO2015133561A1 (ja) 通信システム、制御装置、通信装置及び通信方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 14890056

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14888352

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase
122 Ep: pct application non-entry in european phase

Ref document number: 14888352

Country of ref document: EP

Kind code of ref document: A1