Message forwarding method, device, line card chip and computer-readable storage medium

By obtaining the virtual destination line and overlay ARP pointer of the line card chip to update the inner parameters, only the Fabric message header is added, which solves the problem of the Fabric message header carrying too much information, and achieves the effect of reducing bandwidth usage and lowering management difficulty.

CN119316352BActive Publication Date: 2025-10-14SUZHOU CENTEC COMM CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411435276.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-15
Publication Date
2025-10-14
Estimated Expiration
2044-10-15

AI Technical Summary

Technical Problem

In the prior art, the Fabric message header of the line card chip carries a lot of information, which causes the message to occupy a lot of Fabric bandwidth and increases the difficulty of global maintenance and management.

Method used

The line card chip obtains the virtual destination line and overlay ARP pointer of the packet, updates the inner parameters, and adds the fabric header based only on the virtual destination line, reducing the number of parameters carried in the fabric header.

Benefits of technology

This reduces the amount of data carried in the Fabric message header, lowering Fabric bandwidth usage and overall maintenance and management difficulty.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119316352B_ABST
    Figure CN119316352B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a message forwarding method and device, a line card chip and a computer readable storage medium, and relate to the technical field of communication. In the case that a first network entry message is received through any network interface, a virtual destination line, an overlay ARP pointer and a physical exit of the first network entry message are obtained according to a routing parameter of the first network entry message. In the case that the physical exit represents that an exit of the first network entry message is a remote chip, an inner layer parameter of the first network entry message is updated according to the virtual destination line and the overlay ARP pointer, a Fabric message header is added to the first network entry message according to the virtual destination line, and a second network entry message is obtained. The second network entry message is forwarded through a Fabric interface, so that the number of parameters carried in the Fabric message header can be reduced, the Fabric bandwidth occupied by the message is reduced, and the difficulty of global maintenance and management is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the communication technical field, in particular to a message forwarding method and device, a line card chip and a computer readable storage medium. BACKGROUND

[0002] At present, a line card chip includes a network interface and a fabric interface. The line card chip can receive a message through the network interface. If an egress of the message is located in a remote chip, the line card chip can add a fabric message header to the message and send it out through the fabric interface.

[0003] However, the fabric message header often needs to carry a large amount of information in the prior art, for example, a virtual destination line, a cover layer ARP (Address Resolution Protocol) pointer, a bottom layer ARP pointer and other important information of the message, which not only causes the message to occupy a large amount of fabric bandwidth, but also causes the difficulty of global maintenance and management to increase. SUMMARY

[0004] Therefore, the present application aims to provide a message forwarding method and device, a line card chip and a computer readable storage medium to reduce the fabric bandwidth occupied by the message and reduce the difficulty of global maintenance and management.

[0005] To achieve the above purpose, the technical solutions adopted by the embodiments of the present application are as follows:

[0006] In a first aspect, the present application provides a message forwarding method applied to a line card chip, wherein the line card chip includes a plurality of network interfaces and at least one fabric interface, and the method includes:

[0007] In a case where a first network entry message is received through any of the network interfaces, a virtual destination line, a cover layer ARP pointer and a physical egress of the first network entry message are obtained according to a routing parameter of the first network entry message;

[0008] In a case where the physical egress represents that an egress of the first network entry message is a remote chip, an inner layer parameter of the first network entry message is updated according to the virtual destination line and the cover layer ARP pointer, a fabric message header is added to the first network entry message according to the virtual destination line, and a second network entry message is obtained;

[0009] The second network entry message is forwarded through the fabric interface.

[0010] In an optional embodiment, the acquiring, according to the routing parameters of the first network entry message, the virtual destination line, the overlay ARP pointer, and the physical egress of the first network entry message includes:

[0011] Obtaining virtual network parameters of the first network entry message according to the interface table;

[0012] According to the routing parameters of the first network entry message and the virtual network parameters, a virtual destination line, an overlay layer ARP pointer, and a physical egress of the first network entry message are obtained.

[0013] In an optional embodiment, the acquiring, based on the routing parameters of the first network entry message and the virtual network parameters, the virtual destination line, the overlay ARP pointer, and the physical egress of the first network entry message includes:

[0014] Acquire next hop information according to the routing parameters of the first network entry message and the virtual network parameters, and determine whether the next hop of the first network entry message is an overlay tunnel for ECMP according to the next hop information;

[0015] If the next hop is an overlay tunnel for ECMP, determine the first target ECMP member from the first ECMP group table according to the first hash value of the first network entry message, determine the overlay tunnel of the first network entry message according to the first target ECMP member, and obtain the virtual destination line, overlay ARP pointer, and first subordinate table of the first network entry message according to the overlay tunnel;

[0016] If the next hop is not an overlay tunnel for ECMP, then obtain the overlay tunnel of the first network entry message according to the next hop information, and obtain the virtual destination line and overlay ARP pointer of the first network entry message and the first subordinate table according to the overlay tunnel;

[0017] Determine whether the next hop is UnderLay for ECMP according to the first lower-level table;

[0018] If the next hop is Underlay ECMP, determine the second target ECMP member from the second ECMP group table according to the second hash value of the first network ingress message, determine the Underlay path of the first network ingress message according to the second target ECMP member, and obtain the physical egress of the first network ingress message according to the Underlay path of the first network ingress message;

[0019] If the next hop is not UnderLay doing ECMP, an Underlay path of the first network entry message is acquired according to the first sub-table, and a physical exit of the first network entry message is acquired according to the Underlay path of the first network entry message.

