Two-dimensional fib hash storage method on white-box router and related device

By performing packet matching and reconstruction in white-box routers and combining it with the NDP label synchronization mechanism, the two-dimensional FIB storage pressure problem is solved, efficient routing lookup and data forwarding are achieved, and the storage burden and table lookup speed are reduced.

CN119341985BActive Publication Date: 2025-10-10STATE GRID INFORMATION & TELECOMM BRANCH +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411272120.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-11
Publication Date
2025-10-10
Estimated Expiration
2044-09-11

AI Technical Summary

Technical Problem

The FIB table capacity in distributed white-box routers is limited. Deploying two-dimensional routing on low-cost white-box routers will increase the storage burden.

Method used

The routing entry is obtained by matching on the ingress service card, the data packet is reconstructed based on the label identifier, and the media access control address is obtained by parsing through the egress service card. The NDP label synchronization mechanism is used to carry the table lookup result to realize the hash storage of the two-dimensional FIB.

Benefits of technology

It reduces storage pressure, improves table lookup speed, reduces data packet header space, and reduces forwarding pressure and development costs of service cards.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119341985B_ABST
    Figure CN119341985B_ABST
Patent Text Reader

Abstract

The present disclosure provides a two-dimensional FIB hash storage method on a white box router and related devices, including: sending a data packet to an ingress service card, matching the data packet based on the ingress service card to obtain a routing entry, obtaining a label identifier based on the routing entry, reconstructing the data packet based on the label identifier to obtain a reconstructed data packet, sending the reconstructed data packet from the ingress service card to an egress service card, parsing the reconstructed data packet based on the egress service card to obtain a medium access control address, and filling the medium access control address into the egress service card to make the data packet transit out of the white box router. According to the present disclosure, the ingress service card is obtained by performing RPF check on the source prefix of the two-dimensional FIB, and the table entry is distributed on the service card, thereby reducing the storage pressure and improving the table lookup speed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of white box router technology, and in particular to a two-dimensional FIB hash storage method and related devices on a white box router. Background Art

[0002] This section is intended to provide a background or context to the embodiments of the present disclosure that are recited in the claims. No statement herein is admitted to be prior art by virtue of its inclusion in this section.

[0003] In related technologies, a distributed white-box router consists of a single master control card and multiple service cards. The master control card is responsible for routing management, and the service card is responsible for data forwarding. Data is exchanged between service cards through a large-capacity switch. Therefore, a distributed white-box router has the advantages of high performance and low development cost.

[0004] However, in the related art, the FIB table capacity in the distributed white box router is limited. If two-dimensional routing is deployed on a low-cost white box router, the storage burden will be increased. Summary of the Invention

[0005] In view of this, the purpose of the present disclosure is to propose a two-dimensional FIB hash storage method and related device on a white box router, which at least to some extent solves one of the technical problems in the related art.

[0006] Based on the above objectives, a first aspect of an exemplary embodiment of the present disclosure provides a two-dimensional FIB hash storage method on a white box router, which is applied to a server. The method includes:

[0007] Sending a data packet to an ingress service card, matching the data packet based on the ingress service card, and obtaining a routing entry;

[0008] Obtaining a label identifier based on the routing entry, and reconstructing the data packet based on the label identifier to obtain a reconstructed data packet;

[0009] Sending the reconstructed data packet from the ingress service card to the egress service card, parsing the reconstructed data packet based on the egress service card to obtain a media access control address;

[0010] The media access control address is filled into the egress service card so that the data packet can be sent to the white box router.

[0011] Based on the same inventive concept, a second aspect of the exemplary embodiments of the present disclosure provides a two-dimensional FIB hash storage device on a white box router, comprising:

[0012] an entry determination module configured to send a data packet to an ingress service card, match the data packet based on the ingress service card, and obtain a routing entry;

[0013] a data packet reconstruction module, configured to obtain a label identifier based on the routing entry, and reconstruct the data packet based on the label identifier to obtain a reconstructed data packet;

[0014] an address determination module configured to send the reconstructed data packet from the ingress service card to the egress service card, and parse the reconstructed data packet based on the egress service card to obtain a media access control address;

[0015] The data packet forwarding module is configured to fill the media access control address into the egress service card so that the data packet is forwarded in the white box router.

[0016] Based on the same inventive concept, the third aspect of the exemplary embodiment of the present disclosure provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method described in the first aspect is implemented.

[0017] Based on the same inventive concept, a fourth aspect of the exemplary embodiment of the present disclosure provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the method described in the first aspect.

[0018] Based on the same inventive concept, a fifth aspect of the exemplary embodiments of the present disclosure provides a computer program product, including computer program instructions. When the computer program instructions are executed on a computer, the computer is caused to execute the method described in the first aspect.

[0019] As can be seen from the above, the embodiment of the present disclosure provides a two-dimensional FIB hash storage method and related device on a white box router. The method includes: sending a data packet to an ingress business card, matching the data packet based on the ingress business card to obtain a routing entry, obtaining a label identifier based on the routing entry, reconstructing the data packet based on the label identifier to obtain a reconstructed data packet, sending the reconstructed data packet from the ingress business card to the egress business card, parsing the reconstructed data packet based on the egress business card to obtain a media access control address, and filling the media access control address into the egress business card to transfer the data packet out of the white box router. The present disclosure performs an RPF check based on the source prefix of the two-dimensional FIB to obtain the ingress business card, and allocates the table entries on the business card, thereby reducing storage pressure and improving table lookup speed. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the technical solutions in the present disclosure or related technologies, the following briefly introduces the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are only embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0021] Figure 1 A schematic diagram of an application scenario of a two-dimensional FIB hash storage method on a white box router provided by an exemplary embodiment of the present disclosure;

[0022] Figure 2 A flowchart of a two-dimensional FIB hash storage method on a white box router provided by an exemplary embodiment of the present disclosure;

[0023] Figure 3 A schematic diagram of a two-dimensional FIB hash storage method on a white box router provided by an exemplary embodiment of the present disclosure;

[0024] Figure 4 A schematic diagram of the hardware structure of an electronic device provided by an exemplary embodiment of the present disclosure;

[0025] Figure 5 A schematic diagram of the internal structure of a distributed white-box router according to an exemplary embodiment of the present disclosure and a two-dimensional FIB hash storage method on a white-box router;

[0026] Figure 6 A schematic diagram of a data packet format for a two-dimensional FIB hash storage method on a white-box router provided by an exemplary embodiment of the present disclosure;

[0027] Figure 7 A schematic diagram of an NDP-Label message format for a two-dimensional FIB hash storage method on a white-box router provided by an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION

[0028] It is understandable that before using the technical solutions disclosed in the embodiments of this application, the type, scope of use, usage scenarios, etc. of the personal information involved in this application should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0029] For example, in response to receiving a user's active request, a prompt message is sent to the user to clearly inform the user that the operation requested will require the acquisition and use of the user's personal information. Thus, based on the prompt message, the user can independently choose whether to provide personal information to the electronic device, application, server, storage medium, or other software or hardware that performs the operation of the technical solution of this application.

[0030] As an optional but non-limiting implementation, in response to receiving the active request of the user, the manner of sending the prompt information to the user may be, for example, a pop-up window manner, in which the prompt information may be presented in a text manner. In addition, the pop-up window may also carry a selection control for the user to select "agree" or "disagree" to provide the personal information to the electronic device.

[0031] It can be understood that the above notification and user authorization obtaining process is only illustrative and does not limit the implementation of the present application. Other manners meeting the relevant laws and regulations can also be applied to the implementation of the present application.

[0032] It can be understood that the data involved in the technical solution (including but not limited to the data itself, the acquisition or use of the data) should comply with the requirements of the relevant laws and regulations and the relevant provisions.

[0033] In order to make the purpose, technical solutions and advantages of the present disclosure clearer, the principles and spirits of the present disclosure will be described below with reference to several exemplary embodiments. It should be understood that these embodiments are only given to enable those skilled in the art to better understand and implement the present disclosure, and do not limit the scope of the present disclosure in any way. On the contrary, these embodiments are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.

[0034] In this document, it should be understood that any number of elements in the drawings is used for illustration and not limitation, and any naming is only for differentiation and does not have any limiting meaning.

[0035] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the embodiments of the present disclosure should be understood as the usual meaning understood by those skilled in the art to which the present disclosure belongs. The "first", "second" and similar words used in the embodiments of the present disclosure do not represent any order, quantity or importance, but are only used to distinguish different components. "Include" or "contain" and similar words mean that the elements or objects before the word cover the elements or objects listed after the word and their equivalents, without excluding other elements or objects. "Connected" or "connected" and similar words are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to represent relative positional relationships, when the absolute position of the described object changes, the relative positional relationship may also change accordingly. The article "a" or "an" before an element does not exclude the existence of multiple such elements.

[0036] The principles and spirits of the present disclosure will be explained in detail below with reference to several representative embodiments of the present disclosure.

[0037] As described in the background art, in the related art, the FIB table capacity in a distributed white box router is limited. If two-dimensional routing is deployed on a low-cost white box router, the storage burden will be increased.

[0038] Specifically, in the related art, a distributed white-box router includes a single master control card and multiple service cards. The master control card is responsible for routing management, and the service card is responsible for data forwarding. Data is exchanged between service cards through a large-capacity switch. In pursuit of rapid prototyping and accelerated productization, the multi-service card form inside the white-box router usually uses a programmable switch (such as the P4 Programmable Switch). However, since it is not specifically designed for core network router application scenarios, the FIB (Forwarding Information Base) table entry capacity it supports is limited.

[0039] With the increasing demand for QoS (Quality of Service), multipath routing has emerged. Two-dimensional routing, a simple traffic scheduling deployment method recently adopted on core network routers, is a key factor influencing the router's FIB table storage and lookup burden. Therefore, the present invention proposes a two-dimensional FIB hash storage method. This method leverages the unique attribute of the two-dimensional FIB—the source prefix—to perform an RPF (Reverse Path Forwarding) check, obtain the ingress service card for the two-dimensional traffic, and then allocates the two-dimensional FIB only to that service card. This achieves hash storage and benefits such as reduced storage pressure and faster lookup. However, because this method performs two-dimensional table entry matching on the white-box router only at the ingress card, in inter-board forwarding scenarios, the query result must be attached to the message in the form of a short tag so that the egress card can forward the message according to the query result.

[0040] To solve the above problems, the present disclosure provides a two-dimensional FIB hash storage method and related device solutions on a white box router, specifically including:

[0041] The data packet is sent to an ingress service card, the data packet is matched based on the ingress service card, a routing entry is obtained, a label identifier is obtained based on the routing entry, the data packet is reconstructed based on the label identifier, a reconstructed data packet is obtained, the reconstructed data packet is sent from the ingress service card to an egress service card, the reconstructed data packet is parsed based on the egress service card, a medium access control address is obtained, and the medium access control address is filled in the egress service card, so that the data packet is transferred out in the white-box router. The scheme proposes a NDP (Neighbor Discovery Protocol) label synchronization mechanism, which describes and carries the table lookup result by allocating a unique label and announcing NDP extension information. Since the label is small, the mechanism also greatly saves the data packet header space. And through the two-dimensional FIB method of ingress service card hash storage and the label synchronization mechanism based on NDP extension, efficient routing lookup and data forwarding are realized, and the forwarding pressure and development cost of the service card are significantly reduced.

[0042] After introducing the basic principles of the present disclosure, the various non-limiting embodiments of the present disclosure will be specifically introduced below.

[0043] Reference Figure 1 Fig. 1 is a schematic diagram of an application scenario of a two-dimensional FIB hash storage method on a white-box router provided by an exemplary embodiment of the present disclosure.

[0044] In the application scenario, the terminal device 101, the server 102 and the terminal device 103 are included. The terminal device 101, the server 102 and the terminal device 103 can be connected through a wired or wireless communication network to realize data interaction.

[0045] The terminal device 101 and the terminal device 103 can be electronic devices close to the user side with data transmission, multimedia input / output functions, including but not limited to desktop computers, mobile phones, mobile computers, tablet computers, media players, smart wearable devices, personal digital assistants (PDA) or other electronic devices capable of realizing the above functions, etc. The electronic device can include a processor and a display screen with touch input function, the display screen is used to present a graphical user interface, the graphical user interface can display an application interface, the processor is used to process application data, generate a graphical user interface and control the display of the graphical user interface on the display screen.

[0046] The server 102 can be a standalone physical server, a server cluster composed of multiple physical servers, or a distributed system, and can also be a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and basic cloud computing services such as big data and artificial intelligence platforms.

[0047] In some example embodiments, the two-dimensional FIB hash storage method on the white-box router can run on the terminal device 101 or the server 102 and the terminal device 103.

[0048] When the two-dimensional FIB hash storage method on the white-box router runs on the server 102, the server 102 is configured to provide a two-dimensional FIB hash storage service on the white-box router to users of the terminal device 101 and the terminal device 103.

[0049] The terminal device 101 sends a data packet to the server 102.

[0050] The server 102 receives the data packet sent by the terminal device 101, and sends the data packet to an ingress service card. The server 102 matches the data packet based on the ingress service card to obtain a routing entry.

[0051] The server 102 obtains a label identifier based on the routing entry, and reconstructs the data packet based on the label identifier to obtain a reconstructed data packet.

[0052] The server 102 sends the reconstructed data packet from the ingress service card to an egress service card, and analyzes the reconstructed data packet based on the egress service card to obtain a media access control address.

[0053] The server 102 fills the media access control address into the egress service card, so that the data packet is transferred out to the terminal device 103 in the white-box router.

[0054] It should be noted that the above application scenarios are only for the convenience of understanding the spirit and principles of the present disclosure, and the embodiments of the present disclosure are not limited in this respect. On the contrary, the embodiments of the present disclosure can be applied to any applicable scenario.

[0055] Reference Figure 2 A two-dimensional FIB hash storage method on a white-box router is applied to a server, and the method comprises the following steps:

[0056] Step S210: Send the data packet to the ingress service card, match the data packet based on the ingress service card, and obtain a routing entry.

[0057] In specific implementation, the method of sending the data packet to the ingress service card includes:

[0058] As a specific example, a distributed white-box router is equipped with a master control card and three service cards 1, 2, and 3. The service cards exchange information via a high-capacity switch. Each service card has three interfaces for data forwarding. Interfaces 1, 4, 7, and 9 are configured with IPv6 addresses and connect to other devices while maintaining communication with directly connected devices. The contents of the one-dimensional routing table (OD Routing Tab) on the master control card are shown in Table 1.

[0059] Table 1 One-dimensional routing table (OD Routing Tab)

[0060]

[0061] The distributed white box router creates a service card-interface mapping table (SC-Interface Map Tab) and stores it in the main control card, service card 1, service card 2, and service card 3. Referring to Table 2, the service card-interface mapping table (SC-Interface Map Tab) contains two attribute columns: interface ID and service card ID.

[0062] Table 2 Service Card-Interface Mapping Table (SC-Interface Map Tab)

[0063]

[0064] Referring to Table 3, business card 1 in the distributed white-box router creates an EX-NDP table based on the NDP table extension. Referring to Table 4, business card 2 in the distributed white-box router creates an EX-NDP table based on the NDP table extension. Referring to Table 5, business card 3 in the distributed white-box router creates an EX-NDP table based on the NDP table extension, that is, a label attribute column is extended on the content of the NDP table, and a label ID is assigned to each entry in the table. The EX-NDP table is extended based on the native NDP table of the business card. In addition to the five attribute columns of IPv6 address, MAC address, status, type, and outbound interface, the label attribute column is also extended to uniquely identify each entry with a shorter ID.

[0065] Table 3 Business Card 1EX-NDP Table

[0066]

[0067] Table 4. Business Card 2EX-NDP Table

[0068]

[0069] Table 5 Service card 3 EX-NDP table

[0070]

[0071] Reference Figure 5 , including: master card module and service card module, the master card module contains: routing management unit, wherein the routing management unit contains: static configuration and dynamic protocol; service card module contains large capacity switch, service card 1 (programmable switch), service card 2 (programmable switch) and service card 3 (programmable switch), the service card (programmable switch) in this scheme has at least two, the large capacity switch is connected with the service card 1 (programmable switch), the service card 2 (programmable switch) and the service card 3 (programmable switch); the service card (programmable switch) is provided with interface 1, interface 2 and interface 3; the service card 2 (programmable switch) is provided with interface 4, interface 5 and interface 6; the service card 3 (programmable switch) is provided with interface 7, interface 8 and interface 9; wherein the interface 1 is connected with the terminal PC 1, the interface 4 is connected with the terminal PC 2, the interface 7 is connected with the terminal PC 3, the interface 9 is connected with the router (Router), and the router (Router) is connected with the terminal PC 4, because the router (Router) is connected with the terminal PC 4, the terminal PC 4 and the white box router are not in the same network segment, and data cannot be directly forwarded; in this specific embodiment, the terminal PC 1 transmits a data packet to the service card 1 (programmable switch) through the interface 1.

