US20160036644A1 - Loop-free hybrid network - Google Patents
Loop-free hybrid network Download PDFInfo
- Publication number
- US20160036644A1 US20160036644A1 US14/777,436 US201314777436A US2016036644A1 US 20160036644 A1 US20160036644 A1 US 20160036644A1 US 201314777436 A US201314777436 A US 201314777436A US 2016036644 A1 US2016036644 A1 US 2016036644A1
- Authority
- US
- United States
- Prior art keywords
- sdn
- sdn network
- devices
- network device
- network
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
Definitions
- a data plane loop can be caused when data is continuously transferred within a network without being transferred to a particular destination (e.g., end point).
- forwarding rules assigned to network devices e.g., routers, switches
- forwarding rules can be conflicting (e.g., incorrect). That is, forwarding rules can send units (e.g., frames, packets) within a number of network switches without transferring the data units to a particular destination.
- a data plane loop can consume network resources (e.g., bandwidth) by continuously transferring data units among network devices within the network.
- FIG. 1 illustrates a diagram of an example of a loop-free hybrid network according to the present disclosure.
- FIG. 2 illustrates a flow diagram for an example of a loop-free hybrid network process according to the present disclosure.
- FIG. 3A illustrates a flow diagram for an example of a method for creating a loop-free hybrid network according to the present disclosure.
- FIG. 3B illustrates a flow diagram for an example of a method for creating a loop-free hybrid network according to the present disclosure.
- FIG. 4 illustrates a diagram of an example of a computing device according to the present disclosure.
- a network can include a variety of network devices with varying capabilities (e.g., receiving software instructions, communicating with a network controller, etc.).
- a loop-free hybrid network can be created utilizing a number of software defined network (SDN) network devices (e.g., network devices capable of receiving software instructions such as forwarding rules from the network controller) and a number of non-SDN network devices (e.g., network devices unable to receive software instructions from the network controller).
- SDN software defined network
- the number of SDN network devices can be connected on a first layer of the network and the non-SDN network devices can be connected to the SDN network devices on a second layer of the network.
- a loop-free hybrid network can be created.
- a” or “a number of” something can refer to one or more such things.
- a number of network devices can refer to one or more network devices.
- FIG. 1 illustrates a diagram of an example of a loop-free hybrid network 100 according to the present disclosure.
- the loop free network 100 can include a network controller 102 .
- the network controller 102 can control a number of forwarding rules (e.g., instructions to direct a network device on what port to forward a data unit) for a number of SDN network devices (e.g., switch (OF 1 ) 108 , switch (OF 2 ) 110 , switch (OF 3 ) 112 ).
- a number of forwarding rules e.g., instructions to direct a network device on what port to forward a data unit
- SDN network devices e.g., switch (OF 1 ) 108 , switch (OF 2 ) 110 , switch (OF 3 ) 112 .
- the number of SDN network devices can be network devices (e.g., switches, routers, etc.) that are capable of receiving software instructions in the form of forwarding rules from the network controller 102 .
- the network controller 102 can be a network controller that utilizes communications protocol such as Open Flow to communicate forwarding rules to each of the number of SDN network devices.
- the forwarding rules can include instructions (e.g., computer readable instructions) sent to a first software defined network device for forwarding received data units to a different computing device (e.g., software defined network device, non-software defined network device, host computing device, etc.).
- switch (OF 1 ) 108 can receive a forwarding rule from the network controller 102 that includes sending a received data unit with a destination address of host ( 2 ) 120 - 2 out of port 3 to port 1 of switch ( 2 ) 116 .
- Each of the number of forwarding rules can correspond to a particular source address (e.g., source identifier, source media access control (MAC) address) and/or a particular destination address (e.g., destination identifier, destination media access control (MAC) address) of the received data unit.
- the source address and destination address can be included within a header of the data units.
- Each of the number SDN network devices can determine the source address and destination address by analyzing a received data unit header.
- the software defined network device determines the source address and destination address
- the software defined network device can determine an out-port to send the received data unit utilizing a forwarding rule defined by the network controller 102 .
- the loop free network 100 can include a number of non-SDN network devices (e.g., switch ( 1 ) 114 , switch ( 2 ) 116 , switch ( 3 ) 118 ).
- the non-SDN network devices can be network devices (e.g., switches, routers, etc.) that are not capable of receiving forwarding instructions from the network controller 102 .
- the non-SDN network devices can include predefined forwarding rules utilizing hardware and/or logic to forward data units.
- the number of SDN network devices can be connected on a different layer (e.g., level) as the number of non-SDN network devices.
- the number of SDN network devices can be connected to a number of other SDN network devices on a first layer (e.g., distribution layer) and to the number of non-SDN network devices can be connected on a second layer (e.g., access layer).
- the distribution layer can include switch (OF 2 ) 110 connected to switch (OF 1 ) 108 and switch (OF 3 ) 112 .
- Each of the number of SDN network devices can be connected to a number of non-SDN network devices.
- switch (OF 1 ) 108 can be connected to switch ( 1 ) 114 , switch ( 2 ) 116 , and switch ( 3 ) 118 .
- the number of SDN network devices may not be directly connected to a number of host computing devices (e.g., host ( 1 ) 120 - 1 , host ( 2 ) 120 - 2 ). That is, there can be a network device that receives a data unit from a host computing device and the network device can forward the data unit to the number of SDN network devices.
- the number of non-SDN network devices can be connected to the number of SDN network devices.
- switch ( 1 ) 114 can be connected to switch (OF 1 ) 108 , switch (OF 2 ) 110 , and switch (OF 3 ) 112 .
- the number of non-SDN network devices may not be connected to other non-SDN network devices.
- Not coupling the non-SDN network devices to other non-SDN network devices on the access layer can ensure that data units are forwarded to at least one software defined network device. For example, a data unit sent from host ( 1 ) 120 - 1 to port 4 of switch ( 1 ) 114 would be sent to one of the SDN network devices on the distribution layer when the data unit is being sent to host ( 2 ) 120 - 2 .
- Ensuring that data units are forwarded to at least one software defined network device can enable the network controller 102 to generate a forwarding rule set for all data units being transferred within the loop-free hybrid network 100 .
- the SDN network devices can receive forwarding rules for forwarding data units. That is, even if the source address and/or destination address for a particular data unit is new to the loop-free hybrid network (e.g., forwarding rule not included within an existing forwarding table), the number of SDN network devices can communicate with the network controller 102 and receive a forwarding rule for the data unit.
- the ports on the non-SDN network devices that connect the non-SDN network devices to the SDN network devices can be aggregated (e.g., link aggregation). Aggregating the ports on the non-SDN network devices can combine the multiple connections between the non-SDN network devices and the SDN network devices into a single connection between a non-software defined network device and the SDN network devices.
- port 1 , port 2 , and port 3 on switch ( 1 ) 114 can be aggregated at 122 .
- switch ( 1 ) 114 can be limited to sending data units to a single software defined network device (e.g., switch (OF 1 ) 108 ).
- Aggregating the ports on the non-SDN network devices can eliminate sending a copy of a particular data unit to each of the connected SDN network devices when broadcasting (e.g., sending a data unit to all devices connected to the network) the particular data.
- aggregating the ports on the non-SDN network devices can eliminate receiving multiple copies of the particular data from the SDN network devices when broadcasting the particular data.
- a single data unit would be sent to each of the SDN network devices that are connected to a port on the non-SDN network devices.
- Not aggregating the ports on the non-SDN network devices can result in multiple copies of the single data unit being sent to multiple SDN network devices and each software defined network device could implement a particular forwarding rule that could generate data plane loops and/or send multiple copies to a destination device.
- Sending multiple copies of a single data unit to a particular network device can be prevented by aggregating the ports on the non-SDN network devices as described herein.
- host ( 1 ) 120 - 1 can attempt to broadcast a data unit.
- the data unit can be forwarded to port 4 of switch ( 1 ) 114 via path 128 .
- the switch ( 1 ) 114 can be aggregated at 122 as described herein and send the data unit out of a single aggregated port at port 1 to port 2 of switch (OF 1 ) 108 via path 130 .
- switch ( 1 ) 114 is aggregated only a single copy of the data unit will be sent from switch ( 1 ) 114 to one of the number of SDN network devices. That is, the switch ( 1 ) 114 can be configured to send a single copy to one of switch (OF 1 ) 108 , switch (OF 2 ) 110 , or switch (OF 3 ) 112 .
- switch (OF 1 ) 108 can broadcast the data unit from port 3 to port 1 of switch ( 2 ) 116 .
- the ports (e.g., port 1 , port 2 , port 3 ) of switch ( 2 ) 116 can be aggregated at 124 similarly to switch ( 1 ) 114 . That is, switch ( 2 ) 116 can receive the data unit from a single designated port.
- the switch (OF 1 ) 108 can also broadcast the data unit from port 1 to port 1 of (OF 2 ) 110 .
- Switch (OF 2 ) 110 can broadcast the data unit from port 2 to port 1 of switch (OF 3 ) 112 .
- the switch (OF 2 ) 110 can also broadcast the data unit from port 5 to port 1 of switch ( 3 ) 118 .
- the ports of switch ( 3 ) 118 can be aggregated at 126 to receive the data unit from a single designated port.
- switch ( 2 ) 116 can send the data unit to host ( 2 ) 120 - 2 via path 140 .
- the loop-free hybrid network 100 can ensure that data plane loops are avoided while utilizing SDN network devices and non-SDN network devices. Utilizing the described distribution layer and access layer for each of the number of network devices and aggregating the ports of the non-SDN network devices can provide a loop-free hybrid network even when broadcasting data units.
- FIG. 2 illustrates a flow diagram for an example of a loop-free hybrid network process 250 according to the present disclosure.
- a network device on the distribution layer e.g., SDN network devices
- can receive traffic from a network device on the access layer e.g., non-software defined network device.
- the SDN network devices on the distribution layer can receive a single data unit from a non-software defined network device with aggregated ports.
- the data unit is forwarded to the network controller if there is not an existing forwarding rule for the data unit.
- the data unit can include a header with a source address and/or a destination address.
- the data unit can be sent to the network controller.
- the network controller can create a forwarding rule for the data unit and designate the forwarding rule to each of the SDN network devices.
- a number of ports can be added to an output port list (e.g., table of ports to send a data unit out to a different network device).
- the output port list can be a number of ports that are capable of forwarding (e.g., sending) outgoing data units.
- the output port list can be determined based on which access switch the data packet is being sent to and/or if the access switch is directly or indirectly connected.
- the access switch is not directly connected (e.g., connection with no intermediate network devices) the port that can forward to a distribution switch that can forward the data unit to the access switch.
- the process can move to box 266 .
- the network manager e.g., SDN controller
- the distribution switch can program the distribution switch with the output port list.
- the process 250 can move to box 260 .
- the in port e.g., receiving port
- a distribution down link port can be a port that is on a distribution switch directly connected to a port of an access switch.
- a number of ports can be added to an output port list.
- the output port list can be a number of ports that are capable of forwarding (e.g., sending) outgoing data units.
- the number of output port lists can be added based on whether the distribution switch has already forwarded data units to the received switch.
- the number of output port lists can be added based on whether or not the output ports are inter ports. Inter ports can be ports that connected to only distribution switches.
- the process can move to box 266 .
- the network manager can program the distribution switch with the output port list.
- the process 250 can move to box 264 .
- a number of ports can be added to an output port list.
- the output port list can be a number of ports that are capable of forwarding (e.g., sending) outgoing data units.
- the number of output port lists can be added based on a unique access switch that is connected to the receiving switch.
- the number of output port lists can be added based on whether or not the output ports are inter ports. Inter ports can be ports that connected to only distribution switches.
- the process can move to box 266 .
- FIG. 3A illustrates a flow diagram for an example of a method 370 for creating a loop-free hybrid network according to the present disclosure.
- Creating the loop-free hybrid network can include utilizing a number of SDN network devices and non-SDN network devices.
- a loop-free hybrid network can include a network that can prevent data plane loops. Data plane loops can occur when a data unit is received by a sending network device. For example, a particular network device can send a particular packet to a number of different network devices. In this example, forwarding rules for the number of different network devices could send the data unit back to the particular network devices (e.g., sending network device) and thereby cause a data plane loop.
- the method 370 can include receiving, by a number of SDN network devices, a number of advertisements (e.g., a link layer discovery protocol) from a number of non-SDN network devices.
- the number of advertisements can include information relating to the port connections of the non-SDN network devices.
- the advertisements can include a number of ports of the non-SDN network devices and what network devices (e.g., SDN network devices, computing devices, etc.) are communicatively connected to the number of ports.
- the number of advertisements can be utilized by a computing device (e.g., network controller) to generate a network topology of the number of SDN network devices and the number of non-SDN network devices.
- the network topology can be utilized by a network controller connected to the number of SDN network devices.
- the network controller can utilize the network topology to determine a number of forwarding rules for the network.
- the network controller may not be possible for the network controller to communicate with the non-SDN network devices.
- the network controller may not be able to determine the network topology of the number of non-SDN network devices.
- the network controller may not be able to communicate with the non-SDN network devices using the OpenFlow protocol. However, the network controller may be able to communicate via a simple network management protocol (SNMP) and configure a link aggregation for the number of non-SDN network devices.
- SNMP simple network management protocol
- the method 370 can include receiving, by the number of SDN network devices, instructions regarding aggregation of connections between the number of SDN network devices and the number of non-SDN network devices, wherein the instructions are based on the number of advertisements.
- the instructions can include a number of ports and/or connections with the number of SDN network devices to aggregate.
- the instructions can include an aggregation of all connections with the number of SDN network devices. That is, each of the number of non-SDN network devices can be connected to a number of SDN network devices and all of the connections to the number of SDN network devices can be aggregated.
- non-SDN network devices can be separated from other non-SDN network devices as described herein. That is, non-SDN network devices may not be connected to any other non-SDN network devices.
- a particular non-SDN network device may have a total four ports.
- port 1 can be connected to a host.
- port 2 , port 3 , and port 4 can be connected to individual SDN network devices and port 2 , port 3 , and port 4 can be aggregated.
- the method 370 can include sending, from the number of SDN network devices, the instructions to the number of non-SDN network devices.
- the number of non-SDN network devices can receive the instructions and aggregate a number of ports on the non-SDN network device based on the instructions. Aggregating the number of ports can be performed by the number of non-SDN network devices utilizing the instructions sent by the number of SDN network devices.
- FIG. 3B illustrates a flow diagram for an example of a method 376 for creating a loop-free hybrid network according to the present disclosure.
- the method 376 can be utilized to create a loop-free hybrid network that includes SDN network devices and non-SDN network devices.
- the method 376 can eliminate loops between non-SDN network devices that are not able to receive forwarding rules via a forwarding protocol (e.g., OpenFlow, etc.) from the network controller.
- a forwarding protocol e.g., OpenFlow, etc.
- the method 376 can include receiving an advertisement from a non-software defined network (SDN) network device.
- Receiving the advertisement can include receiving information relating to the connections of the non-SDN network device with the plurality of SDN network devices. That is, the advertisement can include information relating to the non-SDN network device.
- the non-SDN network device can send the advertisement to one of the plurality of SDN network devices and the one of the plurality of SDN network devices can forward the advertisement to a network controller.
- the advertisement can include information relating to devices that are connected to each port of the non-SDN network device.
- the information can be that a first port of the non-SDN network device can be connected to a first of the plurality of SDN network devices.
- the information can also be that a second port of the non-SDN network device that is connected to a second of the plurality of SDN network devices.
- the information can be that a third port of the non-SDN network device that is connected to a host computing device.
- the information included within the advertisement can enable a device (e.g., network controller) to determine the network topology beyond the plurality of SDN network devices. That is, the information included within the advertisement can be used to determine the network topology of the non-SDN network device and the plurality of SDN network devices.
- the method 376 can include determining a network topology based at least in part on the advertisement, wherein the network topology includes connections between the non-SDN network device and a plurality of SDN network devices. Determining the network topology can include utilizing the advertisement sent from the non-SDN network device. As described herein, the advertisement can include information relating to a number of connections (e.g., ports) of the non-SDN network device.
- the method 376 can include sending an aggregation instruction to the non-SDN network device, wherein the aggregation instruction aggregates the connections between the non-SDN network device and the plurality of SDN network devices.
- the network controller may not be able to communicate with the non-SDN network devices using the OpenFlow protocol, but the non-SDN network devices may be able to receive aggregation instructions via SNMP.
- the aggregation instruction can be sent, via a SNMP, to the non-SDN network and include a number of ports to aggregate.
- the number of ports to aggregate can be ports that are connected to the plurality of SDN network devices. For example, if a first port and a second port of the non-SDN network device are each connected to a SDN network device, then the first port and the second port can be instructed to be aggregated by the aggregation instruction.
- the aggregation instruction can be determined based on the network topology.
- the network topology can include ports of the non-SDN network device that are connected to SDN network devices.
- the aggregation instruction can include instructions for the non-SDN network device to aggregate the ports connected to the SDN network devices.
- FIG. 4 illustrates a diagram of an example of a computing device 480 according to the present disclosure.
- the computing device 480 can utilize software, hardware, firmware, and/or logic to perform a number of functions described herein.
- the computing device 480 can be any combination of hardware and program instructions configured to share information.
- the hardware for example can include a processing resource 482 and/or a memory resource 486 (e.g., computer-readable medium (CRM), machine readable medium (MRM), database, etc.)
- a processing resource 482 can include any number of processors capable of executing instructions stored by a memory resource 486 .
- Processing resource 482 may be integrated in a single device or distributed across multiple devices.
- the program instructions e.g., computer-readable instructions (CRI)
- CRM computer-readable instructions
- the program instructions can include instructions stored on the memory resource 486 and executable by the processing resource 482 to implement a desired function (e.g., generate a number of nodes based on the number of attributes, etc.).
- the memory resource 486 can be in communication with a processing resource 482 .
- a memory resource 486 can include any number of memory components capable of storing instructions that can be executed by processing resource 482 .
- Such memory resource 486 can be a non-transitory CRM.
- Memory resource 486 may be integrated in a single device or distributed across multiple devices. Further, memory resource 486 may be fully or partially integrated in the same device as processing resource 482 or it may be separate but accessible to that device and processing resource 482 .
- the system 340 may be implemented on a user and/or a participant device, on a server device and/or a collection of server devices, and/or on a combination of the user device and the server device and/or devices.
- the processing resource 482 can be in communication with a memory resource 486 storing a set of CRI executable by the processing resource 482 , as described herein.
- the CRI can also be stored in remote memory managed by a server and represent an installation package that can be downloaded, installed, and executed.
- Processing resource 482 can execute CRI that can be stored on an internal or external memory resource 486 .
- the processing resource 482 can execute CRI to perform various functions, including the functions described with respect to FIGS. 1 and 2 .
- the processing resource 482 can execute CRI to determine a network topology of the SDN network devices and the non-SDN network devices based on the received number of advertisements.
- the memory resource 486 can include volatile and/or non-volatile memory.
- Volatile memory can include memory that depends upon power to store information, such as various types of dynamic random access memory (DRAM), among others.
- Non-volatile memory can include memory that does not depend upon power to store information.
- the memory resource 486 can be integral, or communicatively connected, to a computing device, in a wired and/or a wireless manner.
- the memory resource 486 can be an internal memory, a portable memory, a portable disk, or a memory associated with another computing resource (e.g., enabling CRIs to be transferred and/or executed across a network such as the Internet).
- the memory resource 486 can be in communication with the processing resource 482 via a communication link (e.g., path) 484 .
- the communication link 484 can be local or remote to a machine (e.g., a computing device) associated with the processing resource 482 .
- Examples of a local communication link 484 can include an electronic bus internal to a machine (e.g., a computing device) where the memory resource 486 is one of volatile, non-volatile, fixed, and/or removable storage medium in communication with the processing resource 482 via the electronic bus.
- the communication link 484 can be such that the memory resource 486 is remote from the processing resource (e.g., 482 ), such as in a network connection between the memory resource 486 and the processing resource (e.g., 482 ). That is, the communication link 484 can be a network connection. Examples of such a network connection can include a local area network (LAN), wide area network (WAN), personal area network (PAN), and the Internet, among others.
- the memory resource 486 can be associated with a first computing device and the processing resource 482 can be associated with a second computing device (e.g., a Java® server).
- a processing resource 482 can be in communication with a memory resource 486 , wherein the memory resource 486 includes a set of instructions and wherein the processing resource 482 is designed to carry out the set of instructions.
- a number of modules 488 , 490 , 492 can include CRI that when executed by the processing resource 482 can perform a number of functions.
- the number of modules 488 , 490 , 492 can be sub-modules of other modules.
- the aggregating module 488 and the determining module 492 can be sub-modules and/or contained within the same computing device.
- the number of modules 488 , 490 , 492 can comprise individual modules at separate and distinct locations (e.g., CRM, etc.).
- An aggregating module 488 can include CRI that when executed by the processing resource 482 can aggregate ports of the number of non-SDN network devices that are utilized to communicate with a number of SDN network devices. Aggregating the ports of the number of non-SDN network devices can include aggregating all ports communicatively connected to SDN network devices. Aggregating the ports can eliminate a possibility of data units being received by a sending non-SDN network device. For example, if the ports of the non-SDN network devices are not aggregated, a non-software defined network device can send a data unit out of a first port and later receive the same data unit from a second port causing a data plane loop.
- a receiving module 490 can include CRI that when executed by the processing resource 482 can receive a number advertisements from the number of SDN network devices.
- the number of advertisements can include information received from the number of non-SDN network devices.
- the number of non-SDN network devices can send information (e.g., advertisements) to the number of SDN network devices.
- the number of SDN network devices can relay the information from the number of non-SDN network devices to the network controller.
- a determining module 492 can include CRI that when executed by the processing resource 482 can determine a network topology of the SDN network devices and the non-SDN network devices based on the received number of advertisements.
- the information sent to the network controller by the SDN network devices can enable the network controller to develop a network topology of both the SDN network devices and the non-SDN network devices.
- logic is an alternative or additional processing resource to execute the actions and/or functions, etc., described herein, which includes hardware (e.g., various forms of transistor logic, application specific integrated circuits (ASICs), etc.), as opposed to computer executable instructions (e.g., software, firmware, etc.) stored in memory and executable by a processor.
- hardware e.g., various forms of transistor logic, application specific integrated circuits (ASICs), etc.
- computer executable instructions e.g., software, firmware, etc.
Abstract
Description
- A data plane loop can be caused when data is continuously transferred within a network without being transferred to a particular destination (e.g., end point). For example, forwarding rules assigned to network devices (e.g., routers, switches) can be conflicting (e.g., incorrect). That is, forwarding rules can send units (e.g., frames, packets) within a number of network switches without transferring the data units to a particular destination. A data plane loop can consume network resources (e.g., bandwidth) by continuously transferring data units among network devices within the network.
-
FIG. 1 illustrates a diagram of an example of a loop-free hybrid network according to the present disclosure. -
FIG. 2 illustrates a flow diagram for an example of a loop-free hybrid network process according to the present disclosure. -
FIG. 3A illustrates a flow diagram for an example of a method for creating a loop-free hybrid network according to the present disclosure. -
FIG. 3B illustrates a flow diagram for an example of a method for creating a loop-free hybrid network according to the present disclosure. -
FIG. 4 illustrates a diagram of an example of a computing device according to the present disclosure. - A network can include a variety of network devices with varying capabilities (e.g., receiving software instructions, communicating with a network controller, etc.). A loop-free hybrid network can be created utilizing a number of software defined network (SDN) network devices (e.g., network devices capable of receiving software instructions such as forwarding rules from the network controller) and a number of non-SDN network devices (e.g., network devices unable to receive software instructions from the network controller).
- The number of SDN network devices can be connected on a first layer of the network and the non-SDN network devices can be connected to the SDN network devices on a second layer of the network. By aggregating the ports of the non-SDN network devices as described herein, a loop-free hybrid network can be created.
- In the following detailed description of the present disclosure, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration how examples of the disclosure can be practiced. These examples are described in sufficient detail to enable those of ordinary skill in the art to practice the examples of this disclosure, and it is to be understood that other examples can be utilized and that process, electrical, and/or structural changes can be made without departing from the scope of the present disclosure.
- As used herein, “a” or “a number of” something can refer to one or more such things. For example, “a number of network devices” can refer to one or more network devices.
-
FIG. 1 illustrates a diagram of an example of a loop-free hybrid network 100 according to the present disclosure. The loopfree network 100 can include anetwork controller 102. Thenetwork controller 102 can control a number of forwarding rules (e.g., instructions to direct a network device on what port to forward a data unit) for a number of SDN network devices (e.g., switch (OF1) 108, switch (OF2) 110, switch (OF3) 112). - The number of SDN network devices can be network devices (e.g., switches, routers, etc.) that are capable of receiving software instructions in the form of forwarding rules from the
network controller 102. For example, thenetwork controller 102 can be a network controller that utilizes communications protocol such as Open Flow to communicate forwarding rules to each of the number of SDN network devices. The forwarding rules can include instructions (e.g., computer readable instructions) sent to a first software defined network device for forwarding received data units to a different computing device (e.g., software defined network device, non-software defined network device, host computing device, etc.). For example, switch (OF1) 108 can receive a forwarding rule from thenetwork controller 102 that includes sending a received data unit with a destination address of host (2) 120-2 out ofport 3 toport 1 of switch (2) 116. - There can be a number of different forwarding rules sent to each of the number of SDN network devices. Each of the number of forwarding rules can correspond to a particular source address (e.g., source identifier, source media access control (MAC) address) and/or a particular destination address (e.g., destination identifier, destination media access control (MAC) address) of the received data unit. The source address and destination address can be included within a header of the data units.
- Each of the number SDN network devices can determine the source address and destination address by analyzing a received data unit header. When the software defined network device determines the source address and destination address, the software defined network device can determine an out-port to send the received data unit utilizing a forwarding rule defined by the
network controller 102. - The loop
free network 100 can include a number of non-SDN network devices (e.g., switch (1) 114, switch (2) 116, switch (3) 118). The non-SDN network devices can be network devices (e.g., switches, routers, etc.) that are not capable of receiving forwarding instructions from thenetwork controller 102. The non-SDN network devices can include predefined forwarding rules utilizing hardware and/or logic to forward data units. - The number of SDN network devices can be connected on a different layer (e.g., level) as the number of non-SDN network devices. For example, the number of SDN network devices can be connected to a number of other SDN network devices on a first layer (e.g., distribution layer) and to the number of non-SDN network devices can be connected on a second layer (e.g., access layer). For example, the distribution layer can include switch (OF2) 110 connected to switch (OF1) 108 and switch (OF3) 112. Each of the number of SDN network devices can be connected to a number of non-SDN network devices. For example, switch (OF1) 108 can be connected to switch (1) 114, switch (2) 116, and switch (3) 118. Within the loop
free network 100 the number of SDN network devices may not be directly connected to a number of host computing devices (e.g., host (1) 120-1, host (2) 120-2). That is, there can be a network device that receives a data unit from a host computing device and the network device can forward the data unit to the number of SDN network devices. - The number of non-SDN network devices can be connected to the number of SDN network devices. For example, switch (1) 114 can be connected to switch (OF1) 108, switch (OF2) 110, and switch (OF3) 112. The number of non-SDN network devices may not be connected to other non-SDN network devices. Not coupling the non-SDN network devices to other non-SDN network devices on the access layer can ensure that data units are forwarded to at least one software defined network device. For example, a data unit sent from host (1) 120-1 to
port 4 of switch (1) 114 would be sent to one of the SDN network devices on the distribution layer when the data unit is being sent to host (2) 120-2. - Ensuring that data units are forwarded to at least one software defined network device can enable the
network controller 102 to generate a forwarding rule set for all data units being transferred within the loop-free hybrid network 100. As described herein, the SDN network devices can receive forwarding rules for forwarding data units. That is, even if the source address and/or destination address for a particular data unit is new to the loop-free hybrid network (e.g., forwarding rule not included within an existing forwarding table), the number of SDN network devices can communicate with thenetwork controller 102 and receive a forwarding rule for the data unit. - The ports on the non-SDN network devices that connect the non-SDN network devices to the SDN network devices can be aggregated (e.g., link aggregation). Aggregating the ports on the non-SDN network devices can combine the multiple connections between the non-SDN network devices and the SDN network devices into a single connection between a non-software defined network device and the SDN network devices. For example,
port 1,port 2, andport 3 on switch (1) 114 can be aggregated at 122. In this example, switch (1) 114 can be limited to sending data units to a single software defined network device (e.g., switch (OF1) 108). - Aggregating the ports on the non-SDN network devices can eliminate sending a copy of a particular data unit to each of the connected SDN network devices when broadcasting (e.g., sending a data unit to all devices connected to the network) the particular data. In addition, aggregating the ports on the non-SDN network devices can eliminate receiving multiple copies of the particular data from the SDN network devices when broadcasting the particular data. In contrast, without aggregating the ports on the non-SDN network devices, a single data unit would be sent to each of the SDN network devices that are connected to a port on the non-SDN network devices. Not aggregating the ports on the non-SDN network devices can result in multiple copies of the single data unit being sent to multiple SDN network devices and each software defined network device could implement a particular forwarding rule that could generate data plane loops and/or send multiple copies to a destination device.
- Sending multiple copies of a single data unit to a particular network device can be prevented by aggregating the ports on the non-SDN network devices as described herein. In an example, host (1) 120-1 can attempt to broadcast a data unit. In this example, the data unit can be forwarded to
port 4 of switch (1) 114 viapath 128. The switch (1) 114 can be aggregated at 122 as described herein and send the data unit out of a single aggregated port atport 1 toport 2 of switch (OF1) 108 viapath 130. When switch (1) 114 is aggregated only a single copy of the data unit will be sent from switch (1) 114 to one of the number of SDN network devices. That is, the switch (1) 114 can be configured to send a single copy to one of switch (OF1) 108, switch (OF2) 110, or switch (OF3) 112. - In the same example, switch (OF1) 108 can broadcast the data unit from
port 3 toport 1 of switch (2) 116. The ports (e.g.,port 1,port 2, port 3) of switch (2) 116 can be aggregated at 124 similarly to switch (1) 114. That is, switch (2) 116 can receive the data unit from a single designated port. The switch (OF1) 108 can also broadcast the data unit fromport 1 toport 1 of (OF2) 110. - Switch (OF2) 110 can broadcast the data unit from
port 2 toport 1 of switch (OF3) 112. The switch (OF2) 110 can also broadcast the data unit fromport 5 toport 1 of switch (3) 118. The ports of switch (3) 118 can be aggregated at 126 to receive the data unit from a single designated port. In the same example, switch (2) 116 can send the data unit to host (2) 120-2 viapath 140. - The loop-
free hybrid network 100 can ensure that data plane loops are avoided while utilizing SDN network devices and non-SDN network devices. Utilizing the described distribution layer and access layer for each of the number of network devices and aggregating the ports of the non-SDN network devices can provide a loop-free hybrid network even when broadcasting data units. -
FIG. 2 illustrates a flow diagram for an example of a loop-freehybrid network process 250 according to the present disclosure. At box 252 a network device on the distribution layer (e.g., SDN network devices) can receive traffic from a network device on the access layer (e.g., non-software defined network device). As described herein the SDN network devices on the distribution layer can receive a single data unit from a non-software defined network device with aggregated ports. - At
box 254 the data unit is forwarded to the network controller if there is not an existing forwarding rule for the data unit. For example, the data unit can include a header with a source address and/or a destination address. In this example, if the header information is not recognized by the receiving network device, the data unit can be sent to the network controller. The network controller can create a forwarding rule for the data unit and designate the forwarding rule to each of the SDN network devices. - At box 256 a determination is made on the network controller if the data unit is to be sent via broadcast (e.g., sent to all connected devices). If it is determined that the data unit is not going to be sent via broadcast, the
process 250 can move tobox 258. At box 258 a number of ports can be added to an output port list (e.g., table of ports to send a data unit out to a different network device). The output port list can be a number of ports that are capable of forwarding (e.g., sending) outgoing data units. The output port list can be determined based on which access switch the data packet is being sent to and/or if the access switch is directly or indirectly connected. If the access switch is not directly connected (e.g., connection with no intermediate network devices) the port that can forward to a distribution switch that can forward the data unit to the access switch. Afterbox 258 the process can move tobox 266. Atbox 266 the network manager (e.g., SDN controller) can program the distribution switch with the output port list. - If it is determined at
box 256 that the data unit is going to be sent via broadcast, theprocess 250 can move tobox 260. Atbox 260 there can be a determination if the in port (e.g., receiving port) is a distribution down link port. A distribution down link port can be a port that is on a distribution switch directly connected to a port of an access switch. - If a determination is made at
box 260 that the in port is not a distribution down link port then theprocess 250 can move tobox 262. At box 262 a number of ports can be added to an output port list. As described herein, the output port list can be a number of ports that are capable of forwarding (e.g., sending) outgoing data units. The number of output port lists can be added based on whether the distribution switch has already forwarded data units to the received switch. The number of output port lists can be added based on whether or not the output ports are inter ports. Inter ports can be ports that connected to only distribution switches. Afterbox 262 the process can move tobox 266. Atbox 266 the network manager can program the distribution switch with the output port list. - If a determination is made at
box 260 that the in port is a distribution down link port then theprocess 250 can move tobox 264. At box 264 a number of ports can be added to an output port list. As described herein, the output port list can be a number of ports that are capable of forwarding (e.g., sending) outgoing data units. The number of output port lists can be added based on a unique access switch that is connected to the receiving switch. The number of output port lists can be added based on whether or not the output ports are inter ports. Inter ports can be ports that connected to only distribution switches. Afterbox 264 the process can move tobox 266. - After programming the receiving distribution switch with a particular output port list the
process 250 can end atbox 268. -
FIG. 3A illustrates a flow diagram for an example of amethod 370 for creating a loop-free hybrid network according to the present disclosure. Creating the loop-free hybrid network can include utilizing a number of SDN network devices and non-SDN network devices. A loop-free hybrid network can include a network that can prevent data plane loops. Data plane loops can occur when a data unit is received by a sending network device. For example, a particular network device can send a particular packet to a number of different network devices. In this example, forwarding rules for the number of different network devices could send the data unit back to the particular network devices (e.g., sending network device) and thereby cause a data plane loop. - At
box 372 themethod 370 can include receiving, by a number of SDN network devices, a number of advertisements (e.g., a link layer discovery protocol) from a number of non-SDN network devices. The number of advertisements can include information relating to the port connections of the non-SDN network devices. For example, the advertisements can include a number of ports of the non-SDN network devices and what network devices (e.g., SDN network devices, computing devices, etc.) are communicatively connected to the number of ports. - The number of advertisements can be utilized by a computing device (e.g., network controller) to generate a network topology of the number of SDN network devices and the number of non-SDN network devices. The network topology can be utilized by a network controller connected to the number of SDN network devices. For example, the network controller can utilize the network topology to determine a number of forwarding rules for the network. Without the number of advertisements to provide information to the network controller it may not be possible for the network controller to communicate with the non-SDN network devices. For example, the network controller may not be able to determine the network topology of the number of non-SDN network devices. The network controller may not be able to communicate with the non-SDN network devices using the OpenFlow protocol. However, the network controller may be able to communicate via a simple network management protocol (SNMP) and configure a link aggregation for the number of non-SDN network devices.
- At
box 373 themethod 370 can include receiving, by the number of SDN network devices, instructions regarding aggregation of connections between the number of SDN network devices and the number of non-SDN network devices, wherein the instructions are based on the number of advertisements. The instructions can include a number of ports and/or connections with the number of SDN network devices to aggregate. - The instructions can include an aggregation of all connections with the number of SDN network devices. That is, each of the number of non-SDN network devices can be connected to a number of SDN network devices and all of the connections to the number of SDN network devices can be aggregated.
- The number of non-SDN network devices can be separated from other non-SDN network devices as described herein. That is, non-SDN network devices may not be connected to any other non-SDN network devices. For example, a particular non-SDN network device may have a total four ports. In this example,
port 1 can be connected to a host. In this same example,port 2,port 3, andport 4 can be connected to individual SDN network devices andport 2,port 3, andport 4 can be aggregated. - At
box 374 themethod 370 can include sending, from the number of SDN network devices, the instructions to the number of non-SDN network devices. The number of non-SDN network devices can receive the instructions and aggregate a number of ports on the non-SDN network device based on the instructions. Aggregating the number of ports can be performed by the number of non-SDN network devices utilizing the instructions sent by the number of SDN network devices. -
FIG. 3B illustrates a flow diagram for an example of amethod 376 for creating a loop-free hybrid network according to the present disclosure. Themethod 376 can be utilized to create a loop-free hybrid network that includes SDN network devices and non-SDN network devices. Themethod 376 can eliminate loops between non-SDN network devices that are not able to receive forwarding rules via a forwarding protocol (e.g., OpenFlow, etc.) from the network controller. - At
box 377 themethod 376 can include receiving an advertisement from a non-software defined network (SDN) network device. Receiving the advertisement can include receiving information relating to the connections of the non-SDN network device with the plurality of SDN network devices. That is, the advertisement can include information relating to the non-SDN network device. The non-SDN network device can send the advertisement to one of the plurality of SDN network devices and the one of the plurality of SDN network devices can forward the advertisement to a network controller. - The advertisement can include information relating to devices that are connected to each port of the non-SDN network device. For example, the information can be that a first port of the non-SDN network device can be connected to a first of the plurality of SDN network devices. In this example, the information can also be that a second port of the non-SDN network device that is connected to a second of the plurality of SDN network devices. Furthermore, the information can be that a third port of the non-SDN network device that is connected to a host computing device. The information included within the advertisement can enable a device (e.g., network controller) to determine the network topology beyond the plurality of SDN network devices. That is, the information included within the advertisement can be used to determine the network topology of the non-SDN network device and the plurality of SDN network devices.
- At
box 378 themethod 376 can include determining a network topology based at least in part on the advertisement, wherein the network topology includes connections between the non-SDN network device and a plurality of SDN network devices. Determining the network topology can include utilizing the advertisement sent from the non-SDN network device. As described herein, the advertisement can include information relating to a number of connections (e.g., ports) of the non-SDN network device. - At
box 379 themethod 376 can include sending an aggregation instruction to the non-SDN network device, wherein the aggregation instruction aggregates the connections between the non-SDN network device and the plurality of SDN network devices. As described herein, the network controller may not be able to communicate with the non-SDN network devices using the OpenFlow protocol, but the non-SDN network devices may be able to receive aggregation instructions via SNMP. The aggregation instruction can be sent, via a SNMP, to the non-SDN network and include a number of ports to aggregate. For example, the number of ports to aggregate can be ports that are connected to the plurality of SDN network devices. For example, if a first port and a second port of the non-SDN network device are each connected to a SDN network device, then the first port and the second port can be instructed to be aggregated by the aggregation instruction. - The aggregation instruction can be determined based on the network topology. For example, the network topology can include ports of the non-SDN network device that are connected to SDN network devices. In this example, the aggregation instruction can include instructions for the non-SDN network device to aggregate the ports connected to the SDN network devices.
-
FIG. 4 illustrates a diagram of an example of acomputing device 480 according to the present disclosure. Thecomputing device 480 can utilize software, hardware, firmware, and/or logic to perform a number of functions described herein. - The
computing device 480 can be any combination of hardware and program instructions configured to share information. The hardware, for example can include aprocessing resource 482 and/or a memory resource 486 (e.g., computer-readable medium (CRM), machine readable medium (MRM), database, etc.) Aprocessing resource 482, as used herein, can include any number of processors capable of executing instructions stored by amemory resource 486.Processing resource 482 may be integrated in a single device or distributed across multiple devices. The program instructions (e.g., computer-readable instructions (CRI)) can include instructions stored on thememory resource 486 and executable by theprocessing resource 482 to implement a desired function (e.g., generate a number of nodes based on the number of attributes, etc.). - The
memory resource 486 can be in communication with aprocessing resource 482. Amemory resource 486, as used herein, can include any number of memory components capable of storing instructions that can be executed by processingresource 482.Such memory resource 486 can be a non-transitory CRM.Memory resource 486 may be integrated in a single device or distributed across multiple devices. Further,memory resource 486 may be fully or partially integrated in the same device asprocessing resource 482 or it may be separate but accessible to that device andprocessing resource 482. Thus, it is noted that the system 340 may be implemented on a user and/or a participant device, on a server device and/or a collection of server devices, and/or on a combination of the user device and the server device and/or devices. - The
processing resource 482 can be in communication with amemory resource 486 storing a set of CRI executable by theprocessing resource 482, as described herein. The CRI can also be stored in remote memory managed by a server and represent an installation package that can be downloaded, installed, and executed.Processing resource 482 can execute CRI that can be stored on an internal orexternal memory resource 486. Theprocessing resource 482 can execute CRI to perform various functions, including the functions described with respect toFIGS. 1 and 2 . For example, theprocessing resource 482 can execute CRI to determine a network topology of the SDN network devices and the non-SDN network devices based on the received number of advertisements. - The
memory resource 486, as used herein, can include volatile and/or non-volatile memory. Volatile memory can include memory that depends upon power to store information, such as various types of dynamic random access memory (DRAM), among others. Non-volatile memory can include memory that does not depend upon power to store information. Thememory resource 486 can be integral, or communicatively connected, to a computing device, in a wired and/or a wireless manner. For example, thememory resource 486 can be an internal memory, a portable memory, a portable disk, or a memory associated with another computing resource (e.g., enabling CRIs to be transferred and/or executed across a network such as the Internet). - The
memory resource 486 can be in communication with theprocessing resource 482 via a communication link (e.g., path) 484. Thecommunication link 484 can be local or remote to a machine (e.g., a computing device) associated with theprocessing resource 482. Examples of alocal communication link 484 can include an electronic bus internal to a machine (e.g., a computing device) where thememory resource 486 is one of volatile, non-volatile, fixed, and/or removable storage medium in communication with theprocessing resource 482 via the electronic bus. - The
communication link 484 can be such that thememory resource 486 is remote from the processing resource (e.g., 482), such as in a network connection between thememory resource 486 and the processing resource (e.g., 482). That is, thecommunication link 484 can be a network connection. Examples of such a network connection can include a local area network (LAN), wide area network (WAN), personal area network (PAN), and the Internet, among others. In such examples, thememory resource 486 can be associated with a first computing device and theprocessing resource 482 can be associated with a second computing device (e.g., a Java® server). For example, aprocessing resource 482 can be in communication with amemory resource 486, wherein thememory resource 486 includes a set of instructions and wherein theprocessing resource 482 is designed to carry out the set of instructions. - A number of
modules processing resource 482 can perform a number of functions. The number ofmodules module 488 and the determiningmodule 492 can be sub-modules and/or contained within the same computing device. In another example, the number ofmodules - An aggregating
module 488 can include CRI that when executed by theprocessing resource 482 can aggregate ports of the number of non-SDN network devices that are utilized to communicate with a number of SDN network devices. Aggregating the ports of the number of non-SDN network devices can include aggregating all ports communicatively connected to SDN network devices. Aggregating the ports can eliminate a possibility of data units being received by a sending non-SDN network device. For example, if the ports of the non-SDN network devices are not aggregated, a non-software defined network device can send a data unit out of a first port and later receive the same data unit from a second port causing a data plane loop. - A receiving
module 490 can include CRI that when executed by theprocessing resource 482 can receive a number advertisements from the number of SDN network devices. The number of advertisements can include information received from the number of non-SDN network devices. For example, the number of non-SDN network devices can send information (e.g., advertisements) to the number of SDN network devices. In this same example, the number of SDN network devices can relay the information from the number of non-SDN network devices to the network controller. - A determining
module 492 can include CRI that when executed by theprocessing resource 482 can determine a network topology of the SDN network devices and the non-SDN network devices based on the received number of advertisements. The information sent to the network controller by the SDN network devices can enable the network controller to develop a network topology of both the SDN network devices and the non-SDN network devices. - As used herein, “logic” is an alternative or additional processing resource to execute the actions and/or functions, etc., described herein, which includes hardware (e.g., various forms of transistor logic, application specific integrated circuits (ASICs), etc.), as opposed to computer executable instructions (e.g., software, firmware, etc.) stored in memory and executable by a processor.
- The specification examples provide a description of the applications and use of the system and method of the present disclosure. Since many examples can be made without departing from the spirit and scope of the system and method of the present disclosure, this specification sets forth some of the many possible example configurations and implementations.
Claims (16)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN771/DEL/2013 | 2013-03-15 | ||
IN771DE2013 | 2013-03-15 | ||
PCT/US2013/045869 WO2014143118A1 (en) | 2013-03-15 | 2013-06-14 | Loop-free hybrid network |
Publications (2)
Publication Number | Publication Date |
---|---|
US20160036644A1 true US20160036644A1 (en) | 2016-02-04 |
US9917766B2 US9917766B2 (en) | 2018-03-13 |
Family
ID=51537412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/777,436 Active 2034-01-14 US9917766B2 (en) | 2013-03-15 | 2013-06-14 | Loop-free hybrid network |
Country Status (4)
Country | Link |
---|---|
US (1) | US9917766B2 (en) |
EP (1) | EP2974147B1 (en) |
CN (1) | CN105210329B (en) |
WO (1) | WO2014143118A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160105306A1 (en) * | 2013-06-28 | 2016-04-14 | Hangzhou H3C Technologies Co., Ltd. | Link aggregation |
US20170180755A1 (en) * | 2014-03-20 | 2017-06-22 | Lg Electronics Inc. | 3d video encoding/decoding method and device |
US20170374696A1 (en) * | 2014-12-01 | 2017-12-28 | Alcatel Lucent | Method and device for connectionless bearer service |
US10103969B2 (en) * | 2015-06-30 | 2018-10-16 | Hewlett Packard Enterprise Development Lp | Open shortest path first routing for hybrid networks |
US10367725B2 (en) * | 2013-12-21 | 2019-07-30 | Hewlett Packard Enterprise Development Lp | Network programming |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9451053B1 (en) * | 2014-03-31 | 2016-09-20 | Juniper Networks, Inc | Systems and methods for interfacing software-defined networks with non-software-defined networks |
CN105721297B (en) * | 2016-01-28 | 2019-04-09 | 北京国电通网络技术有限公司 | Detection method and system based on route loop in SDN network |
CN107566277B (en) * | 2016-06-30 | 2020-09-25 | 华为技术有限公司 | Topology determining method, message response method, controller and switch |
CN107454022A (en) * | 2017-09-28 | 2017-12-08 | 中国联合网络通信集团有限公司 | A kind of heterogeneous network and its data flow guidance method and interchanger |
WO2022198324A1 (en) * | 2021-03-24 | 2022-09-29 | Genetec Inc. | Power distribution and data routing in a network of devices interconnected by hybrid data/power links |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070008949A1 (en) * | 2005-07-07 | 2007-01-11 | Nokia Corporation | Method for automatic route aggregation in a communication system |
US20120102228A1 (en) * | 2009-03-16 | 2012-04-26 | Filippo Cugini | Inter-domain advertisements in multi-domain networks |
US20130194914A1 (en) * | 2012-01-26 | 2013-08-01 | Brocade Communications Systems, Inc. | Link aggregation in software-defined networks |
US20130250770A1 (en) * | 2012-03-22 | 2013-09-26 | Futurewei Technologies, Inc. | Supporting Software Defined Networking with Application Layer Traffic Optimization |
US20140207967A1 (en) * | 2013-01-23 | 2014-07-24 | Adva Optical Networking Se | Method and Apparatus for Provisioning a Transport Service in a Multi-Domain Multi-Layer Network |
US20140215027A1 (en) * | 2013-01-25 | 2014-07-31 | Dell Products L.P. | System and method for determining the configuration of switches in virtual link trunking environments |
US20150249587A1 (en) * | 2012-09-20 | 2015-09-03 | Ntt Docomo, Inc. | Method and apparatus for topology and path verification in networks |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5889846A (en) * | 1997-02-10 | 1999-03-30 | At&T Corp | Method and system for initiating a software defined network call via a network adjunct platform |
US7206307B1 (en) * | 2002-11-18 | 2007-04-17 | At&T Corp. | Method and system for providing multi-media services incorporating a segmentation directory adapted to direct requests for multi-media services to one or more processors |
US20100014431A1 (en) * | 2008-07-17 | 2010-01-21 | Paritosh Bajpay | Method and apparatus for providing automated processing of a network service alarm |
CN101582902A (en) | 2009-05-25 | 2009-11-18 | 中兴通讯股份有限公司 | Link aggregation method and device |
US8125928B2 (en) * | 2009-07-24 | 2012-02-28 | Juniper Networks, Inc. | Routing frames in a shortest path computer network for a multi-homed legacy bridge node |
JP5446040B2 (en) | 2009-09-28 | 2014-03-19 | 日本電気株式会社 | Computer system and virtual machine migration method |
KR101155012B1 (en) | 2010-11-24 | 2012-06-14 | 한국과학기술정보연구원 | Open flow network system and method of controlling the same |
US9001827B2 (en) | 2010-12-17 | 2015-04-07 | Big Switch Networks, Inc. | Methods for configuring network switches |
US8855124B2 (en) * | 2011-03-10 | 2014-10-07 | Extreme Networks, Inc. | Forwarding inter-switch connection (ISC) frames in a network-to-network interconnect topology |
US8964563B2 (en) | 2011-07-08 | 2015-02-24 | Telefonaktiebolaget L M Ericsson (Publ) | Controller driven OAM for OpenFlow |
JP5910811B2 (en) | 2011-07-27 | 2016-04-27 | 日本電気株式会社 | Switch device control system, configuration control device and configuration control method thereof |
US9185027B2 (en) | 2011-07-29 | 2015-11-10 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for resilient routing of control traffic in a split-architecture system |
-
2013
- 2013-06-14 WO PCT/US2013/045869 patent/WO2014143118A1/en active Application Filing
- 2013-06-14 EP EP13877926.9A patent/EP2974147B1/en active Active
- 2013-06-14 CN CN201380076518.7A patent/CN105210329B/en active Active
- 2013-06-14 US US14/777,436 patent/US9917766B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070008949A1 (en) * | 2005-07-07 | 2007-01-11 | Nokia Corporation | Method for automatic route aggregation in a communication system |
US20120102228A1 (en) * | 2009-03-16 | 2012-04-26 | Filippo Cugini | Inter-domain advertisements in multi-domain networks |
US20130194914A1 (en) * | 2012-01-26 | 2013-08-01 | Brocade Communications Systems, Inc. | Link aggregation in software-defined networks |
US20130250770A1 (en) * | 2012-03-22 | 2013-09-26 | Futurewei Technologies, Inc. | Supporting Software Defined Networking with Application Layer Traffic Optimization |
US20150249587A1 (en) * | 2012-09-20 | 2015-09-03 | Ntt Docomo, Inc. | Method and apparatus for topology and path verification in networks |
US20140207967A1 (en) * | 2013-01-23 | 2014-07-24 | Adva Optical Networking Se | Method and Apparatus for Provisioning a Transport Service in a Multi-Domain Multi-Layer Network |
US20140215027A1 (en) * | 2013-01-25 | 2014-07-31 | Dell Products L.P. | System and method for determining the configuration of switches in virtual link trunking environments |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160105306A1 (en) * | 2013-06-28 | 2016-04-14 | Hangzhou H3C Technologies Co., Ltd. | Link aggregation |
US10367725B2 (en) * | 2013-12-21 | 2019-07-30 | Hewlett Packard Enterprise Development Lp | Network programming |
US20170180755A1 (en) * | 2014-03-20 | 2017-06-22 | Lg Electronics Inc. | 3d video encoding/decoding method and device |
US20170374696A1 (en) * | 2014-12-01 | 2017-12-28 | Alcatel Lucent | Method and device for connectionless bearer service |
US10103969B2 (en) * | 2015-06-30 | 2018-10-16 | Hewlett Packard Enterprise Development Lp | Open shortest path first routing for hybrid networks |
Also Published As
Publication number | Publication date |
---|---|
CN105210329A (en) | 2015-12-30 |
US9917766B2 (en) | 2018-03-13 |
EP2974147A1 (en) | 2016-01-20 |
EP2974147B1 (en) | 2019-08-07 |
CN105210329B (en) | 2019-06-04 |
WO2014143118A1 (en) | 2014-09-18 |
EP2974147A4 (en) | 2017-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9917766B2 (en) | Loop-free hybrid network | |
US10142160B1 (en) | System and methods for managing network hardware address requests with a controller | |
US8923296B2 (en) | System and methods for managing network packet forwarding with a controller | |
US10250529B2 (en) | Systems and methods for performing logical network forwarding using a controller | |
US9590898B2 (en) | Method and system to optimize packet exchange between the control and data plane in a software defined network | |
US9853877B2 (en) | Method for optimized placement of service-chain-monitoring probes | |
US8787388B1 (en) | System and methods for forwarding packets through a network | |
US20130097335A1 (en) | System and methods for managing network protocol address assignment with a controller | |
WO2019184752A1 (en) | Network device management method, apparatus and system | |
US8891536B2 (en) | Layer-3 services for united router farm | |
US9008080B1 (en) | Systems and methods for controlling switches to monitor network traffic | |
US20160028589A1 (en) | Data loop detection | |
US9509610B2 (en) | Forwarding packet in stacking system | |
US20180131619A1 (en) | Load Balancing Method and Related Apparatus | |
CN105122747A (en) | Control device and control method in software defined network (sdn) | |
US9356838B1 (en) | Systems and methods for determining network forwarding paths with a controller | |
US9912592B2 (en) | Troubleshooting openflow networks | |
US9264295B1 (en) | Systems and methods for forwarding broadcast network packets with a controller | |
RU2675212C1 (en) | Adaptive load balancing during package processing | |
US8855015B2 (en) | Techniques for generic pruning in a trill network | |
US10291581B2 (en) | Method and system for reducing PIM protocol DR change | |
US10320667B2 (en) | Notification method and device and acquisition device for MAC address of ESADI | |
WO2016127565A1 (en) | Method and apparatus for processing segment routing id (sid) | |
WO2022108498A1 (en) | Method and system for efficient input/output transfer in network devices | |
WO2015110054A1 (en) | Generating virtual network device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DEVARAJAN, VENKATAVARADHAN;ALLU RAM, RAM PRASAD;REEL/FRAME:036617/0037 Effective date: 20130327 |
|
AS | Assignment |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:037079/0001 Effective date: 20151027 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |