Service transmission method, device and storage medium

By carrying multiple Color attribute information and Slice tags in BGP-LU routing information to create Slice entries, the problem of network slice resource selection between cross-domain network devices is solved, and the establishment of multi-path LSPs is realized, meeting the service requirements of cross-domain transmission.

CN117201379BActive Publication Date: 2026-01-06ZTE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210608576.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-31
Publication Date
2026-01-06
Estimated Expiration
2042-05-31

AI Technical Summary

Technical Problem

The inability to select network slice resources between end-to-end devices across domains means that different services can only forward data between two endpoint devices across domains using fixed network slice resources.

Method used

The BGP-LU routing information carries multiple Color attribute information. Each Color attribute information includes a Color value and a corresponding Slice label. A Slice table entry is created, which includes the correspondence between multiple Slice labels and tunnel labels. The target tunnel is determined and forwarded based on the Slice label of the service packet.

Benefits of technology

By establishing multiple LSPs with different Color values ​​between end-to-end network devices across domains, optional underlying network slicing resources are provided for cross-domain transmission services to meet different service requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117201379B_ABST
    Figure CN117201379B_ABST
Patent Text Reader

Abstract

The application provides a service transmission method, device and storage medium, wherein the method comprises the following steps: a first network device receives border gateway protocol-label unicast (BGP-LU) routing information from a second network device, the BGP-LU routing information comprises a plurality of color (Color) attribute information, each Color attribute information comprises a Color value and a slice (Slice) label corresponding to the Color value; when receiving a service packet from a third network device, a target tunnel is determined from a Slice table item according to a Slice label carried by the service packet, and the service packet is forwarded to the second network device through the target tunnel. A plurality of LSPs corresponding to different Color values are established between end-to-end network devices in a cross-domain, each LSP corresponds to an underlying network slice resource, and selectable underlying network slice resources are provided for cross-domain transmission services to meet different service requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to communication technology, and in particular to a service transmission method, device and storage medium. Background Technology

[0002] Border Gateway Protocol (BGP) is a routing protocol between Autonomous Systems (AS) used to exchange routing information between different AS domains.

[0003] When the Provider Edge (PE) and the Ingress PE are located in different AS domains, the route of the Provider Edge can be propagated to the Ingress PE through the BGP Labeled Unicast (BGP-LU) mechanism. Labels are exchanged during the propagation process, thereby establishing a Label Switching Path (LSP) between end-to-end devices across domains and realizing cross-domain network splicing.

[0004] However, during cross-domain propagation, BGP-LU routes are based on LSPs created from route address prefixes. Since only one LSP can be created per prefix, it is impossible to simultaneously select underlying network slice resources. Therefore, different services can only forward between two endpoint devices in a cross-domain environment using fixed network slice resources. Summary of the Invention

[0005] This application provides a service transmission method, network device, computer-readable storage medium, and computer program product, aiming to solve the problem that network slicing resource selection cannot be achieved between end-to-end devices across domains.

[0006] In a first aspect, embodiments of this application provide a service transmission method applied to a first network device, the method comprising:

[0007] Receive Border Gateway Protocol-Label Unicast (BGP-LU) routing information from a second network device. The BGP-LU routing information includes multiple color attribute information, and each color attribute information includes a color value and a slice tag corresponding to the color value.

[0008] A Slice entry is created based on the BGP-LU routing information. The Slice entry includes multiple Slice labels and a tunnel label that corresponds to each of the multiple Slice labels. The tunnel label is used to identify the tunnel between the first network device and the second network device.

[0009] When a service packet is received from a third network device, the target tunnel is determined from the Slice table entry based on the Slice label carried in the service packet, and the service packet is forwarded to the second network device through the target tunnel.

[0010] Secondly, embodiments of this application provide a service transmission method applied to a second network device, the method comprising:

[0011] Multiple predefined color attribute information is added to the BGP-LU routing information, and each color attribute information includes a color value and a slice tag corresponding to the color value;

[0012] Send the BGP-LU routing information to the first network device so that the first network device can create a Slice entry based on the BGP-LU routing information and determine the target tunnel for forwarding the service packet from the Slice entry based on the Slice label carried by the received service packet.

[0013] The Slice entry includes multiple Slice tags and tunnel tags corresponding to each of the multiple Slice tags. The tunnel tags are used to identify the tunnel between the first network device and the second network device.

[0014] Thirdly, embodiments of this application provide a service transmission method applied to a third network device, the method comprising:

[0015] A service packet carrying a slice tag is sent to a first network device, so that the first network device can determine the target tunnel of the service packet to the next-hop network device from the slice table entry based on the slice tag.

[0016] Fourthly, embodiments of this application provide a network device, including:

[0017] Processor and memory;

[0018] The memory stores program instructions that, when executed by the processor, cause the processor to perform any of the above-described service transmission methods.

[0019] Fifthly, embodiments of this application provide a computer-readable storage medium storing program instructions, which, when executed by a computer, implement any of the above-described service transmission methods.

[0020] Sixthly, embodiments of this application provide a computer program product that stores program instructions, which, when executed by a computer, cause the computer to implement any of the above-described service transmission methods.

[0021] In this embodiment, multiple Color attribute information is carried through BGP-LU routing information. Each Color attribute information includes a Color value and a corresponding Slice label. This allows a first network device, after obtaining BGP-LU routing information from a second network device, to create a Slice entry. Each Slice entry includes multiple Slice labels and tunnel labels corresponding to each Slice label. When the first network device receives a service packet from a third network device, it determines the target tunnel for the next-hop network device based on the Slice labels carried in the service packet, according to the Slice entries. In this way, multiple LSPs corresponding to different Color values ​​are established between end-to-end network devices across domains. Each LSP corresponds to a lower-level network slice resource, providing selectable lower-level network slice resources for cross-domain transmission services to meet different service requirements. Attached Figure Description

[0022] Figure 1 This is a schematic diagram illustrating a scenario for establishing an LSP between cross-domain end-to-end devices, provided by related technologies.

[0023] Figure 2 This is a schematic flowchart of a service transmission method provided in one embodiment of this application;

[0024] Figure 3a This is a schematic diagram of the format of BGP-LU extended community attributes provided by related technologies;

[0025] Figure 3b This is a schematic diagram of the format of a BGP-LU extended community attribute provided in an embodiment of this application;

[0026] Figure 4 This is a schematic diagram of the process for creating a Slice entry provided in an embodiment of this application;

[0027] Figure 5 This is a schematic diagram of the process for determining the target tunnel provided in an embodiment of this application;

[0028] Figure 6 This is a flowchart illustrating a service transmission method provided in another embodiment of this application;

[0029] Figure 7 This is a flowchart illustrating a service transmission method provided in another embodiment of this application;

[0030] Figure 8 This is a flowchart illustrating a service transmission method provided in another embodiment of this application;

[0031] Figure 9 This is a flowchart illustrating a service transmission method provided in another embodiment of this application;

[0032] Figure 10 This is a flowchart illustrating a service transmission method provided in another embodiment of this application;

[0033] Figure 11a This is a schematic diagram of the cross-domain network scenario in Example 1 of this application;

[0034] Figure 11b This is a schematic diagram of the BGP-LU tag exchange table on ASBR1 in Example 1 of this application;

[0035] Figure 11c This is a schematic diagram of Slice entry 101-Slice-table in Example 1 of this application;

[0036] Figure 11d This is a schematic diagram of the BGP-LU tag exchange table on ASBR2 in Example 1 of this application;

[0037] Figure 11e This is a schematic diagram of Slice entry 102-Slice-table in Example 1 of this application;

[0038] Figure 11f This is a schematic diagram of the BGP-LULSP entry table on PE2 in Example 1 of this application;

[0039] Figure 12 This is a schematic diagram of the cross-domain transmission scenario of service messages in Example 2 of this application;

[0040] Figure 13a This is a schematic diagram of the cross-domain network scenario in Example 3 of this application;

[0041] Figure 13b It is the BGP-LU tag exchange table on ASBR1 in Example 3 of this application;

[0042] Figure 13c This is a schematic diagram of Slice entry 101-Slice-table in Example 3 of this application;

[0043] Figure 13d It is the BGP-LU tag exchange table on the C-ASBR in Example 3 of this application;

[0044] Figure 13e It is the BGP-LU tag exchange table on ASBR2 in Example 3 of this application;

[0045] Figure 13f This is a schematic diagram of Slice entry 102-Slice-table in Example 3 of this application;

[0046] Figure 14 This is a schematic diagram of the cross-domain transmission scenario of service messages in Example 4 of this application;

[0047] Figure 15 This is a schematic diagram of the structure of the first network device provided in the embodiments of this application;

[0048] Figure 16 This is a schematic diagram of the structure of the second network device provided in the embodiments of this application;

[0049] Figure 17 This is a schematic diagram of the structure of the third network device provided in the embodiments of this application. Detailed Implementation

[0050] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0051] It should be understood that in the description of the embodiments of this application, the use of terms such as "first" and "second" is only for the purpose of distinguishing technical features and should not be construed as indicating or implying relative importance, or implicitly indicating the number of technical features indicated, or implicitly indicating the sequential relationship of the technical features indicated. "At least one" means one or more, and "more" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can indicate the existence of A alone, the simultaneous existence of A and B, or the existence of B alone. A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. "At least one of the following" and similar expressions refer to any group of these items, including any group of single or plural items. For example, at least one of a, b, and c can mean: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, and c can be single or multiple.

[0052] Furthermore, the technical features involved in the various embodiments of this application described below can be combined with each other as long as they do not conflict with each other.

[0053] Border Gateway Protocol (BGP) is a routing protocol between Autonomous Systems (AS) used to exchange routing information between different AS domains. When the egress Provider Edge (PE) and ingress PE are located in different AS domains, the BGP Labeled Unicast (BGP-LU) mechanism can be used to propagate the routes of the egress PE to the ingress PE. During the propagation process, labels are exchanged, thereby establishing a Label Switching Path (LSP) between end-to-end devices across domains, enabling cross-domain network splicing.

[0054] like Figure 1 The diagram illustrates a scenario for establishing an LSP between cross-domain end-to-end devices, as provided by related technologies. Figure 1 The scenario shown includes two AS domains, AS1 and AS2. AS1 includes PE1 and ASBR1, and AS2 includes PE1 and ASBR2. PE1 and PE2 are Provider Edge (PE) devices, and ASBR1 and ASBR2 are Autonomous System Boundary Routers (ASBR). AS1 and AS2 are divided into two logical slices, SR-TE1 and SR-TE2, respectively. The Color value of SR-TE1 is Color1, and the Color value of SR-TE2 is Color2. In the traditional BGP-LU mechanism, PE1 advertises BGP-LU information to PE2 via ASBR1 and ASBR2. The BGP-LU information carries a routing address prefix (e.g., 1.1.1.1 / 32). During cross-domain propagation, each node creates an LSP based on the routing address prefix. Only one LSP can be created per prefix, making it impossible to simultaneously select underlying network slice resources. Even if the BGP-LU information carries multiple color values, only one underlying logical slice can be fixed for service forwarding. In other words, different services can only be forwarded between two endpoint devices across domains through a fixed network slice resource. For example, in addition to carrying the routing address prefix (1.1.1.1 / 32), the BGP-LU information also carries two color values ​​(Color1 and Color2). However, since each prefix can only establish one LSP under the traditional mechanism, only SR-TE1 can be fixedly selected based on Color1, or SR-TE2 can be fixedly selected based on Color2 to construct an LSP (e.g., SR-TE1 and Color2). Figure 1Since LSP1 is based on Color1, it is not possible to select SR-TE1 and SR-TE2 to create multiple LSPs separately, thus making it impossible to achieve end-to-end network slicing in cross-domain scenarios.

[0055] To address the aforementioned issues, this application provides a service transmission method, network device, computer-readable storage medium, and computer program product, aiming to resolve the problem of the inability to select network slice resources between end-to-end devices in cross-domain scenarios.

[0056] like Figure 2 The diagram shown is a flowchart illustrating a service transmission method provided in an embodiment of this application. The implementation process of this method includes, but is not limited to, the following steps S110-S130:

[0057] In step S110, the first network device receives Border Gateway Protocol-Label Unicast (BGP-LU) routing information from the second network device. The BGP-LU routing information includes multiple color attribute information, and each color attribute information includes a color value and a corresponding slice tag.

[0058] Step S120: The first network device creates a Slice entry based on BGP-LU routing information. The Slice entry includes multiple Slice labels and tunnel labels that correspond one-to-one with the multiple Slice labels. The tunnel labels are used to identify the tunnel between the first network device and the second network device.

[0059] In step S130, when the first network device receives a service packet from the third network device, it determines the target tunnel from the Slice table entry based on the Slice label carried in the service packet, and forwards the service packet to the second network device through the target tunnel.

[0060] It should be noted that, in the embodiments of this application, the first network device represents an intermediate node between cross-domain end-to-end network devices, the second network device represents the next-hop node of the first network device in the service flow transmission path, and the third network device represents the previous-hop node of the first network device in the service flow transmission path. Figure 1 Taking the scenario shown as an example, the first network device can be ASBR1 or ASBR2; when the first network device is ASBR1, the second network device refers to PE1, and the third network device refers to ASBR2; when the first network device is ASBR2, the second network device refers to ASBR1, and the third network device refers to PE2.

[0061] The following are in order Figure 2 The steps shown will be explained.

[0062] In step S110, the first network device receives BGP-LU routing information from the second network device. The BGP-LU routing information carries multiple Color attribute information, and each Color attribute information includes a Color value and a Slice tag corresponding to the Color value.

[0063] For example, Color attribute information can be carried within BGP-LU extended community attribute information. It should be understood that the BGP-LU extended community attribute information provided in this application extends the traditional BGP-LU extended community attribute information, such as... Figure 3a The diagram shows a format diagram of the BGP-LU extended community attributes provided by related technologies (see standard protocol RFC9012); as shown Figure 3b The diagram illustrates the format of extended community attributes for BGP-LU routing information according to an embodiment of this application. In this embodiment, the extended community attribute information includes a Flags field, a Slice field, and a ColorValue field. The original BGP-LU extended community attributes include a Flags field and a ColorValue field, where Flags is 2 bytes and has no defined semantics; the receiving device directly transmits this field. In this embodiment, the Flags field is redefined as 1 byte, and a 1-byte Slice field is added. The Slice field carries the Slice label, and the ColorValue field carries the Color value.

[0064] It is understood that the BGP-LU routing information in this application embodiment carries multiple such... Figure 3b The BGP-LU extended community attribute information shown here has a unique correspondence between the Color value and the Slice label in each BGP-LU extended community attribute information. For example, the BGP-LU routing information contains two BGP-LU extended community attribute information pieces. The first BGP-LU extended community attribute information carries a Color value of 1 and a corresponding Slice label of Slice1, while the second BGP-LU extended community attribute information carries a Color value of 2 and a corresponding Slice label of Slice2.

