Data processing method and device of ethernet virtual private network and storage medium

CN114666267BActive Publication Date: 2026-09-29ZTE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011417069.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-07
Publication Date
2026-09-29
Estimated Expiration
2040-12-07

AI Technical Summary

Technical Problem

目前的数据处理手段中,BUM报文的接收端设备按照路由形成转发表,避免接收端设备将BUM报文向同一ES下的其他设备转发,然而当PE设备和ES的数量越多,转发表消耗的标签资源就越大,并且不同的EVPN业务要各自形成转发表,因此会占用了大量的转发表资源,不利于转发表资源的有效利用

Benefits of technology

[0019]本发明实施例提供的以太虚拟专用网的数据处理方法,至少具有如下有益效果:当本地设备双归属于互为相邻节点的第一节点和第二节点并且本地设备向第二节点发送BUM报文,在第二节点接收到BUM报文后,为了避免向第一节点转发该BUM报文时形成报文环路,根据第二节点中保存的第一节点对应的ESI以及该ESI对应的标签值,将标签值封装在该BUM报文中并向第一节点转发。第一节点收到封装过的BUM报文后解封装,并定位到该标签值所在的字段,根据第一节点中保存ESI和标签值的对应关系,过滤本地转发端口,避免报文成环。本发明实施例在对BUM报文转发时不需要区分BUM报文的EVPN业务实例,从而精简了转发表尺寸,能够降低转发表资源的占用。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114666267B_ABST
    Figure CN114666267B_ABST
Patent Text Reader

Abstract

The application discloses a data processing method and device of an Ethernet virtual private network and a storage medium. The data processing method comprises the following steps: receiving a routing advertisement sent by a first node and obtaining routing information according to the routing advertisement; merging the routing information based on the same ESI to obtain a forwarding table, each forwarding table entry of the forwarding table being composed of a network port identifier of the first node, an ESI and a label value; when forwarding a BUM packet to the first node, searching for the first label value according to the forwarding table, encapsulating the first label value in the BUM packet according to the encapsulation structure of the BUM packet, and forwarding the BUM packet to the first node, so that the first node decapsulates the BUM packet and filters local forwarding ports according to the first label value obtained by decapsulation, thereby avoiding packet loop. The embodiment of the application does not need to distinguish service instances of BUM packets when forwarding the BUM packets, thereby simplifying the forwarding table and reducing the occupation of forwarding table resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication technology, and in particular to a data processing method, device and storage medium for an Ethernet Virtual Private Network. Background Technology

[0002] In an Ethernet Virtual Private Network (EVPN), when a client edge (CE) device connects to multiple provider edge (PE) devices, multiple Ethernet segments (ES) need to be created and a corresponding Ethernet segment label (ESI) needs to be set for each ES to achieve orderly forwarding of packets between devices.

[0003] Forwarding broadcast, unknown-unicast, and multicast (BUM) packets within an EVPN requires addressing the loopback issue. Current data processing methods involve receiving devices generating forwarding tables based on routes to prevent them from forwarding BUM packets to other devices within the same Elasticsearch (ES). However, the more PE devices and ESs there are, the greater the label resources consumed by the forwarding tables. Furthermore, different EVPN services require their own forwarding tables, thus consuming significant forwarding table resources and hindering their efficient utilization. Summary of the Invention

[0004] The following is an overview of the subject matter described in detail herein. This overview is not intended to limit the scope of the claims.

[0005] This invention provides a data processing method, device, and storage medium for Ethernet Virtual Private Networks, which merges multiple routes originating from the same PE within the same Elasticsearch (ES) to form a forwarding table, thereby reducing the consumption of forwarding table resources.

[0006] In a first aspect, embodiments of the present invention provide a data processing method for an Ethernet Virtual Private Network (VPN), wherein the VPN includes a first node and a second node that are adjacent to each other, and the data processing method is applied to the second node, comprising:

[0007] The system receives a routing advertisement sent by the first node and obtains routing information based on the routing advertisement. The routing information includes an Ethernet segment identifier (ESI) and a tag value corresponding to the ESI.

[0008] The routing information is merged based on the same ESI to obtain a forwarding table. Each forwarding table entry consists of the network port identifier of the first node, the ESI, and the tag value.

[0009] When forwarding broadcast, unknown unicast, or multicast BUM packets to the first node, the forwarding table is looked up using the network port identifier of the first node and the first ESI corresponding to the source port of the BUM packet to determine the first tag value;

[0010] The first tag value is encapsulated in the BUM message according to the encapsulation structure of the BUM message to obtain the BUM encapsulated message;

[0011] The BUM-encapsulated message is forwarded to the first node, so that the first node can decapsulate the BUM-encapsulated message and filter the local forwarding port according to the first tag value obtained from the decapsulation.

[0012] Secondly, embodiments of the present invention also provide a data processing method for an Ethernet Virtual Private Network (VPN), wherein the VPN includes a first node and a second node that are adjacent to each other, and the data processing method is applied to the first node, comprising:

[0013] Obtain the ESI corresponding to the local port and assign a label value to the ESI, and construct a local lookup table with the ESI and the label value as the table entries;

[0014] When a BUM encapsulated message forwarded by the second node is received, the BUM encapsulated message is decapsulated and the first tag value in the BUM encapsulated message is determined.

[0015] The first ESI is determined by searching the local lookup table based on the first tag value.

[0016] The local forwarding port is filtered based on the first ESI.

[0017] Thirdly, embodiments of the present invention also provide an apparatus, including at least one processor and a memory for communicatively connecting to the at least one processor; the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the Ethernet virtual private network data processing method described in the first or second aspect above.

[0018] Fourthly, embodiments of the present invention provide a computer-readable storage medium storing computer-executable instructions for causing a computer to perform the Ethernet virtual private network data processing method described in the first or second aspect.

[0019] The data processing method for Ethernet Virtual Private Network provided in this embodiment of the invention has at least the following beneficial effects: When a local device is dual-homed to a first node and a second node that are adjacent nodes, and the local device sends a BUM message to the second node, after the second node receives the BUM message, in order to avoid forming a message loop when forwarding the BUM message to the first node, it encapsulates the tag value in the BUM message according to the ESI corresponding to the first node and the tag value corresponding to the ESI stored in the second node, and forwards it to the first node. After receiving the encapsulated BUM message, the first node decapsulates it, locates the field where the tag value is located, and filters the local forwarding port according to the correspondence between the ESI and the tag value stored in the first node, thus avoiding message loops. This embodiment of the invention does not need to distinguish the EVPN service instance of the BUM message when forwarding it, thereby simplifying the forwarding table size and reducing the occupation of forwarding table resources.

[0020] Other features and advantages of the invention will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention may be realized and obtained by means of the structures particularly pointed out in the description, claims, and drawings. Attached Figure Description

[0021] The accompanying drawings are provided to further illustrate the technical solutions of the present invention and constitute a part of the specification. They are used together with the examples of the present invention to explain the technical solutions of the present invention and do not constitute a limitation on the technical solutions of the present invention.

[0022] Figure 1 This is a flowchart of the data processing method for the second node provided in an embodiment of the present invention;

[0023] Figure 2 This is a flowchart of the second node establishing a forwarding table provided in an embodiment of the present invention;

[0024] Figure 3 This is a flowchart of the data processing method for the first node provided in an embodiment of the present invention;

[0025] Figure 4 This is a schematic diagram of information interaction under a multi-homed network structure provided in the example of the present invention;

[0026] Figure 5 This is a schematic diagram of the device structure of the equipment provided in the embodiment of the present invention. Detailed Implementation

[0027] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.

[0028] This invention provides a data processing method, device, and storage medium for Ethernet Virtual Private Networks. A forwarding table is constructed based on the correspondence between ESI and tag values. When a BUM packet needs to be forwarded, the tag value in the forwarding table is looked up based on the ESI corresponding to the BUM packet, and the found tag value is encapsulated in the BUM packet. This allows devices with the same ESI to filter their local forwarding ports based on the tag value in the BUM packet when they receive it. Since the construction of the forwarding table does not require distinguishing the EVPN service instance of the BUM packet, the consumption of forwarding table resources can be reduced.

[0029] The embodiments of the present invention will be further described below with reference to the accompanying drawings.

[0030] Reference Figure 1 This invention provides a data processing method for an Ethernet Virtual Private Network (VPN). The VPN includes a first node and a second node that are adjacent to each other. The data processing method is applied to the second node and includes, but is not limited to, the following steps S100, S200, S300, S400 and S500.

[0031] Step S100: Receive the routing advertisement sent by the first node and obtain routing information based on the routing advertisement. The routing information includes the Ethernet segment identifier (ESI) and the tag value corresponding to the ESI.

[0032] In existing EVPNs, a CE device connects to multiple PE devices, meaning the CE device may belong to multiple PE devices. In this case, when the CE device reports a BUM packet to a PE device, due to the characteristics of BUM packets, the PE device receiving the BUM packet will forward it to other PE devices. These other PE devices, upon receiving the BUM packet, will then forward it back to the CE device, causing a BUM packet loop. To overcome this problem, RFC (Request For Comments) 7432 proposes using an ES filtering table to solve the packet loop problem. This involves assigning each platform's MPLS (Multi-Protocol Label Switching) ESI label to PE devices in multi-homed scenarios. When a BUM packet is reported from the ES port to the current PE device, if the current PE device forwards the BUM packet to a neighboring PE device, it will include the corresponding ESI label value in the BUM packet. Upon receiving the BUM packet with the label value, the neighboring PE device will identify the ESI corresponding to that label value and will therefore not forward it to the local port with the same ESI.

[0033] However, under the RFC7432 specification, the PE device receiving the BUM message forms a forwarding table according to the routing information corresponding to each advertised route of the neighboring PE devices. Its size is related to the number of neighbors of the PE device, the number of EVPN services, and the number of ES. The resulting forwarding table is very large and consumes a lot of label resources.

[0034] Based on this, in order to streamline the forwarding table, this embodiment of the invention uniformly manages the label values ​​of BUM packets in EVPN multi-homing scenarios, and merges redundant routing information according to routing advertisements to form a forwarding table applicable to multiple service scenarios, such as:

[0035] Step S200: The routing information is merged based on the same ESI to obtain a forwarding table. Each forwarding table entry consists of the network port identifier, ESI, and label value of the first node.

[0036] In this embodiment of the invention, a first node and a second node represent two adjacent PE devices. In step S100, the first node sends a routing advertisement to the second node. The routing information in the routing advertisement includes the ESI corresponding to the local port of the first node and the label value assigned by the first node to the different ESIs. After the second node obtains the routing advertisement through the port between it and the first node, it forms a forwarding table in the second node according to the routing information. The content of the forwarding table includes at least the aforementioned ESI, the label value corresponding to the ESI, and the network port identifier of the first node.

[0037] Understandably, the routing announcement should also include the service information corresponding to the local port of the first node, for example, using... Figure 1Taking the first node as an example, it is connected to three ACs (Attachment Circuits), each corresponding to a port. The service instances of the ports include MPLS and SRv6. In this embodiment, EVPN1, EVPN2, and EVPN3 represent their EVPN instance information, respectively. Thus, each route advertisement sent by the first node to the second node contains ESI-label value-EVPN instance information. According to RFC7432, the second node initially forms a preliminary filtering table of the first node's network port identifier-ESI-label value-EVPN instance information. Since the preliminary filtering table is divided according to the specific service type under EVPN, the preliminary filtering table formed under the three AC lines will occupy a lot of resources. This is the filtering table formed according to RFC7432. In this embodiment of the invention, the routing information with the same ESI belonging to the first node in the preliminary filtering table is merged, and the EVPN instance information is removed, thereby simplifying the preliminary filtering table and reducing the occupation of label resources. Since the EVPN identifier is removed, the second node does not need to consider the EVPN service instance when performing BUM packet encapsulation and forwarding, which improves the speed of table lookup and encapsulation.

[0038] The forwarding table simplified through step S200 consists of the network port identifier of the first node, an ESI, and a label value. Different service instances under the same ESI share a single label value, making it applicable to both MPLS and SRv6 services. This solves the problem that traditional forwarding tables are only applicable to MPLS EVPNs. It should be understood that in the traditional forwarding table approach for MPLS EVPN services, the first node needs to allocate a label value to each ESI in the MPLS label space, thus establishing a correspondence between ESIs and label values. Therefore, label value allocation consumes MPLS labels, and when only SRv6 EVPN services exist within the Ethernet segment, it also consumes label values ​​in the MPLS label space, which is detrimental to EVPN label allocation. In this embodiment, since there is no need to distinguish between service instances, label values ​​can be configured as needed. For example, an independent space (such as a newly created label space) can be allocated in the first node to allocate label values ​​for the ESIs corresponding to local ports. The specific range of label values ​​can also be defined as needed, as long as a one-to-one correspondence exists between the label value and the ESI, thus solving the MPLS label occupancy problem.

[0039] Step S300: When forwarding broadcast, unknown unicast, or multicast BUM packets to the first node, look up the forwarding table using the network port identifier of the first node and the first ESI corresponding to the source port of the BUM packet to determine the first tag value.

[0040] After receiving the BUM message, the second node determines the broadcast member of the BUM message, identifies the first node as an adjacent node, and forwards the BUM message to the first node. If the first and second nodes are in the same Elasticsearch Node (ES), then they have the same ESI (Electronic System ID). In this case, the BUM message needs special processing so that the first node can decrypt it upon receipt. If the first and second nodes are not in the same ES, then when the second node queries the forwarding table based on the first ESI of the BUM message, it cannot find the corresponding forwarding table entry. Therefore, the second node does not need to encapsulate the tag value when forwarding the BUM message to the first node.

[0041] When the first node and the second node are in the same ES and have the same ESI, the forwarding table is searched based on the first node's network port identifier and the first ESI corresponding to the source port of the BUM message. The forwarding table entry for the first node's network port identifier-first ESI-first tag value can be found, and the first tag value can be obtained. Then, the found first tag value is encapsulated in the BUM message to form a BUM encapsulated message, which is sent to the first node.

[0042] Step S400: Encapsulate the first tag value in the BUM message according to the encapsulation structure of the BUM message to obtain the BUM encapsulated message.

[0043] It is understood that, since the forwarding table in this embodiment of the invention does not distinguish between EVPN service instances, it is necessary to first determine the service instance of the BUM packet during encapsulation. Under different service class instances, the packet encapsulation format is different, so the encapsulation position of the first tag value is different. This will be explained in detail later for the encapsulation method of BUM packets with different encapsulation formats.

[0044] Step S500: Forward the BUM-encapsulated message to the first node so that the first node can decapsulate the BUM-encapsulated message and filter the local forwarding port according to the first tag value obtained from the decapsulation.

[0045] The encapsulated BUM message carries a first tag value. When the first node receives the encapsulated BUM message, it can locate the location of the first tag value by decapsulating it. Based on the correspondence between the first tag value and the first ESI, the first node can filter the local forwarding ports. That is, any port in the same ES will not forward the BUM message, thereby avoiding the formation of message loopback.

[0046] The embodiments of the present invention reduce the occupation of tag resources by simplifying the forwarding table, and do not occupy MPLS tag resources in the tag space. On this basis, the BUM packet loopback problem of different service instances is solved. The solution of the embodiments of the present invention is easy to implement and has high practical value.

[0047] As can be seen from step S100 above, the routing information obtained by the second node after receiving the routing advertisement includes, in addition to the ESI and label values, the network port identifier of the first node and the EVPN instance information published by the first node based on the Ethernet Virtual Private Network (EVPN) instance. The network port identifier can be represented by an IP address to indicate the destination IP address, or it can be set based on a MAC address and used to determine the next hop of the route. On the other hand, the routing advertisement contains EVPN service instance information corresponding to the service type used by the local port in the first node, used to indicate the service type used by the local port. Therefore, it can be seen that the second node needs to organize and simplify the above-mentioned original data to obtain the final forwarding table during the formation of the forwarding table in this embodiment of the invention. Therefore, referring to... Figure 2 The step S100 involves establishing a forwarding table by merging routing information, including but not limited to the following steps S110 and S120.

[0048] Step S110: A preliminary filtering table is formed based on the routing information. Each filter entry in the preliminary filtering table consists of the network port identifier of the first node, the EVPN instance information, the ESI, and the tag value.

