WO2018210094A1 - 报文传输方法、边缘设备及机器可读存储介质 - Google Patents

报文传输方法、边缘设备及机器可读存储介质 Download PDF

Info

Publication number
WO2018210094A1
WO2018210094A1 PCT/CN2018/083573 CN2018083573W WO2018210094A1 WO 2018210094 A1 WO2018210094 A1 WO 2018210094A1 CN 2018083573 W CN2018083573 W CN 2018083573W WO 2018210094 A1 WO2018210094 A1 WO 2018210094A1
Authority
WO
WIPO (PCT)
Prior art keywords
edge device
forwarding
forwarding table
forwarding entry
host
Prior art date
Application number
PCT/CN2018/083573
Other languages
English (en)
French (fr)
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 US16/610,245 priority Critical patent/US11184192B2/en
Priority to JP2019563879A priority patent/JP6989621B2/ja
Priority to EP18801795.8A priority patent/EP3605972B1/en
Publication of WO2018210094A1 publication Critical patent/WO2018210094A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/467Arrangements for supporting untagged frames, e.g. port-based VLANs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • 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/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Definitions

  • the present disclosure relates to the field of communications technologies, and in particular, to a message transmission method, an edge device, and a machine readable storage medium.
  • VXLAN Virtual eXtensible Local Area Network
  • MAC User Datagram Protocol
  • VXLAN can provide Layer 2 interconnection for distributed sites based on existing service providers or enterprise IP networks, and can provide service isolation for different tenants.
  • VXLAN is mainly used in data center networks, and data centers communicate with other data centers or external public networks through edge devices.
  • An embodiment of the present disclosure provides a packet transmission method, which is applied to a local edge device, and the method includes:
  • the hardware forwarding table After receiving the packet, the hardware forwarding table is queried by using the destination address of the packet. If the forwarding entry matching the destination address does not exist in the hardware forwarding table, the destination address of the packet is queried. And the software forwarding table, if the forwarding entry matching the destination address exists in the software forwarding table, sending the packet according to the forwarding entry matching the destination address.
  • Embodiments of the present disclosure provide a local edge device including a processor and a machine readable storage medium storing machine executable instructions executable by the processor, the processor being The machine executable instructions cause:
  • the hardware forwarding table After receiving the packet, the hardware forwarding table is queried by using the destination address of the packet. If the forwarding entry matching the destination address does not exist in the hardware forwarding table, the destination address of the packet is queried. And the software forwarding table, if the forwarding entry matching the destination address exists in the software forwarding table, sending the packet according to the forwarding entry matching the destination address.
  • Embodiments of the present disclosure provide a machine readable storage medium storing machine executable instructions that, when invoked and executed by a processor, cause the processor to:
  • the hardware forwarding table After receiving the packet, the hardware forwarding table is queried by using the destination address of the packet. If the forwarding entry matching the destination address does not exist in the hardware forwarding table, the destination address of the packet is queried. And the software forwarding table, if the forwarding entry matching the destination address exists in the software forwarding table, sending the packet according to the forwarding entry matching the destination address.
  • the local edge device may add a forwarding entry corresponding to the first host route in the software forwarding table, so that After receiving the packet matching the route of the first host, the packet is sent to the peer edge device through the forwarding entry corresponding to the first host route, so that the peer edge device sends the packet to the host.
  • the data center of the local edge device can be prevented from being broadcasted, the bandwidth of the data center is saved, the service interruption of the host is avoided, and the user experience is improved.
  • the local edge device adds a forwarding entry corresponding to the first host route to the software forwarding table maintained by the CPU (Central Processing Unit), instead of adding the first in the hardware forwarding table maintained by the hardware forwarding chip.
  • the host forwards the corresponding forwarding entry, which saves the entries of the hardware forwarding chip.
  • Figure 1 is a schematic diagram of a data center network using VXLAN
  • FIG. 3 is a structural diagram of a message transmission apparatus in an embodiment of the present disclosure.
  • FIG. 4 is a hardware structural diagram of a local edge device in an embodiment of the present disclosure.
  • first, second, third, etc. may be used in the present disclosure to describe various information, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other.
  • first information may also be referred to as second information without departing from the scope of the present disclosure.
  • second information may also be referred to as first information.
  • word “if” may be interpreted as "at time”, or "when", or "in response to determination.”
  • FIG. 1 is a schematic diagram of a network architecture of a data center using VXLAN.
  • the host 1 and the edge device 1 are located in the data center 1, the host 2 and the edge device 2 are located in the data center 2, and the host 3 is located in the data center 2. Net side.
  • the advertisement message carrying the host route is only allowed to be transmitted inside the data center, and the edge device of the data center only advertises the network segment route in the data center.
  • edge device 1 of data center 1 can advertise network segment route 11.1.1.0/24 to the public network.
  • the network device After receiving the network segment route 11.1.1.0/24 through interface 1, the network device records the mapping between network segment route 11.1.1.0/24 and interface 1 in the forwarding table.
  • the edge device 2 After receiving the network segment route 11.1.1.0/24 through the VXLAN tunnel 1, the edge device 2 records the correspondence between the network segment route 11.1.1.0/24 and the VXLAN tunnel 1 in the forwarding table.
  • the edge device 2 of the data center 2 can also issue the network segment route 11.1.1.0/24 to the network device and the edge device 1 of the data center 1.
  • the network device After receiving the network segment route 11.1.1.0/24 through interface 2, the network device records the mapping between the network segment route 11.1.1.0/24 and interface 2 in the forwarding table.
  • the edge device 1 After receiving the network segment route 11.1.1.0/24 through the VXLAN tunnel 1, the edge device 1 records the correspondence between the network segment route 11.1.1.0/24 and the VXLAN tunnel 1 in the forwarding table.
  • Host 3 sends a packet with the destination IP address of 11.1.1.2. After receiving the packet, the network device exists in the forwarding table. A forwarding entry matching the network segment of the destination IP address 11.1.1.2. Therefore, a forwarding entry is selected, and the packet is sent based on the forwarding entry. If the packet is sent through interface 2, the packet can be sent. Sent to edge device 2.
  • the forwarding table of the edge device 2 includes only the forwarding entry corresponding to the network segment 11.1.1.0/24, and does not include the forwarding entry matching the specific destination IP address 11.1.1.2. Therefore, the broadcast flooding is performed in the data center 2. Therefore, the bandwidth of the data center 2 is occupied, and the packet cannot be sent to the host 1, causing the service of the host 1 to be interrupted, which affects the user experience.
  • the embodiment of the present disclosure provides a solution to the above problem, and the solution of the embodiment is described in detail below.
  • a packet transmission method is provided in the embodiment of the present disclosure.
  • the method can be applied to a system including a local edge device and a peer edge device.
  • the local edge device and the peer edge device can be located in different data centers.
  • An EVPN (Ethernet Virtual Private Network) neighbor is established between the edge device and the peer device.
  • the local edge device and the peer edge device may be VTEP (VXLAN Tunnel End Point) devices, and the local edge device and the peer edge device are connected through a VXLAN tunnel.
  • each data center in addition to an edge device (such as a local edge device or a peer edge device), an access device (such as a router or a switch), a host (such as a virtual machine), and access may be included.
  • the device is connected to the edge device, and the access device is connected to the host.
  • the system includes a network device (such as a router or a switch) and a host on the public network side in addition to the data center.
  • the local edge device and the peer edge device may be opposite.
  • the edge device 1 is located in the data center 1
  • the edge device 2 is located in the data center 2
  • the EVPN is established between the edge device 1 and the edge device 2.
  • the edge device 1 is the peer edge device
  • the edge device 2 is the peer edge device
  • the edge device 2 is the peer edge device.
  • the data center where the local edge device is located and the data center where the peer edge device is located can use the same network segment or different network segments.
  • the data center where the edge device is located uses the network segment 11.1.1.0/24.
  • the data center 1 may include a host 1, an access device 1 and an edge device 1.
  • the data center 2 may include a host 2, an access device 2, and an edge device 2.
  • the public network side includes the network device and the host 3, and it is assumed that the data center 1 uses the network segment 11.1.1.0/24, and the data center 2 uses the network segment 11.1.1.0/24.
  • the edge device 1 is the peer edge device, and the edge device 2 is the edge device.
  • the edge device 1 can also be the edge device of the edge, and the edge device 2 For the peer edge device.
  • EVPN neighbors can be established between edge devices in different data centers. EVPN neighbors are not established between edge devices in the data center and network devices on the public network. Based on this, since both the edge device 1 and the edge device 2 are edge devices of the data center, an EVPN neighbor can be established between the edge device 1 and the edge device 2, and no EVPN is established between the edge device 1 and the network device. Neighbor, and no EVPN neighbor is established between the edge device 2 and the network device.
  • the message transmission method proposed in the embodiment of the present disclosure may include a forwarding table maintenance phase and a message transmission phase.
  • the local edge device can maintain the software forwarding table and the hardware forwarding table for the forwarding table maintenance phase.
  • the packet transmission phase the local edge device can transmit the packet based on the software forwarding table or the hardware forwarding table.
  • the forwarding table maintained by the CPU of the local edge device may be referred to as a software forwarding table
  • the forwarding table maintained by the hardware forwarding chip of the local edge device may be referred to as a hardware forwarding table.
  • each entry in the software forwarding table/hardware forwarding table may be referred to as a forwarding entry, and the forwarding entry is configured to record a mapping relationship between a route (such as an IP address) and an outgoing interface.
  • the process of recording the forwarding entry in the software forwarding table/hardware forwarding table of the local edge device may be classified into the following situations: 1.
  • the local edge device receives the host route sent by the peer edge device (for convenience of distinction) When it is referred to as the first host route, the forwarding entry corresponding to the first host route is recorded in the software forwarding table (for convenience of classification, it is referred to as the first forwarding entry).
  • the local edge device receives the network segment route sent by the peer edge device, it records the forwarding entry corresponding to the network segment route in the software forwarding table. (For convenience, it is called the second forwarding entry. And the second forwarding entry corresponding to the route of the network segment is recorded in the hardware forwarding table. 3.
  • the forwarding entry corresponding to the second host route is recorded in the software forwarding table.
  • the third forwarding entry is recorded in the hardware forwarding table.
  • step 201 is an example of a forwarding table maintenance phase
  • step 202 is an example of a message transmission phase.
  • Step 201 The local edge device receives the first advertisement message from the peer edge device, parses the first host route from the first advertisement message, and adds a first forwarding entry in the software forwarding table, where the first forwarding
  • the publication item includes a correspondence between the first host route and an interface that receives the first notification message.
  • Step 202 After receiving the packet, the local edge device queries the hardware forwarding table by using the destination address of the packet. If the forwarding entry matching the destination address does not exist in the hardware forwarding table, the local edge device can pass the packet. The destination address queries the software forwarding table. If the forwarding entry matching the destination address exists in the software forwarding table, the packet may be sent according to the forwarding entry matching the destination address.
  • the forwarding table maintenance phase and the message transmission phase are described below in conjunction with the application scenario of FIG.
  • the forwarding table may include a software forwarding table and a hardware forwarding table.
  • three types of advertisement messages may be involved, for example, an advertisement message carrying a host route sent by the peer edge device (hereinafter referred to as a first advertisement message for convenience of distinction), The advertised message of the network segment that is sent by the peer edge device (for the sake of convenience, it is hereinafter referred to as the second advertised message), and the access device (the access device that is located in the same data center as the local edge device) sends the advertised message.
  • the advertisement message carrying the host route hereinafter referred to as the third advertisement message for convenience of distinction
  • the following three types of notification messages are described in detail.
  • the peer edge device sends a first advertisement message carrying the host route to the local edge device.
  • the peer edge device can obtain the first host route of the host in the data center where the peer edge device is located (refer to the first host route for convenience of distinction), and generate the first route including the first host route.
  • the advertised message is sent to the local edge device, so that the local edge device can receive the first advertisement message carrying the route of the first host.
  • the local edge device can also obtain the third host route of the host in the data center where the local edge device is located (refer to the third host route for convenience of distinction), and generate a fourth notification including the third host route.
  • the message (referred to as a fourth advertisement message for convenience) is sent to the peer edge device, so that the peer edge device can receive the fourth advertisement message carrying the route of the third host.
  • the local edge device may parse the first host route from the first advertisement message, and add a first forwarding entry, the first forwarding entry, in the software forwarding table.
  • the mapping between the first host route and the interface that receives the first advertisement message may be included, where the interface is usually a tunnel interface between the edge device and the peer edge device, such as a VXLAN tunnel.
  • the peer edge device may parse the third host route from the fourth advertisement message, and add a forwarding entry corresponding to the third host route in the software forwarding table, where the The publication item may include a correspondence between the third host route and the interface that receives the fourth advertisement message, where the interface is usually a tunnel interface between the peer edge device and the local edge device, such as a VXLAN tunnel. Therefore, when the destination address of the received packet is the host in the data center where the local edge device is located, the peer edge device sends the packet to the local edge device according to the third host route.
  • the local edge device after receiving the first advertisement message, adds only the first forwarding entry in the software forwarding table, but does not add the first forwarding entry in the hardware forwarding table.
  • the edge device 1 can obtain the host route (such as 11.1.1.2/32) of the host 1 in the data center 1, and the host route is a 32-bit IP address instead of a network segment route.
  • the edge device 1 then generates an announce message including the host route (11.1.1.2/32) and sends the announce message to the edge device 2.
  • the edge device 2 adds a forwarding entry in the software forwarding table. As shown in Table 1, the forwarding entry may include the host route (11.1.1.2/32) and the VXLAN tunnel 1 (edge device 1 and edge). Correspondence between VXLAN tunnels between devices 2.
  • the edge device 1 acquires the host route of the host 1 in the data center 1
  • the edge device 1 The address resolution protocol (ARP) can be sent through the interface.
  • the destination IP address of the ARP request packet is the network segment address 11.1.1.0/24.
  • the host 1 sends an ARP response packet for the ARP request packet, and the edge device 1 can parse the IP of the host 1 after receiving the ARP response packet. Address 11.1.1.2, and get the host route of host 1 (11.1.1.2/32).
  • the access device 1 receives the gratuitous ARP packet sent by the host 1, it can parse the IP address 11.1.1.2 of the host 1 from the gratuitous ARP packet, and then obtain the host route of the host 1 (11.1). .1.2/32). Then, the access device 1 sends an advertisement message carrying the host route (11.1.1.2/32) to the edge device 1, so that the edge device 1 can resolve the host route of the host 1 from the advertisement message (11.1.1.2/32). ).
  • the peer edge device can actively trigger ARP learning to obtain the first host route of the host in the data center where the peer device is located. The peer edge device may also obtain the first host route according to the gratuitous ARP packet sent by the host in the data center where the peer device is located.
  • the edge device 2 can also obtain the host route of the host 2 in the data center 2 by the above manner.
  • the advertisement message carrying the host route can only be transmitted in the data center for security reasons, and will not be sent to other data centers for security reasons.
  • the advertisement message of the host route will not send an advertisement message carrying the host route to the public network side.
  • the edge device 1 can send an advertisement message carrying the host route to the EVPN neighbor, but does not send an advertisement message carrying the host route to the public network side.
  • the edge device 1 Since the EVPN neighbor is established between the edge device 1 and the edge device 2, the edge device 1 sends an advertisement message carrying the host route (11.1.1.2/32) to the edge device 2. Since the EVPN neighbor is not established between the edge device 1 and the network device on the public network side, the edge device 1 does not send an advertisement message carrying the host route (11.1.1.2/32) to the network device. Of course, if the edge device 1 has other EVPN neighbors, it can also send an advertisement message carrying the host route (11.1.1.2/32) to other EVPN neighbors.
  • the edge device 2 can obtain the host route of the host 2 in the data center 2 (such as 11.1.1.3/32), generate an advertisement message including the host route (such as 11.1.1.3/32), and send the notification to the edge device 1.
  • the message is sent to the network device on the public network side.
  • the edge device 1 adds a forwarding entry in the software forwarding table, where the forwarding entry includes a host route (such as 11.1.1.3/32) and a VXLAN tunnel 1 (VXLAN between the edge device 2 and the edge device 1). Correspondence of the tunnel).
  • the process of adding the first forwarding entry (the correspondence between the first host route and the VXLAN tunnel) in the software forwarding table includes, but is not limited to, the following manner: Carrying the preset flag, and/or the source address of the first advertisement message is located in the neighbor table, and adding a first forwarding entry in the software forwarding table; wherein the preset flag indicates that the first advertisement message carries the host route; the neighbor table Configure to record the address of the edge device in the other data center that is the EVPN neighbor with the local edge device.
  • the local edge device queries whether the first advertisement message carries the preset label. If yes, the first forwarding entry is added to the software forwarding table. If not, the first forwarding entry is not added to the software forwarding table.
  • the preset flag is configured to indicate that the first advertisement message carries a host route.
  • the local edge device may also send a preset identifier to the peer edge device that includes the third host route, so that the peer edge device can be configured according to the preset identifier.
  • the forwarding entry corresponding to the third host route is recorded in the software forwarding table.
  • the edge device 1 when the edge device 1 sends an advertisement message carrying the host route (11.1.1.2/32) to the edge device 2, a preset flag (such as AAA, etc.) is added to the advertisement message to indicate that the advertisement message carries the host route. .
  • the edge device 2 can query the first advertisement message to carry the preset flag, and add a forwarding entry including the host route (11.1.1.2/32) and the VXLAN tunnel 1 in the software forwarding table.
  • the local edge device queries whether the source address of the first advertisement message, that is, the address of the peer edge device, is located in the neighbor table. If yes, the first forwarding entry may be added to the software forwarding table. , the first forwarding entry is not added to the software forwarding table.
  • the neighbor table is configured to record an address of an edge device that is an EVPN neighbor of the local end device and located in another data center.
  • the address (such as an IP address) of the edge device 1 can be recorded in the neighbor table of the edge device 2, based on which the edge device 2 can query the first notification message.
  • the source address is in the neighbor table, and the forwarding entry including the host route (11.1.1.2/32) and VXLAN tunnel 1 is added to the software forwarding table.
  • the source address of the first advertisement message is not in the neighbor table, it indicates that the peer edge device (ie, the edge device 1) is not the EVPN neighbor of the edge device 2, and it is not necessary to add the first switch in the software forwarding table. Publish the item.
  • the local edge device queries whether the first advertisement message carries the preset label. If not, the first forwarding entry is not added to the software forwarding table. If the packet is carried, the source address of the first advertisement message is queried (ie, Whether the address of the edge device is in the neighbor table. If not, the first forwarding entry is not added to the software forwarding table. If it is located, the first forwarding entry is added to the software forwarding table.
  • the local edge device queries whether the source address of the first advertisement message, that is, the address of the peer edge device, is located in the neighbor table. If not, the first forwarding entry is not added to the software forwarding table. Then, the first forwarding entry is not included in the software forwarding table. If not, the first forwarding entry is added to the software forwarding table.
  • the peer edge device sends a second advertisement message carrying the network segment route to the local edge device.
  • the peer edge device can learn the network segment used by the data center in which the data center is located (such as the network segment to which the interface connected to the access device in the data center on the peer edge device belongs, such as the network segment 11.1. 1.0/24), and send a second notification message carrying the route of the network segment to the local edge device.
  • the EVPN routing information can be advertised between the edge device 1 and the edge device 2 through the Multiprotocol-Border Gateway Protocol (MP-BGP).
  • MP-BGP Multiprotocol-Border Gateway Protocol
  • the local edge device can receive the second advertisement message from the peer edge device, parse the network segment route from the second advertisement message, and add the second forwarding entry in the software forwarding table and the hardware forwarding table.
  • the second forwarding entry includes a correspondence between the network segment route and an interface that receives the second advertisement message.
  • the interface is usually a tunnel interface between the edge device and the peer edge device, such as a VXLAN tunnel.
  • the local edge device after receiving the second advertisement message, adds a second forwarding entry in the software forwarding table, and adds a second forwarding entry in the hardware forwarding table.
  • the edge device 1 can learn the network segment 11.1.1.0/24 of the data center 1, and generate an advertisement message including the network segment route (11.1.1.0/24), and send the announcement message to the edge device 2.
  • the edge device 2 adds a forwarding entry in the software forwarding table and the hardware forwarding table, and the forwarding entry may include a network segment route (11.1.1.0/24) and a VXLAN tunnel 1 (edge device 1 and edge). Correspondence between VXLAN tunnels between devices 2.
  • the edge device 2 may also send an advertisement message carrying the network segment route (11.1.1.0/24) to the edge device 1, and the edge device 1 adds a forwarding entry in the software forwarding table and the hardware forwarding table, and details are not described herein.
  • the edge device 1 may send an advertisement message carrying a network segment route to the EVPN neighbor, or may be sent to the public network side, for the process that the edge device 1 sends the advertisement message carrying the network segment route to the edge device 2
  • the network device sends an advertisement message carrying the network segment route, and can also send an advertisement message carrying the network segment route to other edge devices that are not the EVPN neighbor, which is not limited.
  • the network device After receiving the advertisement message of the network segment route 11.1.1.0/24 sent by the edge device 1 through the interface 1, the network device can record the correspondence between the network segment route 11.1.1.0/24 and the interface 1 in the forwarding table. After receiving the advertisement message of the network segment route 11.1.1.0/24 sent by the edge device 2, the network device can record the correspondence between the network segment route 11.1.1.0/24 and the interface 2 in the forwarding table.
  • the access device sends a third notification message carrying the host route to the local edge device.
  • the access device may send the local edge device to the data center. Sending a third notification message carrying the second host route.
  • the local edge device can receive the third advertisement message from the access device, parse the second host route from the third advertisement message, and add a third forwarding entry in the software forwarding table and the hardware forwarding table.
  • the third forwarding entry includes a correspondence between the second host route and an interface that receives the third notification message.
  • the interface may be an interface between the edge device and the access device, and may not be a VXLAN tunnel.
  • the local edge device after receiving the third advertisement message, adds a third forwarding entry in the software forwarding table, and adds a third forwarding entry in the hardware forwarding table.
  • the access device 2 Upon receiving the gratuitous ARP packet sent by the host 2, the access device 2 can parse the IP address 11.1.1.3 from the gratuitous ARP packet, and then obtain the host route (11.1.1.3/32), and send it to the edge device 2 to carry The advertisement message of the host route (11.1.1.3/32), so that the edge device 2 can parse the host route (11.1.1.3/32) from the advertisement message, and add the forwarding entry in the software forwarding table and the hardware forwarding table.
  • the forwarding entry may include a correspondence between the host route (11.1.1.3/32) and the interface A (the interface between the edge device 2 and the access device 2).
  • the local edge device can actively trigger ARP learning, and send an ARP learning packet to obtain the third host route of the host in the data center where the local device is located.
  • the local edge device can also receive the gratuitous ARP packet sent by the host in the data center where the local device is located, and obtain the third host route.
  • the above process is a process in which the local edge device maintains a forwarding table (a software forwarding table and a hardware forwarding table).
  • the message transmission phase is used to transmit the message by using a software forwarding table or a hardware forwarding table.
  • the local edge device since the local edge device maintains a software forwarding table (maintained by the CPU) and a hardware forwarding table (maintained by the hardware forwarding chip), the local edge is processed for the local edge device to transmit the packet.
  • the device can first query the hardware forwarding table by the destination address of the packet (such as the destination IP address). For example, after receiving the packet, the hardware forwarding chip queries the hardware forwarding table through the destination address. If the hardware forwarding table has a forwarding entry that matches the destination address, the packet is sent according to the forwarding entry that matches the destination address.
  • the local edge device queries the software forwarding table through the destination address (for example, the hardware forwarding chip sends the packet to the CPU, and the CPU queries the destination address.
  • Software forwarding table If the forwarding entry of the software forwarding table matches the destination address, the packet is sent according to the forwarding entry matching the destination address, and if the software forwarding table does not have a forwarding entry matching the destination address, Discard the message.
  • the network device After receiving the packet, the network device includes the mapping between the network segment route 11.1.1.0/24 and interface 1 and the network segment route 11.1. .1.0/24 corresponds to the interface 2, therefore, the network device can select one of the forwarding entries. If the forwarding entry corresponding to the corresponding relationship between the network segment route 11.1.1.0/24 and the interface 2 is selected, the network device can pass the network device. Interface 2 sends the message.
  • the hardware forwarding chip of the edge device 2 queries the hardware forwarding table through the destination IP address 11.1.1.2, as shown in Table 2, which is an example of the hardware forwarding table.
  • the first forwarding entry is generated based on the third notification message carrying the host route (11.1.1.3/32) sent by the access device to the edge device 2, and the second forwarding entry is based on the edge device 1
  • the second advertisement entry that carries the network segment route (11.1.1.0/24) sent by the edge device 2 is generated, and the third forwarding entry is that the edge device 2 knows that the network segment to which the interface A belongs is 11.1.1.0/24.
  • the destination IP address 11.1.1.2 can be matched to the second forwarding entry and the third forwarding entry.
  • the two forwarding entries are the same network segment and the outbound interface is inconsistent. Therefore, the matching error is considered as hardware.
  • the forwarding table does not have a forwarding entry matching the destination IP address 11.1.1.2.
  • the hardware forwarding chip can send the packet to the CPU.
  • the CPU of the edge device 2 queries the software forwarding table through the destination IP address 11.1.1.2, as shown in Table 3, which is an example of the software forwarding table.
  • Table 3 which is an example of the software forwarding table.
  • the process of generating the second forwarding entry, the third forwarding entry, and the fourth forwarding entry is similar to that of Table 2, and is not described here again.
  • the first forwarding entry is based on the edge device 1 to the edge.
  • the first advertisement message carried by the device 2 carrying the host route (11.1.1.2/32) is generated.
  • the destination IP address 11.1.1.2 can be matched to the first forwarding entry (using the longest mask matching principle, the mask of 11.1.1.2/32 is 32 bits, and the mask of 11.1.1.0/24 is 24 bits. Therefore, only the first forwarding entry is matched.
  • the software forwarding table has a forwarding entry matching the destination IP address 11.1.1.2.
  • the CPU can send the outgoing entry according to the forwarding entry (that is, VXLAN tunnel 1).
  • the message is thus sent to the edge device 1.
  • the edge device 1 After receiving the message, the edge device 1 can finally send the message to the host 1 to complete the transmission process of the message.
  • a buffer queue can be newly created, and the hardware forwarding chip can store the packets in the buffer queue, and the CPU buffers the packets according to its own performance.
  • the packet is read in the queue instead of directly sending a large number of packets to the CPU. This reduces the impact of a large number of packets on the CPU processing performance and avoids excessive CPU load.
  • the forwarding entry matching the destination address may also be added to the hardware forwarding table.
  • the CPU sends a packet according to the forwarding entry in the software forwarding table (the correspondence between 11.1.1.2/32 and VXLAN tunnel 1)
  • the CPU can also forward the forwarding entry (11.1.1.2/32 to VXLAN tunnel 1).
  • the relationship is added to the hardware forwarding table.
  • the forwarding entry can be directly used (the correspondence between 11.1.1.2/32 and VXLAN tunnel 1). The message is forwarded, and the message is no longer sent to the CPU, thereby reducing the processing load on the CPU.
  • the foregoing method does not directly add the forwarding entry (the correspondence between 11.1.1.2/32 and VXLAN tunnel 1) to the hardware forwarding table, but after receiving the packet matching the forwarding entry, The forwarding entry (the correspondence between the 11.1.1.2/32 and the VXLAN tunnel 1) is added to the hardware forwarding table, which can save the entries of the hardware forwarding chip and avoid the waste of the entry resources.
  • the local edge device may add a forwarding entry corresponding to the first host route in the software forwarding table, so that After receiving the packet matching the route of the first host, the packet is sent to the peer edge device through the forwarding entry corresponding to the first host route, so that the peer edge device sends the packet to the host.
  • the data center of the local edge device can be prevented from being broadcasted, the bandwidth of the data center is saved, the service interruption of the host is avoided, and the user experience is improved.
  • the local edge device adds a forwarding entry corresponding to the first host route to the software forwarding table maintained by the CPU (Central Processing Unit), instead of adding the first in the hardware forwarding table maintained by the hardware forwarding chip.
  • the host forwards the corresponding forwarding entry, which saves the entries of the hardware forwarding chip.
  • the embodiment of the present application further provides a message transmission device, which can be applied to the local edge device.
  • the device may include:
  • the receiving module 11 is configured to receive a first notification message from the peer edge device
  • the parsing module 12 is configured to parse the first host route from the first advertisement message
  • the recording module 13 is configured to add a first forwarding entry in the software forwarding table, where the first forwarding entry includes a correspondence between the first host route and an interface that receives the first notification message;
  • the sending module 14 is configured to: after receiving the packet, query the hardware forwarding table by using the destination address of the packet, if the forwarding entry matching the destination address does not exist in the hardware forwarding table, The destination address of the packet is queried in the software forwarding table. If the forwarding entry matching the destination address exists in the software forwarding table, the packet is sent according to the forwarding entry matching the destination address.
  • the recording module 13 is configured to add a first forwarding entry in the software forwarding table, if the first notification message carries a preset identifier, and/or the source address of the first advertisement message is located In the neighbor table, the first forwarding entry is added to the software forwarding table, where the preset flag indicates that the first advertisement message carries a host route, and the neighbor table is configured to record with the local edge
  • the device is the address of the edge device of the EVPN neighbor of the Ethernet virtual private network located in the other data center.
  • the receiving module 11 is further configured to receive a second notification message from the peer edge device
  • the parsing module 12 is further configured to parse the network segment route from the second advertisement message;
  • the recording module 13 is further configured to add a second forwarding entry in the hardware forwarding table, where the second forwarding entry includes a correspondence between the network segment route and an interface that receives the second advertisement message.
  • the receiving module 11 is further configured to receive a third notification message from the access device.
  • the parsing module 12 parses the second host route from the third notification message
  • the recording module 13 is further configured to add a third forwarding entry in the hardware forwarding table, where the third forwarding entry includes a correspondence between the second host route and an interface that receives the third notification message.
  • the recording module 13 is further configured to: when a forwarding entry matching the destination address exists in the software forwarding table, add a forwarding entry matching the destination address to the hardware forwarding table. .
  • the sending module 14 is further configured to acquire a third host route of the host in the data center where the local edge device is located, and generate a fourth notification message including the third host route, and The peer edge device sends the fourth advertisement message, so that the peer edge device adds a forwarding entry corresponding to the third host route in the software forwarding table.
  • FIG. 4 is a schematic structural diagram of hardware of a local edge device according to an embodiment of the present disclosure. Includes: a machine readable storage medium and a processor, wherein:
  • the machine-readable storage medium stores an instruction code executable by the machine, for example, a software function module or a computer program included in the message transmission apparatus provided by the embodiment of the present disclosure.
  • the processor and the machine readable storage medium are communicable by a system bus, and the processor enables the local edge device to implement the present application by reading and executing the machine executable instruction code corresponding to the message transmission logic stored in the machine readable storage medium.
  • a machine-readable storage medium may be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, and so forth.
  • the machine-readable storage medium may be: RAM (Radom Access Memory), volatile memory, non-volatile memory, flash memory, storage drive (such as a hard disk drive), solid state drive, any type of storage disk. (such as a disc, dvd, etc.), or a similar storage medium, or a combination thereof.
  • the system, device, module or unit illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product having a certain function.
  • a typical implementation device is a computer, and the specific form of the computer may be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver, and a game control.
  • embodiments of the present disclosure can be provided as a method, system, or computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware aspects. Moreover, embodiments of the present disclosure may take the form of a computer program product embodied on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • these computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the instruction means implements the functions specified in one or more blocks of the flowchart or in a flow or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
  • embodiments of the present disclosure may be provided as a method, system, or computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware aspects. Moreover, the present disclosure may take the form of a computer program product embodied on one or more computer-usable storage media (which may include, but not limited to, disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media which may include, but not limited to, disk storage, CD-ROM, optical storage, etc.
  • the local edge device may add a forwarding entry corresponding to the first host route in the software forwarding table, so that the first forwarding message is received.
  • the device sends the packets to the peer device through the forwarding entry corresponding to the first host route, so that the peer edge device sends the packet to the host.
  • the data center of the local edge device can be prevented from being broadcasted, the bandwidth of the data center is saved, the service interruption of the host is avoided, and the user experience is improved.
  • the local edge device adds the forwarding entry corresponding to the first host route in the software forwarding table of the maintenance, instead of adding the forwarding entry corresponding to the first host route in the hardware forwarding table maintained by the hardware forwarding chip, thereby saving The hardware forwarding chip's entry resources.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供一种报文传输方法、本端边缘设备及机器可读存储介质,该方法包括:接收来自对端边缘设备的第一通告消息,并从第一通告消息中解析出第一主机路由,并在软件转发表中添加第一转发表项,所述第一转发表项包括第一主机路由与接收到第一通告消息的接口的对应关系;在接收到报文后,通过报文的目的地址查询硬件转发表,若所述硬件转发表中不存在与所述目的地址匹配的转发表项,则通过所述报文的目的地址查询所述软件转发表,若所述软件转发表中存在与所述目的地址匹配的转发表项,则根据与所述目的地址匹配的转发表项发送所述报文。通过本公开的技术方案,避免在本端边缘设备的数据中心广播该报文,节省数据中心的带宽资源,避免主机的业务发生中断,提高用户使用感受。

Description

报文传输方法、边缘设备及机器可读存储介质
相关申请的交叉引用
本申请要求于2017年05月19日提交中国专利局的申请号为201710355369.8、名称为“一种报文传输方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开涉及通信技术领域,尤其涉及一种报文传输方法、边缘设备及机器可读存储介质。
背景技术
VXLAN(Virtual eXtensible Local Area Network,可扩展虚拟局域网络)是基于IP网络、采用“MAC(Media Access Control,媒体访问控制)in UDP(User Datagram Protocol,用户数据报协议)”封装形式的二层VPN(Virtual Private Network,虚拟专用网络)技术。VXLAN可以基于已有的服务提供商或者企业IP网络,为分散的站点提供二层互联,并能够为不同的租户提供业务隔离。VXLAN主要应用于数据中心网络,数据中心通过边缘设备与其他数据中心或外部公网通信。
发明内容
本公开实施例提供一种报文传输方法,应用于本端边缘设备,该方法包括:
接收来自对端边缘设备的第一通告消息,并从所述第一通告消息中解析出第一主机路由,并在软件转发表中添加第一转发表项,所述第一转发表项包括所述第一主机路由与接收到所述第一通告消息的接口的对应关系;
在接收到报文后,通过所述报文的目的地址查询硬件转发表,若所述硬件转发表中不存在与所述目的地址匹配的转发表项,则通过所述报文的目的地址查询所述软件转发表,若所述软件转发表中存在与所述目的地址匹配的转发表项,则根据与所述目的地址匹配的转发表项发送所述报文。
本公开实施例提供一种本端边缘设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:
接收来自对端边缘设备的第一通告消息,并从所述第一通告消息中解析出第一主机路由,并在软件转发表中添加第一转发表项,所述第一转发表项包括所述第一主机路由与接收到所述第一通告消息的接口的对应关系;
在接收到报文后,通过所述报文的目的地址查询硬件转发表,若所述硬件转发表中不存在与所述目的地址匹配的转发表项,则通过所述报文的目的地址查询所述软件转发表,若所述软件转发表中存在与所述目的地址匹配的转发表项,则根据与所述目的地址匹配的转发表项发送所述报文。
本公开实施例提供一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:
接收来自对端边缘设备的第一通告消息,并从所述第一通告消息中解析出第一主机路由,并在软件转发表中添加第一转发表项,所述第一转发表项包括所述第一主机路由与接收到所述第一通告消息的接口的对应关系;
在接收到报文后,通过所述报文的目的地址查询硬件转发表,若所述硬件转发表中不存在与所述目的地址匹配的转发表项,则通过所述报文的目的地址查询所述软件转发表,若所述软件转发表中存在与所述目的地址匹配的转发表项,则根据与所述目的地址匹配的转发表项发送所述报文。
基于上述技术方案,本公开实施例中,本端边缘设备在接收到来自对端边缘设备的第一通告消息后,可以在软件转发表中添加第一主机路由对应的转发表项,这样,在接收到与第一主机路由匹配的报文后,就可以通过第一主机路由对应的转发表项将报文发送给对端边缘设备,以使对端边缘设备将报文发送给主机。在上述过程中,可以避免在本端边缘设备的数据中心广播该报文,节省数据中心的带宽资源,避免主机的业务发生中断,提高用户使用感受。而且,本端边缘设备是在CPU(Central Processing Unit,中央处理器)维护的软件转发表中添加第一主机路由对应的转发表项,而不是在硬件转发芯片维护的硬件转发表中添加第一主机路由对应的转发表项,从而节省硬件转发芯片的表项资源。
附图说明
为了更加清楚地说明本公开实施例或者现有技术中的技术方案,下面将对本公开实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本公开实施例的这些附图获得其他的附图。
图1是采用VXLAN的数据中心网络示意图;
图2是本公开一种实施方式中的报文传输方法的流程图;
图3是本公开一种实施方式中的报文传输装置的结构图;
图4是本公开一种实施方式中的本端边缘设备的硬件结构图。
具体实施方式
在本公开实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本公开。 本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”,或者,“当……时”,或者,“响应于确定”。
请参照图1,图1示出了一种采用VXLAN的数据中心的网络架构示意图,其中,主机1及边缘设备1位于数据中心1,主机2及边缘设备2位于数据中心2,主机3位于公网侧。在这种场景中,处于安全性的考虑,在传统技术中,携带主机路由的通告消息仅被允许在数据中心内部传递,数据中心的边缘设备仅对外发布该数据中心内的网段路由。
例如,假设数据中心1使用网段11.1.1.0/24,且数据中心2使用网段11.1.1.0/24,则数据中心1的边缘设备1可以将网段路由11.1.1.0/24发布给公网侧的网络设备及数据中心2的边缘设备2。网络设备通过接口1接收到网段路由11.1.1.0/24后,在转发表中记录网段路由11.1.1.0/24与接口1的对应关系。边缘设备2通过VXLAN隧道1接收到网段路由11.1.1.0/24后,在转发表中记录网段路由11.1.1.0/24与VXLAN隧道1的对应关系。
此外,数据中心2的边缘设备2也可以将网段路由11.1.1.0/24发布给网络设备及数据中心1的边缘设备1。网络设备通过接口2接收到网段路由11.1.1.0/24后,在转发表中记录网段路由11.1.1.0/24与接口2的对应关系。边缘设备1通过VXLAN隧道1接收到网段路由11.1.1.0/24后,在转发表中记录网段路由11.1.1.0/24与VXLAN隧道1的对应关系。
假设主机1的IP地址为11.1.1.2,主机2的IP地址为11.1.1.3,主机3发送目的IP地址为11.1.1.2的报文,网络设备在收到该报文后,由于转发表中存在与目的IP地址11.1.1.2的网段匹配的两个转发表项,因此选择一个转发表项,并基于该转发表项发送该报文,假设通过接口2发送该报文,则可以将报文发送给边缘设备2。
由于边缘设备2的转发表中只包括与网段11.1.1.0/24对应的转发表项,不包括与具体目的IP地址11.1.1.2匹配的转发表项,因此在数据中心2内进行广播泛洪,从而占用数据中心2的大量带宽资源,而且无法将报文发送给主机1,导致主机1的业务发生中断,影响用户使用感受。
故本公开实施例提供一种解决上述问题的方案,下面对本实施例的方案进行详细阐述。
本公开实施例中提出一种报文传输方法,该方法可以应用于包括本端边缘设备和对端边缘设备的系统,本端边缘设备和对端边缘设备可以位于不同的数据中心,且在 本端边缘设备和对端边缘设备之间建立有EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)邻居。在一个例子中,本端边缘设备和对端边缘设备均可以为VTEP(VXLAN Tunnel End Point,VXLAN隧道端点)设备,且本端边缘设备和对端边缘设备之间通过VXLAN隧道连接。
在一个例子中,在每个数据中心内,除了边缘设备(如本端边缘设备或者对端边缘设备),还可以包括接入设备(如路由器或者交换机)、主机(如虚拟机),接入设备与边缘设备连接,接入设备与主机连接。此外,该系统除了包括数据中心,还可以包括公网侧的网络设备(如路由器或者交换机)和主机。
在一个例子中,本端边缘设备和对端边缘设备可以是相对的,例如,边缘设备1位于数据中心1,边缘设备2位于数据中心2,且边缘设备1与边缘设备2之间建立有EVPN邻居时,边缘设备1为本端边缘设备,边缘设备2为对端边缘设备,或者,边缘设备2为本端边缘设备,边缘设备1为对端边缘设备。
在一个例子中,本端边缘设备所在的数据中心以及对端边缘设备所在的数据中心,可以使用相同的网段,也可以使用不同的网段,例如,本端边缘设备所在的数据中心与对端边缘设备所在的数据中心均使用网段11.1.1.0/24。
参见图1所示,为本公开实施例的一个应用场景示意图,数据中心1可以包括主机1、接入设备1和边缘设备1,数据中心2可以包括主机2、接入设备2和边缘设备2,公网侧包括网络设备和主机3,而且,假设数据中心1使用网段11.1.1.0/24,且数据中心2使用网段11.1.1.0/24。本应用场景下,以边缘设备1为对端边缘设备,边缘设备2为本端边缘设备为例进行说明,当然,在实际应用中,边缘设备1也可以为本端边缘设备,而边缘设备2为对端边缘设备。
本应用场景下,在不同数据中心的边缘设备之间可以建立EVPN邻居,而数据中心的边缘设备与公网侧的网络设备之间不会建立EVPN邻居。基于此,由于边缘设备1与边缘设备2均是数据中心的边缘设备,因此,在边缘设备1与边缘设备2之间可以建立有EVPN邻居,而在边缘设备1与网络设备之间没有建立EVPN邻居,且在边缘设备2与网络设备之间没有建立EVPN邻居。
在上述应用场景下,本公开实施例中提出的报文传输方法可以包括转发表维护阶段和报文传输阶段。针对转发表维护阶段,本端边缘设备可以维护软件转发表和硬件转发表,而在报文传输阶段,本端边缘设备可以基于该软件转发表或者该硬件转发表传输报文。其中,本端边缘设备的CPU维护的转发表可以称为软件转发表,而本端边缘设备的硬件转发芯片维护的转发表可以称为硬件转发表。此外,在软件转发表/硬件转发表中的每个表项,可以称为一个转发表项,且该转发表项配置成记录路由(如IP 地址)与出接口的映射关系。
其中,针对本端边缘设备在软件转发表/硬件转发表中记录转发表项的过程,可以分为如下情况:1、本端边缘设备在接收到对端边缘设备发送的主机路由(为了区分方便,将其称为第一主机路由)时,则只在软件转发表中记录该第一主机路由对应的转发表项(为了区分方便,将其称为第一转发表项)。2、本端边缘设备在接收到对端边缘设备发送的网段路由时,则在软件转发表中记录该网段路由对应的转发表项(为了区分方便,将其称为第二转发表项),且在硬件转发表中记录该网段路由对应的第二转发表项。3、本端边缘设备在接收到接入设备发送的主机路由(为了区分方便,将其称为第二主机路由)时,则在软件转发表中记录该第二主机路由对应的转发表项(为了区分方便,将其称为第三转发表项),且在硬件转发表中记录该第二主机路由对应的第三转发表项。
参见图2所示,为该报文传输方法的流程图,步骤201为转发表维护阶段的一个示例,而步骤202为报文传输阶段的一个示例。
步骤201,本端边缘设备接收来自对端边缘设备的第一通告消息,从该第一通告消息中解析出第一主机路由,并在软件转发表中添加第一转发表项,该第一转发表项包括该第一主机路由与接收到该第一通告消息的接口的对应关系。
步骤202,本端边缘设备在接收到报文后,通过该报文的目的地址查询硬件转发表,若该硬件转发表中不存在与该目的地址匹配的转发表项,则可以通过该报文的目的地址查询软件转发表,若该软件转发表中存在与该目的地址匹配的转发表项,则可以根据与该目的地址匹配的转发表项发送该报文。
以下结合图1的应用场景,对转发表维护阶段和报文传输阶段进行说明。
I、转发表维护阶段,该转发表可以包括软件转发表和硬件转发表。
针对本端边缘设备维护转发表的过程,可以涉及三种类型的通告消息,例如,对端边缘设备发送的携带主机路由的通告消息(为了区分方便,后续将其称为第一通告消息),对端边缘设备发送的携带网段路由的通告消息(为了区分方便,后续将其称为第二通告消息),接入设备(与本端边缘设备位于同一个数据中心的接入设备)发送的携带主机路由的通告消息(为了区分方便,后续将其称为第三通告消息),以下对这三种类型的通告消息进行详细说明。
1、对端边缘设备向本端边缘设备发送携带主机路由的第一通告消息。
在一个例子中,对端边缘设备可以获取对端边缘设备所在数据中心内主机的第一主机路由(为了区分方便,将其称为第一主机路由),并生成包括第一主机路由的第一通告消息,并向本端边缘设备发送第一通告消息,这样,本端边缘设备就可以接收 到携带第一主机路由的第一通告消息。
同理,本端边缘设备也可以获取本端边缘设备所在数据中心内主机的第三主机路由(为了区分方便,将其称为第三主机路由),并生成包括第三主机路由的第四通告消息(为了区分方便,将其称为第四通告消息),并向对端边缘设备发送第四通告消息,这样,对端边缘设备就可以接收到携带第三主机路由的第四通告消息。
进一步的,本端边缘设备在接收到第一通告消息之后,可以从该第一通告消息中解析出第一主机路由,并在软件转发表中添加第一转发表项,该第一转发表项可以包括第一主机路由与接收到该第一通告消息的接口的对应关系,该接口通常为本端边缘设备与对端边缘设备之间的隧道口,如VXLAN隧道。同理,对端边缘设备在接收到第四通告消息之后,可以从该第四通告消息中解析出第三主机路由,并在软件转发表中添加第三主机路由对应的转发表项,该转发表项可以包括第三主机路由与接收到该第四通告消息的接口的对应关系,该接口通常为对端边缘设备与本端边缘设备之间的隧道口,如VXLAN隧道。因此,对端边缘设备在接收的报文的目的地址为所述本端边缘设备所在数据中心内主机时,根据所述第三主机路由将该报文发送给本端边缘设备。
在一个例子中,本端边缘设备在接收到第一通告消息后,只在软件转发表中添加第一转发表项,而未在硬件转发表中添加第一转发表项。
以下结合图1的场景,对上述过程进行说明。边缘设备1可以获取数据中心1内主机1的主机路由(如11.1.1.2/32),该主机路由是32位的IP地址,而不是网段路由。然后,边缘设备1生成包括主机路由(11.1.1.2/32)的通告消息,并向边缘设备2发送该通告消息。边缘设备2收到通告消息后,在软件转发表中添加转发表项,如表1所示,该转发表项可以包括主机路由(11.1.1.2/32)与VXLAN隧道1(边缘设备1与边缘设备2之间的VXLAN隧道)的对应关系。
表1
主机路由 出接口
11.1.1.2/32 VXLAN隧道1
针对“边缘设备1获取数据中心1内主机1的主机路由”的过程,在一个例子中,由于边缘设备1与接入设备1连接的接口所属网段为11.1.1.0/24,因此,边缘设备1可以通过该接口发送ARP(Address Resolution Protocol,地址解析协议)请求报文,该ARP请求报文的目的IP地址为网段地址11.1.1.0/24。这样,当主机1接收到该ARP请求报文后,就会发送针对该ARP请求报文的ARP响应报文,而边缘设备1接收到该ARP响应报文后,就可以解析出主机1的IP地址11.1.1.2,并得到主机1的主机路 由(11.1.1.2/32)。在另一个例子中,若接入设备1接收到主机1发送的免费ARP报文,则可以从免费ARP报文中解析出主机1的IP地址11.1.1.2,继而得到主机1的主机路由(11.1.1.2/32)。然后,接入设备1向边缘设备1发送携带主机路由(11.1.1.2/32)的通告消息,这样,边缘设备1就可以从该通告消息中解析出主机1的主机路由(11.1.1.2/32)。换句话说,对端边缘设备可以主动触发ARP学习,获得该对端设备所在数据中心内主机的所述第一主机路由。对端边缘设备也可以根据该对端设备所在数据中心内主机发送的免费ARP报文获得所述第一主机路由。
同理,边缘设备2也可以通过上述方式获取数据中心2内主机2的主机路由。
针对“边缘设备1向边缘设备2发送通告消息”的过程,传统方式中,出于安全性的考虑,只能在数据中心内传输携带主机路由的通告消息,而不会向其它数据中心发送携带主机路由的通告消息,更不会向公网侧发送携带主机路由的通告消息。而本公开实施例中,边缘设备1可以向自身的EVPN邻居发送携带主机路由的通告消息,但是不会向公网侧发送携带主机路由的通告消息。
由于边缘设备1与边缘设备2之间建立有EVPN邻居,因此,边缘设备1向边缘设备2发送携带主机路由(11.1.1.2/32)的通告消息。由于边缘设备1与公网侧的网络设备之间没有建立EVPN邻居,因此,边缘设备1不向网络设备发送携带主机路由(11.1.1.2/32)的通告消息。当然,若边缘设备1还有其它EVPN邻居,也可以向其它EVPN邻居发送携带主机路由(11.1.1.2/32)的通告消息。
同理,边缘设备2可以获取数据中心2内主机2的主机路由(如11.1.1.3/32),生成包括主机路由(如11.1.1.3/32)的通告消息,并向边缘设备1发送该通告消息,但是不向公网侧的网络设备发送该通告消息。边缘设备1收到通告消息后,在软件转发表中添加转发表项,该转发表项包括主机路由(如11.1.1.3/32)与VXLAN隧道1(边缘设备2与边缘设备1之间的VXLAN隧道)的对应关系。
在一个例子中,针对“本端边缘设备在软件转发表中添加第一转发表项(第一主机路由与VXLAN隧道的对应关系)”的过程,包括但不限于如下方式:若第一通告消息携带预设标记,和/或,第一通告消息的源地址位于邻居表中,则在软件转发表中添加第一转发表项;其中,预设标记表示第一通告消息携带主机路由;邻居表配置成记录与本端边缘设备是EVPN邻居的位于其它数据中心的边缘设备的地址。以下结合几个具体方式对上述过程进行详细说明。
方式A、本端边缘设备查询第一通告消息是否携带预设标记,如果是,则在软件转发表中添加第一转发表项,如果否,则不在软件转发表中添加第一转发表项。其中,该预设标记配置成表示该第一通告消息携带的是主机路由。
同理,本端边缘设备在向对端边缘设备发送包括所述第三主机路由的第四通告消息也可携带预设标记,以使所述对端边缘设备可以根据所述预设标识,在软件转发表中记录与所述第三主机路由对应的转发表项。
例如,边缘设备1向边缘设备2发送携带主机路由(11.1.1.2/32)的通告消息时,在该通告消息中添加预设标记(如AAA等),以表示该通告消息携带的是主机路由。这样,边缘设备2可以查询到第一通告消息中携带预设标记,并在软件转发表中添加包括主机路由(11.1.1.2/32)与VXLAN隧道1的转发表项。
方式B、本端边缘设备查询该第一通告消息的源地址(即对端边缘设备的地址)是否位于邻居表中,如果是,则可以在软件转发表中添加第一转发表项,如果否,则不在软件转发表中添加第一转发表项。其中,该邻居表配置成记录与本端边缘设备是EVPN邻居的、且位于其它数据中心的边缘设备的地址。
例如,由于边缘设备1与边缘设备2是EVPN邻居,因此,在边缘设备2的邻居表中可以记录边缘设备1的地址(如IP地址),基于此,边缘设备2可以查询到第一通告消息的源地址位于邻居表中,并在软件转发表中添加包括主机路由(11.1.1.2/32)与VXLAN隧道1的转发表项。此外,若该第一通告消息的源地址不位于邻居表中,就表示对端边缘设备(即边缘设备1)不是边缘设备2的EVPN邻居,此时不需要在软件转发表中添加第一转发表项。
方式C、本端边缘设备查询第一通告消息是否携带预设标记,如果未携带,则不在软件转发表中添加第一转发表项,如果携带,则查询第一通告消息的源地址(即对端边缘设备的地址)是否位于邻居表中,如果不位于,则不在软件转发表中添加第一转发表项,如果位于,则在软件转发表中添加第一转发表项。
方式D、本端边缘设备查询第一通告消息的源地址(即对端边缘设备的地址)是否位于邻居表中,如果不位于,则不在软件转发表中添加第一转发表项,如果位于,则查询第一通告消息是否携带预设标记,如果未携带,则不在软件转发表中添加第一转发表项,如果携带,则在软件转发表中添加第一转发表项。
2、对端边缘设备向本端边缘设备发送携带网段路由的第二通告消息。
在一个例子中,对端边缘设备可以获知自身所在的数据中心使用的网段(如对端边缘设备上的与本数据中心内的接入设备连接的接口所属的网段,如网段11.1.1.0/24),并向本端边缘设备发送携带该网段路由的第二通告消息。例如,边缘设备1与边缘设备2之间可以通过多协议边界网关协议(Multiprotocol-Border Gateway Protocol,简称MP-BGP)相互通告EVPN路由信息。
这样,本端边缘设备可以收到来自对端边缘设备的第二通告消息,从该第二通告 消息中解析出网段路由,并在软件转发表和硬件转发表中添加第二转发表项,该第二转发表项包括该网段路由与接收到该第二通告消息的接口的对应关系。其中,该接口通常为本端边缘设备与对端边缘设备之间的隧道口,如VXLAN隧道。
在一个例子中,本端边缘设备在接收到第二通告消息后,即在软件转发表中添加第二转发表项,也在硬件转发表中添加第二转发表项。
以下结合图1的场景,对上述过程进行说明。边缘设备1可以获知数据中心1的网段11.1.1.0/24,并生成包括网段路由(11.1.1.0/24)的通告消息,并向边缘设备2发送该通告消息。边缘设备2收到该通告消息后,在软件转发表和硬件转发表中添加转发表项,该转发表项可以包括网段路由(11.1.1.0/24)与VXLAN隧道1(边缘设备1与边缘设备2之间的VXLAN隧道)的对应关系。
边缘设备2也可以将携带网段路由(11.1.1.0/24)的通告消息发送给边缘设备1,由边缘设备1在软件转发表和硬件转发表中添加转发表项,在此不再赘述。
在一个例子中,针对“边缘设备1向边缘设备2发送携带网段路由的通告消息”的过程,边缘设备1可以向自身的EVPN邻居发送携带网段路由的通告消息,也可以向公网侧的网络设备发送携带网段路由的通告消息,还可以向不是EVPN邻居的其它边缘设备发送携带网段路由的通告消息,对此不做限制。
网络设备通过接口1收到边缘设备1发送的携带网段路由11.1.1.0/24的通告消息后,可以在转发表中记录网段路由11.1.1.0/24与接口1的对应关系。网络设备通过接口2收到边缘设备2发送的携带网段路由11.1.1.0/24的通告消息后,可以在转发表中记录网段路由11.1.1.0/24与接口2的对应关系。
3、接入设备向本端边缘设备发送携带主机路由的第三通告消息。
在一个例子中,接入设备在获知本接入设备所在数据中心内主机的第二主机路由(为了区分方便,将其称为第二主机路由)后,可以向该数据中心的本端边缘设备发送携带该第二主机路由的第三通告消息。这样,本端边缘设备可以收到来自接入设备的第三通告消息,从该第三通告消息中解析出第二主机路由,并在软件转发表和硬件转发表中添加第三转发表项,该第三转发表项包括第二主机路由与接收到该第三通告消息的接口的对应关系。其中,该接口通常可以为本端边缘设备与接入设备之间的接口,其可以不是VXLAN隧道。
在一个例子中,本端边缘设备在接收到第三通告消息后,即在软件转发表中添加第三转发表项,也在硬件转发表中添加第三转发表项。
以下结合图1的场景,对上述过程进行说明。接入设备2在收到主机2发送的免费ARP报文时,可以从免费ARP报文中解析出IP地址11.1.1.3,继而得到主机路由 (11.1.1.3/32),向边缘设备2发送携带主机路由(11.1.1.3/32)的通告消息,这样,边缘设备2可以从该通告消息中解析出主机路由(11.1.1.3/32),并在软件转发表和硬件转发表中添加转发表项,该转发表项可以包括主机路由(11.1.1.3/32)与接口A(边缘设备2与接入设备2之间的接口)的对应关系。
换句话说,本端边缘设备可以主动触发ARP学习,发送ARP学习报文,获得该本端设备所在数据中心内主机的所述第三主机路由。本端边缘设备也可以接收该本端设备所在数据中心内主机发送的免费ARP报文,解析获得所述第三主机路由。
以上过程为本端边缘设备维护转发表(软件转发表和硬件转发表)的过程。
II、报文传输阶段,用于使用软件转发表或者硬件转发表传输报文。
在一个例子中,由于本端边缘设备维护有软件转发表(由CPU来维护)和硬件转发表(由硬件转发芯片来维护),因此,针对本端边缘设备传输报文的过程,本端边缘设备可以先通过该报文的目的地址(如目的IP地址)查询硬件转发表(如硬件转发芯片在接收到报文后,通过该目的地址查询硬件转发表)。若该硬件转发表存在与该目的地址匹配的转发表项,则根据与该目的地址匹配的转发表项发送该报文。若该硬件转发表不存在与该目的地址匹配的转发表项,则本端边缘设备通过该目的地址查询软件转发表(如硬件转发芯片将报文上送给CPU,由CPU通过该目的地址查询软件转发表)。若该软件转发表存在与该目的地址匹配的转发表项,则根据与该目的地址匹配的转发表项发送该报文,若该软件转发表不存在与该目的地址匹配的转发表项,则丢弃该报文。
以下结合图1的场景,对上述过程进行说明。假设主机3发送目的IP地址为11.1.1.2的报文,则网络设备在接收到该报文后,由于转发表中包括网段路由11.1.1.0/24与接口1的对应关系、网段路由11.1.1.0/24与接口2的对应关系,因此,网络设备可以选择其中一个转发表项,假设选择网段路由11.1.1.0/24与接口2的对应关系对应的转发表项,则网络设备可以通过接口2发送该报文。
边缘设备2的硬件转发芯片在接收到该报文之后,通过目的IP地址11.1.1.2查询硬件转发表,如表2所示,为硬件转发表的一个示例。第1个转发表项是基于“接入设备向边缘设备2发送的携带主机路由(11.1.1.3/32)的第三通告消息”生成的,第2个转发表项是基于“边缘设备1向边缘设备2发送的携带网段路由(11.1.1.0/24)的第二通告消息”生成的,而第3个转发表项是边缘设备2在获知接口A所属的网段为11.1.1.0/24后生成的。由于目的IP地址11.1.1.2可以匹配到第2个转发表项和第3个转发表项,而这两个转发表项是相同的网段路由,且出接口不一致,因此认为匹配错误,即硬件转发表不存在与该目的IP地址11.1.1.2匹配的转发表项,硬件转发芯片可 以将该报文上送给CPU。
表2
主机路由 出接口
11.1.1.3/32 接口A
11.1.1.0/24 VXLAN隧道1
11.1.1.0/24 接口A
边缘设备2的CPU在接收到该报文之后,通过目的IP地址11.1.1.2查询软件转发表,如表3所示,为软件转发表的一个示例。第2个转发表项、第3个转发表项、第4个转发表项的生成过程,与表2类似,在此不再赘述,而第1个转发表项是基于“边缘设备1向边缘设备2发送的携带主机路由(11.1.1.2/32)的第一通告消息”生成的。由于目的IP地址11.1.1.2可以匹配到第1个转发表项(采用最长掩码匹配原则,11.1.1.2/32的掩码为32位,而11.1.1.0/24的掩码为24位,因此只会匹配到第1个转发表项),因此,软件转发表存在与该目的IP地址11.1.1.2匹配的转发表项,CPU可以根据该转发表项的出接口(即VXLAN隧道1)发送该报文,这样,该报文被发送给边缘设备1。边缘设备1在接收到该报文之后,就可以最终将报文发送给主机1,至此完成报文的传输过程。
表3
主机路由 出接口
11.1.1.2/32 VXLAN隧道1
11.1.1.3/32 接口A
11.1.1.0/24 VXLAN隧道1
11.1.1.0/24 接口A
针对硬件转发芯片将报文上送给CPU的过程,为了减轻大量报文对CPU造成的影响,还可以新建缓冲队列,硬件转发芯片可以将报文存储到缓冲队列,而CPU根据自身性能从缓冲队列中读取报文,而不是直接将大量报文发送给CPU,从而减轻大量报文对CPU处理性能造成的冲击,避免CPU负荷过重。
在一个例子中,当软件转发表中存在与目的地址匹配的转发表项时,还可以将与该目的地址匹配的转发表项,添加到硬件转发表中。例如,CPU在根据软件转发表中的转发表项(11.1.1.2/32与VXLAN隧道1的对应关系)发送报文后,还可以将转发表项(11.1.1.2/32与VXLAN隧道1的对应关系)添加到硬件转发表中,这样,硬件转发芯片再次接收到目的IP地址为11.1.1.2的报文后,就可以直接使用转发表项(11.1.1.2/32与VXLAN隧道1的对应关系)转发报文,而不再将报文发送给CPU,从而可以减轻 CPU的处理负担。
而且,上述方式并不是直接将转发表项(11.1.1.2/32与VXLAN隧道1的对应关系)添加到硬件转发表中,而是在接收到与该转发表项匹配的报文之后,才将该转发表项(11.1.1.2/32与VXLAN隧道1的对应关系)添加到硬件转发表中,从而可以节省硬件转发芯片的表项资源,并避免表项资源的浪费。
基于上述技术方案,本公开实施例中,本端边缘设备在接收到来自对端边缘设备的第一通告消息后,可以在软件转发表中添加第一主机路由对应的转发表项,这样,在接收到与第一主机路由匹配的报文后,就可以通过第一主机路由对应的转发表项将报文发送给对端边缘设备,以使对端边缘设备将报文发送给主机。在上述过程中,可以避免在本端边缘设备的数据中心广播该报文,节省数据中心的带宽资源,避免主机的业务发生中断,提高用户使用感受。而且,本端边缘设备是在CPU(Central Processing Unit,中央处理器)维护的软件转发表中添加第一主机路由对应的转发表项,而不是在硬件转发芯片维护的硬件转发表中添加第一主机路由对应的转发表项,从而节省硬件转发芯片的表项资源。
基于与上述方法同样的申请构思,本申请实施例中还提供一种报文传输装置,该报文传输装置可以应用在本端边缘设备,如图3所示,该装置可以包括:
接收模块11,配置成接收来自对端边缘设备的第一通告消息;
解析模块12,配置成从所述第一通告消息中解析出第一主机路由;
记录模块13,配置成在软件转发表中添加第一转发表项,所述第一转发表项包括所述第一主机路由与接收到所述第一通告消息的接口的对应关系;
发送模块14,配置成在接收到报文后,通过所述报文的目的地址查询硬件转发表,若所述硬件转发表中不存在与所述目的地址匹配的转发表项,则通过所述报文的目的地址查询所述软件转发表,若所述软件转发表中存在与所述目的地址匹配的转发表项,则根据与所述目的地址匹配的转发表项发送所述报文。
所述记录模块13,具体配置成在软件转发表中添加第一转发表项的过程中,若所述第一通告消息携带预设标记,和/或,所述第一通告消息的源地址位于邻居表中,则在所述软件转发表中添加第一转发表项;其中,所述预设标记表示所述第一通告消息携带主机路由;所述邻居表配置成记录与所述本端边缘设备是以太网虚拟专用网络EVPN邻居的位于其它数据中心的边缘设备的地址。
在一个例子中,所述接收模块11,还配置成接收来自对端边缘设备的第二通告消息;
所述解析模块12,还配置成从所述第二通告消息中解析出网段路由;
所述记录模块13,还配置成在硬件转发表中添加第二转发表项,所述第二转发表项包括所述网段路由与接收到所述第二通告消息的接口的对应关系。
在一个例子中,述接收模块11,还配置成接收来自接入设备的第三通告消息;
所述解析模块12,从所述第三通告消息中解析出第二主机路由;
所述记录模块13,还配置成在硬件转发表中添加第三转发表项,所述第三转发表项包括所述第二主机路由与接收到所述第三通告消息的接口的对应关系。
所述记录模块13,还配置成当所述软件转发表中存在与所述目的地址匹配的转发表项时,则将与所述目的地址匹配的转发表项,添加到所述硬件转发表中。
在一个例子中,所述发送模块14,还配置成获取所述本端边缘设备所在数据中心内主机的第三主机路由,并生成包括所述第三主机路由的第四通告消息,并向所述对端边缘设备发送所述第四通告消息,以使所述对端边缘设备在软件转发表中添加所述第三主机路由对应的转发表项。
本申请实施例中提供的本端边缘设备,从硬件层面而言,其硬件架构示意图具体可以参见图4所示。图4为本申请实施例提供的本端边缘设备的硬件结构示意图。包括:机器可读存储介质和处理器,其中:
机器可读存储介质存储有机器可执行的指令代码,例如,本公开实施例提供的报文传输装置所包括的软件功能模块或计算机程序等。
处理器与机器可读存储介质可通过系统总线通信,处理器通过读取和执行机器可读存储介质中存储的与报文传输逻辑对应的机器可执行指令代码,使本端边缘设备实现本申请上述示例公开的报文传输操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员应明白,本公开的实施例可提供为方法、系统或计算机程序产品。因此,本公开可以采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本公开可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。
工业实用性
本公开实施例中,本端边缘设备在接收到来自对端边缘设备的第一通告消息后,可以在软件转发表中添加第一主机路由对应的转发表项,这样,在接收到与第一主机 路由匹配的报文后,就可以通过第一主机路由对应的转发表项将报文发送给对端边缘设备,以使对端边缘设备将报文发送给主机。在上述过程中,可以避免在本端边缘设备的数据中心广播该报文,节省数据中心的带宽资源,避免主机的业务发生中断,提高用户使用感受。而且,本端边缘设备是在维护的软件转发表中添加第一主机路由对应的转发表项,而不是在硬件转发芯片维护的硬件转发表中添加第一主机路由对应的转发表项,从而节省硬件转发芯片的表项资源。

Claims (15)

  1. 一种报文传输方法,应用于本端边缘设备,该方法包括:
    接收来自对端边缘设备的第一通告消息,并从所述第一通告消息中解析出第一主机路由,并在软件转发表中添加第一转发表项,所述第一转发表项包括所述第一主机路由与接收到所述第一通告消息的接口的对应关系;
    在接收到报文后,通过所述报文的目的地址查询硬件转发表,若所述硬件转发表中不存在与所述目的地址匹配的转发表项,则通过所述报文的目的地址查询所述软件转发表,若所述软件转发表中存在与所述目的地址匹配的转发表项,则根据与所述目的地址匹配的转发表项发送所述报文。
  2. 根据权利要求1所述的方法,其中,所述在软件转发表中添加第一转发表项的过程,包括:
    若所述第一通告消息携带预设标记,则在所述软件转发表中添加第一转发表项;其中,所述预设标记表示所述第一通告消息携带主机路由。
  3. 根据权利要求1所述的方法,其中,所述在软件转发表中添加第一转发表项的过程,包括:
    若所述第一通告消息的源地址位于邻居表中,则在所述软件转发表中添加第一转发表项;其中,所述邻居表用于记录与所述本端边缘设备是以太网虚拟专用网络EVPN邻居且位于其它数据中心的边缘设备的地址。
  4. 根据权利要求1所述的方法,其中,所述方法还包括:
    接收来自对端边缘设备的第二通告消息,并从所述第二通告消息中解析出网段路由,并在硬件转发表中添加第二转发表项,所述第二转发表项包括所述网段路由与接收到所述第二通告消息的接口的对应关系。
  5. 根据权利要求1所述的方法,其中,所述方法还包括:
    接收来自接入设备的第三通告消息,并从所述第三通告消息中解析出第二主机路由,并在硬件转发表中添加第三转发表项,所述第三转发表项包括所述第二主机路由与接收到所述第三通告消息的接口的对应关系。
  6. 根据权利要求1所述的方法,其中,所述方法还包括:
    当所述软件转发表中存在与所述目的地址匹配的转发表项时,则将与所述目的地址匹配的转发表项,添加到所述硬件转发表中。
  7. 根据权利要求1所述的方法,其中,所述方法还包括:
    获取本端边缘设备所在数据中心内主机的第三主机路由,生成包括所述第三主机路由的第四通告消息,并向对端边缘设备发送所述第四通告消息,以使所述对端边缘 设备在软件转发表中添加所述第三主机路由对应的转发表项。
  8. 一种本端边缘设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:
    接收来自对端边缘设备的第一通告消息,并从所述第一通告消息中解析出第一主机路由,并在软件转发表中添加第一转发表项,所述第一转发表项包括所述第一主机路由与接收到所述第一通告消息的接口的对应关系;
    在接收到报文后,通过所述报文的目的地址查询硬件转发表,若所述硬件转发表中不存在与所述目的地址匹配的转发表项,则通过所述报文的目的地址查询所述软件转发表,若所述软件转发表中存在与所述目的地址匹配的转发表项,则根据与所述目的地址匹配的转发表项发送所述报文。
  9. 根据权利要求8所述的本端边缘设备,其中,在在软件转发表中添加第一转发表项时,所述处理器被所述机器可执行指令促使:
    若所述第一通告消息携带预设标记,则在所述软件转发表中添加第一转发表项;其中,所述预设标记表示所述第一通告消息携带主机路由。
  10. 根据权利要求8所述的本端边缘设备,其中,在在软件转发表中添加第一转发表项时,所述处理器被所述机器可执行指令促使:
    若所述第一通告消息的源地址位于邻居表中,则在所述软件转发表中添加第一转发表项;其中,所述邻居表用于记录与所述本端边缘设备是以太网虚拟专用网络EVPN邻居且位于其它数据中心的边缘设备的地址。
  11. 根据权利要求8所述的本端边缘设备,其中,所述处理器还被所述机器可执行指令促使:
    接收来自对端边缘设备的第二通告消息,并从所述第二通告消息中解析出网段路由,并在硬件转发表中添加第二转发表项,所述第二转发表项包括所述网段路由与接收到所述第二通告消息的接口的对应关系。
  12. 根据权利要求8所述的本端边缘设备,其中,所述处理器还被所述机器可执行指令促使:
    接收来自接入设备的第三通告消息,并从所述第三通告消息中解析出第二主机路由,并在硬件转发表中添加第三转发表项,所述第三转发表项包括所述第二主机路由与接收到所述第三通告消息的接口的对应关系。
  13. 根据权利要求8所述的本端边缘设备,其中,所述处理器还被所述机器可执行指令促使:
    当所述软件转发表中存在与所述目的地址匹配的转发表项时,则将与所述目的地址匹配的转发表项,添加到所述硬件转发表中。
  14. 根据权利要求8所述的本端边缘设备,其中,所述处理器还被所述机器可执行指令促使:
    获取本端边缘设备所在数据中心内主机的第三主机路由,生成包括所述第三主机路由的第四通告消息,并向对端边缘设备发送所述第四通告消息,以使所述对端边缘设备在软件转发表中添加所述第三主机路由对应的转发表项。
  15. 一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:
    接收来自对端边缘设备的第一通告消息,并从所述第一通告消息中解析出第一主机路由,并在软件转发表中添加第一转发表项,所述第一转发表项包括所述第一主机路由与接收到所述第一通告消息的接口的对应关系;
    在接收到报文后,通过所述报文的目的地址查询硬件转发表,若所述硬件转发表中不存在与所述目的地址匹配的转发表项,则通过所述报文的目的地址查询所述软件转发表,若所述软件转发表中存在与所述目的地址匹配的转发表项,则根据与所述目的地址匹配的转发表项发送所述报文。
PCT/CN2018/083573 2017-05-19 2018-04-18 报文传输方法、边缘设备及机器可读存储介质 WO2018210094A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/610,245 US11184192B2 (en) 2017-05-19 2018-04-18 Packet transmission
JP2019563879A JP6989621B2 (ja) 2017-05-19 2018-04-18 パケット伝送方法、エッジデバイス及び機械可読記憶媒体
EP18801795.8A EP3605972B1 (en) 2017-05-19 2018-04-18 Packet transmission method, edge device, and machine readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710355369.8 2017-05-19
CN201710355369.8A CN108259347B (zh) 2017-05-19 2017-05-19 一种报文传输方法和装置

Publications (1)

Publication Number Publication Date
WO2018210094A1 true WO2018210094A1 (zh) 2018-11-22

Family

ID=62721394

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/083573 WO2018210094A1 (zh) 2017-05-19 2018-04-18 报文传输方法、边缘设备及机器可读存储介质

Country Status (5)

Country Link
US (1) US11184192B2 (zh)
EP (1) EP3605972B1 (zh)
JP (1) JP6989621B2 (zh)
CN (1) CN108259347B (zh)
WO (1) WO2018210094A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130816A (zh) * 2019-12-27 2020-05-08 北京东土军悦科技有限公司 一种报文转发处理设备、方法、装置和存储介质
CN112702268A (zh) * 2020-12-22 2021-04-23 新华三技术有限公司 一种配置转发表项的方法及装置
CN113489646A (zh) * 2021-07-01 2021-10-08 北京网聚云联科技有限公司 基于vxlan的分段路由传输方法、服务器、源节点及存储介质
CN114697387A (zh) * 2020-12-11 2022-07-01 中国联合网络通信集团有限公司 数据包传输方法、装置及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189549A (zh) * 2018-08-01 2019-01-11 新华三技术有限公司 虚拟机迁移方法及装置
CN109412949B (zh) * 2018-09-21 2021-02-26 新华三技术有限公司 一种数据报文传输方法和装置
CN109286569B (zh) * 2018-09-28 2021-08-06 新华三技术有限公司合肥分公司 路由控制方法及接入设备
CN110430076B (zh) * 2019-07-31 2022-05-31 新华三技术有限公司合肥分公司 一种路由管理方法及装置
CN112751781A (zh) * 2019-10-31 2021-05-04 阿里巴巴集团控股有限公司 流量数据的处理方法、装置、设备及计算机存储介质
CN113497755B (zh) * 2020-03-20 2023-03-24 阿里巴巴集团控股有限公司 数据转发方法、系统及设备
CN114598634A (zh) * 2020-12-02 2022-06-07 华为技术有限公司 报文传输的方法、获取对应关系的方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103560968A (zh) * 2013-10-30 2014-02-05 神州数码网络(北京)有限公司 交换机硬件主机路由表更新方法、装置和交换机
CN103731349A (zh) * 2012-10-16 2014-04-16 杭州华三通信技术有限公司 一种以太网虚拟化互联邻居间报文转发方法和边缘设备
US20140269700A1 (en) * 2013-03-12 2014-09-18 Dell Products L.P. Systems and methods for an extranet multicast virtual private network in a virtual routing and fowarding based customer edge device
CN105376154A (zh) * 2014-08-11 2016-03-02 博科通讯系统有限公司 渐进式mac地址学习
CN105591923A (zh) * 2015-10-28 2016-05-18 杭州华三通信技术有限公司 一种转发表项的存储方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8059658B1 (en) * 2005-12-23 2011-11-15 Extreme Networks, Inc. Method and system for automatic expansion and contraction of IP host forwarding database
US9594612B2 (en) * 2013-06-28 2017-03-14 Arista Networks, Inc. System and method of a hardware shadow for a network element
WO2015180084A1 (zh) * 2014-05-29 2015-12-03 华为技术有限公司 一种报文转发方法和VxLAN网关
US9858104B2 (en) * 2014-09-24 2018-01-02 Pluribus Networks, Inc. Connecting fabrics via switch-to-switch tunneling transparent to network servers
CN104243318B (zh) * 2014-09-29 2018-10-09 新华三技术有限公司 Vxlan网络中的mac地址学习方法及装置
CN104243630B (zh) * 2014-09-29 2017-10-03 新华三技术有限公司 Vxlan网络中的mac地址学习方法及装置
US20170373973A1 (en) * 2016-06-27 2017-12-28 Juniper Networks, Inc. Signaling ip address mobility in ethernet virtual private networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731349A (zh) * 2012-10-16 2014-04-16 杭州华三通信技术有限公司 一种以太网虚拟化互联邻居间报文转发方法和边缘设备
US20140269700A1 (en) * 2013-03-12 2014-09-18 Dell Products L.P. Systems and methods for an extranet multicast virtual private network in a virtual routing and fowarding based customer edge device
CN103560968A (zh) * 2013-10-30 2014-02-05 神州数码网络(北京)有限公司 交换机硬件主机路由表更新方法、装置和交换机
CN105376154A (zh) * 2014-08-11 2016-03-02 博科通讯系统有限公司 渐进式mac地址学习
CN105591923A (zh) * 2015-10-28 2016-05-18 杭州华三通信技术有限公司 一种转发表项的存储方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3605972A4 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130816A (zh) * 2019-12-27 2020-05-08 北京东土军悦科技有限公司 一种报文转发处理设备、方法、装置和存储介质
CN111130816B (zh) * 2019-12-27 2022-06-24 北京东土军悦科技有限公司 一种报文转发处理设备、方法、装置和存储介质
CN114697387A (zh) * 2020-12-11 2022-07-01 中国联合网络通信集团有限公司 数据包传输方法、装置及存储介质
CN114697387B (zh) * 2020-12-11 2023-08-11 中国联合网络通信集团有限公司 数据包传输方法、装置及存储介质
CN112702268A (zh) * 2020-12-22 2021-04-23 新华三技术有限公司 一种配置转发表项的方法及装置
CN112702268B (zh) * 2020-12-22 2022-10-21 新华三技术有限公司 一种配置转发表项的方法及装置
CN113489646A (zh) * 2021-07-01 2021-10-08 北京网聚云联科技有限公司 基于vxlan的分段路由传输方法、服务器、源节点及存储介质
CN113489646B (zh) * 2021-07-01 2023-07-25 北京网聚云联科技有限公司 基于vxlan的分段路由传输方法、服务器、源节点及存储介质

Also Published As

Publication number Publication date
EP3605972A1 (en) 2020-02-05
CN108259347A (zh) 2018-07-06
US20200059382A1 (en) 2020-02-20
CN108259347B (zh) 2020-01-03
EP3605972A4 (en) 2020-04-08
JP6989621B2 (ja) 2022-01-05
EP3605972B1 (en) 2023-03-08
JP2020520612A (ja) 2020-07-09
US11184192B2 (en) 2021-11-23

Similar Documents

Publication Publication Date Title
WO2018210094A1 (zh) 报文传输方法、边缘设备及机器可读存储介质
US20180278522A1 (en) System and method to facilitate content forwarding using bit index explicit replication (bier) in an information-centric networking (icn) environment
US7944854B2 (en) IP security within multi-topology routing
CN109729012B (zh) 一种单播报文传输方法和装置
CN108718278B (zh) 一种报文传输方法和装置
US10791051B2 (en) System and method to bypass the forwarding information base (FIB) for interest packet forwarding in an information-centric networking (ICN) environment
US10616175B2 (en) Forwarding information to forward data to proxy devices
WO2019101118A1 (zh) 指定转发者选举
WO2018233588A1 (zh) 转发表项生成
US11165693B2 (en) Packet forwarding
CN106982163B (zh) 按需获取路由的方法及网关
WO2019201209A1 (zh) 报文转发
CN109412926B (zh) 一种隧道建立方法和装置
WO2018099394A1 (zh) 报文传输
CN111010329B (zh) 一种报文传输方法及装置
CN109412949B (zh) 一种数据报文传输方法和装置
US20130332586A1 (en) Providing ipv6 connectivity through shared external interfaces on electronic devices
CN113852552B (zh) 一种网络通讯方法、系统与存储介质
US10270607B2 (en) Method and system for roamed client device handling
US10708295B1 (en) Network route hijack protection
US20230412503A1 (en) Determining unicast addresses of gateway network devices associated with an anycast address in vxlan-evpn dci environments
CN108632125B (zh) 一种组播表项管理方法、装置、设备及机器可读存储介质
EP3488569B1 (en) System and method for ephemeral entries in a forwarding information base in a content centric network
WO2022111666A1 (zh) 一种路由通告方法、装置及系统
US10862849B2 (en) Address resolution system

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018801795

Country of ref document: EP

Effective date: 20191029

ENP Entry into the national phase

Ref document number: 2019563879

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE