WO2018117336A1 - Openflow switch for error recovery, openflow controller and error recovery method - Google Patents

Openflow switch for error recovery, openflow controller and error recovery method Download PDF

Info

Publication number
WO2018117336A1
WO2018117336A1 PCT/KR2017/003206 KR2017003206W WO2018117336A1 WO 2018117336 A1 WO2018117336 A1 WO 2018117336A1 KR 2017003206 W KR2017003206 W KR 2017003206W WO 2018117336 A1 WO2018117336 A1 WO 2018117336A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow
error
switch
component
openflow
Prior art date
Application number
PCT/KR2017/003206
Other languages
French (fr)
Korean (ko)
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 성균관대학교산학협력단
Publication of WO2018117336A1 publication Critical patent/WO2018117336A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/036Updating the topology between route computation elements, e.g. between OpenFlow controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based 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/42Centralised 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/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Definitions

  • the present invention relates to an openflow switch, an openflow controller, and an error recovery method for error recovery.
  • Openflow is an interface standard technology of software definition network (SDN).
  • the openflow-based network includes an openflow controller and an openflow switch, and performs internal communication using an openflow protocol.
  • OpenFlow-based networks replace the traditional network structure, which was fixed and closed in hardware, with an open, programmable structure.
  • a key feature of OpenFlow-based networks is the software separation of the control plane that controls and manages existing network equipment. Therefore, OpenFlow-based networks have the advantage that users can build and operate the networks they want, rather than the way they provide.
  • Openflow based networks include an openflow controller and a plurality of openflow switches.
  • the openflow controller may provide flow information for processing the received packet.
  • the open flow switch processes the packet according to the flow information transmitted by the open flow controller.
  • the openflow switch can bypass the interrupted flow based on a preset alternate path per flow. Therefore, each openflow switch stores a path corresponding to one or more flows and an alternate path for that path. That is, as the number of flows increases, paths and alternate paths that need to be stored in the openflow switch may increase, resulting in memory overload on the openflow switch.
  • Korean Patent Publication No. 10-1585413 (name of the invention: "Openflow Controller and Disaster Recovery Method for Software-Defined Network-Based Cloud Computing System”) is based on live migration of virtual machines included in the loud computing system. Detect live migrated virtual machines, extract forwarding paths corresponding to live migrated virtual machines, update stored forwarding paths based on extracted forwarding paths, and retrieve openflow switches corresponding to extracted forwarding paths Then, a disaster recovery method for updating the forwarding path extracted to the searched open flow switch is disclosed.
  • the present invention is to solve the above-mentioned problems of the prior art, an open flow switch and an error recovery method in the open flow controller and the open flow switch, which provides an alternative path for error recovery on the path, an alternative path in the open flow controller Provide the method of providing.
  • an open flow switch for recovering an error includes a communication module, a memory in which an error recovery program is stored, and a processor executing a program.
  • the processor sets an alternative path corresponding to the flow based on the information of the flow and the information of the component corresponding to the error according to the execution of the program.
  • the component includes an open flow switch or a link, and a component corresponding to an error is an error in a link corresponding to an open flow switch in which a processor delivers a packet according to a flow or an open flow switch that delivers a packet according to a flow.
  • the open flow controller includes a communication module for performing data communication with a plurality of open flow switches, a memory in which an alternative path generation program is stored, and a processor executing a program stored in the memory.
  • the processor collects a plurality of flows according to the execution of the program, classifies each flow into a flow group based on the information of the plurality of flows, generates an alternative path corresponding to the flow group, and generates a plurality of open flow switches. Pass the generated alternate path. And the alternate path corresponds to an error in the flow, the error being an error for at least one of the one or more components included in the flow, the component including an openflow switch or link.
  • An error recovery method in an openflow switch includes detecting an error on a component included in a path corresponding to a flow; And setting an alternative path corresponding to the flow based on the information of the flow and the information of the component corresponding to the error.
  • the component includes an open flow switch or a link
  • a component corresponding to an error is an error in a link corresponding to an open flow switch for delivering a packet according to the flow or an open flow switch for delivering a packet according to the flow.
  • the error recovery method in the open flow controller includes collecting a plurality of flows and classifying each flow into a flow group based on information of the plurality of flows; Generating an alternate route corresponding to the flow group; And forwarding alternate paths generated by the plurality of openflow switches.
  • the alternate path corresponds to an error of the flow
  • the error is an error for at least one of the one or more components included in the flow
  • the component includes an openflow switch or link.
  • each openflow switch may store alternative paths for flow groups having the same address of the destination without storing alternative paths corresponding to a plurality of flows on the openflow-based network. Therefore, the present invention is efficient because the number of alternative paths stored in each openflow switch can be reduced.
  • the present invention can reduce the overload of the open flow controller. Therefore, the present invention can quickly cope with errors that may occur in an openflow-based network.
  • 1 is an exemplary diagram of an openflow based network.
  • FIG. 2 is an exemplary diagram of an openflow switch error in an openflow-based network.
  • FIG. 3 is an exemplary diagram of a link error of an openflow based network.
  • FIG. 4 is an exemplary diagram of an edge component error of an openflow based network.
  • FIG. 5 is a block diagram of an openflow switch according to an embodiment of the present invention.
  • FIG. 6 is an exemplary diagram of a flow table and a group table according to an embodiment of the present invention.
  • FIG. 7 is an exemplary view for explaining an error recovery process for a core component according to an embodiment of the present invention.
  • FIG. 8 is an exemplary diagram for describing an error recovery process for an edge component according to an embodiment of the present invention.
  • FIG. 9 is a block diagram of an openflow controller according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating an error recovery method in an openflow switch according to an embodiment of the present invention.
  • 11 is a flowchart illustrating an error recovery method of an openflow controller according to an embodiment of the present invention.
  • 1 is an illustration of an openflow based network 100.
  • the openflow based network 100 may include six openflow switches 110, 120, 130, 140, 150, and 160.
  • the openflow-based network 100 may include a first host 170, a second host 171, and a third host 172.
  • the openflow-based network 100 may include an openflow controller, a destination host, and a source host directly or indirectly connected to six switches 110, 120, 130, 140, 150, and 160.
  • the source host may forward the packet to the destination host.
  • the destination host and the departure host may be the first host 170, the second host 171, and the third host 172.
  • the source host and the destination host may be other hosts not shown in FIG. 1.
  • the source host and the destination host may be, but are not limited to, a server, computer or mobile device.
  • Each open flow switch may be connected to another open flow switch, an open flow controller, or a host through a predetermined link.
  • the openflow based network 100 may include edge components and core components.
  • the edge component may be directly connected to the destination host or the source host, and may include an edge switch and an edge link.
  • the edge switch may be the third open flow switch 130 and the fourth open flow switch 140
  • the edge link may be the third open flow switch 130 or the fourth open. It may be a link connected to the flow switch 140.
  • the core component delivers a packet received from the source host to another core component or an edge component, and may include a core switch and a core link.
  • the core switch may be a first open flow switch 110, a second open flow switch 120, a fifth open flow switch 150, and a sixth open flow switch.
  • the core link may be a link connected to the first open flow switch 110, the second open flow switch 120, the fifth open flow switch 150, and the sixth open flow switch.
  • the open flow based network 100 may include a first flow in which the first host 170 or the second host 171 is a destination host, and a second flow in which the third host 172 is a destination host.
  • the optimal path of the first flow may be "first openflow switch 110-> second openflow switch 120-> fourth openflow switch 140".
  • the optimal path of the second flow may be “first open flow switch 110-> second open flow switch 120-> third open flow switch 130”.
  • the first flow and the second flow may share a link between the first open flow switch 110 and the second open flow. That is, the second open flow switch 120 may serve as a center switch for the first flow and the second flow.
  • each openflow switch included in the openflow-based network 100 may bypass other components based on the bypass path through the openflow controller. Can be.
  • the error may be that the open flow switch included in the open flow-based network 100 is powered off or a failure occurs, and thus the packet cannot be received.
  • an error means that an openflow switch included in the openflow-based network 100 is powered off, or a failure occurs, so that a received packet cannot be delivered to another openflow switch or host.
  • the error may be that the link between the two open flow switches is broken, but is not limited thereto.
  • FIG. 2 is an exemplary diagram of an open flow switch error of the open flow based network 100.
  • an error may occur in the second openflow switch 120 included in the openflow-based network 100.
  • the open flow-based network 100 may include links 200, 201, and second between the first open flow switch 110 and the second open flow switch 120 based on an error of the second open flow switch 120.
  • the link 210 between the open flow switch 120 and the fourth open flow switch 140 and the link 220 between the second open flow switch 120 and the third open flow switch 130 become unavailable.
  • the openflow-based network 100 may bypass a failed switch and another switch that is a predetermined hop interval based on an alternate path. For example, the openflow based network 100 may bypass according to a bypass path generated based on a local protection mechanism.
  • the predetermined hop may be within two hops. Therefore, the first flow may bypass the fourth open flow switch 140 of the second open flow switch 120 and the one-hop interval switch. That is, the path of the first flow may bypass the "first open flow switch 110-> fifth open flow switch 150-> fourth open flow switch 140". In a similar manner, the second flow can bypass the sixth open flow switch 160. That is, the path of the second flow may bypass the "first open flow switch 110-> sixth open flow switch 160-> third open flow switch 130".
  • 3 is an exemplary diagram of a link error of the openflow based network 100.
  • an error may occur in the links 300 and 301 between the first open flow switch 110 and the second open flow switch 120. Therefore, the path of the first flow may bypass the "first open flow switch 110-> fifth open flow switch 150-> fourth open flow switch 140". In addition, the path of the second flow may bypass the "first open flow switch 110-> sixth open flow switch 160-> third open flow switch 130".
  • the openflow-based network 100 may bypass the failed core component through a bypass path.
  • the openflow-based network 100 may not include a switch that is not affected by the error within a predetermined hop number.
  • FIG. 4 is an exemplary diagram of an edge component error of the openflow based network 100.
  • the openflow-based network 100 may no longer be bypassed. No bypass route found
  • the open flow controller of the open flow based network 100 may set a backup path to solve the problem of the link 400 in which an error occurs. That is, the second openflow switch 120 is along the backup path until the link 400 between the second openflow switch 120 and the fourth openflow switch 140 is restored. ) May be bypassed by the first open flow switch 110, the fifth open flow switch 150, and the fourth open flow switch 140.
  • the conventional openflow-based network 100 may generate a backup path in a reactive manner through the openflow controller included in the openflow-based network 100.
  • the open flow controller may modify a flow rule for a suspended flow based on a specific open flow switch or a specific link and transmit the modified flow rule according to a preset backup path.
  • the open flow controller should calculate an alternative port corresponding to the flow rule. Therefore, the OpenFlow Controller can receive alternate port information for each OpenFlow switch.
  • the openflow controller may set a bypass node by detecting a port state of each openflow switch based on the received alternate port information and a loss of signal (LOS) signaling mechanism.
  • LOS loss of signal
  • the OpenFlow controller can calculate a port that can replace the failed port. After calculating the alternative port, the open flow controller may modify the optimal path rule to transmit the interrupted flow to the preset backup path.
  • an error is found in the second open flow switch 120, or an error is detected in the path between the first open flow switch 110 and the second open flow switch 120. If found, the first openflow switch 110, which intends to deliver a packet to the second openflow switch 120, may transmit an abnormality notification message to the openflow controller.
  • the open flow controller can generate flow modification messages and pass them to the appropriate open flow switches.
  • the flow modification message may be a message for transmitting a flow in which transmission is interrupted through the second open flow switch 120 and other open flow switches within a predetermined hop number through a predetermined substitute path. That is, the fifth open flow switch 150 may install a flow rule for delivering a packet based on the first flow.
  • FIG. 5 is a block diagram of an openflow switch 500 according to an embodiment of the present invention.
  • the openflow switch 500 may allow a packet transmitted from the source host to be delivered to the destination host.
  • the open flow switch 500 may be directly connected to the source host or the destination host or indirectly through one or more other open flow switches 500.
  • open flow switch 500 may be directly connected to the open flow controller 540 or may be connected through one or more other open flow switches 500.
  • the open flow switch 500 includes a communication module 510, a memory 520, and a processor 530.
  • the communication module 510 may perform data communication with the host and the open flow switch 500. In addition, the communication module 510 may perform data communication with the open flow controller 540.
  • the memory 520 stores an error recovery program.
  • the memory 520 generally refers to a nonvolatile storage device that maintains stored information even when power is not supplied, and a volatile storage device that requires power to maintain stored information.
  • the memory 520 also stores a flow table and a group table.
  • the flow table and the group table will be described with reference to FIG. 6.
  • 6 is an exemplary diagram of a flow table and a group table according to an embodiment of the present invention.
  • 6A is an exemplary diagram of a flow table.
  • 6B is an exemplary diagram of a group table.
  • the flow table stores flow rules as entries.
  • the flow rule may include a source IP, a destination IP, an entry port, a VLAN ID, and an action.
  • the source IP may be the same address as the source host IP.
  • the destination IP may be the same address as the IP of the destination host.
  • the VLAN ID may be a unique identifier corresponding to the component.
  • the component is a concept including an open flow switch 500 and a link.
  • the link means a wired connection or a wireless connection between two open flow switches 500.
  • the action is defined an action corresponding to the flow rule.
  • the action may include a group ID that can be used to deliver a packet.
  • the group table may include a group identifier, a group type, and an action bucket.
  • the group identifier may match the action of the flow rule.
  • the group type may be "ALL", “SELECT”, “INDIRECT” and "FAST-FAILOVER”.
  • the action bucket may include an action corresponding to the group.
  • the action bucket may include information about the main route and the alternate route. For example, if the group type is "FAST-FAILOVER", the action bucket may be set as "main path-output through port 3" or "alternative path-output through port 4.”
  • the flow table and the group table may be received from the open flow controller 540 through the communication module 510.
  • the processor 530 may receive a packet through the communication module 510.
  • the processor 530 may deliver the packet to another open flow switch 500 or the destination host according to the flow corresponding to the packet through the communication module 510.
  • the processor 530 may deliver the received packet along a path based on the flow table and the group table.
  • FIG. 7 is an exemplary view for explaining an error recovery process for a core component according to an embodiment of the present invention.
  • the first openflow switch 710 included in the openflow based network 700 may provide a packet corresponding to the received first flow to the destination host. According to the set path, it may be transmitted to the second open flow switch 720 through the link.
  • the second openflow switch 720 may transmit a packet received from the openflow controller 540 to the fourth openflow switch 740.
  • the fourth openflow switch 740 may transmit a packet received from the second openflow switch 720 to the third host 172.
  • the open flow-based network 700 may deliver the packet to the destination host according to a predetermined path of the flow.
  • the processor 530 may set an alternative path for bypassing the corresponding component.
  • the component may be another open flow switch 500 to receive a packet, or may include a link with the corresponding open flow switch 500.
  • the error may mean that another open flow switch through which the processor 530 delivers the packet through the communication module 510 is broken, or a problem may occur in which the packet is received by the corresponding open flow switch. Or, when the processor 530 transmits a packet through the communication module 510, the link with another open flow switch that receives the packet is broken, or a problem occurs in the link, so that the open flow switch detects the packet. It may mean that it cannot be received.
  • the processor 530 may detect an error of a component including a target open flow switch or a link with the target open flow switch. .
  • the error may be for a link with the open flow switch 500 or the open flow switch 500.
  • the processor 530 may set an alternate path based on information of the flow corresponding to the packet and information of the component in which the error occurs.
  • the alternative path may be the processor 530 received the alternative path through the open flow controller 540 and stored in the memory 520.
  • the alternate path may be stored in the group table stored in the memory 520.
  • the group entry corresponding to the alternate path may be a group type set to "FAST-FAILOVER".
  • the alternate path may be generated by the OpenFlow Controller 540 based on the information of one or more flows collected based on the error.
  • one or more flows collected based on an error may be a flow in which transmission of a packet is stopped based on the error.
  • Alternate routes may be generated, one per flow group with the same destination host address.
  • the open flow controller 540 may classify flows having the same address of the destination host and generate one or more flow groups.
  • the open flow controller 540 may generate one or more flow groups by classifying flows having the same address of the open flow switch 500 connected to the destination host.
  • a flow group is generated based on a flow in which the destination host has the same address, but is not limited thereto.
  • the open flow controller 540 may generate one substitute path for each flow group. That is, the open flow controller 540 may generate one alternative path per one or more flows having the same destination included in the flow group.
  • the open flow controller 540 may classify the same flow group to the destination host based on the virtual local address network (VLAN) ID set corresponding to the open flow switch 500 and the link.
  • VLAN virtual local address network
  • the VLAN ID set corresponding to the open flow switch 500 and the link may be a unique identifier.
  • the open flow controller 540 may generate an alternate route based on a flow tagging mechanism.
  • the open flow controller 540 may set a flow rule that matches the header tag included in the alternate path.
  • the alternate path may be set differently based on the type of component in which an error may occur. For example, if the component is an edge component that includes an open flow switch 500 or a link corresponding to the open flow switch 500 that is directly connected to the host, the alternate path is based on the link included in that edge component. Can be generated. Alternatively, when the component is a core component including an open flow switch 500 connected to another open flow switch 500 or a link corresponding to the open flow switch 500, the alternative path is an open flow included in the core component. It may be generated based on the switch 500.
  • the open flow controller 540 may generate an alternative path to bypass the open flow controller 540 corresponding to the error and the open flow controller 540 located within a predetermined hop number.
  • the predetermined hop number may be two hops.
  • the processor 530 may receive and store an alternative path corresponding to one or more flow groups from the open flow controller 540 through the communication module 510.
  • the processor 530 may store the alternative path corresponding to the flow group as a group entry in the group table.
  • the processor 530 may set the group type to "FAST-FAILOVER" and store the group entry including the corresponding alternative path in the group table.
  • the VLAN ID of the first openflow switch 710 is 1, the VLAN ID of the second openflow switch 720 is 3, and the VLAN ID of the third openflow switch 730 is 5, fourth.
  • the VLAN ID of the open flow switch 740 may be 9, the VLAN ID of the fifth open flow switch 750 may be 7, and the VLAN ID of the sixth open flow switch 760 may be 12.
  • the error may be generated in the core component corresponding to the second openflow switch 720. That is, the error may be caused by the second open flow switch 720 or the link 780, 781, 790 corresponding to the second open flow switch 720.
  • the first openflow switch 710 may transfer the received first packet to the second openflow switch 720.
  • the first packet may be a packet in which the destination host is the third host 772.
  • the first openflow switch 710 transmits the first packet to the first packet based on the flow table and the group table stored in the memory 520 of the first openflow switch 710 to deliver the first packet to the third host 772.
  • the path of the corresponding flow can be extracted. For example, the path may be set based on a group entry of the group table that matches the group identifier included in the flow rule corresponding to the first packet stored in the flow table. That is, the path may be to deliver the packet to the fourth open flow switch 740 through the second open flow switch 720.
  • the first openflow switch 710 may deliver the first packet to the second openflow switch 720 based on the path. In this case, if the second open flow switch 720 cannot receive the first packet due to an error, the first open flow switch 710 may detect an error of the second open flow switch 720.
  • the first openflow switch 710 may extract an alternate path based on the information of the second openflow switch 720 and the information of the flow corresponding to the first packet. For example, the first open flow switch 710 may extract a flow rule corresponding to the flow. The first open flow switch 710 may extract a group entry matching the flow rule of the corresponding flow. The first openflow switch 710 may extract an alternate path based on the action bucket included in the group entry.
  • the alternative path may be generated and delivered by the open flow controller 540 as described above.
  • the alternate path may be extracted based on the VLAN ID of the open flow switch 500 corresponding to the error.
  • the alternate path may be extracted based on the VLAN ID of the second openflow switch 720.
  • the alternative path may include a second open flow switch 720 and an open flow switch 500 within a predetermined hop number as described above.
  • the first openflow switch 710 may deliver the first packet to the first host 770 through the sixth openflow switch 760 and the third openflow switch 730 according to the alternative path.
  • FIG. 8 is an exemplary diagram for describing an error recovery process for an edge component according to an embodiment of the present invention.
  • the first openflow switch 710 may transfer the received second packet to the second openflow switch 720.
  • the second packet may be a packet in which the destination host is the third host 772.
  • the second openflow switch 720 may transmit the second packet to the fourth openflow switch 740. At this time, if an error occurs in the edge component corresponding to the fourth open flow switch 740, the second open flow switch 720 may include information of the fourth open flow switch 740 and information of a flow corresponding to the second packet. Based on the alternative route can be extracted.
  • the alternate path may be generated based on a link between the failed second openflow switch 720 and the fourth openflow switch 740.
  • the alternate path may be extracted based on the VLAN ID 10 of the link between the second openflow switch 720 and the fourth openflow switch 740. That is, the alternate path may be generated corresponding to the component having a VLAN ID of 10.
  • the alternate path is the second openflow switch 720 sends the second packet through the first openflow switch 710, the fifth openflow switch 750, and the fourth openflow switch 740 to the third host 772. It may be to pass on. Therefore, the second openflow switch 720 can deliver the second packet to the first openflow switch 710.
  • FIG. 9 is a block diagram of an openflow controller 540 according to an embodiment of the present invention.
  • the open flow controller 540 may be connected to the open flow switch 500.
  • the open flow controller 540 may generate an alternate path based on an error corresponding to a plurality of open flow switches 500 or links included in the open flow based network 100.
  • the open flow controller 540 may include a communication module 900, a memory 910, and a processor 920.
  • the communication module 900 may perform data communication with a plurality of open flow switches 500 included in the open flow based network 100.
  • the memory 910 stores an alternative path generation program.
  • the memory 910 collectively refers to a nonvolatile storage device that maintains stored information even when power is not supplied, and a volatile storage device that requires power to maintain stored information.
  • the processor 920 may generate an alternative path in case an error occurs on the open flow switch 500 or a link between the two open flow switches 500 based on the alternative path generation program.
  • the error may be an error for the open flow switch 500 included in the specific flow.
  • the error may be an error for a link corresponding to the open flow switch 500 included in the specific flow.
  • the processor 920 may collect a plurality of flows of the connected open flow switch 500.
  • the processor 920 may classify each flow into a plurality of flow groups based on the information of the plurality of flows.
  • the processor 920 may classify a plurality of flows based on VLAN IDs corresponding to components such as an open flow switch 500 and a link included in each flow.
  • the processor 920 may generate an alternate path corresponding to each flow group.
  • the processor 920 may generate an alternative path based on a link included in the component corresponding to the error.
  • the edge component may be a link corresponding to the open flow switch 500 directly connected to the host or the open flow switch 500 directly connected to the host.
  • the processor 920 may generate an alternative path based on the open flow switch 500 included in the component.
  • the core component may be a link corresponding to the open flow switch 500 connected to the other open flow switch 500 or the open flow switch 500 connected to the other open flow switch 500.
  • the processor 920 may transfer the alternate paths to the plurality of open flow switches 500 through the communication module 900.
  • FIG. 10 is a flowchart of an error recovery method in the openflow switch 500 according to an embodiment of the present invention.
  • the open flow switch 500 detects an error on a component included in a path corresponding to the flow (S1000). At this time, the component includes an open flow switch 500 or a link. In addition, the component corresponding to the error is a link with the open flow switch 500 for delivering packets according to the flow or the open flow switch 500 for delivering packets according to the flow.
  • the open flow switch 500 sets an alternative path corresponding to the flow based on the information of the flow and the information of the component corresponding to the error (S1010).
  • the open flow switch 500 may store a flow table including one or more flow rules and a group table including one or more group entries.
  • the open flow switch 500 may extract a flow rule corresponding to the flow stored in the flow table.
  • the open flow switch 500 may select a group entry that matches the extracted flow rule. Thereafter, the openflow switch 500 may set an alternate path based on the selected group entry.
  • 11 is a flowchart illustrating an error recovery method of the open flow controller 540 according to an embodiment of the present invention.
  • the open flow controller 540 collects a plurality of flows (S1100).
  • the open flow controller 540 classifies each flow into a flow group based on the collected information of the plurality of flows (S1110).
  • the open flow controller 540 generates an alternative path corresponding to the flow group (S1120). At this time, the alternate path corresponds to an error of the flow.
  • the error is an error for the open flow switch 500 included in the flow, or an error for a link corresponding to the open flow switch 500 included in the flow.
  • the open flow controller 540 transfers alternate paths generated by the plurality of open flow switches 500 (S1130).
  • each open flow switch 500 replaces a plurality of flows on an open flow-based network. Instead of saving a route, you can store alternate routes for flow groups with the same address at the destination. Therefore, the open flow switch 500, the open flow controller 540, and the error recovery method for error recovery can reduce the number of alternative paths stored in each open flow switch 500, and thus are efficient.
  • the open flow switch 500, the open flow controller 540, and the error recovery method for error recovery may reduce an overload of the open flow controller 540. Therefore, the open flow switch 500, the open flow controller 540, and the error recovery method for error recovery can quickly cope with errors that may occur in an open flow-based network.
  • Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media.
  • the computer readable medium may include a computer storage medium.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention comprises: a communication module; a memory having an error recovery program stored therein; and a processor for executing the program, wherein the processor sets, according to an execution of the program, an alternative path corresponding to a flow on the basis of information on component, which corresponds to flow information and error, when the error is detected in the component included in a path corresponding to the flow. The component includes an openflow switch or a link, and the component corresponding to the error has occurred the error during the link corresponding to the openflow switch, in which the processor transfers a packet according to the flow, or the openflow switch transferring the packet according to the flow.