[0065] In step S120, the first network device creates a Slice entry based on BGP-LU routing information. This Slice entry includes multiple Slice labels and multiple tunnel labels, which are in a one-to-one correspondence. This allows the first network device to find the tunnel label corresponding to the Slice label in the Slice entry, and then determine the corresponding target tunnel based on the tunnel label. For example, if the Slice entry contains two Slice labels (Slice1 and Slice2), the tunnel label corresponding to Slice1 is SR-TE1, and the tunnel label corresponding to Slice2 is SR-TE2.

[0066] For example, such as Figure 4 As shown, creating a Slice entry based on BGP-LU routing information can specifically include the following steps:

[0067] Step S121: Predefine the tunnel label corresponding to each tunnel between the first network device and the second network device.

[0068] It is understandable that a tunnel label is configured for each tunnel between the first network device and the second network device. For example, if two tunnels are formed between the first network device and the second network device through slicing, labels SR-TE1 and SR-TE2 are configured for these two tunnels respectively.

[0069] Step S122: Determine the Slice label corresponding to each tunnel label based on the Color value corresponding to each tunnel.

[0070] It is understandable that each tunnel has a predefined Color value, and each tunnel between the first network device and the second network device has a different Color value. Therefore, based on the Slice label corresponding to each Color value in the BGP-LU routing information, the Slice label corresponding to each tunnel can be determined, and a correspondence between the Slice label and the tunnel label can be established.

[0071] Step S123: Obtain Slice entries based on the correspondence between Slice tags and tunnel tags.

[0072] Understandably, the corresponding Slice tags and tunnel tags are recorded in the Slice table entries to form Slice table entries. For example, if Slice1 and SR-TE1 both correspond to Color1, and Slice2 and SR-TE2 both correspond to Color2, then the correspondence between Slice1 and SR-TE1, and between Slice2 and SR-TE2 are established respectively and recorded in the Slice table entries.

[0073] In step S130, the target tunnel is determined from the Slice table entries based on the Slice tag carried in the service message. Specifically, this may include, for example: Figure 5 The steps shown are as follows:

[0074] Step S131: Determine the tunnel label corresponding to the Slice label carried in the service message from the Slice entry;

[0075] Step S132: Determine the target tunnel based on the tunnel label.

[0076] For example, if the service packet carries a Slice label of Slice1, then the tunnel label corresponding to Slice1 can be determined from the Slice table entry as SR-TE1; if the service packet carries a Slice label of Slice2, then the tunnel label corresponding to Slice2 can be determined from the Slice table entry as SR-TE2. In this way, different slice tunnels can be selected for packet forwarding based on different service requirements of the service packet, achieving the goal of end-to-end network slicing in cross-domain scenarios.

[0077] In this embodiment of the application, the BGP-LU routing information may further include a first BGP-LU label corresponding to the second network device. Specifically, in a cross-domain scenario, each network device can configure a unique BGP-LU label for the current BGP-LU route. For example, the BGP-LU labels for PE1, ASBR1, and ASBR2 are 100, 101, and 102 respectively, and the BGP-LU routing information received by ASBR1 from PE1 carries PE1's BGP-LU label 100.

[0078] For example, after receiving BGP-LU routing information from the second network device, the method in this embodiment may further include as follows: Figure 6 The steps shown are as follows:

[0079] Step S210: Obtain the second BGP-LU tag corresponding to itself.

[0080] It is understood that the first BGP-LU label is used to characterize the BGP-LU label of the second network device for the current BGP-LU route (e.g., the route with the prefix 1.1.1.1 / 32), and the second BGP-LU label is used to characterize the BGP-LU label of the first network device for the current BGP-LU route (the route with the prefix 1.1.1.1 / 32).

[0081] Step S220: Use the second BGP-LU tag as the input BGP-LU tag, use the first BGP-LU tag as the output BGP-LU tag, and generate Slice table entry indexes corresponding to the input BGP-LU tag and the output BGP-LU tag.

[0082] The Slice entry index is used to index the Slice entry corresponding to the BGP-LU tag.

[0083] It is understood that the incoming BGP-LU label is the BGP-LU label of the node itself (i.e., the first network device), and the outgoing BGP-LU label is the BGP-LU label of the next hop node (i.e., the second network device) in the service transmission path. In this embodiment of the application, by constructing a Slice table entry index corresponding to the incoming BGP-LU label, the first network device can find the Slice table entry corresponding to the incoming BGP-LU label according to the Slice table entry index.

[0084] Step S230: Record the correspondence between the input BGP-LU tag, the Slice table entry index, and the output BGP-LU tag in a pre-created BGP-LU tag exchange table.

[0085] For example, if the inbound BGP-LU label is 102, the Slice table entry index is 102-Slice-table, and the outbound BGP-LU label is 101, the correspondence between the inbound BGP-LU label, the Slice table entry index, and the outbound BGP-LU label is recorded in a pre-created BGP-LU label exchange table.

[0086] It should be noted that after the first network device obtains the second BGP-LU tag corresponding to itself, the following steps are also included:

[0087] Step S211: Replace the first BGP-LU label in the BGP-LU routing information with the second BGP-LU label to obtain new BGP-LU routing information;

[0088] Step S212: Send the new BGP-LU routing information to the third network device.

[0089] Understandably, after receiving BGP-LU routing information from the second network device, the first network device replaces the first BGP-LU label (i.e., the second network device's BGP-LU label) in the original BGP-LU routing information with the second BGP-LU label (i.e., the first network device's own BGP-LU label), and sends the BGP-LU routing information with the replaced BGP-LU label to the third network device, thereby achieving the purpose of label exchange.

[0090] It is understandable that the service packets sent by the third network device to the first network device also carry BGP-LU tags, so that the first network device can look up the corresponding Slice table entry index based on the BGP-LU tags in the service packets, and then obtain the corresponding Slice table entry based on the Slice table entry index.

[0091] Specifically, before determining the target tunnel from the Slice table entries based on the Slice tag carried in the service message, the method in this application embodiment further includes, as follows: Figure 7 The steps shown are as follows:

[0092] Step S311: Use the BGP-LU label carried by the service message as the inbound BGP-LU label, and obtain the Slice table entry index corresponding to the inbound BGP-LU label from the pre-created BGP-LU label exchange table.

[0093] Step S312: Obtain the Slice entry based on the Slice entry index.

[0094] For example, if ASBR1 receives a service message from ASBR2 carrying a BGP-LU label 101, then the BGP-LU label 101 is used as the incoming BGP-LU label. The Slice table entry index corresponding to the BGP-LU label 101 is searched in the incoming BGP-LU label entry of the BGP-LU label exchange table. Assuming that the found Slice table entry index is 101-Slice-table, then the Slice table entry corresponding to the Slice table entry index 101Slice-table is searched. In this way, the tunnel label corresponding to the Slice label in the service message can be obtained from the found Slice table entry.

[0095] It should be noted that, before forwarding service packets to the second network device through the target tunnel, the method in this application embodiment may further include, as follows: Figure 8 The steps shown are as follows:

[0096] Step S321: Obtain the output BGP-LU tag corresponding to the input BGP-LU tag from the pre-created BGP-LU tag exchange table;

[0097] Step S322: Replace the BGP-LU label carried in the service message with the outgoing BGP-LU label.

[0098] Understandably, the first network device will replace the BGP-LU label in the original service packet received from the third network device with the outgoing BGP-LU label, obtain a new service packet, and forward it to the next-hop node (the second network device), so that the next-hop node can obtain the Slice table entry index based on the BGP-LU label in the received service packet.

[0099] It should be noted that the service message also carries a tunnel tag, which is used to indicate the tunnel through which the service message passes to reach the first network device.

[0100] Before forwarding the service packet to the second network device through the target tunnel, the method in this application embodiment may further include: replacing the tunnel label carried by the service packet with the tunnel label corresponding to the target tunnel.

[0101] For example, the service message carries a tag stack, which includes at least one of the following tags from the outermost layer to the innermost layer: tunnel tag, BGP-LU tag, slice tag, slice tag, VPN tag, and destination address.

[0102] Specifically, the various tags that the service message needs to carry are encapsulated in the form of a tag stack, resulting in a tag stack containing multiple layers of tags. After receiving the service message, the first network device pops the tags sequentially from the outermost layer to the innermost layer. For example, the tag stack from the outermost layer to the innermost layer may include, in sequence, a tunnel tag, a BGP-LU tag, a slice marker, a slice tag, a VPN tag, and a destination address. Among them, the tunnel tag indicates the tunnel through which the service message arrives at the first network device, the BGP-LU tag indicates the incoming BGP-LU tag in the first network device's BGP-LU tag switching table, the slice marker indicates whether the inner layer contains a slice tag, the slice tag indicates the slice used to transmit the service message, the VPN tag indicates the VPN routing tag, and the destination address indicates the destination address of the service message.

[0103] It should be noted that when a service message is received from a third network device, the method in this embodiment further includes: popping the labels of each layer of the label stack in order from the outer layer to the inner layer; when no Slice label is popped after popping the BGP-LU label, it is determined that the label stack does not carry a Slice label, the BGP-LU label is used as the ingress BGP-LU label, the outgress BGP-LU label corresponding to the ingress BGP-LU label is obtained from the pre-created BGP-LU label exchange table, the BGP-LU label carried in the service message is replaced with the outgress BGP-LU label and then forwarded to the second network device.

[0104] Specifically, when the label stack carried by the service packet includes, from the outermost layer to the innermost layer, a tunnel label, a BGP-LU label, a Slice tag, a VPN label, and a destination address, the first network device, upon receiving the service packet, pops the labels from each layer of the label stack in order from the outermost layer to the innermost layer. First, the tunnel label is popped, followed by the BGP-LU label. If the label popped after the BGP-LU label is not the preset Slice tag, it means that there is no Slice tag in the inner layer of the label stack. In this case, the first network device can use the BGP-LU label as the ingress BGP-LU label, retrieve the corresponding outgress BGP-LU label from the pre-created BGP-LU label exchange table, replace the BGP-LU label carried by the service packet with the outgress BGP-LU label, and then directly forward the service packet to the second network device.

[0105] In this embodiment, multiple Color attribute information is carried in the BGP-LU routing information. Each Color attribute information includes a Color value and a corresponding Slice label. This allows the first network device, after obtaining the BGP-LU routing information from the second network device, to create a Slice entry. Each Slice entry includes multiple Slice labels and tunnel labels corresponding to those Slice labels. When the first network device receives a service packet from the third network device, it determines the target tunnel for the next-hop network device based on the Slice labels carried in the service packet, according to the Slice entries. In this way, multiple LSPs corresponding to different Color values ​​are established between end-to-end network devices across domains. Each LSP corresponds to a lower-level network slice resource, providing selectable lower-level network slice resources for cross-domain transmission services to meet different service requirements.

[0106] like Figure 9 The diagram shown is a flowchart of a service transmission method provided in an embodiment of this application, including but not limited to the following steps S410-S420:

[0107] In step S410, the second network device adds multiple predefined color attribute information to the BGP-LU routing information. Each color attribute information includes a color value and a slice tag corresponding to the color value.

[0108] In step S420, the second network device sends BGP-LU routing information to the first network device, so that the first network device can create a Slice entry based on the BGP-LU routing information and determine the target tunnel for forwarding the service packet from the Slice entry based on the Slice label carried by the received service packet.

[0109] The Slice entry includes multiple Slice tags and tunnel tags that correspond one-to-one with each Slice tag. The tunnel tags are used to identify the tunnel between the first network device and the second network device.

[0110] It should be noted that, in the embodiments of this application, the first network device represents an intermediate node between cross-domain end-to-end network devices, the second network device represents the next-hop node of the first network device in the service flow transmission path, and the third network device represents the previous-hop node of the first network device in the service flow transmission path. Figure 1 Taking the scenario shown as an example, the first network device can be ASBR1 or ASBR2; when the first network device is ASBR1, the second network device refers to PE1, and the third network device refers to ASBR2; when the first network device is ASBR2, the second network device refers to ASBR1, and the third network device refers to PE2.

[0111] The following are in order Figure 9 The steps shown will be explained.

[0112] In step S410, the second network device adds multiple Color attribute information to the BGP-LU routing information. The Color attribute information can be BGP-LU extended community attribute information. The BGP-LU extended community attribute information includes a color value field and a slice field. The Color value is carried in the color value field, and the Slice label is carried in the Slice field.

[0113] It should be understood that the BGP-LU extended community attribute information provided in this application extends the BGP-LU extended community attribute information of related technologies, such as... Figure 3a The diagram shows a format diagram of the BGP-LU extended community attributes provided by related technologies (see standard protocol RFC9012); as shown Figure 3b The diagram shown illustrates the format of extended community attributes for BGP-LU routing information provided in this embodiment. The original BGP-LU extended community attributes include a Flags field and a ColorValue field. The Flags field is 2 bytes long and has no defined semantics; the receiving device directly transmits this field. In this embodiment, the Flags field is redefined as 1 byte, and a 1-byte Slice field is added. The Slice field carries the Slice label, and the ColorValue field carries the Color value. It is understood that the BGP-LU routing information in this embodiment carries multiple such... Figure 3bThe BGP-LU extended community attribute information shown here has a unique correspondence between the Color value and the Slice label in each Color attribute. For example, the BGP-LU routing information contains two BGP-LU extended community attribute information entries. The first BGP-LU extended community attribute information entry carries a Color value of 1 and a corresponding Slice label of Slice1, while the second BGP-LU extended community attribute information entry entry carries a Color value of 2 and a corresponding Slice label of Slice2.

[0114] It should be noted that BGP-LU routing information may also include a BGP route prefix address (e.g., 1.1.1.1 / 32). This BGP route prefix address is determined by the outgoing PE node in a cross-domain network scenario.

[0115] It should be noted that, before the second network device sends BGP-LU routing information to the first network device, the method in this embodiment may further include:

[0116] Step S411: The second network device obtains the first BGP-LU tag corresponding to itself;

[0117] In step S412, the second network device adds the first BGP-LU label to the BGP-LU routing information.

[0118] Understandably, in a cross-domain network scenario, each network device configures a unique BGP-LU label for its current BGP-LU route. For example, the BGP-LU labels for PE1, ASBR1, and ASBR2 are 100, 101, and 102, respectively. The BGP-LU routing information received by ASBR1 from PE1 carries PE1's BGP-LU label (100). Before sending BGP-LU routing information to the first network device, the second network device adds its own corresponding first BGP-LU label to the BGP-LU routing information.

[0119] like Figure 10 The diagram shown is a flowchart of a service transmission method provided in an embodiment of this application, including but not limited to the following step S510:

[0120] In step S510, the third network device sends a service message carrying a Slice tag to the first network device, so that the first network device can determine the target tunnel of the service message to the next-hop network device based on the Slice tag from the Slice table entry.

[0121] It should be noted that, in the embodiments of this application, the first network device represents an intermediate node between cross-domain end-to-end network devices, the second network device represents the next-hop node of the first network device in the service flow transmission path, and the third network device represents the previous-hop node of the first network device in the service flow transmission path. Figure 1 Taking the scenario shown as an example, the first network device can be ASBR1 or ASBR2; when the first network device is ASBR1, the second network device refers to PE1, and the third network device refers to ASBR2; when the first network device is ASBR2, the second network device refers to ASBR1, and the third network device refers to PE2.

