WO2015154275A1 - Routing method, apparatus and device in software defined network - Google Patents

Routing method, apparatus and device in software defined network Download PDF

Info

Publication number
WO2015154275A1
WO2015154275A1 PCT/CN2014/075041 CN2014075041W WO2015154275A1 WO 2015154275 A1 WO2015154275 A1 WO 2015154275A1 CN 2014075041 W CN2014075041 W CN 2014075041W WO 2015154275 A1 WO2015154275 A1 WO 2015154275A1
Authority
WO
WIPO (PCT)
Prior art keywords
switch
domain
border
network
destination
Prior art date
Application number
PCT/CN2014/075041
Other languages
French (fr)
Chinese (zh)
Inventor
梁昊驰
洪佩琳
周伟
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201480000518.3A priority Critical patent/CN105264844B/en
Priority to PCT/CN2014/075041 priority patent/WO2015154275A1/en
Publication of WO2015154275A1 publication Critical patent/WO2015154275A1/en

Links

Definitions

  • the present invention relates to communication technologies, and in particular, to a method, apparatus, and device for routing a software-defined network. Background technique
  • OpenFlow has emerged as an open interface and multi-control exchange protocol. OpenFlow transforms traditional physical fixed hardware into a dynamically variable Software Defined Network (SDN) to implement control plane and forwarding. The separation of the faces.
  • the switch using the OpenFlow protocol (that is, the OpenFlow switch) is provided with a flow table (Flow Table), a secure channel (Secure Channel), and an OpenFlow protocol.
  • the switch is connected to an external controller (Controller) through a secure channel through the OpenFlow protocol, and the controller queries and manages the flow table.
  • the flow table of the switch stores the most core information needed to find, forward or statistical data.
  • the flow table includes at least one flow entry, and each flow entry includes a match field, a counter, and an instructions.
  • the switch determines whether the data stream matches the flow entry in the flow table of the switch; if it matches, the switch executes the instruction (or action) in the flow entry. If there is no matching flow entry in the flow table of all switches in the SDN network, the data packet will be discarded or forwarded to the controller for processing; if the command in the matching flow entry indicates that the packet is not After jumping to the next flow table, the matching ends.
  • the switch performs the action set corresponding to the matched flow entry, such as forwarding the data packet to the specified output port, dropping the packet, modifying the packet header, and forwarding to the group. Group table, etc.
  • the controller is responsible for managing the behavior of the entire SDN network and completing the routing of data flows in the network. As shown in Figure 1, the controller maintains the topology information of the entire network. When a new data stream arrives in the network, it calculates the optimal routing path for the entire network and adds the corresponding flow entry to the routing path. Flow table of all switches (added on each switch) The matching entry of the flow entry is the same, but the action is different. The routing of the data flow is completed.
  • the present invention provides a method, an apparatus, and a device for routing a software-defined network, which are used to solve the problem of the expansion of the SDN network in the prior art, the number of switches in the network, and the inflow of data flows. The problem of the increase in the number of interactive information and the poor network scalability.
  • the present invention provides a routing device of a software-defined network, where the software-defined network SDN includes at least two domain networks, each domain network includes at least one first switch and at least one border switch, and the border switch uses a first domain network where the border switch is connected and a second domain network where the border switch is located; a data flow is routed from the first domain network to the second domain network by the border switch; Equipment includes:
  • a processor configured to obtain a source domain network and a destination domain network of the first data stream sent by the source switch; where the source switch is the first switch, and the source switch is located in the source domain network; And determining, by the source network, the first data route to the inter-domain optimal routing path in the destination domain network, where the inter-domain optimal routing path includes at least one border switch; And sending, by the source switch, the first flow entry to the border switch on the source switch and the inter-domain optimal routing path, so that the source switch according to the first flow entry and The preset static flow entry routes the first data flow to the first border switch of the source domain network, and causes the first border switch to be based on the first flow entry and the static flow entry
  • the first data stream is routed to the destination domain network; wherein the first border switch is the first border switch on the inter-domain optimal routing path.
  • the processor is further configured to perform an optimal between the source switch and the domain according to the inter-domain optimal routing path And obtaining, by the border switch on the routing path, the intra-domain optimal path of the border switch in any one of the domain networks to the border switch in the domain network, where the optimal path in the domain is the domain The shortest path from each switch in the network to the border switch in the domain network;
  • the transmitter is further configured to send the static flow entry to each switch in the domain network according to the optimal path in the domain, so that each switch in the domain network receives the destination IP address as When the data stream of the ID of any border switch in the domain network is used, the data stream is routed to the corresponding border switch in the domain network according to the static flow entry.
  • the first flow entry is a second flow entry, a third flow entry, and a fourth flow table
  • the transmitter is configured to send the second flow entry to the source switch, where the second flow entry is used to indicate that the source switch generates the first a second data stream, and the source switch is configured to route the second data stream to the first border switch according to the static flow entry; the second data stream is the destination IP address is the first The first data stream of the ID of the border switch.
  • the processor is further configured to determine whether the second border switch is the inter-domain optimal routing path And obtaining, by the last border switch, the result of the judgment; wherein, the second border switch is any border switch on the inter-domain optimal routing path that receives the third data stream, and the third data stream is used as a destination
  • the IP address is the first data stream of the ID of any border switch on the inter-domain optimal path; and determining, according to the determination result, that the sender sends the first to the second border switch The third flow entry or the fourth flow entry.
  • the processor is configured to: if the determining result is yes, instructing the transmitter to The second border switch delivers the third flow entry, where the third flow entry is used to instruct the second border switch to perform a first change operation; the first change operation includes: Changing the destination IP address of the third data stream to the IP address of the destination terminal of the first data stream in the destination domain network; if the determination result is no, instructing the sender to the second The border switch delivers the fourth flow entry, where the fourth flow entry is used to instruct the second border switch to perform a second change operation according to the fourth flow entry and the static flow entry.
  • the second change operation includes: Changing an IP address to an ID of a next hop border switch of the second border switch on the inter-domain optimal routing path to route the third data stream to the next hop border switch, and
  • the next hop boundary switch acts as a new second border switch.
  • the routing device further includes: a receiver, configured to receive a new flow request message sent by the source switch according to the cached first data stream;
  • the processor is specifically configured to acquire, according to the new flow request message received by the receiver, a source IP address of the first data stream and a destination IP address of the first data stream; The source IP address of the first data stream and the destination IP address of the first data stream determine the source domain network and the destination domain network of the first data stream.
  • the processor is specifically configured to generate a network-wide routing topology map, and according to the network-wide routing topology Determining, by the source network, the first data flow route to the inter-domain optimal routing path in the destination domain network, where the network-wide routing topology map includes: each of the SDN networks The routing cost of the optimal path when the border switch and the first data stream are transmitted between the various border switches in the SDN network.
  • the processor is further configured to send, by the sender, the second border switch After the third flow entry, determining an optimal path of the second border switch to the destination switch in the destination domain network; and instructing the sender to send the second border switch to the destination domain All the switches on the optimal path of the destination switch in the network deliver the fifth flow entry, so that the second border switch routes the first data flow to the first data flow in the shortest path. Destination terminal.
  • the present invention provides a routing device for a software-defined network, where the software-defined network SDN includes at least two domain networks, each of the domain networks includes at least one first switch and at least one border switch, and the border switch uses a first domain network where the border switch is connected and a second domain network where the border switch is located; a data flow is routed from the first domain network to the second domain network by the border switch;
  • the device includes:
  • a first acquiring module configured to obtain a source domain network and a destination domain network of the first data stream sent by the source switch, where the source switch is the first switch, and the source switch is located in the source domain
  • the internet
  • a first determining module configured to determine that the first data flow is routed to the inter-domain optimal routing path in the destination domain network by using the source domain network, where the inter-domain optimal routing path includes at least one edge Boundary switch
  • a first sending module configured to send a first flow entry to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path, so that the source switch is configured according to the source switch
  • the first flow entry and the preset static flow entry are used to route the first data flow to the first border switch of the source domain network, and the first border switch is configured according to the first flow entry and The static flow entry routes the first data flow to the destination domain network; wherein the first border switch is the first border switch on the inter-domain optimal routing path.
  • the routing device further includes:
  • a second obtaining module configured to: before the first sending module sends the first flow entry to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path, Obtaining an intra-domain optimal path of each switch in the domain network to a border switch in the domain network; wherein the optimal path in the domain is a switch of each switch in the domain network to a border switch in the domain network Shortest path
  • a second sending module configured to send the static flow entry to each switch in the domain network according to the optimal path in the domain, so that each switch in the domain network receives the destination IP address as the domain network.
  • the data stream of the ID of any of the border switches is used, the data stream is routed to the corresponding border switch in the domain network according to the static flow entry.
  • the first flow entry is a second flow entry, a third flow entry, and a fourth flow table One of the items;
  • the first sending module comprising:
  • a first sending unit configured to send the second flow entry to the source switch, where the second flow entry is used to instruct the source switch to generate a second data flow, and indicate the The source switch routes the second data stream to the first border switch according to the static flow entry; the second data stream is the destination IP address being the ID of the first border switch.
  • a data stream configured to send the second flow entry to the source switch, where the second flow entry is used to instruct the source switch to generate a second data flow, and indicate the The source switch routes the second data stream to the first border switch according to the static flow entry; the second data stream is the destination IP address being the ID of the first border switch.
  • the first sending module further includes:
  • a judging unit configured to determine whether the second border switch is the last border switch on the inter-domain optimal routing path, and obtain a judgment result; where the second border switch is received Any boundary switch on the inter-domain optimal routing path of the third data stream, where the third data stream is the destination IP address being the ID of any border switch on the inter-domain optimal path a data stream;
  • a second sending unit configured to send, according to the determining result, the third flow entry or the fourth flow entry to the second border switch.
  • the second sending unit is specifically configured to: if the determining result is yes, The second boundary switch delivers the third flow entry, where the third flow entry is used to instruct the second border switch to perform a first change operation; the first change operation includes: The destination IP address of the data stream is changed to the IP address of the destination terminal of the first data stream in the destination network; if the determination result is no, the fourth border is sent to the second border switch. a flow entry; the fourth flow entry is used to instruct the second border switch to perform a second change operation according to the fourth flow entry and the static flow entry, until the determining unit determines The second border switch is the last border switch on the inter-domain optimal routing path.
  • the second change operation includes: changing the destination IP address of the third data stream to the second Determining, by the border switch, an ID of a next hop border switch on the inter-domain optimal routing path to route the third data stream to the next hop border switch, and using the next hop border switch as New second border switch.
  • the first acquiring module includes:
  • a receiving unit configured to receive a new flow request message sent by the source switch according to the cached first data stream
  • An obtaining unit configured to acquire, according to the new flow request message, a source IP address of the first data stream and a destination IP address of the first data stream;
  • a first determining unit configured to determine the source domain network and the destination domain network of the first data stream according to a source IP address of the first data stream and a destination IP address of the first data stream.
  • the first determining module includes:
  • a generating unit configured to generate a network topology topology diagram
  • a second determining unit configured to determine, according to the network-wide routing topology, the first data flow path
  • the source network is routed to the inter-domain optimal routing path in the destination network; wherein the network-wide routing topology includes: each border switch in the SDN network and the first data stream in The routing cost of the optimal path when transmitting between the various border switches in the SDN network.
  • the routing device further includes:
  • a second determining module configured to determine, after the second sending unit sends the third flow entry to the second border switch, the destination of the second border switch to the destination domain network The optimal path of the switch;
  • a third sending module configured to send, to the second border switch, all the switches on the optimal path of the destination switch in the destination domain network to send a fifth flow entry, so that the second border switch
  • the first data stream is routed to the destination terminal of the first data stream in a shortest path.
  • the present invention provides a method for routing a software-defined network, where the software-defined network SDN includes at least two domain networks, each of the domain networks includes at least one first switch and at least one border switch, and the border switch uses a first domain network where the border switch is connected and a second domain network where the border switch is located; a data flow is routed from the first domain network to the second domain network by the border switch;
  • Methods include:
  • the controller obtains the source domain network and the destination domain network of the first data stream sent by the source switch, where the source switch is the first switch, and the source switch is located in the source domain network; Determining that the first data flow is routed to the inter-domain optimal routing path in the destination domain network by the source domain network, where the inter-domain optimal routing path includes at least one border switch; The inter-domain optimal routing path sends a first flow entry to the source switch and the border switch on the optimal routing path of the inter-domain, so that the source switch according to the first flow entry and the pre-flow
  • the static flow entry is configured to route the first data flow to the first border switch of the source domain network, and the first border switch is configured according to the first flow entry and the static flow entry.
  • the first data stream is routed to the destination domain network; wherein the first border switch is the first border switch on the inter-domain optimal routing path.
  • the controller according to the inter-domain optimal routing path, is bound to an optimal routing path between the source switch and the inter-domain Before the switch delivers the first flow entry, it also includes:
  • the controller acquires a boundary of each switch in any of the domain networks to the domain network
  • the optimal path in the domain of the switch wherein the optimal path in the domain is the shortest path of each switch in the domain network to the border switch in the domain network;
  • the controller sends the static flow entry to each switch in the domain network according to the optimal path in the domain, so that each switch in the domain network receives the destination IP address as the domain network.
  • the data stream of the ID of the border switch is used, the data stream is routed to the corresponding border switch in the domain network according to the static flow entry.
  • the first flow entry is a second flow entry, a third flow entry, and a fourth flow table
  • the controller sends the first flow entry to the source switch according to the optimal routing path between the domains, specifically:
  • the controller sends the second flow entry to the source switch; where the second flow entry is used to instruct the source switch to generate a second data flow, and indicates the source switch Routing the second data stream to the first border switch according to the static flow entry; the second data stream is the first data stream whose destination IP address is an ID of the first border switch .
  • the controller according to the inter-domain optimal routing path, to the inter-domain optimal routing path
  • the border switch delivers the first flow entry, including:
  • the controller Determining, by the controller, whether the second border switch is the last border switch on the inter-domain optimal routing path, and obtaining a determination result; wherein the second border switch is the inter-domain that receives the third data stream Any of the border switches on the optimal routing path, where the third data stream is the first data stream whose destination IP address is the ID of any border switch on the inter-domain optimal path;
  • the determining result determines that the third flow entry or the fourth flow entry is delivered to the second border switch.
  • the controller according to the determining result, determining, to send the third to the second border switch
  • the flow entry or the fourth flow entry includes:
  • the controller sends the third flow entry to the second border switch, where the third flow entry is used to instruct the second border switch to perform the first a change operation;
  • the first change operation includes: changing a destination IP address of the third data stream to an IP address of a destination terminal of the first data stream in the destination domain network;
  • the controller sends the fourth flow entry to the second border switch; where the fourth flow entry is used to indicate that the second border switch is The fourth flow entry and the static flow entry perform a second change operation until the controller determines that the second boundary switch is the last boundary switch on the inter-domain optimal routing path;
  • the second changing operation includes: changing a destination IP address of the third data stream to an ID of a next hop border switch of the second border switch on the inter-domain optimal routing path, to The third data stream is routed to the next hop border switch, and the next hop border switch is used as a new second border switch.
  • the controller acquires the first data stream sent by the source switch Source and destination domain networks, including:
  • the controller receives a new flow request message sent by the source switch according to the cached first data stream
  • the controller acquires a source IP address of the first data stream and a destination IP address of the first data stream according to the new flow request message;
  • the controller determines the source domain network and the destination domain network of the first data stream according to a source IP address of the first data stream and a destination IP address of the first data stream.
  • the controller determines that the first data stream is routed to the destination domain by using the source domain network
  • the optimal inter-domain routing path in the network including:
  • the controller generates a network topology topology diagram
  • the topology map includes a routing cost of an optimal path when each border switch in the SDN network and the first data stream are transmitted between respective border switches in the SDN network.
  • the routing method further includes:
  • the controller Determining, by the controller, an optimal path of the second border switch to the destination switch in the destination domain network; The controller sends a fifth flow entry to all switches on the optimal path of the destination switch in the destination domain network, so that the second border switch will The first data stream is routed to the destination terminal of the first data stream in a shortest path.
  • the method, device, and device for routing a software-defined network provided by the embodiment of the present invention, the source domain network and the destination domain network of the first data stream sent by the source switch are obtained by the processor, and the first data stream is determined to be routed through the source domain network.
  • the inter-domain optimal routing path to the destination network instructing the sender to deliver the first flow entry to the source switch and the border switch on the optimal routing path between the domains according to the optimal routing path between the domains, so that the source switch Routing the first data flow to the first border switch of the source domain network according to the first flow entry and the preset static flow entry, and causing the first boundary switch to use the first data flow according to the first flow entry and the static flow entry Routed to the destination domain network.
  • the routing device presets a static flow entry on all switches in the SDN network, so that when multiple data flows flow into the SDN network, the transmitter only needs to be optimally connected to the source switch and the domain.
  • the border switch on the routing path delivers the first flow entry, that is, only the routing device exchanges information with the source switch and the border switch on the optimal routing path between the interfaces, which reduces the number of interactions between the routing device and the switch.
  • the routing performance of the SDN network DRAWINGS
  • FIG. 1 is a schematic diagram of routing of a conventional SDN network provided by the present invention
  • FIG. 2 is a schematic structural diagram of Embodiment 1 of a routing device of a software-defined network according to the present invention
  • FIG. 3 is a schematic diagram of an SDN network architecture provided by the present invention
  • FIG. 4 is a schematic structural diagram of a domain network provided by the present invention.
  • FIG. 5 is a schematic structural diagram of Embodiment 2 of a routing device of a software-defined network according to the present invention
  • FIG. 6 is a schematic diagram of a network-wide routing topology provided by the present invention
  • FIG. 7 is a schematic structural diagram of Embodiment 1 of a software-defined network routing apparatus according to the present invention
  • FIG. 8 is a schematic structural diagram of Embodiment 2 of a software-defined network routing apparatus according to the present invention
  • FIG. 9 is a schematic structural diagram of Embodiment 3 of a software-defined network routing apparatus according to the present invention
  • FIG. 10 is a schematic structural diagram of Embodiment 4 of a software-defined network routing apparatus according to the present invention
  • FIG. 9 is a software-defined network provided by the present invention.
  • FIG. 12 is a schematic flowchart of Embodiment 2 of a software-defined network routing method provided by the present invention.
  • Embodiment 3 is a schematic flowchart of Embodiment 3 of a software-defined network routing method provided by the present invention.
  • the technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention.
  • the embodiments are a part of the embodiments of the invention, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
  • FIG. 2 is a schematic structural diagram of Embodiment 1 of a routing device of a software-defined network according to the present invention.
  • the routing device 10 can be a controller in an SDN network and can also be integrated into a hardware device in the controller.
  • the controller is an external controller (Controller) connected to the OpenFlow switch through the OpenFlow protocol and secure channel.
  • the SDN network may include at least two domain networks, each of the domain networks includes at least one first switch and at least one border switch, where the border switch is used to connect the first domain network where the border switch is located and the border switch a second domain network; a data stream is routed from the first domain network to the second domain network through the border switch.
  • the SDN network can be seen in the example shown in Figure 3 ( Figure 3 is only schematic).
  • the SDN network is divided into four domain networks, namely domain network 1 (referred to as domain 1), domain 2, domain 3, and domain 4).
  • domain 1 includes two border switches SW1 and SW2, SW1 is a border switch connecting domain 1 and domain 2, and SW2 is a border switch connecting domain 1 and domain 3.
  • domain 1 can be the first domain network where SW1 is located
  • domain 2 can be the second domain network where SW1 is located
  • domain 1 is the first domain network where SW2 is located
  • domain 3 is the second domain network where SW2 is located.
  • the routing device 10 includes: a processor 11 and a transmitter 12.
  • the processor 11 is configured to obtain a source domain network and a destination domain network of the first data stream sent by the source switch, where the source switch is the first switch, and the source switch is located at the source Domain network And determining, by the source network, the first data flow route to the inter-domain optimal routing path in the destination domain network, where the inter-domain optimal routing path includes at least one border switch;
  • the first flow entry is sent to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path, so that the source switch according to the first flow entry And the preset static flow entry to route the first data flow to the first border switch of the source domain network, and the first border switch according to the first flow entry and the static flow entry Routing the first data stream to the destination domain network; wherein the first border switch is the first border switch on the inter-domain optimal routing path.
  • the foregoing SDN network is similar to the traditional interconnection network in that the domain is divided according to the IP address, that is, the network nodes with the same IP address prefix (ie, communication terminals) are divided into one domain, that is, connected to the terminals.
  • the switch is divided into a domain, and the IP address prefix can be used as the identity of the domain (Identify, hereinafter referred to as ID).
  • ID the identity of the domain
  • the border switch may not be connected to the communication terminal, and they only forward the data packet.
  • a certain data stream needs to flow from the transmitting terminal to the destination terminal; wherein, the connection with the sending terminal is a source switch (Source, SRC for short), and the destination terminal is connected with a destination switch (Destination, DST for short).
  • At least one first switch and at least one border switch are connected between the source switch and the destination switch, and the switches are divided into different domains.
  • the source switch also belongs to the first switch, and the source switch is located in the source domain network. Assume that the source switch is in domain 1, and the destination switch is in domain 4. That is, domain 1 is the source domain network and domain 4 is the destination domain network.
  • the source switch receives the first data stream sent by the sending terminal, where the source IP address of the first data stream is an IP address of the sending terminal, and the destination IP address of the first data stream is an IP address of the destination terminal.
  • the source switch sends the received first data stream to the processor 11, so that the processor 11 learns the source domain network and the destination domain network of the first data stream according to the first data stream.
  • the processor 11 can learn the source domain network and the destination domain network of the first data stream by parsing the first data stream.
  • the processor 11 instructs the transmitter 12 to send a static flow entry to all the first switches and the border switches in each domain network, and sends the static flow entry to the first switch and the border switch.
  • Static of each switch The state flow entries may be different, but the role of each static flow entry is to indicate that all switches (first switch or border switch) in a domain will receive the destination IP address as any border switch in the domain.
  • the data stream of the ID is routed to a border switch on the domain network so that the data stream can flow through the border switch to the next domain network. As to which boundary switch the data stream will route to the domain network, it is determined by the ID of the border switch corresponding to the IP address of the data stream.
  • the processor 11 determines, according to some routing algorithms of the first data flow, the first data flow route to the inter-domain optimal routing path in the destination domain network.
  • the inter-domain optimal routing path includes at least one border switch. Taking FIG. 3 as an example, the optimal path of the first data stream flowing from the domain 1 into the domain 4 is determined, and the processor 11 respectively calculates the border switches SW1, SW2 and the destination domain network (domain 4) of the source domain network (domain 1). The route between the border switches SW4 and SW5 is obtained.
  • the SW2->SW5 is the optimal routing path between the domains, that is, the optimal path of the first data flow from the domain 1 to the domain 4 is the path of SW2->SW5. Two boundary switches are included in the optimal routing path between the domains.
  • the processor 11 instructs the transmitter 12 to deliver the first flow entry to the source switch and all the border switches on the optimal routing path according to the inter-domain optimal routing path.
  • the source switch receives the first flow entry sent by the sender 12
  • the first data stream on the source switch is routed to the source network through the shortest path in combination with the static flow entry sent by the sender 12
  • the first border switch is the first border switch on the inter-domain optimal routing path (the first flow entry may enable the source switch to know where to route the first data flow to the source domain network)
  • the static flow entry is used to enable the source switch to route the first data stream to the border switch in the shortest path.
  • the first border switch After the first boundary switch receives the static flow entry and the first flow entry sent by the sender 12, the first border switch directly or indirectly learns according to the first flow entry sent by the transmitter 12 to the first border switch.
  • the first data stream (when the destination IP address of the first data stream has changed, but the data in the first data stream has not changed, which may still be referred to as the first data stream) is routed to the destination domain.
  • Which boundary switch in the network, and according to the static flow entry sent by the sender 12 to the first border switch routes the first data stream to the border switch in the shortest path, so that the first border switch will be the first
  • the data stream is routed directly or indirectly to the destination domain network. For example, referring to FIG.
  • the source switch routes the first data stream to the SW2 of the domain 1 by using the shortest path according to the static flow entry and the first flow entry delivered by the transmitter 12, and the SW2 is optimal between the domains.
  • the first border switch on the routing path is the first border switch on the optimal routing path of the inter-domain; the SW2 can be the first data according to the static flow entry and the first flow entry sent by the sender 12 to the SW2.
  • the flow is routed to the border switch SW5 of domain 4 in the shortest path, that is, the first data stream is directly routed to the destination domain network (SW5 itself belongs to the destination domain network).
  • the processor 11 further calculates an optimal path from the SW5 to the destination switch, and instructs the sender 12 to send the flow entry corresponding to the optimal path to the SW5 according to the calculated optimal path, so that the SW5 can The first data stream is routed to the destination switch.
  • the SW2 may also indirectly route the first data stream to the destination domain network domain 4. That is, SW2 can route the first data stream to the destination domain network domain 4 through the shortest path through SW3.
  • the source switch routes the first data stream to the SW2 of the domain 1 by using the shortest path according to the static flow entry and the first flow entry sent by the transmitter 12, where the SW2 is on the optimal routing path between the domains.
  • the first border switch is the first border switch on the optimal routing path between the domains; the SW2 can use the static flow entry and the first flow entry sent by the sender 12 to the SW2 to the shortest path.
  • the SW3 can route the first data stream to the SW5 in the shortest path according to the static flow entry and the first flow entry sent by the transmitter 12 to the SW3, that is, the SW2 indirectly routes the first data flow indirectly.
  • the processor 11 further calculates an optimal path of the SW5 to the destination switch, and instructs the transmitter 12 to send the flow entry corresponding to the optimal path to the SW5 according to the calculated optimal path, so that the SW5 can be Route the first data stream to the destination switch.
  • the destination switch in Figure 3 is located in domain 3. That is, domain 3 is the destination domain network, domain 1 is still the source domain network, and SW2 is the connection source domain network and destination domain.
  • the border switch of the network is the first border switch on the optimal routing path between domains and the last border switch on the optimal routing path between domains.
  • the source switch can still learn to route the first data stream to SW2 according to the first flow entry sent by the sender 12, and route the first data stream to the SW2 by using the shortest path according to the static flow entry on the source switch.
  • the SW2 is sent to the first flow entry and the static flow entry of the SW2 by the sender 12 to learn that the domain in which the domain is located is the destination domain network, that is, the first data flow has been routed to the destination domain network.
  • the processor 11 further calculates an optimal path from the SW2 to the destination switch, and indicates according to the calculated optimal path.
  • the sender 12 delivers the flow entry corresponding to the optimal path to the SW2, so that the SW2 can route the first data flow to the destination switch.
  • the routing device 10 needs to send a flow entry to all the switches in the path where the data stream is located.
  • the size of the SDN network is expanded, the number of switches and the inflow in the network.
  • the interaction between the routing device 10 and the switch becomes very frequent, thereby affecting the routing performance under the large-scale SDN network.
  • the static flow entry is pre-configured on all the switches on the SDN network, and the static flow entry is used for any
  • the data flow on the switch is routed to the border switch of the domain network where the switch is located (and the routing device 10 sends the static flow entry to the switch on the SDN network to send the static flow entry only once). Therefore, the routing device 10 provided by the embodiment of the present invention is Each time a data stream arrives at the switch, the first flow entry can be sent to the destination switch in the source switch and the border switch on the optimal routing path of the inter-domain. Each switch on the optimal routing path in the interzone sends a flow entry, so that the interaction information between the routing device 10 and the switch is reduced, and the routing performance of the SDN network is improved.
  • the routing device of the software-defined network acquires the source domain network and the destination domain network of the first data stream sent by the source switch by using the processor, and determines that the first data stream is routed to the destination domain network through the source domain network.
  • the inter-domain optimal routing path instructing the sender to deliver the first flow entry to the source switch and the border switch on the optimal routing path between the inter-domains according to the optimal routing path between the inter-domains, so that the source switch according to the first flow table
  • the preset static flow entry routes the first data flow to the first border switch of the source domain network, and causes the first border switch to route the first data flow to the destination domain according to the first flow entry and the static flow entry.
  • the routing device presets a static flow entry on all switches in the SDN network, so that when multiple data flows flow into the SDN network, the transmitter only needs to be optimally connected to the source switch and the domain.
  • the border switch on the routing path delivers the first flow entry, that is, only the routing device exchanges information with the source switch and the border switch on the optimal routing path between the interfaces, which reduces the number of interactions between the routing device and the switch.
  • the routing performance of the SDN network On the basis of the foregoing embodiment shown in FIG. 2, as a possible implementation manner of the embodiment of the present invention, the embodiment relates to the processor 11 indicating all the transmitters 12 to the SDN network. The process of sending static flow entries to the switch.
  • the processor 11 is further configured to acquire the first flow entry before the first flow entry is sent to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path.
  • the data flow is routed to the corresponding border switch in the domain network according to the static flow entry.
  • the routing device 10 provided by the embodiment of the present invention has a pre-routed before the first flow entry is sent to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path.
  • processor 11 utilizes some routing algorithms, such as
  • the Floyd-War shall algorithm obtains the intra-domain optimal path of each switch in any domain network (including the first switch and the border switch in the domain network) to all the border switches in the domain network. See Figure 4 (the domain 1 shown in Figure 4 is the same as the domain 1 shown in Figure 3).
  • the normal SDN switch S3 that is, the first switch can be regarded as the source switch
  • the optimal path is S3->SW2
  • the optimal path of the border switches SW1 to SW2 is SW1->S2->SW2.
  • the sender 12 sends a corresponding static flow entry to each switch in the domain network according to the optimal path in the domain obtained by the processor 11.
  • the destination IP address in the static flow entry is one of the domain networks.
  • the ID of the border switch, the other fields of the static flow entry are set to be wildcarded, and the optimal path of any border switch in the network also determines the output port of the static flow entry action (see Figure 4 for the output port).
  • the IDs of the border switches SW1 and SW2 in the domain 1 are 192.168.6.1 and 192.168.6.2.
  • the transmitter 12 sends two static flow entries to the S3 in accordance with the optimal path in the domain, and sends a static flow entry to the border switch SW1.
  • S3 receives the data stream whose destination IP address is 192.168.6.2 (that is, the ID of SW2)
  • S3 matches the data stream according to the static flow entry on S3, so that the data stream can be the shortest path.
  • the data stream here is different from the first data stream in the first embodiment in that the destination IP address of the first data stream in the first embodiment is the IP address of the destination terminal, and the destination IP address of the data stream is the ID of the SW2. , if the data stream here and the data information carried in the first data stream The same, this data stream can also be called the first data stream.
  • the action in the static flow entry on each switch may be different (that is, the port of the output data stream is different), and the destination IP address may be different.
  • the pre-routing process of the processor 11 to the SDN network is performed on a domain-by-domain basis, that is, the processor 11 pre-routes each domain network of the SDN network, that is, the processor 11 determines each of the domains in each domain network.
  • the optimal path in the domain of the switch to the border switch in the domain network so that the sender 12 delivers the corresponding static flow entry to all the switches in the domain network. That is to say, the final sender 12 sends a static flow entry to all the switches in the SDN network, and the static flow entry is sent only once.
  • the purpose of the pre-routing process by the processor 11 is that, when the boundary switch or the first switch receives the data stream whose destination IP address is the ID of any border switch in the domain, the transmitter 12 exists in advance. A static flow entry that matches the data flow can be matched, so that the received data flow can be directly routed to the border switch in the domain by the shortest path without requesting the routing device 10.
  • the routing device of the software-defined network acquires the optimal path in the domain of the switch in any domain network to the border switch in the domain network, so that the transmitter can according to the optimal path in the domain.
  • Each switch in the domain network sends a static flow entry, so that each switch in the domain network receives the data flow of the ID of any border switch in the domain network according to the static flow table.
  • the item routes the data stream as an optimal path to the border switch in the domain network.
  • the routing device provided by the embodiment of the present invention presets a static flow entry on all switches in the SDN network, so that when multiple data flows flow into the SDN network, the transmitter only needs to be optimally connected to the source switch and the domain.
  • the border switch on the routing path delivers the first flow entry, that is, only the routing device exchanges information with the source switch and the border switch on the optimal routing path between the domains, which reduces the number of interactions between the routing device switches. Routing performance of the SDN network.
  • the embodiment relates to the entire specific process of the routing device 10 routing the first data flow to the destination switch in the destination domain network.
  • the first flow entry is one of the second flow entry, the third flow entry, and the fourth flow entry; the transmitter 12 is specifically configured to send the second flow to the source switch.
  • the second flow entry is used to indicate that the source switch generates the second number.
  • the source switch is configured to route the second data stream to the first border switch according to the static flow entry.
  • the second data stream is the first data stream whose destination IP address is the ID of the first border switch.
  • the processor 11 is further configured to determine whether the second border switch is the last border switch on the inter-domain optimal routing path, and obtain a determination result; wherein the second border switch is an inter-domain that receives the third data stream. Any boundary switch on the optimal routing path, where the third data stream is a first data stream whose destination IP address is an ID of any border switch on the inter-domain optimal path; and determining the indicator transmitter according to the determination result
  • the third flow entry or the fourth flow entry is delivered to the second border switch.
  • the processor 11 is configured to: if the determination result is yes, instruct the transmitter 12 to send a third flow entry to the second border switch; wherein the third flow entry is used to indicate the foregoing
  • the second border switch performs a first change operation; the first change operation includes: changing a destination IP address of the third data stream to an IP address of a destination terminal of the first data stream in the destination domain network, to be the third The data flow is routed to the destination network; if the result of the determination is no, the sender 12 is instructed to send a fourth flow entry to the second border switch; wherein the fourth flow entry is used to indicate the second border switch Performing a second change operation according to the fourth flow entry and the static flow entry until the processor 11 determines that the second boundary switch is the last boundary switch on the inter-domain optimal routing path; wherein the second change operation is performed
  • the method includes: changing a destination IP address of the third data stream to a next-hop boundary switch of the second border switch on the optimal routing path between the domains
  • the processor 11 divides all switches (including the first switch and the border switch) in the SDN network into different domain networks, and then the processor 11 pre-routes the switches in each domain network. That is, the processor 11 obtains the optimal intra-domain path of all the switches in any domain network to all the border switches in the domain network according to the routing algorithm, so that the transmitter 12 can all the paths in the domain network according to the optimal path in the domain.
  • the switch delivers static flow entries.
  • the processor 11 learns the source domain network to which the first data stream belongs according to the first data stream. And the destination domain network, and determining an optimal routing path between the domains, where the optimal routing path between the domains includes all the border switches that the first data flow flows from the source domain network to the destination domain network.
  • the source switch can modify the destination IP address of the received first data flow to the first border switch according to the second flow entry. ID, thereby generating a second data stream, but the data carried in the second data stream is the same as the data carried in the first data stream.
  • the second data stream is the destination IP address being the ID of the first border switch.
  • the destination IP address of the second data stream is the ID of the first border switch, and the static switch entry sent by the sender 12 to the source switch is present on the source switch.
  • the destination IP address of the static flow entry on the source switch is the ID of any border switch in the source domain network. Therefore, the source switch can route the second data flow to the first in the source domain network by using the shortest path.
  • the first border switch is the first border switch on the optimal routing path between the domains.
  • the processor 11 determines whether the second border switch is the last border switch on the optimal routing path between the domains, and obtains a judgment result; wherein the second border switch is the inter-domain most received the third data stream. Any boundary switch on the routing path, where the third data stream is the first data stream whose destination IP address is the ID of any border switch on the inter-domain optimal path, that is, the second data stream also belongs to The third data stream (the destination IP address of the second data stream is the ID of the first border switch), and correspondingly, the first border switch also belongs to the second border switch. That is, after the transmitter 12 sends the second flow entry to the source switch, so that the source switch routes the second data flow to the first border switch, the processor 11 also determines whether the first border switch is inter-domain.
  • the last boundary switch on the optimal routing path obtains the judgment result (because there may be only one border switch on the optimal routing path between domains during actual transmission, the border switch is both the first boundary switch and the last one. Border switch).
  • the second border switch may be the first border switch (the first border switch) on the optimal routing path between the domains, or the last border switch on the optimal routing path between the domains, or may be A border switch between the first border switch and the last border switch on the optimal routing path between domains.
  • the processor 11 instructs the transmitter 12 to The second border switch delivers the third flow entry, so that the second border switch changes the destination IP address of the received third data flow to the IP address of the destination terminal in the destination domain network, that is, converts the third data stream to the initial First data stream, thus making the second The border switch routes the first data stream to the destination domain network.
  • the processor 11 instructs the transmitter 12 to deliver the fourth flow entry to the second border switch; After receiving the fourth flow entry, changing the destination IP address of the third data flow received by the second boundary switch to the ID of the next hop boundary switch of the second boundary switch on the optimal routing path between the domains, and according to the The existing static flow entry routes the third data flow to the next hop boundary switch and the next hop boundary switch as the new second boundary switch. Afterwards, the processor U continues to determine whether the new second border switch is the last border switch on the inter-domain optimal routing path, and instructs the transmitter 12 to send the third to the new second border switch according to the judgment result.
  • the flow entry is also the fourth flow entry until the processor 11 determines that the new second boundary switch is the last boundary switch on the inter-domain optimal routing path.
  • the first border switch may directly route the first data stream to the destination domain network, and may also pass the second border switch. (At this time, the second border switch is not the first boundary on the optimal routing path between the domains. Switch) Routes the first data stream to the destination domain network.
  • the processor 11 routes the first data stream to the second border switch (or the first border switch) after the transmitter 12 sends the third flow entry to the second border switch.
  • the processor 11 also determines the optimal path of the destination switch in the second border switch to the destination domain network, and instructs the transmitter 12 to all switches on the optimal path (including the first switch and destination).
  • the switch delivers the fifth flow entry, so that the second border switch routes the first data flow to the destination terminal of the first data flow in the shortest path, and completes the cross-domain routing of the first data flow.
  • the processor 11 obtains SW2->SW5 as an inter-domain by calculating a route between the border switches SW1 and SW2 of the source domain network (domain 1) and the border switches SW4 and SW5 of the destination domain network (domain 4).
  • the optimal routing path that is, the optimal path of the first data flow from domain 1 to domain 4 is the path of SW2->SW5, and the optimal routing path between the domains includes two border switches.
  • the first data stream flows into the source switch, and the processor 11 sends a second flow entry to the source switch, where the second flow entry indicates that the source switch modifies the destination IP address of the first data flow to the first boundary.
  • ID of switch SW2 SW2 is the first boundary on the optimal routing path between domains
  • the switch the first data stream becomes the second data stream at this time, and the source end switch routes the second data stream to the SW2 according to the static flow entry sent by the sender 12 to the source switch.
  • the processor 11 determines whether the SW2 is the last border switch on the optimal routing path between the domains. At this time, according to FIG.
  • the processor 11 determines that the SW2 is not the last border switch on the optimal routing path between the domains, and then processes The device 11 instructs the transmitter 12 to deliver a fourth flow entry to the SW2, the action of the fourth flow entry is to instruct the SW2 to change the destination IP address of the second data stream (also the third data stream) received by the SW2 to The ID of the next hop boundary switch of SW2 on the optimal routing path between the domains, that is, the ID of SW5. Therefore, after receiving the fourth flow entry, SW2 modifies the destination IP address of the second data flow (also the third data flow) to the ID of SW5, becomes the new third data flow, and because SW2 is pre-routed.
  • the transmitter 12 delivers the static flow entry to the SW2 in advance, so that the SW2 can route the new third data flow to the border switch SW5 according to the static flow entry, that is, the SW2 has already added the new
  • the third data stream is routed to the destination domain network.
  • the processor 11 still determines whether the SW5 is the last border switch on the inter-domain optimal routing path. Since SW5 in FIG. 3 is the last border switch on the inter-domain optimal routing path, the processor 11 indicates the transmitter.
  • the third flow entry is sent to the SW5, and the action of the third flow entry is to instruct the SW5 to change the destination IP address of the new third data flow to the IP address of the destination terminal in the destination domain network (domain 4). That is, at this time, the new third data stream is converted into the original first data stream, and the first data stream has also arrived at the destination domain network at this time.
  • the processor 11 calculates the optimal path of the SW5 to the destination switch in the domain 4 after the second border switch (which may also be the first border switch) routes the first data stream to the destination domain network, and indicates the sending.
  • the device 12 delivers the fifth flow entry to all the switches on the path according to the optimal path, so that the SW5 can route the first data flow to the destination switch and be routed by the destination switch to the destination terminal.
  • the routing device of the software-defined network acquires the source domain network and the destination domain network of the first data stream sent by the source switch by using the processor, and determines that the first data stream is routed to the destination domain network through the source domain network.
  • the inter-domain optimal routing path instructing the sender to deliver the first flow entry to the source switch and the border switch on the optimal routing path between the inter-domains according to the optimal routing path between the inter-domains, so that the source switch according to the first flow table
  • the preset static flow entry routes the first data flow to the first border switch of the source domain network, and the first boundary switch is configured according to the first flow entry and the static The state flow entry routes the first data flow to the destination domain network.
  • the routing device presets a static flow entry on all switches in the SDN network, so that when multiple data flows flow into the SDN network, the transmitter only needs to be optimally connected to the source switch and the domain.
  • the border switch on the routing path delivers the first flow entry, that is, only the routing device exchanges information with the source switch and the border switch on the optimal routing path between the interfaces, which reduces the number of interactions between the routing device and the switch. The routing performance of the SDN network.
  • FIG. 5 is a schematic structural diagram of Embodiment 2 of a routing device of a software-defined network provided by the present invention.
  • the process involved in this embodiment is a specific process in which the processor U determines the source domain network and the destination domain network to which the first data stream belongs according to the first data stream.
  • the routing device 10 further includes: a receiver 13 configured to receive a new flow request message sent by the source switch according to the buffered first data stream; 11.
  • the method is specifically configured to obtain, according to the new flow request message received by the receiver 13, a source IP address of the first data stream and a destination IP address of the first data stream; and according to the source IP address of the first data stream and the first The destination IP address of the data stream determines the source domain network and the destination domain network of the first data stream.
  • the destination IP address is the IP address of the destination terminal, and is not the ID of a border switch in a domain network. Therefore, there is no static flow entry matching the source switch (the destination IP address in the static flow entry is the ID of the border switch). Therefore, the source switch directly connected to the sending terminal first buffers the first data stream that arrives, and generates a new stream request message (packet-in) to the processor 11; the processor 11 can obtain the first by parsing the message.
  • a source IP address and a destination IP address of the data stream and determining a source domain network and a destination domain network to which the first data stream belongs according to the source IP address of the first data stream and the destination IP address of the first data stream. If the source network and the destination network have the same IP prefix, the sending terminal and the destination terminal are in the same domain. In this case, the routing of the first data stream can be referred to the prior art. When the IP prefix of the source network and the destination network are different, the sending terminal and the destination terminal are not in the same domain. The first data stream needs to be cross-domain.
  • the processor 11 generates a network topology topology diagram in the process of pre-routing the SDN network.
  • the network topology map includes: each border switch in the SDN network and the first data stream in the SDN network.
  • the routing cost of the optimal path when transmitting between each border switch Referring to the schematic diagram of the SDN network shown in FIG. 3, FIG. 6 is a network-wide routing topology corresponding to FIG. Figure.
  • the processor U can determine the routing cost between the border switch in the source domain network and each border switch in the destination domain network according to the routing cost between the border switches in the network topology map to determine the optimal inter-domain route. path.
  • the processor 11 can also store the optimal routing path between the domains. When the data flows of the same source domain network and the destination domain network are routed again, the inter-domain optimal route can be directly obtained without repeated calculation. path.
  • the routing device of the software-defined network acquires the source domain network and the destination domain network of the first data stream sent by the source switch by using the processor, and determines that the first data stream is routed to the destination domain network through the source domain network.
  • the inter-domain optimal routing path instructing the sender to deliver the first flow entry to the source switch and the border switch on the optimal routing path between the inter-domains according to the optimal routing path between the inter-domains, so that the source switch according to the first flow table
  • the preset static flow entry routes the first data flow to the first border switch of the source domain network, and causes the first border switch to route the first data flow to the destination domain according to the first flow entry and the static flow entry.
  • the routing device presets a static flow entry on all switches in the SDN network, so that when multiple data flows flow into the SDN network, the transmitter only needs to be optimally connected to the source switch and the domain.
  • the border switch on the routing path delivers the first flow entry, that is, only the routing device exchanges information with the source switch and the border switch on the optimal routing path between the interfaces, which reduces the number of interactions between the routing device and the switch.
  • the routing performance of the SDN network is a schematic structural diagram of Embodiment 1 of a routing device of a software-defined network according to the present invention.
  • the routing device 20 can be a controller in an SDN network and can also be integrated in the controller.
  • the controller is an external controller (Controller) that is connected to the OpenFlow switch through the OpenFlow protocol and secure channel.
  • the SDN network may include at least two domain networks, each of the domain networks includes at least one first switch and at least one border switch, where the border switch is used to connect the first domain network where the border switch is located and the border switch a second domain network; a data stream is routed from the first domain network to the second domain network through the border switch.
  • Figure 3 Figure 3 is only schematic.
  • the SDN network is divided into four domain networks, namely domain network 1 (domain 1 for short), domain 2, domain 3, and domain 4. Take domain 1 as an example.
  • Domain 1 includes two border switches SW1 and SW2, SW1 is a border switch connecting domain 1 and domain 2, and SW2 is a border switch connecting domain 1 and domain 3.
  • domain 1 can be the first domain network where SW1 is located
  • domain 2 can be the second domain network where SW1 is located
  • domain 1 is the first domain network where SW2 is located
  • domain 3 is SW2.
  • the second domain network If the data stream flows from domain 1 into the switch in domain 2, it needs to pass through SW1 of domain 1. That is, when the packet leaves a domain, it needs to pass through a border switch of the domain.
  • the routing device 20 includes: a first obtaining module 21, a first determining module 22, and a first sending module 23.
  • the first obtaining module 21 is configured to obtain a source domain network and a destination domain network of the first data stream sent by the source switch, where the source switch is the first switch, and the source switch is located at the source switch.
  • a source network a source determining module 22, configured to determine, by using the source network, the first data flow route to an inter-domain optimal routing path in the destination domain network, where the inter-domain optimal routing path is
  • the first sending module 23 is configured to send the first flow entry to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path.
  • the source switch And causing the source switch to route the first data flow to the first border switch of the source domain network according to the first flow entry and the preset static flow entry, and make the first border switch And routing, by the first flow entry and the static flow entry, the first data flow to the destination domain network; where the first border switch is the optimal routing path between the domains The first switch on the border.
  • the foregoing SDN network is similar to the traditional interconnection network in that the domain is divided according to the IP address, that is, the network nodes with the same IP address prefix (ie, communication terminals) are divided into one domain, that is, connected to the terminals.
  • the switch is divided into a domain, and this IP address prefix can be used as the ID of the domain.
  • the communication terminal may not be connected to the border switch, and they only forward the data packet.
  • a certain data stream needs to flow from the sending terminal to the destination terminal.
  • the connection with the sending terminal is the source switch, and the destination terminal is connected to the destination switch.
  • the source switch and the destination switch are connected at least.
  • the source switch also belongs to the first switch, and the source switch is located in the source domain network. Assume that the source switch is in domain 1 and the destination switch is in domain 4. That is, domain 1 is the source domain network and domain 4 is the destination domain network.
  • the source switch receives the first data stream sent by the sending terminal, where the source IP address of the first data stream is an IP address of the sending terminal, and the destination IP address of the first data stream is an IP address of the destination terminal.
  • the source switch sends the received first data stream to the first acquiring module 21, so that the first acquiring module 21 learns the source domain network and the destination of the first data stream according to the first data stream. Domain network.
  • the first obtaining module 21 may obtain the source domain network and the destination domain network of the first data stream by parsing the first data stream.
  • the routing device 20 sends a static flow entry to all the first switches and the border switches in each domain network, and sends the static flow entry to each
  • the static flow entries of the switch may be different, but the role of each static flow entry is to indicate that all switches (first switch or border switch) in a domain will receive the destination.
  • a data flow whose IP address is the ID of any border switch in the domain is routed to a border switch on the domain network, so that the data flow can flow through the border switch to the next domain network.
  • the boundary switch on which the data stream is routed to the domain network is determined by the ID of the border switch corresponding to the IP address of the data stream.
  • the first determining module 22 determines, according to some routing algorithms of the first data flow, the first data stream is routed to the destination domain network through the source domain network.
  • An inter-domain optimal routing path where the inter-domain optimal routing path includes at least one border switch. Taking FIG. 3 as an example, the optimal path of the first data stream flowing from the domain 1 into the domain 4 is determined, and the first determining module 22 respectively calculates the border switches SW1, SW2 and the destination domain network (domain) of the source domain network (domain 1).
  • the route between the border switches SW4 and SW5, and obtain SW2->SW5 is the optimal routing path between the domains, that is, the optimal path of the first data flow from domain 1 to domain 4 is SW2->SW5.
  • Path the optimal routing path between the two domains includes two border switches.
  • the first determining module 22 instructs the first sending module 23 to deliver the first routing switch to the source switch and all the border switches on the optimal routing path according to the inter-domain optimal routing path.
  • First-class items After the source switch receives the first flow entry sent by the first sending module 23, the first data stream on the source switch is routed to the source network through the shortest path in combination with the static flow entry sent by the routing device 20.
  • the first border switch On the first border switch, the first border switch is the first border switch on the inter-domain optimal routing path (the first flow entry may enable the source switch to know to route the first data flow to the source domain network)
  • the static flow entry is used to cause the source switch to route the first data stream to the border switch with the shortest path.
  • the first border switch After the first border switch receives the static flow entry and the first flow entry sent by the routing device 20, the first border switch directly or indirectly according to the first flow entry sent by the first sending module 23 to the first border switch. Know that the first data stream should be (the first data stream at this time) The destination IP address has changed, but because the data in the first data stream has not changed, it can still be called the first data stream. Which of the border switches in the destination domain network is routed, and according to the previous The static flow entry sent by the routing device 20 to the first border switch routes the first data stream to the border switch in the shortest path, so that the first border switch directly or indirectly routes the first data stream into the destination domain network.
  • the source switch forwards the first data stream to the SW2 of the domain 1 by using the shortest path according to the static flow entry sent by the previous routing device 20 and the first flow entry sent by the first sending module 23.
  • the SW2 is the first border switch on the optimal routing path between the domains, that is, the first border switch on the optimal routing path between the domains; and the SW2 can be based on the static flow entries sent to the SW2 by the previous routing device 20 and
  • the first flow entry routes the first data flow to the border switch SW5 of the domain 4 in the shortest path, that is, the first data flow is directly routed to the destination domain network (the SW5 itself belongs to the destination domain network).
  • the routing device 20 further calculates an optimal path of the SW5 to the destination switch, and sends a flow entry corresponding to the optimal path to the SW5 according to the calculated optimal path, so that the SW5 can route the first data flow. To the destination switch.
  • the SW2 may also indirectly route the first data stream to the destination domain network domain 4. That is, SW2 can route the first data stream to the destination domain network domain 4 through the shortest path through SW3.
  • the source switch forwards the first data stream to the SW2 of the domain 1 by using the shortest path according to the static flow entry sent by the previous routing device 20 and the first flow entry sent by the first sending module 23, where the SW2 is The first border switch on the inter-domain optimal routing path is the first border switch on the inter-domain optimal routing path.
  • the SW2 can be sent to the static flow entry and the first sending module of the SW2 according to the previous routing device 20.
  • the first flow entry that is delivered by the first flow entry is delivered to the SW3 by the shortest path.
  • the SW3 can be sent to the static flow entry sent by the previous routing device 20 to the SW3 and the first flow entry delivered by the first sending module 23.
  • the first data stream is routed to the SW5 in the shortest path, that is, the SW2 indirectly routes the first data stream indirectly to the destination network.
  • the routing device 20 further calculates an optimal path of the SW5 to the destination switch, and sends a flow entry corresponding to the optimal path to the SW5 according to the calculated optimal path, so that the SW5 can route the first data flow. To the destination switch.
  • the destination switch in Figure 3 is located in domain 3. That is, domain 3 is the destination domain network, domain 1 is still the source domain network, and SW2 is the connection source domain network and destination domain.
  • the border switch of the network is the first border switch on the optimal routing path between domains. It is also the last border switch on the optimal routing path between domains.
  • the source switch can still learn that the first data flow should be routed to the SW2 according to the first flow entry sent by the first sending module 23, and route the first data flow to the shortest path according to the static flow entry on the source switch.
  • SW2 knows that the domain in which the domain is located is the destination domain network, that is, the first data stream has been obtained by the first flow entry sent to the SW2 by the first sending module 23 and the static flow entry delivered by the routing device 20 Routed to the destination domain network.
  • the routing device 20 further calculates an optimal path from the SW2 to the destination switch, and sends a flow entry corresponding to the optimal path to the SW2 according to the calculated optimal path, so that the SW2 can route the first data flow. To the destination switch.
  • the routing device 20 needs to send a flow entry to all the switches in the path where the data stream is located.
  • the size of the SDN network is expanded, the number of switches and the inflow in the network.
  • the interaction between the routing device 20 and the switch becomes very frequent, thereby affecting the routing performance under the large-scale SDN network.
  • the static flow entry is pre-configured on all the switches on the SDN network, and the static flow entry is used for any
  • the data flow on the switch is routed to the border switch of the domain network where the switch is located (and the routing device 20 sends the static flow entry to the switch on the SDN network to send the static flow entry only once). Therefore, the routing device 20 provided by the embodiment of the present invention is Each time a data stream arrives at the switch, the first flow entry can be sent to the destination switch in the source switch and the border switch on the optimal routing path of the inter-domain. Each switch on the optimal routing path of the inter-domain sends a flow entry, so that the interaction information between the routing device 20 and the switch is reduced, and the routing performance of the SDN network is improved.
  • the routing device of the software-defined network obtains the source domain network and the destination domain network of the first data stream sent by the source switch by using the first acquiring module, and the first determining module determines that the first data stream flows through the source domain network. Routing the route to the inter-domain optimal routing path in the destination network, and sending the first flow entry to the source switch and the border switch on the optimal routing path of the inter-domain based on the optimal routing path between the inter-domains.
  • the source switch forwards the first data flow to the first border switch of the source domain network according to the first flow entry and the preset static flow entry, and causes the first boundary switch to be based on the first flow entry and the static flow entry.
  • the first data stream is routed to the destination domain network.
  • the routing device presets a static flow entry on all the switches in the SDN network, so that when multiple data flows flow into the SDN network, the first sending module only needs to exchange with the source end.
  • the border switch on the optimal routing path between the machine and the inter-domain delivers the first flow entry, that is, only the routing device and the source switch and the border switch on the optimal routing path between the domains exchange information, reducing the routing device and the switch.
  • the number of interactions between the two improves the routing performance of the SDN network.
  • FIG. 8 is a schematic structural diagram of Embodiment 2 of a routing device of a software-defined network according to the present invention. On the basis of the foregoing embodiment shown in FIG.
  • the embodiment relates to a process in which the routing device 20 sends a static flow entry to all the switches in the SDN network through the second sending module 25.
  • the foregoing apparatus further includes: a second obtaining module 24 and a second sending module 25.
  • the second obtaining module 24 is configured to obtain, before the first sending module 23 delivers the first flow entry to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path.
  • the sending module 25 is configured to send a static flow entry to each switch in the domain network according to the optimal path in the domain, so that each switch in the domain network receives the destination IP address in the domain network.
  • the data stream of the ID of any border switch is used, the data stream is routed to the corresponding border switch in the domain network according to the static flow entry.
  • the routing device 20 provided by the embodiment of the present invention has a pre-routing before the first flow entry is sent to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path.
  • the second obtaining module 24 uses some routing algorithms, such as the Floyd-War shall algorithm, to obtain all the boundaries of each switch (including the first switch and the border switch in the domain network) in any domain network to the domain network. The optimal path within the domain of the switch. Can see the error! The reference source was not found.
  • the normal SDN switch S3 that is, the first switch, which can be regarded as the source switch
  • the optimal path to the border switch SW1 is S3.
  • ->SW2 the optimal path of border switches SW1 to SW2 is SW1->S2->SW2 0
  • the second sending module 25 sends a corresponding static flow entry to each switch in the domain network according to the optimal path in the domain obtained by the second obtaining module 24, where the destination IP address in the static flow entry is the domain network.
  • the ID of a border switch in the middle, and the other fields of the static flow entry are set to be wildcarded.
  • the optimal path of any border switch in the network also determines the output port of the action of the static flow entry. As wrong! The reference source was not found.
  • the boundary switches SW1 and SW2 in domain 1 The IDs are 192. 168. 6. 1 and 192. 168. 6. 2.
  • the second sending module 25 sends two static flow entries to the S3 according to the optimal path in the domain, and sends a static to the border switch SW1.
  • Flow entry When S3 receives the data stream whose destination IP address is 192.168.6.2 (that is, the ID of SW2), S3 matches the data stream according to the static flow entry on S3, so that the data stream can be the shortest path. Route to the corresponding border switch SW2.
  • the data stream here is different from the first data stream in the first embodiment in that the destination IP address of the first data stream in the first embodiment is the IP address of the destination terminal, and the destination IP address of the data stream is the ID of the SW2. If the data stream here is the same as the data information carried in the first data stream, the data stream may also be referred to as a first data stream.
  • the action in the static flow entry on each switch may be different (that is, the port of the output data stream is different), and the destination IP address may be different.
  • the pre-routing process of the SDN network by the second obtaining module 24 is performed on a per-domain basis, that is, the second obtaining module 24 pre-routes each domain network of the SDN network, that is, the second obtaining module 24 determines each The intra-domain optimal path of each switch in the domain network to the border switch in the domain network, so that the second sending module 25 delivers the corresponding static flow entry to all the switches in the domain network. That is to say, the second sending module 25 sends a static flow entry to all the switches in the SDN network, and the static flow entry is sent only once.
  • the purpose of the second obtaining module 24 performing the pre-routing process is that, whether it is the border switch or the first switch, when they receive the data stream whose destination IP address is the ID of any border switch in the domain,
  • the static flow entry delivered by the sending module 25 can match the data flow, so that the received data flow can be directly routed to the border switch in the domain by the shortest path without requesting the routing device 20.
  • the routing device of the software-defined network obtaineds the optimal intra-domain path of each switch in the domain network to the border switch in the domain network by using the second obtaining module, so that the second sending module can be based on the domain
  • the optimal path sends a static flow entry to each switch in the domain network, so that each switch in the domain network receives the data stream of the ID of any border switch in the domain network when the destination IP address is received.
  • the data stream is routed to the border switch in the domain network in an optimal path according to the static flow entry.
  • the routing device presets a static flow entry on all switches in the SDN network, so that when multiple data flows flow into the SDN network, the first sending module only needs to be connected to the source switch and the inter-domain.
  • the border switch on the optimal routing path delivers the first flow entry, that is, only the routing device and the source switch and the optimal routing path between the domains are required.
  • the upper boundary switches exchange information, which reduces the number of interactions between the routing device and the switch, and improves the routing performance of the SDN network.
  • FIG. 9 is a schematic structural diagram of Embodiment 3 of a routing device of a software-defined network according to the present invention. Based on the foregoing embodiment shown in FIG.
  • the embodiment relates to the entire specific process of the routing device 20 routing the first data stream to the destination switch in the destination domain network.
  • the first flow entry is one of the second flow entry, the third flow entry, and the fourth flow entry;
  • the first sending module 23 includes: a first sending unit 231, configured to: The second flow entry is sent to the source switch, where the second flow entry is used to indicate that the source switch generates the second data flow, and the source switch is configured to route the second data flow according to the static flow entry.
  • the second data stream is the first data stream whose destination IP address is the ID of the first border switch; the determining unit 232 is configured to determine whether the second border switch is the last on the inter-domain optimal routing path.
  • a border switch obtains a judgment result; wherein the second border switch is any border switch on the inter-domain optimal routing path that receives the third data stream, where the third data stream is the destination IP address being the most inter-domain a first data stream of the ID of the border switch of the best path; the second sending unit 233, configured to send, according to the determination result, the third flow entry or the fourth flow to the second border switch Entry.
  • the second sending unit 233 is configured to: if the determining result of the determining unit 232 is yes, send a third flow entry to the second border switch; wherein the third flow entry is used to indicate the foregoing
  • the second border switch performs a first change operation; the first change operation includes: changing a destination IP address of the third data stream to an IP address of the destination terminal of the first data stream in the destination domain network, to be the third The data flow is routed to the destination network; if the determination result of the determining unit 232 is no, the fourth flow entry is sent to the second border switch; wherein the fourth flow entry is used to indicate that the second boundary switch is The fourth flow entry and the static flow entry perform a second change operation until the determining unit 232 determines that the second boundary switch is the last boundary switch on the inter-domain optimal routing path; wherein the second change operation includes: The destination IP address of the third data stream is changed to the ID of the next hop boundary switch of the second border switch on the optimal routing path between the domains, to the third data The next-hop
  • the routing device 20 divides all switches (including the first switch and the border switch) in the SDN network into different domain networks, and then the second obtaining module 24 will each The process of the pre-routing of the switch in the domain network, that is, the second obtaining module 24 obtains the optimal intra-domain path of all the switches in any domain network to all the border switches in the domain network according to the routing algorithm, so that the second sending is performed.
  • the module 25 can send static flow entries to all the switches in the domain network according to the optimal path in the domain.
  • the first acquiring module 21 learns the source to which the first data stream belongs according to the first data stream.
  • the domain network and the destination domain network, and the inter-domain optimal routing path is determined by the first determining module 22, and the inter-domain optimal routing path includes all the boundaries that the first data stream flows from the source domain network to the destination domain network. switch.
  • the source switch can modify the destination IP address of the received first data flow to the first boundary according to the second flow entry.
  • the ID of the switch so that the second data stream is generated, but the data carried in the second data stream is the same as the data carried in the first data stream. Therefore, the second data stream is the destination IP address of the first border switch.
  • the first data stream of the ID After the source switch generates the second data stream, the destination IP address of the second data stream is the ID of the first border switch, and the static stream that is sent by the second sending module 25 to the source switch is present on the source switch.
  • the destination IP address of the static flow entry on the source switch is the ID of any border switch in the source domain network. Therefore, the source switch can route the second data stream to the source domain network with the shortest path.
  • the first border switch is the first border switch on the optimal routing path between the domains.
  • the determining unit 232 determines whether the second border switch is the last border switch on the optimal routing path between the domains, and obtains a determination result; wherein the second border switch is the inter-domain most received the third data stream Any boundary switch on the routing path, where the third data stream is the first data stream whose destination IP address is the ID of any border switch on the inter-domain optimal path, that is, the second data stream also belongs to The third data stream (the destination IP address of the second data stream is the ID of the first border switch), and correspondingly, the first border switch also belongs to the second border switch.
  • the determining unit 232 determines whether the first border switch is The last boundary switch on the optimal routing path between the domains obtains the judgment result (because there may be only one border switch in the optimal routing path between the domains during actual transmission, the border switch is both the first border switch and also The last border switch).
  • the second border switch may be the first border switch (the first border switch) on the optimal routing path between the domains, or the last border switch on the optimal routing path between the domains, or may be A border switch between the first border switch and the last border switch on the optimal routing path between domains.
  • the second sending unit 233 goes to the second.
  • the border switch delivers the third flow entry, so that the second border switch changes the destination IP address of the received third data flow to the IP address of the destination terminal in the destination domain network, that is, converts the third data stream to the original one.
  • the first data stream causes the second border switch to route the first data stream to the destination domain network.
  • the second sending unit 233 sends a fourth flow entry to the second border switch; the second border switch receives After the fourth flow entry, the destination IP address of the third data stream received by the second boundary switch is changed to the ID of the next hop boundary switch of the second boundary switch on the optimal routing path between the domains, and according to the The existing static flow entry routes the third data flow to the next hop boundary switch and the next hop boundary switch as the new second boundary switch. Then, the determining unit 232 continues to determine whether the new second border switch is the last border switch on the inter-domain optimal routing path, and the second sending unit determines to send the new second border switch according to the determination result.
  • the third-stream entry is also the fourth flow entry until the determination unit determines that the new second boundary switch is the last boundary switch on the optimal routing path between the domains.
  • the first border switch may directly route the first data stream to the destination domain network, and may also pass the second border switch. (At this time, the second border switch is not the first boundary on the optimal routing path between the domains. Switch) Routes the first data stream to the destination domain network.
  • the routing device of the software-defined network obtains the source domain network and the destination domain network of the first data stream sent by the source switch by using the first acquiring module, and the first determining module determines that the first data stream flows through the source domain network. Routing the route to the inter-domain optimal routing path in the destination network, and sending the first flow entry to the source switch and the border switch on the optimal routing path of the inter-domain based on the optimal routing path between the inter-domains.
  • the source switch forwards the first data flow to the first border switch of the source domain network according to the first flow entry and the preset static flow entry, and causes the first boundary switch to be based on the first flow entry and the static flow entry.
  • the first data stream is routed to the destination domain network.
  • the routing device provided by the embodiment is configured to preset a static flow entry on all switches in the SDN network, so that when multiple data flows flow into the SDN network, the first sending module only needs to be the most between the source switch and the domain.
  • the border switch on the optimal routing path delivers the first flow entry, that is, only the routing device needs to exchange information with the source switch and the border switch on the optimal routing path between the domains, thereby reducing the number of interactions between the routing device and the switch. Improve the routing performance of the SDN network.
  • the routing device 20 may further include: a second determining module 26, configured to: after the second sending unit 233 sends the third flow entry to the second border switch Determining an optimal path of the second border switch to the destination switch in the destination domain network; a third sending module 27, configured to send the second border switch to the destination domain network All the switches on the optimal path of the destination switch deliver the fifth flow entry, so that the second border switch routes the first data flow to the destination of the first data flow by using the shortest path.
  • the second determining module 26 determines the optimality of the destination switch in the second border switch to the destination domain network.
  • the third flow entry is sent to all the switches (including the first switch and the destination switch) on the optimal path by the third sending module 27 to make the second boundary
  • the switch routes the first data stream to the destination terminal of the first data stream in a shortest path, and completes the cross-domain routing of the first data stream.
  • the first determining module 22 obtains SW2->SW5 by calculating the route between the border switches SW1 and SW2 of the source domain network (domain 1) and the border switches SW4 and SW5 of the destination domain network (domain 4).
  • the optimal routing path between the domains that is, the optimal path of the first data flow from domain 1 to domain 4 is the path of SW2->SW5, and the optimal routing path between the domains includes two border switches.
  • the first data stream flows to the source switch, and the first sending unit 231 sends a second flow entry to the source switch, where the second flow entry indicates that the source switch modifies the destination IP address of the first data flow to the first
  • the ID of the border switch SW2 (the SW2 is the first border switch on the optimal routing path between the domains)
  • the first data stream becomes the second data stream at this time
  • the source switch is sent to the source end according to the second sending module 25
  • the static flow entry of the switch takes the second data stream as the optimal path.
  • the route is routed to SW2.
  • the determining unit 232 determines whether the SW2 is the last border switch on the optimal routing path between the domains. At this time, according to FIG.
  • the determining unit 232 determines that the SW2 is not the last border switch on the optimal routing path between the domains, and then The second sending unit 233 sends a fourth flow entry to the SW2, and the action of the fourth flow entry is to instruct the SW2 to change the destination IP address of the second data stream (also the third data stream) received by the SW2 to SW2.
  • the ID of the next hop boundary switch on the optimal routing path between the domains that is, the ID of SW5. Therefore, after receiving the fourth flow entry, SW2 modifies the destination IP address of the second data flow (also the third data flow) to the ID of SW5, becomes the new third data flow, and because SW2 is pre-routed.
  • the second sending module 25 sends the static flow entry to the SW2 in advance, so that the new third data stream can be routed to the border switch SW5 according to the static flow entry, that is, the SW2 has already been
  • the new third data stream is routed to the destination domain network.
  • the determining unit 232 still determines whether the SW5 is the last border switch on the inter-domain optimal routing path. Since SW5 in FIG.
  • the second sending unit 233 Sending a third flow entry to the SW5, the action of the third flow entry is to instruct the SW5 to change the destination IP address of the new third data flow to the IP address of the destination terminal in the destination domain network (domain 4), that is, At this time, the new third data stream is converted into the original first data stream, and the first data stream has also arrived at the destination domain network.
  • the second determining module 26 calculates the optimal path of the SW5 to the destination switch in the domain 4, and passes the third path.
  • the sending module 27 delivers the fifth flow entry to all the switches on the path according to the optimal path, so that the SW5 can route the first data flow to the destination switch and be routed by the destination switch to the destination terminal.
  • the routing device of the software-defined network obtains the source domain network and the destination domain network of the first data stream sent by the source switch by using the first acquiring module, and the first determining module determines that the first data stream flows through the source domain network. Routing the route to the inter-domain optimal routing path in the destination network, and sending the first flow entry to the source switch and the border switch on the optimal routing path of the inter-domain based on the optimal routing path between the inter-domains.
  • the source switch forwards the first data flow to the first border switch of the source domain network according to the first flow entry and the preset static flow entry, and causes the first boundary switch to be based on the first flow entry and the static flow entry.
  • the first data stream is routed to the destination domain network.
  • the routing device provided by the embodiment of the present invention presets a static flow table by using all the switches in the SDN network. Therefore, when a plurality of data flows flow into the SDN network, the first sending module only needs to deliver the first flow entry to the border switch on the source switch and the inter-domain optimal routing path, that is, only the routing device and the source end are required.
  • the border switch on the optimal routing path between the switch and the domain exchanges information, which reduces the number of interactions between the routing device and the switch, and improves the routing performance of the SDN network.
  • FIG. 10 is a schematic structural diagram of Embodiment 4 of a routing device of a software-defined network provided by the present invention.
  • the process involved in this embodiment is a specific process in which the first obtaining module 21 determines, according to the first data flow, the source domain network and the destination domain network to which the first data stream belongs.
  • the first acquiring module 21 specifically includes: a receiving unit 211, configured to receive a new flow request message sent by the source switch according to the buffered first data stream;
  • the unit 212 is specifically configured to acquire the source IP address of the first data stream and the destination IP address of the first data stream according to the new flow request message received by the receiving unit 211.
  • the first determining unit 213 is configured to use the first data according to the first data.
  • the source IP address of the stream and the destination IP address of the first data stream determine the source domain network and the destination domain network of the first data stream.
  • the first determining module 22 specifically includes: a generating unit 221, configured to generate a network-wide routing topology map; a second determining unit 222, configured to determine, according to the network-wide routing topology, that the first data flows through the source domain
  • the network is routed to the inter-domain optimal routing path in the destination network; wherein the network-wide routing topology includes: each border switch in the SDN network and the first data stream in the SDN The routing cost of the optimal path when transmitting between various border switches in the network.
  • the destination IP address is the IP address of the destination terminal, and is not the ID of a border switch in a domain network. Therefore, there is no static flow entry matching the source switch (the destination IP address in the static flow entry is the ID of the border switch). Therefore, the source switch directly connected to the sending terminal first buffers the first data stream that arrives, and sends a new packet request message (packet-in) to the first obtaining module 21; the first obtaining module 21 parses the message.
  • packet-in packet request message
  • the source IP address and the destination IP address of the first data stream are obtained, and the source domain network and the destination domain network to which the first data stream belongs are determined according to the source IP address of the first data stream and the destination IP address of the first data stream. If the source network and the destination network have the same IP prefix, the sending terminal and the destination terminal are in the same domain. In this case, the routing of the first data stream can be referred to the prior art. When the IP prefix of the source network and the destination network are different, the sending terminal and the destination terminal are not in the same domain. The first data stream needs to be cross-domain.
  • the generating unit 221 in the first determining module 22 generates a network-wide routing topology map in the process of pre-routing the SDN network before the second acquiring module 24, where the network-wide routing topology includes: The routing cost of the optimal path when each border switch and the first data stream are transmitted between the various border switches in the SDN network.
  • FIG. 6 is a schematic diagram of the entire network routing corresponding to FIG.
  • the second determining unit 222 can determine a routing cost between the border switch in the source domain network and each border switch in the destination domain network according to the routing cost between the border switches in the network topology map, thereby determining the inter-domain maximum Excellent routing path.
  • the generating unit 221 may also store the optimal routing path between the domains. When the data flows of the same source domain network and the destination domain network are routed again, the inter-domain optimal routing may be directly obtained without repeated calculation. path.
  • the routing device of the software-defined network obtains the source domain network and the destination domain network of the first data stream sent by the source switch by using the first acquiring module, and the first determining module determines that the first data stream flows through the source domain network. Routing the route to the inter-domain optimal routing path in the destination network, and sending the first flow entry to the source switch and the border switch on the optimal routing path of the inter-domain based on the optimal routing path between the inter-domains.
  • the source switch forwards the first data flow to the first border switch of the source domain network according to the first flow entry and the preset static flow entry, and causes the first boundary switch to be based on the first flow entry and the static flow entry.
  • the first data stream is routed to the destination domain network.
  • the routing device presets a static flow entry on all the switches in the SDN network, so that when multiple data flows flow into the SDN network, the first sending module only needs to be connected to the source switch and the inter-domain.
  • the border switch on the optimal routing path delivers the first flow entry, that is, only the routing device and the source switch and the border switch on the optimal routing path between the domains exchange information, reducing the number of interactions between the routing device and the switch. , improve the routing performance of the SDN network.
  • FIG. 1 is a schematic flow chart of Embodiment 1 of a method for routing a software-defined network according to the present invention.
  • the executive body of the method may be the routing device or routing device in the above embodiment.
  • the SDN network includes at least two domain networks, each of the domain networks includes at least one first switch and at least one border switch, where the border switch is used to connect the first domain network where the border switch is located and where the border switch is located a second domain network; a data flow is routed from the first domain network to the second domain network through the border switch.
  • the method includes:
  • the controller acquires a source domain network and a destination domain network of the first data stream sent by the source switch, where the source switch is the first switch, and the source switch is located at the source Domain network.
  • S102 The controller determines that the first data flow is routed to the inter-domain optimal routing path in the destination domain network by using the source domain network, where the inter-domain optimal routing path includes at least one border switch.
  • the controller sends a first flow entry to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path, so that the source switch according to the first The first-level entry and the preset static flow entry route the first data flow to the first border switch of the source domain network, and the first boundary switch according to the first flow entry and the static The flow entry class routes the first data flow to the destination domain network; wherein the first border switch is the first border switch on the inter-domain optimal routing path.
  • the implementation process of the routing method of the software-defined network provided by the embodiment of the present invention may participate in the execution process of the foregoing routing device or the routing device embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • FIG. 12 is a schematic flow chart of Embodiment 2 of a method for routing a software-defined network according to the present invention. On the basis of the embodiment shown in FIG. 11 above, that is, before S103, the method further includes:
  • S201 The controller acquires an intra-domain optimal path of each switch in the domain network to a border switch in the domain network, where the optimal path in the domain is each switch in the domain network to the domain network.
  • the shortest path of the border switch is
  • S201 may be performed before S101 or after S102, as long as S201 is executed before S103, and FIG. 12 is only an illustration.
  • S202 The controller sends the static flow entry to each switch in the domain network according to the optimal path in the domain, so that each switch in the domain network receives the destination IP address as the network in the domain.
  • the data stream of the ID of the border switch is used, the data stream is routed to the corresponding border switch in the domain network according to the static flow entry.
  • the implementation process of the routing method of the software-defined network provided by the embodiment of the present invention may participate in the execution process of the foregoing routing device or the routing device embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • the foregoing first flow entry is one of the second flow entry, the third flow entry, and the fourth flow entry
  • the foregoing S103 specifically includes: the controller sending the to the source switch a second flow entry, where the second flow entry is used to instruct the source switch to generate a second data flow, and Instructing the source switch to route the second data flow to the first border switch according to the static flow entry; the second data flow is a destination IP address being an ID of the first border switch.
  • the first data stream is one of the second flow entry, the third flow entry, and the fourth flow entry
  • the foregoing S103 may further include: the controller determining whether the second border switch is the last border switch on the optimal routing path between the inter-domains, and obtaining a determination result; wherein, the second border switch is received Any boundary switch on the inter-domain optimal routing path of the third data stream, where the third data stream is the destination IP address being the ID of any boundary switch on the inter-domain optimal path a data flow; the controller determines, according to the determination result, that the third flow entry or the fourth flow entry is delivered to the second border switch.
  • the foregoing S103 may further include: if the determination result is yes, the controller sends the third flow entry to the second border switch; wherein, the third flow entry Used to instruct the second border switch to perform a first change operation; the first change operation includes: changing a destination IP address of the third data stream to the first data stream in the destination domain network The IP address of the destination terminal; if the determination result is no, the controller sends the fourth flow entry to the second border switch; wherein the fourth flow entry is used to indicate the The second border switch performs a second change operation according to the fourth flow entry and the static flow entry until the controller determines that the second boundary switch is the last one on the inter-domain optimal routing path
  • the second change operation includes: changing a destination IP address of the third data stream to a next hop boundary of the second border switch on the inter-domain optimal routing path Machine ID to the third data stream on route to the next-hop border switch, the next hop and a new edge switch as a second border switches.
  • the implementation process of the routing method of the software-defined network provided by the embodiment of the present invention may participate in the execution process of the foregoing routing device or the routing device embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • the foregoing S101 specifically includes: the controller receives a new flow request message sent by the source switch according to the cached first data stream; and the controller acquires the first data flow according to the new flow request message. a source IP address and a destination IP address of the first data stream; the controller determining the source of the first data stream according to a source IP address of the first data stream and a destination IP address of the first data stream The domain network and the destination domain network.
  • the foregoing S102 specifically includes: the controller generates a network topology topology diagram; the control Determining, according to the network-wide routing topology, the first data flow route to the inter-domain optimal routing path in the destination domain network by using the source data network; wherein, the network-wide routing topology map includes : routing cost of an optimal path when each border switch in the SDN network and the first data stream are transmitted between respective border switches in the SDN network.
  • the implementation process of the routing method of the software-defined network provided by the embodiment of the present invention may participate in the execution process of the foregoing routing device or the routing device embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • FIG. 13 is a schematic flowchart diagram of Embodiment 3 of a method for routing a software-defined network according to the present invention. On the basis of the embodiment shown in FIG. 12 above, that is, after S103, the method further includes:
  • S301 The controller determines an optimal path of the second border switch to the destination switch in the destination domain network.
  • S302 The controller sends a fifth flow entry to all switches on the optimal path of the destination switch in the destination domain network, so that the second border switch will The first data stream is routed to the destination terminal of the first data stream in a shortest path.
  • the implementation process of the routing method of the software-defined network provided by the embodiment of the present invention may participate in the execution process of the foregoing routing device or the routing device embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention provides a routing method, apparatus and device in a software defined network. The method includes: a controller obtains the source domain network and the destination domain network of a first data stream sent by a source switch, and the controller determines the optimum inter-domain routing path for routing the first data stream from the source domain network to the destination domain network; the controller sends, according to the optimum inter-domain routing path, a first flow table entry to the source switch and edge switches on the optimum inter-domain routing path, so that the source switch can rout, according to the first flow table entry and preset static flow table entries, the first data stream to a first edge switch in the source domain network, and the first edge switch can route, according to the flow table entry and the static flow table entries, the first data stream to the destination domain network. With the method provided by embodiments of the present invention, the controller only needs to send the first flow table entry to the source switch and the edge switches on the optimum inter-domain routing path, so that the number of interactions between the controller and the switches is reduced, and the routing performance of the SDN network is improved.