[0020] In an optional implementation, the inner-layer parameters include inner-layer VLAN parameters and inner-layer MAC parameters.

[0021] The updating of the inner-layer parameters of the first network entry message according to the virtual destination line and the overlay ARP pointer includes:

[0022] The inner-layer VLAN parameters of the first network entry message are updated according to the virtual destination line.

[0023] The inner-layer MAC parameters of the first network entry message are updated according to the overlay ARP pointer.

[0024] In an optional implementation, the method further includes:

[0025] An Underlay ARP pointer of the first network entry message is acquired.

[0026] In a case where the physical exit represents that an exit of the first network entry message is not a remote chip, the inner-layer parameters of the first network entry message are updated according to the virtual destination line and the overlay ARP pointer, outer-layer header information is added to the first network entry message according to the Underlay ARP pointer and the virtual destination line, a third network entry message is obtained, and the third network entry message is forwarded according to the physical exit.

[0027] In an optional implementation, the method further includes:

[0028] In a case where a first network exit message is received through the Fabric interface, the first network exit message is processed according to a Fabric message header of the first network exit message, and a second network exit message is obtained.

[0029] The second network exit message is forwarded through the network interface.

[0030] In an optional implementation, the processing of the first network exit message according to the Fabric message header of the first network exit message, and the obtaining of the second network exit message, include:

[0031] Obtaining a virtual destination line of the first network egress message according to a Fabric message header in the first network egress message, and obtaining an underlying ARP pointer of the first network egress message according to the virtual destination line of the first network egress message;

[0032] Outer header information is added to the first network egress message according to the bottom layer ARP pointer and the virtual destination line of the first network egress message to obtain a second network egress message.

[0033] In an optional implementation manner, obtaining the underlying ARP pointer of the first network egress message according to the virtual destination line of the first network egress message includes:

[0034] Obtain a second lower-level table according to the virtual destination line of the first network egress message, and determine whether the next hop is UnderLay for ECMP according to the second lower-level table;

[0035] If the next hop is Underlay ECMP, determine the third target ECMP member from the third ECMP group table according to the third hash value of the first network egress message, determine the Underlay path of the first network egress message according to the third target ECMP member, and obtain the underlying ARP pointer of the first network egress message according to the Underlay path of the first network egress message;

[0036] If the next hop is not UnderLay for ECMP, the Underlay path of the first network exit message is obtained according to the second subordinate table, and the underlying ARP pointer of the first network exit message is obtained according to the Underlay path of the first network exit message.

[0037] In an optional embodiment, the outer header information includes tunnel outer header information and VXLAN outer header information;

[0038] The adding outer header information to the first network egress message according to the bottom layer ARP pointer and the virtual destination line of the first network egress message includes:

[0039] Adding the tunnel outer header information to the first network egress message according to the bottom layer ARP pointer of the first network egress message;

[0040] Obtain the VxLAN tunnel header editing table corresponding to the first network exit message according to the virtual destination line of the first network exit message, and add the Vxlan outer header information to the first network exit message according to the VxLAN tunnel header editing table.

[0041] In a second aspect, the present application provides a message forwarding device, which is applied to a line card chip, wherein the line card chip includes multiple network interfaces and at least one fabric interface, and the method includes:

[0042] an acquisition module, configured to, upon receiving a first network entry message through any of the network interfaces, acquire a virtual destination line, an overlay ARP pointer, and a physical egress of the first network entry message according to routing parameters of the first network entry message;

[0043] a processing module configured to, when the physical egress indicates that the egress of the first network entry message is a remote chip, update inner layer parameters of the first network entry message according to the virtual destination line and the overlay ARP pointer, and add a fabric message header to the first network entry message according to the virtual destination line to obtain a second network entry message;

[0044] A forwarding module is used to forward the second network entry message through the Fabric interface.

[0045] In a third aspect, the present application provides a line card chip, comprising a processor, a memory, and a communication module, wherein the memory stores a computer program that can be executed by the processor, and the processor can execute the computer program to implement any of the methods described in the aforementioned embodiments.

[0046] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, which implements the method described in any of the aforementioned embodiments when the computer program is executed by a processor.

[0047] The message forwarding method, device, line card chip, and computer-readable storage medium provided by the embodiments of the present application are such that, upon receiving a first network entry message through any network interface, the line card chip can obtain the virtual destination line, overlay ARP pointer, and physical exit of the first network entry message, and when the physical exit indicates that the exit of the first network entry message is a remote chip, the line card chip can update the inner layer parameters of the first network entry message according to the virtual destination line and overlay ARP pointer, and then add a Fabric message header to the first network entry message only according to the virtual destination line to obtain a second network entry message, thereby forwarding the second network entry message through the Fabric interface. Through this method, the corresponding Fabric message header can be generated only according to the virtual destination line, thereby reducing the number of parameters carried in the Fabric message header, thereby reducing the Fabric bandwidth occupied by the message and reducing the difficulty of global maintenance and management.

[0048] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without creative work.

[0050] Figure 1 A block diagram of a message forwarding architecture is shown;

[0051] Figure 2 A block diagram of a line card chip provided in an embodiment of the present application is shown;

[0052] Figure 3 A schematic diagram of a flow chart of a message forwarding method provided in an embodiment of the present application is shown;

[0053] Figure 4 A functional module diagram of the message forwarding device provided in an embodiment of the present application is shown.

[0054] Icon: 10 - line card chip; 20 - fabric chip; 100 - memory; 110 - processor; 120 - communication module; 200 - acquisition module; 210 - processing module; 220 - forwarding module. DETAILED DESCRIPTION

[0055] The following will be combined with the accompanying drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Generally, the components of the embodiments of the present application described and shown in the drawings herein can be arranged and designed in various different configurations.

[0056] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application for protection, but merely represents selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making any creative efforts shall fall within the scope of protection of the present application.

[0057] It should be noted that relational terms such as "first" and "second" are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.

[0058] Figure 1 A block diagram of the packet forwarding architecture is shown in Figure 1 The packet forwarding architecture may include multiple line card chips 10 and at least one fabric chip 20 , and the fabric chip 20 is communicatively connected to the multiple line card chips 10 .

[0059] Optionally, the message forwarding architecture may be a multi-chip interconnection architecture within a chassis (Chassis multi-chip interconnection architecture).

[0060] In this embodiment, the line card chip 10 may include multiple network interfaces and at least one fabric interface. The line card chip may receive a message from the network side through the network interface and forward the message by looking up a table.

[0061] Optionally, if the line card chip determines that the egress of the message is at a remote chip, it may process the message, add a Fabric message header to the message, and send the message with the Fabric message header added to the Fabric chip 20 through the Fabric interface.

[0062] Optionally, the Fabric chip 20 may send the message to another corresponding line card chip through a Fabric interface according to the Fabric message header of the message.

[0063] Optionally, after receiving the message, another line card chip may parse the Fabric message header of the message, edit the message according to the parameters obtained by the parsing, and forward the message through the corresponding network interface.

[0064] Optionally, an IPE (Ingress Processing Engine) and an EPE (Egress Processing Engine) are provided at the network interface and the Fabric interface of the line card chip.

[0065] Among them, IPE can be used to process data packets entering the chip, and EPE can be used to process data packets that need to be sent out of the chip.

[0066] It should be noted that the remote chip refers to the VXLAN Tunnel Endpoint (VTEP) located at different physical locations in the network. If the egress of the message is the remote chip, it means that the next hop address or destination address of the message points to the VTEP located at another physical location.

[0067] Further, in Figure 1 On the basis of Figure 2 For a block diagram of the line card chip 10 provided in the embodiment of the present application, see Figure 2 The line card chip 10 includes a memory 100, a processor 110, and a communication module 120. The memory 100, processor 110, and communication module 120 are electrically connected to each other, directly or indirectly, to enable data transmission or interaction. For example, these components can be electrically connected to each other via one or more communication buses or signal lines.

[0068] The memory 100 is used to store computer programs or data that can be executed by the processor. The memory 100 can be, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.

[0069] The processor 110 is used to read / write data or computer programs stored in the memory and execute the computer program to implement the message forwarding method provided in the embodiment of the present application.

[0070] The communication module 120 is used to establish a communication connection between the line card chip 10 and other communication terminals through a network, and to send and receive data through the network.

[0071] It should be understood that Figure 2 The structure shown is only a schematic diagram of the structure of the line card chip. The line card chip may also include Figure 2 More or fewer components than shown, or with Figure 2Different configurations shown. Figure 2 Each component shown in the figure can be implemented by hardware, software or a combination thereof.

[0072] Next, the above Figure 1 Any line card chip in is the execution body, and the message forwarding method provided in the embodiment of the present application is exemplarily introduced in combination with the flow chart.

[0073] Specifically, Figure 3 A flow chart of the message forwarding method provided in the embodiment of the present application is shown in FIG. Figure 3 , the method comprising:

[0074] Step S20: When a first network entry message is received through any network interface, a virtual destination line, an overlay ARP pointer, and a physical exit of the first network entry message are obtained according to routing parameters of the first network entry message.

[0075] Optionally, the network ingress message refers to a network message that enters the above-mentioned message forwarding architecture for forwarding.

[0076] Optionally, the line card chip may obtain the virtual destination line, overlay layer ARP pointer, and physical egress of the first network ingress message by looking up a table.

[0077] Optionally, the virtual destination line (vdl (virtualDestLine)) is used to specify the destination of the message in the virtual network, which may be an identifier used to indicate a specific virtual network or virtual device to which the message should be forwarded.

[0078] Optionally, the overlay ARP pointer (overlayArpPtr) is used to store or reference ARP information in the overlay network. This parameter helps resolve IP addresses to MAC addresses in a virtual network environment.

[0079] Optionally, the physical egress (destMap) is used to indicate the physical interface from which the message should be sent.

[0080] In step S21, when the physical egress indicates that the egress of the first network entry message is a remote chip, the inner layer parameters of the first network entry message are updated according to the virtual destination line and the overlay layer ARP pointer, and a fabric message header is added to the first network entry message according to the virtual destination line to obtain a second network entry message.

[0081] It can be understood that, since the Fabric message header is added to the first network entry message according to the virtual destination line, compared with the prior art, the overlay ARP (Address Resolution Protocol) pointer and the underlying ARP pointer do not need to be carried in the Fabric message header, thereby reducing the amount of data carried in the Fabric message header.

[0082] In step S22, the second network entry message is forwarded through the Fabric interface.

[0083] In this embodiment, the line card chip can forward the second network entry message to the Fabric chip through the Fabric interface, so that the Fabric chip forwards the second network entry message to other line card chips for processing according to the Fabric message header of the second network entry message.

[0084] The message forwarding method provided by the embodiment of the application can be used to acquire the virtual destination line, the overlay ARP pointer and the physical egress of the first network entry message when the line card chip receives the first network entry message through any network interface, update the inner layer parameters of the first network entry message according to the virtual destination line and the overlay ARP pointer when the physical egress represents that the egress of the first network entry message is a remote chip, add the Fabric message header to the first network entry message according to the virtual destination line to obtain the second network entry message, and then forward the second network entry message through the Fabric interface. Through this method, the corresponding Fabric message header can be generated according to the virtual destination line only, thereby reducing the number of parameters carried in the Fabric message header, reducing the Fabric bandwidth occupied by the message, and reducing the difficulty of global maintenance and management.

[0085] Next, a possible implementation manner for acquiring the virtual destination line, the overlay ARP pointer and the physical egress of the first network entry message according to the routing parameters of the first network entry message is provided.

[0086] Specifically, the line card chip can acquire the virtual network parameters of the first network entry message according to the interface table when the first network entry message is received through any network interface, and then acquire the virtual destination line, the overlay ARP pointer and the physical egress of the first network entry message according to the routing parameters and the virtual network parameters of the first network entry message.

[0087] Optionally, the line card chip can perform table lookup according to the port information and the VLAN (Virtual Local Area Network) information of the first network entry message, thereby obtaining the virtual network parameters of the first network entry message.

[0088] Optionally, the interface table refers to a configuration table associated with a VTEP, which includes configuration information and parameters of the interface.

[0089] In a possible implementation, the virtual network parameters may include a VSI ID (Virtual Switching Instance ID) and a VRFID (Virtual Routing and Forwarding ID).

[0090] Optionally, the routing parameter may include a MAC address and an IP address.

[0091] In one possible implementation, the MAC address may include MACDA and MACSA, where MACDA refers to the destination MAC address, which is the MAC address used by the network device in the destination address field of the Ethernet frame to specify the recipient of the data frame; MACSA refers to the source MAC address, which is the MAC address used by the network device in the source address field of the Ethernet frame to identify the sender of the data frame.

[0092] In one possible implementation, an IP address may include IPDA and IPSA, where IPDA refers to the destination IP address, which is the IP address in an IP datagram used to specify the final destination of the datagram; IPSA refers to the source IP address, which is the IP address in an IP datagram used to identify the sender of the datagram.

[0093] Next, a possible implementation method is provided for obtaining the virtual destination line, overlay ARP pointer, and physical egress of the first network ingress message based on the routing parameters and virtual network parameters of the first network ingress message. In this embodiment, the line card chip can first obtain next-hop information based on the routing parameters and virtual network parameters of the first network ingress message, and then determine whether the next hop of the first network ingress message is an overlay tunnel for ECMP based on the next-hop information.

[0094] Optionally, considering that different network messages may belong to different networks and thus the ways of determining their next hops may also be different, the line card chip may first determine the network to which the first network entry message belongs.

[0095] In this embodiment, the line card chip can determine the network to which the first network entry message belongs based on the MAC address of the first network entry message.

[0096] Optionally, if the network to which the first network entry message belongs is a Layer 2 network, the MAC table can be searched through the MAC DA and the VSI ID of the first network entry message, so as to obtain the next hop information of the first network entry message.

[0097] Optionally, if the network to which the first network entry message belongs is a Layer 3 network, the routing table can be searched through the IP DA and the VRF ID of the first network entry message, so as to obtain the next hop information of the first network entry message.

[0098] Optionally, if the ECMP information is included in the next hop information, it can be determined whether the next hop of the first network entry message is an Overlay tunnel for ECMP.

[0099] It should be noted that the "Overlay tunnel for ECMP" refers to using the ECMP (Equal-Cost Multi-Path) technology in the Overlay Network to process the traffic of the VXLAN tunnel.

[0100] In this embodiment, if the next hop is an Overlay tunnel for ECMP, the line card chip can determine a first target ECMP member from a first ECMP group table according to a first hash value of the first network entry message, determine the Overlay tunnel of the first network entry message according to the first target ECMP member, and obtain the virtual destination line, the Overlay ARP pointer and the first lower-level table of the first network entry message according to the Overlay tunnel.

[0101] Optionally, the first hash value can be calculated according to the five-tuple information of the first network entry message through a first hash value algorithm.

[0102] Optionally, the first hash value algorithm can be selected according to the actual application, and the present application does not make too many limitations on this.

[0103] Optionally, the first ECMP group table refers to the ECMP group table corresponding to the Overlay network.

[0104] In this embodiment, the first target ECMP member carries an Overlay tunnel index, so the line card chip can determine the Overlay tunnel of the first network entry message according to the Overlay tunnel index, so as to obtain the virtual destination line, the Overlay ARP pointer and the first lower-level table of the first network entry message according to the Overlay tunnel.

[0105] Optionally, the first lower-level table refers to a table entry in the network device for determining the next hop forwarding position of the data packet.

[0106] In this embodiment, if the next hop is not an Overlay tunnel for ECMP, the line card chip can obtain the Overlay tunnel of the first network entry message based on the next hop information, and obtain the virtual destination line and overlay layer ARP pointer of the first network entry message and the first subordinate table based on the Overlay tunnel.

[0107] As can be understood, if the next hop is not an overlay tunnel for ECMP, the next hop information will include the tunnel index of the first network entry message. The line card chip can then obtain the overlay tunnel of the first network entry message based on the tunnel index, and thus obtain the virtual destination line, overlay ARP pointer, and first subordinate table of the first network entry message based on the overlay tunnel. Optionally, after performing overlay routing processing, underlay routing processing is also required.

[0108] Specifically, the line card chip can determine whether the next hop is UnderLay for ECMP according to the first lower-level table.

[0109] Optionally, if the first lower-level table includes ECMP information, the next hop may be determined to be UnderLay for ECMP.

[0110] It should be noted that the above-mentioned "underlay ECMP" refers to the implementation of the ECMP (Equal-Cost Multi-Path) routing strategy on the underlying transport network (underlay network) of VXLAN.

[0111] In this embodiment, if the next hop is UnderLay for ECMP, the line card chip can determine the second target ECMP member from the second ECMP group table based on the second hash value of the first network entry message, determine the Underlay path of the first network entry message based on the second target ECMP member, and obtain the physical exit of the first network entry message based on the Underlay path of the first network entry message.

[0112] Optionally, the second hash value may be calculated using a second hash value algorithm according to the five-tuple information of the first network entry message.

[0113] Optionally, the second hash value algorithm can be selected according to actual application conditions, and this application does not impose too many restrictions on this.

[0114] Optionally, the second Hash value algorithm and the first Hash value algorithm may be the same as or different from each other, and may be selected based on actual application conditions.

[0115] Optionally, the second ECMP group table refers to an ECMP group table corresponding to the Underlay network.

[0116] In this embodiment, the second target ECMP member carries an Underlay path index, so the line card chip can determine the Underlay path of the first network ingress message according to the Underlay path index, and thereby obtain the physical egress of the first network ingress message according to the Underlay path.

[0117] In this embodiment, if the next hop is not Underlay for ECMP, the Underlay path of the first network entry message is obtained according to the first lower-level table, and the physical exit of the first network entry message is obtained according to the Underlay path of the first network entry message.

[0118] It can be understood that if the next hop is not UnderLay for ECMP, the first subordinate table will contain the path index of the first network entry message, and the line card chip can obtain the Underlay path of the first network entry message according to the path index, and thus obtain the physical exit of the first network entry message according to the Underlay path.

[0119] Optionally, not only the physical exit of the first network entry message can be obtained through the Underlay path, but also the underlying ARP pointer (underArpPtr) of the first network entry message can be obtained.

[0120] Based on this, the line card chip can determine whether the exit of the first network message is a remote chip according to the physical exit, and update the inner layer parameters of the first network message when the exit of the first network inlet message is a remote chip.

[0121] Optionally, the inner layer parameter may be an inner layer L2 parameter, namely, including an inner layer VLAN parameter and an inner layer MAC parameter.

[0122] Next, a possible implementation method is provided for updating the inner parameters of the first network entry message according to the virtual destination line and the overlay ARP pointer.

[0123] Specifically, the line card chip may update the inner VLAN parameters of the first network entry message according to the virtual destination line, and update the inner MAC parameters of the first network entry message according to the overlay ARP pointer.

[0124] Optionally, the virtual destination line carries new VLAN parameters, and the line card chip may update the inner VLAN parameters according to the new VLAN parameters.

[0125] Optionally, the line card chip may obtain new MAC parameters according to the overlay ARP pointer, and update the inner MAC parameters according to the new MAC parameters.

[0126] It is understandable that this may involve updating MACDA and / or MACSA.

[0127] Optionally, considering that the physical exit represents that the exit of the first network entry message is not a remote message, the line card chip also needs to obtain the underlying ARP pointer of the first network entry message, so as to process the message according to the underlying ARP pointer and send it out.

[0128] On this basis, if the physical exit indicates that the exit of the first network ingress message is not a remote chip, the line card chip needs to process the first network ingress message, thereby forwarding the first network ingress message through the exit of the chip.

[0129] In one possible implementation, the network interface can update the inner parameters of the first network entry message according to the virtual destination line and the overlay ARP pointer when the physical exit indicates that the exit of the first network entry message is not a remote chip, and add outer header information to the first network entry message according to the underlying ARP pointer and the virtual destination line to obtain a third network entry message, and forward the third network entry message according to the physical exit.

[0130] It can be understood that the inner parameters include inner VLAN parameters and inner MAC parameters.

[0131] In this embodiment, the line card chip may also receive a network egress message sent by the fabric chip.

[0132] Optionally, the network egress message refers to a network message to be sent from the message forwarding architecture.

[0133] In this embodiment, when the line card chip receives the first network exit message through the Fabric interface, it can process the first network exit message according to the Fabric message header of the first network exit message to obtain the second network exit message; and forward the second network exit message through the network interface.

[0134] It can be understood that after the Fabric chip receives the second network ingress message sent by the other line card chip, the first network egress message is sent to the line card chip through the Fabric interface according to the Fabric message header of the second network ingress message.

[0135] In this embodiment, the line card chip may process the first network egress message according to the Fabric message header, thereby forwarding the message through the corresponding network interface.

[0136] Next, a possible implementation method is provided for how to process the first network egress message according to the Fabric message header of the first network egress message to obtain the second network egress message.

[0137] Specifically, the line card chip can obtain the virtual destination line of the first network exit message based on the Fabric message header in the first network exit message, and obtain the underlying ARP pointer of the first network exit message based on the virtual destination line of the first network exit message, thereby adding outer header information to the first network exit message based on the underlying ARP pointer of the first network exit message and the virtual destination line to obtain the second network exit message.

[0138] Optionally, since the virtual destination line includes an index of a lower-level table, the line card chip can perform underlay routing processing on the first network egress message through the virtual destination line, thereby obtaining an underlay ARP pointer of the first network egress message.

[0139] In a possible implementation, the line card chip may obtain the second lower-level table according to the virtual destination line of the first network egress message, and determine whether the next hop is UnderLay for ECMP according to the second lower-level table.

