CN114221895A - Data transmission method, device and network equipment - Google Patents

Data transmission method, device and network equipment Download PDF

Info

Publication number
CN114221895A
CN114221895A CN202110071538.1A CN202110071538A CN114221895A CN 114221895 A CN114221895 A CN 114221895A CN 202110071538 A CN202110071538 A CN 202110071538A CN 114221895 A CN114221895 A CN 114221895A
Authority
CN
China
Prior art keywords
network device
route
network
message
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110071538.1A
Other languages
Chinese (zh)
Inventor
王海波
庄顺万
闫刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP21193710.7A priority Critical patent/EP3965379A1/en
Priority to BR102021017416-1A priority patent/BR102021017416A2/en
Priority to MX2021010610A priority patent/MX2021010610A/en
Priority to JP2021143841A priority patent/JP7314219B2/en
Priority to US17/466,517 priority patent/US20220078046A1/en
Publication of CN114221895A publication Critical patent/CN114221895A/en
Pending legal-status Critical Current

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/02Topology update or discovery
    • 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]
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

Abstract

The application discloses a method, a device and network equipment for transmitting data, relates to the field of communication, and solves the problem of how to reduce resource overhead and storage pressure of a side edge node of a user. The method includes the third network device sending a first route to the first network device according to the first network device being a first mode neighbor of the third network device, or according to a request received from the first network device. And the first network equipment forwards the message sent to the second user side equipment connected with the second network equipment according to the first route. The first network device only stores the default route sent to the third network device, and the third network device forwards the message sent by the first network device according to the fact that the first network device is a radiation (spoke) neighbor of the third network device, so that resource overhead and storage pressure of the first network device are reduced.

Description

Data transmission method, device and network equipment
The present application claims priority from a chinese patent application entitled "a method and apparatus for performing route optimization based on a hierarchical architecture" filed by the national intellectual property office on 04/09/2020, having application number 202010920439.1, the entire contents of which are incorporated herein by reference.
Technical Field
The present application relates to the field of communications, and in particular, to a method, an apparatus, and a network device for transmitting data.
Background
For the network devices in the local area network deployed by the tree network, a Border Gateway Protocol (BGP) may be used to propagate the routes of the network devices in the local area network, so as to facilitate transmission of data packets between the network devices. Since BGP has the property of flooding routes, each network device in the local area network stores a broadcast domain routing table and a unicast routing table. However, in order to reduce the cost, a user side edge (CE) node (i.e., a network device close to the user side) in the tree network often has low memory and processing capabilities, and since the user side edge node stores the routing information of other network devices in the tree network, the resource overhead of the user side edge node for processing the data packet and the pressure of storing the routing table are both large. Therefore, how to reduce the resource overhead and storage pressure of the user side edge node is an urgent problem to be solved.
Disclosure of Invention
The application provides a method, a device and network equipment for transmitting data, and solves the problem of how to reduce resource overhead and storage pressure of a side edge node of a user.
In a first aspect, the present application provides a method for transmitting data, where the method may be applied to an Ethernet Virtual Private Network (EVPN) system, where the system includes a first Network device, a second Network device, and a third Network device, where the third Network device establishes a first mode neighbor with the first Network device and the second Network device respectively, the first Network device is connected to a first user-side device, the second Network device is connected to a second user-side device, and the method is executed by the third Network device, or the method may be applied to a communication apparatus that supports the third Network device to implement the method, where for example, the communication apparatus includes a chip system. The method comprises the following steps: the third network device obtains the first route according to the first network device being a first mode neighbor of the third network device or according to a request received from the first network device, and sends the first route to the first network device. The first route is used for indicating the first network equipment to forward a message sent to second user side equipment connected with the second network equipment according to the first route. Therefore, the first network device only stores the default route sent to the third network device, and the third network device forwards the message sent by the first network device according to the fact that the first network device is a radiation (spoke) neighbor of the third network device, or the first network device does not store the route used for reaching the user side device mounted by the second network device in advance, but obtains the route of the corresponding user side device from the third network device as required, so that resource overhead and storage pressure of the first network device are reduced.
In a possible implementation manner, the acquiring, by the third network device, the first route according to the first mode neighbor of the third network device, by the first network device includes: and the third network equipment generates a first route according to the first mode neighbor of the third network equipment, wherein the first route is used for indicating the first network equipment to forward the message sent to the second user side equipment to the third network equipment according to the first route. The first route may be, for example, an unknown Media Access Control route (UMR).
In another possible implementation manner, the obtaining, by the third network device, the first route according to the request received from the first network device includes: the third network device receives a request from the first network device, wherein the request is a request for acquiring a route to the second user side device, and the request is a request generated by the first network device or a request generated by the first user side device forwarded by the first network device; and acquiring a first route according to the request, wherein the first route is used for indicating the first network equipment to forward the message sent to the second user side equipment to the second network equipment according to the first route. The destination address of the first route is the address of the second user side device, and the next hop of the first route is the address of the second network device. After obtaining the first route, the first network device may directly send, to the second network device, a message that needs to be sent to the second user side device using the first route.
Therefore, the first network equipment dynamically requests the route based on the unicast traffic of the service, the accurate route request is realized, and the message is sent according to the requested route to achieve the effect of optimal path. Therefore, on one hand, the first network equipment does not need to maintain a large number of routes, the number of the routes stored by the first network equipment is controlled, and the resource overhead and the storage pressure of the first network equipment are obviously reduced; on the other hand, after the requested route is obtained, the message sent by the first network device does not need to be forwarded by the third network device, and service path balancing is facilitated in service scenes such as frequent service traffic.
Further, the method further comprises: and the third network equipment receives the first message sent by the first network equipment according to the first route and forwards the first message to the second network equipment. The first message is a message sent by a first user side device connected with a first network device to a second user side device. The first message may be a unicast message.
In addition, the method further comprises: and the third network equipment receives the second route sent by the second network equipment and receives the third route sent by the first network equipment. The second route is used for indicating the third network equipment to forward the message sent to the second user side equipment. The third route is used for instructing the third network device to forward the message sent to the first user side device.
Specifically, after receiving a first message sent by the first network device according to the first route, the third network device may forward the first message to the second network device according to the second route.
In another possible implementation manner, the first network device is directly or indirectly connected with the first user-side device; and the second network equipment is directly or indirectly connected with the second user side equipment. The first network device may be a user-side edge network device in a case where the first network device is directly connected to the first user-side device, and is configured to be directly connected to a user-side device such as a user host to provide a network service. In the case that the second network device is directly connected to the second user-side device, the second network device may also be a user-side edge network device. Taking the first network device as an example, in the direct connection mode, the first network device may obtain a default route from the third network device, so as to send a message of the first user side device to the second user side device connected to the second network device through the third network device; or, in the direct connection mode, the first network device may send a request to the third network device to obtain the first route, so as to directly send the message to the second user-side device according to the first route.
In the case that the first network device is indirectly connected to the first user-side device, the first network device may also be a network-side network device, and the first network device may be connected to the first user-side device through the first user-side edge network device, for example. Similarly, the second network device may also be connected to the second user-side device through the second user-side edge network device. Still taking the first network device as an example, in the indirect connection manner, a first mode neighbor may be established between the first network device and the first user-side edge network device, and a first mode neighbor may also be established between the third network device and the first network device, so as to establish a multi-level hierarchical structure. The first network device may obtain a first route from a third network device, where the first route is, for example, a UMR route, and forward the UMR route to the first user-side edge network device, so as to finally send a packet of the first user-side device to a second user-side device connected to the second network device through the third network device; or, in the indirect connection manner, the first network device may send a request for obtaining the first route to the first network device through the first user-side edge network device, and after receiving the request, the first network device may generate an updated request based on the request, so as to request the third network device to obtain the first route, thereby enabling the first user-side edge network device or the first network device to directly send the message to the second user-side device according to the first route.
The above process of the first network device obtaining the first route from the third network device and forwarding the first route to the first user-side edge network device may be considered to implement a function similar to a route reflector.
In addition, the first network device may further obtain one or more requests for obtaining the route, where the one or more requests may be issued from one or more user-side devices. The first network device may generate a new request based on the one or more requests and forward the new request to the third network device, so as to obtain one or more routes corresponding to the one or more requests from the third network device and forward the one or more routes to the first user-side edge network device, so that the first user-side edge network device forwards the user-side device packet according to the one or more routes.
In another possible implementation manner, the method further includes: the third network device may negotiate a number of Outgoing Route Filtering (ORF) requests with the first network device. The third network device may negotiate the number of ORF requests with the second network device. The ORF requests a route for the user-side device requesting a network device connection. If the third network device receives more than a threshold number of ORF requests, the third network device discards the excess number of ORF requests.
In a second aspect, the present application provides a method for transmitting data, where the method is applicable to an EVPN system, and the system includes a first network device, a second network device, and a third network device, where the third network device establishes first-mode neighbors with the first network device and the second network device, respectively, the first network device is connected to a first user-side device, and the second network device is connected to a second user-side device, and the method is executed by the first network device, or the method is applicable to a communication apparatus that supports the first network device to implement the method, where for example, the communication apparatus includes a chip system. The method comprises the following steps: the first network equipment receives a first route from the third network equipment, wherein the first route is used for indicating the first network equipment to forward a message of the first user side equipment according to the first route; and then, the first network equipment receives a first message sent by the first user side equipment, and forwards the first message according to the first route. The first message is a message sent to the second user side device. Therefore, the first network device only stores the default route sent to the third network device, and the third network device forwards the message sent by the first network device according to the spoke neighbor of the third network device, or the first network device does not pre-store the route used for reaching the user side device mounted by the second network device, but obtains the route of the corresponding user side device from the third network device as required, thereby reducing the resource overhead and the storage pressure of the first network device.
In one possible implementation, receiving the first route from the third network device includes: receiving a first route generated and sent by third network equipment; forwarding the first packet according to the first route, including: and forwarding the first message to the third network equipment by using the first route according to the Media Access Control (MAC) address of the second user side equipment which is not found.
In another possible implementation, receiving the first route from the third network device includes: receiving a first route responding to a request from a third network device according to the request sent to the third network device, wherein the request is used for obtaining the route reaching a second user side device; forwarding the first packet according to the first route, including: and forwarding the first message to second network equipment connected with second user side equipment according to the first route.
In another possible implementation manner, the first route is a route of the second user-side device; the method further comprises the following steps: and deleting the first route after a preset time period. Therefore, the first network equipment is prevented from storing more routing information, and the storage pressure of the first network equipment is increased.
In addition, before the first network device receives the first route sent by the third network device, the method further includes: and the first network equipment sends a second route to the third network equipment, wherein the second route is used for indicating the third network equipment to forward the message to the first user side equipment.
In another possible implementation manner, the first network device is directly or indirectly connected with the first user-side device; and the second network equipment is directly or indirectly connected with the second user side equipment.
In a third aspect, the present application provides a method for transmitting data, where the method is applicable to an EVPN system, and the system includes a first network device, a second network device, and a third network device, where the third network device establishes first-mode neighbors with the first network device and the second network device, respectively, the first network device is connected to a first user-side device, the second network device is connected to a second user-side device, and the method is executed by the third network device, or the method is applicable to a communication apparatus that supports the third network device to implement the method, where for example, the communication apparatus includes a chip system. The method comprises the following steps: after the third network device receives the first route from the first network device and receives the first message from the second user side device connected with the second network device, the third network device forwards the first message to the first network device according to the first route because the third network device is a first mode neighbor of the third network device. The first route is a first Inclusive Multicast Ethernet Tag (IMET) route, and the first route is used for forwarding a packet to the first user side device. The first mode neighbor may be a spoke neighbor, for example.
Therefore, the first network device and the second network device only store the IMET route of the third network device, and the IMET routes of other network devices are not required to be stored, so that the resource overhead and the storage pressure of the side edge node of the user are effectively reduced.
In one possible implementation, the method further includes: the third network device receives a second route from the second network device. The second route is a second IMET route, and the second route is used for forwarding the message to the second user side equipment.
It should be noted that, according to the first mode neighbor of the first network device being the third network device, the third network device does not forward the second route to the first network device; and, the third network device does not forward the first route to the second network device, in accordance with the second network device being a first mode neighbor of the third network device.
In addition, according to the fact that the second network device is a first mode neighbor of the third network device, and the first message comes from the second network device, the third network device does not forward the first message to the second network device.
In another possible implementation manner, before the third network device receives the first packet from the second user-side device connected to the second network device, the method further includes: and issuing a third IMET route to the second network equipment to indicate the second network equipment to send the first message to the third network equipment according to the third IMET route.
In another possible implementation manner, the method further includes: and issuing a third IMET route to the first network equipment to instruct the first network equipment to send a second message to the third network equipment according to the third IMET route, wherein the second message is a message of the first user side equipment connected with the first network equipment.
The first packet and the second packet are both broadcast, unknown unicast, and multicast (BUM) packets, that is, the first packet and the second packet are both broadcast, unknown unicast, or multicast packets.
In another possible implementation manner, the first network device is directly or indirectly connected with the first user-side device; and the second network equipment is directly or indirectly connected with the second user side equipment. The first network device may be a user-side edge network device in a case where the first network device is directly connected to the first user-side device, and is configured to be directly connected to a user-side device such as a user host to provide a network service. In the case that the second network device is directly connected to the second user-side device, the second network device may also be a user-side edge network device. Taking the first network device as an example, in the direct connection mode, the first network device may obtain, from the third network device, an IMET route issued by the third network device, so as to send, through the third network device, a message of the first user-side device to the second user-side device connected to the second network device. In the case that the first network device is indirectly connected to the first user-side device, the first network device may also be a network-side network device, and the first network device may be connected to the first user-side device through the first user-side edge network device, for example. Similarly, the second network device may also be connected to the second user-side device through the second user-side edge network device. Still taking the first network device as an example, in the indirect connection manner, a first mode neighbor may be established between the first network device and the first user-side edge network device, and a first mode neighbor may also be established between the third network device and the first network device, so as to establish a multi-level hierarchical structure. The first network device may obtain the IMET route from the third network device, and forward the IMET route to the first user-side edge network device, so as to finally send the packet of the first user-side device to the second user-side device connected to the second network device through the third network device.
The process of the first network device obtaining the IMET route from the third network device and forwarding the IMET route to the first user-side edge network device may be considered to implement a function similar to a route reflector.
In a fourth aspect, the present application provides a method for transmitting data, where the method is applicable to an EVPN system, and the system includes a first network device, a second network device, and a third network device, where the third network device establishes first-mode neighbors with the first network device and the second network device, respectively, the first network device is connected to a first user-side device, and the second network device is connected to a second user-side device, and the method is executed by the first network device, or the method is applicable to a communication apparatus that supports the first network device to implement the method, where for example, the communication apparatus includes a chip system. The method comprises the following steps: the first network device sends the first route to the third network device according to the first mode neighbor of the first network device being the third network device. And then, the first network device receives a first message sent by the third network device, wherein the first message is a message of a second user side device connected with the second network device. The first route is a first IMET route, and the first route is used for forwarding the message to the first user side equipment.
Further, the first network device does not send the first route to the second network device in accordance with the first network device not being a first mode neighbor of the second network device. The first mode neighbor is, for example, a spoke neighbor.
In another possible implementation manner, the first network device is directly or indirectly connected with the first user-side device; and the second network equipment is directly or indirectly connected with the second user side equipment.
In a fifth aspect, the present application provides a communication apparatus, and reference may be made to the description of any one of the first aspect to the fourth aspect for advantageous effects, which are not described herein again. The communication device has functionality to implement the actions in the method instance of any of the first to fourth aspects described above. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above-described functions. In one possible design, the communication device includes: the device comprises a receiving unit, a processing unit and a sending unit. As an example, the communication device is configured to implement the function of the third network device, and specifically, the processing unit is configured to generate the first route. The sending unit is configured to send the first route to the first network device and the second network device. The receiving unit is used for receiving a second route sent by the first network device and receiving a third route sent by the second network device. The route may be a MAC route or an IMET route. In addition, the receiving unit is further configured to receive a first packet sent by the first network device. The sending unit is used for forwarding the first message to the second network device according to the third route. The receiving unit is further configured to receive a second packet sent by the second network device. The sending unit is used for forwarding the second message to the first network device according to the second route. The message may be a unicast message or a BUM message. The modules may perform corresponding functions in any one of the method examples of the first aspect to the fourth aspect, for which specific reference is made to detailed descriptions in the method examples, which are not repeated herein.
In a sixth aspect, the present application provides a network device, where the network device may be each network device in the foregoing method embodiments, or a chip disposed in the network device. The network device includes an interface circuit, a processor, and optionally a memory. Wherein the memory is used for storing computer programs or instructions, and the processor is coupled with the memory and the interface circuit, and when the processor executes the computer programs or instructions, the network device is caused to execute the corresponding method executed by each network device in the above method embodiments.
In a seventh aspect, the present application provides a computer program product comprising: computer program code which, when run, causes the method performed by the network device in the above aspects to be performed.
In an eighth aspect, the present application provides a chip system, which includes a processor for implementing the functions of the network device in the method of the above aspects. In one possible design, the system-on-chip further includes a memory for storing program instructions and/or data. The chip system may be formed by a chip, or may include a chip and other discrete devices.
In a ninth aspect, the present application provides a computer-readable storage medium storing a computer program which, when executed, implements the method performed by the network device in the above aspects.
Drawings
Fig. 1 is a simplified structural diagram of VXLAN according to an embodiment of the present application;
fig. 2 is a flowchart of a method for transmitting data according to an embodiment of the present disclosure;
fig. 3 is a schematic diagram of a route learning process according to an embodiment of the present application;
fig. 4 is a flowchart of another method for transmitting data according to an embodiment of the present application;
fig. 5 is a schematic diagram of a message sending process according to an embodiment of the present application;
fig. 6 is a flowchart of another method for transmitting data according to an embodiment of the present application;
fig. 7 is a schematic diagram of an ARP packet sending process according to an embodiment of the present application;
fig. 8 is a schematic diagram of another packet sending process provided in the embodiment of the present application;
fig. 9 is a flowchart of another method for transmitting data according to an embodiment of the present application;
fig. 10 is a schematic diagram of another route learning process provided in the embodiment of the present application;
fig. 11 is a flowchart of another method for transmitting data according to an embodiment of the present application;
fig. 12 is a schematic diagram of another packet sending process provided in the embodiment of the present application;
fig. 13 is a simplified structural diagram of another VXLAN provided in an embodiment of the present application;
fig. 14 is a flowchart of another method for transmitting data according to an embodiment of the present application;
fig. 15 is a flowchart of another method for transmitting data according to an embodiment of the present application;
fig. 16 is a block diagram of a communication device according to an embodiment of the present application;
fig. 17 is a block diagram of a network device according to an embodiment of the present application;
fig. 18 is a block diagram of another network device according to an embodiment of the present application.
Detailed Description
At present, large-scale, virtualization and cloud computing have become development directions of networks to achieve the purposes of integrating Information Technology (IT) resources, improving resource utilization efficiency, reducing maintenance cost and the like. With the rapid development of network virtualization implemented on physical network infrastructure, the number of Virtual Machines (VMs) on a physical device is increasing, the number of applications running in a virtualization environment is also increasing, the architecture of a physical network limits the development scale of the VMs, and great challenges are brought to the virtual network. A Virtual extended Local Area Network (VXLAN) technology, which is one of Network virtualization over Layer 3 (NVo 3) technologies based on three-Layer (Layer 3, L3) bearer, has strong adaptability, and provides a good solution for Network virtualization.
A VXLAN Tunnel endpoint (VXLAN Tunnel Endpoints, VTEP) in VXLAN encapsulates a data packet sent by a source virtual machine by using a User Datagram Protocol (UDP), so as to obtain a VXLAN packet. The Internet Protocol (IP) address and Media Access Control (MAC) of the VTEP in the physical network are used as the outer-header in the VXLAN message. The source IP address in the VXLAN message is the address of the local end VTEP of the VXLAN tunnel, and the destination IP address in the VXLAN message is the address of the opposite end VTEP of the VXLAN tunnel. And transmitting the VXLAN message on the IP network by using a VXLAN tunnel established by a pair of VTEPs, decapsulating the VXLAN message by a VXLAN tunnel endpoint at the termination of the VXLAN tunnel, and transmitting the data to the target virtual machine. Therefore, the decoupling of the physical network and the virtual network is realized, the tenant can plan the virtual network of the tenant, the limitation of the IP address of the physical network and the broadcast domain does not need to be considered, and the difficulty of network management is greatly reduced.
Fig. 1 is a simplified schematic structural diagram of a VXLAN according to an embodiment of the present application. As shown in fig. 1, VXLAN includes network device 101, network device 102, and network device 103. Network device 101, network device 102, and network device 103 may be interconnected using physical media. Network device 101, network device 102, and network device 103 are three different VXLAN tunnel endpoints, respectively. VXLAN tunnel 1 is established between network device 101 and network device 102. VXLAN tunnel 2 is established between network device 102 and network device 103. VXLAN tunnel 3 is established between network device 103 and network device 101. The network device 103 may access other networks (e.g., the internet). For example, network device 103 may be a gateway device of VXLAN, and network device 103 connects to network device 108 in the internet, so that the message in VXLAN may be transmitted to a network other than VXLAN through network device 103. Network device 101 connects server 104 and server 105. Network device 102 connects server 106 and server 107. Each of the servers 104 to 107 is divided into a plurality of virtual machines. Assuming that the virtual machine on the server 104 sends data to the virtual machine on the server 106, the network device 101 firstly encapsulates the data packet sent by the virtual machine on the server 104 by using UDP, so as to obtain a VXLAN message. The VXLAN message is transmitted to the network device 102 through the VXLAN tunnel 1 between the network device 101 and the network device 102, the network device 102 decapsulates the VXLAN message, and transmits data included in the VXLAN message to the virtual machine on the server 106. The network device 101 and the network device 102 connected to the server may be referred to as user-side edge nodes in the network, and are each connected to the network device 103 on the network side.
The network device described in this embodiment may be a router or a switch. Devices connected by devices accessing user-side edge nodes, such as network device 101 and network device 102, may be other devices, such as hosts or terminals (terminals), in addition to the servers shown in fig. 1. A terminal may also be referred to as a terminal equipment, a User Equipment (UE), a Mobile Station (MS), a Mobile Terminal (MT), or the like. The terminal may be a mobile phone (mobile phone), a tablet computer (Pad), a computer with wireless transceiving function, a wearable device, a Virtual Reality (VR) terminal device, an Augmented Reality (AR) terminal device, a wireless terminal in industrial control (industrial control), a wireless terminal in self driving (self driving), a wireless terminal in remote surgery (remote medical supply), a wireless terminal in smart grid (smart grid), a wireless terminal in transportation safety (transportation safety), a wireless terminal in smart city (smart city), a wireless terminal in smart home (smart home), and so on. The embodiment of the present application does not limit the specific technology and the specific device form adopted by the terminal. Fig. 1 is a schematic illustration only, and the embodiment of the present application does not limit the number of network devices and servers included in the system.
Generally, a server can virtualize a plurality of virtual machines, and one virtual machine can be regarded as one host. Services can be flexibly deployed on the virtual machine. The same service can be deployed on virtual machines belonging to the same network segment. Different services may be deployed on virtual machines belonging to different network segments. And the virtual machines belonging to the same network segment can communicate with each other. Communication between virtual machines belonging to different network segments is also possible. For example, the services of the finance department are deployed on virtual machines belonging to the same network segment on the server 104 and the server 106. As another example, the service of the engineering department is deployed on virtual machines belonging to the same network segment on the server 105 and the server 107. And the business virtual machines carrying the financial department can communicate with each other. Communication may also be made between a virtual machine carrying the business of the finance department and a virtual machine carrying the business of the engineering department. For another example, the service of the human resource department is deployed on a server of a conventional network, and a service virtual machine bearing the financial department, a service virtual machine bearing the engineering department, and a server bearing the service of the human resource department may also communicate with each other.
It should be noted that the VXLAN tunnel endpoint in VXLAN discovers other VXLAN tunnel endpoints and learning host information through broadcast messages. The host information includes an IP address, a MAC address, a VXLAN Network Identifier (VNI), an IP address of the gateway VTEP, and the like. This approach results in a network with a lot of flooding traffic. In order to solve this problem, in VXLAN, an Ethernet Virtual Private Network (EVPN) technology may be adopted, and a new Network Layer accessibility Information (NLRI) is defined on the basis of a Border Gateway Protocol (BGP), that is, an EVPN NLRI, which defines several new BGP-EVPN route types (e.g., MAC/IP route, Inclusive Multicast Ethernet Tag (IMET) route, IP prefix route, etc.), and characteristics such as auto discovery of VTEPs and host Information mutual advertisement are realized by exchanging BGP-EVPN routes between VTEPs.
However, in larger scale VXLAN (e.g., VXLAN deployed in some large parks) networks, the number of customer-side edge nodes (e.g., network devices near the server) is very large. Even if each customer-side edge node generates a route, the hardware of the customer-side edge node cannot support such a size of route volume.
To this end, in the solution proposed in the embodiments of the present application, a specific neighbor mode is established between a network side node and each user side edge node connected thereto, so that each user side edge node issues to the network side node a route of a device (such as a user host, etc.) that implements network communication through the user side edge node according to the established neighbor mode, and each user side edge node may forward packets to each other through the network side node without advertising a route to each other, or dynamically acquire a route to reach other user side edge nodes from the network side node as needed, thereby reducing storage pressure and resource overhead of the user side edge node.
Next, a method for transmitting data provided in the present application will be described in detail with reference to the accompanying drawings.
Fig. 2 is a flowchart of a method for transmitting data according to an embodiment of the present disclosure. Here, the description will be made taking the network device 101, the network device 102, and the network device 103 as examples. Wherein network device 103 establishes first mode neighbors with network device 101 and network device 102, respectively. The first mode neighbor may be referred to as a spoke neighbor. As shown in fig. 2, the method includes the following steps.
S201, the network device 103 generates a first route.
Network device 103 determines that network device 101 is a first mode neighbor of network device 103 and determines that network device 102 is a first mode neighbor of network device 103 according to the stored information of the network device with which the spoke neighbor is established. Further, network device 103 generates a first route based on network device 101 being a first mode neighbor of network device 103 and network device 102 being a first mode neighbor of network device 103.
The first route is used to instruct the network device 101 to forward a message addressed to the virtual machine connected to the network device 102 to the network device 103 according to the first route.
The first route is also used to instruct the network device 102 to forward a packet addressed to the virtual machine connected to the network device 101 to the network device 103 according to the first route.
The first route may be a default route. For example, the default Route is an Unknown MAC Route (UMR), as represented by MAC addresses 0-0-0. By publishing the default route, the network device 103 may enable the network device receiving the default route to forward the service packet to be sent to the network device 103 according to the default route, and then the network device 103 determines to forward the received service packet to the next network device through a local lookup table.
S202, the network device 103 sends the first route to the network device 101.
Network device 103 sends the first route to network device 101 according to the BGP-EVPN neighbor relationship with the spoke pattern of network device 101.
S203, the network device 103 sends the first route to the network device 102.
Network device 103 sends the first route to network device 102 in accordance with the BGP-EVPN neighbor relationship with the spoke pattern of network device 102.
S204, the network device 101 receives the first route from the network device 103.
After receiving the first route, the network device 101 records the first route in an unknown unicast routing table. After the network device 101 receives a message sent by a virtual machine connected to the network device 101, the message may be forwarded to the network device 103 according to the first route.
S205, the network device 102 receives the first route from the network device 103.
After receiving the first route, the network device 102 records the first route in an unknown unicast routing table. After the network device 102 receives the message sent by the virtual machine connected to the network device 102, the message may be forwarded to the network device 103 according to the first route.
In one case, the first route may be actively sent by network device 103 according to its first mode neighbor relationship with network device 102 and network device 103. In another scenario, network device 103 may also send the first Route to network device 101 and network device 102 after receiving a request (e.g., an Output Route Filtering (ORF) request) from network device 101 and network device 102. The ORF request is used to request a default route. In some embodiments, the ORF request includes a route type indicating a default route. Illustratively, before S201, the method may further include the following steps.
S206, the network device 101 sends the first output route filtering request to the network device 103.
Network device 101 sends a first outgoing route filtering request to network device 103 according to a BGP-EVPN neighbor relationship with a hub (hub) mode of network device 103.
S207, the network device 103 receives the first output route filtering request sent by the network device 101.
After receiving the first output route filtering request sent by the network device 101, the network device 103 sends the first route to the network device 101.
S208, the network device 102 sends the first output route filtering request to the network device 103.
Network device 102 sends a first outgoing route filtering request to network device 103 according to the BGP-EVPN neighbor relationship with the hub mode of network device 103.
S209, the network device 103 receives the first output route filtering request sent by the network device 102.
After receiving the first output route filtering request sent by the network device 102, the network device 103 sends the first route to the network device 102.
In other embodiments, network device 101 and network device 102 may also send their own MAC routes to network device 103. The method further comprises the following steps.
S210, the network device 102 sends the second route to the network device 103.
The second route is used to instruct the network device 103 to forward the packet addressed to the virtual machine connected to the network device 102 according to the second route.
S211, the network device 101 sends the third route to the network device 103.
The third route is used to instruct the network device 103 to forward, to the network device 101, a packet addressed to the virtual machine connected to the network device 101 according to the third route.
S212, the network device 103 receives the second route sent by the network device 102.
S213, the network device 103 receives the third route sent by the network device 101.
For example, as shown in fig. 3, a schematic diagram of a route learning process provided in an embodiment of the present application is shown. Network device 103 sends the first route to network device 101 and network device 102, respectively. Network device 102 sends the second route to network device 103. Network device 101 sends the third route to network device 103.
According to the first mode neighbor that network device 101 is network device 103, network device 103 receives the second route sent by network device 102, but does not forward the second route to network device 101. And, according to network device 102 being a first mode neighbor of third network device 103, network device 103 receives the third route sent by network device 101, but does not forward the third route to network device 102. And, the network device 101 and the network device 102 may not advertise the second route or the third route to each other according to being not neighbors of the first mode. Between network device 101 and network device 102 may be, for example, a second mode neighbor, such as a hub mode neighbor.
In this way, both network device 101 and network device 102 store only the default route, but do not need to store routes of other network devices in VXLAN, thereby effectively reducing resource overhead and storage pressure of the user-side edge node.
Further, after the virtual machine on the device (e.g., server 104, server 105) connected to the network device 101 is started, the virtual machine notifies its MAC address to the network device 103. Similarly, after the virtual machine on the device (e.g., server 106, server 107) connected to the network device 102 is started, the virtual machine notifies its MAC address to the network device 103. Thus, network device 103 learns the MAC addresses of all virtual machines connected to the customer-side edge node in VXLAN. When the virtual machines communicate with each other, the network device 103 forwards the unicast packet between the virtual machines.
Fig. 4 is a flowchart of a method for transmitting data according to an embodiment of the present disclosure. The difference from fig. 2 described above is that it is assumed here that network device 103 has learned the address of network device 101, the addresses of virtual machines on all servers connected to network device 101, the address of network device 102, and the addresses of virtual machines on all servers connected to network device 102. Wherein network device 103 establishes first mode neighbors with network device 101 and network device 102, respectively. The description will be given taking, as an example, virtual machine 1 in server 104 accessing virtual machine 2 in server 106. Assume that virtual machine 1 in server 104 has learned the MAC address of virtual machine 2 in server 106. As shown in fig. 4, after S201 to S213, the method includes the following steps.
S401, the virtual machine 1 in the server 104 sends a first packet to the network device 101.
The header of the first message includes the MAC address of virtual machine 1 and the MAC address of virtual machine 2. The first packet is a packet sent by virtual machine 1 connected to network device 101 to virtual machine 2 connected to network device 102. In this embodiment, the first packet is a unicast packet.
S402, the network device 101 receives a first packet sent by the virtual machine 1 in the server 104.
S403, the network device 101 forwards the first packet according to the first route.
Since network device 101 does not find the MAC address of virtual machine 2 in the unicast routing table, network device 101 forwards the first packet to network device 103 using the first route in the unknown unicast routing table.
Understandably, the network device 101 may encapsulate the first packet using UDP to obtain the first VXLAN packet. The header of the first VXLAN message may include the IP address of network device 101, the IP address of network device 103, the MAC address of network device 101, and the MAC address of virtual machine 2 to which network device 102 is connected that the first message contains. Network device 101 sends the first VXLAN message to network device 103 through VXLAN tunnel 3 between network device 101 and network device 103.
S404, the network device 103 receives the first packet sent by the network device 101.
S405, the network device 103 forwards the first packet to the network device 102 according to the second route.
Network device 103 decapsulates the first VXLAN packet, queries a unicast routing table according to the MAC address of virtual machine 2 connected to network device 102 to obtain a second route, and if network device 102 is a spoke neighbor of network device 103, network device 103 forwards the first packet to network device 102 according to the second route.
Understandably, the network device 103 can encapsulate the first message by using UDP to obtain the second VXLAN message. Network device 103 forwards the second VXLAN packet to network device 102 via VXLAN tunnel 2 between network device 103 and network device 102 according to the second route. The header of the second VXLAN message includes the IP address of network device 103, the MAC address of network device 103, the IP address of network device 102, and the MAC address of network device 102.
S406, the network device 102 receives the first packet sent by the network device 103.
S407, the network device 102 forwards the first packet to the virtual machine 2 connected to the network device 102.
Understandably, the network device 102 decapsulates the second VXLAN packet to obtain a first packet, and sends the first packet to the virtual machine 2 connected to the network device 102.
For example, as shown in fig. 5, a schematic diagram of a message sending process provided in the embodiment of the present application is shown. A path for sending the first packet to the virtual machine 2 in the server 106 by the virtual machine 1 in the server 104 is virtual machine 1- > network device 101- > network device 103- > network device 102- > virtual machine 2 in the server 106. The path for the virtual machine in the server 107 to send the second packet to the virtual machine in the server 105 is virtual machine- > network device 102- > network device 103- > network device 101- > virtual machine in the server 107.
In this way, when both the network device 101 and the network device 102 store only the default route and do not need to store the routes of other network devices in the VXLAN, the route for sending the message to the virtual machine 2 connected to the network device 102 is acquired from the network device 103 as needed, and the message is forwarded through the network device 103, so that the virtual machine 1 connected to the network device 101 and the virtual machine 2 connected to the network device 102 communicate with each other. Therefore, the resource overhead and the storage pressure of the user side edge node are effectively reduced.
In some embodiments, if virtual machine 1 connected to network device 101 does not know the MAC address of virtual machine 2 connected to network device 102, virtual machine 1 connected to network device 101 sends a request to obtain the MAC address of virtual machine 2 connected to network device 102. Fig. 6 is a flowchart of a method for transmitting data according to an embodiment of the present disclosure. As shown in fig. 6, before S401, the method further includes the following steps.
S601, the virtual machine 1 in the server 104 sends an Address Resolution Protocol (ARP) message to the network device 101.
The arp message is used to request the MAC address of the virtual machine 2 to which the network device 102 is connected. The address resolution protocol message includes the IP address of the virtual machine 2 to which the network device 102 is connected.
S602, the network device 101 receives an address resolution protocol packet sent by the virtual machine 1 in the server 104.
S603, the network device 101 forwards the arp packet to the network device 103.
After receiving the ARP packet, if the MAC address of the virtual machine 2 associated with the IP address of the virtual machine 2 is found in the locally stored ARP table, the network device 101 feeds back the MAC address of the virtual machine 2 to the virtual machine 1 in the server 104. Otherwise, if the network device 101 does not query the MAC address of the virtual machine 2 associated with the IP address of the virtual machine 2 in the locally stored ARP table, the network device 101 broadcasts the ARP packet to the network device 103. For example, network device 101 broadcasts the arp packet to network device 103 according to the IMET route sent by network device 103.
Understandably, the network device 101 may encapsulate the arp packet using UDP to obtain the third VXLAN packet. A third VXLAN message is sent to network device 103 through VXLAN tunnel 3 between network device 101 and network device 103.
S604, the network device 103 receives the arp packet sent by the network device 101.
S605, the network device 103 sends a response packet to the network device 101 according to the third route.
Since the network device 103 learns the IP address and the MAC address of the virtual machine 2 connected to the network device 102, the network device 103 queries the ARP table according to the IP address of the virtual machine 2 connected to the network device 102 to obtain the MAC address of the virtual machine 2 connected to the network device 102. The network device 103 generates a response message including the MAC address of the virtual machine 2 to which the network device 102 is connected. The network device 103 forwards the response message to the network device 101 through the VXLAN tunnel 3 between the network device 101 and the network device 103. Understandably, the network device 103 may use UDP encapsulation response message to obtain the fourth VXLAN message. A fourth VXLAN message is sent to network device 103 through VXLAN tunnel 3 between network device 103 and network device 101.
For example, assume that the IP address of virtual machine 2 to which network device 102 is connected is 10.1.1.2 and the MAC address of virtual machine 2-2-2 to which network device 102 is connected. Network device 103 queries for 2-2-2 based on 10.1.1.2 and feeds back 10.1.1.2 and 2-2-2 to network device 101.
S606, the network device 101 receives the response packet sent by the network device 103.
S607, the network device 101 sends a response message to the virtual machine 1 connected to the network device 101.
Further, the virtual machine 1 connected to the network device 101 may send a message to the virtual machine 2 connected to the network device 102 according to the MAC address of the virtual machine 2 connected to the network device 102. For details, reference is made to the descriptions of S401 to S407 in the above embodiments, and no further description is given.
For example, as shown in fig. 7, a schematic diagram of an ARP packet sending process provided in the embodiment of the present application is shown. The path of the ARP packet of the MAC address of virtual machine 2 in server 106 requested by virtual machine 1 in server 104 is virtual machine 1- > network device 101- > network device 103- > network device 101- > virtual machine 1 in server 104.
Optionally, the network device 101 may also generate an ORF request according to an ARP request sent by the virtual machine 1 connected to the network device 101, and the network device 101 acquires the MAC address of the virtual machine 2 connected to the network device 102 by using the ORF request. For example, network device 101 sends a second ORF request to network device 103, the second ORF request including a route type indicating that a route of virtual machine 2 to which network device 102 is connected is to be obtained.
Therefore, the network device 101 dynamically requests the MAC address based on the unicast traffic of the service, realizes an accurate routing request, sends a packet according to the requested routing to achieve an effect of an optimal path, and reduces the number of MAC addresses stored in the network device 101, thereby reducing the resource overhead and the storage pressure of the network device 101.
The destination address of the route of the virtual machine 2 to which the network device 102 is connected is the address of the virtual machine 2 to which the network device 102 is connected. In addition, network device 103 may save the next hop of the route for virtual machine 2 to which network device 102 is connected as network device 102.
If a message sent by the virtual machine connected to the network device 101 to the virtual machine connected to the network device 102 is forwarded by the network device 103 each time, a large amount of resources of the network device 103 are consumed. In another case, if the number of times that the virtual machine in the server 104 sends the message to the virtual machine connected to the network device 102 is greater than the preset threshold, the network device 101 may generate an ORF request, and the network device 101 acquires the MAC address of the virtual machine connected to the network device 102 by using the ORF request. After receiving the MAC address of the virtual machine connected to the network device 102 sent by the network device 103, the network device 101 adds the MAC address of the virtual machine connected to the network device 102 to the unicast routing table. Therefore, forwarding, by the network device 103, a packet sent by the virtual machine connected to the network device 101 to the virtual machine connected to the network device 102 is avoided, and resource consumption of the network device 103 is reduced. Subsequently, when the virtual machine connected to the network device 101 sends a message to the virtual machine connected to the network device 102, the network device 101 may query the unicast routing table, that is, may obtain the MAC address of the virtual machine connected to the network device 102, and the network device 101 forwards the message of the virtual machine connected to the network device 101 to the network device 102 through the VXLAN tunnel 1 between the network device 101 and the network device 102. The message of the virtual machine connected to the network device 101 does not need to be forwarded to the network device 103, and the network device 103 queries the MAC address of the virtual machine connected to the network device 102 and forwards the message of the virtual machine connected to the network device 101. For example, as shown in fig. 8, a schematic diagram of a message sending process provided in the embodiment of the present application is shown. The path for sending the unicast message from virtual machine 1 in server 104 to virtual machine 2 in server 106 is virtual machine 1- > network device 101- > network device 102- > virtual machine 2 in server 104.
In addition, within the preset time length, if the network device 101 does not receive the unicast message sent by the virtual machine connected to the network device 101 to the virtual machine connected to the network device 102, the network device 101 may delete the MAC address of the virtual machine connected to the network device 102 in the unicast routing table. Thereby, the number of MAC addresses stored by the network device 101 is reduced.
In another possible implementation, network device 101 may also negotiate with network device 103 a number of Outgoing Route Filtering (ORF) requests. The ORF requests a route for the user-side device requesting a network device connection. Network device 103 may determine the number of ORF requests based on the number of spoke neighbors of network device 103or the (RD) value of the EVPN instance. Alternatively, network device 101 informs network device 103 of the maximum number of ORF requests. If network device 103 receives an ORF request that is greater than the threshold, network device 103 discards the excess number of ORF requests.
Fig. 9 is a flowchart of a method for transmitting data according to an embodiment of the present application. Here, the description will be made taking the network device 101, the network device 102, and the network device 103 as examples. Wherein network device 103 establishes first mode neighbors with network device 101 and network device 102, respectively. The first mode neighbor may be referred to as a spoke neighbor. As shown in fig. 9, the method includes the following steps.
S901, the network device 101 sends the first IMET route to the network device 103.
The network device 101 determines that the network device 101 is a first mode neighbor of the network device 103 according to the stored information of the network device with which the spoke neighbor is established, and the network device 101 sends a first IMET route to the network device 103.
The first IMET route is used to instruct the network device 103 to forward, to the network device 101, a broadcast, unknown unicast, and multicast (BUM) packet sent to a virtual machine connected to the network device 101 according to the first IMET route, that is, the packet sent to the virtual machine connected to the network device 101 is any one of a broadcast, an unknown unicast, and a multicast packet.
Network device 101 sends a first IMET route to network device 103 in accordance with the hub mode BGP-EVPN neighbor relationship with network device 103.
S902, the network device 102 sends the second IMET route to the network device 103.
The network device 102 determines that the network device 102 is a first mode neighbor of the network device 103 according to the stored information of the network device with which the spoke neighbor is established, and the network device 102 sends a second IMET route to the network device 103.
The second IMET route is used to instruct the network device 103 to forward, to the network device 102, the BUM packet addressed to the virtual machine connected to the network device 102 according to the second IMET route.
Network device 102 sends a second IMET route to network device 103 in accordance with the hub mode BGP-EVPN neighbor relationship with network device 103.
S903, the network device 103 receives the first IMET route sent by the network device 101.
After receiving the first IMET route, the network device 103 records the first IMET route in the broadcast routing table. After receiving the BUM packet sent by the virtual machine connected to the network device 102, the network device 103 may forward the BUM packet to the network device 101 according to the first IMET route.
S904, the network device 103 receives the second IMET route sent by the network device 102.
After receiving the second IMET route, the network device 103 records the second IMET route in the broadcast routing table. After receiving the BUM packet sent by the virtual machine connected to the network device 101, the network device 103 may forward the BUM packet to the network device 102 according to the second IMET route.
S905, the network device 103 sends the third IMET route to the network device 101.
The network device 103 sends the third IMET route to the network device 101 according to the spoke neighbor relationship with the network device 101, so as to instruct the network device 101 to send a packet to the network device 103 according to the third IMET route.
S906, the network device 103 sends the third IMET route to the network device 102.
The network device 103 sends the third IMET route to the network device 102 according to the spoke neighbor relationship with the network device 102, so as to instruct the network device 102 to send a packet to the network device 103 according to the third IMET route.
S907, the network device 101 receives the third IMET route sent by the network device 103.
S908, the network device 102 receives the third IMET route sent by the network device 103.
Optionally, network device 103 may also send a third IMET route to network device 101 and network device 102 first. And then receives the first IMET route sent by network device 101 and the second IMET route sent by network device 102. In this embodiment, the sequence of S901 to S904 and S905 to S908 is not limited.
For example, as shown in fig. 10, a schematic diagram of a route learning process provided in an embodiment of the present application is shown. Network device 103 sends the third IMET route to network device 101 and network device 102, respectively. Network device 102 sends the second IMET route to network device 103. Network device 101 sends the first IMET route to network device 103.
It should be noted that, according to the fact that the network device 101 is a first mode neighbor of the network device 103, the network device 103 receives the second IMET route sent by the network device 102, and does not forward the second IMET route to the network device 101. And, according to the first mode neighbor that network device 102 is the third network device 103, network device 103 receives the first IMET route sent by network device 101 and does not forward the first IMET route to network device 102. And, the network device 101 and the network device 102 may not advertise the first IMET route or the second IMET route to each other according to being not neighbors of the first mode. Between network device 101 and network device 102 may be, for example, a second mode neighbor, such as a hub (hub) mode neighbor.
In this way, both network device 101 and network device 102 store only IMET routes for network device 103, and do not need to store IMET routes for other network devices in VXLAN, thereby effectively reducing resource overhead and storage pressure on the user-side edge nodes.
Fig. 11 is a flowchart of a method for transmitting data according to an embodiment of the present application. Here, the example in which the virtual machine 1 in the server 104 sends the BUM message is described. As shown in fig. 11, after S901 to S908, the method includes the following steps.
S1101, the virtual machine 1 in the server 106 sends a first packet to the network device 102.
The header of the first packet includes the MAC address and the broadcast address of virtual machine 1 in server 106. In this embodiment, the first message is a BUM message.
S1102, the network device 102 receives a first packet sent by the virtual machine 1 in the server 106.
S1103, the network device 102 forwards the first packet according to the third IMET route.
Network device 102 looks up the broadcast routing table and forwards the first packet to network device 103 using the third IMET route in the broadcast routing table.
Understandably, the network device 102 can encapsulate the first message using UDP to obtain the first VXLAN message. The header of the first VXLAN message may include the IP address of network device 102 and the IP address of network device 103. Network device 102 sends the first VXLAN message to network device 103 through VXLAN tunnel 2 between network device 102 and network device 103.
S1104, the network device 103 receives the first packet sent by the network device 102.
S1105, the network device 103 forwards the first packet to the network device 101 according to the first IMET route.
The network device 103 decapsulates the first VXLAN packet, determines that the first packet is a BUM packet, and encapsulates the first packet using UDP to obtain a second VXLAN packet. Network device 103 forwards the second VXLAN message to network device 101 via VXLAN tunnel 3 between network device 103 and network device 101 according to the first IMET route. The header of the second VXLAN message may include the IP address of network device 103, the MAC address of network device 103, the IP address of network device 101, and the MAC address of network device 101.
S1106, the network device 101 receives the first packet sent by the network device 103.
S1107, the network device 101 forwards the first packet to the virtual machine connected to the network device 101.
Understandably, the network device 101 decapsulates the second VXLAN packet to obtain a first packet, and sends the first packet to the virtual machine of the server 104 and the virtual machine of the server 105 connected to the network device 101.
For example, as shown in fig. 12, a schematic diagram of a message sending process provided in the embodiment of the present application is shown. The path of the BUM packet sent by the virtual machine in the server 107 is virtual machine- > network device 102- > network device 103- > network device 101- > server 104 in the server 107 and virtual machine in the server 105.
In this way, when both the network device 101 and the network device 102 store only the IMET route of the network device 103 and do not need to store the IMET routes of other network devices in the VXLAN, the BUM message is forwarded through the network device 103, so that the virtual machine connected to the network device 101 and the virtual machine connected to the network device 102 communicate with each other. Therefore, the resource overhead and the storage pressure of the user side edge node are effectively reduced.
Optionally, when receiving the BUM message sent by the virtual machine connected to the network device 102, the network device 103 may perform source pruning operation, that is, the network device 103 forwards the BUM message to the network device 101, and does not forward the BUM message to the network device 102 any more. Specifically, for the VXLAN approach and the SRv6 approach, filtering may be performed using the source IP field in the BUM message. For a Multi-Protocol Label Switching (MPLS) method, a source Label needs to be added to the BUM packet for filtering.
The embodiments described herein take a VXLAN tunnel as an example, and in other possible application scenarios to which the embodiments of the present application are applicable, the tunnel type may also be an SRv6 tunnel or an MPLS tunnel.
In other embodiments, network device 103 may establish the second mode neighbor with other network devices (e.g., network device 108). The second mode neighbors may be neighbors of the hub (hub) mode.
Network device 103 queries the unicast routing table from the unicast packet received by network device 108, and if the next hop is a spoke neighbor of network device 103 (e.g., network device 101 or network device 102), network device 103 sends the unicast packet to the spoke neighbor.
The route or IMET route received by network device 103 from network device 108 to advertise the off-hook virtual machine is not sent to spoke neighbors of network device 103 (e.g., network device 101 or network device 102).
Network device 103 receives the unicast packet from the spoke neighbor (e.g., network device 101 or network device 102), queries the unicast routing table, and if the next hop is a BGP-EVPN neighbor of network device 103 (e.g., network device 108), network device 103 sends the unicast packet to the BGP-EVPN neighbor.
Network device 103 queries the broadcast routing table from the BUM packet received by network device 108, and if the next hop is a spoke neighbor of network device 103 (e.g., network device 101 or network device 102), network device 103 sends the BUM packet to the spoke neighbor.
Network device 103 receives the BUM message from a spoke neighbor (e.g., network device 101 or network device 102), queries the broadcast routing table, and if the next hop is a BGP-EVPN neighbor of network device 103 (e.g., network device 108), network device 103 sends the BUM message to the BGP-EVPN neighbor.
In other embodiments, where the network is larger in size, the network topology may be a three-layer network topology. Three-layer network topologies can be divided into a core layer (also known as backbone spine layer), a convergence layer, and an access layer (also known as leaf layer). The network described herein may also be referred to as a data transmission network. The data transmission network may be, for example, a network such as a data center, or a network deployed in a campus.
The core layer may be, for example, a high-speed switching backbone layer of the network for connecting the network to devices outside the network (e.g., external carrier devices). The core layer may include switches and routers having high bandwidth (e.g., giga-bandwidths). The core layer has at least one of the following characteristics: reliability, efficiency, redundancy, fault tolerance, manageability, adaptability, low latency, etc. Routing connections of the core layer play a very critical role in the network, and reliability of the network can be generally realized through redundant connection of a plurality of devices. In this embodiment, the switches and routers included in the convergence layer have the functions of the network device 103 described in the above embodiments.
The convergence layer may be, for example, an "intermediary" of the access and core layers that converges data sent by a workstation (e.g., a terminal device or server) before the data enters the core layer to reduce the load on the core layer. The aggregation layer may include switches and routers that support three-layer switching technologies and VXLAN. In this embodiment, the switches and routers included in the convergence layer have the functions of the network device 103 described in the above embodiments.
The access stratum may be connected to workstations, for example, for providing workstation access to local network segments. The access layer can comprise switches and routers which do not support VLAN and three-layer switching technology, and can also comprise switches and routers which support VLAN and three-layer switching technology. In this embodiment, the switch and the router included in the access stratum have the functions of the network device 101 and the functions of the network device 102 described in the above embodiments.
Illustratively, as shown in fig. 13, the difference from VXLAN shown in fig. 1 above is that VXLAN further includes network device 111, network device 112, and network device 113. The access stratum includes network device 101, network device 102, and network device 111. The network device 111 is also connected to the server 110, and the server 110 is divided into a plurality of virtual machines. The convergence layer includes network device 103 and network device 112. The core layer includes a network device 113. Network device 111 and network device 112 establish VXLAN tunnel 4 therebetween. VXLAN tunnel 5 is established between network device 112 and network device 113. VXLAN tunnel 6 is established between network device 103 and network device 113.
The network device 113 has access to other networks (e.g., the internet). For example, the network device 113 may be a gateway device of VXLAN, and the network device 113 connects to the network device 108 in the internet, so that the message in VXLAN may be transmitted to a network other than VXLAN through the network device 113.
Network device 113 establishes first mode neighbors with network device 103 and network device 112, respectively, e.g., network device 103 is a spoke neighbor of network device 113 and network device 112 is a spoke neighbor of network device 113. Network device 113 sends the default route for forwarding traffic packets for network device 101 and network device 102 and the IMET route for network device 113 to network device 103. Network device 113 sends the default route and the IMET route to network device 112 for forwarding traffic packets for network device 111.
Network device 101 and network device 103 establish a first mode neighbor, e.g., network device 101 is a spoke neighbor of network device 103. Network device 103 forwards to network device 101 the default route and IMET route from network device 113 for forwarding traffic packets for network device 101.
Network device 102 and network device 103 establish first mode neighbors, e.g., network device 102 is a spoke neighbor of network device 103. Network device 103 forwards to network device 102 the default route and IMET route from network device 113 for forwarding traffic packets for network device 102.
Thus, both network device 101 and network device 102 store only the default route and the IMET route of network device 113, and do not need to store routes of other network devices in VXLAN, effectively reducing resource overhead and storage pressure of the user-side edge node.
Network device 111 and network device 112 establish first mode neighbors, e.g., network device 111 is a spoke neighbor of network device 112. Network device 112 forwards to network device 111 the default route and the IMET route from network device 113 for forwarding traffic packets for network device 111. Thus, the network device 111 stores only the default route and the IMET route of the network device 113, and does not need to store the routes of other network devices in the VXLAN, thereby effectively reducing the resource overhead and storage pressure of the edge node at the user side.
The network device 101 issues the MAC route and IMET route acquired by the network device 101 to the network device 103.
Network device 102 issues the MAC route and IMET route acquired by network device 102 to network device 103.
Network device 103 issues the MAC route and IMET route acquired by network device 103, the MAC route and IMET route acquired by network device 102, and the MAC route and IMET route acquired by network device 101 to network device 113. In a possible scenario, in addition to issuing the above-mentioned route to the network device 113, the network device 103 may also store the MAC route and the IMET route issued by the network device 101, and the MAC route and the IMET route issued by the network device 102, so that the network device 103 may also employ the method described in the foregoing method embodiments to instead forward the packet addressed to the network device 101 or the network device 102, for example, the packet sent by the server 104 to the server 106 may be forwarded by the network device 103.
Network device 111 issues the MAC route and IMET route obtained by network device 111 to network device 112. Network device 112 issues the MAC route and IMET route obtained by network device 112, the MAC route and IMET route obtained by network device 111 to network device 113. Network device 112 stores the MAC route and IMET route issued by network device 111 in order to send messages to network device 111 for other spoke neighbors (not shown in the figure) to which network device 112 is connected. With regard to the process of route learning, reference may be made to the relevant description in the above embodiments.
The network device 113 stores the MAC routes and the IMET routes acquired by the access layer network devices and the aggregation layer network devices, so as to send messages (such as unicast messages or BUM messages) to the network devices of the access layer or forward messages sent by the network devices of the access layer. For example, the path for sending the message to the virtual machine in the server 106 by the virtual machine in the server 104 may be virtual machine in the server 104- > network device 101- > network device 103- > network device 102- > virtual machine in the server 106. Optionally, a path through which the virtual machine in the server 104 sends the message to the virtual machine in the server 106 may also be a virtual machine in the server 104- > network device 101- > network device 103- > network device 113- > network device 103- > network device 102- > a virtual machine in the server 106.
For another example, a path through which a virtual machine in the server 104 sends a message to a virtual machine in the server 110 may be a virtual machine in the server 104- > network device 101- > network device 103- > network device 113- > network device 112- > network device 111- > a virtual machine in the server 110. Optionally, VXLAN tunnel 7 may also be established between network device 102 and network device 111. If the network device 101 and the network device 102 store addresses of virtual machines in the server 110, a path through which a virtual machine in the server 104 sends a message to a virtual machine in the server 110 may be a virtual machine in the server 104- > network device 101- > network device 102- > network device 111- > a virtual machine in the server 110.
For another example, a path through which a virtual machine in the server 110 sends a message to a virtual machine in the server 106 may be a virtual machine in the server 110- > network device 111- > network device 112- > network device 113- > network device 103- > network device 102- > a virtual machine in the server 106.
For the process of forwarding the packet, reference may be made to the relevant description in the foregoing embodiments.
After receiving the APR request sent by the virtual machine in the server, the network device 103or the network device 112 may convert the ARP request into an ORF request, and then send the ORF request to the network device 113. The operation of converting the ARP request into the ORF request may be performed by combining some ARP requests and then converting them into ORF requests. If the network device 113 stores the MAC route and the IMET route of the network device included in the access stratum, and the MAC address of the device connected to the network device included in the access stratum, the network device 113 may feed back the requested MAC address to the requester.
In addition, after receiving the ORF requests sent by network device 101 and network device 102, network device 103 may combine the ORF request sent by network device 101 and the ORF request sent by network device 102 to generate a new ORF request, and network device 103 sends the new ORF request to network device 113.
For example, network device 101 issues a first ORF request, network device 102 issues a second ORF request, and network device 103 receives the first ORF request from network device 101 and the second ORF request from network device 102, generates a new ORF request, and sends the new ORF request to network device 113.
The MAC address 2-2-2 and MAC address 4-4-4 in response to the new ORF request are recorded on network device 113.
Network device 113 feeds back MAC addresses 2-2-2 and 4-4-4 to network device 103.
Network device 103 feeds back MAC address 2-2-2 to network device 101 and MAC address 4-4-4 to network device 102.
Fig. 13 illustrates an example that a network includes one aggregation layer, and multiple aggregation layers may also be set in other possible application scenarios, where a first mode neighbor may be established between an access layer and an aggregation layer, between adjacent aggregation layers, or between an aggregation layer and a core layer, so as to implement each corresponding function described in this application, which may be applicable to a networking scenario with a larger scale, for example. In addition, for the convenience of understanding, the present embodiment describes different network hierarchies as an access layer, a convergence layer and a core layer, but it is understood that the above naming may be replaced by other descriptions in combination with an application scenario, or may be simply described as different network hierarchies in a multi-hierarchy networking manner, where the different network hierarchies may be used to implement different or the same functions.
The above embodiments describe the route learning and message sending processes for the unicast scenario and the broadcast scenario. By establishing a first mode neighbor, such as a spoke mode neighbor, between a client (such as network device 101) and a server (such as network device 103), the client and the server can respectively determine the behavior of the client and the server in a route issuing stage according to the neighbor relation of the mode, and complete the corresponding service message forwarding behavior according to the acquired route, thereby reducing the route storage pressure of the client and the network device and saving network operation resources while realizing the normal forwarding of the service message.
Next, a flowchart of a method for transmitting data is further provided in the embodiments of the present application. Here, the first network device, the second network device, and the third network device are described as an example. The third network device establishes a first mode neighbor with the first network device and the second network device, respectively. The first mode neighbor may refer to a spoke neighbor, or may be defined as a neighbor in other forms and capable of implementing the corresponding functions provided by the embodiments of the present application. The first network equipment is connected with the first user side equipment. The second network equipment is connected with the second user side equipment. As shown in fig. 14, the method may include the steps of:
s1401, the first network device sends the first route to the third network device.
The first network device determines that the first network device is a first mode neighbor of the third network device according to the stored information of the network device establishing the spoke neighbor with the first network device, and the first network device sends a first route to the third network device. The first route may refer to a MAC route or an IMET route of the first network device.
S1402, the second network device sends the second route to the third network device.
And the second network equipment determines that the second network equipment is a first mode neighbor of the third network equipment according to the stored information of the network equipment establishing the spoke neighbor with the second network equipment, and the second network equipment sends a second route to the third network equipment. The second route may refer to a MAC route or an IMET route of the second network device.
S1403, the third network device receives the first route sent by the first network device.
And if the first route is the MAC route, the third network equipment records the first route into the unicast route table after receiving the first route. After the third network device receives the unicast message sent to the virtual machine connected to the first network device, the unicast message may be forwarded to the first network device according to the MAC route.
And if the first route is an IMET route, the third network equipment records the first route into the broadcast route table after receiving the first route. After the third network device receives the BUM packet, the BUM packet may be forwarded to the first network device according to the IMET route.
S1404, the third network device receives the second route sent by the second network device.
And if the second route is the MAC route, the third network equipment records the second route into the unicast routing table after receiving the second route. After the third network device receives the unicast message sent to the virtual machine connected to the second network device, the unicast message may be forwarded to the second network device according to the MAC route.
And if the second route is the IMET route, the third network equipment records the second route into the broadcast route table after receiving the second route. After the third network device receives the BUM message, the BUM message may be forwarded to the second network device according to the IMET route.
S1405, the third network device sends the third route to the first network device.
S1406, the third network device sends the third route to the second network device.
And if the third route is the default route, indicating the first network equipment or the second network equipment to forward the unicast message to the third network equipment according to the third route.
And if the third route is the IMET route, indicating the first network equipment or the second network equipment to forward the BUM message to the third network equipment according to the third route.
S1407, the first network device receives the third route sent by the third network device.
S1408, the second network device receives the third route sent by the third network device.
Optionally, the third network device may also send the third route to the first network device and the second network device first. And then receiving a first route sent by the first network equipment and a second route sent by the second network equipment. In this embodiment, the sequence of S1401 to S1404 and S1405 to S1408 is not limited.
If the first route is the MAC route, detailed explanation about S1401 to S1408 may refer to the explanations of S201 to S213 described above.
If the first route is an IMET route, detailed explanations of S1401 to S1408 may refer to the explanations of S901 to S908 described above.
After the first to third network devices learn the route, i.e., S1401 to S1408, the first to third network devices may forward the packet from the user-side device. The user side device may be a user side network device or a user host. The method further comprises the following steps.
S1409, the first user side equipment sends the first message to the first network equipment.
If the first message is a unicast message, the header of the first message comprises the MAC address of the first user side equipment and the MAC address of the second user side equipment. The first message is a message sent by a first user side device connected with a first network device to a second user side device connected with a second network device.
And if the first message is a BUM message, the header of the first message comprises the MAC address and the broadcast address of the first user side equipment.
S1410, the first network device receives the first packet sent by the first user side device.
S1411, the first network device forwards the first message according to the third route.
If the first packet is a unicast packet, the first network device forwards the first packet to the third network device by using a third route in the unknown unicast routing table because the first network device does not find the MAC address of the second user side device in the unicast routing table.
And if the first message is a BUM message, the first network equipment searches the broadcast routing table and forwards the first message to third network equipment by using a third IMET route in the broadcast routing table.
The first network device may encapsulate the first packet using UDP to obtain a first VXLAN packet, and forward the first VXLAN packet according to the third route.
S1412, the third network device receives the first message sent by the first network device.
S1413, the third network device forwards the first message to the second network device according to the second route.
The third network device may decapsulate the first VXLAN packet, determine the second route according to the destination address (the broadcast address or the MAC address of the second user side device), and forward the first packet to the second network device according to the second route.
The third network device may encapsulate the first packet using UDP to obtain a second VXLAN packet, and forward the second VXLAN packet according to the second route.
S1414, the second network device receives the first packet sent by the third network device.
S1415, the second network device forwards the first message to a second user side device connected with the second network device.
Understandably, the second network device decapsulates the second VXLAN message to obtain a first message, and forwards the first message to the second user-side device connected to the second network device.
If the first route is a MAC route, detailed explanations regarding S1409 to S1415 may refer to the explanations of S401 to S407 described above.
If the first route is an IMET route, detailed explanations regarding S1409 to S1415 may refer to the explanations of S1101 to S1107 described above.
In one case, if the first ue does not know the MAC address of the second ue, the first ue sends an ARP request to obtain the MAC address of the second ue. Fig. 15 is a flowchart of a method for transmitting data according to an embodiment of the present application. As shown in fig. 15, before S1409, the method further includes the following steps.
S1501, the first user side equipment sends a second message to the first network equipment.
The second message is used for requesting the MAC address of the second user side equipment. The second message includes an IP address of the second user side device. For example, the second message may be an address resolution protocol message.
S1502, the first network device receives the second packet sent by the first user side device.
S1503, the first network device forwards the second packet to the third network device.
And if the first network equipment stores the MAC address of the second user side equipment, the first network equipment feeds back the MAC address of the second user side equipment to the first user side equipment. If the first network device does not store the MAC address of the second user side device, the first network device may broadcast the second packet. If the third network device stores the MAC address of the second user side device, the first network device may obtain the MAC address of the second user side device from the third network device, and feed back the MAC address of the second user side device to the first user side device. The steps described in S1504 and S1505 below.
S1504, the third network device receives the second packet sent by the first network device.
S1505, the third network device sends a response packet to the first network device according to the first route.
S1506, the first network device receives a response packet sent by the third network device.
S1507, the first network device forwards the response packet to the first user-side device.
In addition, the first network device may also generate an ORF request according to the second packet, and send the ORF request to the third network device to request the MAC address of the second user side device. For a detailed explanation of S1501 to S1507, reference may be made to the explanations of S601 to S607 described above.
And then, the first network equipment sends a message to the second user side equipment according to the MAC address of the second user side equipment. Reference is specifically made to the descriptions of S1409 to S1415 in the above embodiments, which are not repeated herein.
Therefore, the first network device and the second network device only store the default route or IMET route sent to the third network device, and the third network device forwards the message sent by the first network device, or dynamically acquires the route used for reaching the user side device mounted by the other network device from the third network device according to the requirement for message forwarding, so that the resource overhead and the storage pressure of the first network device are reduced.
In addition, for example, the data transmission network needs to cover a smaller area, and the first network device and the first user-side device may be directly connected. The second network device may be directly connected to the second user-side device. For example, as shown in fig. 1, the first network device is network device 101, the second network device is network device 102, and the third network device is network device 103. With regard to the process of route learning and message forwarding between network devices, reference may be made to the related description in each embodiment of the network device connection manner shown in fig. 1.
For example, the data transmission network needs to cover a large area, and the first network device and the first user-side device may be indirectly connected. The second network device may be indirectly connected with the second user-side device. For example, as shown in fig. 13, the first network device is network device 103, the second network device is network device 112, and the third network device is network device 113. With regard to the process of route learning and message forwarding between network devices, reference may be made to the related description in the embodiment shown in fig. 13.
It is understood that, in order to implement the functions of the above embodiments, the network device includes a corresponding hardware structure and/or software module for performing each function. Those of skill in the art will readily appreciate that the various illustrative elements and method steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is performed as hardware or computer software driven hardware depends on the particular application scenario and design constraints imposed on the solution.
Fig. 16 is a schematic structural diagram of a possible communication device provided in an embodiment of the present application. These communication devices can be used to implement the functions of the network device in the above method embodiments, and therefore, the beneficial effects of the above method embodiments can also be achieved. In the embodiment of the present application, the communication apparatus may be a network device 101, a network device 102, or a network device 103 as shown in fig. 1, fig. 3, fig. 5, fig. 7, fig. 8, fig. 10, fig. 12, or fig. 13, and may also be a module (a hardware module such as a chip, or a software module for implementing corresponding functions, or a combination of some software and hardware modules) applied to a network device.
As shown in fig. 16, the communication device 1600 includes a receiving unit 1610, a processing unit 1620, and a transmitting unit 1630. The communication device 1600 is used to implement the functions of the network device in the method embodiments shown in fig. 2, fig. 4, fig. 6, fig. 9, fig. 11, fig. 14 or fig. 15.
When the communication apparatus 1600 is used to implement the functions of the network device 101 in the method embodiment shown in fig. 2: the receiving unit 1610 may be configured to perform S204; the transmitting unit 1630 may be configured to perform S206 and S211.
When the communication apparatus 1600 is used to implement the functions of the network device 102 in the method embodiment shown in fig. 2: the receiving unit 1610 may be configured to perform S205; the transmitting unit 1630 may be used to perform S208 and S210.
When the communication apparatus 1600 is used to implement the functions of the network device 103 in the method embodiment shown in fig. 2: the receiving unit 1610 may be configured to perform S207, S209, S212, and S213; the transmitting unit 1630 may be configured to perform S202 and S203; the processing unit 1620 is configured to execute S201.
When the communication apparatus 1600 is used to implement the functions of the network device 101 in the method embodiment shown in fig. 4: the receiving unit 1610 may be configured to perform S204 and S402; the transmitting unit 1630 may be configured to perform S206, S211, and S403.
When the communication apparatus 1600 is used to implement the functions of the network device 102 in the method embodiment shown in fig. 4: the receiving unit 1610 may be configured to perform S205 and S406; the transmitting unit 1630 may be used to perform S208, S210, and S407.
When the communication apparatus 1600 is used to implement the functions of the network device 103 in the method embodiment shown in fig. 4: the receiving unit 1610 may be configured to perform S207, S209, S212, S213, and S404; the transmitting unit 1630 may be configured to perform S202, S203, and S405.
When the communication apparatus 1600 is used to implement the functions of the network device 101 in the method embodiment shown in fig. 6: the receiving unit 1610 may be configured to perform S402, S602, and S606; the transmitting unit 1630 may be configured to perform S403, S603, and S607.
When the communication apparatus 1600 is used to implement the functions of the network device 103 in the method embodiment shown in fig. 6: the receiving unit 1610 may be configured to perform S404 and S604; the transmitting unit 1630 may be configured to perform S405 and S605.
When the communication apparatus 1600 is used to implement the functions of the network device 101 in the method embodiment shown in fig. 9: the receiving unit 1610 may be configured to perform S907; the transmitting unit 1630 may be used to perform S901.
When the communication apparatus 1600 is used to implement the functions of the network device 102 in the method embodiment shown in fig. 9: the receiving unit 1610 may be configured to perform S908; the transmitting unit 1630 may be configured to perform S902.
When the communication apparatus 1600 is used to implement the functions of the network device 103 in the method embodiment shown in fig. 9: the receiving unit 1610 may be configured to perform S903 and S904; the transmitting unit 1630 may be configured to perform S905 and S906.
When the communication apparatus 1600 is used to implement the functions of the network device 101 in the method embodiment shown in fig. 11: the receiving unit 1610 may be configured to perform S907 and S1106; the transmitting unit 1630 may be used to perform S901 and S1107.
When the communication apparatus 1600 can be used to implement the functions of the network device 102 in the method embodiment shown in fig. 11: the receiving unit 1610 may be configured to perform S908 and S1102; the sending unit 1630 may be configured to perform S902 and S1103.
When the communication apparatus 1600 can be used to implement the functions of the network device 103 in the method embodiment shown in fig. 11: the receiving unit 1610 may be configured to perform S903, S904, and S1104; the transmitting unit 1630 may be configured to perform S905, S906, and S1105.
When the communication apparatus 1600 may be used to implement the functionality of the first network device in the method embodiment shown in fig. 14: the receiving unit 1610 may be configured to perform S1407 and S1410; the transmitting unit 1630 may be used to perform S1401 and S1411.
When the communication apparatus 1600 may be used to implement the functionality of the second network device in the method embodiment shown in fig. 14: the receiving unit 1610 may be configured to perform S1408 and S1414; the transmitting unit 1630 may be used to perform S1402 and S1415.
When the communication apparatus 1600 may be used to implement the function of the third network device in the method embodiment shown in fig. 14: the receiving unit 1610 may be configured to perform S1403, S1404, and S1412; the transmitting unit 1630 may be configured to perform S1405, S1406, and S1413.
When the communication apparatus 1600 can be used to implement the function of the first network device in the method embodiment shown in fig. 15: the receiving unit 1610 may be configured to perform S1407, S1410, S1502, and S1506; the transmitting unit 1630 may be used to perform S1401, S1411, S1503, and S1507.
When the communication apparatus 1600 can be used to implement the function of the third network device in the method embodiment shown in fig. 15: the receiving unit 1610 may be configured to perform S1403, S1404, S1412, and S1504; the transmitting unit 1630 may be configured to perform S1405, S1406, S1413, and S1505.
For more detailed description of the receiving unit 1610, the processing unit 1620 and the sending unit 1630, reference may be directly made to the related description in the method embodiments shown in fig. 2, fig. 4, fig. 6, fig. 9, fig. 11, fig. 14 or fig. 15, which is not repeated herein.
As shown in fig. 17, the network device 1700 includes a processor 1710 and an interface circuit 1720. The processor 1710 and the interface circuit 1720 are coupled to one another. It is to be appreciated that the interface circuit 1720 may be a transceiver or an input-output interface. Optionally, the network device 1700 may further include a memory 1730 for storing instructions to be executed by the processor 1710 or for storing input data required by the processor 1710 to execute the instructions or for storing data generated by the processor 1710 after executing the instructions.
When the network device 1700 is used to implement the methods shown in fig. 2, 4, 6, 9, 11, 14 or 15, the processor 1710 may be configured to perform the functions of the processing unit 1620, and the interface circuit 1720 may be configured to perform the functions of the receiving unit 1610 and the transmitting unit 1630.
Fig. 18 is a schematic structural diagram of another network device according to an embodiment of the present application. As shown in fig. 18, the network device 1800 includes a master control board 1810 and an interface board 1820. The main control board 1810 includes a processor 1811 and a memory 1812. The interface board 1820 includes a processor 1821, a memory 1822, and an interface card 1823. The processor 1821 of the interface board 1820 is configured to invoke the program instructions in the memory 1822 of the interface board 1820 to perform the receiving and sending of messages and the receiving and sending of routes. The processor 1811 of the master control board 1810 is configured to invoke program instructions in the memory 1812 of the master control board 1810 to perform corresponding processing functions. For example, look-up routing forwarding packets. Encapsulating the received message to generate a VXLAN message, and decapsulating the VXLAN message. Reference may be made in particular to the description of the method shown in fig. 2, 4, 6, 9, 11, 14 or 15 above.
It is understood that the Processor in the embodiments of the present Application may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, a transistor logic device, a hardware component, or any combination thereof. The general purpose processor may be a microprocessor, but may be any conventional processor.
The method steps in the embodiments of the present application may be implemented by hardware, or may be implemented by software instructions executed by a processor. The software instructions may be comprised of corresponding software modules that may be stored in Random Access Memory (RAM), flash Memory, Read-Only Memory (ROM), Programmable ROM (PROM), Erasable PROM (EPROM), Electrically EPROM (EEPROM), registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. Of course, the storage medium may also be integral to the processor. The processor and the storage medium may reside in an ASIC. In addition, the ASIC may reside in a network device or a terminal device. Of course, the processor and the storage medium may reside as discrete components in a network device or a terminal device.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are performed in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, a network appliance, a user device, or other programmable apparatus. The computer program or instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer program or instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire or wirelessly. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that integrates one or more available media. The usable medium may be a magnetic medium, such as a floppy disk, a hard disk, a magnetic tape; or optical media such as Digital Video Disks (DVDs); it may also be a semiconductor medium, such as a Solid State Drive (SSD).
In the embodiments of the present application, unless otherwise specified or conflicting with respect to logic, the terms and/or descriptions in different embodiments have consistency and may be mutually cited, and technical features in different embodiments may be combined to form a new embodiment according to their inherent logic relationship.
In the present application, "at least one" means one or more, "a plurality" means two or more. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone, wherein A and B can be singular or plural. In the description of the text of the present application, the character "/" generally indicates that the former and latter associated objects are in an "or" relationship; in the formula of the present application, the character "/" indicates that the preceding and following related objects are in a relationship of "division".
The terms "first," "second," and "third," etc. in the description and claims of this application and the above-described drawings are used for distinguishing between different objects and not for limiting a particular order.
In the embodiments of the present application, words such as "exemplary" or "for example" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "e.g.," is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the word "exemplary" or "such as" is intended to present concepts related in a concrete fashion.
It is to be understood that the various numerical references referred to in the embodiments of the present application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of the present application. The sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of the processes should be determined by their functions and inherent logic.

