WO2015072709A1 - Sdn에서 네트워크 장애 해소를 위한 컨트롤러 및 스위치의 동작 방법과, 이를 위한 컨트롤러 및 스위치 - Google Patents

Sdn에서 네트워크 장애 해소를 위한 컨트롤러 및 스위치의 동작 방법과, 이를 위한 컨트롤러 및 스위치 Download PDF

Info

Publication number
WO2015072709A1
WO2015072709A1 PCT/KR2014/010741 KR2014010741W WO2015072709A1 WO 2015072709 A1 WO2015072709 A1 WO 2015072709A1 KR 2014010741 W KR2014010741 W KR 2014010741W WO 2015072709 A1 WO2015072709 A1 WO 2015072709A1
Authority
WO
WIPO (PCT)
Prior art keywords
switch
information
flow entry
session
controller
Prior art date
Application number
PCT/KR2014/010741
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 US15/037,046 priority Critical patent/US10205681B2/en
Publication of WO2015072709A1 publication Critical patent/WO2015072709A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • 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/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV

Definitions

  • the present invention relates to a technology for establishing a transmission path of data in software-defined networking (SDN), and more particularly, a technology for providing intelligent protection by detecting a network failure as soon as possible when a network failure occurs in SDN. It is about.
  • SDN software-defined networking
  • SDN is a software technology that abstracts the concept of a network in a distributed or cloud system to provide quality of service (QoS) through control and management of data.
  • QoS quality of service
  • SDN technology is a solution to fundamentally solve network cost and complexity by providing network-centric management technology by physically decouple the controller with the switch.
  • Open Flow is a technology that provides network openness by separating the packet forwarding function and the controller function of a network device into a standard interface, and defines a packet data protocol between controllers and switches.
  • a transmission path is determined according to each flow entry information of a switch.
  • the controller receives the event message transmitted from the switch, the controller reflects the corresponding message information and generates new flow entry information for packet forwarding according to the routing policy and algorithm of the controller. Provide the flow entry information to the lower switches.
  • the switches frequently exchange event messages with the controller.
  • the actual distance between the switches and the controller is physically far apart, resulting in a fairly large propagation delay in message exchange.
  • the controller in order to generate flow entry information, the controller also generates a processing delay for calculating an internal algorithm, which can be a significant overhead factor in fast packet forwarding.
  • the controller performs the shortest path forwarding according to the internal routing algorithm.
  • STP Spanning Tree Protocol
  • the controller due to various changes such as topology changes caused by Spanning Tree Protocol (STP), topology changes due to link timeout, flow expiration notification, and other switches, the controller generates overhead and thus fails in case of network failure. Longer over time can result.
  • SDN prevents loops on the switch and blocks the logical part of the port, and if the problem occurs in the port, reopens the port and transmits the topology change to the upper controller.
  • a link in the topology table has not been found for more than a few seconds (eg 3 seconds)
  • the controller sends a change to the topology table resulting from the link timeout.
  • a flow removal message is sent to the controller.
  • various events that occur in the switch are delivered to the controller.
  • the controller receives these various events frequently and recalculates the routing information.
  • the controller updates (deletes and creates) the corresponding flow table to the lower switch to provide a recovery operation for failures. This ultimately increases the network processing cost by incurring the processing delay of the controller itself.
  • the problem to be solved by the present invention is to quickly detect a failure by using the Bidirectional Forwarding Detection (BFD) protocol standardized by the IETF for network failures occurring in software-defined networking (SDN),
  • BFD Bidirectional Forwarding Detection
  • SDN software-defined networking
  • a method of operating a controller for resolving network failure in software-defined networking includes BFD performance information regarding a Bidirectional Forwarding Detection (BFD) function transmitted from at least one switch.
  • BFD Bidirectional Forwarding Detection
  • the protocol information to generate flow entry information about the transmission path of the data passing through the switch and the session mapping information mapped to the flow entry information for the BFD function, the generated flow entry information and Transmitting a session establishment signal indicating a configuration for the BFD function to the switch; And updating the generated flow entry information according to the session state by the BFD function transmitted from the switch.
  • a method of operating a switch for resolving a network failure in software-defined networking includes the process of doing.
  • a controller for resolving a network failure includes a protocol including BFD performance capability information regarding a Bidirectional Forwarding Detection (BFD) function transmitted from at least one switch.
  • BFD Bidirectional Forwarding Detection
  • a flow information generator for generating flow entry information about a transmission path of data via the switches, in accordance with the information;
  • a session mapping information generator for generating session mapping information mapped to the flow entry information for the BFD function according to the BFD performance capability information;
  • a controller memory unit configured to store the generated flow entry information and the session mapping information;
  • a control unit which controls to transmit a session establishment signal for setting the BFD function to the switch;
  • a controller interface unit for transmitting the flow entry information and the session setup signal to the switch, wherein the control unit updates the flow entry information according to a session state by the BFD function transmitted from the switch. Characterized in that the control unit.
  • the switch for resolving network failure in SDN Software-defined networking
  • the protocol information management unit for managing the protocol information added to the BFD performance capability information for the Bidirectional Forwarding Detection (BFD) function
  • a flow information manager configured to manage the received flow entry information when receiving flow entry information regarding the transmission path of the data from a controller for controlling data routing on the SDN
  • a session setting unit configured to establish a session with other switching terminals that receive the session setting signal when receiving the session setting signal for setting the BFD function from the controller
  • a switch interface unit which transmits the protocol information to the controller when the protocol information is requested from the controller and receives the flow entry information and the session establishment signal from the controller
  • a switch memory unit configured to store session setting information according to the protocol information, the flow entry information, and the session setting signal.
  • the controller's load is reduced in preparation for the increased functionality and complexity of the controller, providing a more sophisticated environment for the controller to operate.
  • FIG. 1 is a reference diagram of an embodiment for explaining a BFD function applied to a network configured with software-defined networking (SDN).
  • SDN software-defined networking
  • 1 is a reference diagram of an embodiment for explaining a BFD function for application to a network configured with SDN.
  • FIG. 2 is a reference diagram showing the overall flow for failure detection and recovery in the SDN to which the BFD function is applied in the present invention.
  • FIG. 3 is a reference diagram for describing an operation performed between a controller and a switch for each process illustrated in FIG. 2.
  • FIG. 4 is a flowchart for describing an algorithm for reducing a processing time of a controller when a failure occurs.
  • FIG. 5 is a flowchart illustrating an internal operation method of the controller according to the present invention.
  • FIG. 6 is a flowchart illustrating an internal operation method of a switch according to the present invention.
  • FIG. 7 is a reference diagram illustrating an operation procedure between a controller and a switch for resolving a failure in an SDN to which a BFD function is applied.
  • FIG. 8 is a flowchart illustrating an embodiment of a method of operating a controller for resolving network failure in SDN according to the present invention.
  • FIG. 9 is a flowchart of an exemplary embodiment for describing a process of generating flow entry information and session mapping information shown in FIG. 8.
  • 10 is a packet structure illustrating an example of a request signal for requesting protocol information transmitted from a controller to a switch.
  • 11 is a packet structure illustrating an example of protocol information transmitted from a switch to a controller.
  • FIG. 12 is table information illustrating an example of flow entry information generated by a controller.
  • FIG. 13 is table information illustrating an example of session setting information generated by a controller.
  • FIG. 14 is table information illustrating an example of session mapping information generated by a controller.
  • 15 is a packet structure illustrating an example of a session establishment signal transmitted from a controller to a switch.
  • FIG. 16 is a flowchart illustrating an embodiment of a method of operating a switch for resolving network failure in an SDN according to the present invention.
  • FIG. 17 is a flowchart of an exemplary embodiment for describing a process of monitoring a network state illustrated in FIG. 16.
  • 18 is a packet structure illustrating an example of a session state signal transmitted from a switch to a controller.
  • 19 is a block diagram of an embodiment illustrating a controller for network failure resolution in an SDN according to the present invention.
  • 20 is a block diagram of an embodiment illustrating a switch for network failure cancellation in an SDN according to the present invention.
  • the present invention improves the existing routing algorithm by maximizing the Bidirectional Forwarding Detection (BFD) protocol resources that are actively applied in the legacy system to the SDN (Software-defined networking) architecture, so that faults can be detected quickly and intelligently detected. It consists of a recovery function. Therefore, in the present invention, each switch in the network composed of SDN can quickly detect a failure by using the BFD Protocol between each other, and further extend the protocol message between the controller and the switch to shorten the recovery time for the failure as much as possible. Provides operations and algorithms.
  • BFD Bidirectional Forwarding Detection
  • the BFD protocol relates to bidirectional transmission detection and is a protocol used to detect errors in the bidirectional path between two transmission engines (routers). BFD provides neighbor error detection as soon as the link goes down. BFD provides a single mechanism that can be used for active sensing at the protocol layer. Error detection in both directions BFD detects communication errors with a data plane next hop. Protocols that support BFD include OSPF (Open Shortest Path First), IS-IS (Intermediate System-to-Intermediate System), EIGRP (Enhanced Interior Gateway Routing Protocol), and BGP (Border Gateway Protocol).
  • OSPF Open Shortest Path First
  • IS-IS Intermediate System-to-Intermediate System
  • EIGRP Enhanced Interior Gateway Routing Protocol
  • BGP Border Gateway Protocol
  • the client protocol makes a request to the BFD side to create adjacencies for the client neighbors.
  • the BFD process creates a contiguous structure for its neighbors and attempts to establish a session.
  • the session is created and the state change is 'Up', the set transmit and receive interval value is used.
  • the BFD control packet transmission and linkdown detection function are executed by a pseudo-preemptive BFD process. BFD packets unicast between two directly connected neighbors.
  • a BFD session for a BFD function is created between a corresponding section of router B and router D.
  • FIG. When the session is created, Router B and Router D exchange packets with each other at high speed, and determine whether there is a network failure in the session. After that, if a network failure occurs in the session (101), the session is changed from the session up state to the session down state (102). Then, the session state information is transmitted to the client that the network can no longer be formed through the session. (103). Thereafter, the neighbor relationship between Router B and Router D is terminated (104), and a new transmission path is retrieved to newly generate a transmission path through Router C (105).
  • FIG. 2 is a reference diagram showing the overall flow for fault detection and recovery in the SDN to which the BFD function is applied in the present invention
  • Figure 3 illustrates the operation performed between the controller and the switch for each process shown in FIG. See also for reference.
  • the controller requests a feature request from each switch, and each switch sends a reply message to the controller in response to the feature request, thereby confirming the capability of the BFD function of each switch (201).
  • the controller then creates and provides 202 a respective flow entry for each switch.
  • the controller then sends a configuration message for BFD function operation to each switch (203), each switch sending a received packet to the switch according to the preferred flow entry (204) and, on the other hand, from the controller.
  • a session is created by the BFD protocol and fault detection is performed on whether or not a network failure occurs (205). That is, each switch establishes a session with each neighboring switch, and checks the time of exchange of the BFD packet for network fault detection (Timer Negotiation), and then detects a network fault (Fault Detection). .
  • OpenFlow switch 2 and OpenFlow switch 3 sends a session status message to the controller (206).
  • the controller re-searches the flow entry using the information in the corresponding session status message, updates the flow entry (207), and delivers the updated flow entry to each switch (208).
  • the switch receiving the updated flow entry changes the previously stored flow entry to the updated flow entry transmitted from the controller (209).
  • the received packet is transmitted to the destination (210).
  • FIG. 4 is a flowchart for explaining an algorithm for generating a flow entry and configuring a BFD session in a controller.
  • the controller When the controller receives the packet (301), the controller generates a flow entry for the destination for all corresponding Child switches (302).
  • the controller creates all BFD sessions corresponding to all switches supporting the BFD operation (303). However, the corresponding session id should have flow id information about each matched switch.
  • the controller maps the flow ID of the parent switch and the Session ID according to the session setup (304).
  • FIG. 5 is a flowchart illustrating an internal operation method of the controller according to the present invention.
  • the controller receives a session status message corresponding to the event from the switch (401).
  • the controller receiving the session status message determines whether the topology has changed, that is, whether a network failure has occurred.
  • the controller determines whether to perform an intelligent protection enable operation (403).
  • the intelligent protection enable operation is a process of searching for a parent switch corresponding to a flow entry to be updated by using flow ID of a parent switch and session ID according to session establishment according to the present invention, and transmitting the updated flow entry. Means to do.
  • the parent switch is searched for using the mapped information of the flow ID of the parent switch and the session ID according to the session configuration (404).
  • the controller updates the preset flow entry and transmits the updated flow entry to the switch (407).
  • the controller performs Dijkstra Calculation for a general path search (407).
  • Dijkstra's algorithm finds the shortest path of a weighted graph.
  • the Dijkstra algorithm selects the vertex with the smallest sum of the weights from the starting vertex to the current vertex and the adjacent vertex as the next vertex, and includes the path in the shortest path, repeating this process until all vertices are selected. do.
  • the controller proceeds to step 407.
  • the controller when the controller receives a flow entry request from the switch (405), it transmits a packet to each switch (406), and proceeds to step 407 for the path search.
  • FIG. 6 is a flowchart illustrating an internal operation method of a switch according to the present invention.
  • the switch determines whether flow entry information for the destination corresponding to the packet is retrieved (502).
  • flow entry information for the corresponding destination is searched, it is determined whether a flow entry corresponding to a priority among the flow entry information exists (503).
  • the flow entry information corresponding to the priority is requested and inquired (504, 505), and the packet is forwarded according to the retrieved flow entry information (506).
  • step 502 if flow entry information for the corresponding destination is not found, the controller requests flow entry information (507).
  • the switch determines whether the switch itself is a parent switch (509).
  • switch type is the parent switch, it is determined whether to update the flow entry by itself (510).
  • the switch itself updates the flow entry (511, 512, 513), determines whether it is a parent switch (514, 515), and transmits the changed flow entry to the controller (516).
  • the controller transmits session status information indicating link failure, that is, network failure, to the controller (517).
  • the controller can directly update the flow entry itself without performing complicated algorithmic operations.
  • FIG. 7 is a reference diagram illustrating an operation procedure between a controller and a switch for resolving a failure in Software Defined Networking to which the BFD function is applied.
  • the first process is to check the capabilities of the switch in the controller.
  • the switch means that the switch can perform the BFD function. Send Feature Reply with Capability information to controller.
  • the controller then switches to the switch's BFD Func. Save capability information.
  • the second process is a process of creating a flow entry table in the controller.
  • the switch adds flow entries for all transmission paths according to the transmitted flow entry.
  • the third step is to set up a session in the controller.
  • the controller forms session information about the BFD function, it sends a signal to the switch to establish the session, and the switch establishes a session between itself and other neighboring switches. Set it.
  • the fourth step is to resolve the network failure between the child switches among the switches. If the child switch detects a change in session state (up to down), it is determined as a network failure and the session state signal Send to the controller.
  • the controller receiving the session status signal updates the flow entry information by changing the priority corresponding to the priority for data transmission from the flow entry information previously generated and stored. Thereafter, when the controller transmits the updated flow entry information to the switch, the switch changes the previously existing flow entry information according to the updated flow entry information transmitted from the controller.
  • FIG. 8 is a flowchart illustrating an embodiment of a method of operating a controller for resolving network failure in SDN according to the present invention.
  • Flow entry information about a transmission path of data through the switches according to protocol information including BFD performance information about a Bidirectional Forwarding Detection (BFD) function transmitted from at least one of the plurality of switches And generating session mapping information mapped to the flow entry information for the BFD function, and transmitting the generated flow entry information and a session setting signal indicating a setting for the BFD function to the switch (step S600).
  • BFD Bidirectional Forwarding Detection
  • the process of generating the flow entry information and the session setting information is as shown in FIG. 8.
  • FIG. 9 is a flowchart of an exemplary embodiment for describing a process of generating flow entry information and session mapping information shown in FIG. 8.
  • the controller requests protocol information to the switch (step S700).
  • 10 is a packet structure illustrating an example of a request signal for requesting protocol information transmitted from a controller to a switch.
  • the request signal shown in FIG. 10 is identical to a signal based on a conventional general OpenFlow Protocol.
  • the controller checks the BFD performance information included in the protocol information received from the switch (step S702).
  • the protocol information is information defined by the OpenFlow Protocol for communication between the controller and the switch in SDN (Software-defined networking).
  • FIG. 11 is a packet structure illustrating an example of protocol information transmitted from a switch to a controller.
  • the controller can know that the corresponding switch can perform the BFD function.
  • the controller After step S702, the controller generates flow entry information corresponding to a transmission path of data received by the switch (step S704).
  • the flow entry information is a port indicating priority for the data transmission when the identification information of the switch, the destination address information on the data received by the switch, the port information and the port information of the switch correspond to at least two or more. It contains priority information about.
  • FIG. 12 is table information illustrating an example of flow entry information generated by a controller.
  • flow header information an IP address (for example, Dst ip: Host X) for a destination, port information of a switch (for example, Output to Port 1 or Output to Port 2), Priority information (eg, Priority: 1 or 2) for a port indicating a priority for data transmission is included.
  • the flow entry information also has a value corresponding to the link timeout (for example, 1 second), and also includes identification information (not shown) of the switch corresponding to the flow entry information.
  • Session configuration information is information related to an attribute of a session formed between switches.
  • FIG. 13 is table information showing an example of session setting information generated by a controller, and session identification information (eg, Session ID: 1 or 2) set in the switch and local allocated to the port information of the switch.
  • IP information eg, Local IP: AAAA or CCCC
  • Peer IP information eg, Peer IP: AAAB or CCCD
  • the controller After step S706, the controller generates session mapping information using the generated flow entry information and session setting information (step S708).
  • the session mapping information means information mapped between a switch according to a flow entry and a switch according to a session setup. In this case, when the switch corresponds to the parent switch according to the flow entry information, the controller maps the identification information of the parent switch and the session identification information according to the session setting information.
  • FIG. 14 is table information illustrating an example of session mapping information generated by a controller, and includes identification information of a switch mapped to session identification information, in addition to the aforementioned session setting information. That is, session identification information (for example, Session ID: 1 or 2) set in the switch, local IP information (for example, Local IP: AAAA or CCCC) assigned to the port information of the switch, and the switch In addition to peer IP information (e.g., Peer IP: AAAB or CCCD) of another switch connected to the IP address, session information corresponding to the identification information of the parent switch and the session configuration information is mapped (e.g., Parent Flow ID: Switch-1).
  • session identification information for example, Session ID: 1 or 2
  • local IP information for example, Local IP: AAAA or CCCC
  • peer IP information e.g., Peer IP: AAAB or CCCD
  • session information corresponding to the identification information of the parent switch and the session configuration information is mapped (e.g., Parent Flow ID: Switch-1).
  • the controller transmits the session establishment signal to the switch together with the generated flow entry information.
  • the session establishment signal refers to a signal instructing the switch of the configuration for the BFD function.
  • the session flag information corresponds to an enable value or a disable value of whether to set the session to the switch, and instructs the session to be set up when the enable value corresponds to “1”.
  • the session establishment signal designates which port of the switch to establish a session by transmitting the port information of the switch, that is, the Port ID.
  • the switch that receives the session establishment signal together with the flow entry information establishes a session and detects a network failure. Details thereof will be described later.
  • the controller updates previously generated flow entry information according to the session state by the BFD function transmitted from the switch (step S602). For example, when the controller receives the session status signal that is determined to be a network failure while the controller has the flow entry information corresponding to FIG. 12, the controller generates a flow entry previously generated to solve the network failure. Update the information. That is, as the previous flow entry information, priority priority 1 for port 1 indicating priority for data transmission is changed to priority 2, and priority priority 2 for port 2 is changed to priority 1. .
  • the controller may receive the session state information from the switch as described above, but may receive the flow entry information updated by the switch itself (especially the parent switch) in accordance with the network failure. Accordingly, when the controller receives the updated flow entry information from the switch (particularly, the parent switch), the controller updates previously generated flow entry information to correspond to the updated flow entry information from the switch. For example, since the switch stores the flow entry information corresponding to FIG. 12, the flow entry information updated by the switch itself, that is, priority Priority: 1 for Port 1 is updated to Priority: 2, and Port If priority priority 2 for 2 transmits the flow entry information updated with Priority: 1 to the controller, the controller changes the previous flow entry information that it had to correspond to this update flow entry information.
  • the controller transmits the updated flow entry information to the switch (step S604).
  • the switch corresponds to a parent switch according to the updated flow entry information
  • the controller transmits the updated flow entry information to the parent switch using session mapping information.
  • the parent switch that receives the updated flow entry information changes previously stored flow entry information into updated entry information. According to this, even if the updated flow entry information is not transmitted to the child switch directly, only the parent switch can be transmitted, but data can be transmitted to the destination according to the updated flow through the parent switch, thereby quickly eliminating the network failure.
  • FIG. 16 is a flowchart illustrating an embodiment of a method of operating a switch for resolving network failure in an SDN according to the present invention.
  • the switch When the protocol information is requested from the controller for controlling data routing on the SDN, the switch adds BFD performance capability information related to the BFD function to the controller information and transmits it to the controller (step S800).
  • FIG. 11 illustrates the protocol information transmitted by the switch to the controller.
  • the switch upon receiving the flow entry information on the data transmission path and the session establishment signal for setting the BFD function from the controller, the switch establishes a network state between the other switches according to the session establishment signal by the session establishment signal. Monitor (step S802).
  • FIG. 17 The process of monitoring the network state with other switches according to the session setup is illustrated in FIG. 17.
  • FIG. 17 is a flowchart of an exemplary embodiment for describing a process of monitoring a network state illustrated in FIG. 16.
  • the switch establishes a session with neighboring switches and checks the exchange time of the BFD packet for network failure detection.
  • the set exchange time is used as the packet exchange interval value.
  • step S900 the network state is monitored by periodically exchanging BFD packets for determining whether a network failure exists between both ends of each of the other switches (step S902).
  • BFD control packet transmission and link down detection are implemented.
  • the switch monitors the network state by sending BFD packets one-to-one between two directly connected neighbor switches.
  • step S902 if the change of the session state is detected during the monitoring (step S904), it is determined that the network failure for the SDN is output (step S906). If the state of the session is set to 'Up' corresponding to a normal value and the state is changed to 'Down', the session state signal indicating network failure for the SDN is output.
  • the identification number 910 indicates that the session state is set to 'Up' and the state changes to 'Down'
  • the identification number 920 indicates information about the session ID whose session state has changed. .
  • the switch determines whether the switch corresponding to the parent switch or the child switch based on the flow entry information (step S804). The switch determines whether there is a child switch branched from two or more ports that it has, thereby determining whether it is a parent switch. If it is not a parent switch, it is considered a child switch.
  • the parent switch readjusts the priority for data transmission of previously received flow entry information and updates the flow entry information (step S806). For example, if the switch had flow entry information corresponding to FIG. 12 as the previous flow entry information, change the priority Priority: 1 for Port 1 indicating the priority for data transmission to Priority: 2, and Port Priority for 2 Change Priority: 2 to Priority: 1.
  • the switch transmits the updated flow entry information to the controller (step S808).
  • the switch transmits the flow entry information in which the priority priority for Port 1 is updated to Priority: 2 and the priority priority for Port 2 is updated to Priority: 1 to the controller.
  • the controller then changes the previously generated flow entry information according to the updated flow entry information sent from the switch to correspond with the updated flow entry information.
  • step S804 if the switch corresponds to a child switch, the child switch transmits session state information indicating a network failure to the controller (step S810).
  • the flow entry information previously received is updated according to the updated flow entry information (step S812).
  • the controller updates the priority Priority: 1 for Port 1 to Priority: 2 and the priority Priority: 2 for Port 2 to Priority: 1 for the flow entry information shown in FIG.
  • the switch changes the previous flow entry information that it has to correspond with the update flow entry information transmitted from the controller.
  • FIG. 19 is a block diagram illustrating an example of a controller for resolving a network failure in an SDN according to the present invention, and includes a flow information generator 1000, a session mapping information generator 1010, a controller memory unit 1020, and a controller. 1030 and the controller interface unit 1040.
  • the flow information generation unit 1000 generates flow entry information according to protocol information including BFD performance capability information about the BFD function transmitted from at least one switch.
  • the BFD performance capability information is information indicating that the switch can perform a thing related to the Bidirectional Forwarding Detection (BFD) function among information related to the capability of the switch.
  • the switch transmits protocol information including BFD performance information to the controller in response to the request signal. Then, the controller 1030 checks the BFD performance capability information included in the protocol information, and instructs the flow information generator 1000 to generate flow entry information. Accordingly, the flow information generating unit 1000 is a priority for data transmission when the identification information of the switch, the destination address information of the data received by the switch, the port information and the port information of the switch correspond to at least two or more. Generates flow entry information including priority information about the port indicating the priority. For example, as shown in FIG.
  • the controller 1020 of the controller is flow header information, and an IP address (for example, Dst ip: Host X) for a destination and port information (for example, for a switch) of the switch.
  • IP address for example, Dst ip: Host X
  • Output to Port 1 or Output to Port 2 priority information for the port indicating priority for data transmission (for example, Priority: 1 or 2), and value corresponding to link timeout (for example, 1 second ) And identification information of the switch.
  • the session mapping information generation unit 1010 generates session mapping information mapped to flow entry information for the BFD function according to the BFD performance capability information.
  • the controller 1030 instructs the session mapping information generation unit 1010 to generate the session mapping information in response to the reception of the protocol information, first, the session mapping information generation unit 1010 sets up a session corresponding to the BFD performance capability information. Generate information. As illustrated in FIG. 13, the session mapping information generator 1010 generates session setting information related to attributes of sessions formed between switches.
  • the session mapping information generator 1010 generates session mapping information by using the generated flow entry information and session setting information.
  • the session mapping information means information mapped between a switch according to a flow entry and a switch according to a session setup.
  • the session mapping information generation unit 1010 maps the identification information of the parent switch and the session identification information according to the session setting information.
  • the session mapping information generator 1010 may include session identification information (for example, Session ID: 1 or 2) set in the switch, and local (allocated in port information of the switch).
  • Local IP information eg, Local IP: AAAA or CCCC
  • peer IP information eg, Peer IP: AAAB or CCCD
  • session identification information for example, Session ID: 1 or 2
  • Session ID: 1 or 2 set in the switch
  • Local IP information eg, Local IP: AAAA or CCCC
  • peer IP information eg, Peer IP: AAAB or CCCD
  • Generates information eg, Parent Flow ID: Switch-1 to which session identification information according to the session configuration information is mapped.
  • the controller memory unit 1020 stores the flow entry information generated by the flow information generator 1000 and the session mapping information generated by the session mapping information generator 1010 in separate storage spaces.
  • the controller 1030 controls to transmit the generated flow entry information and / or the session establishment signal for setting the BFD function to the switch.
  • the controller 1030 instructs the controller interface unit 1040 to transmit the generated flow entry information to the switch. Meanwhile, the controller 1030 generates a session setup signal instructing the switch to configure the BFD function, and instructs the controller interface 1040 to transmit the generated session setup signal.
  • controller interface unit 1040 transmits flow entry information and / or session establishment signal to the switch.
  • the switch that receives the session establishment signal together with the flow entry information establishes a session and detects a network failure.
  • the switch transmits information about the session state to the controller, or transmits flow entry information updated by the switch itself to the controller.
  • the controller 1030 When the controller interface unit 1040 receives the information on the session state from the switch, the controller 1030 causes the flow information generation unit 1000 to update the previously generated flow entry information according to the session state by the BFD function. To control. That is, when the controller 1030 receives a session state signal determined to be a network failure from the switch, the controller 1030 instructs to update the flow entry information previously generated and stored in the controller memory 1020 in order to solve the network failure. Accordingly, the flow information generating unit 1000 is a priority for data transmission when the identification information of the switch, the destination address information of the data received by the switch, the port information and the port information of the switch correspond to at least two or more. Update the flow entry information including the priority information for the port indicating the priority.
  • the controller interface unit 1040 receives the flow entry information updated by the switch (particularly, the parent switch) according to a network failure, the controller 1030 transmits the flow entry information previously generated from the switch. Control to update to correspond to the update flow entry information. Accordingly, the flow information generator 1000 updates the flow entry information previously generated and stored in the controller memory 1020.
  • the controller 1030 controls the controller interface unit 1040 to transmit the updated flow entry information to the switch.
  • the controller 1030 controls to transmit the updated flow entry information to the parent switch using session mapping information. Accordingly, the controller interface unit 1040 transmits the updated flow entry information to the switch (particularly, the parent switch).
  • the switch that receives the updated flow entry information changes the previously stored flow entry information into the updated entry information. According to this, even if the updated flow entry information is not transmitted to the child switch directly, only the parent switch can be transmitted, but data can be transmitted to the destination according to the updated flow through the parent switch, thereby quickly eliminating the network failure.
  • FIG. 20 is a block diagram illustrating an example of a switch for resolving a network failure in an SDN according to the present invention, and includes a protocol information manager 1100, a flow information manager 1110, a session setup unit 1120, and a switch memory unit ( 1130, a monitoring unit 1140, and a switch interface unit 1150.
  • the protocol information management unit 1100 manages protocol information added with BFD performance capability information regarding the BFD function. 11 described above illustrates protocol information managed by the protocol information management unit 1100 and includes BFD performance capability information regarding the BFD function in the protocol information.
  • the flow information management unit 1110 When the flow information management unit 1110 receives the flow entry information from the controller, the flow information management unit 1110 manages and stores the received flow entry information and manages the update of the flow entry information.
  • the session establishment unit 1120 When the session establishment unit 1120 receives the session establishment signal for setting the BFD function from the controller, the session establishment unit 1120 establishes a session with other switching terminals that receive the session establishment signal. The session establishment unit 1120 establishes a session with neighboring switches according to the session establishment signal transmitted from the controller, and checks the exchange time of the BFD packet for network failure detection (Timer Negotiation). The session setup unit 1120 uses the set exchange time as the packet exchange interval value when the session is created and the state change becomes 'Up'.
  • the switch memory unit 1130 stores the session setting information according to the protocol information, the flow entry information, and the session setting signal.
  • the monitoring unit 1140 monitors a network state with other switching terminals according to the session setup.
  • the monitoring unit 1140 periodically monitors network conditions by exchanging BFD packets for determining whether a network failure exists between both ends of the other switches.
  • the monitoring unit 1140 monitors the network state by transmitting BFD packets one-to-one between two directly connected neighbor switches.
  • the monitoring unit 1140 When the session state is set to 'Up' corresponding to a normal value and the session state changes to 'Down', the monitoring unit 1140 outputs a session state signal indicating a network failure for the SDN.
  • the monitoring unit 1140 determines whether the switch corresponding to the switch of the parent switch or the child switch based on the flow entry information. The monitoring unit 1140 determines whether there are child switches branched from two or more ports owned by the switch, thereby determining whether the switch is a parent. The monitoring unit 1140 determines that the child switch is not a parent switch.
  • the monitoring unit 1140 instructs the flow information management unit 1110 to update the flow entry information. Accordingly, the flow information management unit 1110 updates the flow entry information by re-adjusting the priority for data transmission of the flow entry information stored in the switch memory 1130 according to the instruction of the monitoring unit 1140. For example, if the switch memory 1130 stores the flow entry information corresponding to FIG. 12, the flow information management unit 1110 may set a priority Priority: 1 for Port 1 indicating a priority for data transmission. Change it to 2, and change Priority: 2 for Port 2 to Priority: 1.
  • the monitoring unit 1140 controls the switch interface unit 1150 to transmit the updated flow entry information from the flow information management unit 1110 to the controller. Accordingly, the switch interface unit 1150 transmits the updated flow entry information to the controller.
  • the monitoring unit 1140 controls the switch interface unit 1150 to transmit session state information indicating a network failure to the controller. Send session state information to controller.
  • the monitoring unit 1140 instructs the flow information management unit 1110 to update the flow entry information.
  • the flow information management unit 1110 changes the flow entry information stored in the switch memory 1130 to correspond to the update flow entry information transmitted from the controller according to the instruction of the monitoring unit 1140.
  • the switch interface unit 1150 When the switch interface unit 1150 receives the request signal from the controller for the protocol information stored in the switch memory unit 1130, the switch interface unit 1150 transmits the protocol information to the controller in response to the request signal. In addition, the switch interface unit 1150 receives the flow entry information and the session setting signal transmitted from the controller. In addition, as described above, the switch interface unit 1150 transmits the updated flow entry information in the flow information management unit 1110 to the controller, or receives the updated flow entry information in the controller. In addition, the switching interface unit 1150 transmits the sensing state information generated by the monitoring unit 1140 to the controller.
  • a controller for resolving network failure in software-defined networking comprising: data passing through switches according to protocol information including BFD performance capability information about a Bidirectional Forwarding Detection (BFD) function transmitted from at least one switch.
  • a flow information generation unit for generating flow entry information on a transmission path of the network;
  • a session mapping information generator for generating session mapping information mapped to the flow entry information for the BFD function according to the BFD performance capability information;
  • a controller memory unit configured to store the generated flow entry information and the session mapping information;
  • a control unit which controls to transmit a session establishment signal for setting the BFD function to the switch;
  • a controller interface unit for transmitting the flow entry information and the session setup signal to the switch, wherein the control unit updates the flow entry information according to a session state by the BFD function transmitted from the switch.
  • the generation unit can be controlled.
  • the controller When the controller requests the protocol information from the switch and receives the protocol information from the switch, the controller checks the BFD performance capability information included in the protocol information, and sends the flow entry information to the flow information generator. And generating the session mapping information to the session mapping information generator.
  • the session mapping information generation unit may map using the identification information of the parent switch and session identification information according to the session setting information.
  • the flow entry information is a priority for data transmission when identification information of the switch, destination address information of the data received by the switch, and port information destined to a destination of the switch correspond to at least two or more. It may include priority information of the port information indicating.
  • the session mapping information according to session identification information set in the switch, local IP information assigned to port information of the switch, peer IP information of another switch connected to the switch, and the flow entry information. It may include parent switch identification information corresponding to the parent switch of the switch.
  • the controller instructs the flow information generator to update the flow information, and the flow information generator is in accordance with the instruction of the controller.
  • Flow entry information can be updated.
  • the control unit Upon receiving the updated flow entry information from the switch according to a network failure in the SDN, the control unit instructs the flow information generation unit to update the flow entry information, and the flow information generation unit according to the instruction of the control unit.
  • the flow entry information stored in the controller memory unit may be updated to correspond to the received updated flow entry information.
  • the controller may control to transmit the updated flow entry information to the switch, and the controller interface unit may transmit the updated flow entry information to the switch.
  • the controller may control to transmit the updated flow entry information to the parent switch using the session mapping information when the switch corresponds to a parent switch of the updated flow entry information.
  • a switch for resolving network failure in software-defined networking comprising: a protocol information management unit for managing protocol information to which BFD performance information regarding a bidirectional forwarding detection (BFD) function is added; A flow information manager configured to manage the received flow entry information when receiving flow entry information regarding the transmission path of the data from a controller for controlling data routing on the SDN; A session setting unit configured to establish a session with other switch terminals receiving the session setting signal when receiving the session setting signal for setting the BFD function from the controller; A monitoring unit for monitoring a network state with the other switch terminals according to session establishment; A switch interface unit which transmits the protocol information to the controller when the protocol information is requested from the controller and receives the flow entry information and the session establishment signal from the controller; And a switch memory unit configured to store session setting information according to the protocol information, the flow entry information, and the session setting signal.
  • SDN software-defined networking
  • the monitoring unit periodically monitors the network state by periodically exchanging BFD packets for determining network failure between both ends of each of the other switches, and if it detects a change in session state during monitoring, determines that the network failure is for the SDN. Session status signal can be output.
  • the monitoring unit determines which switch of the parent switch or the child switch based on the received flow entry information, the switch corresponding to the own switch If so, instruct the flow information management unit to update the flow entry information stored in the switch memory unit, and the flow information management unit, according to the instruction of the monitoring unit, priorities for data transmission of the flow entry information stored in the switch memory.
  • the flow entry information can be updated by re-ordering.
  • the switch interface unit may transmit the updated flow entry information to the controller.
  • the monitoring unit determines which switch of the parent switch or the child switch based on the received flow entry information, the switch corresponding to the child switch If so, the switch interface unit may be controlled to transmit session state information indicating a network failure to the controller, and the switching interface unit may transmit the session state information to the controller.
  • the flow information manager may update the flow entry information stored in the switch memory unit according to the updated flow entry information.
  • program instructions for performing various computer-implemented operations may be recorded on a computer-readable medium.
  • the computer-determinable medium may include program instructions, data files, data structures, and the like, alone or in combination.
  • the program instructions may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those skilled in the art.
  • Examples of computer readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs or DVDs, magnetic-optical media such as floppy disks and ROMs.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • a computer readable recording medium storing the computer program is also included in the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 실시예들은 SDN(Software-defined networking)에서 네트워크 장애 해소를 위한 컨트롤러 및 스위치의 동작 방법과, 이를 위한 컨트롤러 및 스위치를 제공한다. 본 발명의 일 실시예에 따르면, SDN에서 네트워크 장애 해소를 위한 컨트롤러의 동작방법은, 적어도 하나 이상의 스위치로부터 전송된 BFD(Bidirectional Forwarding Detection) 기능에 관한 BFD 수행능력정보를 포함하는 프로토콜 정보에 따라, 스위치들을 경유하는 데이터의 전송 경로에 관한 플로우 엔트리정보 및 상기 BFD 기능을 위해 상기 플로우 엔트리정보와 매핑된 세션 매핑정보를 생성하고, 상기 생성된 플로우 엔트리정보 및 상기 BFD 기능을 위한 설정을 지시하는 세션 설정신호를 상기 스위치로 전송하는 과정; 및 상기 스위치로부터 전송된 상기 BFD 기능에 의한 세션 상태에 따라, 상기 생성된 플로우 엔트리정보를 업데이트하는 과정을 포함한다.

Description

SDN에서 네트워크 장애 해소를 위한 컨트롤러 및 스위치의 동작 방법과, 이를 위한 컨트롤러 및 스위치
본 발명은 SDN(Software-defined networking)에서의 데이터의 전송 경로를 설정하는 기술에 관한 것으로, 특히, SDN에서 네트워크 장애가 발생하였을 경우, 최대한 빠른 시간 내에 네트워크 장애를 감지하여 intelligent protection을 제공하기 위한 기술에 관한 것이다.
SDN은 분산 또는 클라우드 시스템에서 네트워크의 개념을 추상화하여 데이터를 전달간 제어 및 관리를 통해 QoS(Quality of Service)를 제공하는 소프트웨어 기술이다. SDN 기술은 컨트롤러를 스위치와 물리적으로 decouple을 통하여 network-centric한 관리 기술을 제공함으로써 네트워크 비용 및 복잡성을 근본적으로 해결하기 위한 기술이다.
SDN은 기존의 라우터나 스위치 등 하드웨어에 의존하는 네트워크 체계에서 속도, 안정성, 에너지 효율, 보안 등을 소프트웨어적으로 개선하기 위해 개발된 기술로 Open Flow라는 개념을 바탕으로 한다. Open Flow는 네트워크 장비의 패킷 포워딩 기능과 컨트롤러 기능을 표준 인터페이스로 분리하여 네트워크의 개방성을 제공하는 기술로 컨트롤러(controller)와 스위치들(switches) 사이의 패킷 데이터 프로토콜을 정의한다.
SDN에서는 스위치의 각 플로우 엔트리 정보(flow entry information)에 따라서 전송 경로를 결정한다. 이때, 네트워크의 장애 발생시 컨트롤러는 스위치로부터 전달된 이벤트 메시지를 전달받게 되면 해당 메시지 정보를 반영하여, 컨트롤러의 라우팅(routing) 정책 및 알고리즘에 따라서 패킷 포워딩(packet forwarding)을 위한 새로운 플로우 엔트리정보를 생성하여 하위 스위치들에게 해당 플로우 엔트리정보들을 제공한다.
그런데, 기존의 SDN에서는 네트워크 장애가 발생하게 되면, 해당 스위치들은 컨트롤러와 빈번하게 이벤트 메시지를 주고 받게 된다. 실제 스위치들과 컨트롤러 사이의 거리는 물리적으로 멀리 떨어져 있기 때문에 메시지 교환 시에 상당히 큰 전달 지연(propagation delay)가 발생한다. 또한, 플로우 엔트리정보 생성을 위해, 컨트롤러에서는 내부 알고리즘 계산을 위한 프로세싱 지연(processing delay)도 발생하게 되는데 이런 요소들은 빠른 패킷 포워딩(packet forwarding) 시 상당한 오버 헤드(overhead) 요인이 될 수 있다.
이로 인해, SDN에서는 다음과 같은 문제점들이 자주 발생한다.
첫 번째로, 컨트롤러에서 관리해야 할 스위치들의 개수가 많아지고 컨트롤러의 coverage가 넓어짐에 따라서 컨트롤러와 스위치 간의 물리적 거리는 점점 더 멀어지게 되며, 그 결과 스위치에서는 이벤트 발생 시에 컨트롤러에 메시지를 전달할 때 propagation delay가 점점 더 커지게 된다.
두 번째로, 컨트롤러는 내부 라우팅(routing) 알고리즘에 따라 shortest path forwarding을 수행한다. 하지만 STP(Spanning Tree Protocol)에 의한 topology 변화, Link timeout으로 인한 topology 변화, Flow expiration notification, 그 외 스위치에서 발생하는 다양한 이벤트로 인해, 컨트롤러에 오버헤드(overhead)가 생기며 그에 따라서 네트워크 장애 발생 시 fail-over time이 길어지는 결과를 초래할 수 있다. 즉, SDN은 스위치에서 루프가 발생하는 것을 방지하기 위해 이중화로 구성된 라인을 논리적인 한 부분의 포트를 막으며, 해당 포트에 문제 발생 시 막은 포트를 다시 열면서 topology 변화를 상위 컨트롤러에 전달한다. 또한, topology table에 있는 link가 몇 초(예를 들어, 3초) 이상 발견되지 않은 경우, link timeout로 인한 topology table에 변화를 컨트롤러에 전달한다. 특정 플로우에 대해 일정 시간 동안 패킷이 수신되지 않아서 해당 플로우에 대해 종료하게 되면, ‘Flow Removal’메시지를 컨트롤러에 전달한다. 그리고 그 외 스위치에서 발생하는 다양한 이벤트를 컨트롤러에 전달하게 된다. 컨트롤러는 이와 같은 여러 가지 이벤트를 빈번하게 받아서 라우팅(routing) 정보를 재계산하며, 그 결과에 따라 해당되는 flow table을 수시로 하위 스위치에 업데이트(삭제 및 생성)함으로써 장애에 대한 복구 동작을 제공한다. 이것은 궁극적으로 컨트롤러 자체의 프로세싱 지연(processing delay)를 발생시킴으로써 네트워크 처리 비용을 증가시키게 된다.
따라서 본 발명이 해결하고자 하는 과제는 SDN(software-defined networking)에서 발생하는 네트워크 장애에 대해, IETF에서 표준화한 BFD(Bidirectional Forwarding Detection) 프로토콜을 이용하여 신속하게 장애를 감지할 수 있도록 하며, 컨트롤러에 집중되는 오버헤드(overhead)를 각 스위치에 분산시킬 수 있는 환경을 제공하는 컨트롤러 및 스위치의 동작 방법과, 이를 위한 컨트롤러 및 스위치에 관한 것이다.
즉, 기존 SDN기술에서 컨트롤러가 수행하던 복잡한 라우팅(routing) 계산 및 내부 processing overhead time을 줄임으로써, 장애에 대한 repairing time을 개선하는 기능을 제공하는 것이다. 또한, 간결하고 단순한 BFD Protocol을 활용하여 장애 발생 시 컨트롤러를 통한 플로우(flow) 변경이 아닌 스위치 자체적으로도 해당 flow table을 즉각적으로 업데이트할 수 있도록 함으로써, propagation delay time을 효과적으로 개선할 수 있는 서비스 복구 환경을 제공하는 것이다.
본 발명의 일 실시예에 따르면, SDN(Software-defined networking)에서 네트워크 장애 해소를 위한 컨트롤러의 동작방법은, 적어도 하나 이상의 스위치로부터 전송된 BFD(Bidirectional Forwarding Detection) 기능에 관한 BFD 수행능력정보를 포함하는 프로토콜 정보에 따라, 스위치들을 경유하는 데이터의 전송 경로에 관한 플로우 엔트리(flow entry)정보 및 상기 BFD 기능을 위해 상기 플로우 엔트리정보와 매핑된 세션 매핑정보를 생성하고, 상기 생성된 플로우 엔트리정보 및 상기 BFD 기능을 위한 설정을 지시하는 세션 설정신호를 상기 스위치로 전송하는 과정; 및 상기 스위치로부터 전송된 상기 BFD 기능에 의한 세션 상태에 따라, 상기 생성된 플로우 엔트리정보를 업데이트하는 과정을 포함한다.
본 발명의 또 다른 실시예에 따르면, SDN(Software-defined networking)에서 네트워크 장애 해소를 위한 스위치의 동작방법은, 상기 SDN 상의 데이터 경로설정을 제어하는 컨트롤러로부터 프로토콜 정보를 요청받으면, 상기 프로토콜 정보에 BFD(Bidirectional Forwarding Detection) 기능에 관한 BFD 수행능력정보를 부가하여 상기 컨트롤러로 전송하는 과정; 및 상기 컨트롤러로부터 상기 데이터의 전송 경로에 관한 플로우 엔트리정보 및 상기 BFD 기능의 설정을 위한 세션 설정신호를 수신하면, 상기 세션 설정신호에 의한 세션 설정에 따라 다른 스위치들과의 사이에서 네트워크 상태를 모니터링하는 과정을 포함한다.
본 발명의 또 다른 실시예에 따르면, SDN(Software-defined networking)에서 네트워크 장애 해소를 위한 컨트롤러는, 적어도 하나 이상의 스위치로부터 전송된 BFD(Bidirectional Forwarding Detection) 기능에 관한 BFD수행능력정보를 포함하는 프로토콜 정보에 따라, 스위치들을 경유하는 데이터의 전송 경로에 관한 플로우 엔트리(flow entry)정보를 생성하는 플로우 정보 생성부; 상기 BFD수행능력정보에 따라, 상기 BFD 기능을 위해 상기 플로우 엔트리정보와 매핑된 세션 매핑정보를 생성하는 세션 매핑정보 생성부; 생성된 상기 플로우 엔트리정보 및 상기 세션 매핑정보를 저장하는 컨트롤러 메모리부; 상기 BFD 기능의 설정을 위한 세션 설정신호를 상기 스위치로 전송하도록 제어하는 제어부; 및 상기 플로우 엔트리정보 및 상기 세션 설정신호를 상기 스위치로 전송하는 컨트롤러 인터페이스부를 포함하고, 상기 제어부는 상기 스위치로부터 전송된 상기 BFD 기능에 의한 세션 상태에 따라, 상기 플로우 엔트리정보를 업데이트하도록 상기 플로우 정보 생성부를 제어하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, SDN(Software-defined networking)에서 네트워크 장애 해소를 위한 스위치는, BFD(Bidirectional Forwarding Detection) 기능에 관한 BFD 수행능력정보가 부가된 프로토콜 정보를 관리하는 프로토콜 정보 관리부; 상기 SDN 상의 데이터 경로설정을 제어하는 컨트롤러로부터 상기 데이터의 전송 경로에 관한 플로우 엔트리정보를 수신하면, 수신된 상기 플로우 엔트리정보를 관리하는 플로우 정보 관리부; 상기 컨트롤러로부터 상기 BFD 기능의 설정을 위한 세션 설정신호를 수신하면, 상기 세션 설정신호를 수신한 다른 스위칭 단말들과의 사이에서 세션을 설정하는 세션 설정부; 세션 설정에 따라, 상기 다른 스위칭 단말들과의 네트워크 상태를 모니터링하는 모니터링부; 상기 컨트롤러로부터 프로토콜 정보를 요청받으면 상기 프로토콜 정보를 상기 컨트롤러로 전송하고, 상기 컨트롤러로부터 상기 플로우 엔트리정보 및 상기 세션 설정신호를 수신하는 스위치 인터페이스부; 및 상기 프로토콜 정보, 상기 플로우 엔트리정보 및 상기 세션 설정신호에 따른 세션 설정정보를 저장하는 스위치 메모리부를 포함한다.
본 발명에 따르면, SDN(Software-defined networking)의 복잡한 환경에서도 독립적으로 장애를 감지할 수 있는 환경을 제공할 수 있다.
또한, Open flow 표준 protocol의 개선을 통해서 기존에 컨트롤러에 집중된 이벤트를 줄이고 컨트롤러 자체의 알고리즘 계산 복잡도를 줄일 수 있다.
또한, 종래 legacy에 존재하는 BFD protocol을 그대로 이용함으로써 기존에 존재하는 자원을 새로운 자원의 투입 없이 활용 가능하다.
또한, 스위치의 topology 환경에 따라서 그에 적합한 알고리즘을 적용함으로써 상황 별 최적화된 서비스를 제공함으로 인해, 사용자에게 편리한 네트워크 환경을 제공한다.
지속적인 기능 및 서비스에 대한 요구의 증대에 따라서 컨트롤러의 기능 및 복잡도가 증가하는 것을 대비해 컨트롤러의 부하를 줄여 줌으로써 컨트롤러가 보다 정교하게 동작할 수 있는 환경을 제공한다.
본 발명 및 그의 효과에 대한 보다 완벽한 이해를 위해, 첨부되는 도면들을 참조하여 하기의 설명들이 이루어질 것이고, 여기서 동일한 참조 부호들은 동일한 부분들을 나타낸다.
도 1은 SDN(Software-defined networking)로 구성되는 네트워크에 적용되는 BFD 기능을 설명하기 위한 일 실시예의 참조도이다.
도 1은 SDN으로 구성되는 네트워크에 적용하기 위한 BFD 기능을 설명하기 위한 일 실시예의 참조도이다.
도 2는 본 발명에서 BFD 기능이 적용된SDN에서의 장애 감지 및 복구를 위한 전체적인 흐름을 나타낸 참조도이다.
도 3은 도 2에 도시된 각 과정에 대해 컨트롤러와 스위치 사이에서 수행하는 동작을 설명하기 위한 참조도이다.
도 4는 장애 발생 시 컨트롤러의 processing time을 줄이기 위한 알고리즘을 설명하기 위한 플로차트이다.
도 5는 본 발명에 따른 컨트롤러의 내부 동작 방식을 설명하기 위한 플로차트이다.
도 6은 본 발명에 따른 스위치의 내부 동작 방식을 설명하기 위한 플로차트이다.
도 7은 BFD 기능이 적용된SDN에서의 장애 해소를 위한 컨트롤러와 스위치 사이의 동작 절차를 설명하는 참조도이다.
도 8은 본 발명에 따른 SDN에서 네트워크 장애 해소를 위한 컨트롤러의 동작 방법을 설명하는 일 실시예의 플로차트이다.
도 9는 도 8에 도시된 플로우 엔트리정보 및 세션 매핑정보를 생성하는 과정에 대해 설명하기 위한 일 실시예의 플로차트이다.
도 10은 컨트롤러에서 스위치로 전송하는 프로토콜 정보의 요청을 위한 리퀘스트 신호의 일 예를 나타내는 패킷 구조이다.
도 11은 스위치에서 컨트롤러로 전송하는 프로토콜 정보의 일 예를 나타내는 패킷 구조이다.
도 12는 컨트롤러에서 생성하는 플로우 엔트리정보의 일 예를 나타내는 테이블 정보이다.
도 13은 컨트롤러에서 생성하는 세션 설정정보의 일 예를 나타내는 테이블 정보이다.
도 14는 컨트롤러에서 생성하는 세션 매핑정보의 일 예를 나타내는 테이블 정보이다.
도 15는 컨트롤러가 스위치로 전송하는 세션 설정신호의 일 예를 나타내는 패킷 구조이다.
도 16은 본 발명에 따른 SDN에서 네트워크 장애 해소를 위한 스위치의 동작 방법을 설명하는 일 실시예의 플로차트이다.
도 17은 도 16에 도시된 네트워크 상태를 모니터링하는 과정에 대해 설명하기 위한 일 실시예의 플로차트이다.
도 18은 스위치가 컨트롤러로 전송하는 세션 상태신호의 일 예를 나타내는 패킷 구조이다.
도 19는 본 발명에 따른 SDN에서 네트워크 장애 해소를 위한 컨트롤러를 설명하는 일 실시예의 블록도이다.
도 20은 본 발명에 따른 SDN에서 네트워크 장애 해소를 위한 스위치를 설명하는 일 실시예의 블록도이다.
본 특허 명세서에서 본 발명의 원리들을 설명하기 위해 사용되는 도 1 내지 도 20은 단지 예시를 위한 것인 바, 발명의 범위를 제한하는 어떠한 것으로도 해석되서는 안된다. 당해 분야에서 통상의 지식을 가진 자는 본 발명의 원리들이 적절하게 배치된 임의의 무선 통신시스템에서도 구현될 수 있음을 이해할 것이다.
본 발명은 SDN(Software-defined networking) 구조에 기존 legacy 시스템에서 활발히 적용되고 있는 BFD(Bidirectional Forwarding Detection) protocol 자원을 최대한 활용하여 기존의 동작하는 routing 알고리즘을 개선함으로써 빠르게 장애를 감지하고 지능적으로 장애를 복구하는 기능으로 구성되어 있다. 따라서, 본 발명에서는 SDN으로 구성되어 있는 네트워크에서 각 스위치는 서로간에 BFD Protocol을 활용하여 빠르게 장애를 감지하며, 또한, 컨트롤러와 스위치 간에 protocol message를 확장하여 장애에 대한 복구 시간을 최대한 짧게 할 수 있는 동작 및 알고리즘을 제공한다.
도 1은 SDN으로 구성되는 네트워크에 적용하기 위한 BFD 기능을 설명하기 위한 일 실시예의 참조도이다. BFD프로토콜은 양방향 전송 감지에 관한 것으로, 두 개의 전송 엔진(라우터) 간 양방향 경로에서 오류를 감지하는데 사용되는 프로토콜이다. BFD는 링크가 다운되자 마자 이웃 오류 감지 기능을 제공한다. BFD는 프로토콜 계층에서 활발한 감지 기능에 사용될 수 있는 단일 메커니즘을 제공한다. 양방향에서 오류 검색 BFD는 데이터 플레인 넥스트 홉(data plane next hop)으로 커뮤니케이션 오류를 감지한다. BFD를 지원하는 프로토콜로는 OSPF(Open Shortest Path First), IS-IS(Intermediate System-to-Intermediate System), EIGRP(Enhanced Interior Gateway Routing Protocol), BGP(Border Gateway Protocol)가 있다. BFD가 시작되면, 클라이언트 프로토콜은 BFD 측에 요청해 클라이언트 이웃에게 인접성(adjacencies)을 만들어준다. BFD 프로세스는 이웃을 위해 인접 구조를 만들고, 세션 구성을 시도한다. 세션이 만들어져서 상태 변화가 ‘Up'으로 되면, 설정된 전송 수신 인터벌 값이 사용된다. BFD 컨트롤 패킷을 시기 적절하게 전송하기 위해서, BFD 컨트롤 패킷 전송과 링크다운 감지 기능이 모조 선제(pseudo-preemptive) BFD 프로세스에 의해 실행된다. BFD 패킷은 직접 연결된 두 곳의 이웃 간에 일대일 전송(unicast)을 한다.
도 1에 도시된 바와 같이, 라우터 B와 라우터 D 의 해당 구간 사이에 BFD 기능을 위한 BFD 세션(Session)을 생성한다. 세션이 생성되면, 라우터 B와 라우터 D 는 서로에게 고속으로 패킷을 교환하면서, 해당 세션에서의 네트워크 장애 여부를 판단한다. 그 후, 해당 세션에서 네트워크 장애가 발생하면(101), Session UP 상태에서 Session Down 상태로 변화되며(102), 그 후 해당 세션을 통해 더 이상 네트워크를 형성할 수 없다는 세션 상태정보를 클라이언트 측에 전달한다(103). 그 후, 라우터 B와 라우터 D 의 이웃 관계는 종료되고(104), 새로운 전송 경로를 검색하여, 라우터 C를 통한 전송 경로가 새로이 생성된다(105).
도 2는 본 발명에서 BFD 기능이 적용된 SDN에서의 장애 감지 및 복구를 위한 전체적인 흐름을 나타낸 참조도이고, 도 3은 도 2에 도시된 각 과정에 대해 컨트롤러와 스위치 사이에서 수행하는 동작을 설명하기 위한 참조도이다.
도 2 및 도 3의 내용을 참조하면, 전체적인 동작 절차는 다음과 같다.
컨트롤러는 각 스위치에 feature request를 요청하고, 각 스위치는 feature request에 응답하여 reply message를 컨트롤러에 전송함으로써, 컨트롤러가 각 스위치의 BFD 기능에 대한 capability를 확인한다(201).
그 후, 컨트롤러는 각 스위치들에 대한 각각의 flow entry를 생성 및 제공한다(202).
그 후, 컨트롤러는 각 스위치들에 BFD 기능 동작을 위한 설정 message를 전송하며(203), 각 스위치들은 우선하는 flow entry에 따라 스위치에 수신된 패킷을 전송하며(204), 한편으로, 컨트롤러로부터 전송된 BFD 설정 message에 따라, BFD Protocol에 의한 session을 생성하고 네트워크 장애 여부에 대한 fault detection을 수행한다(205). 즉, 각 스위치들은 각 이웃하는 스위치들과의 세션을 형성(Session Establishment)하고, 네트워크 장애 감지를 위한 BFD 패킷의 교환 시간을 확인(Timer Negotiation)하고, 이 후 네트워크 장애를 감지(Fault Detection)한다.
만일, OpenFlow 스위치 2과 OpenFlow 스위치 3 사이에서 Session 장애가 발생(Traffic Loss)하게 되면, OpenFlow 스위치 2및/또는 OpenFlow 스위치 3은 컨트롤러에게 session status message를 전달한다(206).
그 후, 컨트롤러는 해당 session status message에 있는 정보를 이용하여 flow entry를 재검색하여, flow entry를 업데이트 하고(207), 업데이트된 flow entry를 각 switch에 전달한다(208).
그 후, 업데이트된 flow entry를 수신한 스위치는 자신이 기 저장하고 있던 flow entry를 컨트롤러로부터 전송된 업데이트된 flow entry로 변경한다(209).
그 후, 업데이트된 flow entry에 따라, 수신된 패킷을 목적지로 전송한다(210).
도 4는 컨트롤러에서의 flow entry 생성 및 BFD session설정을 위한 알고리즘을 설명하기 위한 플로차트이다.
컨트롤러는 패킷(packet) 수신을 하면(301), 해당 모든 Child 스위치들에 대해서 목적지(destination)에 대한 flow entry를 생성한다(302).
컨트롤러는 BFD 동작을 지원하는 모든 스위치들에 해당되는 모든 BFD session을 생성한다(303). 단, 해당 session id는 각각의 match되는 switch에 대한 flow id 정보를 가지고 있어야 한다.
그 후, 컨트롤러는 flow entry에 따른 스위치가 Parent 스위치에 해당하는 경우에, Parent 스위치의 flow ID와 세션 설정에 따른 Session ID를 매핑한다(304).
도 5는 본 발명에 따른 컨트롤러의 내부 동작 방식을 설명하기 위한 플로차트이다.
컨트롤러는 스위치로부터 이벤트에 해당하는session status message를 수신한다(401).
그 후, Session status message를 수신한 컨트롤러는 Topology Change 여부, 즉, 네트워크 장애가 발생하였는지 여부를 판단한다.
만일, Topology 변화가 발생하였다면, 컨트롤러는 intelligent protection enable 동작을 수행할 것인지 여부에 대해 판단한다(403). intelligent protection enable 동작은 본 발명에 따른 Parent 스위치의 flow ID와 세션 설정에 따른 Session ID의 매핑된 정보를 사용하여, 업데이트할 flow entry에 대응하는 Parent 스위치를 검색하고, 업데이트된 flow entry를 전송하는 과정을 수행하는 것을 의미한다.
만일, intelligent protection enable 동작이 요청되는 것이라면, Parent 스위치의 flow ID와 세션 설정에 따른 Session ID의 매핑된 정보를 사용하여, Parent 스위치를 검색한다(404).
그 후, 컨트롤러는 기 설정되어 있는 flow entry를 업데이트하고, 업데이트된 flow entry를 스위치로 전송한다(407).
그러나, intelligent protection enable 동작이 요청되지 않는다면, 컨트롤러는 일반적인 경로 검색을 위해 Dijkstra Calculation을 수행한다(407). Dijkstra 알고리즘은 가중치가 있는 그래프의 최단 경로를 구하는 알고리즘이다. Dijkstra 알고리즘은 출발 정점에서 시작하여 현재의 정점까지의 값과 인접한 정점의 가중치 합이 가장 작은 정점을 다음 정점으로 선택하고 그 경로를 최단 경로에 포함시키며, 이 과정을 모든 정점이 선택될 때까지 반복한다. 컨트롤러는 Dijkstra Calculation을 수행한 후에, 407 단계로 진행한다.
한편, 컨트롤러는 스위치로부터 flow entry request를 수신하면(405), 각 스위치들로 패킷을 전송하여(406), 경로 검색을 위한 407 단계로 진행한다.
도 6은 본 발명에 따른 스위치의 내부 동작 방식을 설명하기 위한 플로차트이다.
스위치는 패킷을 수신하면(501), 패킷에 대응하는 목적지에 대한 flow entry정보가 검색되는지 여부를 판단한다(502).
만일, 해당 목적지에 대한 flow entry정보가 검색된다면, flow entry정보 중에서 우선 순위에 해당하는 flow entry가 존재하는지 판단한다(503).
우선 순위에 해당하는 flow entry가 존재한다면, 해당 우선 순위에 해당하는 flow entry 정보를 요청 및 조회하여(504, 505), 해당 패킷을 검색된 flow entry 정보에 따라 포워딩한다(506).
그러나, 502 단계에서, 해당 목적지에 대한 flow entry정보가 검색되지 않는다면 컨트롤러에게 flow entry정보를 요청한다(507).
한편, 스위치는 link timeout 또는 session timeout 이벤트 발생 시(508), 스위치 자신이 Parent 스위치인지 여부를 확인한다(509).
스위치 type이 Parent 스위치인 경우에는, 자체적으로 flow entry 를 업데이트 할 것인지를 판단한다(510).
빠른 장애 복구를 원한다면, 스위치 자체적으로 flow entry 를 업데이트한 후에(511, 512, 513), Parent 스위치인지 판단한 후(514, 515), 변경된 flow entry 를 컨트롤러에 전송한다(516).
한편, 509 단계에서, 스위치 type이 Child 스위치인 경우에, 컨트롤러에게 link failure 즉, 네트워크 장애를 의미하는 session status 정보를 전송한다(517). 이에 따라, 컨트롤러는 복잡한 알고리즘 동작을 수행하지 않고, 자체적으로 flow entry를 바로 업데이트할 수 있다.
도 7은 BFD 기능이 적용된Software Defined Networking에서의 장애 해소를 위한 컨트롤러와 스위치 사이의 동작 절차를 설명하는 참조도이다.
첫번째 과정은, 컨트롤러에서 스위치의 Capabilities를 체크하는 과정으로, 컨트롤러가 OpenFlow Protocol에 따른 스위치의 Feature Request를 스위치로 요청하면, 스위치는 자신이 BFD 기능을 수행할 수 있음을 의미하는 BFD Func. Capability정보를 갖는 Feature Reply를 컨트롤러로 전송한다. 그러면, 컨트로러는 스위치의 BFD Func. Capability정보를 저장한다.
두번째 과정은, 컨트롤러에서 Flow entry table을 생성하는 과정으로, Flow Entry를 생성하고, 생성된 Flow Entry를 스위치로 전송하면, 스위치는 전송된 Flow Entry에 따라 모든 전송 경로에 대한 Flow Entry를 추가한다.
세번째 과정은, 컨트롤러에서 세션을 설정하는 과정으로, 컨트롤러가BFD 기능에 관한 세션 정보를 형성한 후에, 세션 설정을 위한 신호를 스위치로 전송하면, 스위치는 자신과 이웃하는 다른 스위치들 사이에서 세션을 설정한다.
네번째 과정은, 스위치 중 자식 스위치 사이에서 네트워크 장애가 발생한 경우에 이를 해소하기 위한 과정으로, 자식 스위치가 세션 상태의 변화(Up에서 Down으로 변화)를 감지하였다면 네트워크 장애로 판단하고, 이에 대한 세션 상태신호를 컨트롤러로 전송한다. 세션 상태신호를 수신한 컨트롤러는 이전에 생성하여 저장하고 있던 Flow Entry 정보에서 데이터 전송에 대한 우선 순위에 해당하는 Priority를 변경함으로써, Flow Entry 정보를 업데이트한다. 그 후, 컨트롤러가 업데이트된 Flow Entry 정보를 스위치로 전송하면, 스위치는 컨트롤러에서 전송된 업데이트 Flow Entry 정보에 따라 이전에 가지고 있던 Flow Entry 정보를 변경한다.
도 8은 본 발명에 따른 SDN에서 네트워크 장애 해소를 위한 컨트롤러의 동작 방법을 설명하는 일 실시예의 플로차트이다.
복수의 스위치들 중 적어도 하나 이상의 스위치로부터 전송된 BFD(Bidirectional Forwarding Detection) 기능에 관한 BFD 수행능력정보를 포함하는 프로토콜 정보에 따라, 스위치들을 경유하는 데이터의 전송 경로에 관한 플로우 엔트리(flow entry)정보 및 상기 BFD 기능을 위해 상기 플로우 엔트리정보와 매핑된 세션 매핑정보를 생성하고, 상기 생성된 플로우 엔트리정보 및 상기 BFD 기능을 위한 설정을 지시하는 세션 설정신호를 상기 스위치로 전송한다(S600 단계).
상기 플로우 엔트리정보 및 상기 세션 설정정보를 생성하는 과정은 도 8에 도시된 바와 같다.
도 9는 도 8에 도시된 플로우 엔트리정보 및 세션 매핑정보를 생성하는 과정에 대해 설명하기 위한 일 실시예의 플로차트이다.
먼저, 컨트롤러는 스위치로 프로토콜 정보를 요청한다(S700 단계). 도 10은 컨트롤러에서 스위치로 전송하는 프로토콜 정보의 요청을 위한 리퀘스트 신호의 일 예를 나타내는 패킷 구조이다. 도 10에 도시된 리퀘스트 신호는 기존의 일반적인 OpenFlow Protocol 에 의한 신호와 동일하다.
S700 단계 후에, 컨트롤러는 스위치로부터 수신한 프로토콜 정보에 포함된 BFD 수행능력정보를 확인한다(S702 단계). 여기서 프로토콜 정보는 SDN(Software-defined networking)에서 컨트롤러와 스위치 사이의 통신을 위한 OpenFlow Protocol에 의해 정의된 정보이다.
도 11은 스위치에서 컨트롤러로 전송하는 프로토콜 정보의 일 예를 나타내는 패킷 구조이다. 도 11 도시된 내용에서, 패킷이 포함하고 있는 정보는OpenFlow Protocol에 의해 정의된 정보와 동일하며, 다만 본원발명의 특징이 되는 부분은 스위치의 Capability와 관련한 정보 중에서, 해당 스위치가 BFD(Bidirectional Forwarding Detection) 기능에 관한 것을 수행할 수 있음을 의미하는 BFD 수행능력정보(예를 들어, 식별번호 720으로 표시되는 "OFPC_BFD_SINGLE = 1<<9/*BFD single-hop func*/"를 더 포함하고 있는 것이다. 컨트롤러는 프로토콜 정보 중에 포함된 BFD 수행능력정보를 확인함으로써, 해당 스위치가 BFD 기능을 수행할 수 있음을 알 수 있다.
S702 단계 후에, 컨트롤러는 스위치로 수신되는 데이터의 전송 경로에 해당하는 플로우 엔트리정보를 생성한다(S704 단계). 여기서, 플로우 엔트리정보는 스위치의 식별정보, 스위치에 수신되는 데이터에 대한 목적지 주소정보, 스위치의 포트정보 및 포트정보가 적어도 2개 이상에 해당하는 경우에 상기 데이터 전송을 위한 우선 순위를 나타내는 포트에 대한 우선순위정보를 포함하고 있다.
도 12는 컨트롤러에서 생성하는 플로우 엔트리정보의 일 예를 나타내는 테이블 정보이다. 도 12에 도시된 바와 같이, 플로우 헤더정보로서, 목적지에 대한 IP주소(예를 들어, Dst ip:Host X), 스위치의 포트정보(예를 들어, Output to Port 1 또는 Output to Port 2), 데이터 전송을 위한 우선 순위를 나타내는 포트에 대한 우선순위정보(예를 들어, Priority : 1 또는 2)를 포함하고 있다. 또한, 플로우 엔트리 정보는 Link timeout에 해당하는 값(예를 들어, 1 second)도 가지고 있으며, 이러한 플로우 엔트리 정보에 대응하는 스위치의 식별정보(미도시)도 포함하고 있다.
S704 단계 후에, 컨트롤러는 BFD수행능력정보에 따라 세션 설정정보를 생성한다(S706 단계). 세션 설정정보는 스위치 사이에 형성되는 세션에 대한 속성과 관련한 정보이다.
도 13은 컨트롤러에서 생성하는 세션 설정정보의 일 예를 나타내는 테이블 정보로서, 스위치에 설정되는 세션 식별정보(예를 들어, Session ID: 1 또는 2), 스위치의 포트정보에 할당된 로컬(Local) IP정보(예를 들어, Local IP: A.A.A.A 또는 C.C.C.C), 및 스위치와 연결된 다른 스위치의 피어(Peer) IP정보(예를 들어, Peer IP: A.A.A.B 또는 C.C.C.D)를 포함한다.
S706 단계 후에, 컨트롤러는 생성된 플로우 엔트리정보와 세션 설정정보를 이용하여 세션 매핑정보를 생성한다(S708 단계). 세션 매핑정보는 플로우 엔트리에 따른 스위치와 세션 설정에 따른 스위치 간의 매핑된 정보를 의미한다. 이때, 컨트롤러는 스위치가 플로우 엔트리정보에 따른 부모 스위치에 해당하는 경우에, 부모 스위치의 식별정보와 세션 설정정보에 따른 세션 식별정보를 매핑한다.
도 14는 컨트롤러에서 생성하는 세션 매핑정보의 일 예를 나타내는 테이블 정보로서, 전술한 세션 설정정보 이외에, 세션 식별정보와 매핑되는 스위치의 식별정보를 포함한다. 즉, 스위치에 설정되는 세션 식별정보(예를 들어, Session ID: 1 또는 2), 스위치의 포트정보에 할당된 로컬(Local) IP정보(예를 들어, Local IP: A.A.A.A 또는 C.C.C.C), 및 스위치와 연결된 다른 스위치의 피어(Peer) IP정보(예를 들어, Peer IP: A.A.A.B 또는 C.C.C.D) 이외에, 부모 스위치의 식별정보와 세션 설정정보에 따른 세션 식별정보가 매핑된 정보(예를 들어, Parent Flow ID: Switch-1)를 포함한다.
컨트롤러는 생성된 플로우 엔트리정보와 함께 세션 설정신호를 스위치로 전송한다. 여기서, 세션 설정신호는 BFD 기능을 위한 설정을 스위치에게 지시하는 신호를 의미한다.
도 15는 컨트롤러가 스위치로 전송하는 세션 설정신호의 일 예를 나타내는 패킷 구조이다. 도 15에 도시된 바와 같이, Session Flag정보는 스위치에게 세션을 설정하도록 할 것인지 여부에 대한 enable 값 또는 disable값에 해당하는 것으로, enable 값이 "1"에 해당하는 경우에 세션 설정하도록 지시하는 명령에 해당한다. 또한, 세션 설정신호는 스위치의 포트 정보 즉, Port ID를 함께 전송함으로써, 해당 스위치의 어느 포트에서 세션을 설정하도록 할 것인지를 지정한다.
이 후에, 플로우 엔트리정보와 함께 세션 설정신호를 수신한 스위치는 세션을 설정하고, 네트워크 장애 여부를 감지한다. 이에 대한 상세한 내용은 후술한다.
S600 단계 후에, 컨트롤러는 스위치로부터 전송된 BFD 기능에 의한 세션 상태에 따라, 이전에 생성된 플로우 엔트리정보를 업데이트한다(S602 단계). 예를 들어, 컨트롤러가 도 12에 해당하는 플로우 엔트리정보를 가지고 있는 상태에서 네트워크 장애라고 판단되는 세션 상태신호를 스위치로부터 수신하면, 컨트롤러는 네트워크 장애를 해소하기 위해, 이전에 생성하여 가지고 있던 플로우 엔트리정보를 업데이트한다. 즉, 이전의 플로우 엔트리정보로서, 데이터 전송을 위한 우선 순위를 나타내는 Port 1에 대한 우선 순위 Priority: 1을 Priority: 2로 변경하고, Port 2에 대한 우선 순위 Priority: 2를 Priority: 1로 변경한다.
한편, 컨트롤러는 전술한 바와 같이 스위치로부터 세션 상태정보를 수신할 수도 있지만, 네트워크 장애에 따라 스위치(특히, 부모 스위치)에서 자체적으로 업데이트된 플로우 엔트리정보를 수신할 수도 있다. 이에 따라, 컨트롤러는 업데이트된 플로우 엔트리정보를 스위치(특히, 부모 스위치)로부터 수신하면, 이전에 생성되어 있던 플로우 엔트리정보를 스위치로부터 업데이트된 플로우 엔트리정보에 대응하도록 업데이트한다. 예를 들어, 스위치에서도 도 12 에 해당하는 플로우 엔트리정보를 저장하고 있다는 점에서, 스위치에서 자체적으로 업데이트된 플로우 엔트리정보 즉, Port 1에 대한 우선 순위 Priority: 1가 Priority: 2로 업데이트되고, Port 2에 대한 우선 순위 Priority: 2가 Priority: 1로 업데이트된 플로우 엔트리정보를 컨트롤러로 전송하면, 컨트롤러는 자신이 가지고 있던 이전의 플로우 엔트리정보를 이러한 업데이트 플로우 엔트리정보와 대응하도록 변경한다.
S602 단계 후에, 컨트롤러는 업데이트된 플로우 엔트리정보를 스위치로 전송한다(S604 단계). 특히, 컨트롤러는 스위치가 업데이트된 플로우 엔트리정보에 따른 부모 스위치에 해당하는 경우에, 세션 매핑정보를 사용하여 업데이트된 플로우 엔트리정보를 부모 스위치로 전송한다. 업데이트된 플로우 엔트리정보를 수신한 부모 스위치는 기 보관하고 있던 플로우 엔트리정보를 업데이트된 엔트리정보로 변경한다. 이에 따르면, 업데이트된 플로우 엔트리정보를 자식 스위치로 전송할 필요 없이, 직접 부모 스위치로만 전송하더라도, 부모 스위치를 통해 업데이트된 플로우에 따라 데이터를 목적지로 전송할 수 있으므로, 네트워크 장애를 신속하게 해소할 수 있다.
도 16은 본 발명에 따른 SDN에서 네트워크 장애 해소를 위한 스위치의 동작 방법을 설명하는 일 실시예의 플로차트이다.
SDN 상의 데이터 경로설정을 제어하는 컨트롤러로부터 프로토콜 정보를 요청받으면, 스위치는 프로토콜 정보에 BFD 기능에 관한 BFD 수행능력정보를 부가하여 상기 컨트롤러로 전송한다(S800 단계). 전술한 도 11은 스위치가 컨트롤러로 전송하는 프로토콜 정보를 예시한 것으로, 프로토콜 정보에 BFD 기능에 관한 BFD 수행능력정보(예를 들어,"OFPC_BFD_SINGLE = 1<<9/*BFD single-hop func*/"를 포함하고 있다.
S800 단계 후에, 컨트롤러로부터 데이터의 전송 경로에 관한 플로우 엔트리정보 및 BFD 기능의 설정을 위한 세션 설정신호를 수신하면, 스위치는 세션 설정신호에 의한 세션 설정에 따라 다른 스위치들과의 사이에서 네트워크 상태를 모니터링한다(S802 단계).
세션 설정에 따라 다른 스위치들과의 사이에서 네트워크 상태를 모니터링하는 과정은 도 17에 도시된 바와 같다.
도 17은 도 16에 도시된 네트워크 상태를 모니터링하는 과정에 대해 설명하기 위한 일 실시예의 플로차트이다.
먼저, 세션 설정신호에 따라, BFD 기능을 수행하기 위해 상기 다른 스위치들과의 사이에서 세션을 설정한다(S900 단계). 컨트롤러로부터 전송된 세션 설정신호에 따라, 스위치는 이웃하는 스위치들과의 세션을 형성(Session Establishment)하고, 네트워크 장애 감지를 위한 BFD 패킷의 교환 시간을 확인(Timer Negotiation)한다. 세션이 생성되어 상태 변화가 ‘Up'으로 되면, 설정된 교환 시간이 패킷 교환 인터벌 값으로 사용된다.
S900 단계 후에, 세션 설정에 따라, 다른 스위치들 각각의 양단간 네트워크 장애 여부를 판단하기 위한 BFD 패킷을 주기적으로 교환하여 네트워크 상태를 모니터링한다(S902 단계). BFD 패킷을 적절하게 전송하기 위해서, BFD 컨트롤 패킷 전송과 링크다운 감지 기능이 실행된다. 스위치는BFD 패킷을 직접 연결된 두 곳의 이웃 스위치 간에 일대일 전송함으로써, 네트워크 상태를 모니터링한다.
S902 단계 후에, 모니터링을 수행 중에 세션 상태의 변화를 감지하면(S904 단계), SDN에 대한 네트워크 장애라고 판단하여 세션 상태신호를 출력한다(S906단계). 세션 상태가 정상적인 값에 해당하는 ‘Up'으로 설정되어 있다가 'Down'으로 상태가 변화되면, SDN에 대한 네트워크 장애를 의미하는 세션 상태신호를 출력한다.
도 18은 스위치가 컨트롤러로 전송하는 세션 상태신호의 일 예를 나타내는 패킷 구조이다. 도 18에 도시된 바와 같이, 식별번호 910은 세션 상태가 ‘Up'으로 설정되어 있다가 'Down'으로 상태가 변화하였음을 나타내고, 식별번호 920은 세션 상태가 변화한 세션 ID에 대한 정보를 나타낸다.
S802 단계 후에, 모니터링한 결과 SDN에 대한 네트워크 장애라고 판단되면, 스위치는 자신이 플로우 엔트리정보에 의한 부모 스위치 또는 자식 스위치 중 어느 스위치에 해당하는가를 판단한다(S804 단계). 스위치는 자신이 가지고 있는 2개 이상의 포트로부터 분기되는 자식 스위치들이 존재하는지 여부를 확인함으로써, 부모 스위치 여부를 판단한다. 자신이 부모 스위치가 아니라면 자식 스위치로 판단한다.
만일, S804 단계에서, 스위치가 부모 스위치에 해당한다면, 해당 부모 스위치는 이전에 수신된 플로우 엔트리정보의 데이터 전송을 위한 우선 순위를 재조정하여 플로우 엔트리정보를 업데이트한다(S806 단계). 예를 들어, 스위치가 이전의 플로우 엔트리정보로서 도 12에 해당하는 플로우 엔트리정보를 가지고 있었다면, 데이터 전송을 위한 우선 순위를 나타내는 Port 1에 대한 우선 순위 Priority: 1을 Priority: 2로 변경하고, Port 2에 대한 우선 순위 Priority: 2를 Priority: 1로 변경한다.
S806 단계 후에, 스위치는 업데이트된 플로우 엔트리정보를 컨트롤러로 전송한다(S808 단계). 예를 들어, 스위치가 Port 1에 대한 우선 순위 Priority: 1를 Priority: 2로 업데이트하고, Port 2에 대한 우선 순위 Priority: 2를 Priority: 1로 업데이트한 플로우 엔트리정보를 컨트롤러로 전송한다. 그 후, 컨트롤러는 스위치로부터 전송된 업데이트된 플로우 엔트리정보에 따라 이전에 생성하였던 플로우 엔트리정보를 업데이트된 플로우 엔트리정보와 대응하도록 변경한다.
한편, S804 단계에서, 스위치가 자식 스위치에 해당한다면, 해당 자식 스위치는 네트워크 장애를 의미하는 세션 상태정보를 컨트롤러로 전송한다(S810 단계).
S810 단계 후에, 컨트롤러로부터 업데이트된 플로우 엔트리정보를 수신하면, 이전에 수신되었던 플로우 엔트리정보를 업데이트된 플로우 엔트리정보에 따라 업데이트한다(S812 단계). 예를 들어, 컨트롤러가 도 12 에 도시된 플로우 엔트리정보에 대해, Port 1에 대한 우선 순위 Priority: 1를 Priority: 2로 업데이트하고, Port 2에 대한 우선 순위 Priority: 2를 Priority: 1로 업데이트한 플로우 엔트리정보를 스위치로 전송하면, 스위치는 자신이 가지고 있던 이전의 플로우 엔트리정보를 컨트롤러로부터 전송된 업데이트 플로우 엔트리정보와 대응하도록 변경한다.
도 19는 본 발명에 따른 SDN에서 네트워크 장애 해소를 위한 컨트롤러를 설명하는 일 실시예의 블록도로서, 플로우 정보 생성부(1000), 세션 매핑정보 생성부(1010), 컨트롤러 메모리부(1020), 제어부(1030) 및 컨트롤러 인터페이스부(1040)를 포함한다.
플로우 정보 생성부(1000)는 적어도 하나 이상의 스위치로부터 전송된 BFD 기능에 관한 BFD수행능력정보를 포함하는 프로토콜 정보에 따라, 플로우 엔트리정보를 생성한다. 여기서 BFD수행능력정보는 스위치의 Capability와 관련한 정보 중에서, 해당 스위치가 BFD(Bidirectional Forwarding Detection) 기능에 관한 것을 수행할 수 있음을 의미하는 정보이다.
제어부(1030)가 스위치로 프로토콜 정보의 요청을 위한 리퀘스트 신호를 스위치로 전송하면, 스위치는 리퀘스트 신호에 응답하여 BFD 수행능력정보를 포함하는 프로토콜 정보를 컨트롤러로 전송한다. 그러면, 제어부(1030)는 프로토콜 정보에 포함된 BFD 수행능력정보를 확인하고, 플로우 정보 생성부(1000)에게 플로우 엔트리정보를 생성하도록 지시한다. 이에 따라, 플로우 정보 생성부(1000)는 스위치의 식별정보, 스위치에 수신되는 데이터에 대한 목적지 주소정보, 스위치의 포트정보 및 포트정보가 적어도 2개 이상에 해당하는 경우에 상기 데이터 전송을 위한 우선 순위를 나타내는 포트에 대한 우선순위정보 등을 포함하는 플로우 엔트리정보를 생성한다. 예를 들어, 도 12에 도시된 바와 같이, 컨트롤러의 제어부(1020)는 플로우 헤더정보로서, 목적지에 대한 IP주소(예를 들어, Dst ip:Host X), 스위치의 포트정보(예를 들어, Output to Port 1 또는 Output to Port 2), 데이터 전송을 위한 우선 순위를 나타내는 포트에 대한 우선순위정보(예를 들어, Priority : 1 또는 2), Link timeout에 해당하는 값(예를 들어, 1 second) 및 스위치의 식별정보를 생성한다.
세션 매핑정보 생성부(1010)는 BFD수행능력정보에 따라, BFD 기능을 위해 플로우 엔트리정보와 매핑된 세션 매핑정보를 생성한다. 제어부(1030)가 프로토콜 정보의 수신에 따라, 세션 매핑정보 생성부(1010)에게 세션 매핑정보를 생성하도록 지시하면, 우선, 세션 매핑정보 생성부(1010)는 BFD수행능력정보에 대응하는 세션 설정정보를 생성한다. 도 13에 도시된 바와 같이, 세션 매핑정보 생성부(1010)는 스위치 사이에 형성되는 세션에 대한 속성과 관련한 세션 설정정보를 생성한다.
그 후에, 세션 매핑정보 생성부(1010)는 생성된 플로우 엔트리정보와 세션 설정정보를 이용하여 세션 매핑정보를 생성한다. 세션 매핑정보는 플로우 엔트리에 따른 스위치와 세션 설정에 따른 스위치 간의 매핑된 정보를 의미한다. 이때, 세션 매핑정보 생성부(1010)는 스위치가 플로우 엔트리정보에 따른 부모 스위치에 해당하는 경우에, 부모 스위치의 식별정보와 세션 설정정보에 따른 세션 식별정보를 매핑한다.
예를 들어, 도 14에 도시된 바와 같이, 세션 매핑정보 생성부(1010)는 스위치에 설정되는 세션 식별정보(예를 들어, Session ID: 1 또는 2), 스위치의 포트정보에 할당된 로컬(Local) IP정보(예를 들어, Local IP: A.A.A.A 또는 C.C.C.C), 및 스위치와 연결된 다른 스위치의 피어(Peer) IP정보(예를 들어, Peer IP: A.A.A.B 또는 C.C.C.D) 이외에, 부모 스위치의 식별정보와 세션 설정정보에 따른 세션 식별정보가 매핑된 정보(예를 들어, Parent Flow ID: Switch-1)를 생성한다.
컨트롤러 메모리부(1020)는 플로우 정보 생성부(1000)에서 생성된 플로우 엔트리정보 및 세션 매핑정보 생성부(1010)에서 생성된 세션 매핑정보를 각각 별도의 저장공간에 저장한다.
제어부(1030)는 생성된 플로우 엔트리정보 및/또는 BFD 기능의 설정을 위한 세션 설정신호를 스위치로 전송하도록 제어한다. 제어부(1030)는 생성된 플로우 엔트리정보를 스위치로 전송하도록 컨트롤러 인터페이스부(1040)에게 지시한다. 한편, 제어부(1030)는 BFD 기능을 위한 설정을 스위치에게 지시하는 세션 설정신호를 생성하고, 생성된 세션 설정신호를 전송하도록 컨트롤러 인터페이스부(1040)에게 지시한다.
이에 따라, 컨트롤러 인터페이스부(1040)는 플로우 엔트리정보 및/또는 세션 설정신호를 스위치로 전송한다.
이 후에, 플로우 엔트리정보와 함께 세션 설정신호를 수신한 스위치는 세션을 설정하고, 네트워크 장애 여부를 감지한다. 스위치는 세션 상태에 관한 정보를 컨트롤러에게 전송하거나, 스위치에서 자체적으로 업데이트한 플로우 엔트리정보를 컨트롤러로 전송한다.
컨트롤러 인터페이스부(1040)가 스위치로부터 세션 상태에 관한 정보를 수신하면, 제어부(1030)는 BFD 기능에 의한 세션 상태에 따라, 이전에 생성된 플로우 엔트리정보를 업데이트하도록 플로우 정보 생성부(1000)를 제어한다. 즉, 제어부(1030)는 네트워크 장애라고 판단되는 세션 상태신호를 스위치로부터 수신하면, 네트워크 장애를 해소하기 위해, 이전에 생성하여 컨트롤러 메모리(1020)에 저장하고 있던 플로우 엔트리정보를 업데이트하도록 지시한다. 이에 따라, 플로우 정보 생성부(1000)는 스위치의 식별정보, 스위치에 수신되는 데이터에 대한 목적지 주소정보, 스위치의 포트정보 및 포트정보가 적어도 2개 이상에 해당하는 경우에 상기 데이터 전송을 위한 우선 순위를 나타내는 포트에 대한 우선순위정보 등을 포함하는 플로우 엔트리정보를 업데이트한다.
한편, 컨트롤러 인터페이스부(1040)가 네트워크 장애에 따라 스위치(특히, 부모 스위치)에서 자체적으로 업데이트된 플로우 엔트리정보를 수신하면, 제어부(1030)는 이전에 생성되어 있던 플로우 엔트리정보를 스위치로부터 전송된 업데이트 플로우 엔트리정보에 대응하도록 업데이트하도록 제어한다. 이에 따라, 플로우 정보 생성부(1000)는 이전에 생성하여 컨트롤러 메모리(1020)에 저장하고 있던 플로우 엔트리정보를 업데이트한다.
제어부(1030)는 업데이트된 플로우 엔트리정보를 스위치로 전송하도록 컨트롤러 인터페이스부(1040)을 제어한다. 특히, 제어부(1030)는 스위치가 업데이트된 플로우 엔트리정보에 따른 부모 스위치에 해당하는 경우에, 세션 매핑정보를 사용하여 업데이트된 플로우 엔트리정보를 부모 스위치로 전송하도록 제어한다. 이에 따라, 컨트롤러 인터페이스부(1040)는 업데이트된 플로우 엔트리정보를 스위치(특히, 부모 스위치)로 전송한다.
업데이트된 플로우 엔트리정보를 수신한 스위치는 기 보관하고 있던 플로우 엔트리정보를 업데이트된 엔트리정보로 변경한다. 이에 따르면, 업데이트된 플로우 엔트리정보를 자식 스위치로 전송할 필요 없이, 직접 부모 스위치로만 전송하더라도, 부모 스위치를 통해 업데이트된 플로우에 따라 데이터를 목적지로 전송할 수 있으므로, 네트워크 장애를 신속하게 해소할 수 있다.
도 20은 본 발명에 따른 SDN에서 네트워크 장애 해소를 위한 스위치를 설명하는 일 실시예의 블록도로서, 프로토콜 정보 관리부(1100), 플로우 정보 관리부(1110), 세션 설정부(1120), 스위치 메모리부(1130), 모니터링부(1140) 및 스위치 인터페이스부(1150)를 포함한다.
프로토콜 정보 관리부(1100)는 BFD 기능에 관한 BFD 수행능력정보가 부가된 프로토콜 정보를 관리한다. 전술한 도 11은 프로토콜 정보 관리부(1100)가 관리하는 프로토콜 정보를 예시한 것으로, 프로토콜 정보에 BFD 기능에 관한 BFD 수행능력정보를 포함하고 있다.
플로우 정보 관리부(1110)는 컨트롤러로부터 플로우 엔트리정보를 수신하면, 수신된 플로우 엔트리정보를 관리 및 저장하도록 하며, 또한 플로우 엔트리정보의 업데이트를 관리한다.
세션 설정부(1120)는 컨트롤러로부터 BFD 기능의 설정을 위한 세션 설정신호를 수신하면, 세션 설정신호를 수신한 다른 스위칭 단말들과의 사이에서 세션을 설정한다. 세션 설정부(1120)는 컨트롤러로부터 전송된 세션 설정신호에 따라, 이웃하는 스위치들과의 세션을 형성(Session Establishment)하고, 네트워크 장애 감지를 위한 BFD 패킷의 교환 시간을 확인(Timer Negotiation)한다. 세션 설정부(1120)는 세션이 생성되어 상태 변화가 ‘Up'으로 되면, 설정된 교환 시간을 패킷 교환 인터벌 값으로 사용한다.
스위치 메모리부(1130)는 프로토콜 정보, 플로우 엔트리정보 및 세션 설정신호에 따른 세션 설정정보를 저장한다.
모니터링부(1140)는 세션 설정에 따라, 다른 스위칭 단말들과의 네트워크 상태를 모니터링한다. 모니터링부(1140)는 다른 스위치들 각각의 양단간 네트워크 장애 여부를 판단하기 위한 BFD 패킷을 주기적으로 교환하여 네트워크 상태를 모니터링한다. 모니터링부(1140)는 BFD 패킷을 직접 연결된 두 곳의 이웃 스위치 간에 일대일 전송함으로써, 네트워크 상태를 모니터링한다.
모니터링부(1140)는 세션 상태가 정상적인 값에 해당하는 ‘Up'으로 설정되어 있다가 'Down'으로 세션 상태가 변화되면, SDN에 대한 네트워크 장애를 의미하는 세션 상태신호를 출력한다.
모니터링부(1140)는 모니터링한 결과 SDN에 대한 네트워크 장애라고 판단되면, 자신의 스위치가 플로우 엔트리정보에 의한 부모 스위치 또는 자식 스위치 중 어느 스위치에 해당하는가를 판단한다. 모니터링부(1140)는 자신의 스위치가 가지고 있는 2개 이상의 포트로부터 분기되는 자식 스위치들이 존재하는지 여부를 확인함으로써, 부모 스위치 여부를 판단한다. 모니터링부(1140)는 자신이 부모 스위치가 아니라면 자식 스위치로 판단한다.
자신의 스위치가 부모 스위치라고 판단하면, 모니터링부(1140)는 플로우 엔트리정보의 업데이트를 플로우 정보 관리부(1110)에 지시한다. 이에 따라, 플로우 정보 관리부(1110)는 모니터링부(1140)의 지시에 따라, 스위치 메모리(1130)에 저장된 플로우 엔트리정보의 데이터 전송을 위한 우선 순위를 재조정하여 플로우 엔트리정보를 업데이트한다. 예를 들어, 스위치 메모리(1130)가 도 12에 해당하는 플로우 엔트리정보를 저장하고 있었다면, 플로우 정보 관리부(1110)는 데이터 전송을 위한 우선 순위를 나타내는 Port 1에 대한 우선 순위 Priority: 1을 Priority: 2로 변경하고, Port 2에 대한 우선 순위 Priority: 2를 Priority: 1로 변경한다.
모니터링부(1140)는 플로우 정보 관리부(1110)에서 업데이트된 플로우 엔트리정보에 대해 컨트롤러로 전송하도록 스위치 인터페이스부(1150)를 제어한다. 이에 따라, 스위치 인터페이스부(1150)는 업데이트된 플로우 엔트리정보를 컨트롤러로 전송한다.
한편, 자신의 스위치가 자식 스위치라고 판단하면, 모니터링부(1140)는 네트워크 장애를 의미하는 세션 상태정보를 컨트롤러로 전송하도록 스위치 인터페이스부(1150를 제어한다. 이에 따라, 스위치 인터페이스부(1150)는 세션 상태정보를 컨트롤러로 전송한다.
컨트롤러로부터 업데이트된 플로우 엔트리정보를 스위치 인터페이스부(1150)가 수신하면, 모니터링부(1140)는 플로우 엔트리정보를 업데이트하도록 플로우 정보 관리부(1110)에 지시한다. 플로우 정보 관리부(1110)는 모니터링부(1140)의 지시에 따라, 스위치 메모리(1130)에 저장되어 있던 플로우 엔트리정보를 컨트롤러로부터 전송된 업데이트 플로우 엔트리정보와 대응하도록 변경한다.
스위치 인터페이스부(1150)는 스위치 메모리부(1130)에 저장된 프로토콜 정보에 대해 컨트롤러로부터 리퀘스트신호를 수신받으면, 리퀘스트 신호에 응답하여 프로토콜 정보를 컨트롤러로 전송한다. 또한, 스위치 인터페이스부(1150)는 컨트롤러로부터 전송된 플로우 엔트리정보 및 세션 설정신호를 수신한다. 또한, 전술한 바와 같이, 스위치 인터페이스부(1150)는 플로우 정보 관리부(1110)에서 업데이트된 플로우 엔트리정보를 컨트롤러로 전송하거나, 컨트롤러에서 업데이트된 플로우 엔트리정보를 수신한다. 또한, 스위칭 인터페이스부(1150)는 모니터링부(1140)에서 생성된 센션 상태정보를 컨트롤러로 전송한다.
SDN(Software-defined networking)에서 네트워크 장애 해소를 위한 컨트롤러에 있어서, 적어도 하나 이상의 스위치로부터 전송된 BFD(Bidirectional Forwarding Detection) 기능에 관한 BFD수행능력정보를 포함하는 프로토콜 정보에 따라, 스위치들을 경유하는 데이터의 전송 경로에 관한 플로우 엔트리(flow entry)정보를 생성하는 플로우 정보 생성부; 상기 BFD수행능력정보에 따라, 상기 BFD 기능을 위해 상기 플로우 엔트리정보와 매핑된 세션 매핑정보를 생성하는 세션 매핑정보 생성부; 생성된 상기 플로우 엔트리정보 및 상기 세션 매핑정보를 저장하는 컨트롤러 메모리부; 상기 BFD 기능의 설정을 위한 세션 설정신호를 상기 스위치로 전송하도록 제어하는 제어부; 및 상기 플로우 엔트리정보 및 상기 세션 설정신호를 상기 스위치로 전송하는 컨트롤러 인터페이스부를 포함하고, 상기 제어부는 상기 스위치로부터 전송된 상기 BFD 기능에 의한 세션 상태에 따라, 상기 플로우 엔트리정보를 업데이트하도록 상기 플로우 정보 생성부를 제어할 수 있다.
상기 제어부는, 상기 스위치로 상기 프로토콜 정보를 요청하고, 상기 스위치로부터 상기 프로토콜 정보를 수신하면, 상기 프로토콜 정보에 포함된 상기 BFD수행능력정보를 확인하고, 상기 플로우 정보 생성부에게 상기 플로우 엔트리정보를 생성하도록 지시하며, 상기 세션 매핑정보 생성부에게 상기 세션 매핑정보를 생성하도록 지시할 수 있다.
상기 세션 매핑정보 생성부는, 상기 스위치가 상기 플로우 엔트리정보에 따른 부모 스위치에 해당하는 경우에, 상기 부모 스위치의 식별정보와 상기 세션 설정정보에 따른 세션 식별정보를 사용해 매핑할 수 있다.
상기 플로우 엔트리정보는, 상기 스위치의 식별정보, 상기 스위치에 수신되는 상기 데이터에 대한 목적지 주소정보, 상기 스위치의 목적지로 가는 포트정보가 적어도 2개 이상에 해당하는 경우에 상기 데이터 전송을 위한 우선 순위를 나타내는 상기 포트정보의 우선순위정보를 포함할 수 있다.
상기 세션 매핑정보는, 상기 스위치에 설정되는 세션 식별정보, 상기 스위치의 포트정보에 할당된 로컬(Local) IP정보, 상기 스위치와 연결된 다른 스위치의 피어(Peer) IP정보 및 상기 플로우 엔트리정보에 따른 상기 스위치의 부모 스위치에 해당하는 부모 스위치 식별정보를 포함할 수 있다.
상기 SDN에서의 네트워크 장애라고 판단되는 세션 상태신호를 상기 스위치로부터 수신하면, 상기 제어부는 상기 플로우 정보 생성부에게 상기 플로우 정보를 업데이트하도록 지시하고, 상기 플로우 정보 생성부는 상기 제어부의 지시에 따라, 상기 플로우 엔트리정보를 업데이트할 수 있다.
상기SDN에서의 네트워크 장애에 따라 업데이트된 플로우 엔트리정보를 상기 스위치로부터 수신하면, 상기 제어부는 상기 플로우 정보 생성부에게 상기 플로우 엔트리정보를 업데이트하도록 지시하고, 상기 플로우 정보 생성부는 상기 제어부의 지시에 따라, 상기 컨트롤러 메모리부에 저장되어 있는 상기 플로우 엔트리정보를 수신된 상기 업데이트된 플로우 엔트리정보와 대응하도록 업데이트할 수 있다.
상기 제어부는, 상기 플로우 엔트리정보가 업데이트되면, 상기 업데이트된 플로우 엔트리정보를 상기 스위치로 전송하도록 제어하고, 상기 컨트롤러 인터페이스부가 상기 업데이트된 플로우 엔트리정보를 상기 스위치로 전송할 수 있다.
상기 제어부는, 상기 스위치가 상기 업데이트된 플로우 엔트리정보의 부모 스위치에 해당하는 경우에, 상기 세션 매핑정보를 사용하여 상기 업데이트된 플로우 엔트리정보를 상기 부모 스위치로 전송하도록 제어할 수 있다.
SDN(Software-defined networking)에서 네트워크 장애 해소를 위한 스위치에 있어서, BFD(Bidirectional Forwarding Detection) 기능에 관한 BFD 수행능력정보가 부가된 프로토콜 정보를 관리하는 프로토콜 정보 관리부; 상기 SDN 상의 데이터 경로설정을 제어하는 컨트롤러로부터 상기 데이터의 전송 경로에 관한 플로우 엔트리정보를 수신하면, 수신된 상기 플로우 엔트리정보를 관리하는 플로우 정보 관리부; 상기 컨트롤러로부터 상기 BFD 기능의 설정을 위한 세션 설정신호를 수신하면, 상기 세션 설정신호를 수신한 다른 스위치 단말들과의 사이에서 세션을 설정하는 세션 설정부; 세션 설정에 따라, 상기 다른 스위치 단말들과의 네트워크 상태를 모니터링하는 모니터링부; 상기 컨트롤러로부터 프로토콜 정보를 요청받으면 상기 프로토콜 정보를 상기 컨트롤러로 전송하고, 상기 컨트롤러로부터 상기 플로우 엔트리정보 및 상기 세션 설정신호를 수신하는 스위치 인터페이스부; 및 상기 프로토콜 정보, 상기 플로우 엔트리정보 및 상기 세션 설정신호에 따른 세션 설정정보를 저장하는 스위치 메모리부를 포함할 수 있다.
상기 모니터링부는, 상기 다른 스위치들 각각의 양단간 네트워크 장애 여부를 판단하기 위한 BFD 패킷을 주기적으로 교환하여 네트워크 상태를 모니터링하고, 모니터링을 수행 중에 세션 상태 변화를 감지하면 상기 SDN에 대한 네트워크 장애라고 판단하여 세션 상태신호를 출력할 수 있다.
상기 SDN에 대한 네트워크 장애라고 판단되면, 상기 모니터링부는 자신의 스위치가 상기 수신된 플로우 엔트리정보에 의한 부모 스위치 또는 자식 스위치 중 어느 스위치에 해당하는가를 판단하고, 상기 자신의 스위치가 상기 부모 스위치에 해당한다면, 상기 스위치 메모리부에 저장된 상기 플로우 엔트리정보를 업데이트 하도록 상기 플로우 정보 관리부에 지시하고, 상기 플로우 정보 관리부는 상기 모니터링부의 지시에 따라, 상기 스위치 메모리에 저장된 상기 플로우 엔트리정보의 데이터 전송을 위한 우선 순위를 재조정하여 상기 플로우 엔트리정보를 업데이트할 수 있다.
상기 스위치 인터페이스부는 상기 업데이트된 플로우 엔트리정보를 상기 컨트롤러로 전송할 수 있다.
상기 SDN에 대한 네트워크 장애라고 판단되면, 상기 모니터링부는 자신의 스위치가 상기 수신된 플로우 엔트리정보에 의한 부모 스위치 또는 자식 스위치 중 어느 스위치에 해당하는가를 판단하고, 상기 자신의 스위치가 상기 자식 스위치에 해당한다면 네트워크 장애를 의미하는 세션 상태정보를 상기 컨트롤러로 전송하도록 상기 스위치 인터페이스부를 제어하고, 상기 스위칭 인터페이스부가 상기 세션 상태정보를 상기 컨트롤러로 전송할 수 있다.
상기 플로우 정보 관리부는 상기 컨트롤러로부터 업데이트된 플로우 엔트리정보를 수신하면, 상기 스위치 메모리부에 저장된 상기 플로우 엔트리정보를 상기 업데이트된 플로우 엔트리정보에 따라 업데이트할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나 본 발명은 상기의 실시예에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 일 예로, 본 발명의 실시예들에서는 경우로 설명하였으나 본 발명의 보호범위는 반드시 이에 한정되지는 않을 것이다.
본 발명은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령이 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판단 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM이나 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 본 발명에서 설명된 기지국 또는 릴레이의 전부 또는 일부가 컴퓨터 프로그램으로 구현된 경우 상기 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체도 본 발명에 포함된다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.

Claims (15)

  1. 컨트롤러의 동작방법에 있어서,
    적어도 하나 이상의 스위치로부터 전송된 BFD(Bidirectional Forwarding Detection) 기능에 관한 BFD 수행능력정보를 포함하는 프로토콜 정보에 따라, 스위치들을 경유하는 데이터의 전송 경로에 관한 플로우 엔트리(flow entry)정보 및 상기 BFD 기능을 위해 상기 플로우 엔트리정보와 매핑된 세션 매핑정보를 생성하고, 상기 생성된 플로우 엔트리정보 및 상기 BFD 기능을 위한 설정을 지시하는 세션 설정신호를 상기 스위치로 전송하는 과정; 및
    상기 스위치로부터 전송된 상기 BFD 기능에 의한 세션 상태에 따라, 상기 생성된 플로우 엔트리정보를 업데이트하는 과정을 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 플로우 엔트리정보 및 상기 세션 설정정보를 생성하는 과정은
    상기 스위치로 상기 프로토콜 정보를 요청하는 과정;
    상기 스위치로부터 수신한 상기 프로토콜 정보에 포함된 상기 BFD 수행능력정보를 확인하는 과정;
    상기 스위치로 수신되는 데이터의 전송 경로에 해당하는 상기 플로우 엔트리정보를 생성하는 과정;
    상기 BFD수행능력정보에 따라, 상기 세션 설정정보를 생성하는 과정; 및
    상기 생성된 플로우 엔트리정보와 상기 생성된 세션 설정정보를 이용하여 상기 세션 매핑정보를 생성하는 과정을 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서, 상기 세션 매핑정보를 생성하는 과정은
    상기 스위치가 상기 플로우 엔트리정보에 따른 부모 스위치에 해당하는 경우에, 상기 부모 스위치의 식별정보와 상기 세션 설정정보에 따른 세션 식별정보를 사용해 매핑하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 플로우 엔트리정보는 상기 스위치의 식별정보, 상기 스위치에 수신되는 상기 데이터에 대한 목적지 주소정보, 상기 스위치의 목적지로 가는 포트정보가 적어도 2개 이상에 해당하는 경우에 상기 데이터 전송을 위한 우선 순위를 나타내는 상기 포트정보의 우선순위정보를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 세션 매핑정보는 상기 스위치에 설정되는 세션 식별정보, 상기 스위치의 포트정보에 할당된 로컬(Local) IP정보, 상기 스위치와 연결된 다른 스위치의 피어(Peer) IP정보 및 상기 플로우 엔트리정보에 따른 상기 스위치의 부모 스위치에 해당하는 부모 스위치 식별정보를 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 플로우 엔트리정보를 업데이트하는 과정은
    상기 SDN에서의 네트워크 장애라고 판단되는 세션 상태신호를 상기 스위치로부터 수신하면, 상기 생성된 플로우 엔트리정보를 업데이트하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 플로우 엔트리정보를 업데이트하는 과정은
    상기SDN에서의 네트워크 장애에 따라 업데이트된 플로우 엔트리정보를 상기 스위치로부터 수신하면, 상기 생성된 플로우 엔트리정보를 상기 업데이트된 플로우 엔트리정보에 대응하도록 업데이트하는 것을 특징으로 하는 방법.
  8. 제8항에 있어서, 상기 업데이트된 플로우 엔트리정보를 상기 스위치로 전송하는 과정은
    상기 스위치가 상기 업데이트된 플로우 엔트리정보에 따른 부모 스위치에 해당하는 경우에, 상기 세션 매핑정보를 사용하여 상기 업데이트된 플로우 엔트리정보를 상기 부모 스위치로 전송하는 것을 특징으로 하는 방법.
  9. 스위치의 동작방법에 있어서,
    상기 SDN 상의 데이터 경로설정을 제어하는 컨트롤러로부터 프로토콜 정보를 요청받으면, 상기 프로토콜 정보에 BFD(Bidirectional Forwarding Detection) 기능에 관한 BFD 수행능력정보를 부가하여 상기 컨트롤러로 전송하는 과정; 및
    상기 컨트롤러로부터 상기 데이터의 전송 경로에 관한 플로우 엔트리정보 및 상기 BFD 기능의 설정을 위한 세션 설정신호를 수신하면, 상기 세션 설정신호에 의한 세션 설정에 따라 다른 스위치들과의 사이에서 네트워크 상태를 모니터링하는 과정을 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서, 상기 네트워크 상태를 모니터링하는 과정은
    상기 세션 설정신호에 따라, 상기 BFD 기능을 수행하기 위해 상기 다른 스위치들과의 사이에서 세션을 설정하는 과정; 및
    세션 설정에 따라, 상기 다른 스위치들 각각의 양단간 네트워크 장애 여부를 판단하기 위한 BFD 패킷을 주기적으로 교환하여 네트워크 상태를 모니터링하는 과정; 및
    모니터링을 수행 중에 세션 상태의 변화를 감지하면, 상기 SDN에 대한 네트워크 장애라고 판단하여 세션 상태신호를 출력하는 과정을 포함하는 것을 특징으로 하는 방법.
  11. 제9항에 있어서, 상기 스위치의 동작방법은
    상기 모니터링한 결과 상기 SDN에 대한 네트워크 장애라고 판단되면, 상기 스위치는 자신이 상기 수신된 플로우 엔트리정보에 의한 부모 스위치 또는 자식 스위치 중 어느 스위치에 해당하는가를 판단하는 과정; 및
    상기 스위치가 상기 부모 스위치에 해당한다면, 상기 부모 스위치는 상기 컨트롤러로부터 이전 수신된 상기 플로우 엔트리정보의 데이터 전송을 위한 우선 순위를 재조정하여 상기 플로우 엔트리정보를 업데이트하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  12. 제9항에 있어서, 상기 스위치의 동작방법은
    상기 모니터링한 결과 상기 SDN에 대한 네트워크 장애라고 판단되면, 상기 스위치는 자신이 상기 수신된 플로우 엔트리정보에 의한 부모 스위치 또는 자식 스위치 중 어느 스위치에 해당하는가를 판단하는 과정; 및
    상기 스위치가 상기 자식 스위치에 해당한다면, 상기 자식 스위치가 네트워크 장애를 의미하는 세션 상태정보를 상기 컨트롤러로 전송하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서, 상기 스위치의 동작방법은
    상기 컨트롤러로부터 업데이트된 플로우 엔트리정보를 수신하면, 이전에 수신되었던 상기 플로우 엔트리정보를 상기 업데이트된 플로우 엔트리정보에 따라 업데이트하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  14. 컨트롤러에 있어서,
    적어도 하나 이상의 스위치로부터 전송된 BFD(Bidirectional Forwarding Detection) 기능에 관한 BFD수행능력정보를 포함하는 프로토콜 정보에 따라, 스위치들을 경유하는 데이터의 전송 경로에 관한 플로우 엔트리(flow entry)정보를 생성하는 플로우 정보 생성부;
    상기 BFD수행능력정보에 따라, 상기 BFD 기능을 위해 상기 플로우 엔트리정보와 매핑된 세션 매핑정보를 생성하는 세션 매핑정보 생성부;
    생성된 상기 플로우 엔트리정보 및 상기 세션 매핑정보를 저장하는 컨트롤러 메모리부;
    상기 BFD 기능의 설정을 위한 세션 설정신호를 상기 스위치로 전송하도록 제어하는 제어부; 및
    상기 플로우 엔트리정보 및 상기 세션 설정신호를 상기 스위치로 전송하는 컨트롤러 인터페이스부를 포함하고,
    상기 제어부는 상기 스위치로부터 전송된 상기 BFD 기능에 의한 세션 상태에 따라, 상기 플로우 엔트리정보를 업데이트하도록 상기 플로우 정보 생성부를 제어하는 것을 특징으로 하는 컨트롤러.
  15. 스위치에 있어서,
    BFD(Bidirectional Forwarding Detection) 기능에 관한 BFD 수행능력정보가 부가된 프로토콜 정보를 관리하는 프로토콜 정보 관리부;
    상기 SDN 상의 데이터 경로설정을 제어하는 컨트롤러로부터 상기 데이터의 전송 경로에 관한 플로우 엔트리정보를 수신하면, 수신된 상기 플로우 엔트리정보를 관리하는 플로우 정보 관리부;
    상기 컨트롤러로부터 상기 BFD 기능의 설정을 위한 세션 설정신호를 수신하면, 상기 세션 설정신호를 수신한 다른 스위치 단말들과의 사이에서 세션을 설정하는 세션 설정부;
    세션 설정에 따라, 상기 다른 스위치 단말들과의 네트워크 상태를 모니터링하는 모니터링부;
    상기 컨트롤러로부터 프로토콜 정보를 요청받으면 상기 프로토콜 정보를 상기 컨트롤러로 전송하고, 상기 컨트롤러로부터 상기 플로우 엔트리정보 및 상기 세션 설정신호를 수신하는 스위치 인터페이스부; 및
    상기 프로토콜 정보, 상기 플로우 엔트리정보 및 상기 세션 설정신호에 따른 세션 설정정보를 저장하는 스위치 메모리부를 포함하는 것을 특징으로 하는 스위치.
PCT/KR2014/010741 2013-11-15 2014-11-10 Sdn에서 네트워크 장애 해소를 위한 컨트롤러 및 스위치의 동작 방법과, 이를 위한 컨트롤러 및 스위치 WO2015072709A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/037,046 US10205681B2 (en) 2013-11-15 2014-11-10 Method for operating controller and switch for relieving network failure from SDN, and controller and switch therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130138798A KR102118687B1 (ko) 2013-11-15 2013-11-15 SDN(Software-defined networking)에서 네트워크 장애 해소를 위한 컨트롤러 및 스위치의 동작 방법과, 이를 위한 컨트롤러 및 스위치
KR10-2013-0138798 2013-11-15

Publications (1)

Publication Number Publication Date
WO2015072709A1 true WO2015072709A1 (ko) 2015-05-21

Family

ID=53057601

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/010741 WO2015072709A1 (ko) 2013-11-15 2014-11-10 Sdn에서 네트워크 장애 해소를 위한 컨트롤러 및 스위치의 동작 방법과, 이를 위한 컨트롤러 및 스위치

Country Status (3)

Country Link
US (1) US10205681B2 (ko)
KR (1) KR102118687B1 (ko)
WO (1) WO2015072709A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106817301A (zh) * 2015-11-30 2017-06-09 中兴通讯股份有限公司 故障恢复方法及装置、控制器、软件定义网络
WO2018004639A1 (en) * 2016-07-01 2018-01-04 Hewlett Packard Enterprise Development Lp Load balancing

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067220B (zh) * 2012-12-19 2016-02-10 中兴通讯股份有限公司 参数更新情况下双向链路转发检测方法及装置
DE102015107073A1 (de) * 2014-09-08 2016-03-10 Rheinmetall Defence Electronics Gmbh Vorrichtung und Verfahren zur Steuerung eines Kommunikationsnetzwerks
US10158559B2 (en) * 2015-01-29 2018-12-18 Futurewei Technologies, Inc. Capacity-aware heuristic approach for placing software-defined networking (SDN) switches in hybrid SDN networks for single link/node failure
EP3104563B1 (en) * 2015-06-10 2019-10-16 Nokia Solutions and Networks GmbH & Co. KG Sdn security
WO2017030531A1 (en) * 2015-08-14 2017-02-23 Hewlett Packard Enterprise Development Lp Implementing forwarding behavior based on communication activity between a controller and a network device
US10742719B2 (en) 2015-10-13 2020-08-11 International Business Machines Corporation Contextualized analytics platform
KR102164695B1 (ko) * 2015-10-15 2020-10-12 에스케이 텔레콤주식회사 Epc 네트워크 환경에서 끊어짐 없는 트래픽 처리 방법 및 장치
KR20170056879A (ko) * 2015-11-16 2017-05-24 한국전자통신연구원 Sdn 다중 오케스트레이터
KR102284953B1 (ko) * 2016-01-13 2021-08-03 삼성전자 주식회사 소프트웨어 정의 네트워크 기반 이동통신 시스템에서 제어 메시지 전송 방법 및 장치
US10149193B2 (en) 2016-06-15 2018-12-04 At&T Intellectual Property I, L.P. Method and apparatus for dynamically managing network resources
US10284730B2 (en) 2016-11-01 2019-05-07 At&T Intellectual Property I, L.P. Method and apparatus for adaptive charging and performance in a software defined network
US10454836B2 (en) 2016-11-01 2019-10-22 At&T Intellectual Property I, L.P. Method and apparatus for dynamically adapting a software defined network
US10505870B2 (en) 2016-11-07 2019-12-10 At&T Intellectual Property I, L.P. Method and apparatus for a responsive software defined network
US10469376B2 (en) 2016-11-15 2019-11-05 At&T Intellectual Property I, L.P. Method and apparatus for dynamic network routing in a software defined network
US10039006B2 (en) 2016-12-05 2018-07-31 At&T Intellectual Property I, L.P. Method and system providing local data breakout within mobility networks
US10103968B2 (en) * 2016-12-13 2018-10-16 Industrial Technology Research Institute Tree recovery method, controller and recording medium for software-defined network
CN106534220A (zh) * 2016-12-30 2017-03-22 北京奇虎科技有限公司 一种流数据的双向传输方法和装置
US10264075B2 (en) * 2017-02-27 2019-04-16 At&T Intellectual Property I, L.P. Methods, systems, and devices for multiplexing service information from sensor data
US10469286B2 (en) 2017-03-06 2019-11-05 At&T Intellectual Property I, L.P. Methods, systems, and devices for managing client devices using a virtual anchor manager
US10673751B2 (en) 2017-04-27 2020-06-02 At&T Intellectual Property I, L.P. Method and apparatus for enhancing services in a software defined network
US10819606B2 (en) 2017-04-27 2020-10-27 At&T Intellectual Property I, L.P. Method and apparatus for selecting processing paths in a converged network
US10749796B2 (en) 2017-04-27 2020-08-18 At&T Intellectual Property I, L.P. Method and apparatus for selecting processing paths in a software defined network
US10212289B2 (en) 2017-04-27 2019-02-19 At&T Intellectual Property I, L.P. Method and apparatus for managing resources in a software defined network
US10257668B2 (en) 2017-05-09 2019-04-09 At&T Intellectual Property I, L.P. Dynamic network slice-switching and handover system and method
US10382903B2 (en) 2017-05-09 2019-08-13 At&T Intellectual Property I, L.P. Multi-slicing orchestration system and method for service and/or content delivery
US10855805B2 (en) * 2017-05-26 2020-12-01 Dell Products L.P. Centralized storage-connected switch port auto-configuration system
US10070344B1 (en) 2017-07-25 2018-09-04 At&T Intellectual Property I, L.P. Method and system for managing utilization of slices in a virtual network function environment
US10104548B1 (en) 2017-12-18 2018-10-16 At&T Intellectual Property I, L.P. Method and apparatus for dynamic instantiation of virtual service slices for autonomous machines
KR102030599B1 (ko) * 2018-04-18 2019-10-10 에스케이브로드밴드주식회사 액세스장치 및 액세스장치의 동작 방법
KR102585874B1 (ko) * 2018-07-11 2023-10-06 삼성전자주식회사 Sdn네트워크에서 라우팅 제어 장치 및 방법
US11005745B2 (en) * 2018-12-28 2021-05-11 Vmware, Inc. Network configuration failure diagnosis in software-defined networking (SDN) environments
US10938632B2 (en) 2018-12-28 2021-03-02 Vmware, Inc. Query failure diagnosis in software-defined networking (SDN) environments
KR102172232B1 (ko) * 2019-10-01 2020-10-30 고려대학교 산학협력단 프로그래밍 가능한 네트워크 가상화에서의 대역폭을 고려한 링크 장애 우회 장치 및 방법
WO2021217070A1 (en) * 2020-04-23 2021-10-28 Juniper Networks, Inc. Session monitoring using metrics of session establishment
KR102587055B1 (ko) * 2021-10-26 2023-10-11 인천대학교 산학협력단 인공지능 기반 컴퓨터 이상 탐지 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180104A1 (en) * 2006-01-30 2007-08-02 Clarence Filsfils Technique for enabling bidirectional forwarding detection between edge devices in a computer network
US20080037436A1 (en) * 2005-03-25 2008-02-14 Huawei Technologies Co., Ltd. Method and system for detecting link failure between nodes in a hybrid network
US20100202297A1 (en) * 2007-10-24 2010-08-12 Huawei Technologies Co., Ltd. Method, device, and system for traffic switching in multi-protocol label switching traffic engineering
US20120106359A1 (en) * 2009-03-25 2012-05-03 Juniper Networks, Inc. Health probing detection and enhancement for traffic engineering label switched paths
US20130114402A1 (en) * 2011-11-09 2013-05-09 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for detecting and locating network connection failures

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5146377B2 (ja) 2009-03-18 2013-02-20 富士通株式会社 通信装置および監視パケット転送方法
JP5386745B2 (ja) * 2010-03-25 2014-01-15 株式会社日立製作所 ネットワーク監視サーバ及びネットワーク監視システム
WO2011144495A1 (en) 2010-05-19 2011-11-24 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatus for use in an openflow network
US8804490B2 (en) 2011-07-29 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Controller placement for fast failover in the split architecture
KR101887581B1 (ko) * 2011-12-26 2018-08-14 한국전자통신연구원 플로우 기반의 패킷 전송 장치 및 그것의 패킷 처리 방법
TWI484789B (zh) * 2011-12-30 2015-05-11 Ind Tech Res Inst 主控裝置、被控裝置、及其網路通訊方法
CN103067220B (zh) * 2012-12-19 2016-02-10 中兴通讯股份有限公司 参数更新情况下双向链路转发检测方法及装置
US9225624B2 (en) 2012-12-20 2015-12-29 Dell Products L.P. Systems and methods for topology discovery and application in a border gateway protocol based data center
US9184998B2 (en) * 2013-03-14 2015-11-10 Qualcomm Incorporated Distributed path update in hybrid networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080037436A1 (en) * 2005-03-25 2008-02-14 Huawei Technologies Co., Ltd. Method and system for detecting link failure between nodes in a hybrid network
US20070180104A1 (en) * 2006-01-30 2007-08-02 Clarence Filsfils Technique for enabling bidirectional forwarding detection between edge devices in a computer network
US20100202297A1 (en) * 2007-10-24 2010-08-12 Huawei Technologies Co., Ltd. Method, device, and system for traffic switching in multi-protocol label switching traffic engineering
US20120106359A1 (en) * 2009-03-25 2012-05-03 Juniper Networks, Inc. Health probing detection and enhancement for traffic engineering label switched paths
US20130114402A1 (en) * 2011-11-09 2013-05-09 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for detecting and locating network connection failures

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106817301A (zh) * 2015-11-30 2017-06-09 中兴通讯股份有限公司 故障恢复方法及装置、控制器、软件定义网络
EP3386156A4 (en) * 2015-11-30 2018-12-12 ZTE Corporation Failure recovery method and device, controller, and software defined network
WO2018004639A1 (en) * 2016-07-01 2018-01-04 Hewlett Packard Enterprise Development Lp Load balancing
US10892992B2 (en) 2016-07-01 2021-01-12 Hewlett Packard Enterprise Development Lp Load balancing

Also Published As

Publication number Publication date
US20160294734A1 (en) 2016-10-06
KR102118687B1 (ko) 2020-06-03
US10205681B2 (en) 2019-02-12
KR20150056159A (ko) 2015-05-26

Similar Documents

Publication Publication Date Title
WO2015072709A1 (ko) Sdn에서 네트워크 장애 해소를 위한 컨트롤러 및 스위치의 동작 방법과, 이를 위한 컨트롤러 및 스위치
WO2018054156A1 (zh) 一种vxlan报文的转发方法、设备及系统
Sharma et al. In-band control, queuing, and failure recovery functionalities for openflow
CN108141376B (zh) 网络节点、通信网络及通信网络中的方法
US7583590B2 (en) Router and method for protocol process migration
EP3301861A1 (en) Evpn designated forwarder state propagation to customer edge devices using connectivity fault management
US9276898B2 (en) Method and device for link fault detecting and recovering based on ARP interaction
US20020171886A1 (en) Automatic control plane recovery for agile optical networks
EP2533475B1 (en) Method and system for host route reachability in packet transport network access ring
WO2009018728A1 (fr) Réseau en anneau ip, dispositif de routage de réseau en anneau et procédé pour transmettre un message
US20080225699A1 (en) Router and method of supporting nonstop packet forwarding on system redundant network
WO2007062559A1 (fr) Procede et passerelle de restitution de service au moment de la permutation entre passerelles pilote et asservie
CN111385138B (zh) 用于拼接多宿主evpn和l2电路的逻辑隧道的核心隔离
WO2010087308A1 (ja) 通信ネットワーク管理システム、方法、プログラム、及び管理計算機
WO2012062069A1 (zh) 双向转发检测报文的发送方法及设备
Lopez-Pajares et al. Amaru: Plug&play resilient in-band control for SDN
JPH1168799A (ja) 同期デジタル階層型通信ネットワーク及びそれに適用される方法
JP5618946B2 (ja) 通信装置および通信システム
US8085654B2 (en) Method for reducing fault detection time in a telecommunication network
WO2021109997A1 (zh) 分段路由隧道的防断纤方法、装置,入口节点及存储介质
JP2005184510A (ja) ルータ
WO2014048126A1 (zh) 业务流量保护方法和装置
US7869351B2 (en) Communication techniques and generic layer 3 automatic switching protection
US20230254244A1 (en) Path determining method and apparatus, and computer storage medium
CN107786436B (zh) 一种vpn网络及保护倒换方法

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15037046

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14862377

Country of ref document: EP

Kind code of ref document: A1