[0122] It should be noted that service messages can also carry BGP-LU tags. BGP-LU tags are used to instruct the first network device to obtain the Slice entry index, which is used to index Slice entries.

[0123] For example, if ASBR2 sends a service message to ASBR1 carrying BGP-LU label 101, then after ASBR1 receives the service message, it will treat BGP-LU label 101 as an incoming BGP-LU label. It will then look up the Slice table entry index corresponding to BGP-LU label 101 in the incoming BGP-LU label entry of its local BGP-LU label exchange table. Assuming the found Slice table entry index is 101-Slice-table, it will then look up the Slice table entry corresponding to the Slice table entry index 101Slice-table, and finally obtain the tunnel label corresponding to the Slice label in the service message from the found Slice table entry.

[0124] It should be noted that service messages can also carry tunnel tags. Tunnel tags are used to indicate the tunnel through which the third network device forwards service messages. That is, the third network device forwards service messages to the first network device through the tunnel indicated by the tunnel tag.

[0125] It should be noted that the service message carries a tag stack, which includes at least one of the following tags from the outermost layer to the innermost layer: tunnel tag, BGP-LU tag, slice tag, VPN tag, and destination address.

[0126] Specifically, the various labels required to carry the service message are encapsulated in the form of a label stack, resulting in a label stack containing multiple layers of labels. For example, the destination address, VPN label, Slice label, Slice marker, BGP-LU label, and tunnel label are sequentially pushed into the label stack, so that from the outermost layer to the innermost layer, the order is tunnel label, BGP-LU label, Slice marker, Slice label, VPN label, and destination address. Here, the tunnel label indicates the tunnel through which the service message reaches the first network device; the BGP-LU label indicates the incoming BGP-LU label in the first network device's BGP-LU label switching table; the Slice marker indicates whether the inner layer contains a Slice label; the Slice label indicates the slice used to transmit the service message; the VPN label indicates the VPN routing label; and the destination address indicates the destination address of the service message.

[0127] It should be noted that the above tag stack structure is merely an example; in a specific implementation, the tag stack may contain more or fewer tags.

[0128] To better understand the solutions of the embodiments of this application, several specific examples are given below.

[0129] Example 1:

[0130] like Figure 11a The diagram shown illustrates a cross-domain network scenario applicable to an embodiment of this application. Figure 11a In the scenario shown, there are two AS domains, AS1 and AS2. AS1 includes PE1 and ASBR1, and AS2 includes PE1 and ASBR2. AS1 and AS2 achieve intra-domain network slicing (SR-TE1 and SR-TE2 respectively) within their respective networks. Inter-domain network slicing (sub-if1 and sub-if2 respectively) is achieved between AS1 and AS2. This example solution uses BGP-LU to connect the networks of AS1 and AS2, forming multiple cross-domain end-to-end BGP-LULSPs. The specific implementation process is as follows:

[0131] In step S601, PE1 and ASBR1, ASBR1 and ASBR2, and ASBR2 and PE2 respectively establish BGP-LU neighbors;

[0132] In step S602, PE1 sends BGP-LU routing information <1.1.1.1 / 32+label 100> to ASBR1. This BGP-LU routing information carries extended community attribute information including...<Color1+Slice1> and<Color2+Slice2> Two Color attribute information, where label 100 is the corresponding BGP-LU label for PE1;

[0133] In step S603, after ASBR1 receives BGP-LU routing information from PE1, it generates the following... Figure 11b The BGP-LU label exchange table shown also generates a Slice table entry index 101-Slice-table. The BGP-LU label exchange table includes the corresponding inbound BGP-LU labels, Slice table entry indexes, and outbound BGP-LU labels. The BGP-LU label exchange table of ASBR1 includes label exchange information <101, 101-Slice-table, 100>.

[0134] Step S604, ASBR1 generates as follows Figure 11c The Slice table entry shown (101-Slice-table) contains three items: Slice, out-Slice, and next Hop. The Slice item includes multiple slice labels, the out-Slice item includes the out-Slice label corresponding to each slice label, and the next Hop item includes the tunnel label corresponding to each slice label. The out-Slice and next Hop constitute the out-Slice information corresponding to the Slice. In this example, the 101-Slice-table includes...<Slice1+Slice1+SR-TE1> and<Slice2+Slice2+SR-TE2> ASBR1 can obtain the output information based on the slice label Slice1 from two slice information.<Slice1+SR-TE1> Iterate to SR-TE1, or obtain the output information based on the slice label Slice2.<Slice2+SR-TE2> Iterated to SR-TE2;

[0135] In step S605, ASBR1 modifies the BGP-LU label 100 in the BGP-LU routing information to the BGP-LU label 101 corresponding to itself, and then sends the BGP-LU routing information <1.1.1.1 / 32+label 101> to ASBR2. This BGP-LU routing information carries extended community attribute information including...<Color1+Slice1> and<Color2+Slice2> Two Color attribute information;

[0136] Step S606: After receiving the BGP-LU routing information from ASBR1, ASBR2 generates the following... Figure 11dThe BGP-LU tag exchange table shown also generates a Slice table entry index 102-Slice-table. The BGP-LU tag exchange table of ASBR2 includes tag exchange information <102, 102-Slice-table, 101>.

[0137] Step S607, ASBR2 generates as follows Figure 11e The Slice table entry shown is 102-Slice-table. In this example, 102-Slice-table includes...<Slice1+Slice1+sub-if1> and<Slice2+Slice2+sub-if2> ASBR2 can obtain the output information based on the slice label Slice1 from two slice information entries.<Slice1+sub-if1> Iterate to sub-if1, or obtain the output information based on the slice label Slice2.<Slice2+sub-if2> Iterate to sub-if2;

[0138] In step S608, ASBR2 modifies the BGP-LU label 101 in the BGP-LU routing information to the BGP-LU label 102 corresponding to itself, and then sends the BGP-LU routing information <1.1.1.1 / 32+label 102> to PE2. This BGP-LU routing information carries extended community attribute information including...<Color1+Slice1> and<Color2+Slice2> Two Color attribute information;

[0139] In step S609, PE2 receives BGP-LU routing information from ASBR2 and, in the control plane, generates a routing information system based on the route address prefix and color value, as shown below. Figure 11f The BGP-LU LSP ingress entry shown has the following characteristics: For the outgress entry <1.1.1.1 / 32+Color1>, the outgress label stack is 102 / Slice1, and it can be iterated to SR-TE1 using Color1 and the next-hop address; for the outgress entry <1.1.1.1 / 32+Color2>, the outgress label stack is 102 / Slice2, and it can be iterated to SR-TE2 using Color2 and the next-hop address.

[0140] This completes the establishment of multiple cross-domain end-to-end BGP-LU LSPs (LSP1 and LSP2) between PE1 and PE2.

[0141] Example 2:

[0142] like Figure 12As shown, after establishing multiple cross-domain end-to-end BGP-LULSPs between PE1 and PE2 based on the method in Example 1, if there are multiple VPN services with different business requirements, different BGP-LU LSPs can be selected. For example, when VPN1's service needs to select slice SR-TE1 for end-to-end transmission, the specific implementation process is as follows:

[0143] In step S701, PE1 and PE2 establish an MP-BGP neighbor relationship directly or indirectly, exchange VPN routes, and PE1 sends VPN1 routes to PE2.<RD1+10.1.1.1 / 32+VPN-lable 300> Carry Color1;

