WO2017113300A1 - Route determining method, network configuration method and related device - Google Patents

Route determining method, network configuration method and related device Download PDF

Info

Publication number
WO2017113300A1
WO2017113300A1 PCT/CN2015/100142 CN2015100142W WO2017113300A1 WO 2017113300 A1 WO2017113300 A1 WO 2017113300A1 CN 2015100142 W CN2015100142 W CN 2015100142W WO 2017113300 A1 WO2017113300 A1 WO 2017113300A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
address
forwarded
destination
entry
Prior art date
Application number
PCT/CN2015/100142
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 PCT/CN2015/100142 priority Critical patent/WO2017113300A1/en
Priority to CN201580061147.4A priority patent/CN107113241B/en
Publication of WO2017113300A1 publication Critical patent/WO2017113300A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion

Definitions

  • the present invention relates to the field of communications, and in particular, to a route determining method, a network configuration method, and related devices.
  • a relatively simple internal router (inner router, abbreviation: IR) is set in the node of the data center to replace the gateway router to process the data packet.
  • IR inner router
  • the first gateway needs to be virtualized.
  • the private network (English: virtual private network, abbreviation: VPN) tunnel sends the packet to the second gateway, and the second gateway sends the packet.
  • the forwarding of packets through the VPN tunnel means that packets need to be encapsulated and decapsulated multiple times and consume a large amount of network resources.
  • the VPN tunnel is congested.
  • the east-west traffic of the gateway competes for north-south traffic, causing the performance and reliability bottleneck of the gateway, resulting in reduced availability of the entire network.
  • the embodiment of the present application provides a route determining method, which can shorten the packet forwarding path and reduce the pressure of the gateway router.
  • the application also proposes a network configuration method, related device, computing device and system.
  • the first aspect of the embodiment of the present application provides a route determining method, which is applicable to a software defined network (English: software defined network, abbreviation: SDN), wherein the SDN controller and the network manager (English: network manager) can execute the Route determination method to SDN controller
  • the SDN controller receives the packet information of the packet to be forwarded from the source switch, and the packet information includes at least the destination IP address of the packet to be forwarded, and the source switch receives the port to be forwarded. information.
  • the to-be-forwarded packet is from the first routing domain, and the destination IP address of the to-be-forwarded packet belongs to the second routing domain.
  • the SDN controller determines the forwarding information of the packet to be forwarded according to the packet information of the packet to be forwarded.
  • the forwarding information of the packet to be forwarded includes at least the destination MAC address of the virtual machine corresponding to the destination IP address of the packet to be forwarded.
  • the destination VNI of the network segment where the virtual machine corresponding to the destination IP address of the packet to be forwarded is forwarded.
  • the SDN controller generates a target flow table according to the forwarding information of the to-be-forwarded packet, and sends the target flow table to the source switch, where the target flow table includes forwarding information of the to-be-forwarded packet and an operation indication, where the operation indication is used to indicate the source
  • the switch adjusts the to-be-forwarded packet by modifying the MAC address of the gateway corresponding to the first routing domain in the packet to be forwarded to the destination MAC address, and adding the destination VNI to the to-be-forwarded packet.
  • the operation indication is further used to indicate that the source switch sends the adjusted to-be-forwarded packet on the sending port after the adjustment of the packet to be forwarded is completed.
  • the method provided by the present application enables the source switch to directly forward the to-be-forwarded packet to the destination IP address according to the indication of the target flow table, so that the packet to be forwarded does not need to be forwarded by the gateway, thereby shortening the packet forwarding path and further reducing the packet forwarding path.
  • the number of times the packet is encapsulated and decapsulated saves network resources, reduces the pressure on the gateway router, and improves the availability of the SDN.
  • the forwarding port of the packet to be forwarded is the uplink port of the source switch (English: uplink port).
  • the uplink port is forwarded to the physical network between the source switch and the destination switch, and the physical network forwards the to-be-forwarded packet to the destination switch according to the information carried in the packet to be forwarded.
  • the switches connected to the address may include devices such as physical switches, but do not include gateways. If the virtual machine corresponding to the destination IP address of the packet to be forwarded is connected to the source switch, the forwarding port of the packet to be forwarded is the port corresponding to the virtual machine corresponding to the destination IP address of the source switch.
  • the SDN controller may search the forwarding information table of the first routing domain according to the packet information of the packet to be forwarded.
  • the forwarding information table of the first routing domain includes a first target entry, and the first target entry includes a first destination network segment of the second routing domain.
  • the SDN controller determines that the first destination network segment matches the destination IP address with the forwarded packet according to the destination IP address of the packet to be forwarded, and obtains the first target entry.
  • SDN controller is also root According to the indication of the first target entry, the forwarding information table that jumps to the second routing domain obtains the matching entry of the packet information with the forwarding packet, and obtains the forwarding information of the packet to be forwarded from the matching entry. In this way, the SDN controller obtains the forwarding information of the packet to be forwarded by jumping the forwarding information table of the routing domain, so that the packet to be forwarded does not need to be forwarded by the gateway, which reduces the working load of the gateway.
  • the SDN controller may further add the first target entry to the forwarding information table of the first routing domain for subsequent searching.
  • the first target information item may include a first condition information field and a first indication information field, where the first condition information field includes at least a first destination network segment, and may further include other condition information;
  • a forwarding information table for indicating a jump to the second routing domain.
  • the SDN controller acquires the first target entry when the packet information of the packet to be forwarded satisfies all the conditions in the first condition information field. And, according to the indication of the first indication information field, jump to the forwarding information table of the second routing domain to obtain a matching entry of the packet information of the packet to be forwarded.
  • the SDN controller may further determine that the network segment of the second routing domain or the second routing domain is to be interconnected with the first routing domain according to the user command or the packet to be forwarded.
  • the SDN controller may further add a second target entry to the forwarding information table of the first routing domain, where the second target entry includes a second condition information field and a second indication information field, and the second condition information field
  • the second destination network segment including at least the second routing domain may further include other condition information.
  • the second indication information field is used to indicate a forwarding information table that jumps to the third routing domain;
  • the SDN controller may further add a third target entry to the forwarding information table of the third routing domain, where the third target entry includes The third condition information field and the third indication information field, the third condition information field includes at least a third destination network segment of the second routing domain, and may further include other condition information.
  • the third indication information field is used to indicate a forwarding information table that jumps to the second routing domain.
  • the SDN controller After receiving the packet information of the packet to be forwarded, the SDN controller searches the forwarding information table of the first routing domain according to the destination IP address of the packet to be forwarded. The SDN controller determines that the destination IP address of the packet to be forwarded matches the destination IP address of the packet to be forwarded, and the SDN controller obtains the second target entry according to the first destination network segment. The indication of the two indication information field jumps to the forwarding information table of the third routing domain.
  • the SDN controller determines that the destination network address of the packet to be forwarded matches the destination IP address of the packet to be forwarded, and the SDN controller obtains the third destination entry, and according to the The indication of the three indication information field, the jump to the forwarding information table of the second routing domain, and the matching entry of the to-be-forwarded packet, Then, the forwarding information of the to-be-forwarded packet is obtained from the matching entry.
  • the SDN controller can jump between the forwarding information tables of the three routing domains, and can also jump between four or more forwarding information tables, which are not described here.
  • the forms of the first to third indication fields may each include one or more of a string, a number, and an instruction.
  • the SDN controller may further determine one or more to-be-added entries in the forwarding information table of the second routing domain, where the one or more to-be-added entries correspond to the to-be-added destination network segment of the second routing domain.
  • the destination IP address of the packet to be forwarded belongs to the destination network segment to be added, that is, the destination network segment to be added matches the destination IP address of the packet to be forwarded.
  • the SDN controller adds the one or more to-be-added entries to the forwarding information table of the first routing domain, so that the SDN controller can find the first routing domain after receiving the packet information of the to-be-forwarded packet.
  • the information table is forwarded, and the matching entry to be added is obtained according to the destination IP address of the packet to be forwarded, and then the forwarding information of the packet to be forwarded is obtained from the matched entry to be added.
  • the second aspect of the present application provides a network configuration method, which is applicable to an SDN.
  • the SDN controller and the network manager can perform the network configuration method.
  • the SDN also includes a target host, and the target host internally includes a first IR and a second IR.
  • the SDN controller creates a first interface on the first IR and assigns a first IP address to the first interface; creates a second interface on the second IR, and assigns a second IP address to the second interface.
  • the first IR is used to replace the gateway of the first routing domain to process the forwarding information of the first routing domain
  • the second IR is used to replace the gateway of the second routing domain to process the forwarding information of the second routing domain, the first IP address.
  • the SDN controller creates a network connection between the first interface and the second interface such that the first IR and the second IR can exchange data over the network connection.
  • the SDN controller further adds a first routing entry to the routing table of the first IR, including a first destination address field and a first next hop field, where the first destination address field includes a second in the second routing domain In the network segment, the first next hop field includes a second IP address.
  • the first IR can obtain the first routing entry when searching the routing table of the first IR, and according to the first next
  • the hop field sends the message to the second IR, so that the message can be forwarded by the second IR.
  • the SDN controller can configure the IR communication between different routing domains in the host to enable packets between different routing domains to pass multiple IRs in the target host.
  • the forwarding is performed without forwarding the packet to the gateway. This shortens the packet forwarding path shortening, reduces the number of times the packet is encapsulated and decapsulated, saves network resources, reduces the pressure on the gateway router, and improves the availability of the SDN.
  • the SDN controller may further add a second routing entry to the routing table of the second IR, where the second destination address field and the second next hop field are included, where the second destination address field includes the first route
  • the first network segment in the domain includes a first IP address in the second next hop field.
  • the second IR can obtain the second routing entry when searching the forwarding information table of the second routing domain, and according to the second The one-hop field sends the message to the first IR, so that the message can be forwarded by the first IR.
  • the first IR and the second IR included in the target host may be created by the SDN controller.
  • the first IP address and/or the second IP address may belong to a local link address network segment, that is, a 169.254 network segment.
  • the network segment is generally not used by the normal network service, and the address of the network segment is allocated to the first interface and/or the second interface, which can ensure the IP usage range of the normal network service after the first IR and the second IR are interconnected. Will not be affected.
  • the SDN controller creates a network connection between the first interface and the second interface by interconnecting the first interface and the second interface to the eth-pair through the Ethernet interface.
  • the target host further includes a virtual switch
  • the SDN controller joins the first interface and the second interface to the virtual switch, so that the first IR and the second IR can exchange data through the virtual switch, thereby implementing the first A network connection is created between the interface and the second interface.
  • the first interface and the second interface may be added to the unused VLAN in the virtual switch to avoid the first interface and the second interface. It affects normal network services.
  • the virtual switch in the target host can be connected to multiple local virtual machines (virtual machine, abbreviated VM), and all the VMs connected by the virtual switch are deployed in the first IR and the second IR. The first IR and the second IR are deleted.
  • VM virtual machine
  • the third aspect of the present application provides a packet forwarding method, including: the source switch obtains a packet to be forwarded, and sends the packet information of the packet to be forwarded to the SDN controller, where the packet information of the packet to be forwarded is sent.
  • the destination IP address of the packet to be forwarded is forwarded.
  • the packet to be forwarded is from the first routing domain and is to be forwarded.
  • the destination IP address of the packet to be forwarded belongs to the second routing domain; the source switch receives the target flow table from the SDN controller, where the target flow table includes forwarding information of the to-be-forwarded packet and an operation indication, and the forwarding information of the to-be-forwarded packet.
  • the destination MAC address, the destination VNI, and the sending port where the destination MAC address is the MAC address of the virtual machine corresponding to the destination IP address of the packet to be forwarded, and the destination VNI is the virtual machine corresponding to the destination IP address of the packet to be forwarded.
  • the sending port is the port used by the source switch to forward packets to be forwarded.
  • the operation indication in the target flow table is used to indicate that the source switch adjusts the to-be-forwarded packet by modifying the MAC address of the gateway corresponding to the first routing domain in the to-be-forwarded packet to the destination MAC address, and adding the destination VNI to The message to be forwarded.
  • the operation indication is further used to indicate that the source switch sends the adjusted to-be-forwarded packet on the sending port after the adjustment of the packet to be forwarded is completed. The source switch forwards the to-be-forwarded packet according to the indication of the target flow table.
  • a fourth aspect of the present application provides a packet forwarding method, including: a source switch in a target host acquires a packet to be forwarded, the packet to be forwarded is from a first routing domain, and a destination IP address of the packet to be forwarded The source router sends the to-be-forwarded packet to the first IR in the target host, and the first IR is used to replace the gateway of the first routing domain to process the forwarding information of the first routing domain.
  • the routing table of the first IR of the first IR includes a first routing entry, where the first routing entry includes a first destination address field and a first next hop field, where the first destination address field includes a second routing domain
  • the first next hop field includes a second IP address, where the first network segment includes the destination IP address of the packet to be forwarded
  • the second IP address is the IP address of the second interface of the second IR in the target host. address.
  • the first IR searches the routing table of the first IR according to the destination IP address of the packet to be forwarded, obtains the first routing entry, and sends the to-be-forwarded packet to the second IR according to the first next hop field.
  • the second IR searches the routing table of the second IR to obtain the forwarding path of the packet to be forwarded, and forwards the packet to the packet to be forwarded according to the forwarding path of the packet to be forwarded.
  • a fifth aspect of the present application provides a route determining apparatus suitable for SDN.
  • the route determining apparatus includes a message receiving module, an information determining module, and a flow table sending module.
  • the message receiving module receives, from the source switch, the packet information of the packet to be forwarded, where the packet information includes at least the destination IP address of the packet to be forwarded, and the information about the port on which the source switch receives the packet to be forwarded. .
  • the to-be-forwarded packet is from the first routing domain, and the destination IP address of the to-be-forwarded packet belongs to the second routing domain.
  • the information determining module determines the forwarding information of the to-be-forwarded packet according to the packet information of the packet to be forwarded.
  • the forwarding information of the packet to be forwarded includes at least the purpose of the virtual machine corresponding to the destination IP address of the packet to be forwarded.
  • the flow table sending module generates a target flow table according to the forwarding information of the to-be-forwarded packet, and sends the target flow table to the source switch, where the target flow table includes forwarding information of the to-be-forwarded packet and an operation indication, where the operation indication is used for indicating
  • the source switch adjusts the to-be-forwarded packet by modifying the MAC address of the gateway corresponding to the first routing domain in the packet to be forwarded to the destination MAC address, and adding the destination VNI to the to-be-forwarded packet.
  • the operation indication is further used to indicate that the source switch sends the adjusted to-be-forwarded packet on the sending port after the adjustment of the packet to be forwarded is completed.
  • the route determining apparatus enables the source switch to directly forward the to-be-forwarded packet to the destination IP address according to the forwarding information of the packet to be forwarded, so that the packet to be forwarded does not need to be forwarded by the gateway, thereby shortening the packet forwarding.
  • the path reduces the number of packet encapsulations, saves network resources, reduces the pressure on the gateway router, and improves the availability of the SDN.
  • the information determining module when determining the forwarding information of the to-be-forwarded packet, may search the forwarding information table of the first routing domain according to the packet information of the to-be-forwarded packet.
  • the forwarding information table of the first routing domain includes a first target entry, and the first target entry includes a first destination network segment of the second routing domain.
  • the information determining module determines that the first destination network segment matches the destination IP address with the forwarded packet according to the destination IP address of the packet to be forwarded, and obtains the first target entry.
  • the information determining module further obtains, according to the indication of the first target entry, the forwarding information table of the second routing domain to obtain the matching entry of the packet information with the forwarding packet, and obtains the to-be-forwarded packet from the matching entry. Forward the message.
  • the information determining module obtains the forwarding information of the to-be-forwarded packet by forwarding the forwarding information table of the different routing domains, so that the to-be-forwarded packet does not need to be forwarded by the gateway.
  • the SDN controller may further add a module, where the first target entry is added to the forwarding information table of the first routing domain for subsequent searching.
  • the first target information item may include a first condition information field and a first indication information field, where the first condition information field includes at least a first destination network segment, and may further include other condition information;
  • a forwarding information table for indicating a jump to the second routing domain.
  • the information determining module acquires the first target entry when the packet information of the to-be-forwarded packet satisfies all the conditions in the first condition information field. And, according to the indication of the first indication information field, jump to the forwarding information table of the second routing domain to obtain a matching entry of the packet information of the packet to be forwarded.
  • the entry adding module may further add a second to the forwarding information table of the first routing domain.
  • the target entry, the second target entry includes a second condition information field and a second indication information field, where the second condition information field includes at least a second destination network segment of the second routing domain, and may further include other condition information.
  • the second indication information field is used to indicate a forwarding information table that jumps to the third routing domain; the entry adding module may further add a third target entry to the forwarding information table of the third routing domain, where the third target entry includes The third condition information field and the third indication information field, where the third condition information field includes at least a third destination network segment of the second routing domain, and may further include other condition information.
  • the third indication information field is used to indicate a forwarding information table that jumps to the second routing domain.
  • the information determining module searches the forwarding information table of the first routing domain according to the destination IP address of the to-be-forwarded packet.
  • the information determining module determines that the second destination network segment matches the destination IP address of the to-be-forwarded packet, and the information determining module obtains the second target entry, according to the first destination network segment.
  • the indication of the two indication information field jumps to the forwarding information table of the third routing domain.
  • the information determining module determines that the third destination network segment matches the destination IP address of the to-be-forwarded packet, and the information determining module obtains the third target entry, and The indication of the information field to be forwarded to the forwarding information table of the second routing domain is used to obtain the matching entry of the packet to be forwarded, and then the forwarding information of the packet to be forwarded is obtained from the matching entry.
  • the information determining module can jump between the forwarding information tables of the three routing domains, and can also jump between four or more forwarding information tables, and details are not described herein.
  • the forms of the first to third indication fields may each include one or more of a string, a number, and an instruction.
  • the SDN controller may further include an add-on entry module, configured to determine one or more to-be-added entries in the forwarding information table of the second routing domain, where the one or more to-be-added entries correspond to the second route Destination network segment to be added to the domain.
  • the destination IP address of the packet to be forwarded belongs to the destination network segment to be added, that is, the destination network segment to be added matches the destination IP address of the packet to be forwarded.
  • the add-in entry module adds the one or more to-be-added entries to the forwarding information table of the first routing domain, so that the SDN controller can find the first routing domain after receiving the packet information of the to-be-forwarded packet.
  • the forwarding information table obtains the matching entry to be added according to the destination IP address of the packet to be forwarded, and then obtains the forwarding information of the to-be-forwarded packet from the matched entry to be added.
  • a sixth aspect of the present application provides a network configuration apparatus suitable for SDN.
  • the SDN also includes a target host, and the target host internally includes a first IR and a second IR.
  • the interface creation module creates a first interface on the first IR, and assigns a first IP address to the first interface, a second interface on the second IR, and a second IP address to the second interface.
  • the first IR is used to replace the gateway of the first routing domain to process the forwarding information of the first routing domain
  • the second IR is used to replace the gateway of the second routing domain to process the forwarding information of the second routing domain, the first IP address.
  • the network connection module creates a network connection between the first interface and the second interface, so that the first IR and the second IR can exchange data through the network connection.
  • the route adding module adds a first routing entry to the routing table of the first IR, where the first destination address field and the first next hop field are included, where the first destination address field includes the second network in the second routing domain
  • the segment includes a second IP address in the first next hop field.
  • the first IR can obtain the first routing entry when searching the routing table of the first IR, and according to the first next The hop field sends the message to the second IR, so that the message can be forwarded by the second IR.
  • the SDN controller configures the IR communication between the different routing domains in the host to enable the packets between different routing domains to be forwarded through multiple IRs on the target host without forwarding the packets to the gateway. It can shorten the forwarding path of packets in the network, reduce the number of times the packet is encapsulated and decapsulated, save network resources, reduce the pressure on the gateway router, and improve the availability of SDN.
  • the route adding module may further add a second routing entry to the routing table of the second IR, where the second destination address field and the second next hop field are included, where the second destination address field includes the first route
  • the first network segment in the domain includes a first IP address in the second next hop field.
  • the second IR can obtain the second routing entry when searching the forwarding information table of the second routing domain, and according to the second The one-hop field sends the message to the first IR, so that the message can be forwarded by the first IR.
  • the SDN controller may further include an IR management module, configured to create a second IR in the target host when the target host does not include the second IR.
  • an IR management module configured to create a second IR in the target host when the target host does not include the second IR.
  • the first IP address and/or the second IP address may belong to a local link address network segment, that is, a 169.254 network segment.
  • the network segment is generally not used by the normal network service, and the address of the network segment is allocated to the first interface and/or the second interface, which can ensure the IP usage range of the normal network service after the first IR and the second IR are interconnected. Will not be affected.
  • the network connection module passes the Ethernet interface through the first interface and the second interface.
  • An eth-pair interconnect creates a network connection between the first interface and the second interface.
  • the target host further includes a virtual switch
  • the network connection module adds the first interface and the second interface to the virtual switch, so that the first IR and the second IR can exchange data through the virtual switch, thereby implementing the first A network connection is created between the interface and the second interface.
  • the network interface module may add the first interface and the second interface to the unused VLAN in the virtual switch to avoid the first interface and the second interface. It affects normal network services.
  • the virtual switch in the target host may be connected to multiple local VMs, and the IR management module is further configured to delete the first IR and the second when all the VMs connected to the virtual switch are deployed in the first IR and the second IR. IR.
  • a seventh aspect of the present application provides a message forwarding apparatus suitable for a host in an SDN.
  • the packet forwarding device includes: a packet obtaining module, configured to obtain a packet to be forwarded, and send the packet information of the packet to be forwarded to the SDN controller, where the packet information of the packet to be forwarded carries the packet to be forwarded.
  • the destination IP address, the packet to be forwarded is from the first routing domain, and the destination IP address of the packet to be forwarded belongs to the second routing domain; the flow table receiving module is configured to receive the target flow table from the SDN controller, the target flow
  • the forwarding information of the to-be-forwarded packet and the operation indication are as follows: the destination MAC address, the destination VNI, and the sending port, where the destination MAC address is the destination IP address of the packet to be forwarded.
  • the MAC address of the virtual machine, the destination VNI is the VNI of the network segment where the virtual machine corresponding to the destination IP address of the packet to be forwarded, and the sending port is the port used by the source switch to forward the packet to be forwarded.
  • the operation indication in the target flow table is used to indicate that the source switch adjusts the to-be-forwarded packet by modifying the MAC address of the gateway corresponding to the first routing domain in the to-be-forwarded packet to the destination MAC address, and adding the destination VNI to The message to be forwarded.
  • the operation indication is further used to indicate that the source switch sends the adjusted to-be-forwarded packet on the sending port after the adjustment of the packet to be forwarded is completed.
  • the packet forwarding module is configured to forward the to-be-forwarded packet according to the indication of the target flow table.
  • An eighth aspect of the present application provides a message forwarding apparatus suitable for a host in an SDN.
  • the message forwarding device includes: a virtual switch, a first IR, and a second IR.
  • the virtual switch is configured to obtain a packet to be forwarded, and send the to-be-forwarded packet to the first IR in the target host, where the to-be-forwarded packet is from the first routing domain, and the destination IP address of the to-be-forwarded packet Belongs to the second routing domain.
  • the first IR is used to replace the gateway of the first routing domain to process forwarding information of the first routing domain.
  • the routing table of the IR includes a first routing entry, where the first routing entry includes a first destination address field and a first next hop field, where the first destination address field includes a second network segment in the second routing domain,
  • the next hop field includes a second IP address, where the first network segment includes the destination address of the packet to be forwarded, and the second IP address is the IP address of the second interface of the second IR in the target host.
  • the first IR is configured to: find the first routing entry by using the routing table of the first IR according to the destination IP address of the to-be-forwarded packet, and send the to-be-forwarded packet to the second IR according to the first next hop field.
  • the second IR is configured to: after receiving the to-be-forwarded packet, find the routing table of the second IR to obtain the forwarding path of the packet to be forwarded, and forward the packet to the to-be-forwarded packet according to the forwarding path of the packet to be forwarded.
  • a ninth aspect of the present application provides a computing device including a processor, a memory, and a communication interface.
  • the processor is operative to perform the route determination method provided by the first aspect of the present application by invoking an instruction in the memory.
  • a tenth aspect of the present application provides a computing device including a processor, a memory, and a communication interface.
  • the processor is configured to perform the network configuration method provided by the second aspect of the present application by invoking an instruction in the memory.
  • An eleventh aspect of the present application provides a computing device including a processor, a memory, and a communication interface.
  • the processor is configured to execute the message forwarding method provided by the third aspect of the present application by invoking an instruction in the memory.
  • a twelfth aspect of the present application provides a computing device comprising a processor, a memory, and a communication interface.
  • the processor is configured to execute the message forwarding method provided by the fourth aspect of the present application by invoking an instruction in the memory.
  • a thirteenth aspect of the present application provides a network system, comprising the computing device provided by the ninth aspect of the present application, and the computing device provided by the at least one eleventh aspect, or the computing device provided by the tenth aspect, and at least one tenth The computing device provided by the two aspects.
  • Figure 1 is a schematic diagram of a network logical architecture in the current stage of technology
  • FIG. 2 is a schematic diagram of a network entity architecture in the current stage of technology
  • Figure 3 (a) is a schematic diagram of a packet forwarding path of the same routing domain in the conventional method
  • FIG. 3(b) is a schematic diagram of a packet forwarding path of the same routing domain implemented by using the IR;
  • FIG. 4 is a schematic diagram of a packet forwarding path between different routing domains in a conventional method
  • FIG. 5 is a schematic diagram of a logical architecture of an SDN
  • FIG. 6 is a structural diagram of a computing device according to an embodiment of the present invention.
  • FIG. 7(a) is a flowchart of a route determining method according to an embodiment of the present invention.
  • FIG. 7(b) is a schematic diagram of a forwarding path of packets between different routing domains according to an embodiment of the present invention.
  • FIG. 8(a) is a flowchart of a network configuration method according to an embodiment of the present invention.
  • FIG. 8(b) is a schematic diagram of another forwarding path of packets between different routing domains according to an embodiment of the present invention.
  • FIG. 9 is a structural diagram of a route determining apparatus according to an embodiment of the present invention.
  • FIG. 10 is a structural diagram of a network configuration apparatus according to an embodiment of the present invention.
  • the embodiment of the invention provides a route determining method, which can shorten the packet forwarding path and reduce the pressure of the gateway router.
  • the present invention also proposes a network configuration method and related devices, which will be separately described below.
  • S1 to S6 respectively represent different network segments (English: subnet), and the first gateway and the second gateway are gateway routers.
  • the network segments S1, S2, and S6 are connected to the first gateway, and the first gateway is responsible for the communication between the network segments S1, S2, and S6 and the communication between the network segments S1, S2, and S6 and the external network.
  • a gateway and a collection of all network segments attached thereto are collectively referred to as a routing domain in the present application. Therefore, in FIG. 1, the first gateways, S1, S2, and S6 all belong to the first routing domain.
  • the network segments S3, S4, and S5 are connected to the second gateway, and the second gateway and S3, S4, and S5 all belong to the second routing domain.
  • a VPN tunnel is established between the first gateway and the second gateway, and data exchanged between the first routing domain and the second routing domain passes through the VPN tunnel.
  • the interconnection network includes a gateway and multiple hosts, and in FIG. 2, only the first gateway, The second gateway, the first host, and the second host are described as an example.
  • Multiple virtual machines (English: virtual machine, abbreviated: VM) are deployed on each host, and a virtual switch (virtual switch, abbreviated as vswitch) is deployed to implement interworking between VMs and communication between VMs and external networks.
  • VM virtual machine
  • vswitch virtual switch
  • Different hosts can also exchange data through a physical switch (English: Top of Rank, abbreviation: TOR) (not shown).
  • the first vswitch (hereinafter referred to as the first switch) on the first host is connected to VM 1, VM 2, and VM 3, wherein VM 1 and VM 2 belong to S1, and VM 3 belongs to S3.
  • the second vswitch (hereinafter referred to as the second switch) on the second host is connected to the VM 4, the VM 5, and the VM 6.
  • the VM 4 and the VM 5 belong to S2, and the VM 6 belongs to S3.
  • the first switch and the second switch are both connected to the first gateway and the second gateway.
  • connection relationship between the gateway router and the host shown in FIG. 3(a) is only a logical connection relationship, and the gateway router may be served by an independent device in the network, or may be served by an object such as a VM in the host. .
  • VM 1 sends the packet to the first switch network segment, and the first switch sends the packet to the first gateway, and then the first gateway forwards the packet to the second switch.
  • the second switch After receiving the packet, the second switch sends the packet to the VM 5 according to the destination IP address carried in the packet.
  • packets between different network segments in the same routing domain need to be forwarded to the gateway for forwarding.
  • the packet forwarding path is longer.
  • a relatively simple router is installed inside the host to replace the gateway for local packet processing, which is referred to as an internal router in this application.
  • the IR can be a physical entity inside the host or a virtual entity, such as a VM, a container (English: docker), a linux namespace (English: namespace), and the like.
  • the first host is internally configured with a first IR, and the first IR is used to replace the first gateway to process the first host.
  • the first IR corresponds to a routing table, and packet forwarding information of the first routing domain is recorded in the routing table.
  • the VM 1 sends a packet to be forwarded to the first switch, and the purpose of the packet is VM 5.
  • the first switch After receiving the packet to be forwarded, the first switch does not send the packet to the first gateway, but sends the packet to the first IR.
  • the first IR searches for the matching route entry in the routing table corresponding to the first IR, and forwards the packet to the second exchange according to the search result.
  • the message is sent by the second switch to the VM 5. Therefore, the packet between the VM 1 and the VM 5 does not need to be forwarded by the first gateway, which shortens the forwarding path of the packet, improves the forwarding efficiency of the packet, and reduces the bandwidth occupation of the first gateway.
  • the packet forwarding method in the same routing domain is described above.
  • the following describes the packet forwarding method between different routing domains. See Figure 4. If the VM 1 is to send a message to the VM 6, the S1 of the VM 1 belongs to the first routing domain, and the S3 of the VM 6 belongs to the second routing domain. Therefore, the first IR receives the packet to be sent to the VM 6. It cannot be forwarded directly to the second switch. The first IR needs to be sent to the first gateway, and is sent by the first gateway to the second gateway through the VPN tunnel, and then sent by the second gateway to the second switch.
  • the packets of the first routing domain need to pass through the VPN tunnel between the gateways to reach the second routing domain.
  • This causes a lot of problems when the first routing domain and the second routing domain need to exchange a large number of packets.
  • a packet that is forwarded by a gateway needs to be encapsulated and decapsulated multiple times.
  • the process of encapsulation and decapsulation consumes a large amount of network resources.
  • the VPN tunnel is congested.
  • the east-west traffic of the gateway competes for north-south traffic, causing the performance and reliability bottleneck of the gateway, resulting in reduced availability of the entire network.
  • the present invention proposes an improved method suitable for use in a software defined network.
  • SDN is a new type of virtualized network. By separating the control plane of the network device from the data plane, flexible control of network traffic is realized, and the network becomes more intelligent as a pipeline.
  • the solution provided by the present invention is specifically applicable to an SDN controller or a network manager.
  • the SDN controller in the present invention may refer to an SDN controller, or a network manager, or a unit integrated with an SDN controller and a network manager.
  • the SDN controller is used to control and manage the devices in the SDN.
  • the SDN controller may be an independent device or device, or may be deployed in each host in the form of a VM; the SDN may have an SDN controller, or the functions of the SDN controller may be distributed on multiple nodes, where Not limited.
  • the SDN also includes multiple hosts. In the present invention, only the first host and the second host are taken as an example for description.
  • the SDN controller is responsible for determining the forwarding rule of the packet to be forwarded according to the indication information of the user and the SDN network topology, and notifying the determined forwarding rule to the host in the SDN in the form of a flow table.
  • the SDN controller can be implemented by the computing device 600 shown in FIG.
  • the organizational structure of the computing device 600 includes a processor 602, a memory 604, and a bus 608, a communication interface 606.
  • the processor 602, the memory 604, and the communication interface 606 can implement communication connection with each other through the bus 608, and can also implement communication by other means such as wireless transmission.
  • the memory 604 memory may include a volatile memory (English: volatile memory), such as random access memory (English: random-access memory, abbreviation: RAM); the memory may also include non-volatile memory (English: non-volatile memory) ), such as read-only memory (English: read-only memory, abbreviation: ROM), flash memory (English: flash memory), hard disk (English hard disk drive, abbreviation: HDD) or solid state drive (English: solid-state drive , abbreviation: SSD); the memory 604 may also include a combination of the above types of memories.
  • Program code for implementing the present invention may be stored in memory 604 and executed by processor 602.
  • the first forwarding information table, the second forwarding information table, and the third forwarding information table for implementing the present invention may be stored in the memory 604 and used by the processor 602 when executed.
  • the computing device 600 obtains the message information of the message to be forwarded through the communication interface 606, and sends a flow table or an instruction through the communication interface 606.
  • the processor 602 can be a central processing unit (English: central processing unit, abbreviation: CPU). By accessing the program code in the memory 604, the processor 602 can receive the message information of the message to be forwarded, and determine the forwarding information of the message to be forwarded according to the message information of the message to be forwarded, and forward the message to be forwarded through the flow table.
  • the forwarding information of the packet is sent to the switch that sends the packet information of the packet to be forwarded.
  • the forwarding information of the packet to be forwarded includes the destination MAC address, the sending port, and the destination VNI of the packet to be forwarded.
  • the method for determining the forwarding information of the packet to be forwarded according to the packet information of the packet to be forwarded is different.
  • the processor 602 may add the first target entry to the forwarding information table of the first routing domain in advance, so that the processor 602 is After receiving the packet information of the packet to be forwarded, the device may obtain the first target entry from the forwarding information table of the first routing domain according to the packet information of the packet to be forwarded, and then jump to the indication of the first target entry. And obtaining the matching entry of the packet information of the packet to be forwarded in the forwarding information table of the second routing domain, and obtaining the forwarding information of the packet to be forwarded from the matching entry of the packet information of the packet to be forwarded.
  • the processor 602 may add a second target entry to the forwarding information table of the first routing domain in advance, and add a third target entry to the forwarding information table of the third routing domain.
  • the processor 602 can obtain the second target entry from the forwarding information table of the first routing domain according to the packet information of the packet to be forwarded, and then the second target entry.
  • the instruction jumps to the forwarding information table of the third routing domain, obtains the third target entry in the forwarding information table of the third routing domain, and jumps according to the third target entry. Go to the matching entry of the packet information of the packet to be forwarded, and obtain the forwarding information of the packet to be forwarded from the matching entry of the packet information of the packet to be forwarded.
  • the processor 602 may add a partial entry in the forwarding information table of the second routing domain to the forwarding information table of the first routing domain, so that the processor 602 can directly directly process the packet information according to the packet to be forwarded.
  • the forwarding information of the to-be-forwarded packet is obtained in the forwarding information table of the first routing domain.
  • the processor 602 can also create a first interface on the first IR in the target host by accessing the program code in the memory 604, and allocate a first Internet Protocol (English: Internet Protocol, IP address) address to the first interface.
  • Create a second interface on the second IR create a second IR if there is no second IR in the target host), assign a second IP address to the second interface, and then create a network between the first interface and the second interface. connection.
  • the first routing entry is added to the routing table of the first IR.
  • the first destination address field in the first routing entry is the second network segment of the second routing domain, and the first next hop field is the second IP address.
  • the processor 602 may further add a second routing entry to the routing table of the second IR, where the second destination address field in the second routing entry is the first network segment of the first routing domain, and the second next hop The field is the first IP address.
  • the first IR and the second IR are deleted when the VM that belongs to the first routing domain or the second routing domain is not attached to the virtual switch of the target host.
  • the present invention also provides a route determining method.
  • the SDN controllers in FIG. 5 and FIG. 6 execute the method at runtime to enable packets between different routing domains to communicate without passing through a gateway.
  • the SDN controller can interconnect the entire first routing domain and the entire second routing domain, but only the first routing domain can communicate with some network segments in the second routing domain. In this embodiment, only the network segment S1 and the network segment S3 are interconnected as an example for description.
  • the process is shown in Figure 7(a):
  • the SDN controller determines that the network segment S1 and the network segment S3 are to be interconnected.
  • S1 belongs to the first routing domain in the interconnection network
  • S3 belongs to the second routing domain.
  • the first routing domain should not include S3 in order to ensure that the packets in S1 can reach S3 correctly after the interworking.
  • the second routing domain may not include S1, in order to ensure that the packets in S3 can reach S1 correctly after the interworking.
  • the SDN controller can determine that S1 and S3 are to be interconnected according to user instructions.
  • the SDN controller adds a first target entry to the first forwarding information table.
  • the SDN controller manages multiple forwarding information tables, each forwarding information table corresponding to a routing domain, and each forwarding information table includes multiple entries, and these entries record forwarding in the corresponding routing domain. information.
  • the forwarding information table corresponding to the first routing domain is referred to as the first
  • the forwarding information table is referred to as a second forwarding information table
  • the forwarding information table corresponding to the third routing domain is referred to as a third forwarding information table.
  • each entry may include a condition information field and a forwarding information field.
  • the destination IP address is recorded in the condition information field, and other condition information may also be recorded.
  • the forwarding information field is used to record the forwarding information, and the Layer 3 forwarding information, such as the next hop corresponding to the destination IP address, can be recorded.
  • the Layer 3 forwarding information can be the identifier of the routing domain.
  • the SDN controller can further obtain the destination IP address through Layer 3 forwarding information.
  • the forwarding information field can also directly record forwarding information such as the sending port, MAC address, VNI, and VTEP identifier corresponding to the destination IP address.
  • An example of one form of the forwarding information table is shown in Table 1.
  • the SDN controller can look up Table 1 for the forwarding information of the to-be-forwarded packet according to the destination IP address of the packet to be forwarded.
  • the SDN controller determines that the packet to be forwarded matches the default entry, and obtains the gateway information, where the gateway information is used to indicate that the packet is to be forwarded.
  • the text is sent to the gateway.
  • the forwarding information table may also be in other forms, which is not limited herein.
  • the first switch connected to the VM 1 receives the packet to be forwarded and the information of the packet to be forwarded.
  • the information is sent to the SDN controller, and the information of the to-be-forwarded packet includes the port that the first switch receives the packet to be forwarded and the destination IP address of the packet to be forwarded.
  • the SDN controller determines, according to the port information in the information of the to-be-forwarded packet, that the to-be-forwarded packet belongs to the first The routing domain determines to find the first forwarding information table.
  • the SDN controller determines that the to-be-forwarded packet needs to be forwarded by the first gateway, and sends the packet to be forwarded to the first gateway by using the flow table.
  • the SDN controller adds a first target entry to the first forwarding information table. Different from the other entries in the first forwarding table, the first target entry is used to indicate that the jump to the second forwarding information table is used to find the matching entry of the to-be-forwarded packet.
  • the first target information item may include a first condition information field, and is used to describe a condition that is required to obtain the first target entry, where at least the first destination network segment that belongs to the second routing domain is included. Destination, or dest).
  • the first destination network segment is a contiguous address.
  • the first destination network segment may include the network segment S3 because the S1 and the S3 are interconnected in this embodiment. For example, if the first forwarding information table is in the form of a routing table, the first condition information field of the first target entry may be served by the destination address field, and the destination address field is filled with the IP address segment of the network segment S3.
  • the first condition information field may include other conditions in addition to the first destination network segment, and may be other forms than the routing table (such as a triplet or a quintuple), which is not limited herein.
  • the SDN controller can obtain the first target entry only when it determines that all the conditions in the first condition information field are satisfied.
  • the first target information entry may further include a first indication information field, configured to indicate that the jump to the second forwarding information table.
  • the first indication information field may be a preset number, a string, or other forms. The following only takes a character string as an example: the correspondence between different strings and different operations is preset in the SDN controller, and the search is performed. The character string corresponding to the operation of the second forwarding information table is filled in the first indication information field. After the SDN controller obtains the first target entry, the operation of searching for the second forwarding information table may be determined according to the character string of the first indication information field.
  • the first indication information field may also be in the form of an instruction (such as an action instruction), and the instruction indicates to jump to the second forwarding information table, so that the SDN controller does not need to follow the number after acquiring the first target entry. Or the correspondence between the string and the operation to determine the operation that needs to be performed, and directly execute the execution in the first indication information field.
  • an instruction such as an action instruction
  • the first forwarding information table to which the first target entry is added is shown in Table 2. It is worth noting that the first target entry needs to be added before the default entry to ensure that the SDN controller is When the first forwarding information table is searched, the first target entry can be preferentially found, and then the default entry is found.
  • the hop controller jumps to the second forwarding information table to search for the matching entry according to the first target entry.
  • jump methods please refer to steps 703 to 709:
  • the VM 1 sends a first packet to the first switch, where the destination IP address of the first packet is an IP address of the VM 6.
  • the first switch receives the first packet.
  • the VM 1 belongs to the S1 network segment in the first routing domain, and the VM 6 belongs to the S3 network segment in the second routing domain.
  • the first packet may also carry the MAC address of the first gateway.
  • the first switch can also store the correspondence between the ports of the switch and the network segment, so that the first switch can determine the first packet from the S1 network according to the port that receives the first packet. Segment, and add the VNI of the S1 network segment to the first packet.
  • the first switch After receiving the first packet, the first switch needs to request a flow table from the SDN controller to obtain forwarding information of the first packet.
  • the first switch sends the packet information of the first packet to the SDN controller, to request a flow table from the SDN controller, to obtain forwarding information of the first packet.
  • the SDN controller receives the message information of the first packet.
  • the first switch may send the first packet and the information of the port that receives the first packet as the packet information of the first packet to the SDN controller, or the port that receives the first packet,
  • the summary information such as the destination IP address is sent to the SDN controller as the packet information of the first packet.
  • the SDN control The controller can determine the destination IP address of the first packet according to the packet information of the first packet.
  • the SDN controller searches for the first forwarding information table according to the packet information of the first packet.
  • the SDN controller may determine, according to the packet information of the first packet, that the first switch receives the information of the port of the first packet or other information to determine that the first packet is from the first routing domain, and therefore determines to find the first forwarding. Information Sheet.
  • the destination IP address of the first packet belongs to the network segment S3, and the destination IP address of the first packet matches the first destination network segment.
  • the SDN controller can obtain the first target entry by searching the first forwarding information table. .
  • the SDN controller searches for the matching entry of the first packet in the second forwarding information table according to the indication of the first target entry.
  • the SDN controller can obtain the forwarding information of the first packet by searching for the matching entry in the second forwarding information table, because the second forwarding information table records the forwarding information in the second routing domain.
  • the SDN controller obtains the forwarding information of the first packet from the matching entry of the first packet.
  • the SDN controller can obtain the forwarding information used by the source switch to forward the first packet, and forward the first packet.
  • the information should at least include: the destination MAC address, the destination VNI, and the sending port of the first packet.
  • the destination MAC address is the MAC address of the VM corresponding to the destination IP address of the first packet, which is specifically the MAC address of the VM6.
  • the destination VNI is the VNI of the network segment where the VM corresponding to the destination IP address of the first packet is located. Specifically, it should be the VNI of the S3 network segment; the sending port of the first packet is used to indicate the port used by the first switch to send the first packet.
  • the matching entry further includes the destination VTEP identifier.
  • VM1 and VM6 are located in different hosts as an example. Therefore, the sending port of the first packet is an uplink port, and the first switch can send the first packet to other switches through the uplink port. Two switches).
  • the VM that sends the first packet and the VM corresponding to the destination IP address of the first packet may be connected to the same switch (the VM6 and VM1 are located in the first host simultaneously, and the VM6 is also attached to the VM6). Under the first switch). In this case, the sending port of the first packet is not the uplink port, but the port where the first switch communicates with the VM6.
  • the process of obtaining the forwarding information of the first packet from the matching entry of the first packet obtained in the second forwarding information table may be implemented in multiple manners.
  • the forwarding information of the to-be-forwarded packet is directly recorded in the matching entry of the first packet.
  • the SDN controller obtains the identifier of the second routing domain according to the identifier of the second routing domain, and is in the second routing domain according to the packet information of the first packet.
  • the forwarding information of the first packet is queried in the routing information table corresponding to the identifier.
  • each routing domain has a corresponding routing information table.
  • the SDN controller sends the target flow table to the first switch according to the forwarding information of the first packet, where the target flow table includes forwarding information of the first packet and an operation indication, where the operation indication is used to indicate that the first switch adjusts
  • the first packet is then forwarded from the sending port by the adjusted first packet.
  • the specific adjustment operation includes: modifying the MAC address of the first gateway carried in the first packet to the destination MAC address in the forwarding information, and adding the destination VNI to the first packet (if the step is performed in step 703) If the VNI of the S1 network segment is added to a packet, the VNI of the S1 network segment in the first packet is replaced with the destination VNI.
  • the SDN controller after obtaining the forwarding information of the first packet, the SDN controller further generates an operation indication, and generates a target flow table according to the operation indication and the forwarding information, for example, modify: a destination MAC address, Modify: Destination VNI, transmit: The sending port of the first packet.
  • the first switch After receiving the target flow table, the first switch performs the adjustment of the first packet according to the operation indication and the forwarding information, and sends the adjusted first packet from the sending port.
  • the SDN controller may also generate a matching flow table corresponding to the second switch, and send the matching flow table to the second switch, so that the S3 network segment is configured.
  • the matching traffic table can be matched to the second switch to forward the packet to the first switch.
  • the matching flow table may include multiple flow tables, and the SDN controller sends the matching flow table to the second switch before or after sending the target flow table to the first switch, or synchronously with sending the target flow table to the first switch. .
  • the first switch adjusts and forwards the first packet according to the target flow table.
  • the first switch adjusts the first packet according to the target flow table, and after the adjustment of the first packet is completed, the first packet is forwarded from the sending port of the first packet.
  • the first switch further adds the destination VTEP identifier to the first packet.
  • the uplink port of the first switch is connected to multiple other switches through the physical switch, and the physical switch can determine to send the adjusted first packet to the first packet according to the destination MAC address and the destination VNI in the first packet. Two switches. Then, the physical switch directly sends the adjusted first packet to the second switch. The second switch receives the adjusted first packet. It can be seen that the entire forwarding path of the first packet does not pass through the gateway.
  • the second switch sends the first packet to the VM 6.
  • the second switch sends the first packet to the VM6 according to the destination MAC address and the destination VNI in the first packet.
  • step 702 is before step 705.
  • step 701 is an optional step, and the SDN controller may not perform step 701.
  • the SDN controller may determine that S3 is to be in communication with the first routing domain according to the destination IP address of the first packet, and then perform step 702, and then perform steps 705 to 710 in sequence.
  • step 702 is an optional step. For example, if the first target entry is already preset in the first forwarding table, both step 701 and step 702 may be omitted.
  • the method provided by the present invention is applicable not only to the SDN controller to jump between the forwarding information tables of the two routing domains, but also to the SDN controller to jump between multiple routing domains, such as from After the first forwarding information table jumps to the third forwarding information table, it jumps to the second forwarding information table.
  • the steps 701, 702, 705, and 706 may be replaced by the following steps: the SDN controller may add a second target entry to the first forwarding information table, and add a third target entry to the third forwarding information table.
  • the second target information field includes a second condition information field, and is used to describe a condition that is required to obtain the second target entry, where at least the second destination network segment that belongs to the second routing domain is included.
  • the second target information entry further includes a second indication information field for indicating a jump to the third forwarding information table.
  • the third target information item includes a third condition information field for describing a condition required for acquiring the third target entry, where at least the third destination network segment belonging to the second routing domain is included.
  • the third target entry further includes a third indication information field for indicating a jump to the second forwarding information table.
  • the SDN controller searches for the first forwarding information table according to the destination IP address of the first packet.
  • the destination IP address of the first packet belongs to the second destination network segment, so the SDN controller obtains the second target entry, and jumps to the third forwarding information table according to the second indication information field in the second target entry. Inquire.
  • the destination IP address of the first packet belongs to the third destination.
  • the SDN controller obtains the third target entry, and jumps to the second forwarding information table to search for the matching entry of the first packet according to the third indication information field in the third target entry.
  • the second destination network segment may be the same as the third destination network segment, or include the third destination network segment, or belong to the third destination network segment, or partially overlap with the third destination network segment. However, regardless of the relationship between the second destination network segment and the third destination network segment, both the second destination network segment and the third destination network segment need to include the destination IP address of the first packet.
  • the SDN controller may also determine forwarding information of the to-be-forwarded packet by using other methods. For example, the SDN controller may add an entry corresponding to the destination network segment to be added in the second forwarding information table to the first forwarding information table in advance.
  • the destination network segment to be added may be the same as (or all or part of) the network segment to be added, as long as the destination network segment to be added includes the destination IP address of the first packet.
  • the SDN controller determines that the network segment S1 and the network segment S3 are to be interconnected, and the SDN controller determines the forwarding information related to the network segment S3 in the second forwarding information table by using the S3 as the destination network segment to be added.
  • the entries to be added are added to the first forwarding information table.
  • the SDN controller receives the message information of the first packet, and searches for the matching entry in the first forwarding information table. It can be understood that, because the destination IP address of the first packet belongs to S3, the SDN controller directly finds the matching entry in the entry added by the first forwarding information table, and obtains the forwarding information of the first packet.
  • the entry to be added corresponds to the second routing domain in the first forwarding information table by using a prefix or the like.
  • the SDN controller sends a new flow table to the switch to indicate the forwarding information of the packets between different routing domains, so that the packets between different routing domains can be used by the source switch without including the gateway.
  • the path is sent to the destination switch or the destination VM. This shortens the packet forwarding path, which reduces the number of packet encapsulations and saves network resources.
  • the present invention enables packets between different routing domains to be forwarded without going through a gateway, which can reduce the pressure of the gateway router and improve the availability of the SDN.
  • the scenario provided above describes that after receiving the packet to be forwarded, the first switch reports the packet information of the packet to be forwarded to the SDN controller to obtain the target flow table.
  • the SDN controller determines the first to-be-interconnected network segment and the second to-be-interconnected network segment according to the configuration or the instruction of the user, and the first to-be-interconnected network segment and the second to-be-interconnected network segment Network segments belong to different routing domains.
  • the SDN controller may generate each of the second to-be-interconnected network segments according to the first forwarding information table.
  • the destination flow table corresponding to the destination IP address, and the target flow table is sent to the first switch, so that the first switch can directly receive the to-be-forwarded packet corresponding to each destination IP address of the second to-be-interconnected network segment. deal with.
  • the SDN controller may generate a target flow table corresponding to each destination IP address of the first to-be-interconnected network segment according to the second forwarding information table, and send the target flow table to the second switch, so that the second switch subsequently receives the The packets to be forwarded corresponding to the destination IP addresses of the first to-be-interconnected network segment can be directly processed.
  • the SDN controller sends the target flow table corresponding to the network segment to be interconnected to the corresponding switch in advance, which reduces the network segment to be interconnected to request the target flow table from the SDN controller during the subsequent packet forwarding process.
  • the process further improves the efficiency of message forwarding.
  • the switch requests a flow table from the SDN controller, and forwards the packet according to the requested flow table, so as to implement packet communication between different routing domains.
  • the present invention also provides a network configuration method for configuring a host, so that the host can directly forward packets between different routing domains.
  • the method is applicable to an SDN controller or a network manager.
  • the present invention is described by taking only an SDN controller as an example.
  • the SDN controllers in Figures 5 and 6 execute the method at runtime. For the specific process, please refer to Figure 8(a), including:
  • the SDN controller determines that the first host Internet segment S1 and the network segment S3 are to be interconnected. S1 belongs to the first routing domain in the interconnection network, and S3 belongs to the second routing domain. To ensure that S1 and S3 can communicate with each other correctly, S3 is not included in the first routing domain, and S1 is not included in the second routing domain.
  • the first host is configured to include at least a first IR and a second IR, where the first IR is used to replace the first gateway to process forwarding information related to the first routing domain on the first host, where the first IR corresponds to a routing table, where the recorded Forwarding information related to the first routing domain.
  • the second IR is used to replace the second gateway to process the forwarding information related to the second routing domain on the first host, and the second IR corresponds to the routing table, where the forwarding information related to the first routing domain is recorded.
  • the first host includes a first switch. If the first switch does not include the VM in the first routing domain, the first host may not include the first IR, and the first SDN controller creates the first switch. IR. Similarly, if the VM in the second routing domain is not attached to the first switch, the second host may not be included in the first host, and the second IR is created by the SDN controller, which is not limited herein.
  • the SDN controller in step 801 can determine that S1 and S3 are to be mutually exchanged according to user instructions. through. Wherein, this step 801 is an optional step.
  • the SDN controller determines a first interface and a first IP address of the first interface on the first IR, and determines a second interface and a second IP address of the second interface on the second IR.
  • the first interface may be created by the SDN controller for the first IR and the second IR interworking.
  • the first IP address may be assigned by the SDN controller to indicate the IP address of the first interface.
  • the second interface can be created by the SDN controller for the second IR and the first IR interworking.
  • the second IP address may be assigned by the SDN controller to indicate the IP address of the second interface.
  • the first IP address should not be in the first routing domain, and the second IP address should not be in the second routing domain, in order to ensure that the first interface and the second interface can be connected normally.
  • the first IP address and/or the second IP address may belong to a link local address (English: link local address), that is, a network segment of 169.254.
  • the network segment is generally not used by the normal network service.
  • the IP address of the normal network service is not affected after the S1 and S3 are connected to the first interface and/or the second interface. .
  • the SDN controller creates a network connection between the first interface and the second interface to exchange data between S1 and S3 on the created network connection.
  • the SDN controller may interconnect the first interface and the second interface by using an Ethernet interface pair (English: eth-pair); or the SDN controller may add the first interface and the second interface to the first switch, so that The first IR and the second IR may exchange messages between S1 and S3 through the first switch.
  • the first switch can add the first interface and the second interface to the unused virtual local area network (English: vlan) to prevent the first interface and the second interface from affecting normal network services.
  • the first interface and the second interface can access the same VLAN to improve packet transmission efficiency of the first IR and the second IR.
  • a small virtual switch can also be configured in the first host, and the SDN controller can add the first interface and the second interface to the small virtual switch.
  • the SDN controller adds a first routing entry to a routing table corresponding to the first IR.
  • the first route entry indicates that if the destination IP address of the packet to be forwarded belongs to S3, the next hop of the packet to be forwarded is the second IP address.
  • the first routing entry in the corresponding routing table of the first IR has many forms, for example, as shown in Table 3:
  • the first IR may send the to-be-forwarded packet whose destination IP address belongs to S3 to the second IP address according to the first routing entry, and then The second IR performs a subsequent forwarding operation.
  • the SDN controller may further add a second routing entry to the routing table corresponding to the second IR, where the second routing entry indicates that if the destination IP address of the packet to be forwarded belongs to S1, the packet to be forwarded is One hop is the first IP address.
  • the second routing entry in the routing table corresponding to the second IR has many forms, for example, as shown in Table 4:
  • the second IR may send the to-be-forwarded packet whose destination IP address belongs to S1 to the first IP address according to the second routing entry, and then The first IR performs a subsequent forwarding operation.
  • the VM 1 sends a third packet to the first switch, where the destination IP address of the third packet is VM 6.
  • the first switch receives the third packet.
  • the VM 1 belongs to the S1 network segment in the first routing domain, and the VM 6 belongs to the S3 network segment in the second routing domain.
  • the first switch sends the third packet to the first IR, where the first IR receives the third packet.
  • the first IR searches for the matching route of the third packet in the routing table corresponding to the first IR, and obtains the first routing entry, and further determines that the next hop of the third packet is the second IP address.
  • the first IR then sends the third message to the second interface of the second IR according to the first route entry found.
  • the second IR receives the third message.
  • the second IR searches for a matching route of the third packet.
  • the second IR is used to process the forwarding information of the second routing domain, so that the next hop of the third packet can be normally found. Then, the second IR sends the third packet to the second switch according to the search result. The second switch receives the third packet.
  • the second switch sends the third packet to the VM 6.
  • step 804 may also be before step 803.
  • the SDN controller configures the IR communication of different routing domains in the host to enable packets between different routing domains to be forwarded through multiple IRs in the host.
  • (b) is shown. Comparing FIG. 8(b) with FIG. 4, it can be found that the network configuration method provided by the present invention can shorten the forwarding path of packets in the network, reduce the number of times of packet encapsulation and decapsulation, and save network resources. Moreover, the present invention enables packets between different routing domains to be forwarded without going through a gateway, which can reduce the pressure of the gateway router and improve the availability of the SDN.
  • the SDN controller only has no first route attached to the first switch. The first IR and the second IR are deleted only when the VM of the domain does not mount the VM of the second routing domain.
  • the embodiment of the present invention further provides a related route determining device, which may be implemented by the SDN controller in FIG. 5 or the computing device in FIG. 6, or through an application-specific integrated circuit (English: application-specific integrated circuit, Abbreviation: ASIC) or programmable logic device (English: programmable logic device, abbreviation: PLD) implementation.
  • the above PLD can be a complex programmable logic device (English: complex programmable logic device, abbreviation: CPLD), field-programmable gate array (English: field-programmable gate array, abbreviation: FPGA), general array logic (English: generic array Logic, abbreviation: GAL) or any combination thereof.
  • the route determining means is for implementing the route determining method shown in FIG.
  • the schematic diagram of the organization of the route determining apparatus includes a message receiving module 901, an information determining module 902, and a flow table sending module 903.
  • the message receiving module 901 is configured to perform step 704 in FIG. 7 and receive message information of the first packet.
  • the information determining module 902 is configured to determine, according to the packet information of the first packet, the forwarding information of the first packet, which may be used to perform steps 705 to 707 in FIG. 7 .
  • the flow table sending module 903 is configured to perform step 708 in FIG.
  • the route determining apparatus may further include an optional module: an entry adding module 904, configured to perform the step 702 of adding the first target entry to the first forwarding information table in the embodiment shown in FIG. 7, or And a step of performing adding a second target entry to the first forwarding information table and adding a third target entry to the third forwarding information table.
  • the information determining module 902 performs the implementation shown in FIG.
  • the first forwarding information table is searched according to the destination IP address of the first packet to obtain the second target entry, and the second indication information field in the second target entry is used to jump to the third forwarding information table to obtain the first The third target entry, and the step of searching for the matching entry of the first packet according to the third indication information field in the third target entry to the second forwarding information table.
  • the route determining apparatus may further include an optional module: an add-on entry module 905, configured to perform the embodiment shown in FIG. 7, determine the entry to be added, and add the entry to be added to the first Forward the steps in the information table.
  • the information determining module performs the step of directly searching for the matching entry in the entry added by the first forwarding information table to obtain the forwarding information of the first packet.
  • the embodiment of the present invention further provides related network configuration apparatus, which may be implemented by the SDN controller in FIG. 5 or the computing device in FIG. 6, or by one of an ASIC, a CPLD, an FPGA, a GAL, or A combination of several items is implemented.
  • the network configuration device is used to implement the network configuration method shown in FIG.
  • the schematic diagram of the organization of the network configuration apparatus includes: an interface module 1001, a network connection module 1002, and a route adding module 1003.
  • the create interface module 1001 is configured to perform step 802 in FIG. 8.
  • the network connection module 1002 is configured to perform step 803 in FIG. 8.
  • the route adding module 1003 is configured to perform step 804 in FIG.
  • the network configuration device further includes an optional module: an IR management module 1004, configured to perform the step of creating a second IR when the first host does not include the second IR, and when The step of deleting the first IR and the second IR when a switch does not mount the VM of the first routing domain nor the VM of the second routing domain.
  • an IR management module 1004 configured to perform the step of creating a second IR when the first host does not include the second IR, and when The step of deleting the first IR and the second IR when a switch does not mount the VM of the first routing domain nor the VM of the second routing domain.
  • first”, “second”, “third”, etc. are used to distinguish different individuals of the same type, and do not indicate that there is a sequence, hierarchy or other dependency between the individuals.
  • the disclosed method and apparatus may It is achieved in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the modules is only a logical function division. In actual implementation, there may be another division manner. For example, multiple modules may be combined or integrated. Go to another device, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interface, module indirect coupling or communication connection, and may be in electrical, mechanical or other form.
  • the modules described as separate components may or may not be physically separated.
  • the components displayed as modules may or may not be physical modules, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional module in each embodiment of the present invention may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or in the form of software functional modules.
  • the integrated modules if implemented in the form of software functional modules and sold or used as separate products, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.

Abstract

Provided in the present application is a route determining method for shortening of a packet forwarding path and reducing loading on a gateway router. The method provided in the present application comprises: receiving packet information of a packet awaiting forwarding from a source switch, the packet information of the packet awaiting forwarding comprising a target IP address of the packet; determining forwarding information of the packet awaiting forwarding according to the packet information of the packet, wherein the packet awaiting forwarding is from a first routing domain and the target IP address thereof belongs to a second routing domain. Thereby, via the present route-determining method, packets of different routing domains can be forwarded without passing the gateway, thus reducing workload of the gateway and improving packet transmission efficiency.

Description

路由确定方法、网络配置方法以及相关装置Route determination method, network configuration method, and related device 技术领域Technical field
本发明涉及通信领域,尤其涉及一种路由确定方法、网络配置方法以及相关装置。The present invention relates to the field of communications, and in particular, to a route determining method, a network configuration method, and related devices.
背景技术Background technique
随着虚拟化、云计算技术的成熟,数据中心内部的流量日益激增。在数据中心内,不同网段之间的数据报文均需要通过网关路由器转发,这样就大大增加了对网关路由器的压力。With the maturity of virtualization and cloud computing technologies, traffic within the data center is increasing. In the data center, data packets between different network segments need to be forwarded through the gateway router, which greatly increases the pressure on the gateway router.
为了减小网关路由器的压力,现阶段的技术中在数据中心的节点中设置一个较为简单的内部路由器来(英文:inner router,缩写:IR),用于代替网关路由器对数据报文进行处理。这样,若报文源地址与报文目的IP地址处于同一个网关下,则该报文可以通过IR转发到目的IP地址处。In order to reduce the pressure on the gateway router, in the current technology, a relatively simple internal router (inner router, abbreviation: IR) is set in the node of the data center to replace the gateway router to process the data packet. In this way, if the source address of the packet is on the same gateway as the destination IP address of the packet, the packet can be forwarded to the destination IP address through the IR.
但是,若报文源地址与报文目的IP地址并没有处于同一个网关下,例如报文源地址处于第一网关下,报文目的地地址处于第二网关下,则需要第一网关通过虚拟专用网络(英文:virtual private network,缩写:VPN)隧道将该报文发送给第二网关,再由第二网关将该报文发送。报文经过VPN隧道转发意味着报文需要经过多次封装解封装,消耗大量的网络资源。且大量报文同时集中到网关时会造成VPN隧道拥堵,网关的东西向流量争抢南北向流量,引起网关的性能与可靠性瓶颈,导致整个网络的可用性降低。However, if the source address of the packet is not in the same gateway as the destination IP address of the packet, for example, the source address of the packet is at the first gateway and the destination address of the packet is under the second gateway, the first gateway needs to be virtualized. The private network (English: virtual private network, abbreviation: VPN) tunnel sends the packet to the second gateway, and the second gateway sends the packet. The forwarding of packets through the VPN tunnel means that packets need to be encapsulated and decapsulated multiple times and consume a large amount of network resources. When a large number of packets are concentrated at the gateway, the VPN tunnel is congested. The east-west traffic of the gateway competes for north-south traffic, causing the performance and reliability bottleneck of the gateway, resulting in reduced availability of the entire network.
发明内容Summary of the invention
本申请实施例提供了一种路由确定方法,可以缩短报文转发路径,减小网关路由器的压力。本申请还提出了一种网络配置方法、相关装置、计算设备和系统。The embodiment of the present application provides a route determining method, which can shorten the packet forwarding path and reduce the pressure of the gateway router. The application also proposes a network configuration method, related device, computing device and system.
本申请实施例第一方面提供了一种路由确定方法,适用于软件定义网络(英文:software defined network,缩写:SDN),其中SDN控制器和网络管理器(英文:network manager)均可以执行该路由确定方法,以SDN控制器 为例:SDN控制器从源交换机处接收待转发报文的报文信息,该报文信息中至少包括待转发报文的目的IP地址,还可以包括源交换机接收该待转发报文的端口等信息。该待转发报文来自第一路由域,且该待转发报文的目的IP地址属于第二路由域。SDN控制器根据待转发报文的报文信息,确定待转发报文的转发信息,待转发报文的转发信息至少包括:待转发报文的目的IP地址对应的虚拟机的目的MAC地址,源交换机发送待转发报文的转发端口和待转发报文的目的IP地址对应的虚拟机所在的网段的目的VNI。SDN控制器根据待转发报文的转发信息生成目标流表,并将目标流表发送给源交换机,该目标流表中包括待转发报文的转发信息以及操作指示,该操作指示用于指示源交换机通过如下方式调整待转发报文:将待转发报文中的第一路由域对应的网关的MAC地址修改为目的MAC地址,并将目的VNI添加到待转发报文。该操作指示还用于指示源交换机在完成了对待转发报文的调整后,在发送端口上发送该调整后的待转发报文。本申请提供的方法使得源交换机能够根据目标流表的指示,直接将待转发报文转发到目的IP地址,这样待转发报文就不需要经过网关的转发,缩短了报文转发路径,进而减少了报文封装解封装的次数,节约了网络资源,减小了网关路由器的压力,提升了SDN的可用性。The first aspect of the embodiment of the present application provides a route determining method, which is applicable to a software defined network (English: software defined network, abbreviation: SDN), wherein the SDN controller and the network manager (English: network manager) can execute the Route determination method to SDN controller For example, the SDN controller receives the packet information of the packet to be forwarded from the source switch, and the packet information includes at least the destination IP address of the packet to be forwarded, and the source switch receives the port to be forwarded. information. The to-be-forwarded packet is from the first routing domain, and the destination IP address of the to-be-forwarded packet belongs to the second routing domain. The SDN controller determines the forwarding information of the packet to be forwarded according to the packet information of the packet to be forwarded. The forwarding information of the packet to be forwarded includes at least the destination MAC address of the virtual machine corresponding to the destination IP address of the packet to be forwarded. The destination VNI of the network segment where the virtual machine corresponding to the destination IP address of the packet to be forwarded is forwarded. The SDN controller generates a target flow table according to the forwarding information of the to-be-forwarded packet, and sends the target flow table to the source switch, where the target flow table includes forwarding information of the to-be-forwarded packet and an operation indication, where the operation indication is used to indicate the source The switch adjusts the to-be-forwarded packet by modifying the MAC address of the gateway corresponding to the first routing domain in the packet to be forwarded to the destination MAC address, and adding the destination VNI to the to-be-forwarded packet. The operation indication is further used to indicate that the source switch sends the adjusted to-be-forwarded packet on the sending port after the adjustment of the packet to be forwarded is completed. The method provided by the present application enables the source switch to directly forward the to-be-forwarded packet to the destination IP address according to the indication of the target flow table, so that the packet to be forwarded does not need to be forwarded by the gateway, thereby shortening the packet forwarding path and further reducing the packet forwarding path. The number of times the packet is encapsulated and decapsulated saves network resources, reduces the pressure on the gateway router, and improves the availability of the SDN.
若待转发报文的目的IP地址对应的虚拟机挂接在非源交换机上,则待转发报文的转发端口为源交换机的上行端口(英文:uplink port),即可以将待转发报文通过该上行端口转发至源交换机与目的交换机之间的物理网络中,由物理网络根据待转发报文中携带的信息将待转发报文转发至目的交换机,其中,源交换机与待转发报文的目的地址所接入的交换机之间可以包括物理交换机等设备,但不包括网关。若待转发报文的目的IP地址对应的虚拟机挂接在源交换机上,则待转发报文的转发端口为源交换机的与目的IP地址对应的虚拟机对应的端口。If the virtual machine corresponding to the destination IP address of the packet to be forwarded is connected to the non-source switch, the forwarding port of the packet to be forwarded is the uplink port of the source switch (English: uplink port). The uplink port is forwarded to the physical network between the source switch and the destination switch, and the physical network forwards the to-be-forwarded packet to the destination switch according to the information carried in the packet to be forwarded. The switches connected to the address may include devices such as physical switches, but do not include gateways. If the virtual machine corresponding to the destination IP address of the packet to be forwarded is connected to the source switch, the forwarding port of the packet to be forwarded is the port corresponding to the virtual machine corresponding to the destination IP address of the source switch.
可选的,SDN控制器在确定待转发报文的转发信息时,可以根据待转发报文的报文信息查找第一路由域的转发信息表。其中,第一路由域的转发信息表中包括第一目标表项,第一目标表项包括第二路由域的第一目的网段。SDN控制器根据第一目的网段包括待转发报文的目的IP地址,确定第一目的网段与带转发报文的目的IP地址匹配,进而获取第一目标表项。SDN控制器还根 据第一目标表项的指示,跳转到第二路由域的转发信息表获取带转发报文的报文信息的匹配表项,并从匹配表项中获取待转发报文的转发信息。这样SDN控制器通过跳转不同路由域的转发信息表,获取了待转发报文的转发信息,使得待转发报文不需要经过网关转发,降低了网关的工作负担。Optionally, when determining the forwarding information of the to-be-forwarded packet, the SDN controller may search the forwarding information table of the first routing domain according to the packet information of the packet to be forwarded. The forwarding information table of the first routing domain includes a first target entry, and the first target entry includes a first destination network segment of the second routing domain. The SDN controller determines that the first destination network segment matches the destination IP address with the forwarded packet according to the destination IP address of the packet to be forwarded, and obtains the first target entry. SDN controller is also root According to the indication of the first target entry, the forwarding information table that jumps to the second routing domain obtains the matching entry of the packet information with the forwarding packet, and obtains the forwarding information of the packet to be forwarded from the matching entry. In this way, the SDN controller obtains the forwarding information of the packet to be forwarded by jumping the forwarding information table of the routing domain, so that the packet to be forwarded does not need to be forwarded by the gateway, which reduces the working load of the gateway.
可选的,SDN控制器还可以预先将第一目标表项添加到第一路由域的转发信息表中以供后续查找。Optionally, the SDN controller may further add the first target entry to the forwarding information table of the first routing domain for subsequent searching.
可选的,第一目标表项可以包括第一条件信息字段和第一指示信息字段,第一条件信息字段中至少包括第一目的网段,还可以包括其它的条件信息;第一指示信息字段用于指示跳转到第二路由域的转发信息表。Optionally, the first target information item may include a first condition information field and a first indication information field, where the first condition information field includes at least a first destination network segment, and may further include other condition information; A forwarding information table for indicating a jump to the second routing domain.
可选的,SDN控制器在待转发报文的报文信息满足第一条件信息字段中的所有条件时,获取第一目标表项。并根据第一指示信息字段的指示,跳转到第二路由域的转发信息表中获取待转发报文的报文信息的匹配表项。Optionally, the SDN controller acquires the first target entry when the packet information of the packet to be forwarded satisfies all the conditions in the first condition information field. And, according to the indication of the first indication information field, jump to the forwarding information table of the second routing domain to obtain a matching entry of the packet information of the packet to be forwarded.
可选的,SDN控制器还可以根据用户指令或根据待转发报文,确定第二路由域或第二路由域的部分网段待与第一路由域互通。Optionally, the SDN controller may further determine that the network segment of the second routing domain or the second routing domain is to be interconnected with the first routing domain according to the user command or the packet to be forwarded.
可选的,SDN控制器还可以预先向第一路由域的转发信息表中添加第二目标表项,第二目标表项包括第二条件信息字段和第二指示信息字段,第二条件信息字段至少包括第二路由域的第二目的网段,还可以包括其它条件信息。第二指示信息字段用于指示跳转到第三路由域的转发信息表;SDN控制器还可以预先向第三路由域的转发信息表中添加第三目标表项,第三目标表项包括第三条件信息字段和第三指示信息字段,第三条件信息字段至少包括第二路由域的第三目的网段,还可以包括其它条件信息。第三指示信息字段用于指示跳转到第二路由域的转发信息表。SDN控制器在接收到待转发报文的报文信息后,根据待转发报文的目的IP地址查找第一路由域的转发信息表。由于待转发报文的目的IP地址属于第二目的网段,因此SDN控制器确定第二目的网段与待转发报文的目的IP地址匹配,SDN控制器获取第二目标表项,并根据第二指示信息字段的指示跳转到第三路由域的转发信息表。由于待转发报文的目的IP地址属于第三目的网段,因此SDN控制器确定第三目的网段与待转发报文的目的IP地址匹配,SDN控制器获取第三目标表项,并根据第三指示信息字段的指示,跳转到第二路由域的转发信息表中获取待转发报文的匹配表项, 然后从该匹配表项中获取待转发报文的转发信息。SDN控制器除了可以在三个路由域的转发信息表之间跳转,还可以在四个或四个以上的转发信息表之间跳转,此处不做赘述。Optionally, the SDN controller may further add a second target entry to the forwarding information table of the first routing domain, where the second target entry includes a second condition information field and a second indication information field, and the second condition information field The second destination network segment including at least the second routing domain may further include other condition information. The second indication information field is used to indicate a forwarding information table that jumps to the third routing domain; the SDN controller may further add a third target entry to the forwarding information table of the third routing domain, where the third target entry includes The third condition information field and the third indication information field, the third condition information field includes at least a third destination network segment of the second routing domain, and may further include other condition information. The third indication information field is used to indicate a forwarding information table that jumps to the second routing domain. After receiving the packet information of the packet to be forwarded, the SDN controller searches the forwarding information table of the first routing domain according to the destination IP address of the packet to be forwarded. The SDN controller determines that the destination IP address of the packet to be forwarded matches the destination IP address of the packet to be forwarded, and the SDN controller obtains the second target entry according to the first destination network segment. The indication of the two indication information field jumps to the forwarding information table of the third routing domain. The SDN controller determines that the destination network address of the packet to be forwarded matches the destination IP address of the packet to be forwarded, and the SDN controller obtains the third destination entry, and according to the The indication of the three indication information field, the jump to the forwarding information table of the second routing domain, and the matching entry of the to-be-forwarded packet, Then, the forwarding information of the to-be-forwarded packet is obtained from the matching entry. The SDN controller can jump between the forwarding information tables of the three routing domains, and can also jump between four or more forwarding information tables, which are not described here.
可选的,第一至第三指示字段的形式均可以包括字符串、数字、指令中的一项或多项。Optionally, the forms of the first to third indication fields may each include one or more of a string, a number, and an instruction.
可选的,SDN控制器还可以在第二路由域的转发信息表中确定一条或多条待添加表项,该一条或多条待添加表项对应第二路由域的待添加目的网段。其中,待转发报文的目的IP地址属于待添加目的网段,即待添加目的网段与待转发报文的目的IP地址匹配。SDN控制器将该一条或多条待添加表项添加到第一路由域的转发信息表中,这样SDN控制器在接收到待转发报文的报文信息后,就可以查找第一路由域的转发信息表,并根据待转发报文的目的IP地址获取匹配的待添加表项,然后从匹配的待添加表项中获取待转发报文的转发信息。Optionally, the SDN controller may further determine one or more to-be-added entries in the forwarding information table of the second routing domain, where the one or more to-be-added entries correspond to the to-be-added destination network segment of the second routing domain. The destination IP address of the packet to be forwarded belongs to the destination network segment to be added, that is, the destination network segment to be added matches the destination IP address of the packet to be forwarded. The SDN controller adds the one or more to-be-added entries to the forwarding information table of the first routing domain, so that the SDN controller can find the first routing domain after receiving the packet information of the to-be-forwarded packet. The information table is forwarded, and the matching entry to be added is obtained according to the destination IP address of the packet to be forwarded, and then the forwarding information of the packet to be forwarded is obtained from the matched entry to be added.
本申请的第二方面提供了一种网络配置方法,适用于SDN,其中SDN控制器和网络管理器均可以执行该网络配置方法,此处仅以SDN控制器为例进行说明。该SDN中还包括目标主机,目标主机内部包括第一IR与第二IR。SDN控制器在第一IR上创建第一接口,并为第一接口分配第一IP地址;在第二IR上创建第二接口,并为第二接口分配第二IP地址。其中,第一IR用于替代第一路由域的网关来处理第一路由域的转发信息,第二IR用于替代第二路由域的网关来处理第二路由域的转发信息,第一IP地址不在第一路由域内,第二IP地址不在第二路由域内。SDN控制器在第一接口和第二接口之间创建网络连接,使得第一IR和第二IR可以通过该网络连接交换数据。SDN控制器还向第一IR的路由表中添加第一路由条目,其中包括第一目的地址字段和第一下一跳字段,其中,第一目的地址字段中包括第二路由域中的第二网段,第一下一跳字段中包括第二IP地址。这样,第一IR接收到来自第一路由域且目的IP地址属于第二网段的报文后,在查找第一IR的路由表表时能够获取到第一路由条目,并根据第一下一跳字段将该报文发送给第二IR,使得该报文能够通过第二IR转发。可以看出,SDN控制器通过配置主机中不同路由域对应的IR互通,使得不同路由域之间的报文可以在目标主机中通过多个IR 进行转发,无需将报文交给网关转发,这样就能够缩短网络中报文的转发路径缩短,减少报文封装解封装的次数,节约网络资源,减小网关路由器的压力,提升SDN的可用性。The second aspect of the present application provides a network configuration method, which is applicable to an SDN. The SDN controller and the network manager can perform the network configuration method. The SDN also includes a target host, and the target host internally includes a first IR and a second IR. The SDN controller creates a first interface on the first IR and assigns a first IP address to the first interface; creates a second interface on the second IR, and assigns a second IP address to the second interface. The first IR is used to replace the gateway of the first routing domain to process the forwarding information of the first routing domain, and the second IR is used to replace the gateway of the second routing domain to process the forwarding information of the second routing domain, the first IP address. Not in the first routing domain, the second IP address is not in the second routing domain. The SDN controller creates a network connection between the first interface and the second interface such that the first IR and the second IR can exchange data over the network connection. The SDN controller further adds a first routing entry to the routing table of the first IR, including a first destination address field and a first next hop field, where the first destination address field includes a second in the second routing domain In the network segment, the first next hop field includes a second IP address. In this way, after receiving the packet from the first routing domain and the destination IP address belongs to the second network segment, the first IR can obtain the first routing entry when searching the routing table of the first IR, and according to the first next The hop field sends the message to the second IR, so that the message can be forwarded by the second IR. It can be seen that the SDN controller can configure the IR communication between different routing domains in the host to enable packets between different routing domains to pass multiple IRs in the target host. The forwarding is performed without forwarding the packet to the gateway. This shortens the packet forwarding path shortening, reduces the number of times the packet is encapsulated and decapsulated, saves network resources, reduces the pressure on the gateway router, and improves the availability of the SDN.
可选的,SDN控制器还可以向第二IR的路由表中添加第二路由条目,其中包括第二目的地址字段和第二下一跳字段,其中,第二目的地址字段中包括第一路由域中的第一网段,第二下一跳字段中包括第一IP地址。这样,第二IR接收到来自第二路由域且目的IP地址属于第一网段的报文后,在查找第二路由域的转发信息表时能够获取到第二路由条目,并根据第二下一跳字段将该报文发送给第一IR,使得该报文能够通过第一IR转发。Optionally, the SDN controller may further add a second routing entry to the routing table of the second IR, where the second destination address field and the second next hop field are included, where the second destination address field includes the first route The first network segment in the domain includes a first IP address in the second next hop field. In this way, after receiving the packet from the second routing domain and the destination IP address belongs to the first network segment, the second IR can obtain the second routing entry when searching the forwarding information table of the second routing domain, and according to the second The one-hop field sends the message to the first IR, so that the message can be forwarded by the first IR.
可选的,目标主机中包括的第一IR和第二IR均可以由SDN控制器来创建。Optionally, the first IR and the second IR included in the target host may be created by the SDN controller.
可选的,第一IP地址和/或第二IP地址可以属于本地链路地址网段,即169.254网段。该网段一般不会被正常的网络业务使用到,将该网段的地址分配给第一接口和/或第二接口,能够保证第一IR和第二IR互通后正常网络业务的IP使用范围不会受到影响。Optionally, the first IP address and/or the second IP address may belong to a local link address network segment, that is, a 169.254 network segment. The network segment is generally not used by the normal network service, and the address of the network segment is allocated to the first interface and/or the second interface, which can ensure the IP usage range of the normal network service after the first IR and the second IR are interconnected. Will not be affected.
可选的,SDN控制器通过将第一接口和第二接口通过以太接口对eth-pair互连,实现在第一接口和第二接口之间创建网络连接。Optionally, the SDN controller creates a network connection between the first interface and the second interface by interconnecting the first interface and the second interface to the eth-pair through the Ethernet interface.
可选的,目标主机中还包括虚拟交换机,SDN控制器通过将第一接口和第二接口加入该虚拟交换机,使得第一IR和第二IR可以通过该虚拟交换机交换数据,进而实现在第一接口和第二接口之间创建网络连接。Optionally, the target host further includes a virtual switch, and the SDN controller joins the first interface and the second interface to the virtual switch, so that the first IR and the second IR can exchange data through the virtual switch, thereby implementing the first A network connection is created between the interface and the second interface.
可选的,SDN控制器在将第一接口和第二接口加入虚拟交换机时,可以将第一接口和第二接口加入该虚拟交换机中未使用的vlan中,以避免第一接口与第二接口对正常网络业务造成影响。Optionally, when the SDN controller joins the first interface and the second interface to the virtual switch, the first interface and the second interface may be added to the unused VLAN in the virtual switch to avoid the first interface and the second interface. It affects normal network services.
可选的,目标主机中的虚拟交换机可以连接有多个本地虚拟机(英文:virtual machine,缩写VM),SDN控制器在虚拟交换机连接的所有VM都部署于第一IR和第二IR时,才删除第一IR和第二IR。Optionally, the virtual switch in the target host can be connected to multiple local virtual machines (virtual machine, abbreviated VM), and all the VMs connected by the virtual switch are deployed in the first IR and the second IR. The first IR and the second IR are deleted.
本申请的第三方面提供了一种报文转发方法,包括:源交换机获取待转发报文,并将待转发报文的报文信息发送给SDN控制器,其中待转发报文的报文信息包括待转发报文的目的IP地址,待转发报文来自第一路由域,且待转 发报文的目的IP地址属于第二路由域;源交换机从SDN控制器处接收目标流表,该目标流表中包括待转发报文的转发信息以及操作指示,该待转发报文的转发信息中包括:目的MAC地址、目的VNI以及发送端口,其中,目的MAC地址为待转发报文的目的IP地址对应的虚拟机的MAC地址,目的VNI为待转发报文的目的IP地址对应的虚拟机所在的网段的VNI,发送端口为源交换机用于转发待转发报文的端口。目标流表中的操作指示用于指示源交换机通过如下方式调整待转发报文:将待转发报文中的第一路由域对应的网关的MAC地址修改为目的MAC地址,并将目的VNI添加到待转发报文。该操作指示还用于指示源交换机在完成了对待转发报文的调整后,在发送端口上发送该调整后的待转发报文。源交换机根据目标流表的指示,转发待转发报文。The third aspect of the present application provides a packet forwarding method, including: the source switch obtains a packet to be forwarded, and sends the packet information of the packet to be forwarded to the SDN controller, where the packet information of the packet to be forwarded is sent. The destination IP address of the packet to be forwarded is forwarded. The packet to be forwarded is from the first routing domain and is to be forwarded. The destination IP address of the packet to be forwarded belongs to the second routing domain; the source switch receives the target flow table from the SDN controller, where the target flow table includes forwarding information of the to-be-forwarded packet and an operation indication, and the forwarding information of the to-be-forwarded packet The destination MAC address, the destination VNI, and the sending port, where the destination MAC address is the MAC address of the virtual machine corresponding to the destination IP address of the packet to be forwarded, and the destination VNI is the virtual machine corresponding to the destination IP address of the packet to be forwarded. On the network segment where the VNI is located, the sending port is the port used by the source switch to forward packets to be forwarded. The operation indication in the target flow table is used to indicate that the source switch adjusts the to-be-forwarded packet by modifying the MAC address of the gateway corresponding to the first routing domain in the to-be-forwarded packet to the destination MAC address, and adding the destination VNI to The message to be forwarded. The operation indication is further used to indicate that the source switch sends the adjusted to-be-forwarded packet on the sending port after the adjustment of the packet to be forwarded is completed. The source switch forwards the to-be-forwarded packet according to the indication of the target flow table.
本申请的第四方面提供了一种报文转发方法,包括:目标主机中的源交换机获取待转发报文,该待转发报文来自第一路由域,且该待转发报文的目的IP地址属于第二路由域;源交换机将该待转发报文发送给目标主机中的第一IR,第一IR用于替代第一路由域的网关来处理第一路由域的转发信息。第一IR的第一IR的路由表中包括第一路由条目,第一路由条目中包括第一目的地址字段和第一下一跳字段,第一目的地址字段中包括第二路由域中的第二网段,第一下一跳字段中包括第二IP地址,其中,第一网段包括待转发报文的目的IP地址,第二IP地址为目标主机中第二IR的第二接口的IP地址。第一IR根据待转发报文的目的IP地址,查找第一IR的路由表获取第一路由条目,并根据第一下一跳字段,将待转发报文发送给第二IR。第二IR接收到待转发报文后,查找第二IR的路由表获取待转发报文的转发路径,并根据待转发报文的转发路径转发给待转发报文。A fourth aspect of the present application provides a packet forwarding method, including: a source switch in a target host acquires a packet to be forwarded, the packet to be forwarded is from a first routing domain, and a destination IP address of the packet to be forwarded The source router sends the to-be-forwarded packet to the first IR in the target host, and the first IR is used to replace the gateway of the first routing domain to process the forwarding information of the first routing domain. The routing table of the first IR of the first IR includes a first routing entry, where the first routing entry includes a first destination address field and a first next hop field, where the first destination address field includes a second routing domain In the second network segment, the first next hop field includes a second IP address, where the first network segment includes the destination IP address of the packet to be forwarded, and the second IP address is the IP address of the second interface of the second IR in the target host. address. The first IR searches the routing table of the first IR according to the destination IP address of the packet to be forwarded, obtains the first routing entry, and sends the to-be-forwarded packet to the second IR according to the first next hop field. After receiving the packet to be forwarded, the second IR searches the routing table of the second IR to obtain the forwarding path of the packet to be forwarded, and forwards the packet to the packet to be forwarded according to the forwarding path of the packet to be forwarded.
本申请的第五方面提供了一种路由确定装置,适用于SDN。该路由确定装置包括消息接收模块、信息确定模块和流表发送模块。其中,消息接收模块从源交换机处接收待转发报文的报文信息,该报文信息中至少包括待转发报文的目的IP地址,还可以包括源交换机接收该待转发报文的端口等信息。该待转发报文来自第一路由域,且该待转发报文的目的IP地址属于第二路由域。信息确定模块根据待转发报文的报文信息,确定待转发报文的转发信息。待转发报文的转发信息至少包括:待转发报文的目的IP地址对应的虚拟机的目的 MAC地址,源交换机发送待转发报文的转发端口和待转发报文的目的IP地址对应的虚拟机所在网段的目的VNI。流表发送模块根据待转发报文的转发信息生成目标流表,并将目标流表发送给源交换机,该目标流表中包括待转发报文的转发信息以及操作指示,该操作指示用于指示源交换机通过如下方式调整待转发报文:将待转发报文中的第一路由域对应的网关的MAC地址修改为目的MAC地址,并将目的VNI添加到待转发报文。该操作指示还用于指示源交换机在完成了对待转发报文的调整后,在发送端口上发送该调整后的待转发报文。本申请提供的路由确定装置使得源交换机能够根据待转发报文的转发信息,直接将待转发报文转发到目的IP地址,这样待转发报文就不需要经过网关的转发,缩短了报文转发路径,进而减少了报文封装解封装的次数,节约了网络资源,减小了网关路由器的压力,提升了SDN的可用性。A fifth aspect of the present application provides a route determining apparatus suitable for SDN. The route determining apparatus includes a message receiving module, an information determining module, and a flow table sending module. The message receiving module receives, from the source switch, the packet information of the packet to be forwarded, where the packet information includes at least the destination IP address of the packet to be forwarded, and the information about the port on which the source switch receives the packet to be forwarded. . The to-be-forwarded packet is from the first routing domain, and the destination IP address of the to-be-forwarded packet belongs to the second routing domain. The information determining module determines the forwarding information of the to-be-forwarded packet according to the packet information of the packet to be forwarded. The forwarding information of the packet to be forwarded includes at least the purpose of the virtual machine corresponding to the destination IP address of the packet to be forwarded. MAC address, the destination VNI of the network segment where the virtual switch corresponds to the forwarding port of the packet to be forwarded and the destination IP address of the packet to be forwarded. The flow table sending module generates a target flow table according to the forwarding information of the to-be-forwarded packet, and sends the target flow table to the source switch, where the target flow table includes forwarding information of the to-be-forwarded packet and an operation indication, where the operation indication is used for indicating The source switch adjusts the to-be-forwarded packet by modifying the MAC address of the gateway corresponding to the first routing domain in the packet to be forwarded to the destination MAC address, and adding the destination VNI to the to-be-forwarded packet. The operation indication is further used to indicate that the source switch sends the adjusted to-be-forwarded packet on the sending port after the adjustment of the packet to be forwarded is completed. The route determining apparatus provided by the present application enables the source switch to directly forward the to-be-forwarded packet to the destination IP address according to the forwarding information of the packet to be forwarded, so that the packet to be forwarded does not need to be forwarded by the gateway, thereby shortening the packet forwarding. The path, in turn, reduces the number of packet encapsulations, saves network resources, reduces the pressure on the gateway router, and improves the availability of the SDN.
可选的,信息确定模块在确定待转发报文的转发信息时,可以根据待转发报文的报文信息查找第一路由域的转发信息表。其中,第一路由域的转发信息表中包括第一目标表项,第一目标表项包括第二路由域的第一目的网段。信息确定模块根据第一目的网段包括待转发报文的目的IP地址,确定第一目的网段与带转发报文的目的IP地址匹配,进而获取第一目标表项。信息确定模块还根据第一目标表项的指示,跳转到第二路由域的转发信息表获取带转发报文的报文信息的匹配表项,并从匹配表项中获取待转发报文的转发信息。这样信息确定模块通过跳转不同路由域的转发信息表,获取了待转发报文的转发信息,使得待转发报文不需要经过网关转发。Optionally, the information determining module, when determining the forwarding information of the to-be-forwarded packet, may search the forwarding information table of the first routing domain according to the packet information of the to-be-forwarded packet. The forwarding information table of the first routing domain includes a first target entry, and the first target entry includes a first destination network segment of the second routing domain. The information determining module determines that the first destination network segment matches the destination IP address with the forwarded packet according to the destination IP address of the packet to be forwarded, and obtains the first target entry. The information determining module further obtains, according to the indication of the first target entry, the forwarding information table of the second routing domain to obtain the matching entry of the packet information with the forwarding packet, and obtains the to-be-forwarded packet from the matching entry. Forward the message. The information determining module obtains the forwarding information of the to-be-forwarded packet by forwarding the forwarding information table of the different routing domains, so that the to-be-forwarded packet does not need to be forwarded by the gateway.
可选的,SDN控制器还可以表项添加模块,用于将第一目标表项添加到第一路由域的转发信息表中以供后续查找。Optionally, the SDN controller may further add a module, where the first target entry is added to the forwarding information table of the first routing domain for subsequent searching.
可选的,第一目标表项可以包括第一条件信息字段和第一指示信息字段,第一条件信息字段中至少包括第一目的网段,还可以包括其它的条件信息;第一指示信息字段用于指示跳转到第二路由域的转发信息表。Optionally, the first target information item may include a first condition information field and a first indication information field, where the first condition information field includes at least a first destination network segment, and may further include other condition information; A forwarding information table for indicating a jump to the second routing domain.
可选的,信息确定模块在待转发报文的报文信息满足第一条件信息字段中的所有条件时,获取第一目标表项。并根据第一指示信息字段的指示,跳转到第二路由域的转发信息表中获取待转发报文的报文信息的匹配表项。Optionally, the information determining module acquires the first target entry when the packet information of the to-be-forwarded packet satisfies all the conditions in the first condition information field. And, according to the indication of the first indication information field, jump to the forwarding information table of the second routing domain to obtain a matching entry of the packet information of the packet to be forwarded.
可选的,表项添加模块还可以预先向第一路由域的转发信息表中添加第二 目标表项,第二目标表项包括第二条件信息字段和第二指示信息字段,第二条件信息字段至少包括第二路由域的第二目的网段,还可以包括其它条件信息。第二指示信息字段用于指示跳转到第三路由域的转发信息表;表项添加模块还可以预先向第三路由域的转发信息表中添加第三目标表项,第三目标表项包括第三条件信息字段和第三指示信息字段,第三条件信息字段至少包括第二路由域的第三目的网段,还可以包括其它条件信息。第三指示信息字段用于指示跳转到第二路由域的转发信息表。在消息接收模块接收到待转发报文的报文信息后,信息确定模块根据待转发报文的目的IP地址查找第一路由域的转发信息表。由于待转发报文的目的IP地址属于第二目的网段,因此信息确定模块确定第二目的网段与待转发报文的目的IP地址匹配,信息确定模块获取第二目标表项,并根据第二指示信息字段的指示跳转到第三路由域的转发信息表。由于待转发报文的目的IP地址属于第三目的网段,因此信息确定模块确定第三目的网段与待转发报文的目的IP地址匹配,信息确定模块获取第三目标表项,并根据第三指示信息字段的指示,跳转到第二路由域的转发信息表中获取待转发报文的匹配表项,然后从该匹配表项中获取待转发报文的转发信息。信息确定模块除了可以在三个路由域的转发信息表之间跳转,还可以在四个或四个以上的转发信息表之间跳转,此处不做赘述。Optionally, the entry adding module may further add a second to the forwarding information table of the first routing domain. The target entry, the second target entry includes a second condition information field and a second indication information field, where the second condition information field includes at least a second destination network segment of the second routing domain, and may further include other condition information. The second indication information field is used to indicate a forwarding information table that jumps to the third routing domain; the entry adding module may further add a third target entry to the forwarding information table of the third routing domain, where the third target entry includes The third condition information field and the third indication information field, where the third condition information field includes at least a third destination network segment of the second routing domain, and may further include other condition information. The third indication information field is used to indicate a forwarding information table that jumps to the second routing domain. After the message receiving module receives the message information of the packet to be forwarded, the information determining module searches the forwarding information table of the first routing domain according to the destination IP address of the to-be-forwarded packet. The information determining module determines that the second destination network segment matches the destination IP address of the to-be-forwarded packet, and the information determining module obtains the second target entry, according to the first destination network segment. The indication of the two indication information field jumps to the forwarding information table of the third routing domain. The information determining module determines that the third destination network segment matches the destination IP address of the to-be-forwarded packet, and the information determining module obtains the third target entry, and The indication of the information field to be forwarded to the forwarding information table of the second routing domain is used to obtain the matching entry of the packet to be forwarded, and then the forwarding information of the packet to be forwarded is obtained from the matching entry. The information determining module can jump between the forwarding information tables of the three routing domains, and can also jump between four or more forwarding information tables, and details are not described herein.
可选的,第一至第三指示字段的形式均可以包括字符串、数字、指令中的一项或多项。Optionally, the forms of the first to third indication fields may each include one or more of a string, a number, and an instruction.
可选的,SDN控制器还可以包括添加表项模块,用于在第二路由域的转发信息表中确定一条或多条待添加表项,该一条或多条待添加表项对应第二路由域的待添加目的网段。其中,待转发报文的目的IP地址属于待添加目的网段,即待添加目的网段与待转发报文的目的IP地址匹配。添加表项模块将该一条或多条待添加表项添加到第一路由域的转发信息表中,这样SDN控制器在接收到待转发报文的报文信息后,就可以查找第一路由域的转发信息表,并根据待转发报文的目的IP地址获取匹配的待添加表项,然后从匹配的待添加表项中获取待转发报文的转发信息。Optionally, the SDN controller may further include an add-on entry module, configured to determine one or more to-be-added entries in the forwarding information table of the second routing domain, where the one or more to-be-added entries correspond to the second route Destination network segment to be added to the domain. The destination IP address of the packet to be forwarded belongs to the destination network segment to be added, that is, the destination network segment to be added matches the destination IP address of the packet to be forwarded. The add-in entry module adds the one or more to-be-added entries to the forwarding information table of the first routing domain, so that the SDN controller can find the first routing domain after receiving the packet information of the to-be-forwarded packet. The forwarding information table obtains the matching entry to be added according to the destination IP address of the packet to be forwarded, and then obtains the forwarding information of the to-be-forwarded packet from the matched entry to be added.
本申请的第六方面提供了一种网络配置装置,适用于SDN。该SDN中还包括目标主机,目标主机内部包括第一IR与第二IR。该SDN控制器具体包 括接口创建模块、网络连接模块和路由添加模块。其中,接口创建模块在第一IR上创建第一接口,并为第一接口分配第一IP地址;在第二IR上创建第二接口,并为第二接口分配第二IP地址。其中,第一IR用于替代第一路由域的网关来处理第一路由域的转发信息,第二IR用于替代第二路由域的网关来处理第二路由域的转发信息,第一IP地址不在第一路由域内,第二IP地址不在第二路由域内。网络连接模块在第一接口和第二接口之间创建网络连接,使得第一IR和第二IR可以通过该网络连接交换数据。路由添加模块向第一IR的路由表中添加第一路由条目,其中包括第一目的地址字段和第一下一跳字段,其中,第一目的地址字段中包括第二路由域中的第二网段,第一下一跳字段中包括第二IP地址。这样,第一IR接收到来自第一路由域且目的IP地址属于第二网段的报文后,在查找第一IR的路由表表时能够获取到第一路由条目,并根据第一下一跳字段将该报文发送给第二IR,使得该报文能够通过第二IR转发。可以看出,SDN控制器通过配置主机中不同路由域对应的IR互通,使得不同路由域之间的报文可以在目标主机中通过多个IR进行转发,无需将报文交给网关转发,这样就能够缩短网络中报文的转发路径缩短,减少报文封装解封装的次数,节约网络资源,减小网关路由器的压力,提升SDN的可用性。A sixth aspect of the present application provides a network configuration apparatus suitable for SDN. The SDN also includes a target host, and the target host internally includes a first IR and a second IR. The SDN controller specific package Interface creation module, network connection module and route addition module. The interface creation module creates a first interface on the first IR, and assigns a first IP address to the first interface, a second interface on the second IR, and a second IP address to the second interface. The first IR is used to replace the gateway of the first routing domain to process the forwarding information of the first routing domain, and the second IR is used to replace the gateway of the second routing domain to process the forwarding information of the second routing domain, the first IP address. Not in the first routing domain, the second IP address is not in the second routing domain. The network connection module creates a network connection between the first interface and the second interface, so that the first IR and the second IR can exchange data through the network connection. The route adding module adds a first routing entry to the routing table of the first IR, where the first destination address field and the first next hop field are included, where the first destination address field includes the second network in the second routing domain The segment includes a second IP address in the first next hop field. In this way, after receiving the packet from the first routing domain and the destination IP address belongs to the second network segment, the first IR can obtain the first routing entry when searching the routing table of the first IR, and according to the first next The hop field sends the message to the second IR, so that the message can be forwarded by the second IR. It can be seen that the SDN controller configures the IR communication between the different routing domains in the host to enable the packets between different routing domains to be forwarded through multiple IRs on the target host without forwarding the packets to the gateway. It can shorten the forwarding path of packets in the network, reduce the number of times the packet is encapsulated and decapsulated, save network resources, reduce the pressure on the gateway router, and improve the availability of SDN.
可选的,路由添加模块还可以向第二IR的路由表中添加第二路由条目,其中包括第二目的地址字段和第二下一跳字段,其中,第二目的地址字段中包括第一路由域中的第一网段,第二下一跳字段中包括第一IP地址。这样,第二IR接收到来自第二路由域且目的IP地址属于第一网段的报文后,在查找第二路由域的转发信息表时能够获取到第二路由条目,并根据第二下一跳字段将该报文发送给第一IR,使得该报文能够通过第一IR转发。Optionally, the route adding module may further add a second routing entry to the routing table of the second IR, where the second destination address field and the second next hop field are included, where the second destination address field includes the first route The first network segment in the domain includes a first IP address in the second next hop field. In this way, after receiving the packet from the second routing domain and the destination IP address belongs to the first network segment, the second IR can obtain the second routing entry when searching the forwarding information table of the second routing domain, and according to the second The one-hop field sends the message to the first IR, so that the message can be forwarded by the first IR.
可选的,SDN控制器还可以包括IR管理模块,用于在目标主机不包括第二IR时,在目标主机中创建第二IR。Optionally, the SDN controller may further include an IR management module, configured to create a second IR in the target host when the target host does not include the second IR.
可选的,第一IP地址和/或第二IP地址可以属于本地链路地址网段,即169.254网段。该网段一般不会被正常的网络业务使用到,将该网段的地址分配给第一接口和/或第二接口,能够保证第一IR和第二IR互通后正常网络业务的IP使用范围不会受到影响。Optionally, the first IP address and/or the second IP address may belong to a local link address network segment, that is, a 169.254 network segment. The network segment is generally not used by the normal network service, and the address of the network segment is allocated to the first interface and/or the second interface, which can ensure the IP usage range of the normal network service after the first IR and the second IR are interconnected. Will not be affected.
可选的,网络连接模块通过将第一接口和第二接口通过以太接口对 eth-pair互连,实现在第一接口和第二接口之间创建网络连接。Optionally, the network connection module passes the Ethernet interface through the first interface and the second interface. An eth-pair interconnect creates a network connection between the first interface and the second interface.
可选的,目标主机中还包括虚拟交换机,网络连接模块通过将第一接口和第二接口加入该虚拟交换机,使得第一IR和第二IR可以通过该虚拟交换机交换数据,进而实现在第一接口和第二接口之间创建网络连接。Optionally, the target host further includes a virtual switch, and the network connection module adds the first interface and the second interface to the virtual switch, so that the first IR and the second IR can exchange data through the virtual switch, thereby implementing the first A network connection is created between the interface and the second interface.
可选的,网络连接模块在将第一接口和第二接口加入虚拟交换机时,可以将第一接口和第二接口加入该虚拟交换机中未使用的vlan中,以避免第一接口与第二接口对正常网络业务造成影响。Optionally, when the first interface and the second interface are added to the virtual switch, the network interface module may add the first interface and the second interface to the unused VLAN in the virtual switch to avoid the first interface and the second interface. It affects normal network services.
可选的,目标主机中的虚拟交换机可以连接有多个本地VM,IR管理模块还用于在虚拟交换机连接的所有VM都部署于第一IR和第二IR时,删除第一IR和第二IR。Optionally, the virtual switch in the target host may be connected to multiple local VMs, and the IR management module is further configured to delete the first IR and the second when all the VMs connected to the virtual switch are deployed in the first IR and the second IR. IR.
本申请的第七方面提供了一种报文转发装置,适用于SDN中的主机。该报文转发装置包括:报文获取模块,用于获取待转发报文,并将待转发报文的报文信息发送给SDN控制器,其中待转发报文的报文信息携带待转发报文的目的IP地址,待转发报文来自第一路由域,且待转发报文的目的IP地址属于第二路由域;流表接收模块,用于从SDN控制器处接收目标流表,该目标流表中包括待转发报文的转发信息以及操作指示,该待转发报文的转发信息中包括:目的MAC地址、目的VNI以及发送端口,其中,目的MAC地址为待转发报文的目的IP地址对应的虚拟机的MAC地址,目的VNI为待转发报文的目的IP地址对应的虚拟机所在网段的VNI,发送端口为源交换机用于转发待转发报文的端口。目标流表中的操作指示用于指示源交换机通过如下方式调整待转发报文:将待转发报文中的第一路由域对应的网关的MAC地址修改为目的MAC地址,并将目的VNI添加到待转发报文。该操作指示还用于指示源交换机在完成了对待转发报文的调整后,在发送端口上发送该调整后的待转发报文。报文转发模块,用于根据目标流表的指示,转发待转发报文。A seventh aspect of the present application provides a message forwarding apparatus suitable for a host in an SDN. The packet forwarding device includes: a packet obtaining module, configured to obtain a packet to be forwarded, and send the packet information of the packet to be forwarded to the SDN controller, where the packet information of the packet to be forwarded carries the packet to be forwarded. The destination IP address, the packet to be forwarded is from the first routing domain, and the destination IP address of the packet to be forwarded belongs to the second routing domain; the flow table receiving module is configured to receive the target flow table from the SDN controller, the target flow The forwarding information of the to-be-forwarded packet and the operation indication are as follows: the destination MAC address, the destination VNI, and the sending port, where the destination MAC address is the destination IP address of the packet to be forwarded. The MAC address of the virtual machine, the destination VNI is the VNI of the network segment where the virtual machine corresponding to the destination IP address of the packet to be forwarded, and the sending port is the port used by the source switch to forward the packet to be forwarded. The operation indication in the target flow table is used to indicate that the source switch adjusts the to-be-forwarded packet by modifying the MAC address of the gateway corresponding to the first routing domain in the to-be-forwarded packet to the destination MAC address, and adding the destination VNI to The message to be forwarded. The operation indication is further used to indicate that the source switch sends the adjusted to-be-forwarded packet on the sending port after the adjustment of the packet to be forwarded is completed. The packet forwarding module is configured to forward the to-be-forwarded packet according to the indication of the target flow table.
本申请的第八方面提供了一种报文转发装置,适用于SDN中的主机。该报文转发装置包括:虚拟交换机、第一IR和第二IR。其中,虚拟交换机用于获取待转发报文,并将该待转发报文发送给目标主机中的第一IR,该待转发报文来自第一路由域,且该待转发报文的目的IP地址属于第二路由域。该第一IR用于替代第一路由域的网关来处理第一路由域的转发信息。第一IR的第 一IR的路由表中包括第一路由条目,第一路由条目中包括第一目的地址字段和第一下一跳字段,第一目的地址字段中包括第二路由域中的第二网段,第一下一跳字段中包括第二IP地址,其中,第一网段包括待转发报文的目的地址,第二IP地址为目标主机中第二IR的第二接口的IP地址。第一IR用于:根据待转发报文的目的IP地址,查找第一IR的路由表获取第一路由条目,并根据第一下一跳字段,将待转发报文发送给第二IR。第二IR用于:在接收到待转发报文后,查找第二IR的路由表获取待转发报文的转发路径,并根据待转发报文的转发路径转发给待转发报文。An eighth aspect of the present application provides a message forwarding apparatus suitable for a host in an SDN. The message forwarding device includes: a virtual switch, a first IR, and a second IR. The virtual switch is configured to obtain a packet to be forwarded, and send the to-be-forwarded packet to the first IR in the target host, where the to-be-forwarded packet is from the first routing domain, and the destination IP address of the to-be-forwarded packet Belongs to the second routing domain. The first IR is used to replace the gateway of the first routing domain to process forwarding information of the first routing domain. First IR's The routing table of the IR includes a first routing entry, where the first routing entry includes a first destination address field and a first next hop field, where the first destination address field includes a second network segment in the second routing domain, The next hop field includes a second IP address, where the first network segment includes the destination address of the packet to be forwarded, and the second IP address is the IP address of the second interface of the second IR in the target host. The first IR is configured to: find the first routing entry by using the routing table of the first IR according to the destination IP address of the to-be-forwarded packet, and send the to-be-forwarded packet to the second IR according to the first next hop field. The second IR is configured to: after receiving the to-be-forwarded packet, find the routing table of the second IR to obtain the forwarding path of the packet to be forwarded, and forward the packet to the to-be-forwarded packet according to the forwarding path of the packet to be forwarded.
本申请的第九方面提供了一种计算设备,包括处理器、存储器和通信接口。通过调用所述存储器中的指令,该处理器用于执行本申请的第一方面提供的路由确定方法。A ninth aspect of the present application provides a computing device including a processor, a memory, and a communication interface. The processor is operative to perform the route determination method provided by the first aspect of the present application by invoking an instruction in the memory.
本申请的第十方面提供了一种计算设备,包括处理器、存储器和通信接口。通过调用所述存储器中的指令,该处理器用于执行本申请的第二方面提供的网络配置方法。A tenth aspect of the present application provides a computing device including a processor, a memory, and a communication interface. The processor is configured to perform the network configuration method provided by the second aspect of the present application by invoking an instruction in the memory.
本申请的第十一方面提供了一种计算设备,包括处理器、存储器和通信接口。通过调用所述存储器中的指令,该处理器用于执行本申请的第三方面提供的报文转发方法。An eleventh aspect of the present application provides a computing device including a processor, a memory, and a communication interface. The processor is configured to execute the message forwarding method provided by the third aspect of the present application by invoking an instruction in the memory.
本申请的第十二方面提供了一种计算设备,包括处理器、存储器和通信接口。通过调用所述存储器中的指令,该处理器用于执行本申请的第四方面提供的报文转发方法。A twelfth aspect of the present application provides a computing device comprising a processor, a memory, and a communication interface. The processor is configured to execute the message forwarding method provided by the fourth aspect of the present application by invoking an instruction in the memory.
本申请的第十三方面提供了一种网络系统,包括本申请第九方面提供的计算设备以及至少一个第十一方面提供的计算设备,或包括第十方面提供的计算设备以及至少一个第十二方面所提供的计算设备。A thirteenth aspect of the present application provides a network system, comprising the computing device provided by the ninth aspect of the present application, and the computing device provided by the at least one eleventh aspect, or the computing device provided by the tenth aspect, and at least one tenth The computing device provided by the two aspects.
附图说明DRAWINGS
图1为现阶段技术中网络逻辑架构示意图;Figure 1 is a schematic diagram of a network logical architecture in the current stage of technology;
图2为现阶段的技术中网络实体架构示意图;2 is a schematic diagram of a network entity architecture in the current stage of technology;
图3(a)为传统方法中同一路由域的报文转发路径示意图; Figure 3 (a) is a schematic diagram of a packet forwarding path of the same routing domain in the conventional method;
图3(b)为通过IR实现的同一路由域的报文转发路径示意图;FIG. 3(b) is a schematic diagram of a packet forwarding path of the same routing domain implemented by using the IR;
图4为传统方法中不同路由域之间的报文转发路径示意图;4 is a schematic diagram of a packet forwarding path between different routing domains in a conventional method;
图5为SDN的逻辑架构示意图;5 is a schematic diagram of a logical architecture of an SDN;
图6为本发明实施例中计算设备的结构图;6 is a structural diagram of a computing device according to an embodiment of the present invention;
图7(a)为本发明实施例中路由确定方法的流程图;7(a) is a flowchart of a route determining method according to an embodiment of the present invention;
图7(b)为本发明实施例中不同路由域之间的报文的一个转发路径示意图;FIG. 7(b) is a schematic diagram of a forwarding path of packets between different routing domains according to an embodiment of the present invention;
图8(a)为本发明实施例中网络配置方法的流程图;FIG. 8(a) is a flowchart of a network configuration method according to an embodiment of the present invention;
图8(b)为本发明实施例中不同路由域之间的报文的另一个转发路径示意图;FIG. 8(b) is a schematic diagram of another forwarding path of packets between different routing domains according to an embodiment of the present invention;
图9为本发明实施例中路由确定装置的结构图;FIG. 9 is a structural diagram of a route determining apparatus according to an embodiment of the present invention; FIG.
图10为本发明实施例中网络配置装置的结构图。FIG. 10 is a structural diagram of a network configuration apparatus according to an embodiment of the present invention.
具体实施方式detailed description
本发明实施例提供了一种路由确定方法,可以缩短报文转发路径,减小网关路由器的压力。本发明还提出了一种网络配置方法以及相关装置,以下将分别进行说明。The embodiment of the invention provides a route determining method, which can shorten the packet forwarding path and reduce the pressure of the gateway router. The present invention also proposes a network configuration method and related devices, which will be separately described below.
现阶段技术中的网络基本逻辑架构请参阅图1。其中,S1~S6分别表示不同的网段(英文:subnet),第一网关与第二网关为网关路由器。网段S1、S2、S6挂接在第一网关上,第一网关负责网段S1、S2、S6之间的互通以及网段S1、S2、S6与外部网络的通信。为了便于描述,本申请中将一个网关以及其下挂接的所有网段的集合统称为路由域。因此图1中,第一网关、S1、S2、S6均属于第一路由域。同样的,网段S3、S4、S5挂接在第二网关上,第二网关与S3、S4、S5均属于第二路由域。其中,第一网关与第二网关之间建立有VPN隧道,第一路由域与第二路由域之间交互的数据均经过该VPN隧道。See Figure 1 for the basic logical architecture of the network in the current stage of technology. Among them, S1 to S6 respectively represent different network segments (English: subnet), and the first gateway and the second gateway are gateway routers. The network segments S1, S2, and S6 are connected to the first gateway, and the first gateway is responsible for the communication between the network segments S1, S2, and S6 and the communication between the network segments S1, S2, and S6 and the external network. For convenience of description, a gateway and a collection of all network segments attached thereto are collectively referred to as a routing domain in the present application. Therefore, in FIG. 1, the first gateways, S1, S2, and S6 all belong to the first routing domain. Similarly, the network segments S3, S4, and S5 are connected to the second gateway, and the second gateway and S3, S4, and S5 all belong to the second routing domain. A VPN tunnel is established between the first gateway and the second gateway, and data exchanged between the first routing domain and the second routing domain passes through the VPN tunnel.
上一段描述的内容为网络的逻辑部署,在实际应用中搭建的网络实体架构请参阅图2。具体的,互连网络包括网关与多个主机,图2中仅以第一网关、 第二网关、第一主机与第二主机为例进行说明。每个主机上部署有多个虚拟机(英文:virtual machine,缩写:VM),并部署有虚拟交换机(英文:virtual switch,缩写:vswitch)来实现VM之间的互通以及VM与外部网络的通信。不同的主机之间还可以通过物理交换机(英文:Top of Rank,缩写:TOR)(图未示)来交换数据。其中,第一主机上的第一vswitch(以下简称第一交换机)下挂接有VM 1、VM 2、VM 3,其中VM 1与VM 2属于S1,VM 3属于S3。第二主机上的第二vswitch(以下简称第二交换机)下挂接有VM 4、VM 5、VM 6,其中VM 4与VM 5属于S2,VM 6属于S3。第一交换机和第二交换机均与第一网关和第二网关相连。The content described in the previous paragraph is the logical deployment of the network. Please refer to Figure 2 for the network entity architecture built in the actual application. Specifically, the interconnection network includes a gateway and multiple hosts, and in FIG. 2, only the first gateway, The second gateway, the first host, and the second host are described as an example. Multiple virtual machines (English: virtual machine, abbreviated: VM) are deployed on each host, and a virtual switch (virtual switch, abbreviated as vswitch) is deployed to implement interworking between VMs and communication between VMs and external networks. . Different hosts can also exchange data through a physical switch (English: Top of Rank, abbreviation: TOR) (not shown). The first vswitch (hereinafter referred to as the first switch) on the first host is connected to VM 1, VM 2, and VM 3, wherein VM 1 and VM 2 belong to S1, and VM 3 belongs to S3. The second vswitch (hereinafter referred to as the second switch) on the second host is connected to the VM 4, the VM 5, and the VM 6. The VM 4 and the VM 5 belong to S2, and the VM 6 belongs to S3. The first switch and the second switch are both connected to the first gateway and the second gateway.
其中,图3(a)所示的网关路由器与主机之间的连接关系仅为逻辑上的连接关系,网关路由器可以由网络中独立的设备来担任,也可以由主机中的VM等对象来担任。The connection relationship between the gateway router and the host shown in FIG. 3(a) is only a logical connection relationship, and the gateway router may be served by an independent device in the network, or may be served by an object such as a VM in the host. .
在传统的方法中,当VM 1需要向VM 5发送报文时,由于VM 1与VM 5属于第一路由域中的不同网段,因此报文需要经过网关的转发,其报文转发的具体路径请参阅图3(a):VM 1将报文上发给第一交换机网段,由第一交换机将报文上发给第一网关,再由第一网关转发给第二交换机。第二交换机接收到报文后,根据报文携带的目的IP地址,将报文发送至VM 5。In the conventional method, when the VM 1 needs to send a message to the VM 5, the VM 1 and the VM 5 belong to different network segments in the first routing domain, so the packet needs to be forwarded by the gateway, and the packet forwarding is specific. For the path, refer to Figure 3 (a): VM 1 sends the packet to the first switch network segment, and the first switch sends the packet to the first gateway, and then the first gateway forwards the packet to the second switch. After receiving the packet, the second switch sends the packet to the VM 5 according to the destination IP address carried in the packet.
从图3(a)中可以看出,同一路由域不同网段之间的报文需要提交到网关进行转发,报文转发路径较长。为此现阶段的技术提出了各种改进方法,例如:在主机内部设置一个较为简单的路由器来代替网关对本地报文进行处理,本申请中称之为内部路由器。IR可以是主机内部的物理实体,也可以是虚拟实体,如由VM、容器(英文:docker)、linux命名空间(英文:namespace)等来担任。通过IR来实现同一路由域不同网段的报文转发的方法请参阅图3(b):第一主机内部设置有第一IR,第一IR用于代替第一网关处理第一主机中第一路由域的报文转发信息。第一IR对应有路由表,第一路由域的报文转发信息均记录在该路由表中。VM 1向第一交换机发送待转发报文,该报文的目的为VM 5。第一交换机接收到待转发报文后,不是将该报文发送给第一网关,而是将该报文发送给第一IR。第一IR接收到待转发报文后,在第一IR对应的路由表中查找匹配路由条目,并根据查找结果将报文转发给第二交换 机,由第二交换机将报文发送至VM 5。这样VM 1与VM 5之间的报文就不需要经过第一网关转发,缩短了报文的转发路径,提高了报文的转发效率,且可以减少对第一网关的带宽占用。As shown in Figure 3 (a), packets between different network segments in the same routing domain need to be forwarded to the gateway for forwarding. The packet forwarding path is longer. Various improvements have been proposed for this stage of the technology, for example, a relatively simple router is installed inside the host to replace the gateway for local packet processing, which is referred to as an internal router in this application. The IR can be a physical entity inside the host or a virtual entity, such as a VM, a container (English: docker), a linux namespace (English: namespace), and the like. For the method of forwarding packets on different network segments in the same routing domain by using the IR, refer to FIG. 3(b): the first host is internally configured with a first IR, and the first IR is used to replace the first gateway to process the first host. Packet forwarding information of the routing domain. The first IR corresponds to a routing table, and packet forwarding information of the first routing domain is recorded in the routing table. The VM 1 sends a packet to be forwarded to the first switch, and the purpose of the packet is VM 5. After receiving the packet to be forwarded, the first switch does not send the packet to the first gateway, but sends the packet to the first IR. After receiving the to-be-forwarded packet, the first IR searches for the matching route entry in the routing table corresponding to the first IR, and forwards the packet to the second exchange according to the search result. The message is sent by the second switch to the VM 5. Therefore, the packet between the VM 1 and the VM 5 does not need to be forwarded by the first gateway, which shortens the forwarding path of the packet, improves the forwarding efficiency of the packet, and reduces the bandwidth occupation of the first gateway.
上面介绍的是同一路由域内的报文转发方法,下面将介绍不同路由域之间的报文转发方法,请参阅图4。若VM 1要向VM 6发送报文,则由于VM 1所在的S1属于第一路由域,VM 6所在的S3属于第二路由域,因此第一IR在接收到待发送到VM 6的报文后不能直接转发给第二交换机。第一IR需要上发给第一网关,并由第一网关通过VPN隧道发送给第二网关,然后由第二网关发送至第二交换机。The packet forwarding method in the same routing domain is described above. The following describes the packet forwarding method between different routing domains. See Figure 4. If the VM 1 is to send a message to the VM 6, the S1 of the VM 1 belongs to the first routing domain, and the S3 of the VM 6 belongs to the second routing domain. Therefore, the first IR receives the packet to be sent to the VM 6. It cannot be forwarded directly to the second switch. The first IR needs to be sent to the first gateway, and is sent by the first gateway to the second gateway through the VPN tunnel, and then sent by the second gateway to the second switch.
从图4中可以看出,现阶段的技术中,第一路由域的报文需要通过网关之间的VPN隧道才能到达第二路由域。这样在第一路由域与第二路由域需要交换大量报文的时候会产生很多问题。例如,经过网关转发的报文需要经过多次封装解封装,封装解封装的过程会消耗大量的网络资源。且大量报文同时集中到网关时会造成VPN隧道拥堵,网关的东西向流量争抢南北向流量,引起网关的性能与可靠性瓶颈,导致整个网络的可用性降低。As shown in Figure 4, in the current technology, the packets of the first routing domain need to pass through the VPN tunnel between the gateways to reach the second routing domain. This causes a lot of problems when the first routing domain and the second routing domain need to exchange a large number of packets. For example, a packet that is forwarded by a gateway needs to be encapsulated and decapsulated multiple times. The process of encapsulation and decapsulation consumes a large amount of network resources. When a large number of packets are concentrated at the gateway, the VPN tunnel is congested. The east-west traffic of the gateway competes for north-south traffic, causing the performance and reliability bottleneck of the gateway, resulting in reduced availability of the entire network.
针对上一段所述的问题,本发明提出了改进的方法,适用于软件定义网络。SDN是一种新型的虚拟化网络,通过将网络设备控制面与数据面分离开来,实现了网络流量的灵活控制,使网络作为管道变得更加智能。本发明提供的方案具体适用于SDN控制器或网络管理器,本发明中的SDN控制器可以指代SDN控制器、或网络管理器、或集成了SDN控制器和网络管理器的单元。In response to the problems described in the preceding paragraph, the present invention proposes an improved method suitable for use in a software defined network. SDN is a new type of virtualized network. By separating the control plane of the network device from the data plane, flexible control of network traffic is realized, and the network becomes more intelligent as a pipeline. The solution provided by the present invention is specifically applicable to an SDN controller or a network manager. The SDN controller in the present invention may refer to an SDN controller, or a network manager, or a unit integrated with an SDN controller and a network manager.
SDN的逻辑架构请参阅图5,包括SDN控制器,用于对SDN中的设备进行控制管理。该SDN控制器可以是独立的装置或设备,也可以以VM的形式部署在各主机中;SDN中可以具有一个SDN控制器,也可以将SDN控制器的功能分布在多个节点上,此处不做限定。SDN中还包括多个主机,本发明中仅以第一主机和第二主机为例进行说明。其中,SDN控制器负责根据用户的指示信息以及SDN网络拓扑,确定待转发报文的转发规则,并将确定的转发规则以流表的形式通知SDN中的主机。For the logical architecture of SDN, refer to Figure 5, including the SDN controller, which is used to control and manage the devices in the SDN. The SDN controller may be an independent device or device, or may be deployed in each host in the form of a VM; the SDN may have an SDN controller, or the functions of the SDN controller may be distributed on multiple nodes, where Not limited. The SDN also includes multiple hosts. In the present invention, only the first host and the second host are taken as an example for description. The SDN controller is responsible for determining the forwarding rule of the packet to be forwarded according to the indication information of the user and the SDN network topology, and notifying the determined forwarding rule to the host in the SDN in the form of a flow table.
SDN控制器可以由图6所示的计算设备600实现。计算设备600的组织结构包括处理器602、存储器604,还可以包括总线608、通信接口606。 The SDN controller can be implemented by the computing device 600 shown in FIG. The organizational structure of the computing device 600 includes a processor 602, a memory 604, and a bus 608, a communication interface 606.
其中,处理器602、存储器604和通信接口606可以通过总线608实现彼此之间的通信连接,也可以通过无线传输等其他手段实现通信。The processor 602, the memory 604, and the communication interface 606 can implement communication connection with each other through the bus 608, and can also implement communication by other means such as wireless transmission.
存储器604存储器可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器604还可以包括上述种类的存储器的组合。用于实现本发明的程序代码可以保存在存储器604中,并由处理器602来执行。用于实现本发明的第一转发信息表、第二转发信息表和第三转发信息表可以保存在存储器604中,并由处理器602在执行时使用。The memory 604 memory may include a volatile memory (English: volatile memory), such as random access memory (English: random-access memory, abbreviation: RAM); the memory may also include non-volatile memory (English: non-volatile memory) ), such as read-only memory (English: read-only memory, abbreviation: ROM), flash memory (English: flash memory), hard disk (English hard disk drive, abbreviation: HDD) or solid state drive (English: solid-state drive , abbreviation: SSD); the memory 604 may also include a combination of the above types of memories. Program code for implementing the present invention may be stored in memory 604 and executed by processor 602. The first forwarding information table, the second forwarding information table, and the third forwarding information table for implementing the present invention may be stored in the memory 604 and used by the processor 602 when executed.
计算设备600通过通信接口606获取待转发报文的报文信息,并通过通信接口606发送流表或指令。The computing device 600 obtains the message information of the message to be forwarded through the communication interface 606, and sends a flow table or an instruction through the communication interface 606.
处理器602可以为中央处理器(英文:central processing unit,缩写:CPU)。通过访问存储器604中的程序代码,处理器602可以接收待转发报文的报文信息,并根据待转发报文的报文信息确定待转发报文的转发信息,并通过流表将待转发报文的转发信息发送给发送待转发报文的报文信息的交换机,其中待转发报文的转发信息中包括待转发报文的目的MAC地址、发送端口和目的VNI。根据待转发报文的报文信息确定待转发报文的转发信息的方法有多种,处理器602可以预先向第一路由域的转发信息表中添加第一目标表项,这样处理器602在接收到待转发报文的报文信息后,就可以根据待转发报文的报文信息从第一路由域的转发信息表获取第一目标表项,然后第一目标表项的指示,跳转到第二路由域的转发信息表中获取待转发报文的报文信息的匹配表项,再从获取待转发报文的报文信息的匹配表项中获取待转发报文的转发信息。或者,处理器602可以预先向第一路由域的转发信息表中添加第二目标表项,向第三路由域的转发信息表中添加第三目标表项。这样处理器602在接收到待转发报文的报文信息后,就可以根据待转发报文的报文信息从第一路由域的转发信息表获取第二目标表项,然后第二目标表项的指示跳转到第三路由域的转发信息表,在第三路由域的转发信息表中获取第三目标表项,并根据第三目标表项跳 转到中获取待转发报文的报文信息的匹配表项,再从获取待转发报文的报文信息的匹配表项中获取待转发报文的转发信息。又或者,处理器602可以预先将第二路由域的转发信息表中的部分表项添加到第一路由域的转发信息表中,这样处理器602能够根据待转发报文的报文信息,直接在第一路由域的转发信息表中获取待转发报文的转发信息。The processor 602 can be a central processing unit (English: central processing unit, abbreviation: CPU). By accessing the program code in the memory 604, the processor 602 can receive the message information of the message to be forwarded, and determine the forwarding information of the message to be forwarded according to the message information of the message to be forwarded, and forward the message to be forwarded through the flow table. The forwarding information of the packet is sent to the switch that sends the packet information of the packet to be forwarded. The forwarding information of the packet to be forwarded includes the destination MAC address, the sending port, and the destination VNI of the packet to be forwarded. The method for determining the forwarding information of the packet to be forwarded according to the packet information of the packet to be forwarded is different. The processor 602 may add the first target entry to the forwarding information table of the first routing domain in advance, so that the processor 602 is After receiving the packet information of the packet to be forwarded, the device may obtain the first target entry from the forwarding information table of the first routing domain according to the packet information of the packet to be forwarded, and then jump to the indication of the first target entry. And obtaining the matching entry of the packet information of the packet to be forwarded in the forwarding information table of the second routing domain, and obtaining the forwarding information of the packet to be forwarded from the matching entry of the packet information of the packet to be forwarded. Alternatively, the processor 602 may add a second target entry to the forwarding information table of the first routing domain in advance, and add a third target entry to the forwarding information table of the third routing domain. After receiving the packet information of the packet to be forwarded, the processor 602 can obtain the second target entry from the forwarding information table of the first routing domain according to the packet information of the packet to be forwarded, and then the second target entry. The instruction jumps to the forwarding information table of the third routing domain, obtains the third target entry in the forwarding information table of the third routing domain, and jumps according to the third target entry. Go to the matching entry of the packet information of the packet to be forwarded, and obtain the forwarding information of the packet to be forwarded from the matching entry of the packet information of the packet to be forwarded. Alternatively, the processor 602 may add a partial entry in the forwarding information table of the second routing domain to the forwarding information table of the first routing domain, so that the processor 602 can directly directly process the packet information according to the packet to be forwarded. The forwarding information of the to-be-forwarded packet is obtained in the forwarding information table of the first routing domain.
处理器602通过访问存储器604中的程序代码,还可以在目标主机中的第一IR上创建第一接口,并为第一接口分配第一互联网协议(英文:Internet Protocol,缩写:IP)地址,在第二IR上创建第二接口(若目标主机中没有第二IR,则创建第二IR),并为第二接口分配第二IP地址,然后在第一接口与第二接口之间创建网络连接。之后,向第一IR的路由表中添加第一路由条目,第一路由条目中的第一目的地址字段为第二路由域的第二网段,第一下一跳字段为第二IP地址。可选的,处理器602还可以向第二IR的路由表中添加第二路由条目,第二路由条目中的第二目的地址字段为第一路由域的第一网段,第二下一跳字段为第一IP地址。在确定目标主机的虚拟交换机上没有挂接任何属于第一路由域或第二路由域的VM时,删除第一IR与第二IR。The processor 602 can also create a first interface on the first IR in the target host by accessing the program code in the memory 604, and allocate a first Internet Protocol (English: Internet Protocol, IP address) address to the first interface. Create a second interface on the second IR (create a second IR if there is no second IR in the target host), assign a second IP address to the second interface, and then create a network between the first interface and the second interface. connection. Then, the first routing entry is added to the routing table of the first IR. The first destination address field in the first routing entry is the second network segment of the second routing domain, and the first next hop field is the second IP address. Optionally, the processor 602 may further add a second routing entry to the routing table of the second IR, where the second destination address field in the second routing entry is the first network segment of the first routing domain, and the second next hop The field is the first IP address. The first IR and the second IR are deleted when the VM that belongs to the first routing domain or the second routing domain is not attached to the virtual switch of the target host.
本发明还提供了一种路由确定方法,图5和图6中的SDN控制器在运行时执行该方法,以使得不同路由域之间的报文能够不经过网关实现互通。其中,SDN控制器可以将整个第一路由域和整个第二路由域都互通起来,但也可以仅将第一路由域与第二路由域中的部分网段互通。本实施例中仅以网段S1与网段S3互通为例进行说明。其流程请参阅图7(a)所示:The present invention also provides a route determining method. The SDN controllers in FIG. 5 and FIG. 6 execute the method at runtime to enable packets between different routing domains to communicate without passing through a gateway. The SDN controller can interconnect the entire first routing domain and the entire second routing domain, but only the first routing domain can communicate with some network segments in the second routing domain. In this embodiment, only the network segment S1 and the network segment S3 are interconnected as an example for description. The process is shown in Figure 7(a):
701、SDN控制器确定网段S1与网段S3待互通。其中S1属于互连网络中的第一路由域,S3属于第二路由域。其中,为了保证互通后S1中的报文能够正确到达S3,第一路由域应不包括S3。可选的,为了保证互通后S3中的报文能够正确到达S1,第二路由域可以不包括S1。701. The SDN controller determines that the network segment S1 and the network segment S3 are to be interconnected. S1 belongs to the first routing domain in the interconnection network, and S3 belongs to the second routing domain. The first routing domain should not include S3 in order to ensure that the packets in S1 can reach S3 correctly after the interworking. Optionally, the second routing domain may not include S1, in order to ensure that the packets in S3 can reach S1 correctly after the interworking.
其中,SDN控制器可以根据用户指令,确定S1与S3待互通。The SDN controller can determine that S1 and S3 are to be interconnected according to user instructions.
702、SDN控制器向第一转发信息表中添加第一目标表项。702. The SDN controller adds a first target entry to the first forwarding information table.
作为SDN的管理设备,SDN控制器管理多个转发信息表,每个转发信息表对应着一个路由域,且每个转发信息表中包括多条表项,这些表项记录了对应路由域内的转发信息。本实施例中将第一路由域对应的转发信息表称为第一 转发信息表,将第二路由域对应的转发信息表称为第二转发信息表,将第三路由域对应的转发信息表称为第三转发信息表。As an SDN management device, the SDN controller manages multiple forwarding information tables, each forwarding information table corresponding to a routing domain, and each forwarding information table includes multiple entries, and these entries record forwarding in the corresponding routing domain. information. In this embodiment, the forwarding information table corresponding to the first routing domain is referred to as the first The forwarding information table is referred to as a second forwarding information table, and the forwarding information table corresponding to the third routing domain is referred to as a third forwarding information table.
SDN控制器中的转发信息表的形式有很多,具体的,每条表项都可以包括条件信息字段与转发信息字段。其中,条件信息字段中记录有目的IP地址,还可以记录有其它条件信息。转发信息字段用于记录转发信息,具体可以记录目的IP地址对应的下一跳等三层转发信息,三层转发信息可以为路由域的标识,SDN控制器可以进一步通过三层转发信息获取目的IP地址对应的发送端口、介质访问控制层(英文:media access control,缩写:MAC)地址、虚拟网标识(英文:virtual network identifier,缩写:VNI)、虚拟可扩展局域网隧道终端(英文:virtual extensible local area network tunneling end point,缩写:VTEP)标识等转发信息。转发信息字段也可以直接记录目的IP地址对应的发送端口、MAC地址、VNI、VTEP标识等转发信息。转发信息表的一种形式的示例如表1所示。SDN控制器可以根据待转发报文的目的IP地址,顺序查找表1获取待转发报文的转发信息。若表1中其它表项均不与待转发报文的目的IP地址匹配,则SDN控制器确定待转发报文匹配到默认表项,获取到网关信息,该网关信息用于指示将待转发报文发送到网关。转发信息表还可以为其它的形式,此处不做限定。There are many forms of the forwarding information table in the SDN controller. Specifically, each entry may include a condition information field and a forwarding information field. The destination IP address is recorded in the condition information field, and other condition information may also be recorded. The forwarding information field is used to record the forwarding information, and the Layer 3 forwarding information, such as the next hop corresponding to the destination IP address, can be recorded. The Layer 3 forwarding information can be the identifier of the routing domain. The SDN controller can further obtain the destination IP address through Layer 3 forwarding information. Address corresponding to the sending port, medium access control layer (English: media access control, abbreviation: MAC) address, virtual network identifier (English: virtual network identifier, abbreviation: VNI), virtual scalable LAN tunnel terminal (English: virtual extensible local Area network tunneling end point (abbreviation: VTEP) identifies forwarding information. The forwarding information field can also directly record forwarding information such as the sending port, MAC address, VNI, and VTEP identifier corresponding to the destination IP address. An example of one form of the forwarding information table is shown in Table 1. The SDN controller can look up Table 1 for the forwarding information of the to-be-forwarded packet according to the destination IP address of the packet to be forwarded. If the other entries in the table 1 do not match the destination IP address of the packet to be forwarded, the SDN controller determines that the packet to be forwarded matches the default entry, and obtains the gateway information, where the gateway information is used to indicate that the packet is to be forwarded. The text is sent to the gateway. The forwarding information table may also be in other forms, which is not limited herein.
条件信息Condition information 转发信息Forwarding information
目的IP地址1 Destination IP address 1 转发信息1 Forwarding information 1
目的IP地址2Destination IP address 2 转发信息2Forwarding information 2
……...... ……......
默认表项Default entry 网关信息Gateway information
表1Table 1
现阶段的技术中,假设S1中的VM 1要向S3中的VM 6发送待转发报文,则VM 1挂接的第一交换机接收到待转发报文,并将该待转发报文的信息发送给SDN控制器,该待转发报文的信息包括第一交换机接收该待转发报文的端口以及该待转发报文的目的IP地址等信息。SDN控制器接收到该待转发报文的信息后,根据该待转发报文的信息中的端口信息确定该待转发报文属于第一 路由域,就确定查找第一转发信息表。可以理解的,由于该待转发报文的目的IP地址属于第二路由域的S3网段,因此第一转发信息表中无法查找到该待转发报文的转发信息。SDN控制器确定该待转发报文需要通过第一网关转发,并通过流表告知第一交换机将待转发的报文发送给第一网关。In the current technology, if the VM 1 in S1 is to send a packet to be forwarded to the VM 6 in the S3, the first switch connected to the VM 1 receives the packet to be forwarded and the information of the packet to be forwarded. The information is sent to the SDN controller, and the information of the to-be-forwarded packet includes the port that the first switch receives the packet to be forwarded and the destination IP address of the packet to be forwarded. After receiving the information of the to-be-forwarded packet, the SDN controller determines, according to the port information in the information of the to-be-forwarded packet, that the to-be-forwarded packet belongs to the first The routing domain determines to find the first forwarding information table. It can be understood that, because the destination IP address of the to-be-forwarded packet belongs to the S3 network segment of the second routing domain, the forwarding information of the to-be-forwarded packet cannot be found in the first forwarding information table. The SDN controller determines that the to-be-forwarded packet needs to be forwarded by the first gateway, and sends the packet to be forwarded to the first gateway by using the flow table.
本发明中,SDN控制器向第一转发信息表中添加了第一目标表项。与第一转发表中已有的其它表项不同,第一目标表项用于指示跳转到第二转发信息表中查找待转发报文的匹配表项。In the present invention, the SDN controller adds a first target entry to the first forwarding information table. Different from the other entries in the first forwarding table, the first target entry is used to indicate that the jump to the second forwarding information table is used to find the matching entry of the to-be-forwarded packet.
可选的,第一目标表项中可以包括第一条件信息字段,用于描述获取第一目标表项所需要满足的条件,其中至少包括属于第二路由域的第一目的网段(英文:destination,或称为dest)。第一目的网段为一段连续的地址,可选的,由于本实施例中将S1与S3互通,因此第一目的网段可以包括网段S3。例如,若第一转发信息表为路由表的形式,则第一目标表项的第一条件信息字段可以由目的地址字段来担任,且该目的地址字段填写有网段S3的IP地址段。第一条件信息字段中除了第一目的网段之外还可以包括其它条件,也可以为除了路由表之外的其它形式(如三元组、五元组的形式),此处不做限定。其中,SDN控制器只有在确定待转发报文满足第一条件信息字段中的全部条件时,才能够获取第一目标表项。Optionally, the first target information item may include a first condition information field, and is used to describe a condition that is required to obtain the first target entry, where at least the first destination network segment that belongs to the second routing domain is included. Destination, or dest). The first destination network segment is a contiguous address. Optionally, the first destination network segment may include the network segment S3 because the S1 and the S3 are interconnected in this embodiment. For example, if the first forwarding information table is in the form of a routing table, the first condition information field of the first target entry may be served by the destination address field, and the destination address field is filled with the IP address segment of the network segment S3. The first condition information field may include other conditions in addition to the first destination network segment, and may be other forms than the routing table (such as a triplet or a quintuple), which is not limited herein. The SDN controller can obtain the first target entry only when it determines that all the conditions in the first condition information field are satisfied.
可选的,第一目标表项中还可以包括第一指示信息字段,用于指示跳转到第二转发信息表。第一指示信息字段可以是预置的数字、字符串或其他形式,下面仅以字符串为例进行说明:SDN控制器中预先设置好不同字符串与不同操作之间的对应关系,并将查找第二转发信息表的操作对应的字符串填写在第一指示信息字段中。这样当SDN控制器获取第一目标表项后,就可以根据第一指示信息字段的字符串确定执行查找第二转发信息表的操作。此外,第一指示信息字段也可以为指令的形式(如action指令的形式),该指令指示跳转到第二转发信息表,使得SDN控制器在获取了第一目标表项后,无需根据数字或字符串与操作的对应关系来确定需要执行的操作,直接执行第一指示信息字段中的执行即可。Optionally, the first target information entry may further include a first indication information field, configured to indicate that the jump to the second forwarding information table. The first indication information field may be a preset number, a string, or other forms. The following only takes a character string as an example: the correspondence between different strings and different operations is preset in the SDN controller, and the search is performed. The character string corresponding to the operation of the second forwarding information table is filled in the first indication information field. After the SDN controller obtains the first target entry, the operation of searching for the second forwarding information table may be determined according to the character string of the first indication information field. In addition, the first indication information field may also be in the form of an instruction (such as an action instruction), and the instruction indicates to jump to the second forwarding information table, so that the SDN controller does not need to follow the number after acquiring the first target entry. Or the correspondence between the string and the operation to determine the operation that needs to be performed, and directly execute the execution in the first indication information field.
添加了第一目标表项的第一转发信息表的形式的一个示例请参阅表2,值得注意的是,第一目标表项需要添加在默认表项之前,以保证SDN控制器在 查找第一转发信息表时,能够优先查找到第一目标表项,其次再查找到默认表项。An example of the form of the first forwarding information table to which the first target entry is added is shown in Table 2. It is worth noting that the first target entry needs to be added before the default entry to ensure that the SDN controller is When the first forwarding information table is searched, the first target entry can be preferentially found, and then the default entry is found.
条件信息Condition information 转发信息Forwarding information
目的IP地址1 Destination IP address 1 转发信息1 Forwarding information 1
目的IP地址2Destination IP address 2 转发信息2Forwarding information 2
……...... ……......
第一条件信息字段First condition information field 第一指示信息字段First indication field
……...... ……......
默认表项Default entry 网关信息Gateway information
表2Table 2
若SDN控制器在查找第一转发信息表时获取了第一目标表项,则根据该第一目标表项跳转到第二转发信息表查找匹配表项。具体的跳转方法请参阅步骤703至709:If the SDN controller obtains the first target entry when searching the first forwarding information table, the hop controller jumps to the second forwarding information table to search for the matching entry according to the first target entry. For specific jump methods, please refer to steps 703 to 709:
703、VM 1向第一交换机发送第一报文,第一报文的目的IP地址为VM 6的IP地址。第一交换机接收该第一报文。其中,VM 1属于第一路由域中的S1网段,VM 6属于第二路由域中的S3网段。703. The VM 1 sends a first packet to the first switch, where the destination IP address of the first packet is an IP address of the VM 6. The first switch receives the first packet. The VM 1 belongs to the S1 network segment in the first routing domain, and the VM 6 belongs to the S3 network segment in the second routing domain.
可选的,第一报文中还可以携带有第一网关的MAC地址。可选的,第一交换机中还可以保存有该交换机自身的各个端口与网段的对应关系,这样第一交换机就可以根据自身接收该第一报文的端口,确定第一报文来自S1网段,并向第一报文中添加S1网段的VNI。Optionally, the first packet may also carry the MAC address of the first gateway. Optionally, the first switch can also store the correspondence between the ports of the switch and the network segment, so that the first switch can determine the first packet from the S1 network according to the port that receives the first packet. Segment, and add the VNI of the S1 network segment to the first packet.
第一交换机接收到第一报文后,需要向SDN控制器请求流表,以便获取第一报文的转发信息。After receiving the first packet, the first switch needs to request a flow table from the SDN controller to obtain forwarding information of the first packet.
704、第一交换机将第一报文的报文信息发送给SDN控制器,以向SDN控制器请求流表以便获取第一报文的转发信息。SDN控制器接收该第一报文的报文信息。704. The first switch sends the packet information of the first packet to the SDN controller, to request a flow table from the SDN controller, to obtain forwarding information of the first packet. The SDN controller receives the message information of the first packet.
其中,第一交换机可以将第一报文和接收该第一报文的端口的信息作为第一报文的报文信息直接发送给SDN控制器,也可以将接收该第一报文的端口、目的IP地址等摘要信息作为第一报文的报文信息发送给SDN控制器。但无论第一报文的报文信息是什么形式,都需要包括目的IP地址信息,使得SDN控 制器能够根据第一报文的报文信息,确定第一报文的目的IP地址。The first switch may send the first packet and the information of the port that receives the first packet as the packet information of the first packet to the SDN controller, or the port that receives the first packet, The summary information such as the destination IP address is sent to the SDN controller as the packet information of the first packet. However, regardless of the form of the message information of the first packet, it is necessary to include the destination IP address information, so that the SDN control The controller can determine the destination IP address of the first packet according to the packet information of the first packet.
705、SDN控制器根据第一报文的报文信息,查找第一转发信息表。705. The SDN controller searches for the first forwarding information table according to the packet information of the first packet.
其中,SDN控制器可以根据第一报文的报文信息中,第一交换机接收该第一报文的端口的信息或其它信息确定第一报文来自第一路由域,因此确定查找第一转发信息表。The SDN controller may determine, according to the packet information of the first packet, that the first switch receives the information of the port of the first packet or other information to determine that the first packet is from the first routing domain, and therefore determines to find the first forwarding. Information Sheet.
由于第一报文的目的IP地址属于网段S3,因此第一报文的目的IP地址与第一目的网段匹配,SDN控制器通过查找第一转发信息表,可以获取到第一目标表项。The destination IP address of the first packet belongs to the network segment S3, and the destination IP address of the first packet matches the first destination network segment. The SDN controller can obtain the first target entry by searching the first forwarding information table. .
706、SDN控制器根据第一目标表项的指示,在第二转发信息表中查找第一报文的匹配表项。706. The SDN controller searches for the matching entry of the first packet in the second forwarding information table according to the indication of the first target entry.
其中,由于第二转发信息表记录了第二路由域内的转发信息,因此SDN控制器能够通过在第二转发信息表中查找匹配表项来获取第一报文的转发信息。The SDN controller can obtain the forwarding information of the first packet by searching for the matching entry in the second forwarding information table, because the second forwarding information table records the forwarding information in the second routing domain.
707、SDN控制器从第一报文的匹配表项中获取第一报文的转发信息。707. The SDN controller obtains the forwarding information of the first packet from the matching entry of the first packet.
SDN控制器在第二转发信息表中查找到了第一报文的匹配表项后,就可以从该匹配表项中获取源交换机用于转发第一报文的转发信息,第一报文的转发信息应至少包括:目的MAC地址、目的VNI、以及第一报文的发送端口。其中,目的MAC地址为第一报文的目的IP地址对应的VM的MAC地址,具体应该为VM6的MAC地址;目的VNI为第一报文的目的IP地址对应的VM所在的网段的VNI,具体应该为S3网段的VNI;第一报文的发送端口用于表示第一交换机用于发送第一报文的端口。可选的,若VM1与VM6间通过虚拟可扩展局域网(英文:virtual extensible local area network,缩写:VXLAN)通信,则该匹配表项还包括目的VTEP标识。本实施例中以VM1与VM6位于不同的主机中为例进行说明,因此第一报文的发送端口为上行端口,第一交换机可以通过该上行端口将第一报文发送给其它交换机(包括第二交换机)。After the SDN controller finds the matching entry of the first packet in the second forwarding information table, the SDN controller can obtain the forwarding information used by the source switch to forward the first packet, and forward the first packet. The information should at least include: the destination MAC address, the destination VNI, and the sending port of the first packet. The destination MAC address is the MAC address of the VM corresponding to the destination IP address of the first packet, which is specifically the MAC address of the VM6. The destination VNI is the VNI of the network segment where the VM corresponding to the destination IP address of the first packet is located. Specifically, it should be the VNI of the S3 network segment; the sending port of the first packet is used to indicate the port used by the first switch to send the first packet. Optionally, if the VM1 and the VM6 communicate through a virtual extensible local area network (VXLAN), the matching entry further includes the destination VTEP identifier. In this embodiment, VM1 and VM6 are located in different hosts as an example. Therefore, the sending port of the first packet is an uplink port, and the first switch can send the first packet to other switches through the uplink port. Two switches).
但是在实际应用中,发送第一报文的VM与第一报文的目的IP地址对应的VM可能挂接在同一交换机下(相当于VM6与VM1同时位于第一主机中,VM6也挂接在第一交换机下)。在这种情况下,第一报文的发送端口不为上行端口,而是第一交换机与VM6通信的端口。 However, in a practical application, the VM that sends the first packet and the VM corresponding to the destination IP address of the first packet may be connected to the same switch (the VM6 and VM1 are located in the first host simultaneously, and the VM6 is also attached to the VM6). Under the first switch). In this case, the sending port of the first packet is not the uplink port, but the port where the first switch communicates with the VM6.
需要说明的是,从第二转发信息表中获取的第一报文的匹配表项获取第一报文的转发信息的过程可以有多种实现方式。例如:第一报文的匹配表项中直接记录了待转发报文的转发信息。再例如,第一报文的匹配表项中记录了第二路由域的标识,则SDN控制器根据获取的第二路由域的标识,根据第一报文的报文信息,在第二路由域的标识对应的路由信息表中查询到第一报文的转发信息,这种实现方式中,每一个路由域均有对应的路由信息表。It should be noted that the process of obtaining the forwarding information of the first packet from the matching entry of the first packet obtained in the second forwarding information table may be implemented in multiple manners. For example, the forwarding information of the to-be-forwarded packet is directly recorded in the matching entry of the first packet. For example, if the identifier of the second routing domain is recorded in the matching entry of the first packet, the SDN controller obtains the identifier of the second routing domain according to the identifier of the second routing domain, and is in the second routing domain according to the packet information of the first packet. The forwarding information of the first packet is queried in the routing information table corresponding to the identifier. In this implementation manner, each routing domain has a corresponding routing information table.
708、SDN控制器根据第一报文的转发信息生成目标流表发送给第一交换机,该目标流表中包括第一报文的转发信息以及操作指示,该操作指示用于指示第一交换机调整第一报文,然后将调整后的第一报文从发送端口上转发。具体的调整操作包括:将第一报文中携带的第一网关的MAC地址修改为转发信息中的目的MAC地址,并向第一报文中添加目的VNI(若在步骤703中执行了向第一报文中添加S1网段的VNI的步骤,则将第一报文中的S1网段的VNI更换为目的VNI)。708. The SDN controller sends the target flow table to the first switch according to the forwarding information of the first packet, where the target flow table includes forwarding information of the first packet and an operation indication, where the operation indication is used to indicate that the first switch adjusts The first packet is then forwarded from the sending port by the adjusted first packet. The specific adjustment operation includes: modifying the MAC address of the first gateway carried in the first packet to the destination MAC address in the forwarding information, and adding the destination VNI to the first packet (if the step is performed in step 703) If the VNI of the S1 network segment is added to a packet, the VNI of the S1 network segment in the first packet is replaced with the destination VNI.
一种可选的实现方式中,SDN控制器从获取了第一报文的转发信息后,还生成了操作指示,并将根据操作指示与转发信息生成目标流表,例如modify:目的MAC地址,modify:目的VNI,transmit:第一报文的发送端口。则第一交换机接收到目标流表后,根据操作指示与转发信息执行对第一报文的调整,并将调整后的第一报文从发送端口发送出去。In an optional implementation manner, after obtaining the forwarding information of the first packet, the SDN controller further generates an operation indication, and generates a target flow table according to the operation indication and the forwarding information, for example, modify: a destination MAC address, Modify: Destination VNI, transmit: The sending port of the first packet. After receiving the target flow table, the first switch performs the adjustment of the first packet according to the operation indication and the forwarding information, and sends the adjusted first packet from the sending port.
可选的,由于SDN控制器此时已知待互通的网段,SDN控制器还可以生成第二交换机对应的匹配流表,并将该匹配流表发送至第二交换机,以使得S3网段上的报文需要发送至S1网段时,可以在第二交换机上匹配到该匹配流表,将该报文转发至第一交换机。该匹配流表可以包括多个流表,且SDN控制器向第二交换机发送匹配流表可以在向第一交换机发送目标流表的之前或之后,或与向第一交换机发送目标流表同步执行。Optionally, the SDN controller may also generate a matching flow table corresponding to the second switch, and send the matching flow table to the second switch, so that the S3 network segment is configured. When the packet needs to be sent to the S1 network segment, the matching traffic table can be matched to the second switch to forward the packet to the first switch. The matching flow table may include multiple flow tables, and the SDN controller sends the matching flow table to the second switch before or after sending the target flow table to the first switch, or synchronously with sending the target flow table to the first switch. .
709、第一交换机根据目标流表调整并转发第一报文。709. The first switch adjusts and forwards the first packet according to the target flow table.
第一交换机根据目标流表调整第一报文,并在完成了对第一报文的调整后,从第一报文的发送端口上转发调整后的第一报文。The first switch adjusts the first packet according to the target flow table, and after the adjustment of the first packet is completed, the first packet is forwarded from the sending port of the first packet.
可选的,若步骤707中还获取了目的VTEP标识,则第一交换机还将该目的VTEP标识添加到第一报文中。 Optionally, if the destination VTEP identifier is also obtained in step 707, the first switch further adds the destination VTEP identifier to the first packet.
其中,第一交换机的上行端口通过物理交换机与多个其它交换机相联,该物理交换机可以根据第一报文的中的目的MAC地址与目的VNI,确定将调整后的第一报文发送给第二交换机。于是物理交换机直接将调整后的第一报文发送给第二交换机。第二交换机接收该调整后的第一报文。可以看出,第一报文的整个转发路径中,并没有经过网关。The uplink port of the first switch is connected to multiple other switches through the physical switch, and the physical switch can determine to send the adjusted first packet to the first packet according to the destination MAC address and the destination VNI in the first packet. Two switches. Then, the physical switch directly sends the adjusted first packet to the second switch. The second switch receives the adjusted first packet. It can be seen that the entire forwarding path of the first packet does not pass through the gateway.
710、第二交换机将第一报文发送给VM 6。710. The second switch sends the first packet to the VM 6.
第二交换机根据第一报文的中的目的MAC地址与目的VNI,将第一报文发送给VM6。The second switch sends the first packet to the VM6 according to the destination MAC address and the destination VNI in the first packet.
值得指出的是,步骤701、702与步骤703、704之间没有特定的顺序,只要步骤702位于步骤705之前即可。It is worth noting that there is no specific order between steps 701, 702 and steps 703, 704, as long as step 702 is before step 705.
此外,步骤701为可选步骤,SDN控制器可以不执行步骤701。例如,SDN控制器可以在步骤703和704后,根据第一报文的目的IP地址确定S3待与第一路由域相通,再执行步骤702,然后依次执行步骤705至710。In addition, step 701 is an optional step, and the SDN controller may not perform step 701. For example, after the steps 703 and 704, the SDN controller may determine that S3 is to be in communication with the first routing domain according to the destination IP address of the first packet, and then perform step 702, and then perform steps 705 to 710 in sequence.
此外,步骤702为可选步骤。例如,若第一转发表中已经预置有第一目标表项,则步骤701与步骤702均可以省略。Additionally, step 702 is an optional step. For example, if the first target entry is already preset in the first forwarding table, both step 701 and step 702 may be omitted.
可选的,本发明提供的方法不仅适用于SDN控制器在两个路由域的转发信息表之间跳转查询,还可以适用于SDN控制器在多个路由域之间跳转查询,如从第一转发信息表跳转到第三转发信息表后,再跳转到第二转发信息表。具体的,步骤701、702、705、706可以被替换为如下步骤:SDN控制器可以向第一转发信息表中添加第二目标表项,向第三转发信息表中添加第三目标表项,第二目标表项中包括第二条件信息字段,用于描述获取第二目标表项所需要满足的条件,其中至少包括属于第二路由域的第二目的网段。第二目标表项中还包括第二指示信息字段,用于指示跳转到第三转发信息表。第三目标表项中包括第三条件信息字段,用于描述获取第三目标表项所需要的条件,其中至少包括属于第二路由域的第三目的网段。第三目标表项中还包括第三指示信息字段,用于指示跳转到第二转发信息表。SDN控制器根据第一报文的目的IP地址查找第一转发信息表。其中第一报文的目的IP地址属于第二目的网段,故SDN控制器获取第二目标表项,并根据第二目标表项中的第二指示信息字段跳转到第三转发信息表进行查询。其中第一报文的目的IP地址属于第三目 的网段,故SDN控制器获取第三目标表项,并根据第三目标表项中的第三指示信息字段跳转到第二转发信息表中查找第一报文的匹配表项。其中,第二目的网段可以与第三目的网段相同、或包括第三目的网段、或属于第三目的网段、或与第三目的网段部分重叠。但是无论第二目的网段与第三目的网段之间是何关系,第二目的网段与第三目的网段都需要包括第一报文的目的IP地址。Optionally, the method provided by the present invention is applicable not only to the SDN controller to jump between the forwarding information tables of the two routing domains, but also to the SDN controller to jump between multiple routing domains, such as from After the first forwarding information table jumps to the third forwarding information table, it jumps to the second forwarding information table. Specifically, the steps 701, 702, 705, and 706 may be replaced by the following steps: the SDN controller may add a second target entry to the first forwarding information table, and add a third target entry to the third forwarding information table. The second target information field includes a second condition information field, and is used to describe a condition that is required to obtain the second target entry, where at least the second destination network segment that belongs to the second routing domain is included. The second target information entry further includes a second indication information field for indicating a jump to the third forwarding information table. The third target information item includes a third condition information field for describing a condition required for acquiring the third target entry, where at least the third destination network segment belonging to the second routing domain is included. The third target entry further includes a third indication information field for indicating a jump to the second forwarding information table. The SDN controller searches for the first forwarding information table according to the destination IP address of the first packet. The destination IP address of the first packet belongs to the second destination network segment, so the SDN controller obtains the second target entry, and jumps to the third forwarding information table according to the second indication information field in the second target entry. Inquire. The destination IP address of the first packet belongs to the third destination. The SDN controller obtains the third target entry, and jumps to the second forwarding information table to search for the matching entry of the first packet according to the third indication information field in the third target entry. The second destination network segment may be the same as the third destination network segment, or include the third destination network segment, or belong to the third destination network segment, or partially overlap with the third destination network segment. However, regardless of the relationship between the second destination network segment and the third destination network segment, both the second destination network segment and the third destination network segment need to include the destination IP address of the first packet.
可选的,SDN控制器也可以通过其它方式确定待转发报文的转发信息。例如,SDN控制器可以将第二转发信息表中对应待添加目的网段的表项预先添加到第一转发信息表中。其中,待添加目的网段与第一至第三目的网段可以相同或(全部或部分)重叠,只要待添加目的网段包括第一报文的目的IP地址即可。具体的,由于SDN控制器确定网段S1与网段S3待互通,因此SDN控制器将S3作为待添加目的网段,确定第二转发信息表中记录了网段S3相关的转发信息的表项为待添加的表项,并将这些待添加的表项添加到第一转发信息表中。之后,SDN控制器在接收了第一报文的报文信息,并在第一转发信息表中查找匹配表项。可以理解的,由于第一报文的目的IP地址属于S3,因此SDN控制器会在第一转发信息表添加的表项中直接查找到匹配表项,进而获取第一报文的转发信息。可选的,在将待添加的表项添加到第一转发信息表中时,可以通过前缀等方式在第一转发信息表中注明待添加的表项对应第二路由域。Optionally, the SDN controller may also determine forwarding information of the to-be-forwarded packet by using other methods. For example, the SDN controller may add an entry corresponding to the destination network segment to be added in the second forwarding information table to the first forwarding information table in advance. The destination network segment to be added may be the same as (or all or part of) the network segment to be added, as long as the destination network segment to be added includes the destination IP address of the first packet. Specifically, the SDN controller determines that the network segment S1 and the network segment S3 are to be interconnected, and the SDN controller determines the forwarding information related to the network segment S3 in the second forwarding information table by using the S3 as the destination network segment to be added. The entries to be added are added to the first forwarding information table. After that, the SDN controller receives the message information of the first packet, and searches for the matching entry in the first forwarding information table. It can be understood that, because the destination IP address of the first packet belongs to S3, the SDN controller directly finds the matching entry in the entry added by the first forwarding information table, and obtains the forwarding information of the first packet. Optionally, when the entry to be added is added to the first forwarding information table, the entry to be added corresponds to the second routing domain in the first forwarding information table by using a prefix or the like.
从步骤701~710可以看出,SDN控制器向交换机发送新的流表指示不同路由域之间的报文的转发信息,使得不同路由域之间的报文可以由源交换机通过不包含网关的路径发送至目的交换机或目的VM,这样就缩短了报文转发路径,进而减少了报文封装解封装的次数,节约了网络资源。且本发明使得不同路由域之间的报文无需经过网关转发,能够减小网关路由器的压力,提升SDN的可用性。It can be seen from the steps 701 to 710 that the SDN controller sends a new flow table to the switch to indicate the forwarding information of the packets between different routing domains, so that the packets between different routing domains can be used by the source switch without including the gateway. The path is sent to the destination switch or the destination VM. This shortens the packet forwarding path, which reduces the number of packet encapsulations and saves network resources. Moreover, the present invention enables packets between different routing domains to be forwarded without going through a gateway, which can reduce the pressure of the gateway router and improve the availability of the SDN.
以上提供的场景描述了第一交换机接收到待转发报文后,将待转发报文的报文信息上报给SDN控制器以获取目标流表。实际使用中,除了这一场景,还可能出现以下场景:SDN控制器根据用户的配置或指令确定第一待互通网段以及第二待互通网段,第一待互通网段和第二待互通网段分别属于不同路由域。此时,SDN控制器可以根据第一转发信息表生成第二待互通网段的各个 目的IP地址对应的目标流表,并将这些目标流表发送至第一交换机,以使得第一交换机后续接收到第二待互通网段的各个目的IP地址对应的待转发报文时,可以直接处理。而且,SDN控制器可以根据第二转发信息表生成第一待互通网段的各个目的IP地址对应的目标流表,并将这些目标流表发送至第二交换机,以使得第二交换机后续接收到第一待互通网段的各个目的IP地址对应的待转发报文时,可以直接处理。本场景中,SDN控制器预先将待互通的网段对应的目标流表发送至对应的交换机中,减少了待互通的网段在后续报文的转发过程中向SDN控制器请求目标流表的过程,进一步提升了报文转发效率。The scenario provided above describes that after receiving the packet to be forwarded, the first switch reports the packet information of the packet to be forwarded to the SDN controller to obtain the target flow table. In actual use, in addition to this scenario, the following scenario may occur: the SDN controller determines the first to-be-interconnected network segment and the second to-be-interconnected network segment according to the configuration or the instruction of the user, and the first to-be-interconnected network segment and the second to-be-interconnected network segment Network segments belong to different routing domains. At this time, the SDN controller may generate each of the second to-be-interconnected network segments according to the first forwarding information table. The destination flow table corresponding to the destination IP address, and the target flow table is sent to the first switch, so that the first switch can directly receive the to-be-forwarded packet corresponding to each destination IP address of the second to-be-interconnected network segment. deal with. Moreover, the SDN controller may generate a target flow table corresponding to each destination IP address of the first to-be-interconnected network segment according to the second forwarding information table, and send the target flow table to the second switch, so that the second switch subsequently receives the The packets to be forwarded corresponding to the destination IP addresses of the first to-be-interconnected network segment can be directly processed. In this scenario, the SDN controller sends the target flow table corresponding to the network segment to be interconnected to the corresponding switch in advance, which reduces the network segment to be interconnected to request the target flow table from the SDN controller during the subsequent packet forwarding process. The process further improves the efficiency of message forwarding.
图7所示的方法中,交换机向SDN控制器请求流表,并根据请求到的流表转发报文,以实现不同路由域之间的报文互通。除此之外,本发明还提供了一种网络配置方法,用于对主机进行配置,使得主机能够直接转发不同路由域之间的报文。该方法适用于SDN控制器或网络管理器,本发明仅以SDN控制器为例进行描述。图5和图6中的SDN控制器在运行时执行该方法,其具体流程请参阅图8(a),包括:In the method shown in FIG. 7, the switch requests a flow table from the SDN controller, and forwards the packet according to the requested flow table, so as to implement packet communication between different routing domains. In addition, the present invention also provides a network configuration method for configuring a host, so that the host can directly forward packets between different routing domains. The method is applicable to an SDN controller or a network manager. The present invention is described by taking only an SDN controller as an example. The SDN controllers in Figures 5 and 6 execute the method at runtime. For the specific process, please refer to Figure 8(a), including:
801、SDN控制器确定第一主机上网段S1与网段S3待互通。其中,S1属于互连网络中的第一路由域,S3属于第二路由域。为了保证S1与S3能够正确互通,第一路由域中不包括S3,第二路由域中不包括S1。801. The SDN controller determines that the first host Internet segment S1 and the network segment S3 are to be interconnected. S1 belongs to the first routing domain in the interconnection network, and S3 belongs to the second routing domain. To ensure that S1 and S3 can communicate with each other correctly, S3 is not included in the first routing domain, and S1 is not included in the second routing domain.
其中,第一主机中至少包括第一IR与第二IR,第一IR用于代替第一网关处理第一主机上第一路由域相关的转发信息,第一IR对应有路由表,其中记录了第一路由域相关的转发信息。类似的,第二IR用于替代第二网关处理第一主机上第二路由域相关的转发信息,第二IR对应有路由表,其中记录了第一路由域相关的转发信息。The first host is configured to include at least a first IR and a second IR, where the first IR is used to replace the first gateway to process forwarding information related to the first routing domain on the first host, where the first IR corresponds to a routing table, where the recorded Forwarding information related to the first routing domain. Similarly, the second IR is used to replace the second gateway to process the forwarding information related to the second routing domain on the first host, and the second IR corresponds to the routing table, where the forwarding information related to the first routing domain is recorded.
可选的,第一主机中包括第一交换机,若第一交换机上没有挂接第一路由域中的VM,则第一主机中也可以原本不包括第一IR,由SDN控制器创建第一IR。类似的,若第一交换机上没有挂接第二路由域中的VM,则第一主机中也可以原本不包括第二IR,由SDN控制器创建第二IR,此处不做限定。Optionally, the first host includes a first switch. If the first switch does not include the VM in the first routing domain, the first host may not include the first IR, and the first SDN controller creates the first switch. IR. Similarly, if the VM in the second routing domain is not attached to the first switch, the second host may not be included in the first host, and the second IR is created by the SDN controller, which is not limited herein.
其中,本步骤801中SDN控制器可以根据用户指令,确定S1与S3待互 通。其中,本步骤801为可选步骤。The SDN controller in step 801 can determine that S1 and S3 are to be mutually exchanged according to user instructions. through. Wherein, this step 801 is an optional step.
802、SDN控制器在第一IR上确定第一接口以及第一接口的第一IP地址,并在第二IR上确定第二接口以及第二接口的第二IP地址。其中,第一接口可以由SDN控制器创建,用于第一IR和第二IR互通。第一IP地址可以由SDN控制器分配,用于表示第一接口的IP地址。与之类似,第二接口可以由SDN控制器创建,用于第二IR和第一IR互通。第二IP地址可以由SDN控制器分配,用于表示第二接口的IP地址。其中,为了保证第一接口与第二接口后续能够正常连接,第一IP地址应不在第一路由域内,第二IP地址应不在第二路由域内。802. The SDN controller determines a first interface and a first IP address of the first interface on the first IR, and determines a second interface and a second IP address of the second interface on the second IR. The first interface may be created by the SDN controller for the first IR and the second IR interworking. The first IP address may be assigned by the SDN controller to indicate the IP address of the first interface. Similarly, the second interface can be created by the SDN controller for the second IR and the first IR interworking. The second IP address may be assigned by the SDN controller to indicate the IP address of the second interface. The first IP address should not be in the first routing domain, and the second IP address should not be in the second routing domain, in order to ensure that the first interface and the second interface can be connected normally.
可选的,第一IP地址和/或第二IP地址可以属于本地链路地址网段(英文:link local address),即169.254网段。该网段一般不会被正常的网络业务使用到,将该网段的地址分配给第一接口和/或第二接口,能够保证S1和S3互通后正常网络业务的IP使用范围不会受到影响。Optionally, the first IP address and/or the second IP address may belong to a link local address (English: link local address), that is, a network segment of 169.254. The network segment is generally not used by the normal network service. The IP address of the normal network service is not affected after the S1 and S3 are connected to the first interface and/or the second interface. .
803、SDN控制器在第一接口和第二接口之间创建网络连接,以在创建的网络连接上交换S1和S3之间的数据。803. The SDN controller creates a network connection between the first interface and the second interface to exchange data between S1 and S3 on the created network connection.
具体的,SDN控制器可以通过以太接口对(英文:eth-pair)将第一接口与第二接口互连起来;或者,SDN控制器可以将第一接口与第二接口加入第一交换机,使得第一IR与第二IR可以通过第一交换机来交换S1和S3之间的报文。可选的,第一交换机可以将第一接口和第二接口加入未使用的虚拟局域网(英文:vlan)中,以避免第一接口与第二接口对正常网络业务造成影响。可选的,第一接口和第二接口可以接入相同的vlan,以提高第一IR和第二IR的报文传输效率。Specifically, the SDN controller may interconnect the first interface and the second interface by using an Ethernet interface pair (English: eth-pair); or the SDN controller may add the first interface and the second interface to the first switch, so that The first IR and the second IR may exchange messages between S1 and S3 through the first switch. Optionally, the first switch can add the first interface and the second interface to the unused virtual local area network (English: vlan) to prevent the first interface and the second interface from affecting normal network services. Optionally, the first interface and the second interface can access the same VLAN to improve packet transmission efficiency of the first IR and the second IR.
可选的,第一主机中也可以设置一个小型的虚拟交换机,SDN控制器可以将第一接口与第二接口加入该小型的虚拟交换机中。Optionally, a small virtual switch can also be configured in the first host, and the SDN controller can add the first interface and the second interface to the small virtual switch.
804、SDN控制器向第一IR对应的路由表中添加第一路由条目。该第一路由条目表示:若待转发报文的目的IP地址属于S3,则待转发报文的下一跳为第二IP地址。第一IR的对应路由表中的第一路由条目的形式有很多,例如可以如表3所示:804. The SDN controller adds a first routing entry to a routing table corresponding to the first IR. The first route entry indicates that if the destination IP address of the packet to be forwarded belongs to S3, the next hop of the packet to be forwarded is the second IP address. The first routing entry in the corresponding routing table of the first IR has many forms, for example, as shown in Table 3:
目的IP地址Destination IP address 下一跳Next hop
网段S3Segment S3 第二IP地址Second IP address
表3table 3
SDN控制器向第一IR的路由表中添加了第一路由条目之后,第一IR就可以根据第一路由条目,将目的IP地址属于S3的待转发报文发送到第二IP地址,然后由第二IR进行后续的转发操作。After the SDN controller adds the first routing entry to the routing table of the first IR, the first IR may send the to-be-forwarded packet whose destination IP address belongs to S3 to the second IP address according to the first routing entry, and then The second IR performs a subsequent forwarding operation.
可选的,SDN控制器还可以向第二IR对应的路由表中添加第二路由条目,该第二路由条目表示:若待转发报文的目的IP地址属于S1,则待转发报文的下一跳为第一IP地址。第二IR对应的路由表中的第二路由条目的形式有很多,例如可以如表4所示:Optionally, the SDN controller may further add a second routing entry to the routing table corresponding to the second IR, where the second routing entry indicates that if the destination IP address of the packet to be forwarded belongs to S1, the packet to be forwarded is One hop is the first IP address. The second routing entry in the routing table corresponding to the second IR has many forms, for example, as shown in Table 4:
目的IP地址Destination IP address 下一跳Next hop
网段S1Network segment S1 第一IP地址First IP address
表4Table 4
SDN控制器向第二IR的路由表中添加了第二路由条目之后,第二IR就可以根据第二路由条目,将目的IP地址属于S1的待转发报文发送到第一IP地址,然后由第一IR进行后续的转发操作。After the SDN controller adds the second routing entry to the routing table of the second IR, the second IR may send the to-be-forwarded packet whose destination IP address belongs to S1 to the first IP address according to the second routing entry, and then The first IR performs a subsequent forwarding operation.
805、VM 1向第一交换机发送第三报文,第三报文的目的IP地址为VM 6。第一交换机接收第三报文。其中,VM 1属于第一路由域中的S1网段,VM 6属于第二路由域中的S3网段。805. The VM 1 sends a third packet to the first switch, where the destination IP address of the third packet is VM 6. The first switch receives the third packet. The VM 1 belongs to the S1 network segment in the first routing domain, and the VM 6 belongs to the S3 network segment in the second routing domain.
806、第一交换机将第三报文发送给第一IR,第一IR接收第三报文。806. The first switch sends the third packet to the first IR, where the first IR receives the third packet.
807、第一IR在第一IR对应的路由表中查找第三报文的匹配路由,得到第一路由条目,进而确定第三报文的下一跳为第二IP地址。于是第一IR根据查找到的第一路由条目将第三报文发往第二IR的第二接口。第二IR接收第三报文。807. The first IR searches for the matching route of the third packet in the routing table corresponding to the first IR, and obtains the first routing entry, and further determines that the next hop of the third packet is the second IP address. The first IR then sends the third message to the second interface of the second IR according to the first route entry found. The second IR receives the third message.
808、第二IR查找第三报文的匹配路由,由于第二IR用于处理第二路由域的转发信息,因此能够正常查找到第三报文的下一跳。于是第二IR根据查找结果将第三报文发送给第二交换机。第二交换机接收第三报文808. The second IR searches for a matching route of the third packet. The second IR is used to process the forwarding information of the second routing domain, so that the next hop of the third packet can be normally found. Then, the second IR sends the third packet to the second switch according to the search result. The second switch receives the third packet.
809、第二交换机将第三报文发送给VM 6。809. The second switch sends the third packet to the VM 6.
其中,步骤803与804之间没有特定的顺序,步骤804也可以位于步骤803之前。 There is no specific order between steps 803 and 804, and step 804 may also be before step 803.
从步骤801~809可以看出,SDN控制器通过配置主机中不同路由域对应的IR互通,使得不同路由域之间的报文可以在主机中通过多个IR进行转发,其转发路径如图8(b)所示。将图8(b)与图4对比可以发现,本发明提供的网络配置方法能够缩短网络中报文的转发路径缩短,减少了报文封装解封装的次数,节约了网络资源。且本发明使得不同路由域之间的报文无需经过网关转发,能够减小网关路由器的压力,提升SDN的可用性。It can be seen from steps 801 to 809 that the SDN controller configures the IR communication of different routing domains in the host to enable packets between different routing domains to be forwarded through multiple IRs in the host. (b) is shown. Comparing FIG. 8(b) with FIG. 4, it can be found that the network configuration method provided by the present invention can shorten the forwarding path of packets in the network, reduce the number of times of packet encapsulation and decapsulation, and save network resources. Moreover, the present invention enables packets between different routing domains to be forwarded without going through a gateway, which can reduce the pressure of the gateway router and improve the availability of the SDN.
值得指出的是,现有技术中,主机上一般只配置有虚拟交换机所挂接的VM所对应的IR。即现有技术中,若第一交换机上没有挂接第二路由域的VM,则会删除第二IR。但是本申请中,第二IR可以用于将第一路由域的报文转发到第二路由域,因此可选的,本发明中SDN控制器只有在第一交换机上既没有挂接第一路由域的VM也没有挂接第二路由域的VM时,才会删除第一IR和第二IR。It is worth noting that in the prior art, only the IR corresponding to the VM connected to the virtual switch is configured on the host. That is, in the prior art, if the VM of the second routing domain is not attached to the first switch, the second IR is deleted. However, in the present application, the second IR may be used to forward the packet of the first routing domain to the second routing domain. Therefore, in the present invention, the SDN controller only has no first route attached to the first switch. The first IR and the second IR are deleted only when the VM of the domain does not mount the VM of the second routing domain.
本发明实施例还提供了相关的路由确定装置,该路由确定装置可以通过图5中的SDN控制器或图6中的计算设备来实现,或通过专用集成电路(英文:application-specific integrated circuit,缩写:ASIC)或可编程逻辑器件(英文:programmable logic device,缩写:PLD)实现。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic array logic,缩写:GAL)或其任意组合。该路由确定装置用于实现图7所示的路由确定方法。The embodiment of the present invention further provides a related route determining device, which may be implemented by the SDN controller in FIG. 5 or the computing device in FIG. 6, or through an application-specific integrated circuit (English: application-specific integrated circuit, Abbreviation: ASIC) or programmable logic device (English: programmable logic device, abbreviation: PLD) implementation. The above PLD can be a complex programmable logic device (English: complex programmable logic device, abbreviation: CPLD), field-programmable gate array (English: field-programmable gate array, abbreviation: FPGA), general array logic (English: generic array Logic, abbreviation: GAL) or any combination thereof. The route determining means is for implementing the route determining method shown in FIG.
路由确定装置的组织结构示意图如图9所示,包括:消息接收模块901、信息确定模块902、流表发送模块903。其中,消息接收模块901用于执行图7中的步骤704,接收第一报文的报文信息。信息确定模块902用于根据第一报文的报文信息,确定第一报文的转发信息,具体可以用于执行图7中的步骤705至707。流表发送模块903用于执行图7中的步骤708。As shown in FIG. 9, the schematic diagram of the organization of the route determining apparatus includes a message receiving module 901, an information determining module 902, and a flow table sending module 903. The message receiving module 901 is configured to perform step 704 in FIG. 7 and receive message information of the first packet. The information determining module 902 is configured to determine, according to the packet information of the first packet, the forwarding information of the first packet, which may be used to perform steps 705 to 707 in FIG. 7 . The flow table sending module 903 is configured to perform step 708 in FIG.
可选的,路由确定装置还可以包括可选模块:表项添加模块904,用于执行图7所示的实施例中,向第一转发信息表中添加第一目标表项的步骤702,或用于执行向第一转发信息表中添加第二目标表项以及向第三转发信息表中添加第三目标表项的步骤。相对应的,信息确定模块902则执行图7所示的实 施例中,根据第一报文的目的IP地址查找第一转发信息表获取第二目标表项,并根据第二目标表项中的第二指示信息字段跳转到第三转发信息表获取第三目标表项,并根据第三目标表项中的第三指示信息字段跳转到第二转发信息表中查找第一报文的匹配表项的步骤。Optionally, the route determining apparatus may further include an optional module: an entry adding module 904, configured to perform the step 702 of adding the first target entry to the first forwarding information table in the embodiment shown in FIG. 7, or And a step of performing adding a second target entry to the first forwarding information table and adding a third target entry to the third forwarding information table. Correspondingly, the information determining module 902 performs the implementation shown in FIG. In the embodiment, the first forwarding information table is searched according to the destination IP address of the first packet to obtain the second target entry, and the second indication information field in the second target entry is used to jump to the third forwarding information table to obtain the first The third target entry, and the step of searching for the matching entry of the first packet according to the third indication information field in the third target entry to the second forwarding information table.
可选的,路由确定装置还可以包括可选模块:添加表项模块905,用于执行图7所示的实施例中,确定待添加的表项,并将待添加的表项添加到第一转发信息表中的步骤。相应的,信息确定模块则执行图7所示的实施例中,在第一转发信息表添加的表项中直接查找到匹配表项,进而获取第一报文的转发信息的步骤。Optionally, the route determining apparatus may further include an optional module: an add-on entry module 905, configured to perform the embodiment shown in FIG. 7, determine the entry to be added, and add the entry to be added to the first Forward the steps in the information table. Correspondingly, the information determining module performs the step of directly searching for the matching entry in the entry added by the first forwarding information table to obtain the forwarding information of the first packet.
本发明实施例还提供了相关的网络配置装置,该网络配置装置可以通过图5中的SDN控制器或图6中的计算设备来实现,或通过ASIC、CPLD、FPGA、GAL中的一项或几项的组合来实现。该网络配置装置用于实现图8所示的网络配置方法。The embodiment of the present invention further provides related network configuration apparatus, which may be implemented by the SDN controller in FIG. 5 or the computing device in FIG. 6, or by one of an ASIC, a CPLD, an FPGA, a GAL, or A combination of several items is implemented. The network configuration device is used to implement the network configuration method shown in FIG.
网络配置装置的组织结构示意图如图10所示,包括:创建接口模块1001、网络连接模块1002、路由添加模块1003。其中,创建接口模块1001用于执行图8中步骤802,网络连接模块1002用于执行图8中的步骤803,路由添加模块1003用于执行图8中的步骤804。As shown in FIG. 10, the schematic diagram of the organization of the network configuration apparatus includes: an interface module 1001, a network connection module 1002, and a route adding module 1003. The create interface module 1001 is configured to perform step 802 in FIG. 8. The network connection module 1002 is configured to perform step 803 in FIG. 8. The route adding module 1003 is configured to perform step 804 in FIG.
可选的,网络配置装置还包括可选模块:IR管理模块1004,用于执行图8所示的实施例中,在第一主机不包括第二IR时创建第二IR的步骤,以及当第一交换机既没有挂接第一路由域的VM也没有挂接第二路由域的VM时,删除第一IR和第二IR的步骤。Optionally, the network configuration device further includes an optional module: an IR management module 1004, configured to perform the step of creating a second IR when the first host does not include the second IR, and when The step of deleting the first IR and the second IR when a switch does not mount the VM of the first routing domain nor the VM of the second routing domain.
本申请中,“第一”,“第二”,“第三”等,用于区分类型相同的不同个体,并不表示这些个体之间具有顺序、层级或者其它依赖关系。In the present application, "first", "second", "third", etc., are used to distinguish different individuals of the same type, and do not indicate that there is a sequence, hierarchy or other dependency between the individuals.
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。In the above embodiments, the descriptions of the various embodiments are different, and the details that are not detailed in a certain embodiment can be referred to the related descriptions of other embodiments.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working process of the above-mentioned module can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置可以 通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided by the present application, it should be understood that the disclosed method and apparatus may It is achieved in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the modules is only a logical function division. In actual implementation, there may be another division manner. For example, multiple modules may be combined or integrated. Go to another device, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interface, module indirect coupling or communication connection, and may be in electrical, mechanical or other form.
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。The modules described as separate components may or may not be physically separated. The components displayed as modules may or may not be physical modules, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。In addition, each functional module in each embodiment of the present invention may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules.
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。The integrated modules, if implemented in the form of software functional modules and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention, which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium. A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、改进等,均应包括在本发明的保护范围之内。 The specific embodiments of the present invention have been described in detail with reference to the preferred embodiments of the present invention. The scope of protection, any modifications, improvements, etc., which are made based on the technical solutions of the present invention, are intended to be included in the scope of the present invention.

Claims (33)

  1. 一种路由确定方法,适用于软件定义网络SDN,其特征在于,包括:A route determining method, applicable to a software defined network SDN, characterized in that:
    从源交换机处接收待转发报文的报文信息,所述待转发报文的报文信息包括所述待转发报文的目的互联网协议IP地址,所述待转发报文来自第一路由域,所述待转发报文的目的IP地址属于第二路由域;Receiving, by the source switch, the packet information of the packet to be forwarded, where the packet information of the to-be-forwarded packet includes the destination Internet Protocol IP address of the to-be-forwarded packet, and the to-be-forwarded packet is from the first routing domain. The destination IP address of the to-be-forwarded packet belongs to the second routing domain.
    根据所述待转发报文的报文信息,确定所述待转发报文的转发信息,所述待转发报文的转发信息包括目的介质控制访问MAC地址和所述待转发报文的发送端口和目的虚拟网络标识VNI;Determining the forwarding information of the to-be-forwarded packet according to the packet information of the to-be-forwarded packet, where the forwarding information of the to-be-forwarded packet includes a destination medium control access MAC address and a sending port of the to-be-forwarded packet Destination virtual network identifier VNI;
    生成目标流表,并将所述目标流表发送给所述源交换机,所述目标流表携带所述待转发报文的转发信息和操作指示,所述操作指示用于指示所述源交换机将所述待转发报文中的所述第一路由域对应的网关的MAC地址修改为所述目的MAC地址,将所述目的VNI添加到所述待转发报文,以及从所述待转发报文的发送端口转发调整后的所述待转发报文。Generating a target flow table, and sending the target flow table to the source switch, where the target flow table carries forwarding information and an operation indication of the to-be-forwarded packet, where the operation indication is used to indicate that the source switch The MAC address of the gateway corresponding to the first routing domain in the to-be-forwarded packet is modified to be the destination MAC address, and the destination VNI is added to the to-be-forwarded packet, and the packet to be forwarded is sent. The sending port forwards the adjusted packet to be forwarded.
  2. 根据权利要求1所述的路由确定方法,其特征在于,所述根据所述待转发报文的报文信息,确定所述待转发报文的转发信息包括:The route determining method according to claim 1, wherein the determining, according to the packet information of the to-be-forwarded packet, the forwarding information of the to-be-forwarded packet includes:
    根据所述待转发报文的报文信息,查找所述第一路由域的转发信息表获取目标表项,所述目标表项包括目的网段,所述目的网段属于所述第二路由域且与所述待转发报文的目的IP地址匹配;Determining, by the packet information of the to-be-forwarded packet, the forwarding information table of the first routing domain to obtain a target entry, where the target entry includes a destination network segment, and the destination network segment belongs to the second routing domain And matching the destination IP address of the to-be-forwarded packet;
    根据所述目标表项的指示,跳转到所述第二路由域的转发信息表中获取所述待转发报文的报文信息的匹配表项;And obtaining, according to the indication of the target entry, a matching entry of the packet information of the to-be-forwarded packet, in the forwarding information table of the second routing domain;
    从所述待转发报文的报文信息的匹配表项中获取所述待转发报文的转发信息。Obtaining the forwarding information of the to-be-forwarded packet from the matching entry of the packet information of the to-be-forwarded packet.
  3. 根据权利要求2所述的路由确定方法,其特征在于,所述方法在所述根据所述待转发报文的报文信息,查找所述第一路由域的转发信息表获取目标表项之前包括:The route determining method according to claim 2, wherein the method includes: before searching the forwarding information table of the first routing domain according to the packet information of the to-be-forwarded packet, obtaining the target entry :
    向所述第一路由域的转发信息表中添加所述目标表项。Adding the target entry to the forwarding information table of the first routing domain.
  4. 根据权利要求2或3所述的路由确定方法,其特征在于,所述目标表项包括:The route determining method according to claim 2 or 3, wherein the target entry comprises:
    条件信息字段,包括所述目的网段; a condition information field, including the destination network segment;
    指示信息字段,用于指示跳转到所述第二路由域的转发信息表。And an indication information field, configured to indicate a forwarding information table that jumps to the second routing domain.
  5. 根据权利要求4所述的路由确定方法,其特征在于,所述根据所述待转发报文的报文信息,查找所述第一路由域的转发信息表获取目标表项包括:The route determining method according to claim 4, wherein the obtaining, according to the packet information of the to-be-forwarded packet, the forwarding information table of the first routing domain to obtain a target entry includes:
    根据所述待转发报文的目的IP地址获取所述目标表项;Obtaining the target entry according to the destination IP address of the to-be-forwarded packet;
    所述根据所述目标表项的指示,跳转到所述第二路由域的转发信息表中获取所述待转发报文的报文信息的匹配表项包括:And the matching entry that obtains the packet information of the to-be-forwarded packet in the forwarding information table of the second routing domain, according to the indication of the target entry, includes:
    根据所述指示信息字段的指示,跳转到所述第二路由域的转发信息表中获取所述待转发报文的报文信息的匹配表项。And obtaining, according to the indication of the indication information field, a matching entry of the packet information of the to-be-forwarded packet, in the forwarding information table of the second routing domain.
  6. 根据权利要求1所述的路由确定方法,其特征在于,所述根据所述待转发报文的报文信息,确定所述待转发报文的转发信息前包括:The route determining method according to claim 1, wherein the determining, according to the packet information of the to-be-forwarded packet, the forwarding information of the to-be-forwarded packet includes:
    在所述第二路由域的转发信息表中确定待添加表项,所述待添加表项对应于待添加目的网段,所述待添加目的网段属于所述第二路由域且与所述待转发报文的目的IP地址匹配;Determining, in the forwarding information table of the second routing domain, an entry to be added, where the to-be-added entry belongs to the destination network segment to be added, and the destination network segment to be added belongs to the second routing domain and The destination IP address of the packet to be forwarded matches.
    将所述待添加表项添加到所述第一路由域的转发信息表中;Adding the to-be-added entry to the forwarding information table of the first routing domain;
    所述根据所述待转发报文的报文信息,确定所述待转发报文的转发信息包括:Determining, according to the packet information of the to-be-forwarded packet, the forwarding information of the to-be-forwarded packet includes:
    根据所述待转发报文的目的IP地址,查找所述第一路由域的转发信息表获取所述待添加表项,根据所述待添加表项获取所述待转发报文的转发信息。And the forwarding information table of the first routing domain is obtained according to the destination IP address of the to-be-forwarded packet, and the to-be-added entry is obtained, and the forwarding information of the to-be-forwarded packet is obtained according to the to-be-added entry.
  7. 一种网络配置方法,适用于软件定义网络SDN,其特征在于,所述SDN还包括目标主机,所述方法包括:A network configuration method, which is applicable to a software-defined network SDN, wherein the SDN further includes a target host, and the method includes:
    在所述目标主机中的第一内部路由器IR上创建第一接口,并为所述第一接口分配第一互联网协议IP地址;在所述目标主机中的第二IR上创建第二接口,并为所述第二接口分配第二IP地址,所述第一IR用于处理第一路由域的转发信息,所述第二IR用于处理第二路由域的转发信息,所述第一IP地址不在所述第一路由域内,所述第二IP地址不在所述第二路由域内;Creating a first interface on the first internal router IR of the target host, and assigning a first Internet Protocol IP address to the first interface; creating a second interface on the second IR in the target host, and Assigning a second IP address to the second interface, where the first IR is used to process forwarding information of the first routing domain, and the second IR is used to process forwarding information of the second routing domain, the first IP address Not in the first routing domain, the second IP address is not in the second routing domain;
    在所述第一接口与所述第二接口之间创建用于交换数据的网络连接;Creating a network connection for exchanging data between the first interface and the second interface;
    向所述第一IR的路由表中添加第一路由条目,所述第一路由条目包括第一目的地址字段和第一下一跳字段,所述第一目的地址字段中包括第二路由域中的第二网段,所述第一下一跳字段中包括所述第二IP地址。 Adding a first routing entry to the routing table of the first IR, where the first routing entry includes a first destination address field and a first next hop field, where the first destination address field includes a second routing domain The second network segment, where the first next hop field includes the second IP address.
  8. 根据权利要求7所述的网络配置方法,其特征在于,所述方法还包括:The network configuration method according to claim 7, wherein the method further comprises:
    向所述第二IR的路由表中添加第二路由条目,所述第二路由条目包括第二目的地址字段和第二下一跳字段,所述第二目的地址字段中包括第一路由域中的第一网段,所述第二下一跳字段中包括所述第一IP地址。Adding a second routing entry to the routing table of the second IR, where the second routing entry includes a second destination address field and a second next hop field, where the second destination address field includes the first routing domain The first network segment includes the first IP address in the second next hop field.
  9. 根据权利要求7或8所述的网络配置方法,其特征在于,所述在所述目标主机中的第二IR上创建第二接口,并为所述第二接口分配第二IP地址之前还包括:The network configuration method according to claim 7 or 8, wherein the creating a second interface on the second IR in the target host and before assigning the second IP address to the second interface further includes :
    若所述目标主机不包括所述第二IR,则在所述目标主机中创建所述第二IR。If the target host does not include the second IR, the second IR is created in the target host.
  10. 根据权利要求7至9中任一项所述的网络配置方法,其特征在于,所述第一IP地址和/或所述第二IP地址属于本地链路地址网段。The network configuration method according to any one of claims 7 to 9, wherein the first IP address and/or the second IP address belong to a link-local address network segment.
  11. 根据权利要求7至10中任一项所述的网络配置方法,其特征在于,所述目标主机还包括虚拟交换机,以及连接在所述虚拟交换机上的一个或多个虚拟机VM,所述方法还包括:The network configuration method according to any one of claims 7 to 10, wherein the target host further comprises a virtual switch, and one or more virtual machines VM connected to the virtual switch, the method Also includes:
    当所述虚拟交换机上连接的VM均不属于所述第一路由域和所述第二路由域时,删除所述第一IR与所述第二IR。And deleting, when the VMs connected to the virtual switch do not belong to the first routing domain and the second routing domain, deleting the first IR and the second IR.
  12. 一种路由确定装置,适用于软件定义网络SDN,其特征在于,包括:A route determining apparatus, which is applicable to a software-defined network SDN, and includes:
    消息接收模块,用于从源交换机处接收待转发报文的报文信息,所述待转发报文的报文信息包括所述待转发报文的目的互联网协议IP地址,所述待转发报文来自第一路由域,所述待转发报文的目的IP地址属于第二路由域;The message receiving module is configured to receive the packet information of the to-be-forwarded packet from the source switch, where the packet information of the to-be-forwarded packet includes the destination Internet Protocol IP address of the to-be-forwarded packet, and the to-be-forwarded packet From the first routing domain, the destination IP address of the to-be-forwarded packet belongs to the second routing domain;
    信息确定模块,用于根据所述待转发报文的报文信息,确定所述待转发报文的转发信息,所述待转发报文的转发信息包括目的介质控制访问MAC地址、所述待转发报文的发送端口和目的虚拟网络标识VNI;The information determining module is configured to determine, according to the packet information of the to-be-forwarded packet, the forwarding information of the to-be-forwarded packet, where the forwarding information of the to-be-forwarded packet includes a destination medium control access MAC address, and the to-be-forwarded The sending port of the packet and the destination virtual network identifier VNI;
    流表发送模块,用于生成目标流表,并将所述目标流表发送给所述源交换机,所述目标流表携带所述待转发报文的转发信息和操作指示,所述操作指示用于指示所述源交换机将所述待转发报文中的所述第一路由域对应的网关的MAC地址修改为所述目的MAC地址,将所述目的VNI添加到所述待转发报文,以及从所述待转发报文的发送端口转发调整后的所述待转发报文。a flow table sending module, configured to generate a target flow table, and send the target flow table to the source switch, where the target flow table carries forwarding information and an operation indication of the to-be-forwarded packet, where the operation indication is used And the source switch is configured to modify the MAC address of the gateway corresponding to the first routing domain in the to-be-forwarded packet to the destination MAC address, and add the destination VNI to the to-be-forwarded packet, and And the adjusted to-be-forwarded packet is forwarded from the sending port of the to-be-forwarded packet.
  13. 根据权利要求12所述的路由确定装置,其特征在于,所述信息确定 模块用于:The route determining apparatus according to claim 12, wherein said information is determined The module is used to:
    根据所述待转发报文的报文信息,查找所述第一路由域的转发信息表获取目标表项,所述目标表项包括目的网段,所述目的网段属于所述第二路由域且与所述待转发报文的目的IP地址匹配;Determining, by the packet information of the to-be-forwarded packet, the forwarding information table of the first routing domain to obtain a target entry, where the target entry includes a destination network segment, and the destination network segment belongs to the second routing domain And matching the destination IP address of the to-be-forwarded packet;
    根据所述目标表项的指示,跳转到所述第二路由域的转发信息表中获取所述待转发报文的报文信息的匹配表项;And obtaining, according to the indication of the target entry, a matching entry of the packet information of the to-be-forwarded packet, in the forwarding information table of the second routing domain;
    从所述待转发报文的报文信息的匹配表项中获取所述待转发报文的转发端口。Obtaining, from the matching entry of the packet information of the to-be-forwarded packet, the forwarding port of the to-be-forwarded packet.
  14. 根据权利要求13所述的路由确定装置,其特征在于,所述装置还包括:The route determining apparatus according to claim 13, wherein the apparatus further comprises:
    表项添加模块,用于向所述第一路由域的转发信息表中添加所述目标表项。An entry adding module, configured to add the target entry to a forwarding information table of the first routing domain.
  15. 根据权利要求13或14所述的路由确定装置,其特征在于,所述目标表项包括:The route determining apparatus according to claim 13 or 14, wherein the target entry comprises:
    条件信息字段,包括所述目的网段;a condition information field, including the destination network segment;
    指示信息字段,用于指示跳转到所述第二路由域的转发信息表。And an indication information field, configured to indicate a forwarding information table that jumps to the second routing domain.
  16. 根据权利要求14所述的路由确定装置,其特征在于,所述信息确定模块还用于:The route determining apparatus according to claim 14, wherein the information determining module is further configured to:
    根据所述待转发报文的目的IP地址获取所述目标表项;Obtaining the target entry according to the destination IP address of the to-be-forwarded packet;
    根据所述指示信息字段的指示,跳转到所述第二路由域的转发信息表中获取所述待转发报文的报文信息的匹配表项。And obtaining, according to the indication of the indication information field, a matching entry of the packet information of the to-be-forwarded packet, in the forwarding information table of the second routing domain.
  17. 根据权利要求12所述的路由确定装置,其特征在于,所述装置还包括:The route determining apparatus according to claim 12, wherein the apparatus further comprises:
    添加表项模块,用于在所述第二路由域的转发信息表中确定待添加表项,所述待添加表项对应于待添加目的网段,所述待添加目的网段属于所述第二路由域且与所述待转发报文的目的IP地址匹配;将所述待添加表项添加到所述第一路由域的转发信息表中;Adding an entry module, configured to determine, in the forwarding information table of the second routing domain, an entry to be added, where the to-be-added entry corresponds to the destination network segment to be added, and the destination network segment to be added belongs to the first The routing domain is matched with the destination IP address of the to-be-forwarded packet; the to-be-added entry is added to the forwarding information table of the first routing domain;
    所述信息确定模块用于:根据所述待转发报文的目的IP地址,查找所述第一路由域的转发信息表获取所述待添加表项,根据所述待添加表项获取所述 待转发报文的转发信息。The information determining module is configured to: according to the destination IP address of the to-be-forwarded packet, search the forwarding information table of the first routing domain, obtain the to-be-added entry, and obtain the Forwarding information of the packet to be forwarded.
  18. 一种网络配置装置,适用于软件定义网络SDN,其特征在于,所述SDN还包括目标主机,所述装置包括:A network configuration device, which is applicable to a software-defined network SDN, wherein the SDN further includes a target host, and the device includes:
    接口创建模块,用于在所述目标主机中的第一内部路由器IR上创建第一接口,并为所述第一接口分配第一互联网协议IP地址;在所述目标主机中的第二IR上创建第二接口,并为所述第二接口分配第二IP地址,所述第一IR用于处理第一路由域的转发信息,所述第二IR用于处理第二路由域的转发信息,所述第一IP地址不在所述第一路由域内,所述第二IP地址不在所述第二路由域内;An interface creation module, configured to create a first interface on the first internal router IR in the target host, and allocate a first Internet Protocol IP address to the first interface; on the second IR in the target host Creating a second interface, and assigning a second IP address to the second interface, where the first IR is used to process forwarding information of the first routing domain, and the second IR is used to process forwarding information of the second routing domain, The first IP address is not in the first routing domain, and the second IP address is not in the second routing domain;
    网络连接模块,用于在所述第一接口与所述第二接口之间创建用于交换数据的网络连接;a network connection module, configured to create a network connection for exchanging data between the first interface and the second interface;
    路由添加模块,用于向所述第一IR的路由表中添加第一路由条目,所述第一路由条目包括第一目的地址字段和第一下一跳字段,所述第一目的地址字段中包括第二路由域中的第二网段,所述第一下一跳字段中包括所述第二IP地址。a route adding module, configured to add a first routing entry to the routing table of the first IR, where the first routing entry includes a first destination address field and a first next hop field, where the first destination address field is The second network segment in the second routing domain is included, and the second IP address is included in the first next hop field.
  19. 根据权利要求18所述的网络配置装置,其特征在于,所述路由添加模块还用于:The network configuration apparatus according to claim 18, wherein the route adding module is further configured to:
    向所述第二IR的路由表中添加第二路由条目,所述第二路由条目包括第二目的地址字段和第二下一跳字段,所述第二目的地址字段中包括第一路由域中的第一网段,所述第二下一跳字段中包括所述第一IP地址。Adding a second routing entry to the routing table of the second IR, where the second routing entry includes a second destination address field and a second next hop field, where the second destination address field includes the first routing domain The first network segment includes the first IP address in the second next hop field.
  20. 根据权利要求18或19所述的网络配置装置,其特征在于,所述装置还包括:The network configuration device according to claim 18 or 19, wherein the device further comprises:
    IR管理模块,用于在所述目标主机不包括所述第二IR时,在所述目标主机中创建所述第二IR。An IR management module, configured to create the second IR in the target host when the target host does not include the second IR.
  21. 根据权利要求18至20中任一项所述的网络配置装置,其特征在于,所述第一IP地址和/或所述第二IP地址属于本地链路地址网段。The network configuration apparatus according to any one of claims 18 to 20, wherein the first IP address and/or the second IP address belong to a link-local address network segment.
  22. 根据权利要求18至21中任一项所述的网络配置装置,其特征在于,所述目标主机还包括虚拟交换机,以及连接在所述虚拟交换机上的一个或多个虚拟机VM; The network configuration apparatus according to any one of claims 18 to 21, wherein the target host further comprises a virtual switch, and one or more virtual machines VM connected to the virtual switch;
    所述IR管理模块还用于:当所述虚拟交换机上连接的VM均不属于所述第一路由域和所述第二路由域时,删除所述第一IR与所述第二IR。The IR management module is further configured to delete the first IR and the second IR when none of the VMs connected to the virtual switch belong to the first routing domain and the second routing domain.
  23. 一种计算设备,其特征在于,包括处理器、存储器和通信接口,通过调用所述存储器中的指令,所述处理器用于:A computing device, comprising a processor, a memory, and a communication interface, by calling an instruction in the memory, the processor is configured to:
    从源交换机处接收待转发报文的报文信息,所述待转发报文的报文信息包括所述待转发报文的目的互联网协议IP地址,所述待转发报文来自第一路由域,所述待转发报文的目的IP地址属于第二路由域;Receiving, by the source switch, the packet information of the packet to be forwarded, where the packet information of the to-be-forwarded packet includes the destination Internet Protocol IP address of the to-be-forwarded packet, and the to-be-forwarded packet is from the first routing domain. The destination IP address of the to-be-forwarded packet belongs to the second routing domain.
    根据所述待转发报文的报文信息,确定所述待转发报文的转发信息,所述待转发报文的转发信息包括目的介质控制访问MAC地址、所述待转发报文的发送端口和目的虚拟网络标识VNI;And determining, according to the packet information of the to-be-forwarded packet, the forwarding information of the to-be-forwarded packet, where the forwarding information of the to-be-forwarded packet includes a destination medium control access MAC address, a sending port of the to-be-forwarded packet, and Destination virtual network identifier VNI;
    生成目标流表,并将所述目标流表发送给所述源交换机,所述目标流表携带所述待转发报文的转发信息和操作指示,所述操作指示用于指示所述源交换机将所述待转发报文中的所述第一路由域对应的网关的MAC地址修改为所述目的MAC地址,将所述目的VNI添加到所述待转发报文,以及从所述待转发报文的发送端口转发调整后的所述待转发报文。Generating a target flow table, and sending the target flow table to the source switch, where the target flow table carries forwarding information and an operation indication of the to-be-forwarded packet, where the operation indication is used to indicate that the source switch The MAC address of the gateway corresponding to the first routing domain in the to-be-forwarded packet is modified to be the destination MAC address, and the destination VNI is added to the to-be-forwarded packet, and the packet to be forwarded is sent. The sending port forwards the adjusted packet to be forwarded.
  24. 根据权利要求23所述的计算设备,其特征在于,所述处理器还用于:The computing device of claim 23, wherein the processor is further configured to:
    根据所述待转发报文的报文信息,查找所述第一路由域的转发信息表获取目标表项,所述目标表项包括目的网段,所述目的网段属于所述第二路由域且与所述待转发报文的目的IP地址匹配;Determining, by the packet information of the to-be-forwarded packet, the forwarding information table of the first routing domain to obtain a target entry, where the target entry includes a destination network segment, and the destination network segment belongs to the second routing domain And matching the destination IP address of the to-be-forwarded packet;
    根据所述目标表项的指示,跳转到所述第二路由域的转发信息表中获取所述待转发报文的报文信息的匹配表项;And obtaining, according to the indication of the target entry, a matching entry of the packet information of the to-be-forwarded packet, in the forwarding information table of the second routing domain;
    从所述待转发报文的报文信息的匹配表项中获取所述待转发报文的转发信息。Obtaining the forwarding information of the to-be-forwarded packet from the matching entry of the packet information of the to-be-forwarded packet.
  25. 根据权利要求24所述的计算设备,其特征在于,所述处理器还用于:The computing device of claim 24, wherein the processor is further configured to:
    向所述第一路由域的转发信息表中添加所述目标表项。Adding the target entry to the forwarding information table of the first routing domain.
  26. 根据权利要求24或25所述的计算设备,其特征在于,所述目标表项包括:The computing device of claim 24 or 25, wherein the target entry comprises:
    条件信息字段,包括所述目的网段;a condition information field, including the destination network segment;
    指示信息字段,用于指示跳转到所述第二路由域的转发信息表。 And an indication information field, configured to indicate a forwarding information table that jumps to the second routing domain.
  27. 根据权利要求26所述的计算设备,其特征在于,所述处理器还用于:The computing device of claim 26, wherein the processor is further configured to:
    根据所述待转发报文的目的IP地址获取所述目标表项;Obtaining the target entry according to the destination IP address of the to-be-forwarded packet;
    根据所述指示信息字段的指示,跳转到所述第二路由域的转发信息表中获取所述待转发报文的报文信息的匹配表项。And obtaining, according to the indication of the indication information field, a matching entry of the packet information of the to-be-forwarded packet, in the forwarding information table of the second routing domain.
  28. 根据权利要求23所述的计算设备,其特征在于,所述处理器还用于:The computing device of claim 23, wherein the processor is further configured to:
    在所述第二路由域的转发信息表中确定待添加表项,所述待添加表项对应于待添加目的网段,所述待添加目的网段属于所述第二路由域且与所述待转发报文的目的IP地址匹配;Determining, in the forwarding information table of the second routing domain, an entry to be added, where the to-be-added entry belongs to the destination network segment to be added, and the destination network segment to be added belongs to the second routing domain and The destination IP address of the packet to be forwarded matches.
    将所述待添加表项添加到所述第一路由域的转发信息表中;Adding the to-be-added entry to the forwarding information table of the first routing domain;
    所述根据所述待转发报文的报文信息,确定所述待转发报文的转发信息包括:Determining, according to the packet information of the to-be-forwarded packet, the forwarding information of the to-be-forwarded packet includes:
    根据所述待转发报文的目的IP地址,查找所述第一路由域的转发信息表获取所述待添加表项,根据所述待添加表项获取所述待转发报文的转发信息。And the forwarding information table of the first routing domain is obtained according to the destination IP address of the to-be-forwarded packet, and the to-be-added entry is obtained, and the forwarding information of the to-be-forwarded packet is obtained according to the to-be-added entry.
  29. 一种计算设备,适用于软件定义网络SDN,其特征在于,所述SDN包括目标主机,所述网络配置装置包括处理器、存储器和通信接口,通过调用所述存储器中的指令,所述处理器用于:A computing device, suitable for a software-defined network SDN, characterized in that the SDN comprises a target host, the network configuration device comprising a processor, a memory and a communication interface, by using an instruction in the memory, the processor to:
    在所述目标主机中的第一内部路由器IR上创建第一接口,并为所述第一接口分配第一互联网协议IP地址;在所述目标主机中的第二IR上创建第二接口,并为所述第二接口分配第二IP地址,所述第一IR用于处理第一路由域的转发信息,所述第二IR用于处理第二路由域的转发信息,所述第一IP地址不在所述第一路由域内,所述第二IP地址不在所述第二路由域内;Creating a first interface on the first internal router IR of the target host, and assigning a first Internet Protocol IP address to the first interface; creating a second interface on the second IR in the target host, and Assigning a second IP address to the second interface, where the first IR is used to process forwarding information of the first routing domain, and the second IR is used to process forwarding information of the second routing domain, the first IP address Not in the first routing domain, the second IP address is not in the second routing domain;
    在所述第一接口与所述第二接口之间创建用于交换数据的网络连接;Creating a network connection for exchanging data between the first interface and the second interface;
    向所述第一IR的路由表中添加第一路由条目,所述第一路由条目包括第一目的地址字段和第一下一跳字段,所述第一目的地址字段中包括第二路由域中的第二网段,所述第一下一跳字段中包括所述第二IP地址。Adding a first routing entry to the routing table of the first IR, where the first routing entry includes a first destination address field and a first next hop field, where the first destination address field includes a second routing domain The second network segment, where the first next hop field includes the second IP address.
  30. 根据权利要求29所述的计算设备,其特征在于,所述处理器还用于:The computing device of claim 29, wherein the processor is further configured to:
    向所述第二IR的路由表中添加第二路由条目,所述第二路由条目包括第二目的地址字段和第二下一跳字段,所述第二目的地址字段中包括第一路由域中的第一网段,所述第二下一跳字段中包括所述第一IP地址。 Adding a second routing entry to the routing table of the second IR, where the second routing entry includes a second destination address field and a second next hop field, where the second destination address field includes the first routing domain The first network segment includes the first IP address in the second next hop field.
  31. 根据权利要求29或30所述的计算设备,其特征在于,所述处理器还用于:The computing device of claim 29 or 30, wherein the processor is further configured to:
    若所述目标主机不包括所述第二IR,则在所述目标主机中创建所述第二IR。If the target host does not include the second IR, the second IR is created in the target host.
  32. 根据权利要求29至31中任一项所述的计算设备,其特征在于,所述第一IP地址和/或所述第二IP地址属于本地链路地址网段。The computing device according to any one of claims 29 to 31, wherein the first IP address and/or the second IP address belong to a link-local address network segment.
  33. 根据权利要求29至32中任一项所述的计算设备,其特征在于,所述目标主机还包括虚拟交换机,以及连接在所述虚拟交换机上的一个或多个虚拟机VM,所述处理器还用于:A computing device according to any one of claims 29 to 32, wherein the target host further comprises a virtual switch, and one or more virtual machines VM connected to the virtual switch, the processor Also used for:
    当所述虚拟交换机上连接的VM均不属于所述第一路由域和所述第二路由域时,删除所述第一IR与所述第二IR。 And deleting, when the VMs connected to the virtual switch do not belong to the first routing domain and the second routing domain, deleting the first IR and the second IR.
PCT/CN2015/100142 2015-12-31 2015-12-31 Route determining method, network configuration method and related device WO2017113300A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2015/100142 WO2017113300A1 (en) 2015-12-31 2015-12-31 Route determining method, network configuration method and related device
CN201580061147.4A CN107113241B (en) 2015-12-31 2015-12-31 Route determining method, network configuration method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/100142 WO2017113300A1 (en) 2015-12-31 2015-12-31 Route determining method, network configuration method and related device

Publications (1)

Publication Number Publication Date
WO2017113300A1 true WO2017113300A1 (en) 2017-07-06

Family

ID=59224405

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/100142 WO2017113300A1 (en) 2015-12-31 2015-12-31 Route determining method, network configuration method and related device

Country Status (2)

Country Link
CN (1) CN107113241B (en)
WO (1) WO2017113300A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109525684A (en) * 2018-12-11 2019-03-26 杭州数梦工场科技有限公司 Message forwarding method and device
CN113261242A (en) * 2018-12-28 2021-08-13 阿里巴巴集团控股有限公司 Overlay network routing using programmable switches
CN113273142A (en) * 2018-12-28 2021-08-17 阿里巴巴集团控股有限公司 Shunt controller control for programmable switch
CN113992584A (en) * 2021-10-26 2022-01-28 新华三信息安全技术有限公司 Message forwarding method and device

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109921994A (en) * 2017-12-12 2019-06-21 上海叠念信息科技有限公司 Network data package transmitting method based on OpenFlow two-stage flow table
CN109842560B (en) * 2019-04-17 2021-07-06 中国联合网络通信集团有限公司 Method and device for sending VxLAN message
CN112073317B (en) * 2019-06-10 2022-01-07 华为技术有限公司 Method and device for sending message flow
CN112565086A (en) * 2019-09-10 2021-03-26 阿里巴巴集团控股有限公司 Distributed network system, message forwarding method, device and storage medium
CN111431805B (en) * 2020-03-27 2021-01-12 上海天好信息技术股份有限公司 Internet of things multi-channel signal multiplexing synchronization strategy method
CN111600800B (en) * 2020-04-01 2022-06-28 武汉迈威通信股份有限公司 Method and device for discovering cross-network-segment topology
CN115037690A (en) * 2022-06-21 2022-09-09 阿里巴巴(中国)有限公司 Traffic scheduling method and device, electronic equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854291A (en) * 2009-03-31 2010-10-06 华为技术有限公司 Method, device and system for announcing cross-domain link information and calculating cross-domain path
CN103812779A (en) * 2012-11-08 2014-05-21 华为技术有限公司 Topology grading method and apparatus, and flooding processing method and apparatus
CN104115453A (en) * 2013-12-31 2014-10-22 华为技术有限公司 Method and device for achieving virtual machine communication
CN104426759A (en) * 2013-08-21 2015-03-18 华为技术有限公司 Host machine router acquiring method, host machine router acquiring device, and host machine router acquiring system
WO2015123849A1 (en) * 2014-02-20 2015-08-27 Wenbo Mao Method and apparatus for extending the internet into intranets to achieve scalable cloud network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104184664B (en) * 2014-08-05 2017-07-04 新华三技术有限公司 Route forwarding table items generation method and device
CN104780088B (en) * 2015-03-19 2018-07-31 新华三技术有限公司 A kind of transmission method and equipment of service message

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854291A (en) * 2009-03-31 2010-10-06 华为技术有限公司 Method, device and system for announcing cross-domain link information and calculating cross-domain path
CN103812779A (en) * 2012-11-08 2014-05-21 华为技术有限公司 Topology grading method and apparatus, and flooding processing method and apparatus
CN104426759A (en) * 2013-08-21 2015-03-18 华为技术有限公司 Host machine router acquiring method, host machine router acquiring device, and host machine router acquiring system
CN104115453A (en) * 2013-12-31 2014-10-22 华为技术有限公司 Method and device for achieving virtual machine communication
WO2015123849A1 (en) * 2014-02-20 2015-08-27 Wenbo Mao Method and apparatus for extending the internet into intranets to achieve scalable cloud network

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109525684A (en) * 2018-12-11 2019-03-26 杭州数梦工场科技有限公司 Message forwarding method and device
CN109525684B (en) * 2018-12-11 2022-09-30 杭州数梦工场科技有限公司 Message forwarding method and device
CN113261242A (en) * 2018-12-28 2021-08-13 阿里巴巴集团控股有限公司 Overlay network routing using programmable switches
CN113273142A (en) * 2018-12-28 2021-08-17 阿里巴巴集团控股有限公司 Shunt controller control for programmable switch
CN113261242B (en) * 2018-12-28 2023-03-03 阿里巴巴集团控股有限公司 Communication system and method implemented by communication system
CN113992584A (en) * 2021-10-26 2022-01-28 新华三信息安全技术有限公司 Message forwarding method and device

Also Published As

Publication number Publication date
CN107113241A (en) 2017-08-29
CN107113241B (en) 2020-09-04

Similar Documents

Publication Publication Date Title
WO2017113300A1 (en) Route determining method, network configuration method and related device
US11621869B2 (en) Enabling access to dedicated resources in a virtual network using top of rack switches
CN112470436B (en) Systems, methods, and computer-readable media for providing multi-cloud connectivity
US10320664B2 (en) Cloud overlay for operations administration and management
US10116559B2 (en) Operations, administration and management (OAM) in overlay data center environments
US10003571B2 (en) Method and apparatus for implementing communication between virtual machines
EP3401783B1 (en) Method and apparatus for determining virtual machine migration
US10708125B1 (en) Gateway configuration using a network manager
TWI744359B (en) Method for data transmission and network equipment
US9871720B1 (en) Using packet duplication with encapsulation in a packet-switched network to increase reliability
US20150358232A1 (en) Packet Forwarding Method and VXLAN Gateway
US8358661B2 (en) Remote adapter configuration
WO2017113306A1 (en) Method for sending virtual extensible local area network packet, computer device, and readable medium
WO2018137369A1 (en) Hybrid cloud management method, device, and computing apparatus
US11128489B2 (en) Maintaining data-plane connectivity between hosts
CN108141416A (en) A kind of message processing method, computing device and message process device
WO2017032300A1 (en) Data transmission method, virtual network management apparatus, and data transmission system
CN106331206B (en) Domain name management method and device
WO2022001669A1 (en) Method for establishing vxlan tunnel, and related device
US11695681B2 (en) Routing domain identifier assignment in logical network environments
US20190140937A1 (en) Weighted multipath routing configuration in software-defined network (sdn) environments
WO2019042303A1 (en) Packet forwarding
US20230216786A1 (en) Method for forwarding service packet, method for sending sr policy, device, and system
US11695665B2 (en) Cross-cloud connectivity checks
CN110022263B (en) Data transmission method and related device

Legal Events

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

Ref document number: 15911926

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

Country of ref document: EP

Kind code of ref document: A1