Description

오류 복구를 위한 오픈플로우 스위치, 오픈플로우 컨트롤러 및 오류 복구 방법Openflow Switch, Openflow Controller, and Error Recovery Methods for Error Recovery
본 발명은 오류 복구를 위한 오픈플로우 스위치, 오픈플로우 컨트롤러 및 오류 복구 방법에 관한 것이다.The present invention relates to an openflow switch, an openflow controller, and an error recovery method for error recovery.
오픈플로우(openflow)는 소프트웨어 정의 네트워크(software definition network; SDN)의 인터페이스 표준 기술이다. 이때, 오픈플로우 기반 네트워크는 오픈플로우 컨트롤러(openflow controller)와 오픈플로우 스위치를 포함하며, 오픈플로우 프로토콜(openflow protocol)을 이용하여 내부 통신을 수행한다. Openflow is an interface standard technology of software definition network (SDN). At this time, the openflow-based network includes an openflow controller and an openflow switch, and performs internal communication using an openflow protocol.
오픈플로우 기반 네트워크는 하드웨어 방식으로 고정되어 있고 폐쇄적이던 기존의 네트워크 구조를 프로그래밍이 가능한 개방형 구조로 바꾼 것이다. 오픈플로우 기반 네트워크의 핵심적인 특징은 기존 네트워크 장비에서 제어 및 관리 기능을 담당하는 컨트롤 플레인(control plane)을 소프트웨어로 분리하는 것이다. 그러므로 오픈플로우 기반 네트워크는 제조 업체가 제공하는 방식이 아닌, 사용자들이 주도해 원하는 네트워크를 구축 및 운영할 수 있는 장점이 있다. OpenFlow-based networks replace the traditional network structure, which was fixed and closed in hardware, with an open, programmable structure. A key feature of OpenFlow-based networks is the software separation of the control plane that controls and manages existing network equipment. Therefore, OpenFlow-based networks have the advantage that users can build and operate the networks they want, rather than the way they provide.
오픈플로우 기반 네트워크는 오픈플로우 컨트롤러 및 복수의 오픈플로우 스위치(openflow switch)를 포함한다. 오픈플로우 컨트롤러는 수신된 패킷(packet)을 처리하기 위한 플로우(flow) 정보를 제공할 수 있다. 그리고 오픈플로우 스위치는 오픈플로우 컨트롤러가 전송한 플로우 정보에 따라 패킷을 처리한다. Openflow based networks include an openflow controller and a plurality of openflow switches. The openflow controller may provide flow information for processing the received packet. The open flow switch processes the packet according to the flow information transmitted by the open flow controller.
오픈플로우 기반 네트워크에서 오류가 발생하는 경우, 오픈플로우 스위치는 플로우 당 미리 설정된 대체 경로에 기초하여 중단된 플로우를 우회할 수 있다. 그러므로 각 오픈플로우 스위치는 하나 이상의 플로우에 대응하는 경로 및 해당 경로에 대한 대체 경로를 저장한다. 즉,플로우의 수가 증가함에 따라, 오픈플로우 스위치에 저장해야 하는 경로 및 대체 경로가 증가할 수 있으며, 이에 따른 오픈플로우 스위치 상의 메모리 과부하가 발생할 수 있다. In the event of an error in an openflow-based network, the openflow switch can bypass the interrupted flow based on a preset alternate path per flow. Therefore, each openflow switch stores a path corresponding to one or more flows and an alternate path for that path. That is, as the number of flows increases, paths and alternate paths that need to be stored in the openflow switch may increase, resulting in memory overload on the openflow switch.
이와 관련되어, 한국 등록특허공보 제10-1585413호(발명의 명칭: "소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템을 위한 오픈플로우 컨트롤러 및 재해복구 방법")는 라우드 컴퓨팅 시스템에 포함된 가상 머신이 라이브 마이그레이션되면, 라이브 마이그레이션된 가상 머신을 탐지하고, 라이브 마이그레이션된 가상 머신에 대응하는 포워딩 경로를 추출하고, 추출된 포워딩 경로에 기초하여 저장된 포워딩 경로를 업데이트하며, 추출된 포워딩 경로에 대응하는 오픈플로우 스위치를 검색하고, 검색된 오픈플로우 스위치에 추출된 포워딩 경로를 업데이트하는 재해복구 방법을 개시하고 있다.In this regard, Korean Patent Publication No. 10-1585413 (name of the invention: "Openflow Controller and Disaster Recovery Method for Software-Defined Network-Based Cloud Computing System") is based on live migration of virtual machines included in the loud computing system. Detect live migrated virtual machines, extract forwarding paths corresponding to live migrated virtual machines, update stored forwarding paths based on extracted forwarding paths, and retrieve openflow switches corresponding to extracted forwarding paths Then, a disaster recovery method for updating the forwarding path extracted to the searched open flow switch is disclosed.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 경로 상의 오류 복구를 위한 대체 경로를 제공하는 오픈플로우 스위치 및 오픈플로우 컨트롤러와 오픈플로우 스위치에서의 오류 복구 방법, 오픈플로우 컨트롤러에서의 대체 경로 제공 방법을 제공한다.The present invention is to solve the above-mentioned problems of the prior art, an open flow switch and an error recovery method in the open flow controller and the open flow switch, which provides an alternative path for error recovery on the path, an alternative path in the open flow controller Provide the method of providing.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 오류를 복구하기 위한 오픈플로우 스위치는 통신 모듈, 오류 복구 프로그램이 저장된 메모리 및 프로그램을 실행하는 프로세서를 포함한다. 이때, 프로세서는 프로그램의 실행에 따라, 플로우에 대응하는 경로에 포함된 컴포넌트 상에 오류가 감지되면, 플로우의 정보 및 오류에 대응하는 컴포넌트의 정보에 기초하여 플로우에 대응하는 대체 경로를 설정한다. 그리고 컴포넌트는 오픈플로우 스위치 또는 링크를 포함하고, 오류에 대응하는 컴포넌트는 프로세서가 플로우에 따라 패킷을 전달하는 오픈플로우 스위치 또는 플로우에 따라 패킷을 전달하는 오픈플로우 스위치에 대응하는 링크 중 오류가 발생한 것이다. As a technical means for achieving the above technical problem, an open flow switch for recovering an error according to the first aspect of the present invention includes a communication module, a memory in which an error recovery program is stored, and a processor executing a program. In this case, when an error is detected on a component included in a path corresponding to the flow, the processor sets an alternative path corresponding to the flow based on the information of the flow and the information of the component corresponding to the error according to the execution of the program. The component includes an open flow switch or a link, and a component corresponding to an error is an error in a link corresponding to an open flow switch in which a processor delivers a packet according to a flow or an open flow switch that delivers a packet according to a flow. .
또한, 본 발명의 제 2 측면에 따른 오픈플로우 컨트롤러는 복수의 오픈플로우 스위치와 데이터 통신을 수행하는 통신 모듈, 대체 경로 생성 프로그램이 저장된 메모리 및 메모리에 저장된 프로그램을 실행하는 프로세서를 포함한다. 이때, 프로세서는 프로그램의 실행에 따라 복수의 플로우를 수집하고, 복수의 플로우의 정보에 기초하여 각 플로우를 플로우 그룹으로 분류하고, 플로우 그룹에 대응하는 대체 경로를 생성하고, 복수의 오픈플로우 스위치로 생성된 대체 경로를 전달한다. 그리고 대체 경로는 플로우의 오류에 대응하는 것이고, 오류는 플로우에 포함된 하나 이상의 컴포넌트 중 적어도 하나에 대한 오류이고, 컴포넌트는 오픈플로우 스위치 또는 링크를 포함한다. In addition, the open flow controller according to the second aspect of the present invention includes a communication module for performing data communication with a plurality of open flow switches, a memory in which an alternative path generation program is stored, and a processor executing a program stored in the memory. At this time, the processor collects a plurality of flows according to the execution of the program, classifies each flow into a flow group based on the information of the plurality of flows, generates an alternative path corresponding to the flow group, and generates a plurality of open flow switches. Pass the generated alternate path. And the alternate path corresponds to an error in the flow, the error being an error for at least one of the one or more components included in the flow, the component including an openflow switch or link.
본 발명의 제 3 측면에 따른 오픈플로우 스위치에서의 오류 복구 방법은 플로우에 대응하는 경로에 포함된 컴포넌트 상에 오류를 감지하는 단계; 및 플로우의 정보 및 오류에 대응하는 컴포넌트의 정보에 기초하여 플로우에 대응하는 대체 경로를 설정하는 단계를 포함한다. 이때, 컴포넌트는 오픈플로우 스위치 또는 링크를 포함하며, 오류에 대응하는 컴포넌트는 플로우에 따라 패킷을 전달하는 오픈플로우 스위치 또는 플로우에 따라 패킷을 전달하는 오픈플로우 스위치에 대응하는 링크 중 오류가 발생한 것이다.. An error recovery method in an openflow switch according to a third aspect of the present invention includes detecting an error on a component included in a path corresponding to a flow; And setting an alternative path corresponding to the flow based on the information of the flow and the information of the component corresponding to the error. In this case, the component includes an open flow switch or a link, and a component corresponding to an error is an error in a link corresponding to an open flow switch for delivering a packet according to the flow or an open flow switch for delivering a packet according to the flow. .
그리고 본 발명의 제 4 측면에 따른 오픈플로우 컨트롤러에서의 오류 복구 방법은 복수의 플로우를 수집하고, 복수의 플로우의 정보에 기초하여 각 플로우를 플로우 그룹으로 분류하는 단계; 플로우 그룹에 대응하는 대체 경로를 생성하는 단계; 및 복수의 오픈플로우 스위치로 생성된 대체 경로를 전달하는 단계를 포함한다. 이때, 대체 경로는 플로우의 오류에 대응하는 것이고, 오류는 플로우에 포함된 하나 이상의 컴포넌트 중 적어도 하나에 대한 오류이고, 컴포넌트는 오픈플로우 스위치 또는 링크를 포함한다.The error recovery method in the open flow controller according to the fourth aspect of the present invention includes collecting a plurality of flows and classifying each flow into a flow group based on information of the plurality of flows; Generating an alternate route corresponding to the flow group; And forwarding alternate paths generated by the plurality of openflow switches. At this time, the alternate path corresponds to an error of the flow, the error is an error for at least one of the one or more components included in the flow, and the component includes an openflow switch or link.
본 발명은 각 오픈플로우 스위치가 오픈플로우 기반 네트워크 상의 복수의 플로우에 대응하는 대체 경로를 저장하지 않고, 목적지의 주소가 동일한 플로우 그룹에 대한 대체 경로를 저장할 수 있다. 그러므로 본 발명은 각 오픈플로우 스위치에 저장되는 대체 경로의 수를 줄일 수 있어 효율적이다. According to the present invention, each openflow switch may store alternative paths for flow groups having the same address of the destination without storing alternative paths corresponding to a plurality of flows on the openflow-based network. Therefore, the present invention is efficient because the number of alternative paths stored in each openflow switch can be reduced.
또한, 본 발명은 오픈플로우 컨트롤러의 과부하를 줄일 수 있다. 그러므로 본 발명은 오픈플로우 기반 네트워크 상에서 발생할 수 있는 오류에 빠르게 대처할 수 있다.In addition, the present invention can reduce the overload of the open flow controller. Therefore, the present invention can quickly cope with errors that may occur in an openflow-based network.
도 1은 오픈플로우 기반 네트워크의 예시도이다.1 is an exemplary diagram of an openflow based network.
도 2는 오픈플로우 기반 네트워크의 오픈플로우 스위치 오류에 대한 예시도이다.2 is an exemplary diagram of an openflow switch error in an openflow-based network.
도 3은 오픈플로우 기반 네트워크의 링크 오류에 대한 예시도이다.3 is an exemplary diagram of a link error of an openflow based network.
도 4는 오픈플로우 기반 네트워크의 에지 컴포넌트 오류에 대한 예시도이다.4 is an exemplary diagram of an edge component error of an openflow based network.
도 5는 본 발명의 일 실시예에 따른 오픈플로우 스위치의 블록도이다. 5 is a block diagram of an openflow switch according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 플로우 테이블 및 그룹 테이블의 예시도이다.6 is an exemplary diagram of a flow table and a group table according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 코어 컴포넌트에 대한 오류 복구 과정을 설명하기 위한 예시도이다. 7 is an exemplary view for explaining an error recovery process for a core component according to an embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 에지 컴포넌트에 대한 오류 복구 과정을 설명하기 위한 예시도이다.8 is an exemplary diagram for describing an error recovery process for an edge component according to an embodiment of the present invention.
도 9는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러의 블록도이다. 9 is a block diagram of an openflow controller according to an embodiment of the present invention.
도 10은 본 발명의 일 실시예에 따른 오픈플로우 스위치에서의 오류 복구 방법의 순서도이다.10 is a flowchart illustrating an error recovery method in an openflow switch according to an embodiment of the present invention.
도 11은 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러의 오류 복구 방법에 대한 순서도이다.11 is a flowchart illustrating an error recovery method of an openflow controller according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain component, this means that it may further include other components, except to exclude other components unless otherwise stated.
다음은 도 1 내지 도 4를 참조하여 일반적인 오픈플로우 기반 네트워크(100)에서의 복구 방법을 설명한다.Next, a recovery method in a general openflow-based network 100 will be described with reference to FIGS. 1 to 4.
도 1은 오픈플로우 기반 네트워크(100)의 예시도이다.1 is an illustration of an openflow based network 100.
도 1을 참조하면, 오픈플로우 기반 네트워크(100)는 6개의 오픈플로우 스위치 (110, 120, 130, 140, 150, 160)를 포함할 수 있다. 또한, 오픈플로우 기반 네트워크(100)는 제 1 호스트(170), 제 2 호스트(171) 및 제 3 호스트(172)를 포함할 수 있다.Referring to FIG. 1, the openflow based network 100 may include six openflow switches 110, 120, 130, 140, 150, and 160. In addition, the openflow-based network 100 may include a first host 170, a second host 171, and a third host 172.
오픈플로우 기반 네트워크(100)는 6개의 스위치(110, 120, 130, 140, 150, 160)와 직간접적으로 연결된 오픈플로우 컨트롤러, 목적지 호스트 및 출발지 호스트를 포함할 수 있다.The openflow-based network 100 may include an openflow controller, a destination host, and a source host directly or indirectly connected to six switches 110, 120, 130, 140, 150, and 160.
출발지 호스트는 패킷을 목적지 호스트로 전달할 수 있다. 이때, 목적지 호스트 및 출발지 호스트는 제 1 호스트(170), 제 2 호스트(171) 및 제 3 호스트(172)일 수 있다. 또한, 출발지 호스트 및 목적지 호스트는 도 1에 도시되지 않은 타 호스트일 수 있다. 예를 들어, 출발지 호스트 및 목적지 호스트는 서버, 컴퓨터 또는 모바일 장치일 수 있으나, 이에 한정된 것은 아니다.The source host may forward the packet to the destination host. In this case, the destination host and the departure host may be the first host 170, the second host 171, and the third host 172. Also, the source host and the destination host may be other hosts not shown in FIG. 1. For example, the source host and the destination host may be, but are not limited to, a server, computer or mobile device.
각각의 오픈플로우 스위치는 미리 정해진 링크를 통하여 타 오픈플로우 스위치, 오픈플로우 컨트롤러 또는 호스트 등과 연결될 수 있다.Each open flow switch may be connected to another open flow switch, an open flow controller, or a host through a predetermined link.
또한, 오픈플로우 기반 네트워크(100)는 에지 컴포넌트(edge components) 및 코어 컴포넌트(core components)를 포함할 수 있다. 이때, 에지 컴포넌트는 목적지 호스트 또는 출발지 호스트와 직접 연결된 것을 의미하며, 에지 스위치(edge switch) 및 에지 링크(edge link)를 포함할 수 있다.In addition, the openflow based network 100 may include edge components and core components. In this case, the edge component may be directly connected to the destination host or the source host, and may include an edge switch and an edge link.
예를 들어, 도 1을 참조하면, 에지 스위치는 제 3 오픈플로우 스위치(130) 및 제 4 오픈플로우 스위치(140)가 될 수 있으며, 에지 링크는 제 3 오픈플로우 스위치(130) 또는 제 4 오픈플로우 스위치(140)와 연결된 링크가 될 수 있다.For example, referring to FIG. 1, the edge switch may be the third open flow switch 130 and the fourth open flow switch 140, and the edge link may be the third open flow switch 130 or the fourth open. It may be a link connected to the flow switch 140.
또한, 코어 컴포넌트는 출발지 호스트에서 수신한 패킷을 다른 코어 컴포넌트 또는 에지 컴포넌트로 전달하는 것으로, 코어 스위치(core switch) 및 코어 링크(core link)를 포함할 수 있다.In addition, the core component delivers a packet received from the source host to another core component or an edge component, and may include a core switch and a core link.
예를 들어, 도 1을 참조하면, 코어 스위치는 제 1 오픈플로우 스위치(110), 제 2 오픈플로우 스위치(120), 제 5 오픈플로우 스위치(150) 및 제 6 오픈플로우 스위치가 될 수 있다. 또한, 코어 링크는 제 1 오픈플로우 스위치(110), 제 2 오픈플로우 스위치(120), 제 5 오픈플로우 스위치(150) 및 제 6 오픈플로우 스위치와 연결된 링크가 될 수 있다.For example, referring to FIG. 1, the core switch may be a first open flow switch 110, a second open flow switch 120, a fifth open flow switch 150, and a sixth open flow switch. In addition, the core link may be a link connected to the first open flow switch 110, the second open flow switch 120, the fifth open flow switch 150, and the sixth open flow switch.
오픈플로우 기반 네트워크(100)는 제 1 호스트(170) 또는 제 2 호스트(171)가 목적지 호스트인 제 1 플로우와 제 3 호스트(172)가 목적지 호스트인 제 2 플로우를 포함할 수 있다. 제 1 플로우의 최적의 경로는 "제 1 오픈플로우 스위치(110) -> 제 2 오픈플로우 스위치(120) -> 제 4 오픈플로우 스위치(140)"일 수 있다. 또한, 제 2 플로우의 최적의 경로는 "제 1 오픈플로우 스위치(110) -> 제 2 오픈플로우 스위치(120) -> 제 3 오픈플로우 스위치(130)"일 수 있다. 이때, 제 1 플로우 및 제 2 플로우는 제 1 오픈플로우 스위치(110) 및 제 2 오픈플로우 간의 링크를 공유할 수 있다. 즉, 제 2 오픈플로우 스위치(120)는 제 1 플로우 및 제 2 플로우를 위한 중앙 스위치(center switch) 역할을 할 수 있다.The open flow based network 100 may include a first flow in which the first host 170 or the second host 171 is a destination host, and a second flow in which the third host 172 is a destination host. The optimal path of the first flow may be "first openflow switch 110-> second openflow switch 120-> fourth openflow switch 140". Also, the optimal path of the second flow may be “first open flow switch 110-> second open flow switch 120-> third open flow switch 130”. In this case, the first flow and the second flow may share a link between the first open flow switch 110 and the second open flow. That is, the second open flow switch 120 may serve as a center switch for the first flow and the second flow.
오픈플로우 기반 네트워크(100)에 포함된 컴포넌트 중 어느 하나에 오류가 발생하면, 오픈플로우 기반 네트워크(100)에 포함된 각 오픈플로우 스위치는 오픈플로우 컨트롤러를 통하여 우회 경로에 기초하여 타 컴포넌트로 우회할 수 있다. If an error occurs in any of the components included in the openflow-based network 100, each openflow switch included in the openflow-based network 100 may bypass other components based on the bypass path through the openflow controller. Can be.
이때, 오류는 오픈플로우 기반 네트워크(100)에 포함된 오픈플로우 스위치가 전원이 꺼지거나, 고장이 발생하여, 패킷을 수신할 수 없는 것일 수 있다. 또는, 오류는 오픈플로우 기반 네트워크(100)에 포함된 오픈플로우 스위치가 전원이 꺼지거나, 고장이 발생하여 수신한 패킷을 다른 오픈플로우 스위치 또는 호스트로 전달할 수 없는 것을 의미한다. 또는, 오류는 두 오픈플로우 스위치 간의 링크가 끊어진 것일 수 있으나, 이에 한정된 것은 아니다.In this case, the error may be that the open flow switch included in the open flow-based network 100 is powered off or a failure occurs, and thus the packet cannot be received. Alternatively, an error means that an openflow switch included in the openflow-based network 100 is powered off, or a failure occurs, so that a received packet cannot be delivered to another openflow switch or host. Alternatively, the error may be that the link between the two open flow switches is broken, but is not limited thereto.
도 2는 오픈플로우 기반 네트워크(100)의 오픈플로우 스위치 오류에 대한 예시도이다.2 is an exemplary diagram of an open flow switch error of the open flow based network 100.
예를 들어, 도 2를 참조하면, 오픈플로우 기반 네트워크(100)에 포함된 제 2 오픈플로우 스위치(120)에 오류가 발생할 수 있다. 즉, 오픈플로우 기반 네트워크(100)는 제 2 오픈플로우 스위치(120)의 오류에 기초하여 제 1 오픈플로우 스위치(110)와 제 2 오픈플로우 스위치(120) 간의 링크(200, 201), 제 2 오픈플로우 스위치(120)와 제 4 오픈플로우 스위치(140) 간의 링크(210), 및 제 2 오픈플로우 스위치(120)와 제 3 오픈플로우 스위치(130) 간의 링크(220)를 이용할 수 없게 된다.For example, referring to FIG. 2, an error may occur in the second openflow switch 120 included in the openflow-based network 100. That is, the open flow-based network 100 may include links 200, 201, and second between the first open flow switch 110 and the second open flow switch 120 based on an error of the second open flow switch 120. The link 210 between the open flow switch 120 and the fourth open flow switch 140 and the link 220 between the second open flow switch 120 and the third open flow switch 130 become unavailable.
오픈플로우 기반 네트워크(100)는 대체 경로에 기초하여 오류가 발생한 스위치(failed switch)와 미리 정해진 홉(hop) 간격인 타 스위치로 우회할 수 있다. 예를 들어, 오픈플로우 기반 네트워크(100)는 지역 보호 메커니즘(local protection mechanism)에 기초하여 생성된 우회 경로에 따라 우회할 수 있다. The openflow-based network 100 may bypass a failed switch and another switch that is a predetermined hop interval based on an alternate path. For example, the openflow based network 100 may bypass according to a bypass path generated based on a local protection mechanism.
예를 들어, 미리 정해진 홉은 2홉 이내가 될 수 있다. 그러므로 제 1 플로우는 제 2 오픈플로우 스위치(120)와 1 홉 간격인 스위치 중 제 4 오픈플로우 스위치(140)로 우회할 수 있다. 즉, 제 1 플로우의 경로는 "제 1 오픈플로우 스위치(110) -> 제 5 오픈플로우 스위치(150) -> 제 4 오픈플로우 스위치(140)"로 우회할 수 있다. 비슷한 방법으로 제 2 플로우는 제 6 오픈플로우 스위치(160)를 우회할 수 있다. 즉, 제 2 플로우의 경로는 "제 1 오픈플로우 스위치(110) -> 제 6 오픈플로우 스위치(160) -> 제 3 오픈플로우 스위치(130)"로 우회할 수 있다.For example, the predetermined hop may be within two hops. Therefore, the first flow may bypass the fourth open flow switch 140 of the second open flow switch 120 and the one-hop interval switch. That is, the path of the first flow may bypass the "first open flow switch 110-> fifth open flow switch 150-> fourth open flow switch 140". In a similar manner, the second flow can bypass the sixth open flow switch 160. That is, the path of the second flow may bypass the "first open flow switch 110-> sixth open flow switch 160-> third open flow switch 130".
도 3은 오픈플로우 기반 네트워크(100)의 링크 오류에 대한 예시도이다.3 is an exemplary diagram of a link error of the openflow based network 100.
도 3을 참조하면, 제 1 오픈플로우 스위치(110)와 제 2 오픈플로우 스위치(120) 간의 링크(300, 301)에 오류가 발생할 수 있다. 그러므로 제 1 플로우의 경로는 "제 1 오픈플로우 스위치(110) -> 제 5 오픈플로우 스위치(150) -> 제 4 오픈플로우 스위치(140)"로 우회할 수 있다. 또한, 제 2 플로우의 경로는 "제 1 오픈플로우 스위치(110) -> 제 6 오픈플로우 스위치(160) -> 제 3 오픈플로우 스위치(130)"로 우회할 수 있다.Referring to FIG. 3, an error may occur in the links 300 and 301 between the first open flow switch 110 and the second open flow switch 120. Therefore, the path of the first flow may bypass the "first open flow switch 110-> fifth open flow switch 150-> fourth open flow switch 140". In addition, the path of the second flow may bypass the "first open flow switch 110-> sixth open flow switch 160-> third open flow switch 130".
이와 같이, 코어 컴포넌트에 오류가 발생하면, 오픈플로우 기반 네트워크(100)는 우회 경로를 통하여 오류가 발생한 코어 컴포넌트를 우회할 수 있다. 그러나 에지 컴포넌트에 이상이 발생하는 경우 오픈플로우 기반 네트워크(100)는 미리 정해진 홉수 이내에 해당 이상에 영향을 받지 않는 스위치를 포함하지 않을 수 있다.As such, when an error occurs in the core component, the openflow-based network 100 may bypass the failed core component through a bypass path. However, when an error occurs in the edge component, the openflow-based network 100 may not include a switch that is not affected by the error within a predetermined hop number.
도 4는 오픈플로우 기반 네트워크(100)의 에지 컴포넌트 오류에 대한 예시도이다.4 is an exemplary diagram of an edge component error of the openflow based network 100.
예를 들어, 도 4를 참조하면, 제 2 오픈플로우 스위치(120)와 제 4 오픈플로우 스위치(140) 간의 링크(400)에 이상이 발생하면, 오픈플로우 기반 네트워크(100)는 더 이상 우회 가능한 우회 경로를 찾을 수 없다. 이때, 오픈플로우 기반 네트워크(100)의 오픈플로우 컨트롤러는 이상이 발생한 링크(400)의 문제를 해결하기 위하여 백업 경로를 설정할 수 있다. 즉, 제 2 오픈플로우 스위치(120)는 제 2 오픈플로우 스위치(120)와 제 4 오픈플로우 스위치(140) 간의 링크(400)가 복구될 때까지 백업 경로를 따라, 제 2 오픈플로우 스위치(120)로 도착한 패킷을 제 1 오픈플로우 스위치(110), 제 5 오픈플로우 스위치(150) 및 제 4 오픈플로우 스위치(140)로 우회시킬 수 있다.For example, referring to FIG. 4, when an error occurs in the link 400 between the second openflow switch 120 and the fourth openflow switch 140, the openflow-based network 100 may no longer be bypassed. No bypass route found In this case, the open flow controller of the open flow based network 100 may set a backup path to solve the problem of the link 400 in which an error occurs. That is, the second openflow switch 120 is along the backup path until the link 400 between the second openflow switch 120 and the fourth openflow switch 140 is restored. ) May be bypassed by the first open flow switch 110, the fifth open flow switch 150, and the fourth open flow switch 140.
이때, 종래의 오픈플로우 기반 네트워크(100)는 오픈플로우 기반 네트워크(100)에 포함된 오픈플로우 컨트롤러를 통하여 리액티브(reactive) 방식으로 백업 경로를 생성할 수 있다.In this case, the conventional openflow-based network 100 may generate a backup path in a reactive manner through the openflow controller included in the openflow-based network 100.
예를 들어, 오픈플로우 컨트롤러는 특정 오픈플로우 스위치 또는 특정 링크에 기초하여 중단된 플로우를 위한 플로우 규칙(flow rule)을 수정하여 미리 설정된 백업 경로에 따라 전송될 수 있다. 이때, 플로우 규칙을 수정하기 위하여 오픈플로우 컨트롤러는 플로우 규칙에 대응하는 대체 포트를 산출하여야 한다. 그러므로 오픈플로우 컨트롤러는 각 오픈플로우 스위치의 대체 포트 정보를 수신할 수 있다. 그리고 오픈플로우 컨트롤러는 수신한 대체 포트 정보 및 LOS(loss of signal) 시그널 메커니즘에 기초하여 각 오픈플로우 스위치의 포트 상태를 감지하여 우회 노드를 설정할 수 있다.For example, the open flow controller may modify a flow rule for a suspended flow based on a specific open flow switch or a specific link and transmit the modified flow rule according to a preset backup path. At this time, in order to modify the flow rule, the open flow controller should calculate an alternative port corresponding to the flow rule. Therefore, the OpenFlow Controller can receive alternate port information for each OpenFlow switch. The openflow controller may set a bypass node by detecting a port state of each openflow switch based on the received alternate port information and a loss of signal (LOS) signaling mechanism.
오픈플로우 컨트롤러는 오류가 발생한 포트를 대체할 수 있는 포트를 산출할 수 있다. 그리고 오픈플로우 컨트롤러는 대체 포트를 산출한 이후 미리 설정된 백업 경로로 중단된 플로우를 전송하기 위하여 최적 경로 규칙을 수정할 수 있다. The OpenFlow controller can calculate a port that can replace the failed port. After calculating the alternative port, the open flow controller may modify the optimal path rule to transmit the interrupted flow to the preset backup path.
예를 들어 다시 도 2 및 도 3을 참조하면, 제 2 오픈플로우 스위치(120)에 오류가 발견되거나, 제 1 오픈플로우 스위치(110) 및 제 2 오픈플로우 스위치(120) 간의 경로 상에 오류가 발견되면, 제 2 오픈플로우 스위치(120)로 패킷을 전달하고자 하는 제 1 오픈플로우 스위치(110)는 오픈플로우 컨트롤러로 이상 통보 메시지를 전달할 수 있다. For example, referring back to FIGS. 2 and 3, an error is found in the second open flow switch 120, or an error is detected in the path between the first open flow switch 110 and the second open flow switch 120. If found, the first openflow switch 110, which intends to deliver a packet to the second openflow switch 120, may transmit an abnormality notification message to the openflow controller.
오픈플로우 컨트롤러는 플로우 수정 메시지를 생성하여 해당 오픈플로우 스위치에 전달할 수 있다. 이때, 플로우 수정 메시지는 미리 정해진 대체 경로를 통하여, 전송이 중단된 플로우를 제 2 오픈플로우 스위치(120)와 미리 정해진 홉 수 이내의 다른 오픈플로우 스위치를 통하여 전달할 수 있도록 하는 메시지일 수 있다. 즉, 제 5 오픈플로우 스위치(150)는 제 1 플로우에 기초하여 패킷을 전달하기 위한 플로우 규칙을 설치할 수 있다.The open flow controller can generate flow modification messages and pass them to the appropriate open flow switches. In this case, the flow modification message may be a message for transmitting a flow in which transmission is interrupted through the second open flow switch 120 and other open flow switches within a predetermined hop number through a predetermined substitute path. That is, the fifth open flow switch 150 may install a flow rule for delivering a packet based on the first flow.
다음은 도 5 내지 도 8을 참조하여 본 발명의 일 실시예에 따른 오픈플로우 스위치(500)를 설명한다. Next, an open flow switch 500 according to an embodiment of the present invention will be described with reference to FIGS. 5 to 8.
도 5는 본 발명의 일 실시예에 따른 오픈플로우 스위치(500)의 블록도이다. 5 is a block diagram of an openflow switch 500 according to an embodiment of the present invention.
오픈플로우 스위치(500)는 출발지 호스트로부터 전달된 패킷을 목적지 호스트로 전달되도록 할 수 있다. 이때, 오픈플로우 스위치(500)는 출발지 호스트 또는 목적지 호스트와 직접 연결되거나 하나 이상의 타 오픈플로우 스위치(500)를 통하여 간접적으로 연결될 수 있다.The openflow switch 500 may allow a packet transmitted from the source host to be delivered to the destination host. In this case, the open flow switch 500 may be directly connected to the source host or the destination host or indirectly through one or more other open flow switches 500.
또한, 오픈플로우 스위치(500)는 오픈플로우 컨트롤러(540)와 직접적으로 연결되거나, 하나 이상의 타 오픈플로우 스위치(500)를 통하여 연결될 수 있다. In addition, the open flow switch 500 may be directly connected to the open flow controller 540 or may be connected through one or more other open flow switches 500.
오픈플로우 스위치(500)는 통신 모듈(510), 메모리(520) 및 프로세서(530)를 포함한다. The open flow switch 500 includes a communication module 510, a memory 520, and a processor 530.
통신 모듈(510)은 호스트 및 오픈플로우 스위치(500)와 데이터 통신을 수행할 수 있다. 또한, 통신 모듈(510)은 오픈플로우 컨트롤러(540)와 데이터 통신을 수행할 수 있다. The communication module 510 may perform data communication with the host and the open flow switch 500. In addition, the communication module 510 may perform data communication with the open flow controller 540.
메모리(520)는 오류 복구 프로그램이 저장된다. 이때, 메모리(520)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치를 통칭하는 것이다. The memory 520 stores an error recovery program. In this case, the memory 520 generally refers to a nonvolatile storage device that maintains stored information even when power is not supplied, and a volatile storage device that requires power to maintain stored information.
또한, 메모리(520)는 플로우 테이블 및 그룹 테이블을 저장한다. 플로우 테이블 및 그룹 테이블은 도 6을 참조하여 설명한다. The memory 520 also stores a flow table and a group table. The flow table and the group table will be described with reference to FIG. 6.
도 6은 본 발명의 일 실시예에 따른 플로우 테이블 및 그룹 테이블의 예시도이다. 이때, 도 6의 (a)는 플로우 테이블의 예시도이다. 또한, 도 6의 (b)는 그룹 테이블의 예시도이다. 6 is an exemplary diagram of a flow table and a group table according to an embodiment of the present invention. 6A is an exemplary diagram of a flow table. 6B is an exemplary diagram of a group table.
플로우 테이블은 엔트리로 플로우 규칙을 저장한다. The flow table stores flow rules as entries.
예를 들어, 플로우 규칙은 출발지 IP(internet protocol), 목적지 IP, 진입 포트, VLAN ID 및 액션(action)을 포함할 수 있다. 이때, 출발지 IP는 출발지 호스트의 IP와 같은 주소일 수 있다. 또한, 목적지 IP는 목적지 호스트의 IP와 같은 주소일 수 있다. 또한, VLAN ID는 컴포넌트에 대응하여 유일한(unique) 식별자일 수 있다. For example, the flow rule may include a source IP, a destination IP, an entry port, a VLAN ID, and an action. At this time, the source IP may be the same address as the source host IP. In addition, the destination IP may be the same address as the IP of the destination host. In addition, the VLAN ID may be a unique identifier corresponding to the component.
이때, 컴포넌트는 오픈플로우 스위치(500) 및 링크를 포함하는 개념이다. 링크는 두 오픈플로우 스위치(500) 간의 유선 연결 또는 무선 연결을 의미한다. In this case, the component is a concept including an open flow switch 500 and a link. The link means a wired connection or a wireless connection between two open flow switches 500.
액션은 해당 플로우 규칙에 대응하는 액션이 정의된다. 예를 들어, 도 6의 (a)를 참조하면, 액션은 패킷을 전달하기 위하여 사용할 수 있는 그룹 ID를 포함할 수 있다. The action is defined an action corresponding to the flow rule. For example, referring to FIG. 6A, the action may include a group ID that can be used to deliver a packet.
또한, 도 6의 (b)를 참조하면 그룹 테이블은 그룹 식별자, 그룹 타입 및 액션 버킷(action bucket)을 포함할 수 있다. 이때, 그룹 식별자는 플로우 규칙의 액션과 매칭되는 것일 수 있다. 또한, 그룹 타입은 "ALL", "SELECT", "INDIRECT" 및 "FAST-FAILOVER" 등이 될 수 있다. 액션 버킷은 그룹에 대응하는 액션을 포함할 수 있다. 이때, 액션 버킷은 주 경로 및 대체 경로에 대한 정보를 포함할 수 있다. 예를 들어, 그룹 유형이 "FAST-FAILOVER"인 경우, 액션 버킷은 "주 경로 - 포트 3을 통하여 출력" 또는 "대체 경로 - 포트 4를 통하여 출력"과 같이 설정될 수 있다. In addition, referring to FIG. 6B, the group table may include a group identifier, a group type, and an action bucket. In this case, the group identifier may match the action of the flow rule. In addition, the group type may be "ALL", "SELECT", "INDIRECT" and "FAST-FAILOVER". The action bucket may include an action corresponding to the group. In this case, the action bucket may include information about the main route and the alternate route. For example, if the group type is "FAST-FAILOVER", the action bucket may be set as "main path-output through port 3" or "alternative path-output through port 4."
이때, 플로우 테이블 및 그룹 테이블은 통신 모듈(510)을 통하여 오픈플로우 컨트롤러(540)로부터 수신한 것일 수 있다.In this case, the flow table and the group table may be received from the open flow controller 540 through the communication module 510.
한편, 프로세서(530)는 통신 모듈(510)을 통하여 패킷을 수신할 수 있다. 그리고 프로세서(530)는 통신 모듈(510)을 통하여 패킷에 대응하는 플로우에 따라 패킷을 타 오픈플로우 스위치(500) 또는 목적지 호스트로 전달할 수 있다. 이때, 프로세서(530)는 플로우 테이블 및 그룹 테이블에 기초한 경로에 따라 수신한 패킷을 전달할 수 있다.The processor 530 may receive a packet through the communication module 510. The processor 530 may deliver the packet to another open flow switch 500 or the destination host according to the flow corresponding to the packet through the communication module 510. In this case, the processor 530 may deliver the received packet along a path based on the flow table and the group table.
도 7은 본 발명의 일 실시예에 따른 코어 컴포넌트에 대한 오류 복구 과정을 설명하기 위한 예시도이다. 7 is an exemplary view for explaining an error recovery process for a core component according to an embodiment of the present invention.
도 7을 참조하면, 본 발명의 일 실시예에 따른 오픈플로우 기반 네트워크(700)에 포함된 제 1 오픈플로우 스위치(710)는 수신한 제 1 플로우에 대응하는 패킷을 목적지 호스트로 전달하기 위하여 기설정된 경로에 따라 링크를 통하여 제 2 오픈플로우 스위치(720)로 전송할 수 있다. Referring to FIG. 7, the first openflow switch 710 included in the openflow based network 700 according to an embodiment of the present invention may provide a packet corresponding to the received first flow to the destination host. According to the set path, it may be transmitted to the second open flow switch 720 through the link.
또한, 제 2 오픈플로우 스위치(720)는 오픈플로우 컨트롤러(540)로부터 수신한 패킷을 제 4 오픈플로우 스위치(740)로 전송할 수 있다. 그리고 제 4 오픈플로우 스위치(740)는 제 2 오픈플로우 스위치(720)로부터 수신한 패킷을 제 3 호스트(172)로 전송할 수 있다.In addition, the second openflow switch 720 may transmit a packet received from the openflow controller 540 to the fourth openflow switch 740. The fourth openflow switch 740 may transmit a packet received from the second openflow switch 720 to the third host 172.
이와 같이, 오픈플로우 기반 네트워크(700)는 해당 플로우의 기설정된 경로에 따라 패킷을 목적지 호스트로 전달할 수 있다.As such, the open flow-based network 700 may deliver the packet to the destination host according to a predetermined path of the flow.
한편, 패킷을 전달하는 경로 상에 포함된 특정 컴포넌트에 오류가 발생하면, 프로세서(530)는 해당 컴포넌트를 우회할 수 있는 대체 경로를 설정할 수 있다. 이때, 컴포넌트는 패킷을 수신할 타 오픈플로우 스위치(500)이거나, 해당 오픈플로우 스위치(500)와의 링크를 포함할 수 있다.On the other hand, if an error occurs in a specific component included in a path for delivering a packet, the processor 530 may set an alternative path for bypassing the corresponding component. In this case, the component may be another open flow switch 500 to receive a packet, or may include a link with the corresponding open flow switch 500.
오류는 프로세서(530)가 통신 모듈(510)을 통하여 패킷을 전달하게 되는 타 오픈플로우 스위치가 고장 나거나, 해당 오픈플로우 스위치에서 패킷을 수신할 수 있는 문제가 발생한 것을 의미할 수 있다. 또는, 오류는 프로세서(530)가 통신 모듈(510)을 통하여 패킷을 전달할 때, 해당 패킷을 수신하는 타 오픈플로우 스위치와의 링크가 끊어지거나, 링크에 문제가 발생하여 해당 오픈플로우 스위치가 패킷을 수신할 수 없는 경우를 의미할 수 있다.The error may mean that another open flow switch through which the processor 530 delivers the packet through the communication module 510 is broken, or a problem may occur in which the packet is received by the corresponding open flow switch. Or, when the processor 530 transmits a packet through the communication module 510, the link with another open flow switch that receives the packet is broken, or a problem occurs in the link, so that the open flow switch detects the packet. It may mean that it cannot be received.
구체적으로 경로에 따라 패킷을 전달해야 하는 대상 오픈플로우 스위치로 패킷을 전달하지 못하는 경우, 프로세서(530)는 대상 오픈플로우 스위치 또는 대상 오픈플로우 스위치와의 링크를 포함하는 컴포넌트의 오류를 감지할 수 있다. 이때, 오류는 해당 오픈플로우 스위치(500) 또는 해당 오픈플로우 스위치(500)와의 링크에 대한 것일 수 있다.Specifically, when the packet cannot be delivered to the target open flow switch that needs to deliver the packet according to the path, the processor 530 may detect an error of a component including a target open flow switch or a link with the target open flow switch. . In this case, the error may be for a link with the open flow switch 500 or the open flow switch 500.
컴포넌트 상에 오류가 감지되면, 프로세서(530)는 패킷에 대응하는 플로우의 정보 및 오류가 발생한 컴포넌트의 정보에 기초하여 대체 경로를 설정할 수 있다. 이때, 대체 경로는 프로세서(530)가 오픈플로우 컨트롤러(540)를 통하여 대체 경로를 수신하여 메모리(520)에 저장한 것일 수 있다. If an error is detected on the component, the processor 530 may set an alternate path based on information of the flow corresponding to the packet and information of the component in which the error occurs. In this case, the alternative path may be the processor 530 received the alternative path through the open flow controller 540 and stored in the memory 520.
예를 들어, 대체 경로는 메모리(520)에 저장된 그룹 테이블에 저장된 것일 수 있다. 이때, 대체 경로에 대응하는 그룹 엔트리는 그룹 유형이 "FAST-FAILOVER"로 설정된 것일 수 있다.For example, the alternate path may be stored in the group table stored in the memory 520. In this case, the group entry corresponding to the alternate path may be a group type set to "FAST-FAILOVER".
대체 경로는 오픈플로우 컨트롤러(540)가 오류에 기초하여 수집된 하나 이상의 플로우의 정보에 기초하여 생성한 것일 수 있다. 또한, 오류에 기초하여 수집된 하나 이상의 플로우는 해당 오류에 기초하여 패킷의 전송이 중단된 플로우일 수 있다.The alternate path may be generated by the OpenFlow Controller 540 based on the information of one or more flows collected based on the error. In addition, one or more flows collected based on an error may be a flow in which transmission of a packet is stopped based on the error.
대체 경로는 목적지 호스트 주소가 동일한 플로우 그룹 당 하나씩 생성될 수 있다. 예를 들어, 오픈플로우 컨트롤러(540)는 목적지 호스트의 주소가 동일한 플로우를 분류하고, 하나 이상의 플로우 그룹을 생성할 수 있다. 또는, 오픈플로우 컨트롤러(540)는 목적지 호스트와 연결된 오픈플로우 스위치(500)의 주소가 동일한 플로우를 분류하여 하나 이상의 플로우 그룹을 생성할 수 있다. 이하에서는 목적지 호스트의 주소가 동일한 플로우에 기초하여 플로우 그룹을 생성하는 것으로 설명하나, 이에 한정되는 것은 아니다.Alternate routes may be generated, one per flow group with the same destination host address. For example, the open flow controller 540 may classify flows having the same address of the destination host and generate one or more flow groups. Alternatively, the open flow controller 540 may generate one or more flow groups by classifying flows having the same address of the open flow switch 500 connected to the destination host. In the following description, a flow group is generated based on a flow in which the destination host has the same address, but is not limited thereto.
그리고 오픈플로우 컨트롤러(540)는 각 플로우 그룹 당 하나의 대체 경로를 생성할 수 있다. 즉, 오픈플로우 컨트롤러(540)는 플로우 그룹에 포함된 목적지가 동일한 하나 이상의 플로우 당 하나의 대체 경로를 생성할 수 있다.The open flow controller 540 may generate one substitute path for each flow group. That is, the open flow controller 540 may generate one alternative path per one or more flows having the same destination included in the flow group.
이때, 오픈플로우 컨트롤러(540)는 오픈플로우 스위치(500) 및 링크에 대응하여 설정된 VLAN(virtual local address network) ID에 기초하여 목적지 호스트가 동일한 플로우 그룹을 분류할 수 있다. 이때, 오픈플로우 스위치(500) 및 링크에 대응하여 설정되는 VLAN ID는 유일한 식별자일 수 있다.In this case, the open flow controller 540 may classify the same flow group to the destination host based on the virtual local address network (VLAN) ID set corresponding to the open flow switch 500 and the link. In this case, the VLAN ID set corresponding to the open flow switch 500 and the link may be a unique identifier.
또한, 오픈플로우 컨트롤러(540)는 플로우 태깅(flow tagging) 메커니즘에 기초하여 대체 경로를 생성할 수 있다. 오픈플로우 컨트롤러(540)는 대체 경로에 포함된 헤더 태그와 매칭되는 플로우 규칙이 설정할 수 있다.In addition, the open flow controller 540 may generate an alternate route based on a flow tagging mechanism. The open flow controller 540 may set a flow rule that matches the header tag included in the alternate path.
대체 경로는 오류가 발생할 수 있는 컴포넌트의 유형에 기초하여 상이하게 설정될 수 있다. 예를 들어, 컴포넌트가 호스트와 직접 연결되는 오픈플로우 스위치(500) 또는 해당 오픈플로우 스위치(500)에 대응하는 링크를 포함하는 에지 컴포넌트인 경우, 대체 경로는 해당 에지 컴포넌트에 포함된 링크에 기초하여 생성될 수 있다. 또는, 컴포넌트가 타 오픈플로우 스위치(500)와 연결된 오픈플로우 스위치(500) 또는 해당 오픈플로우 스위치(500)에 대응하는 링크를 포함하는 코어 컴포넌트인 경우, 대체 경로는 해당 코어 컴포넌트에 포함된 오픈플로우 스위치(500)에 기초하여 생성된 것일 수 있다.The alternate path may be set differently based on the type of component in which an error may occur. For example, if the component is an edge component that includes an open flow switch 500 or a link corresponding to the open flow switch 500 that is directly connected to the host, the alternate path is based on the link included in that edge component. Can be generated. Alternatively, when the component is a core component including an open flow switch 500 connected to another open flow switch 500 or a link corresponding to the open flow switch 500, the alternative path is an open flow included in the core component. It may be generated based on the switch 500.
이러한 과정을 통하여, 오픈플로우 컨트롤러(540)는 오류에 대응하는 오픈플로우 컨트롤러(540)와 미리 정해진 홉 수 이내에 위치한 오픈플로우 컨트롤러(540)로 우회할 수 있도록 대체 경로를 생성할 수 있다. 이때, 미리 정해진 홉 수는 2홉이 될 수 있다.Through this process, the open flow controller 540 may generate an alternative path to bypass the open flow controller 540 corresponding to the error and the open flow controller 540 located within a predetermined hop number. In this case, the predetermined hop number may be two hops.
프로세서(530)는 통신 모듈(510)을 통하여 오픈플로우 컨트롤러(540)로부터 하나 이상의 플로우 그룹에 대응하는 대체 경로를 수신하여 저장할 수 있다. 이때, 프로세서(530)는 해당 플로우 그룹에 대응하는 대체 경로를 그룹 테이블에 그룹 엔트리로 저장할 수 있다. 이때, 프로세서(530)는 그룹 유형을 "FAST-FAILOVER"로 설정하여 해당 대체 경로가 포함된 그룹 엔트리를 그룹 테이블에 저장할 수 있다.The processor 530 may receive and store an alternative path corresponding to one or more flow groups from the open flow controller 540 through the communication module 510. In this case, the processor 530 may store the alternative path corresponding to the flow group as a group entry in the group table. In this case, the processor 530 may set the group type to "FAST-FAILOVER" and store the group entry including the corresponding alternative path in the group table.
이하에서는 도 7 및 도 8을 참조하여 오픈플로우 스위치(500)의 오류 복구 과정을 예를 들어 설명한다.Hereinafter, an error recovery process of the open flow switch 500 will be described with reference to FIGS. 7 and 8.
도 7을 참조하면 제 1 오픈플로우 스위치(710)의 VLAN ID는 1이며, 제 2 오픈플로우 스위치(720)의 VLAN ID는 3, 제 3 오픈플로우 스위치(730)의 VLAN ID는 5, 제 4 오픈플로우 스위치(740)의 VLAN ID는 9, 제 5 오픈플로우 스위치(750)의 VLAN ID는 7, 제 6 오픈플로우 스위치(760)의 VLAN ID는 12가 될 수 있다.Referring to FIG. 7, the VLAN ID of the first openflow switch 710 is 1, the VLAN ID of the second openflow switch 720 is 3, and the VLAN ID of the third openflow switch 730 is 5, fourth. The VLAN ID of the open flow switch 740 may be 9, the VLAN ID of the fifth open flow switch 750 may be 7, and the VLAN ID of the sixth open flow switch 760 may be 12.
또한, 도 7을 참조하면, 오류는 제 2 오픈플로우 스위치(720)에 대응하는 코어 컴포넌트에 발생한 것이 될 수 있다. 즉, 오류는 제 2 오픈플로우 스위치(720) 또는 제 2 오픈플로우 스위치(720)에 대응하는 링크(780, 781, 790)에 발생한 것이 될 수 있다.In addition, referring to FIG. 7, the error may be generated in the core component corresponding to the second openflow switch 720. That is, the error may be caused by the second open flow switch 720 or the link 780, 781, 790 corresponding to the second open flow switch 720.
제 1 오픈플로우 스위치(710)는 수신한 제 1 패킷을 제 2 오픈플로우 스위치(720)로 전달할 수 있다. 이때, 제 1 패킷은 목적지 호스트가 제 3 호스트(772)인 패킷일 될 수 있다.The first openflow switch 710 may transfer the received first packet to the second openflow switch 720. In this case, the first packet may be a packet in which the destination host is the third host 772.
제 1 오픈플로우 스위치(710)는 제 1 패킷을 제 3 호스트(772)로 전달하기 위하여 제 1 오픈플로우 스위치(710)의 메모리(520)에 저장된 플로우 테이블 및 그룹 테이블에 기초하여 제 1 패킷에 대응하는 플로우의 경로를 추출할 수 있다. 예를 들어, 경로는 플로우 테이블에 저장된 제 1 패킷에 대응하는 플로우 규칙에 포함된 그룹 식별자와 매칭되는 그룹 테이블의 그룹 엔트리에 기초하여 설정되는 것일 수 있다. 즉, 해당 경로는 해당 패킷을 제 2 오픈플로우 스위치(720)를 통하여 제 4 오픈플로우 스위치(740)로 전달하는 것일 수 있다.The first openflow switch 710 transmits the first packet to the first packet based on the flow table and the group table stored in the memory 520 of the first openflow switch 710 to deliver the first packet to the third host 772. The path of the corresponding flow can be extracted. For example, the path may be set based on a group entry of the group table that matches the group identifier included in the flow rule corresponding to the first packet stored in the flow table. That is, the path may be to deliver the packet to the fourth open flow switch 740 through the second open flow switch 720.
그리고 제 1 오픈플로우 스위치(710)는 경로에 기초하여 제 2 오픈플로우 스위치(720)로 제 1 패킷을 전달할 수 있다. 이때, 제 2 오픈플로우 스위치(720)가 오류에 의하여 제 1 패킷을 수신할 수 없다면, 제 1 오픈플로우 스위치(710)는 제 2 오픈플로우 스위치(720)의 오류를 감지할 수 있다.The first openflow switch 710 may deliver the first packet to the second openflow switch 720 based on the path. In this case, if the second open flow switch 720 cannot receive the first packet due to an error, the first open flow switch 710 may detect an error of the second open flow switch 720.
제 1 오픈플로우 스위치(710)는 제 2 오픈플로우 스위치(720)의 정보 및 제 1 패킷에 대응하는 플로우의 정보에 기초하여 대체 경로를 추출할 수 있다. 예를 들어, 제 1 오픈플로우 스위치(710)는 해당 플로우에 대응하는 플로우 규칙을 추출할 수 있다. 그리고 제 1 오픈플로우 스위치(710)는 해당 플로우의 플로우 규칙과 매칭하는 그룹 엔트리를 추출할 수 있다. 그리고 제 1 오픈플로우 스위치(710)는 그룹 엔트리에 포함된 액션 버킷에 기초하여 대체 경로를 추출할 수 있다.The first openflow switch 710 may extract an alternate path based on the information of the second openflow switch 720 and the information of the flow corresponding to the first packet. For example, the first open flow switch 710 may extract a flow rule corresponding to the flow. The first open flow switch 710 may extract a group entry matching the flow rule of the corresponding flow. The first openflow switch 710 may extract an alternate path based on the action bucket included in the group entry.
이때, 대체 경로는 앞에서 설명한 바와 같이 오픈플로우 컨트롤러(540)가 생성하여 전달한 것일 수 있다. 이때, 대체 경로는 오류에 대응하는 오픈플로우 스위치(500)의 VLAN ID에 기초하여 추출된 것일 수 있다. 예를 들어, 대체 경로는 제 2 오픈플로우 스위치(720)의 VLAN ID에 기초하여 추출될 수 있다. 또한, 대체 경로는 앞에서 설명한 바와 같이 제 2 오픈플로우 스위치(720)와 미리 정해진 홉 수 이내의 오픈플로우 스위치(500)가 포함되는 것일 수 있다.In this case, the alternative path may be generated and delivered by the open flow controller 540 as described above. In this case, the alternate path may be extracted based on the VLAN ID of the open flow switch 500 corresponding to the error. For example, the alternate path may be extracted based on the VLAN ID of the second openflow switch 720. In addition, the alternative path may include a second open flow switch 720 and an open flow switch 500 within a predetermined hop number as described above.
그리고 제 1 오픈플로우 스위치(710)는 대체 경로에 따라, 제 6 오픈플로우 스위치(760) 및 제 3 오픈플로우 스위치(730)를 통하여 제 1 호스트(770)로 제 1 패킷을 전달할 수 있다.The first openflow switch 710 may deliver the first packet to the first host 770 through the sixth openflow switch 760 and the third openflow switch 730 according to the alternative path.
도 8은 본 발명의 일 실시예에 따른 에지 컴포넌트에 대한 오류 복구 과정을 설명하기 위한 예시도이다.8 is an exemplary diagram for describing an error recovery process for an edge component according to an embodiment of the present invention.
도 8을 참조하면 제 1 오픈플로우 스위치(710)는 수신한 제 2 패킷을 제 2 오픈플로우 스위치(720)로 전달할 수 있다. 이때, 제 2 패킷은 목적지 호스트가 제 3 호스트(772)인 패킷일 될 수 있다.Referring to FIG. 8, the first openflow switch 710 may transfer the received second packet to the second openflow switch 720. In this case, the second packet may be a packet in which the destination host is the third host 772.
또한, 제 2 오픈플로우 스위치(720)는 제 4 오픈플로우 스위치(740)로 제 2 패킷을 전달할 수 있다. 이때, 제 4 오픈플로우 스위치(740)에 대응하는 에지 컴포넌트에 오류가 발생하면, 제 2 오픈플로우 스위치(720)는 제 4 오픈플로우 스위치(740)의 정보 및 제 2 패킷에 대응하는 플로우의 정보에 기초하여 대체 경로를 추출할 수 있다.In addition, the second openflow switch 720 may transmit the second packet to the fourth openflow switch 740. At this time, if an error occurs in the edge component corresponding to the fourth open flow switch 740, the second open flow switch 720 may include information of the fourth open flow switch 740 and information of a flow corresponding to the second packet. Based on the alternative route can be extracted.
예를 들어, 대체 경로는 오류가 발생한 제 2 오픈플로우 스위치(720) 및 제 4 오픈플로우 스위치(740) 간의 링크에 기초하여 생성된 것일 수 있다. 대체 경로는 제 2 오픈플로우 스위치(720) 및 제 4 오픈플로우 스위치(740) 간의 링크의 VLAN ID인 10에 기초하여 추출될 수 있다. 즉, 대체 경로는 VLAN ID가 10인 컴포넌트에 대응하여 생성된 것일 수 있다.For example, the alternate path may be generated based on a link between the failed second openflow switch 720 and the fourth openflow switch 740. The alternate path may be extracted based on the VLAN ID 10 of the link between the second openflow switch 720 and the fourth openflow switch 740. That is, the alternate path may be generated corresponding to the component having a VLAN ID of 10.
대체 경로는 제 2 오픈플로우 스위치(720)가 제 2 패킷을 제 1 오픈플로우 스위치(710), 제 5 오픈플로우 스위치(750) 및 제 4 오픈플로우 스위치(740)를 통하여 제 3 호스트(772)에 전달하는 것일 수 있다. 그러므로 제 2 오픈플로우 스위치(720)는 제 1 오픈플로우 스위치(710)로 제 2 패킷을 전달할 수 있다. The alternate path is the second openflow switch 720 sends the second packet through the first openflow switch 710, the fifth openflow switch 750, and the fourth openflow switch 740 to the third host 772. It may be to pass on. Therefore, the second openflow switch 720 can deliver the second packet to the first openflow switch 710.
다음은 도 9를 참조하여, 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(540)를 설명한다.Next, an open flow controller 540 according to an embodiment of the present invention will be described with reference to FIG. 9.
도 9는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(540)의 블록도이다.9 is a block diagram of an openflow controller 540 according to an embodiment of the present invention.
오픈플로우 컨트롤러(540)는 오픈플로우 스위치(500)와 연결될 수 있다. 오픈플로우 컨트롤러(540)는 오픈플로우 기반 네트워크(100)에 포함된 복수의 오픈플로우 스위치(500) 또는 링크에 대응하는 오류에 기초하여 대체 경로를 생성할 수 있다. 이때, 오픈플로우 컨트롤러(540)는 통신 모듈(900), 메모리(910) 및 프로세서(920)를 포함할 수 있다.The open flow controller 540 may be connected to the open flow switch 500. The open flow controller 540 may generate an alternate path based on an error corresponding to a plurality of open flow switches 500 or links included in the open flow based network 100. In this case, the open flow controller 540 may include a communication module 900, a memory 910, and a processor 920.
통신 모듈(900)은 오픈플로우 기반 네트워크(100)에 포함된 복수의 오픈플로우 스위치(500)와 데이터 통신을 수행할 수 있다.The communication module 900 may perform data communication with a plurality of open flow switches 500 included in the open flow based network 100.
메모리(910)는 대체 경로 생성 프로그램이 저장된다. 이때, 메모리(910)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치를 통칭하는 것이다.The memory 910 stores an alternative path generation program. In this case, the memory 910 collectively refers to a nonvolatile storage device that maintains stored information even when power is not supplied, and a volatile storage device that requires power to maintain stored information.
프로세서(920)는 대체 경로 생성 프로그램에 기초하여 오픈플로우 스위치(500) 또는 두 오픈 플로우 스위치(500)간의 링크 상에 오류가 발생하는 경우에 대비하여 대체 경로를 생성할 수 있다. 이때, 오류는 특정 플로우에 포함된 오픈플로우 스위치(500)에 대한 오류일 수 있다. 또는 오류는 특정 플로우에 포함된 오픈플로우 스위치(500)에 대응하는 링크에 대한 오류일 수 있다.The processor 920 may generate an alternative path in case an error occurs on the open flow switch 500 or a link between the two open flow switches 500 based on the alternative path generation program. In this case, the error may be an error for the open flow switch 500 included in the specific flow. Alternatively, the error may be an error for a link corresponding to the open flow switch 500 included in the specific flow.
구체적으로 프로세서(920)는 연결된 오픈플로우 스위치(500) 복수의 플로우를 수집할 수 있다.In detail, the processor 920 may collect a plurality of flows of the connected open flow switch 500.
그리고 프로세서(920)는 복수의 플로우의 정보에 기초하여 각 플로우를 복수의 플로우 그룹으로 분류할 수 있다.The processor 920 may classify each flow into a plurality of flow groups based on the information of the plurality of flows.
이때, 프로세서(920)는 각 플로우에 포함된 오픈플로우 스위치(500) 및 링크와 같은 컴포넌트에 대응하는 VLAN ID에 기초하여 복수의 플로우를 분류할 수 있다. In this case, the processor 920 may classify a plurality of flows based on VLAN IDs corresponding to components such as an open flow switch 500 and a link included in each flow.
프로세서(920)는 각 플로우 그룹에 대응하는 대체 경로를 생성할 수 있다.The processor 920 may generate an alternate path corresponding to each flow group.
이때, 프로세서(920)는 오류에 대응하는 컴포넌트가 에지 컴포넌트인 경우, 오류에 대응하는 컴포넌트에 포함된 링크에 기초하여 대체 경로를 생성할 수 있다. 이때, 에지 컴포넌트는 오픈플로우 스위치(500) 중 호스트와 직접 연결된 오픈플로우 스위치(500) 또는 호스트와 직접 연결된 오픈플로우 스위치(500)에 대응하는 링크가 될 수 있다. In this case, when the component corresponding to the error is an edge component, the processor 920 may generate an alternative path based on a link included in the component corresponding to the error. In this case, the edge component may be a link corresponding to the open flow switch 500 directly connected to the host or the open flow switch 500 directly connected to the host.
또한, 프로세서(920)는 오류에 대응하는 컴포넌트가 코어 컴포넌트인 경우, 해당 컴포넌트에 포함된 오픈플로우 스위치(500)에 기초하여 대체 경로를 생성할 수 있다. 이때, 코어 컴포넌트는 타 오픈플로우 스위치(500)와 연결된 오픈플로우 스위치(500) 또는 타 오픈플로우 스위치(500)와 연결된 오픈플로우 스위치(500)에 대응하는 링크가 될 수 있다.In addition, when the component corresponding to the error is a core component, the processor 920 may generate an alternative path based on the open flow switch 500 included in the component. In this case, the core component may be a link corresponding to the open flow switch 500 connected to the other open flow switch 500 or the open flow switch 500 connected to the other open flow switch 500.
그리고 프로세서(920)는 통신 모듈(900)을 통하여 대체 경로를 복수의 오픈플로우 스위치(500)로 전달할 수 있다.In addition, the processor 920 may transfer the alternate paths to the plurality of open flow switches 500 through the communication module 900.
다음은 도 10을 참조하여, 본 발명의 일 실시예에 따른 오픈플로우 스위치(500)에서의 오류 복구 방법을 설명한다.Next, the error recovery method of the openflow switch 500 according to an embodiment of the present invention will be described with reference to FIG. 10.
도 10은 본 발명의 일 실시예에 따른 오픈플로우 스위치(500)에서의 오류 복구 방법의 순서도이다.10 is a flowchart of an error recovery method in the openflow switch 500 according to an embodiment of the present invention.
오픈플로우 스위치(500)는 플로우에 대응하는 경로에 포함된 컴포넌트 상에 오류를 감지한다(S1000). 이때, 컴포넌트는 오픈플로우 스위치(500) 또는 링크를 포함한다. 또한, 오류에 대응하는 컴포넌트는 플로우에 따라 패킷을 전달하는 오픈플로우 스위치(500) 또는 플로우에 따라 패킷을 전달하는 오픈플로우 스위치(500)와의 링크이다.The open flow switch 500 detects an error on a component included in a path corresponding to the flow (S1000). At this time, the component includes an open flow switch 500 or a link. In addition, the component corresponding to the error is a link with the open flow switch 500 for delivering packets according to the flow or the open flow switch 500 for delivering packets according to the flow.
또한, 오픈플로우 스위치(500)는 플로우의 정보 및 오류에 대응하는 컴포넌트의 정보에 기초하여 플로우에 대응하는 대체 경로를 설정한다(S1010). In addition, the open flow switch 500 sets an alternative path corresponding to the flow based on the information of the flow and the information of the component corresponding to the error (S1010).
이때, 오류를 감지하기 이전에, 오픈플로우 스위치(500)는 하나 이상의 플로우 규칙을 포함하는 플로우 테이블 및 하나 이상의 그룹 엔트리를 포함하는 그룹 테이블을 저장할 수 있다.In this case, before detecting an error, the open flow switch 500 may store a flow table including one or more flow rules and a group table including one or more group entries.
그리고 오픈플로우 스위치(500)는 플로우 테이블에 저장된 플로우에 대응하는 플로우 규칙을 추출할 수 있다. 오픈플로우 스위치(500)는 추출된 플로우 규칙과 매칭되는 그룹 엔트리를 선택할 수 있다. 이후, 오픈플로우 스위치(500)는 선택된 그룹 엔트리에 기초하여 대체 경로를 설정할 수 있다.The open flow switch 500 may extract a flow rule corresponding to the flow stored in the flow table. The open flow switch 500 may select a group entry that matches the extracted flow rule. Thereafter, the openflow switch 500 may set an alternate path based on the selected group entry.
다음은 도 11을 참조하여 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(540)의 오류 복구 방법을 설명한다.Next, an error recovery method of the open flow controller 540 according to an embodiment of the present invention will be described with reference to FIG. 11.
도 11은 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(540)의 오류 복구 방법에 대한 순서도이다.11 is a flowchart illustrating an error recovery method of the open flow controller 540 according to an embodiment of the present invention.
오픈플로우 컨트롤러(540)는 복수의 플로우를 수집한다(S1100).The open flow controller 540 collects a plurality of flows (S1100).
오픈플로우 컨트롤러(540)는 수집된 복수의 플로우의 정보에 기초하여 각 플로우를 플로우 그룹으로 분류한다(S1110).The open flow controller 540 classifies each flow into a flow group based on the collected information of the plurality of flows (S1110).
그리고 오픈플로우 컨트롤러(540)는 플로우 그룹에 대응하는 대체 경로를 생성한다(S1120). 이때, 대체 경로는 플로우의 오류에 대응하는 것이다. 또한, 오류는 플로우에 포함된 오픈플로우 스위치(500)에 대한 오류이거나, 플로우에 포함된 오픈플로우 스위치(500)에 대응하는 링크에 대한 오류이다.The open flow controller 540 generates an alternative path corresponding to the flow group (S1120). At this time, the alternate path corresponds to an error of the flow. In addition, the error is an error for the open flow switch 500 included in the flow, or an error for a link corresponding to the open flow switch 500 included in the flow.
오픈플로우 컨트롤러(540)는 복수의 오픈플로우 스위치(500)로 생성된 대체 경로를 전달한다(S1130). The open flow controller 540 transfers alternate paths generated by the plurality of open flow switches 500 (S1130).
본 발명의 일 실시예에 따른 오류 복구를 위한 오픈플로우 스위치(500), 오픈플로우 컨트롤러(540) 및 오류 복구 방법은 각 오픈플로우 스위치(500)가 오픈플로우 기반 네트워크상의 복수의 플로우에 대응하는 대체 경로를 저장하지 않고, 목적지의 주소가 동일한 플로우 그룹에 대한 대체 경로를 저장할 수 있다. 그러므로 오류 복구를 위한 오픈플로우 스위치(500), 오픈플로우 컨트롤러(540) 및 오류 복구 방법은 각 오픈플로우 스위치(500)에 저장되는 대체 경로의 수를 줄일 수 있어 효율적이다. In the open flow switch 500, the open flow controller 540, and the error recovery method for error recovery according to an embodiment of the present invention, each open flow switch 500 replaces a plurality of flows on an open flow-based network. Instead of saving a route, you can store alternate routes for flow groups with the same address at the destination. Therefore, the open flow switch 500, the open flow controller 540, and the error recovery method for error recovery can reduce the number of alternative paths stored in each open flow switch 500, and thus are efficient.
또한, 오류 복구를 위한 오픈플로우 스위치(500), 오픈플로우 컨트롤러(540) 및 오류 복구 방법은 오픈플로우 컨트롤러(540)의 과부하를 줄일 수 있다. 그러므로 오류 복구를 위한 오픈플로우 스위치(500), 오픈플로우 컨트롤러(540) 및 오류 복구 방법은 오픈플로우 기반 네트워크 상에서 발생할 수 있는 오류에 빠르게 대처할 수 있다.  In addition, the open flow switch 500, the open flow controller 540, and the error recovery method for error recovery may reduce an overload of the open flow controller 540. Therefore, the open flow switch 500, the open flow controller 540, and the error recovery method for error recovery can quickly cope with errors that may occur in an open flow-based network.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. One embodiment of the present invention can also be implemented in the form of a recording medium containing instructions executable by a computer, such as a program module executed by the computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer readable medium may include a computer storage medium. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Although the methods and systems of the present invention have been described in connection with specific embodiments, some or all of their components or operations may be implemented using a computer system having a general purpose hardware architecture.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is shown by the following claims rather than the above description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

Claims (15)

  1. 오류를 복구하기 위한 오픈플로우 스위치에 있어서, In the openflow switch to recover from the error,
    통신 모듈,Communication module,
    오류 복구 프로그램이 저장된 메모리 및 The memory where the error recovery program is stored, and
    상기 프로그램을 실행하는 프로세서를 포함하되, Including a processor for executing the program,
    상기 프로세서는 상기 프로그램의 실행에 따라, 플로우에 대응하는 경로에 포함된 컴포넌트 상에 오류가 감지되면, 상기 플로우의 정보 및 상기 오류에 대응하는 컴포넌트의 정보에 기초하여 상기 플로우에 대응하는 대체 경로를 설정하되, When an error is detected on a component included in a path corresponding to the flow, the processor determines an alternative path corresponding to the flow based on information of the flow and information of a component corresponding to the error, according to execution of the program. Set it up,
    상기 컴포넌트는 오픈플로우 스위치 또는 링크를 포함하고, The component includes an openflow switch or link,
    상기 오류에 대응하는 컴포넌트는 상기 프로세서가 상기 플로우에 따라 패킷을 전달하는 오픈플로우 스위치 또는 상기 플로우에 따라 패킷을 전달하는 오픈플로우 스위치에 대응하는 링크 중 오류가 발생한 것인, 오픈플로우 스위치.The component corresponding to the error is an openflow switch in which the processor forwards the packet according to the flow or an error in a link corresponding to an openflow switch that forwards the packet according to the flow.
  2. 제 1 항에 있어서, The method of claim 1,
    상기 메모리는 하나 이상의 플로우 규칙을 포함하는 플로우 테이블 및 하나 이상의 그룹 엔트리를 포함하는 그룹 테이블을 저장하되, The memory stores a flow table including one or more flow rules and a group table including one or more group entries,
    상기 프로세서는 상기 플로우 테이블에 저장된 상기 플로우에 대응하는 플로우 규칙을 추출하고, 상기 추출된 플로우 규칙과 매칭되는 그룹 엔트리를 선택하고, 상기 선택된 그룹 엔트리에 기초하여 상기 플로우에 대응하는 대체 경로를 설정하는 것인, 오픈플로우 스위치.The processor extracts a flow rule corresponding to the flow stored in the flow table, selects a group entry matching the extracted flow rule, and sets an alternative path corresponding to the flow based on the selected group entry. That, open flow switch.
  3. 제 2 항에 있어서, The method of claim 2,
    상기 플로우 규칙은 출발지 호스트의 주소, 목적지 호스트의 주소, VLAN(virtual local area network)의 식별자 및 액션을 포함하고, The flow rule includes an address of a source host, an address of a destination host, an identifier and action of a virtual local area network (VLAN),
    상기 그룹 엔트리는 그룹 유형 및 액션 버킷을 포함하는, 오픈플로우 스위치.And the group entry comprises a group type and an action bucket.
  4. 제 1 항에 있어서, The method of claim 1,
    상기 프로세서는 오픈플로우 컨트롤러로부터 상기 플로우에 대응하는 경로, 및 상기 플로우에 대응한 대체 경로를 수신하는, 오픈플로우 스위치.And the processor receives a path corresponding to the flow and an alternative path corresponding to the flow from an openflow controller.
  5. 제 4 항에 있어서, The method of claim 4, wherein
    상기 대체 경로는 상기 오픈플로우 컨트롤러가 상기 오류에 기초하여 수집된 복수의 플로우의 정보에 기초하여 상기 복수의 플로우를 하나 이상의 플로우 그룹으로 분류하고, 상기 플로우 그룹 각각에 대응하도록 생성한 것인, 오픈플로우 스위치.The alternative path is generated by the open flow controller to classify the plurality of flows into one or more flow groups based on the information of the plurality of flows collected based on the error, and to correspond to each of the flow groups. Flow switch.
  6. 제 4 항에 있어서, The method of claim 4, wherein
    상기 대체 경로는 상기 오류에 대응하는 컴포넌트가 에지 컴포넌트인 경우, 상기 오류에 대응하는 컴포넌트에 포함된 링크에 기초하여 생성된 것이며, 상기 오류에 대응하는 컴포넌트가 코어 컴포넌트인 경우, 상기 오류에 대응하는 컴포넌트에 포함된 오픈플로우 스위치에 기초하여 생성된 것이되, The alternative path is generated based on a link included in a component corresponding to the error when the component corresponding to the error is an edge component, and corresponds to the error when the component corresponding to the error is a core component. Generated based on the OpenFlow switches included in the component,
    상기 코어 컴포넌트는 타 오픈플로우 스위치와 연결된 오픈플로우 스위치 또는 상기 타 오픈플로우 스위치와 연결된 오픈플로우 스위치에 대응하는 링크이고, The core component is a link corresponding to an open flow switch connected to another open flow switch or an open flow switch connected to the other open flow switch,
    상기 에지 컴포넌트는 호스트와 연결된 오픈플로우 스위치 또는 상기 호스트와 연결된 오픈플로우 스위치에 대응하는 링크인, 오픈플로우 스위치.The edge component is an openflow switch connected to a host or a link corresponding to an openflow switch connected to the host.
  7. 제 1 항에 있어서, The method of claim 1,
    상기 대체 경로는 상기 오류에 대응하는 컴포넌트와 미리 정해진 홉 수 이내에 위치한 컴포넌트가 포함되도록 생성되는 것인, 오픈플로우 스위치.The alternate path is generated to include a component corresponding to the error and a component located within a predetermined hop number.
  8. 오픈플로우 컨트롤러에 있어서, In the open flow controller,
    복수의 오픈플로우 스위치와 데이터 통신을 수행하는 통신 모듈, Communication module for performing data communication with a plurality of open flow switch,
    대체 경로 생성 프로그램이 저장된 메모리 및 The memory where the alternate path generator is stored and
    상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하되, Including a processor for executing a program stored in the memory,
    상기 프로세서는 상기 프로그램의 실행에 따라 복수의 플로우를 수집하고, 상기 복수의 플로우의 정보에 기초하여 각 플로우를 플로우 그룹으로 분류하고, 상기 플로우 그룹에 대응하는 대체 경로를 생성하고, 상기 복수의 오픈플로우 스위치로 상기 생성된 대체 경로를 전달하되, The processor collects a plurality of flows according to the execution of the program, classifies each flow into a flow group based on the information of the plurality of flows, generates an alternative path corresponding to the flow group, and opens the plurality of opens. Passing the generated alternate path to a flow switch,
    상기 대체 경로는 상기 플로우의 오류에 대응하는 것이고, The alternate path corresponds to an error in the flow,
    상기 오류는 상기 플로우에 포함된 하나 이상의 컴포넌트 중 적어도 하나에 대한 오류이고, The error is an error for at least one of the one or more components included in the flow,
    상기 컴포넌트는 오픈플로우 스위치 또는 링크를 포함하는, 오픈플로우 컨트롤러.And said component comprises an openflow switch or link.
  9. 제 8 항에 있어서, The method of claim 8,
    상기 프로세서는 각 플로우에 포함된 컴포넌트에 대응하는 VLAN(virtual local address network) 식별자에 기초하여 상기 복수의 플로우를 분류하되, The processor classifies the plurality of flows based on a virtual local address network (VLAN) identifier corresponding to a component included in each flow,
    상기 컴포넌트는 오픈플로우 스위치 또는 링크를 포함하는, 오픈플로우 컨트롤러.And said component comprises an openflow switch or link.
  10. 제 8 항에 있어서, The method of claim 8,
    상기 프로세서는 상기 오류에 대응하는 컴포넌트가 에지 컴포넌트인 경우, 상기 오류에 대응하는 컴포넌트에 포함된 링크에 기초하여 상기 대체 경로를 생성하고, If the component corresponding to the error is an edge component, the processor generates the replacement path based on a link included in the component corresponding to the error,
    상기 오류에 대응하는 컴포넌트가 코어 컴포넌트인 경우, 상기 오류에 대응하는 컴포넌트에 포함된 오픈플로우 스위치에 기초하여 상기 대체 경로를 생성하되, When the component corresponding to the error is a core component, the replacement path is generated based on the open flow switch included in the component corresponding to the error.
    상기 코어 컴포넌트는 타 오픈플로우 스위치와 연결된 오픈플로우 스위치 또는 상기 타 오픈플로우 스위치와 연결된 오픈플로우 스위치에 대응하는 링크이고, The core component is a link corresponding to an open flow switch connected to another open flow switch or an open flow switch connected to the other open flow switch,
    상기 에지 컴포넌트는 상기 복수의 오픈플로우 스위치 중 호스트와 연결된 오픈플로우 스위치 또는 상기 호스트와 연결된 오픈플로우 스위치에 대응하는 링크인, 오픈플로우 컨트롤러.The edge component is a link corresponding to an openflow switch connected to a host or an openflow switch connected to the host among the plurality of openflow switches.
  11. 오픈플로우 스위치에서의 오류 복구 방법에 있어서, In the error recovery method in the openflow switch,
    플로우에 대응하는 경로에 포함된 컴포넌트 상에 오류를 감지하는 단계; 및 Detecting an error on a component included in a path corresponding to the flow; And
    상기 플로우의 정보 및 상기 오류에 대응하는 컴포넌트의 정보에 기초하여 상기 플로우에 대응하는 대체 경로를 설정하는 단계를 포함하되, Setting an alternative path corresponding to the flow based on information of the flow and information of a component corresponding to the error,
    상기 컴포넌트는 오픈플로우 스위치 또는 링크를 포함하며, The component includes an openflow switch or link,
    상기 오류에 대응하는 컴포넌트는 상기 플로우에 따라 패킷을 전달하는 오픈플로우 스위치 또는 상기 플로우에 따라 패킷을 전달하는 오픈플로우 스위치에 대응하는 링크 중 오류가 발생한 것인, 오류 복구 방법.And wherein the component corresponding to the error is an open flow switch for delivering a packet in accordance with the flow or an error in a link corresponding to an openflow switch for delivering a packet in accordance with the flow.
  12. 제 11 항에 있어서, The method of claim 11,
    상기 오류를 감지하는 단계 이전에, 하나 이상의 플로우 규칙을 포함하는 플로우 테이블 및 하나 이상의 그룹 엔트리를 포함하는 그룹 테이블을 저장하는 단계를 더 포함하고, Prior to the step of detecting the error, further comprising storing a flow table including one or more flow rules and a group table including one or more group entries,
    상기 대체 경로를 설정하는 단계는, Setting the alternate path,
    상기 플로우 테이블에 저장된 상기 플로우에 대응하는 플로우 규칙을 추출하는 단계; Extracting a flow rule corresponding to the flow stored in the flow table;
    상기 추출된 플로우 규칙과 매칭되는 그룹 엔트리를 선택하는 단계; 및 Selecting a group entry that matches the extracted flow rule; And
    상기 선택된 그룹 엔트리에 기초하여 상기 대체 경로를 설정하는 단계를 포함하는, 오류 복구 방법.Establishing the alternate path based on the selected group entry.
  13. 오픈플로우 컨트롤러에서의 오류 복구 방법에 있어서, In the error recovery method in the OpenFlow controller,
    복수의 플로우를 수집하고, 상기 복수의 플로우의 정보에 기초하여 각 플로우를 플로우 그룹으로 분류하는 단계;Collecting a plurality of flows and classifying each flow into a flow group based on the information of the plurality of flows;
    상기 플로우 그룹에 대응하는 대체 경로를 생성하는 단계; 및 Creating an alternate route corresponding to the flow group; And
    상기 복수의 오픈플로우 스위치로 상기 생성된 대체 경로를 전달하는 단계를 포함하되, Delivering the generated alternate paths to the plurality of openflow switches;
    상기 대체 경로는 상기 플로우의 오류에 대응하는 것이고, The alternate path corresponds to an error in the flow,
    상기 오류는 상기 플로우에 포함된 하나 이상의 컴포넌트 중 적어도 하나에 대한 오류이고, The error is an error for at least one of the one or more components included in the flow,
    상기 컴포넌트는 오픈플로우 스위치 또는 링크를 포함하는, 오류 복구 방법.And the component comprises an openflow switch or link.
  14. 제 13 항에 있어서, The method of claim 13,
    상기 플로우 그룹에 대응하는 대체 경로를 생성하는 단계는, Generating an alternative route corresponding to the flow group,
    상기 오류에 대응하는 컴포넌트가 에지 컴포넌트인 경우, 상기 오류에 대응하는 컴포넌트에 포함된 링크에 기초하여 상기 대체 경로를 생성하는 단계; 및 If the component corresponding to the error is an edge component, generating the substitute path based on a link included in the component corresponding to the error; And
    상기 오류에 대응하는 컴포넌트가 코어 컴포넌트인 경우, 상기 오류에 대응하는 컴포넌트에 포함된 오픈플로우 스위치에 기초하여 상기 대체 경로를 생성하는 단계를 포함하되, If the component corresponding to the error is a core component, generating the substitute path based on an openflow switch included in the component corresponding to the error,
    상기 코어 컴포넌트는 타 오픈플로우 스위치와 연결된 오픈플로우 스위치 또는 상기 타 오픈플로우 스위치와 연결된 오픈플로우 스위치에 대응하는 링크이고, The core component is a link corresponding to an open flow switch connected to another open flow switch or an open flow switch connected to the other open flow switch,
    상기 에지 컴포넌트는 상기 복수의 오픈플로우 스위치 중 호스트와 연결된 오픈플로우 스위치 또는 상기 호스트와 연결된 오픈플로우 스위치에 대응하는 링크인, 오류 복구 방법. And the edge component is a link corresponding to an openflow switch connected to a host or an openflow switch connected to the host among the plurality of openflow switches.
  15. 제 11 항 내지 제 14 항 중 어느 한 항에 기재된 방법을 컴퓨터 상에서 수행하기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium having recorded thereon a program for performing the method according to any one of claims 11 to 14 on a computer.