[0072] In the above example embodiment, the way of sending a data packet to an entry service card is introduced, and in this example embodiment, the way of obtaining a routing entry is introduced.

[0073] In this example embodiment, the entry service card is matched based on the data packet, and a routing entry is obtained, including:

[0074] The two-dimensional routing information table of the white box router is determined, the one-dimensional routing table is obtained based on the two-dimensional routing information table, the data packet is matched based on the one-dimensional routing table, and the routing entry is obtained.

[0075] In specific implementation, the way of determining the two-dimensional routing information table of the white box router includes:

[0076] Based on the above specific embodiment, reference Figure 5 The master card obtains a new two-dimensional routing information reference table 6 through static configuration or dynamic protocol;

[0077] Table 6 Two-dimensional routing information table of this embodiment

[0078] Source prefix Destination prefix Next-hop IPv6 address Outbound interface 8000:: / 64 6000:: / 64 5000::2 9

[0079] In a specific implementation, a method of obtaining a one-dimensional routing table from the two-dimensional routing information table includes:

[0080] Information is extracted from the two-dimensional routing information table to obtain simplified information, and a one-dimensional routing table is constructed based on the simplified information.

[0081] In a specific implementation, matching the data packet based on the one-dimensional routing table to obtain the routing entry includes:

[0082] Continuing with the above specific embodiment, referring to Table 7, the main control card queries the one-dimensional routing table (OD Routing Tab) based on the source prefix 8000:: / 64 in the two-dimensional routing information and matches the target one-dimensional routing entry:

[0083] Table 7 One-dimensional routing table (OD Routing Tab) of this embodiment

[0084] 8000:: / 64 1000::2 1

[0085] Step S220: Obtain a label identifier based on the routing entry, and reconstruct the data packet based on the label identifier to obtain a reconstructed data packet.

[0086] The following describes how to get the label identification:

[0087] In this exemplary embodiment, obtaining the label identifier based on the routing entry includes: determining a two-dimensional forwarding table for the routing entry, and matching the egress service card based on the two-dimensional forwarding table to obtain the label identifier.

[0088] In a specific implementation, determining a two-dimensional forwarding table of the routing entry, and matching the egress service card based on the two-dimensional forwarding table to obtain the label identifier includes:

[0089] Continuing with the above specific embodiment, based on the one-dimensional routing table (OD Routing Tab) in Table 7, the outgoing interface is obtained as interface 1; the main control card queries the service card-interface mapping table (SC-Interface Map Tab) based on interface 1, and with reference to Table 2, obtains the target service card as service card 1; the two-dimensional routing information is sent to service card 1, and service card 1 receives the two-dimensional routing information sent by the main control card and stores it in the two-dimensional forwarding table (TD-FIB), see Table 8;

[0090] Table 8 Service Card 1 Two-Dimensional Forwarding Table (TD-FIB)

[0091]

[0092] Based on Table 8, the egress interface 9 and the next hop IPv6 address 5000::2 of the data packet are obtained; the service card 1 queries the service card-interface mapping table (SC-Interface Map Tab) according to the egress interface 9, and obtains the egress service card as the service card 3 according to Table 2; the service card 1 queries the self SIM-NDP table (Table 8) according to the next hop IPv6 address 5000::2, and obtains the label ID 3;

[0093] In the above exemplary embodiments, the way of obtaining the label identification is introduced, and the way of obtaining the reconstructed data packet is introduced as follows:

[0094] In the present exemplary embodiment, the data packet is reconstructed based on the label identification, and the reconstructed data packet is obtained, which includes:

[0095] The forwarding label field of the data packet is determined, the label identification is filled in the forwarding label field, and the reconstructed data packet is obtained.

[0096] In the implementation, the way of determining the forwarding label field of the data packet includes:

[0097] Based on the MPLS (Multiprotocol Label Switching) technology, in the MPLS network, a fixed-length label is added in the header of the data packet, and the label contains the information required by the router in the network to transmit the data packet, so as to determine the forwarding label field (Forward Label field) of the data packet.

[0098] In the implementation, the label identification is filled in the forwarding label field, and the reconstructed data packet is obtained, which includes:

[0099] Based on the above implementation, the label ID 3 is put into the Forward Label field of the data packet, and the specific message format of the data packet is shown in Table 3. Figure 6 (Version refers to the version of the data packet; Traffic class refers to an 8-bit field, which is used to identify the service category or priority of the data packet; Payload length refers to the payload length; Next header refers to the next header; Hop limit refers to the hop limit; Source address (128 bit) refers to the 128-bit address identification of the sender or source address of the data packet; Destination address (128 bit) refers to the destination address.) The message is based on the traditional IPv6 data packet modification, and the Forward Label field is added, and the value of the field is used as the basis for the last egress service card to forward the data packet to the egress interface.

[0100] Step S230: Send the reconstructed data packet from the ingress service card to the egress service card, and parse the reconstructed data packet based on the egress service card to obtain a media access control address.

[0101] The following describes how to obtain the media access control address:

[0102] In this exemplary embodiment, the reconstructed data packet is sent from the ingress service card to the egress service card, and the reconstructed data packet is parsed by the egress service card to obtain a media access control address, including:

[0103] The reconstructed data packet is sent from the ingress service card to the egress service card through a large-capacity switch. The egress service card parses the reconstructed data packet to obtain a data packet header, determines a neighbor discovery protocol table of the egress service card, and parses the data packet header based on the neighbor discovery protocol table to obtain the media access control address.

[0104] Specifically, a high-capacity switch is a network switch capable of handling large amounts of data traffic and connecting numerous devices. These switches typically feature high port density, high switching capacity, and high-performance hardware.

[0105] In a specific implementation, the reconstructed data packet is sent from the ingress service card to the egress service card via a large-capacity switch, and the egress service card parses the reconstructed data packet to obtain a data packet header, including:

[0106] Following the above specific embodiments, refer to Figure 5 Business card 1 sends the reconstructed data packet to business card 3 through the high-capacity switch. Business card 3 receives the reconstructed data packet sent by business card 1 through the high-capacity switch, parses the reconstructed data packet header, and obtains the value of the Forward Label field as 3.

[0107] In a specific implementation, determining the neighbor discovery protocol table of the egress service card, parsing the data packet header based on the neighbor discovery protocol table, and obtaining the media access control address includes:

[0108] Continuing with the above specific embodiment, service card 3 queries its own EX-NDP table based on the value 3 of the Forward Label field, refers to Table 5, matches the target NDP entry [IPv6 address: 5000::2, MAC address: af:be:cd:de:ef:0a, state: static, type: permanent, label: 3], and obtains the destination MAC address af:be:cd:de:ef:0a and outbound interface 9 of the data packet.

[0109] Step S240, fill the media access control address into the egress service card to make the data packet transfer out of the white box router.

[0110] In implementation, the way of filling the media access control address into the egress service card includes:

[0111] Based on the above embodiment, refer to Figure 5 , the egress service card fills the destination MAC address af:be:cd:de:ef:0a, and the data packet is transferred out of the white box router by the egress interface 9 to the terminal PC4.

[0112] Based on the above exemplary embodiment, the data packet transmitted by the terminal PC1 can be successfully and efficiently transmitted to the terminal PC4. In order to more stably maintain the forwarding information of the data packet between the service cards, the present scheme uses the label synchronization mechanism based on the NDP extension to maintain the forwarding information of the data packet between the service cards of the distributed white box router:

[0113] In implementation, the way of the label synchronization mechanism based on the NDP extension includes:

[0114] Each service card runs the NDP protocol to update its EX-NDP table, and the contents of the EX-NDP table are consistent with the contents of the original NDP table except the label column.

[0115] Each service card allocates a unique label ID for the new entry in its EX-NDP table, and recycles the label ID of the deleted entry in the EX-NDP table.

[0116] Get the number z of all updated entries in the EX-NDP table, and the IPv6 address, label ID and operation code (1 is added, 0 is deleted) of all updated entries, let i=1; fill the sending service card ID into the Forward Card field, and fill z into the Sequence Count field; judge whether the value of i is greater than z to make different operations; if not, fill the IPv6 address, operation code and label ID of the i-th updated entry into the IPv6 Address[x], Op[x] and Label[x] fields respectively; when i=i+1, continue to judge whether the value of i is greater than z, until the value of i is greater than z, and send the NDP-Label packet to all service cards except itself.

[0117] Obtain the value x of the Sequence Count field and the value y of the Forward Card field in the NDP-Label message, and set j = 1. Determine whether the value of j is greater than x to perform a different operation. If not, obtain the values ​​of the IPv6 Address[x], Op[x], and Label[x] fields in the NDP-Label message. If the value of the Op[x] field is 1, store the values ​​of the IPv6 Address[x], y, and Label[x] fields in its own SIM-NDP table. If the value of the Op[x] field is 0, query the SIM-NDP table to find the entry with the same IPv6 Address[x] field value and y, and delete the entry. When j = j + 1, continue to determine whether the value of j is greater than x until the value of j is greater than x.

[0118] Continuing with the above specific embodiment, service cards 1, 2, and 3 run the NDP protocol to update their own EX-NDP tables. Except for the label column, the rest of the content is consistent with the original NDP table content. Refer to Table 3, Table 4, and Table 5. Refer to Table 9. Service card 1 assigns a unique label ID to the newly added entry in its own EX-NDP table. Refer to Table 10. Service card 2 assigns a unique label ID to the newly added entry in its own EX-NDP table. Refer to Table 11. Service card 3 assigns a unique label ID to the newly added entry in its own EX-NDP table. Refer to Table 9, Table 10, and Table 11. The SIM-NDP table includes three attribute columns, namely, IPv6 address, business card ID, and label. The table is suitable for storing the mapping relationship between IPv6 addresses and MAC addresses of other service cards in the distributed white box router for forwarding data packets.

[0119] Table 9 Service Card 1 SIM-NDP Table

[0120]

[0121] Table 10 Service Card 2 SIM-NDP Table

[0122]

[0123] Table 11 Service Card 3 SIM-NDP Table

[0124]

[0125] Service cards 1, 2, and 3 construct their own NDP-Label messages based on all updated entry information in the EX-NDP table. NDP-Label messages are responsible for maintaining the forwarding information of data packets forwarded between service cards in the white box router, ensuring the correctness of forwarding data packets on the data plane. Figure 7 , the message has seven fields. The name, size and meaning of each field are as follows:

[0126] Version (8 bits): Message version number, the value is 56, used to identify the NDP label control message.

[0127] Header Length (8 bits): Header length, indicating the number of bytes in the message part.

[0128] Sequence Count (16 bits): The number of entries, indicating the amount of entry content.

[0129] Forward Card (8 bits): The service card ID that sends the NDP-Label control packet.

[0130] Sequence Content (variable length): Entry content, including multiple IP addresses, operation codes, and tag ID combinations.

[0131] IPv6 Address (128 bits): IPv6 address.

[0132] Op (1 bit): Operation code, which identifies the operation on the entry. 0 means deletion and 1 means addition.

[0133] Label (7 bits): Label ID, used for a short unique identifier of the entry.

[0134] Service card 1 constructs an NDP-Label1 message. It obtains the number of all updated entries (1) in its own EX-NDP table, as well as the updated entry information [IPv6 address: 1000::2, label ID: 1, operation code: 1] (operation code 1 for add, 0 for delete), enters ID 1 into Forward Card, enters quantity 1 into Sequence Count, and enters the updated entry information into IPv6 Address[1], Op[1], and Label[1].

[0135] Service card 2 constructs an NDP-Label2 message. It obtains the number of all updated entries in its own EX-NDP table, 1, and the updated entry information [IPv6 address: 2000::2, label ID: 1, operation code: 1]. It then enters the ID 2 into Forward Card, the quantity 1 into Sequence Count, and the updated entry information into IPv6 Address[1], Op[1], and Label[1].

[0136] Service card 3 constructs the NDP-Label3 message. Obtain the number of all update entries in the EX-NDP table (3) and fill the ID 2 into Forward Card, fill the number 3 into Sequence Count, and cyclically obtain 3 update entry information and fill them into the NDP-Label3 message; among them, business card 3 obtains the first update entry information: [IPv6 address: 3000::2, label ID: 1, operation code: 1], and fills it into IPv6 Address[1], Op[1], and Label[1]; business card 3 obtains the second update entry information: [IPv6 address: 4000::2, label ID: 2, operation code: 1], and fills it into IPv6 Address[2], Op[2], and Label[2]; business card 3 obtains the third update entry information: [IPv6 address: 5000::2, label ID: 3, operation code: 1], and fills it into IPv6 Address[3], Op[3], and Label[3].

[0137] Business card 1 sends message NDP-Label1 to business card 2 and business card 3; business card 2 sends message NDP-Label2 to business card 1 and business card 3; business card 3 sends message NDP-Label3 to business card 1 and business card 2;

[0138] Service Card 1 receives the NDP-Label2 message from Service Card 2, obtains the value of the Sequence Count field as 1, the value of the Forward Card field as 1, and obtains the values ​​of IPv6 Address[1], Op[1], and Label[1] as 2000::2, 1, 1. Since Op[1] is 1, which indicates an add operation, the values ​​of IPv6 Address[1], Forward Card, and Label[1] are stored in its own SIM-NDP table.

[0139] Business card 1 receives the NDP-Label3 message from business card 3, obtains the value of the Sequence Count field as 3, the value of the Forward Card field as 3, and cyclically obtains the value of the Sequence Content and performs corresponding operations; obtains the value of IPv6Address[1], Op[1], Label[1] as 3000::2, 1, 1. Since Op[1] is 1, which is an add operation, the value of IPv6Address[1], Forward Card, Label[1] is stored in its own SIM-NDP table; obtains the value of IPv6 Address[2], Op[2], Label[2] as 4000::2, 1, 2. Since Op[2] is 1, which is an add operation, the value of IPv6 Address[2], Forward Card, Label[2] is stored in its own SIM-NDP table; obtains the value of IPv6 The values ​​of Address[3], Op[3], and Label[3] are 5000::2, 1, and 3. Since Op[3] is 1, which is an add operation, the values ​​of IPv6 Address[3], Forward Card, and Label[3] are stored in the SIM-NDP table.

[0140] Similarly, service card 2 receives and analyzes the NDP-Label1 and NDP-Label3 messages sent by service card 1 and service card 3, and updates its own SIM-NDP table.

[0141] Similarly, service card 3 receives and analyzes the NDP-Label1 and NDP-Label2 messages sent by service card 1 and service card 2, and updates its own SIM-NDP table.

[0142] When the network changes or the routing changes, the two-dimensional FIB hash storage method is re-applied to update the two-dimensional forwarding table (TD-FIB) of each service card in the distributed white-box router, and the NDP label synchronization mechanism is used to maintain the forwarding information of data packets between the service cards of the distributed white-box router until the network and routing no longer change.

[0143] It should be noted that the method of the embodiments of the present disclosure can be performed by a single device, such as a computer or server. The method of the embodiments of the present disclosure can also be applied in a distributed scenario, where multiple devices cooperate to perform the method. In such a distributed scenario, one of the multiple devices may only perform one or more steps of the method of the embodiments of the present disclosure, and the multiple devices will interact with each other to complete the method.

[0144] It should be noted that the above description is limited to some embodiments of the present disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in an order different from that described in the above embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order or sequential order shown to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0145] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments and methods, the present disclosure further provides a two-dimensional FIB hash storage device on a white box router.

[0146] refer to Figure 3 , the two-dimensional FIB hash storage device on the white box router includes:

[0147] An entry determination module 310 is configured to send a data packet to an ingress service card, match the data packet based on the ingress service card, and obtain a routing entry;

[0148] The data packet reconstruction module 320 is configured to obtain a label identifier based on the routing entry, and reconstruct the data packet based on the label identifier to obtain a reconstructed data packet;

[0149] An address determination module 330 is configured to send the reconstructed data packet from the ingress service card to the egress service card, and parse the reconstructed data packet based on the egress service card to obtain a media access control address;

[0150] The data packet forwarding module 340 is configured to fill the media access control address into the egress service card so that the data packet is forwarded in the white box router.

[0151] In this exemplary embodiment, the entry determination module 310 is specifically configured to:

[0152] Sending a data packet to an ingress service card, determining a two-dimensional routing information table of the white box router, extracting information from the two-dimensional routing information table to obtain simplified information, constructing a one-dimensional routing table based on the simplified information, and matching the data packet based on the one-dimensional routing table to obtain the routing entry.

[0153] In this exemplary embodiment, the data packet reconstruction module 320 is specifically configured to:

[0154] Determine the two-dimensional forwarding table of the routing entry, correspond the egress service card based on the two-dimensional forwarding table, and obtain the label identifier; determine the forwarding label field of the data packet, fill the label identifier into the forwarding label field, and obtain the reconstructed data packet.

[0155] In this exemplary embodiment, the address determination module 330 is specifically configured to:

[0156] The reconstructed data packet is sent from the ingress service card to the egress service card through a large-capacity switch. The egress service card parses the reconstructed data packet to obtain a data packet header, determines a neighbor discovery protocol table of the egress service card, and parses the data packet header based on the neighbor discovery protocol table to obtain the media access control address.

[0157] In this exemplary embodiment, the data packet forwarding module 340 is specifically configured to:

[0158] The media access control address is filled into the egress service card so that the data packet is forwarded in the white box router.

[0159] For the convenience of description, the above devices are described as being functionally divided into various modules. Of course, when implementing the present disclosure, the functions of each module can be implemented in the same or multiple software and / or hardware.

[0160] The apparatus of the above embodiment is used to implement the two-dimensional FIB hash storage method on the corresponding white box router in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.

[0161] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments and methods, the present disclosure further provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, the two-dimensional FIB hash storage method on the white box router described in any of the above embodiments is implemented.

[0162] Figure 4 10 is a schematic diagram showing a more specific hardware structure of an electronic device provided in this embodiment. The device may include: a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040 are communicatively connected to each other within the device via the bus 1050.

[0163] The processor 1010 can be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an ASIC (Application Specific Integrated Circuit), or one or more integrated circuits, etc., for executing relevant programs to implement the technical solutions provided by the embodiments of the present specification.

[0164] The memory 1020 can be implemented in the form of a ROM (Read Only Memory), a RAM (Random Access Memory), a static storage device, a dynamic storage device, etc. The memory 1020 can store an operating system and other application programs, and when the technical solutions provided by the embodiments of the present specification are implemented by software or firmware, the relevant program codes are saved in the memory 1020 and called and executed by the processor 1010.

[0165] The input / output interface 1030 is configured to connect input / output modules to implement information input and output. The input / output modules can be configured as components in the device (not shown in the figure) or externally connected to the device to provide corresponding functions. The input devices can include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output devices can include a display, a speaker, a vibrator, an indicator light, etc.

[0166] The communication interface 1040 is configured to connect a communication module (not shown in the figure) to implement the communication interaction between the device and other devices. The communication module can realize communication through a wired manner (such as USB, network cable, etc.) or through a wireless manner (such as mobile network, WIFI, Bluetooth, etc.).

[0167] The bus 1050 includes a channel for transmitting information between various components (such as the processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040) of the device.

[0168] It should be noted that although the above device only shows the processor 1010, the memory 1020, the input / output interface 1030, the communication interface 1040, and the bus 1050, in the specific implementation process, the device can also include other components necessary for normal operation. In addition, those skilled in the art can understand that the above device can also only include the components necessary to implement the solutions of the embodiments of the present specification, and does not have to include all the components shown in the figure.

[0169] The electronic device of the above embodiment is used to implement the two-dimensional FIB hash storage method on the corresponding white box router in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.

[0170] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments and methods, the present disclosure further provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to cause the computer to execute the two-dimensional FIB hash storage method on the white box router as described in any of the above embodiments.

[0171] The computer-readable media of this embodiment include permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.

[0172] The above-mentioned non-transitory computer-readable storage medium can be any available medium or data storage device that can be accessed by a computer, including but not limited to magnetic storage (such as floppy disks, hard disks, magnetic tapes, magneto-optical disks (MO)), optical storage (such as CDs, DVDs, BDs, HVDs, etc.), and semiconductor storage (such as ROMs, EPROMs, EEPROMs, non-volatile memories (NAND FLASH), solid-state drives (SSDs)), etc.

[0173] The computer instructions stored in the storage medium of the above embodiment are used to enable the computer to execute the two-dimensional FIB hash storage method on the white box router as described in any embodiment in the above exemplary method section, and have the beneficial effects of the corresponding method embodiment, which will not be repeated here.

[0174] Based on the same inventive concept, corresponding to the two-dimensional FIB hash storage method on a white-box router described in any of the above embodiments, the present disclosure also provides a computer program product comprising computer program instructions. In some embodiments, the computer program instructions can be executed by one or more processors of a computer to cause the computer and / or the processors to perform the two-dimensional FIB hash storage method on a white-box router. For each step in each embodiment of the two-dimensional FIB hash storage method on a white-box router, the processor that executes the corresponding step can belong to the corresponding execution entity.

[0175] The computer program product of the above embodiment is used to enable the computer and / or the processor to execute the two-dimensional FIB hash storage method on the white box router as described in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.

[0176] Those skilled in the art will appreciate that embodiments of the present disclosure may be implemented as a system, method, or computer program product. Therefore, the present disclosure may be implemented in the following forms: entirely in hardware, entirely in software (including firmware, resident software, microcode, etc.), or in a combination of hardware and software, generally referred to herein as a "circuit," "module," or "system." Furthermore, in some embodiments, the present disclosure may also be implemented in the form of a computer program product in one or more computer-readable media containing computer-readable program code.

[0177] Any combination of one or more computer-readable media can be used. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or component, or any combination thereof. More specific examples (non-exhaustive examples) of computer-readable storage media can include, for example: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device.

[0178] A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0179] Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0180] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages, or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0181] It should be understood that each block in the flowchart and / or block diagram, and combinations of blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine. These computer program instructions are executed by the computer or other programmable data processing device to produce a device that implements the functions / operations specified in the blocks in the flowchart and / or block diagram.

[0182] These computer program instructions can also be stored in a computer-readable medium that enables a computer or other programmable data processing device to operate in a specific manner. In this way, the instructions stored in the computer-readable medium produce a product that includes an instruction device that implements the functions / operations specified in the blocks in the flowchart and / or block diagram.

[0183] Computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, such that the instructions executed on the computer or other programmable apparatus provide a process that implements the functions / operations specified in the blocks in the flowchart and / or block diagram.

[0184] Furthermore, although the operations of the disclosed method are described in a particular order in the accompanying drawings, this does not require or imply that the operations must be performed in that particular order, or that all of the operations shown must be performed to achieve the desired results. Rather, the steps depicted in the flowcharts may be performed in a different order. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into a single step, and / or a single step may be broken down into multiple steps.

[0185] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. Among them, each box in the flowchart or block diagram can represent a module, program segment, or part of the code, and the above-mentioned module, program segment, or part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession 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 or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0186] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiment of the application, the features and functions of two or more modules or units described above can be concretized in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.

[0187] Those skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of the present application (including the claims) is limited to these examples. Within the scope of the present application, the technical features in the above embodiments or different embodiments may be combined, the steps may be implemented in any order, and there are many other variations of the different aspects of the embodiments of the present application as described above, which are not provided in detail for the sake of simplicity.

[0188] In addition, for simplicity of description and discussion, and in order not to make the embodiment of the application difficult to understand, the known power supply / ground connection with integrated circuit (IC) chip and other components may or may not be shown in the accompanying drawings provided. In addition, the device can be shown in the form of a block diagram to avoid making the embodiment of the application difficult to understand, and this also takes into account the following fact, that is, the details of the embodiment of these block diagram devices are highly dependent on the platform to be implemented in the embodiment of the application (that is, these details should be fully within the scope of understanding of those skilled in the art). When specific details (for example, circuit) are set forth to describe exemplary embodiments of the application, it will be apparent to those skilled in the art that the embodiment of the application can be implemented without these specific details or when these specific details are changed. Therefore, these descriptions should be considered to be illustrative rather than restrictive.

[0189] Although the present invention has been described in conjunction with specific embodiments thereof, many alternatives, modifications, and variations of these embodiments will be apparent to those skilled in the art based on the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may utilize the embodiments discussed.

[0190] The embodiments of the present application are intended to cover all such substitutions, modifications, and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the scope of protection of this application.

[0191] Although the spirit and principles of the present disclosure have been described with reference to several specific embodiments, it should be understood that the present disclosure is not limited to the specific embodiments disclosed, and the division into various aspects does not mean that the features of these aspects cannot be combined to benefit. Such division is merely for the convenience of expression. The present disclosure is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. The scope of the appended claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.

Claims

1. A two-dimensional FIB hash storage method on a white box router, characterized in that: include: Sending a data packet to an ingress service card, matching the data packet based on the ingress service card to obtain a routing entry; wherein a reverse path forwarding check is performed on a source address of the data packet based on a source prefix of a two-dimensional FIB to obtain the ingress service card; and distributing the two-dimensional FIB to the ingress service card to implement hash storage; Obtaining a label identifier based on the routing entry, and reconstructing the data packet based on the label identifier to obtain a reconstructed data packet; The reconstructed data packet is sent from the ingress service card to the egress service card through a large-capacity switch, and the egress service card parses the reconstructed data packet to obtain a data packet header; a neighbor discovery protocol table of the egress service card is determined, and the data packet header is parsed based on the neighbor discovery protocol table to obtain a media access control address; The media access control address is filled into the egress service card so that the data packet is forwarded in the white box router.

2. The method according to claim 1, characterized in that The matching of the data packet based on the ingress service card to obtain a routing entry includes: Determine a two-dimensional routing information table of the white box router, and obtain a one-dimensional routing table based on the two-dimensional routing information table; The data packet is matched based on the one-dimensional routing table to obtain the routing entry.

3. The method according to claim 2, characterized in that The step of obtaining a one-dimensional routing table based on the two-dimensional routing information table includes: Extracting information from the two-dimensional routing information table to obtain simplified information; A one-dimensional routing table is constructed based on the simplified information.

4. The method according to claim 1, wherein The obtaining of a label identifier based on the routing entry includes: A two-dimensional forwarding table of the routing entry is determined, and the egress service card is matched based on the two-dimensional forwarding table to obtain the label identifier.

5. The method according to claim 1, wherein The reconstructing the data packet based on the label identifier to obtain a reconstructed data packet includes: Determine the forwarding label field of the data packet, fill the label identifier into the forwarding label field, and obtain the reconstructed data packet.

6. A two-dimensional FIB hash storage device on a white box router, characterized in that: include: an entry determination module configured to send a data packet to an ingress service card, match the data packet based on the ingress service card, and obtain a routing entry; wherein a reverse path forwarding check is performed on a source address of the data packet based on a source prefix of a two-dimensional FIB to obtain the ingress service card; and the two-dimensional FIB is allocated to the ingress service card to implement hash storage; a data packet reconstruction module, configured to obtain a label identifier based on the routing entry, and reconstruct the data packet based on the label identifier to obtain a reconstructed data packet; an address determination module configured to send the reconstructed data packet from the ingress service card to the egress service card via the high-capacity switch, the egress service card parse the reconstructed data packet to obtain a data packet header; determine a neighbor discovery protocol table of the egress service card, and parse the data packet header based on the neighbor discovery protocol table to obtain a media access control address; The data packet forwarding module is configured to fill the media access control address into the egress service card so that the data packet is forwarded in the white box router.

7. An electronic device, characterized in that: The method comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method according to any one of claims 1 to 5 is implemented.

8. A non-transitory computer-readable storage medium, characterized in that The non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to cause a computer to execute the method according to any one of claims 1 to 5.

9. A computer program product, characterized in that The method comprises computer program instructions, which, when executed on a computer, cause the computer to execute the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Routing forwarding information adding method, message forwarding method, device and network device

    CN102904804A

  • FIB table decomposing method based on multi-magnitude line cards

    CN106961388A