Claims (33)

1. A method for transmitting data is applied to an Ethernet Virtual Private Network (EVPN) system, the system comprises a first network device, a second network device and a third network device, wherein the third network device establishes first mode neighbors with the first network device and the second network device respectively, the first network device is connected with a first user side device, the second network device is connected with a second user side device, the method is executed by the third network device, and the method comprises the following steps:
obtaining a first route according to the first network device being the first mode neighbor of the third network device or according to a request received from the first network device, where the first route is used to instruct the first network device to forward a packet addressed to the second user-side device connected to the second network device according to the first route;
sending the first route to the first network device.
2. The method of claim 1, further comprising:
receiving a first message sent by the first network device according to the first route, wherein the first message is a message sent by the first user side device connected with the first network device to the second user side device;
and forwarding the first message to the second network equipment.
3. The method of claim 2, further comprising:
receiving a second route sent by the second network device, where the second route is used to instruct the third network device to forward a message sent to the second user side device;
the forwarding the first packet to the second network device includes: and forwarding the first message to the second network equipment according to the second route.
4. The method of any of claims 1-3, wherein prior to the third network device sending the first route to the first network device, the method further comprises:
and receiving a third route sent by the first network device, where the third route is used to instruct the third network device to forward a message sent to the first user side device.
5. The method of any of claims 1-4, wherein obtaining the first route according to the first mode neighbor of the first network device being the third network device comprises:
and generating the first route according to the first mode neighbor of the third network device, where the first route is used to instruct the first network device to forward a message addressed to the second user side device to the third network device according to the first route.
6. The method according to any of claims 1-4, wherein said obtaining a first route based on a request received from the first network device comprises:
receiving the request from the first network device, where the request is a request for obtaining a route to the second user-side device, where the request is a request generated by the first network device or a request generated by the first user-side device forwarded by the first network device;
and obtaining the first route according to the request, wherein the first route is used for indicating the first network equipment to forward a message sent to the second user side equipment to the second network equipment according to the first route.
7. The method of claim 6, wherein the destination address of the first route is an address of the second user-side device, and wherein the next hop of the first route is an address of the second network device.
8. The method according to any of claims 1-7, wherein the first network device is directly or indirectly connected to the first user-side device; and the second network equipment is directly or indirectly connected with the second user side equipment.
9. A method for transmitting data is applied to an Ethernet Virtual Private Network (EVPN) system, the system comprises a first network device, a second network device and a third network device, wherein the third network device establishes first mode neighbors with the first network device and the second network device respectively, the first network device is connected with a first user side device, the second network device is connected with a second user side device, the method is executed by the first network device, and the method comprises the following steps:
receiving a first route from the third network device, where the first route is used to instruct the first network device to forward a packet of the first user equipment according to the first route;
and receiving a first message sent by the first user side equipment, wherein the first message is a message sent to the second user side equipment, and forwarding the first message according to the first route.
10. The method of claim 9,
receiving a first route from the third network device, comprising: receiving the first route generated and sent by the third network equipment;
forwarding the first packet according to the first route, including: and forwarding the first message to the third network equipment by using the first route according to the Media Access Control (MAC) address of the second user side equipment which is not found.
11. The method of claim 9,
receiving a first route from the third network device, comprising: receiving the first route responding to the request from the third network equipment according to the request sent to the third network equipment, wherein the request is used for acquiring the route reaching the second user side equipment;
forwarding the first packet according to the first route, including: and forwarding the first message to the second network equipment connected with the second user side equipment according to the first route.
12. The method according to claim 11, wherein the first route is a route of the second user-side device;
the method further comprises the following steps:
deleting the first route after a preset time period.
13. The method according to any of claims 9-12, wherein before the first network device receives the first route sent by the third network device, the method further comprises:
and sending a second route to the third network device, where the second route is used to instruct the third network device to forward a packet to the first user side device.
14. The method according to any of claims 9-13, wherein the first packet is a unicast packet.
15. A method for transmitting data is applied to an Ethernet Virtual Private Network (EVPN) system, the system comprises a first network device, a second network device and a third network device, wherein the third network device establishes first mode neighbors with the first network device and the second network device respectively, the first network device is connected with a first user side device, the second network device is connected with a second user side device, the method is executed by the third network device, and the method comprises the following steps:
receiving a first route from the first network device, where the first route is a first inclusive multicast ethernet label IMET route, and the first route is used to forward a packet to the first user-side device;
receiving a first message from the second user side equipment connected with the second network equipment;
and forwarding the first message to the first network equipment according to the first route if the first network equipment is the first mode neighbor of the third network equipment.
16. The method of claim 15, further comprising:
and receiving a second route from the second network device, where the second route is a second IMET route and is used to forward a packet to the second user-side device.
17. The method of claim 16, wherein the second route is not forwarded to the first network device in accordance with the first mode neighbor of the first network device being the third network device; and not forwarding the first route to the second network device according to the second network device being the first mode neighbor of the third network device.
18. The method of any of claims 15-17, wherein the first packet is forwarded to the second network device according to the second network device being the first mode neighbor of the third network device and the first packet is from the second network device.
19. The method according to any of claims 15-18, wherein before the third network device receives the first packet from the second user-side device connected to the second network device, the method further comprises:
and issuing a third IMET route to the second network equipment to instruct the second network equipment to send the first message to the third network equipment according to the third IMET route.
20. The method according to any one of claims 15-19, further comprising:
and issuing a third IMET route to the first network device to instruct the first network device to send a second message to the third network device according to the third IMET route, wherein the second message is a message of the first user side device connected with the first network device.
21. The method of claim 20, wherein the first packet and the second packet are both broadcast, unknown unicast, and multicast BUM packets.
22. The method according to any of claims 15-21, wherein the first network device is directly or indirectly connected to the first user-side device; and the second network equipment is directly or indirectly connected with the second user side equipment.
23. A method for transmitting data is applied to an Ethernet Virtual Private Network (EVPN) system, the system comprises a first network device, a second network device and a third network device, wherein the third network device establishes first mode neighbors with the first network device and the second network device respectively, the first network device is connected with a first user side device, the second network device is connected with a second user side device, the method is executed by the first network device, and the method comprises the following steps:
sending a first route to the third network device according to the first mode neighbor of the third network device, where the first route is a first inclusively multicast ethernet label IMET route, and the first route is used to forward a packet to the first user-side device;
and receiving a first message sent by the third network device, wherein the first message is a message forwarded to the first user side device.
24. The method of claim 23, wherein the first network device does not send the first route to the second network device in accordance with the first network device not being the first mode neighbor of the second network device.
25. The method of any one of claims 1-24, wherein the first mode neighbor is a radiating spoke neighbor.
26. An Ethernet virtual private network EVPN system for transmitting data, which is characterized in that the system comprises a first network device, a second network device and a third network device, wherein the third network device establishes a first mode neighbor with the first network device and the second network device respectively, the first network device is connected with a first user side device, the second network device is connected with a second user side device, wherein,
the third network device is configured to obtain a first route according to that the first network device is the first mode neighbor of the third network device or according to a request received from the first network device, where the first route is used to instruct the first network device to forward, according to the first route, a packet addressed to the second user-side device connected to the second network device, and send the first route to the first network device;
the first network device is configured to receive a first route from the third network device, where the first route is used to instruct the first network device to forward a packet of the first user side device according to the first route.
27. The system of claim 26,
the first network device is further configured to receive a first packet sent by the first user side device, where the first packet is a packet sent to the second user side device; and forwarding the first message according to the first route.
28. The system of claim 27,
the third network device is further configured to receive a first packet sent by the first network device, and forward the first packet to the second network device;
the second network device is configured to receive the first packet from the third network device.
29. The system of claim 28,
the third network device is further configured to receive a second route sent by the second network device, where the second route is used to instruct the third network device to forward a packet sent to the second user-side device, and forward the first packet to the second network device according to the second route.
30. The system according to any of claims 26-29, wherein said third network device is configured to obtain said first route according to said first network device being said first mode neighbor of said third network device, comprising:
and generating the first route according to the first mode neighbor of the third network device, where the first route is used to instruct the first network device to forward a message addressed to the second user side device to the third network device according to the first route.
31. The system according to any of claims 26-30, wherein said third network device is configured to obtain a first route based on a request received from said first network device, comprising:
receiving the request from the first network device, where the request is a request for obtaining a route to the second user-side device, where the request is a request generated by the first network device or a request generated by the first user-side device forwarded by the first network device;
and obtaining the first route according to the request, wherein the first route is used for indicating the first network equipment to forward a message sent to the second user side equipment to the second network equipment according to the first route.
32. A network device, comprising: at least one processor, a memory, and a bus, wherein the memory is configured to store a computer program such that, when executed by the at least one processor, the computer program implements the method of transmitting data of any of claims 1-25.
33. A computer-readable storage medium, comprising: computer software instructions;
the computer software instructions, when run in a computer device or a chip built into a computer device, cause the computer device to perform the method of transmitting data according to any one of claims 1-25.
CN202110071538.1A 2020-09-04 2021-01-19 Data transmission method, device and network equipment Pending CN114221895A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP21193710.7A EP3965379A1 (en) 2020-09-04 2021-08-30 Data transmission method, apparatus, and network device
BR102021017416-1A BR102021017416A2 (en) 2020-09-04 2021-09-01 Data transmission method, device, and network device
MX2021010610A MX2021010610A (en) 2020-09-04 2021-09-02 Data transmission method, apparatus, and network device.
JP2021143841A JP7314219B2 (en) 2020-09-04 2021-09-03 DATA TRANSMISSION METHOD, APPARATUS AND NETWORK DEVICE
US17/466,517 US20220078046A1 (en) 2020-09-04 2021-09-03 Data Transmission Method, Apparatus, and Network Device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010920439 2020-09-04
CN2020109204391 2020-09-04

Publications (1)

Publication Number Publication Date
CN114221895A true CN114221895A (en) 2022-03-22

Family

ID=80695783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110071538.1A Pending CN114221895A (en) 2020-09-04 2021-01-19 Data transmission method, device and network equipment

Country Status (1)

Country Link
CN (1) CN114221895A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116436729A (en) * 2023-06-08 2023-07-14 武汉绿色网络信息服务有限责任公司 Message transmission method, networking system and access cloud gateway

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116436729A (en) * 2023-06-08 2023-07-14 武汉绿色网络信息服务有限责任公司 Message transmission method, networking system and access cloud gateway
CN116436729B (en) * 2023-06-08 2023-09-08 武汉绿色网络信息服务有限责任公司 Message transmission method, networking system and access cloud gateway

Similar Documents

Publication Publication Date Title
CN103200069B (en) A kind of method and apparatus of Message processing
US9448821B2 (en) Method and system for realizing virtual machine mobility
US10193707B2 (en) Packet transmission method and apparatus
CN108964940B (en) Message sending method and device and storage medium
WO2015165311A1 (en) Method for transmitting data packet and provider edge device
CN113872845B (en) Method for establishing VXLAN tunnel and related equipment
KR101391965B1 (en) Implementing control planes for hybrid networks
CN107968749B (en) Method for realizing QinQ route termination, switching chip and switch
WO2021143279A1 (en) Method and device for segment routing service processing, routing equipment, and storage medium
WO2018068588A1 (en) Method and software-defined networking (sdn) controller for providing multicast service
US20210359879A1 (en) Packet forwarding method and network device
CN104734930B (en) Method and device for realizing access of Virtual Local Area Network (VLAN) to Variable Frequency (VF) network and Fiber Channel Frequency (FCF)
CN113542111A (en) Message forwarding method and network equipment
WO2022007702A1 (en) Message processing method and network device
EP3503484A1 (en) Message transmission method, device and network system
CN114221895A (en) Data transmission method, device and network equipment
WO2019240158A1 (en) Communication system and communication method
CN108881024B (en) Multicast traffic forwarding method and device
WO2022166465A1 (en) Message processing method and related apparatus
JP7314219B2 (en) DATA TRANSMISSION METHOD, APPARATUS AND NETWORK DEVICE
CN112702251B (en) Message detection method, connectivity negotiation relationship establishment method and related equipment
CN113542112A (en) Message forwarding method and network equipment
WO2024001701A1 (en) Data processing method, apparatus and system
US11902166B2 (en) Policy based routing in extranet networks
WO2024007762A1 (en) Route publishing method, and communication method and apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination