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

By updating packets according to routing parameters and adding Fabric message headers in the online card chip, the problem of excessive Fabric message headers is solved, reducing bandwidth usage and management difficulty.

CN119316352AActive Publication Date: 2025-01-14SUZHOU CENTEC COMM CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In the prior art, too much information is carried in the Fabric message header, which causes the message to occupy more Fabric bandwidth and increases the difficulty of global maintenance and management.

Method used

When receiving messages through the online card chip, the virtual destination line and overlay ARP pointer are obtained according to the routing parameters, the inner layer parameters are updated, and the Fabric message header is added only according to the virtual destination line, reducing the number of parameters carried in the Fabric message header .

Benefits of technology

It effectively reduces the usage of packets on Fabric bandwidth and reduces the difficulty of global maintenance and management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119316352A_ABST
    Figure CN119316352A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a message forwarding method and device, a line card chip and a computer readable storage medium, and relates to the technical field of communication. Under the condition that a first network entry message is received through any network interface, obtaining a virtual destination line, a coverage layer ARP pointer and a physical exit of the first network entry message according to the routing parameter of the first network entry message; under the condition that the physical outlet represents that the outlet of the first network entry message is a far-end chip, according to the virtual destination line and a coverage layer ARP pointer, updating inner layer parameters of the first network entry message, and adding a Fabric message header for the first network entry message according to the virtual destination line to obtain a second network entry message; according to the embodiment of the invention, the second network entry message is forwarded through the Fabric interface, so that the number of parameters carried in a Fabric message header can be reduced, the Fabric bandwidth occupied by the message is reduced, and the global maintenance and management difficulty is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] Currently, line card chips include network interfaces and fabric interfaces. Line card chips can receive messages through network interfaces. If the egress of the message is located at 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, in the prior art, the Fabric message header often needs to carry more information, for example, the virtual destination line of the message, the overlay ARP (Address Resolution Protocol) pointer, the bottom ARP pointer and other important information. Therefore, not only does it cause the message to occupy more Fabric bandwidth, but it also makes global maintenance and management more difficult. Summary of the invention

[0004] In view of this, the purpose of the present application is to provide a message forwarding method, device, line card chip and computer-readable storage medium to reduce the Fabric bandwidth occupied by the message and reduce the difficulty of global maintenance and management.

[0005] In order to achieve the above purpose, the technical solution adopted in the embodiment of the present application is as follows:

[0006] In a first aspect, the present application provides a message forwarding method, 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:

[0007] When a first network entry message is received through any of the network interfaces, a virtual destination line, an overlay ARP pointer, and a physical exit of the first network entry message are acquired according to routing parameters of the first network entry message;

[0008] In the case where the physical egress represents 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;

[0009] The second network ingress message is forwarded through the Fabric interface.

[0010] In an optional implementation manner, the 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 includes:

[0011] Acquire the 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 exit of the first network entry message are obtained.

[0013] In an optional implementation manner, acquiring the virtual destination line, overlay ARP pointer, and physical egress of the first network entry message according to the routing parameters of the first network entry message and the virtual network parameters 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, a first target ECMP member is determined from the first ECMP group table according to the first hash value of the first network entry message, an Overlay tunnel of the first network entry message is determined according to the first target ECMP member, and a virtual destination line, an overlay ARP pointer, and a first subordinate table of the first network entry message are obtained according to the Overlay tunnel;

[0016] If the next hop is not an Overlay tunnel for ECMP, the Overlay tunnel of the first network entry message is obtained according to the next hop information, and the virtual destination line and overlay ARP pointer of the first network entry message and the first subordinate table are obtained 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 for ECMP, determine the second target ECMP member from the second ECMP group table according to the second hash value of the first network entry message, determine the Underlay path of the first network entry message according to the second target ECMP member, and obtain the physical exit of the first network entry message according to the Underlay path of the first network entry message;

[0019] If the next hop is not UnderLay for ECMP, the Underlay path of the first network ingress message is obtained according to the first subordinate table, and the physical exit of the first network ingress message is obtained according to the Underlay path of the first network ingress 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 layer ARP pointer includes:

[0022] updating the inner VLAN parameters of the first network entry message according to the virtual destination line;

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

[0024] In an optional embodiment, the method further comprises:

[0025] Obtaining the underlying ARP pointer of the first network entry message;

[0026] In the case where the physical exit represents 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.

[0027] In an optional embodiment, the method further comprises:

[0028] When a first network egress message is received through the Fabric interface, the first network egress message is processed according to a Fabric message header of the first network egress message to obtain a second network egress message;

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

[0030] In an optional implementation manner, the processing 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:

[0031] Acquire a virtual destination line of the first network egress message according to a Fabric message header in the first network egress message, and acquire 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 underlying 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, the acquiring 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 subordinate 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 subordinate table;

[0035] If the next hop is UnderLay for ECMP, 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;

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

[0037] In an optional implementation, 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 of the first network egress message and the virtual destination line 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 acquire, when receiving a first network entry message through any of the network interfaces, a virtual destination line, an overlay ARP pointer, and a physical exit of the first network entry message according to routing parameters of the first network entry message;

[0043] a processing module, configured to update the 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, so as to obtain a second network entry message, when the physical exit represents that the exit of the first network entry message is a remote chip;

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

[0045] In a third aspect, the present application provides a line card chip, including 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, wherein the computer program, when executed by a processor, implements the method described in any of the aforementioned embodiments.

[0047] The message forwarding method, device, line card chip and computer-readable storage medium provided by the embodiment of the present application can obtain the virtual destination line, overlay ARP pointer and physical exit of the first network entry message when the first network entry message is received through any network interface, and update the inner layer parameters of the first network entry message according to the virtual destination line and overlay ARP pointer when the physical exit indicates that the exit of the first network entry message is a remote chip, and then add a Fabric message header to the first network entry message only according to the virtual destination line to obtain the second network entry message, so as to forward 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, so the number of parameters carried in the Fabric message header can be reduced, 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 specifically cited below and described in detail with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. 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 related drawings can be obtained based on these drawings without paying 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 a 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 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. The components of the embodiments of the present application described and shown in the drawings here 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 which protection is sought, 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 creative work are 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 such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.

[0058] Figure 1 A block diagram of the packet forwarding architecture is shown in Figure 1 The message 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, the message may be processed by adding a Fabric message header to the message, and the message with the Fabric message header added thereto may be sent 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 from the chip.

[0066] It should be noted that the remote chip refers to the VXLAN TunnelEndpoint (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 other physical locations.

[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, the processor 110 and the communication module 120 are electrically connected to each other directly or indirectly to achieve data transmission or interaction. For example, these components can be electrically connected to each other through 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, a random access memory (RAM), a read only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable 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 as shown, or with Figure 2Different configurations are 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 the embodiment is used as the execution subject, 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 a message forwarding method provided in an embodiment of the present application is shown in 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, the overlay layer ARP pointer, and the 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, which parameter helps to 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] Step S21, when the physical exit represents that the exit 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 existing technology, the Fabric message header does not need to carry the overlay layer ARP (Address Resolution Protocol) pointer and the underlying ARP pointer, thereby reducing the amount of data carried in the Fabric message header.

[0082] Step S22: forwarding the second network ingress message 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 in the embodiment of the present application is that the line card chip can obtain the virtual destination line, overlay ARP pointer and physical exit of the first network entry message when the first network entry message is received through any network interface, and when the physical exit indicates that the exit 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 overlay ARP pointer, and then only add a Fabric message header to the first network entry message according to the virtual destination line to obtain the second network entry message, so as to forward 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, so the number of parameters carried in the Fabric message header can be reduced, thereby reducing the Fabric bandwidth occupied by the message and reducing the difficulty of global maintenance and management.

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

[0086] Specifically, when the line card chip receives the first network entry message through any network interface, it can obtain the virtual network parameters of the first network entry message according to the interface table, and thus obtain the virtual destination line, overlay layer 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.

[0087] Optionally, the line card chip may perform a table lookup according to the port information and 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 the VTEP, which includes configuration information and parameters of the interface.

[0089] In a possible implementation, the virtual network parameter 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, the IP address may include IPDA and IPSA, where IPDA refers to the destination IP address, which is the IP address in the IP datagram used to specify the final destination of the datagram; IPSA refers to the source IP address, which is the IP address in the IP datagram used to identify the sender of the datagram.

[0093] Next, a possible implementation method is provided for how to obtain 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. In this embodiment, the line card chip can first obtain the next hop information according to the routing parameters and virtual network parameters of the first network entry message, and determine whether the next hop of the first network entry message is an overlay tunnel for ECMP according to 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 according to 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 may be searched through the MACDA and VSI ID of the first network entry message 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 may be searched through the IPDA and VRFID of the first network entry message to obtain the next hop information of the first network entry message.

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

[0099] It should be noted that the above-mentioned "Overlay tunnel doing ECMP" refers to using 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 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.

[0101] Optionally, the first Hash value may be calculated by a first Hash value algorithm according to quintuple information of the first network entry message.

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

[0103] Optionally, the first ECMP group table refers to an 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, and thereby obtain the virtual destination line, overlay layer ARP pointer and first subordinate table of the first network entry message according to the Overlay tunnel.

[0105] Optionally, the first subordinate table refers to a table entry in a network device used to determine a next-hop forwarding position of a 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 according to 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 according to the Overlay tunnel.

[0107] It is understandable that 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, and the line card chip can obtain the Overlay tunnel of the first network entry message according to the tunnel index, thereby obtaining the virtual destination line, overlay ARP pointer and first subordinate table of the first network entry message according to the Overlay tunnel. Optionally, after the overlay routing processing is performed, the 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, it can be determined that the next hop is 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 according to the second hash value of the first network entry message, determine the Underlay path of the first network entry message according to the second target ECMP member, and obtain the physical exit of the first network entry message according to the Underlay path of the first network entry message.

[0112] Optionally, the second hash value may be calculated by a second hash value algorithm according to the quintuple 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 according to 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, thereby obtaining 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 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.

[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, thereby obtaining 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 layer parameters of the first network entry message according to the virtual destination line and the overlay layer 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 layer ARP pointer, and update the inner layer 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 entry message is not a remote chip, the line card chip needs to process the first network entry message, so as to forward the first network entry message through the exit of this 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 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.

[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 out from the message forwarding architecture.

[0133] In this embodiment, when the line card chip receives the first network egress message through the Fabric interface, it can 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; and forward the second network egress message through the network interface.

[0134] It can be understood that after the Fabric chip receives the second network ingress message sent by other line card chips, 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 thereof, so as to forward it 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 export message according to the Fabric message header in the first network export message, and obtain the underlying ARP pointer of the first network export message according to the virtual destination line of the first network export message, thereby adding outer header information to the first network export message according to the underlying ARP pointer of the first network export message and the virtual destination line to obtain the second network export message.

[0138] Optionally, since the virtual destination line includes an index of a lower-level table, the line card chip can perform underlying (UnderLay) routing processing on the first network egress message through the virtual destination line, thereby obtaining an underlying 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 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.

[0143] Optionally, the third Hash value may be calculated by a third Hash value algorithm according to 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 and the first Hash value algorithm and the second Hash value algorithm may be the same as or different from each other, and may be selected according to 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, thereby obtaining 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 subordinate table, and the bottom layer 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 export message, and the line card chip can obtain the Underlay path of the first network export message according to the path index, thereby obtaining the underlying ARP pointer of the first network export 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 outer header information of the tunnel may include NewVLAN and NewMACDA / SA. Among them, NewVLAN refers to the new VLAN tag added to the VXLAN message during the encapsulation process; NewMACDA refers to the new destination MAC address. The destination MAC address of the outer Ethernet frame of the encapsulated VXLAN message is usually the MAC address of the next-hop VTEP; NewMACSA refers to the new source MAC address. When encapsulating a VXLAN message, the source MAC address of the outer Ethernet frame is usually set to the MAC address of the VTEP that encapsulates the VXLAN message.

[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 the destination IP address, which correspond 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 of the first network egress message and the virtual destination line.

[0155] Specifically, the line card chip can add tunnel outer header information to the first network export message according to the underlying ARP pointer of the first network export message, and obtain the VxLAN tunnel header editing table corresponding to the first network export message according to the virtual destination line of the first network export message, and add Vxlan outer header information to the first network export 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 the tunnel outer header information according to the bottom layer 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 provided below. Figure 4 , Figure 4 A functional module diagram of a message forwarding device provided in an embodiment of the present application. It should be noted that the basic principle and technical effects of the message forwarding device provided in this embodiment are the same as those of the above-mentioned embodiments. For the sake of brief description, for parts not mentioned in this embodiment, reference can be made to the corresponding contents in the above-mentioned 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 used to acquire the virtual destination line, overlay ARP pointer and physical exit of the first network entry message according to the routing parameters of the first network entry message when the first network entry message is received through any network interface. It can be understood that the acquisition module 200 can also be used to execute the above step S20.

[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 represents 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 can be understood that the processing module 210 can also be used to execute the above step S21.

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

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

[0164] Optionally, the acquisition module 200 is also 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 also 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 the inner VLAN parameter of the first network entry message according to the virtual destination line; and update the inner MAC parameter 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 used to, when receiving a first network export message through a Fabric interface, process the first network export message according to a Fabric message header of the first network export message to obtain a second network export message; and forward the second network export message through the network interface.

[0169] Optionally, the processing module 210 is also used to obtain the virtual destination line of the first network export message according to the Fabric message header in the first network export message, and obtain the underlying ARP pointer of the first network export message according to the virtual destination line of the first network export message; add outer header information to the first network export message according to the underlying ARP pointer of the first network export message and the virtual destination line to obtain the second network export 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, 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, 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 the figure may be fixed in the operating system (OS) of the line card chip and may be Figure 2 Meanwhile, the data and program codes required for executing the above modules can be stored in the memory.

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

[0174] In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of code, and a module, a program segment or a part of code includes one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions 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 specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.

[0175] In addition, the functional modules in the various embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may 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 can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.

[0177] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope 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, the method includes: When a first network entry message is received through any of the network interfaces, a virtual destination line, an overlay ARP pointer, and a physical exit of the first network entry message are acquired according to routing parameters of the first network entry message; In the case where the physical egress represents 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; The second network ingress 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 layer ARP pointer, and the physical exit of the first network entry message comprises: Acquire the 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 exit 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 exit 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, a first target ECMP member is determined from the first ECMP group table according to the first hash value of the first network entry message, an Overlay tunnel of the first network entry message is determined according to the first target ECMP member, and a virtual destination line, an overlay ARP pointer, and a first subordinate table of the first network entry message are obtained according to the Overlay tunnel; If the next hop is not an Overlay tunnel for ECMP, the Overlay tunnel of the first network entry message is obtained according to the next hop information, and the virtual destination line and overlay ARP pointer of the first network entry message and the first subordinate table are obtained 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 for ECMP, determine the second target ECMP member from the second ECMP group table according to the second hash value of the first network entry message, determine the Underlay path of the first network entry message according to the second target ECMP member, and obtain 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, the Underlay path of the first network ingress message is obtained according to the first subordinate table, and the physical exit of the first network ingress message is obtained according to the Underlay path of the first network ingress message.

4. The method according to claim 1, characterized in that: The inner layer parameters include inner layer VLAN parameters and inner layer MAC parameters; The updating of the inner layer parameters of the first network entry message according to the virtual destination line and the overlay layer 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, characterized in that: The method further comprises: Obtaining the underlying ARP pointer of the first network entry message; In the case where the physical exit represents 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 a 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: Acquire a virtual destination line of the first network egress message according to a Fabric message header in the first network egress message, and acquire 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 underlying 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 the bottom layer ARP pointer of the first network egress message according to the virtual destination line of the first network egress message includes: Obtain a second subordinate 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 subordinate table; If the next hop is UnderLay for ECMP, 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, the Underlay path of the first network export message is obtained according to the second subordinate table, and the underlying ARP pointer of the first network export message is obtained according to the Underlay path of the first network export 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 of the first network egress message and the virtual destination line 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 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.

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 acquire, when receiving a first network entry message through any of the network interfaces, a virtual destination line, an overlay ARP pointer, and a physical exit of the first network entry message according to routing parameters of the first network entry message; a processing module, configured to update the 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, so as to obtain a second network entry message, when the physical exit represents that the exit of the first network entry message is a remote chip; A forwarding module is used to forward the second network ingress 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 executable 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

  • Communication system, communication method and cable fastener plate based on PCIE switching network

    CN101277196A

  • Message forwarding method and device

    CN104348726A

  • Message processing method, gateway equipment and storage system

    CN116566933A

  • Message isolation method and device

    CN116781453A

  • Multi-path id routing in a pcie express fabric environment

    US20140237156A1