PCT/KR2017/003206 2016-12-20 2017-03-24 Openflow switch for error recovery, openflow controller and error recovery method WO2018117336A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0174531 2016-12-20
KR1020160174531A KR101880222B1 (en) 2016-12-20 2016-12-20 Switch, controller and method failure recovery using openflow based on openflow

Publications (1)

Publication Number Publication Date
WO2018117336A1 true WO2018117336A1 (en) 2018-06-28

Family

ID=62626804

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/003206 WO2018117336A1 (en) 2016-12-20 2017-03-24 Openflow switch for error recovery, openflow controller and error recovery method

Country Status (2)

Country Link
KR (1) KR101880222B1 (en)
WO (1) WO2018117336A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8665699B2 (en) * 2010-05-19 2014-03-04 Telefonaktiebolaget L M Ericsson (Publ) Link failure detection and traffic redirection in an OpenFlow network
KR20150051107A (en) * 2013-11-01 2015-05-11 주식회사 케이티 Method for fast flow path setup and failure recovery
KR20160072002A (en) * 2014-12-12 2016-06-22 주식회사 케이티 System and method for optimal path computation on software defined networking
WO2016098968A1 (en) * 2014-12-19 2016-06-23 주식회사 디케이아이테크놀로지 Intelligent security networking system and method therefor
KR20160116624A (en) * 2015-03-30 2016-10-10 쿨클라우드(주) Method of controlling openflow switch capable of service chaining and controller thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8665699B2 (en) * 2010-05-19 2014-03-04 Telefonaktiebolaget L M Ericsson (Publ) Link failure detection and traffic redirection in an OpenFlow network
KR20150051107A (en) * 2013-11-01 2015-05-11 주식회사 케이티 Method for fast flow path setup and failure recovery
KR20160072002A (en) * 2014-12-12 2016-06-22 주식회사 케이티 System and method for optimal path computation on software defined networking
WO2016098968A1 (en) * 2014-12-19 2016-06-23 주식회사 디케이아이테크놀로지 Intelligent security networking system and method therefor
KR20160116624A (en) * 2015-03-30 2016-10-10 쿨클라우드(주) Method of controlling openflow switch capable of service chaining and controller thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PANKAJ THORAT ET AL.: "Proactive Failure Recovery Scheme for Data Traffic in Sof tware Defined Networks", IEEE NETSOFT CONFERENCE AND WORKSHOPS 2016, 7 June 2016 (2016-06-07), pages 219 - 225, XP032917804, DOI: 10.1109/NETSOFT.2016.7502416 *