[0140] Optionally, the second subordinate table refers to a table entry in the network device used to determine the next hop forwarding position of the data packet.

[0141] Optionally, if the second lower-level table includes ECMP information, the next hop may be determined to be UnderLay for ECMP.

[0142] In this embodiment, if the next hop is UnderLay for ECMP, the line card chip can determine the third target ECMP member from the third ECMP group table based on the third hash value of the first network exit message, determine the Underlay path of the first network exit message based on the third target ECMP member, and obtain the underlying ARP pointer of the first network exit message based on the Underlay path of the first network exit message.

[0143] Optionally, the third hash value can be calculated using a third hash value algorithm based on the quintuple information of the first network egress message.

[0144] Optionally, the third hash value algorithm can be selected according to actual application conditions, and this application does not impose too many restrictions on this.

[0145] Optionally, the third Hash value algorithm may be the same as or different from the first Hash value algorithm and the second Hash value algorithm, and may be selected based on actual application conditions.

[0146] Optionally, the third ECMP group table refers to an ECMP group table corresponding to the Underlay network.

[0147] In this embodiment, the third target ECMP member carries an Underlay path index, so the line card chip can determine the Underlay path of the first network egress message according to the Underlay path index, and thereby obtain the underlying ARP pointer of the first network egress message according to the Underlay path.

[0148] In this embodiment, if the next hop is not UnderLay for ECMP, the Underlay path of the first network egress message is obtained according to the second lower-level table, and the underlying ARP pointer of the first network egress message is obtained according to the Underlay path of the first network egress message.

[0149] It can be understood that if the next hop is not UnderLay for ECMP, the second subordinate table will contain the path index of the first network exit message, and the line card chip can obtain the Underlay path of the first network exit message according to the path index, and thus obtain the underlying ARP pointer of the first network exit message according to the Underlay path.

[0150] Optionally, the outer header information may include tunnel outer header information and VXLAN outer header information.

[0151] In one possible implementation, the tunnel outer header information may include NewVLAN and NewMACDA / SA. NewVLAN refers to the new VLAN tag added to the VXLAN packet during the encapsulation process; NewMACDA refers to the new destination MAC address, which is typically the MAC address of the next-hop VTEP in the outer Ethernet frame of the encapsulated VXLAN packet; and NewMACSA refers to the new source MAC address. When encapsulating a VXLAN packet, the source MAC address of the outer Ethernet frame is typically set to the MAC address of the VTEP that encapsulated the VXLAN packet.

[0152] In one possible implementation, the VXLAN outer header information may include NewIpHdr, NewUdpHdr, and NewVxlanHdr.

[0153] Among them, NewIpHdr refers to the outer IP header added during the encapsulation process, which contains the source IP address and destination IP address, corresponding to the IP address of the source VTEP and the IP address of the remote VTEP that encapsulates the VXLAN message respectively; NewUdpHdr refers to the outer UDP header added during the encapsulation process; NewVxlanHdr refers to the VXLAN header added during the encapsulation process.

[0154] Based on this, a possible implementation method is provided below for how to add outer header information to the first network egress message according to the underlying ARP pointer and the virtual destination line of the first network egress message.

[0155] Specifically, the line card chip can add tunnel outer header information to the first network exit message based on the underlying ARP pointer of the first network exit message, and obtain the VxLAN tunnel header editing table corresponding to the first network exit message based on the virtual destination line of the first network exit message, and add Vxlan outer header information to the first network exit message according to the VxLAN tunnel header editing table.

[0156] Optionally, the virtual destination line includes an editing table index, and the line card chip can obtain the VxLAN tunnel header editing table according to the editing table index, thereby obtaining the Vxlan outer header information from the VxLAN tunnel header editing table.

[0157] Optionally, the line card chip may obtain tunnel outer header information according to the underlying ARP pointer.

[0158] In order to execute the corresponding steps in the above embodiments and various possible methods, a method for implementing a message forwarding device is given below. Figure 4 , Figure 4 This is a functional block diagram of a message forwarding device provided in an embodiment of the present application. It should be noted that the basic principles and technical effects of the message forwarding device provided in this embodiment are the same as those of the aforementioned embodiments. For the sake of brevity, any details not mentioned in this embodiment are referenced to the corresponding content in the aforementioned embodiments. The message forwarding device includes: an acquisition module 200, a processing module 210, and a forwarding module 220.

[0159] The acquisition module 200 is configured to, upon receiving a first network entry message through any network interface, acquire the virtual destination line, overlay ARP pointer, and physical egress of the first network entry message based on the routing parameters of the first network entry message. It is understood that the acquisition module 200 may also be configured to execute step S20 above.

[0160] The processing module 210 is used to update the inner layer parameters of the first network entry message according to the virtual destination line and the overlay layer ARP pointer when the physical exit indicates that the exit of the first network entry message is a remote chip, and add a fabric message header to the first network entry message according to the virtual destination line to obtain a second network entry message.

[0161] It is understandable that the processing module 210 can also be used to execute the above step S21.

[0162] The forwarding module 220 is configured to forward the second network ingress message through the Fabric interface.

[0163] It is understandable that the forwarding module 220 can also be used to execute the above step S22.

[0164] Optionally, the acquisition module 200 is further used to acquire the virtual network parameters of the first network entry message according to the interface table; and to acquire the virtual destination line, overlay ARP pointer and physical exit of the first network entry message according to the routing parameters and virtual network parameters of the first network entry message. Optionally, the acquisition module 200 is further used to acquire the next hop information according to the routing parameters and virtual network parameters of the first network entry message, and to determine whether the next hop of the first network entry message is an Overlay tunnel for ECMP according to the next hop information; if the next hop is an Overlay tunnel for ECMP, then determine the first target ECMP member from the first ECMP group table according to the first hash value of the first network entry message, determine the Overlay tunnel of the first network entry message according to the first target ECMP member, and acquire the virtual destination line, overlay ARP pointer and first subordinate table of the first network entry message according to the Overlay tunnel; if the next hop is not an Overlay tunnel for ECMP, then acquire the Overlay tunnel of the first network entry message according to the next hop information, and determine the Overlay tunnel of the first network entry message according to the Overlay tunnel. The y tunnel obtains the virtual destination line and overlay ARP pointer of the first network entry message and the first subordinate table; determines whether the next hop is UnderLay for ECMP according to the first subordinate table; if the next hop is UnderLay for ECMP, determines the second target ECMP member from the second ECMP group table according to the second hash value of the first network entry message, determines the Underlay path of the first network entry message according to the second target ECMP member, and obtains the physical exit of the first network entry message according to the Underlay path of the first network entry message; if the next hop is not UnderLay for ECMP, obtains the Underlay path of the first network entry message according to the first subordinate table, and obtains the physical exit of the first network entry message according to the Underlay path of the first network entry message.

[0165] Optionally, the processing module 210 is further configured to update inner VLAN parameters of the first network entry message according to the virtual destination line; and update inner MAC parameters of the first network entry message according to the overlay ARP pointer.

[0166] Optionally, the acquisition module 200 is further configured to acquire an underlying ARP pointer of the first network entry message.

[0167] Optionally, the processing module 210 is also used to update the inner parameters of the first network entry message according to the virtual destination line and the overlay ARP pointer when the physical exit represents that the exit of the first network entry message is not a remote chip, and add outer header information to the first network entry message according to the underlying ARP pointer and the virtual destination line to obtain a third network entry message, and forward the third network entry message according to the physical exit.

[0168] Optionally, the processing module 210 is further configured to, when receiving a first network exit message through a Fabric interface, process the first network exit message according to the Fabric message header of the first network exit message to obtain a second network exit message; and forward the second network exit message through the network interface.

[0169] Optionally, the processing module 210 is also used to obtain the virtual destination line of the first network exit message based on the Fabric message header in the first network exit message, and obtain the underlying ARP pointer of the first network exit message based on the virtual destination line of the first network exit message; add outer header information to the first network exit message based on the underlying ARP pointer of the first network exit message and the virtual destination line to obtain the second network exit message.

[0170] Optionally, the processing module 210 is also used to obtain a second subordinate table according to the virtual destination line of the first network export message, and determine whether the next hop is UnderLay for ECMP according to the second subordinate table; if the next hop is UnderLay for ECMP, then determine the third target ECMP member from the third ECMP group table according to the third hash value of the first network export message, determine the Underlay path of the first network export message according to the third target ECMP member, and obtain the underlying ARP pointer of the first network export message according to the Underlay path of the first network export message; if the next hop is not UnderLay for ECMP, then obtain the Underlay path of the first network export message according to the second subordinate table, and obtain the underlying ARP pointer of the first network export message according to the Underlay path of the first network export message.

[0171] Optionally, the processing module 210 is also used to add tunnel outer header information to the first network exit message according to the underlying ARP pointer of the first network exit message; obtain the VxLAN tunnel header editing table corresponding to the first network exit message according to the virtual destination line of the first network exit message, and add Vxlan outer header information to the first network exit message according to the VxLAN tunnel header editing table.

[0172] Optionally, the above modules can be stored in the form of software or firmware. Figure 2 The memory shown in FIG. 1 or the operating system (OS) of the line card chip can be fixed and can be used by Figure 2 Meanwhile, the data and program codes required to execute the above modules may be stored in the memory.

[0173] The present application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, can implement the message forwarding method provided in the present application. In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions, and operations of the apparatuses, methods, and computer program products according to the various embodiments of the present application.

[0174] In this regard, each box in the flow chart or block diagram can represent a part of a module, program segment or code, and a part of a module, program segment or code comprises one or more executable instructions for realizing the logical function of the provision. It should also be noted that in some alternative implementations, the function annotated in the box can also occur in a sequence different from that annotated in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the function involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the function or action of the provision, or can be implemented with a combination of dedicated hardware and computer instructions.

[0175] In addition, the functional modules in each embodiment of the present application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0176] If the function is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0177] The above description is merely a preferred embodiment of the present application and is not intended to limit the present application. Various modifications and variations are possible for those skilled in the art. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present application shall be included within the scope of protection of the present application.

Claims

1. A message forwarding method, characterized in that: Applied to a line card chip, the line card chip includes multiple network interfaces and at least one fabric interface, and the method includes: When a first network entry message is received through any of the network interfaces, obtaining a virtual destination line, an overlay ARP pointer, and a physical egress of the first network entry message according to routing parameters of the first network entry message; When the physical egress indicates that the egress of the first network entry message is a remote chip, inner layer parameters of the first network entry message are updated according to the virtual destination line and the overlay ARP pointer, and a fabric message header is added to the first network entry message according to the virtual destination line to obtain a second network entry message; The second network entry message is forwarded through the Fabric interface.

2. The method according to claim 1, characterized in that The acquiring, according to the routing parameters of the first network entry message, the virtual destination line, the overlay ARP pointer, and the physical egress of the first network entry message includes: Obtaining virtual network parameters of the first network entry message according to the interface table; According to the routing parameters of the first network entry message and the virtual network parameters, a virtual destination line, an overlay layer ARP pointer, and a physical egress of the first network entry message are obtained.

3. The method according to claim 2, characterized in that The acquiring, according to the routing parameters of the first network entry message and the virtual network parameters, the virtual destination line, the overlay layer ARP pointer, and the physical egress of the first network entry message comprises: Acquire next hop information according to the routing parameters of the first network entry message and the virtual network parameters, and determine whether the next hop of the first network entry message is an overlay tunnel for ECMP according to the next hop information; If the next hop is an overlay tunnel for ECMP, determine the first target ECMP member from the first ECMP group table according to the first hash value of the first network entry message, determine the overlay tunnel of the first network entry message according to the first target ECMP member, and obtain the virtual destination line, overlay ARP pointer, and first subordinate table of the first network entry message according to the overlay tunnel; If the next hop is not an overlay tunnel for ECMP, then obtain the overlay tunnel of the first network entry message according to the next hop information, and obtain the virtual destination line and overlay ARP pointer of the first network entry message and the first subordinate table according to the overlay tunnel; Determine whether the next hop is UnderLay for ECMP according to the first lower-level table; If the next hop is Underlay ECMP, determine the second target ECMP member from the second ECMP group table according to the second hash value of the first network ingress message, determine the Underlay path of the first network ingress message according to the second target ECMP member, and obtain the physical egress of the first network ingress message according to the Underlay path of the first network ingress message; If the next hop is not UnderLay for ECMP, the Underlay path of the first network entry message is obtained according to the first subordinate table, and the physical exit of the first network entry message is obtained according to the Underlay path of the first network entry message.

4. The method according to claim 1, wherein The inner layer parameters include inner layer VLAN parameters and inner layer MAC parameters; The updating of the inner parameters of the first network entry message according to the virtual destination line and the overlay ARP pointer includes: updating the inner VLAN parameters of the first network entry message according to the virtual destination line; The inner MAC parameters of the first network entry message are updated according to the overlay ARP pointer.

5. The method according to claim 1, wherein The method further comprises: Obtaining the underlying ARP pointer of the first network entry message; When the physical exit indicates that the exit of the first network entry message is not a remote chip, the inner layer parameters of the first network entry message are updated according to the virtual destination line and the overlay layer ARP pointer, and outer layer header information is added to the first network entry message according to the underlying ARP pointer and the virtual destination line to obtain a third network entry message, and the third network entry message is forwarded according to the physical exit.

6. The method according to claim 1, characterized in that The method further comprises: When a first network egress message is received through the Fabric interface, the first network egress message is processed according to the Fabric message header of the first network egress message to obtain a second network egress message; The second network egress message is forwarded through the network interface.

7. The method according to claim 6, characterized in that The processing of the first network egress message according to the Fabric message header of the first network egress message to obtain the second network egress message includes: Obtaining a virtual destination line of the first network egress message according to a Fabric message header in the first network egress message, and obtaining an underlying ARP pointer of the first network egress message according to the virtual destination line of the first network egress message; Outer header information is added to the first network egress message according to the bottom layer ARP pointer and the virtual destination line of the first network egress message to obtain a second network egress message.

8. The method according to claim 7, characterized in that The obtaining, according to the virtual destination line of the first network egress message, the underlying ARP pointer of the first network egress message includes: Obtain a second lower-level table according to the virtual destination line of the first network egress message, and determine whether the next hop is UnderLay for ECMP according to the second lower-level table; If the next hop is Underlay ECMP, determine the third target ECMP member from the third ECMP group table according to the third hash value of the first network egress message, determine the Underlay path of the first network egress message according to the third target ECMP member, and obtain the underlying ARP pointer of the first network egress message according to the Underlay path of the first network egress message; If the next hop is not UnderLay for ECMP, the Underlay path of the first network exit message is obtained according to the second subordinate table, and the underlying ARP pointer of the first network exit message is obtained according to the Underlay path of the first network exit message.

9. The method according to claim 7, characterized in that The outer header information includes tunnel outer header information and VXLAN outer header information; The adding outer header information to the first network egress message according to the bottom layer ARP pointer and the virtual destination line of the first network egress message includes: Adding the tunnel outer header information to the first network egress message according to the bottom layer ARP pointer of the first network egress message; Obtain a VXLAN tunnel header editing table corresponding to the first network exit message according to the virtual destination line of the first network exit message, and add the VXLAN outer header information to the first network exit message according to the VXLAN tunnel header editing table.

10. A message forwarding device, characterized in that: Applied to a line card chip, the line card chip includes multiple network interfaces and at least one fabric interface, and the device includes: an acquisition module, configured to, upon receiving a first network entry message through any of the network interfaces, acquire a virtual destination line, an overlay ARP pointer, and a physical egress of the first network entry message according to routing parameters of the first network entry message; a processing module configured to, when the physical egress indicates that the egress of the first network entry message is a remote chip, update inner layer parameters of the first network entry message according to the virtual destination line and the overlay ARP pointer, and add a fabric message header to the first network entry message according to the virtual destination line to obtain a second network entry message; A forwarding module is used to forward the second network entry message through the Fabric interface.

11. A line card chip, characterized in that: The method comprises a processor, a memory and a communication module, wherein the memory stores a computer program that can be executed by the processor, and the processor can execute the computer program to implement any one of the methods described in claims 1-9.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 9 is implemented.

Citation Information

Patent Citations

  • Message forwarding method and device

    CN104348726A

  • Message isolation method and device

    CN116781453A