CN115473765A - Message transmission method, device and system - Google Patents

Message transmission method, device and system Download PDF

Info

Publication number
CN115473765A
CN115473765A CN202110653188.XA CN202110653188A CN115473765A CN 115473765 A CN115473765 A CN 115473765A CN 202110653188 A CN202110653188 A CN 202110653188A CN 115473765 A CN115473765 A CN 115473765A
Authority
CN
China
Prior art keywords
slice
network
message
vpn
node device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110653188.XA
Other languages
Chinese (zh)
Inventor
徐健
黎文岩
王振星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Huawei Digital Technologies Co Ltd
Original Assignee
Beijing Huawei Digital Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Huawei Digital Technologies Co Ltd filed Critical Beijing Huawei Digital Technologies Co Ltd
Priority to CN202110653188.XA priority Critical patent/CN115473765A/en
Publication of CN115473765A publication Critical patent/CN115473765A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A message transmission method, device and system belong to the technical field of networks. After receiving a first message, a head node device of a first tunnel determines a first network slice for forwarding the first message according to first SLA information carried in the first message, and after obtaining a second message based on the first message, forwards the second message through the first network slice. The first network slice is one of m network slices associated with the first tunnel, the first SLA information is used for indicating an SLA appeal of the first message, and m is greater than or equal to 2. According to the method and the device, the first tunnel is associated with the m network slices, so that the message iterated to the first tunnel can be forwarded by using the m network slices, and the flexibility of service forwarding is improved. And the network slice specifically used for forwarding the message can be determined according to the SLA information carried by the message, which is beneficial to realizing refined service distribution and ensuring the SLA appeal of the service.

Description

Message transmission method, device and system
Technical Field
The present application relates to the field of network technologies, and in particular, to a method, a device, and a system for packet transmission.
Background
In a segment routing internet protocol version 6 (srv 6) network scenario, a network device may forward a service through a tunnel. Also, a tunnel may be associated (or bound) with a network slice, such that traffic, after iterating into the tunnel, can be forwarded through the network slice associated with the tunnel.
Before forwarding a service through a tunnel, a tail node device of the tunnel may issue a route of a Virtual Private Network (VPN) instance for carrying the service in the tail node device, where the route includes a Segment Identifier (SID) for identifying the VPN instance, and the VPN instance may be a tail node of the tunnel. The head node device of the tunnel may iterate the traffic to the tunnel forwarding based on the VPN SID. The VPN SID is allocated by the tail node device for the VPN instance based on a locator (locator) of the tail node device (for example, the VPN SID is allocated by the tail node device for the VPN instance according to locator1 of the tail node device, and the locator in the VPN SID is the locator 1), and the locator is associated with a network slice, so that based on the VPN SID being associated with the network slice, a VPN instance identified by the VPN SID is associated with the network slice, and the tunnel associated with the VPN instance (i.e., a tunnel whose tail node is the VPN instance) is associated with the network slice.
Currently, for a VPN instance carrying the service in the tail node device, the tail node device allocates a VPN SID to the VPN instance based on one locator of the tail node device, where the one locator of the tail node device is associated with one network slice, so that each VPN SID allocated by the tail node device is associated with only one network slice, so that a VPN instance identified by the VPN SID is associated with only one network slice, and a tunnel related to the VPN instance (for example, a tunnel using the VPN instance as the tail node) is associated with only one network slice, which easily affects flexibility of service forwarding.
Disclosure of Invention
The application provides a message transmission method, device and system, which are beneficial to improving the flexibility of service forwarding. The technical scheme of the application is as follows:
in a first aspect, a method for transmitting a packet is provided, where the method includes: a head node device of a first tunnel receives a first message, wherein the first message carries service-level agreement (SLA) information, and the first SLA information is used for indicating an SLA appeal of the first message; the head node equipment determines a first network slice for forwarding the first message according to the first SLA information, wherein the first network slice is one of m network slices associated with the first tunnel, and m is more than or equal to 2; the head node device forwards a second packet through the first network slice, where the second packet is a packet obtained by the head node device based on the first packet. The second packet is a packet obtained by the head node device based on the first packet, and the second packet is forwarded through the first network slice, that is, the first packet is forwarded through the first network slice. For example, the head node device encapsulates tunnel information of the first tunnel in the first message to obtain a second message, where the tunnel information may be carried in an internet protocol version 6 (IPv 6) header, and the tunnel information may include an IPv6 Source Address (SA) and an IPv6 Destination Address (DA), and the like.
According to the technical scheme provided by the application, the first tunnel is associated with the m network slices (namely, resources of the first tunnel are divided into resources of the m network slices, or the m network slices are deployed in the first tunnel), and a message iterated to the first tunnel can be forwarded by using the m network slices, so that the flexibility of service forwarding is improved. And the network slice specifically used for forwarding the message can be determined according to the SLA information carried by the message, which is beneficial to realizing refined service distribution and ensuring the SLA appeal of the service.
Optionally, n network slices for forwarding the first packet exist in the m network slices, the first network slice is one of the n network slices, and n is greater than or equal to 1 and less than or equal to m;
wherein when n >1, the n network slices satisfy at least one of: network slices with a main-standby protection relationship exist in the n network slices; among the n network slices, there is a network slice having a load sharing relationship.
According to the technical scheme provided by the application, when n is greater than 1, the n network slices used for forwarding the first message can have the network slices with the main/standby protection relationship, and the network slices with the main/standby protection relationship can forward the service to which the first message belongs based on the main/standby protection strategy, so that the reliability of service forwarding is favorably ensured. The n network slices used for forwarding the first message may have a network slice with a load sharing relationship, and the network slice with the load sharing relationship may forward the service to which the first message belongs based on a load sharing policy, which is helpful for improving flexibility of service forwarding and ensuring a utilization rate of the network slice.
Optionally, the m network slices include at least one service slice, and the n network slices include at least one service slice of the m network slices that meets the SLA requirements of the first packet.
According to the technical scheme, the n network slices used for forwarding the first message comprise the service slices meeting the SLA requirements of the first message, so that the first message can be forwarded through the service slices meeting the SLA requirements of the first message, the SLA requirements of the first message can be guaranteed, and the SLA requirements of the service to which the first message belongs can be guaranteed.
Optionally, the m network slices further include a base slice, and the n network slices include the base slice.
According to the technical scheme, the n network slices for forwarding the first message comprise the basic slice, so that the first message can be forwarded through the basic slice, and the service fault caused by the service slice fault is avoided.
Optionally, there are network slices having a primary-secondary protection relationship in the n network slices, where the network slices having the primary-secondary protection relationship include a primary network slice and a secondary network slice, the primary network slice is a service slice that satisfies an SLA requirement of the first message, and the secondary network slice includes at least one of a basic slice and a service slice that satisfies the SLA requirement of the first message. The standby network slices are standby network slices of the main network slices, and the main network slices are usually adopted to forward services under the condition that the main network slices do not fail; and when the main network slice fails, the standby network slice can be started to forward the service.
According to the technical scheme, the main network slice for forwarding the first message is a service slice which meets the SLA appeal of the first message, and the main network slice is adopted to forward the first message under the condition that the main network slice does not break down, so that the SLA appeal of the first message is guaranteed. The standby network slice for forwarding the first message comprises at least one of a basic slice and a service slice meeting the SLA requirement of the first message, and is used for forwarding the first message under the condition that the standby network slice is the service slice meeting the SLA requirement of the first message, so that the SLA requirement of the first message is guaranteed; and under the condition that the standby network slice is the basic slice, the standby network slice is adopted to forward the first message, which is beneficial to avoiding the failure of forwarding the first message caused by the failure of the service slice and improving the reliability of service forwarding.
Optionally, the determining, by the head node device, a first network slice for forwarding the first packet according to the first SLA information includes: the head node equipment determines a first network slice according to the first SLA information and the first mapping relation; the first mapping relation comprises a mapping relation between SLA information and slice indication information, the SLA information in the first mapping relation comprises the first SLA information, and the slice indication information in the first mapping relation comprises slice indication information of a first network slice. The slice indication information is, for example, a slice Identifier (ID).
According to the technical scheme, the head node device determines the first network slice for forwarding the first message according to the first SLA information and the first mapping relation, wherein the first SLA information is carried in the first message, and therefore the head node device can conveniently forward the second message through the first network slice after obtaining the second message based on the first message.
Optionally, the method further comprises: and the head node equipment acquires the first mapping relation according to the received first configuration information.
According to the technical scheme provided by the application, the head node equipment acquires the first mapping relation according to the received first configuration information, and the head node equipment can determine the first network slice for forwarding the first message according to the first SLA information carried in the first message and the first mapping relation.
Optionally, the method further comprises: the head node device receives a route of a first VPN instance issued by a tail node device of a first tunnel, wherein the first VPN instance is a VPN instance used for bearing a service to which a first message belongs in the tail node device, and the route of the first VPN instance carries a first mapping relation; the head node device determines a first mapping relationship based on the route of the first VPN instance. The route of the first VPN instance includes an extended attribute, and the first mapping relationship may be carried in the extended attribute, or the first mapping relationship is carried in the route of the first VPN instance as the extended attribute of the route of the first VPN instance.
According to the technical scheme, the first mapping relation can be configured in the tail node device of the first tunnel, and the tail node device carries the first mapping relation in the route of the first VPN instance and issues the first mapping relation to the head node device of the first tunnel, so that after receiving the route of the first VPN instance issued by the tail node device, the head node device determines the first mapping relation according to the route of the first VPN instance issued by the tail node device, and therefore the head node device can determine the first network slice for forwarding the first message according to the first SLA information and the first mapping relation carried in the first message.
Optionally, the method further comprises: the head node device receives a route of a first VPN example issued by a tail node device of a first tunnel, wherein the first VPN example is a VPN example which is used for bearing a service to which a first message belongs in the tail node device; the route of the first VPN instance carries a second mapping relationship between k VPN SIDs of the first VPN instance and the slice indication information of the m network slices, each VPN SID is a VPN SID allocated by the end node device to the first VPN instance based on one locator of the end node device, and k =1 or k = m. For example, the k VPN SIDs are VPN SIDs assigned by the end node device for the first VPN instance based on one locator of the end node device, k =1. Alternatively, the k VPN SIDs are VPN SIDs assigned by the tail node device for the first VPN instance based on the m locators of the tail node device, k = m.
According to the technical scheme provided by the application, k VPN SIDs of a first VPN instance in tail node equipment of a first tunnel are associated with m network slices, so that the first tunnel (namely the first tunnel taking the first VPN instance as a tail node) associated with the first VPN instance can be associated with the m network slices, messages iterated to the first tunnel can be forwarded by using the m network slices, and the flexibility of service forwarding is improved.
Optionally, the method further comprises: the head node device determines a first VPN SID according to the first network slice and the second mapping relation; the head node device obtains a second message based on the first message, where the second message includes the first VPN SID, or the second message includes the first VPN SID and the slice indication information of the first network slice.
For example, when k = m, the m VPN SIDs of the first VPN instance are associated with m network slices in a one-to-one correspondence, and the first VPN SID is associated with the first network slice. Since m VPN SIDs are associated with m network slices in a one-to-one correspondence, and a first VPN SID is associated with only a first network slice, a second message obtained by a head node device based on the first message includes the first VPN SID, and the second message can be forwarded by other network devices in a first tunnel during the process of forwarding the second message based on the first VPN SID. When k =1, one VPN SID of the first VPN instance is associated with m network slices, i.e., the first VPN SID is the VPN SID, i.e., the first VPN SID is associated with m network slices. Since the first VPN SID is associated with the m network slices, in order to facilitate other network devices in the first tunnel to determine the first network slice for forwarding the first packet, the second packet obtained by the head node device based on the first packet includes the first VPN SID and slice indication information of the first network slice, and the other network devices in the first tunnel forward the second packet based on the first VPN SID and the slice indication information of the first network slice, thereby implementing forwarding the second packet through the first network slice.
Optionally, the first tunnel is one of a segment routing internet protocol version 6traffic engineering policy (srv 6TE policy) tunnel, a segment routing traffic engineering (SR-TE) tunnel, and a segment routing best effort (SR-BE) tunnel.
In a second aspect, a message transmission apparatus is provided, which includes modules configured to perform the message transmission method according to the first aspect or any optional manner of the first aspect. The modules may be implemented based on software, hardware or a combination of software and hardware, and the modules may be combined or divided arbitrarily based on the specific implementation.
In a third aspect, a message transmission apparatus is provided, which includes a memory and a processor;
the memory is used for storing a computer program;
the processor is configured to execute the computer program stored in the memory to cause the message transmission apparatus to perform the message transmission method as provided in the first aspect or any alternative of the first aspect.
In a fourth aspect, a communication system is provided, which includes the message transmission apparatus as provided in the second or third aspect.
In a fifth aspect, a computer-readable storage medium is provided, in which a computer program is stored, and the computer program, when executed by a processor, implements the message transmission method according to the first aspect or any one of the optional manners of the first aspect.
A sixth aspect provides a computer program product comprising a program or code which, when executed, implements a message transmission method as provided in the first aspect or any alternative form of the first aspect.
A seventh aspect provides a chip, where the chip includes a programmable logic circuit and/or a program instruction, and the chip is operable to implement the message transmission method according to the first aspect or any optional manner of the first aspect.
The beneficial effect that technical scheme that this application provided brought is:
according to the message transmission method, the message transmission device and the message transmission system, after the head node device of the first tunnel receives the first message, the first network slice used for forwarding the first message is determined according to the first SLA information carried in the first message, and the second message is forwarded through the first network slice, wherein the second message is obtained by the head node device based on the first message. The first network slice is one of m network slices associated with the first tunnel, and the first SLA information is used to indicate an SLA complaint of the first packet. According to the method and the device, the first tunnel is associated with the m network slices (namely, resources of the first tunnel are divided into resources of the m network slices, or the m network slices are deployed in the first tunnel), and the message iterated to the first tunnel can be forwarded by using the m network slices, so that the flexibility of service forwarding is improved. And the network slice specifically used for forwarding the message can be determined according to the SLA information carried by the message, which is beneficial to realizing refined service distribution and ensuring the SLA appeal of the service.
Drawings
Fig. 1 is a schematic diagram of a communication system provided in an embodiment of the present application;
fig. 2 is a schematic diagram of another communication system provided in an embodiment of the present application;
fig. 3 is a flowchart of a message transmission method according to an embodiment of the present application;
fig. 4 is a schematic diagram of a BGP message according to an embodiment of the present application;
fig. 5 is a schematic diagram of another BGP message provided in the embodiment of the present application;
fig. 6 is a schematic diagram of yet another BGP message provided in an embodiment of the present application;
fig. 7 is a schematic diagram of another BGP message provided in the embodiment of the present application;
fig. 8 is a schematic structural diagram of a message transmission apparatus according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of another message transmission apparatus according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of another message transmission apparatus according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
Before the technical solution of the embodiment of the present application is introduced, an application scenario of the embodiment of the present application is first introduced.
The technical scheme provided by the embodiment of the application is applied to a communication system, the communication system comprises a communication network and a workstation accessed to the communication network, and the communication network is used for forwarding services among different workstations and realizing service transmission among different workstations. The communication network is, for example, a Data Center Network (DCN), a metropolitan area network, a wide area network, a campus area network, or the like. The traffic may be VPN traffic. Such as layer 2virtual private network (l2vpn) service, layer 3virtual private network (l3vpn) service, ethernet Virtual Private Network (EVPN) service, and the like.
The communication network comprises a plurality of network devices, tunnels can be created among the network devices, and the network devices can forward the traffic among different workstations through the tunnels. The network device may be a device such as a switch or a router for forwarding traffic. Depending on the location of the network device in the communication network, the network devices in the communication network may include an edge network device, such as a Provider Edge (PE) device, and a core network device, such as a provider P device. The workstations may be various types of devices such as base stations, hosts, terminals, servers, or virtual machines. The workstation is connected to the edge network device for accessing the communications network through the edge network device. The tunnel can BE various types of communication tunnels such as an SRv6TE policy tunnel, an SR-TE tunnel or an SR-BE tunnel. For example, the tunnel is a forwarding path in an SRv6TE policy tunnel.
Optionally, the communication system further includes a control device, the control device may be in the communication network or outside the communication network, and the control device is connected to all or part of the network device and the workstation, which is not limited in this embodiment of the present application. The control device may be a controller. For example, the control device is a terminal, a server, a functional module deployed in the server, a server cluster composed of several servers, or a cloud computing service center.
For example, please refer to fig. 1, which illustrates a schematic diagram of a communication system provided in an embodiment of the present application. The communication system comprises a communication network 100 and a workstation 200 and a workstation 300 accessing the communication network 100. The communication network 100 includes 4 network devices, PE1 to PE2 and P1 to P2. The workstation 200 is connected to PE1 to access the communication network 100 through PE1. The workstation 300 is connected to PE2 to access the communication network 100 through PE 2. A tunnel may be created between PE1 and PE2, and traffic transmission between workstation 200 and workstation 300 is implemented by forwarding traffic between workstation 200 and workstation 300 through the tunnel. For example, as shown in fig. 1, a tunnel S1 from PE1 to PE2 is created, where PE1 is a head node device of the tunnel S1, PE2 is a tail node device of the tunnel S1, and P1 is an intermediate node device of the tunnel S1, and after PE1 receives a message (for example, a message belonging to service a) sent by a workstation 200 to a workstation 300, PE1 forwards the message to PE2 through the tunnel S1, and PE2 forwards the message to the workstation 300.
A VPN instance for carrying the service (for example, the service a) is deployed in each network device on the tunnel S1, and forwarding the service a (that is, forwarding a packet belonging to the service a) through the tunnel S1 may specifically be that each network device on the tunnel S1 forwards the service a through the VPN instance for carrying the service a in the network device. Taking an example that the VPN instance for carrying the service a in the PE1 (the head node device of the tunnel S1) is the VPN instance A1, and the VPN instance for carrying the service a in the PE2 (the tail node device of the tunnel S1) is the VPN instance A2, the VPN instance A1 may be a head end point of the tunnel S1, and the VPN instance A2 may be a tail end point of the tunnel S2. Before the PE1 forwards the service A to the PE2 through the tunnel S1, the PE2 allocates a VPN SID to the VPN instance A2 used for bearing the service A in the PE2 according to a locator of the PE2, and issues a route of the VPN instance A2 to the PE1, wherein the route of the VPN instance A2 carries the VPN SID of the VPN instance A2. After the PE1 receives the route of the VPN instance A2, the PE1 crosses the route of the VPN instance A2 into the VPN instance A1 in the PE1 for carrying the service a. When the PE1 needs to forward the packet belonging to the service a to the PE2 through the tunnel S1, the PE1 encapsulates the tunnel information of the tunnel S1 in the packet, and the PE1 forwards the packet to the PE2 through the tunnel S1 according to the tunnel information. The tunnel information includes, for example, the VPN SID of the VPN instance A2. For example, the tunnel S1 is an SR-BE tunnel, and the PE1 may encapsulate the VPN SID of the VPN instance A2 as IPv6 DA) in the packet. Optionally, before the PE1 forwards the service a to the PE2 through the tunnel S1, a Border Gateway Protocol (BGP) neighbor relationship may be established between the PE1 and the PE2, and the PE2 may issue the route of the VPN instance A2 to the PE1 through the BGP neighbor relationship. For example, the PE2 may carry the route of the VPN instance A2 in a BGP message, and publish the BGP message to the PE1.
The behavior that the service a belongs to the forwarding plane is forwarded to the PE2 by the PE1 through the tunnel S1, the PE2 issues the route of the VPN instance 2A to the PE1, and a process that the PE1 crosses the route of the VPN instance 2A to the local VPN instance is a route learning process. The route learning process belongs to the behavior of the control plane, and after the control plane of the PE2 learns the route of the VPN instance 2A, the control plane may issue the route of the VPN instance 2A to the forwarding plane, so that the forwarding behavior can be performed based on the route of the VPN instance 2A.
Fig. 1 illustrates an example in which the workstation 200 is a server and the workstation 300 is a terminal. The communication system shown in fig. 1 is only used for example, and is not used to limit the technical solution of the embodiment of the present application, and in an actual implementation process, the number of network devices, the number of workstations, the types of workstations (for example, servers, terminals, and the like) in the communication system may be configured as needed, and the communication system may further include other devices such as a control device. When the communication system includes the control device, the control device may be in the communication network 100 or outside the communication network 100, and the control device is connected to all or part of the PE1 to PE2, P1 to P2, the workstation 200, and the workstation 300, which is not limited in this embodiment of the present application.
In order to enhance the connection capability of the communication network, fifth generation mobile communication technology (5 g) proposes the concept of network slicing. A network slice refers to a virtual network obtained by dividing resources of a physical network. The resources of each network slice obtained by resource division of the physical network comprise part of the resources in the physical network. The network slices obtained by dividing resources of a certain physical network may include a basic slice (also called a default slice or a common slice) and service slices, where the basic slice is used to provide basic network services, and different service slices satisfy different service requirements. For example, some service slices are used to satisfy low latency service demands, and other service slices are used to satisfy large bandwidth service demands. Based on the network slicing technology, the communication network can provide difference services for different services according to service appeal, and service experience is guaranteed.
For example, please refer to fig. 2, which illustrates a schematic diagram of a network slice obtained by resource partitioning of the communication network 100 shown in fig. 1 according to an embodiment of the present application. The communication network 100 is divided into network slices 101 to 103 (that is, the network slice 101, the network slice 102, and the network slice 103) by resource division, the network slices 101 to 103 respectively occupy partial resources of the communication network 100 (physical network), and the network slices 101 to 103 are isolated from each other. Wherein, the network slice 101 may be a basic slice, and the network slice 101 is used for forwarding a basic service. Both the network slice 102 and the network slice 103 may be service slices, and the network slice 102 and the network slice 103 are used for satisfying different service requirements.
As shown in fig. 2, for convenience of understanding, in the embodiment of the present application, PE1 to PE2 and P1 to P2 are shown in each of the network slices 101 to 103, and the network slices 101 to 103 actually include partial resources on PE1 to PE2 and P1 to P2, respectively. In addition, the network slice shown in fig. 2 is only for example and is not used to limit the technical solution of the embodiment of the present application, and the communication network 100 may be divided into more or fewer network slices than that in fig. 2 as needed, which is not limited in the embodiment of the present application.
To enable traffic iterated to the tunnel to be forwarded through the network slice, the network slice may be associated (or bound) with the tunnel. For example, according to the slice indication information (e.g., slice ID) and the VPN SID issued by the end node device of the tunnel, the network slice indicated by the slice indication information is associated with the VPN instance identified by the VPN SID, so as to associate the network slice with the tunnel related to the VPN instance (e.g., the tunnel with the VPN instance as the end node). The VPN SID includes a locator, and specifically, the network slice indicated by the slice indication information may be associated with the VPN instance identified by the VPN SID according to the slice indication information and the locator in the VPN SID.
At present, a tail node device of a tunnel can only allocate a VPN SID to one VPN instance in the tail node device based on one locator of the tail node device, and one locator of the tail node device is associated with only one network slice, so that each VPN SID allocated by the tail node device is associated with only one network slice, so that a VPN instance identified by the VPN SID is associated with only one network slice, and a tunnel related to the VPN instance (for example, a tunnel using the VPN instance as the tail node) is associated with only one network slice, which easily affects flexibility of service forwarding. For example, as shown in fig. 1 and fig. 2, it is exemplified that the VPN instance for carrying the traffic a in the PE2 (end node device of the tunnel S1) is the VPN instance A2. At present, a PE2 can only allocate a VPN SID (e.g., VPN SID 1) to a VPN instance 2A based on one locator (e.g., locator 1) of the PE2, where the locator1 of the PE2 is only associated with one network slice (e.g., network slice 102) of network slices 101 to 103, so that the VPN instance 2A identified by the VPN SID1 is only associated with the network slice 102, and thus a tunnel S1 associated with the VPN instance 2A is only associated with the network slice 102, and traffic iterated to the tunnel S1 can only be forwarded through the network slice 102, but cannot be forwarded through the network slice 101 and the network slice 103, which easily affects flexibility of traffic forwarding. For example, network slice 101 and network slice 103 cannot provide protection for network slice 102, and when network slice 102 fails, traffic forwarding failure is easily caused. For another example, the network slices 101 to 103 cannot share the load, the load of the network slice 102 is large, the loads of the network slice 101 and the network slice 103 are small, the loads of the network slices 101 to 103 are unbalanced, and the utilization rates of the network slice 101 and the network slice 103 are low.
In the embodiment of the present application, a tunnel may be associated with at least two network slices, and a service iterated to the tunnel may be forwarded through the at least two network slices, which is beneficial to improving flexibility of service forwarding. For example, as shown in fig. 1 and 2, tunnel S1 may be associated with at least two of network slices 101-103 (e.g., tunnel S1 is associated with network slices 101-103), and traffic that iterates to tunnel S1 can be forwarded through network slices 101-103. For example, the network slices 101 to 103 may perform active/standby protection, and when any one of the network slices 101 to 103 fails, service forwarding may be performed through the network slice that provides protection for the network slice, so as to avoid a failure in service forwarding. For another example, the network slices 101 to 103 may share the load, the load of the network slices 101 to 103 is balanced, and the utilization rates of the network slices 101 to 103 are high.
In the embodiment of the present application, a tunnel is associated with at least two network slices, and may include two implementation manners:
the first implementation mode comprises the following steps: the tail node device of the tunnel assigns a VPN SID to a VPN instance in the tail node device based on a locator of the tail node device, the locator being associated with at least two network slices, and thus the VPN SID is associated with the at least two network slices, such that a VPN instance identified by the VPN SID is associated with the at least two network slices, and a tunnel associated with the VPN instance is associated with the at least two network slices. That is, one tunnel is associated with at least two network slices. As shown in fig. 1 and fig. 2, a VPN instance for carrying a service a in a PE2 (tail node device of a tunnel S1) is taken as an example of a VPN instance A2. In the embodiment of the present application, PE2 assigns a VPN SID (e.g., VPN SID 1) to VPN instance 2A based on one locator (e.g., locator 1) of PE2, and locator1 of PE2 is associated with at least two network slices of network slices 101-103, so that VPN SID1 assigned based on locator1 is associated with at least two network slices of network slices 101-103, such that VPN instance 2A identified by VPN SID1 is associated with at least two network slices of network slices 101-103, and tunnel S1 associated with VPN instance 2A is associated with at least two network slices of network slices 101-103.
The second implementation mode comprises the following steps: the tail node device of the tunnel allocates at least two VPN SIDs for one VPN instance in the tail node device based on at least two locators of the tail node device, wherein the at least two locators are associated with at least two network slices in a one-to-one correspondence manner, so that the at least two VPN SIDs allocated based on the at least two locators are associated with the at least two network slices in a one-to-one correspondence manner, and since the at least two VPN SIDs identify the same VPN instance, the VPN instances identified by the at least two VPN SIDs are associated with the at least two network slices, so that the tunnel related to the VPN instance is associated with the at least two network slices. That is, one tunnel is associated with at least two network slices. For example, as shown in fig. 1 and fig. 2, it is exemplified that the VPN instance for carrying the traffic a in the PE2 (end node device of the tunnel S1) is the VPN instance A2. In the embodiment of the present application, PE2 allocates VPN SID1 to VPN instance 2A based on locator1 of PE2, PE2 allocates VPN SID2 to VPN instance 2A based on locator2 of PE2, PE2 allocates VPN SID3 to VPN instance 2A based on locator3 of PE2, and locators 1 to 3 are associated with network slices 101 to 103 in a one-to-one correspondence, so that VPN SID1 to 3 is associated with network slices 101 to 103 in a one-to-one correspondence, and since VPN SID1 to 3 both identify VPN instance 2A, VPN instance 2A identified by VPN SID1 to 3 is associated with network slices 101 to 103, so that tunnel S1 associated with VPN instance 2A is associated with network slices 101 to 103.
Method embodiments of the present application are described below with reference to the accompanying drawings.
Please refer to fig. 3, which shows a flowchart of a message transmission method according to an embodiment of the present application. The method may be performed by a head node device of the first tunnel. For example, as shown in fig. 1 or fig. 2, the first tunnel may be a tunnel S1, and the head node device of the first tunnel may be a PE1. The first tunnel can BE an SRv6TE policy tunnel, an SR-TE tunnel or an SR-BE tunnel. Referring to fig. 3, the method comprises the steps of:
s301, the head node device receives a first message, the first message carries first SLA information, and the first SLA information is used for indicating SLA requirements of the first message.
The head node device may receive a first message from a workstation connected to the head node. Or, a Customer Edge (CE) device is connected between the head node device and the workstation, and the head node device receives the first packet from the CE device. For example, as shown in fig. 1 or fig. 2, the head node device is PE1, and PE1 receives the first packet from the workstation 200.
The first message carries first SLA information, and the first SLA information is used for indicating SLA appeal of the first message. Illustratively, the first SLA information includes, but is not limited to: differentiated Services Code Point (DSCP) information, 8021p information, application (App) indication information, and any other information that can be used to indicate an SLA appeal. The App indication information is used for indicating apps, and SLA requirements of different apps are different, for example, video apps generally require SLA requirements with low time delay, and the App indication information may be, for example, app Identifiers (IDs).
The first message may be a layer 2 (L2) message or a layer 3 (L3) message. The first packet may include a payload (payload), an Internet Protocol (IP) header, an Ethernet (ETH) header, a Hop By Hop (HBH) header, and the like. The DSCP information and 8021P information may be both located in the IP header of the first packet. The App ID may be located in the HBH header of the first packet. The IP header may further include a source IP address, a destination IP address, and the like of the first packet. The ETH header includes MAC information such as a source Media Access Control (MAC) address and a destination MAC address of the first packet. For example, as shown in fig. 1, the first packet is a packet sent from the workstation 200 to the workstation 300, the source IP address of the first packet is the IP address of the workstation 200, the destination IP address of the first packet is the IP address of the workstation 300, the source MAC address of the first packet is the MAC address of the workstation 200, and the destination MAC address of the first packet is the MAC address of the workstation 300. Illustratively, the IP address of the workstation 200 is 1.1.1.1, the IP address of the workstation 300 is 10.10.10.10, the source IP address of the first message is 1.1.1.1, and the destination IP address of the first message is 10.10.10.10. Here, the first packet is exemplified to include a payload, an IP header, an ETH header, and an HBH header, and the first packet may include other headers besides the payload, the IP header, the ETH header, and the HBH header, and the content of the first packet is not limited in the embodiment of the present application.
S302, the head node equipment determines a first network slice for forwarding the first message according to the first SLA information, wherein the first network slice is one of m network slices associated with the first tunnel, and m is more than or equal to 2.
The head node device maintains a first mapping relationship, and may determine, according to the first SLA information carried in the first packet and the first mapping relationship, a first network slice for forwarding the first packet. The first mapping relationship comprises a mapping relationship between the SLA information and the slice indication information, the SLA information in the first mapping relationship comprises the first SLA information, and the slice indication information in the first mapping relationship comprises the slice indication information of the first network slice. Optionally, the first mapping relationship is related to a first tunnel, the first mapping relationship is a mapping relationship of m SLA information and m slice indication information, and m slice indication information in the first mapping relationship indicates m network slices associated with the first tunnel.
Optionally, the head node device queries the first mapping relationship according to the first SLA information to determine slice indication information corresponding to the first SLA information, and determines a network slice indicated by the slice indication information corresponding to the first SLA information as a network slice for forwarding the first packet. For example, one piece of slice indication information corresponding to the first SLA information exists in the first mapping relationship, and the head node device determines the network slice indicated by the one piece of slice indication information as a first network slice for forwarding the first packet.
As an alternative implementation, the SLA information is DSCP information, which is typically embodied in the form of a numerical value. The first SLA information carried in the first packet may be a DSCP value (for convenience of description, the DSCP value carried in the first packet is referred to as a first DSCP value), the SLA information in the first mapping relationship may be a DSCP range, and the slice indication information corresponding to the first SLA information may be slice indication information corresponding to the DSCP range to which the first DSCP value belongs (for convenience of description, the DSCP range to which the first DSCP value belongs is referred to as a first DSCP range). The head node device may query the first mapping relationship according to the first DSCP value to determine a first DSCP range to which the first DSCP value belongs. Then, the head node device determines, according to the first mapping relationship, slice indication information corresponding to the first DSCP range. The head node device determines the slice indication information corresponding to the first DSCP range as the slice indication information corresponding to the first DSCP value (that is, the slice indication information corresponding to the first SLA information). Taking the first SLA information as a DSCP value as an example, the first SLA information may also be a DSCP range, and the corresponding processing procedure may refer to the description in this paragraph. In addition, taking the SLA information as DSCP information as an example, if the SLA information is 8021p information, the process of the head node device determining the slice indication information corresponding to the first SLA information may refer to the description in this paragraph, and is not described herein again.
As another optional implementation manner, the first SLA information carried in the first message is an App ID (for convenience of description, the App ID carried in the first message is referred to as a first App ID), and the SLA information in the first mapping relationship may be a DSCP range. The head node device determines, according to a first App ID carried in the first packet, DSCP information corresponding to the first packet (for convenience of description, the DSCP information corresponding to the first packet is referred to as first DSCP information, and the first DSCP information may be a DSCP value or a DSCP range). Then, the head node device queries the first mapping relationship according to the first DSCP information to determine a DSCP range to which the first DSCP information belongs (for convenience of description, the DSCP range to which the first DSCP information belongs is referred to as a first DSCP range). And then, the head node equipment determines the slice indication information corresponding to the first DSCP range according to the first mapping relation. The head node device determines the slice indication information corresponding to the first DSCP range as the slice indication information corresponding to the first DSCP value (that is, the slice indication information corresponding to the first SLA information).
The determining, by the head node device according to the first App ID, the first DSCP information corresponding to the first packet may include: the head node device determines an App (e.g., a video playing App, a browser App, an electronic book App, etc.) corresponding to the first message according to the first App ID. And the node equipment determines the service (such as video service, webpage, electronic book and the like) to which the first message belongs according to the App corresponding to the first message. And the head node equipment determines first DSCP information corresponding to the first message according to the service to which the first message belongs. Here, taking the example that the SLA information in the first mapping relationship is a DSCP range as an illustration, if the SLA information in the first mapping relationship is 8021p information, the head node device may determine, according to the first App ID, first 8021p information corresponding to the first packet, and determine, according to the first 8021p information and the first mapping relationship, slice indication information corresponding to the first SLA information, where a specific implementation process may refer to a case that the SLA information is the DSCP range, and details are not described here.
As another optional implementation manner, the first SLA information carried in the first message is an App ID (e.g., a first App ID), and the SLA information in the first mapping relationship is an App ID. The head node device queries the first mapping relation according to the first App ID to determine slice indication information corresponding to the first App ID (that is, slice indication information corresponding to the first SLA information).
For example, the SLA information is DSCP information, and the slice indication information is a slice ID. The first mapping relationship may be as shown in table 1 below:
TABLE 1
DSCP information Slice indication information
DSCP Range 1 (Default DSCP Range) Section ID1
DSCP Range 2 (1-10) Section ID2
DSCP Range 3 (11-20) Section ID3
... ...
DSCP Range m Slicing IDm
In table 1, DSCP range 1 is a default DSCP range, which may be a DSCP range other than the listed DSCP range 2, DSCP range 3, etc. DSCP Range 2 is 1-10, DSCP Range 3 is 11-20, and so on. Slice ID 1-slice IDm indicate m network slices, which are all associated with the first tunnel. For example, as shown in fig. 2, slice ID1 indicates network slice 101, slice ID2 indicates network slice 102, slice ID3 indicates network slice 103, and network slice 101, network slice 102, and network slice 103 are all associated with tunnel S1.
Assuming that the first DSCP value (i.e., the first SLA information) carried in the first message is 5, the head node device determines, according to the first mapping relationship shown in table 1, that the DSCP range to which the first DSCP value belongs is a DSCP range 2, and determines, by the head node device, that the slice indication information corresponding to the DSCP range 2 is a slice ID2, so that the head node device determines that the slice indication information corresponding to the first DSCP value (i.e., the first SLA information) is a slice ID2. Since only one slice ID (i.e., slice ID 2) corresponding to the first DSCP value exists in the first mapping relationship, the head node device determines the network slice indicated by the slice ID2 as the first network slice for forwarding the first packet. For example, the network slice indicated by slice ID2 is network slice 102 in fig. 2, and the head node device (e.g., PE 1) determines network slice 102 as the first network slice for forwarding the first packet.
It should be noted that, the SLA information is DSCP information, which is taken as an example to describe the first mapping relationship, and if the SLA information is 8021p information, the first mapping relationship may refer to relevant contents in table 1, which is not described herein again in this embodiment of the application.
In the embodiment of the application, n network slices used for forwarding the first message exist in m network slices associated with the first tunnel, the first network slice is one of the n network slices, and n is greater than or equal to 1 and less than or equal to m. When n >1, the n network slices satisfy at least one of: network slices with a main-standby protection relationship exist in the n network slices; among the n network slices, there is a network slice having a load sharing relationship. For example, the n network slices have a primary-backup protection relationship with each other. Or, the n network slices share the load with each other. Or, some network slices of the n network slices are in a mutual primary-backup protection relationship, and other network slices are in a mutual load sharing relationship, which is not limited in the embodiment of the present application.
The m network slices associated with the first tunnel may include a base slice and at least one service slice, the n network slices for forwarding the first packet include at least one of the m network slices that satisfies an SLA appeal of the first packet, and the first network slice may be one of the n network slices that satisfies the SLA appeal of the first packet. The n network slices may further include a base slice, and when there is no service slice that satisfies an SLA appeal of the first packet among the n network slices, the first network slice may be the base slice, that is, the base slice is determined as the first network slice for forwarding the first packet. Optionally, in the n network slices, the network slice having the active-standby protection relationship includes a main network slice and a standby network slice, the main network slice is a service slice satisfying an SLA requirement of the first message, and the standby network slice includes at least one of a basic slice and a service slice satisfying the SLA requirement of the first message. For example, a network slice is a base slice; or the standby network slice is a service slice meeting SLA requirements of the first message; or the backup network slice includes a basic slice and a service slice satisfying the SLA appeal of the first message, which is not limited in the embodiment of the present application.
As an optional implementation manner, when n >1, the first mapping relationship further includes: the mapping relation between the slice indication information and the main/standby identification information, and/or the mapping relation between the slice indication information and the sharing identification information. For example, the first mapping relationship is a mapping relationship among SLA information, slice indication information, and primary/standby identification information. Or, the first mapping relationship is a mapping relationship among the SLA information, the slice indication information, and the sharing identification information. Or the first mapping relationship is a mapping relationship of SLA information, slice indication information, primary/standby identification information, and sharing identification information. The master/slave identification information is used for identifying whether the corresponding network slice is a master network slice or a slave network slice. The sharing identification information is used to identify whether the corresponding network slice performs load sharing. The network slices identified by the same sharing identification information are subjected to load sharing, and the network slices identified by different sharing identification information are not subjected to load sharing. The SLA information (e.g., DSCP range) corresponding to the network slice with the primary/secondary protection relationship may be the same or different. For example, the master network slice and the backup network slice are both service slices satisfying service requirements, and SLA information (e.g., DSCP range) corresponding to the master network slice and SLA information (e.g., DSCP range) corresponding to the backup network slice may be the same. For another example, the main network slice is a service slice satisfying a service demand, the standby network slice is a basic slice, and SLA information (e.g., DSCP range) corresponding to the main network slice may be different from SLA information (e.g., DSCP range) corresponding to the standby network slice. The SLA information (e.g., DSCP range) corresponding to the network slice with the load protection relationship is the same.
In this embodiment of the present application, when n >1, the head node device queries the first mapping relationship according to the first SLA information, and may determine a plurality of slice indication information, where all network slices indicated by the plurality of slice indication information may be used to forward the first packet. The head node device may determine, according to the active-standby identification information in the first mapping relationship, one piece of slice indication information in the plurality of pieces of slice indication information by using an active-standby protection policy, and determine a network slice indicated by the piece of slice indication information as a first network slice. Or, the head node device may determine, according to the sharing identification information in the first mapping relationship, one piece of slice indication information in the plurality of pieces of slice indication information by using a load sharing policy, and determine the network slice indicated by the piece of slice indication information as the first network slice.
For example, the first mapping relationship is a mapping relationship among SLA information, slice indication information, and primary/secondary identification information, where the SLA information is DSCP information, and the slice indication information is a slice ID. The first mapping is shown in table 2 below:
TABLE 2
DSCP information Slice indication information Host and backup identification information
DSCP Range 1 (Default DSCP Range) Section ID1 Prepare for
DSCP Range 2 (1 ~ 10) Section ID2 Master and slave
DSCP Range 3 (11-20) Section ID3 Main
... ... ...
DSCP Range m Slicing IDm Main
In table 2, the master/slave identification information corresponding to the slice ID1 is "slave", and the master/slave identification information corresponding to the slice IDs 2 to m are "master". The network slice indicated by slice ID1 may be a base slice, and the network slice indicated by each of slice IDs 2 to m may be a traffic slice. The network slice indicated by each of the slice IDs 2-m may be a master network slice that satisfies a respective DSCP requirement (e.g., DSCP range), and the network slice indicated by the slice ID1 is a backup network slice of the network slices indicated by each of the slice IDs 2-m. For example, as shown in fig. 2, slice ID1 indicates network slice 101, slice ID2 indicates network slice 102, slice ID3 indicates network slice 103, network slice 101 is a base slice, network slice 102 and network slice 103 are both traffic slices, and network slice 101 is a backup network slice of network slice 102 and network slice 103.
Assuming that the first DSCP value (i.e., the first SLA information) carried in the first message is 5, the head node device determines, according to the first mapping relationship shown in table 2, that the DSCP range to which the first DSCP value belongs is DSCP range 2, and determines that the slice indication information corresponding to DSCP range 2 is slice ID2. The head node device determines that the master/slave identification information corresponding to the slice ID2 is "master" according to the first mapping relationship shown in table 2. If the network slice indicated by the slice ID2 (for example, the network slice 102) does not fail, the head node device determines, based on the active-standby protection policy, the network slice indicated by the slice ID2 as a first network slice for forwarding the first packet. If the network slice indicated by the slice ID2 fails, the head node device determines, based on the active-standby protection policy, the network slice indicated by the slice ID1 (e.g., the network slice 101) as a first network slice for forwarding the first packet.
The first mapping relationship shown in table 2 is illustrated by taking the main network slice as a traffic slice, the standby network slice as a basic slice, and DSCP ranges corresponding to the main network slice and the standby network slice are different. In practical applications, the main network slice and the standby network slice may be service slices, and DSCP ranges corresponding to the main network slice and the standby network slice may be the same, in which case, the process of determining the first network slice by the head node device may refer to the relevant description of the corresponding part in table 2, and details are not repeated here.
For example, the first mapping relationship is a mapping relationship among SLA information, slice indication information and sharing identification information, the SLA information is DSCP information, and the slice indication information is a slice ID. The first mapping is shown in table 3 below:
TABLE 3
DSCP information Slice indication information Sharing identification information
DSCP Range 1 (Default DSCP Range) Section ID1
DSCP Range 2 (1-10) Section ID2 0
DSCP Range 3 (11-20) Section ID3 1
DSCP Range 2 (1-10) Section ID4 0
DSCP Range 3 (11 ~ 20) Section ID5 1
... ... ...
... Slicing IDm ...
In table 3, it is assumed that slice IDs 1 to m sequentially indicate m network slices of network slices 1 to m, which are each associated with a first tunnel (where network slices 1 to 3 may be network slices 101 to 103 in fig. 2 sequentially, and network slices 4 to m are not shown in fig. 2). As shown in table 3, the sharing identification information corresponding to slice ID2 and slice ID4 is the same (both are 0), and indicates that the network slice indicated by slice ID2 and the network slice indicated by slice ID4 share the load. The sharing identification information corresponding to the slice ID3 and the slice ID5 are the same (both are 1), and indicate that the network slice indicated by the slice ID3 and the network slice indicated by the slice ID5 perform load sharing. And the network slices indicated by the slice IDs corresponding to different sharing identification information do not share the load. The sharing identification information corresponding to the slice ID1 is null, which indicates that the network slice indicated by the slice ID1 does not share the load with other network slices.
Assuming that the first DSCP value (i.e., the first SLA information) carried in the first message is 5, the head node device determines, according to the first mapping relationship shown in table 3, that the DSCP range to which the first DSCP value belongs is DSCP range 2, and determines that the slice indication information corresponding to DSCP range 2 is slice ID2 and slice ID4. The head node device determines, according to the first mapping relationship shown in table 3, that the network slice indicated by the slice ID2 and the network slice indicated by the slice ID4 perform load sharing, and therefore, based on the load sharing policy, the head node device determines one of the network slice indicated by the slice ID2 and the network slice indicated by the slice ID4 as a first network slice for forwarding the first packet. For example, the head node device determines the network slice indicated by slice ID2 (e.g., network slice 102) as the first network slice for forwarding the first packet.
And S303, the head node equipment obtains a second message based on the first message.
The head node device maintains a second mapping relationship, where the second mapping relationship includes a mapping relationship between k VPN SIDs and slice indication information of m network slices, and k =1 or k = m. Each of the k VPN SIDs is a VPN SID of a first VPN instance in an end node device of the first tunnel, the first VPN instance is a VPN instance in the end node device for carrying first traffic, and the VPN SID of the first VPN instance is assigned to the first VPN instance by the end node device based on a locator of the end node device. The head node device may determine, according to the slice indication information of the first network slice and the second mapping relationship, a VPN SID corresponding to the slice indication information of the first network slice (for convenience of description, the VPN SID corresponding to the slice indication information of the first network slice is referred to as a first VPN SID). The head node equipment encapsulates the first VPN SID in the first message to obtain a second message, wherein the second message comprises the first VPN SID. When k =1, the head node device further encapsulates the slice indication information of the first network slice in the first packet, and includes the first VPN SID and the slice indication information of the first network slice in the second packet.
Optionally, the first tunnel is an SRv6 BE tunnel, and the head node device encapsulates an IPv6 header in the first packet, and encapsulates the first VPN SID in the IPv6 header. For example, the head node device encapsulates the first VPN SID as IPv6 DA in an IPv6 header. Optionally, the head node device further encapsulates an IPv6 Source Address (SA) in the IPv6 header, where the IPv6 SA may be a VPN SID of a VPN instance in the head node device for carrying the service to which the first packet belongs. The head node device may encapsulate the slice indication information of the first network slice in an HBH header, e.g., including an extended optional (option) field in the HBH header, and may encapsulate the slice indication information of the first network slice in the extended optional field of the HBH header. Taking the first tunnel as an SRv6 BE tunnel as an example for explanation, optionally, the first tunnel is an SRv6TE policy tunnel, and the head node device may encapsulate a Segment Routing Header (SRH) in the first message, and encapsulate a segment list (segment list) in the SRH, and encapsulate an IPv6 DA in the IPv6 header according to the segment list. Wherein the segment list includes the first VPN SID, and the segment list is used to indicate a forwarding path from the head node device to the tail node device.
Wherein, when k =1, the second mapping relationship may be a mapping relationship of slice indication information of one VPN SID and m network slices. Taking the slice indication information as a slice ID for example, the second mapping relationship may be as shown in table 4 below:
TABLE 4
Figure BDA0003112608610000131
Wherein, when k = m, the second mapping relationship may be a mapping relationship of slice indication information of m VPN SIDs and m network slices. Taking the slice indication information as the slice ID for example, the second mapping relationship may be as shown in table 5 below:
TABLE 5
Figure BDA0003112608610000132
Figure BDA0003112608610000141
In this embodiment of the present application, each VPN SID in the second mapping relationship is a VPN SID of a first VPN instance in an end node device of the first tunnel, where the first VPN instance is a VPN instance used for carrying the first service in the end node device, and the VPN SID of the first VPN instance is allocated by the end node device to the first VPN instance based on the locator of the end node device. The second mapping relation is different according to different implementation modes of distributing the VPN SID for the first VPN example by the tail node equipment. The tail node device assigning the VPN SID to the first VPN instance based on the locator of the tail node device may include two implementations:
the first implementation mode comprises the following steps: the tail node device assigns a VPN SID (e.g., VPN SID 1) to the first VPN instance based on a locator (e.g., locator 1) of the tail node device, the locator being associated with the m network slices such that the VPN SID assigned based on the locator is associated with the m network slices such that the first VPN instance identified by the VPN SID is associated with the m network slices and a first tunnel terminating the first VPN instance is associated with the m network slices. In a first implementation, m network slices share a locator (or m network slices are associated, bound, etc. to a locator). The second mapping relationship corresponding to the first implementation is shown in table 4.
The second implementation mode comprises the following steps: the tail node device assigns m VPN SIDs (e.g., VPN SID 1-m) to the first VPN instance based on m locators (e.g., locator 1-m) of the tail node device, the tail node device assigns one VPN SID to the first VPN instance based on each locator, the m locators are associated with m network slices, such that the m VPN SIDs assigned based on the m locators are associated with the m network slices, such that the first VPN instance identified by the m VPN SIDs is associated with the m network slices, and a first tunnel with the first VPN instance as a tail node is associated with the m network slices. In a second implementation, m network slices each use one locator (or m network slices are associated, bound, etc. to m locators one by one). A second mapping relationship corresponding to the second implementation is shown in table 5.
According to the two implementation manners, in the second mapping relationship shown in table 4 and table 5, the VPN SIDs 1 to m identify the same VPN instance in the tail node device, and the VPN instance is the first VPN instance in the tail node device for carrying the first service. It is assumed that the slice indication information of the first network slice determined by the head node apparatus in S302 is slice ID2. For the first implementation, the second mapping relationship is shown in table 4, and the head node device determines that the VPN SID (that is, the first VPN SID) corresponding to the slice indication information of the first network slice is the VPN SID1 according to the slice indication information (for example, the slice ID 2) of the first network slice and the second mapping relationship shown in table 4. The head node device encapsulates the VPN SID1 into a first message. Since the VPN SID1 is associated with m network slices, in order to facilitate other network devices on the first tunnel to know the first network slice for forwarding the first packet, the head node device further encapsulates slice indication information (for example, slice ID 2) of the first network slice into the first packet, and the second packet obtained by the head node device includes the VPN SID1 and the slice ID2. For the second implementation manner, the second mapping relationship is shown in table 5, and the head node device determines that the VPN SID (that is, the first VPN SID) corresponding to the slice indication information of the first network slice is VPN SID2 according to the slice indication information (for example, slice ID 2) of the first network slice and the second mapping relationship shown in table 5. The head node device encapsulates the VPN SID2 into a first message. Since the VPN SID2 is associated with one network slice (the network slice indicated by the slice ID 2), other network devices in the first tunnel can obtain the first network slice for forwarding the first packet according to the VPN SID2, the head node device does not need to encapsulate slice indication information of the first network slice into the first packet, and the second packet obtained by the head node device includes the VPN SID1.
In this embodiment of the application, the second mapping relationship may be configured in the tail node device, before the head node device forwards the service through the first tunnel, the tail node device may issue the route of the first VPN instance to the head node device, and the tail node device may issue the route of the first VPN instance to the head node device while carrying the second mapping relationship in the route of the first VPN instance. The route of the first VPN instance includes an extended attribute, and the tail node device may carry the second mapping relationship in the extended attribute, or the tail node device carries the second mapping relationship as the extended attribute of the route of the first VPN instance in the route of the first VPN instance.
Optionally, the tail node device establishes a BGP neighbor relationship with the head node device, and the tail node device issues the route of the first VPN instance to the head node device through the BGP neighbor relationship. For example, the tail node device issues a BGP message to the head node device, where the BGP message carries the route of the first VPN instance. After receiving the BGP message, the head node device obtains the route of the first VPN instance from the BGP message, and crosses the route of the first VPN instance to a VPN instance in the head node device for carrying a service to which the first message belongs, and obtains the second mapping relationship from the route of the first VPN instance.
In the embodiment of the present application, it is exemplified that the second mapping relationship and the first mapping relationship are two sets of mapping relationships, as shown in tables 1 to 5, the first mapping relationship and the second mapping relationship both include m pieces of slice indication information, and the m pieces of slice indication information in the first mapping relationship are the same as the m pieces of slice indication information in the first mapping relationship, so that the first mapping relationship and the second mapping relationship can be associated based on the m pieces of slice indication information. For example, the first mapping relationship and the second mapping relationship are integrated into the same mapping relationship based on the m slice indication information. Specifically, based on the m pieces of slice indication information, the content of the VPN SID column in the second mapping relationship may be integrated into the first mapping relationship, so that the first mapping relationship includes the mapping relationship between the k VPN SIDs and the m pieces of slice indication information, which is not limited in this embodiment of the application.
And S304, the head node equipment forwards the second message through the first network slice.
After the head node device obtains the second packet, the head node device forwards the second packet through the first network slice associated with the first tunnel.
In one implementation, the first tunnel is an SRv6 BE tunnel, for example. The first VPN SID is associated with m network slices (for example, the second mapping relationship is shown in table 4), and the second packet carries the first VPN SID and the indication information of the first network slice. The head node device searches a routing table of the head node device (e.g., searches a locator route of the head node device) according to the longest matching rule according to the IPv6 DA (i.e., the first VPN SID) of the second packet, so as to determine an egress interface (e.g., the first egress interface) of the second packet in the head node device. Then, the head node device determines, according to slice indication information (e.g., slice ID) of the first network slice carried in the second packet, a first slice interface belonging to the first network slice from among slice interfaces bound to the first egress interface, and forwards the second packet through the first slice interface, so as to forward the second packet through the first network slice.
In another implementation, the first tunnel is an SRv6 BE tunnel, for example. The first VPN SID is associated with the first network slice (for example, the second mapping relationship is shown in table 5), and the second packet carries the first VPN SID. The head node device searches a routing table of the head node device according to the IPv6 DA (i.e., the first VPN SID) of the second packet and according to the longest matching rule, so as to determine an egress interface (e.g., a first egress interface) of the second packet in the head node device, where the first egress interface is only bound to a first slice interface belonging to the first network slice, and therefore the head node device forwards the second packet through the first slice interface, so as to forward the second packet through the first network slice.
After the head node device forwards the second packet through the first network slice associated with the first tunnel, a next-hop device of the head node device on the first tunnel (for convenience of description, the next-hop device of the head node device is referred to as the first network device) may receive the second packet. After receiving the second packet, the first network device may forward the second packet. The first network device may be an intermediate node device of the first tunnel, or may be an end node device of the first tunnel. And according to the difference of the first network equipment, the forwarding flow of the second message by the first network equipment is different. In the following, taking the first network device as an intermediate node device and a tail node device of the first tunnel as examples, the forwarding process of the second packet by the first network device is described according to two possible situations.
In the first case: the first network device is an intermediate node device of the first tunnel.
In one implementation, the first tunnel is an SRv6 BE tunnel, for example. The second message carries the first VPN SID and the indication information of the first network slice. The first network device searches a routing table of the first network device according to the IPv6 DA (i.e., the first VPN SID) of the second packet and the longest matching rule, so as to determine an egress interface (e.g., a second egress interface) of the second packet in the first network device. Then, the first network device determines a second slice interface belonging to the first network slice from slice interfaces bound to the second egress interface according to slice indication information (e.g., slice ID) of the first network slice carried in the second packet, and forwards the second packet through the second slice interface.
In another implementation, the first tunnel is an SRv6 BE tunnel, for example. The second message carries the first VPN SID. The first network device searches a routing table of the first network device according to the IPv6 DA (also referred to as a first VPN SID) of the second packet and according to the longest matching rule, so as to determine an egress interface (for example, a second egress interface) of the second packet in the first network device, where the second egress interface is only bound to a second slice interface belonging to the first network slice, and therefore the first network device forwards the second packet through the second slice interface.
In the second case: the first network device is a tail node device of the first tunnel.
The first network device searches a local SID table of the first network device according to the IPv6 DA (i.e., the first VPN SID) of the second packet, and determines that the first VPN SID is an SID of the first network device, and the first VPN SID is an END SID (e.g., end.dt4 SID or end.dt6 SID). And finally, the first network equipment strips off the IPv6 header in the second message and restores the second message into the first message. The first network device determines a VPN instance (that is, a first VPN instance) identified by the first VPN SID in the first network device, and the first network device searches a routing table of the first VPN instance according to a destination IP address of the first packet, so as to determine an egress interface of the first packet in the first network device, and forwards the first packet through the egress interface of the first packet. Optionally, if the second packet includes the slice indication information of the first network slice, the first network device further strips the slice indication information of the first network slice from the second packet.
To sum up, in the packet transmission method provided in this embodiment of the present application, after receiving a first packet, a head node device in a first tunnel determines, according to first SLA information carried in the first packet, a first network slice for forwarding the first packet, and forwards, through the first network slice, a second packet, where the second packet is a packet obtained by the head node device based on the first packet. The first network slice is one of m network slices associated with the first tunnel, and the first SLA information is used to indicate an SLA complaint of the first packet. According to the technical scheme provided by the embodiment of the application, the first tunnel is associated with the m network slices, so that the message iterated to the first tunnel can be forwarded by using the m network slices, and the flexibility of service forwarding is improved. In addition, the network slice specifically used for forwarding the message can be determined according to the SLA information carried by the message, which is beneficial to realizing refined service distribution and guaranteeing the SLA appeal of the service.
At present, a policy scheme (e.g., SRv6TE policy tunnel) may be used to provide differentiated services for different services, but the policy scheme has high maintenance cost, complex configuration, and high requirement for forwarding devices, and the policy scheme may increase overhead of a message, resulting in low message transmission efficiency. In the embodiment of the application, one tunnel is associated with a plurality of network slices, and the plurality of network slices are adopted to provide differential services for different services iterated to the tunnel, so that compared with a policy scheme, the method and the device are beneficial to reducing maintenance cost, simplifying configuration, reducing requirements on forwarding equipment, having low overhead requirements on messages and being beneficial to improving message transmission efficiency.
Before the head node device performs S302, the head node device may obtain the first mapping relationship. In this embodiment of the present application, the obtaining, by the head node device, the first mapping relationship may include the following two implementation manners:
the first implementation mode comprises the following steps: the head node device obtains a first mapping relation based on the received first configuration information.
The first configuration information may be configured on the head node device, or may be configured on the control device and transmitted to the head node device by the control device. For example, the first configuration information is entered on the head node device or the control device through a command line. The control device may send the first configuration information to the head node device through a BGP message, a network configuration protocol (NETCONF) message, or another private protocol message, which is not limited in this embodiment of the present application.
The first configuration information includes a first mapping relationship, and the head node device acquires the first mapping relationship from the first configuration information. For example, the first configuration information includes a first mapping relationship shown in any one of tables 1 to 3, and the head node device acquires the first mapping relationship shown in any one of tables 1 to 3 from the first configuration information. Or, the first configuration information includes SLA information and slice indication information, and the head node device generates the first mapping relationship shown in table 1 according to the first configuration information. Or, the first configuration information includes SLA information, slice indication information, and primary/standby identification information, and the head node device generates a first mapping relationship shown in table 2 according to the first configuration information. Or, the first configuration information includes SLA information, slice indication information, and sharing identification information, and the head node device generates, according to the first configuration information, a first mapping relationship shown in table 3.
The second implementation mode comprises the following steps: the head node device determines a first mapping relationship according to the route of the first VPN instance issued by the tail node device. The route of the first VPN instance carries the first mapping relationship, and the first VPN instance is a VPN instance used for bearing a service to which the first packet belongs in the tail node device.
In order to enable the head node device to forward the packet to the tail node device through the first tunnel, the tail node device needs to issue a route of the first VPN instance in the tail node device to the head node device, where the route of the first VPN instance includes a VPN SID of the first VPN instance. In the embodiment of the present application, the route of the first VPN instance includes k VPN SIDs of the first VPN instance, where k =1 or k = m. The first mapping relationship may be configured in the tail node device, the tail node device may carry the first mapping relationship in the route of the first VPN instance and issue the first mapping relationship to the head node device, and the head node device determines the first mapping relationship according to the route of the first VPN instance issued by the tail node device. The route of the first VPN instance includes an extended attribute, and the tail node device may issue the first mapping relationship carried in the extended attribute to the head node device, or the tail node device issues the first mapping relationship to the head node device as an extended attribute of the route of the first VPN instance.
Optionally, the tail node device issues a BGP message to the head node device, where the BGP message carries the route of the first VPN instance. A Type Length Value (TLV) field may be extended in the BGP packet, and the first mapping relationship is carried in the extended TLV and issued to the head node device. Exemplarily, the BGP packet includes a TLV field, the TLV field includes a sub-TLV field (sub-TLV field), the sub-TLV field includes a sub-sub-TLV field (sub-sub-TLV field), and the sub-sub-TLV field may be extended in the BGP packet to carry the first mapping relationship.
As depicted at S303, each of the k VPN SIDs is assigned by the tail node device for the first VPN instance based on the locator of the tail node device, k =1 or k = m. The tail node device assigns a VPN SID (e.g., VPN SID 1) to the first VPN instance based on a locator (e.g., locator 1) of the tail node device, the one locator being associated with the m network slices such that the one VPN SID assigned based on the one locator is associated with the m network slices, in which case k =1. Alternatively, the tail node device allocates m VPN SIDs (e.g., VPN SID 1-m) for the first VPN instance based on m locators (e.g., locator 1-m) of the tail node device, the m locators being associated with m network slices such that the m VPN SIDs allocated based on the m locators are associated with the m network slices, in which case k = m.
According to whether the VPN SID associated with the m network slices is one VPN SID or m VPN SIDs of the first VPN instance, BGP messages carrying the first mapping relation and issued to the head node device by the tail node device are different. In the following, the first mapping relationship is a mapping relationship between the SLA information and the slice indication information, and the first mapping relationship is an SLA range, and the second mapping relationship is a slice ID, for example, the format of the BGP message is introduced in two cases.
In the first case: the tail node device assigns a VPN SID for the first VPN instance based on a locator of the tail node device, the locator being associated with the m network slices such that the VPN SID is associated with the m network slices (i.e., k = 1). Taking m =3 as an example, the BGP message carrying the first mapping relationship may be as shown in fig. 4.
Referring to fig. 4, the BGP message includes one TLV field, where the TLV field includes one sub-TLV field, the one sub-TLV field includes one SRv6SID field (16 bytes) and three extended sub-sub-TLV fields, the one SRv6SID field is used to carry one VPN SID, and each extended sub-sub-TLV field is used to carry a mapping relationship between one SLA information and one slice ID, so that the BGP message carries mapping relationships between three SLA information and three slice IDs, that is, a first mapping relationship. The SRv6SID field and the three extended sub-sub-TLV fields are located in the same sub-TLV field, the mapping relation between the slice ID carried in the three extended sub-sub-TLV fields and the VPN SID carried in the SRv6SID field is shown, and all the network slices indicated by the slice ID carried in the three extended sub-sub-TLV fields are associated with the VPN SID carried in the SRv6SID field.
In the second case: the tail node device assigns m VPN SIDs to the first VPN instance based on m locators of the tail node device, the m locators being associated with m network slices such that the m VPN SIDs are associated with the m network slices based (i.e., k = m). Taking m =3 as an example, the BGP message carrying the first mapping relationship may be as shown in fig. 5.
Referring to fig. 5, the BGP packet includes one TLV field, which includes three sub-TLV fields, and each sub-TLV field includes one SRv6SID field (16 bytes) and one extended sub-sub-TLV field. In each sub-sub-TLV field, one SRv6SID field is used for carrying one VPN SID, and one expanded sub-sub-TLV field is used for carrying the mapping relation between one SLA information and one slice ID, so that the BGP message carries the mapping relation between three SLA information and three slice IDs, namely the first mapping relation. And the VPN SID carried in the SRv6SID field in the same sub-TLV field is associated with the network slice indicated by the slice ID carried in the sub-sub-TLV field.
As can be seen from the BGP message shown in fig. 4 and 5, the BGP message also carries a second mapping relationship (a mapping relationship between k VPN SIDs and m slice indication information). For example, the mapping relationship (i.e., the second mapping relationship) between one VPN SID and three slice IDs carried in the BGP message shown in fig. 4. Fig. 5 shows a mapping relationship (i.e., a second mapping relationship) between three VPN SIDs and three slice IDs carried in a BGP packet.
The BGP messages shown in fig. 4 and 5 are specifically described below.
As shown in fig. 4, the BGP message includes a TLV field. The TLV field includes: a TLV type (TLV type) field, a TLV length (TLV length) field, and a TLV value (TLV value) field including a reserved field and a sub-TLV field. The sub-TLV field specifically includes: the SRv6service sub-TLV type (SRv 6service sub-TLV type) field, the SRv6service sub-TLV length (SRv 6service sub-TLV length) field and the SRv6service sub-TLV value (SRv 6service sub-TLV value) field, wherein the SRv6service sub-TLV value field comprises an SRv6SID field, an SRv6SID flag (SRv 6SID flags) field, an SRv6end node behavior (SRv 6end node behavior) field, two reserved fields, one sub-sub-TLV field and three extended sub-sub-TLV fields.
As shown in fig. 5, the BGP message includes a TLV field. The TLV field includes: a TLV type (TLV type) field, a TLV length (TLV length) field, and a TLV value (TLV value) field including a reserved (reserved) field and three sub-TLV fields. Each sub-TLV field specifically comprises: the SRv6service sub-TLV type (SRv 6service sub-TLV type) field, the SRv6service sub-TLV length (SRv 6service sub-TLV length) field and the SRv6service sub-TLV value (SRv 6service sub-TLV value) field, wherein the SRv6service sub-TLV value field comprises an SRv6SID field, an SRv6SID mark (SRv 6SID flags) field, an SRv6 tail node behavior (SRv 6end node behavior) field, two reserved fields, one sub-sub-TLV field and one extended sub-sub-TLV field.
In the BGP message shown in fig. 4 and 5, the sub-sub-TLV field specifically includes: an SRv6service data sub-sub-TLV type (SRv 6service data sub-sub-TLV type) field, an SRv6service data sub-sub-TLV length (SRv 6service data sub-sub-TLV length) field, and an SRv6service data sub-sub-TLV value (SRv 6service data sub-sub-TLV value) field, wherein the SRv6service data sub-sub-TLV value field includes a locator block length (locator block length) field, a locator node length (locator node length) field, a functional length (function length) field, a parameter length (argument length) field, a shift length (shift length) field, a shift offset (shift offset) field, and a reserved field. The extended sub-sub-TLV field specifically includes: an SRv6service sub-sub-TLV type (SRv 6service sub-sub-TLV type) field, an SRv6service sub-sub-TLV length (SRv 6service sub-sub-TLV length) field and an SRv6service sub-sub-TLV value (SRv 6service sub-sub-TLV value) field, wherein the SRv6service sub-sub-TLV value field comprises a slice ID field, an SLA type (SLA type) field, a maximum value (max value) field, a minimum value (min value) field and a reserved field.
The meaning of each field in the BGP message shown in fig. 4 and 5 is specifically as follows:
TLV type (TLV type) field: the value of this field is assigned from the Internet Assigned Numbers Authority (IANA) registry "BGP Prefix-SID TLV type". For SRv 6L 3 services, the value in this field is 5. For SRv 6L 2 services, the value in this field is 6.
TLV length (TLV length) field: the value in this field indicates the total length of the TLV value (TLV value) field in the TLV field in which this field is located.
An SRv6service sub-TLV type (SRv 6service sub-TLV type) field: the value in this field indicates the type of SRv6service information. The value of this field is allocated from the IANA registry "SRv 6service sub-TLV types".
SRv6service sub-TLV length (SRv 6service sub-TLV length) field: the value in this field indicates the total length of the SRv6service sub-TLV value (SRv 6service sub-TLV value) field in the sub-TLV field in which this field is located.
SRv6SID field: the value in this field is the SRv6SID, e.g., the VPN SID. In this application, the value in this field is a VPN SID for the first VPN instance.
SRv6SID flags (SRv 6SID flags) field: encoding the SRv6SID token, the SRv6SID token field is not defined currently, and the value in this field should be set to 0 by the transmitting end and should be ignored by the receiving end.
SRv6 tail node behavior (SRv 6endpoint behavior) field: the value in this field indicates the behavior of the tail node.
An SRv6service data sub-sub-TLV type (SRv 6service data sub-sub-TLV type) field: the value in the field is 1, and the sub-sub-TLV field where the field is located is indicated to be an SRv6SID structure sub-sub-TLV field; or the content in the SRv6service data sub-sub-TLV value field in the sub-sub-TLV field indicating the field is used to describe the SRv6SID (e.g., VPN SID) structure.
A SRv6service data sub-sub-TLV length (SRv 6service data sub-sub-TLV length) field: the value in this field indicates the total length of the SRv6service data sub-sub-TLV value field in the sub-sub-TLV field in which this field is located.
Locator block length field: the value in this field indicates the block length of the locator in the SRv6SID carried in the sub-TLV in which this field is located.
Locator node length field: the value in this field indicates the length of the locator in the SRv6SID carried in the sub-TLV in which this field resides.
Function length (function length) field: the value in this field indicates the length of the functional part in the SRv6SID carried in the sub-TLV in which this field is located.
Parameter length (alignment length) field: the value in this field indicates the length of the parameter portion in the SRv6SID carried in the sub-TLV in which this field is located.
Shift length (shift length) field: the value in this field indicates the length of the portion of the SRv6SID carried in the sub-TLV in which this field is located that is shifted.
Shift offset (shift offset) field: the value in this field indicates the offset position of the portion of the SRv6SID carried in the sub-TLV in which this field is located that is shifted.
An SRv6service sub-sub-TLV type (SRv 6service sub-sub-TLV type) field: the value in this field indicates the type of the value in the SRv6service sub-sub-TLV value (SRv 6service sub-sub-TLV value) field in the sub-sub-TLV field in which this field is located.
SRv6service sub-sub-TLV length (SRv 6service sub-sub-TLV length) field: the value in this field indicates the total length of the SRv6service sub-sub-TLV value field in the sub-sub-TLV field in which this field is located.
Slice ID field: for carrying a slice ID, i.e. slice indication information.
SLA type (SLA type) field: for carrying SLA types. SLA types include DSCP, 8021p, etc.
Maximum value (max value) field: for carrying an upper value of the SLA range (e.g. DSCP range).
Minimum value (min value) field: for carrying the lower limit of the SLA range (e.g. DSCP range).
In the BGP messages shown in fig. 4 and 5, the reserved field should be set to 0 by the sender and should be ignored by the receiver.
Fig. 4 and 5 exemplify that the first mapping relationship is a mapping relationship between SLA information and slice indication information (e.g., slice ID). If the first mapping relationship is a mapping relationship among the SLA information, the slice indication information, and the primary and secondary identification information, or the first mapping relationship is a mapping relationship among the SLA information, the slice indication information, and the sharing identification information, or the first mapping relationship is a mapping relationship among the SLA information, the slice indication information, the primary and secondary identification information, and the sharing identification information, an identification bit (or an identification field) may be set in the BGP packet shown in fig. 4 and 5 to carry the primary and secondary identification information and/or the sharing identification information. For example, an identification bit (or an identification field) is set in a reserved field in the extended sub-sub-TLV field for carrying the first mapping relationship to carry the primary/secondary identification information and/or the shared identification information, that is, at least one bit in the reserved field in the extended sub-sub-TLV field is extended to be the identification bit (or the identification field) for carrying the primary/secondary identification information and/or the shared identification information. For another example, an identification bit (or an identification field) is set in a slice ID field in an extended sub-sub-TLV field for carrying the first mapping relationship to carry the main/standby identification information and/or the shared identification information, that is, at least one bit in the slice ID field in the extended sub-sub-TLV field is extended to be the identification bit (or the identification field) of the identification bit (or the identification field) for carrying the main/standby identification information and/or the shared identification information. In this way, the BGP message may carry the first mapping relationship shown in table 2 or table 3, which is not limited in this embodiment.
As described above, the BGP message shown in fig. 4 and 5 carries the first mapping relationship and the second mapping relationship. In this embodiment of the present application, the first mapping relationship may be obtained by the head node device according to the received first configuration information, and in this case, the BGP message may not need to carry the first mapping relationship. Optionally, an SLA type field, a maximum value field, and a minimum value field in the extended sub-sub-TLV fields in the BGP message shown in fig. 4 and 5 are respectively set as reserved fields, or the SLA type field, the maximum value field, and the minimum value field in the extended sub-sub-TLV fields are deleted, so that the extended sub-sub-TLV fields do not include the SLA type field, the maximum value field, and the minimum value field, and thus the BGP message may not carry the first mapping relationship. Exemplarily, fig. 6 and 7 show BGP messages obtained by deleting the SLA type field, the maximum value field, and the minimum value field in the extended sub-sub-TLV field in the BGP messages shown in fig. 4 and 5, respectively, and the BGP messages shown in fig. 6 and 7 may carry the second mapping relationship.
As shown in fig. 6, the BGP packet includes one TLV field, where the TLV field includes one sub-TLV field, the one sub-TLV field includes one SRv6SID field (16 bytes) and three extended sub-sub-TLV fields, the one SRv6SID field is configured to carry one VPN SID, each extended sub-sub-TLV field is configured to carry one slice ID, the one SRv6SID field and the three extended sub-sub-TLV fields are located in the same sub-TLV field, and indicate that the slice ID carried in the three extended sub-sub-TLV fields and the VPN SID carried in the one SRv6SID field have a mapping relationship (that is, a second mapping relationship), and the VPN SID carried in the one SRv6SID field is associated with the network slice indicated by the slice IDs carried in the three extended sub-sub-TLV fields.
As shown in fig. 7, the BGP packet includes one TLV field, where the one TLV field includes three sub-TLV fields, and each sub-TLV field includes one SRv6SID field (16 bytes) and one extended sub-sub-TLV field. In each sub-TLV field, one SRv6SID field is used to carry one VPN SID, and one extended sub-sub-TLV field is used to carry one slice ID, so that each sub-TLV field is used to carry a mapping relationship between one VPN SID and one slice ID, and the three sub-TLV fields carry mapping relationships between three VPN SIDs and three slice IDs (the mapping relationship is also the second mapping relationship). And the VPN SID carried in the SRv6SID field in the same sub-TLV field is in mapping relation with the slice ID carried in the sub-sub-TLV field, and the VPN SID carried in the SRv6SID field in the same sub-TLV field is associated with the network slice indicated by the slice ID carried in the sub-sub-TLV field.
The foregoing is a description of method embodiments of the present application. Embodiments of the apparatus of the present application are described below, which may be used to perform the methods of the present application. For details which are not disclosed in the embodiments of the apparatus of the present application, reference is made to the embodiments of the method.
Please refer to fig. 8, which illustrates a schematic structural diagram of a message transmission apparatus 800 according to an embodiment of the present application. The message transmission apparatus 800 is applied to a head node device of a first tunnel. For example, the message transmission apparatus 800 is a head node device of the first tunnel or a functional component in the head node device. The first tunnel may be tunnel S1 in fig. 1, and the head node device of the first tunnel may be PE1 in fig. 1. Referring to fig. 8, the message transmission apparatus 800 may include, but is not limited to:
the first receiving module 810 is configured to receive a first message, where the first message carries first SLA information, and the first SLA information is used to indicate an SLA appeal of the first message. The functional implementation of the first receiving module 810 may refer to the related description in S301 above.
A first determining module 820, configured to determine, according to the first SLA information, a first network slice for forwarding the first packet, where the first network slice is one of m network slices associated with the first tunnel, and m is greater than or equal to 2. The functional implementation of the first determining module 820 can refer to the related description in S302 above.
The forwarding module 830 is configured to forward the second packet through the first network slice, where the second packet is a packet obtained by the head node device based on the first packet. The functional implementation of the forwarding module 830 can refer to the related description in S304.
Optionally, n network slices for forwarding the first packet exist in the m network slices, the first network slice is one of the n network slices, and n is greater than or equal to 1 and less than or equal to m;
wherein when n >1, the n network slices satisfy at least one of:
network slices with a main-standby protection relationship exist in the n network slices;
and the n network slices have a load sharing relationship.
Optionally, the m network slices include at least one service slice, and the n network slices include at least one service slice that satisfies an SLA requirement of the first packet.
Optionally, the m network slices further include a base slice, and the n network slices include the base slice.
Optionally, a network slice having a primary/secondary protection relationship exists in the n network slices, where the network slice having the primary/secondary protection relationship includes a primary network slice and a secondary network slice, the primary network slice is a service slice satisfying an SLA appeal of the first packet, and the secondary network slice includes at least one of a basic slice and a service slice satisfying the SLA appeal of the first packet.
Optionally, the first determining module 820 is configured to determine a first network slice according to the first SLA information and the first mapping relationship; the first mapping relationship comprises a mapping relationship between the SLA information and the slice indication information, the SLA information in the first mapping relationship comprises the first SLA information, and the slice indication information in the first mapping relationship comprises the slice indication information of the first network slice.
Optionally, please continue to refer to fig. 8, the message transmission apparatus 800 further includes:
the obtaining module 840 is configured to obtain the first mapping relationship according to the received first configuration information. The functional implementation of the obtaining module 840 may refer to the related description in the first implementation manner of determining the first mapping relationship in the foregoing embodiment.
Optionally, referring to fig. 8 continuously, the message transmission apparatus 800 further includes:
the second receiving module 850 is configured to receive a route of a first VPN instance issued by a tail node device of a first tunnel, where the first VPN instance is a VPN instance in the tail node device and used for bearing a service to which a first packet belongs, and a route of the first VPN instance carries a first mapping relationship.
A second determining module 860, configured to determine the first mapping relationship according to the route of the first VPN instance.
The functional implementation of the second receiving module 850 and the functional implementation of the second determining module 860 may refer to the related description in the second implementation manner of determining the first mapping relationship in the foregoing embodiments.
Optionally, please continue to refer to fig. 8, the message transmission apparatus 800 further includes:
a third receiving module 870, configured to receive a route of a first VPN instance issued by an end node device of a first tunnel, where the first VPN instance is a VPN instance in the end node device and used for carrying a service to which a first packet belongs, a route of the first VPN instance carries a second mapping relationship between k VPN segment identifiers SID of the first VPN instance and slice indication information of m network slices, each VPN SID is a VPN SID allocated by the end node device to the first VPN instance based on a locator of the end node device, and k =1 or k = m.
Optionally, please continue to refer to fig. 8, the message transmission apparatus 800 further includes:
a third determining module 880, configured to determine the first VPN SID according to the first network slice and the second mapping relationship;
the obtaining module 890 is configured to obtain a second message based on the first message, where the second message includes the first VPN SID, or the second message includes the first VPN SID and the slice indication information of the first network slice.
The functional implementation of the third determining module 880 and the functional implementation of the obtaining module 890 may refer to the related description in the foregoing S303.
Optionally, the first tunnel is one of an SRv6TE policy tunnel, an SR-TE tunnel, and an SR-BE tunnel.
To sum up, in the message transmission apparatus provided in this embodiment, after receiving the first message, the head node device in the first tunnel determines, according to the first SLA information carried in the first message, a first network slice for forwarding the first message, and forwards, through the first network slice, a second message, where the second message is a message obtained by the head node device based on the first message. The first network slice is one of the m network slices associated with the first tunnel. According to the technical scheme provided by the embodiment of the application, the first tunnel is associated with the m network slices, so that the message iterated to the first tunnel can be forwarded by using the m network slices, and the flexibility of service forwarding is improved. In addition, the network slice specifically used for forwarding the message can be determined according to the SLA information carried by the message, which is beneficial to realizing refined service distribution and guaranteeing the SLA appeal of the service.
It should be understood that the message transmission device provided in the embodiments of the present application may also be implemented by an application-specific integrated circuit (ASIC) or a Programmable Logic Device (PLD), where the PLD may be a Complex Programmable Logic Device (CPLD), a field-programmable gate array (FPGA), a General Array Logic (GAL), or any combination thereof. The message transmission method provided by the above method embodiment may also be implemented by software, and when the message transmission method provided by the above method embodiment is implemented by software, each module in the message transmission apparatus may also be a software module.
The embodiment of the application provides a message transmission device, which comprises a memory and a processor;
the memory is used for storing a computer program;
the processor is configured to execute the computer program stored in the memory to cause the message transmission apparatus to perform all or part of the steps of the message transmission method provided by the foregoing embodiments.
For example, please refer to fig. 9, which shows a schematic structural diagram of a message transmission apparatus 900 according to an embodiment of the present application, where the message transmission apparatus 900 may be a head node device of a first tunnel or a functional component in the head node device. For example, the first tunnel is the tunnel S1 in fig. 1, and the head node device of the first tunnel is the PE1 in fig. 1.
As shown in fig. 9, the message transmission apparatus 900 includes: a main control board 910, an interface board 930, and an interface board 940. A plurality of interface boards may include a switch board (not shown in fig. 9) for performing data exchange between the interface boards (the interface boards are also called line cards or service boards).
The main control board 910 is used to complete the functions of system management, device maintenance, protocol processing, etc. The interface board 930 and the interface board 940 are used to provide various service interfaces (e.g., POS interface, GE interface, ATM interface, etc.), and implement message forwarding. The main control board 910 mainly has 3 types of functional units: the system comprises a system management control unit, a system clock unit and a system maintenance unit. The main control board 910, the interface board 930, and the interface board 940 are connected to the system backplane through a system bus to realize intercommunication. The interface board 930 includes one or more processors 931 thereon. The processor 931 is used for controlling and managing the interface board 930 and communicating with the central processor 912 on the main control board 910. The memory 932 on the interface board 930 is configured to store information such as the first mapping relationship in the foregoing embodiment, and the processor 931 determines a network slice according to the first mapping relationship to perform packet forwarding. As shown in fig. 9, the main control board 910 may include a memory 914, and the memory 914 on the main control board 910 may also be used to store information such as the first mapping relationship, which is not limited in this embodiment of the application.
The interface board 930 includes one or more network interfaces 933 for receiving and sending a packet, and the processor 931 determines a network slice to forward the packet according to the SLA information carried in the packet received by the network interface 933 and the first mapping relationship. The specific implementation process is not described herein. The detailed functions of the processor 931 are also not described herein.
It can be understood that, as shown in fig. 9, the present embodiment includes a plurality of interface boards, and a distributed forwarding mechanism is adopted, and operations on the interface board 940 are substantially similar to those of the interface board 930 in this mechanism, and are not described again for brevity. Furthermore, it is understood that the processor 931 in the interface board 930 and/or the processor 941 in the interface board 940 in fig. 9 may be dedicated hardware or chips, such as network processors or application specific integrated circuits, to implement the above functions, and this implementation manner is what is generally called forwarding plane adopts dedicated hardware or chip processing. In other embodiments, the processor 931 in the interface board 930 and/or the processor 941 in the interface board 940 may also use a general-purpose processor, such as a general-purpose Central Processing Unit (CPU), to implement the above-described functions.
In addition, it should be noted that there may be one or more main control boards, and when there are multiple main control boards, the main control boards may include an active main control board and a standby main control board. The interface board may have one or more blocks, and the stronger the data processing capability of the network device, the more interface boards are provided. Under the condition of a plurality of interface boards, the plurality of interface boards can communicate through one or a plurality of exchange network boards, and when a plurality of interface boards exist, the redundant backup of load sharing can be realized together. Under the centralized forwarding architecture, the network device does not need a switching network board, and the interface board undertakes the processing function of the service data of the whole system. Under the distributed forwarding architecture, the network device comprises a plurality of interface boards, and data exchange among the plurality of interface boards can be realized through the exchange network board, so that high-capacity data exchange and processing capacity are provided. Therefore, the data access and processing capabilities of network devices in a distributed architecture are greater than those of devices in a centralized architecture. Which architecture is specifically adopted depends on a specific networking deployment scenario, and is not limited herein.
In possible embodiments, memory 932 may be, but is not limited to, a read-only Memory (ROM) or other type of static storage device that can store static information and instructions, a Random Access Memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only Memory (EEPROM), a compact disk read-only Memory (CD-ROM) or other optical disk storage, optical disk storage (including compact disks, laser disks, optical disks, digital versatile disks, blu-ray disks, etc.), a magnetic disk or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. The memory 932 may be separate and coupled to the processor 931 through a communication bus. The memory 932 may also be integrated with the processor 931.
The memory 932 is used for storing program codes and is controlled by the processor 931 to execute part or all of the steps of the message transmission method provided by the above embodiments. The processor 931 is configured to execute program codes stored in the memory 932. One or more software modules may be included in the program code. The one or more software modules may be the functional modules provided in the embodiment illustrated in fig. 6 described above. The memory 914 may also be used for storing program codes and controlled by the central processing unit 912 to execute some or all of the steps of the message transmission method provided by the above embodiments.
In a possible embodiment, network interface 933 may be any transceiver or other device for communicating with other devices or communication networks, such as an ethernet, a Radio Access Network (RAN), a Wireless Local Area Network (WLAN), or the like.
For example, please refer to fig. 10, which shows a schematic structural diagram of a message transmission apparatus 1000 according to an embodiment of the present application, where the message transmission apparatus 1000 may be a head node device of a first tunnel or a functional component in the head node device. For example, the first tunnel is the tunnel S1 in fig. 1, and the head node device of the first tunnel is the PE1 in fig. 1.
Referring to fig. 10, the message transmitting apparatus 1000 includes a processor 1002, a memory 1004, a communication interface 1006 and a bus 1080, and the processor 1002, the memory 1004 and the communication interface 1006 are communicatively connected to each other by the bus 1080. The connections between processor 1002, memory 1004, and communication interface 1006 shown in fig. 10 are exemplary only, and in some implementations, processor 1002, memory 1004, and communication interface 1006 may be communicatively coupled to each other using connections other than bus 1080.
Memory 1004 may be used to store, among other things, computer program 10042, which computer program 10042 may include instructions and data. In the embodiment of the present application, the memory 1004 may be various types of storage media, such as RAM, ROM, non-volatile RAM (NVRAM), programmable ROM (PROM), erasable PROM (EPROM), electrically Erasable PROM (EEPROM), flash memory, optical memory, and a register.
Wherein the processor 1002 may be a general-purpose processor, which may be a processor that performs certain steps and/or operations by reading and executing a computer program (e.g., the computer program 10042) stored in a memory (e.g., the memory 1004), which may use data stored in the memory (e.g., the memory 1004) in performing the above-described steps and/or operations. The stored computer programs may be executed, for example, to implement the related functions of the aforementioned first determining module 820, obtaining module 840, second determining module 860, third determining module 880, and obtaining module 830. A general purpose processor may be, for example but not limited to, a CPU. The processor 1002 may also be a special purpose processor, which may be a specially designed processor for performing certain steps and/or operations, such as, but not limited to, a Digital Signal Processor (DSP), ASIC, FPGA, and the like. Further, the processor 1002 may be a combination of multiple processors, such as a multi-core processor. The processor 1002 may include at least one circuit to perform all or part of the steps of the message transmission methods provided by the above embodiments.
The communication interface 1006 may include an input/output (I/O) interface, a physical interface, a logical interface, and other interfaces for interconnecting devices inside the message transmission apparatus 1000, and an interface for interconnecting the message transmission apparatus 1000 with other devices (e.g., a network device or a control device). The physical interface may be a Gigabit Ethernet (GE), which may be used to implement interconnection between the packet transmission apparatus 1000 and other devices, and the logical interface is an interface inside the packet transmission apparatus 1000, which may be used to implement interconnection between devices inside the packet transmission apparatus 1000. It is to be appreciated that the communication interface 1006 can be used for the message transmission apparatus 1000 to communicate with other devices, for example, the communication interface 1006 is used for sending and receiving messages between the message transmission apparatus 1000 and other devices, and the communication interface 1006 can implement the related functions of the aforementioned first receiving module 810, second receiving module 850, third receiving module 870 and forwarding module 830. Further, communication interface 1006 may include a transceiver to transceive messages, which may also implement the related functions of first receiving module 810, second receiving module 850, third receiving module 870, and forwarding module 830.
The bus 1080 may be any type of communication bus, such as a system bus, that interconnects the processor 1002, the memory 1004, and the communication interface 1006.
The above devices may be respectively disposed on separate chips, or at least a part or all of the devices may be disposed on the same chip. Whether each device is separately disposed on a different chip or integrated on one or more chips will often depend on the needs of the product design. The embodiment of the present application does not limit the specific implementation form of the above device.
The message transmission apparatus 1000 shown in fig. 10 is merely exemplary, and in implementation, the message transmission apparatus 1000 may further include other components, which are not listed herein. The message transmission apparatus 1000 shown in fig. 10 performs all or part of the steps of the message transmission method provided by the above-described embodiment to perform message forwarding through the network slice.
An embodiment of the present application provides a communication system, including a message transmission apparatus as shown in any one of fig. 8 to fig. 10. The message transmission device is applied to the head node equipment of the first tunnel. For example, the message transmission device is the head node apparatus of the first tunnel or a functional component in the head node apparatus. The communication system may be the communication system shown in fig. 1, the first tunnel may be a tunnel S1, and the head node device of the first tunnel may be a PE1.
The first tunnel can BE an SRv6TE policy tunnel, an SR-TE tunnel or an SR-BE tunnel.
Embodiments of the present application provide a computer-readable storage medium, in which a computer program is stored, and when the computer program is executed (for example, by a network device, one or more processors, and the like), the computer program implements all or part of the steps of the message transmission method provided by the above method embodiments.
Embodiments of the present application provide a computer program product including a program or code, which, when executed (e.g., by a network device, one or more processors, etc.), implements all or part of the steps of the message transmission method provided by the above method embodiments.
Embodiments of the present application provide a chip, where the chip includes a programmable logic circuit and/or a program instruction, and the chip is configured to implement all or part of the steps of the message transmission method provided in the foregoing method embodiments when the chip is operated.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product comprising one or more computer instructions. The procedures or functions described in accordance with the embodiments of the application are all or partially generated when the computer program instructions are loaded and executed on a computer. The computer may be a general purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., coaxial cable, fiber optic, digital subscriber line) or wirelessly (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or can comprise one or more data storage devices, such as a server, a data center, etc., integrated with the available medium. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium, or a semiconductor medium (e.g., solid state disk), among others.
It should be understood that "at least one" in this application refers to one or more, "a plurality" refers to two or more. "at least two" means two or more, and in this application, "/" means "or" unless otherwise stated, for example, A/B may mean A or B. In the present application, "and/or" is only an association relationship describing an association object, and means that there may be three relationships, for example, a and/or B, and may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, for the sake of clarity, the terms "first," "second," "third," and the like are used herein to distinguish identical or similar terms having substantially the same function or effect. Those skilled in the art will appreciate that the words "first," "second," "third," and the like do not denote any order or quantity, but rather the order of execution.
Different types of embodiments such as the method embodiment and the apparatus embodiment provided by the embodiment of the present application can be mutually referred to, and the embodiment of the present application does not limit this. The sequence of operations in the method embodiments provided in the present application can be appropriately adjusted, and the operations can also be increased or decreased in response to situations, and any method that can be easily conceived by those skilled in the art within the technical scope disclosed in the present application shall be covered by the protection scope of the present application, and therefore will not be described again.
In the corresponding embodiments provided in the present application, it should be understood that the disclosed apparatus and the like may be implemented by other configuration modes. For example, the above-described apparatus embodiments are merely illustrative, and for example, a division of a unit is merely a logical division, and an actual implementation may have another division, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of some interfaces, devices or units, and may be an electric or other form.
The units described as separate parts may or may not be physically separate, and parts described as units may or may not be physical units, may be located in one position, or may be distributed on multiple network devices (for example, terminal devices). Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
The above description is only an exemplary embodiment of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive various equivalent modifications or substitutions within the technical scope of the present application, and these modifications or substitutions should be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (26)

1. A method for packet transmission, the method comprising:
a head node device of a first tunnel receives a first message, wherein the first message carries first Service Level Agreement (SLA) information, and the first SLA information is used for indicating an SLA appeal of the first message;
the head node equipment determines a first network slice for forwarding the first message according to the first SLA information, wherein the first network slice is one of m network slices associated with the first tunnel, and m is more than or equal to 2;
and the head node equipment forwards a second message through the first network slice, wherein the second message is obtained by the head node equipment based on the first message.
2. The method of claim 1,
n network slices used for forwarding the first message exist in the m network slices, the first network slice is one of the n network slices, and n is more than or equal to 1 and less than or equal to m;
wherein when n >1, the n network slices satisfy at least one of:
network slices with a main-standby protection relationship exist in the n network slices;
and the n network slices have a load sharing relationship.
3. The method of claim 2,
the m network slices include at least one service slice, and the n network slices include at least one service slice of the m network slices that meets the SLA requirements of the first packet.
4. The method of claim 3,
the m network slices further include a base slice, and the n network slices include the base slice.
5. The method of claim 4,
the n network slices have a main-standby protection relationship, the network slices having the main-standby protection relationship include a main network slice and a standby network slice, the main network slice is a service slice meeting the SLA appeal of the first message, and the standby network slice includes at least one of the basic slice and the service slice meeting the SLA appeal of the first message.
6. The method according to any of claims 1 to 5, wherein determining, by the head node device, a first network slice for forwarding the first packet according to the first SLA information comprises:
the head node equipment determines the first network slice according to the first SLA information and a first mapping relation;
the first mapping relationship includes a mapping relationship between SLA information and slice indication information, the SLA information in the first mapping relationship includes the first SLA information, and the slice indication information in the first mapping relationship includes slice indication information of the first network slice.
7. The method of claim 6, further comprising:
and the head node equipment acquires the first mapping relation according to the received first configuration information.
8. The method of claim 6, further comprising:
the head node device receives a route of a first Virtual Private Network (VPN) instance issued by a tail node device of the first tunnel, wherein the first VPN instance is a VPN instance used for bearing a service to which the first message belongs in the tail node device, and the route of the first VPN instance carries the first mapping relation;
and the head node equipment determines the first mapping relation according to the route of the first VPN instance.
9. The method according to any one of claims 1 to 8, further comprising:
the head node device receives a route of a first VPN instance issued by a tail node device of the first tunnel, wherein the first VPN instance is a VPN instance which is used for bearing a service to which the first message belongs in the tail node device;
wherein the route of the first VPN instance carries a second mapping relationship between k VPN segment identifiers SID of the first VPN instance and slice indication information of the m network slices, each VPN SID is a VPN SID allocated by the end node device to the first VPN instance based on one locator of the end node device, and k =1 or k = m.
10. The method of claim 9, further comprising:
the head node device determines a first VPN SID according to the first network slice and the second mapping relation;
the head node device obtains the second packet based on the first packet, where the second packet includes the first VPN SID, or the second packet includes the first VPN SID and the slice indication information of the first network slice.
11. The method according to any one of claims 1 to 10,
the first tunnel is one of a segmented routing Internet protocol version 6 SRv6TE policy tunnel, a segmented routing traffic engineering SR-TE tunnel and a segmented routing best effort SR-BE tunnel.
12. A message transmission apparatus, applied to a head node device of a first tunnel, the apparatus comprising:
the first receiving module is used for receiving a first message, wherein the first message carries first Service Level Agreement (SLA) information, and the first SLA information is used for indicating an SLA appeal of the first message;
a first determining module, configured to determine, according to the first SLA information, a first network slice for forwarding the first packet, where the first network slice is one of m network slices associated with the first tunnel, and m is greater than or equal to 2;
a forwarding module, configured to forward a second packet through the first network slice, where the second packet is a packet obtained by the head node device based on the first packet.
13. The apparatus of claim 12,
n network slices used for forwarding the first message exist in the m network slices, the first network slice is one of the n network slices, and n is more than or equal to 1 and less than or equal to m;
wherein when n >1, the n network slices satisfy at least one of:
network slices with a main-standby protection relationship exist in the n network slices;
and the n network slices have a load sharing relationship.
14. The apparatus of claim 13,
the m network slices include at least one service slice, and the n network slices include at least one service slice of the m network slices that meets the SLA requirements of the first packet.
15. The apparatus of claim 14,
the m network slices further include a base slice, and the n network slices include the base slice.
16. The apparatus of claim 15,
the n network slices have a master-slave protection relationship, the network slices having the master-slave protection relationship include a master network slice and a slave network slice, the master network slice is a service slice meeting the SLA appeal of the first message, and the slave network slice includes at least one of the base slice and the service slice meeting the SLA appeal of the first message.
17. The apparatus of any one of claims 12 to 16,
the first determining module is configured to determine the first network slice according to the first SLA information and a first mapping relationship; the first mapping relationship includes a mapping relationship between SLA information and slice indication information, the SLA information in the first mapping relationship includes the first SLA information, and the slice indication information in the first mapping relationship includes slice indication information of the first network slice.
18. The apparatus of claim 17, further comprising:
and the obtaining module is used for obtaining the first mapping relation according to the received first configuration information.
19. The apparatus of claim 17, further comprising:
a second receiving module, configured to receive a route of a first virtual private network VPN instance issued by a tail node device of the first tunnel, where the first VPN instance is a VPN instance in the tail node device and used for bearing a service to which the first packet belongs, and a route of the first VPN instance carries the first mapping relationship;
a second determining module, configured to determine the first mapping relationship according to the route of the first VPN instance.
20. The apparatus of any one of claims 12 to 19, further comprising:
a third receiving module, configured to receive a route of a first VPN instance issued by a tail node device of the first tunnel, where the first VPN instance is a VPN instance in the tail node device and used for carrying a service to which the first packet belongs, the route of the first VPN instance carries a second mapping relationship between k VPN segment identifiers SID of the first VPN instance and slice indication information of the m network slices, each VPN SID is a VPN SID allocated by the tail node device to the first VPN instance based on a locator of the tail node device, and k =1 or k = m.
21. The apparatus of claim 20, further comprising:
a third determining module, configured to determine a first VPN SID according to the first network slice and the second mapping relationship;
an obtaining module, configured to obtain the second packet based on the first packet, where the second packet includes the first VPN SID, or the second packet includes the first VPN SID and slice indication information of the first network slice.
22. The apparatus of any one of claims 12 to 21,
the first tunnel is one of a segmented routing internet protocol version 6 SRv6TE policy tunnel, a segmented routing traffic engineering SR-TE tunnel and a segmented routing best effort SR-BE tunnel.
23. A message transmission device is characterized by comprising a memory and a processor;
the memory is used for storing a computer program;
the processor is configured to execute a computer program stored in the memory to cause the apparatus to perform the message transmission method according to any one of claims 1 to 11.
24. A communication system comprising a message transmission apparatus according to any of claims 12 to 23.
25. A computer-readable storage medium, in which a computer program is stored, which when executed implements the message transmission method according to any one of claims 1 to 11.
26. A computer program product, characterized in that it comprises a program or code which, when executed, implements a message transmission method according to any one of claims 1 to 11.
CN202110653188.XA 2021-06-11 2021-06-11 Message transmission method, device and system Pending CN115473765A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110653188.XA CN115473765A (en) 2021-06-11 2021-06-11 Message transmission method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110653188.XA CN115473765A (en) 2021-06-11 2021-06-11 Message transmission method, device and system

Publications (1)

Publication Number Publication Date
CN115473765A true CN115473765A (en) 2022-12-13

Family

ID=84364417

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110653188.XA Pending CN115473765A (en) 2021-06-11 2021-06-11 Message transmission method, device and system

Country Status (1)

Country Link
CN (1) CN115473765A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024087691A1 (en) * 2022-10-28 2024-05-02 华为技术有限公司 Message processing method and related device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024087691A1 (en) * 2022-10-28 2024-05-02 华为技术有限公司 Message processing method and related device

Similar Documents

Publication Publication Date Title
CN112448900B (en) Data transmission method and device
CN111263373B (en) Data processing method, controller and forwarding equipment
EP4037265A1 (en) Packet forwarding method, apparatus, storage medium, and system
CN116158063A (en) Multi-edge Ethernet channel (MEEC) creation and management
WO2022110535A1 (en) Packet sending method, device, and system
CN115004656A (en) Message sending method, equipment and system
CN112910773A (en) Method for issuing OAM configuration information and control node
WO2022222750A1 (en) Packet forwarding method and apparatus, network device, and storage medium
CN104734930B (en) Method and device for realizing access of Virtual Local Area Network (VLAN) to Variable Frequency (VF) network and Fiber Channel Frequency (FCF)
WO2022121707A1 (en) Packet transmission method, device, and system
CN109218176B (en) Message processing method and device
CN115473765A (en) Message transmission method, device and system
CN114760165A (en) Message transmission method, device and system
CN114760243A (en) Message transmission method, device and system
US10574481B2 (en) Heterogeneous capabilities in an overlay fabric
CN113098749A (en) Message sending method, device and storage medium
WO2022166465A1 (en) Message processing method and related apparatus
CN114760248B (en) Message transmission method, device and system
CN115242699A (en) Message transmission method, slice generation method, device and system
CN112203302A (en) Access equipment configuration method and network management system
CN113595915A (en) Method for forwarding message and related equipment
CN114513485A (en) Method, device, equipment and system for obtaining mapping rule and readable storage medium
CN112751766A (en) Message forwarding method and device and computer storage medium
CN114301839A (en) Multicast message transmission method and device
CN112751768A (en) Service message forwarding method, device and computer storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination