Message sending method, network equipment and system

The method and device optimize network routing by selecting paths that match network performance indicators, addressing the suboptimal path selection in existing protocols and enhancing network performance.

CN119135591APending Publication Date: 2024-12-13HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310702255.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-13
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

Existing multi-objective routing protocols fail to fully consider diverse network performance indicator preferences, leading to suboptimal path selection in network communications.

Method used

A method and device that determine and forward messages based on forwarding table entries that include a service preference identifier, allowing for the selection of paths that match specific network performance indicator preferences, and optionally including the process of updating and generating forwarding tables that consider these identifiers, which include generating and forwarding messages, utilizing a process of updating and generating paths that meet these preferences.

Benefits of technology

Enables the selection of ideal transmission paths based on diverse network performance indicators, saving storage overhead and optimizing network performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119135591A_ABST
    Figure CN119135591A_ABST
Patent Text Reader

Abstract

Provided are a method, network device and system for sending a message, the method comprising: a first network device receiving a first message, the first message comprising a first service preference identifier, the first service preference identifier being used for indicating the preference of a multi-dimensional network performance index corresponding to the first message; the first network equipment determines a first forwarding table item from a first forwarding table according to the first service preference identifier, the first forwarding table item comprises the first service preference identifier and next-hop equipment information, and the first forwarding table item is generated according to network topology information corresponding to the first service preference identifier; and the first network equipment forwards the first message according to the next-hop equipment information in the first forwarding table item. According to the technical scheme provided by the invention, matched or ideal transmission paths can be selected for different network performance index preferences.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network communications, and more specifically, to a method for sending a message, a network device, and a system. Background Art

[0002] The Internet has been developing for decades, from the initial small network to the large wired network covering the whole world, and now to the mobile Internet era. The Internet has become an important infrastructure indispensable to the production and life of human society. After entering the mobile Internet era, the scale of the Internet and the number of users have shown an exponential development trend. At the same time, Internet applications are emerging in an endless stream, and network services have also changed from simple web browsing services to multi-demand and multimedia services.

[0003] Among a large number of Internet technology studies, Internet routing research is undoubtedly the most basic and important. The performance of Internet routing will directly affect the performance of various aspects of the network. Routing selection is a basic and important task in communication networks. In the initial stage, routing selection is usually a single-objective problem. However, with the rise of operator services, business needs have evolved from traditional single-objective considerations to multi-dimensional goals. Therefore, when making routing selections, it is necessary to consider multiple dimensional goals at the same time.

[0004] Some existing multi-objective routing protocols mainly introduce design criteria for different objectives, such as linear weighting of multiple objectives, and then transform multiple different objectives into a comprehensive objective for routing selection. In the routing selection process, the preferences of multi-dimensional objectives are not fully considered, so it is impossible to match ideal path information for the preferences of different multi-dimensional objectives.

[0005] Therefore, how to select transmission paths for different network performance indicator preferences becomes a technical problem that needs to be solved urgently. Summary of the invention

[0006] The present application provides a method, network device and system for sending messages, which can select matching or ideal transmission paths for different network performance indicator preferences.

[0007] In a first aspect, a method for sending a message is provided, the method comprising: a first network device receives a first message, the first message includes a first service preference identifier, and the first service preference identifier is used to indicate a preference for a multi-dimensional network performance indicator corresponding to the first message; the first network device determines a first forwarding table entry from a first forwarding table according to the first service preference identifier, the first forwarding table entry includes the first service preference identifier and next-hop device information, and the first forwarding table entry is generated according to network topology information corresponding to the first service preference identifier; the first network device forwards the first message according to the next-hop device information in the first forwarding table entry.

[0008] In the above technical solution, diversified routing options can be determined for different network performance indicator preferences. After receiving a service message, the network device can select forwarding information with the service preference identifier from the forwarding table based on the service preference identifier carried in the service message. In this way, the network performance indicator matching or ideal transmission path can be selected according to the preference of the network performance indicator.

[0009] In combination with the first aspect, in a possible implementation of the first aspect, the method also includes: the first network device receives a second message, the second message includes a second service preference identifier, and the second service preference identifier is used to indicate the preference of the multi-dimensional network performance indicator corresponding to the second message; the first network device determines a second forwarding table item from the first forwarding table according to the second service preference identifier, the second forwarding table item includes the second service preference identifier and next-hop device information, and the second forwarding table item is generated according to the network topology information corresponding to the first service preference identifier; the first network device forwards the second message according to the second forwarding table item.

[0010] In the above technical solution, different forwarding table entries may correspond to different service preference identifiers, so that matching forwarding table entries may be selected for messages with different service preferences.

[0011] In combination with the first aspect, in a possible implementation manner of the first aspect, the method further includes: the first network device obtains the first forwarding table.

[0012] In combination with the first aspect, in a possible implementation of the first aspect, the first network device receives at least one first routing information, each of which includes multi-dimensional network performance indicators and next-hop device information; the first network device updates the multi-dimensional network performance indicators included in the at least one first routing information according to the link edge information corresponding to the links that transmit the at least one first routing information, and obtains at least one second routing information, the link edge information corresponding to the link includes the multi-dimensional network performance indicators on the link; the first network device generates the first forwarding table according to the at least one second routing information.

[0013] In combination with the first aspect, in a possible implementation of the first aspect, the at least one second routing information includes at least two second routing information, and the first network device filters the at least one second routing information; the first network device generates the first forwarding table based on the second routing information retained after filtering.

[0014] In the above technical solution, multiple routing information stored in a network device can be screened and path information with poor network performance indicators can be discarded. In this way, on the one hand, an ideal path can be selected to forward service messages on the data plane, and on the other hand, the storage overhead of the network device can be saved.

[0015] In combination with the first aspect, in a possible implementation manner of the first aspect, the first network device compares the multi-dimensional network performance indicators included in the at least two first routing information respectively to determine the discarded first routing information.

[0016] In the above technical solution, during the process of forward routing calculation, the multi-dimensional network performance indicators included in the routing information stored in the network device are compared respectively, and the path information with poor network performance indicators is discarded.

[0017] In combination with the first aspect, in a possible implementation manner of the first aspect, in the at least two first routing information, the multi-dimensional network performance indicators in the discarded first routing information are all smaller than the multi-dimensional network performance indicators in the retained first routing information; or in the at least two first routing information, the non-cost indicators in the multi-dimensional network performance indicators of the discarded first routing information are the same as the non-cost indicators in the multi-dimensional network performance indicators of the retained first routing information, and the cost indicators in the multi-dimensional network performance indicators of the discarded first routing information are smaller than the cost indicators in the multi-dimensional network performance indicators of the retained first routing information.

[0018] In combination with the first aspect, in a possible implementation of the first aspect, the first network device receives third routing information, the third routing information is routing information obtained by the second network device, the second network device is a head node, the third routing information includes a first identifier and a multi-dimensional network performance indicator, the first identifier is used to indicate the first network device to filter the at least two first routing information according to the third routing information; the first network device compares the multi-dimensional network performance indicators included in the at least two first routing information with the multi-dimensional network performance indicators included in the third routing information according to the first identifier, and determines the first routing information to be discarded.

[0019] In the above technical solution, the routing information stored in each network device can be screened through the backtracking routing information sent by the head node, which can cooperate with the forward routing calculation process and perform reverse backtracking simultaneously during the execution of the forward routing calculation process, thereby avoiding some redundant forward routing calculations, thereby further saving the storage overhead of the network device.

[0020] In combination with the first aspect, in a possible implementation of the first aspect, the third routing information also includes an identifier of the second network device, and the identifier of the second network device is used to instruct the second network device to send the third routing information obtained by the second network device to the first network device.

[0021] In combination with the first aspect, in a possible implementation manner of the first aspect, the at least one first routing information also includes a path label.

[0022] In combination with the first aspect, in a possible implementation of the first aspect, the multi-dimensional network performance indicators include: bandwidth, latency, packet loss rate, utilization, throughput, and reliability.

[0023] In a second aspect, a device for sending a message is provided, which is arranged in a first network device, and includes: a receiving module, a determining module, and a sending module, wherein the receiving module is used to receive a first message, the first message includes a first service preference identifier, and the first service preference identifier is used to indicate the preference of a multi-dimensional network performance indicator corresponding to the first message; the determining module is used to determine a first forwarding table item from a first forwarding table according to the first service preference identifier, the first forwarding table item includes the first service preference identifier and next-hop device information, and the first forwarding table item is generated according to the network topology information corresponding to the first service preference identifier; the sending module is used to forward the first message according to the next-hop device information in the first forwarding table item.

[0024] In combination with the second aspect, in a possible implementation of the second aspect, the receiving module is also used to receive a second message, the second message including a second service preference identifier, and the second service preference identifier is used to indicate the preference of the multi-dimensional network performance indicator corresponding to the second message; the determining module is also used to determine a second forwarding table item from the first forwarding table according to the second service preference identifier, the second forwarding table item including the second service preference identifier and next-hop device information, and the second forwarding table item is generated according to the network topology information corresponding to the first service preference identifier; the sending module is also used to forward the second message according to the second forwarding table item.

[0025] In combination with the second aspect, in a possible implementation manner of the second aspect, the device further includes: an acquisition module, configured to acquire the first forwarding table.

[0026] In combination with the second aspect, in a possible implementation of the second aspect, the acquisition module is specifically used to: receive at least one first routing information, each of which includes multi-dimensional network performance indicators and next-hop device information; update the multi-dimensional network performance indicators included in the at least one first routing information according to the link edge information corresponding to the links that transmit the at least one first routing information, and obtain at least one second routing information, the link edge information corresponding to the link includes the multi-dimensional network performance indicators on the link; generate the first forwarding table according to the at least one second routing information.

[0027] In combination with the second aspect, in a possible implementation of the second aspect, the at least one second routing information includes at least two second routing information, and the acquisition module is specifically used to: filter the at least one second routing information; and generate the first forwarding table according to the second routing information retained after filtering.

[0028] In combination with the second aspect, in a possible implementation manner of the second aspect, the acquisition module is specifically used to: compare the multi-dimensional network performance indicators included in the at least two first routing information respectively, and determine the discarded first routing information.

[0029] In combination with the second aspect, in a possible implementation manner of the second aspect, among the at least two first routing information, the multi-dimensional network performance indicators in the discarded first routing information are all smaller than the multi-dimensional network performance indicators in the retained first routing information; or among the at least two first routing information, the non-cost indicators in the multi-dimensional network performance indicators of the discarded first routing information are the same as the non-cost indicators in the multi-dimensional network performance indicators of the retained first routing information, and the cost indicators in the multi-dimensional network performance indicators of the discarded first routing information are smaller than the cost indicators in the multi-dimensional network performance indicators of the retained first routing information.

[0030] In combination with the second aspect, in a possible implementation of the second aspect, the acquisition module is specifically used to: receive third routing information, the third routing information is routing information obtained by the second network device, the second network device is a head node, the third routing information includes a first identifier and a multi-dimensional network performance indicator, the first identifier is used to indicate the first network device to filter the at least two first routing information according to the third routing information; according to the first identifier, respectively compare the multi-dimensional network performance indicators included in the at least two first routing information with the multi-dimensional network performance indicators included in the third routing information, and determine the discarded first routing information.

[0031] In combination with the second aspect, in a possible implementation of the second aspect, the third routing information also includes an identifier of the second network device, and the identifier of the second network device is used to instruct the second network device to send the third routing information obtained by the second network device to the first network device.

[0032] In combination with the second aspect, in a possible implementation manner of the second aspect, the at least one first routing information also includes a path label.

[0033] In combination with the second aspect, in a possible implementation of the second aspect, the multi-dimensional network performance indicators include: bandwidth, latency, packet loss rate, utilization, throughput, speed, and reliability.

[0034] In a third aspect, a first network device is provided, wherein the first network device has the function of implementing the above-mentioned device. The function can be implemented based on hardware, or can be implemented based on hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-mentioned function.

[0035] In one possible design, the structure of the first network device includes a processor, and the processor is configured to support the first network device to perform corresponding functions in the above method.

[0036] The first network device may include a memory, which is coupled to the processor and stores program instructions and data necessary for the first network device.

[0037] In another possible design, the first network device includes: a processor, a transmitter, a receiver, a random access memory, a read-only memory, and a bus. The processor is respectively coupled to the transmitter, the receiver, the random access memory, and the read-only memory through the bus. When the first network device needs to be run, it is started by the basic input / output system solidified in the read-only memory or the bootloader boot system in the embedded system to guide the first network device into a normal operating state. After the first network device enters the normal operating state, the application program and the operating system are run in the random access memory, so that the processor executes the method in the first aspect or any possible implementation of the first aspect.

[0038] In a fourth aspect, a first network device is provided, the first network device comprising: a main control board and an interface board, and further comprising a switching network board. The first network device is used to execute the method in the first aspect or any possible implementation of the first aspect.

[0039] It should be noted that there may be one or more main control boards, and when there are multiple boards, they may include a main main control board and a standby main control board. There may be one or more interface boards. The stronger the data processing capability of the first network device, the more interface boards are provided. There may also be one or more physical interface cards on the interface board. There may be no switching network board, or there may be one or more switching network boards. When there are multiple switching network boards, load sharing and redundant backup can be achieved together. Under the centralized forwarding architecture, the first network device may not need a switching network board, and the interface board bears the processing function of the service data of the entire system. Under the distributed forwarding architecture, the first network device may have at least one switching network board, and the data exchange between multiple interface boards is realized through the switching network board, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of the first network device of the distributed architecture are greater than those of the device of the centralized architecture. Which architecture to adopt depends on the specific networking deployment scenario, and no limitation is made here.

[0040] In a fifth aspect, a first network device is provided, the first network device comprising a control module and a first forwarding sub-device. The first forwarding sub-device comprises: an interface board, and further, may also comprise a switching network board. The first forwarding sub-device is used to perform the function of the interface board in the fourth aspect, and further, may also perform the function of the switching network board in the fourth aspect. The control module comprises a receiver, a processor, a transmitter, a random access memory, a read-only memory, and a bus. The processor is respectively coupled to the receiver, the transmitter, the random access memory, and the read-only memory through the bus. When the control module needs to be run, it is started by the basic input / output system solidified in the read-only memory or the bootloader boot system in the embedded system, and the control module is guided to enter a normal operating state. After the control module enters a normal operating state, an application program and an operating system are run in the random access memory, so that the processor performs the function of the main control board in the fourth aspect.

[0041] It can be understood that, in practical applications, the first network device may include any number of interfaces, processors or memories.

[0042] In a sixth aspect, a computer program product is provided, the computer program product comprising: a computer program code, when the computer program code is run on a computer, the computer executes the above-mentioned first aspect or any possible executable method of the first aspect.

[0043] In a seventh aspect, a computer readable medium is provided, the computer readable medium storing program code, when the computer program code is run on a computer, the computer executes the first aspect or any possible method of the first aspect. These computer readable storages include but are not limited to one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), Flash memory, electrically EPROM (EEPROM) and hard drive.

[0044] In an eighth aspect, a chip is provided, the chip comprising a processor and a data interface, wherein the processor reads instructions stored in a memory through the data interface to execute the method in the first aspect or any possible implementation of the first aspect. In a specific implementation process, the chip can be implemented in the form of a central processing unit (CPU), a microcontroller unit (MCU), a microprocessor (MPU), a digital signal processor (DSP), a system on chip (SoC), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or a programmable logic device (PLD).

[0045] In a ninth aspect, a system is provided, comprising the apparatus as described in the second aspect or any possible implementation manner of the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Figure 1 It is a schematic flowchart of a method for sending a message provided in an embodiment of the present application.

[0047] Figure 2 It is a schematic flowchart of a method for obtaining a first transfer table provided in an embodiment of the present application.

[0048] Figure 3 It is a schematic diagram of the format of a protocol message provided in an embodiment of the present application.

[0049] Figure 4 It is a schematic block diagram of a forward routing calculation provided in an embodiment of the present application.

[0050] Figure 5 It is a schematic block diagram provided by an embodiment of the present application for discarding paths that do not meet the requirements during the forward calculation of routes.

[0051] Figure 6 It is a schematic block diagram provided by an embodiment of the present application for collaborative reverse backtracking in the process of forward route calculation to discard paths that do not meet the requirements.

[0052] Figure 7 It is a schematic diagram of an extended routing table provided in an embodiment of the present application.

[0053] Figure 8 This is a schematic diagram of a routing table generated by a router in a network provided in an embodiment of the present application.

[0054] Fig. 9 It is a schematic flowchart of a method for sending a first message provided in an embodiment of the present application.

[0055] Fig.10 It is a schematic flowchart of a method for sending a second message provided in an embodiment of the present application.

[0056] Fig.11 It is a schematic structural diagram of a device 1100 for sending a message provided in an embodiment of the present application.

[0057] Fig.12 It is a schematic diagram of the hardware structure of the first network device 2000 according to an embodiment of the present application.

[0058] Fig.13 A schematic diagram of the hardware structure of another first network device 2100 according to an embodiment of the present application. DETAILED DESCRIPTION

[0059] The technical solution in this application will be described below in conjunction with the accompanying drawings.

[0060] The present application will present various aspects, embodiments or features around a system including multiple devices, components, modules, etc. It should be understood and appreciated that each system may include additional devices, components, modules, etc., and / or may not include all devices, components, modules, etc. discussed in conjunction with the figures. In addition, combinations of these schemes may also be used.

[0061] In addition, in the embodiments of the present application, words such as "exemplary" and "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" in the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of the word "exemplary" is intended to present concepts in a concrete way.

[0062] In the embodiments of the present application, "corresponding (corresponding, relevant)" and "corresponding (corresponding)" can sometimes be used interchangeably. It should be pointed out that when the distinction between them is not emphasized, the meanings they intend to express are consistent.

[0063] The network architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. A person of ordinary skill in the art can appreciate that with the evolution of the network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are equally applicable to similar technical problems.

[0064] References to "one embodiment" or "some embodiments" etc. described in this specification mean that a particular feature, structure or characteristic described in conjunction with the embodiment is included in one or more embodiments of the present application. Thus, the phrases "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear at different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0065] In the present application, "at least one" means one or more, and "plurality" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: including the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.

[0066] The Internet has been developing for decades, from the initial small network to the large wired network covering the whole world, and now to the mobile Internet era. The Internet has become an important infrastructure indispensable to the production and life of human society. After entering the mobile Internet era, the scale of the Internet and the number of users have shown an exponential development trend. At the same time, Internet applications are emerging in an endless stream, and network services have also changed from simple web browsing services to multi-demand and multimedia services.

[0067] Among a large number of Internet technology studies, the research on Internet routing is undoubtedly the most basic and important. The performance of Internet routing will directly affect the performance of various aspects of the network. As the core of the Internet, the routing system is an important basic component for achieving network connectivity. The routing protocol is a kind of regulation and specification, which stipulates the pre-agreed regulations and standards in the process of routing guidance data packets.

[0068] Routing is a basic and important task in communication networks. In the initial stage, routing is usually a single-objective problem. This objective may be a function of the number of hops, physical distance, or the average delay of a standard test packet on this edge. By changing the weight of the function, the routing algorithm can calculate the "shortest" path according to any standard. However, with the rise of operators' 2B services, business needs have evolved from traditional single-objective considerations to multi-dimensional objectives. Therefore, when making routing selections, it is necessary to consider multiple dimensions of objectives at the same time.

[0069] Some existing multi-objective routing protocols mainly introduce design criteria for different objectives, such as linear weighting of multiple objectives, and then transform multiple different objectives into a comprehensive objective for routing selection. In the routing selection process, the preferences of multi-dimensional objectives are not fully considered, so it is impossible to match ideal path information for the preferences of different multi-dimensional objectives.

[0070] In view of this, an embodiment of the present application provides a method for sending a message, which can select a matching or ideal transmission path for different network performance indicator preferences.

[0071] Figure 1 FIG. 1 is a schematic flow chart of a method for sending a message provided in an embodiment of the present application. Figure 1 As shown, the method may include steps 110-130, and steps 110-130 are described in detail below.

[0072] Step 110: The first network device receives a first message, where the first message includes a first service preference identifier.

[0073] As an example, the first network device may be a head node in the network, or may be an intermediate node or a tail node, which is not specifically limited in the present embodiment. The network may include but is not limited to: a cloud wide area network, an operator network, etc.

[0074] In an embodiment of the present application, the first message may include a first service preference identifier, and the first service preference identifier is used to indicate a preference for a multi-dimensional network performance indicator corresponding to the first message. For example, the multi-dimensional network performance indicator may include but is not limited to: bandwidth, latency, packet loss rate, utilization, throughput, reliability and other indicators.

[0075] The embodiment of the present application does not specifically limit the first service preference identifier. For example, the first service preference identifier is a preference weight. For another example, the first service preference identifier is a preference target. For another example, the first service preference identifier is a preference flag. For another example, the first service preference identifier is a service preference sequence.

[0076] As an example, the following takes a multi-dimensional network performance indicator including bandwidth and latency, and the first service preference identifier as a preference flag as an example for explanation. Assume that the first network device receives two service messages, namely the first message and the second message, the first message carries a first service preference identifier, and the second message carries a second service preference identifier, wherein the first service preference identifier indicates that the service preference requirement corresponding to the first message is latency first and bandwidth second, and the second service preference identifier indicates that the service preference requirement corresponding to the second message is bandwidth first and latency second. In one possible implementation, the first service preference identifier is (1, 0), and the second service preference identifier is (0, 1). This will be described in detail below in conjunction with specific embodiments, which will not be described in detail here.

[0077] Step 120: The first network device determines a first forwarding table entry from the first forwarding table according to the first service preference identifier.

[0078] In the embodiments of the present application, different forwarding table items correspond to different service preference identifiers. For example, it is assumed that the first forwarding table includes a first forwarding table item and a second forwarding table item, wherein the first forwarding table item includes a first service preference identifier, and the first forwarding table item is determined based on the network topology information corresponding to the first service preference identifier. The second forwarding table item includes a second service preference identifier, and the second forwarding table item is determined based on the network topology information corresponding to the second service preference identifier. For the specific process of determining the corresponding forwarding table items for different service preferences, please refer to the description in the specific embodiments below, which will not be described in detail here.

[0079] Step 130: The first network device forwards the first message according to the next hop device information in the first forwarding table entry.

[0080] As an example, the first network device can forward the first message according to the next hop device information in the first forwarding table entry. Specifically, the first forwarding table entry includes the next hop device information and the outgoing interface, and the first network device can send the first message to the next hop device according to the outgoing interface, thereby realizing the forwarding process of the first message by the first network device.

[0081] Optionally, in some embodiments, the first forwarding table entry may also include multi-dimensional network performance indicators corresponding to the first service preference identifier.

[0082] Optionally, in some embodiments, the first forwarding table entry may further include a path label for indicating the path number on the first network device.

[0083] Optionally, in some embodiments, the first forwarding table entry may also include information of a source device and information of a destination device.

[0084] In the above technical solution, diversified routing options can be determined for different network performance indicator preferences. After receiving a service message, the network device can select forwarding information with the service preference identifier from the forwarding table based on the service preference identifier carried in the service message. In this way, the network performance indicator matching or ideal transmission path can be selected according to the preference of the network performance indicator.

[0085] Optionally, in some embodiments, the first network device also needs to obtain the first forwarding table. In one implementation, the first network device receives at least one first routing information, and updates the multi-dimensional network performance indicators included in the at least one first routing information according to the link edge information corresponding to the links that transmit the at least one first routing information, and generates the first forwarding table according to the updated at least one second routing information.

[0086] Combine the following Figure 2 , a specific implementation process of obtaining the first forwarding table is described in detail. It should be understood that Figure 2 The examples are only intended to help those skilled in the art understand the embodiments of the present application, and are not intended to limit the embodiments of the present application to the specific numerical values ​​or specific scenarios illustrated. Figure 2 It is obvious that various equivalent modifications or changes can be made, and such modifications and changes also fall within the scope of the embodiments of the present application.

[0087] Figure 2 FIG. 1 is a schematic flow chart of a method for obtaining a first forwarding table provided in an embodiment of the present application. Figure 2 As shown, the method may include steps 210-240, and steps 210-240 are described in detail below.

[0088] It should be understood that Figure 2 In this example, the network performance indicators are delay and bandwidth, and the optimal path from router R1 to router R4 is found under the delay and bandwidth targets.

[0089] Step 210: Router R4 sends protocol message 4 to router R1, router R2, and router R3 respectively.

[0090] In the embodiment of the present application, router R4 serves as a destination device, which can initialize protocol message 4 locally and send protocol message 4 to routers R1, router R2, and router R3 directly connected to it through links.

[0091] In one example, the above-mentioned protocol message is a distance vector protocol message, and the distance vector protocol may be, for example, a routing information protocol (RIP).

[0092] For a possible protocol message format, see Figure 3 .like Figure 3 As shown, the protocol message includes but is not limited to the following fields: command (8bit), version (8bit), unused (16bit), address family identifier (16bit), backtrace flag (16bit), start IP address + target IP address (64bit), start network mask + target network mask (64bit), next hop (32bit), path label (8bit), multi-dimensional target value (32bit).

[0093] It should be understood that the above multi-dimensional target value is also the multi-dimensional network performance index mentioned above. The above fields such as backtracking flag (16bit), starting IP address + target IP address (64bit), starting network mask + target network mask (64bit), next hop (32bit), path label (8bit), multi-dimensional target value (32bit) can also be called routing information.

[0094] Take protocol message 4 as Figure 3 The message format shown in the figure has multi-dimensional target values ​​of delay and bandwidth as examples. Figure 4 As shown, the protocol message 1 initialized by router R4 includes: the starting address (R1), the destination address (R4), the backtracking flag (0), the delay and bandwidth target values ​​(0, +∞), the next hop address (-) and its path label (-).

[0095] Step 220: Router R3 generates protocol message 3 according to the routing information in protocol message 4 sent by router R4 and the link edge information of the link between router R3 and router R4.

[0096] like Figure 4 As shown, taking the link edge information of the link between router R3 and router R4 as the delay and bandwidth target value (3, 12) as an example, the protocol message 3 determined by router R3 includes: the start address (R1), the destination address (R4), the backtracking flag (0), the delay and bandwidth target value (3, 12), the next hop address (R4, -) and its path label (1).

[0097] It should be understood that the path label (1) in the above protocol message 3 is used to indicate that the path is the first path on router R3, the delay in the path is 3, the bandwidth is 12, the starting address is router R1, the destination address is router R4, and the next hop is router R4.

[0098] In the embodiment of the present application, the router R3 may also send the protocol message 3 generated by it to the router R2 and the router R1 directly connected to it through the link.

[0099] Step 230: Router R2 generates protocol message 2-1 and protocol message 2-2.

[0100] In one example, the router R2 may determine the protocol message 2-1 according to the routing information in the protocol message 4 sent by the router R4 and the link edge information of the link between the router R2 and the router R4.

[0101] For example, Figure 4 As shown, taking the link edge information of the link between router R2 and router R4 as the delay and bandwidth target value (8, 10) as an example, the protocol message 2-1 determined by router R2 includes: the start address (R1), the destination address (R4), the backtrace flag (0), the delay and bandwidth target value (8, 10), the next hop address (R4, -) and its path label (1).

[0102] It should be understood that the path label (1) in the above protocol message 2-1 is used to indicate that the path is the first path on router R2, the delay in the path is 8, the bandwidth is 10, the starting address is router R1, the destination address is router R4, and the next hop is router R3.

[0103] In another example, the router R2 may determine the protocol message 2-2 according to the routing information in the protocol message 3 sent by the router R3 and the link edge information of the link between the router R2 and the router R3.

[0104] For example, Figure 4 As shown, taking the link edge information of the link between router R2 and router R3 as the delay and bandwidth target value (5, 8) as an example, the protocol message 2-2 determined by router R2 includes: the start address (R1), the destination address (R4), the backtrace flag (0), the delay and bandwidth target value (8, 8), the next hop address (R3, 1) and its path label (2).

[0105] It should be understood that the path label (2) in the above protocol message 2-2 is used to indicate that the path is the second path on router R2, the delay in the path is 8, the bandwidth is 8, the starting address is router R1, the destination address is router R4, and the next hop is router R3. The next hop address (R3, 1) indicates forwarding through the first path in router R3.

[0106] It should also be understood that for cost-related targets (e.g., latency), the received target value and the target value in the link edge information are added; for non-cost-related targets (e.g., bandwidth), the smaller value is selected between the received target value and the target value in the link edge information. Therefore, the latency 8 in protocol message 2-2 is obtained by adding the latency 3 in the received protocol message 3 to the link edge latency 5 between routers R2 and R3. The bandwidth 8 in protocol message 2-2 is determined by selecting the smaller bandwidth from the bandwidth 12 of the received protocol message 3 and the bandwidth 8 of the link edge information.

[0107] In the embodiment of the present application, the router R2 may also send the protocol message 2-1 and the protocol message 2-2 generated by it to the router R1 directly connected to it through the link.

[0108] Step 240: Router R1 determines protocol message 1-1, protocol message 1-2, protocol message 1-3, and protocol message 1-4.

[0109] In one example, the router R1 may determine the protocol message 1-1 according to the routing information in the protocol message 4 sent by the router R4 and the link edge information of the link between the router R1 and the router R4.

[0110] For example, Figure 4 As shown, taking the link edge information of the link between router R1 and router R4 as the delay and bandwidth target value (6, 8) as an example, the protocol message 1-1 determined by router R1 includes: the start address (R1), the destination address (R4), the backtracking flag (0), the delay and bandwidth target value (6, 8), the next hop address (R4, -) and its path label (1).

[0111] In another example, the router R1 may determine the protocol message 1-2 according to the routing information in the protocol message 3 sent by the router R3 and the link edge information of the link between the router R1 and the router R3.

[0112] For example, Figure 4 As shown, taking the link edge information of the link between router R1 and router R3 as the delay and bandwidth target value (5, 10) as an example, the protocol message 1-2 determined by router R1 includes: the start address (R1), the destination address (R4), the backtrace flag (0), the delay and bandwidth target value (8, 10), the next hop address (R3, 1) and its path label (2).

[0113] In another example, the router R1 may determine the protocol message 1-3 according to the routing information in the protocol message 2-1 sent by the router R2 and the link edge information of the link between the router R1 and the router R2.

[0114] For example, Figure 4 As shown, taking the link edge information of the link between router R1 and router R2 as the delay and bandwidth target value (2, 7) as an example, the protocol message 1-3 determined by router R1 includes: the start address (R1), the destination address (R4), the backtracking flag (0), the delay and bandwidth target value (10, 7), the next hop address (R2, 1) and its path label (3).

[0115] In another example, the router R1 may determine the protocol message 1-4 according to the routing information in the protocol message 2-2 sent by the router R2 and the link edge information of the link between the router R1 and the router R2.

[0116] For example, Figure 4 As shown, taking the link edge information of the link between router R1 and router R2 as the delay and bandwidth target value (2, 7) as an example, the protocol message 1-4 determined by router R1 includes: the start address (R1), the destination address (R4), the backtracking flag (0), the delay and bandwidth target value (10, 7), the next hop address (R2, 2) and its path label (4).

[0117] Similarly, the path label (4) in the above protocol message 1-3 is used to indicate that the path is the fourth path on router R1, the delay in the path is 10, the bandwidth is 7, the starting address is router R1, the destination address is router R4, and the next hop is router R2. The next hop address (R2, 2) indicates forwarding through the second path in router R2.

[0118] Optionally, in order to save the storage overhead of the router and obtain all ideal paths to multiple targets, the embodiments of the present application can also discard paths that do not meet the requirements during the forward calculation of the route, or coordinate reverse backtracking during the forward calculation of the route, thereby avoiding some redundant forward calculations.

[0119] For ease of description, the following first describes in detail the rules for discarding in the forward routing calculation process or the reverse backtracking process.

[0120] A possible example is that if a path has a larger delay and a smaller bandwidth than other paths, then the path can be discarded. Another possible example is that if the delay and bandwidth in a path are equal to those in other paths, then this path is retained first. Another possible example is that if the cost target (e.g., delay) in a path is the same as that in other paths, then this path is retained first regardless of whether the non-cost target (e.g., bandwidth) is smaller than that in other paths. Another possible example is that if the non-cost target (e.g., bandwidth) in a path is the same as that in other paths, then the path with a smaller cost target (e.g., delay) than other paths is discarded.

[0121] An example, the following combines Figure 5 , taking the example of discarding the paths that do not meet the requirements in the process of forward route calculation as an example.

[0122] like Figure 5 As shown, for router R2, it has received two paths from routers R4 and R3 successively. The second path (delay 8, bandwidth 8) has the same delay as the first path (delay 8, bandwidth 10), but has a smaller bandwidth. Therefore, the second path is dominated by the first path and should be discarded. However, since the link edge bandwidth from router R2 to router R1 is 7, the bandwidths of the two paths become the same (both 7) after passing through the link edge and being transmitted to router R1. Therefore, the delay and bandwidth of the two paths are equal after being transmitted to router R1 (delay 10, bandwidth 7). Therefore, the second path is retained in router R2 as an equivalent path to the first path so as to be transmitted to router R1.

[0123] like Figure 5 As shown, for router R1, it has received four paths from routers R4, R3, and R2. Although the delay of the second path in R1 (delay 8, bandwidth 10) is greater than that of the first path (delay 6, bandwidth 8), the bandwidth is smaller, so the second path in R1 (delay 8, bandwidth 10) is retained. The third path in R1 (delay 10, bandwidth 7) has a greater delay and a smaller bandwidth than the first two paths, so it is dominated by the first two paths, so the third path in R1 is discarded. Similarly, the fourth path in R1 (delay 10, bandwidth 7) has a greater delay and a smaller bandwidth than the first two paths, so it is dominated by the first two paths, so the fourth path in R1 is discarded.

[0124] Another example, the following combines Figure 6 , take the example of collaborative reverse backtracking in the process of forward route calculation and discarding the paths that do not meet the requirements.

[0125] In an embodiment of the present application, during the forward routing calculation process, when router R1 (head node) obtains protocol message 1-1 according to protocol message 4 sent by router R4, router R1 finds that the starting address of protocol message 1-1 is the same as its own address (both are R1), so router R1 sets the backtrace flag of protocol message 1-1 from 0 to 1 and sends the backtrace information to the routers directly connected to it (including R2, R3, and R4).

[0126] like Figure 6 As shown, taking the example of router R1 sending traceback information to R2, the traceback information sent by router R1 to R2 includes: starting address (R1), target address (R4), traceback flag (1), delay and bandwidth target value (6, 8), next hop address (R4, -) and its path label (1). Although the delay of the first path (delay 8, bandwidth 10) of router R2 is larger than that of the traceback information (delay 6, bandwidth 8), the bandwidth is smaller. Therefore, the first path (delay 8, bandwidth 10) in R1 is retained. Although the bandwidth of the second path (delay 8, bandwidth 8) of router R2 is equal to that of the traceback information (delay 6, bandwidth 8), the delay is larger. Therefore, the second path (delay 8, bandwidth 8) in R2 is discarded. In this way, some redundant forward calculations in R2 can be avoided, and the storage overhead and transmission overhead of R2 can be reduced.

[0127] Similarly, in the forward routing calculation process, when router R1 (head node) obtains protocol message 1-2 according to protocol message 3 sent by router R3, the backtracking flag of the protocol message 1-2 can be set from 0 to 1 by the above method and the backtracking information can be sent to the routers directly connected to it (including R2, R3, R4) respectively. The directly connected routers (including R2, R3, R4) can also determine whether to discard the locally saved path according to the target value in the backtracking information. Please refer to the description above for the specific method, which will not be repeated here.

[0128] In the embodiment of the present application, after discarding the non-optimal or non-ideal paths in each router, two paths are stored in router R1, one of which is (R1, R4, 0, (6, 8), (R4, -), 1); the other is (R1, R4, 0, (8, 10), (R3, 1), 2). Router R2 stores a path, namely (R1, R4, 0, (8, 10), (R4, -), 1). Router R3 stores a path, namely (R1, R4, 0, (3, 12), (R4, -), 1). Router R4 stores a path, namely (R1, R4, 0, (0, +∞), -, -).

[0129] In the embodiment of the present application, the router can determine the forwarding table (or routing table) according to the above-mentioned reserved path information (or routing information). Specifically, by extending the service preference flag in the routing table, the function of selecting different paths for forwarding according to different services is realized. Figure 7 As shown, the routing table provided in the embodiment of the present application may include but is not limited to the following information: starting network address, destination network address, multi-dimensional target value, next hop address, path label, service preference flag, etc.

[0130] In the embodiment of the present application, after all routers have completed the calculation, router R1 may create the following Table 1 and Table 2. Table 1 is a service preference sequence corresponding to the preference requirements of different services. Figure 2 It is the preference index corresponding to different business preference sequences.

[0131] Table 1

[0132] Business Name Business Preference Sequence Business 1 (1,2) Business 2 (2,1)

[0133] Referring to Table 1, corresponding service preference sequences are set for preference requirements of different services. For example, in this example, latency and bandwidth are considered, and the preference requirement of service 1 is latency first and bandwidth second (that is, preference for latency), and the service preference sequence corresponding to service 1 is set to (1, 2). For another example, the preference requirement of service 2 is bandwidth first and latency second (that is, preference for bandwidth), and the service preference sequence corresponding to service 2 is set to (2, 1).

[0134] Table 2

[0135] Business Preference Sequence Preference Index (1,2) 1 (2,1) 2

[0136] Referring to Table 2, the corresponding preference indexes are determined for different service preference sequences. For example, the service preference sequence corresponding to delay priority followed by bandwidth (1, 2) has a corresponding preference index of 1. For another example, the service preference sequence corresponding to delay priority followed by bandwidth (2, 1) has a corresponding preference index of 2.

[0137] In the embodiment of the present application, router R1 initializes all flag bits of the first two paths finally retained in the routing table to 0, and then sorts the two paths according to latency and bandwidth respectively, and sets the first position of its preference flag bit to 1 for the first path with smaller latency, and sets the second position of its preference flag bit to 1 for the second path with larger bandwidth.

[0138] like Figure 8As shown, the routing table generated by router R1 includes the following two entries, where the first entry includes: R4, (6, 8), (1, 0), (R4, -), 1; the second entry includes: R4, (8, 10), (0, 1), (R3, 1), 2. The routing table generated by router R3 includes: R4, (3, 12), (0, 1), (R4, -), 1. The routing table generated by router R4 includes: R4, (0, +∞), (1, 0), (R4, -), 1; R4, (0, +∞), (0, 1), (R4, -), 2.

[0139] It should be understood that, taking the second table entry generated by router R1 as an example, R4 represents the destination address, (8, 10) represents the delay of 8, the bandwidth of 10, (0, 1) represents the preference flag, (R3, 1) represents the next hop is R3, and forwarding is performed through the first path in R3, and 2 represents that the path is the second path in R1.

[0140] Below Figure 8 As an example, the routing table shown in Fig. 9 and Fig.10 , describes the message forwarding process in detail. It should be understood that Fig. 9 and Fig.10 The examples are only intended to help those skilled in the art understand the embodiments of the present application, and are not intended to limit the embodiments of the present application to the specific numerical values ​​or specific scenarios illustrated. Fig. 9 and Fig.10 It is obvious that various equivalent modifications or changes can be made, and such modifications and changes also fall within the scope of the embodiments of the present application.

[0141] Fig. 9 is a schematic flow chart of a method for sending a first message provided in an embodiment of the present application. Fig. 9 As shown, the method may include steps 910-930, and steps 910-930 are described in detail below.

[0142] Step 910: Router R1 receives a first message, which carries a service preference sequence (2, 1).

[0143] It should be understood that the embodiment of the present application does not specifically limit the service preference identifier carried in the first message. For the convenience of description, Fig. 9 In the description, the service preference identifier is taken as the service preference sequence (2, 1) as an example.

[0144] In the embodiment of the present application, after receiving the first message, router R1 determines that the service prefers bandwidth according to the service preference sequence (2, 1). Router R1 determines that the preference index corresponding to the service preference sequence (2, 1) is 2. Router R1 needs to determine in the saved routing table that the path whose second bit of the preference flag is 1 is used for message forwarding. Figure 8 , the second bit of the preference flag of the second entry in the routing table saved by router R1 is 1, so the first message can be forwarded through the second entry in the routing table saved by router R1. Specifically, the first message can be sent to R3 according to the next hop device of the second entry in router R1 being R3.

[0145] Step 920: R3 receives a first message, which carries a service preference sequence (2, 1).

[0146] Similarly, the second bit of the preference flag of the first entry in the routing table saved by router R3 is 1, so the first message can be forwarded through the first entry in the routing table saved by router R3. Specifically, the first message can be sent to R4 according to the next hop device of the first entry in router R3 being R4.

[0147] Step 930: R4 receives the first message and processes the first message.

[0148] Fig.10 is a schematic flow chart of a method for sending a second message provided in an embodiment of the present application. Fig.10 As shown, the method may include steps 1010-1020, and steps 1010-1020 are described in detail below.

[0149] Step 1010: Router R1 receives a second message, which carries a service preference sequence (1, 2).

[0150] It should be understood that the embodiment of the present application does not specifically limit the service preference identifier carried in the first message. For the convenience of description, Fig.10 In the description, the service preference identifier is taken as the service preference sequence (1, 2) as an example.

[0151] In the embodiment of the present application, after receiving the second message, router R1 determines that the service preference is over latency according to the service preference sequence (1, 2). Router R1 determines that the preference index corresponding to the service preference sequence (1, 2) is 1. Router R1 needs to determine in the saved routing table that the path whose first preference flag bit is 1 is used for message forwarding. Figure 8, the first preference flag of the first entry in the routing table saved by router R1 is 1, so the second message can be forwarded through the first entry in the routing table saved by router R1. Specifically, the first message can be sent to R4 according to the next hop device of the first entry in router R1 being R4.

[0152] Step 1020: R4 receives the first message and processes the first message.

[0153] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0154] Combination of the above Figures 1 to 10 , describes in detail the method provided by the embodiment of the present application, and will be combined with Figures 11 to 13 , describes in detail the embodiments of the device of the present application. It should be understood that the description of the method embodiment corresponds to the description of the device embodiment, so the parts not described in detail can refer to the previous method embodiment.

[0155] Fig.11 1 is a schematic structural diagram of a device 1100 for sending a message provided in an embodiment of the present application. The device 1100 for sending a message is arranged in a first network device. Fig.11 The device 1100 for sending a message shown in the figure can execute the corresponding steps of the method of the above embodiment. Fig.11 As shown, the device 1100 includes: a receiving module 1110, a determining module 1120, and a sending module 1130, wherein the receiving module 1110 is used to receive a first message, the first message includes a first service preference identifier, and the first service preference identifier is used to indicate the preference of the multi-dimensional network performance indicators corresponding to the first message; the determining module 1120 is used to determine a first forwarding table item from a first forwarding table according to the first service preference identifier, the first forwarding table item includes the first service preference identifier and next-hop device information, and the first forwarding table item is generated according to the network topology information corresponding to the first service preference identifier; the sending module 1130 is used to forward the first message according to the next-hop device information in the first forwarding table item.

[0156] Optionally, the receiving module 1110 is also used to receive a second message, the second message including a second service preference identifier, and the second service preference identifier is used to indicate the preference of the multi-dimensional network performance indicator corresponding to the second message; the determining module 1120 is also used to determine a second forwarding table item from the first forwarding table according to the second service preference identifier, the second forwarding table item including the second service preference identifier and next-hop device information, and the second forwarding table item is generated according to the network topology information corresponding to the first service preference identifier; the sending module 1130 is also used to forward the second message according to the second forwarding table item.

[0157] Optionally, the device 1100 further includes: an acquisition module, configured to acquire the first forwarding table.

[0158] Optionally, the acquisition module is specifically used to: receive at least one first routing information, each of which includes multi-dimensional network performance indicators and next-hop device information; update the multi-dimensional network performance indicators included in the at least one first routing information according to the link edge information corresponding to the links that transmit the at least one first routing information, and obtain at least one second routing information, the link edge information corresponding to the link includes the multi-dimensional network performance indicators on the link; generate the first forwarding table according to the at least one second routing information.

[0159] Optionally, the at least one second routing information includes at least two second routing information, and the acquisition module is specifically used to: filter the at least one second routing information; and generate the first forwarding table according to the second routing information retained after filtering.

[0160] Optionally, the acquisition module is specifically used to: respectively compare the multi-dimensional network performance indicators included in the at least two first routing information to determine the discarded first routing information.

[0161] Optionally, among the at least two first routing information, the multi-dimensional network performance indicators in the discarded first routing information are all smaller than the multi-dimensional network performance indicators in the retained first routing information; or among the at least two first routing information, the non-cost indicators in the multi-dimensional network performance indicators of the discarded first routing information are the same as the non-cost indicators in the multi-dimensional network performance indicators of the retained first routing information, and the cost indicators in the multi-dimensional network performance indicators of the discarded first routing information are smaller than the cost indicators in the multi-dimensional network performance indicators of the retained first routing information.

[0162] Optionally, the acquisition module is specifically used to: receive third routing information, the third routing information is routing information obtained by the second network device, the second network device is a head node, the third routing information includes a first identifier and a multi-dimensional network performance indicator, the first identifier is used to indicate the first network device to filter the at least two first routing information according to the third routing information; according to the first identifier, respectively compare the multi-dimensional network performance indicators included in the at least two first routing information with the multi-dimensional network performance indicators included in the third routing information to determine the discarded first routing information.

[0163] Optionally, the third routing information also includes an identifier of the second network device, and the identifier of the second network device is used to instruct the second network device to send the third routing information obtained by the second network device to the first network device.

[0164] Optionally, the at least one first routing information also includes a path label.

[0165] Optionally, the multi-dimensional network performance indicators include: bandwidth, latency, packet loss rate, utilization, throughput, speed, and reliability.

[0166] Fig.12 It is a schematic diagram of the hardware structure of the first network device 2000 according to an embodiment of the present application. Fig.12 The first network device 2000 shown can execute the method of the above embodiment.

[0167] like Fig.12 As shown, the first network device 2000 includes a processor 2001, a memory 2002, an interface 2003 and a bus 2004. The interface 2003 can be implemented in a wireless or wired manner, and can be a network card. The processor 2001, the memory 2002 and the interface 2003 are connected via a bus 2004.

[0168] The interface 2003 may specifically include a transmitter and a receiver, which are used by the first network device to implement the above-mentioned transmission and reception.

[0169] The processor 2001 is used to execute the processing performed by the first network device in the above-mentioned embodiment. The memory 2002 includes an operating system 20021 and an application 20022, which are used to store programs, codes or instructions. When the processor or hardware device executes these programs, codes or instructions, the processing process involving the first network device in the method embodiment can be completed. Optionally, the memory 2002 may include a read-only memory (ROM) and a random access memory (RAM). Among them, the ROM includes a basic input / output system (BIOS) or an embedded system; the RAM includes an application and an operating system. When it is necessary to run the first network device 2000, it is started by the BIOS solidified in the ROM or the bootloader boot system in the embedded system, and the first network device 2000 is guided to enter a normal operating state. After the first network device 2000 enters a normal operating state, the application and operating system in the RAM are run, thereby completing the processing process involving the first network device 2000 in the method embodiment.

[0170] Understandably, Fig.12 Only a simplified design of the first network device 2000 is shown. In practical applications, the first network device may include any number of interfaces, processors or memories.

[0171] Fig.13 A schematic diagram of the hardware structure of another first network device 2100 according to an embodiment of the present application. Fig.13 The first network device 2100 shown can execute the method of the above embodiment.

[0172] like Fig.13 The controller 2100 includes: a main control board 2110, an interface board 2130, a switching network board 2120 and an interface board 2140. The main control board 2110, the interface boards 2130 and 2140, and the switching network board 2120 are connected to the system backplane through a system bus to achieve intercommunication. Among them, the main control board 2110 is used to complete functions such as system management, equipment maintenance, and protocol processing. The switching network board 2120 is used to complete data exchange between various interface boards (interface boards are also called line cards or service boards). The interface boards 2130 and 2140 are used to provide various service interfaces (for example, POS interfaces, GE interfaces, ATM interfaces, etc.) and realize the forwarding of data packets.

[0173] The interface board 2130 may include a central processor 2131, a forwarding table entry memory 2134, a physical interface card 2133, and a network processor 2132. The central processor 2131 is used to control and manage the interface board and communicate with the central processor on the main control board. The forwarding table entry memory 2134 is used to store table entries. The physical interface card 2133 is used to complete the reception and transmission of traffic.

[0174] It should be understood that the operations on the interface board 2140 in the embodiment of the present application are consistent with the operations of the interface board 2130, and for the sake of brevity, they are not repeated.

[0175] It should be understood that the first network device 2100 of this embodiment may correspond to the functions and / or various steps implemented in the above method embodiment, which will not be described in detail here.

[0176] In addition, it should be noted that there may be one or more main control boards, and when there are multiple boards, they may include a main main control board and a standby main control board. There may be one or more interface boards. The stronger the data processing capability of the first network device, the more interface boards are provided. There may also be one or more physical interface cards on the interface board. There may be no switching network board, or there may be one or more switching network boards. When there are multiple switching network boards, load sharing redundant backup can be achieved together. Under the centralized forwarding architecture, the first network device may not need a switching network board, and the interface board assumes the processing function of the service data of the entire system. Under the distributed forwarding architecture, the first network device may have at least one switching network board, and the data exchange between multiple interface boards is realized through the switching network board, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of the first network device of the distributed architecture are greater than those of the device of the centralized architecture. Which architecture to adopt depends on the specific networking deployment scenario, and no limitation is made here.

[0177] The embodiment of the present application also provides a computer-readable medium, which stores a program code, and when the computer program code is run on a computer, the computer executes the method executed by the first network device. These computer-readable storages include but are not limited to one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), Flash memory, electrically EPROM (EEPROM) and hard drive (harddrive).

[0178] The embodiment of the present application also provides a chip, which is applied to a first network device, and the chip includes: at least one processor, at least one memory and an interface circuit, the interface circuit is responsible for the information interaction between the chip and the outside world, the at least one memory, the interface circuit and the at least one processor are interconnected through a line, and the at least one memory stores instructions; the instructions are executed by the at least one processor to perform the operation of the first network device in the method described in the above various aspects. In the specific implementation process, the chip can be implemented in the form of a central processing unit (CPU), a microcontroller unit (MCU), a microprocessor (MPU), a digital signal processor (DSP), a system on chip (SoC), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or a programmable logic device (PLD).

[0179] An embodiment of the present application further provides a computer program product, which is applied to a first network device. The computer program product includes a series of instructions. When the instructions are executed, the operations of the first network device in the methods described in the above aspects are performed.

[0180] The embodiment of the present application also provides a system, including the first network device and the second network device

[0181] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0182] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0183] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0184] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0185] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0186] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks or optical disks.

[0187] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for sending a message, It is characterized in that The method further comprises: The first network device receives a first message, where the first message includes a first service preference identifier, where the first service preference identifier is used to indicate a preference for a multi-dimensional network performance indicator corresponding to the first message; The first network device determines a first forwarding entry from a first forwarding table according to the first service preference identifier, the first forwarding entry including the first service preference identifier and next-hop device information, and the first forwarding entry is generated according to the network topology information corresponding to the first service preference identifier; The first network device forwards the first message according to the next hop device information in the first forwarding table entry.

2. The method according to claim 1, It is characterized in that The method further comprises: The first network device receives a second message, where the second message includes a second service preference identifier, where the second service preference identifier is used to indicate a preference for a multi-dimensional network performance indicator corresponding to the second message; The first network device determines a second forwarding table entry from the first forwarding table according to the second service preference identifier, the second forwarding table entry includes the second service preference identifier and next hop device information, and the second forwarding table entry is generated according to the network topology information corresponding to the second service preference identifier; The first network device forwards the second message according to the second forwarding table entry.

3. The method according to claim 1 or 2, It is characterized in that The method further comprises: The first network device obtains the first forwarding table.

4. The method according to claim 3, It is characterized in that The first network device obtains the first forwarding table, including: The first network device receives at least one first routing information, each of which includes a multi-dimensional network performance indicator and next-hop device information; The first network device updates the multi-dimensional network performance indicators included in the at least one first routing information according to the link edge information corresponding to the links transmitting the at least one first routing information, to obtain at least one second routing information, where the link edge information corresponding to the link includes the multi-dimensional network performance indicators on the link; The first network device generates the first forwarding table according to the at least one second routing information.

5. The method according to claim 4, It is characterized in that The at least one second routing information includes at least two second routing information, The first network device generates the first forwarding table according to the at least one second routing information, including: The first network device filters the at least one second routing information; The first network device generates the first forwarding table according to the second routing information retained after screening.

6. The method according to claim 5, It is characterized in that The first network device screens the at least one second routing information, including: The first network device compares the multi-dimensional network performance indicators included in the at least two first routing information respectively, and determines to discard the first routing information.

7. The method according to claim 6, It is characterized in that In the at least two first routing information, the multi-dimensional network performance indicators in the discarded first routing information are all smaller than the multi-dimensional network performance indicators in the retained first routing information; or Among the at least two first routing information, the non-cost indicators in the multi-dimensional network performance indicators of the discarded first routing information are the same as the non-cost indicators in the multi-dimensional network performance indicators of the retained first routing information, and the cost indicators in the multi-dimensional network performance indicators of the discarded first routing information are smaller than the cost indicators in the multi-dimensional network performance indicators of the retained first routing information.

8. The method according to any one of claims 5 to 7, It is characterized in that The first network device screens the at least one second routing information, including: The first network device receives third routing information, where the third routing information is routing information obtained by the second network device, the second network device is a head node, the third routing information includes a first identifier and a multi-dimensional network performance indicator, and the first identifier is used to instruct the first network device to filter the at least two first routing information according to the third routing information; The first network device compares the multi-dimensional network performance indicators included in the at least two first routing information with the multi-dimensional network performance indicators included in the third routing information according to the first identifier, and determines the discarded first routing information.

9. The method according to claim 8, It is characterized in that The third routing information also includes an identifier of the second network device, and the identifier of the second network device is used to instruct the second network device to send the third routing information obtained by the second network device to the first network device.

10. The method according to any one of claims 4 to 9, It is characterized in that The at least one first routing information also includes a path label.

11. The method according to any one of claims 1 to 10, It is characterized in that The multi-dimensional network performance indicators include: bandwidth, latency, packet loss rate, utilization, throughput, and reliability.

12. A device for sending a message, the device being arranged in a first network device, include: A receiving module, configured to receive a first message, wherein the first message includes a first service preference identifier, and the first service preference identifier is used to indicate a preference for a multi-dimensional network performance indicator corresponding to the first message; a determination module, configured to determine a first forwarding table entry from a first forwarding table according to the first service preference identifier, wherein the first forwarding table entry includes the first service preference identifier and next-hop device information, and the first forwarding table entry is generated according to network topology information corresponding to the first service preference identifier; A sending module is used to forward the first message according to the next hop device information in the first forwarding table entry.

13. The device according to claim 12, It is characterized in that The receiving module is further used to receive a second message, wherein the second message includes a second service preference identifier, and the second service preference identifier is used to indicate a preference for a multi-dimensional network performance indicator corresponding to the second message; The determination module is further used to determine a second forwarding table entry from the first forwarding table according to the second service preference identifier, the second forwarding table entry including the second service preference identifier and next hop device information, and the second forwarding table entry is generated according to the network topology information corresponding to the first service preference identifier; The sending module is further used to forward the second message according to the second forwarding table entry.

14. The device according to claim 12 or 13, It is characterized in that The device also includes: An acquisition module is used to acquire the first forwarding table.

15. The device according to claim 14, It is characterized in that The acquisition module is specifically used for: Receive at least one first routing information, each of which includes multi-dimensional network performance indicators and next-hop device information; According to the link edge information corresponding to the links transmitting the at least one first routing information, the multi-dimensional network performance indicators included in the at least one first routing information are updated respectively to obtain at least one second routing information, where the link edge information corresponding to the link includes the multi-dimensional network performance indicators on the link; The first forwarding table is generated according to the at least one second routing information.

16. The device according to claim 15, It is characterized in that The at least one second routing information includes at least two second routing information, and the acquiring module is specifically used for: screening the at least one second routing information; The first forwarding table is generated according to the second routing information retained after screening.

17. The device according to claim 16, It is characterized in that The acquisition module is specifically used for: The multi-dimensional network performance indicators included in the at least two first routing information are compared respectively to determine the discarded first routing information.

18. The device according to claim 17, It is characterized in that In the at least two first routing information, the multi-dimensional network performance indicators in the discarded first routing information are all smaller than the multi-dimensional network performance indicators in the retained first routing information; or Among the at least two first routing information, the non-cost indicators in the multi-dimensional network performance indicators of the discarded first routing information are the same as the non-cost indicators in the multi-dimensional network performance indicators of the retained first routing information, and the cost indicators in the multi-dimensional network performance indicators of the discarded first routing information are smaller than the cost indicators in the multi-dimensional network performance indicators of the retained first routing information.

19. The device according to any one of claims 16 to 18, It is characterized in that The acquisition module is specifically used for: receiving third routing information, where the third routing information is routing information obtained by the second network device, the second network device is a head node, the third routing information includes a first identifier and a multi-dimensional network performance indicator, and the first identifier is used to instruct the first network device to filter the at least two first routing information according to the third routing information; According to the first identifier, the multi-dimensional network performance indicators included in the at least two first routing information are compared with the multi-dimensional network performance indicators included in the third routing information to determine the discarded first routing information.

20. The device according to claim 19, It is characterized in that The third routing information also includes an identifier of the second network device, and the identifier of the second network device is used to instruct the second network device to send the third routing information obtained by the second network device to the first network device.

21. The device according to any one of claims 15 to 20, It is characterized in that The at least one first routing information also includes a path label.

22. The device according to any one of claims 12 to 21, It is characterized in that The multi-dimensional network performance indicators include: bandwidth, latency, packet loss rate, utilization, throughput, speed, and reliability.

23. A first network device, It is characterized in that include: A processor and a memory, wherein the memory is used to store a program or code, and the processor is used to call and run the program from the memory to execute the method according to any one of claims 1 to 11.

24. A system for sending a message, It is characterized in that A device for sending a message comprising any one of claims 12 to 22.