[0049] Step S120: Merge the filter entries with the same ESI to remove the EVPN instance information and obtain the forwarding table.

[0050] A preliminary filtering table, directly formed from routing information, contains the network port identifier, ESI, tag value, and EVPN instance information of the first node. Based on the simplified method of this embodiment, different EVPN instance information under the same network port identifier and the same ESI is merged to form an entry for network port identifier-ESI. This entry is distinguished by the tag value, thus ultimately forming a forwarding table with the entry for network port identifier-ESI-tag value. When the second node receives a BUM packet, it determines which network port identifier to forward it to and determines the first ESI corresponding to the source port of the BUM packet. It can then obtain the first tag value by looking up the forwarding table and encapsulate the BUM packet.

[0051] It is understandable that there are multiple ESIs and multiple label values ​​in the forwarding table. Therefore, the first ESI and the first label value mentioned above are used to represent one of the ESIs and one of the label values ​​in the many forwarding tables, respectively, and are not specific numerical limitations on the first ESI and the first label value.

[0052] The encapsulation of BUM messages varies depending on the service type, employing different encapsulation positions. First, upon receiving a BUM message, the second node needs to determine if the message's service type is suitable for the current tag value encapsulation method. If the BUM message's service type matches a preset service type, the tag value encapsulation position is determined based on the message encapsulation structure corresponding to that preset service type. If the BUM message's service type does not match the preset service type, it should be encapsulated and sent using other methods.

[0053] The aforementioned preset service types can be set as needed and are not limited here. This embodiment of the invention illustrates, by way of example, the encapsulation position of the tag value in the BUM message under two different service types.

[0054] First scenario:

[0055] When the service type of the BUM message is Multiprotocol Label Switching (MPLS EVPN), the first label value is placed in the field after VPN Label in the encapsulation structure according to the corresponding message encapsulation structure of MPLS EVPN.

[0056] The packet structure of MPLS EVPN service has a label stack, including a top label (or outer label) and a bottom label (or inner label, stack bottom label). The top label in the MPLS network guides how to transmit data from one PE device to an adjacent PE device, while the bottom label guides which CE device the PE device should send the packet data to. Therefore, to filter local forwarding ports in the first node, the first label value should be added to the bottom label. Specifically, the first label value can be placed in the field after the VPN Label. When the first node receives a BUM-encapsulated packet, it decapsulates the BUM-encapsulated packet and matches it against the VPN Label. If the VPN Label is not at the stack bottom, then the subsequent field is the first label value, used to find the ESI (Effective Search Identity) and thus achieve packet decryption.

[0057] The second scenario:

[0058] When the BUM message is an IPv6 segmented routing SRv6 EVPN service message, the first tag value is filled into the Argument field of the SRv6 SID in the encapsulation structure according to the encapsulation structure of the SRv6 EVPN service message.

[0059] The packet structure of SRv6 EVPN service uses Segment ID (SID) to represent the IPv6 address format. The SID consists of two fields: Locator and Function. The Locator is used for label routing, while the Function defines the action taken by the device upon receiving the label. Therefore, to filter local forwarding ports in the first node, the first label value should be added to the Function field. Specifically, the label can be placed in the Argument field within the Function field. When the first node receives a BUM-encapsulated packet, it decapsulates the packet, matches the Function field, and extracts the Argument field portion to obtain the first label value. This value is then used to look up the ESI (Encapsulation Sequence Index) to achieve packet decryption.

[0060] Referring to 4, this embodiment of the invention also provides a data processing method for an Ethernet Virtual Private Network. The Ethernet Virtual Private Network includes a first node and a second node that are adjacent to each other. The data processing method is applied to the first node and includes, but is not limited to, the following steps S600, S700, S800 and S900.

[0061] Step S600: Obtain the ESI corresponding to the local port and assign a label value to the ESI, and construct a local lookup table with the ESI and the label value as the table entries;

[0062] Step S700: When the BUM encapsulated message forwarded by the second node is received, the BUM encapsulated message is decapsulated and the first tag value in the BUM encapsulated message is determined.

[0063] Step S800: Search the local lookup table based on the first tag value to determine the first ESI;

[0064] Step S900: Filter the local forwarding port according to the first ESI.

[0065] Corresponding to the above embodiment applied to the second node, the embodiment of the present invention is applied to the first node. The work to be performed by the first node includes decapsulating the BUM encapsulated message sent by the second node, locating the position of the tag value in the BUM encapsulated message, finding the ESI based on the first tag value, and filtering the local forwarding port. That is, if the ES corresponding to the ESI is the same as the ES where the local forwarding port is located, the BUM message will not be forwarded to the local forwarding port.

[0066] It is understood that the first node should also include obtaining the ES where the local forwarding port is located, assigning a label value to the ESI corresponding to the ES, and sending the ESI and the label value corresponding to the ESI to the second node in the routing advertisement sent by the first node to the second node, so that the second node can establish the forwarding table required by the embodiments of the present invention.

[0067] Since the label value allocated to ESI in the first node is not allocated in the traditional label space (such as the MPLS label space), it is not defined according to the range of traditional label values. Since the label value in this embodiment of the invention can only be determined after the business label is located, it is a context label used to allocate ES entities. The context label needs to rely on the platform label to determine its behavior. This characteristic corresponds to the behavior of locating the first label value in the BUM encapsulated message.

[0068] In step S700 above, for BUM encapsulated messages of different service types, the first node needs to determine the corresponding service type after decapsulating the BUM encapsulated message in order to locate the tag value inside. This can be achieved in the following way:

[0069] Determine the EVPN service type of the BUM-encapsulated message;

[0070] When the service type of the BUM-encapsulated message is Multiprotocol Label Switching (MPLS) EVPN, the VPN Label in the BUM-encapsulated message is matched, it is determined that the VPN Label field is not the bottom of the label stack, and the bottom label is determined to be the first label value.

[0071] When the service type of the BUM-encapsulated message is an IPv6 segmented routing SRv6 EVPN service message, locate the Function field of the SRv6 SID and determine that the Argument field in the Function field is the first label value.

[0072] The above judgment process corresponds to the encapsulation process of the BUM message by the second node. During the decapsulation process, when the service type is MPLS EVPN, the VPN Label is matched, and it is determined whether the VPN Label is the bottom label of the stack. If not, the field following the VPN Label is the first label value. When the service type is SRv6 EVPN, the Function field of the SRv6 SID is located, and the Argument field is found from the Function field to determine the first label value.

[0073] This invention is applied to EVPN multi-homing scenarios. The first node and the second node are two adjacent PE devices connected to the same CE device. The second node constructs a forwarding table based on the ESI and tag values ​​sent by the first node, as well as the network port identifier of the first node, without distinguishing between EVPN service instances, thereby reducing the consumption of forwarding table tag resources. When the CE device sends a BUM packet to the second node, it encapsulates the found first tag value in the appropriate position within the BUM packet according to the correspondence between the first ESI and the first tag value, and then sends it to the first node. This allows the first node to decapsulate the packet and filter its local forwarding ports based on the first tag value, thus achieving packet decryption.

[0074] The following is a practical example to illustrate the embodiments of the present invention:

[0075] Reference Figure 4 This example sets up three PE devices, referred to as device A, device B, and device C. The three PE devices are adjacent to each other. Device A and device B belong to the same ES, while device C and device B do not belong to the same ES. Device A and device B each have three ACs. For ease of representation, ACs under the same ES use the same name, namely AC1 (service type is MPLS-EVPN1), AC2 (service type is MPLS-EVPN2), and AC3 (service type is SRv6-EVPN3).

[0076] Since device A and device B belong to the same ES, device A assigns a tag value of 1 to ES1 in an independent space (for ease of explanation, the network in the example only divides one ES, which is represented by ES1. If there are multiple ES, they can be represented by ES2, ES3, ..., ESn in sequence). Since each ES has a unique ESI, a correspondence is formed between ESI1 and tag value 1 in device A (ES2, ES3, ..., ESn correspond to unique identifiers ESI2, ESI3, ..., ESIn respectively).

[0077] Device A sends a routing advertisement to device B. Device B then learns device A's IP port (represented by IP-a), ESI1, label value 1, and the EVPN instance information corresponding to the three ACs. Device B then processes this information to obtain a preliminary filtering table with three entries. (See [link to table]). Figure 4 They are:

[0078] IP-a+ESI1+EVPN1: Tag value 1

[0079] IP-a+ESI1+EVPN2: Tag value 1

[0080] IP-a+ESI1+EVPN3: Tag value 1

[0081] Following the method in this example, simplify the above preliminary filter table, merge it, and remove the EVPN service type information to obtain the entries that constitute the forwarding table:

[0082] IP-a+ESI1: Tag value 1

[0083] When device B receives a BUM packet sent by one of the ACs (the source port belongs to ES1 and has an ESI1 value), it determines that the BUM packet needs to be forwarded to devices A and C. Therefore, the data packet forwarded to device A needs to be encapsulated with a tag value of 1. Using the entries in the forwarding table, it can be determined that the BUM packet sent to IP-a with the corresponding ESI1 has a tag value of 1, and thus the tag value of 1 is encapsulated in the BUM packet. When the service type of the BUM packet is MPLS EVPN, the tag value of 1 is pushed to the bottom of the tag stack; when the service type of the BUM packet is SRv6 EVPN, the tag value of 1 is filled into the Argument field of the SID. Finally, a BUM-encapsulated packet is obtained and sent to device A. Since device C does not belong to the same ES as device B, the packet is sent to device C using the normal BUM packet forwarding method, without needing to carry a tag value.

[0084] When device A receives a BUM encapsulated message, it decapsulates it to determine the tag value. For MPLS EVPN type BUM encapsulated messages, if the VPN Label is not at the bottom of the stack, the bottom tag is tag value 1. For SRv6 EVPN type BUM encapsulated messages, after determining the service through the Function field, the tag value 1 is obtained from the Argument field. Based on the correspondence between the tag value 1 obtained through decapsulation and ESI1, device A filters out the three AC lines belonging to ES1.

[0085] The present invention also provides an apparatus including at least one processor and a memory for communicatively connecting to the at least one processor; the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the aforementioned data processing method for an Ethernet virtual private network.

[0086] Reference Figure 5Taking the example of a device 1000 where the control processor 1001 and memory 1002 are connected via a bus, the memory 1002, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, the memory 1002 may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 1002 may optionally include memory remotely located relative to the control processor 1001, and these remote memories can be connected to the device 1000 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0087] Those skilled in the art will understand that Figure 5 The device structure shown does not constitute a limitation on the device 1000 and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0088] This invention also provides a computer-readable storage medium storing computer-executable instructions that are executed by one or more control processors, for example, by... Figure 5 One of the control processors 1001 executes the above-described data processing method for Ethernet Virtual Private Network in the above-described method embodiments, for example, executing the above-described... Figure 1 Method steps S100 to S500 Figure 2 Method steps S110 to S120 and Figure 3 Method steps S600 to S900.

[0089] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0090] It will be understood by those skilled in the art that all or some of the steps and systems in the methods disclosed above can be implemented as software, firmware, hardware, and suitable combinations thereof. Some or all of the physical components can be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, which can include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, as is known to those skilled in the art, communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.

[0091] The above is a detailed description of the preferred embodiments of this application. However, this application is not limited to the above embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of this application. All such equivalent modifications or substitutions are included within the scope defined by the claims of this application.

Claims

1. A data processing method for an Ethernet Virtual Private Network, wherein the Ethernet Virtual Private Network includes a first node and a second node that are adjacent to each other, and the data processing method is applied to the second node, characterized in that, include: The system receives a routing advertisement sent by the first node and obtains routing information based on the routing advertisement. The routing information includes an Ethernet segment identifier (ESI) and a tag value corresponding to the ESI. The tag value is a value shared by different service instances under the same ESI allocated by the first node. The routing information is merged based on the same ESI to obtain a forwarding table. Each forwarding table entry consists of the network port identifier of the first node, the ESI, and the tag value. When forwarding broadcast, unknown unicast, or multicast BUM packets to the first node, the forwarding table is looked up using the network port identifier of the first node and the first ESI corresponding to the source port of the BUM packet to determine the first tag value; The first tag value is encapsulated in the BUM message according to the encapsulation structure of the BUM message to obtain the BUM encapsulated message; The BUM-encapsulated message is forwarded to the first node, so that the first node can decapsulate the BUM-encapsulated message and filter the local forwarding port according to the first tag value obtained from the decapsulation.

2. The data processing method for Ethernet Virtual Private Network according to claim 1, characterized in that, The routing information also includes the network port identifier of the first node and the EVPN instance information published by the first node based on the Ethernet Virtual Private Network (EVPN) instance.

3. The data processing method for Ethernet Virtual Private Network according to claim 2, characterized in that, The process of merging the routing information based on the same ESI to obtain a forwarding table includes: A preliminary filtering table is formed based on the routing information. Each filter entry in the preliminary filtering table consists of the network port identifier of the first node, the EVPN instance information, the ESI, and the tag value. The filter entries with the same ESI are merged to remove the EVPN instance information, resulting in a forwarding table.

4. The data processing method for an Ethernet Virtual Private Network according to claim 2 or 3, characterized in that, The network port is identified by an IP address.

5. The data processing method for an Ethernet Virtual Private Network according to claim 1, characterized in that, The step of encapsulating the first tag value in the BUM message according to the encapsulation structure of the BUM message includes: When the service type of the BUM message matches the preset service type, the encapsulation position of the first tag value is determined according to the message encapsulation structure corresponding to the preset service type.

6. The data processing method for an Ethernet Virtual Private Network according to claim 5, characterized in that, Determining the encapsulation position of the first tag value according to the message encapsulation structure corresponding to the preset service type includes: When the service type of the BUM message is Multiprotocol Label Switching (MPLS EVPN), the first tag value is placed in the field after VPN Label in the encapsulation structure according to the message encapsulation structure corresponding to MPLS EVPN. When the BUM message is an IPv6 segmented routing SRv6 EVPN service message, the first tag value is filled into the Argument field of the SRv6 SID in the encapsulation structure according to the encapsulation structure of the SRv6 EVPN service message.

7. A data processing method for an Ethernet Virtual Private Network, wherein the Ethernet Virtual Private Network includes a first node and a second node that are adjacent to each other, and the data processing method is applied to the first node, comprising: Obtain the ESI corresponding to the local port and assign a label value to the ESI, and construct a local query table with the ESI and the label value as the table entries; wherein, the label value is a value shared by different business instances under the same ESI; A routing advertisement is sent to the second node so that the second node can obtain routing information based on the received routing advertisement and merge the routing information based on the same ESI to obtain a forwarding table; the routing information includes the ESI and the label value corresponding to the ESI, and each forwarding table entry consists of the network port identifier of the first node, the ESI and the label value; When a BUM encapsulated message forwarded by the second node is received, the BUM encapsulated message is decapsulated and the first tag value in the BUM encapsulated message is determined. The first ESI is determined by searching the local lookup table based on the first tag value. The local forwarding port is filtered based on the first ESI.

8. The data processing method for an Ethernet Virtual Private Network according to claim 7, characterized in that, The step of decapsulating the BUM-encapsulated message and determining the first tag value in the BUM-encapsulated message includes: Determine the EVPN service type of the BUM-encapsulated message; When the service type of the BUM-encapsulated message is Multiprotocol Label Switching (MPLS) EVPN, the VPN Label in the BUM-encapsulated message is matched, and it is determined that the VPN Label field is not the bottom of the label stack. The bottom label is determined to be the first label value. When the service type of the BUM-encapsulated message is an IPv6 segmented routing SRv6 EVPN service message, locate the Function field of the SRv6 SID, and determine that the Argument field in the Function field is the first label value.

9. A device, characterized in that, It includes at least one processor and a memory for communicatively connecting to the at least one processor; the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the Ethernet virtual private network data processing method as claimed in any one of claims 1 to 6 or to perform the Ethernet virtual private network data processing method as claimed in claim 7 or 8.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions for causing a computer to perform the Ethernet virtual private network data processing method as described in any one of claims 1 to 6, or to perform the Ethernet virtual private network data processing method as described in claim 7 or 8.

Citation Information

Patent Citations

  • Multicast forwarding method, device and electronic equipment

    CN108900422A

  • Multi-home access method, apparatus, and multi-home node

    WO2018184496A1