[0144] In step S702, after PE2 receives the route from VPN1, iterates to the BGP-LU entry <1.1.1.1 / 32+Color1> based on the next-hop address 1.1.1.1 and Color1, and creates a forwarding table entry for route 10.1.1.1 / 32 in the VPN1 routing table;

[0145] In step S703, PE2 receives a service packet with a destination address of 10.1.1.1 from CE12 (Customer Edge, CE), looks up the VPN1 routing table, and then encapsulates the packet's outer label stack according to the forwarding table entry information of route 10.1.1.1 / 32, encapsulating the destination address 10.1.1.1, VPN routing label 300, Slice label Slice1, Slice mark Slice-mark, BGP-LU label 102, and tunnel label SR-TE1 from the inside out.

[0146] It should be noted that the Slice mark can be obtained by applying for a Base Special-Purpose MPLS Label from the IANA registration application for Multiprotocol Label Exchange. The Slice mark is used to identify its inner label as a Slice label. In this embodiment of the application, the Slice mark is referred to as "Slice-mark".

[0147] In step S704, after ASBR2 receives the service packet sent by PE2 from the slice tunnel SR-TE1, it pops the tags from the tag stack sequentially. Based on the BGP-LU tag 102, it obtains the Slice table index Slice-table 102 from the BGP-LU tag exchange table. If the inner tag in the service packet is Slice-mark, it continues to use the inner tag Slice1 to search for the item information in Slice-table 102.<Slice1+sub-if1> After the target is found, label switching is performed, and the label stack is encapsulated. From the inside out, the destination address 10.1.1.1, VPN route label 300, Slice label Slice1, Slice mark Slice-mark, BGP-LU label 101, and tunnel label sub-if1 are encapsulated in sequence.

[0148] In step S705, after ASBR1 receives the service packet sent by ASBR2 from the slice tunnel sub-if1, it pops the tags from the tag stack sequentially. Based on the BGP-LU tag 101, it obtains the Slice table entry index Slice-table 101 from the BGP-LU tag exchange table. If the inner tag in the service packet is Slice-mark, it continues to use the inner tag Slice1 to search for the entry information in Slice-table 102.<Slice1+SR-TE1> After the target is found, label switching is performed, and the following is encapsulated from the inside out: destination address 10.1.1.1, VPN route label 300, Slice label Slice1, Slice mark Slice-mark, BGP-LU label 100, and tunnel label SR-TE1.

[0149] In step S706, after PE1 receives the service message sent by ASBR1 from the slice tunnel SR-TE1, it pops the labels from the label stack in sequence. If it can be determined that the label is popped locally, it continues to use the inner label 300 to find VPN1, and continues to use the inner destination address 10.1.1.1 to look up the route in the VPN1 routing table and send the message to CE11.

[0150] Example 3:

[0151] like Figure 13a As shown, AS1 and AS2 need to pass through the core network C-ASBR, which does not support slicing. VPN services with different service requirements can still choose different BGP-LU LSPs in the sliced ​​network. The services are forwarded through the core network C-ASBR according to the traditional BGP-LU LSP path. The specific implementation process is as follows:

[0152] In step S801, PE1 and ASBR1, ASBR1 and C-ASBR, C-ASBR and ASBR2, and ASBR2 and PE2 respectively establish BGP-LU neighbors;

[0153] In step S802, PE1 sends BGP-LU routing information <1.1.1.1 / 32+label 100> to ASBR1. This BGP-LU routing information carries extended community attribute information including...<Color1+Slice1> and<Color2+Slice2> Two Color attribute information, where label 100 is the corresponding BGP-LU label for PE1;

[0154] In step S803, after ASBR1 receives the BGP-LU routing information from PE1, it performs the following steps: Figure 13b The BGP-LU tag exchange table shown generates tag exchange information.<in-lable:101,Slice-table:101-Slice-table,out-lable:100> ;

[0155] Step S804, ASBR1 generates as follows Figure 13c The Slice entry shown (101-Slice-table) includes...<Slice1+Slice1+SR-TE1> and<Slice2+Slice2+SR-TE2> ASBR1 can obtain the output information based on the slice label Slice1 from two slice information entries.<Slice1+SR-TE1> Iterate to SR-TE1, or obtain the output information based on the slice label Slice2.<Slice2+SR-TE2> Iterated to SR-TE2;

[0156] In step S805, ASBR1 modifies the BGP-LU label 100 in the BGP-LU routing information to the BGP-LU label 101 corresponding to itself, and then sends the BGP-LU routing information <1.1.1.1 / 32+label 101> to C-ASBR. This BGP-LU routing information carries extended community attribute information including...<Color1+Slice1> and<Color2+Slice2> Two Color attribute information;

[0157] Step S806, C-ASBR generates as follows Figure 13dThe BGP-LU label exchange table shown includes three items: in-label, out-label, and next hop. For example, in-label is 201, out-label is 101, and next hop is if2.

[0158] In step S807, C-ASBR modifies the BGP-LU label 100 in the BGP-LU routing information to the BGP-LU label 201 corresponding to itself, and sends the BGP-LU routing information <1.1.1.1 / 32+label 201> to PE2, transparently transmitting the extended community attribute and carrying the original extended community information.<Color1+Slice1> and<Color2+Slice2> ;

[0159] In step S808, ASBR2 receives BGP-LU routing information from C-ASBR and generates a routing table as follows: Figure 13e The BGP-LU tag exchange table shown also generates a Slice table entry index 102-Slice-table. The BGP-LU tag exchange table of ASBR2 includes tag exchange information <102, 102-Slice-table, 201>.

[0160] Step S809, ASBR2 generates as follows Figure 13f The Slice table entry shown is 102-Slice-table. In this example, 102-Slice-table includes...<Slice1+Slice1+if1> and<Slice2+Slice2+if1> Two slice messages;

[0161] In step S21, ASBR2 modifies the BGP-LU label 201 in the BGP-LU routing information to the BGP-LU label 102 corresponding to itself, and then sends the BGP-LU routing information <1.1.1.1 / 32+label 102> to PE2. This BGP-LU routing information carries extended community attribute information including...<Color1+Slice1> and<Color2+Slice2> Two Color attribute information;

[0162] In step S811, PE2 receives BGP-LU routing information from ASBR2 and, in the control plane, generates BGP-LU LSP ingress entries based on the route prefix address and Color value (and...). Figure 11f(Same as example) According to the BGP-LU LSP ingress entry, in the <1.1.1.1 / 32+Color1> entry egress information, label stack 102 / Slice1 is exited, and it iterates to SR-TE1 through Color1 and the next-hop address of the route; in the <1.1.1.1 / 32+Color2> entry egress information, label stack 102 / Slice2 is exited, and it iterates to SR-TE2 through Color2 and the next-hop address of the route.

[0163] This completes the establishment of multiple cross-domain end-to-end BGP-LU LSPs between PE1 and PE2.

[0164] Example 4:

[0165] like Figure 14 As shown, after establishing multiple cross-domain end-to-end BGP-LULSPs between PE1 and PE2 based on the method in Example 3, if there are multiple VPN services with different business requirements, different BGP-LU LSPs can be selected. For example, when VPN1's service needs to select slice SR-TE1 for end-to-end transmission, the specific implementation process is as follows:

[0166] In steps S901 and S701, PE1 and PE2 establish an MP-BGP neighbor relationship directly or indirectly, exchange VPN routes, and PE1 sends VPN1 routes to PE2.<RD1+10.1.1.1 / 32+VPN-lable 300> Carry Color1;

[0167] In step S902, after PE2 receives the route from VPN1, iterates to the BGP-LU entry <1.1.1.1 / 32+Color1> based on the next-hop address 1.1.1.1 and Color1, and creates a forwarding table entry for route 10.1.1.1 / 32 in the VPN1 routing table;

[0168] In step S903, PE2 receives a service packet with a destination address of 10.1.1.1 from CE12 (Customer Edge, CE), looks up the VPN1 routing table, and then encapsulates the packet's outer label stack according to the forwarding table entry information of route 10.1.1.1 / 32, encapsulating the destination address 10.1.1.1, VPN routing label 300, Slice label Slice1, Slice mark Slice-mark, BGP-LU label 102, and tunnel label SR-TE1 from the inside out.

[0169] In step S904, after ASBR2 receives the service packet sent by PE2 from the slice tunnel SR-TE1, it pops the tags from the tag stack sequentially. Based on the BGP-LU tag 102, it obtains the Slice table index Slice-table 102 from the BGP-LU tag exchange table. If the inner tag in the service packet is Slice-mark, it continues to use the inner tag Slice1 to search for the item information in Slice-table 102.<Slice1+if1> After the target is found, label switching is performed, and the label stack is encapsulated. From the inside out, the destination address 10.1.1.1, VPN routing label 300, Slice label Slice1, Slice mark Slice-mark, BGP-LU label 201, and tunnel label if1 are encapsulated in sequence. Then, the service message is sent to C-ASBR through if1.

[0170] In step S905, C-ASBR receives the service packet from ASBR2, pops the labels from the label stack sequentially, and determines the outgoing information from the BGP-LU label switching table based on BGP-LU label 201. The outgoing information includes outgoing BGP-LU label 101 and outgoing tunnel label if2. Then, label switching is performed, and the label stack is encapsulated. From the inside out, the destination address 10.1.1.1, VPN routing label 300, Slice label Slice1, Slice mark Slice-mark, BGP-LU label 101, and tunnel label if2 are encapsulated sequentially. Then, the service packet is sent to ASBR1 via if2.

[0171] In step S906, after ASBR1 receives the service message from C-ASBR, it pops the tags from the tag stack sequentially. Based on the BGP-LU tag 101, it obtains the Slice table entry index Slice-table 101 from the BGP-LU tag exchange table. If the inner tag in the service message is Slice-mark, it continues to use the inner tag Slice1 to search for the item information in Slice-table 102.<Slice1+SR-TE1> After the target is found, label switching is performed, and the destination address 10.1.1.1, VPN routing label 300, Slice label Slice1, Slice mark Slice-mark, BGP-LU label 100, and tunnel label SR-TE1 are encapsulated sequentially from the inside out. Then, the service message is sent to ASBR1 via SR-TE1.

[0172] In step S907, after PE1 receives the service message from ASBR1, it pops the labels from the label stack in sequence. If it can be determined that the label is popped locally, it continues to use the inner label 300 to find VPN1, and continues to use the inner destination address 10.1.1.1 to look up the route in the VPN1 routing table and send the message to CE11.

[0173] Based on the above steps, after a service crosses the traditional core network and enters the slice network, it can still select different slice resources for forwarding as needed. This overcomes the problem that in scenarios where two slice networks are connected through a traditional core network, services cannot select different slice resources for forwarding between the two slice networks.

[0174] In this application's embodiment of the end-to-end cross-domain network slicing scheme, BGP-LU technology is used to splice different networks. During network interactions, BGP-LU routes carry multiple Color attribute information. Network boundary devices establish BGP-LU LSPs based on prefixes and Colors. Multiple BGP-LU LSPs can be established using the same prefix and different Colors. Each BGP-LU LSP selects different low-level logical slices based on its Color. On the data plane, multi-layer label stack technology is used to push slice tags into the inner layer of BGP-LU tags. This ensures that after services traverse non-sliced ​​networks and enter sliced ​​networks, they still retain the ability to select slice resources, solving the problem of phased deployment of sliced ​​networks while maintaining compatibility with existing networks.

[0175] It should be noted that although the operations are described in a specific order in the accompanying drawings in the embodiments of this application, this should not be construed as requiring these operations to be performed in the specific order or serial order shown, or requiring all the operations shown to be performed to obtain the desired result. In certain environments, multitasking and parallel processing may be advantageous.

[0176] In addition, the descriptions of each embodiment in this application have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0177] This application also provides a first network device, such as... Figure 15 As shown, the first network device 10 includes, but is not limited to:

[0178] Processor 11 and memory 12;

[0179] The memory 12 stores program instructions that, when executed by the processor 11, cause the processor 11 to perform the service transmission method executed on the first network device side as described in any of the above embodiments.

[0180] The processor 11 and memory 12 can be connected via a bus or other means.

[0181] It should be understood that the processor 11 may be a Central Processing Unit (CPU). The processor may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor. Alternatively, the processor 11 may employ one or more integrated circuits to execute relevant programs to implement the technical solutions provided in the embodiments of this application.

[0182] The memory 12, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs, such as the service transmission method executed on the first network device side as described in any embodiment of this application. The processor 11 implements the aforementioned service transmission method executed on the first network device side by running the non-transitory software program and instructions stored in the memory 12.

[0183] The memory 12 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function. The data storage area may store the service transmission method or the training method for the spectrum sensing model executed on the first network device side as described above. Furthermore, the memory 12 may include high-speed random access memory and non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 12 may optionally include memory remotely located relative to the processor 11, and these remote memories can be connected to the processor 11 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0184] The non-transitory software program and instructions required to implement the service transmission method executed on the first network device side described above are stored in the memory 12. When executed by one or more processors 11, the service transmission method executed on the first network device side provided in any embodiment of this application is executed.

[0185] This application also provides a second network device, such as... Figure 16 As shown, the second network device 20 includes, but is not limited to:

[0186] Processor 21 and memory 22;

[0187] The memory 22 stores program instructions that, when executed by the processor 21, cause the processor 21 to perform the service transmission method executed on the second network device side as described in any of the above embodiments.

[0188] The processor 21 and memory 22 can be connected via a bus or other means.

[0189] It should be understood that the processor 21 can be a Central Processing Unit (CPU). The processor can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor. Alternatively, the processor 21 can employ one or more integrated circuits to execute relevant programs to implement the technical solutions provided in the embodiments of this application.

[0190] The memory 22, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs, such as the service transmission method executed on the second network device side as described in any embodiment of this application. The processor 21 implements the aforementioned service transmission method executed on the second network device side by running the non-transitory software program and instructions stored in the memory 22.

[0191] The memory 22 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function. The data storage area may store the service transmission method or the training method for the spectrum sensing model executed on the second network device side as described above. Furthermore, the memory 22 may include high-speed random access memory and non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 22 may optionally include memory remotely located relative to the processor 21, and these remote memories can be connected to the processor 21 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0192] The non-transitory software program and instructions required to implement the service transmission method executed on the second network device side described above are stored in the memory 22. When executed by one or more processors 21, the service transmission method executed on the second network device side provided in any embodiment of this application is executed.

[0193] This application also provides a third network device, such as... Figure 17 As shown, the third network device 30 includes, but is not limited to:

[0194] Processor 31 and memory 32;

[0195] The memory 32 stores program instructions, which, when executed by the processor 31, cause the processor 31 to perform the service transmission method executed on the third network device side as described in any of the above embodiments.

[0196] The processor 31 and memory 32 can be connected via a bus or other means.

[0197] It should be understood that the processor 31 can be a Central Processing Unit (CPU). The processor can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor. Alternatively, the processor 31 can employ one or more integrated circuits to execute relevant programs to implement the technical solutions provided in the embodiments of this application.

[0198] The memory 32, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs, such as the service transmission method executed on the third network device side as described in any embodiment of this application. The processor 31 implements the aforementioned service transmission method executed on the third network device side by running the non-transitory software program and instructions stored in the memory 32.

[0199] The memory 32 may include a program storage area and a data storage area. The program storage area may store the operating system and at least one application program required for a function. The data storage area may store the service transmission method or the training method for the spectrum sensing model executed by the third network device. Furthermore, the memory 32 may include high-speed random access memory and non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 32 may optionally include memory remotely located relative to the processor 31, and these remote memories can be connected to the processor 31 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0200] The non-transitory software program and instructions required to implement the service transmission method executed on the third network device side described above are stored in the memory 32. When executed by one or more processors 31, the service transmission method executed on the third network device side provided in any embodiment of this application is executed.

[0201] This application also provides a computer-readable storage medium storing program instructions. When the program instructions are executed by a computer, they implement the service transmission method described in any of the above embodiments.

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

[0203] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of sending, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.

[0204] The program code contained on a computer-readable medium may be transmitted using any suitable medium, including, but not limited to, wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0205] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof. Programming languages ​​include object-oriented programming languages—such as Java, Smalltalk, and C++—as well as conventional procedural programming languages—such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0206] This application provides a computer program product that stores program instructions. When executed by a computer, the program instructions cause the computer to implement the service transmission method described in any of the above embodiments.

[0207] The foregoing has provided a detailed description of the preferred embodiments of this application. However, this application is not limited to the above-described embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of this application. All such equivalent modifications or substitutions are included within the scope defined in this application.

Claims

1. A service transmission method applied to a first network device, the method comprising: receiving border gateway protocol-label unicast (BGP-LU) routing information from a second network device, the BGP-LU routing information comprising a plurality of Color attribute information, each Color attribute information comprising a Color value and a Slice label corresponding to the Color value; determining a Slice label corresponding to each tunnel label according to a pre-defined correspondence between each tunnel label and Color value of tunnels between the first network device and the second network device; creating a Slice entry according to a correspondence between the Slice labels and the tunnel labels, the Slice entry comprising a plurality of Slice labels and tunnel labels corresponding to the Slice labels one by one; when receiving a service packet from a third network device, determining a tunnel label corresponding to a Slice label carried by the service packet from the Slice entry, determining a target tunnel according to the corresponding tunnel label, and forwarding the service packet to the second network device through the target tunnel.

2. The method of claim 1, wherein, the BGP-LU routing information further comprises a first BGP-LU label corresponding to the second network device; after receiving the BGP-LU routing information from the second network device, the method further comprises: obtaining a second BGP-LU label corresponding to itself; taking the second BGP-LU label as an inbound BGP-LU label, taking the first BGP-LU label as an outbound BGP-LU label, and generating a Slice entry index corresponding to the inbound BGP-LU label and the outbound BGP-LU label; recording a correspondence between the inbound BGP-LU label, the Slice entry index, and the outbound BGP-LU label in a pre-created BGP-LU label exchange table; wherein the Slice entry index is used to index a Slice entry corresponding to the inbound BGP-LU label.

3. The method of claim 2, wherein, after obtaining the second BGP-LU label corresponding to itself, the method further comprises: replacing the first BGP-LU label in the BGP-LU routing information with the second BGP-LU label to obtain new BGP-LU routing information; sending the new BGP-LU routing information to the third network device.

4. The method of claim 1, wherein, the service packet further carries a BGP-LU label; before determining the target tunnel from the Slice entry according to the Slice label carried by the service packet, the method further comprises: taking the BGP-LU label carried by the service packet as an inbound BGP-LU label, obtaining a Slice entry index corresponding to the inbound BGP-LU label from the pre-created BGP-LU label exchange table; and obtaining the Slice entry according to the Slice entry index.

5. The method of claim 4, wherein, before forwarding the service packet to the second network device through the target tunnel, the method further comprises: obtaining an out BGP-LU label corresponding to the in BGP-LU label from a pre-created BGP-LU label exchange table; replacing the BGP-LU label carried by the service packet with the out BGP-LU label.

6. The method of claim 5, wherein, The service packet also carries a tunnel label. Before forwarding the service packet to the second network device through the target tunnel, the method further comprises: replacing the tunnel label carried by the service packet with a tunnel label corresponding to the target tunnel.

7. The method of claim 1, wherein, The service packet carries a label stack, the label stack comprises at least one of the following labels from outside to inside: a tunnel label, a BGP-LU label, a Slice label, a Slice label, a VPN label, and a destination address.

8. The method of claim 7, wherein, When receiving a service packet from a third network device, the method further comprises: popping out the labels of the label stack in order from outside to inside; When the Slice label is not popped out after the BGP-LU label is popped out, it is determined that the Slice label is not carried by the label stack, the BGP-LU label is taken as an in BGP-LU label, an out BGP-LU label corresponding to the in BGP-LU label is obtained from a pre-created BGP-LU label exchange table, the BGP-LU label carried by the service packet is replaced with the out BGP-LU label, and the service packet is forwarded to the second network device after the replacement.

9. The method of claim 1, wherein, The BGP-LU routing information further comprises a BGP routing prefix address.

10. A service transmission method applied to a second network device, the method comprising: adding a plurality of Color attribute information pre-defined to BGP-LU routing information, each of the Color attribute information comprising a Color value and a Slice label corresponding to the Color value; sending the BGP-LU routing information to a first network device, so that the first network device creates a Slice table item according to the BGP-LU routing information and determines a target tunnel for forwarding a service packet from the Slice table item according to a Slice label carried by the service packet; wherein the Slice table item comprises a plurality of Slice labels and tunnel labels corresponding to the Slice labels one by one, and the tunnel labels are used to identify tunnels between the first network device and the second network device.

11. The method of claim 10, wherein, Before sending the BGP-LU routing information to the first network device, the method comprises: obtaining a first BGP-LU label corresponding to itself; adding the first BGP-LU label to the BGP-LU routing information.

12. The method of claim 10, wherein, The Color attribute information is BGP-LU extended community attribute information; The BGP-LU extended community attribute information comprises a Color value field and a Slice field, the Color value is carried in the Color value field, and the Slice label is carried in the Slice field.

13. The method of claim 10, wherein, The BGP-LU routing information comprises a BGP routing prefix address.

14. A service transmission method applied to a third network device, the method comprising: sending, to a first network device, a service packet via a tunnel indicated by a tunnel label carried by the service packet, the service packet further carrying a BGP-LU label and a Slice label, so as to instruct the first network device to obtain a Slice table entry index according to the BGP-LU label, obtain a Slice table entry according to the Slice table entry index, and determine a target tunnel of the service packet to a next-hop network device from the Slice table entry according to the Slice label.

15. The method of claim 14, wherein, The service packet carries a label stack, the label stack comprising at least one of the following labels from outside to inside: a tunnel label, a BGP-LU label, a Slice label, a Slice label, a VPN label, and a destination address.

16. A network device, comprising: comprising: a processor and a memory; the memory has stored program instructions which, when executed by the processor, cause the processor to perform the service transmission method of any one of claims 1-15.

17. A computer-readable storage medium, characterized in that, The computer has stored program instructions which, when executed by the computer, implement the service transmission method of any one of claims 1-15.

18. A computer program product, characterised in that, The computer program product has stored program instructions which, when executed by the computer, cause the computer to implement the service transmission method of any one of claims 1-15.

Citation Information

Patent Citations

  • Tunnel establishment method, device and system

    CN113726630A

  • Method and network device for establishing BGP LSP tunnel

    WO2016119461A1