Description

软件定义网络的路由方法、 装置和设备  Software-defined network routing method, device and device
技术领域 Technical field
本发明涉及通信技术, 尤其涉及一种软件定义网络的路由方法、 装置和 设备。 背景技术  The present invention relates to communication technologies, and in particular, to a method, apparatus, and device for routing a software-defined network. Background technique
交换机作为网络中的关键节点, 在现有设备提供商的垄断之下开放的接 口十分有限,网络中的很多开放想法和协议都无法进行测试与验证。 OpenFlow 作为一套开放接口、 支持多控制的交换协议应运而生, OpenFlow将传统的物 理固定的硬件改造成为动态可变的软件可定义网络 (Software Defined Network, 以下简称 SDN ) , 实现控制面与转发面的分离。 采用 OpenFlow协 议的交换机(即 OpenFlow交换机)设置有流表(Flow Table )、安全通道(Secure Channel )和 OpenFlow协议。交换机通过 OpenFlow协议经过一个安全通道连 接到外部控制器 (Control ler ) , 控制器对流表进行査询和管理。 其中, 交 换机的流表中存储着査找、 转发或统计数据时所需要最核心的信息。 该流表 包括至少一个流表项, 每个流表项包括匹配域字段 (match field ) 、 计数器 ( counters ) 禾口指令集 ( instructions ) 。  As a key node in the network, the switch has a very limited interface under the monopoly of existing equipment providers. Many open ideas and protocols in the network cannot be tested and verified. OpenFlow has emerged as an open interface and multi-control exchange protocol. OpenFlow transforms traditional physical fixed hardware into a dynamically variable Software Defined Network (SDN) to implement control plane and forwarding. The separation of the faces. The switch using the OpenFlow protocol (that is, the OpenFlow switch) is provided with a flow table (Flow Table), a secure channel (Secure Channel), and an OpenFlow protocol. The switch is connected to an external controller (Controller) through a secure channel through the OpenFlow protocol, and the controller queries and manages the flow table. Among them, the flow table of the switch stores the most core information needed to find, forward or statistical data. The flow table includes at least one flow entry, and each flow entry includes a match field, a counter, and an instructions.
当数据流流入 SDN网络中的任一交换机时, 交换机会判断该数据流是否 与该交换机的流表中的流表项相匹配; 若匹配, 则该交换机执行流表项中的 指令 (或动作) ; 如果数据流在 SDN网络中的所有交换机的流表中没有匹配 的流表项, 数据包则会被丢弃或者转发到控制器进行处理; 如果匹配的流表 项中的指令指示数据包不再跳转到下一个流表, 则匹配结束, 交换机执行该 匹配的流表项对应的动作集 (actions set ) , 如将数据包转发到指定输出端 口、 丢包、 修改数据包头、 转发到群组表等。  When the data stream flows into any switch in the SDN network, the switch determines whether the data stream matches the flow entry in the flow table of the switch; if it matches, the switch executes the instruction (or action) in the flow entry. If there is no matching flow entry in the flow table of all switches in the SDN network, the data packet will be discarded or forwarded to the controller for processing; if the command in the matching flow entry indicates that the packet is not After jumping to the next flow table, the matching ends. The switch performs the action set corresponding to the matched flow entry, such as forwarding the data packet to the specified output port, dropping the packet, modifying the packet header, and forwarding to the group. Group table, etc.
现有技术中, 控制器负责管理整个 SDN网络的行为, 同时完成网络中 数据流的路由。 如图 1所示, 控制器维护整个网络的拓扑信息, 当网络中 到达新的数据流时, 它为该数据流计算全网的最优路由路径, 并且添加相 应的流表项到路由路径上的所有交换机的流表中(每个交换机上所添加的 流表项的匹配域相同, 但是动作不同) , 完成对该数据流的路由。 In the prior art, the controller is responsible for managing the behavior of the entire SDN network and completing the routing of data flows in the network. As shown in Figure 1, the controller maintains the topology information of the entire network. When a new data stream arrives in the network, it calculates the optimal routing path for the entire network and adds the corresponding flow entry to the routing path. Flow table of all switches (added on each switch) The matching entry of the flow entry is the same, but the action is different. The routing of the data flow is completed.
但是, 当 SDN网络的规模扩大, 网络中交换机数目和流入的数据流的增 多, 均会导致控制器与交换机之间交互信息数目的增长, 网络扩展性差。 发明内容 本发明提供一种软件定义网络的路由方法、 装置和设备, 用以解决现有 技术中当 SDN网络的规模扩大, 网络中交换机数目和流入的数据流的增多, 导致的控制器与交换机之间交互信息数目的增长,网络扩展性差的技术问题。  However, when the scale of the SDN network is expanded, the number of switches and the inflow of data flows in the network will increase the number of information exchanged between the controller and the switch, and the network scalability is poor. SUMMARY OF THE INVENTION The present invention provides a method, an apparatus, and a device for routing a software-defined network, which are used to solve the problem of the expansion of the SDN network in the prior art, the number of switches in the network, and the inflow of data flows. The problem of the increase in the number of interactive information and the poor network scalability.
第一方面, 本发明提供一种软件定义网络的路由设备, 所述软件定义网 络 SDN包括至少两个域网络, 每个域网络包括至少一个第一交换机和至少一 个边界交换机, 所述边界交换机用于连接所述边界交换机所在的第一域网络 和所述边界交换机所在的第二域网络; 数据流通过所述边界交换机从所述第 一域网络路由至所述第二域网络; 所述路由设备包括:  In a first aspect, the present invention provides a routing device of a software-defined network, where the software-defined network SDN includes at least two domain networks, each domain network includes at least one first switch and at least one border switch, and the border switch uses a first domain network where the border switch is connected and a second domain network where the border switch is located; a data flow is routed from the first domain network to the second domain network by the border switch; Equipment includes:
处理器, 用于获取源端交换机发送的第一数据流的源域网络和目的域网 络; 其中, 所述源端交换机为所述第一交换机, 所述源端交换机位于所述源 域网络; 并确定所述第一数据流经所述源域网络路由至所述目的域网络中的 域间最优路由路径, 所述域间最优路由路径上包括至少一个边界交换机; 发送器, 用于根据所述域间最优路由路径向所述源端交换机和所述域间 最优路由路径上的边界交换机下发第一流表项, 以使所述源端交换机根据所 述第一流表项和预设的静态流表项将所述第一数据流路由至所述源域网络的 第一边界交换机, 并使得所述第一边界交换机根据所述第一流表项和所述静 态流表项将所述第一数据流路由至所述目的域网络中; 其中, 所述第一边界 交换机为所述域间最优路由路径上的第一个边界交换机。  a processor, configured to obtain a source domain network and a destination domain network of the first data stream sent by the source switch; where the source switch is the first switch, and the source switch is located in the source domain network; And determining, by the source network, the first data route to the inter-domain optimal routing path in the destination domain network, where the inter-domain optimal routing path includes at least one border switch; And sending, by the source switch, the first flow entry to the border switch on the source switch and the inter-domain optimal routing path, so that the source switch according to the first flow entry and The preset static flow entry routes the first data flow to the first border switch of the source domain network, and causes the first border switch to be based on the first flow entry and the static flow entry The first data stream is routed to the destination domain network; wherein the first border switch is the first border switch on the inter-domain optimal routing path.
结合第一方面, 在第一方面的第一种可能的实施方式中, 所述处理器, 还用于在根据所述域间最优路由路径向所述源端交换机和所述域间最优路由 路径上的边界交换机下发第一流表项之前, 获取任一所述域网络中的各个交 换机到该域网络中的边界交换机的域内最优路径; 其中, 所述域内最优路径 为该域网络中的各个交换机到该域网络中的边界交换机的最短路径;  With reference to the first aspect, in a first possible implementation manner of the first aspect, the processor is further configured to perform an optimal between the source switch and the domain according to the inter-domain optimal routing path And obtaining, by the border switch on the routing path, the intra-domain optimal path of the border switch in any one of the domain networks to the border switch in the domain network, where the optimal path in the domain is the domain The shortest path from each switch in the network to the border switch in the domain network;
所述发送器, 还用于根据所述域内最优路径向该域网络中的各个交换机 下发所述静态流表项, 以使该域网络中的各个交换机在接收到目的 IP地址为 该域网络中的任一边界交换机的 ID的数据流时,根据所述静态流表项将该数 据流以最优路径路由至该域网络中对应的边界交换机上。 The transmitter is further configured to send the static flow entry to each switch in the domain network according to the optimal path in the domain, so that each switch in the domain network receives the destination IP address as When the data stream of the ID of any border switch in the domain network is used, the data stream is routed to the corresponding border switch in the domain network according to the static flow entry.
结合第一方面的第一种可能的实施方式, 在第一方面的第二种可能的实 施方式中, 所述第一流表项为第二流表项、 第三流表项、 第四流表项的其中 一种; 则所述发送器, 具体用于向所述源端交换机下发所述第二流表项; 其 中, 所述第二流表项用于指示所述源端交换机生成第二数据流, 并指示所述 源端交换机根据所述静态流表项将所述第二数据流路由至所述第一边界交换 机上; 所述第二数据流为目的 IP地址为所述第一边界交换机的 ID的所述第 一数据流。  With reference to the first possible implementation manner of the first aspect, in the second possible implementation manner of the first aspect, the first flow entry is a second flow entry, a third flow entry, and a fourth flow table And the transmitter is configured to send the second flow entry to the source switch, where the second flow entry is used to indicate that the source switch generates the first a second data stream, and the source switch is configured to route the second data stream to the first border switch according to the static flow entry; the second data stream is the destination IP address is the first The first data stream of the ID of the border switch.
结合第一方面的第二种可能的实施方式, 在第一方面的第三种可能的实 施方式中, 所述处理器, 还用于判断第二边界交换机是否为所述域间最优路 由路径上的最后一个边界交换机, 获取判断结果; 其中, 所述第二边界交换 机为接收到第三数据流的所述域间最优路由路径上的任一边界交换机, 所述 第三数据流为目的 IP地址为所述域间最优路径上的任一边界交换机的 ID的 所述第一数据流; 并根据所述判断结果确定指示所述发送器向所述第二边界 交换机下发所述第三流表项或所述第四流表项。  With reference to the second possible implementation manner of the first aspect, in a third possible implementation manner of the first aspect, the processor is further configured to determine whether the second border switch is the inter-domain optimal routing path And obtaining, by the last border switch, the result of the judgment; wherein, the second border switch is any border switch on the inter-domain optimal routing path that receives the third data stream, and the third data stream is used as a destination The IP address is the first data stream of the ID of any border switch on the inter-domain optimal path; and determining, according to the determination result, that the sender sends the first to the second border switch The third flow entry or the fourth flow entry.
结合第一方面的第三种可能的实施方式, 在第一方面的第四种可能的实 施方式中, 所述处理器, 具体用于若所述判断结果为是, 则指示所述发送器 向所述第二边界交换机下发所述第三流表项; 其中, 所述第三流表项用于指 示所述第二边界交换机执行第一更改操作; 所述第一更改操作包括: 将所述 第三数据流的目的 IP 地址更改为所述目的域网络中的所述第一数据流的目 的终端的 IP地址; 若所述判断结果为否, 则指示所述发送器向所述第二边界 交换机下发所述第四流表项; 其中, 所述第四流表项用于指示所述第二边界 交换机根据所述第四流表项和所述静态流表项执行第二更改操作, 直至所述 处理器判断所述第二边界交换机为所述域间最优路由路径上的最后一个边界 交换机为止; 其中, 所述第二更改操作包括: 将所述第三数据流的目的 IP地 址更改为所述第二边界交换机在所述域间最优路由路径上的下一跳边界交换 机的 ID, 以将所述第三数据流路由至所述下一跳边界交换机上, 并将所述下 一跳边界交换机作为新的第二边界交换机。  With reference to the third possible implementation manner of the first aspect, in a fourth possible implementation manner of the first aspect, the processor is configured to: if the determining result is yes, instructing the transmitter to The second border switch delivers the third flow entry, where the third flow entry is used to instruct the second border switch to perform a first change operation; the first change operation includes: Changing the destination IP address of the third data stream to the IP address of the destination terminal of the first data stream in the destination domain network; if the determination result is no, instructing the sender to the second The border switch delivers the fourth flow entry, where the fourth flow entry is used to instruct the second border switch to perform a second change operation according to the fourth flow entry and the static flow entry. Until the processor determines that the second border switch is the last border switch on the inter-domain optimal routing path, where the second change operation includes: Changing an IP address to an ID of a next hop border switch of the second border switch on the inter-domain optimal routing path to route the third data stream to the next hop border switch, and The next hop boundary switch acts as a new second border switch.
结合第一方面至第一方面的第四种可能的实施方式中的任一项, 在第一 方面的第五种可能的实施方式中, 所述路由设备还包括: 接收器; 所述接收 器, 用于接收所述源端交换机根据缓存的所述第一数据流发送的新流请求消 息; Combining the first aspect to any one of the fourth possible embodiments of the first aspect, at the first In a fifth possible implementation manner, the routing device further includes: a receiver, configured to receive a new flow request message sent by the source switch according to the cached first data stream;
则所述处理器, 具体用于根据所述接收器接收到的所述新流请求消息获 取所述第一数据流的源 IP地址和所述第一数据流的目的 IP地址; 并根据所 述第一数据流的源 IP地址和所述第一数据流的目的 IP地址确定所述第一数 据流的所述源域网络和所述目的域网络。  The processor is specifically configured to acquire, according to the new flow request message received by the receiver, a source IP address of the first data stream and a destination IP address of the first data stream; The source IP address of the first data stream and the destination IP address of the first data stream determine the source domain network and the destination domain network of the first data stream.
结合第一方面的第五种可能的实施方式, 在第一方面的第六种可能的实 施方式中, 所述处理器, 具体用于生成全网路由拓扑图; 并根据所述全网路 由拓扑图确定所述第一数据流经所述源域网络路由至所述目的域网络中的所 述域间最优路由路径; 其中, 所述全网路由拓扑图包括: 所述 SDN网络中的 各个边界交换机和所述第一数据流在所述 SDN网络中的各个边界交换机之间 传输时的最优路径的路由代价。  With reference to the fifth possible implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect, the processor is specifically configured to generate a network-wide routing topology map, and according to the network-wide routing topology Determining, by the source network, the first data flow route to the inter-domain optimal routing path in the destination domain network, where the network-wide routing topology map includes: each of the SDN networks The routing cost of the optimal path when the border switch and the first data stream are transmitted between the various border switches in the SDN network.
结合第一方面的第四种可能的实施方式, 在第一方面的第七种可能的实 施方式中, 所述处理器, 还用于在所述发送器向所述第二边界交换机下发所 述第三流表项之后, 确定所述第二边界交换机到所述目的域网络中的所述目 的交换机的最优路径; 并指示所述发送器向所述第二边界交换机到所述目的 域网络中的所述目的交换机的最优路径上的所有交换机下发第五流表项, 以 使所述第二边界交换机将所述第一数据流以最短路径路由至所述第一数据流 的目的终端。  With reference to the fourth possible implementation of the first aspect, in a seventh possible implementation manner of the first aspect, the processor is further configured to send, by the sender, the second border switch After the third flow entry, determining an optimal path of the second border switch to the destination switch in the destination domain network; and instructing the sender to send the second border switch to the destination domain All the switches on the optimal path of the destination switch in the network deliver the fifth flow entry, so that the second border switch routes the first data flow to the first data flow in the shortest path. Destination terminal.
第二方面, 本发明提供一种软件定义网络的路由装置, 所述软件定义网 络 SDN包括至少两个域网络, 每个域网络包括至少一个第一交换机和至少一 个边界交换机, 所述边界交换机用于连接所述边界交换机所在的第一域网络 和所述边界交换机所在的第二域网络; 数据流通过所述边界交换机从所述第 一域网络路由至所述第二域网络; 所述路由装置包括:  In a second aspect, the present invention provides a routing device for a software-defined network, where the software-defined network SDN includes at least two domain networks, each of the domain networks includes at least one first switch and at least one border switch, and the border switch uses a first domain network where the border switch is connected and a second domain network where the border switch is located; a data flow is routed from the first domain network to the second domain network by the border switch; The device includes:
第一获取模块, 用于获取源端交换机发送的第一数据流的源域网络和目 的域网络; 其中, 所述源端交换机为所述第一交换机, 所述源端交换机位于 所述源域网络;  a first acquiring module, configured to obtain a source domain network and a destination domain network of the first data stream sent by the source switch, where the source switch is the first switch, and the source switch is located in the source domain The internet;
第一确定模块, 用于确定所述第一数据流经所述源域网络路由至所述目 的域网络中的域间最优路由路径, 所述域间最优路由路径上包括至少一个边 界交换机; a first determining module, configured to determine that the first data flow is routed to the inter-domain optimal routing path in the destination domain network by using the source domain network, where the inter-domain optimal routing path includes at least one edge Boundary switch
第一发送模块, 用于根据所述域间最优路由路径向所述源端交换机和所 述域间最优路由路径上的边界交换机下发第一流表项, 以使所述源端交换机 根据所述第一流表项和预设的静态流表项将所述第一数据流路由至所述源域 网络的第一边界交换机, 并使得所述第一边界交换机根据所述第一流表项和 所述静态流表项将所述第一数据流路由至所述目的域网络中; 其中, 所述第 一边界交换机为所述域间最优路由路径上的第一个边界交换机。  a first sending module, configured to send a first flow entry to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path, so that the source switch is configured according to the source switch The first flow entry and the preset static flow entry are used to route the first data flow to the first border switch of the source domain network, and the first border switch is configured according to the first flow entry and The static flow entry routes the first data flow to the destination domain network; wherein the first border switch is the first border switch on the inter-domain optimal routing path.
结合第二方面, 在第二方面的第一种可能的实施方式中, 所述路由装置 还包括:  With reference to the second aspect, in a first possible implementation manner of the second aspect, the routing device further includes:
第二获取模块, 用于在所述第一发送模块根据所述域间最优路由路径向 所述源端交换机和所述域间最优路由路径上的边界交换机下发第一流表项之 前, 获取任一所述域网络中的各个交换机到该域网络中的边界交换机的域内 最优路径; 其中, 所述域内最优路径为该域网络中的各个交换机到该域网络 中的边界交换机的最短路径;  a second obtaining module, configured to: before the first sending module sends the first flow entry to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path, Obtaining an intra-domain optimal path of each switch in the domain network to a border switch in the domain network; wherein the optimal path in the domain is a switch of each switch in the domain network to a border switch in the domain network Shortest path
第二发送模块, 用于根据所述域内最优路径向该域网络中的各个交换机 下发所述静态流表项, 以使该域网络中的各个交换机在接收到目的 IP地址为 该域网络中的任一边界交换机的 ID的数据流时,根据所述静态流表项将该数 据流以最优路径路由至该域网络中对应的边界交换机上。  a second sending module, configured to send the static flow entry to each switch in the domain network according to the optimal path in the domain, so that each switch in the domain network receives the destination IP address as the domain network. When the data stream of the ID of any of the border switches is used, the data stream is routed to the corresponding border switch in the domain network according to the static flow entry.
结合第二方面的第一种可能的实施方式, 在第二方面的第二种可能的实 施方式中, 所述第一流表项为第二流表项、 第三流表项、 第四流表项的其中 一种; 则所述第一发送模块, 包括:  With reference to the first possible implementation manner of the second aspect, in a second possible implementation manner of the second aspect, the first flow entry is a second flow entry, a third flow entry, and a fourth flow table One of the items; the first sending module, comprising:
第一发送单元, 用于向所述源端交换机下发所述第二流表项; 其中, 所 述第二流表项用于指示所述源端交换机生成第二数据流, 并指示所述源端交 换机根据所述静态流表项将所述第二数据流路由至所述第一边界交换机上; 所述第二数据流为目的 IP地址为所述第一边界交换机的 ID的所述第一数据 流。  a first sending unit, configured to send the second flow entry to the source switch, where the second flow entry is used to instruct the source switch to generate a second data flow, and indicate the The source switch routes the second data stream to the first border switch according to the static flow entry; the second data stream is the destination IP address being the ID of the first border switch. A data stream.
结合第二方面的第二种可能的实施方式, 在第二方面的第三种可能的实 施方式中, 所述第一发送模块, 还包括:  With reference to the second possible implementation of the second aspect, in a third possible implementation manner of the second aspect, the first sending module further includes:
判断单元, 用于判断第二边界交换机是否为所述域间最优路由路径上的 最后一个边界交换机, 获取判断结果; 其中, 所述第二边界交换机为接收到 第三数据流的所述域间最优路由路径上的任一边界交换机, 所述第三数据流 为目的 IP地址为所述域间最优路径上的任一边界交换机的 ID的所述第一数 据流; a judging unit, configured to determine whether the second border switch is the last border switch on the inter-domain optimal routing path, and obtain a judgment result; where the second border switch is received Any boundary switch on the inter-domain optimal routing path of the third data stream, where the third data stream is the destination IP address being the ID of any border switch on the inter-domain optimal path a data stream;
第二发送单元, 用于根据所述判断结果确定向所述第二边界交换机下发 所述第三流表项或所述第四流表项。  And a second sending unit, configured to send, according to the determining result, the third flow entry or the fourth flow entry to the second border switch.
结合第二方面的第三种可能的实施方式, 在第二方面的第四种可能的实 施方式中, 所述第二发送单元, 具体用于若所述判断结果为是, 则向所述第 二边界交换机下发所述第三流表项; 其中, 所述第三流表项用于指示所述第 二边界交换机执行第一更改操作; 所述第一更改操作包括: 将所述第三数据 流的目的 IP 地址更改为所述目的域网络中的所述第一数据流的目的终端的 IP地址; 若所述判断结果为否, 则向所述第二边界交换机下发所述第四流表 项; 其中, 所述第四流表项用于指示所述第二边界交换机根据所述第四流表 项和所述静态流表项执行第二更改操作, 直至所述判断单元判断所述第二边 界交换机为所述域间最优路由路径上的最后一个边界交换机为止; 其中, 所 述第二更改操作包括:将所述第三数据流的目的 IP地址更改为所述第二边界 交换机在所述域间最优路由路径上的下一跳边界交换机的 ID, 以将所述第三 数据流路由至所述下一跳边界交换机上, 并将所述下一跳边界交换机作为新 的第二边界交换机。  With reference to the third possible implementation manner of the second aspect, in a fourth possible implementation manner of the second aspect, the second sending unit is specifically configured to: if the determining result is yes, The second boundary switch delivers the third flow entry, where the third flow entry is used to instruct the second border switch to perform a first change operation; the first change operation includes: The destination IP address of the data stream is changed to the IP address of the destination terminal of the first data stream in the destination network; if the determination result is no, the fourth border is sent to the second border switch. a flow entry; the fourth flow entry is used to instruct the second border switch to perform a second change operation according to the fourth flow entry and the static flow entry, until the determining unit determines The second border switch is the last border switch on the inter-domain optimal routing path. The second change operation includes: changing the destination IP address of the third data stream to the second Determining, by the border switch, an ID of a next hop border switch on the inter-domain optimal routing path to route the third data stream to the next hop border switch, and using the next hop border switch as New second border switch.
结合第二方面至第二方面的第四种可能的实施方式中的任一项, 在第二 方面的第五种可能的实施方式中, 所述第一获取模块, 包括:  With reference to any one of the second aspect to the fourth possible implementation of the second aspect, in the fifth possible implementation manner of the second aspect, the first acquiring module includes:
接收单元, 用于接收所述源端交换机根据缓存的所述第一数据流发送的 新流请求消息;  a receiving unit, configured to receive a new flow request message sent by the source switch according to the cached first data stream;
获取单元,用于根据所述新流请求消息获取所述第一数据流的源 IP地址 和所述第一数据流的目的 IP地址;  An obtaining unit, configured to acquire, according to the new flow request message, a source IP address of the first data stream and a destination IP address of the first data stream;
第一确定单元,用于根据所述第一数据流的源 IP地址和所述第一数据流 的目的 IP地址确定所述第一数据流的所述源域网络和所述目的域网络。  a first determining unit, configured to determine the source domain network and the destination domain network of the first data stream according to a source IP address of the first data stream and a destination IP address of the first data stream.
结合第二方面的第五种可能的实施方式, 在第二方面的第六种可能的实 施方式中, 所述第一确定模块, 包括:  With reference to the fifth possible implementation of the second aspect, in a sixth possible implementation manner of the second aspect, the first determining module includes:
生成单元, 用于生成全网路由拓扑图;  a generating unit, configured to generate a network topology topology diagram;
第二确定单元, 用于根据所述全网路由拓扑图确定所述第一数据流经所 述源域网络路由至所述目的域网络中的所述域间最优路由路径; 其中, 所述 全网路由拓扑图包括: 所述 SDN网络中的各个边界交换机和所述第一数据流 在所述 SDN网络中的各个边界交换机之间传输时的最优路径的路由代价。 a second determining unit, configured to determine, according to the network-wide routing topology, the first data flow path The source network is routed to the inter-domain optimal routing path in the destination network; wherein the network-wide routing topology includes: each border switch in the SDN network and the first data stream in The routing cost of the optimal path when transmitting between the various border switches in the SDN network.
结合第二方面的第四种可能的实施方式, 在第二方面的第七种可能的实 施方式中, 所述路由装置还包括:  With reference to the fourth possible implementation of the second aspect, in a seventh possible implementation manner of the second aspect, the routing device further includes:
第二确定模块, 用于在所述第二发送单元向所述第二边界交换机下发所 述第三流表项之后, 确定所述第二边界交换机到所述目的域网络中的所述目 的交换机的最优路径;  a second determining module, configured to determine, after the second sending unit sends the third flow entry to the second border switch, the destination of the second border switch to the destination domain network The optimal path of the switch;
第三发送模块, 用于向所述第二边界交换机到所述目的域网络中的所述 目的交换机的最优路径上的所有交换机下发第五流表项, 以使所述第二边界 交换机将所述第一数据流以最短路径路由至所述第一数据流的目的终端。  a third sending module, configured to send, to the second border switch, all the switches on the optimal path of the destination switch in the destination domain network to send a fifth flow entry, so that the second border switch The first data stream is routed to the destination terminal of the first data stream in a shortest path.
第三方面, 本发明提供一种软件定义网络的路由方法, 所述软件定义网 络 SDN包括至少两个域网络, 每个域网络包括至少一个第一交换机和至少一 个边界交换机, 所述边界交换机用于连接所述边界交换机所在的第一域网络 和所述边界交换机所在的第二域网络; 数据流通过所述边界交换机从所述第 一域网络路由至所述第二域网络; 所述路由方法包括:  In a third aspect, the present invention provides a method for routing a software-defined network, where the software-defined network SDN includes at least two domain networks, each of the domain networks includes at least one first switch and at least one border switch, and the border switch uses a first domain network where the border switch is connected and a second domain network where the border switch is located; a data flow is routed from the first domain network to the second domain network by the border switch; Methods include:
控制器获取源端交换机发送的第一数据流的源域网络和目的域网络; 其 中, 所述源端交换机为所述第一交换机, 所述源端交换机位于所述源域网络; 所述控制器确定所述第一数据流经所述源域网络路由至所述目的域网络 中的域间最优路由路径,所述域间最优路由路径上包括至少一个边界交换机; 所述控制器根据所述域间最优路由路径向所述源端交换机和所述域间最 优路由路径上的边界交换机下发第一流表项, 以使所述源端交换机根据所述 第一流表项和预设的静态流表项将所述第一数据流路由至所述源域网络的第 一边界交换机, 并使得所述第一边界交换机根据所述第一流表项和所述静态 流表项将所述第一数据流路由至所述目的域网络中; 其中, 所述第一边界交 换机为所述域间最优路由路径上的第一个边界交换机。  The controller obtains the source domain network and the destination domain network of the first data stream sent by the source switch, where the source switch is the first switch, and the source switch is located in the source domain network; Determining that the first data flow is routed to the inter-domain optimal routing path in the destination domain network by the source domain network, where the inter-domain optimal routing path includes at least one border switch; The inter-domain optimal routing path sends a first flow entry to the source switch and the border switch on the optimal routing path of the inter-domain, so that the source switch according to the first flow entry and the pre-flow The static flow entry is configured to route the first data flow to the first border switch of the source domain network, and the first border switch is configured according to the first flow entry and the static flow entry. The first data stream is routed to the destination domain network; wherein the first border switch is the first border switch on the inter-domain optimal routing path.
结合第三方面, 在第三方面的第一种可能的实施方式中, 所述控制器根 据所述域间最优路由路径向所述源端交换机和所述域间最优路由路径上的边 界交换机下发第一流表项之前, 还包括:  With reference to the third aspect, in a first possible implementation manner of the third aspect, the controller, according to the inter-domain optimal routing path, is bound to an optimal routing path between the source switch and the inter-domain Before the switch delivers the first flow entry, it also includes:
所述控制器获取任一所述域网络中的各个交换机到该域网络中的边界交 换机的域内最优路径; 其中, 所述域内最优路径为该域网络中的各个交换机 到该域网络中的边界交换机的最短路径; The controller acquires a boundary of each switch in any of the domain networks to the domain network The optimal path in the domain of the switch; wherein the optimal path in the domain is the shortest path of each switch in the domain network to the border switch in the domain network;
所述控制器根据所述域内最优路径向该域网络中的各个交换机下发所述 静态流表项, 以使该域网络中的各个交换机在接收到目的 IP地址为该域网络 中的任一边界交换机的 ID的数据流时,根据所述静态流表项将该数据流以最 优路径路由至该域网络中对应的边界交换机上。  The controller sends the static flow entry to each switch in the domain network according to the optimal path in the domain, so that each switch in the domain network receives the destination IP address as the domain network. When the data stream of the ID of the border switch is used, the data stream is routed to the corresponding border switch in the domain network according to the static flow entry.
结合第三方面的第一种可能的实施方式, 在第三方面的第二种可能的实 施方式中, 所述第一流表项为第二流表项、 第三流表项、 第四流表项的其中 一种; 则所述控制器根据所述域间最优路由路径向所述源端交换机下发所述 第一流表项, 具体为:  With reference to the first possible implementation manner of the third aspect, in a second possible implementation manner of the third aspect, the first flow entry is a second flow entry, a third flow entry, and a fourth flow table And the controller sends the first flow entry to the source switch according to the optimal routing path between the domains, specifically:
所述控制器向所述源端交换机下发所述第二流表项; 其中, 所述第二流 表项用于指示所述源端交换机生成第二数据流, 并指示所述源端交换机根据 所述静态流表项将所述第二数据流路由至所述第一边界交换机上; 所述第二 数据流为目的 IP地址为所述第一边界交换机的 ID的所述第一数据流。  The controller sends the second flow entry to the source switch; where the second flow entry is used to instruct the source switch to generate a second data flow, and indicates the source switch Routing the second data stream to the first border switch according to the static flow entry; the second data stream is the first data stream whose destination IP address is an ID of the first border switch .
结合第三方面的第二种可能的实施方式, 在第三方面的第三种可能的实 施方式中, 所述控制器根据所述域间最优路由路径向所述域间最优路由路径 上的边界交换机下发第一流表项, 具体包括:  With reference to the second possible implementation manner of the third aspect, in a third possible implementation manner of the third aspect, the controller, according to the inter-domain optimal routing path, to the inter-domain optimal routing path The border switch delivers the first flow entry, including:
所述控制器判断第二边界交换机是否为所述域间最优路由路径上的最后 一个边界交换机, 获取判断结果; 其中, 所述第二边界交换机为接收到第三 数据流的所述域间最优路由路径上的任一边界交换机, 所述第三数据流为目 的 IP地址为所述域间最优路径上的任一边界交换机的 ID的所述第一数据流; 所述控制器根据所述判断结果确定向所述第二边界交换机下发所述第三 流表项或所述第四流表项。  Determining, by the controller, whether the second border switch is the last border switch on the inter-domain optimal routing path, and obtaining a determination result; wherein the second border switch is the inter-domain that receives the third data stream Any of the border switches on the optimal routing path, where the third data stream is the first data stream whose destination IP address is the ID of any border switch on the inter-domain optimal path; The determining result determines that the third flow entry or the fourth flow entry is delivered to the second border switch.
结合第三方面的第三种可能的实施方式, 在第三方面的第四种可能的实 施方式中, 所述控制器根据所述判断结果确定向所述第二边界交换机下发所 述第三流表项或所述第四流表项, 包括:  With reference to the third possible implementation manner of the third aspect, in a fourth possible implementation manner of the third aspect, the controller, according to the determining result, determining, to send the third to the second border switch The flow entry or the fourth flow entry includes:
若所述判断结果为是, 则所述控制器向所述第二边界交换机下发所述第 三流表项; 其中, 所述第三流表项用于指示所述第二边界交换机执行第一更 改操作; 所述第一更改操作包括: 将所述第三数据流的目的 IP地址更改为所 述目的域网络中的所述第一数据流的目的终端的 IP地址; 若所述判断结果为否, 则所述控制器向所述第二边界交换机下发所述第 四流表项; 其中, 所述第四流表项用于指示所述第二边界交换机根据所述第 四流表项和所述静态流表项执行第二更改操作, 直至所述控制器判断所述第 二边界交换机为所述域间最优路由路径上的最后一个边界交换机为止;其中, 所述第二更改操作包括:将所述第三数据流的目的 IP地址更改为所述第二边 界交换机在所述域间最优路由路径上的下一跳边界交换机的 ID, 以将所述第 三数据流路由至所述下一跳边界交换机上, 并将所述下一跳边界交换机作为 新的第二边界交换机。 If the determination result is yes, the controller sends the third flow entry to the second border switch, where the third flow entry is used to instruct the second border switch to perform the first a change operation; the first change operation includes: changing a destination IP address of the third data stream to an IP address of a destination terminal of the first data stream in the destination domain network; If the result of the determination is no, the controller sends the fourth flow entry to the second border switch; where the fourth flow entry is used to indicate that the second border switch is The fourth flow entry and the static flow entry perform a second change operation until the controller determines that the second boundary switch is the last boundary switch on the inter-domain optimal routing path; The second changing operation includes: changing a destination IP address of the third data stream to an ID of a next hop border switch of the second border switch on the inter-domain optimal routing path, to The third data stream is routed to the next hop border switch, and the next hop border switch is used as a new second border switch.
结合第三方面至第三方面的第四种可能的实施方式中的任一项, 在第三 方面的第五种可能的实施方式中, 所述控制器获取源端交换机发送的第一数 据流的源域网络和目的域网络, 包括:  With reference to any one of the third aspect to the fourth possible implementation manner of the third aspect, in a fifth possible implementation manner of the third aspect, the controller acquires the first data stream sent by the source switch Source and destination domain networks, including:
所述控制器接收所述源端交换机根据缓存的所述第一数据流发送的新流 请求消息;  The controller receives a new flow request message sent by the source switch according to the cached first data stream;
所述控制器根据所述新流请求消息获取所述第一数据流的源 IP 地址和 所述第一数据流的目的 IP地址;  The controller acquires a source IP address of the first data stream and a destination IP address of the first data stream according to the new flow request message;
所述控制器根据所述第一数据流的源 IP 地址和所述第一数据流的目的 IP地址确定所述第一数据流的所述源域网络和所述目的域网络。  The controller determines the source domain network and the destination domain network of the first data stream according to a source IP address of the first data stream and a destination IP address of the first data stream.
结合第三方面的第五种可能的实施方式, 在第三方面的第六种可能的实 施方式中, 所述控制器确定所述第一数据流经所述源域网络路由至所述目的 域网络中的域间最优路由路径, 包括:  With reference to the fifth possible implementation manner of the third aspect, in a sixth possible implementation manner of the third aspect, the controller determines that the first data stream is routed to the destination domain by using the source domain network The optimal inter-domain routing path in the network, including:
所述控制器生成全网路由拓扑图;  The controller generates a network topology topology diagram;
所述控制器根据所述全网路由拓扑图确定所述第一数据流经所述源域网 络路由至所述目的域网络中的所述域间最优路由路径; 其中, 所述全网路由 拓扑图包括:所述 SDN网络中的各个边界交换机和所述第一数据流在所述 SDN 网络中的各个边界交换机之间传输时的最优路径的路由代价。  Determining, by the controller, the first data flow route to the inter-domain optimal routing path in the destination domain network by using the source data network according to the network-wide routing topology map; The topology map includes a routing cost of an optimal path when each border switch in the SDN network and the first data stream are transmitted between respective border switches in the SDN network.
结合第三方面的第四种可能的实施方式, 在第三方面的第七种可能的实 施方式中, 所述控制器向所述第二边界交换机下发所述第三流表项之后, 所 述路由方法还包括:  With the fourth possible implementation of the third aspect, in a seventh possible implementation manner of the third aspect, after the controller sends the third flow entry to the second border switch, The routing method further includes:
所述控制器确定所述第二边界交换机到所述目的域网络中的所述目的交 换机的最优路径; 所述控制器向所述第二边界交换机到所述目的域网络中的所述目的交换 机的最优路径上的所有交换机下发第五流表项, 以使所述第二边界交换机将 所述第一数据流以最短路径路由至所述第一数据流的目的终端。 Determining, by the controller, an optimal path of the second border switch to the destination switch in the destination domain network; The controller sends a fifth flow entry to all switches on the optimal path of the destination switch in the destination domain network, so that the second border switch will The first data stream is routed to the destination terminal of the first data stream in a shortest path.
本发明实施例提供的软件定义网络的路由方法、 装置和设备, 通过处理 器获取源端交换机发送的第一数据流的源域网络和目的域网络, 并确定第一 数据流经源域网络路由至目的域网络中的域间最优路由路径, 指示发送器根 据该域间最优路由路径向源端交换机和域间最优路由路径上的边界交换机下 发第一流表项, 使得源端交换机根据第一流表项和预设的静态流表项将第一 数据流路由至源域网络的第一边界交换机, 并使得第一边界交换机根据第一 流表项和静态流表项将第一数据流路由至目的域网络中。 本发明实施例提供 的路由设备, 通过在 SDN网络中的所有交换机上预设静态流表项, 使得在有 多条数据流流入 SDN网络时, 发送器仅需要向源端交换机和域间最优路由路 径上的边界交换机下发第一流表项, 即仅需要路由设备与源端交换机和域间 最优路由路径上的边界交换机进行信息交互, 减少了路由设备与交换机之间 的交互次数, 提高了 SDN网络的路由性能。 附图说明  The method, device, and device for routing a software-defined network provided by the embodiment of the present invention, the source domain network and the destination domain network of the first data stream sent by the source switch are obtained by the processor, and the first data stream is determined to be routed through the source domain network. The inter-domain optimal routing path to the destination network, instructing the sender to deliver the first flow entry to the source switch and the border switch on the optimal routing path between the domains according to the optimal routing path between the domains, so that the source switch Routing the first data flow to the first border switch of the source domain network according to the first flow entry and the preset static flow entry, and causing the first boundary switch to use the first data flow according to the first flow entry and the static flow entry Routed to the destination domain network. The routing device provided by the embodiment of the present invention presets a static flow entry on all switches in the SDN network, so that when multiple data flows flow into the SDN network, the transmitter only needs to be optimally connected to the source switch and the domain. The border switch on the routing path delivers the first flow entry, that is, only the routing device exchanges information with the source switch and the border switch on the optimal routing path between the interfaces, which reduces the number of interactions between the routing device and the switch. The routing performance of the SDN network. DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对 实施例或现有技术描述中所需要使用的附图作一简单地介绍, 显而易见 地, 下面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员 来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附 图。  In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, a brief description of the drawings used in the embodiments or the prior art description will be briefly described below. Obviously, the drawings in the following description It is a certain embodiment of the present invention, and other drawings can be obtained from those skilled in the art without any creative work.
图 1为本发明提供的传统的 SDN网络的路由示意图;  1 is a schematic diagram of routing of a conventional SDN network provided by the present invention;
图 2为本发明提供的软件定义网络的路由设备实施例一的结构示意图; 图 3为本发明提供的 SDN网络架构示意图;  2 is a schematic structural diagram of Embodiment 1 of a routing device of a software-defined network according to the present invention; FIG. 3 is a schematic diagram of an SDN network architecture provided by the present invention;
图 4为本发明提供的域网络的架构示意图;  4 is a schematic structural diagram of a domain network provided by the present invention;
图 5为本发明提供的软件定义网络的路由设备实施例二的结构示意图; 图 6为本发明提供的全网路由拓扑图;  FIG. 5 is a schematic structural diagram of Embodiment 2 of a routing device of a software-defined network according to the present invention; FIG. 6 is a schematic diagram of a network-wide routing topology provided by the present invention;
图 7为本发明提供的软件定义网络的路由装置实施例一的结构示意图; 图 8为本发明提供的软件定义网络的路由装置实施例二的结构示意图; 图 9为本发明提供的软件定义网络的路由装置实施例三的结构示意图; 图 10为本发明提供的软件定义网络的路由装置实施例四的结构示意图; 图 U为本发明提供的软件定义网络的路由方法实施例一的流程示意图; 图 12为本发明提供的软件定义网络的路由方法实施例二的流程示意图; 图 13为本发明提供的软件定义网络的路由方法实施例三的流程示意图。 具体实施方式 为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本 发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描 述, 显然,所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提 下所获得的所有其他实施例, 都属于本发明保护的范围。 FIG. 7 is a schematic structural diagram of Embodiment 1 of a software-defined network routing apparatus according to the present invention; FIG. 8 is a schematic structural diagram of Embodiment 2 of a software-defined network routing apparatus according to the present invention; FIG. 9 is a schematic structural diagram of Embodiment 3 of a software-defined network routing apparatus according to the present invention; FIG. 10 is a schematic structural diagram of Embodiment 4 of a software-defined network routing apparatus according to the present invention; FIG. 9 is a software-defined network provided by the present invention. FIG. 12 is a schematic flowchart of Embodiment 2 of a software-defined network routing method provided by the present invention; FIG. 13 is a schematic flowchart of Embodiment 3 of a software-defined network routing method provided by the present invention. The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. The embodiments are a part of the embodiments of the invention, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
图 2为本发明提供的软件定义网络的路由设备实施例一的结构示意图。 该路由设备 10可以为 SDN网络中的控制器,还可以集成在控制器中的硬件设 备。 该控制器为与 OpenFlow交换机通过 OpenFlow协议和安全通道连接的外 部控制器 (Control ler ) 。 该 SDN网络可以包括至少两个域网络, 每个域网 络包括至少一个第一交换机和至少一个边界交换机, 所述边界交换机用于连 接所述边界交换机所在的第一域网络和所述边界交换机所在的第二域网络; 数据流通过所述边界交换机从所述第一域网络路由至所述第二域网络。 SDN 网络可以参见图 3所示的例子 (图 3只是示意) , 该 SDN网络被划分为 4个 域网络, 分别是域网络 1 (简称域 1 ) 、 域 2、 域 3和域 4 ) 。 以域 1为例, 域 1包括 SW1和 SW2两个边界交换机, SW1为连接域 1和域 2的边界交换机, SW2为连接域 1和域 3的边界交换机。 gp, 域 1可以为 SW1所在的第一域网 络, 域 2可以为 SW1所在的第二域网络; 或, 域 1为 SW2所在的第一域网络, 域 3为 SW2所在的第二域网络。 若数据流要从域 1流进域 2内的交换机中, 则需要经过域 1 的 SW1 , 也就是说, 当数据包离开某个域时, 需要经过这个 域的某个边界交换机。  FIG. 2 is a schematic structural diagram of Embodiment 1 of a routing device of a software-defined network according to the present invention. The routing device 10 can be a controller in an SDN network and can also be integrated into a hardware device in the controller. The controller is an external controller (Controller) connected to the OpenFlow switch through the OpenFlow protocol and secure channel. The SDN network may include at least two domain networks, each of the domain networks includes at least one first switch and at least one border switch, where the border switch is used to connect the first domain network where the border switch is located and the border switch a second domain network; a data stream is routed from the first domain network to the second domain network through the border switch. The SDN network can be seen in the example shown in Figure 3 (Figure 3 is only schematic). The SDN network is divided into four domain networks, namely domain network 1 (referred to as domain 1), domain 2, domain 3, and domain 4). Taking domain 1 as an example, domain 1 includes two border switches SW1 and SW2, SW1 is a border switch connecting domain 1 and domain 2, and SW2 is a border switch connecting domain 1 and domain 3. Gp, domain 1 can be the first domain network where SW1 is located, domain 2 can be the second domain network where SW1 is located, or domain 1 is the first domain network where SW2 is located, and domain 3 is the second domain network where SW2 is located. If the data stream flows from domain 1 into the switch in domain 2, it needs to pass through SW1 of domain 1. That is, when the packet leaves a domain, it needs to pass through a border switch of the domain.
如图 2所示, 该路由设备 10包括: 处理器 11和发送器 12。 其中, 处理 器 11, 用于获取源端交换机发送的第一数据流的源域网络和目的域网络; 其 中, 所述源端交换机为所述第一交换机, 所述源端交换机位于所述源域网络; 并确定所述第一数据流经所述源域网络路由至所述目的域网络中的域间最优 路由路径, 所述域间最优路由路径上包括至少一个边界交换机; 发送器 12, 用于根据所述域间最优路由路径向所述源端交换机和所述域间最优路由路径 上的边界交换机下发第一流表项, 以使所述源端交换机根据所述第一流表项 和预设的静态流表项将所述第一数据流路由至所述源域网络的第一边界交换 机, 并使得所述第一边界交换机根据所述第一流表项和所述静态流表项将所 述第一数据流路由至所述目的域网络中; 其中, 所述第一边界交换机为所述 域间最优路由路径上的第一个边界交换机。 As shown in FIG. 2, the routing device 10 includes: a processor 11 and a transmitter 12. The processor 11 is configured to obtain a source domain network and a destination domain network of the first data stream sent by the source switch, where the source switch is the first switch, and the source switch is located at the source Domain network And determining, by the source network, the first data flow route to the inter-domain optimal routing path in the destination domain network, where the inter-domain optimal routing path includes at least one border switch; The first flow entry is sent to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path, so that the source switch according to the first flow entry And the preset static flow entry to route the first data flow to the first border switch of the source domain network, and the first border switch according to the first flow entry and the static flow entry Routing the first data stream to the destination domain network; wherein the first border switch is the first border switch on the inter-domain optimal routing path.
具体的, 上述 SDN网络对于域的划分和传统的互联网络相似, 是按照 IP地址进行的, 即将 IP地址前缀相同的网络节点 (即通信终端) 划分到 一个域中, 也就是与这些终端连接的交换机划分到一个域中, 并将这个 IP 地址前缀可以作为该域的身份标识 (Identify, 以下简称 ID ) 。 可选的, 在本发明实施例中, 边界交换机上可以不连接通信终端, 它们只转发数据 包。  Specifically, the foregoing SDN network is similar to the traditional interconnection network in that the domain is divided according to the IP address, that is, the network nodes with the same IP address prefix (ie, communication terminals) are divided into one domain, that is, connected to the terminals. The switch is divided into a domain, and the IP address prefix can be used as the identity of the domain (Identify, hereinafter referred to as ID). Optionally, in the embodiment of the present invention, the border switch may not be connected to the communication terminal, and they only forward the data packet.
以图 3为例, 某一条数据流需要从发送终端流向目的终端; 其中, 与 发送终端连接是源端交换机 (Source , 简称 SRC) , 与目的终端连接的是 目的交换机(Destination, 简称 DST) , 在源端交换机和目的交换机之间 连接有至少一个第一交换机和至少一个边界交换机, 这些交换机被划分在 不同的域中。 源端交换机也属于第一交换机, 且该源端交换机位于源域网络 中。 假设源端交换机位于域 1中, 目的交换机位于域 4中, 即此时域 1为 源域网络, 域 4为目的域网络。  Taking FIG. 3 as an example, a certain data stream needs to flow from the transmitting terminal to the destination terminal; wherein, the connection with the sending terminal is a source switch (Source, SRC for short), and the destination terminal is connected with a destination switch (Destination, DST for short). At least one first switch and at least one border switch are connected between the source switch and the destination switch, and the switches are divided into different domains. The source switch also belongs to the first switch, and the source switch is located in the source domain network. Assume that the source switch is in domain 1, and the destination switch is in domain 4. That is, domain 1 is the source domain network and domain 4 is the destination domain network.
源端交换机接收发送终端发送的第一数据流, 该第一数据流的源 IP 地址为发送终端的 IP地址,该第一数据流的目的 IP地址为目的终端的 IP 地址。源端交换机将所接收到的第一数据流发送给处理器 11, 使得处理器 11 根据该第一数据流获知该第一数据流的源域网络和目的域网络。 可选 的, 处理器 11 可以通过解析第一数据流获知该第一数据流的源域网络和 目的域网络。  The source switch receives the first data stream sent by the sending terminal, where the source IP address of the first data stream is an IP address of the sending terminal, and the destination IP address of the first data stream is an IP address of the destination terminal. The source switch sends the received first data stream to the processor 11, so that the processor 11 learns the source domain network and the destination domain network of the first data stream according to the first data stream. Optionally, the processor 11 can learn the source domain network and the destination domain network of the first data stream by parsing the first data stream.
并且, 在处理器 11 接收源端交换机发送的第一数据流之前, 处理器 11会指示发送器 12向各个域网络中的所有第一交换机和边界交换机下发 一次静态流表项, 且发送给每个交换机 (第一交换机或边界交换机) 的静 态流表项可能不同, 但是每个静态流表项的作用均是指示某一域中的所有 交换机 (第一交换机或边界交换机) 将所接收到的目的 IP地址为该域中 任一边界交换机的 ID的数据流路由至该域网络上的某一个边界交换机上, 以使该数据流可以通过该边界交换机流向下一个域网络中。 至于该数据流 会路由至该域网络上的哪一个边界交换机, 由该数据流的 IP地址对应的 边界交换机的 ID决定。 In addition, before the processor 11 receives the first data stream sent by the source switch, the processor 11 instructs the transmitter 12 to send a static flow entry to all the first switches and the border switches in each domain network, and sends the static flow entry to the first switch and the border switch. Static of each switch (first switch or border switch) The state flow entries may be different, but the role of each static flow entry is to indicate that all switches (first switch or border switch) in a domain will receive the destination IP address as any border switch in the domain. The data stream of the ID is routed to a border switch on the domain network so that the data stream can flow through the border switch to the next domain network. As to which boundary switch the data stream will route to the domain network, it is determined by the ID of the border switch corresponding to the IP address of the data stream.
处理器 11 在确定第一数据流的源域网络和目的域网络之后, 根据自 身的一些路由算法,确定第一数据流经源域网络路由至目的域网络中的域间 最优路由路径, 该域间最优路由路径上包括至少一个边界交换机。 以图 3为 例, 即确定第一数据流从域 1流进域 4的最优路径, 处理器 11分别计算源 域网络 (域 1 ) 的边界交换机 SW1、 SW2和目的域网络 (域 4 ) 的边界交换 机 SW4、 SW5之间的路由, 得到 SW2-〉SW5是域间最优路由路径, 即第一数 据流从域 1路由至域 4的最优路径是 SW2-〉SW5的这条路径, 该域间最优 路由路径上包括了两个边界交换机。  After determining the source domain network and the destination domain network of the first data stream, the processor 11 determines, according to some routing algorithms of the first data flow, the first data flow route to the inter-domain optimal routing path in the destination domain network. The inter-domain optimal routing path includes at least one border switch. Taking FIG. 3 as an example, the optimal path of the first data stream flowing from the domain 1 into the domain 4 is determined, and the processor 11 respectively calculates the border switches SW1, SW2 and the destination domain network (domain 4) of the source domain network (domain 1). The route between the border switches SW4 and SW5 is obtained. The SW2->SW5 is the optimal routing path between the domains, that is, the optimal path of the first data flow from the domain 1 to the domain 4 is the path of SW2->SW5. Two boundary switches are included in the optimal routing path between the domains.
处理器 11在确定域间最优路由路径之后, 指示发送器 12根据该域间最 优路由路径向源端交换机和该域间最优路由路径上的所有的边界交换机下发 第一流表项。 当源端交换机接收到发送器 12下发的第一流表项之后, 结合之 前发送器 12发送的静态流表项,将源端交换机上的第一数据流以最短路径路 由至源域网络的第一边界交换机上, 该第一边界交换机为上述域间最优路由 路径上的第一个边界交换机 (该第一流表项可以使得源端交换机知道将第一 数据流路由至源域网络中的哪一个边界交换机上, 静态流表项的作用是使得 源端交换机将第一数据流以最短路径路由至该边界交换机上) 。 之后, 因为 第一边界交换机之前也接收到了发送器 12发送的静态流表项和第一流表项, 第一边界交换机根据发送器 12 发送给第一边界交换机的第一流表项直接或 间接获知应该将第一数据流 (此时第一数据流的目的 IP 地址已经发生了变 化, 但因为第一数据流中的数据并未发生变化, 这里依然可以称作是第一数 据流)路由至目的域网络中的哪一个边界交换机上, 并根据之前发送器 12发 送给第一边界交换机的静态流表项将第一数据流以最短路径路由至该边界交 换机上, 从而使得第一边界交换机将第一数据流直接或间接路由至目的域网 络中。 例如, 可以参照图 3, 源端交换机根据之前发送器 12下发的静态流表项 和第一流表项将第一数据流以最短路径路由至域 1的 SW2上, 该 SW2为域间 最优路由路径上的第一边界交换机, 即是域间最优路由路径上的第一个边界 交换机; SW2可以根据之前发送器 12下发给 SW2的静态流表项和第一流表项 将第一数据流以最短路径路由至域 4的边界交换机 SW5上, 即将第一数据流 直接路由到了目的域网络中 (SW5 本身属于目的域网络) 。 可选的, 处理器 11还会计算 SW5到目的交换机的最优路径, 并根据所计算的最优路径, 指示 发送器 12向 SW5下发该最优路径对应的流表项,使得 SW5可以将第一数据流 路由至目的交换机上。 After determining the inter-domain optimal routing path, the processor 11 instructs the transmitter 12 to deliver the first flow entry to the source switch and all the border switches on the optimal routing path according to the inter-domain optimal routing path. After the source switch receives the first flow entry sent by the sender 12, the first data stream on the source switch is routed to the source network through the shortest path in combination with the static flow entry sent by the sender 12 On a border switch, the first border switch is the first border switch on the inter-domain optimal routing path (the first flow entry may enable the source switch to know where to route the first data flow to the source domain network) On a border switch, the static flow entry is used to enable the source switch to route the first data stream to the border switch in the shortest path. After the first boundary switch receives the static flow entry and the first flow entry sent by the sender 12, the first border switch directly or indirectly learns according to the first flow entry sent by the transmitter 12 to the first border switch. The first data stream (when the destination IP address of the first data stream has changed, but the data in the first data stream has not changed, which may still be referred to as the first data stream) is routed to the destination domain. Which boundary switch in the network, and according to the static flow entry sent by the sender 12 to the first border switch, routes the first data stream to the border switch in the shortest path, so that the first border switch will be the first The data stream is routed directly or indirectly to the destination domain network. For example, referring to FIG. 3, the source switch routes the first data stream to the SW2 of the domain 1 by using the shortest path according to the static flow entry and the first flow entry delivered by the transmitter 12, and the SW2 is optimal between the domains. The first border switch on the routing path is the first border switch on the optimal routing path of the inter-domain; the SW2 can be the first data according to the static flow entry and the first flow entry sent by the sender 12 to the SW2. The flow is routed to the border switch SW5 of domain 4 in the shortest path, that is, the first data stream is directly routed to the destination domain network (SW5 itself belongs to the destination domain network). Optionally, the processor 11 further calculates an optimal path from the SW5 to the destination switch, and instructs the sender 12 to send the flow entry corresponding to the optimal path to the SW5 according to the calculated optimal path, so that the SW5 can The first data stream is routed to the destination switch.
又例如, 假设第一数据流的域间最优路由路径为 SW2-〉SW3-〉SW5 (只是 一种假设),则 SW2也可以间接地将第一数据流路由至目的域网络域 4中, 即, SW2可以通过 SW3将第一数据流以最短路径路由至目的域网络域 4中。 具体为:源端交换机根据之前发送器 12下发的静态流表项和第一流表项将第 一数据流以最短路径路由至域 1的 SW2上, 该 SW2为域间最优路由路径上的 第一边界交换机, 即是域间最优路由路径上的第一个边界交换机; SW2 可以 根据之前发送器 12下发给 SW2的静态流表项和第一流表项将第一数据流以最 短路径路由至 SW3上; SW3可以根据之前发送器 12下发给 SW3的静态流表项 和第一流表项将第一数据流以最短路径路由至 SW5中, 即 SW2间接的将第一 数据流间接路由到了目的域网络中。可选的, 处理器 1 1还会计算 SW5到目的 交换机的最优路径, 并根据所计算的最优路径, 指示发送器 12向 SW5下发该 最优路径对应的流表项, 使得 SW5可以将第一数据流路由至目的交换机上。  For another example, if the inter-domain optimal routing path of the first data stream is SW2->SW3->SW5 (just an assumption), the SW2 may also indirectly route the first data stream to the destination domain network domain 4. That is, SW2 can route the first data stream to the destination domain network domain 4 through the shortest path through SW3. Specifically, the source switch routes the first data stream to the SW2 of the domain 1 by using the shortest path according to the static flow entry and the first flow entry sent by the transmitter 12, where the SW2 is on the optimal routing path between the domains. The first border switch is the first border switch on the optimal routing path between the domains; the SW2 can use the static flow entry and the first flow entry sent by the sender 12 to the SW2 to the shortest path. Routed to the SW3; the SW3 can route the first data stream to the SW5 in the shortest path according to the static flow entry and the first flow entry sent by the transmitter 12 to the SW3, that is, the SW2 indirectly routes the first data flow indirectly. In the destination domain network. Optionally, the processor 11 further calculates an optimal path of the SW5 to the destination switch, and instructs the transmitter 12 to send the flow entry corresponding to the optimal path to the SW5 according to the calculated optimal path, so that the SW5 can be Route the first data stream to the destination switch.
再例如, 还有另外一种特殊的情况, 假设图 3 中的目的交换机位于域 3 中, 即域 3是目的域网络, 域 1依然为源域网络, 则 SW2是连接源域网络和 目的域网络的边界交换机, 既是域间最优路由路径上的第一个边界交换机, 也是域间最优路由路径上的最后一个边界交换机。 源端交换机依然可以根据 发送器 12下发的第一流表项获知应该将第一数据流路由至 SW2上,并根据源 端交换机上的静态流表项将第一数据流以最短路径路由至 SW2上; SW2通过 发送器 12下发给 SW2的第一流表项和静态流表项获知自己所在的域就是目的 域网络, 即此时已经将第一数据流路由到了目的域网络中。 可选的, 处理器 11还会计算 SW2到目的交换机的最优路径, 并根据所计算的最优路径, 指示 发送器 12向 SW2下发该最优路径对应的流表项,使得 SW2可以将第一数据流 路由至目的交换机上。 For another example, there is another special case. It is assumed that the destination switch in Figure 3 is located in domain 3. That is, domain 3 is the destination domain network, domain 1 is still the source domain network, and SW2 is the connection source domain network and destination domain. The border switch of the network is the first border switch on the optimal routing path between domains and the last border switch on the optimal routing path between domains. The source switch can still learn to route the first data stream to SW2 according to the first flow entry sent by the sender 12, and route the first data stream to the SW2 by using the shortest path according to the static flow entry on the source switch. The SW2 is sent to the first flow entry and the static flow entry of the SW2 by the sender 12 to learn that the domain in which the domain is located is the destination domain network, that is, the first data flow has been routed to the destination domain network. Optionally, the processor 11 further calculates an optimal path from the SW2 to the destination switch, and indicates according to the calculated optimal path. The sender 12 delivers the flow entry corresponding to the optimal path to the SW2, so that the SW2 can route the first data flow to the destination switch.
现有技术中, 发送终端每向目的终端发送一条数据流, 均需要路由设备 10向该数据流所在路径上的所有交换机下发流表项,当 SDN网络的规模扩大, 网络中交换机数目和流入的数据流的增多时,路由设备 10与交换机之间的交 互会变得非常频繁, 从而影响大规模 SDN网络下的路由性能。 但是, 在本发 明实施例中, 当发送终端向目的终端发送多条数据流时, 由于该 SDN网络上 的所有交换机上预设有静态流表项, 而该静态流表项用于将任一交换机上的 数据流路由至该交换机所在的域网络的边界交换机上 (且路由设备 10给 SDN 网络上的所有交换机发送静态流表项仅发送一次) , 因此本发明实施例提供 的路由设备 10在每次数据流到达交换机时,仅需要向源端交换机和域间最优 路由路径上的边界交换机下发第一流表项, 就可以将第一数据流路由至目的 域网络中, 无需再向该域间最优路由路径上的每一个交换机下发流表项, 从 而使得路由设备 10与交换机之间的交互信息减少,提高了 SDN网络的路由性 能。  In the prior art, each time the transmitting terminal sends a data stream to the destination terminal, the routing device 10 needs to send a flow entry to all the switches in the path where the data stream is located. When the size of the SDN network is expanded, the number of switches and the inflow in the network. When the number of data streams increases, the interaction between the routing device 10 and the switch becomes very frequent, thereby affecting the routing performance under the large-scale SDN network. However, in the embodiment of the present invention, when the sending terminal sends multiple data streams to the destination terminal, the static flow entry is pre-configured on all the switches on the SDN network, and the static flow entry is used for any The data flow on the switch is routed to the border switch of the domain network where the switch is located (and the routing device 10 sends the static flow entry to the switch on the SDN network to send the static flow entry only once). Therefore, the routing device 10 provided by the embodiment of the present invention is Each time a data stream arrives at the switch, the first flow entry can be sent to the destination switch in the source switch and the border switch on the optimal routing path of the inter-domain. Each switch on the optimal routing path in the interzone sends a flow entry, so that the interaction information between the routing device 10 and the switch is reduced, and the routing performance of the SDN network is improved.
本发明实施例提供的软件定义网络的路由设备, 通过处理器获取源端交 换机发送的第一数据流的源域网络和目的域网络, 并确定第一数据流经源域 网络路由至目的域网络中的域间最优路由路径, 指示发送器根据该域间最优 路由路径向源端交换机和域间最优路由路径上的边界交换机下发第一流表 项, 使得源端交换机根据第一流表项和预设的静态流表项将第一数据流路由 至源域网络的第一边界交换机, 并使得第一边界交换机根据第一流表项和静 态流表项将第一数据流路由至目的域网络中。本发明实施例提供的路由设备, 通过在 SDN网络中的所有交换机上预设静态流表项, 使得在有多条数据流流 入 SDN网络时, 发送器仅需要向源端交换机和域间最优路由路径上的边界交 换机下发第一流表项, 即仅需要路由设备与源端交换机和域间最优路由路径 上的边界交换机进行信息交互, 减少了路由设备与交换机之间的交互次数, 提高了 SDN网络的路由性能。 在上述图 2所示实施例的基础上, 作为本发明实施例的一种可能的实 施方式, 本实施例涉及的是处理器 1 1指示发送器 12向 SDN网络中的所有 交换机下发静态流表项的过程。 进一歩地, 上述处理器 11, 还用于在根据 上述域间最优路由路径向源端交换机和域间最优路由路径上的边界交换机下 发第一流表项之前, 获取任一域网络中的各个交换机到该域网络中的边界交 换机的域内最优路径; 其中, 该域内最优路径为该域网络中的各个交换机到 该域网络中的边界交换机的最短路径; 上述发送器 12, 还用于根据所述域内 最优路径向该域网络中的各个交换机下发静态流表项, 以使该域网络中的各 个交换机在接收到目的 IP地址为该域网络中的任一边界交换机的 ID的数据 流时, 根据静态流表项将所述数据流以最优路径路由至该域网络中对应的边 界交换机上。 The routing device of the software-defined network provided by the embodiment of the present invention acquires the source domain network and the destination domain network of the first data stream sent by the source switch by using the processor, and determines that the first data stream is routed to the destination domain network through the source domain network. The inter-domain optimal routing path, instructing the sender to deliver the first flow entry to the source switch and the border switch on the optimal routing path between the inter-domains according to the optimal routing path between the inter-domains, so that the source switch according to the first flow table And the preset static flow entry routes the first data flow to the first border switch of the source domain network, and causes the first border switch to route the first data flow to the destination domain according to the first flow entry and the static flow entry. In the network. The routing device provided by the embodiment of the present invention presets a static flow entry on all switches in the SDN network, so that when multiple data flows flow into the SDN network, the transmitter only needs to be optimally connected to the source switch and the domain. The border switch on the routing path delivers the first flow entry, that is, only the routing device exchanges information with the source switch and the border switch on the optimal routing path between the interfaces, which reduces the number of interactions between the routing device and the switch. The routing performance of the SDN network. On the basis of the foregoing embodiment shown in FIG. 2, as a possible implementation manner of the embodiment of the present invention, the embodiment relates to the processor 11 indicating all the transmitters 12 to the SDN network. The process of sending static flow entries to the switch. Further, the processor 11 is further configured to acquire the first flow entry before the first flow entry is sent to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path. The optimal path of each switch to the border switch in the domain network; wherein the optimal path in the domain is the shortest path of each switch in the domain network to the border switch in the domain network; the transmitter 12, And sending a static flow entry to each switch in the domain network according to the optimal path in the domain, so that each switch in the domain network receives the destination IP address as any boundary switch in the domain network. During the data flow of the ID, the data flow is routed to the corresponding border switch in the domain network according to the static flow entry.
具体的,本发明实施例提供的路由设备 10在根据上述域间最优路由路径 向源端交换机和域间最优路由路径上的边界交换机下发第一流表项之前, 还 存在一个预路由的过程。 gp, 处理器 11 利用一些路由算法, 例如 Specifically, the routing device 10 provided by the embodiment of the present invention has a pre-routed before the first flow entry is sent to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path. process. Gp, processor 11 utilizes some routing algorithms, such as
Floyd-War shall算法, 得到任一域网络中的各个交换机 (包括该域网络中的 第一交换机和边界交换机)到该域网络中的所有边界交换机的域内最优路径。 可以参见图 4所示 (图 4所示的域 1与图 3中所示的域 1相同) , 普通 SDN 交换机 S3 (即第一交换机, 可以看作是源端交换机) 到边界交换机 SW1的最 优路径为 S3-〉SW2, 边界交换机 SW1到 SW2的最优路径为 SW1-〉S2-〉SW2。 The Floyd-War shall algorithm obtains the intra-domain optimal path of each switch in any domain network (including the first switch and the border switch in the domain network) to all the border switches in the domain network. See Figure 4 (the domain 1 shown in Figure 4 is the same as the domain 1 shown in Figure 3). The normal SDN switch S3 (that is, the first switch can be regarded as the source switch) to the border switch SW1. The optimal path is S3->SW2, and the optimal path of the border switches SW1 to SW2 is SW1->S2->SW2.
发送器 12根据处理器 11得到的域内最优路径, 向该域网络中的每一个 交换机下发相应的静态流表项,该静态流表项中的目的 IP地址为该域网络中 的某个边界交换机的 ID, 静态流表项的其它域设为通配, 同时到达该域网络 中的任一边界交换机的最优路径也决定了静态流表项动作的输出端口 (可以 参见图 4中所示的静态流表项) 。 如图 4所示, 域 1中的边界交换机 SW1和 SW2的 ID分别为 192. 168. 6. 1以及 192. 168. 6. 2。处理器 11在确定了域 1中 的域内最优路径之后, 发送器 12根据该域内最优路径向 S3下发了两条静态 流表项, 向边界交换机 SW1下发了一条静态流表项。 当 S3接收到目的 IP地 址为 192. 168. 6. 2 (即 SW2的 ID) 的数据流时, S3会根据 S3上的静态流表 项会匹配该数据流, 从而可以将数据流以最短路径路由到所对应的边界交换 机 SW2。 这里的数据流与上述实施例一的第一数据流不同点在于, 上述实施 例一的第一数据流的目的 IP地址为目的终端的 IP地址, 这里的数据流的目 的 IP地址为 SW2的 ID, 若这里的数据流与第一数据流中所携带的数据信息 相同, 则这个数据流实际上也可以称为第一数据流。 The sender 12 sends a corresponding static flow entry to each switch in the domain network according to the optimal path in the domain obtained by the processor 11. The destination IP address in the static flow entry is one of the domain networks. The ID of the border switch, the other fields of the static flow entry are set to be wildcarded, and the optimal path of any border switch in the network also determines the output port of the static flow entry action (see Figure 4 for the output port). The static flow entry shown). As shown in Figure 4, the IDs of the border switches SW1 and SW2 in the domain 1 are 192.168.6.1 and 192.168.6.2. After the processor 11 determines the optimal path in the domain in the domain 1, the transmitter 12 sends two static flow entries to the S3 in accordance with the optimal path in the domain, and sends a static flow entry to the border switch SW1. When S3 receives the data stream whose destination IP address is 192.168.6.2 (that is, the ID of SW2), S3 matches the data stream according to the static flow entry on S3, so that the data stream can be the shortest path. Route to the corresponding border switch SW2. The data stream here is different from the first data stream in the first embodiment in that the destination IP address of the first data stream in the first embodiment is the IP address of the destination terminal, and the destination IP address of the data stream is the ID of the SW2. , if the data stream here and the data information carried in the first data stream The same, this data stream can also be called the first data stream.
需要说明的是, 每个交换机上的静态流表项中的动作可能不一样 (即输 出数据流的端口不一样) , 目的 IP地址也有可能不一样。  It should be noted that the action in the static flow entry on each switch may be different (that is, the port of the output data stream is different), and the destination IP address may be different.
另外, 处理器 11对 SDN网络的预路由过程是逐域进行的, 即处理器 11 对 SDN网络的每个域网络均会进行预路由,即处理器 11均会确定每个域网络 中的各个交换机到该域网络中的边界交换机的域内最优路径, 使得发送器 12 向该域网络中的所有交换机下发对应的静态流表项。 也就是说, 最终发送器 12会向 SDN网络中的所有交换机下发静态流表项, 且该静态流表项只下发一 次。 并且, 处理器 11进行预路由过程的目的在于, 无论是边界交换机还是第 一交换机, 当它们接收到目的 IP地址是本域内任一边界交换机的 ID的数据 流时, 由于事先存在发送器 12下发的可以匹配该数据流的静态流表项, 因此 无需请求路由设备 10, 就可以直接将接收到的数据流以最短路径路由到该域 内的边界交换机上。  In addition, the pre-routing process of the processor 11 to the SDN network is performed on a domain-by-domain basis, that is, the processor 11 pre-routes each domain network of the SDN network, that is, the processor 11 determines each of the domains in each domain network. The optimal path in the domain of the switch to the border switch in the domain network, so that the sender 12 delivers the corresponding static flow entry to all the switches in the domain network. That is to say, the final sender 12 sends a static flow entry to all the switches in the SDN network, and the static flow entry is sent only once. Moreover, the purpose of the pre-routing process by the processor 11 is that, when the boundary switch or the first switch receives the data stream whose destination IP address is the ID of any border switch in the domain, the transmitter 12 exists in advance. A static flow entry that matches the data flow can be matched, so that the received data flow can be directly routed to the border switch in the domain by the shortest path without requesting the routing device 10.
本发明实施例提供的软件定义网络的路由设备, 通过处理器获取任一域 网络中的各个交换机到该域网络中的边界交换机的域内最优路径, 使得发送 器可以根据该域内最优路径向该域网络中的各个交换机下发静态流表项, 以 使该域网络中的各个交换机在接收到目的 IP 地址为该域网络中的任一边界 交换机的 ID的数据流时,根据静态流表项将该数据流以最优路径路由至该域 网络中的边界交换机上。 本发明实施例提供的路由设备, 通过在 SDN网络中 的所有交换机上预设静态流表项, 使得在有多条数据流流入 SDN网络时, 发 送器仅需要向源端交换机和域间最优路由路径上的边界交换机下发第一流表 项, 即仅需要路由设备与源端交换机和域间最优路由路径上的边界交换机进 行信息交互, 减少了路由设备交换机之间的交互次数, 提高了 SDN网络的路 由性能。 在上述实施例的基础上, 作为本发明实施例的另一种可能的实施方 式, 本实施例涉及的是路由设备 10将第一数据流路由至目的域网络中的 目的交换机的整个具体过程。 进一歩地, 上述第一流表项为第二流表项、 第三流表项、 第四流表项的其中一种; 则上述发送器 12, 具体用于向源端交 换机下发第二流表项; 其中, 该第二流表项用于指示源端交换机生成第二数 据流, 并指示源端交换机根据上述静态流表项将第二数据流路由至第一边界 交换机上; 该第二数据流为目的 IP地址为第一边界交换机的 ID的第一数据 流。 上述处理器 11, 还用于判断第二边界交换机是否为上述域间最优路由路 径上的最后一个边界交换机, 获取判断结果; 其中, 该第二边界交换机为接 收到第三数据流的域间最优路由路径上的任一边界交换机, 该第三数据流为 目的 IP地址为上述域间最优路径上的任一边界交换机的 ID的第一数据流; 并根据该判断结果确定指示发送器 12 向上述第二边界交换机下发第三流表 项或第四流表项。 更进一歩地, 上述处理器 11, 具体用于若上述判断结果为 是, 则指示发送器 12向第二边界交换机下发第三流表项; 其中, 该第三流表 项用于指示上述第二边界交换机执行第一更改操作; 该第一更改操作包括: 将第三数据流的目的 IP 地址更改为目的域网络中的所述第一数据流的目的 终端的 IP地址, 以将第三数据流路由至所述目的域网络; 若上述判断结果为 否, 则指示发送器 12向第二边界交换机下发第四流表项; 其中, 该第四流表 项用于指示第二边界交换机根据第四流表项和静态流表项执行第二更改操 作,直至所述处理器 11判断第二边界交换机为域间最优路由路径上的最后一 个边界交换机为止; 其中, 上述第二更改操作包括: 将第三数据流的目的 IP 地址更改为第二边界交换机在域间最优路由路径上的下一跳边界交换机的The routing device of the software-defined network provided by the embodiment of the present invention acquires the optimal path in the domain of the switch in any domain network to the border switch in the domain network, so that the transmitter can according to the optimal path in the domain. Each switch in the domain network sends a static flow entry, so that each switch in the domain network receives the data flow of the ID of any border switch in the domain network according to the static flow table. The item routes the data stream as an optimal path to the border switch in the domain network. The routing device provided by the embodiment of the present invention presets a static flow entry on all switches in the SDN network, so that when multiple data flows flow into the SDN network, the transmitter only needs to be optimally connected to the source switch and the domain. The border switch on the routing path delivers the first flow entry, that is, only the routing device exchanges information with the source switch and the border switch on the optimal routing path between the domains, which reduces the number of interactions between the routing device switches. Routing performance of the SDN network. On the basis of the foregoing embodiments, as another possible implementation manner of the embodiment of the present invention, the embodiment relates to the entire specific process of the routing device 10 routing the first data flow to the destination switch in the destination domain network. Further, the first flow entry is one of the second flow entry, the third flow entry, and the fourth flow entry; the transmitter 12 is specifically configured to send the second flow to the source switch. The second flow entry is used to indicate that the source switch generates the second number. According to the flow, the source switch is configured to route the second data stream to the first border switch according to the static flow entry. The second data stream is the first data stream whose destination IP address is the ID of the first border switch. The processor 11 is further configured to determine whether the second border switch is the last border switch on the inter-domain optimal routing path, and obtain a determination result; wherein the second border switch is an inter-domain that receives the third data stream. Any boundary switch on the optimal routing path, where the third data stream is a first data stream whose destination IP address is an ID of any border switch on the inter-domain optimal path; and determining the indicator transmitter according to the determination result The third flow entry or the fourth flow entry is delivered to the second border switch. Further, the processor 11 is configured to: if the determination result is yes, instruct the transmitter 12 to send a third flow entry to the second border switch; wherein the third flow entry is used to indicate the foregoing The second border switch performs a first change operation; the first change operation includes: changing a destination IP address of the third data stream to an IP address of a destination terminal of the first data stream in the destination domain network, to be the third The data flow is routed to the destination network; if the result of the determination is no, the sender 12 is instructed to send a fourth flow entry to the second border switch; wherein the fourth flow entry is used to indicate the second border switch Performing a second change operation according to the fourth flow entry and the static flow entry until the processor 11 determines that the second boundary switch is the last boundary switch on the inter-domain optimal routing path; wherein the second change operation is performed The method includes: changing a destination IP address of the third data stream to a next-hop boundary switch of the second border switch on the optimal routing path between the domains
ID, 以将第三数据流路由至所述下一跳边界交换机上, 并将所述下一跳边界 交换机作为新的第二边界交换机。 ID, to route the third data stream to the next hop border switch, and use the next hop border switch as a new second border switch.
具体的, 处理器 11会将 SDN网络中的所有交换机 (包括第一交换机 和边界交换机) 划分到不同的域网络中, 然后处理器 11 会对每个域网络 中的交换机进行预路由的过程, 即处理器 11 会根据路由算法, 得到任一 域网络中所有交换机到该域网络中的所有边界交换机的域内最优路径, 使 得发送器 12 可以根据该域内最优路径向该域网络中的所有交换机下发静 态流表项。  Specifically, the processor 11 divides all switches (including the first switch and the border switch) in the SDN network into different domain networks, and then the processor 11 pre-routes the switches in each domain network. That is, the processor 11 obtains the optimal intra-domain path of all the switches in any domain network to all the border switches in the domain network according to the routing algorithm, so that the transmitter 12 can all the paths in the domain network according to the optimal path in the domain. The switch delivers static flow entries.
当源端交换机接收到第一数据流时 (该第一数据流的目的 IP地址为 目的终端的 IP地址) , 处理器 11会根据该第一数据流获知该第一数据流 所属的源域网络和目的域网络, 并确定域间最优路由路径, 该域间最优路 由路径包括了第一数据流从源域网络流向目的域网络时所流经的所有边 界交换机。 之后, 发送器 12 向该源端交换机下发第二流表项, 使得源端交换机 可以根据该第二流表项将所接收到的第一数据流的目的 IP 地址修改为第 一边界交换机的 ID, 从而生成第二数据流, 但是第二数据流中所携带的数据 和第一数据流中所携带的数据相同, 因此, 第二数据流即就是目的 IP地址为 第一边界交换机的 ID的第一数据流。源端交换机在生成第二数据流之后, 由 于第二数据流的目的 IP地址为第一边界交换机的 ID, 且源端交换机上存在 有之前发送器 12下发给源端交换机的静态流表项,该源端交换机上的静态流 表项的目的 IP地址为源域网络中的任一边界交换机的 ID, 因此源端交换机 可以将第二数据流以最短路径路由至源域网络中的第一边界交换机上, 该第 一边界交换机为域间最优路由路径上的第一个边界交换机。 When the source switch receives the first data stream (the destination IP address of the first data stream is the IP address of the destination terminal), the processor 11 learns the source domain network to which the first data stream belongs according to the first data stream. And the destination domain network, and determining an optimal routing path between the domains, where the optimal routing path between the domains includes all the border switches that the first data flow flows from the source domain network to the destination domain network. After the transmitter 12 sends the second flow entry to the source switch, the source switch can modify the destination IP address of the received first data flow to the first border switch according to the second flow entry. ID, thereby generating a second data stream, but the data carried in the second data stream is the same as the data carried in the first data stream. Therefore, the second data stream is the destination IP address being the ID of the first border switch. The first data stream. After the source switch generates the second data stream, the destination IP address of the second data stream is the ID of the first border switch, and the static switch entry sent by the sender 12 to the source switch is present on the source switch. The destination IP address of the static flow entry on the source switch is the ID of any border switch in the source domain network. Therefore, the source switch can route the second data flow to the first in the source domain network by using the shortest path. On the border switch, the first border switch is the first border switch on the optimal routing path between the domains.
进一歩地, 处理器 11 会判断第二边界交换机是否为域间最优路由路 径上的最后一个边界交换机, 获取判断结果; 其中, 该第二边界交换机为接 收到第三数据流的域间最优路由路径上的任一边界交换机, 该第三数据流为 目的 IP地址为上述域间最优路径上的任一边界交换机的 ID的第一数据流, 也就是说上述第二数据流也属于第三数据流(第二数据流的目的 IP地址为第 一边界交换机的 ID), 相应的, 上述第一边界交换机也属于第二边界交换机。 也就是说, 当发送器 12向源端交换机发送第二流表项, 使得源端交换机将第 二数据流路由至第一边界交换机之后,处理器 11还会判断第一边界交换机是 否为域间最优路由路径上的最后一个边界交换机, 获得判断结果 (因为实际 传输时, 域间最优路由路径上可能存在只有一个边界交换机的情况, 则这个 边界交换机既是第一个边界交换机, 也是最后一个边界交换机) 。 需要说明 的是, 第二边界交换机可以是域间最优路由路径上的第一个边界交换机 (第 一边界交换机) , 也可以是域间最优路由路径上的最后一个边界交换机, 还 可以是域间最优路由路径上的第一个边界交换机和最后一个边界交换机之间 的边界交换机。  Further, the processor 11 determines whether the second border switch is the last border switch on the optimal routing path between the domains, and obtains a judgment result; wherein the second border switch is the inter-domain most received the third data stream. Any boundary switch on the routing path, where the third data stream is the first data stream whose destination IP address is the ID of any border switch on the inter-domain optimal path, that is, the second data stream also belongs to The third data stream (the destination IP address of the second data stream is the ID of the first border switch), and correspondingly, the first border switch also belongs to the second border switch. That is, after the transmitter 12 sends the second flow entry to the source switch, so that the source switch routes the second data flow to the first border switch, the processor 11 also determines whether the first border switch is inter-domain. The last boundary switch on the optimal routing path obtains the judgment result (because there may be only one border switch on the optimal routing path between domains during actual transmission, the border switch is both the first boundary switch and the last one. Border switch). It should be noted that the second border switch may be the first border switch (the first border switch) on the optimal routing path between the domains, or the last border switch on the optimal routing path between the domains, or may be A border switch between the first border switch and the last border switch on the optimal routing path between domains.
当上述判断结果为第二边界交换机为域间最优路由路径上的最后一 个边界交换机时 (实际上第二边界交换机此时就位于目的域网络中) , 则 处理器 11指示发送器 12 向第二边界交换机下发第三流表项, 使得第二边 界交换机向所接收到的第三数据流的目的 IP 地址更改为目的域网络中的目 的终端的 IP地址, 即将第三数据流转换为最初的第一数据流, 从而使得第二 边界交换机将第一数据流路由到目的域网络中。 When the above judgment result is that the second border switch is the last border switch on the inter-domain optimal routing path (actually, the second border switch is located in the destination domain network at this time), the processor 11 instructs the transmitter 12 to The second border switch delivers the third flow entry, so that the second border switch changes the destination IP address of the received third data flow to the IP address of the destination terminal in the destination domain network, that is, converts the third data stream to the initial First data stream, thus making the second The border switch routes the first data stream to the destination domain network.
当上述判断结果为第二边界交换机不是域间最优路由路径上的最后 一个边界交换机时, 则处理器 11指示发送器 12向第二边界交换机下发第 四流表项; 第二边界交换机在接收到第四流表项之后, 将自身所接收到的第 三数据流的目的 IP 地址更改为该第二边界交换机在域间最优路由路径上的 下一跳边界交换机的 ID, 并根据自身所存在的静态流表项将第三数据流路由 至该下一跳边界交换机上,并将下一跳边界交换机作为新的第二边界交换机。 之后,处理器 U又继续判断该新的第二边界交换机是否为域间最优路由路径 上的最后一个边界交换机,并根据判断结果指示发送器 12向该新的第二边界 交换机下发第三流表项还是第四流表项,直至处理器 11判断新的第二边界交 换机为域间最优路由路径上的最后一个边界交换机为止。 需要说明的是, 第 一边界交换机可以直接将第一数据流路由至目的域网络中, 还可以通过第二 边界交换机 (此时第二边界交换机不是域间最优路由路径上的第一个边界交 换机) 将第一数据流路由至目的域网络中。  When the result of the foregoing determination is that the second border switch is not the last border switch on the inter-domain optimal routing path, the processor 11 instructs the transmitter 12 to deliver the fourth flow entry to the second border switch; After receiving the fourth flow entry, changing the destination IP address of the third data flow received by the second boundary switch to the ID of the next hop boundary switch of the second boundary switch on the optimal routing path between the domains, and according to the The existing static flow entry routes the third data flow to the next hop boundary switch and the next hop boundary switch as the new second boundary switch. Afterwards, the processor U continues to determine whether the new second border switch is the last border switch on the inter-domain optimal routing path, and instructs the transmitter 12 to send the third to the new second border switch according to the judgment result. The flow entry is also the fourth flow entry until the processor 11 determines that the new second boundary switch is the last boundary switch on the inter-domain optimal routing path. It should be noted that the first border switch may directly route the first data stream to the destination domain network, and may also pass the second border switch. (At this time, the second border switch is not the first boundary on the optimal routing path between the domains. Switch) Routes the first data stream to the destination domain network.
进一歩地, 处理器 11在上述发送器 12向第二边界交换机下发所述第三 流表项之后, 即在第二边界交换机 (也可以是第一边界交换机) 将第一数据 流路由至目的域网络中后,处理器 11还会确定第二边界交换机到目的域网络 中的目的交换机的最优路径,并指示发送器 12向该最优路径上的所有交换机 (包括第一交换机和目的交换机) 下发第五流表项, 以使第二边界交换机将 第一数据流以最短路径路由至该第一数据流的目的终端, 完成该第一数据流 的跨域路由。  Further, the processor 11 routes the first data stream to the second border switch (or the first border switch) after the transmitter 12 sends the third flow entry to the second border switch. After the destination domain network, the processor 11 also determines the optimal path of the destination switch in the second border switch to the destination domain network, and instructs the transmitter 12 to all switches on the optimal path (including the first switch and destination). The switch delivers the fifth flow entry, so that the second border switch routes the first data flow to the destination terminal of the first data flow in the shortest path, and completes the cross-domain routing of the first data flow.
为了能够更好的理解本发明实施例, 在此举一个具体的例子进行说 明:  In order to better understand the embodiments of the present invention, a specific example will be described herein:
继续参照图 3,处理器 11通过计算源域网络(域 1 )的边界交换机 SW1、 SW2和目的域网络(域 4 )的边界交换机 SW4、SW5之间的路由,得到 SW2-〉SW5 是域间最优路由路径, 即第一数据流从域 1 路由至域 4 的最优路径是 SW2->SW5的这条路径, 该域间最优路由路径上包括了两个边界交换机。  With continued reference to FIG. 3, the processor 11 obtains SW2->SW5 as an inter-domain by calculating a route between the border switches SW1 and SW2 of the source domain network (domain 1) and the border switches SW4 and SW5 of the destination domain network (domain 4). The optimal routing path, that is, the optimal path of the first data flow from domain 1 to domain 4 is the path of SW2->SW5, and the optimal routing path between the domains includes two border switches.
第一数据流流入源端交换机, 处理器 11 向源端交换机下发第二流表 项, 该第二流表项动作是指示源端交换机将第一数据流的目的 IP地址修 改为第一边界交换机 SW2的 ID ( SW2为域间最优路由路径上的第一个边界 交换机) , 第一数据流此时成为第二数据流, 源端交换机根据发送器 12 之前发送给源端交换机的静态流表项将第二数据流以最优路径路由到 SW2 中。 同时, 处理器 11会判断 SW2是否为域间最优路由路径上的最后一个 边界交换机, 此时根据图 3, 处理器 11判断 SW2不是域间最优路由路径上 的最后一个边界交换机, 则处理器 11指示发送器 12向 SW2下发第四流表 项, 该第四流表项的动作是指示 SW2将 SW2所接收到的第二数据流 (也是 第三数据流) 的目的 IP地址更改为 SW2在域间最优路由路径上的下一跳 边界交换机的 ID , 即更改为 SW5的 ID。 因此, SW2在接收到第四流表项之 后, 将第二数据流 (也是第三数据流) 的目的 IP地址修改为 SW5的 ID, 成为新的第三数据流, 并且由于 SW2上因为预路由过程中发送器 12提前 下发给 SW2的静态流表项, 故 SW2可以根据该静态流表项该新的第三数据 流以最短路径路由到边界交换机 SW5中, 即此时 SW2已经将该新的第三数 据流路由到了目的域网络中。 之后, 处理器 11依然会判断 SW5是否为域 间最优路由路径上的最后一个边界交换机, 由于图 3中的 SW5是域间最优 路由路径上的最后一个边界交换机, 处理器 11指示发送器 12向 SW5下发 第三流表项,该第三流表项的动作是指示 SW5将新的第三数据流的目的 IP 地址改为目的域网络(域 4 ) 中的目的终端的 IP地址, 即此时该新的第三 数据流又转换为原来的第一数据流, 则第一数据流此时也已经到达目的域 网络中。 The first data stream flows into the source switch, and the processor 11 sends a second flow entry to the source switch, where the second flow entry indicates that the source switch modifies the destination IP address of the first data flow to the first boundary. ID of switch SW2 (SW2 is the first boundary on the optimal routing path between domains The switch, the first data stream becomes the second data stream at this time, and the source end switch routes the second data stream to the SW2 according to the static flow entry sent by the sender 12 to the source switch. At the same time, the processor 11 determines whether the SW2 is the last border switch on the optimal routing path between the domains. At this time, according to FIG. 3, the processor 11 determines that the SW2 is not the last border switch on the optimal routing path between the domains, and then processes The device 11 instructs the transmitter 12 to deliver a fourth flow entry to the SW2, the action of the fourth flow entry is to instruct the SW2 to change the destination IP address of the second data stream (also the third data stream) received by the SW2 to The ID of the next hop boundary switch of SW2 on the optimal routing path between the domains, that is, the ID of SW5. Therefore, after receiving the fourth flow entry, SW2 modifies the destination IP address of the second data flow (also the third data flow) to the ID of SW5, becomes the new third data flow, and because SW2 is pre-routed. In the process, the transmitter 12 delivers the static flow entry to the SW2 in advance, so that the SW2 can route the new third data flow to the border switch SW5 according to the static flow entry, that is, the SW2 has already added the new The third data stream is routed to the destination domain network. Afterwards, the processor 11 still determines whether the SW5 is the last border switch on the inter-domain optimal routing path. Since SW5 in FIG. 3 is the last border switch on the inter-domain optimal routing path, the processor 11 indicates the transmitter. The third flow entry is sent to the SW5, and the action of the third flow entry is to instruct the SW5 to change the destination IP address of the new third data flow to the IP address of the destination terminal in the destination domain network (domain 4). That is, at this time, the new third data stream is converted into the original first data stream, and the first data stream has also arrived at the destination domain network at this time.
处理器 11 在第二边界交换机 (也可以是第一边界交换机) 将第一数据 流路由至目的域网络中后,处理器 11在域 4中计算 SW5到目的交换机的最优 路径,并指示发送器 12根据该最优路径向该路径上的所有交换机下发第五流 表项, 使得 SW5可以将第一数据流路由至目的交换机, 并由目的交换机路由 到目的终端上。  The processor 11 calculates the optimal path of the SW5 to the destination switch in the domain 4 after the second border switch (which may also be the first border switch) routes the first data stream to the destination domain network, and indicates the sending. The device 12 delivers the fifth flow entry to all the switches on the path according to the optimal path, so that the SW5 can route the first data flow to the destination switch and be routed by the destination switch to the destination terminal.
本发明实施例提供的软件定义网络的路由设备, 通过处理器获取源端交 换机发送的第一数据流的源域网络和目的域网络, 并确定第一数据流经源域 网络路由至目的域网络中的域间最优路由路径, 指示发送器根据该域间最优 路由路径向源端交换机和域间最优路由路径上的边界交换机下发第一流表 项, 使得源端交换机根据第一流表项和预设的静态流表项将第一数据流路由 至源域网络的第一边界交换机, 并使得第一边界交换机根据第一流表项和静 态流表项将第一数据流路由至目的域网络中。本发明实施例提供的路由设备, 通过在 SDN网络中的所有交换机上预设静态流表项, 使得在有多条数据流流 入 SDN网络时, 发送器仅需要向源端交换机和域间最优路由路径上的边界交 换机下发第一流表项, 即仅需要路由设备与源端交换机和域间最优路由路径 上的边界交换机进行信息交互, 减少了路由设备与交换机之间的交互次数, 提高了 SDN网络的路由性能。 The routing device of the software-defined network provided by the embodiment of the present invention acquires the source domain network and the destination domain network of the first data stream sent by the source switch by using the processor, and determines that the first data stream is routed to the destination domain network through the source domain network. The inter-domain optimal routing path, instructing the sender to deliver the first flow entry to the source switch and the border switch on the optimal routing path between the inter-domains according to the optimal routing path between the inter-domains, so that the source switch according to the first flow table And the preset static flow entry routes the first data flow to the first border switch of the source domain network, and the first boundary switch is configured according to the first flow entry and the static The state flow entry routes the first data flow to the destination domain network. The routing device provided by the embodiment of the present invention presets a static flow entry on all switches in the SDN network, so that when multiple data flows flow into the SDN network, the transmitter only needs to be optimally connected to the source switch and the domain. The border switch on the routing path delivers the first flow entry, that is, only the routing device exchanges information with the source switch and the border switch on the optimal routing path between the interfaces, which reduces the number of interactions between the routing device and the switch. The routing performance of the SDN network.
图 5为本发明提供的软件定义网络的路由设备实施例二的结构示意图。 本实施例涉及的过程是处理器 U 根据第一数据流确定第一数据流所属的源 域网络和目的域网络的具体过程。 在上述图 2所示实施例的基础上, 进一歩 地, 该路由设备 10还包括: 接收器 13, 用于接收源端交换机根据缓存的第 一数据流发送的新流请求消息; 上述处理器 11, 具体用于根据接收器 13接 收到的所述新流请求消息获取第一数据流的源 IP 地址和第一数据流的目的 IP地址; 并根据第一数据流的源 IP地址和第一数据流的目的 IP地址确定第 一数据流的源域网络和目的域网络。  FIG. 5 is a schematic structural diagram of Embodiment 2 of a routing device of a software-defined network provided by the present invention. The process involved in this embodiment is a specific process in which the processor U determines the source domain network and the destination domain network to which the first data stream belongs according to the first data stream. On the basis of the foregoing embodiment shown in FIG. 2, the routing device 10 further includes: a receiver 13 configured to receive a new flow request message sent by the source switch according to the buffered first data stream; 11. The method is specifically configured to obtain, according to the new flow request message received by the receiver 13, a source IP address of the first data stream and a destination IP address of the first data stream; and according to the source IP address of the first data stream and the first The destination IP address of the data stream determines the source domain network and the destination domain network of the first data stream.
具体的, 当 SDN网络中的源端交换机接收到从发送终端发过来的第一数 据流, 其目的 IP地址是目的终端的 IP地址, 并不是某个域网络中的某个边 界交换机的 ID, 因此, 源端交换机中并没有与之匹配的静态流表项 (静态流 表项中的目的 IP地址均是边界交换机的 ID) 。 故, 与发送终端直接相连的 源端交换机将先缓存到达的第一数据流,同时产生新流请求消息(packet-in) 发往处理器 11; 处理器 11通过解析此消息, 可以得到该第一数据流的源 IP 和目的 IP地址,并根据该第一数据流的源 IP地址和第一数据流的目的 IP地 址确定第一数据流所属的源域网络和目的域网络。 如果源域网络和目的域网 络具有相同的 IP前缀, 说明发送终端和目的终端在同一个域内, 在这种情况 下对该第一数据流的路由, 可以参见现有技术。 当源域网络和目的域网络的 IP前缀不同时, 说明发送终端和目的终端不在同一个域内, 第一数据流需要 进行跨域路由。  Specifically, when the source switch in the SDN network receives the first data stream sent from the sending terminal, the destination IP address is the IP address of the destination terminal, and is not the ID of a border switch in a domain network. Therefore, there is no static flow entry matching the source switch (the destination IP address in the static flow entry is the ID of the border switch). Therefore, the source switch directly connected to the sending terminal first buffers the first data stream that arrives, and generates a new stream request message (packet-in) to the processor 11; the processor 11 can obtain the first by parsing the message. A source IP address and a destination IP address of the data stream, and determining a source domain network and a destination domain network to which the first data stream belongs according to the source IP address of the first data stream and the destination IP address of the first data stream. If the source network and the destination network have the same IP prefix, the sending terminal and the destination terminal are in the same domain. In this case, the routing of the first data stream can be referred to the prior art. When the IP prefix of the source network and the destination network are different, the sending terminal and the destination terminal are not in the same domain. The first data stream needs to be cross-domain.
另外, 处理器 11在之前为 SDN网络预路由的过程中, 生成了一张全 网路由拓扑图, 该全网路由拓扑图包括: SDN网络中的各个边界交换机和第 一数据流在 SDN 网络中的各个边界交换机之间传输时的最优路径的路由代 价。 对照图 3所示的 SDN网络的示意图, 图 6为图 3所对应的全网路由拓扑 图。处理器 U可以根据该全网路由拓扑图中各个边界交换机之间的路由代价 确定源域网络中的边界交换机到目的域网络中的各个边界交换机之间的路由 代价, 从而确定域间最优路由路径。 可选的, 处理器 11还可以存储该域间最 优路由路径, 当再次为相同的源域网络和目的域网络的数据流路由时, 则无 需重复计算, 直接就可以得到域间最优路由路径。 In addition, the processor 11 generates a network topology topology diagram in the process of pre-routing the SDN network. The network topology map includes: each border switch in the SDN network and the first data stream in the SDN network. The routing cost of the optimal path when transmitting between each border switch. Referring to the schematic diagram of the SDN network shown in FIG. 3, FIG. 6 is a network-wide routing topology corresponding to FIG. Figure. The processor U can determine the routing cost between the border switch in the source domain network and each border switch in the destination domain network according to the routing cost between the border switches in the network topology map to determine the optimal inter-domain route. path. Optionally, the processor 11 can also store the optimal routing path between the domains. When the data flows of the same source domain network and the destination domain network are routed again, the inter-domain optimal route can be directly obtained without repeated calculation. path.
本发明实施例提供的软件定义网络的路由设备, 通过处理器获取源端交 换机发送的第一数据流的源域网络和目的域网络, 并确定第一数据流经源域 网络路由至目的域网络中的域间最优路由路径, 指示发送器根据该域间最优 路由路径向源端交换机和域间最优路由路径上的边界交换机下发第一流表 项, 使得源端交换机根据第一流表项和预设的静态流表项将第一数据流路由 至源域网络的第一边界交换机, 并使得第一边界交换机根据第一流表项和静 态流表项将第一数据流路由至目的域网络中。本发明实施例提供的路由设备, 通过在 SDN网络中的所有交换机上预设静态流表项, 使得在有多条数据流流 入 SDN网络时, 发送器仅需要向源端交换机和域间最优路由路径上的边界交 换机下发第一流表项, 即仅需要路由设备与源端交换机和域间最优路由路径 上的边界交换机进行信息交互, 减少了路由设备与交换机之间的交互次数, 提高了 SDN网络的路由性能。 图 7为本发明提供的软件定义网络的路由装置实施例一的结构示意图。 该路由装置 20可以为 SDN网络中的控制器, 还可以集成在控制器中。 该控制 器为与 OpenFlow 交换机通过 OpenFlow 协议和安全通道连接的外部控制器 (Controller ) 。 该 SDN网络可以包括至少两个域网络, 每个域网络包括至 少一个第一交换机和至少一个边界交换机, 所述边界交换机用于连接所述边 界交换机所在的第一域网络和所述边界交换机所在的第二域网络; 数据流通 过所述边界交换机从所述第一域网络路由至所述第二域网络。 SDN 网络可以 参见图 3所示的例子 (图 3只是示意) , 该 SDN网络被划分为 4个域网络, 分别是域网络 1 (简称域 1 ) 、 域 2、 域 3和域 4。 以域 1为例, 域 1包括 SW1 和 SW2两个边界交换机, SW1为连接域 1和域 2的边界交换机, SW2为连接域 1和域 3的边界交换机。 gp, 域 1可以为 SW1所在的第一域网络, 域 2可以 为 SW1所在的第二域网络; 或, 域 1为 SW2所在的第一域网络, 域 3为 SW2 所在的第二域网络。 若数据流要从域 1流进域 2内的交换机中, 则需要经过 域 1 的 SW1 , 也就是说, 当数据包离开某个域时, 需要经过这个域的某个边 界交换机。 The routing device of the software-defined network provided by the embodiment of the present invention acquires the source domain network and the destination domain network of the first data stream sent by the source switch by using the processor, and determines that the first data stream is routed to the destination domain network through the source domain network. The inter-domain optimal routing path, instructing the sender to deliver the first flow entry to the source switch and the border switch on the optimal routing path between the inter-domains according to the optimal routing path between the inter-domains, so that the source switch according to the first flow table And the preset static flow entry routes the first data flow to the first border switch of the source domain network, and causes the first border switch to route the first data flow to the destination domain according to the first flow entry and the static flow entry. In the network. The routing device provided by the embodiment of the present invention presets a static flow entry on all switches in the SDN network, so that when multiple data flows flow into the SDN network, the transmitter only needs to be optimally connected to the source switch and the domain. The border switch on the routing path delivers the first flow entry, that is, only the routing device exchanges information with the source switch and the border switch on the optimal routing path between the interfaces, which reduces the number of interactions between the routing device and the switch. The routing performance of the SDN network. FIG. 7 is a schematic structural diagram of Embodiment 1 of a routing device of a software-defined network according to the present invention. The routing device 20 can be a controller in an SDN network and can also be integrated in the controller. The controller is an external controller (Controller) that is connected to the OpenFlow switch through the OpenFlow protocol and secure channel. The SDN network may include at least two domain networks, each of the domain networks includes at least one first switch and at least one border switch, where the border switch is used to connect the first domain network where the border switch is located and the border switch a second domain network; a data stream is routed from the first domain network to the second domain network through the border switch. For the SDN network, see the example shown in Figure 3 (Figure 3 is only schematic). The SDN network is divided into four domain networks, namely domain network 1 (domain 1 for short), domain 2, domain 3, and domain 4. Take domain 1 as an example. Domain 1 includes two border switches SW1 and SW2, SW1 is a border switch connecting domain 1 and domain 2, and SW2 is a border switch connecting domain 1 and domain 3. Gp, domain 1 can be the first domain network where SW1 is located, domain 2 can be the second domain network where SW1 is located, or domain 1 is the first domain network where SW2 is located, and domain 3 is SW2. The second domain network. If the data stream flows from domain 1 into the switch in domain 2, it needs to pass through SW1 of domain 1. That is, when the packet leaves a domain, it needs to pass through a border switch of the domain.
如图 7所示, 该路由装置 20包括: 第一获取模块 21、 第一确定模块 22 和第一发送模块 23。 其中, 第一获取模块 21, 用于获取源端交换机发送的第 一数据流的源域网络和目的域网络; 其中, 所述源端交换机为所述第一交换 机, 所述源端交换机位于所述源域网络; 第一确定模块 22, 用于确定所述第 一数据流经所述源域网络路由至所述目的域网络中的域间最优路由路径, 所 述域间最优路由路径上包括至少一个边界交换机; 第一发送模块 23, 用于根 据所述域间最优路由路径向所述源端交换机和所述域间最优路由路径上的边 界交换机下发第一流表项, 以使所述源端交换机根据所述第一流表项和预设 的静态流表项将所述第一数据流路由至所述源域网络的第一边界交换机, 并 使得所述第一边界交换机根据所述第一流表项和所述静态流表项将所述第一 数据流路由至所述目的域网络中; 其中, 所述第一边界交换机为所述域间最 优路由路径上的第一个边界交换机。  As shown in FIG. 7, the routing device 20 includes: a first obtaining module 21, a first determining module 22, and a first sending module 23. The first obtaining module 21 is configured to obtain a source domain network and a destination domain network of the first data stream sent by the source switch, where the source switch is the first switch, and the source switch is located at the source switch. a source network; a first determining module 22, configured to determine, by using the source network, the first data flow route to an inter-domain optimal routing path in the destination domain network, where the inter-domain optimal routing path is The first sending module 23 is configured to send the first flow entry to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path. And causing the source switch to route the first data flow to the first border switch of the source domain network according to the first flow entry and the preset static flow entry, and make the first border switch And routing, by the first flow entry and the static flow entry, the first data flow to the destination domain network; where the first border switch is the optimal routing path between the domains The first switch on the border.
具体的, 上述 SDN网络对于域的划分和传统的互联网络相似, 是按照 IP地址进行的, 即将 IP地址前缀相同的网络节点 (即通信终端) 划分到 一个域中, 也就是与这些终端连接的交换机划分到一个域中, 并将这个 IP 地址前缀可以作为该域的 ID标识。 可选的, 在本发明实施例中, 边界交 换机上可以不连接通信终端, 它们只转发数据包。  Specifically, the foregoing SDN network is similar to the traditional interconnection network in that the domain is divided according to the IP address, that is, the network nodes with the same IP address prefix (ie, communication terminals) are divided into one domain, that is, connected to the terminals. The switch is divided into a domain, and this IP address prefix can be used as the ID of the domain. Optionally, in the embodiment of the present invention, the communication terminal may not be connected to the border switch, and they only forward the data packet.
以图 3为例, 某一条数据流需要从发送终端流向目的终端; 其中, 与 发送终端连接是源端交换机, 与目的终端连接的是目的交换机, 在源端交 换机和目的交换机之间连接有至少一个第一交换机和至少一个边界交换 机, 这些交换机被划分在不同的域中。 源端交换机也属于第一交换机, 且 该源端交换机位于源域网络中。 假设源端交换机位于域 1 中, 目的交换机 位于域 4中, 即此时域 1为源域网络, 域 4为目的域网络。  As shown in Figure 3, a certain data stream needs to flow from the sending terminal to the destination terminal. The connection with the sending terminal is the source switch, and the destination terminal is connected to the destination switch. The source switch and the destination switch are connected at least. A first switch and at least one border switch, which are divided into different domains. The source switch also belongs to the first switch, and the source switch is located in the source domain network. Assume that the source switch is in domain 1 and the destination switch is in domain 4. That is, domain 1 is the source domain network and domain 4 is the destination domain network.
源端交换机接收发送终端发送的第一数据流, 该第一数据流的源 IP 地址为发送终端的 IP地址,该第一数据流的目的 IP地址为目的终端的 IP 地址。源端交换机将所接收到的第一数据流发送给第一获取模块 21, 使得 第一获取模块 21 根据该第一数据流获知该第一数据流的源域网络和目的 域网络。 可选的, 第一获取模块 21 可以通过解析第一数据流获知该第一 数据流的源域网络和目的域网络。 The source switch receives the first data stream sent by the sending terminal, where the source IP address of the first data stream is an IP address of the sending terminal, and the destination IP address of the first data stream is an IP address of the destination terminal. The source switch sends the received first data stream to the first acquiring module 21, so that the first acquiring module 21 learns the source domain network and the destination of the first data stream according to the first data stream. Domain network. Optionally, the first obtaining module 21 may obtain the source domain network and the destination domain network of the first data stream by parsing the first data stream.
并且, 在第一获取模块 21 接收源端交换机发送的第一数据流之前, 路由装置 20会向各个域网络中的所有第一交换机和边界交换机下发一次 静态流表项, 且发送给每个交换机 (第一交换机或边界交换机) 的静态流 表项可能不同, 但是每个静态流表项的作用均是指示某一域中的所有交换 机 (第一交换机或边界交换机) 将所接收到的目的 IP地址为该域中任一 边界交换机的 ID 的数据流路由至该域网络上的某一个边界交换机上, 以 使该数据流可以通过该边界交换机流向下一个域网络中。 至于该数据流会 路由至该域网络上的哪一个边界交换机, 由该数据流的 IP地址对应的边 界交换机的 ID决定。  And, before the first obtaining module 21 receives the first data stream sent by the source switch, the routing device 20 sends a static flow entry to all the first switches and the border switches in each domain network, and sends the static flow entry to each The static flow entries of the switch (the first switch or the border switch) may be different, but the role of each static flow entry is to indicate that all switches (first switch or border switch) in a domain will receive the destination. A data flow whose IP address is the ID of any border switch in the domain is routed to a border switch on the domain network, so that the data flow can flow through the border switch to the next domain network. The boundary switch on which the data stream is routed to the domain network is determined by the ID of the border switch corresponding to the IP address of the data stream.
第一确定模块 22在第一获取模块 21获取到第一数据流的源域网络和 目的域网络之后, 根据自身的一些路由算法, 确定第一数据流经源域网络 路由至目的域网络中的域间最优路由路径, 该域间最优路由路径上包括至少 一个边界交换机。 以图 3为例, 即确定第一数据流从域 1流进域 4的最优路 径, 第一确定模块 22分别计算源域网络 (域 1 ) 的边界交换机 SW1、 SW2 和目的域网络(域 4 )的边界交换机 SW4、 SW5之间的路由, 得到 SW2-〉SW5 是域间最优路由路径, 即第一数据流从域 1 路由至域 4 的最优路径是 SW2->SW5的这条路径, 该域间最优路由路径上包括了两个边界交换机。  After the first obtaining module 21 acquires the source domain network and the destination domain network of the first data stream, the first determining module 22 determines, according to some routing algorithms of the first data flow, the first data stream is routed to the destination domain network through the source domain network. An inter-domain optimal routing path, where the inter-domain optimal routing path includes at least one border switch. Taking FIG. 3 as an example, the optimal path of the first data stream flowing from the domain 1 into the domain 4 is determined, and the first determining module 22 respectively calculates the border switches SW1, SW2 and the destination domain network (domain) of the source domain network (domain 1). 4) The route between the border switches SW4 and SW5, and obtain SW2->SW5 is the optimal routing path between the domains, that is, the optimal path of the first data flow from domain 1 to domain 4 is SW2->SW5. Path, the optimal routing path between the two domains includes two border switches.
第一确定模块 22在确定域间最优路由路径之后, 指示第一发送模块 23 根据该域间最优路由路径向源端交换机和该域间最优路由路径上的所有的边 界交换机下发第一流表项。当源端交换机接收到第一发送模块 23下发的第一 流表项之后, 结合之前路由装置 20发送的静态流表项, 将源端交换机上的第 一数据流以最短路径路由至源域网络的第一边界交换机上, 该第一边界交换 机为上述域间最优路由路径上的第一个边界交换机 (该第一流表项可以使得 源端交换机知道将第一数据流路由至源域网络中的哪一个边界交换机上, 静 态流表项的作用是使得源端交换机将第一数据流以最短路径路由至该边界交 换机上) 。 之后, 因为第一边界交换机之前也接收到了路由装置 20发送的静 态流表项和第一流表项,第一边界交换机根据第一发送模块 23发送给第一边 界交换机的第一流表项直接或间接获知应该将第一数据流 (此时第一数据流 的目的 IP地址已经发生了变化, 但因为第一数据流中的数据并未发生变化, 这里依然可以称作是第一数据流) 路由至目的域网络中的哪一个边界交换机 上,并根据之前路由装置 20发送给第一边界交换机的静态流表项将第一数据 流以最短路径路由至该边界交换机上, 从而使得第一边界交换机将第一数据 流直接或间接路由至目的域网络中。 After determining the inter-domain optimal routing path, the first determining module 22 instructs the first sending module 23 to deliver the first routing switch to the source switch and all the border switches on the optimal routing path according to the inter-domain optimal routing path. First-class items. After the source switch receives the first flow entry sent by the first sending module 23, the first data stream on the source switch is routed to the source network through the shortest path in combination with the static flow entry sent by the routing device 20. On the first border switch, the first border switch is the first border switch on the inter-domain optimal routing path (the first flow entry may enable the source switch to know to route the first data flow to the source domain network) On which border switch, the static flow entry is used to cause the source switch to route the first data stream to the border switch with the shortest path. After the first border switch receives the static flow entry and the first flow entry sent by the routing device 20, the first border switch directly or indirectly according to the first flow entry sent by the first sending module 23 to the first border switch. Know that the first data stream should be (the first data stream at this time) The destination IP address has changed, but because the data in the first data stream has not changed, it can still be called the first data stream. Which of the border switches in the destination domain network is routed, and according to the previous The static flow entry sent by the routing device 20 to the first border switch routes the first data stream to the border switch in the shortest path, so that the first border switch directly or indirectly routes the first data stream into the destination domain network.
例如, 可以参照图 3, 源端交换机根据之前路由装置 20下发的静态流表 项和第一发送模块 23下发的第一流表项将第一数据流以最短路径路由至域 1 的 SW2上, 该 SW2为域间最优路由路径上的第一边界交换机, 即是域间最优 路由路径上的第一个边界交换机; SW2可以根据之前路由装置 20下发给 SW2 的静态流表项和第一流表项将第一数据流以最短路径路由至域 4的边界交换 机 SW5上, 即将第一数据流直接路由到了目的域网络中 (SW5本身属于目的 域网络) 。 可选的, 路由装置 20还会计算 SW5到目的交换机的最优路径, 并 根据所计算的最优路径向 SW5下发该最优路径对应的流表项, 使得 SW5可以 将第一数据流路由至目的交换机上。  For example, referring to FIG. 3, the source switch forwards the first data stream to the SW2 of the domain 1 by using the shortest path according to the static flow entry sent by the previous routing device 20 and the first flow entry sent by the first sending module 23. The SW2 is the first border switch on the optimal routing path between the domains, that is, the first border switch on the optimal routing path between the domains; and the SW2 can be based on the static flow entries sent to the SW2 by the previous routing device 20 and The first flow entry routes the first data flow to the border switch SW5 of the domain 4 in the shortest path, that is, the first data flow is directly routed to the destination domain network (the SW5 itself belongs to the destination domain network). Optionally, the routing device 20 further calculates an optimal path of the SW5 to the destination switch, and sends a flow entry corresponding to the optimal path to the SW5 according to the calculated optimal path, so that the SW5 can route the first data flow. To the destination switch.
又例如, 假设第一数据流的域间最优路由路径为 SW2-〉SW3-〉SW5 (只是 一种假设),则 SW2也可以间接地将第一数据流路由至目的域网络域 4中, 即, SW2可以通过 SW3将第一数据流以最短路径路由至目的域网络域 4中。 具体为:源端交换机根据之前路由装置 20下发的静态流表项和第一发送模块 23下发的第一流表项将第一数据流以最短路径路由至域 1的 SW2上, 该 SW2 为域间最优路由路径上的第一边界交换机, 即是域间最优路由路径上的第一 个边界交换机; SW2可以根据之前路由装置 20下发给 SW2的静态流表项和第 一发送模块 23下发的第一流表项将第一数据流以最短路径路由至 SW3上; SW3 可以根据之前路由装置 20下发给 SW3的静态流表项和第一发送模块 23下发 的第一流表项将第一数据流以最短路径路由至 SW5中, 即 SW2间接的将第一 数据流间接路由到了目的域网络中。可选的, 路由装置 20还会计算 SW5到目 的交换机的最优路径, 并根据所计算的最优路径向 SW5下发该最优路径对应 的流表项, 使得 SW5可以将第一数据流路由至目的交换机上。  For another example, if the inter-domain optimal routing path of the first data stream is SW2->SW3->SW5 (just an assumption), the SW2 may also indirectly route the first data stream to the destination domain network domain 4. That is, SW2 can route the first data stream to the destination domain network domain 4 through the shortest path through SW3. Specifically, the source switch forwards the first data stream to the SW2 of the domain 1 by using the shortest path according to the static flow entry sent by the previous routing device 20 and the first flow entry sent by the first sending module 23, where the SW2 is The first border switch on the inter-domain optimal routing path is the first border switch on the inter-domain optimal routing path. The SW2 can be sent to the static flow entry and the first sending module of the SW2 according to the previous routing device 20. The first flow entry that is delivered by the first flow entry is delivered to the SW3 by the shortest path. The SW3 can be sent to the static flow entry sent by the previous routing device 20 to the SW3 and the first flow entry delivered by the first sending module 23. The first data stream is routed to the SW5 in the shortest path, that is, the SW2 indirectly routes the first data stream indirectly to the destination network. Optionally, the routing device 20 further calculates an optimal path of the SW5 to the destination switch, and sends a flow entry corresponding to the optimal path to the SW5 according to the calculated optimal path, so that the SW5 can route the first data flow. To the destination switch.
再例如, 还有另外一种特殊的情况, 假设图 3 中的目的交换机位于域 3 中, 即域 3是目的域网络, 域 1依然为源域网络, 则 SW2是连接源域网络和 目的域网络的边界交换机, 既是域间最优路由路径上的第一个边界交换机, 也是域间最优路由路径上的最后一个边界交换机。 源端交换机依然可以根据 第一发送模块 23下发的第一流表项获知应该将第一数据流路由至 SW2上,并 根据源端交换机上的静态流表项将第一数据流以最短路径路由至 SW2上; SW2 通过第一发送模块 23下发给 SW2的第一流表项和路由装置 20下发的静态流 表项获知自己所在的域就是目的域网络, 即此时已经将第一数据流路由到了 目的域网络中。可选的,路由装置 20还会计算 SW2到目的交换机的最优路径, 并根据所计算的最优路径向 SW2下发该最优路径对应的流表项, 使得 SW2可 以将第一数据流路由至目的交换机上。 For another example, there is another special case. It is assumed that the destination switch in Figure 3 is located in domain 3. That is, domain 3 is the destination domain network, domain 1 is still the source domain network, and SW2 is the connection source domain network and destination domain. The border switch of the network is the first border switch on the optimal routing path between domains. It is also the last border switch on the optimal routing path between domains. The source switch can still learn that the first data flow should be routed to the SW2 according to the first flow entry sent by the first sending module 23, and route the first data flow to the shortest path according to the static flow entry on the source switch. Up to SW2; SW2 knows that the domain in which the domain is located is the destination domain network, that is, the first data stream has been obtained by the first flow entry sent to the SW2 by the first sending module 23 and the static flow entry delivered by the routing device 20 Routed to the destination domain network. Optionally, the routing device 20 further calculates an optimal path from the SW2 to the destination switch, and sends a flow entry corresponding to the optimal path to the SW2 according to the calculated optimal path, so that the SW2 can route the first data flow. To the destination switch.
现有技术中, 发送终端每向目的终端发送一条数据流, 均需要路由装置 20向该数据流所在路径上的所有交换机下发流表项,当 SDN网络的规模扩大, 网络中交换机数目和流入的数据流的增多时,路由装置 20与交换机之间的交 互会变得非常频繁, 从而影响大规模 SDN网络下的路由性能。 但是, 在本发 明实施例中, 当发送终端向目的终端发送多条数据流时, 由于该 SDN网络上 的所有交换机上预设有静态流表项, 而该静态流表项用于将任一交换机上的 数据流路由至该交换机所在的域网络的边界交换机上 (且路由装置 20给 SDN 网络上的所有交换机发送静态流表项仅发送一次) , 因此本发明实施例提供 的路由装置 20在每次数据流到达交换机时,仅需要向源端交换机和域间最优 路由路径上的边界交换机下发第一流表项, 就可以将第一数据流路由至目的 域网络中, 无需再向该域间最优路由路径上的每一个交换机下发流表项, 从 而使得路由装置 20与交换机之间的交互信息减少,提高了 SDN网络的路由性 能。  In the prior art, each time the transmitting terminal sends a data stream to the destination terminal, the routing device 20 needs to send a flow entry to all the switches in the path where the data stream is located. When the size of the SDN network is expanded, the number of switches and the inflow in the network. When the number of data streams increases, the interaction between the routing device 20 and the switch becomes very frequent, thereby affecting the routing performance under the large-scale SDN network. However, in the embodiment of the present invention, when the sending terminal sends multiple data streams to the destination terminal, the static flow entry is pre-configured on all the switches on the SDN network, and the static flow entry is used for any The data flow on the switch is routed to the border switch of the domain network where the switch is located (and the routing device 20 sends the static flow entry to the switch on the SDN network to send the static flow entry only once). Therefore, the routing device 20 provided by the embodiment of the present invention is Each time a data stream arrives at the switch, the first flow entry can be sent to the destination switch in the source switch and the border switch on the optimal routing path of the inter-domain. Each switch on the optimal routing path of the inter-domain sends a flow entry, so that the interaction information between the routing device 20 and the switch is reduced, and the routing performance of the SDN network is improved.
本发明实施例提供的软件定义网络的路由装置, 通过第一获取模块获取 源端交换机发送的第一数据流的源域网络和目的域网络, 第一确定模块确定 第一数据流经源域网络路由至目的域网络中的域间最优路由路径, 并通过第 一发送模块根据该域间最优路由路径向源端交换机和域间最优路由路径上的 边界交换机下发第一流表项, 使得源端交换机根据第一流表项和预设的静态 流表项将第一数据流路由至源域网络的第一边界交换机, 并使得第一边界交 换机根据第一流表项和静态流表项将第一数据流路由至目的域网络中。 本发 明实施例提供的路由装置, 通过在 SDN网络中的所有交换机上预设静态流表 项, 使得在有多条数据流流入 SDN网络时, 第一发送模块仅需要向源端交换 机和域间最优路由路径上的边界交换机下发第一流表项, 即仅需要路由装置 与源端交换机和域间最优路由路径上的边界交换机进行信息交互, 减少了路 由装置与交换机之间的交互次数, 提高了 SDN网络的路由性能。 图 8为本发明提供的软件定义网络的路由装置实施例二的结构示意图。 在上述图 7所示实施例的基础上, 本实施例涉及的是路由装置 20通过第 二发送模块 25 向 SDN网络中的所有交换机下发静态流表项的过程。 进一 歩地, 上述装置还包括: 第二获取模块 24和第二发送模块 25。 其中, 第 二获取模块 24, 用于在所述第一发送模块 23根据上述域间最优路由路径向 源端交换机和域间最优路由路径上的边界交换机下发第一流表项之前, 获取 任一域网络中的各个交换机到该域网络中的边界交换机的域内最优路径; 其 中, 该域内最优路径为该域网络中的各个交换机到该域网络中的边界交换机 的最短路径; 第二发送模块 25, 用于根据所述域内最优路径向该域网络中的 各个交换机下发静态流表项, 以使该域网络中的各个交换机在接收到目的 IP 地址为该域网络中的任一边界交换机的 ID的数据流时,根据静态流表项将该 数据流以最优路径路由至该域网络中对应的边界交换机上。 The routing device of the software-defined network provided by the embodiment of the present invention obtains the source domain network and the destination domain network of the first data stream sent by the source switch by using the first acquiring module, and the first determining module determines that the first data stream flows through the source domain network. Routing the route to the inter-domain optimal routing path in the destination network, and sending the first flow entry to the source switch and the border switch on the optimal routing path of the inter-domain based on the optimal routing path between the inter-domains. The source switch forwards the first data flow to the first border switch of the source domain network according to the first flow entry and the preset static flow entry, and causes the first boundary switch to be based on the first flow entry and the static flow entry. The first data stream is routed to the destination domain network. The routing device provided by the embodiment of the present invention presets a static flow entry on all the switches in the SDN network, so that when multiple data flows flow into the SDN network, the first sending module only needs to exchange with the source end. The border switch on the optimal routing path between the machine and the inter-domain delivers the first flow entry, that is, only the routing device and the source switch and the border switch on the optimal routing path between the domains exchange information, reducing the routing device and the switch. The number of interactions between the two improves the routing performance of the SDN network. FIG. 8 is a schematic structural diagram of Embodiment 2 of a routing device of a software-defined network according to the present invention. On the basis of the foregoing embodiment shown in FIG. 7, the embodiment relates to a process in which the routing device 20 sends a static flow entry to all the switches in the SDN network through the second sending module 25. Further, the foregoing apparatus further includes: a second obtaining module 24 and a second sending module 25. The second obtaining module 24 is configured to obtain, before the first sending module 23 delivers the first flow entry to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path. The optimal path within the domain of the switch in the domain network to the border switch in the domain network; wherein the optimal path in the domain is the shortest path of each switch in the domain network to the border switch in the domain network; The sending module 25 is configured to send a static flow entry to each switch in the domain network according to the optimal path in the domain, so that each switch in the domain network receives the destination IP address in the domain network. When the data stream of the ID of any border switch is used, the data stream is routed to the corresponding border switch in the domain network according to the static flow entry.
具体的,本发明实施例提供的路由装置 20在根据上述域间最优路由路径 向源端交换机和域间最优路由路径上的边界交换机下发第一流表项之前, 还 存在一个预路由的过程。 gP, 第二获取模块 24 利用一些路由算法, 例如 Floyd-War shall算法, 得到任一域网络中的各个交换机 (包括该域网络中的 第一交换机和边界交换机)到该域网络中的所有边界交换机的域内最优路径。 可以参见错误! 未找到引用源。 所示 (图 4所示的域 1与图 3中所示的域 1 相同) , 普通 SDN交换机 S3 (即第一交换机, 可以看作是源端交换机) 到边 界交换机 SW1的最优路径为 S3-〉SW2, 边界交换机 SW1到 SW2的最优路径为 SW1->S2->SW20 Specifically, the routing device 20 provided by the embodiment of the present invention has a pre-routing before the first flow entry is sent to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path. process. gP, the second obtaining module 24 uses some routing algorithms, such as the Floyd-War shall algorithm, to obtain all the boundaries of each switch (including the first switch and the border switch in the domain network) in any domain network to the domain network. The optimal path within the domain of the switch. Can see the error! The reference source was not found. As shown (the domain 1 shown in Figure 4 is the same as the domain 1 shown in Figure 3), the normal SDN switch S3 (that is, the first switch, which can be regarded as the source switch), the optimal path to the border switch SW1 is S3. ->SW2, the optimal path of border switches SW1 to SW2 is SW1->S2->SW2 0
第二发送模块 25根据第二获取模块 24得到的域内最优路径, 向该域网 络中的每一个交换机下发相应的静态流表项,该静态流表项中的目的 IP地址 为该域网络中的某个边界交换机的 ID, 静态流表项的其它域设为通配, 同时 到达该域网络中的任一边界交换机的最优路径也决定了静态流表项动作的输 出端口。 如错误! 未找到引用源。 所示, 域 1中的边界交换机 SW1和 SW2的 ID分别为 192. 168. 6. 1以及 192. 168. 6. 2。第二获取模块 24在确定了域 1中 的域内最优路径之后, 第二发送模块 25根据该域内最优路径向 S3下发了两 条静态流表项, 向边界交换机 SW1下发了一条静态流表项。 当 S3接收到目的 IP地址为 192. 168. 6. 2 (即 SW2的 ID) 的数据流时, S3会根据 S3上的静态 流表项会匹配该数据流, 从而可以将数据流以最短路径路由到所对应的边界 交换机 SW2。 这里的数据流与上述实施例一的第一数据流不同点在于, 上述 实施例一的第一数据流的目的 IP地址为目的终端的 IP地址, 这里的数据流 的目的 IP地址为 SW2的 ID, 若这里的数据流与第一数据流中所携带的数据 信息相同, 则这个数据流实际上也可以称为第一数据流。 The second sending module 25 sends a corresponding static flow entry to each switch in the domain network according to the optimal path in the domain obtained by the second obtaining module 24, where the destination IP address in the static flow entry is the domain network. The ID of a border switch in the middle, and the other fields of the static flow entry are set to be wildcarded. The optimal path of any border switch in the network also determines the output port of the action of the static flow entry. As wrong! The reference source was not found. As shown, the boundary switches SW1 and SW2 in domain 1 The IDs are 192. 168. 6. 1 and 192. 168. 6. 2. After the second obtaining module 24 determines the optimal path in the domain in the domain 1, the second sending module 25 sends two static flow entries to the S3 according to the optimal path in the domain, and sends a static to the border switch SW1. Flow entry. When S3 receives the data stream whose destination IP address is 192.168.6.2 (that is, the ID of SW2), S3 matches the data stream according to the static flow entry on S3, so that the data stream can be the shortest path. Route to the corresponding border switch SW2. The data stream here is different from the first data stream in the first embodiment in that the destination IP address of the first data stream in the first embodiment is the IP address of the destination terminal, and the destination IP address of the data stream is the ID of the SW2. If the data stream here is the same as the data information carried in the first data stream, the data stream may also be referred to as a first data stream.
需要说明的是, 每个交换机上的静态流表项中的动作可能不一样 (即输 出数据流的端口不一样) , 目的 IP地址也有可能不一样。  It should be noted that the action in the static flow entry on each switch may be different (that is, the port of the output data stream is different), and the destination IP address may be different.
另外, 第二获取模块 24对 SDN网络的预路由过程是逐域进行的, 即第二 获取模块 24对 SDN网络的每个域网络均会进行预路由, 即第二获取模块 24 均会确定每个域网络中的各个交换机到该域网络中的边界交换机的域内最优 路径,使得第二发送模块 25向该域网络中的所有交换机下发对应的静态流表 项。 也就是说, 最终第二发送模块 25会向 SDN网络中的所有交换机下发静态 流表项, 且该静态流表项只下发一次。 并且, 第二获取模块 24进行预路由过 程的目的在于, 无论是边界交换机还是第一交换机, 当它们接收到目的 IP地 址是本域内任一边界交换机的 ID 的数据流时, 由于事先存在第二发送模块 25下发的可以匹配该数据流的静态流表项, 因此无需请求路由装置 20, 就可 以直接将接收到的数据流以最短路径路由到该域内的边界交换机上。  In addition, the pre-routing process of the SDN network by the second obtaining module 24 is performed on a per-domain basis, that is, the second obtaining module 24 pre-routes each domain network of the SDN network, that is, the second obtaining module 24 determines each The intra-domain optimal path of each switch in the domain network to the border switch in the domain network, so that the second sending module 25 delivers the corresponding static flow entry to all the switches in the domain network. That is to say, the second sending module 25 sends a static flow entry to all the switches in the SDN network, and the static flow entry is sent only once. Moreover, the purpose of the second obtaining module 24 performing the pre-routing process is that, whether it is the border switch or the first switch, when they receive the data stream whose destination IP address is the ID of any border switch in the domain, The static flow entry delivered by the sending module 25 can match the data flow, so that the received data flow can be directly routed to the border switch in the domain by the shortest path without requesting the routing device 20.
本发明实施例提供的软件定义网络的路由装置, 通过第二获取模块获取 任一域网络中的各个交换机到该域网络中的边界交换机的域内最优路径, 使 得第二发送模块可以根据该域内最优路径向该域网络中的各个交换机下发静 态流表项, 以使该域网络中的各个交换机在接收到目的 IP地址为该域网络中 的任一边界交换机的 ID的数据流时,根据静态流表项将该数据流以最优路径 路由至该域网络中的边界交换机上。 本发明实施例提供的路由装置, 通过在 SDN 网络中的所有交换机上预设静态流表项, 使得在有多条数据流流入 SDN 网络时, 第一发送模块仅需要向源端交换机和域间最优路由路径上的边界交 换机下发第一流表项, 即仅需要路由装置与源端交换机和域间最优路由路径 上的边界交换机进行信息交互, 减少了路由装置与交换机之间的交互次数, 提高了 SDN网络的路由性能。 图 9为本发明提供的软件定义网络的路由装置实施例三的结构示意图。 在上述图 8所示实施例的基础上, 本实施例涉及的是路由装置 20将第一 数据流路由至目的域网络中的目的交换机的整个具体过程。 进一歩地, 上 述第一流表项为第二流表项、 第三流表项、 第四流表项的其中一种; 则上述 第一发送模块 23, 包括: 第一发送单元 231, 用于向源端交换机下发第二流 表项; 其中, 该第二流表项用于指示源端交换机生成第二数据流, 并指示源 端交换机根据上述静态流表项将第二数据流路由至第一边界交换机上; 该第 二数据流为目的 IP地址为第一边界交换机的 ID的第一数据流;判断单元 232 用于判断第二边界交换机是否为上述域间最优路由路径上的最后一个边界交 换机, 获取判断结果; 其中, 该第二边界交换机为接收到第三数据流的域间 最优路由路径上的任一边界交换机,该第三数据流为目的 IP地址为上述域间 最优路径上的任一边界交换机的 ID的第一数据流; 第二发送单元 233, 用于 根据该判断结果确定向上述第二边界交换机下发第三流表项或第四流表项。 The routing device of the software-defined network provided by the embodiment of the present invention obtains the optimal intra-domain path of each switch in the domain network to the border switch in the domain network by using the second obtaining module, so that the second sending module can be based on the domain The optimal path sends a static flow entry to each switch in the domain network, so that each switch in the domain network receives the data stream of the ID of any border switch in the domain network when the destination IP address is received. The data stream is routed to the border switch in the domain network in an optimal path according to the static flow entry. The routing device provided by the embodiment of the present invention presets a static flow entry on all switches in the SDN network, so that when multiple data flows flow into the SDN network, the first sending module only needs to be connected to the source switch and the inter-domain. The border switch on the optimal routing path delivers the first flow entry, that is, only the routing device and the source switch and the optimal routing path between the domains are required. The upper boundary switches exchange information, which reduces the number of interactions between the routing device and the switch, and improves the routing performance of the SDN network. FIG. 9 is a schematic structural diagram of Embodiment 3 of a routing device of a software-defined network according to the present invention. Based on the foregoing embodiment shown in FIG. 8, the embodiment relates to the entire specific process of the routing device 20 routing the first data stream to the destination switch in the destination domain network. Further, the first flow entry is one of the second flow entry, the third flow entry, and the fourth flow entry; the first sending module 23 includes: a first sending unit 231, configured to: The second flow entry is sent to the source switch, where the second flow entry is used to indicate that the source switch generates the second data flow, and the source switch is configured to route the second data flow according to the static flow entry. The second data stream is the first data stream whose destination IP address is the ID of the first border switch; the determining unit 232 is configured to determine whether the second border switch is the last on the inter-domain optimal routing path. A border switch obtains a judgment result; wherein the second border switch is any border switch on the inter-domain optimal routing path that receives the third data stream, where the third data stream is the destination IP address being the most inter-domain a first data stream of the ID of the border switch of the best path; the second sending unit 233, configured to send, according to the determination result, the third flow entry or the fourth flow to the second border switch Entry.
更进一歩地, 第二发送单元 233, 具体用于若判断单元 232 的判断结果 为是, 则向第二边界交换机下发第三流表项; 其中, 该第三流表项用于指示 上述第二边界交换机执行第一更改操作; 该第一更改操作包括: 将第三数据 流的目的 IP地址更改为目的域网络中的所述第一数据流的目的终端的 IP地 址, 以将第三数据流路由至所述目的域网络; 若判断单元 232的判断结果为 否, 则向第二边界交换机下发第四流表项; 其中, 该第四流表项用于指示第 二边界交换机根据第四流表项和静态流表项执行第二更改操作, 直至判断单 元 232判断第二边界交换机为域间最优路由路径上的最后一个边界交换机为 止; 其中, 上述第二更改操作包括: 将第三数据流的目的 IP地址更改为第二 边界交换机在域间最优路由路径上的下一跳边界交换机的 ID, 以将第三数据 流路由至所述下一跳边界交换机上, 并将所述下一跳边界交换机作为新的第 二边界交换机。  Further, the second sending unit 233 is configured to: if the determining result of the determining unit 232 is yes, send a third flow entry to the second border switch; wherein the third flow entry is used to indicate the foregoing The second border switch performs a first change operation; the first change operation includes: changing a destination IP address of the third data stream to an IP address of the destination terminal of the first data stream in the destination domain network, to be the third The data flow is routed to the destination network; if the determination result of the determining unit 232 is no, the fourth flow entry is sent to the second border switch; wherein the fourth flow entry is used to indicate that the second boundary switch is The fourth flow entry and the static flow entry perform a second change operation until the determining unit 232 determines that the second boundary switch is the last boundary switch on the inter-domain optimal routing path; wherein the second change operation includes: The destination IP address of the third data stream is changed to the ID of the next hop boundary switch of the second border switch on the optimal routing path between the domains, to the third data The next-hop routing to the edge switch, and the next-hop border switches as a new second border switches.
具体的, 路由装置 20会将 SDN网络中的所有交换机 (包括第一交换 机和边界交换机) 划分到不同的域网络中, 然后第二获取模块 24会对每 个域网络中的交换机进行预路由的过程, 即第二获取模块 24会根据路由 算法, 得到任一域网络中所有交换机到该域网络中的所有边界交换机的域 内最优路径, 使得第二发送模块 25 可以根据该域内最优路径向该域网络 中的所有交换机下发静态流表项。 Specifically, the routing device 20 divides all switches (including the first switch and the border switch) in the SDN network into different domain networks, and then the second obtaining module 24 will each The process of the pre-routing of the switch in the domain network, that is, the second obtaining module 24 obtains the optimal intra-domain path of all the switches in any domain network to all the border switches in the domain network according to the routing algorithm, so that the second sending is performed. The module 25 can send static flow entries to all the switches in the domain network according to the optimal path in the domain.
当源端交换机接收到第一数据流时 (该第一数据流的目的 IP地址为 目的终端的 IP地址) , 第一获取模块 21会根据该第一数据流获知该第一 数据流所属的源域网络和目的域网络, 并通过第一确定模块 22 确定域间 最优路由路径, 该域间最优路由路径包括了第一数据流从源域网络流向目 的域网络时所流经的所有边界交换机。  When the source switch receives the first data stream (the destination IP address of the first data stream is the IP address of the destination terminal), the first acquiring module 21 learns the source to which the first data stream belongs according to the first data stream. The domain network and the destination domain network, and the inter-domain optimal routing path is determined by the first determining module 22, and the inter-domain optimal routing path includes all the boundaries that the first data stream flows from the source domain network to the destination domain network. switch.
之后, 第一发送单元 231向该源端交换机下发第二流表项, 使得源端 交换机可以根据该第二流表项将所接收到的第一数据流的目的 IP地址修 改为第一边界交换机的 ID, 从而生成第二数据流, 但是第二数据流中所携带 的数据和第一数据流中所携带的数据相同, 因此, 第二数据流即就是目的 IP 地址为第一边界交换机的 ID的第一数据流。源端交换机在生成第二数据流之 后, 由于第二数据流的目的 IP地址为第一边界交换机的 ID, 且源端交换机 上存在有之前第二发送模块 25下发给源端交换机的静态流表项,该源端交换 机上的静态流表项的目的 IP地址为源域网络中的任一边界交换机的 ID, 因 此源端交换机可以将第二数据流以最短路径路由至源域网络中的第一边界交 换机上, 该第一边界交换机为域间最优路由路径上的第一个边界交换机。  After the first sending unit 231 sends the second flow entry to the source switch, the source switch can modify the destination IP address of the received first data flow to the first boundary according to the second flow entry. The ID of the switch, so that the second data stream is generated, but the data carried in the second data stream is the same as the data carried in the first data stream. Therefore, the second data stream is the destination IP address of the first border switch. The first data stream of the ID. After the source switch generates the second data stream, the destination IP address of the second data stream is the ID of the first border switch, and the static stream that is sent by the second sending module 25 to the source switch is present on the source switch. The destination IP address of the static flow entry on the source switch is the ID of any border switch in the source domain network. Therefore, the source switch can route the second data stream to the source domain network with the shortest path. On the first border switch, the first border switch is the first border switch on the optimal routing path between the domains.
进一歩地, 判断单元 232会判断第二边界交换机是否为域间最优路由 路径上的最后一个边界交换机, 获取判断结果; 其中, 该第二边界交换机为 接收到第三数据流的域间最优路由路径上的任一边界交换机, 该第三数据流 为目的 IP地址为上述域间最优路径上的任一边界交换机的 ID的第一数据流, 也就是说上述第二数据流也属于第三数据流(第二数据流的目的 IP地址为第 一边界交换机的 ID), 相应的, 上述第一边界交换机也属于第二边界交换机。 也就是说, 当第一发送单元 231 向源端交换机发送第二流表项, 使得源端交 换机将第二数据流路由至第一边界交换机之后, 判断单元 232还会判断第一 边界交换机是否为域间最优路由路径上的最后一个边界交换机, 获得判断结 果 (因为实际传输时, 域间最优路由路径上可能存在只有一个边界交换机的 情况,则这个边界交换机既是第一个边界交换机,也是最后一个边界交换机)。 需要说明的是, 第二边界交换机可以是域间最优路由路径上的第一个边界交 换机 (第一边界交换机) , 也可以是域间最优路由路径上的最后一个边界交 换机, 还可以是域间最优路由路径上的第一个边界交换机和最后一个边界交 换机之间的边界交换机。 Further, the determining unit 232 determines whether the second border switch is the last border switch on the optimal routing path between the domains, and obtains a determination result; wherein the second border switch is the inter-domain most received the third data stream Any boundary switch on the routing path, where the third data stream is the first data stream whose destination IP address is the ID of any border switch on the inter-domain optimal path, that is, the second data stream also belongs to The third data stream (the destination IP address of the second data stream is the ID of the first border switch), and correspondingly, the first border switch also belongs to the second border switch. That is, after the first sending unit 231 sends the second flow entry to the source switch, so that the source switch routes the second data flow to the first border switch, the determining unit 232 also determines whether the first border switch is The last boundary switch on the optimal routing path between the domains obtains the judgment result (because there may be only one border switch in the optimal routing path between the domains during actual transmission, the border switch is both the first border switch and also The last border switch). It should be noted that the second border switch may be the first border switch (the first border switch) on the optimal routing path between the domains, or the last border switch on the optimal routing path between the domains, or may be A border switch between the first border switch and the last border switch on the optimal routing path between domains.
当上述判断结果为第二边界交换机为域间最优路由路径上的最后一 个边界交换机时 (实际上第二边界交换机此时就位于目的域网络中) , 则 第二发送单元 233 会向第二边界交换机下发第三流表项, 使得第二边界交 换机向所接收到的第三数据流的目的 IP 地址更改为目的域网络中的目的终 端的 IP地址, 即将第三数据流转换为最初的第一数据流, 从而使得第二边界 交换机将第一数据流路由到目的域网络中。  When the foregoing judgment result is that the second border switch is the last border switch on the inter-domain optimal routing path (actually, the second border switch is located in the destination domain network at this time), the second sending unit 233 goes to the second. The border switch delivers the third flow entry, so that the second border switch changes the destination IP address of the received third data flow to the IP address of the destination terminal in the destination domain network, that is, converts the third data stream to the original one. The first data stream causes the second border switch to route the first data stream to the destination domain network.
当上述判断结果为第二边界交换机不是域间最优路由路径上的最后 一个边界交换机时, 则第二发送单元 233会向第二边界交换机下发第四流 表项; 第二边界交换机在接收到第四流表项之后, 将自身所接收到的第三数 据流的目的 IP 地址更改为该第二边界交换机在域间最优路由路径上的下一 跳边界交换机的 ID, 并根据自身所存在的静态流表项将第三数据流路由至该 下一跳边界交换机上, 并将下一跳边界交换机作为新的第二边界交换机。 之 后, 判断单元 232又继续判断该新的第二边界交换机是否为域间最优路由路 径上的最后一个边界交换机, 第二发送单元会根据判断结果确定向该新的第 二边界交换机下发第三流表项还是第四流表项, 直至判断单元判断新的第二 边界交换机为域间最优路由路径上的最后一个边界交换机为止。 需要说明的 是, 第一边界交换机可以直接将第一数据流路由至目的域网络中, 还可以通 过第二边界交换机 (此时第二边界交换机不是域间最优路由路径上的第一个 边界交换机) 将第一数据流路由至目的域网络中。  When the result of the foregoing determination is that the second border switch is not the last border switch on the inter-domain optimal routing path, the second sending unit 233 sends a fourth flow entry to the second border switch; the second border switch receives After the fourth flow entry, the destination IP address of the third data stream received by the second boundary switch is changed to the ID of the next hop boundary switch of the second boundary switch on the optimal routing path between the domains, and according to the The existing static flow entry routes the third data flow to the next hop boundary switch and the next hop boundary switch as the new second boundary switch. Then, the determining unit 232 continues to determine whether the new second border switch is the last border switch on the inter-domain optimal routing path, and the second sending unit determines to send the new second border switch according to the determination result. The third-stream entry is also the fourth flow entry until the determination unit determines that the new second boundary switch is the last boundary switch on the optimal routing path between the domains. It should be noted that the first border switch may directly route the first data stream to the destination domain network, and may also pass the second border switch. (At this time, the second border switch is not the first boundary on the optimal routing path between the domains. Switch) Routes the first data stream to the destination domain network.
本发明实施例提供的软件定义网络的路由装置, 通过第一获取模块获取 源端交换机发送的第一数据流的源域网络和目的域网络, 第一确定模块确定 第一数据流经源域网络路由至目的域网络中的域间最优路由路径, 并通过第 一发送模块根据该域间最优路由路径向源端交换机和域间最优路由路径上的 边界交换机下发第一流表项, 使得源端交换机根据第一流表项和预设的静态 流表项将第一数据流路由至源域网络的第一边界交换机, 并使得第一边界交 换机根据第一流表项和静态流表项将第一数据流路由至目的域网络中。 本发 明实施例提供的路由装置, 通过在 SDN网络中的所有交换机上预设静态流表 项, 使得在有多条数据流流入 SDN网络时, 第一发送模块仅需要向源端交换 机和域间最优路由路径上的边界交换机下发第一流表项, 即仅需要路由装置 与源端交换机和域间最优路由路径上的边界交换机进行信息交互, 减少了路 由装置与交换机之间的交互次数, 提高了 SDN网络的路由性能。 The routing device of the software-defined network provided by the embodiment of the present invention obtains the source domain network and the destination domain network of the first data stream sent by the source switch by using the first acquiring module, and the first determining module determines that the first data stream flows through the source domain network. Routing the route to the inter-domain optimal routing path in the destination network, and sending the first flow entry to the source switch and the border switch on the optimal routing path of the inter-domain based on the optimal routing path between the inter-domains. The source switch forwards the first data flow to the first border switch of the source domain network according to the first flow entry and the preset static flow entry, and causes the first boundary switch to be based on the first flow entry and the static flow entry. The first data stream is routed to the destination domain network. This hair The routing device provided by the embodiment is configured to preset a static flow entry on all switches in the SDN network, so that when multiple data flows flow into the SDN network, the first sending module only needs to be the most between the source switch and the domain. The border switch on the optimal routing path delivers the first flow entry, that is, only the routing device needs to exchange information with the source switch and the border switch on the optimal routing path between the domains, thereby reducing the number of interactions between the routing device and the switch. Improve the routing performance of the SDN network.
继续参照图 9,进一歩地,该路由装置 20还可以包括:第二确定模块 26, 用于在所述第二发送单元 233 向所述第二边界交换机下发所述第三流表项之 后, 确定所述第二边界交换机到所述目的域网络中的所述目的交换机的最优 路径; 第三发送模块 27, 用于向所述第二边界交换机到所述目的域网络中的 所述目的交换机的最优路径上的所有交换机下发第五流表项, 以使所述第二 边界交换机将所述第一数据流以最短路径路由至所述第一数据流的目的终 山 具体的, 在第二边界交换机 (也可以是第一边界交换机) 将第一数据流 路由至目的域网络中后,第二确定模块 26会确定第二边界交换机到目的域网 络中的目的交换机的最优路径,并通过第三发送模块 27向该最优路径上的所 有交换机 (包括第一交换机和目的交换机) 下发第五流表项, 以使第二边界 交换机将第一数据流以最短路径路由至该第一数据流的目的终端, 完成该第 一数据流的跨域路由。  With continued reference to FIG. 9, the routing device 20 may further include: a second determining module 26, configured to: after the second sending unit 233 sends the third flow entry to the second border switch Determining an optimal path of the second border switch to the destination switch in the destination domain network; a third sending module 27, configured to send the second border switch to the destination domain network All the switches on the optimal path of the destination switch deliver the fifth flow entry, so that the second border switch routes the first data flow to the destination of the first data flow by using the shortest path. After the second border switch (which may also be the first border switch) routes the first data stream to the destination domain network, the second determining module 26 determines the optimality of the destination switch in the second border switch to the destination domain network. The third flow entry is sent to all the switches (including the first switch and the destination switch) on the optimal path by the third sending module 27 to make the second boundary The switch routes the first data stream to the destination terminal of the first data stream in a shortest path, and completes the cross-domain routing of the first data stream.
为了能够更好的理解本发明实施例, 在此举一个具体的例子进行说 明:  In order to better understand the embodiments of the present invention, a specific example will be described herein:
继续参照图 3, 第一确定模块 22通过计算源域网络 (域 1 ) 的边界交 换机 SW1、 SW2和目的域网络(域 4 ) 的边界交换机 SW4、 SW5之间的路由, 得到 SW2-〉SW5是域间最优路由路径, 即第一数据流从域 1路由至域 4的 最优路径是 SW2-〉SW5 的这条路径, 该域间最优路由路径上包括了两个边 界交换机。  With continued reference to FIG. 3, the first determining module 22 obtains SW2->SW5 by calculating the route between the border switches SW1 and SW2 of the source domain network (domain 1) and the border switches SW4 and SW5 of the destination domain network (domain 4). The optimal routing path between the domains, that is, the optimal path of the first data flow from domain 1 to domain 4 is the path of SW2->SW5, and the optimal routing path between the domains includes two border switches.
第一数据流流入源端交换机, 第一发送单元 231向源端交换机下发第 二流表项, 该第二流表项动作是指示源端交换机将第一数据流的目的 IP 地址修改为第一边界交换机 SW2的 ID ( SW2为域间最优路由路径上的第一 个边界交换机) , 第一数据流此时成为第二数据流, 源端交换机根据第二 发送模块 25 之前发送给源端交换机的静态流表项将第二数据流以最优路 径路由到 SW2中。 同时, 判断单元 232会判断 SW2是否为域间最优路由路 径上的最后一个边界交换机, 此时根据图 3, 判断单元 232判断 SW2不是 域间最优路由路径上的最后一个边界交换机, 则第二发送单元 233向 SW2 下发第四流表项, 该第四流表项的动作是指示 SW2将 SW2所接收到的第二 数据流 (也是第三数据流) 的目的 IP地址更改为 SW2在域间最优路由路 径上的下一跳边界交换机的 ID , 即更改为 SW5的 ID。 因此, SW2在接收到 第四流表项之后, 将第二数据流 (也是第三数据流) 的目的 IP地址修改 为 SW5的 ID , 成为新的第三数据流, 并且由于 SW2上因为预路由过程中第 二发送模块 25提前下发给 SW2的静态流表项, 故 SW2可以根据该静态流 表项该新的第三数据流以最短路径路由到边界交换机 SW5中, 即此时 SW2 已经将该新的第三数据流路由到了目的域网络中。 之后, 判断单元 232依 然会判断 SW5是否为域间最优路由路径上的最后一个边界交换机, 由于图 3中的 SW5是域间最优路由路径上的最后一个边界交换机, 则第二发送单 元 233向 SW5下发第三流表项, 该第三流表项的动作是指示 SW5将新的第 三数据流的目的 IP地址改为目的域网络(域 4 )中的目的终端的 IP地址, 即此时该新的第三数据流又转换为原来的第一数据流, 则第一数据流此时 也已经到达目的域网络中。 The first data stream flows to the source switch, and the first sending unit 231 sends a second flow entry to the source switch, where the second flow entry indicates that the source switch modifies the destination IP address of the first data flow to the first The ID of the border switch SW2 (the SW2 is the first border switch on the optimal routing path between the domains), the first data stream becomes the second data stream at this time, and the source switch is sent to the source end according to the second sending module 25 The static flow entry of the switch takes the second data stream as the optimal path. The route is routed to SW2. At the same time, the determining unit 232 determines whether the SW2 is the last border switch on the optimal routing path between the domains. At this time, according to FIG. 3, the determining unit 232 determines that the SW2 is not the last border switch on the optimal routing path between the domains, and then The second sending unit 233 sends a fourth flow entry to the SW2, and the action of the fourth flow entry is to instruct the SW2 to change the destination IP address of the second data stream (also the third data stream) received by the SW2 to SW2. The ID of the next hop boundary switch on the optimal routing path between the domains, that is, the ID of SW5. Therefore, after receiving the fourth flow entry, SW2 modifies the destination IP address of the second data flow (also the third data flow) to the ID of SW5, becomes the new third data flow, and because SW2 is pre-routed. In the process, the second sending module 25 sends the static flow entry to the SW2 in advance, so that the new third data stream can be routed to the border switch SW5 according to the static flow entry, that is, the SW2 has already been The new third data stream is routed to the destination domain network. After that, the determining unit 232 still determines whether the SW5 is the last border switch on the inter-domain optimal routing path. Since SW5 in FIG. 3 is the last border switch on the inter-domain optimal routing path, the second sending unit 233 Sending a third flow entry to the SW5, the action of the third flow entry is to instruct the SW5 to change the destination IP address of the new third data flow to the IP address of the destination terminal in the destination domain network (domain 4), that is, At this time, the new third data stream is converted into the original first data stream, and the first data stream has also arrived at the destination domain network.
第二确定模块 26在第二边界交换机 (也可以是第一边界交换机) 将第 一数据流路由至目的域网络中后, 在域 4中计算 SW5到目的交换机的最优路 径,并通过第三发送模块 27根据该最优路径向该路径上的所有交换机下发第 五流表项, 使得 SW5可以将第一数据流路由至目的交换机, 并由目的交换机 路由到目的终端上。  After the second border switch (which may also be the first border switch) routes the first data stream to the destination domain network, the second determining module 26 calculates the optimal path of the SW5 to the destination switch in the domain 4, and passes the third path. The sending module 27 delivers the fifth flow entry to all the switches on the path according to the optimal path, so that the SW5 can route the first data flow to the destination switch and be routed by the destination switch to the destination terminal.
本发明实施例提供的软件定义网络的路由装置, 通过第一获取模块获取 源端交换机发送的第一数据流的源域网络和目的域网络, 第一确定模块确定 第一数据流经源域网络路由至目的域网络中的域间最优路由路径, 并通过第 一发送模块根据该域间最优路由路径向源端交换机和域间最优路由路径上的 边界交换机下发第一流表项, 使得源端交换机根据第一流表项和预设的静态 流表项将第一数据流路由至源域网络的第一边界交换机, 并使得第一边界交 换机根据第一流表项和静态流表项将第一数据流路由至目的域网络中。 本发 明实施例提供的路由装置, 通过在 SDN网络中的所有交换机上预设静态流表 项, 使得在有多条数据流流入 SDN网络时, 第一发送模块仅需要向源端交换 机和域间最优路由路径上的边界交换机下发第一流表项, 即仅需要路由装置 与源端交换机和域间最优路由路径上的边界交换机进行信息交互, 减少了路 由装置与交换机之间的交互次数, 提高了 SDN网络的路由性能。 图 10 为本发明提供的软件定义网络的路由装置实施例四的结构示意 图。本实施例涉及的过程是第一获取模块 21根据第一数据流确定第一数据流 所属的源域网络和目的域网络的具体过程。在上述图 9所示实施例的基础上, 进一歩地, 该第一获取模块 21具体包括: 接收单元 211, 用于接收源端交换 机根据缓存的第一数据流发送的新流请求消息; 获取单元 212, 具体用于根 据接收单元 211接收到的所述新流请求消息获取第一数据流的源 IP地址和第 一数据流的目的 IP地址; 第一确定单元 213, 用于根据第一数据流的源 IP 地址和第一数据流的目的 IP地址确定第一数据流的源域网络和目的域网络。 上述第一确定模块 22具体包括: 生成单元 221, 用于生成全网路由拓扑图; 第二确定单元 222, 用于根据所述全网路由拓扑图确定所述第一数据流经所 述源域网络路由至所述目的域网络中的所述域间最优路由路径; 其中, 所述 全网路由拓扑图包括: 所述 SDN网络中的各个边界交换机和所述第一数据流 在所述 SDN网络中的各个边界交换机之间传输时的最优路径的路由代价。 The routing device of the software-defined network provided by the embodiment of the present invention obtains the source domain network and the destination domain network of the first data stream sent by the source switch by using the first acquiring module, and the first determining module determines that the first data stream flows through the source domain network. Routing the route to the inter-domain optimal routing path in the destination network, and sending the first flow entry to the source switch and the border switch on the optimal routing path of the inter-domain based on the optimal routing path between the inter-domains. The source switch forwards the first data flow to the first border switch of the source domain network according to the first flow entry and the preset static flow entry, and causes the first boundary switch to be based on the first flow entry and the static flow entry. The first data stream is routed to the destination domain network. The routing device provided by the embodiment of the present invention presets a static flow table by using all the switches in the SDN network. Therefore, when a plurality of data flows flow into the SDN network, the first sending module only needs to deliver the first flow entry to the border switch on the source switch and the inter-domain optimal routing path, that is, only the routing device and the source end are required. The border switch on the optimal routing path between the switch and the domain exchanges information, which reduces the number of interactions between the routing device and the switch, and improves the routing performance of the SDN network. FIG. 10 is a schematic structural diagram of Embodiment 4 of a routing device of a software-defined network provided by the present invention. The process involved in this embodiment is a specific process in which the first obtaining module 21 determines, according to the first data flow, the source domain network and the destination domain network to which the first data stream belongs. On the basis of the foregoing embodiment shown in FIG. 9, the first acquiring module 21 specifically includes: a receiving unit 211, configured to receive a new flow request message sent by the source switch according to the buffered first data stream; The unit 212 is specifically configured to acquire the source IP address of the first data stream and the destination IP address of the first data stream according to the new flow request message received by the receiving unit 211. The first determining unit 213 is configured to use the first data according to the first data. The source IP address of the stream and the destination IP address of the first data stream determine the source domain network and the destination domain network of the first data stream. The first determining module 22 specifically includes: a generating unit 221, configured to generate a network-wide routing topology map; a second determining unit 222, configured to determine, according to the network-wide routing topology, that the first data flows through the source domain The network is routed to the inter-domain optimal routing path in the destination network; wherein the network-wide routing topology includes: each border switch in the SDN network and the first data stream in the SDN The routing cost of the optimal path when transmitting between various border switches in the network.
具体的, 当 SDN网络中的源端交换机接收到从发送终端发过来的第一数 据流, 其目的 IP地址是目的终端的 IP地址, 并不是某个域网络中的某个边 界交换机的 ID, 因此, 源端交换机中并没有与之匹配的静态流表项 (静态流 表项中的目的 IP地址均是边界交换机的 ID) 。 故, 与发送终端直接相连的 源端交换机将先缓存到达的第一数据流,同时产生新流请求消息(packet-in) 发往第一获取模块 21; 第一获取模块 21通过解析此消息, 可以得到该第一 数据流的源 IP和目的 IP地址,并根据该第一数据流的源 IP地址和第一数据 流的目的 IP地址确定第一数据流所属的源域网络和目的域网络。如果源域网 络和目的域网络具有相同的 IP 前缀, 说明发送终端和目的终端在同一个域 内, 在这种情况下对该第一数据流的路由, 可以参见现有技术。 当源域网络 和目的域网络的 IP前缀不同时, 说明发送终端和目的终端不在同一个域内, 第一数据流需要进行跨域路由。 另外, 第一确定模块 22中的生成单元 221在第二获取模块 24之前为 SDN 网络预路由的过程中, 生成了一张全网路由拓扑图, 该全网路由拓扑 图包括: SDN 网络中的各个边界交换机和第一数据流在 SDN 网络中的各个边 界交换机之间传输时的最优路径的路由代价。 对照图 3所示的 SDN网络的示 意图, 图 6为图 3所对应的全网路由拓扑图。 第二确定单元 222可以根据该 全网路由拓扑图中各个边界交换机之间的路由代价确定源域网络中的边界交 换机到目的域网络中的各个边界交换机之间的路由代价, 从而确定域间最优 路由路径。 可选的, 生成单元 221还可以存储该域间最优路由路径, 当再次 为相同的源域网络和目的域网络的数据流路由时, 则无需重复计算, 直接就 可以得到域间最优路由路径。 Specifically, when the source switch in the SDN network receives the first data stream sent from the sending terminal, the destination IP address is the IP address of the destination terminal, and is not the ID of a border switch in a domain network. Therefore, there is no static flow entry matching the source switch (the destination IP address in the static flow entry is the ID of the border switch). Therefore, the source switch directly connected to the sending terminal first buffers the first data stream that arrives, and sends a new packet request message (packet-in) to the first obtaining module 21; the first obtaining module 21 parses the message. The source IP address and the destination IP address of the first data stream are obtained, and the source domain network and the destination domain network to which the first data stream belongs are determined according to the source IP address of the first data stream and the destination IP address of the first data stream. If the source network and the destination network have the same IP prefix, the sending terminal and the destination terminal are in the same domain. In this case, the routing of the first data stream can be referred to the prior art. When the IP prefix of the source network and the destination network are different, the sending terminal and the destination terminal are not in the same domain. The first data stream needs to be cross-domain. In addition, the generating unit 221 in the first determining module 22 generates a network-wide routing topology map in the process of pre-routing the SDN network before the second acquiring module 24, where the network-wide routing topology includes: The routing cost of the optimal path when each border switch and the first data stream are transmitted between the various border switches in the SDN network. Referring to the schematic diagram of the SDN network shown in FIG. 3, FIG. 6 is a schematic diagram of the entire network routing corresponding to FIG. The second determining unit 222 can determine a routing cost between the border switch in the source domain network and each border switch in the destination domain network according to the routing cost between the border switches in the network topology map, thereby determining the inter-domain maximum Excellent routing path. Optionally, the generating unit 221 may also store the optimal routing path between the domains. When the data flows of the same source domain network and the destination domain network are routed again, the inter-domain optimal routing may be directly obtained without repeated calculation. path.
本发明实施例提供的软件定义网络的路由装置, 通过第一获取模块获取 源端交换机发送的第一数据流的源域网络和目的域网络, 第一确定模块确定 第一数据流经源域网络路由至目的域网络中的域间最优路由路径, 并通过第 一发送模块根据该域间最优路由路径向源端交换机和域间最优路由路径上的 边界交换机下发第一流表项, 使得源端交换机根据第一流表项和预设的静态 流表项将第一数据流路由至源域网络的第一边界交换机, 并使得第一边界交 换机根据第一流表项和静态流表项将第一数据流路由至目的域网络中。 本发 明实施例提供的路由装置, 通过在 SDN网络中的所有交换机上预设静态流表 项, 使得在有多条数据流流入 SDN网络时, 第一发送模块仅需要向源端交换 机和域间最优路由路径上的边界交换机下发第一流表项, 即仅需要路由装置 与源端交换机和域间最优路由路径上的边界交换机进行信息交互, 减少了路 由装置与交换机之间的交互次数, 提高了 SDN网络的路由性能。  The routing device of the software-defined network provided by the embodiment of the present invention obtains the source domain network and the destination domain network of the first data stream sent by the source switch by using the first acquiring module, and the first determining module determines that the first data stream flows through the source domain network. Routing the route to the inter-domain optimal routing path in the destination network, and sending the first flow entry to the source switch and the border switch on the optimal routing path of the inter-domain based on the optimal routing path between the inter-domains. The source switch forwards the first data flow to the first border switch of the source domain network according to the first flow entry and the preset static flow entry, and causes the first boundary switch to be based on the first flow entry and the static flow entry. The first data stream is routed to the destination domain network. The routing device provided by the embodiment of the present invention presets a static flow entry on all the switches in the SDN network, so that when multiple data flows flow into the SDN network, the first sending module only needs to be connected to the source switch and the inter-domain. The border switch on the optimal routing path delivers the first flow entry, that is, only the routing device and the source switch and the border switch on the optimal routing path between the domains exchange information, reducing the number of interactions between the routing device and the switch. , improve the routing performance of the SDN network.
图 1 1 为本发明提供的软件定义网络的路由方法实施例一的流程示意 图。 该方法的执行主体可以是上述实施例中的路由装置或路由设备。 该 SDN 网络包括至少两个域网络, 每个域网络包括至少一个第一交换机和至少一个 边界交换机, 所述边界交换机用于连接所述边界交换机所在的第一域网络和 所述边界交换机所在的第二域网络; 数据流通过所述边界交换机从所述第一 域网络路由至所述第二域网络。 如图 11所示, 该方法包括:  FIG. 1 is a schematic flow chart of Embodiment 1 of a method for routing a software-defined network according to the present invention. The executive body of the method may be the routing device or routing device in the above embodiment. The SDN network includes at least two domain networks, each of the domain networks includes at least one first switch and at least one border switch, where the border switch is used to connect the first domain network where the border switch is located and where the border switch is located a second domain network; a data flow is routed from the first domain network to the second domain network through the border switch. As shown in Figure 11, the method includes:
S101 : 控制器获取源端交换机发送的第一数据流的源域网络和目的域网 络; 其中, 所述源端交换机为所述第一交换机, 所述源端交换机位于所述源 域网络。 S101: The controller acquires a source domain network and a destination domain network of the first data stream sent by the source switch, where the source switch is the first switch, and the source switch is located at the source Domain network.
S102 : 控制器确定所述第一数据流经所述源域网络路由至所述目的域网 络中的域间最优路由路径, 所述域间最优路由路径上包括至少一个边界交换 机。  S102: The controller determines that the first data flow is routed to the inter-domain optimal routing path in the destination domain network by using the source domain network, where the inter-domain optimal routing path includes at least one border switch.
S103 : 控制器根据所述域间最优路由路径向所述源端交换机和所述域间 最优路由路径上的边界交换机下发第一流表项, 以使所述源端交换机根据所 述第一流表项和预设的静态流表项将所述第一数据流路由至所述源域网络的 第一边界交换机, 并使得所述第一边界交换机根据所述第一流表项和所述静 态流表项将所述第一数据流路由至所述目的域网络中; 其中, 所述第一边界 交换机为所述域间最优路由路径上的第一个边界交换机。  S103: The controller sends a first flow entry to the border switch on the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path, so that the source switch according to the first The first-level entry and the preset static flow entry route the first data flow to the first border switch of the source domain network, and the first boundary switch according to the first flow entry and the static The flow entry class routes the first data flow to the destination domain network; wherein the first border switch is the first border switch on the inter-domain optimal routing path.
本发明实施例提供的软件定义网络的路由方法的执行过程可以参加上述 路由装置或路由设备实施例的执行过程, 其实现原理和技术效果类似, 在此 不再赘述。  The implementation process of the routing method of the software-defined network provided by the embodiment of the present invention may participate in the execution process of the foregoing routing device or the routing device embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
图 12 为本发明提供的软件定义网络的路由方法实施例二的流程示意 图。 在上述图 11所示实施例的基础上, 即在 S103之前, 该方法还包括: FIG. 12 is a schematic flow chart of Embodiment 2 of a method for routing a software-defined network according to the present invention. On the basis of the embodiment shown in FIG. 11 above, that is, before S103, the method further includes:
S201 : 控制器获取任一所述域网络中的各个交换机到该域网络中的边界 交换机的域内最优路径; 其中, 所述域内最优路径为该域网络中的各个交换 机到该域网络中的边界交换机的最短路径。 S201: The controller acquires an intra-domain optimal path of each switch in the domain network to a border switch in the domain network, where the optimal path in the domain is each switch in the domain network to the domain network. The shortest path of the border switch.
需要说明的是, S201可以在 S101之前, 还可以在 S102之后执行, 只要 S201在 S103之前执行即可, 图 12只是一种示意。  It should be noted that S201 may be performed before S101 or after S102, as long as S201 is executed before S103, and FIG. 12 is only an illustration.
S202: 控制器根据所述域内最优路径向该域网络中的各个交换机下发所 述静态流表项, 以使该域网络中的各个交换机在接收到目的 IP地址为该域网 络中的任一边界交换机的 ID的数据流时,根据所述静态流表项将该数据流以 最优路径路由至该域网络中对应的边界交换机上。  S202: The controller sends the static flow entry to each switch in the domain network according to the optimal path in the domain, so that each switch in the domain network receives the destination IP address as the network in the domain. When the data stream of the ID of the border switch is used, the data stream is routed to the corresponding border switch in the domain network according to the static flow entry.
本发明实施例提供的软件定义网络的路由方法的执行过程可以参加上述 路由装置或路由设备实施例的执行过程, 其实现原理和技术效果类似, 在此 不再赘述。  The implementation process of the routing method of the software-defined network provided by the embodiment of the present invention may participate in the execution process of the foregoing routing device or the routing device embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
进一歩地, 上述第一流表项为第二流表项、 第三流表项、 第四流表项的 其中一种, 则上述 S103具体包括: 控制器向所述源端交换机下发所述第二流 表项; 其中, 所述第二流表项用于指示所述源端交换机生成第二数据流, 并 指示所述源端交换机根据所述静态流表项将所述第二数据流路由至所述第一 边界交换机上; 所述第二数据流为目的 IP地址为所述第一边界交换机的 ID 的所述第一数据流。 Further, the foregoing first flow entry is one of the second flow entry, the third flow entry, and the fourth flow entry, and the foregoing S103 specifically includes: the controller sending the to the source switch a second flow entry, where the second flow entry is used to instruct the source switch to generate a second data flow, and Instructing the source switch to route the second data flow to the first border switch according to the static flow entry; the second data flow is a destination IP address being an ID of the first border switch. The first data stream.
更进一歩地, 上述 S103还可以包括: 控制器判断第二边界交换机是否为 所述域间最优路由路径上的最后一个边界交换机, 获取判断结果; 其中, 所 述第二边界交换机为接收到第三数据流的所述域间最优路由路径上的任一边 界交换机,所述第三数据流为目的 IP地址为所述域间最优路径上的任一边界 交换机的 ID的所述第一数据流;所述控制器根据所述判断结果确定向所述第 二边界交换机下发所述第三流表项或所述第四流表项。  Further, the foregoing S103 may further include: the controller determining whether the second border switch is the last border switch on the optimal routing path between the inter-domains, and obtaining a determination result; wherein, the second border switch is received Any boundary switch on the inter-domain optimal routing path of the third data stream, where the third data stream is the destination IP address being the ID of any boundary switch on the inter-domain optimal path a data flow; the controller determines, according to the determination result, that the third flow entry or the fourth flow entry is delivered to the second border switch.
更进一歩地, 上述 S103还可以包括: 若所述判断结果为是, 则所述控制 器向所述第二边界交换机下发所述第三流表项; 其中, 所述第三流表项用于 指示所述第二边界交换机执行第一更改操作; 所述第一更改操作包括: 将所 述第三数据流的目的 IP 地址更改为所述目的域网络中的所述第一数据流的 目的终端的 IP地址; 若所述判断结果为否, 则所述控制器向所述第二边界交 换机下发所述第四流表项; 其中, 所述第四流表项用于指示所述第二边界交 换机根据所述第四流表项和所述静态流表项执行第二更改操作, 直至所述控 制器判断所述第二边界交换机为所述域间最优路由路径上的最后一个边界交 换机为止; 其中, 所述第二更改操作包括: 将所述第三数据流的目的 IP地址 更改为所述第二边界交换机在所述域间最优路由路径上的下一跳边界交换机 的 ID, 以将所述第三数据流路由至所述下一跳边界交换机上, 并将所述下一 跳边界交换机作为新的第二边界交换机。  Further, the foregoing S103 may further include: if the determination result is yes, the controller sends the third flow entry to the second border switch; wherein, the third flow entry Used to instruct the second border switch to perform a first change operation; the first change operation includes: changing a destination IP address of the third data stream to the first data stream in the destination domain network The IP address of the destination terminal; if the determination result is no, the controller sends the fourth flow entry to the second border switch; wherein the fourth flow entry is used to indicate the The second border switch performs a second change operation according to the fourth flow entry and the static flow entry until the controller determines that the second boundary switch is the last one on the inter-domain optimal routing path The second change operation includes: changing a destination IP address of the third data stream to a next hop boundary of the second border switch on the inter-domain optimal routing path Machine ID to the third data stream on route to the next-hop border switch, the next hop and a new edge switch as a second border switches.
本发明实施例提供的软件定义网络的路由方法的执行过程可以参加上述 路由装置或路由设备实施例的执行过程, 其实现原理和技术效果类似, 在此 不再赘述。  The implementation process of the routing method of the software-defined network provided by the embodiment of the present invention may participate in the execution process of the foregoing routing device or the routing device embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
进一歩地, 上述 S101具体包括: 控制器接收所述源端交换机根据缓存 的所述第一数据流发送的新流请求消息; 控制器根据所述新流请求消息获取 所述第一数据流的源 IP地址和所述第一数据流的目的 IP地址; 控制器根据 所述第一数据流的源 IP地址和所述第一数据流的目的 IP地址确定所述第一 数据流的所述源域网络和所述目的域网络。  Further, the foregoing S101 specifically includes: the controller receives a new flow request message sent by the source switch according to the cached first data stream; and the controller acquires the first data flow according to the new flow request message. a source IP address and a destination IP address of the first data stream; the controller determining the source of the first data stream according to a source IP address of the first data stream and a destination IP address of the first data stream The domain network and the destination domain network.
进一歩地, 上述 S102具体包括: 控制器生成全网路由拓扑图; 所述控制 器根据所述全网路由拓扑图确定所述第一数据流经所述源域网络路由至所述 目的域网络中的所述域间最优路由路径; 其中, 所述全网路由拓扑图包括: 所述 SDN网络中的各个边界交换机和所述第一数据流在所述 SDN网络中的各 个边界交换机之间传输时的最优路径的路由代价。 Further, the foregoing S102 specifically includes: the controller generates a network topology topology diagram; the control Determining, according to the network-wide routing topology, the first data flow route to the inter-domain optimal routing path in the destination domain network by using the source data network; wherein, the network-wide routing topology map includes : routing cost of an optimal path when each border switch in the SDN network and the first data stream are transmitted between respective border switches in the SDN network.
本发明实施例提供的软件定义网络的路由方法的执行过程可以参加上述 路由装置或路由设备实施例的执行过程, 其实现原理和技术效果类似, 在此 不再赘述。  The implementation process of the routing method of the software-defined network provided by the embodiment of the present invention may participate in the execution process of the foregoing routing device or the routing device embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
图 13为本发明提供的软件定义网络的路由方法实施例三的流程示意图。 在上述图 12所示实施例的基础上, 即在 S103之后, 该方法还包括:  FIG. 13 is a schematic flowchart diagram of Embodiment 3 of a method for routing a software-defined network according to the present invention. On the basis of the embodiment shown in FIG. 12 above, that is, after S103, the method further includes:
S301 : 控制器确定所述第二边界交换机到所述目的域网络中的所述目的 交换机的最优路径。  S301: The controller determines an optimal path of the second border switch to the destination switch in the destination domain network.
S302 : 控制器向所述第二边界交换机到所述目的域网络中的所述目的交 换机的最优路径上的所有交换机下发第五流表项, 以使所述第二边界交换机 将所述第一数据流以最短路径路由至所述第一数据流的目的终端。  S302: The controller sends a fifth flow entry to all switches on the optimal path of the destination switch in the destination domain network, so that the second border switch will The first data stream is routed to the destination terminal of the first data stream in a shortest path.
本发明实施例提供的软件定义网络的路由方法的执行过程可以参加上述 路由装置或路由设备实施例的执行过程, 其实现原理和技术效果类似, 在此 不再赘述。  The implementation process of the routing method of the software-defined network provided by the embodiment of the present invention may participate in the execution process of the foregoing routing device or the routing device embodiment, and the implementation principle and the technical effect are similar, and details are not described herein again.
本领域普通技术人员可以理解: 实现上述方法实施例的全部或部分歩骤 可以通过程序指令相关的硬件来完成, 前述的程序可以存储于一计算机可读 取存储介质中, 该程序在执行时, 执行包括上述方法实施例的歩骤; 而前述 的存储介质包括: R0M、 RAM, 磁碟或者光盘等各种可以存储程序代码的介质。  A person skilled in the art can understand that all or part of the steps of implementing the above method embodiments may be implemented by hardware related to program instructions, and the foregoing program may be stored in a computer readable storage medium, when executed, The steps of the foregoing method embodiments are performed; and the foregoing storage medium includes: various media that can store program codes, such as ROM, RAM, disk or optical disk.
最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非对 其限制; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的普通 技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换; 而这些修改或者替换, 并 不使相应技术方案的本质脱离本发明各实施例技术方案的范围。  Finally, it should be noted that the above embodiments are only for explaining the technical solutions of the present invention, and are not intended to be limiting thereof; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art will understand that The technical solutions described in the foregoing embodiments may be modified, or some or all of the technical features may be equivalently replaced; and the modifications or substitutions do not deviate from the technical solutions of the embodiments of the present invention. range.

Claims

权 利 要 求 书 claims
1、 一种软件定义网络的路由设备, 其特征在于, 所述软件定义网络 SDN 包括至少两个域网络, 每个域网络包括至少一个第一交换机和至少一个边界 交换机, 所述边界交换机用于连接所述边界交换机所在的第一域网络和所述 边界交换机所在的第二域网络; 数据流通过所述边界交换机从所述第一域网 络路由至所述第二域网络; 所述路由设备包括: 1. A routing device for a software-defined network, characterized in that the software-defined network SDN includes at least two domain networks, each domain network includes at least one first switch and at least one border switch, and the border switch is used to Connecting the first domain network where the border switch is located and the second domain network where the border switch is located; routing data flow from the first domain network to the second domain network through the border switch; the routing device include:
处理器, 用于获取源端交换机发送的第一数据流的源域网络和目的域网 络; 其中, 所述源端交换机为所述第一交换机, 所述源端交换机位于所述源 域网络; 并确定所述第一数据流经所述源域网络路由至所述目的域网络中的 域间最优路由路径, 所述域间最优路由路径上包括至少一个边界交换机; 发送器, 用于根据所述域间最优路由路径向所述源端交换机和所述域间 最优路由路径上的边界交换机下发第一流表项, 以使所述源端交换机根据所 述第一流表项和预设的静态流表项将所述第一数据流路由至所述源域网络的 第一边界交换机, 并使得所述第一边界交换机根据所述第一流表项和所述静 态流表项将所述第一数据流路由至所述目的域网络中; 其中, 所述第一边界 交换机为所述域间最优路由路径上的第一个边界交换机。 A processor, configured to obtain the source domain network and the destination domain network of the first data flow sent by the source switch; wherein, the source switch is the first switch, and the source switch is located in the source domain network; and determine the inter-domain optimal routing path for routing the first data flow through the source domain network to the destination domain network, where the inter-domain optimal routing path includes at least one border switch; sender, for Deliver a first flow entry to the source switch and a border switch on the inter-domain optimal routing path according to the inter-domain optimal routing path, so that the source switch can deliver a first flow entry according to the first flow entry and the inter-domain optimal routing path. The preset static flow entry routes the first data flow to the first border switch of the source domain network, and causes the first border switch to route the data flow according to the first flow entry and the static flow entry. The first data flow is routed to the destination domain network; wherein the first border switch is the first border switch on the inter-domain optimal routing path.
2、 根据权利要求 1所述的路由设备, 其特征在于, 所述处理器, 还用于 在根据所述域间最优路由路径向所述源端交换机和所述域间最优路由路径上 的边界交换机下发第一流表项之前, 获取任一所述域网络中的各个交换机到 该域网络中的边界交换机的域内最优路径; 其中, 所述域内最优路径为该域 网络中的各个交换机到该域网络中的边界交换机的最短路径; 2. The routing device according to claim 1, characterized in that, the processor is further configured to transmit data to the source switch and the inter-domain optimal routing path according to the inter-domain optimal routing path. Before the border switch issues the first flow table entry, obtain the intra-domain optimal path from each switch in any of the domain networks to the border switch in the domain network; wherein, the intra-domain optimal path is in the domain network The shortest path from each switch to the border switch in the domain network;
所述发送器, 还用于根据所述域内最优路径向该域网络中的各个交换机 下发所述静态流表项, 以使该域网络中的各个交换机在接收到目的 IP地址为 该域网络中的任一边界交换机的 ID的数据流时,根据所述静态流表项将该数 据流以最优路径路由至该域网络中对应的边界交换机上。 The sender is also configured to deliver the static flow table entry to each switch in the domain network according to the optimal path in the domain, so that each switch in the domain network receives the destination IP address for the domain. When there is a data flow with the ID of any border switch in the network, the data flow is routed to the corresponding border switch in the domain network via the optimal path according to the static flow entry.
3、 根据权利要求 2所述的路由设备, 其特征在于, 所述第一流表项为第 二流表项、 第三流表项、 第四流表项的其中一种; 则所述发送器, 具体用于 向所述源端交换机下发所述第二流表项; 其中, 所述第二流表项用于指示所 述源端交换机生成第二数据流, 并指示所述源端交换机根据所述静态流表项 将所述第二数据流路由至所述第一边界交换机上; 所述第二数据流为目的 IP 地址为所述第一边界交换机的 ID的所述第一数据流。 3. The routing device according to claim 2, wherein the first flow entry is one of a second flow entry, a third flow entry, and a fourth flow entry; then the transmitter , specifically used to deliver the second flow entry to the source switch; wherein, the second flow entry is used to instruct the source switch to generate a second data flow, and instructs the source switch to The second data flow is routed to the first border switch according to the static flow entry; the second data flow is the destination IP The first data flow whose address is the ID of the first border switch.
4、 根据权利要求 3所述的路由设备, 其特征在于, 所述处理器, 还用于 判断第二边界交换机是否为所述域间最优路由路径上的最后一个边界交换 机, 获取判断结果; 其中, 所述第二边界交换机为接收到第三数据流的所述 域间最优路由路径上的任一边界交换机,所述第三数据流为目的 IP地址为所 述域间最优路径上的任一边界交换机的 ID的所述第一数据流;并根据所述判 断结果确定指示所述发送器向所述第二边界交换机下发所述第三流表项或所 述第四流表项。 4. The routing device according to claim 3, wherein the processor is further configured to determine whether the second border switch is the last border switch on the inter-domain optimal routing path, and obtain the judgment result; Wherein, the second border switch is any border switch on the inter-domain optimal routing path that receives the third data flow, and the third data flow is a destination IP address on the inter-domain optimal routing path. the first data flow with the ID of any border switch; and determine according to the judgment result to instruct the sender to deliver the third flow entry or the fourth flow table to the second border switch item.
5、 根据权利要求 4所述的路由设备, 其特征在于, 所述处理器, 具体用 于若所述判断结果为是, 则指示所述发送器向所述第二边界交换机下发所述 第三流表项; 其中, 所述第三流表项用于指示所述第二边界交换机执行第一 更改操作; 所述第一更改操作包括: 将所述第三数据流的目的 IP地址更改为 所述目的域网络中的所述第一数据流的目的终端的 IP地址;若所述判断结果 为否, 则指示所述发送器向所述第二边界交换机下发所述第四流表项; 其中, 所述第四流表项用于指示所述第二边界交换机根据所述第四流表项和所述静 态流表项执行第二更改操作, 直至所述处理器判断所述第二边界交换机为所 述域间最优路由路径上的最后一个边界交换机为止; 其中, 所述第二更改操 作包括:将所述第三数据流的目的 IP地址更改为所述第二边界交换机在所述 域间最优路由路径上的下一跳边界交换机的 ID, 以将所述第三数据流路由至 所述下一跳边界交换机上, 并将所述下一跳边界交换机作为新的第二边界交 换机。 5. The routing device according to claim 4, wherein the processor is specifically configured to instruct the sender to deliver the first message to the second border switch if the judgment result is yes. Three flow entries; wherein, the third flow entry is used to instruct the second border switch to perform a first change operation; the first change operation includes: changing the destination IP address of the third data flow to The IP address of the destination terminal of the first data flow in the destination domain network; if the judgment result is no, instruct the sender to deliver the fourth flow entry to the second border switch ; Wherein, the fourth flow entry is used to instruct the second border switch to perform a second change operation based on the fourth flow entry and the static flow entry, until the processor determines that the second The border switch is the last border switch on the optimal inter-domain routing path; wherein, the second change operation includes: changing the destination IP address of the third data flow to the location of the second border switch. The ID of the next-hop border switch on the optimal inter-domain routing path is used to route the third data flow to the next-hop border switch, and the next-hop border switch is used as the new second Border switch.
6、 根据权利要求 1-5任一项所述的路由设备, 其特征在于, 所述路由设 备还包括: 接收器; 所述接收器, 用于接收所述源端交换机根据缓存的所述 第一数据流发送的新流请求消息; 6. The routing device according to any one of claims 1 to 5, characterized in that, the routing device further includes: a receiver; the receiver is configured to receive the source switch according to the buffered third A new stream request message sent by a data stream;
则所述处理器, 具体用于根据所述接收器接收到的所述新流请求消息获 取所述第一数据流的源 IP地址和所述第一数据流的目的 IP地址; 并根据所 述第一数据流的源 IP地址和所述第一数据流的目的 IP地址确定所述第一数 据流的所述源域网络和所述目的域网络。 The processor is specifically configured to obtain the source IP address of the first data flow and the destination IP address of the first data flow according to the new flow request message received by the receiver; and according to the The source IP address of the first data flow and the destination IP address of the first data flow determine the source domain network and the destination domain network of the first data flow.
7、 根据权利要求 6所述的路由设备, 其特征在于, 所述处理器, 具体用 于生成全网路由拓扑图; 并根据所述全网路由拓扑图确定所述第一数据流经 所述源域网络路由至所述目的域网络中的所述域间最优路由路径; 其中, 所 述全网路由拓扑图包括: 所述 SDN网络中的各个边界交换机和所述第一数据 流在所述 SDN网络中的各个边界交换机之间传输时的最优路径的路由代价。 7. The routing device according to claim 6, wherein the processor is specifically configured to generate a network-wide routing topology map; and determine the first data flow path according to the network-wide routing topology map. The source domain network is routed to the inter-domain optimal routing path in the destination domain network; wherein, the entire network routing topology includes: each border switch in the SDN network and the first data flow The routing cost of the optimal path when transmitting between various border switches in the SDN network.
8、 根据权利要求 5所述的路由设备, 其特征在于, 所述处理器, 还用于 在所述发送器向所述第二边界交换机下发所述第三流表项之后, 确定所述第 二边界交换机到所述目的域网络中的所述目的交换机的最优路径; 并指示所 述发送器向所述第二边界交换机到所述目的域网络中的所述目的交换机的最 优路径上的所有交换机下发第五流表项, 以使所述第二边界交换机将所述第 一数据流以最短路径路由至所述第一数据流的目的终端。 8. The routing device according to claim 5, wherein the processor is further configured to determine the third flow entry after the sender delivers the third flow entry to the second border switch. The optimal path from the second border switch to the destination switch in the destination domain network; and indicating the optimal path from the sender to the second border switch to the destination switch in the destination domain network. All switches on the border issue a fifth flow entry, so that the second border switch routes the first data flow to the destination terminal of the first data flow via the shortest path.
9、 一种软件定义网络的路由装置, 其特征在于, 所述软件定义网络 SDN 包括至少两个域网络, 每个域网络包括至少一个第一交换机和至少一个边界 交换机, 所述边界交换机用于连接所述边界交换机所在的第一域网络和所述 边界交换机所在的第二域网络; 数据流通过所述边界交换机从所述第一域网 络路由至所述第二域网络; 所述路由装置包括: 9. A routing device for a software-defined network, characterized in that the software-defined network SDN includes at least two domain networks, each domain network includes at least one first switch and at least one border switch, and the border switch is used for Connecting the first domain network where the border switch is located and the second domain network where the border switch is located; routing data flow from the first domain network to the second domain network through the border switch; the routing device include:
第一获取模块, 用于获取源端交换机发送的第一数据流的源域网络和目 的域网络; 其中, 所述源端交换机为所述第一交换机, 所述源端交换机位于 所述源域网络; The first acquisition module is used to obtain the source domain network and the destination domain network of the first data stream sent by the source switch; wherein the source switch is the first switch, and the source switch is located in the source domain network;
第一确定模块, 用于确定所述第一数据流经所述源域网络路由至所述目 的域网络中的域间最优路由路径, 所述域间最优路由路径上包括至少一个边 界交换机; A first determination module, configured to determine the optimal inter-domain routing path for routing the first data flow through the source domain network to the destination domain network. The optimal inter-domain routing path includes at least one border switch. ;
第一发送模块, 用于根据所述域间最优路由路径向所述源端交换机和所 述域间最优路由路径上的边界交换机下发第一流表项, 以使所述源端交换机 根据所述第一流表项和预设的静态流表项将所述第一数据流路由至所述源域 网络的第一边界交换机, 并使得所述第一边界交换机根据所述第一流表项和 所述静态流表项将所述第一数据流路由至所述目的域网络中; 其中, 所述第 一边界交换机为所述域间最优路由路径上的第一个边界交换机。 The first sending module is configured to deliver a first flow table entry to the source switch and the border switch on the inter-domain optimal routing path according to the inter-domain optimal routing path, so that the source switch can send the first flow table entry according to the inter-domain optimal routing path. The first flow entry and the preset static flow entry route the first data flow to the first border switch of the source domain network, and enable the first border switch to flow based on the first flow entry and the preset static flow entry. The static flow entry routes the first data flow to the destination domain network; wherein, the first border switch is the first border switch on the inter-domain optimal routing path.
10、 根据权利要求 9所述的路由装置, 其特征在于, 所述路由装置还包 括: 10. The routing device according to claim 9, characterized in that the routing device further includes:
第二获取模块, 用于在所述第一发送模块根据所述域间最优路由路径向 所述源端交换机和所述域间最优路由路径上的边界交换机下发第一流表项之 前, 获取任一所述域网络中的各个交换机到该域网络中的边界交换机的域内 最优路径; 其中, 所述域内最优路径为该域网络中的各个交换机到该域网络 中的边界交换机的最短路径; The second acquisition module is configured to deliver the first flow entry to the source switch and the border switch on the inter-domain optimal routing path according to the inter-domain optimal routing path by the first sending module. Before, obtain the intra-domain optimal path from each switch in any of the domain networks to the boundary switch in the domain network; wherein, the intra-domain optimal path is from each switch in the domain network to the boundary in the domain network. The shortest path to the switch;
第二发送模块, 用于根据所述域内最优路径向该域网络中的各个交换机 下发所述静态流表项, 以使该域网络中的各个交换机在接收到目的 IP地址为 该域网络中的任一边界交换机的 ID的数据流时,根据所述静态流表项将该数 据流以最优路径路由至该域网络中对应的边界交换机上。 The second sending module is configured to deliver the static flow table entry to each switch in the domain network according to the optimal path in the domain, so that each switch in the domain network receives the destination IP address for the domain network. When there is a data flow with the ID of any border switch in the domain network, the data flow is routed to the corresponding border switch in the domain network through the optimal path according to the static flow entry.
11、 根据权利要求 10所述的路由装置, 其特征在于, 所述第一流表项为 第二流表项、 第三流表项、 第四流表项的其中一种; 则所述第一发送模块, 包括: 11. The routing device according to claim 10, wherein the first flow entry is one of a second flow entry, a third flow entry, and a fourth flow entry; then the first flow entry is Send module, including:
第一发送单元, 用于向所述源端交换机下发所述第二流表项; 其中, 所 述第二流表项用于指示所述源端交换机生成第二数据流, 并指示所述源端交 换机根据所述静态流表项将所述第二数据流路由至所述第一边界交换机上; 所述第二数据流为目的 IP地址为所述第一边界交换机的 ID的所述第一数据 流。 The first sending unit is configured to deliver the second flow entry to the source switch; wherein the second flow entry is used to instruct the source switch to generate a second data flow, and instruct the The source switch routes the second data flow to the first border switch according to the static flow entry; the second data flow is the third data flow whose destination IP address is the ID of the first border switch. A data stream.
12、根据权利要求 11所述的路由装置,其特征在于,所述第一发送模块, 还包括: 12. The routing device according to claim 11, wherein the first sending module further includes:
判断单元, 用于判断第二边界交换机是否为所述域间最优路由路径上的 最后一个边界交换机, 获取判断结果; 其中, 所述第二边界交换机为接收到 第三数据流的所述域间最优路由路径上的任一边界交换机, 所述第三数据流 为目的 IP地址为所述域间最优路径上的任一边界交换机的 ID的所述第一数 据流; A judgment unit, used to judge whether the second border switch is the last border switch on the optimal inter-domain routing path, and obtain the judgment result; wherein, the second border switch is the domain that receives the third data flow any border switch on the inter-domain optimal routing path, and the third data flow is the first data flow whose destination IP address is the ID of any border switch on the inter-domain optimal path;
第二发送单元, 用于根据所述判断结果确定向所述第二边界交换机下发 所述第三流表项或所述第四流表项。 The second sending unit is configured to determine to deliver the third flow entry or the fourth flow entry to the second border switch according to the judgment result.
13、根据权利要求 12所述的路由装置,其特征在于,所述第二发送单元, 具体用于若所述判断结果为是, 则向所述第二边界交换机下发所述第三流表 项; 其中, 所述第三流表项用于指示所述第二边界交换机执行第一更改操作; 所述第一更改操作包括:将所述第三数据流的目的 IP地址更改为所述目的域 网络中的所述第一数据流的目的终端的 IP地址; 若所述判断结果为否, 则向 所述第二边界交换机下发所述第四流表项; 其中, 所述第四流表项用于指示 所述第二边界交换机根据所述第四流表项和所述静态流表项执行第二更改操 作, 直至所述判断单元判断所述第二边界交换机为所述域间最优路由路径上 的最后一个边界交换机为止; 其中, 所述第二更改操作包括: 将所述第三数 据流的目的 IP 地址更改为所述第二边界交换机在所述域间最优路由路径上 的下一跳边界交换机的 ID, 以将所述第三数据流路由至所述下一跳边界交换 机上, 并将所述下一跳边界交换机作为新的第二边界交换机。 13. The routing device according to claim 12, wherein the second sending unit is specifically configured to deliver the third flow table to the second border switch if the judgment result is yes. item; wherein, the third flow entry is used to instruct the second border switch to perform a first change operation; the first change operation includes: changing the destination IP address of the third data flow to the destination The IP address of the destination terminal of the first data flow in the domain network; if the judgment result is no, then deliver the fourth flow entry to the second border switch; wherein, the fourth flow Table items are used to indicate The second border switch performs a second modification operation based on the fourth flow entry and the static flow entry until the judgment unit determines that the second border switch is on the inter-domain optimal routing path. to the last border switch; wherein the second change operation includes: changing the destination IP address of the third data flow to the next hop boundary of the second border switch on the inter-domain optimal routing path The ID of the switch is used to route the third data flow to the next-hop border switch, and the next-hop border switch is used as the new second border switch.
14、 根据权利要求 9-13任一项所述的路由装置, 其特征在于, 所述第一 获取模块, 包括: 14. The routing device according to any one of claims 9-13, characterized in that the first acquisition module includes:
接收单元, 用于接收所述源端交换机根据缓存的所述第一数据流发送的 新流请求消息; A receiving unit configured to receive a new flow request message sent by the source switch according to the buffered first data flow;
获取单元,用于根据所述新流请求消息获取所述第一数据流的源 IP地址 和所述第一数据流的目的 IP地址; An acquisition unit configured to acquire the source IP address of the first data flow and the destination IP address of the first data flow according to the new flow request message;
第一确定单元,用于根据所述第一数据流的源 IP地址和所述第一数据流 的目的 IP地址确定所述第一数据流的所述源域网络和所述目的域网络。 A first determining unit configured to determine the source domain network and the destination domain network of the first data flow based on the source IP address of the first data flow and the destination IP address of the first data flow.
15、根据权利要求 14所述的路由装置,其特征在于,所述第一确定模块, 包括: 15. The routing device according to claim 14, wherein the first determination module includes:
生成单元, 用于生成全网路由拓扑图; Generating unit, used to generate the entire network routing topology map;
第二确定单元, 用于根据所述全网路由拓扑图确定所述第一数据流经所 述源域网络路由至所述目的域网络中的所述域间最优路由路径; 其中, 所述 全网路由拓扑图包括: 所述 SDN网络中的各个边界交换机和所述第一数据流 在所述 SDN网络中的各个边界交换机之间传输时的最优路径的路由代价。 The second determination unit is configured to determine the inter-domain optimal routing path through which the first data flows through the source domain network to the destination domain network according to the network-wide routing topology map; wherein, The entire network routing topology diagram includes: each border switch in the SDN network and the routing cost of the optimal path when the first data flow is transmitted between each border switch in the SDN network.
16、 根据权利要求 13所述的路由装置, 其特征在于, 所述路由装置还包 括: 16. The routing device according to claim 13, characterized in that the routing device further includes:
第二确定模块, 用于在所述第二发送单元向所述第二边界交换机下发所 述第三流表项之后, 确定所述第二边界交换机到所述目的域网络中的所述目 的交换机的最优路径; A second determination module, configured to determine the destination from the second border switch to the destination domain network after the second sending unit delivers the third flow entry to the second border switch. The optimal path of the switch;
第三发送模块, 用于向所述第二边界交换机到所述目的域网络中的所述 目的交换机的最优路径上的所有交换机下发第五流表项, 以使所述第二边界 交换机将所述第一数据流以最短路径路由至所述第一数据流的目的终端。 A third sending module, configured to deliver a fifth flow entry to all switches on the optimal path from the second border switch to the destination switch in the destination domain network, so that the second border switch Route the first data flow to the destination terminal of the first data flow via the shortest path.
17、一种软件定义网络的路由方法, 其特征在于, 所述软件定义网络 SDN 包括至少两个域网络, 每个域网络包括至少一个第一交换机和至少一个边界 交换机, 所述边界交换机用于连接所述边界交换机所在的第一域网络和所述 边界交换机所在的第二域网络; 数据流通过所述边界交换机从所述第一域网 络路由至所述第二域网络; 所述路由方法包括: 17. A routing method for a software-defined network, characterized in that: the software-defined network SDN It includes at least two domain networks. Each domain network includes at least one first switch and at least one border switch. The border switch is used to connect the first domain network where the border switch is located and the second domain where the border switch is located. Network; Data flows are routed from the first domain network to the second domain network through the border switch; the routing method includes:
控制器获取源端交换机发送的第一数据流的源域网络和目的域网络; 其 中, 所述源端交换机为所述第一交换机, 所述源端交换机位于所述源域网络; 所述控制器确定所述第一数据流经所述源域网络路由至所述目的域网络 中的域间最优路由路径,所述域间最优路由路径上包括至少一个边界交换机; 所述控制器根据所述域间最优路由路径向所述源端交换机和所述域间最 优路由路径上的边界交换机下发第一流表项, 以使所述源端交换机根据所述 第一流表项和预设的静态流表项将所述第一数据流路由至所述源域网络的第 一边界交换机, 并使得所述第一边界交换机根据所述第一流表项和所述静态 流表项将所述第一数据流路由至所述目的域网络中; 其中, 所述第一边界交 换机为所述域间最优路由路径上的第一个边界交换机。 The controller obtains the source domain network and the destination domain network of the first data flow sent by the source switch; wherein, the source switch is the first switch, and the source switch is located in the source domain network; the control The controller determines the inter-domain optimal routing path for routing the first data flow through the source domain network to the destination domain network, and the inter-domain optimal routing path includes at least one border switch; The inter-domain optimal routing path delivers a first flow entry to the source switch and a border switch on the inter-domain optimal routing path, so that the source switch can The static flow entry provided is used to route the first data flow to the first border switch of the source domain network, and the first border switch routes the first data flow according to the first flow entry and the static flow entry. The first data flow is routed to the destination domain network; wherein, the first border switch is the first border switch on the inter-domain optimal routing path.
18、 根据权利要求 17所述的路由方法, 其特征在于, 所述控制器根据所 述域间最优路由路径向所述源端交换机和所述域间最优路由路径上的边界交 换机下发第一流表项之前, 还包括: 18. The routing method according to claim 17, characterized in that, the controller delivers the routing information to the source switch and the border switch on the optimal inter-domain routing path according to the optimal inter-domain routing path. Before the first-class entry, it also includes:
所述控制器获取任一所述域网络中的各个交换机到该域网络中的边界交 换机的域内最优路径; 其中, 所述域内最优路径为该域网络中的各个交换机 到该域网络中的边界交换机的最短路径; The controller obtains the intra-domain optimal path from each switch in any of the domain networks to the border switch in the domain network; wherein, the intra-domain optimal path is from each switch in the domain network to the domain network. The shortest path to the border switch;
所述控制器根据所述域内最优路径向该域网络中的各个交换机下发所述 静态流表项, 以使该域网络中的各个交换机在接收到目的 IP地址为该域网络 中的任一边界交换机的 ID的数据流时,根据所述静态流表项将该数据流以最 优路径路由至该域网络中对应的边界交换机上。 The controller delivers the static flow table entry to each switch in the domain network according to the optimal path in the domain, so that each switch in the domain network receives the destination IP address for any switch in the domain network. When a data flow with an ID of a border switch is received, the data flow is routed to the corresponding border switch in the domain network via an optimal path according to the static flow entry.
19、 根据权利要求 18所述的路由方法, 其特征在于, 所述第一流表项为 第二流表项、 第三流表项、 第四流表项的其中一种; 则所述控制器根据所述 域间最优路由路径向所述源端交换机下发所述第一流表项, 具体为: 19. The routing method according to claim 18, wherein the first flow entry is one of a second flow entry, a third flow entry, and a fourth flow entry; then the controller Deliver the first flow entry to the source switch according to the optimal inter-domain routing path, specifically as follows:
所述控制器向所述源端交换机下发所述第二流表项; 其中, 所述第二流 表项用于指示所述源端交换机生成第二数据流, 并指示所述源端交换机根据 所述静态流表项将所述第二数据流路由至所述第一边界交换机上; 所述第二 数据流为目的 IP地址为所述第一边界交换机的 ID的所述第一数据流。 The controller delivers the second flow entry to the source switch; wherein, the second flow entry is used to instruct the source switch to generate a second data flow, and instructs the source switch to Route the second data flow to the first border switch according to the static flow entry; the second The data flow is the first data flow whose destination IP address is the ID of the first border switch.
20、 根据权利要求 19所述的路由方法, 其特征在于, 所述控制器根据所 述域间最优路由路径向所述域间最优路由路径上的边界交换机下发第一流表 项, 具体包括: 20. The routing method according to claim 19, wherein the controller delivers the first flow entry to the border switch on the inter-domain optimal routing path according to the inter-domain optimal routing path. Specifically, include:
所述控制器判断第二边界交换机是否为所述域间最优路由路径上的最后 一个边界交换机, 获取判断结果; 其中, 所述第二边界交换机为接收到第三 数据流的所述域间最优路由路径上的任一边界交换机, 所述第三数据流为目 的 IP地址为所述域间最优路径上的任一边界交换机的 ID的所述第一数据流; 所述控制器根据所述判断结果确定向所述第二边界交换机下发所述第三 流表项或所述第四流表项。 The controller determines whether the second border switch is the last border switch on the optimal inter-domain routing path, and obtains the judgment result; wherein, the second border switch is the inter-domain switch that receives the third data flow. Any border switch on the optimal routing path, the third data flow is the first data flow whose destination IP address is the ID of any border switch on the optimal inter-domain path; the controller is based on The judgment result determines that the third flow entry or the fourth flow entry is delivered to the second border switch.
21、 根据权利要求 20所述的路由方法, 其特征在于, 所述控制器根据所 述判断结果确定向所述第二边界交换机下发所述第三流表项或所述第四流表 项, 包括: 21. The routing method according to claim 20, wherein the controller determines to deliver the third flow entry or the fourth flow entry to the second border switch based on the judgment result. , include:
若所述判断结果为是, 则所述控制器向所述第二边界交换机下发所述第 三流表项; 其中, 所述第三流表项用于指示所述第二边界交换机执行第一更 改操作; 所述第一更改操作包括: 将所述第三数据流的目的 IP地址更改为所 述目的域网络中的所述第一数据流的目的终端的 IP地址; If the judgment result is yes, the controller delivers the third flow entry to the second border switch; wherein, the third flow entry is used to instruct the second border switch to execute the third flow entry. A change operation; The first change operation includes: changing the destination IP address of the third data flow to the IP address of the destination terminal of the first data flow in the destination domain network;
若所述判断结果为否, 则所述控制器向所述第二边界交换机下发所述第 四流表项; 其中, 所述第四流表项用于指示所述第二边界交换机根据所述第 四流表项和所述静态流表项执行第二更改操作, 直至所述控制器判断所述第 二边界交换机为所述域间最优路由路径上的最后一个边界交换机为止;其中, 所述第二更改操作包括:将所述第三数据流的目的 IP地址更改为所述第二边 界交换机在所述域间最优路由路径上的下一跳边界交换机的 ID, 以将所述第 三数据流路由至所述下一跳边界交换机上, 并将所述下一跳边界交换机作为 新的第二边界交换机。 If the judgment result is no, the controller delivers the fourth flow entry to the second border switch; wherein, the fourth flow entry is used to instruct the second border switch to The fourth flow table entry and the static flow table entry perform a second modification operation until the controller determines that the second border switch is the last border switch on the inter-domain optimal routing path; wherein, The second change operation includes: changing the destination IP address of the third data flow to the ID of the next-hop border switch of the second border switch on the inter-domain optimal routing path, so as to change the The third data flow is routed to the next-hop border switch, and the next-hop border switch is used as a new second border switch.
22、 根据权利要求 17-21任一项所述的路由方法, 其特征在于, 所述控 制器获取源端交换机发送的第一数据流的源域网络和目的域网络, 包括: 所述控制器接收所述源端交换机根据缓存的所述第一数据流发送的新流 请求消息; 22. The routing method according to any one of claims 17 to 21, characterized in that the controller obtains the source domain network and the destination domain network of the first data flow sent by the source switch, including: the controller Receive a new flow request message sent by the source switch according to the cached first data flow;
所述控制器根据所述新流请求消息获取所述第一数据流的源 IP 地址和 所述第一数据流的目的 IP地址; The controller obtains the source IP address of the first data flow according to the new flow request message and The destination IP address of the first data flow;
所述控制器根据所述第一数据流的源 IP 地址和所述第一数据流的目的 IP地址确定所述第一数据流的所述源域网络和所述目的域网络。 The controller determines the source domain network and the destination domain network of the first data flow based on the source IP address of the first data flow and the destination IP address of the first data flow.
23、 根据权利要求 22所述的路由方法, 其特征在于, 所述控制器确定所 述第一数据流经所述源域网络路由至所述目的域网络中的域间最优路由路 径, 包括: 23. The routing method according to claim 22, wherein the controller determines the optimal inter-domain routing path for routing the first data flow through the source domain network to the destination domain network, including: :
所述控制器生成全网路由拓扑图; The controller generates a network-wide routing topology map;
所述控制器根据所述全网路由拓扑图确定所述第一数据流经所述源域网 络路由至所述目的域网络中的所述域间最优路由路径; 其中, 所述全网路由 拓扑图包括:所述 SDN网络中的各个边界交换机和所述第一数据流在所述 SDN 网络中的各个边界交换机之间传输时的最优路径的路由代价。 The controller determines the inter-domain optimal routing path of the first data flow through the source domain network to the destination domain network according to the network-wide routing topology map; wherein, the network-wide routing The topology diagram includes: each border switch in the SDN network and the routing cost of the optimal path when the first data flow is transmitted between each border switch in the SDN network.
24、 根据权利要求 21所述的路由方法, 其特征在于, 所述控制器向所述 第二边界交换机下发所述第三流表项之后, 所述路由方法还包括: 24. The routing method according to claim 21, wherein after the controller delivers the third flow entry to the second border switch, the routing method further includes:
所述控制器确定所述第二边界交换机到所述目的域网络中的所述目的交 换机的最优路径; The controller determines the optimal path from the second border switch to the destination switch in the destination domain network;
所述控制器向所述第二边界交换机到所述目的域网络中的所述目的交换 机的最优路径上的所有交换机下发第五流表项, 以使所述第二边界交换机将 所述第一数据流以最短路径路由至所述第一数据流的目的终端。 The controller delivers a fifth flow entry to all switches on the optimal path from the second border switch to the destination switch in the destination domain network, so that the second border switch will The first data flow is routed to the destination terminal of the first data flow via the shortest path.
PCT/CN2014/075041 2014-04-10 2014-04-10 Routing method, apparatus and device in software defined network WO2015154275A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201480000518.3A CN105264844B (en) 2014-04-10 2014-04-10 Method for routing, device and the equipment of software defined network
PCT/CN2014/075041 WO2015154275A1 (en) 2014-04-10 2014-04-10 Routing method, apparatus and device in software defined network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/075041 WO2015154275A1 (en) 2014-04-10 2014-04-10 Routing method, apparatus and device in software defined network

Publications (1)

Publication Number Publication Date
WO2015154275A1 true WO2015154275A1 (en) 2015-10-15

Family

ID=54287117

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/075041 WO2015154275A1 (en) 2014-04-10 2014-04-10 Routing method, apparatus and device in software defined network

Country Status (2)

Country Link
CN (1) CN105264844B (en)
WO (1) WO2015154275A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106059933A (en) * 2016-05-30 2016-10-26 杭州华三通信技术有限公司 Method and device for maintaining software defined network (SDN)
CN106375214A (en) * 2016-11-10 2017-02-01 北京邮电大学 SDN-based tiered routing path determination method and device
US20180176308A1 (en) * 2016-12-15 2018-06-21 Nanning Fugui Precision Industrial Co., Ltd. Software defined network controller and network service allocating system and method

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106888163A (en) * 2017-03-31 2017-06-23 中国科学技术大学苏州研究院 The method for routing divided based on network domains in software defined network
CN109150713B (en) * 2018-08-22 2021-11-09 赛尔网络有限公司 Routing method and routing monitoring method based on BGP + between source terminal and destination terminal
CN111030928A (en) * 2018-10-10 2020-04-17 中国移动通信有限公司研究院 Routing information determination method, node, system and storage medium
CN112491724B (en) * 2020-12-09 2022-12-09 福建农林大学 IPv4 and IPv6 management system and method based on SDN
CN113300963B (en) * 2021-04-07 2022-07-15 北京邮电大学 Loop-free updating method for forwarding path of software defined network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200122A (en) * 2013-03-05 2013-07-10 中兴通讯股份有限公司 Processing method and system for group table in software definition network, and controller
US20130266007A1 (en) * 2012-04-10 2013-10-10 International Business Machines Corporation Switch routing table utilizing software defined network (sdn) controller programmed route segregation and prioritization
CN103401794A (en) * 2013-07-17 2013-11-20 国家电网公司 Software defined network control optimizing method facing large-scale application

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130266007A1 (en) * 2012-04-10 2013-10-10 International Business Machines Corporation Switch routing table utilizing software defined network (sdn) controller programmed route segregation and prioritization
CN103200122A (en) * 2013-03-05 2013-07-10 中兴通讯股份有限公司 Processing method and system for group table in software definition network, and controller
CN103401794A (en) * 2013-07-17 2013-11-20 国家电网公司 Software defined network control optimizing method facing large-scale application

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106059933A (en) * 2016-05-30 2016-10-26 杭州华三通信技术有限公司 Method and device for maintaining software defined network (SDN)
CN106375214A (en) * 2016-11-10 2017-02-01 北京邮电大学 SDN-based tiered routing path determination method and device
CN106375214B (en) * 2016-11-10 2019-05-17 北京邮电大学 A kind of Tiered routing determining method of path and device based on SDN
US20180176308A1 (en) * 2016-12-15 2018-06-21 Nanning Fugui Precision Industrial Co., Ltd. Software defined network controller and network service allocating system and method
US10666742B2 (en) * 2016-12-15 2020-05-26 Nanning Fugui Precision Industrial Co., Ltd. Software defined network controller and network service allocating system and method

Also Published As

Publication number Publication date
CN105264844A (en) 2016-01-20
CN105264844B (en) 2018-10-30

Similar Documents

Publication Publication Date Title
WO2015154275A1 (en) Routing method, apparatus and device in software defined network
JP5494668B2 (en) Information system, control server, virtual network management method and program
KR101529950B1 (en) Communication system, information processing device, communication node, communication method, and computer-readable storage medium storing program
WO2011118585A1 (en) Information system, control apparatus, method of controlling virtual network, and program
JP5652565B2 (en) Information system, control device, communication method and program
EP2523402A1 (en) Communication system, control apparatus, processing rule setting method, packet transmitting method and program
WO2012090996A1 (en) Information system, control device, virtual network provision method and program
WO2021000848A1 (en) Packet forwarding method and packet processing method and apparatus
JP2014519213A (en) COMMUNICATION SYSTEM, CONTROL DEVICE, TRANSFER NODE, COMMUNICATION SYSTEM CONTROL METHOD AND PROGRAM
WO2011118574A1 (en) Communications system, control device, delay measuring method, and program
JPWO2015079616A1 (en) Communication system, communication method, network information combining apparatus, and network information combining program
US20150256455A1 (en) Communication system, path information exchange apparatus, communication node, forwarding method for path information and program
JP5950019B2 (en) Communication system, integrated controller, packet transfer method and program
WO2014104277A1 (en) Control apparatus, communication system, communication node control method and program
JP6206493B2 (en) CONTROL DEVICE, COMMUNICATION SYSTEM, RELAY DEVICE CONTROL METHOD, AND PROGRAM
JP5991427B2 (en) Control device, communication system, control information transmission method and program
WO2014019196A1 (en) Topology information processing method and device
JP6443925B2 (en) Control device, communication system, control method, and program
JPWO2015045275A1 (en) Control device, network system, packet transfer control method, control device program
JP6264469B2 (en) Control device, communication system, and control method of relay device
JP2012257335A (en) Communication system, node, control apparatus, communication method, and program
JP2011015346A (en) Device and method for controlling route, and program therefor

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201480000518.3

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14888934

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

Country of ref document: EP

Kind code of ref document: A1