US20160036644A1 - Loop-free hybrid network - Google Patents

Loop-free hybrid network Download PDF

Info

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
Application number
US14/777,436
Other versions
US9917766B2 (en
Inventor
Venkatavaradhan Devarajan
Ram Prasad Allu Ram
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ALLU RAM, Ram Prasad, DEVARAJAN, VENKATAVARADHAN
Assigned to HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP reassignment HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Publication of US20160036644A1 publication Critical patent/US20160036644A1/en
Application granted granted Critical
Publication of US9917766B2 publication Critical patent/US9917766B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

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/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • 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
    • 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/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing 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

A loop-free hybrid network can include receiving an advertisement from a non-software defined network (SDN) network device, determining a network topology that includes the non-SDN network device and a number of SDN network devices, and sending an aggregating instruction to the non-SDN network device, wherein the aggregating instruction aggregates all connections between the non-SDN network device and the number of SDN network devices.

Description

    BACKGROUND
  • 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.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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.
  • DETAILED DESCRIPTION
  • 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 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 (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, 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.). For example, switch (OF1) 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.
  • 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 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. 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 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. For example, port 1, port 2, and port 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 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 (OF1) 108 via path 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 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 (OF1) 108 can also broadcast the data unit from port 1 to port 1 of (OF2) 110.
  • Switch (OF2) 110 can broadcast the data unit from port 2 to port 1 of switch (OF3) 112. The switch (OF2) 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. In the same example, 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. 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 to box 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. After box 258 the process can move to box 266. At box 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, the process 250 can move to box 260. At box 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 the process 250 can move to box 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. After box 262 the process can move to box 266. At box 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 the process 250 can move to box 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. After box 264 the process can move to box 266.
  • After programming the receiving distribution switch with a particular output port list the process 250 can end at box 268.
  • 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.
  • At box 372 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. 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 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.
  • 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, and port 4 can be connected to individual SDN network devices and port 2, port 3, and port 4 can be aggregated.
  • At box 374 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.
  • At box 377 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. 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 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.
  • At box 379 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. 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 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, as used herein, 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)) 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, as used herein, 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. 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 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. For example, 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, 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. The memory resource 486 can be integral, or communicatively connected, to a computing device, in a wired and/or a wireless manner. For example, 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. In such examples, 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). For example, 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. For example, the aggregating module 488 and the determining module 492 can be sub-modules and/or contained within the same computing device. In another example, 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. 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 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.
  • 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)

What is claimed:
1. A method, comprising:
receiving an advertisement from a non-software defined network (SDN) network device;
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; and
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.
2. The method of claim 1, wherein receiving the advertisement includes receiving information relating to the connections of the non-SDN network device with the plurality of SDN network devices.
3. The method of claim 1, wherein the method includes sending an aggregation instruction for the non-SDN network device.
4. The method of claim 1, wherein receiving the advertisement includes receiving information indicating:
a first port of the non-SDN network device that is connected to a first of the plurality of SDN network devices; and
a second port of the non-SDN network device that is connected to a second of the plurality of SDN network devices.
5. The method of claim 4, wherein the aggregation instruction aggregates the first port and the second port.
6. The method of claim 1, wherein receiving the advertisement includes receiving the advertisement from the non-SDN network device via one of the plurality of SDN network devices.
7. A non-transitory computer-readable medium storing a set of instructions executable by a processor to cause a device to:
receive an advertisement from a non-software defined network (SDN) network device via a SDN network device;
determine a network topology that includes the SDN network device and the non-SDN network device based on the received advertisement; and
aggregate, based on the determined network topology, a first port of the non-SDN network device that communicates with the SDN network device and a second port of the non-SDN network device that communicates with a different SDN network device.
8. The medium of claim 7, wherein the advertisement includes information that describes connections of the non-SDN network device.
9. The medium of claim 7, wherein the instructions to aggregate ports include instructions to send instructions from a network controller to the non-SDN network devices to cause the non-SDN network device to aggregate the ports.
10. The medium of claim 7, wherein the instructions to determine the network topology include instructions to utilize a link layer discovery protocol.
11. A network controller, comprising:
a processing resource; and
instructions that are executable by the processing resource to:
receive an advertisement from a non-software defined network (SDN) network device;
receive a plurality of advertisements from a plurality of SDN network devices;
determine a network topology of the non-SDN network device and the plurality of SDN network devices based on the advertisement and the plurality of advertisements;
send an aggregation instruction to the non-SDN network device based on the network topology; and
send a forwarding rule to one of the plurality of SDN network devices based on the network topology and the aggregation instruction.
12. The system of claim 11, wherein the non-SDN network device is aggregated to send a single received data unit to the SDN network device.
13. The system of claim 11, wherein the network controller sends instructions to the SDN network device, wherein the instructions includes instructions to broadcast a received data unit to the non-SDN network device.
14. The system of claim 11, wherein the non-SDN network device is unable to recognize the number of forwarding rules sent by the network controller.
15. The system of claim 11, wherein the number of non-SDN network devices are only communicatively connected to SDN network devices and computing devices connected to the loop-free hybrid network.
16. A system comprising:
a first layer of devices that includes a plurality of software defined network (SDN) devices, wherein each of the plurality of SDN devices are connected to a number of other SDN devices within the first layer and a number of non-SDN devices within a second layer;
the second layer of devices that includes a plurality of non-SDN devices, wherein each of the plurality of non-SDN devices are connected to a number of the plurality of SDN devices within the first layer and a number of host devices.
US14/777,436 2013-03-15 2013-06-14 Loop-free hybrid network Active 2034-01-14 US9917766B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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