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

By using the two-dimensional FIB hash storage method and the NDP label synchronization mechanism on distributed white-box routers, the problem of limited FIB entry capacity is solved and more efficient route lookup and data forwarding are achieved.

CN119341985AActive Publication Date: 2025-01-21STATE GRID INFORMATION & TELECOMM BRANCH +1
View PDF 4 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The capacity of FIB table entries in distributed white box routers is limited. If two-dimensional routers are deployed on low-cost white box routers, it will increase the storage burden and table checking pressure.

Method used

The two-dimensional FIB hash storage method is used to obtain the entrance service card through RPF inspection, and only two-dimensional FIB entries are allocated on the service card, and the NDP label synchronization mechanism is used for label management and data packet forwarding.

Benefits of technology

It reduces the storage pressure and table lookup speed of white-box routers, improves data packet forwarding efficiency, and saves data packet header space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119341985A_ABST
    Figure CN119341985A_ABST
Patent Text Reader

Abstract

The invention provides a two-dimensional FIB hash storage method on a white-box router and a related device, and the method comprises the steps: sending a data packet to an entrance service card, carrying out the matching of the data packet based on the entrance service card, obtaining a routing entry, obtaining a tag identifier based on the routing entry, carrying out the reconstruction of the data packet based on the tag identifier, obtaining a reconstructed data packet, and carrying out the storage of the two-dimensional FIB hash on the white-box router. And sending the reconstructed data packet from the entrance service card to the exit service card, analyzing the reconstructed data packet based on the exit service card to obtain a media access control address, and filling the media access control address into the exit service card to enable the data packet to be transferred out in the white-box router. According to the method, the RPF check is carried out according to the source prefix of the two-dimensional FIB to obtain the entrance and exit business card, and the table items are distributed on the business card, so that the storage pressure is reduced, and the table look-up speed is improved.
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 disclosure that are recited in the claims. No description herein is admitted to be prior art by inclusion in this section.

[0003] In the related technology, a distributed white box router includes a single main control card and multiple business cards. The main control card is responsible for routing management, and the business card is responsible for data forwarding. Data is exchanged between business 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 capacity of FIB entries in distributed white box routers is limited. If two-dimensional routing is deployed on low-cost white box routers, 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 solves one of the technical problems in the related art to a certain extent.

[0006] Based on the above purpose, the first aspect of the 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] 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;

[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 is sent to the white box router.

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

[0012] An entry determination module 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;

[0013] A data packet reconstruction module 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;

[0014] An address determination module 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;

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

[0016] Based on the same inventive concept, a 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 embodiments 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 executes the method described in the first aspect.

[0019] From the above, it can be seen that the two-dimensional FIB hash storage method and related device on the white box router provided by the embodiment of the present disclosure include: 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 an ingress business card, and allocates 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 drawings required for use in the embodiments or related technical descriptions are briefly introduced below. 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 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 structural 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 for an exemplary embodiment of the present disclosure;

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

[0026] Figure 6 A schematic diagram of a data packet message format of 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 an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present application according to the prompt message.

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

[0031] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation method of the present application. Other methods that meet the relevant laws and regulations may also be applied to the implementation method of the present application.

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

[0033] In order to make the purpose, technical solutions and advantages of the present disclosure more clear, the principles and spirit of the present disclosure will be described with reference to several exemplary embodiments. It should be understood that these embodiments are provided only to enable those skilled in the art to better understand and implement the present disclosure, and are not intended to 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] It should be understood herein that any number of elements in the drawings is for illustration rather than limitation, and any naming is only for distinction rather than having 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 by people with ordinary skills in the field 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. "Including" or "comprising" and similar words mean that the elements or objects appearing in front of the word cover the elements or objects listed after the word and their equivalents, without excluding other elements or objects. "Connecting" 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 indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly. The article "one" or "a" before an element does not exclude the existence of multiple such elements.

[0036] The principle and spirit of the present disclosure are 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 capacity of FIB entries 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. Service cards exchange data through a large-capacity switch. In order to pursue rapid prototyping and accelerate the productization process, the multi-service card form inside the white-box router usually uses a programmable switch (such as a P4 switch (P4 Programmable Switch)). However, since it is not specifically designed for core network router application scenarios, the capacity of the FIB (Forwarding Information Base) table items it supports is limited.

