Information publishing method and device, related equipment and storage medium

By publishing the SID and offset information of the first flexible algorithm, the problem of IGP processing pressure caused by the increase in the number of flexible algorithms was solved, and the efficient deployment of flexible algorithms was achieved.

CN118827497BActive Publication Date: 2026-01-16CHINA MOBILE COMM LTD RES INST +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311101577.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-29
Publication Date
2026-01-16
Estimated Expiration
2043-08-29

AI Technical Summary

Technical Problem

As the number of flexible algorithms increases, the number of segment identifiers (SIDs) also increases, leading to increased processing pressure on the Interior Gateway Protocol (IGP) system and limiting the deployment scale of flexible algorithms.

Method used

By publishing the SID and offset information of the first flexible algorithm, the receiving end can determine the SID of the newly added flexible algorithm, reducing the byte overhead of publishing the SID of the newly deployed flexible algorithm and reducing the IGP flooding pressure.

Benefits of technology

It reduces the SID publishing byte overhead of newly deployed flexible algorithms, increases the deployment scale of flexible algorithms, and solves the IGP processing pressure problem caused by the increase in the number of SIDs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118827497B_ABST
    Figure CN118827497B_ABST
Patent Text Reader

Abstract

The application discloses an information publishing method and device, a first device, a second device and a storage medium. The method comprises the following steps: a first device publishes first information, wherein the first information represents a segment identifier (SID) of a first flexible algorithm; and second information is published, wherein the second information comprises offset information of a SID of a second flexible algorithm and the SID of the first flexible algorithm.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of network transmission, and particularly relates to an information publishing method and device, related equipment and a storage medium. BACKGROUND

[0002] Flex-Algorithm (FA) is an algorithm allowing Interior Gateway Protocol (IGP) to calculate constraint-based paths, which is currently mainly used in Segment Routing (SR) networks to meet differentiated service requirements.

[0003] In the related art, the application of the Flex-Algorithm in the SR data plane, the Internet Protocol version 4 (IPV4) data plane and the Internet Protocol version 6 (IPV6) data plane is described; wherein the Flex-Algorithm is associated with a Segment IDentifier (SID), that is, different Flex-Algorithms can be distinguished by different SIDs.

[0004] However, with the increase in the number of Flex-Algorithms, the number of SIDs will also increase, thereby increasing the processing pressure of the IGP system and greatly limiting the deployment scale of the Flex-Algorithms. SUMMARY

[0005] To solve the problems in the related art, the embodiments of the present application provide an information publishing method and device, related equipment and a storage medium.

[0006] The technical scheme of the embodiments of the present application is implemented as follows:

[0007] The embodiments of the present application provide an information publishing method applied to a first device, comprising:

[0008] publishing first information, wherein the first information represents a Segment IDentifier (SID) of a first Flex-Algorithm;

[0009] publishing second information, wherein the second information contains the SID of a second Flex-Algorithm and offset information of the SID of the first Flex-Algorithm.

[0010] In the above scheme, the first information contains:

[0011] third information, wherein the third information represents a plurality of consecutive SIDs of the first Flex-Algorithm;

[0012] fourth information, wherein the fourth information represents the endpoint behavior of each SID in the plurality of consecutive SIDs.

[0013] The third information comprises:

[0014] The fifth information represents a start SID and an end SID of the continuous multiple SIDs.

[0015] The sixth information comprises offset information of the SID of the first flexible algorithm relative to the start SID.

[0016] The fourth information comprises seventh information for identifying an end point behavior of each SID in the continuous multiple SIDs.

[0017] The fourth information further comprises eighth information for identifying the first flexible algorithm.

[0018] The second information comprises:

[0019] The ninth information comprises offset information of a reference SID of the second flexible algorithm relative to the SID of the first flexible algorithm.

[0020] The tenth information comprises offset information of the SID of the second flexible algorithm relative to the reference SID.

[0021] The second information further comprises eleventh information for identifying the second flexible algorithm.

[0022] The first information is published, comprising:

[0023] A sub-type length value (TLV, Type, Length, Value) is published, and the sub-TLV comprises the first information.

[0024] The second information is published, comprising:

[0025] A sub-TLV is published, and the sub-TLV comprises the second information.

[0026] Embodiments of the present application further provide an information publishing method applied to a second device, comprising:

[0027] Receiving first information published by a first device, the first information representing a SID of a first flexible algorithm of the first device;

[0028] Receiving second information published by the first device, the second information comprising offset information of a SID of a second flexible algorithm of the first device relative to the SID of the first flexible algorithm.

[0029] The first information comprises:

[0030] third information, the third information representing a plurality of consecutive SIDs of the first flexible algorithm;

[0031] fourth information, the fourth information representing an endpoint behavior of each of the plurality of consecutive SIDs.

[0032] In the above solution, the third information includes:

[0033] fifth information, the fifth information representing a start SID and an end SID of the plurality of consecutive SIDs;

[0034] sixth information, the sixth information including offset information of a SID of the first flexible algorithm relative to the start SID.

[0035] In the above solution, the fourth information includes seventh information, the seventh information being used to identify the endpoint behavior of each of the plurality of consecutive SIDs.

[0036] In the above solution, the fourth information further includes eighth information, the eighth information being used to identify the first flexible algorithm.

[0037] In the above solution, the second information includes:

[0038] ninth information, the ninth information including offset information of a reference SID of the second flexible algorithm relative to the SID of the first flexible algorithm;

[0039] tenth information, the tenth information including offset information of a SID of the second flexible algorithm relative to the reference SID.

[0040] In the above solution, the second information further includes eleventh information, the eleventh information being used to identify the second flexible algorithm.

[0041] In the above solution, the receiving of the first information published by the first device includes:

[0042] receiving a sub-TLV published by the first device, the sub-TLV including the first information.

[0043] In the above solution, the receiving of the second information published by the first device includes:

[0044] receiving a sub-TLV published by the first device, the sub-TLV including the second information.

[0045] In the above solution, the method further includes:

[0046] determining, by using the first information and the second information, a SID of the second flexible algorithm of the first device.

[0047] The embodiment of the present application further provides an information publishing device arranged in the first device, comprising:

[0048] a first publishing unit configured to publish first information, wherein the first information represents the SID of the first flexible algorithm;

[0049] a second publishing unit configured to publish second information, wherein the second information comprises the SID of the second flexible algorithm and the offset information of the SID of the first flexible algorithm.

[0050] The embodiment of the present application further provides an information publishing device arranged in the second device, comprising:

[0051] a first receiving unit configured to receive the first information published by the first device, wherein the first information represents the SID of the first flexible algorithm of the first device;

[0052] a second receiving unit configured to receive the second information published by the first device, wherein the second information comprises the SID of the second flexible algorithm of the first device and the offset information of the SID of the first flexible algorithm.

[0053] The embodiment of the present application further provides a first device, comprising a first processor and a first communication interface; wherein,

[0054] the first communication interface is configured to publish first information and publish second information, wherein the first information represents the SID of the first flexible algorithm, and the second information comprises the SID of the second flexible algorithm and the offset information of the SID of the first flexible algorithm.

[0055] The embodiment of the present application further provides a second device, comprising a second processor and a second communication interface; wherein,

[0056] the second communication interface is configured to receive the first information published by the first device and receive the second information published by the first device, wherein the first information represents the SID of the first flexible algorithm of the first device, and the second information comprises the SID of the second flexible algorithm of the first device and the offset information of the SID of the first flexible algorithm.

[0057] The embodiment of the present application further provides a first device, comprising a first processor and a first memory for storing a computer program capable of running on the processor,

[0058] wherein the first processor is configured to run the computer program to perform the steps of any one of the above-mentioned methods on the first device side.

[0059] The embodiment of the present application further provides a second device, comprising a second processor and a second memory for storing a computer program capable of running on the processor,

[0060] The second processor is configured to execute the computer program, and perform the steps of any one of the methods of the second device.

[0061] The embodiments of the present application further provide a storage medium having a computer program stored thereon, where the computer program, when executed by a processor, implements the steps of any one of the methods of the first device or the steps of any one of the methods of the second device.

[0062] The information publishing method and device provided by the embodiments of the present application, the first device publishes first information, where the first information represents the SID of the first flexible algorithm; and publishes second information, where the second information contains the SID of the second flexible algorithm and offset information of the SID of the first flexible algorithm. The technical solution provided by the embodiments of the present application is targeted at the newly deployed flexible algorithm (i.e. the second flexible algorithm), i.e. the flexible algorithm other than the first flexible algorithm. The first device publishes the SID information of the first flexible algorithm and the offset information based on the first flexible algorithm, so that the second device can determine the SID of the newly deployed flexible algorithm based on the offset information and the previously published SID information of the first flexible algorithm. In this way, the overhead of the SID publishing bytes of the newly deployed flexible algorithm can be reduced, thereby reducing the IGP processing pressure caused by the increase in the number of flexible algorithms, and improving the deployment scale of the flexible algorithm. BRIEF DESCRIPTION OF DRAWINGS

[0063] Figure 1 FIG. 1 is a schematic diagram of a SID structure;

[0064] Figure 2 FIG. 2 is a schematic diagram of a method flow of the first information publishing method according to an embodiment of the present application;

[0065] Figure 3 FIG. 3 is a schematic diagram of a method flow of the second information publishing method according to an embodiment of the present application;

[0066] Figure 4 FIG. 4 is a schematic diagram of a flow of the information publishing of a networking device according to an application example of the present application;

[0067] Figure 5 FIG. 5 is a schematic diagram of a SID structure of a flexible algorithm 0 according to an application example of the present application;

[0068] Figure 6 FIG. 6 is a schematic diagram of a SID structure of a flexible algorithm 128 according to an application example of the present application;

[0069] Figure 7 FIG. 7 is a schematic diagram of a first information publishing device structure according to an embodiment of the present application;

[0070] Figure 8 FIG. 8 is a schematic diagram of a second information publishing device structure according to an embodiment of the present application;

[0071] Figure 9 Figure 1 is a structural schematic diagram of a first device according to an embodiment of the present application;

[0072] Figure 10 Figure 2 is a structural schematic diagram of a second device according to an embodiment of the present application;

[0073] Figure 11 Figure 3 is a structural schematic diagram of an information publishing system according to an embodiment of the present application. DETAILED DESCRIPTION

[0074] The present application will be further described in detail below with reference to the accompanying drawings and embodiments.

[0075] Segment Routing IPv6 (SRv6) technology based on the sixth version of the Internet Protocol (IPv6) forwarding plane is a combination of Segment Routing (SR) and IPv6 network technologies. The SID of the standard SRv6 has a routable attribute, which can simplify inter-domain path creation and enable the ability to simplify the establishment of end-to-end paths in an IPv6 network. At the same time, the SRv6 SID supports programmable capabilities, which can meet the needs of flexible network and service function processing, combined with the collaborative support of centralized and distributed control planes, and can flexibly meet the needs of various services and network functions, adapting to the needs of network and service development.

[0076] Each segment (expressed in English as Segment) is identified by a SID in SRv6. The SRv6 SID can be understood as a special IPV6 address, which has both the routing capability of the IPv6 address and the behavior capability unique to SRv6; as shown in Figure 1 The SRv6 SID can be composed of three parts, namely, a locator, a function, and an argument segment, occupying a total of 128 bits.

[0077] In related technologies, different formats of SRv6 SIDs are defined; among them, the End SID sub-TLV is used to describe the node SID in the network; the End.X SID sub-TLV is used to describe the SID of the point-to-point (P2P) adjacency type in the network; and the LANEnd.X SID is used to describe the broadcast adjacency SID in the network.

[0078] In actual application, in the flexible algorithm scenario, the same node or adjacent node in the network can publish multiple different SIDs, and the same SID can also contain different endpoint behaviors (expressed as EndpointBehavior in English), such as performing a segment routing header (SRH, Segment Routing Header) removal operation in the second last segment (PSP), performing an SRH removal operation in the last segment (USP), or performing an outer IPv6 decapsulation operation in the last segment (USD). The SID can be published through a sub-TLV (expressed as sub-TLV in English), and each sub-TLV carries at least a 128-bit SID. In this case, as the number of flexible algorithms increases, the number of published sub-TLVs also increases, which can bring a great flooding pressure to the IGP system, and the deployment specification of the flexible algorithm is greatly limited.

[0079] Based on this, in various embodiments of the present application, for the newly added flexible algorithm, such as the flexible algorithm 128, the sending end publishes the SID information of the first flexible algorithm and the offset information based on the first flexible algorithm, so that the receiving end can determine the SID value of the newly added flexible algorithm based on the SID information and the offset information of the first flexible algorithm, thereby reducing the SID publishing byte overhead of the newly deployed flexible algorithm, and thus reducing the IGP flooding pressure.

[0080] The embodiments of the present application provide an information publishing method applied to a first device, such as a router. Figure 2 As shown in the figure, the method comprises the following steps.

[0081] Step 201: publishing first information, wherein the first information represents the SID of the first flexible algorithm.

[0082] Step 202: publishing second information, wherein the second information contains the SID of the second flexible algorithm and the offset information of the first flexible algorithm.

[0083] In actual application, the first device can be referred to as a sending device, a sending end, etc., and the name of the first device is not limited in the embodiments of the present application as long as the function is realized. In addition, the first flexible algorithm can be referred to as flexible algorithm 0, Flex-Algo0, or FA0, etc., and the name of the first flexible algorithm is not limited in the embodiments of the present application.

[0084] It should be noted that the first flexible algorithm is a flexible algorithm that is different between devices by default (which can also be understood as negotiated), that is, the metric, calculation type and constraint condition corresponding to the first flexible algorithm are all predefined; wherein the metric corresponding to the first flexible algorithm is defined as cost (which can be expressed in English as Cost), the calculation type is defined as using the shortest path algorithm (SPF, Shortest Path First), which can be Dijkstra shortest path priority algorithm in particular, and the constraint condition is defined as empty.

[0085] In actual application, for the first flexible algorithm, the first device can determine the first optimal path (i.e., the path with low link cost) in the network through the metric (i.e., cost) of the first flexible algorithm; encode the first optimal path to obtain the SID of the first flexible algorithm; wherein in the application scenario of SRv6, the SID of the first flexible algorithm can be an SRv6 SID, which is not limited in the embodiments of the present application.

[0086] Here, the SID of the first flexible algorithm can contain a plurality of consecutive SIDs, in which case, for the SID of the first flexible algorithm, the first device can respectively publish the range information of the SID of the first flexible algorithm and the behavior information of the first flexible algorithm SID.

[0087] Specifically, in an embodiment, the first information can include:

[0088] Third information, the third information representing a plurality of consecutive SIDs of the first flexible algorithm;

[0089] Fourth information, the fourth information representing the endpoint behavior of each SID in the plurality of consecutive SIDs.

[0090] Wherein, in actual application, the plurality of consecutive SIDs can be understood as at least two consecutive SIDs, such as A1::0:0, A1::1:0, A1::2:0 and A1::3:0, and the specific number of SIDs of the first flexible algorithm is not limited in the embodiments of the present application.

[0091] In related technologies, in the case that the SID of the first flexible algorithm is at least two consecutive SIDs, the device usually publishes each SID in the at least two SIDs, which will occupy a large amount of resources. Therefore, in the embodiments of the present application, the first device can publish the start and end range information of the SID of the first flexible algorithm to reduce the occupation of resources.

[0092] Specifically, in an embodiment, the third information can include:

[0093] a fifth information, the fifth information representing a start SID and an end SID of the plurality of consecutive SIDs;

[0094] a sixth information, the sixth information including offset information of the SIDs of the first flexible algorithm relative to the start SID.

[0095] In practice, for the fifth information, the start SID and the end SID of the plurality of consecutive SIDs can be understood as the first SID and the last SID in the plurality of consecutive SIDs. For example, assuming that the plurality of consecutive SIDs include A1 ::0:0, A1 ::1:0, A1 ::2:0 and A1 ::3:0, the first device can determine that the start SID is A1 ::0:0 and the end SID is A1 ::3:0.

[0096] In addition, the first device can also publish offset information (which can be expressed in English as Offset) of the SIDs of the first flexible algorithm relative to the start SID to indicate the SIDs of the first flexible algorithm other than the start SID; wherein the offset information can be obtained based on the number of bytes occupied by each SID. In this way, offset processing based on the offset information of the start SID can determine different SIDs of the first flexible algorithm.

[0097] For example, assuming that the SIDs of the first flexible algorithm include four SIDs, which are the first SID (i.e., the start SID), the second SID, the third SID and the fourth SID (i.e., the end SID), and the number of bytes occupied by each SID is 16. Since the number of bytes occupied by the second SID is 16, it can be determined that the offset of the second SID relative to the first SID is 16, that is, based on the start SID, offsetting 16 bytes to the right can obtain the second SID; similarly, based on the second SID, offsetting 16 bytes to the right again can obtain the third SID.

[0098] Here, in practice, since the range of SIDs corresponding to one local block (which can be expressed in English as Local Block) is limited, it can not be possible to represent all SIDs of the first flexible algorithm by one local block, and therefore, the SIDs of the first flexible algorithm can be represented by multiple local blocks. In the above case, the first device can publish at least two first information, and the third information and the fourth information corresponding to each first information both include the identification (which can be expressed in English as block-id) of the corresponding local block, the third information at least represents part of the plurality of consecutive SIDs of the first flexible algorithm, and the fourth information at least represents the endpoint behavior of each SID in part of the plurality of consecutive SIDs of the first flexible algorithm.

[0099] For example, assuming that the SID of the first flexible algorithm includes 20 consecutive SIDs, each of which occupies 16 bytes, in order to represent all SIDs of the first flexible algorithm, the local block needs to include at least 320 bytes in the SID range. In the case where the available SID resource of one local block includes 160 bytes, the first device can represent the SIDs of the first flexible algorithm through two local blocks; specifically, for the local block 1 (block id is 1), the first device publishes the first information 1, which represents part of the SIDs (from the first SID to the tenth SID) of the first flexible algorithm; for the local block 2 (block id is 2), the first device publishes the first information 2, which represents part of the SIDs (from the eleventh SID to the twentieth SID) of the first flexible algorithm.

[0100] As can be seen from the above description, for the consecutive SIDs of the first flexible algorithm, the first device publishes the start and end range information of the SIDs and the corresponding offset information, reduces the publication of the intermediate SIDs, and thus reduces the occupation of resources.

[0101] In actual application, on the basis of the third information, the first device can further publish the index of the SIDs of the first flexible algorithm to identify the SIDs of the first flexible algorithm, and publish the corresponding behavior information.

[0102] Specifically, in an embodiment, the fourth information can include seventh information, which is used to identify the endpoint behavior of each of the consecutive SIDs.

[0103] In actual application, the endpoint behavior can include noflavor, PSP, compress, or PSP&USP&USD, etc., and the endpoint behavior of each SID can be set as needed, and the specific type of the endpoint behavior of the SID is not limited in the embodiments of the present application.

[0104] Here, when publishing the fourth information, the first device can determine the index of the SIDs of the first flexible algorithm (expressed in English as Index) by using the third information to identify the consecutive SIDs of the first flexible algorithm, and define the endpoint behavior of each SID.

[0105] Exemplarily, the first device can obtain index-1 corresponding to the second SID (i.e., A1::1:0) and define the endpoint behavior of the second SID as no flavor based on the offset information (such as 16) in the third information, and obtain index-2 corresponding to the third SID by offsetting 16 bits to the right from the start SID (i.e., the first SID) of the third information again, and define the endpoint behavior of the third SID as PSP&USP&USD. That is, the SID index is obtained by using the start SID and offset information of the first flexible algorithm, and the calculation formula of the SID index can be expressed as: Start SID>>(offset to the right) Offset.

[0106] In actual application, the first device can further publish the identifier of the first flexible algorithm, so that the second device can know that the information published by the first device is the SID information corresponding to the first flexible algorithm.

[0107] Specifically, in an embodiment, the fourth information can further include eighth information used to identify the first flexible algorithm.

[0108] In actual application, the eighth information can include the algorithm index (English can be expressed as Algorithm) of the first flexible algorithm, such as setting the eighth information to 0 for the first flexible algorithm.

[0109] In actual application, the first device can publish the first information based on the TLV protocol.

[0110] That is, in an embodiment, the first information is published, including:

[0111] publishing a sub-TLV, the sub-TLV including the first information.

[0112] Here, the first device can define two sub-TLVs to publish the third information and the fourth information through the newly defined sub-TLVs. Exemplarily, the first device defines Local Block sub-TLV and End.XIndex sub-TLV; wherein the third information is published through the Local Block sub-TLV, and the fourth information is published through the End.XIndex sub-TLV, and the specific name of the published sub-TLV is not limited in the embodiments of the present application.

[0113] In actual application, after publishing the first information, the first device can publish the second information based on the SID of the first flexible algorithm, so as to realize the purpose of sharing the SID of the second flexible algorithm with the first flexible algorithm.

[0114] Specifically, in an embodiment, the second information can include:

[0115] the ninth information including offset information of a reference SID of the second flexible algorithm relative to the SID of the first flexible algorithm;

[0116] the tenth information including offset information of the SID of the second flexible algorithm relative to the reference SID.

[0117] Wherein, in actual application, the second flexible algorithm can be understood as other flexible algorithm except the first flexible algorithm, and can specifically include a standard flexible algorithm such as Flex-Algo 50, or a self-defined flexible algorithm such as Flex-Algo 128, and the embodiments of the present application do not limit this.

[0118] It should be noted that the reference SID of the second flexible algorithm can be understood as the starting SID of the second flexible algorithm. That is, the ninth information includes offset information of the starting SID of the second flexible algorithm relative to the SID of the first flexible algorithm, which can specifically be offset information of the starting SID of the second flexible algorithm relative to the starting SID of the first flexible algorithm.

[0119] In addition, in order to represent other SIDs of the second flexible algorithm except the starting SID, the first device can also publish offset information of the SID of the second flexible algorithm relative to the starting SID of the second flexible algorithm, i.e. the tenth information, so as to determine other SIDs of the second flexible algorithm by the second device subsequently.

[0120] Exemplarily, assuming that the reference offset (English can be expressed as Base Offset) of the starting SID of the second flexible algorithm relative to the starting SID of the first flexible algorithm is 80, and the offset of the SID of the second flexible algorithm relative to the starting SID of the second flexible algorithm is 112, the first device can publish the reference offset and the offset of the second flexible algorithm respectively.

[0121] In actual application, the first device can also publish the identification of the second flexible algorithm, so that the second device can know that the information published by the first device is the SID information corresponding to the second flexible algorithm.

[0122] Specifically, in an embodiment, the second information further includes eleventh information for identifying the second flexible algorithm.

[0123] In actual application, the eleventh information can contain an algorithm index of the second flexible algorithm, such as for Flex-Algo 128, the eleventh information can be set as 128.

[0124] In actual application, the first device can also publish the second information based on a TLV protocol.

[0125] Specifically, in an embodiment, the publishing of the second information includes:

[0126] publishing a sub-TLV, the sub-TLV containing the second information.

[0127] Here, the first device can define a sub-TLV, to publish the second information through the newly defined sub-TLV. For example, the first device defines a Flex-Algo Base Offset sub-TLV, to publish the second information through the Flex-Algo Base Offset sub-TLV. The embodiments of the present application do not limit the specific name of the published sub-TLV.

[0128] Correspondingly, the embodiments of the present application also provide an information publishing method, applied to a second device, such as Figure 3 as shown in the figure, the method includes:

[0129] Step 301: receiving first information published by a first device, the first information representing a SID of a first flexible algorithm of the first device;

[0130] Step 302: receiving second information published by the first device, the second information containing a SID of a second flexible algorithm of the first device and offset information of the first flexible algorithm SID.

[0131] In an embodiment, the receiving of the first information published by the first device includes:

[0132] receiving a sub-TLV published by the first device, the sub-TLV containing the first information.

[0133] In an embodiment, the receiving of the second information published by the first device includes:

[0134] receiving a sub-TLV published by the first device, the sub-TLV containing the second information.

[0135] In actual application, the second device can calculate the SID of the second flexible algorithm based on the SID of the first flexible algorithm and the offset information of the SID of the second flexible algorithm and the SID of the first flexible algorithm.

[0136] Specifically, in an embodiment, the method can further include:

[0137] The first information and the second information are used to determine the SID of the second flexible algorithm of the first device.

[0138] In actual application, the second device can determine the SID of the second flexible algorithm by using the SID of the first flexible algorithm, the offset information of the reference SID of the second flexible algorithm relative to the SID of the first flexible algorithm, and the offset information of the SID of the second flexible algorithm relative to the reference SID.

[0139] For example, assuming that the starting SID of the first flexible algorithm is A1::1 (which can also be represented as A1:0:0:0:0:0:0:1), the reference offset of the reference SID of the second flexible algorithm relative to the starting SID of the first flexible algorithm is 0x80, and the offset of the SID of the second flexible algorithm relative to the starting SID of the second flexible algorithm is 112, the SID of the second flexible algorithm can be represented as A1::1+(0x80<<112). Specifically, the second device can obtain 0:80:0:0:0:0:0:0 by shifting 112 bits to the left based on the reference offset and filling zeros on the right, and can obtain A1:80:0:0:0:0:0:1 (i.e., A1:80::1) by summing A1:0:0:0:0:0:0:1 and 0:80:0:0:0:0:0:0, thereby calculating the SID of the second flexible algorithm.

[0140] The information publishing method provided by the embodiments of the present application includes that a first device publishes first information, and the first information represents the SID of a first flexible algorithm; and publishes second information, and the second information includes the offset information of the SID of a second flexible algorithm relative to the SID of the first flexible algorithm. The technical solution provided by the embodiments of the present application is that, for a newly deployed flexible algorithm (i.e., the second flexible algorithm), i.e., a flexible algorithm other than the first flexible algorithm, the first device publishes the SID information of the first flexible algorithm and the offset information based on the first flexible algorithm, so that the second device can determine the SID of the newly deployed flexible algorithm based on the offset information and the previously published SID information of the first flexible algorithm. In this way, the overhead of the SID publishing bytes of the newly deployed flexible algorithm can be reduced, thereby reducing the IGP processing pressure caused by the increase in the number of flexible algorithms, and improving the deployment scale of the flexible algorithm.

[0141] The present application will be further described in detail below in combination with application examples.

[0142] In the present application example, in the Flex-Algo scenario, as shown in Figure 4As shown, device A and device B add two new flexible algorithms (i.e., the second flexible algorithm described above) on the basis of the default Flex-Algo 0 (i.e., the first flexible algorithm described above) through a parallel link, specifically Flex-Algo 128 and Flex-Algo 129.

[0143] In the scenario where device A publishes the SID in the related publishing manner, the SID publishing plan is as shown in Table 1.

[0144]

[0145]

[0146] Table 1

[0147] According to the SID publishing plan described above, the number of bytes occupied by End.X can be expressed as: (24bit / SID)*(2SID / Flex-Algo)*(Flex-Algo number) = 144bit, taking the P2P link as an example. If the number of Flex-Algos in the network increases, the resources occupied by the SID in the network will increase proportionally; if the number of devices in the network increases, the resources occupied by the SID in the network will increase exponentially. As a result, the deployment specifications of the Flex-Algo are greatly limited.

[0148] To solve the above problem, in the application example, a SID optimization publishing scheme is proposed, which is applicable to the Segment Routing (SR) over Multi-Protocol Label Switching (MPLS) forwarding plane and the SRv6 scenario, and the SID values of different Flex-Algos are determined by publishing offset information based on Flex-Algo 0.

[0149] In actual application, when device A publishes the Flex-Algo 0 SID, it can publish the continuous SRv6 SID start and end range (i.e., the fifth information described above) and the offset information (i.e., the sixth information described above) through the newly defined Local Block sub-TLV. Further, the End.X Index sub-TLV is published to identify the specific SID value with the corresponding Index in the range, and the corresponding EndPoint Behavior (i.e., the seventh information described above) is defined.

[0150] Exemplarily, as Figure 5As shown, for Flex-Algo 0 SID, the two sub-TLVs to be published are the Local Block sub-TLV and the Index sub-TL. In the Local Block sub-TLV, the start and end ranges of the SRv6 SID are A1::0:0 - A1::FFFF:0; the Index is 16; in the End.X Index sub-TLV, when the Index is 1, it means the EndPointBehavior is no flavor (which can be set as needed), and when the Index is 2, it means the EndPoint Behavior is PSP, USP or USD (which can be set as needed); among them, based on the Start SID in the Local Block sub-TLV, shifting to the right (>>) by Offset can obtain the Index value corresponding to the start and end ranges of the SRv6 SID. Taking Figure 5 as an example, Index 1 represents A1::1:0, and Index 2 represents A1::2:0.

[0151] After publishing the Flex-Algo 0 SID, device A can publish the address offset (Base Offset) of Flex-Algo 128 relative to Flex-Algo 0 through the Flex-Algo Base Offset sub-TLV, specifically, it is the offset of the Flex-Algo 128 SID block relative to the start address of Flex-Algo 0. As Figure 6 shown, the Base Offset is used to indicate the offset of the start SID of Flex-Algo 128 relative to the start SID of Flex-Algo 0 (i.e., the above-mentioned ninth piece of information), and the Offset is used to indicate the offset of the SIDs corresponding to different Indexes in Flex-Algo 128 relative to the start SID (i.e., the above-mentioned tenth piece of information).

[0152] Here, after device B receives the Flex-Algo 0 SID and the Flex-Algo Base Offset sub-TLV published by device A, it can determine the Flex-Algo 128 SID based on the Flex-Algo 0 SID value, the Base Offset in the Flex-Algo Base Offset sub-TLV, and the Offset, which can be specifically expressed as the Flex-Algo 0 SID value + (Base Offset << Offset). Taking Figure 6For example, assuming that the Base Offset is 0x80 and the Offset is 112, the Flex-Algo 128 SID can be expressed as A1::1 + (0x80 << 112); where A1::1 (which can also be expressed as A1:0:0:0:0:0:0:1) is the Flex-Algo 0 start address. Device B can obtain 0:80:0:0:0:0:0:0 by left-shifting 112 bits based on 0x80, and can obtain A1:80:0:0:0:0:0:1, i.e., A1:80::1, by summing A1:0:0:0:0:0:0:1 and 0:80:0:0:0:0:0:0.

[0153] In addition, device A can publish a Flex-Algo 129 SID in a similar manner to publishing the Flex-Algo 128 SID, so that device B determines the Flex-Algo 129 SID based on the Flex-Algo 0 SID value, the Base Offset in the Flex-Algo Base Offset sub-TLV, and the Offset, and performs SRv6 calculation according to the related procedure.

[0154] As can be seen from the above description, for a newly deployed Flex-Algo, only the Flex-Algo Base Offset sub-TLV corresponding to the Flex-Algo needs to be added, thereby achieving the purpose of borrowing the Flex-Algo 0 SID representation method for the newly added Flex-Algo, thereby reducing the resource occupied by the SID and avoiding the exponential increase in the number of SIDs.

[0155] In the application example, on the one hand, for Flex-Algo 0, the SID value is identified by publishing the SID range and the index in the range, thereby reducing the number of bytes occupied by the SID publication. On the other hand, for other Flex-Algo 0, the SID values of different Flex-Algos are determined by publishing the offset information based on Flex-Algo 0, thereby reducing the overhead of the SID publication of different Flex-Algos. In this way, the IGP flooding pressure caused by excessive SIDs due to the increase in the number of Flex-Algos can be solved, and the actual deployment specification of the Flex-Algo is improved.

[0156] To implement the method of the embodiments of the present application, the embodiments of the present application further provide an information publishing device arranged on a first device, as shown in Figure 7 The device comprises:

[0157] A first publishing unit 701 is configured to publish first information, where the first information represents a SID of a first flexible algorithm.

[0158] The second publishing unit 702 is configured to publish second information, wherein the second information comprises offset information of a SID of a second flexible algorithm and a SID of the first flexible algorithm.

[0159] In an embodiment, the first publishing unit 701 is configured to publish a sub-TLV, and the sub-TLV comprises the first information.

[0160] In an embodiment, the second publishing unit 702 is configured to publish a sub-TLV, and the sub-TLV comprises the second information.

[0161] In actual application, the first publishing unit 701 and the second publishing unit 702 can be implemented by a communication interface in an information publishing device.

[0162] In order to implement the method on the second device side, the embodiments of the present application further provide an information publishing device arranged on a second device, as shown in Figure 8 The device comprises:

[0163] The first receiving unit 801 is configured to receive first information published by a first device, wherein the first information represents a SID of a first flexible algorithm of the first device.

[0164] The second receiving unit 802 is configured to receive second information published by the first device, wherein the second information comprises offset information of a SID of a second flexible algorithm of the first device and a SID of the first flexible algorithm.

[0165] In an embodiment, the first receiving unit 801 is configured to receive a sub-TLV published by the first device, and the sub-TLV comprises the first information.

[0166] In an embodiment, the second receiving unit 802 is configured to receive a sub-TLV published by the first device, and the sub-TLV comprises the second information.

[0167] In an embodiment, the second receiving unit 802 is further configured to determine the SID of the second flexible algorithm of the first device by using the first information and the second information.

[0168] In actual application, the first receiving unit 801 can be implemented by a communication interface in an information publishing device, and the second receiving unit 802 can be implemented by a communication interface in an information publishing device in combination with a processor.

[0169] It should be noted that the information publishing device provided in the above embodiment only takes the division of the above program modules as an example when publishing information, and in actual application, the above processing can be completed by different program modules according to needs, that is, the internal structure of the device is divided into different program modules to complete all or part of the above-described processing. In addition, the information publishing device and the information publishing method provided in the above embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.

[0170] Based on the hardware implementation of the above program modules, and in order to realize the method of the first device side of the embodiment of the application, the embodiment of the application further provides a first device, as shown in the figure, the first device 900 includes: Figure 9

[0171] The first communication interface 901 can interact with the second device.

[0172] The first processor 902 is connected with the first communication interface 901 to realize information interaction with the second device, and is used to run the computer program to execute the method provided by one or more technical solutions of the first device side.

[0173] The first memory 903 stores the computer program.

[0174] Specifically, the first communication interface 901 is used to:

[0175] Publish the first information, and the first information represents the SID of the first flexible algorithm.

[0176] Publish the second information, and the second information contains the SID of the second flexible algorithm and the offset information of the SID of the first flexible algorithm.

[0177] In an embodiment, the first communication interface 901 is used to publish a sub-TLV, and the sub-TLV contains the first information.

[0178] In an embodiment, the first communication interface 901 is used to publish a sub-TLV, and the sub-TLV contains the second information.

[0179] It should be noted that the specific processing process of the first communication interface 901 can be understood with reference to the above method.

[0180] Of course, in actual application, each component in the first device 900 is coupled together through the bus system 904. It can be understood that the bus system 904 is used to realize the connection and communication between the components. In addition to the data bus, the bus system 904 also includes a power bus, a control bus and a state signal bus. However, in order to clearly illustrate, the bus system 904 is represented by the data bus in the figure. Figure 9 ​The various buses are shown as bus system 904.

[0181] The first memory 903 in the embodiments of the present application is configured to store various types of data to support the operation of the first device 900. Examples of the data include any computer programs for operating on the first device 900.

[0182] The method disclosed in the embodiments of the present application can be applied to or implemented by the first processor 902. The first processor 902 can be an integrated circuit chip with processing capability. In the implementation process, each step of the above method can be completed by the integrated logic circuit or the instruction in the form of software of the first processor 902. The first processor 902 described above can be a general processor, a digital signal processor (DSP), or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc. The first processor 902 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general processor can be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiments of the present application, the hardware decoding processor can be directly embodied to execute the steps of the method, or the hardware and software modules in the decoding processor can be combined to execute the steps of the method. The software module can be located in a storage medium, which is located in the first memory 903, and the first processor 902 reads the information in the first memory 903 and combines the hardware to complete the steps of the method.

[0183] In the exemplary embodiments, the first device 900 can be implemented by one or more application specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field programmable gate arrays (FPGAs), general-purpose processors, controllers, micro controllers (MCUs), microprocessors (Microprocessors), or other electronic elements, to execute the above method.

[0184] Based on the hardware implementation of the above program module, and in order to implement the method on the second device side in the embodiments of the present application, the embodiments of the present application further provide a second device, as shown in the figure, the second device 1000 includes: Figure 10 The second device 1000 includes:

[0185] The second communication interface 1001 is capable of information interaction with the first device;

[0186] The second processor 1002 is connected with the second communication interface 1001 to realize information interaction with the first device, and is used for running a computer program to execute the method provided by one or more technical solutions of the second device side.

[0187] The second memory 1003 stores the computer program.

[0188] Specifically, the second communication interface 1001 is configured to:

[0189] receive the first information published by the first device, wherein the first information represents the SID of the first flexible algorithm of the first device;

[0190] receive the second information published by the first device, wherein the second information contains the offset information between the SID of the second flexible algorithm of the first device and the SID of the first flexible algorithm.

[0191] In an embodiment, the second communication interface 1001 is configured to receive the sub-TLV published by the first device, and the sub-TLV contains the first information.

[0192] In an embodiment, the second communication interface 1001 is configured to receive the sub-TLV published by the first device, and the sub-TLV contains the second information.

[0193] In an embodiment, the second processor 1002 is configured to determine the SID of the second flexible algorithm of the first device by using the first information and the second information.

[0194] It should be noted that the specific processing process of the second processor 1002 and the second communication interface 1001 can be understood with reference to the above method.

[0195] Of course, in actual application, various components in the second device 1000 are coupled together through the bus system 1004. It can be understood that the bus system 1004 is used to realize the connection and communication between the components. The bus system 1004 includes not only a data bus, but also a power bus, a control bus and a status signal bus. However, in order to clearly illustrate, all kinds of buses are marked as the bus system 1004 in the Figure 10 .

[0196] The second memory 1003 in the embodiment of the application is used to store various types of data to support the operation of the second device 1000. Examples of these data include any computer programs used for operation on the second device 1000.

[0197] The method disclosed in the embodiments of the present application can be applied to the second processor 1002 or implemented by the second processor 1002. The second processor 1002 can be an integrated circuit chip with signal processing capability. In the implementation process, each step of the method can be completed by integrated logic circuits or instructions in the form of software in the second processor 1002. The second processor 1002 can be a general processor, a DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The second processor 1002 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general processor can be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiments of the present application, the hardware decoding processor can be directly embodied to execute the steps of the method, or the hardware and software modules in the decoding processor can be combined to execute the steps of the method. The software module can be located in a storage medium, and the storage medium is located in the second memory 1003. The second processor 1002 reads the information in the second memory 1003 and combines the hardware to complete the steps of the method.

[0198] In the exemplary embodiments, the second device 1000 can be implemented by one or more ASICs, DSPs, PLDs, CPLDs, FPGAs, general-purpose processors, controllers, MCUs, microprocessors, or other electronic elements, for executing the foregoing method.

[0199] It can be understood that the memory (the first memory 903, the second memory 1003) of the embodiments of the present application can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. The non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a ferromagnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM). The magnetic surface memory can be a disk memory or a tape memory. The volatile memory can be a random access memory (RAM) used as an external cache. By way of example but not limitation, many forms of RAM can be used, such as static random access memory (SRAM), synchronous static random access memory (SSRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus random access memory (DRRAM).The memory described in the embodiments of the present application is intended to include, but not limited to, these and any other suitable types of memory.

[0200] To implement the method provided by the embodiments of the present application, the embodiments of the present application further provide an information publishing system, as shown in the following table. Figure 11 The system includes a first device 1101 and a second device 1102.

[0201] Here, it should be noted that the specific processing procedures of the first device 1101 and the second device 1102 have been described in the foregoing, and will not be described here.

[0202] In exemplary embodiments, the embodiments of the present application further provide a storage medium, i.e., a computer storage medium, specifically a computer readable storage medium, for example, including a first memory 903 storing a computer program, the computer program being executable by a first processor 902 of a first device 900 to complete the steps of the foregoing first device side method, and further including a second memory 1003 storing a computer program, the computer program being executable by a second processor 1002 of a second device 1000 to complete the steps of the foregoing second device side method. The computer readable storage medium can be FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM, etc.

[0203] It should be noted that "first", "second", etc. are used to distinguish similar objects, and do not necessarily describe a specific order or sequence.

[0204] In addition, the technical solutions described in the embodiments of the present application can be arbitrarily combined without conflict.

[0205] The above is only a preferred embodiment of the present application, and is not intended to limit the protection scope of the present application.

Claims

1. An information distribution method characterized by comprising: Applied to a first device, comprising: publishing first information, the first information representing segment identifier (SID) of a first flexible algorithm; publishing second information, the second information containing offset information of SID of a second flexible algorithm and the SID of the first flexible algorithm; wherein the first information contains: third information, the third information representing a plurality of consecutive SIDs of the first flexible algorithm; fourth information, the fourth information representing endpoint behavior of each of the plurality of consecutive SIDs; wherein the fourth information contains eighth information, the eighth information being used to identify the first flexible algorithm.

2. The method of claim 1, wherein, The third information contains: fifth information, the fifth information representing a start SID and an end SID of the plurality of consecutive SIDs; sixth information, the sixth information containing offset information of the SID of the first flexible algorithm relative to the start SID.

3. The method of claim 1, wherein, The fourth information further contains seventh information, the seventh information being used to identify the endpoint behavior of each of the plurality of consecutive SIDs.

4. The method of claim 1, wherein, The second information contains: ninth information, the ninth information containing offset information of a reference SID of the second flexible algorithm relative to the SID of the first flexible algorithm; tenth information, the tenth information containing offset information of the SID of the second flexible algorithm relative to the reference SID.

5. The method of claim 4, wherein, The second information further contains eleventh information, the eleventh information being used to identify the second flexible algorithm.

6. The method according to any one of claims 1 to 5, characterized in that, The publishing first information comprises: publishing a sub-type length value (TLV), the sub-TLV containing the first information.

7. The method according to any one of claims 1 to 5, characterized in that, The publishing second information comprises: publishing a sub-TLV, the sub-TLV containing the second information.

8. An information distribution method characterized by comprising: Applied to a second device, comprising: receiving first information published by a first device, the first information representing a SID of a first flexible algorithm of the first device; receiving second information published by the first device, the second information containing offset information of a SID of a second flexible algorithm of the first device and the SID of the first flexible algorithm; wherein the first information contains: third information, the third information representing a plurality of consecutive SIDs of the first flexible algorithm; fourth information, the fourth information representing endpoint behavior of each of the plurality of consecutive SIDs; wherein the fourth information contains eighth information, the eighth information being used to identify the first flexible algorithm.

9. The method of claim 8, wherein, The third information contains: fifth information, the fifth information representing a start SID and an end SID of the plurality of consecutive SIDs; sixth information, the sixth information containing offset information of the SID of the first flexible algorithm relative to the start SID.

10. The method of claim 8, wherein, The fourth information further contains seventh information, the seventh information being used to identify the endpoint behavior of each of the plurality of consecutive SIDs.

11. The method of claim 8, wherein, The second information contains: ninth information, the ninth information containing offset information of a reference SID of the second flexible algorithm relative to the SID of the first flexible algorithm; tenth information, the tenth information containing offset information of the SID of the second flexible algorithm relative to the reference SID.

12. The method of claim 11, wherein, The second information further includes eleventh information used for identifying the second flexible algorithm.

13. The method according to any one of claims 8 to 12, characterized in that, The first information published by the first device includes: The first device publishes a sub-TLV, and the sub-TLV includes the first information.

14. The method according to any one of claims 8 to 12, characterized in that, The second information published by the first device includes: The first device publishes a sub-TLV, and the sub-TLV includes the second information.

15. The method according to any one of claims 8 to 12, characterized in that, The method further includes: Determining the SID of the second flexible algorithm of the first device by using the first information and the second information.

16. An information distributing apparatus characterized by comprising: The first device includes: A first publishing unit configured to publish first information, the first information representing a SID of a first flexible algorithm; A second publishing unit configured to publish second information, the second information including offset information of a SID of a second flexible algorithm from the SID of the first flexible algorithm; wherein the first information includes: Third information representing a plurality of consecutive SIDs of the first flexible algorithm; Fourth information representing an endpoint behavior of each of the plurality of consecutive SIDs; wherein the fourth information includes eighth information used for identifying the first flexible algorithm.

17. An information distributing apparatus characterized by comprising: The second device includes: A first receiving unit configured to receive first information published by the first device, the first information representing a SID of a first flexible algorithm of the first device; A second receiving unit configured to receive second information published by the first device, the second information including offset information of a SID of a second flexible algorithm of the first device from the SID of the first flexible algorithm; wherein the first information includes: Third information representing a plurality of consecutive SIDs of the first flexible algorithm; Fourth information representing an endpoint behavior of each of the plurality of consecutive SIDs; wherein the fourth information includes eighth information used for identifying the first flexible algorithm.

18. A first device, comprising: The first device includes: A first processor and a first communication interface; wherein The first communication interface is configured to publish first information representing a SID of a first flexible algorithm, and publish second information including offset information of a SID of a second flexible algorithm from the SID of the first flexible algorithm; wherein the first information includes: Third information representing a plurality of consecutive SIDs of the first flexible algorithm; Fourth information representing an endpoint behavior of each of the plurality of consecutive SIDs; wherein the fourth information includes eighth information used for identifying the first flexible algorithm.

19. A second device, comprising: The second device includes: A second processor and a second communication interface; wherein The second communication interface is configured to receive first information published by the first device, the first information representing a SID of a first flexible algorithm of the first device, and receive second information published by the first device, the second information including offset information of a SID of a second flexible algorithm of the first device from the SID of the first flexible algorithm; wherein the first information includes: a third information, the third information characterizing a plurality of consecutive SIDs of the first flexible algorithm; a fourth information, the fourth information characterizing an end-point behavior of each SID of the plurality of consecutive SIDs; wherein the fourth information comprises an eighth information, the eighth information being used to identify the first flexible algorithm.

20. A first device, comprising: comprising: a first processor and a first memory for storing a computer program capable of running on the processor, wherein the first processor, when running the computer program, is configured to perform the steps of the method according to any one of claims 1 to 7.

21. A second device, comprising: comprising: a second processor and a second memory for storing a computer program capable of running on the processor, wherein the second processor, when running the computer program, is configured to perform the steps of the method according to any one of claims 8 to 15.

22. A storage medium having stored thereon a computer program, characterized in that the computer program, when executed by the processor, implements the steps of the method according to any one of claims 1 to 7, or the steps of the method according to any one of claims 8 to 15.

Citation Information

Patent Citations

  • Data processing method based on SRv6 and related network equipment

    CN111835637A

  • SR message transmission method, device and system

    CN113141339A