WO2018103019A1 - Method for managing route in software-defined networking and switch - Google Patents
Method for managing route in software-defined networking and switch Download PDFInfo
- Publication number
- WO2018103019A1 WO2018103019A1 PCT/CN2016/108900 CN2016108900W WO2018103019A1 WO 2018103019 A1 WO2018103019 A1 WO 2018103019A1 CN 2016108900 W CN2016108900 W CN 2016108900W WO 2018103019 A1 WO2018103019 A1 WO 2018103019A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- switch
- message
- information
- controller
- rack
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000006855 networking Effects 0.000 title abstract description 3
- 238000004891 communication Methods 0.000 claims abstract description 36
- 238000013507 mapping Methods 0.000 claims description 65
- 238000012545 processing Methods 0.000 claims description 65
- 230000008569 process Effects 0.000 claims description 35
- 230000009471 action Effects 0.000 claims description 24
- 238000006243 chemical reaction Methods 0.000 claims description 23
- 238000007726 management method Methods 0.000 description 81
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 238000012384 transportation and delivery Methods 0.000 description 6
- 239000000306 component Substances 0.000 description 5
- 238000013439 planning Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000008358 core component Substances 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
Definitions
- Embodiments of the present invention relate to the field of communications, and in particular, to a method and a switch for routing management in a software-defined network.
- SDN Software-Defined Networking
- the OpenFlow (OpenFlow) network is a software-defined network proposed by Stanford University in 2007. It supports users to control network processing behavior through an open flow table.
- the OpenFlow switch (Switch) is one of the core components of the entire OpenFlow network and is responsible for data forwarding. After receiving the data packet, the OpenFlow switch first searches the local flow table (FlowTable) for matching the existing flow entry (FlowEntry). If there is no match, the packet is forwarded to the controller (Controller). The device determines the forwarding rule, and delivers the forwarding rule for the data packet. The switch adds a new flow entry to the flow table according to the forwarding rule.
- the Controller is also one of the core components of the entire OpenFlow network, and is primarily responsible for data forwarding decisions.
- the Controller controls (adds, deletes, modifies, etc.) the flow table in the OpenFlow switch through the standard interface of the OpenFlow protocol, thereby implementing centralized control of the entire network.
- the controller determines that the forwarding path of the data stream needs to acquire topology information of the entire SDN network, and the topology information is formed by the switches being connected to each other.
- each server In the actual application of the data center, each server generally installs virtualization software and runs multiple virtual machines (VMs).
- This virtualization software includes not only host virtualization software but also network virtualization software.
- the server forms a virtual switch through virtualization software and connects the virtual machine to the virtual switch.
- the network scale of the data center is increasing, the topology complexity is greatly increased, and the controller calculates according to the complex network topology.
- the forwarding path of the communication data flow between the hosts is slowed down, and the increase of the decision time of the forwarding path by the controller causes the speed of the data flow forwarding process to be reduced, thereby greatly reducing the communication efficiency of the entire network.
- the decision speed of the controller is slow due to the complicated network topology, which may lead to communication failure.
- the embodiment of the present invention provides a method and a switch for routing management in an SDN network, which reduces the complexity of the network topology obtained by the controller, improves the speed of the controller to determine the forwarding path of the data stream, and greatly improves the communication of the network. effectiveness.
- the present application provides a method for routing management in a software-defined network, which is applied to a data center, including: a rack TOR switch in a data center collects routing management information of all switches in a managed rack, and performs route management.
- the information includes the device identification information, the port information, and the topology information of the connection between the devices.
- the TOR switch creates a logical switch according to the collected routing management information, and maps the collected routing management information of the intra-rack switch to the routing management information of the logical switch.
- the TOR switch sends the routing management information of the logical switch to the controller, so that the controller performs route management according to the routing management information of the logical switch.
- the switches in the rack include the TOR switch itself.
- the switches other than the TOR switch are virtual switches in the data center, which are often large.
- the TOR switch maps all the switches in the rack into one logical switch, and the controller makes routing decisions for the logical switch, which reduces the complexity and scale of the network topology visible at the controller level, thereby speeding up the controller. Calculate the speed of the data stream forwarding path and improve the communication performance of the entire system.
- the TOR switch serves as a communication message conversion device between the switch and the controller in the rack, and the TOR switch sends a message including the switch itself information to the switch in the rack according to the correspondence between the switch in the rack and the logical switch.
- a message converted to include logical switch information is sent to the controller, and a message sent by the controller to convert the message including the logical switch into the information of the corresponding intra-rack switch is sent to the corresponding switch.
- the TOR switch receives the first transmission sent by the first switch in the rack.
- the first report message is a message sent by the first switch to the controller;
- the TOR switch converts the information of the first switch in the first report message into the information according to the mapping relationship between the first switch and the logical switch The corresponding information of the logical switch is generated, and a second report message is generated and sent to the controller.
- the TOR switch implements the conversion and forwarding of messages sent by the switches in the rack to messages submitted to the controller.
- the TOR switch receives a first sent message sent by the controller, where the first sent message is a message sent by the controller to the logical switch; the TOR switch is based on an intra-rack switch and The mapping of the logical switch converts the information of the logical switch in the first sent message to the corresponding information of the destination switch, and generates a second sent message to be sent to the destination switch.
- the TOR switch implements the conversion and forwarding of messages sent by the controller to the logical switch to the switches in the rack.
- the TOR switch receives the first sent message sent by the controller, where the first sent message is a message sent by the controller to the logical switch; and the TOR switch is mapped according to the switch and the logical switch in the rack.
- the relationship and the topology information of the connection between the switches in the rack convert the information of the logical switch in the first sent message into the corresponding information of the destination switch, and generate a second sent message to be sent to the destination switch.
- the TOR switch implements the conversion and forwarding of messages sent by the controller to the logical switch to the switches in the rack.
- the TOR switch may generate multiple pieces of the first issued message according to the mapping relationship between the switch and the logical switch in the rack and the topology information of the connection between the switches in the rack. And sending, by the second sending message, the generated second sending message to the corresponding destination switch, so that the destination switches cooperate with the processing of the data stream according to the indication of the second sending message.
- the TOR switch further receives a first data flow forwarding rule request message sent by the second switch in the rack, where the first data flow forwarding rule request message is used to request the second switch from the controller.
- the forwarding rule of the received new data stream; the TOR switch converts the port of the second switch in the first data flow forwarding rule request message into the corresponding port of the logical switch according to the mapping relationship between the switch and the logical switch in the rack, and will be the first
- the buffer identifier in the second switch in the data flow forwarding rule request message is converted into a buffer identifier in the corresponding logical switch, and a second data flow forwarding rule request message is generated and sent to the controller;
- the TOR switch receives the controller
- the first flow table processing message is sent, the first flow table processing message includes a processing rule of the logical switch for the new data flow, and is a response to the first data flow forwarding rule request message; the TOR switch processes the message according to the first flow table, and is in the rack
- the TOR switch converts the data flow forwarding rule request message sent by the switch in the rack into a message for the logical switch, and the controller performs routing planning and issuance for the logical switch.
- the flow table processes the message, and the TOR switch converts the flow table processing message for the logical switch into a message for the intra-rack switch, and reduces the complexity and scale of the network topology visible at the controller level, and targets the new data in the SDN network.
- the process of streaming request forwarding routing rules speeds up the calculation of the data flow forwarding path by the controller and improves the communication performance of the entire system.
- the TOR switch also collects routing capability information of all switches in the managed rack, the routing capability information includes information about matching domains, commands, and actions supported by the flow table;
- the routing capability information determines the flow table configured by the logical switch and the routing capability information;
- the TOR switch sends the flow table configured by the logical switch and the routing capability information to the controller, so that the controller performs route management according to the routing management information of the logical switch.
- the TOR switch determines the flow table configured by the logical switch and the routing capability information according to the routing capability information of all the switches in the rack, so that the controller performs route management according to the routing management information of the logical switch.
- the routing information of the virtual switch in the cabinet in the data center is the same.
- the TOR switch can directly determine the routing capability information of the logical switch according to the routing capability information of the TOR and the common routing capability information of the virtual switch.
- the embodiment of the present invention provides a rack TOR switch, which is applied to a data center, and includes: a collecting unit, configured to collect routing management information of all switches in a rack managed by the TOR switch, and the routing management information
- the device includes: device identification information, port information, and topology information of the connection between the devices; the information mapping unit is configured to create a logical switch according to the collected routing management information, and map the collected routing management information of the intra-rack switch to the routing of the logical switch.
- the management unit sends a routing management information of the logical switch to the controller, so that the controller performs route management according to the routing management information of the logical switch.
- the TOR switch collection unit collects the routing management information of the switches in the rack, and maps all the switches in the rack into one logical switch.
- the controller makes routing decisions for the logical switch, thereby mapping multiple switches connected in the rack to An overall logical switch approach is presented to the controller, reducing the complexity and scale of the network topology at the controller level, thereby speeding up the controller to calculate the data flow forwarding path and improving the communication performance of the entire system.
- the TOR switch further includes: a receiving unit, configured to receive a first report message sent by the first switch in the rack, where the first report message is a message sent by the first switch to the controller; The unit is configured to convert the information of the first switch in the first report message to the corresponding information of the logical switch according to the mapping relationship between the first switch and the logical switch, to generate a second report message, where the sending unit is further configured to send the second report A message is sent to the controller.
- the TOR switch implements the conversion and forwarding of messages sent by the switches in the rack to messages submitted to the controller.
- the receiving unit is further configured to receive, by the controller, a first sent message, where the first sent message is a message sent by the controller to the logical switch; and the message converting unit is further configured to be used according to the machine
- the mapping between the in-rack switch and the logical switch converts the information of the logical switch in the first sent message into the corresponding information of the destination switch to generate a second sent message; the sending unit is further configured to send the second sent message to the destination switch.
- the TOR switch implements the conversion and forwarding of messages sent by the controller to the logical switch to the switches in the rack.
- the receiving unit is further configured to receive, by the controller, a first sent message, where the first sent message is a message sent by the controller to the logical switch, and the message converting unit is further configured to be used according to the machine
- the mapping relationship between the in-rack switch and the logical switch and the topology information of the inter-switch connection in the rack converting the information of the logical switch in the first sent message into the corresponding information of the destination switch, generating a second sending message; It is used to send a second sent message to the destination switch.
- the TOR switch implements the conversion and forwarding of messages sent by the controller to the logical switch to the switches in the rack.
- the message conversion unit may generate a first sent message according to the mapping relationship between the switch and the logical switch in the rack and the topology information of the connection between the switches in the rack.
- the plurality of second sending messages are sent, so that the destination switch corresponding to the second sending message cooperates with the processing of the data flow according to the indication of the second sending message.
- the receiving unit is further configured to receive the second switch in the rack.
- Sending a first data flow forwarding rule request message the first data flow forwarding rule request message is used to request a forwarding rule for the new data flow received by the second switch from the controller, and the first flow table processing message sent by the receiving controller
- the first flow table processing message includes a processing rule of the logical switch to the new data flow
- the message conversion unit is further configured to: according to the mapping relationship between the switch and the logical switch in the rack, forward the first data flow to the second switch in the rule request message
- the port is converted into a corresponding port of the logical switch, and the buffer identifier in the second switch in the first data flow forwarding rule request message is converted into a buffer identifier in the corresponding logical switch, and a second data flow forwarding rule request message is generated, and
- the second flow table processing message is generated according to the first flow table processing message, the mapping relationship between the switch and the logical switch in the rack, and the topology information of the connection between the switches in
- the TOR switch converts the data flow forwarding rule request message sent by the switch in the rack into a message for the logical switch, and the controller performs routing planning and issuance for the logical switch.
- the flow table processes the message, and the TOR switch converts the flow table processing message for the logical switch into a message for the intra-rack switch, and reduces the complexity and scale of the network topology visible at the controller level, and targets the new data in the SDN network.
- the process of streaming request forwarding routing rules speeds up the calculation of the data flow forwarding path by the controller and improves the communication performance of the entire system.
- the collecting unit is further configured to collect routing capability information of all switches in the managed rack, and the routing capability information includes information about matching fields, commands, and actions supported by the flow table; and the message mapping unit.
- the method further includes: determining, according to the collected routing capability information, a flow table configured by the logical switch and routing capability information; the sending unit is further configured to send the flow table configured by the logical switch and the routing capability information to the controller, so that the controller is configured according to the Route management information of the logical switch is used for route management.
- the TOR switch determines the flow table configured by the logical switch and the routing capability information according to the routing capability information of all the switches in the rack, so that the controller performs route management according to the routing management information of the logical switch.
- the routing information of the virtual switch in the cabinet in the data center is the same.
- the TOR switch can also directly use the routing information of the TOR itself.
- the common routing capability information of the force information and the virtual switch determines the routing capability information of the logical switch.
- an embodiment of the present invention provides a TOR switch, including: a processor, a memory, a bus, and a communication port; a memory for storing a computer to execute an instruction, a processor and a memory connected by a bus, and a communication port for using the controller
- the computer is in communication with the switch in the rack managed by the TOR switch, and the processor executes the memory stored computer to execute the instructions to perform the method of the first aspect above.
- an embodiment of the present invention provides a program product, the program product comprising instructions, when the program product is executed by a computer, causing the computer to perform the method of the first aspect.
- the rack switch maps all switches in the rack into a logical switch and presents the controller to the controller, and the controller performs routing decision for the logical switch.
- the switch completes the message mapping between the intra-rack switch and the logical switch, which reduces the complexity and scale of the network topology visible at the controller level, thereby speeding up the controller to calculate the data flow forwarding path and improving the overall system. Communication performance.
- FIG. 1 is a schematic diagram of deployment of a data center network in a ToR mode according to an embodiment of the present invention
- FIG. 2 is a network topology diagram corresponding to FIG. 1 acquired by a controller
- FIG. 3 is a network topology diagram of the virtual switch including FIG. 1 acquired by the controller;
- FIG. 4 is a schematic diagram of a network configuration of a cabinet in a data center according to an embodiment of the present invention.
- FIG. 5 is a schematic diagram of a logical switch configuration of a data center according to an embodiment of the present invention.
- FIG. 6 is a flow chart of a method for routing management in an SDN network
- FIG. 7 is a flow chart of a method for requesting forwarding routing rules in an SDN network
- FIG. 8 is a schematic structural diagram of a TOR switch
- FIG. 9 is a schematic structural diagram of another TOR switch.
- Top of Rack (TOR) mode In the switching network design of the data center, according to the different placement positions of the switch, there are generally several network architecture design methods: Top of Rack (TOR) mode, End Of Rack (EOR) mode, and column. (Middle of Row, MoR) way.
- the traditional network architecture of the equipment room is mainly based on EoR and MoR (the difference between the two is mainly due to the location of the network cabinet), and similar centralized wiring is adopted.
- the EoR mode refers to all the server ports in the server cabinet, which are connected to the distribution frame on the cabinet through jumpers, and then extend the cables on the distribution frame to the network cabinets located at the rear of the group of cabinets.
- the MoR mode is similar to the EoR mode.
- the network cabinet is deployed in the middle of the server cabinet, which reduces the cable distance from the server cabinet to the network cabinet to a certain extent.
- This method places the access switch on the top of each server cabinet or unit, and the server in the cabinet is directly connected to the top switch through a short jumper. Connected to the core switch from the uplink port of the switch via fiber optics.
- the ToR and EoR/MoR methods only change the location of the access switch, but actually change the network structure of the entire computer room.
- the integrated cabling system has changed from the centralized cabling to the point-to-point cabling, which simplifies cable management and is highly scalable.
- FIG. 1 is a schematic diagram of a typical ToR-based data center network deployment.
- the SDN network is mainly divided into two parts, a controller that is at the control level and that is the forwarding control core, and a switch that forwards data according to the control instructions issued by the controller on the data plane.
- the controller calculates the forwarding path of the data stream and needs to obtain the topology information of the entire SDN network, for the number shown in FIG. According to the network deployment diagram of the center, the controller can obtain the topology diagram of FIG. 2 by using a certain method.
- the controller calculates the forwarding path of the communication data flow between hosts to be slower and slower, which directly leads to the speed of the data flow forwarding process. It will also reduce, and the communication efficiency of the entire network is greatly reduced. Even if a large number of new data streams with a sudden increase in the need to decide the forwarding path, the controller may be slower due to the complexity of the topology, and eventually the communication establishment fails.
- the embodiment of the invention provides a method for routing management in an SDN network, which reduces the network topology presented on the controller by hiding the local detailed network topology of the data center, thereby reducing the controller decision pressure and improving the network forwarding performance.
- SDN in the embodiment of the present invention is described by using an OpenFlow network as an example.
- the virtual switch connected to the TOR switch uses only a small number of virtual switches as an example, and does not affect the protection scope of the present invention.
- FIG. 4 is a schematic diagram showing the network configuration of the data center in the cabinet shown in Embodiment 1 of the present invention.
- the TOR switch 102 serves as an aggregation switch of the virtual switches 103 and 104 connected below, and the virtual switch 1 and the virtual switch 2 are both associated with
- the TOR switch establishes an OpenFlow connection and connects to the host and the data port 1-4 of the TOR switch through its own data port 1-4.
- the data port 1-4 here is the virtual port created by the virtual switch.
- a host is a virtual host.
- the virtual port is directly connected to the network port corresponding to the virtual host.
- the data port 2 of the virtual switch 1 is connected to the host A, the data port 3 is connected to the data port 2 of the TOR switch, the data port 4 of the virtual switch 2 is connected to the host B, and the data port 3 is connected to the data port 4 of the TOR switch.
- the TOR switch and the controller are not directly connected to each other, and other switches are also used in the middle. For the sake of simplicity, the switch between the two is not shown in the embodiment of the present invention.
- TOR switches and virtual switching Both the machine 1 and the virtual switch 2 establish an OpenFlow connection with the controller 101 through the management port 5 for OpenFlow management.
- the management ports 5 of the three switches are generally connected to a switch on a control plane to establish a connection with the controller 101. Since there is little relationship with the present invention, there is no switch indicating the control plane.
- the controller 101 acquires a network topology diagram including the TOR switch 102 and each virtual switch 103.
- the obtained network topology map includes a large number of virtual switch information and Complex port connection relationships result in higher computational data flow forwarding paths and longer routing decisions. Even when a large number of new data streams with a sudden increase require a decision forwarding path, the controller 101 may be slow in decision-making due to the complexity of the topology, and eventually the communication establishment failure may occur.
- the TOR switch acts as a proxy for all other SDN switches in the rack, the TOR switch establishes an OpenFlow connection with the controller, and all other OpenFlow virtual switches in the rack establish an OpenFlow connection with the TOR switch instead of establishing an OpenFlow connection directly with the controller.
- the TOR switch itself and all other virtual switches in the rack with which OpenFlow is connected constitute an administrative domain.
- the TOR switches appear as their controllers, providing the controller's functionality.
- the TOR switch itself and all other virtual switches in the rack form a logical switch.
- control program of the TOR switch collects its own identification information, port information, and interconnected topology information of itself and all other virtual switches in the rack, and obtains the information shown in Table 1 below:
- Equipment Identity Original port TOR switch 0000000000000001 1, 2, 3, 4 Virtual switch 1 0000000000000002 1, 2, 3, 4 Virtual switch 2 0000000000000003 1, 2, 3, 4
- the control program of the TOR switch creates a new logical switch, which is not a real switch.
- the TOR switch will collect the port information of all other virtual switches and its own port information, and exclude the port information for the topology connection in the management domain as the new logic.
- the port of the switch uniformly allocates the port number and saves the mapping table between the original switch port information and the new logical switch port information. For example, the port number 1-4 of each of the TOR switch, the virtual switch 1, and the virtual switch 2 is mapped to the port number 1-8 of the logical switch (the table is identified by a logical port number for easy distinction). As follows:
- the TOR switch collects flow table, instruction (Action), action (Action) information of each virtual switch in the management domain, and analyzes the flow table information of all switches (including itself) in the management domain to obtain management.
- the matching domain supported by flow table 0 of virtual switch 1 is: input port (In_Port), virtual local area network identifier (VLAN ID), destination media access control address (Dst Mac), source media access control address (Src Mac) ), the destination IP address (Dst IP), and the flow table 0 of the TOR switch only supports the following matching fields: input port (In_Port), virtual local area network identifier (VLAN ID), destination media access control address (Dst Mac), then TOR After the switch is analyzed, the common matching domain supported by the flow table 0 of the two switches is selected as the matching domain information supported by the logical switch flow table, that is, the input port (In_Port), the virtual local area network identifier (VLAN ID), and the destination media access.
- Control address (Dst Mac).
- the TOR switch will analyze and take public information as a logical exchange. Information about the machine.
- the virtual switches in the cabinet use all-matched matching domain flow tables (that is, each flow table contains all matching domains), and the supported command information and action information are also identical.
- the TOR switch can determine the flow table, the command, and the action information of the logical switch according to its own information and the common information supported by all the virtual switches in the management domain.
- the matching fields, commands, and actions supported by each OpenFlow switch are the same. However, the sequence of the flow table may be different and the matching fields supported by the flow table in different order are inconsistent. Flow table, instructions, and action information.
- the TOR switch collects and converts the corresponding information representing the unified logical switch and returns it to the controller.
- the network information in the entire cabinet is mapped to a logical switch by the TOR switch, and the port 2 of the original virtual switch 1 is connected to the host A, and the port 4 of the logical switch is connected to the host A.
- the port 4 of the original virtual switch 2 is connected to the host B.
- the port 8 of the logical switch is connected to the host B.
- the port 3 of the original virtual switch 1 is connected to the port 2 of the TOR switch, and the port 7 of the logical switch is connected to the port 2.
- the virtual switch A when a new data flow arrives at a virtual switch, such as virtual switch A, it needs to be forwarded.
- the virtual switch A parses the data packet, it queries the forwarding flow table stored by itself. If there is no matching forwarding flow entry. Then, the data flow forwarding rule request message (here, Packet_in) message specified by the OpenFlow protocol is sent to the controller through the control management channel to request a forwarding rule for the data flow.
- the TOR switch acts as a controller agent. After receiving the data flow forwarding rule request message Packet_in message reported by a virtual switch, the TOR switch needs to send this message because the controller actually makes the forwarding decision.
- the controller Reported to the controller, it needs to be converted before the report, convert the information of the actual switch in the message to the information about the logical switch it represents, and save the original data stream forwarding rule request message and the converted data stream forwarding rule request message.
- the mapping relationship between related information If the new data stream is forwarded from the host A to the host B, the virtual switch 1 does not match the forwarding flow entry, and the data flow forwarding rule request message is reported to the TOR switch according to the protocol standard. Assume that the parameters carried in the Packet_in message are: a buffer identifier (Buffer id indicating the identifier of the buffer space of the data stream on the switch 1), and matching domain information of the data stream.
- Buffer id indicating the identifier of the buffer space of the data stream on the switch 1
- the Buffer id is 2 and the matching field is In Port, which is port 2.
- port 2 of the virtual switch should be converted to port 4 of the logical switch, and the Buffer ID on the logical switch is allocated by the proxy control program of the TOR switch, and the Buffer ID is on the logical switch. Globally unique.
- the proxy control program of the TOR switch reports the modified data flow forwarding rule request message Packet_in message to the controller.
- the controller After receiving the data flow forwarding rule request message Packet_in message reported by the TOR switch, the controller calculates the forwarding path, and sends a flow table processing message (here, Flow_Mod) of the forwarding data flow to the logical switch represented by the TOR switch according to the protocol. .
- the Flow_mod message sent by the controller mainly contains the following key information: Buffer ID, matching field, flow table identifier (Table ID), Instruction, or Action. Because the proxy control program of the TOR switch converts the Packet in message reported by the actual virtual switch into the Packet in message reported by the logical switch, the Flow_mod message responded by the controller is also for the logical switch, and the proxy control program of the TOR switch receives the control from the control.
- the Flow_mod message for the logical switch is converted into a series of Flow_mod messages for the actual switch and delivered to the actual multiple switches according to the mapping relationship between the virtual switch and the logical switch. Assume that the controller returns the Flow_mod message for the previous Packet_in message, as shown in the following table s:
- the Buffer ID issued by the logical switch represented by the previously received TOR switch is 10
- Packet_in message is added in the flow table of Table 1d of the logical switch: the matching domain is 4 for the ingress port, the source Mac address is equal to the Mac address of the host A, the destination Mac address is equal to the Mac address of the host B, and the command is the port. 8
- the proxy control program of the TOR switch After receiving the Flow_mod message sent by the controller for the logical switch, the proxy control program of the TOR switch will follow the mapping relationship between the actual switch and the logical switch recorded locally and the collected network topology information in the management domain. The flow entry of the logical switch is translated to the actual switch and sent to the actual switch.
- the conversion method is not the focus of this aspect and will not be described here.
- the virtual switch 1 needs to send the Packet_in message with the BufferID of 2 sent by the virtual switch 1 received by the front TOR switch to the flow table of Table Id 01: the matching domain is the ingress port 2, and the source Mac address is equal to the host A. The Mac address and the destination Mac address are equal to the MAC address of the host B, and the command is a flow entry sent by the port 3, so that the virtual switch 1 processes the newly received data stream sent by the host A according to the flow table, and sends the data stream sent by the port A.
- the Buffer ID is determined by the mapping relationship of the Buffer ID recorded by the TOR switch.
- the information of the port is determined by the mapping relationship between the actual switch and the logical switch maintained by the TOR switch and the topology information.
- the TOR switch needs to be added in the flow table with Table Id 01: the matching domain is the ingress port 2, the source Mac address is equal to the Mac address of the host A, the destination Mac address is equal to the Mac address of the host B, and the command is performed by the port 4.
- the flow entry to be sent so that the TOR switch processes the data stream sent by the port 2 of the virtual switch 1 received from the port 2 according to the flow table, and sends it to the virtual switch 2 via the port 4.
- the information of the Flow_mod message sent to the virtual switch 2 is:
- the virtual switch 2 needs to be added in the flow table with Table Id 01: the matching domain is the ingress port is 3, the source Mac address is equal to the Mac address of the host A, the destination Mac address is equal to the Mac address of the host B, and the command is the port 4
- the flow entry to be sent is sent, so that the virtual switch 2 processes the data flow from the host A received by the port 4 of the TOR switch and is sent to the host B via the port 4 according to the flow table.
- the TOR switch maps all the switches in the rack to a logical switch and presents the controller to the controller, and the controller makes routing decisions for the logical switch.
- the switch completes the route mapping between the intra-rack switch and the logical switch, which reduces the complexity and scale of the network topology visible at the controller level, thereby speeding up the controller to calculate the data flow forwarding path and improving the communication of the entire system. performance.
- the embodiment of the present invention provides a method for routing management in an SDN network, as shown in FIG. 6, the specific process includes:
- the rack TOR switch in the data center collects routing management information of all switches in the managed rack.
- the route management information includes device identification information, port information, and topology information of connections between devices. It can be understood that the switches in the rack here can include a switch of a real physical entity, a virtual switch formed by network virtualization software, and of course, the TOR switch itself.
- the controller sends a query command to the managed switch to query the routing management information of the switch.
- the TOR switch can also adopt the Ways to collect routing management information for switches other than the ones in the racks it manages, the TOR switch sends controller query commands to the switches in the managed racks, and is similar to the one shown in Table 1 above. Information about each switch.
- the TOR switch creates a logical switch according to the collected routing management information of each switch in the rack, and establishes a correspondence between the logical switch and the switch in the rack.
- the TOR switch creates a virtual logical switch and determines the routing management information of the created logical switch based on the port information of all other switches collected, its own port information, and the connection topology relationship between the switches.
- the switch number is assigned to each switch in the rack, and the port number of the original switch is mapped to the port number of the logical switch.
- the connection relationship between the ports of the logical switch is determined according to the connection topology relationship between the switches. Record the mapping relationship between the switch and the logical switch.
- the mapping relationship recorded here is mainly the port number corresponding information of the two, and of course, the connection relationship of the port and the corresponding information of the device identifier can also be recorded.
- the TOR switch sends the routing management information of the logical switch to the controller, so that the controller performs route management according to the routing management information of the logical switch.
- the TOR switch sends the routing management information of the created logical switch to the controller.
- the TOR switch can actively report various types of information about the created logical switch.
- the routing management information of the logical switch corresponding to the query command is reported to the controller when the query command of the controller is received.
- the controller After receiving the routing management information of the logical switch sent by the TOR switch, the controller can know the port information and the topology connection relationship of the switch in the rack through the routing management information of the logical switch, perform route management, and determine the forwarding path of the data flow through calculation. .
- the TOR switch maps all the switches in the rack into one logical switch, and maps the routing management information between the intra-rack switch and the logical switch, and the controller makes routing decisions for the logical switch.
- This method of mapping multiple switches connected in a rack into one overall logical switch can hide part of the local detail network, reducing the complexity and scale of the network topology visible at the controller level, thereby accelerating the controller computing data. The speed of the flow forwarding path improves the communication performance of the entire system.
- the controller when the controller performs the calculation of the routing and forwarding rules, in addition to considering the path of the switch, the routing capability information of the switch, that is, the matching fields, commands, actions, and the like supported by the flow table of the switch are also considered. Therefore, when calculating the routing and forwarding rules for the logical switch, the controller should also consider the routing capability information of the logical switch.
- the TOR switch collects the routing capability information of all the switches in the managed rack, determines the flow table configured by the logical switch, and the routing capability information according to the collected routing capability information; then, the TOR switch configures the logical switch. The flow table and the routing capability information are sent to the controller, so that the controller performs route management according to the routing management information of the logical switch.
- the controller sends a query command to the managed switch for querying the routing capability information of the switch.
- the TOR switch may also collect the managed device in this manner.
- the TOR switch sends the query command used by the controller to the switch in the managed rack and obtains the routing capability information reported by each switch.
- the TOR switch analyzes the routing capability information of all the collected switches (including itself) to determine the flow table and routing capability information configured by the logical switch.
- the TOR switch uses the common information that all switches can use as the flow table, instructions, and action information of the logical switch.
- the common matching domain supported by the flow table of each switch is selected as the matching domain information supported by the logical switch flow table, and the instruction information and action information supported by the flow table of each switch are selected as the instruction information and actions supported by the logical switch flow table. information.
- the TOR switch In the data center, except for the TOR switch, other switches in the cabinet are virtual switches, and the virtual switch generally adopts a full-match matching domain flow table (that is, each flow table contains all the Matching fields) and the instructions and actions supported by each flow table are also the same.
- the TOR switch can determine the flow table, command, and action information of the logical switch according to its own information and the common information supported by other switches in the rack.
- the matching fields, commands, and actions supported by the OpenFlow switches are the same.
- the flow table is different in each switch.
- the matching fields configured in the flow table may be inconsistent.
- the TOR switch collects the routing capabilities of each switch. After the information is analyzed, the flow table, instructions, and action information of the logical switch can be obtained.
- the TOR switch sends the flow table and the routing capability information of the logical switch to the controller.
- the method can be reported to the controller when the controller receives the query command.
- the controller After receiving the flow table and route management information of the logical switch sent by the TOR switch, the controller can perform route management based on the information.
- the TOR switch maps the switches in the rack to logical switches, establishes the correspondence between the switches in the rack and the logical switches, and reports the related information of the logical switches to the controller. Further, the controller can receive the information according to the The information of the logical switch sent by the TOR switch is routed. The communication between the switch and the controller in the rack is transferred by the TOR switch. The TOR switch converts the message containing the information sent by the switch in the rack into a message according to the correspondence between the switch in the rack and the logical switch. A message containing the logical switch information is sent to the controller, and a message that the controller sends the message including the logical switch to the information of the corresponding intra-rack switch is sent to the corresponding switch.
- the first report message here is a message sent by the first switch to the controller, and the TOR switch is based on the mapping relationship between the switch and the logical switch in the rack.
- the information of the first switch in the first report message is converted into the corresponding information of the logical switch, and the second report message is generated and sent to the controller.
- the second report message is the same type of message as the first report message, and the TOR switch is only information related to the first switch included in the first report message, for example, related information in route management information and routing capability information, such as a port. No.
- the mapping relationship change the port number of the first switch to the port number corresponding to the logical switch.
- Other information such as the Buffer id as shown in Table 3 in the previous embodiment may also be included, and the information is included in the mapping relationship between the in-rack switch and the logical switch.
- the first sending message is a message sent by the controller to the logical switch. Because the controller side only knows the information of the logical switch, it does not know the switch in the rack. Specific information, so it only sends messages to the logical switch to implement route management.
- the TOR switch converts the information of the logical switch in the first sent message into the corresponding information of the destination switch according to the mapping relationship between the switch and the logical switch in the rack, and generates a second sent message to be sent to the destination switch, where the destination switch is followed. Mapping relationship, the real switch in the rack corresponding to the information of the logical switch included in the first delivered message.
- the first outgoing message is a message for the logical switch
- the logical switch since the logical switch is actually a switch mapped by multiple intra-rack switches that the TOR switch is connected and managed, actually the controller is in the rack.
- the first delivery message when mapping to the actual destination switch, may require more than one switch to complete the data stream processing function specified by the first delivery message.
- the TOR switch needs to send a first delivery message. According to the mapping between switches and logical switches in the rack And the topology information of the connection between the switches in the rack, generating more than one second sending message, and sending the generated multiple second sending messages to the corresponding destination switch, so that the destination switches follow the second sending message. Indicates that the processing of the data stream is completed.
- the logical switch instructs the logical switch to forward the data stream of the input port 4 out of the outbound port 8, as shown in Table 5, Table 6, and Table 7.
- the TOR switch generates three second outgoing messages (also Flow_mod messages) to the virtual switch 1, virtual switch 2, and TOR switch according to the mapping relationship between the switches in the rack and the logical switches.
- the first delivery message sent by the device to the logical switch is converted and delivered to the second delivery message for the intra-rack switch, and the corresponding route management function is implemented.
- an embodiment of the present invention provides a method for requesting forwarding of a routing rule in an SDN network.
- the controller has acquired the related information of the logical switch, including the routing management information and the routing capability information, and the mapping relationship between the intra-rack switch and the created logical switch has also been established on the TOR switch.
- the method comprises the following steps:
- Step 301 The TOR switch receives a first data flow forwarding rule request message sent by a second switch in the rack, where the first data flow forwarding rule request message is used to request, for forwarding, a new data flow received by the second switch from the controller. rule.
- the device requests the forwarding rule, and the second switch sends a data stream forwarding rule request message (in the embodiment, generally using Packet_in as an example) message to the controller to request a forwarding rule for the data stream, where the data stream is forwarded for differentiation.
- the rule request message is defined as the first data flow forwarding rule request message.
- the “first” and “second” in this document are only used to distinguish different switches or messages, and do not limit the scope of application of the present patent embodiment.
- the TOR switch receives the first data flow forwarding rule request message sent by the second switch.
- Step 302 The TOR switch converts the port of the second switch in the first data flow forwarding rule request message into a corresponding port of the logical switch according to the mapping relationship between the switch and the logical switch in the rack, and forwards the first data flow to the rule request message.
- the buffer identifier in the second switch is converted into a buffer identifier in the corresponding logical switch, and a second data flow forwarding rule request message is generated and sent to the controller.
- the parameters carried in the Packet_in message have a Buffer id, a port number, and the like.
- the Buffer ID is allocated by the TOR switch.
- the Buffer ID is globally unique on the logical switch, and is also recorded in the mapping relationship between the switch and the logical switch in the rack.
- Step 303 The TOR switch receives the first flow table processing message of the controller, where the first flow table processing message includes a processing rule of the logical switch for the new data flow.
- the controller After receiving the second data flow forwarding rule request message reported by the TOR switch, the controller calculates the forwarding path, and sends the flow table processing message (here, the Flow_Mod message is taken as an example) to the logical switch to the TOR switch.
- the proxy control program of the TOR switch converts the first Packet in message reported by the actual second switch into the second Packet in message for the logical switch
- the first Flow_mod message responded by the controller is also for the logical switch because the logic The switch is connected to the controller through the TOR switch, so the first flow table processing message is also sent by the controller to the TOR switch.
- Step 304 The TOR switch processes the message according to the first flow table, the mapping relationship between the switch and the logical switch in the rack, and the topology information of the connection between the switches in the rack, and generates a second flow table processing message to be sent to the second flow table processing message.
- the switch so that the corresponding switch processes the message to process the new data stream according to the second flow table.
- the flow table processing message that the controller responds to is for the logical switch.
- the TOR switch After receiving the first flow table processing message, the TOR switch needs to map the first switch to the logical switch according to the previously recorded mapping relationship between the intra-rack switch and the logical switch.
- the flow_mod message is converted into a second Flow_mod message for the actual switch, and the information of the Buffer ID and the port number in the first Flow_mod message is modified, and the generated second flow table processing message is sent to the corresponding switch. Since the logical switch is actually a switch mapped by multiple intra-rack switches that are connected and managed by the TOR switch, the data flow processing rule for the logical switch in the first flow table processing message given by the controller is mapped to the actual one.
- the TOR switch needs to convert the first flow table processing message according to the mapping relationship between the switch and the logical switch in the rack and the topology information of the connection between the switches in the rack.
- the plurality of second flow tables process the message, and send the generated multiple second flow table processing messages to the corresponding switches, so that the switches process the processing of the new data stream according to the indication of the second flow table processing message.
- a Flow_mod message as shown in Table 4 in the previous embodiment indicates that the logical switch will input
- the new data stream of port 4 is forwarded out to the destination host by the outbound port 8.
- the TOR switch generates the following table 5 and Table 6 according to the mapping relationship between the switch and the logical switch in the rack and the topology information of the connection between the switches in the rack.
- the three second Flow_mods shown in Table 7 are sent to the virtual switch 1, the virtual switch 2, and the TOR switch itself, respectively, and the new data stream is received by the virtual switch 1 and sent to the TOR switch, and then sent to the virtual switch by the TOR switch. 2. Finally, the virtual switch 2 forwards the function of the destination host.
- the TOR switch converts the data flow forwarding rule request message sent by the switch in the rack into a message for the logical switch, and the controller performs routing planning on the logical switch and delivers the flow table processing.
- the TOR switch converts the flow table processing message for the logical switch into a message for the intra-rack switch, and requests the forwarding routing rule in the SDN network because the complexity and scale of the network topology visible at the controller level are reduced. In the process, the speed of the controller to calculate the data flow forwarding path is accelerated, and the communication performance of the entire system is improved.
- FIG. 8 shows a possible structural diagram of a TOR switch involved in the present application.
- the TOR switch can implement the functions of the TOR switch in the foregoing method embodiments in FIG. 6 and FIG. 7.
- the terms and implementation details not defined in this embodiment can refer to the method embodiments of FIG. 6 and FIG. 7 above.
- the TOR switch 40 may include a collecting unit 41, an information mapping unit 42, and a transmitting unit 45.
- the collecting unit 41 is configured to collect routing management information of all the switches in the rack managed by the TOR switch 40, where the routing management information includes device identification information, port information, and topology information of the connection between the devices; the information mapping unit 42, And the routing management information is used to map the collected routing management information of the intra-rack switch to the routing management information of the logical switch, and the sending unit 45 is configured to perform routing management of the logical switch.
- the information is sent to the controller so that the controller performs route management based on the routing management information of the logical switch.
- the TOR switch provided in this embodiment collects routing management information of the switches in the rack through the collecting unit, and maps all the switches in the rack into a logical switch to map the routing management information between the switches in the rack and the logical switches.
- the controller makes routing decisions for the logical switch to map multiple switches connected to each other in the rack as a whole logical switch.
- the method is presented to the controller, which reduces the complexity and scale of the network topology at the controller level, thereby speeding up the controller to calculate the data flow forwarding path and improving the communication performance of the entire system.
- the TOR switch 40 further includes a receiving unit 44 and a message converting unit 43, wherein the receiving unit 44 is configured to receive a first report message sent by the first switch in the rack, where the first report message is a message sent by the switch to the controller; the message conversion unit 43 is configured to convert the information of the first switch in the first report message to the corresponding information of the logical switch according to the mapping relationship between the first switch and the logical switch, and generate a second report.
- the sending unit 45 is further configured to send the second report message generated by the message converting unit 43 to the controller.
- the receiving unit 44 in the TOR switch 40 is further configured to receive a first sent message sent by the controller, where the first sent message is sent by the controller to the logical switch.
- the message conversion unit 43 is further configured to convert the information of the logical switch in the first sent message into the corresponding information of the destination switch according to the mapping relationship between the switch and the logical switch in the rack, and generate a second sending message, where The destination switch is the execution switch of the second sent message after the conversion; the sending unit 45 is further configured to send the second sent message generated by the message converting unit 43 to the destination switch.
- the message conversion unit 43 in the TOR switch 40 is further configured to convert the information of the logical switch in the first sent message according to the mapping relationship between the switch and the logical switch in the rack and the topology information of the connection between the switches in the rack.
- a second delivery message is generated for the corresponding information of the destination switch.
- the corresponding switch is provided, so that the switches complete the operation of the first issued message for the logical switch according to the indication of the second issued message.
- the receiving unit 44 of the TOR switch 40 is further configured to receive a first data stream forwarding rule request message sent by the second switch in the rack, where the first data stream forwarding rule request message is used to request the controller The forwarding rule of the new data stream received by the second switch.
- the message conversion unit 43 is further configured to convert the first data stream according to the mapping relationship between the switch and the logical switch in the rack.
- the port of the second switch in the sending rule request message is converted into a corresponding port of the logical switch, and the buffer identifier in the second switch in the first data flow forwarding rule request message is converted into a buffer identifier in the corresponding logical switch, and the first The second data stream forwards the rule request message, and the sending unit 45 sends the generated second data stream forwarding rule request message to the controller.
- the receiving unit 44 is further configured to receive a first flow table processing message sent by the controller, where the first flow table processing message includes a processing rule of the logical switch to the new data flow, where the first flow table processing message is that the controller receives the second data flow forwarding After the rule request message, the route calculation is performed to obtain a message that the logical switch processes the new data flow, and sends the message to the logical switch to indicate the processing rule for the new data flow.
- the message conversion unit 43 is further configured to process the message according to the first flow table, the mapping relationship between the switch and the logical switch in the rack, and the topology information of the connection between the switches in the rack, generate a second flow table processing message, and send the message by the sending unit 45.
- the second flow table processes the message to the switch corresponding to the second flow table processing message, so that the corresponding switch processes the message to process the new data stream according to the second flow table.
- the message conversion unit 43 converts the first flow table processing message into multiple pieces according to the mapping relationship between the switch and the logical switch in the rack and the topology information of the connection between the switches in the rack.
- the flow table processes the message, and the generated multiple flow table processing messages are sent by the sending unit 45 to the corresponding switches, so that the switches cooperate to complete the processing of the new data.
- the TOR switch converts the data flow forwarding rule request message sent by the switch in the rack into a message for the logical switch, and the controller performs routing planning for the logical switch and sends a flow table processing message, and the TOR switch will be directed to the logical switch.
- the flow table processing message is converted into a message for the switch in the rack, because the complexity and scale of the network topology visible at the controller level are reduced, thereby speeding up the controller to calculate the data flow in the process of requesting the forwarding of the routing rule in the SDN network.
- the speed of the transmission path improves the communication performance of the entire system.
- the collecting unit 41 in the TOR switch 40 is further configured to collect routing capability information of all switches in the rack managed by the TOR switch, where the routing capability information includes the matching domain, the command, and the action information supported by the flow table.
- the message mapping unit 42 is further configured to determine, according to the routing capability information collected by the collecting unit 41, a flow table configured by the logical switch and routing capability information.
- the sending unit 45 is further configured to send the flow table configured by the logical switch and the routing capability information to the controller, so that the controller performs route management according to the routing management information of the logical switch.
- the cabinet The routing capability information of the switches other than the TOR switch is the same.
- Fig. 9 schematically shows another TOR switch 50 of an embodiment of the present invention.
- the TOR switch 50 includes a processor 51, a memory 52, a bus 53, and a communication interface 54.
- the processor 51 and the memory 52 implement a communication connection with each other through a bus 53.
- the communication interface 54 uses a transceiver device such as, but not limited to, a transceiver for implementing the management of the TOR switch 50 and the controller and the TOR switch. Other switches in the rack are connected by communication.
- Bus 53 may include a path for communicating information between various components of TOR switch 50, such as processor 51, memory 52, and communication interface 54.
- the bus 53 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus.
- PCI peripheral component interconnect
- EISA extended industry standard architecture
- the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 9, but it does not mean that there is only one bus or one type of bus.
- the processor 51 can be a general-purpose central processing unit (CPU), a microprocessor, an application specific integrated circuit (ASIC), or one or more integrated circuits for executing related programs.
- CPU central processing unit
- ASIC application specific integrated circuit
- the memory 52 may be a read only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM).
- Memory 52 can store operating systems and other applications.
- the program code for implementing the technical solution provided by the embodiment of the present invention is stored in the memory 52 and executed by the processor 51 when the technical solution provided by the embodiment of the present invention is implemented by software or firmware.
- the memory 52 can be used to store computer execution instructions, and can also be used to store various information, such as mapping relationships between switches and logical switches in the rack, and topology information of connections between switches in the rack.
- the processor 51 can read the information stored by the memory 52 via the bus system 53, or store the collected information to the memory 52. Additionally, when the TOR switch 50 is running, the processor 51 can read the computer-executed instructions stored by the memory 52 to perform the methods described in the previous embodiments.
- TOR switch 50 shown in FIG. 9 only shows the processor 51, the memory 52, the communication interface 54, and the bus 53, in the specific implementation process, those skilled in the art It should be understood that the data, TOR switch 50 also contains other devices necessary to achieve proper operation. At the same time, those skilled in the art will appreciate that the TOR switch 50 may also include hardware devices that implement other additional functions, depending on the particular needs.
- the disclosed systems, devices, and methods may be implemented in other manners.
- the device embodiments described above are merely illustrative.
- the division of the unit/module is only a logical function division.
- there may be another division manner for example, multiple units or components may be used. Combinations can be integrated into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
- the integrated unit is implemented in the form of a software functional unit and sold as a standalone product Or, in use, it can be transmitted in one or more instructions or code stored on a computer readable storage medium or as a computer readable medium.
- Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another.
- a storage medium may be any available media that can be accessed by a computer.
- computer readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, disk storage media or other magnetic storage device, or can be used for carrying or storing in the form of an instruction or data structure.
- the desired program code and any other medium that can be accessed by the computer are also.
- connection may suitably be a computer readable medium.
- the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave
- coaxial cable , fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, wireless, and microwave are included in the definition of the medium to which they belong.
- a disk and a disc include a compact disc (CD), a laser disc, a compact disc, a digital versatile disc (DVD), a floppy disk, and a Blu-ray disc, wherein the disc is usually magnetically copied, and the disc is The laser is used to optically replicate the data. Combinations of the above should also be included within the scope of the computer readable media. Based on such understanding, the technical solution of the present invention is essential or part of the prior art, or all or part of the technical solution may be stored in a storage medium, including a plurality of instructions for causing a computer device (may be a personal computer, server, or network device, etc.) performing all or part of the steps of the methods described in various embodiments of the present invention.
- a computer device may be a personal computer, server, or network device, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本发明实施例涉及通信领域,尤其涉及软件定义网络中路由管理的方法和交换机。Embodiments of the present invention relate to the field of communications, and in particular, to a method and a switch for routing management in a software-defined network.
软件定义网络(Software-Defined Networking,SDN)的基本思想是实现了数据转发层和控制层的分离。数据转发层负责数据的转发,而控制层实现对数据转发的控制功能。The basic idea of Software-Defined Networking (SDN) is to achieve separation of the data forwarding layer and the control layer. The data forwarding layer is responsible for data forwarding, and the control layer implements control functions for data forwarding.
OpenFlow(开放流)网络是美国斯坦福大学于2007年提出的一种软件定义网络,通过开放的流表支持用户对网络处理行为进行控制。OpenFlow交换机(Switch)是整个OpenFlow网络的核心部件之一,主要负责数据的转发。OpenFlow交换机接收到数据包后,首先在本地的流表(FlowTable)中查找是否匹配已有的流表项(FlowEntry),如果没有匹配,则把数据包转发给控制器(Control ler),由控制器确定转发规则,下发对该数据包的转发规则,由交换机根据转发规则在流表中添加新的流表项。Controller也是整个OpenFlow网络的核心部件之一,主要负责数据转发的决策。Controller通过OpenFlow协议这个标准接口对OpenFlow交换机中的流表进行控制(增加、删除、修改等),从而实现对整个网络进行集中控制。控制器确定数据流的转发路径是需要获取整个SDN网络的拓扑信息的,这些拓扑信息由交换机通过互相连接来形成的。The OpenFlow (OpenFlow) network is a software-defined network proposed by Stanford University in 2007. It supports users to control network processing behavior through an open flow table. The OpenFlow switch (Switch) is one of the core components of the entire OpenFlow network and is responsible for data forwarding. After receiving the data packet, the OpenFlow switch first searches the local flow table (FlowTable) for matching the existing flow entry (FlowEntry). If there is no match, the packet is forwarded to the controller (Controller). The device determines the forwarding rule, and delivers the forwarding rule for the data packet. The switch adds a new flow entry to the flow table according to the forwarding rule. The Controller is also one of the core components of the entire OpenFlow network, and is primarily responsible for data forwarding decisions. The Controller controls (adds, deletes, modifies, etc.) the flow table in the OpenFlow switch through the standard interface of the OpenFlow protocol, thereby implementing centralized control of the entire network. The controller determines that the forwarding path of the data stream needs to acquire topology information of the entire SDN network, and the topology information is formed by the switches being connected to each other.
数据中心机房中越来越多的使用SDN网络,在数据中心实际应用中,每个服务器一般都会安装虚拟化软件,运行多个虚拟机(Virtual Machine,VM)。这个虚拟化软件不仅包括主机虚拟化软件,也包括网络虚拟化软件,服务器通过虚拟化软件形成虚拟交换机,将虚拟机连接到虚拟交换机上。More and more SDN networks are used in the data center computer room. In the actual application of the data center, each server generally installs virtualization software and runs multiple virtual machines (VMs). This virtualization software includes not only host virtualization software but also network virtualization software. The server forms a virtual switch through virtualization software and connects the virtual machine to the virtual switch.
随着整个数据中心规模的扩展,以及虚拟交换机技术的应用,数据中心的网络规模不断增大,拓扑复杂度大大增加,控制器根据复杂的网络拓扑来计算 主机间通信数据流的转发路径的速度会减慢,控制器对转发路径的决策时间的增加会导致数据流转发过程建立的速度降低,从而大大降低整个网络的通信效率。严重时,如果有突增的大量新数据流需要决策转发路径时,由于网络拓扑复杂导致控制器决策速度较慢,会导致通讯建立失败等情况发生。With the expansion of the entire data center and the application of virtual switch technology, the network scale of the data center is increasing, the topology complexity is greatly increased, and the controller calculates according to the complex network topology. The forwarding path of the communication data flow between the hosts is slowed down, and the increase of the decision time of the forwarding path by the controller causes the speed of the data flow forwarding process to be reduced, thereby greatly reducing the communication efficiency of the entire network. In severe cases, if a large number of new data streams need to be forwarded, the decision speed of the controller is slow due to the complicated network topology, which may lead to communication failure.
发明内容Summary of the invention
有鉴于此,本发明实施例提供了一种SDN网络中路由管理的方法和交换机,降低控制器获得的网络拓扑的复杂度,提升控制器确定数据流转发路径的速度,从而大大提升网络的通信效率。In view of this, the embodiment of the present invention provides a method and a switch for routing management in an SDN network, which reduces the complexity of the network topology obtained by the controller, improves the speed of the controller to determine the forwarding path of the data stream, and greatly improves the communication of the network. effectiveness.
第一方面,本申请提供了一种软件定义网络中路由管理的方法,应用于数据中心,包括:数据中心中的机架TOR交换机收集所管理的机架内所有交换机的路由管理信息,路由管理信息包括设备标识信息、端口信息以及设备间连接的拓扑信息;TOR交换机根据收集到的路由管理信息创建逻辑交换机,将收集到的机架内交换机的路由管理信息映射为该逻辑交换机的路由管理信息;TOR交换机将该逻辑交换机的路由管理信息发送给控制器,以便控制器根据该逻辑交换机的路由管理信息进行路由管理。In a first aspect, the present application provides a method for routing management in a software-defined network, which is applied to a data center, including: a rack TOR switch in a data center collects routing management information of all switches in a managed rack, and performs route management. The information includes the device identification information, the port information, and the topology information of the connection between the devices. The TOR switch creates a logical switch according to the collected routing management information, and maps the collected routing management information of the intra-rack switch to the routing management information of the logical switch. The TOR switch sends the routing management information of the logical switch to the controller, so that the controller performs route management according to the routing management information of the logical switch.
可以理解的是,这里的机架内所有交换机是包含TOR交换机自身的,一般情况下,除TOR交换机之外的其他交换机均为数据中心的虚拟交换机,往往数量比较庞大。采用上述的方法,TOR交换机将机架内所有交换机映射为一个逻辑交换机,由控制器针对该逻辑交换机进行路由决策,降低了控制器层面可见的网络拓扑的复杂度和规模,从而加快了控制器计算数据流转发路径的速度,提升了整个系统的通信性能。It can be understood that all the switches in the rack include the TOR switch itself. Generally, the switches other than the TOR switch are virtual switches in the data center, which are often large. With the above method, the TOR switch maps all the switches in the rack into one logical switch, and the controller makes routing decisions for the logical switch, which reduces the complexity and scale of the network topology visible at the controller level, thereby speeding up the controller. Calculate the speed of the data stream forwarding path and improve the communication performance of the entire system.
进一步的,TOR交换机作为机架内交换机与控制器之间的通信消息转换设备,TOR交换机根据机架内交换机与逻辑交换机之间的对应关系,将机架内交换机发送的包含交换机自身信息的消息转换成包含逻辑交换机信息的消息发送给控制器,将控制器发送的包含逻辑交换机的消息转换成对应的机架内交换机的信息的消息发送给对应的交换机。Further, the TOR switch serves as a communication message conversion device between the switch and the controller in the rack, and the TOR switch sends a message including the switch itself information to the switch in the rack according to the correspondence between the switch in the rack and the logical switch. A message converted to include logical switch information is sent to the controller, and a message sent by the controller to convert the message including the logical switch into the information of the corresponding intra-rack switch is sent to the corresponding switch.
在一种可能的实现中,TOR交换机接收机架内的第一交换机发送的第一 上报消息,该第一上报消息为所述第一交换机向控制器发送的消息;TOR交换机根据第一交换机和所述逻辑交换机的映射关系,将第一上报消息中第一交换机的信息转换为所述逻辑交换机的对应信息,生成第二上报消息发送给所述控制器。TOR交换机实现了机架内交换机发送的消息到提交给控制器的消息的转换和转发。In a possible implementation, the TOR switch receives the first transmission sent by the first switch in the rack. Reporting, the first report message is a message sent by the first switch to the controller; the TOR switch converts the information of the first switch in the first report message into the information according to the mapping relationship between the first switch and the logical switch The corresponding information of the logical switch is generated, and a second report message is generated and sent to the controller. The TOR switch implements the conversion and forwarding of messages sent by the switches in the rack to messages submitted to the controller.
在另外一种可能的实现中,TOR交换机接收控制器发送的第一下发消息,该第一下发消息为所述控制器向所述逻辑交换机发送的消息;TOR交换机根据机架内交换机和逻辑交换机的映射关系,将第一下发消息中逻辑交换机的信息转换为目的交换机的对应信息,生成第二下发消息发送给目的交换机。TOR交换机实现了控制器发送给逻辑交换机的消息到机架内交换机的消息的转换和转发。In another possible implementation, the TOR switch receives a first sent message sent by the controller, where the first sent message is a message sent by the controller to the logical switch; the TOR switch is based on an intra-rack switch and The mapping of the logical switch converts the information of the logical switch in the first sent message to the corresponding information of the destination switch, and generates a second sent message to be sent to the destination switch. The TOR switch implements the conversion and forwarding of messages sent by the controller to the logical switch to the switches in the rack.
在另外一种可能的实现中,TOR交换机接收控制器发送的第一下发消息,该第一下发消息为控制器向逻辑交换机发送的消息;TOR交换机根据机架内交换机和逻辑交换机的映射关系以及机架内交换机间连接的拓扑信息,将第一下发消息中逻辑交换机的信息转换为目的交换机的对应信息,生成第二下发消息发送给所述目的交换机。TOR交换机实现了控制器发送给逻辑交换机的消息到机架内交换机的消息的转换和转发。In another possible implementation, the TOR switch receives the first sent message sent by the controller, where the first sent message is a message sent by the controller to the logical switch; and the TOR switch is mapped according to the switch and the logical switch in the rack. The relationship and the topology information of the connection between the switches in the rack convert the information of the logical switch in the first sent message into the corresponding information of the destination switch, and generate a second sent message to be sent to the destination switch. The TOR switch implements the conversion and forwarding of messages sent by the controller to the logical switch to the switches in the rack.
可以理解的是,控制器发出的第一下发消息,TOR交换机根据机架内交换机和逻辑交换机的映射关系以及机架内交换机间连接的拓扑信息,可能将一条第一下发消息生成多条第二下发消息,并将生成的多条第二下发消息分别发送给对应的目的交换机,以便这些目的交换机按照第二下发消息的指示,配合完成数据流的处理。It can be understood that the first issued message sent by the controller, the TOR switch may generate multiple pieces of the first issued message according to the mapping relationship between the switch and the logical switch in the rack and the topology information of the connection between the switches in the rack. And sending, by the second sending message, the generated second sending message to the corresponding destination switch, so that the destination switches cooperate with the processing of the data stream according to the indication of the second sending message.
在另外一种可能的实现中,TOR交换机还接收机架内的第二交换机发送的第一数据流转发规则请求消息,该第一数据流转发规则请求消息用于向控制器请求针对第二交换机收到的新数据流的转发规则;TOR交换机根据机架内交换机和逻辑交换机的映射关系,将第一数据流转发规则请求消息中第二交换机的端口转换为逻辑交换机的对应端口,将第一数据流转发规则请求消息中第二交换机中的缓冲区标识转换为对应的逻辑交换机中的缓冲区标识,生成第二数据流转发规则请求消息发送给控制器;TOR交换机接收控制器发 送的第一流表处理消息,这个第一流表处理消息包含逻辑交换机对新数据流的处理规则,是对于第一数据流转发规则请求消息的响应;TOR交换机根据第一流表处理消息,机架内交换机和所述逻辑交换机的映射关系,以及机架内交换机间连接的拓扑信息,生成第二流表处理消息发送给第二流表处理消息对应的交换机,以便对应的交换机根据第二流表处理消息处理新数据流。In another possible implementation, the TOR switch further receives a first data flow forwarding rule request message sent by the second switch in the rack, where the first data flow forwarding rule request message is used to request the second switch from the controller. The forwarding rule of the received new data stream; the TOR switch converts the port of the second switch in the first data flow forwarding rule request message into the corresponding port of the logical switch according to the mapping relationship between the switch and the logical switch in the rack, and will be the first The buffer identifier in the second switch in the data flow forwarding rule request message is converted into a buffer identifier in the corresponding logical switch, and a second data flow forwarding rule request message is generated and sent to the controller; the TOR switch receives the controller The first flow table processing message is sent, the first flow table processing message includes a processing rule of the logical switch for the new data flow, and is a response to the first data flow forwarding rule request message; the TOR switch processes the message according to the first flow table, and is in the rack The mapping between the switch and the logical switch, and the topology information of the connection between the switches in the rack, generate a second flow table processing message and send the message to the switch corresponding to the second flow table processing message, so that the corresponding switch processes according to the second flow table. The message processes the new data stream.
可以理解的是,上述的实现中,TOR交换机将机架内交换机发送的数据流转发规则请求消息,转换成针对逻辑交换机的消息上报给控制器,而控制器针对逻辑交换机进行路由规划并下发流表处理消息,由TOR交换机将针对逻辑交换机的流表处理消息转换为针对机架内交换机的消息,由于降低了控制器层面可见的网络拓扑的复杂度和规模,在SDN网络中针对新数据流请求转发路由规则的过程中加快了控制器计算数据流转发路径的速度,提升了整个系统的通信性能。It can be understood that, in the foregoing implementation, the TOR switch converts the data flow forwarding rule request message sent by the switch in the rack into a message for the logical switch, and the controller performs routing planning and issuance for the logical switch. The flow table processes the message, and the TOR switch converts the flow table processing message for the logical switch into a message for the intra-rack switch, and reduces the complexity and scale of the network topology visible at the controller level, and targets the new data in the SDN network. The process of streaming request forwarding routing rules speeds up the calculation of the data flow forwarding path by the controller and improves the communication performance of the entire system.
在另外一种可能的实现中,TOR交换机还收集所管理的机架内所有交换机的路由能力信息,该路由能力信息包括流表所支持的匹配域、指令、动作的信息;TOR交换机根据收集到的路由能力信息,确定逻辑交换机配置的流表以及路由能力信息;TOR交换机将逻辑交换机配置的流表以及路由能力信息发送给控制器,以便控制器根据逻辑交换机的路由管理信息进行路由管理。In another possible implementation, the TOR switch also collects routing capability information of all switches in the managed rack, the routing capability information includes information about matching domains, commands, and actions supported by the flow table; The routing capability information determines the flow table configured by the logical switch and the routing capability information; the TOR switch sends the flow table configured by the logical switch and the routing capability information to the controller, so that the controller performs route management according to the routing management information of the logical switch.
可以理解的是,TOR交换机根据机架内所有交换机的路由能力信息确定逻辑交换机配置的流表以及路由能力信息,以便控制器根据逻辑交换机的路由管理信息进行路由管理。一般情况下,数据中心里机柜内的虚拟交换机路由能力信息是相同的,此时,TOR交换机也可以直接根据TOR自身的路由能力信息和虚拟交换机的共同路由能力信息确定逻辑交换机的路由能力信息。It can be understood that the TOR switch determines the flow table configured by the logical switch and the routing capability information according to the routing capability information of all the switches in the rack, so that the controller performs route management according to the routing management information of the logical switch. In general, the routing information of the virtual switch in the cabinet in the data center is the same. In this case, the TOR switch can directly determine the routing capability information of the logical switch according to the routing capability information of the TOR and the common routing capability information of the virtual switch.
第二方面,本发明实施例提供了一种机架TOR交换机,应用于数据中心内,包括:收集单元,用于收集TOR交换机所管理的机架内所有交换机的路由管理信息,该路由管理信息包括设备标识信息、端口信息以及设备间连接的拓扑信息;信息映射单元,用于根据收集到的路由管理信息创建逻辑交换机,将收集到的机架内交换机的路由管理信息映射为逻辑交换机的路由管理信息;发送单元,用于将逻辑交换机的路由管理信息发送给控制器,以便控制器根据逻辑交换机的路由管理信息进行路由管理。 In a second aspect, the embodiment of the present invention provides a rack TOR switch, which is applied to a data center, and includes: a collecting unit, configured to collect routing management information of all switches in a rack managed by the TOR switch, and the routing management information The device includes: device identification information, port information, and topology information of the connection between the devices; the information mapping unit is configured to create a logical switch according to the collected routing management information, and map the collected routing management information of the intra-rack switch to the routing of the logical switch. The management unit sends a routing management information of the logical switch to the controller, so that the controller performs route management according to the routing management information of the logical switch.
TOR交换机收集单元收集机架内交换机路由管理信息,并将机架内所有交换机映射为一个逻辑交换机,由控制器针对该逻辑交换机进行路由决策,从而将机架内互相连接的多个交换机映射为一个整体逻辑交换机的方法展现给控制器,降低了控制器层面的网络拓扑的复杂度和规模,从而加快了控制器计算数据流转发路径的速度,提升了整个系统的通信性能。The TOR switch collection unit collects the routing management information of the switches in the rack, and maps all the switches in the rack into one logical switch. The controller makes routing decisions for the logical switch, thereby mapping multiple switches connected in the rack to An overall logical switch approach is presented to the controller, reducing the complexity and scale of the network topology at the controller level, thereby speeding up the controller to calculate the data flow forwarding path and improving the communication performance of the entire system.
在一种可能的实现中,TOR交换机还包括:接收单元用于接收机架内的第一交换机发送的第一上报消息,该第一上报消息为第一交换机向控制器发送的消息;消息转换单元用于根据第一交换机和逻辑交换机的映射关系,将第一上报消息中第一交换机的信息转换为逻辑交换机的对应信息,生成第二上报消息;发送单元还用于发送所述第二上报消息给所述控制器。TOR交换机实现了机架内交换机发送的消息到提交给控制器的消息的转换和转发。In a possible implementation, the TOR switch further includes: a receiving unit, configured to receive a first report message sent by the first switch in the rack, where the first report message is a message sent by the first switch to the controller; The unit is configured to convert the information of the first switch in the first report message to the corresponding information of the logical switch according to the mapping relationship between the first switch and the logical switch, to generate a second report message, where the sending unit is further configured to send the second report A message is sent to the controller. The TOR switch implements the conversion and forwarding of messages sent by the switches in the rack to messages submitted to the controller.
在另外一种可能的实现中,接收单元还用于接收控制器发送的第一下发消息,该第一下发消息为控制器向逻辑交换机发送的消息;消息转换单元,还用于根据机架内交换机和逻辑交换机的映射关系,将第一下发消息中逻辑交换机的信息转换为目的交换机的对应信息,生成第二下发消息;发送单元,还用于发送第二下发消息给目的交换机。TOR交换机实现了控制器发送给逻辑交换机的消息到机架内交换机的消息的转换和转发。In another possible implementation, the receiving unit is further configured to receive, by the controller, a first sent message, where the first sent message is a message sent by the controller to the logical switch; and the message converting unit is further configured to be used according to the machine The mapping between the in-rack switch and the logical switch converts the information of the logical switch in the first sent message into the corresponding information of the destination switch to generate a second sent message; the sending unit is further configured to send the second sent message to the destination switch. The TOR switch implements the conversion and forwarding of messages sent by the controller to the logical switch to the switches in the rack.
在另外一种可能的实现中,接收单元,还用于接收控制器发送的第一下发消息,第一下发消息为控制器向逻辑交换机发送的消息;消息转换单元,还用于根据机架内交换机和逻辑交换机的映射关系以及机架内交换机间连接的拓扑信息,将第一下发消息中逻辑交换机的信息转换为目的交换机的对应信息,生成第二下发消息;发送单元,还用于发送第二下发消息给目的交换机。TOR交换机实现了控制器发送给逻辑交换机的消息到机架内交换机的消息的转换和转发。In another possible implementation, the receiving unit is further configured to receive, by the controller, a first sent message, where the first sent message is a message sent by the controller to the logical switch, and the message converting unit is further configured to be used according to the machine The mapping relationship between the in-rack switch and the logical switch and the topology information of the inter-switch connection in the rack, converting the information of the logical switch in the first sent message into the corresponding information of the destination switch, generating a second sending message; It is used to send a second sent message to the destination switch. The TOR switch implements the conversion and forwarding of messages sent by the controller to the logical switch to the switches in the rack.
可以理解的是,针对控制器发出的第一下发消息,消息转换单元根据机架内交换机和逻辑交换机的映射关系以及机架内交换机间连接的拓扑信息,可能将一条第一下发消息生成多条第二下发消息,以便这些第二下发消息对应的目的交换机按照第二下发消息的指示配合完成数据流的处理。It can be understood that, for the first issued message sent by the controller, the message conversion unit may generate a first sent message according to the mapping relationship between the switch and the logical switch in the rack and the topology information of the connection between the switches in the rack. The plurality of second sending messages are sent, so that the destination switch corresponding to the second sending message cooperates with the processing of the data flow according to the indication of the second sending message.
在另外一种可能的实现中,接收单元还用于接收机架内的第二交换机发 送的第一数据流转发规则请求消息,第一数据流转发规则请求消息用于向控制器请求针对第二交换机收到的新数据流的转发规则,以及接收控制器发送的第一流表处理消息,第一流表处理消息包含逻辑交换机对新数据流的处理规则;消息转换单元,还用于根据机架内交换机和逻辑交换机的映射关系,将第一数据流转发规则请求消息中第二交换机的端口转换为逻辑交换机的对应端口,将第一数据流转发规则请求消息中第二交换机中的缓冲区标识转换为对应的逻辑交换机中的缓冲区标识,生成第二数据流转发规则请求消息,以及根据第一流表处理消息,机架内交换机和逻辑交换机的映射关系以及机架内交换机间连接的拓扑信息,生成第二流表处理消息;发送单元,还用于发送第二数据流转发规则请求消息给控制器,以及发送第二流表处理消息给第二流表处理消息对应的交换机,以便对应的交换机根据第二流表处理消息处理新数据流。In another possible implementation, the receiving unit is further configured to receive the second switch in the rack. Sending a first data flow forwarding rule request message, the first data flow forwarding rule request message is used to request a forwarding rule for the new data flow received by the second switch from the controller, and the first flow table processing message sent by the receiving controller The first flow table processing message includes a processing rule of the logical switch to the new data flow; the message conversion unit is further configured to: according to the mapping relationship between the switch and the logical switch in the rack, forward the first data flow to the second switch in the rule request message The port is converted into a corresponding port of the logical switch, and the buffer identifier in the second switch in the first data flow forwarding rule request message is converted into a buffer identifier in the corresponding logical switch, and a second data flow forwarding rule request message is generated, and The second flow table processing message is generated according to the first flow table processing message, the mapping relationship between the switch and the logical switch in the rack, and the topology information of the connection between the switches in the rack; the sending unit is further configured to send the second data flow forwarding rule request Sending a message to the controller, and sending a second flow table processing message to the second flow table The switch corresponding to the message is processed, so that the corresponding switch processes the message to process the new data stream according to the second flow table.
可以理解的是,上述的实现中,TOR交换机将机架内交换机发送的数据流转发规则请求消息,转换成针对逻辑交换机的消息上报给控制器,而控制器针对逻辑交换机进行路由规划并下发流表处理消息,由TOR交换机将针对逻辑交换机的流表处理消息转换为针对机架内交换机的消息,由于降低了控制器层面可见的网络拓扑的复杂度和规模,在SDN网络中针对新数据流请求转发路由规则的过程中加快了控制器计算数据流转发路径的速度,提升了整个系统的通信性能。It can be understood that, in the foregoing implementation, the TOR switch converts the data flow forwarding rule request message sent by the switch in the rack into a message for the logical switch, and the controller performs routing planning and issuance for the logical switch. The flow table processes the message, and the TOR switch converts the flow table processing message for the logical switch into a message for the intra-rack switch, and reduces the complexity and scale of the network topology visible at the controller level, and targets the new data in the SDN network. The process of streaming request forwarding routing rules speeds up the calculation of the data flow forwarding path by the controller and improves the communication performance of the entire system.
在另外一种可能的实现中,收集单元,还用于收集所管理的机架内所有交换机的路由能力信息,路由能力信息包括流表所支持的匹配域、指令、动作的信息;消息映射单元,还用于根据收集到的路由能力信息,确定逻辑交换机配置的流表以及路由能力信息;发送单元,还用于将逻辑交换机配置的流表以及路由能力信息发送给控制器,以便控制器根据逻辑交换机的路由管理信息进行路由管理。In another possible implementation, the collecting unit is further configured to collect routing capability information of all switches in the managed rack, and the routing capability information includes information about matching fields, commands, and actions supported by the flow table; and the message mapping unit. And the method further includes: determining, according to the collected routing capability information, a flow table configured by the logical switch and routing capability information; the sending unit is further configured to send the flow table configured by the logical switch and the routing capability information to the controller, so that the controller is configured according to the Route management information of the logical switch is used for route management.
可以理解的是,TOR交换机根据机架内所有交换机的路由能力信息确定逻辑交换机配置的流表以及路由能力信息,以便控制器根据逻辑交换机的路由管理信息进行路由管理。一般情况下,数据中心里机柜内的虚拟交换机路由能力信息是相同的,此时,TOR交换机也可以直接根据TOR自身的路由能 力信息和虚拟交换机的共同路由能力信息确定逻辑交换机的路由能力信息。It can be understood that the TOR switch determines the flow table configured by the logical switch and the routing capability information according to the routing capability information of all the switches in the rack, so that the controller performs route management according to the routing management information of the logical switch. In general, the routing information of the virtual switch in the cabinet in the data center is the same. In this case, the TOR switch can also directly use the routing information of the TOR itself. The common routing capability information of the force information and the virtual switch determines the routing capability information of the logical switch.
第三方面,本发明实施例提供了一种TOR交换机,包括:处理器、存储器、总线和通信端口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接,通信端口用于与控制器和TOR交换机所管理的机架内的交换机进行通信连接,处理器执行存储器存储的计算机执行指令以执行上述第一方面的方法。In a third aspect, an embodiment of the present invention provides a TOR switch, including: a processor, a memory, a bus, and a communication port; a memory for storing a computer to execute an instruction, a processor and a memory connected by a bus, and a communication port for using the controller The computer is in communication with the switch in the rack managed by the TOR switch, and the processor executes the memory stored computer to execute the instructions to perform the method of the first aspect above.
第四方面,本发明实施例提供了一种程序产品,该程序产品包括指令,当该程序产品被计算机执行的时候,使得该计算机执行上述第一方面的方法。In a fourth aspect, an embodiment of the present invention provides a program product, the program product comprising instructions, when the program product is executed by a computer, causing the computer to perform the method of the first aspect.
通过上述方案,本发明实施例提供的软件定义网络中路由管理的方法,机架交换机将机架内所有交换机映射为一个逻辑交换机呈现给控制器,由控制器针对该逻辑交换机进行路由决策,机架交换机完成机架内交换机和该逻辑交换机之间的消息映射,降低了控制器层面可见的网络拓扑的复杂度和规模,从而加快了控制器计算数据流转发路径的速度,提升了整个系统的通信性能。Through the above solution, the method for routing management in a software-defined network provided by the embodiment of the present invention, the rack switch maps all switches in the rack into a logical switch and presents the controller to the controller, and the controller performs routing decision for the logical switch. The switch completes the message mapping between the intra-rack switch and the logical switch, which reduces the complexity and scale of the network topology visible at the controller level, thereby speeding up the controller to calculate the data flow forwarding path and improving the overall system. Communication performance.
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only some embodiments of the present invention, Those skilled in the art can also obtain other drawings based on these drawings without paying any creative work.
图1为本发明实施例中ToR方式的数据中心网络部署示意图;1 is a schematic diagram of deployment of a data center network in a ToR mode according to an embodiment of the present invention;
图2为控制器获取的对应图1的网络拓扑图;2 is a network topology diagram corresponding to FIG. 1 acquired by a controller;
图3为控制器获取的对应图1的包含虚拟交换机的网络拓扑图;3 is a network topology diagram of the virtual switch including FIG. 1 acquired by the controller;
图4为本发明实施例所示的数据中心的机柜网络配置示意图;4 is a schematic diagram of a network configuration of a cabinet in a data center according to an embodiment of the present invention;
图5为本发明实施例所示的数据中心的逻辑交换机配置示意图;5 is a schematic diagram of a logical switch configuration of a data center according to an embodiment of the present invention;
图6为一种SDN网络中路由管理的方法流程图;6 is a flow chart of a method for routing management in an SDN network;
图7为一种SDN网络中请求转发路由规则的方法流程图;7 is a flow chart of a method for requesting forwarding routing rules in an SDN network;
图8为一种TOR交换机的结构示意图; 8 is a schematic structural diagram of a TOR switch;
图9为另一种TOR交换机的结构示意图。FIG. 9 is a schematic structural diagram of another TOR switch.
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。The technical solutions in the embodiments of the present invention will be described below with reference to the accompanying drawings in the embodiments of the present invention.
在数据中心的交换网络设计中,根据交换机的放置位置不同,一般有如下几种网络架构设计方式:机架(Top of Rack,TOR)方式、行间(End Of Rack,EOR)方式以及列中(Middle of Row,MoR)方式。传统的机房网络架构主要以EoR和MoR方式(两者差别主要在于网络机柜的位置不同)为主,采取类似的集中式布线。其中,EoR方式是指服务器机柜中所有的服务器端口,都通过跳线连接到机柜上的配线架,再由配线架上的线缆延伸到位于一组机柜尾部的网络机柜中的接入交换机上。MoR方式与EoR方式类似,只是将网络机柜部署在服务器机柜的中部,从而在一定程度上减少了从服务器机柜到网络机柜的线缆距离。而ToR方式的出现,为机房架构设计带来了新的变化:该方式将接入交换机放置在每个服务器机柜或单元的顶部,机柜内服务器直接通过短跳线连接到顶部的交换机上,再经由光纤从交换机的上行链路端口连至核心交换机。粗看上去,ToR与EoR/MoR两类方式,只是在接入交换机的位置上发生了变化,但实际上改变了整个机房的网络结构。综合布线系统由从前的集中式布线变为了点对点布线方式,简化了线缆管理,并且可扩展性强,当新增加机柜和业务服务器时,服务器直接连接到ToR即可。新的数据中心越来越多的采用ToR的方式,而在云计算的大潮下,这种分布式架构的业务扩展性极强,要求的服务器数量也越来越多。海量的服务器数量要求充分利用数据中心机柜空间的同时,海量的业务数据也需要通过更快更直接的高性能链路把数据传送到网络核心。在这样的趋势下,显然ToR更加适用,在业务迅速扩展的压力下,ToR的方式可以更好的实现网络的更快速扩展。图1就是一个典型的ToR方式的数据中心网络部署示意图。In the switching network design of the data center, according to the different placement positions of the switch, there are generally several network architecture design methods: Top of Rack (TOR) mode, End Of Rack (EOR) mode, and column. (Middle of Row, MoR) way. The traditional network architecture of the equipment room is mainly based on EoR and MoR (the difference between the two is mainly due to the location of the network cabinet), and similar centralized wiring is adopted. The EoR mode refers to all the server ports in the server cabinet, which are connected to the distribution frame on the cabinet through jumpers, and then extend the cables on the distribution frame to the network cabinets located at the rear of the group of cabinets. On the switch. The MoR mode is similar to the EoR mode. The network cabinet is deployed in the middle of the server cabinet, which reduces the cable distance from the server cabinet to the network cabinet to a certain extent. The emergence of the ToR method has brought about new changes to the architecture of the computer room: this method places the access switch on the top of each server cabinet or unit, and the server in the cabinet is directly connected to the top switch through a short jumper. Connected to the core switch from the uplink port of the switch via fiber optics. Roughly speaking, the ToR and EoR/MoR methods only change the location of the access switch, but actually change the network structure of the entire computer room. The integrated cabling system has changed from the centralized cabling to the point-to-point cabling, which simplifies cable management and is highly scalable. When new cabinets and service servers are added, the server can be directly connected to the ToR. The new data center is increasingly adopting the ToR approach, and under the tide of cloud computing, this distributed architecture has strong business scalability and requires more and more servers. The sheer volume of servers requires that data center cabinet space be fully utilized, while massive amounts of business data also need to pass data to the core of the network through faster, more direct, high-performance links. Under such a trend, it is obvious that ToR is more applicable. Under the pressure of rapid business expansion, the ToR approach can better realize the faster expansion of the network. Figure 1 is a schematic diagram of a typical ToR-based data center network deployment.
SDN网络主要分为两个部分,处于控制层面起到转发控制核心的控制器和处于数据面按照控制器下发的控制指令进行数据转发的交换机。控制器计算数据流的转发路径需要获取整个SDN网络的拓扑信息,针对图1所示的数 据中心的网络部署图,控制器可以利用一定的方法获取如图2的拓扑图。The SDN network is mainly divided into two parts, a controller that is at the control level and that is the forwarding control core, and a switch that forwards data according to the control instructions issued by the controller on the data plane. The controller calculates the forwarding path of the data stream and needs to obtain the topology information of the entire SDN network, for the number shown in FIG. According to the network deployment diagram of the center, the controller can obtain the topology diagram of FIG. 2 by using a certain method.
一般情况下,在数据中心实际应用中,每个服务器不可能只运行一个实例,一般都会在物理设备上安装虚拟化软件,运行多个虚拟机实例。这个虚拟化软件不仅包括主机虚拟化软件,也包括网络虚拟化软件(形成虚拟交换机,将虚拟机实例连接到虚拟交换机上)。安装虚拟化软件后,图1所示的数据中心网络环境所对应的拓扑会进一步扩展,如图3所示。从图2到图3的变化可知,当数据中心中一个机柜的网络规模变大后,意味着控制器看到的拓扑会增大,而且拓扑的复杂度也增加了,带来的直接影响就是提高了控制器进行数据流转发路径计算的复杂度,导致控制器决策时间的变长。可以预见的是随着整个数据中心规模的扩展,其网络规模也在不断增大,控制器计算主机间通信数据流的转发路径的速度会越来越慢,直接导致数据流转发过程建立的速度也会降低,整个网络的通信效率大大降低。甚至如果遇到有突增的大量新数据流需要决策转发路径时,可能会由于拓扑复杂导致的控制器决策速度较慢,而最终发生通讯建立失败等情况。In general, in the actual application of the data center, it is impossible for each server to run only one instance. Generally, virtualization software is installed on the physical device, and multiple virtual machine instances are run. This virtualization software includes not only host virtualization software, but also network virtualization software (forming a virtual switch that connects virtual machine instances to virtual switches). After the virtualization software is installed, the topology corresponding to the data center network environment shown in Figure 1 is further expanded, as shown in Figure 3. From the changes in Figure 2 to Figure 3, when the network size of one cabinet in the data center becomes larger, it means that the topology seen by the controller will increase, and the complexity of the topology also increases, and the direct impact is The complexity of the controller for data stream forwarding path calculation is improved, and the controller decision time becomes longer. It is foreseeable that as the size of the entire data center expands, the network scale is also increasing. The controller calculates the forwarding path of the communication data flow between hosts to be slower and slower, which directly leads to the speed of the data flow forwarding process. It will also reduce, and the communication efficiency of the entire network is greatly reduced. Even if a large number of new data streams with a sudden increase in the need to decide the forwarding path, the controller may be slower due to the complexity of the topology, and eventually the communication establishment fails.
本发明实施例提供了一种SDN网络中路由管理的方法,通过隐藏数据中心的局部细节网络拓扑,缩小在控制器上呈现的网络拓扑,达到减小控制器决策压力,提高网络转发性能的目的。为方便说明,本发明实施例中的SDN均采用OpenFlow网络作为示例来进行说明,实施例中TOR交换机所连接的虚拟交换机仅采用少量虚拟交换机作为示例,并不对本发明的保护范围造成影响。如图4示出了本发明实施例1中所示的数据中心的机柜内网络配置示意图,TOR交换机102作为下面所连接的虚拟交换机103、104的汇聚交换机,虚拟交换机1和虚拟交换机2均与TOR交换机建立OpenFlow连接,通过自身的数据端口1-4与主机、以及TOR交换机的数据端口1-4连接,此处的数据端口1-4是虚拟交换机创建的虚拟端口。主机是指虚拟主机。虚拟端口直连虚拟主机对应的网口。其中,虚拟交换机1的数据端口2与主机A连接,数据端口3与TOR交换机的数据端口2相连,虚拟交换机2的数据端口4与主机B连接,数据端口3与TOR交换机的数据端口4相连。当然,TOR交换机与控制器之间往往并不是直接相连,中间还会通过其他的交换机,为简单起见,本发明实施例中未标示出两者之间的交换机。此外,TOR交换机和虚拟交换
机1、虚拟交换机2都通过管理端口5与控制器101建立OpenFlow连接用于OpenFlow管理。跟传统网络一样,三个交换机的管理端口5一般都是连接在一个控制面的交换机上,以便与控制器101建立连接,因为与本发明关系不大,图中没有标示出控制面的交换机。按照现有技术,控制器101会获取包括TOR交换机102以及各个虚拟交换机103在内的网络拓扑图。明显的,如果机架内包括大量的虚拟交换机103,若按照现有方式,由控制器101对各虚拟交换机103进行直接控制,其所获得的网络拓扑图中会包括非常多的虚拟交换机信息以及复杂的端口连接关系,导致计算数据流转发路径的复杂度较高,路由决策时间较长。甚至,当有突增的大量新数据流需要决策转发路径时,可能由于拓扑复杂导致控制器101决策速度慢,并最终导致通讯建立失败等情况发生。The embodiment of the invention provides a method for routing management in an SDN network, which reduces the network topology presented on the controller by hiding the local detailed network topology of the data center, thereby reducing the controller decision pressure and improving the network forwarding performance. . For convenience of description, the SDN in the embodiment of the present invention is described by using an OpenFlow network as an example. In the embodiment, the virtual switch connected to the TOR switch uses only a small number of virtual switches as an example, and does not affect the protection scope of the present invention. FIG. 4 is a schematic diagram showing the network configuration of the data center in the cabinet shown in Embodiment 1 of the present invention. The
如果由TOR交换机作为一个机架内其他所有SDN交换机的代理,TOR交换机与控制器建立OpenFlow连接,而机架内的其他所有OpenFlow虚拟交换机与TOR交换机建立OpenFlow连接而不是直接与控制器建立OpenFlow连接,这样,TOR交换机本身以及与之建立OpenFlow连接的机架内其他所有虚拟交换机就构成了一个管理域。对于机架内与TOR交换机建立连接的其他所有OpenFlow交换机来说,TOR交换机呈现为他们的控制器,提供控制器的功能。而对于控制器来说,TOR交换机本身以及机架内其他所有虚拟交换机,就形成了一个逻辑交换机的形式存在。If the TOR switch acts as a proxy for all other SDN switches in the rack, the TOR switch establishes an OpenFlow connection with the controller, and all other OpenFlow virtual switches in the rack establish an OpenFlow connection with the TOR switch instead of establishing an OpenFlow connection directly with the controller. In this way, the TOR switch itself and all other virtual switches in the rack with which OpenFlow is connected constitute an administrative domain. For all other OpenFlow switches in the rack that are connected to the TOR switch, the TOR switches appear as their controllers, providing the controller's functionality. For the controller, the TOR switch itself and all other virtual switches in the rack form a logical switch.
首先,TOR交换机的控制程序收集机架内自身以及所有其他虚拟交换机的自身标识信息、端口信息以及互相连接的拓扑信息,得到如下表1所示的信息:First, the control program of the TOR switch collects its own identification information, port information, and interconnected topology information of itself and all other virtual switches in the rack, and obtains the information shown in Table 1 below:
表1Table 1
TOR交换机的控制程序会创建一个新的逻辑交换机,这个逻辑交换机并不是真实存在的交换机。TOR交换机将收集到的所有其他虚拟交换机的端口信息以及自身的端口信息,排除管理域内用于拓扑连接的端口信息之后,作为新的逻辑 交换机的端口统一分配端口号,并保存原始交换机端口信息和新的逻辑交换机端口信息的映射关系表。例如将TOR交换机、虚拟交换机1、虚拟交换机2各自的端口号1-4,分别映射为逻辑交换机的端口号1-8(表中为便于区分,采用逻辑端口号来标识)。如下所示:The control program of the TOR switch creates a new logical switch, which is not a real switch. The TOR switch will collect the port information of all other virtual switches and its own port information, and exclude the port information for the topology connection in the management domain as the new logic. The port of the switch uniformly allocates the port number and saves the mapping table between the original switch port information and the new logical switch port information. For example, the port number 1-4 of each of the TOR switch, the virtual switch 1, and the virtual switch 2 is mapped to the port number 1-8 of the logical switch (the table is identified by a logical port number for easy distinction). As follows:
表2Table 2
其次,TOR交换机会收集本管理域内各个虚拟交换机的流表、指令(Instruction)、动作(Action)等信息,并对管理域内的所有交换机(包括自身)的这些流表信息进行分析,得出管理域内所有交换机均可使用的公用信息,来作为逻辑交换机的流表、指令、动作信息。例如,假设虚拟交换机1的流表0支持的匹配域为:输入端口(In_Port)、虚拟局域网标识(VLAN ID)、目的媒体接入控制地址(Dst Mac)、源媒体接入控制地址(Src Mac)、目的IP地址(Dst IP),而TOR交换机的流表0只支持如下匹配域:输入端口(In_Port)、虚拟局域网标识(VLAN ID)、目的媒体接入控制地址(Dst Mac),则TOR交换机经过分析后,选取两个交换机的流表0均支持的公共匹配域作为逻辑交换机流表支持的匹配域信息,即:输入端口(In_Port)、虚拟局域网标识(VLAN ID)、目的媒体接入控制地址(Dst Mac)。对于指令信息、动作信息等等,TOR交换机均会进行分析,取公共信息作为逻辑交换 机的相关信息。当然一般情况下,机柜内的虚拟交换机采用的均为全通配匹配域流表(也就是说,每个流表中均包含了所有的匹配域),所支持的指令信息、动作信息等也是相同的。此时,TOR交换机根据自身的信息以及管理域内所有虚拟交换机均支持的公用信息,即可确定逻辑交换机的流表、指令、动作信息。一般情况下,各OpenFlow交换机支持的匹配域、指令、动作均是相同的,但可能流表顺序不同以及不同顺序的流表支持的匹配域存在不一致,这里通过分析进行优化组合,得出逻辑交换机的流表、指令、动作信息。Secondly, the TOR switch collects flow table, instruction (Action), action (Action) information of each virtual switch in the management domain, and analyzes the flow table information of all switches (including itself) in the management domain to obtain management. The common information that can be used by all switches in the domain to serve as the flow table, command, and action information of the logical switch. For example, suppose the matching domain supported by flow table 0 of virtual switch 1 is: input port (In_Port), virtual local area network identifier (VLAN ID), destination media access control address (Dst Mac), source media access control address (Src Mac) ), the destination IP address (Dst IP), and the flow table 0 of the TOR switch only supports the following matching fields: input port (In_Port), virtual local area network identifier (VLAN ID), destination media access control address (Dst Mac), then TOR After the switch is analyzed, the common matching domain supported by the flow table 0 of the two switches is selected as the matching domain information supported by the logical switch flow table, that is, the input port (In_Port), the virtual local area network identifier (VLAN ID), and the destination media access. Control address (Dst Mac). For command information, action information, etc., the TOR switch will analyze and take public information as a logical exchange. Information about the machine. Of course, in general, the virtual switches in the cabinet use all-matched matching domain flow tables (that is, each flow table contains all matching domains), and the supported command information and action information are also identical. At this time, the TOR switch can determine the flow table, the command, and the action information of the logical switch according to its own information and the common information supported by all the virtual switches in the management domain. In general, the matching fields, commands, and actions supported by each OpenFlow switch are the same. However, the sequence of the flow table may be different and the matching fields supported by the flow table in different order are inconsistent. Flow table, instructions, and action information.
当控制器向TOR交换机发送查询命令用于查询端口信息、流表信息、指令信息、动作信息时,TOR交换机将收集并转换后的代表统一的逻辑交换机的对应信息,返回给控制器。至此,如图5所示,整个机柜内的网络信息经过TOR交换机映射为一个逻辑交换机呈现给控制器,原虚拟交换机1的端口2与主机A连接变为了逻辑交换机的端口4与主机A连接,原虚拟交换机2的端口4与主机B连接变为了逻辑交换机的端口8与主机B连接,原虚拟交换机1的端口3与TOR交换机的端口2连接变为了逻辑交换机的端口7与端口2连接。When the controller sends a query command to the TOR switch for querying port information, flow table information, command information, and action information, the TOR switch collects and converts the corresponding information representing the unified logical switch and returns it to the controller. At this point, as shown in FIG. 5, the network information in the entire cabinet is mapped to a logical switch by the TOR switch, and the
根据OpenFlow协议的规定,当有新的数据流到达某个虚拟交换机,例如虚拟交换机A,需要转发,虚拟交换机A解析数据包后查询自身存储的转发流表,如果没有能够匹配的转发流表项,则通过控制管理通道发送OpenFlow协议规定的数据流转发规则请求消息(此处为Packet_in)消息上报给控制器请求针对该数据流的转发规则。而此时TOR交换机作为控制器代理的角色,接收到来自于某个虚拟交换机上报的数据流转发规则请求消息Packet_in消息后,由于真正做出转发决策的还是控制器,所以TOR交换机需要将这个消息上报给控制器,上报前需要进行转换,将消息中的实际交换机的信息转换为其代表的逻辑交换机的相关信息,并保存原始数据流转发规则请求消息与转换后的数据流转发规则请求消息之间相关信息的映射关系。如从主机A到主机B有新的数据流需要进行转发,虚拟交换机1收到新的数据流后,没有匹配到转发流表项,则按照协议标准将数据流转发规则请求消息上报给TOR交换机,假设Packet_in消息中携带的参数:缓存标识(Buffer id,表明数据流在本交换机1上缓存空间的标识)、数据流的匹配域信息等。此处
假设Buffer id为2,匹配域为In Port,是端口2。根据原始交换机和逻辑交换机的映射关系可以知道,虚拟交换机的端口2应该转换为逻辑交换机的端口4,而逻辑交换机上的Buffer ID由TOR交换机的代理控制程序进行分配,Buffer ID在逻辑交换机上是全局唯一的。则经过TOR交换机转换后的Packet_in消息中的一些关键信息如下表所示:According to the provisions of the OpenFlow protocol, when a new data flow arrives at a virtual switch, such as virtual switch A, it needs to be forwarded. After the virtual switch A parses the data packet, it queries the forwarding flow table stored by itself. If there is no matching forwarding flow entry. Then, the data flow forwarding rule request message (here, Packet_in) message specified by the OpenFlow protocol is sent to the controller through the control management channel to request a forwarding rule for the data flow. At this time, the TOR switch acts as a controller agent. After receiving the data flow forwarding rule request message Packet_in message reported by a virtual switch, the TOR switch needs to send this message because the controller actually makes the forwarding decision. Reported to the controller, it needs to be converted before the report, convert the information of the actual switch in the message to the information about the logical switch it represents, and save the original data stream forwarding rule request message and the converted data stream forwarding rule request message. The mapping relationship between related information. If the new data stream is forwarded from the host A to the host B, the virtual switch 1 does not match the forwarding flow entry, and the data flow forwarding rule request message is reported to the TOR switch according to the protocol standard. Assume that the parameters carried in the Packet_in message are: a buffer identifier (Buffer id indicating the identifier of the buffer space of the data stream on the switch 1), and matching domain information of the data stream. Here
Suppose the Buffer id is 2 and the matching field is In Port, which is
表3table 3
TOR交换机的代理控制程序将修改后的数据流转发规则请求消息Packet_in消息,上报给控制器。The proxy control program of the TOR switch reports the modified data flow forwarding rule request message Packet_in message to the controller.
控制器接收到TOR交换机上报的数据流转发规则请求消息Packet_in消息后,会计算转发路径,按照协议下发转发数据流的流表处理消息(此处为Flow_Mod)消息给TOR交换机所代表的逻辑交换机。控制器下发的Flow_mod消息中主要包含如下关键信息:Buffer ID、匹配域、流表标识(Table ID)、Instruction或Action。由于TOR交换机的代理控制程序将实际虚拟交换机上报的Packet in消息转化为逻辑交换机上报的Packet in消息,所以控制器响应的该Flow_mod消息也是针对逻辑交换机的,TOR交换机的代理控制程序接收到来自控制器的Flow_mod消息后,需要根据之前记录的虚拟交换机和逻辑交换机的映射关系,将该针对逻辑交换机的Flow_mod消息转化为针对实际交换机的一系列Flow_mod消息,并下发到实际的多个交换机上。假设,控制器针对前面的Packet_in消息,返回的Flow_mod消息,具体为如下表s所示内容:After receiving the data flow forwarding rule request message Packet_in message reported by the TOR switch, the controller calculates the forwarding path, and sends a flow table processing message (here, Flow_Mod) of the forwarding data flow to the logical switch represented by the TOR switch according to the protocol. . The Flow_mod message sent by the controller mainly contains the following key information: Buffer ID, matching field, flow table identifier (Table ID), Instruction, or Action. Because the proxy control program of the TOR switch converts the Packet in message reported by the actual virtual switch into the Packet in message reported by the logical switch, the Flow_mod message responded by the controller is also for the logical switch, and the proxy control program of the TOR switch receives the control from the control. After the Flow_mod message of the device, the Flow_mod message for the logical switch is converted into a series of Flow_mod messages for the actual switch and delivered to the actual multiple switches according to the mapping relationship between the virtual switch and the logical switch. Assume that the controller returns the Flow_mod message for the previous Packet_in message, as shown in the following table s:
表4Table 4
即,针对前面收到的TOR交换机所代表的逻辑交换机发出的Buffer ID为10 的Packet_in消息,在逻辑交换机的Table Id为01的流表中添加:匹配域为入端口为4、源Mac地址等于主机A的Mac地址、目的Mac地址等于主机B的Mac地址,指令为由端口8进行发送的流表项,以便逻辑交换机根据此流表处理新收到的数据流。That is, the Buffer ID issued by the logical switch represented by the previously received TOR switch is 10 Packet_in message is added in the flow table of Table 1d of the logical switch: the matching domain is 4 for the ingress port, the source Mac address is equal to the Mac address of the host A, the destination Mac address is equal to the Mac address of the host B, and the command is the port. 8 The flow entry to be sent, so that the logical switch processes the newly received data flow according to the flow table.
TOR交换机的代理控制程序接收到控制器针对逻辑交换机下发的这个Flow_mod消息后,会按照本地记录的实际交换机与逻辑交换机之间的映射关系以及收集到的管理域内的网络拓扑信息,将这个针对逻辑交换机的流表项转换为针对实际交换机的流表项并下发到实际的交换机中,转换的方法不是本方面的重点,不再赘述。After receiving the Flow_mod message sent by the controller for the logical switch, the proxy control program of the TOR switch will follow the mapping relationship between the actual switch and the logical switch recorded locally and the collected network topology information in the management domain. The flow entry of the logical switch is translated to the actual switch and sent to the actual switch. The conversion method is not the focus of this aspect and will not be described here.
TOR交换机经过转换后,下发到虚拟交换机1的Flow_mod消息的信息为:After the TOR switch is converted, the information about the Flow_mod message sent to the virtual switch 1 is:
表5table 5
即,需要虚拟交换机1针对前面TOR交换机收到的虚拟交换机1发出的BufferID为2的Packet_in消息,在Table Id为01的流表中添加:匹配域为入端口为2、源Mac地址等于主机A的Mac地址、目的Mac地址等于主机B的Mac地址,指令为由端口3进行发送的流表项,以便虚拟交换机1根据此流表处理新收到的主机A发出的数据流,由端口3发给TOR交换机。其中:Buffer ID是由TOR交换机记录的BufferID的映射关系确定的,端口的信息是由TOR交换机维护的实际交换机与逻辑交换机的映射关系和拓扑信息确定的。That is, the virtual switch 1 needs to send the Packet_in message with the BufferID of 2 sent by the virtual switch 1 received by the front TOR switch to the flow table of Table Id 01: the matching domain is the
下发到TOR交换机自身的Flow_mod消息的信息为:The information of the Flow_mod message sent to the TOR switch itself is:
表6 Table 6
即,需要TOR交换机在Table Id为01的流表中添加:匹配域为入端口为2、源Mac地址等于主机A的Mac地址、目的Mac地址等于主机B的Mac地址,指令为由端口4进行发送的流表项,以便TOR交换机根据此流表处理将从端口2收到的由虚拟交换机1的端口2所发送的数据流,经端口4发给虚拟交换机2。That is, the TOR switch needs to be added in the flow table with Table Id 01: the matching domain is the
下发到虚拟交换机2的Flow_mod消息的信息为:The information of the Flow_mod message sent to the virtual switch 2 is:
表7Table 7
即,需要虚拟交换机2在Table Id为01的流表中添加:匹配域为入端口为3、源Mac地址等于主机A的Mac地址、目的Mac地址等于主机B的Mac地址,指令为由端口4进行发送的流表项,以便虚拟交换机2根据此流表处理将从端口3收到的由TOR交换机的端口4所发送的来自于主机A的数据流,经端口4发给主机B。That is, the
通过上述技术方案,本发明实施例提供的SDN中路由管理的方法中,TOR交换机将机架内所有交换机映射为一个逻辑交换机呈现给控制器,由控制器针对该逻辑交换机进行路由决策,机架交换机完成机架内交换机和该逻辑交换机之间的路由映射,降低了控制器层面可见的网络拓扑的复杂度和规模,从而加快了控制器计算数据流转发路径的速度,提升了整个系统的通信性能。With the above technical solution, in the method for routing management in the SDN provided by the embodiment of the present invention, the TOR switch maps all the switches in the rack to a logical switch and presents the controller to the controller, and the controller makes routing decisions for the logical switch. The switch completes the route mapping between the intra-rack switch and the logical switch, which reduces the complexity and scale of the network topology visible at the controller level, thereby speeding up the controller to calculate the data flow forwarding path and improving the communication of the entire system. performance.
结合图1所述的ToR方式的数据中心网络,本发明实施例提供了一种SDN网络中路由管理的方法,如图6所示,具体的过程包括:With reference to the ToR mode data center network described in FIG. 1, the embodiment of the present invention provides a method for routing management in an SDN network, as shown in FIG. 6, the specific process includes:
201,数据中心中的机架TOR交换机收集所管理的机架内所有交换机的路由管理信息。路由管理信息包括设备标识信息、端口信息以及设备间连接的拓扑信息。可以理解,这里的机架内的交换机,既可以包括真实存在的物理实体的交换机,也包括由网络虚拟化软件形成的虚拟交换机,当然也包含TOR交换机本身。201. The rack TOR switch in the data center collects routing management information of all switches in the managed rack. The route management information includes device identification information, port information, and topology information of connections between devices. It can be understood that the switches in the rack here can include a switch of a real physical entity, a virtual switch formed by network virtualization software, and of course, the TOR switch itself.
在SDN网络中,控制器会向所管理的交换机发送查询命令用于查询交换机的路由管理信息,在本发明实施例中,可选的,TOR交换机也可以采用这 种方式收集其所管理的机架内自身之外其他交换机的路由管理信息,TOR交换机会向所管理的机架内的交换机发送控制器的查询命令,并得到类似于前面表1中所示的各交换机的信息。In the SDN network, the controller sends a query command to the managed switch to query the routing management information of the switch. In the embodiment of the present invention, optionally, the TOR switch can also adopt the Ways to collect routing management information for switches other than the ones in the racks it manages, the TOR switch sends controller query commands to the switches in the managed racks, and is similar to the one shown in Table 1 above. Information about each switch.
202,TOR交换机根据收集到的机架内各交换机的路由管理信息创建一个逻辑交换机,并建立这个逻辑交换机和机架内交换机的对应关系。202. The TOR switch creates a logical switch according to the collected routing management information of each switch in the rack, and establishes a correspondence between the logical switch and the switch in the rack.
TOR交换机会创造出一个虚拟的逻辑交换机,并根据收集到的所有其他交换机的端口信息、自身的端口信息以及各交换机之间的连接拓扑关系,确定创建的逻辑交换机的路由管理信息。在逻辑交换机中为机架内各交换机统一分配端口号,将原各交换机的端口号映射为逻辑交换机的端口号,根据各交换机之间的连接拓扑关系确定逻辑交换机各端口之间的连接关系,并记录交换机和逻辑交换机之间的映射关系。可选的,对于原交换机中和其他设备间没有连接关系的端口,可以不用在逻辑交换机中创建端口进行映射,以减少逻辑交换机的端口数。这里记录的映射关系主要是两者的端口号对应信息,当然也可以记录端口的连接关系、设备标识的对应信息等。The TOR switch creates a virtual logical switch and determines the routing management information of the created logical switch based on the port information of all other switches collected, its own port information, and the connection topology relationship between the switches. In the logical switch, the switch number is assigned to each switch in the rack, and the port number of the original switch is mapped to the port number of the logical switch. The connection relationship between the ports of the logical switch is determined according to the connection topology relationship between the switches. Record the mapping relationship between the switch and the logical switch. Optionally, for a port that has no connection relationship with other devices in the original switch, you can create a port on the logical switch without mapping to reduce the number of ports on the logical switch. The mapping relationship recorded here is mainly the port number corresponding information of the two, and of course, the connection relationship of the port and the corresponding information of the device identifier can also be recorded.
203,TOR交换机将逻辑交换机的路由管理信息发送给控制器,以便控制器根据逻辑交换机的路由管理信息进行路由管理。203. The TOR switch sends the routing management information of the logical switch to the controller, so that the controller performs route management according to the routing management information of the logical switch.
TOR交换机将创建的逻辑交换机的路由管理信息发送给控制器。可以采用主动上报的方式,TOR交换机主动上报创建的逻辑交换机的各类信息。也可以在收到控制器的查询命令时,将查询命令对应的逻辑交换机的路由管理信息上报给控制器。控制器收到TOR交换机发送的逻辑交换机的路由管理信息后,即可以通过逻辑交换机的路由管理信息知道机架内交换机的端口信息及拓扑连接关系,进行路由管理,通过计算确定数据流的转发路径。The TOR switch sends the routing management information of the created logical switch to the controller. The TOR switch can actively report various types of information about the created logical switch. The routing management information of the logical switch corresponding to the query command is reported to the controller when the query command of the controller is received. After receiving the routing management information of the logical switch sent by the TOR switch, the controller can know the port information and the topology connection relationship of the switch in the rack through the routing management information of the logical switch, perform route management, and determine the forwarding path of the data flow through calculation. .
上述的方法实施例中,TOR交换机将机架内所有交换机映射为一个逻辑交换机,并进行机架内交换机和该逻辑交换机之间的路由管理信息的映射,由控制器针对该逻辑交换机进行路由决策。这种将机架内互相连接的多个交换机映射为一个整体逻辑交换机的方法,可以隐藏部分局部细节网络,降低了控制器层面可见的网络拓扑的复杂度和规模,从而加快了控制器计算数据流转发路径的速度,提升了整个系统的通信性能。In the foregoing method embodiment, the TOR switch maps all the switches in the rack into one logical switch, and maps the routing management information between the intra-rack switch and the logical switch, and the controller makes routing decisions for the logical switch. . This method of mapping multiple switches connected in a rack into one overall logical switch can hide part of the local detail network, reducing the complexity and scale of the network topology visible at the controller level, thereby accelerating the controller computing data. The speed of the flow forwarding path improves the communication performance of the entire system.
进一步地,控制器在进行路由转发规则的计算时,除了考虑交换机的路 由管理信息之外,还要考虑交换机的路由能力信息,即该交换机的流表所支持的匹配域、指令、动作等信息。所以,控制器在针对逻辑交换机进行路由转发规则的计算时,也要考虑逻辑交换机的路由能力信息。可选的,TOR交换机要收集所管理的机架内所有交换机的路由能力信息,根据收集到的路由能力信息,确定逻辑交换机配置的流表以及路由能力信息;然后,TOR交换机将逻辑交换机配置的流表以及路由能力信息发送给控制器,以便控制器根据该逻辑交换机的路由管理信息进行路由管理。Further, when the controller performs the calculation of the routing and forwarding rules, in addition to considering the path of the switch In addition to the management information, the routing capability information of the switch, that is, the matching fields, commands, actions, and the like supported by the flow table of the switch are also considered. Therefore, when calculating the routing and forwarding rules for the logical switch, the controller should also consider the routing capability information of the logical switch. Optionally, the TOR switch collects the routing capability information of all the switches in the managed rack, determines the flow table configured by the logical switch, and the routing capability information according to the collected routing capability information; then, the TOR switch configures the logical switch. The flow table and the routing capability information are sent to the controller, so that the controller performs route management according to the routing management information of the logical switch.
在SDN网络中,控制器会向所管理的交换机发送查询命令用于查询交换机的路由能力信息,在本发明实施例中,可选的,TOR交换机也可以采用这种方式收集其所管理的机架内自身之外其他交换机的路由能力信息,TOR交换机会向所管理的机架内的交换机发送控制器使用的查询命令,并得到各交换机上报的路由能力信息。TOR交换机对收集到的所有交换机(包括自身)的这些路由能力信息进行分析,确定逻辑交换机配置的流表以及路由能力信息。可选的,TOR交换机将所有交换机均可使用的公用信息,来作为逻辑交换机的流表、指令、动作信息。例如,选取各交换机的流表均支持的公共匹配域作为逻辑交换机流表支持的匹配域信息,选取各交换机的流表均支持的指令信息、动作信息作为逻辑交换机流表支持的指令信息、动作信息。In the SDN network, the controller sends a query command to the managed switch for querying the routing capability information of the switch. In the embodiment of the present invention, the TOR switch may also collect the managed device in this manner. The TOR switch sends the query command used by the controller to the switch in the managed rack and obtains the routing capability information reported by each switch. The TOR switch analyzes the routing capability information of all the collected switches (including itself) to determine the flow table and routing capability information configured by the logical switch. Optionally, the TOR switch uses the common information that all switches can use as the flow table, instructions, and action information of the logical switch. For example, the common matching domain supported by the flow table of each switch is selected as the matching domain information supported by the logical switch flow table, and the instruction information and action information supported by the flow table of each switch are selected as the instruction information and actions supported by the logical switch flow table. information.
通常,在数据中心内,除TOR交换机外,机柜内的其他交换机均为虚拟交换机,而虚拟交换机一般会采用全通配匹配域流表(也就是说,每个流表中均包含了所有的匹配域)且各流表所支持的指令、动作等也相同。此时,TOR交换机只要根据自身的信息以及机架内其他交换机均支持的公用信息,即可确定逻辑交换机的流表、指令、动作信息。一般情况下,各OpenFlow交换机支持的匹配域、指令、动作往往是相同的,仅是各交换机中流表顺序不同,各流表配置的匹配域可能不一致,TOR交换机根据收集到的各交换机的路由能力信息进行分析,就可以得出逻辑交换机的流表、指令、动作信息。Generally, in the data center, except for the TOR switch, other switches in the cabinet are virtual switches, and the virtual switch generally adopts a full-match matching domain flow table (that is, each flow table contains all the Matching fields) and the instructions and actions supported by each flow table are also the same. At this time, the TOR switch can determine the flow table, command, and action information of the logical switch according to its own information and the common information supported by other switches in the rack. In general, the matching fields, commands, and actions supported by the OpenFlow switches are the same. The flow table is different in each switch. The matching fields configured in the flow table may be inconsistent. The TOR switch collects the routing capabilities of each switch. After the information is analyzed, the flow table, instructions, and action information of the logical switch can be obtained.
TOR交换机将确定的逻辑交换机配置的流表和路由能力信息发送给控制器的方式,可以采用主动上报的方式,也可以在收到控制器的查询命令时将相关信息上报给控制器。控制器收到TOR交换机发送的逻辑交换机的流表和路由管理信息后,可以根据这些信息进行路由管理。 The TOR switch sends the flow table and the routing capability information of the logical switch to the controller. The method can be reported to the controller when the controller receives the query command. After receiving the flow table and route management information of the logical switch sent by the TOR switch, the controller can perform route management based on the information.
TOR交换机将机架内的交换机映射为逻辑交换机,建立了机架内交换机与逻辑交换机之间的对应关系,并将逻辑交换机的相关信息上报给控制器之后,进一步的,控制器可以根据收到的TOR交换机发送的逻辑交换机的信息进行路由管理。机架内交换机与控制器之间的通信均由TOR交换机进行转接处理,TOR交换机根据机架内交换机与逻辑交换机之间的对应关系,将机架内交换机发送的包含自身信息的消息转换成包含逻辑交换机信息的消息发送给控制器,将控制器发送的包含逻辑交换机的消息转换成对应的机架内交换机的信息的消息发送给对应的交换机。The TOR switch maps the switches in the rack to logical switches, establishes the correspondence between the switches in the rack and the logical switches, and reports the related information of the logical switches to the controller. Further, the controller can receive the information according to the The information of the logical switch sent by the TOR switch is routed. The communication between the switch and the controller in the rack is transferred by the TOR switch. The TOR switch converts the message containing the information sent by the switch in the rack into a message according to the correspondence between the switch in the rack and the logical switch. A message containing the logical switch information is sent to the controller, and a message that the controller sends the message including the logical switch to the information of the corresponding intra-rack switch is sent to the corresponding switch.
当TOR交换机接收到机架内的第一交换机的第一上报消息,这里的第一上报消息为该第一交换机向控制器发送的消息,TOR交换机根据机架内交换机和逻辑交换机的映射关系,将第一上报消息中第一交换机的信息转换为逻辑交换机的对应信息,生成第二上报消息发送给控制器。第二上报消息是与第一上报消息相同类型的消息,TOR交换机仅是将第一上报消息中包括的第一交换机相关的信息,例如,路由管理信息、路由能力信息中的相关信息,例如端口号,按照映射关系,将第一交换机的端口号修改为逻辑交换机对应的端口号。也可以包括如前面实施例中表3所示的Buffer id等其他信息,这些信息都包括在架内交换机和逻辑交换机的映射关系。When the TOR switch receives the first report message of the first switch in the rack, the first report message here is a message sent by the first switch to the controller, and the TOR switch is based on the mapping relationship between the switch and the logical switch in the rack. The information of the first switch in the first report message is converted into the corresponding information of the logical switch, and the second report message is generated and sent to the controller. The second report message is the same type of message as the first report message, and the TOR switch is only information related to the first switch included in the first report message, for example, related information in route management information and routing capability information, such as a port. No. According to the mapping relationship, change the port number of the first switch to the port number corresponding to the logical switch. Other information such as the Buffer id as shown in Table 3 in the previous embodiment may also be included, and the information is included in the mapping relationship between the in-rack switch and the logical switch.
当TOR交换机接收到控制器的第一下发消息,该第一下发消息为控制器向逻辑交换机发送的消息,因为控制器侧只知道逻辑交换机的信息,它并不知道机架内的交换机的具体信息,所以它只会针对逻辑交换机下发消息来实现路由管理。TOR交换机根据机架内交换机和逻辑交换机的映射关系,将第一下发消息中逻辑交换机的信息转换为目的交换机的对应信息,生成第二下发消息发送给目的交换机,这里的目的交换机就是按照映射关系,第一下发消息中包含的逻辑交换机的信息对应的机架内的真实交换机。当然,第一下发消息虽然是一条针对逻辑交换机的消息,但由于逻辑交换机实际上是TOR交换机汇接并管理的多个机架内交换机映射出来的交换机,实际上到了机架内,控制器给出的第一下发消息,在映射到实际的目的交换机时,可能需要不止一个交换机配合完成第一下发消息指定的数据流处理功能,此时TOR交换机需要将一条第一下发消息,根据机架内交换机和逻辑交换机的映射关系
以及机架内交换机间连接的拓扑信息,生成不止一条第二下发消息,并将生成的多条第二下发消息分别发送给对应的目的交换机,以便这些目的交换机按照第二下发消息的指示,配合完成数据流的处理。例如,如前面实施例中表4所示的一条下发消息(此处是Flow_mod消息)中指示逻辑交换机将输入端口4的数据流由出端口8转发出去,如表5、表6、表7所示,TOR交换机根据机架内交换机和逻辑交换机的映射关系,生成了三条第二下发消息(同样也是Flow_mod消息)分别发送给了虚拟交换机1、虚拟交换机2和TOR交换机自身,实现了控制器下发的针对逻辑交换机的第一下发消息到针对机架内交换机的第二下发消息的转换和下发,并实现了相应的路由管理功能。When the TOR switch receives the first sending message of the controller, the first sending message is a message sent by the controller to the logical switch. Because the controller side only knows the information of the logical switch, it does not know the switch in the rack. Specific information, so it only sends messages to the logical switch to implement route management. The TOR switch converts the information of the logical switch in the first sent message into the corresponding information of the destination switch according to the mapping relationship between the switch and the logical switch in the rack, and generates a second sent message to be sent to the destination switch, where the destination switch is followed. Mapping relationship, the real switch in the rack corresponding to the information of the logical switch included in the first delivered message. Of course, although the first outgoing message is a message for the logical switch, since the logical switch is actually a switch mapped by multiple intra-rack switches that the TOR switch is connected and managed, actually the controller is in the rack. The first delivery message, when mapping to the actual destination switch, may require more than one switch to complete the data stream processing function specified by the first delivery message. The TOR switch needs to send a first delivery message. According to the mapping between switches and logical switches in the rack
And the topology information of the connection between the switches in the rack, generating more than one second sending message, and sending the generated multiple second sending messages to the corresponding destination switch, so that the destination switches follow the second sending message. Indicates that the processing of the data stream is completed. For example, in a piece of the outgoing message (here, the Flow_mod message) shown in Table 4 in the previous embodiment, the logical switch instructs the logical switch to forward the data stream of the
如图7所示,本发明实施例提供了一种SDN网络中请求转发路由规则的方法。本实施例中,假设控制器已经获取了逻辑交换机的相关信息,包括路由管理信息、路由能力信息等,在TOR交换机上也已经建立了机架内交换机与创建的逻辑交换机之间的映射关系。该方法包括如下步骤:As shown in FIG. 7, an embodiment of the present invention provides a method for requesting forwarding of a routing rule in an SDN network. In this embodiment, it is assumed that the controller has acquired the related information of the logical switch, including the routing management information and the routing capability information, and the mapping relationship between the intra-rack switch and the created logical switch has also been established on the TOR switch. The method comprises the following steps:
步骤301,TOR交换机接收机架内的第二交换机发送的第一数据流转发规则请求消息,第一数据流转发规则请求消息用于向控制器请求针对第二交换机收到的新数据流的转发规则。Step 301: The TOR switch receives a first data flow forwarding rule request message sent by a second switch in the rack, where the first data flow forwarding rule request message is used to request, for forwarding, a new data flow received by the second switch from the controller. rule.
当有新的数据流到达第二交换机,而第二交换机在自身的转发流表没有匹配到适用的转发流表项或在转发流表项中匹配到的流表项中的处理方法为上报控制器请求转发规则,则第二交换机发送数据流转发规则请求消息(本实施例中一般用Packet_in作为示例)消息给控制器请求针对该数据流的转发规则,此处为了区分,将这个数据流转发规则请求消息定义为第一数据流转发规则请求消息,本文中的“第一”、“第二”仅是为了区分不同交换机或消息,并不对本专利实施例的适用范围造成限制。TOR交换机作为机架内的汇聚交换机,会收到第二交换机发送的第一数据流转发规则请求消息。When a new data flow arrives at the second switch, and the second switch does not match the applicable forwarding flow entry in the forwarding flow table or the matching flow entry in the forwarding flow entry is the reporting control The device requests the forwarding rule, and the second switch sends a data stream forwarding rule request message (in the embodiment, generally using Packet_in as an example) message to the controller to request a forwarding rule for the data stream, where the data stream is forwarded for differentiation. The rule request message is defined as the first data flow forwarding rule request message. The “first” and “second” in this document are only used to distinguish different switches or messages, and do not limit the scope of application of the present patent embodiment. As the aggregation switch in the rack, the TOR switch receives the first data flow forwarding rule request message sent by the second switch.
步骤302,TOR交换机根据机架内交换机和逻辑交换机的映射关系,将第一数据流转发规则请求消息中第二交换机的端口转换为逻辑交换机的对应端口,将第一数据流转发规则请求消息中第二交换机中的缓冲区标识转换为对应的逻辑交换机中的缓冲区标识,生成第二数据流转发规则请求消息发送给控制器。假设该Packet_in消息中携带的参数有Buffer id、端口号等需要 转换,其中的Buffer ID由TOR交换机进行分配,Buffer ID在逻辑交换机上是全局唯一的,分配后也会记录在机架内交换机和逻辑交换机的映射关系中。Step 302: The TOR switch converts the port of the second switch in the first data flow forwarding rule request message into a corresponding port of the logical switch according to the mapping relationship between the switch and the logical switch in the rack, and forwards the first data flow to the rule request message. The buffer identifier in the second switch is converted into a buffer identifier in the corresponding logical switch, and a second data flow forwarding rule request message is generated and sent to the controller. Assume that the parameters carried in the Packet_in message have a Buffer id, a port number, and the like. In the conversion, the Buffer ID is allocated by the TOR switch. The Buffer ID is globally unique on the logical switch, and is also recorded in the mapping relationship between the switch and the logical switch in the rack.
步骤303,TOR交换机接收控制器的第一流表处理消息,第一流表处理消息包含逻辑交换机对新数据流的处理规则。控制器接收到TOR交换机上报的第二数据流转发规则请求消息后,会计算转发路径,按照协议下发流表处理消息(此处以Flow_Mod消息为示例)给逻辑交换机发送给TOR交换机。由于TOR交换机的代理控制程序将实际的第二交换机上报的第一Packet in消息转化为针对逻辑交换机的第二Packet in消息,所以控制器响应的该第一Flow_mod消息也是针对逻辑交换机的,因为逻辑交换机是经过TOR交换机与控制器相连接的,所以这个第一流表处理消息也是由控制器先发送给TOR交换机。Step 303: The TOR switch receives the first flow table processing message of the controller, where the first flow table processing message includes a processing rule of the logical switch for the new data flow. After receiving the second data flow forwarding rule request message reported by the TOR switch, the controller calculates the forwarding path, and sends the flow table processing message (here, the Flow_Mod message is taken as an example) to the logical switch to the TOR switch. Since the proxy control program of the TOR switch converts the first Packet in message reported by the actual second switch into the second Packet in message for the logical switch, the first Flow_mod message responded by the controller is also for the logical switch because the logic The switch is connected to the controller through the TOR switch, so the first flow table processing message is also sent by the controller to the TOR switch.
步骤304,TOR交换机根据第一流表处理消息,机架内交换机和逻辑交换机的映射关系以及机架内交换机间连接的拓扑信息,生成第二流表处理消息发送给第二流表处理消息对应的交换机,以便对应的交换机根据第二流表处理消息处理新数据流。Step 304: The TOR switch processes the message according to the first flow table, the mapping relationship between the switch and the logical switch in the rack, and the topology information of the connection between the switches in the rack, and generates a second flow table processing message to be sent to the second flow table processing message. The switch, so that the corresponding switch processes the message to process the new data stream according to the second flow table.
控制器响应的该流表处理消息是针对逻辑交换机的,TOR交换机收到第一流表处理消息后,需要根据之前记录的机架内交换机和逻辑交换机的映射关系,将该针对逻辑交换机的第一Flow_mod消息转化为针对实际交换机的第二Flow_mod消息,主要是修改第一Flow_mod消息中的Buffer ID、端口号等信息,并将生成的第二流表处理消息发送到对应的交换机。由于逻辑交换机实际上是TOR交换机汇接并管理的多个机架内交换机映射出来的交换机,所以控制器给出的第一流表处理消息中针对逻辑交换机的数据流处理规则,在映射成实际的交换机时,可能需要不止一个交换机配合完成数据流的处理,此时需要TOR交换机根据机架内交换机和逻辑交换机的映射关系以及机架内交换机间连接的拓扑信息,将第一流表处理消息转换成多条第二流表处理消息,并将生成的多条第二流表处理消息分别发送给对应的交换机,以便这些交换机按照第二流表处理消息的指示,配合完成对于新的数据流的处理。例如,如前面实施例中表4所示的一条Flow_mod消息中指示逻辑交换机将输入
端口4的新的数据流由出端口8转发出去给目的主机,TOR交换机根据机架内交换机和逻辑交换机的映射关系以及机架内交换机间连接的拓扑信息,生成了如表5、表6、表7所示的三条第二Flow_mod分别发送给了虚拟交换机1、虚拟交换机2和TOR交换机自身,完成了由虚拟交换机1接收新的数据流并发送给TOR交换机,再由TOR交换机发送给虚拟交换机2,最终由虚拟交换机2转发目的主机的功能。The flow table processing message that the controller responds to is for the logical switch. After receiving the first flow table processing message, the TOR switch needs to map the first switch to the logical switch according to the previously recorded mapping relationship between the intra-rack switch and the logical switch. The flow_mod message is converted into a second Flow_mod message for the actual switch, and the information of the Buffer ID and the port number in the first Flow_mod message is modified, and the generated second flow table processing message is sent to the corresponding switch. Since the logical switch is actually a switch mapped by multiple intra-rack switches that are connected and managed by the TOR switch, the data flow processing rule for the logical switch in the first flow table processing message given by the controller is mapped to the actual one. When a switch is used, more than one switch may need to complete the processing of the data stream. In this case, the TOR switch needs to convert the first flow table processing message according to the mapping relationship between the switch and the logical switch in the rack and the topology information of the connection between the switches in the rack. The plurality of second flow tables process the message, and send the generated multiple second flow table processing messages to the corresponding switches, so that the switches process the processing of the new data stream according to the indication of the second flow table processing message. . For example, a Flow_mod message as shown in Table 4 in the previous embodiment indicates that the logical switch will input
The new data stream of
上述的方法实施例中,TOR交换机将机架内交换机发送的数据流转发规则请求消息,转换成针对逻辑交换机的消息上报给控制器,而控制器针对逻辑交换机进行路由规划并下发流表处理消息,由TOR交换机将针对逻辑交换机的流表处理消息转换为针对机架内交换机的消息,且由于降低了控制器层面可见的网络拓扑的复杂度和规模,在SDN网络中请求转发路由规则的过程中加快了控制器计算数据流转发路径的速度,提升了整个系统的通信性能。In the foregoing method embodiment, the TOR switch converts the data flow forwarding rule request message sent by the switch in the rack into a message for the logical switch, and the controller performs routing planning on the logical switch and delivers the flow table processing. The TOR switch converts the flow table processing message for the logical switch into a message for the intra-rack switch, and requests the forwarding routing rule in the SDN network because the complexity and scale of the network topology visible at the controller level are reduced. In the process, the speed of the controller to calculate the data flow forwarding path is accelerated, and the communication performance of the entire system is improved.
上文结合图1至7,对本发明实施例提供的方法进行了详细的介绍。图8示出了本申请所涉及的TOR交换机的的一种可能的结构示意图。该TOR交换机可以实现上述图6和图7中方法实施例中TOR交换机的的功能,本实施例中未定义的术语及实现细节可以参考上述图6和图7的方法实施例。如图8所示,该TOR交换机40可以包括收集单元41,信息映射单元42,发送单元45。其中,收集单元41,用于收集TOR交换机40所管理的机架内所有交换机的路由管理信息,这里的路由管理信息包括设备标识信息、端口信息以及设备间连接的拓扑信息;信息映射单元42,用于根据收集单元41收集到的路由管理信息创建逻辑交换机,将收集到的机架内交换机的路由管理信息映射为该逻辑交换机的路由管理信息;发送单元45,用于将逻辑交换机的路由管理信息发送给控制器,以便控制器根据逻辑交换机的路由管理信息进行路由管理。The method provided by the embodiment of the present invention is described in detail above with reference to FIGS. 1 to 7. FIG. 8 shows a possible structural diagram of a TOR switch involved in the present application. The TOR switch can implement the functions of the TOR switch in the foregoing method embodiments in FIG. 6 and FIG. 7. The terms and implementation details not defined in this embodiment can refer to the method embodiments of FIG. 6 and FIG. 7 above. As shown in FIG. 8, the
本实施例提供的TOR交换机通过收集单元收集机架内交换机路由管理信息,并将机架内所有交换机映射为一个逻辑交换机,进行机架内交换机和逻辑交换机之间的路由管理信息的映射,由控制器针对该逻辑交换机进行路由决策,从而将机架内互相连接的多个交换机映射为一个整体逻辑交换机的方 法展现给控制器,降低了控制器层面的网络拓扑的复杂度和规模,从而加快了控制器计算数据流转发路径的速度,提升了整个系统的通信性能。The TOR switch provided in this embodiment collects routing management information of the switches in the rack through the collecting unit, and maps all the switches in the rack into a logical switch to map the routing management information between the switches in the rack and the logical switches. The controller makes routing decisions for the logical switch to map multiple switches connected to each other in the rack as a whole logical switch. The method is presented to the controller, which reduces the complexity and scale of the network topology at the controller level, thereby speeding up the controller to calculate the data flow forwarding path and improving the communication performance of the entire system.
可选的,TOR交换机40还包括有接收单元44和消息转换单元43,其中,接收单元44,用于接收机架内的第一交换机发送的第一上报消息,这里的第一上报消息为第一交换机向控制器发送的消息;消息转换单元43,用于根据第一交换机和逻辑交换机的映射关系,将第一上报消息中第一交换机的信息转换为逻辑交换机的对应信息,生成第二上报消息;发送单元45,还用于将消息转换单元43生成的第二上报消息发送给控制器。Optionally, the
可选的,在上面任意一种实现中,TOR交换机40中的接收单元44,还用于接收控制器发送的第一下发消息,这里的第一下发消息为控制器向逻辑交换机发送的消息;消息转换单元43,还用于根据机架内交换机和逻辑交换机的映射关系,将第一下发消息中逻辑交换机的信息转换为目的交换机的对应信息,生成第二下发消息,这里的目的交换机是转换后第二下发消息的执行交换机;发送单元45,还用于发送消息转换单元43生成的第二下发消息给目的交换机。Optionally, in any one of the foregoing implementations, the receiving
可选的,TOR交换机40中的消息转换单元43还用于根据机架内交换机和逻辑交换机的映射关系以及机架内交换机间连接的拓扑信息,将第一下发消息中逻辑交换机的信息转换为目的交换机的对应信息,生成第二下发消息。由于控制器给出的第一下发消息由逻辑交换机映射为实际的交换机时,可能需要不止一个交换机配合完成第一下发消息针对逻辑交换机的操作,则需要消息转换单元43根据机架内交换机和逻辑交换机的映射关系以及机架内交换机间连接的拓扑信息,将第一下发消息转换成多条第二下发消息,并由发送单元45将生成的多条第二下发消息分别发送给对应的交换机,以便这些交换机按照第二下发消息的指示,配合完成第一下发消息针对逻辑交换机的操作。Optionally, the
进一步的,TOR交换机40的接收单元44还用于接收机架内的第二交换机发送的第一数据流转发规则请求消息,这里的第一数据流转发规则请求消息用于向控制器请求针对第二交换机收到的新数据流的转发规则。消息转换单元43还用于根据机架内交换机和逻辑交换机的映射关系,将第一数据流转
发规则请求消息中第二交换机的端口转换为逻辑交换机的对应端口,将第一数据流转发规则请求消息中第二交换机中的缓冲区标识转换为对应的逻辑交换机中的缓冲区标识,生成第二数据流转发规则请求消息,并由发送单元45将生成的第二数据流转发规则请求消息发送给控制器。接收单元44还用于接收控制器发送的第一流表处理消息,第一流表处理消息包含逻辑交换机对新数据流的处理规则,这里的第一流表处理消息是控制器收到第二数据流转发规则请求消息后,进行路由计算,得出逻辑交换机针对新数据流的处理方式,发送给逻辑交换机指示对新数据流的处理规则的消息。消息转换单元43还用于根据第一流表处理消息,机架内交换机和逻辑交换机的映射关系以及机架内交换机间连接的拓扑信息,生成第二流表处理消息,并由发送单元45发送第二流表处理消息给第二流表处理消息对应的交换机,以便对应的交换机根据第二流表处理消息处理新数据流。与前面实现方式中类似,根据情况,消息转换单元43也会根据机架内交换机和逻辑交换机的映射关系以及机架内交换机间连接的拓扑信息,将第一流表处理消息转换成多条第二流表处理消息,由发送单元45将生成的多条第二流表处理消息分别发送给对应的交换机,以便这些交换机配合完成新数据的处理。TOR交换机将机架内交换机发送的数据流转发规则请求消息转换成针对逻辑交换机的消息上报给控制器,由控制器针对逻辑交换机进行路由规划并下发流表处理消息,TOR交换机将针对逻辑交换机的流表处理消息转换为针对机架内交换机的消息,因为降低了控制器层面可见的网络拓扑的复杂度和规模,从而在SDN网络中请求转发路由规则的过程中加快了控制器计算数据流转发路径的速度,提升了整个系统的通信性能。Further, the receiving
可选的,TOR交换机40中的收集单元41还用于收集TOR交换机所管理的机架内所有交换机的路由能力信息,这里的路由能力信息包括流表所支持的匹配域、指令、动作的信息。消息映射单元42还用于根据收集单元41收集到的路由能力信息,确定逻辑交换机配置的流表以及路由能力信息。发送单元45还用于将逻辑交换机配置的流表以及路由能力信息发送给控制器,以便控制器根据逻辑交换机的路由管理信息进行路由管理。一般情况下,机柜
内除TOR交换机之外的其他交换机的路由能力信息相同。Optionally, the collecting
图9示意性地示出了本发明实施例另一TOR交换机50。如图9所示,该TOR交换机50包括:处理器51、存储器52、总线53和通信接口54。其中,处理器51和存储器52通过总线53实现彼此之间的通信连接,通信接口54使用例如但不限于收发器一类的收发装置,用于实现TOR交换机50与控制器和TOR交换机所管理的机架内的其他交换机进行通信连接。Fig. 9 schematically shows another TOR switch 50 of an embodiment of the present invention. As shown in FIG. 9, the TOR switch 50 includes a
总线53可包括一个通路,在TOR交换机50各个部件(例如处理器51、存储器52和通信接口54)之间传送信息。总线53可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器51可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。The
存储器52可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器52可以存储操作系统和其他应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明实施例提供的技术方案的程序代码保存在存储器52中,并由处理器51来执行。The
具体地,存储器52可以用于存储计算机执行指令,也可以用于存储各种信息,例如,机架内交换机和逻辑交换机的映射关系以及机架内交换机间连接的拓扑信息等。处理器51可以通过总线系统53读取该存储器52存储的信息,或者将收集的信息存储至存储器52。此外,当该TOR交换机50运行时,处理器51可以读取存储器52存储的计算机执行指令,以执行前面实施例中所描述的方法。Specifically, the
应注意,尽管图9所示的TOR交换机50仅仅示出了处理器51、存储器52、通信接口54以及总线53,但是在具体实现过程中,本领域的技术人员
应当明白,数据,TOR交换机50还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,TOR交换机50还可包含实现其他附加功能的硬件器件。It should be noted that although the TOR switch 50 shown in FIG. 9 only shows the
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。Those skilled in the art will appreciate that the various method steps and elements described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both, in order to clearly illustrate hardware and software. Interchangeability, the steps and composition of the various embodiments have been generally described in terms of function in the foregoing description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. Different methods may be used to implement the described functionality for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working process of the device and the unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the unit/module is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be used. Combinations can be integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用时,可以存储在一个计算机可读取存储介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定义中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。The integrated unit is implemented in the form of a software functional unit and sold as a standalone product Or, in use, it can be transmitted in one or more instructions or code stored on a computer readable storage medium or as a computer readable medium. Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another. A storage medium may be any available media that can be accessed by a computer. By way of example and not limitation, computer readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, disk storage media or other magnetic storage device, or can be used for carrying or storing in the form of an instruction or data structure. The desired program code and any other medium that can be accessed by the computer. Also. Any connection may suitably be a computer readable medium. For example, if the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable , fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, wireless, and microwave are included in the definition of the medium to which they belong. As used in the present invention, a disk and a disc include a compact disc (CD), a laser disc, a compact disc, a digital versatile disc (DVD), a floppy disk, and a Blu-ray disc, wherein the disc is usually magnetically copied, and the disc is The laser is used to optically replicate the data. Combinations of the above should also be included within the scope of the computer readable media. Based on such understanding, the technical solution of the present invention is essential or part of the prior art, or all or part of the technical solution may be stored in a storage medium, including a plurality of instructions for causing a computer device (may be a personal computer, server, or network device, etc.) performing all or part of the steps of the methods described in various embodiments of the present invention.
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。 It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and are not limited thereto; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that The technical solutions described in the foregoing embodiments are modified, or some of the technical features are equivalently replaced; and the modifications or substitutions do not deviate from the technical scope of the embodiments of the present invention.
Claims (15)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201680091421.7A CN110036610B (en) | 2016-12-07 | 2016-12-07 | Method and switch for route management in software defined network |
PCT/CN2016/108900 WO2018103019A1 (en) | 2016-12-07 | 2016-12-07 | Method for managing route in software-defined networking and switch |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/108900 WO2018103019A1 (en) | 2016-12-07 | 2016-12-07 | Method for managing route in software-defined networking and switch |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018103019A1 true WO2018103019A1 (en) | 2018-06-14 |
Family
ID=62490541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2016/108900 WO2018103019A1 (en) | 2016-12-07 | 2016-12-07 | Method for managing route in software-defined networking and switch |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110036610B (en) |
WO (1) | WO2018103019A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10659336B1 (en) | 2018-10-31 | 2020-05-19 | Hewlett Packard Enterprise Development Lp | Server access times |
CN114050946A (en) * | 2021-09-02 | 2022-02-15 | 章予亮 | Network access method for defining logical port by panel port |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115529276B (en) * | 2021-06-24 | 2024-11-29 | 华为技术有限公司 | A data transmission method and related equipment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103430498A (en) * | 2013-02-06 | 2013-12-04 | 华为技术有限公司 | Method and device for network virtualized data transmission, and routing system |
CN103534995B (en) * | 2011-08-19 | 2016-01-13 | 华为技术有限公司 | A kind of interplate communication method of router cluster, router and router cluster |
US20160021032A1 (en) * | 2014-07-21 | 2016-01-21 | Big Switch Networks, Inc. | Systems and methods for performing logical network forwarding using a controller |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468415A (en) * | 2013-09-16 | 2015-03-25 | 中兴通讯股份有限公司 | Method and device for reporting switch type |
WO2016106742A1 (en) * | 2014-12-31 | 2016-07-07 | 华为技术有限公司 | Topologic learning method and device for openflow network over conventional ip network |
CN104967575B (en) * | 2015-06-03 | 2018-10-02 | 清华大学 | Virtual software defines the network switch |
-
2016
- 2016-12-07 CN CN201680091421.7A patent/CN110036610B/en active Active
- 2016-12-07 WO PCT/CN2016/108900 patent/WO2018103019A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103534995B (en) * | 2011-08-19 | 2016-01-13 | 华为技术有限公司 | A kind of interplate communication method of router cluster, router and router cluster |
CN103430498A (en) * | 2013-02-06 | 2013-12-04 | 华为技术有限公司 | Method and device for network virtualized data transmission, and routing system |
US20160021032A1 (en) * | 2014-07-21 | 2016-01-21 | Big Switch Networks, Inc. | Systems and methods for performing logical network forwarding using a controller |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10659336B1 (en) | 2018-10-31 | 2020-05-19 | Hewlett Packard Enterprise Development Lp | Server access times |
CN114050946A (en) * | 2021-09-02 | 2022-02-15 | 章予亮 | Network access method for defining logical port by panel port |
Also Published As
Publication number | Publication date |
---|---|
CN110036610A (en) | 2019-07-19 |
CN110036610B (en) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107465590B (en) | Network infrastructure system, method of routing network traffic and computer readable medium | |
CN109716717B (en) | Managing virtual port channel switch peers from a software-defined network controller | |
US9935851B2 (en) | Technologies for determining sensor placement and topology | |
EP3300316A1 (en) | Deterministic controller-based path query | |
JP6014254B2 (en) | Communication method and system | |
KR101703088B1 (en) | Aggregated routing method based on sdn and system thereof | |
CN106331206B (en) | Domain name management method and device | |
US11233737B2 (en) | Stateless distributed load-balancing | |
US9042270B2 (en) | Method and apparatus of network configuration for storage federation | |
TWI612786B (en) | Node management system, node management method and computer readable storage device | |
US20180109429A1 (en) | Intuitive approach to visualize health of microservice policies | |
CN109547354B (en) | Load balancing method, device, system, core layer switch and storage medium | |
JP2018525937A (en) | Virtual network management | |
EP3967001B1 (en) | Distributed load balancer health management using data center network manager | |
CN106850459A (en) | A kind of method and device for realizing virtual network load balancing | |
US9397952B2 (en) | Segment based switching architecture with hybrid control in SDN | |
CN106130900A (en) | A kind of virtualization network distribution type route implementation method and system | |
CN110036610B (en) | Method and switch for route management in software defined network | |
WO2021098727A1 (en) | Network deployment method and system | |
CN106411553B (en) | Method and device for optimizing service chain path | |
US20180026933A1 (en) | Service aware label address resolution protocol switched path instantiation | |
CN115242597B (en) | Information processing method, apparatus and storage medium | |
CN115225708B (en) | Message forwarding method computer equipment and storage medium | |
US20130230053A1 (en) | System and Method for Facilitating Communication | |
EP3494672B1 (en) | Techniques for interconnection of controller-and protocol-based virtual networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16923300 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16923300 Country of ref document: EP Kind code of ref document: A1 |