[0039] With the increase of QoS (Quality of Service) demand, multipath routing has emerged. Among them, two-dimensional routing is a simple traffic scheduling deployment method applied to core network routers in recent years. If two-dimensional routing is deployed on low-cost white box routers, the storage pressure and table lookup burden of router FIB table items will be further increased. Therefore, the present invention proposes a two-dimensional FIB hash storage method, which makes full use of the special attribute of the two-dimensional FIB-source prefix, performs RPF (Reverse Path Forwarding) check, obtains the inlet service card of the two-dimensional traffic, and then only allocates the two-dimensional FIB on the service card, thereby realizing hash storage, and obtaining the benefits of reduced storage pressure and faster table lookup speed. However, since this method makes the two-dimensional table item matching of the white box router only completed on the inlet card, in the case of inter-board forwarding, the query result needs to be attached to the message in the form of a short label, so that the egress board card can forward according to the query result.

[0040] In order 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 the inlet service card, the data packet is matched based on the inlet service card to obtain the routing entry, the label identifier is obtained based on the routing entry, the data packet is reconstructed based on the label identifier to obtain the reconstructed data packet, the reconstructed data packet is sent from the inlet service card to the outlet service card, the reconstructed data packet is parsed based on the outlet service card to obtain the media access control address, and the media access control address is filled into the outlet service card so that the data packet is transferred out in the white box router. This scheme proposes an NDP (Neighbor Discovery Protocol) label synchronization mechanism, which describes and carries the table lookup results by assigning unique labels, notifying NDP extended information, etc. Due to the small label, the mechanism also greatly saves the data packet header space. And through the inlet service card hash storage two-dimensional FIB method and the label synchronization mechanism based on NDP extension, efficient route search and data forwarding are achieved, which significantly reduces the forwarding pressure and development cost of the service card.

[0042] After introducing the basic principles of the present disclosure, various non-limiting embodiments of the present disclosure are described in detail below.

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

[0044] This application scenario includes a terminal device 101, a server 102, and a terminal device 103. The terminal device 101, the server 102, and the terminal device 103 may be connected via a wired or wireless communication network to achieve data interaction.

[0045] The terminal device 101 and the terminal device 103 may be electronic devices with data transmission and multimedia input / output functions close to the user side, including but not limited to desktop computers, mobile phones, mobile computers, tablet computers, media players, smart wearable devices, personal digital assistants (PDAs) or other electronic devices capable of implementing the above functions. The electronic device may include a processor and a display screen with a touch input function, the display screen is used to present a graphical user interface, the graphical user interface can display an application interface, and 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] Server 102 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), as well as big data and artificial intelligence platforms.

[0047] In some exemplary embodiments, the two-dimensional FIB hash storage method on the white box router may be 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 is run on the server 102 , the server 102 is used to provide the two-dimensional FIB hash storage service on the white box router to the users of the terminal devices 101 and 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 the 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 the egress service card, and the server 102 parses 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 shown to facilitate understanding of the spirit and principle 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] refer to Figure 2 , a two-dimensional FIB hash storage method on a white box router, applied to a server, the method comprising 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 embodiment, a distributed white box router is equipped with a main control card and three service cards 1, 2, and 3. The service cards exchange information through a large-capacity switch, and each service card is equipped with three interfaces for data forwarding, wherein interfaces 1, 4, 7, and 9 are configured with IPv6 addresses, and are connected to other devices externally, and maintain communication with directly connected devices. The content of the one-dimensional routing table (OD Routing Tab) in the main control card is referenced 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 the table 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, namely the interface ID and the service card ID.

[0062] Table 2 Service Card-Interface Map 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 Business Card 3EX-NDP Table

[0070]

[0071] refer to Figure 5 The distributed white box router includes: a main control card module and a business card module. The main control card module includes: a routing management unit, wherein the routing management unit includes: static configuration and dynamic protocol; the business card module includes a large-capacity switch, business card 1 (programmable switch), business card 2 (programmable switch) and business card 3 (programmable switch). In this solution, there are at least two business cards (programmable switches), and the large-capacity switch is connected to business card 1 (programmable switch), business card 2 (programmable switch) and business card 3 (programmable switch); the business card (programmable switch) is provided with interface 1, interface 2 and interface 3; business card 2 (programmable switch) The programmable switch) is provided with interface 4, interface 5 and interface 6; the business card 3 (programmable switch) is provided with interface 7, interface 8 and interface 9; wherein interface 1 is connected to terminal PC1, interface 4 is connected to terminal PC2, interface 7 is connected to terminal PC3, interface 9 is connected to the router (Router), and the router (Router) is connected to terminal PC4. Since the router (Router) is connected to terminal PC4, terminal PC4 and the white box router are not in the same network segment, and data cannot be directly forwarded; in this specific embodiment, terminal PC1 transmits the data packet to business card 1 (programmable switch) through interface 1.

[0072] In the above exemplary embodiment, a method of sending a data packet to an ingress service card is introduced. In this exemplary embodiment, a method of obtaining a routing entry is introduced:

[0073] In this exemplary embodiment, matching the data packet based on the ingress service card to obtain a routing entry includes:

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

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

[0076] Following the above specific embodiments, refer to Figure 5 , the main control card obtains new two-dimensional routing information through static configuration or dynamic protocol, as shown in Table 6;

[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] Following the above specific embodiment, referring to Table 7, the main control card queries the one-dimensional routing table (OD Routing Tab) according to 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: 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.

[0086] The following is 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 of 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, 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 identification, including:

[0089] Following 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) according to interface 1, and refers to Table 2 to obtain 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), refer to Table 8;

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

[0091]

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

[0093] In the above exemplary embodiment, a method of obtaining a label identifier is introduced. The following describes a method of obtaining a reconstructed data packet:

[0094] In this exemplary embodiment, reconstructing the data packet based on the label identifier to obtain a reconstructed data packet includes:

[0095] Determine the forwarding label field of the data packet, fill the label identifier into the forwarding label field, and obtain the reconstructed data packet.

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

[0097] Based on MPLS (Multi-Protocol Label Switching) technology, in an MPLS network, a fixed-length label (Label) is added to the header of a data packet. This label contains the information required by the router when transmitting the data packet in the network to determine the forwarding label field (Forward_Label field) of the data packet.

[0098] In a specific implementation, the label identifier is filled into the forwarding label field to obtain the reconstructed data packet, including:

[0099] Following the above specific embodiment, the label ID3 is placed in the Forward Label field of the data packet. The specific message format of the data packet is referred to Figure 6 , (Version refers to the version of the data packet; Traffic class refers to an 8-bit field 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 (128bit) refers to the 128-bit address that identifies the sender or source address of the data packet; Destination address (128bit) refers to the destination address.) This message is modified based on the traditional IPv6 data packet and adds the Forward Label field. The value of this field is used as the basis for the final egress service card to determine which outbound interface to forward the data packet to.

[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 based on 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] In specific implementation, high-capacity switches refer to network switches that can handle large amounts of data traffic and connect numerous devices. Such switches usually have high-density ports, high switching capacity, and high-performance hardware configurations.

[0105] In a specific implementation, 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, 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 large-capacity switch. Business card 3 receives the reconstructed data packet sent by business card 1 through the large-capacity switch, parses the reconstructed data packet header, and obtains the value of the Forward Label field as 3.

[0107] In a specific implementation, the neighbor discovery protocol table of the egress service card is determined, and the packet header is parsed based on the neighbor discovery protocol table to obtain the media access control address, including:

[0108] Continuing with the above specific embodiment, business card 3 queries its own EX-NDP table according to 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 so that the data packet is transferred out in the white box router.

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

[0111] Following the above specific embodiments, refer to Figure 5 , the egress service card fills in the destination MAC address af:be:cd:de:ef:0a, and transfers the data packet from the white box router to the terminal PC4 through the egress interface 9.

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

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

[0114] Each service card runs the NDP protocol to update its own EX-NDP table. Except for the label column, the rest of the content is consistent with the original NDP table content.

[0115] Each service card allocates a unique tag ID for newly added entries in its own EX-NDP table, and recycles the tag IDs of deleted entries in the EX-NDP table.

[0116] Get the number of all update entries z in the EX-NDP table, as well as the IPv6 addresses, label IDs and operation codes (1 for addition and 0 for deletion) of all update entries, and let i=1; fill the sending service card ID into the Forward Card field, and fill z into the Sequence Count field; determine whether the value of i is greater than z in order to perform different operations; if not, fill the IPv6 address, operation code, and label ID of the i-th update entry into the IPv6 Address[x], Op[x], and Label[x] fields respectively; when i=i+1, continue to determine whether the value of i is greater than z, until the value of i is greater than z, and send the NDP-Label message to all service cards except itself.

[0117] Get the value x of the Sequence Count field and the value y of the Forward Card field of the NDP-Label message, and set j = 1; determine whether the value of j is greater than x so as to perform different operations. 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, find the entry that is consistent with the 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] Following the above specific embodiments, business 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. Business card 1 assigns a unique label ID to the newly added entry in its own EX-NDP table. Refer to Table 10. Business card 2 assigns a unique label ID to the newly added entry in its own EX-NDP table. Refer to Table 11. Business 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 business cards in the distributed white box router, and is used 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 to ensure 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, value is 56, used to identify the NDP label control message.

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

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

[0129] Forward Card (8bit): 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 update entries in its own EX-NDP table, 1, and the update entry information [IPv6 address: 1000::2, label ID: 1, operation code: 1] (operation code 1 is add, 0 is delete), fills the ID 1 into Forward Card, fills the number 1 into Sequence Count, and fills the update entry information into IPv6 Address[1], Op[1], 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 update entry information [IPv6 address: 2000::2, label ID: 1, operation code: 1], fills the ID 2 into Forward Card, fills the number 1 into Sequence Count, and fills the update entry information into IPv6 Address[1], Op[1], Label[1];

[0136] Service card 3 constructs NDP-Label3 message. Obtain the number of all update entries in the EX-NDP table obtained by itself, which is 3. Fill the ID as 2 into Forward Card, fill the number 3 into Sequence Count, and loop to 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 is an add operation, it stores the values ​​of IPv6 Address[1], Forward Card, and Label[1] 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 loops to obtain the value of the Sequence Content and performs corresponding operations; obtains the value of IPv6Address[1], Op[1], and Label[1] as 3000::2, 1, 1. Since Op[1] is 1, which is an add operation, the value of IPv6Address[1], Forward Card, and Label[1] is stored in its own SIM-NDP table; obtains the value of IPv6 Address[2], Op[2], and 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, and 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 and the route 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 the data packet between the service cards of the distributed white-box router until the network no longer changes and the route no longer changes.

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

[0144] It should be noted that the above describes some embodiments of the present disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the above embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some 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 also 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 comprises:

[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 transfer module 340 is configured to fill the media access control address into the egress service card so that the data packet is transferred out in the white box router.

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

[0152] Send a data packet to an ingress service card, determine a two-dimensional routing information table of the white box router, extract information from the two-dimensional routing information table to obtain simplified information, construct based on the simplified information to obtain a one-dimensional routing table, match 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 as follows:

[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 as follows:

[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 transfer module 340 is specifically configured as follows:

[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 device is described by dividing it into various modules according to its functions. 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 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.

[0161] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments and methods, the present disclosure also 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 two-dimensional FIB hash storage method on the white box router described in any of the above embodiments is implemented.

[0162] Figure 4 A more specific schematic diagram of the hardware structure of an electronic device provided in this embodiment is shown, and 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 connected to each other through the bus 1050 in the device.

[0163] The processor 1010 can be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.

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

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

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

[0167] The bus 1050 includes a path that transmits information between the various components of the device (eg, the processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040).

[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 may also include other components necessary for normal operation. In addition, it can be understood by those skilled in the art that the above device may also only include the components necessary for implementing the embodiments of the present specification, and does not necessarily 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 also 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 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 medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, 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 disk read-only memory (CD-ROM), digital versatile disk (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), etc.), optical storage (such as CD, DVD, BD, HVD, etc.), and semiconductor storage (such as ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), solid-state drive (SSD)), 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 described in any embodiment in the above exemplary method part, 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 the white box router described in any of the above embodiments, the present disclosure also provides a computer program product, which includes computer program instructions. In some embodiments, the computer program instructions can be executed by one or more processors of a computer so that the computer and / or the processor execute the two-dimensional FIB hash storage method on the white box router. Corresponding to the execution subject corresponding to each step in each embodiment of the two-dimensional FIB hash storage method on the white box router, the processor that executes the corresponding step can belong to the corresponding execution subject.

[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 embodiments, which will not be repeated here.

[0176] Those skilled in the art will appreciate that the embodiments of the present disclosure may be implemented as a system, method, or computer program product. Therefore, the present disclosure may be specifically implemented in the following forms, namely: complete hardware, complete software (including firmware, resident software, microcode, etc.), or a combination of hardware and software, generally referred to herein as a "circuit," "module," or "system." In addition, 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, which contains computer-readable program code.

[0177] Any combination of one or more computer-readable media may be used. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive examples) of computer-readable storage media may 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 of the above. In this document, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device.

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

[0179] The program code embodied on the 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 separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of 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., via the Internet using an Internet service provider).

[0181] It should be understood that each box in the flowchart and / or block diagram and the combination of boxes 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, and these computer program instructions are executed by a computer or other programmable data processing device to produce a device that implements the functions / operations specified in the boxes in the flowchart and / or block diagram.

[0182] These computer program instructions may also be stored in a computer-readable medium that enables a computer or other programmable data processing device to operate in a specific manner, so that 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, thereby enabling the instructions executed on the computer or other programmable device to provide a process for implementing the functions / operations specified in the blocks in the flowchart and / or block diagram.

[0184] In addition, 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 this particular order, or that all the operations shown must be performed to achieve the desired results. On the contrary, the steps depicted in the flow chart can be performed in a different order. Additionally or alternatively, some steps can be omitted, multiple steps can be combined into one step, and / or one step can be decomposed into multiple steps.

[0185] The flowchart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present application. Wherein, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains 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 different order from the order 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 a 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 equipment for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into being embodied by multiple modules or units.

[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. In line with the concept 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, to simplify the description and discussion, and in order not to make the embodiments of the present application difficult to understand, the known power supply / ground connection with the integrated circuit (IC) chip and other components may or may not be shown in the provided drawings. In addition, the device can be shown in the form of a block diagram to avoid making the embodiments of the present application difficult to understand, and this also takes into account the fact that the details of the implementation of these block diagram devices are highly dependent on the platform to be implemented in the embodiments of the present application (that is, these details should be fully within the scope of understanding of those skilled in the art). In the case of elaborating specific details (e.g., circuits) to describe exemplary embodiments of the present application, it is obvious to those skilled in the art that the embodiments of the present 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 application has been described in conjunction with specific embodiments of the present application, many replacements, modifications and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may use 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 the present application.

[0191] Although the spirit and principle 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 disclosed specific embodiments, and the division of various aspects does not mean that the features in these aspects cannot be combined to benefit, and such division is only for the convenience of expression. The present disclosure is intended to cover various modifications and equivalent arrangements included in the spirit and scope of the attached claims. The scope of the attached claims conforms to the broadest interpretation, thereby including 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, and obtaining a routing entry; 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; 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; 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, characterized in that: The obtaining 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, characterized in that The step of 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. The method according to claim 1, characterized in that The step of sending the reconstructed data packet from the ingress service card to the egress service card and parsing the reconstructed data packet based on the egress service card to obtain a media access control address includes: The reconstructed data packet is sent from the inlet service card to the outlet service card through a large-capacity switch, and the outlet 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 the media access control address.

7. A two-dimensional FIB hash storage device on a white box router, characterized in that: include: An entry determination module 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; A data packet reconstruction module 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; An address determination module 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; The data packet transfer module is configured to fill the media access control address into the egress service card so that the data packet is transferred out in the white box router.

8. 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 6 is implemented.

9. 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 6.

10. 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 6.

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

  • Distribution and storage method for forwarding information base table of white-box router and related equipment

    CN115378869A

  • Forwarding of Packets Based on a Filtered Forwarding Information Base

    US20110075680A1