Also Published As

Publication number Publication date
KR101880222B1 (en) 2018-08-17
KR20180071659A (en) 2018-06-28

Similar Documents

Publication Publication Date Title
JP4687176B2 (en) Packet relay device
WO2015072709A1 (en) Method for operating controller and switch for relieving network failure from sdn, and controller and switch therefor
CN100459569C (en) Quick route switching method and apparatus for network node devices
US8189589B2 (en) Apparatus and method for forwarding packet data
US20150365320A1 (en) Method and device for dynamically switching gateway of distributed resilient network interconnect
WO2014209075A1 (en) Multi-connection system and method for service using internet protocol
WO2023033585A1 (en) Tunneling and gateway access system optimized for distributed gateway environment, and method related thereto
US20100303081A1 (en) Communication system and method for forwarding a packet among a plurality of edge routers
WO2014112771A1 (en) Relay system for transmitting ip address of client to server and method therefor
JP2008060784A (en) Communication device and communicating system
WO2019216696A1 (en) Improvements in and relating to failure modes in multi-hop networks
WO2005101760A1 (en) Cluster system, cluster member, and program
JP4297636B2 (en) Transmission system
US9979698B2 (en) Local internet with quality of service (QoS) egress queuing
JP2006050520A (en) Communication system, wireless lan base station controller, and wireless lan base station apparatus
US9887877B2 (en) Switch apparatus, VLAN setting management method and program
WO2016000107A1 (en) Primary and secondary system handover method for dynamic route device, and apparatus thereof
US20120026891A1 (en) Communication network management system and method and management computer
WO2020130158A1 (en) Open fronthaul network system
WO2014129624A1 (en) Control device, communication system, path switching method, and program
JP2004320248A (en) Communication equipment, congestion avoidance method, and transmission system
WO2016204567A1 (en) Service system for providing terminal-unit real-time policy application, load distribution, and fault recovery by using control of setting of proxy selector and each proxy, and control method therefor
WO2015103729A1 (en) Re-routing method and system, and network device
WO2020027378A1 (en) Software defined network based sdn controller, and traffic engineering system and traffic engineering method using same
US20120224488A1 (en) Method of connectivity monitoring by subscriber line terminating apparatus

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17883280

Country of ref document: EP

Kind code of ref document: A1