CN113923161B - Message forwarding method and device - Google Patents

Message forwarding method and device Download PDF

Info

Publication number
CN113923161B
CN113923161B CN202111170596.6A CN202111170596A CN113923161B CN 113923161 B CN113923161 B CN 113923161B CN 202111170596 A CN202111170596 A CN 202111170596A CN 113923161 B CN113923161 B CN 113923161B
Authority
CN
China
Prior art keywords
message
ipv6
forwarded
identifier
interface
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.)
Active
Application number
CN202111170596.6A
Other languages
Chinese (zh)
Other versions
CN113923161A (en
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.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security 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 New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN202111170596.6A priority Critical patent/CN113923161B/en
Publication of CN113923161A publication Critical patent/CN113923161A/en
Application granted granted Critical
Publication of CN113923161B publication Critical patent/CN113923161B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing

Landscapes

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

Abstract

The embodiment of the application provides a message forwarding method and device. The scheme is as follows: obtaining a message to be forwarded; the message to be forwarded comprises a destination address and a target slice identifier; according to the destination address, a first identification of an output interface for forwarding the message to be forwarded is obtained from the forwarding table item; obtaining a second identifier of the sub-interface corresponding to the target slice identifier and the first identifier from the interface-slice identifier mapping table according to the target slice identifier and the first identifier; and forwarding the message to be forwarded through the sub-interface indicated by the second identifier. By applying the technical scheme provided by the embodiment of the application, the cost of a control plane is reduced.

Description

Message forwarding method and device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method and an apparatus for forwarding a message.
Background
With the development of network technology, service messages of different users can be transmitted simultaneously on the same bearer network. In order to eliminate the worry of users on the safety of service message transmission and the quality of service message transmission, the network can be divided into a plurality of network slices through a network slicing technology, so that corresponding logic virtual networks are provided for different users, the service messages among the users are isolated from each other and are not interfered with each other, and the bandwidth of each service message is ensured.
However, when the number of network slices in the network is large, in order to ensure normal use of each network slice, the control plane needs to consume a large amount of overhead for information distribution and routing calculation, so as to ensure normal transmission of the messages in the network slices.
Disclosure of Invention
The embodiment of the application aims to provide a message forwarding method and device for reducing the overhead of a control plane. The specific technical scheme is as follows:
the embodiment of the application provides a message forwarding method, which is applied to a network node and comprises the following steps:
obtaining a message to be forwarded; the message to be forwarded comprises a destination address and a target slice identifier;
according to the destination address, a first identification of an output interface for forwarding the message to be forwarded is obtained from a forwarding table item;
acquiring a second identifier of a sub-interface corresponding to the target slice identifier and the first identifier from an interface-slice identifier mapping table according to the target slice identifier and the first identifier;
and forwarding the message to be forwarded through the sub-interface indicated by the second identifier.
Optionally, if the network node is an ingress node, before acquiring the message to be forwarded, the method further includes:
Receiving a first internet protocol version 6 (Internet Protocol Version, ipv 6) message;
message information of the first IPv6 message is sent to a controller;
receiving a target slice identifier issued by the controller according to the message information;
the step of obtaining the message to be forwarded comprises the following steps:
and encapsulating an outer layer IPv6 header on the outer layer of the first IPv6 message to obtain the message to be forwarded, wherein the outer layer IPv6 header comprises an IPv6 basic header, and the source address of the IPv6 basic header is filled with the target slice identifier.
Optionally, if the network node is an ingress node, before acquiring the message to be forwarded, the method further includes:
receiving an internet protocol 6 th edition section routing strategy (Segment Routing Internet Protocol Version 6Policy,SRv6 Policy) issued by the controller; the SRv Policy segment route identifier (Segment Routing Identity, SID) list carries slice identifiers;
receiving a first IPv6 message;
the step of obtaining the message to be forwarded comprises the following steps:
determining a target SRv Policy of the first IPv6 message according to the message information of the first IPv6 message;
and encapsulating an outer layer IPv6 header on the outer layer of the first IPv6 message to obtain a message to be forwarded, wherein the outer layer IPv6 header comprises an IPv6 basic header and a segmented routing header (Segment Routing Header, SRH), a source address of the IPv6 basic header is filled with a target slice identifier in the target SRv6Policy, and the SRH is filled with a SID list in the target SRv6 Policy.
Optionally, the outer layer IPv6 header of the message to be processed includes an IPv6 basic header, where a communication classification field or a flow label field of the IPv6 basic header carries identification information;
if the network node is an intermediate node, the step of obtaining the message to be forwarded includes:
receiving a second IPv6 message forwarded by a previous hop node;
if the outer layer IPv6 header of the second IPv6 message carries the identification information, determining the second IPv6 message as a message to be forwarded; the identification information is used for indicating that the source address of the IPv6 basic header included in the outer layer IPv6 header is filled with the target slice identification.
Optionally, before obtaining the message to be forwarded, the method further includes:
receiving a first instruction, wherein the first instruction is used for indicating to divide a target interface of the network node;
dividing the target interface into a plurality of sub-interfaces based on the first instruction;
receiving a second instruction, wherein the second instruction comprises a slice identifier distributed to each sub-interface;
and constructing a mapping table among the interface identifier of the target interface, the interface identifier corresponding to each sub-interface and the slice identifier corresponding to each sub-interface based on the second instruction to obtain an interface-slice identifier mapping table.
The embodiment of the application also provides a message forwarding device which is applied to the network node and comprises:
the first acquisition module is used for acquiring a message to be forwarded; the message to be forwarded comprises a destination address and a target slice identifier;
the second acquisition module is used for acquiring a first identifier of an output interface for forwarding the message to be forwarded from the forwarding table item according to the destination address;
the third acquisition module is used for acquiring a second identifier of the sub-interface corresponding to the target slice identifier and the first identifier from an interface-slice identifier mapping table according to the target slice identifier and the first identifier;
and the forwarding module is used for forwarding the message to be forwarded through the sub-interface indicated by the second identifier.
Optionally, the apparatus further includes:
the first receiving module is used for receiving a first IPv6 message before acquiring a message to be forwarded if the network node is an entry node;
the sending module is used for sending the message information of the first IPv6 message to the controller;
the second receiving module is used for receiving the target slice identifier issued by the controller according to the message information;
the first obtaining module is specifically configured to encapsulate an outer layer IPv6 header in an outer layer of the first IPv6 packet, to obtain a packet to be forwarded, where the outer layer IPv6 header includes an IPv6 basic header, and a source address of the IPv6 basic header is filled with the target slice identifier.
Optionally, the apparatus further includes:
the third receiving module is used for receiving SRv Policy issued by the controller before acquiring the message to be forwarded if the network node is an entry node; the SID list of SRv Policy carries slice identification;
a fourth receiving module, configured to receive a first IPv6 packet;
the first obtaining module is specifically configured to determine, according to the message information of the first IPv6 message, a target SRv Policy of the first IPv6 message; and encapsulating an outer layer IPv6 header on the outer layer of the first IPv6 message to obtain a message to be forwarded, wherein the outer layer IPv6 header comprises an IPv6 basic header and an SRH, a source address of the IPv6 basic header is filled with a target slice identifier in the target SRv Policy, and the SRH is filled with a SID list in the target SRv Policy.
Optionally, the outer layer IPv6 header of the message to be processed includes an IPv6 basic header, where a communication classification field or a flow label field of the IPv6 basic header carries identification information;
if the network node is an intermediate node, the first obtaining module is specifically configured to receive a second IPv6 message forwarded by a previous hop node; if the outer layer IPv6 header of the second IPv6 message carries the identification information, determining the second IPv6 message as a message to be forwarded; the identification information is used for indicating that the source address of the IPv6 basic header included in the outer layer IPv6 header is filled with the target slice identification.
Optionally, the apparatus further includes:
a fifth receiving module, configured to receive a first instruction, where the first instruction is used to instruct dividing a target interface of the network node before obtaining a packet to be forwarded;
the dividing module is used for dividing the target interface into a plurality of sub-interfaces based on the first instruction;
a sixth receiving module, configured to receive a second instruction, where the second instruction includes a slice identifier allocated to each subinterface;
the construction module is used for constructing the interface identifier of the target interface, the interface identifier corresponding to each sub-interface and the mapping table among the slice identifiers corresponding to each sub-interface based on the second instruction to obtain an interface-slice identifier mapping table.
Embodiments of the present application also provide a network node comprising a processor and a machine-readable storage medium storing machine-executable instructions executable by the processor, the processor being caused by the machine-executable instructions to: the message forwarding method steps described in any one of the above are implemented.
Embodiments of the present application also provide a machine-readable storage medium storing machine-executable instructions executable by the processor, the processor being caused by the machine-executable instructions to: the message forwarding method steps described in any one of the above are implemented.
The embodiment of the application also provides a computer program product containing instructions, which when run on a computer, cause the computer to execute any one of the message forwarding methods.
In the technical scheme provided by the embodiment of the application, after the network node acquires the message to be forwarded, which comprises the destination address and the target slice identifier, the network node acquires the first identifier of the outgoing interface for forwarding the message to be forwarded according to the destination address, so that the second identifier of the sub-interface corresponding to the target slice identifier and the first identifier is acquired from the interface-slice identifier mapping table according to the first identifier and the target slice identifier, and the message to be forwarded is forwarded through the sub-interface indicated by the second identifier.
Compared with the prior art, in the technical scheme provided by the embodiment of the application, after determining the output interface of the message to be forwarded, the network node directly determines the sub-interface corresponding to the message to be forwarded according to the pre-stored interface-slice identification mapping table, and the forwarding channel included by the forwarding table item is not needed to be relied on, namely, the control plane does not need to carry out information distribution and route calculation aiming at the corresponding relation between the output interface and a plurality of sub-interfaces corresponding to the output interface in the information distribution and route calculation process, so that the cost required by the control plane for carrying out information distribution and route calculation is effectively reduced.
Of course, it is not necessary for any one product or method of practicing the application to achieve all of the advantages set forth above at the same time.
Drawings
In order to more clearly illustrate the embodiments of the application or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described, it being obvious that the drawings in the following description are only some embodiments of the application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1-a is a schematic diagram of a SRv network;
FIG. 1-b is a schematic diagram of a network slice in the SRv network of FIG. 1-a;
fig. 2 is a schematic flow chart of a first packet forwarding method according to an embodiment of the present application;
fig. 3 is a second flow chart of a message forwarding method according to an embodiment of the present application;
fig. 4-a is a schematic diagram of a header of a message to be forwarded according to an embodiment of the present application;
FIG. 4-b is a schematic diagram of the source address in the outer layer IPv6 header of FIG. 4-a;
fig. 5 is a third flow chart of a message forwarding method according to an embodiment of the present application;
Fig. 6 is a fourth flowchart of a message forwarding method according to an embodiment of the present application;
fig. 7 is a sixth flowchart of a message forwarding method according to an embodiment of the present application;
fig. 8 is a signaling diagram of a message forwarding process according to an embodiment of the present application;
FIG. 9 is a schematic diagram of a network slice according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a message forwarding device according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of a network node according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
In the related art, in order to ensure the security and transmission quality of different service messages transmitted by a plurality of users through the same network, a network slicing technology is used to perform network slicing processing on the network to obtain a plurality of network slices, so that the service messages of different users are transmitted through the plurality of network slices.
However, after obtaining a plurality of network slices, in order to ensure normal transmission of the message in each network slice, the control plane needs to perform a large amount of information distribution and routing calculation, and determines a forwarding table entry of each sub-interface including the egress interface.
For ease of understanding, figures 1-a and 1-b are illustrated as examples. Fig. 1-a is a schematic diagram of a SRv network. Fig. 1-b is a schematic diagram of a network slice in the SRv network shown in fig. 1-a.
In the SRv network shown in FIG. 1-a, there are two transmission paths between nodes D1-D4, paths D0-D1-D4, and paths D0-D2-D3-D4. In order to enable the SRv network to support the transmission of service messages of multiple users at the same time, the SRv network shown in fig. 1-a can be subjected to network slicing processing.
For example, for paths D0-D1-D4 shown in FIG. 1-a, 3 transmission channels may be created between node D0 and node D1, and between node D1 and node D4, respectively, as shown in FIG. 1-b, namely transmission channels 1-3 between node D0 and node D1, and transmission channels 4-6 between node D1 and node D4, respectively, in FIG. 1-b. In this case, three network slices are included in FIG. 1-b. For example, a network slice 1 constituted by a transmission channel 1 and a transmission channel 4, a network slice 2 constituted by a transmission channel 2 and a transmission channel 5, and a network slice 3 constituted by a transmission channel 3 and a transmission channel 6.
For each network slice shown in fig. 1-b, in order to ensure normal transmission of service messages in each network slice, the control plane needs to perform information distribution and route calculation for each transmission channel in the information distribution and route calculation process.
For ease of understanding, only the information distribution process will be described. In the SRv network shown in fig. 1-a, neighbor establishment of node D0 and node D1 only requires one border gateway protocol (Border Gateway Protocol, BGP) message to be sent. However, in the network slice shown in fig. 1-b, the neighbor establishment of node D0 and node D1 requires three BGP messages to be sent, i.e., there is a corresponding BGP message for each transport channel.
Therefore, the control plane consumes a lot of overhead in performing information distribution and routing computation for each network slice.
In order to solve the problems in the related art, the embodiment of the application provides a message forwarding method. Fig. 2 is a schematic flow chart of a first packet forwarding method according to an embodiment of the present application, as shown in fig. 2. The method is applied to the network node and specifically comprises the following steps.
Step S201, obtaining a message to be forwarded; the message to be forwarded comprises a destination address and a target slice identifier.
Step S202, according to the destination address, a first identification of an outgoing interface for forwarding the message to be forwarded is obtained from the forwarding table entry.
Step S203, according to the target slice identifier and the first identifier, a second identifier of the sub-interface corresponding to the target slice identifier and the first identifier is obtained from the interface-slice identifier mapping table.
Step S204, forwarding the message to be forwarded through the sub-interface indicated by the second identifier.
By the method shown in fig. 2, after obtaining a message to be forwarded including a destination address and a target slice identifier, a network node obtains a first identifier of an outgoing interface for forwarding the message to be forwarded according to the destination address, so as to obtain a second identifier of a sub-interface corresponding to the target slice identifier and the first identifier from an interface-slice identifier mapping table according to the first identifier and the target slice identifier, and forward the message to be forwarded through the sub-interface indicated by the second identifier.
Compared with the prior art, in the technical scheme provided by the embodiment of the application, after determining the output interface of the message to be forwarded, the network node directly determines the sub-interface corresponding to the message to be forwarded according to the pre-stored interface-slice identification mapping table, and the forwarding channel included by the forwarding table item is not needed to be relied on, namely, the control plane does not need to carry out information distribution and route calculation aiming at the corresponding relation between the output interface and a plurality of sub-interfaces corresponding to the output interface in the information distribution and route calculation process, so that the cost required by the control plane for carrying out information distribution and route calculation is effectively reduced.
The following describes embodiments of the present application by way of specific examples.
Aiming at the step S201, a message to be forwarded is obtained; the message to be forwarded comprises a destination address and a target slice identifier.
In the embodiment of the present application, the network node may be an entry node in a network slice, or may be an intermediate node in a network slice. Here, the network node is not particularly limited.
The entry node is the first node in the network slice, and the intermediate node is other nodes except the entry node and the destination node in the network slice. Still taking fig. 1-b as an example, among the 3 network slices shown in fig. 1-b, the ingress node is node D0 and the intermediate node is node D1.
The number of intermediate nodes included in a network slice varies depending on the network structure of the network slice. Here, the number of intermediate nodes in the above-described network slice is not particularly limited.
In the embodiment of the present application, the five-tuple information of the to-be-forwarded packet includes a destination address, and the to-be-forwarded packet further includes a slice identifier of a network slice, that is, the target slice identifier. The description of the target slice identifier included in the message to be forwarded may be referred to below, and is not repeated herein.
For the step S202, that is, according to the destination address, the first identifier of the outbound interface for forwarding the message to be forwarded is obtained from the forwarding table entry.
In this step, the forwarding table entry includes information such as a destination address, a next hop, and an outgoing interface. The next hop and egress interfaces in the forwarding table entry may be represented in the form of an identification. After the network node obtains the message to be forwarded, the network node can search the identifier of the outbound interface corresponding to the next hop, namely the first identifier, in the forwarding table item according to the destination address of the message to be forwarded, so as to determine the outbound interface corresponding to the message to be forwarded.
In an alternative embodiment, the destination address in the message to be forwarded may be a SID address. Step S202, according to the destination address, obtains, from the forwarding table entry, the first identifier of the egress interface for forwarding the message to be forwarded, which may be specifically expressed as:
and searching the identification of the next hop outlet interface corresponding to the target SID address in the forwarding table according to the corresponding relation among the destination address, the next hop and the outlet interface included in the forwarding table and the destination SID address in the inner layer IPv6 basic header of the message to be forwarded, and obtaining the first identification.
For ease of understanding, the determination of the first identifier is described with reference to the forwarding table entry shown in table 1, with the network slice corresponding to the SRv network shown in fig. 1-a, and the network node being node D0.
TABLE 1
SID Next hop Outlet interface
A:A:A:A:0:1::1 D1 G0/1/0
A:A:A:A:0:2::1 D2 G0/1/1
After the node D0 receives the message to be forwarded, it may acquire the destination SID address stored in the destination address of the inner layer IPv6 basic header of the message to be forwarded.
When the destination SID address in the message to be forwarded is A: when A is 0:1:1, the node D0 can determine that the next hop corresponding to A is 0:1:1 is the node D1 according to the forwarding table items shown in the table 1, and the identification of the outlet interface corresponding to the node D1 is G0/1/0. At this time, the node D0 may determine G0/1/0 as the first identifier of the outgoing interface corresponding to the message to be forwarded.
When the destination SID address in the message to be forwarded is A: when A is 0:2:1, the node D0 can determine that the next hop corresponding to A is 0:2:1 is node D2 according to the forwarding table items shown in the table 1, and the identification of the outlet interface corresponding to the node D2 is G0/1/1. At this time, the node D0 may determine G0/1/1 as the first identifier of the outgoing interface corresponding to the message to be forwarded.
In the embodiment of the present application, the message to be forwarded includes two layers of IPv6 headers, namely the inner layer IPv6 basic header and an extra-encapsulated outer layer IPv6 header. The outer layer IPv6 header may include an IPv6 base header and an SRH. See the description below for the outer layer IPv6 header, and are not described in detail herein.
For the step S203, that is, according to the target slice identifier and the first identifier, the second identifier of the sub-interface corresponding to the target slice identifier and the first identifier is obtained from the interface-slice identifier mapping table.
In the embodiment of the application, a plurality of network slices can be obtained after the network is subjected to network slicing. In each network slice, there are multiple subinterfaces between two adjacent nodes. Each sub-interface may correspond to a transmission channel between two nodes, or may correspond to a transmission queue between two nodes. The expression of the sub-interfaces is not particularly limited here.
After determining the first identifier of the outgoing interface corresponding to the message to be forwarded, the network node may determine, according to a pre-stored interface-slice identifier mapping table, an identifier corresponding to the target slice identifier as a second identifier from identifiers of multiple sub-interfaces corresponding to the first identifier. The interface-slice identification mapping table is used for determining the identification of the sub-interface corresponding to the first identification and the target switching identification as the second identification, so that the target sub-interface corresponding to the message to be forwarded is determined.
For ease of understanding, the determination of the second identifier described above is described in connection with table 2.
TABLE 2
As shown in table 2, it is assumed that the first identifier of the outgoing interface determined in step S202 is G0/1/0, and at this time, according to table 2, the network node may determine that there are three sub-interfaces corresponding to G0/1/0, i.e. the sub-interfaces corresponding to the identifiers G0/1/0.1, G0/1/0.2 and G0/1/0.3, respectively. Therefore, when the target slice identifier carried by the to-be-forwarded packet is 1, according to the correspondence shown in table 2, the network node may determine G0/1/0.1 as the second identifier corresponding to the to-be-forwarded packet, that is, determine the subinterface corresponding to G0/1/0.1 as the target subinterface. When the target slice identifier carried by the message to be forwarded is 2, according to the corresponding relationship shown in table 2, the network node may determine G0/1/0.2 as the second identifier corresponding to the message to be forwarded, that is, determine the subinterface corresponding to G0/1/0.2 as the target subinterface. When the target slice identifier carried by the message to be forwarded is 3, according to the corresponding relationship shown in table 2, the network node may determine G0/1/0.3 as the second identifier corresponding to the message to be forwarded, that is, determine the subinterface corresponding to G0/1/0.3 as the target subinterface.
In the embodiment of the application, when the network slicing technology is utilized to carry out network slicing processing on the network, the controller plans the network slicing according to the service requirement according to the network slicing range uploaded by each node in the network and issues slicing information to each node. The slice information may include information such as slice identification, bandwidth, lifecycle, etc. of the network slice. Each node constructs a corresponding subinterface according to the received slice information. At this time, each node may establish a correspondence among the slice identifier, the identifier of the outgoing interface, and the identifier of the sub-interface, and announce its neighboring node through BGP messages, so that each node stores the correspondence.
For the step S204, the message to be forwarded is forwarded through the subinterface indicated by the second identifier.
In this step, after determining the second identifier, the network node may forward the message to be forwarded to the next hop node by using the subinterface indicated by the second identifier. The next-hop node may be a certain network node in the network slice, or may be a destination node of the network slice.
For example, through table 2 above, the network node determines that the second identifier corresponding to the message to be forwarded is G0/1/0.1, that is, the target subinterface determined by the network node is the subinterface corresponding to G0/1/0.1. At this time, the network node may forward the message to be forwarded to the target subinterface, and transmit the message to the next hop node through the target subinterface.
In the above embodiment, only the forwarding process of the received message to be forwarded by one network node in the network slice is described as an example. Each network node in the network slice may forward the received message to be forwarded according to the method shown in the above step S201-step S204.
In an alternative embodiment, when the network node is an ingress node in the network slice, according to the method shown in fig. 2, the embodiment of the present application further provides a message forwarding method. As shown in fig. 3, fig. 3 is a second flowchart of a message forwarding method according to an embodiment of the present application. The method comprises the following steps.
Step S301, a first IPv6 message is received.
In this step, the other device may send a first IPv6 message to the ingress node. At this point, the ingress node will receive the first IPv6 message.
The other devices may be Customer Edge (CE) devices, etc. For example, CE1 and CE2 are connected to an ingress node and a destination node, respectively, of a certain network slice in a certain network. At some point, CE1 sends a message to CE2 through the network slice. At this time, the CE1 will send an IPv6 message to the ingress node, and the ingress node will receive the IPv6 message sent by the CE 1.
In the embodiment of the present application, the other devices are not particularly limited.
Step S302, a receiving controller sends a target slice identifier according to the message information.
In an alternative embodiment, after receiving the first IPv6 packet, the ingress node may report packet information, such as quintuple information, of the first IPv6 packet to the controller. After receiving the message information, the controller may send a target slice identifier for the first IPv6 message to the ingress node.
In another alternative embodiment, the controller may monitor in real time whether the ingress node receives the first IPv6 packet. When the controller monitors that the inlet node receives the first IPv6 message, the controller can acquire the message information of the first IPv6 message, so as to send the target slice identification aiming at the first IPv6 message to the inlet node.
In an alternative embodiment, the target slice identifier may be issued by a control instruction, that is, in step S302, the target slice identifier issued by the receiving controller according to the message information may be specifically expressed as:
the ingress node may receive a control instruction issued by the controller for the first IPv6 packet, where the control instruction includes a target slice identifier.
In the embodiment of the present application, the control plane includes the controller and a control module of a node in the related art. Here, the control module in the node is not specifically described.
Through the steps S301 to S302, since the network slice is planned by the controller according to the service requirement, after the ingress node receives the first IPv6 message, the controller can determine the network slice corresponding to the first IPv6 message accurately according to the message information of the message, so as to issue the target slice identifier corresponding to the network slice to the ingress node, which effectively ensures the accuracy of the target slice identifier received by the ingress node.
Step S303, encapsulating an outer layer IPv6 header on the outer layer of the first IPv6 message to obtain the message to be forwarded, wherein the outer layer IPv6 header comprises an IPv6 basic header, and a target slice identifier is filled in a source address of the IPv6 basic header.
In this step, after receiving the first IPv6 packet and determining the target slice identifier of the packet to be forwarded, the ingress node may encapsulate an outer layer IPv6 header outside the IPv6 basic header of the first IPv6 packet (i.e., the inner layer IPv6 basic header), where the outer layer IPv6 header may include the IPv6 basic header and the SRH. The ingress node may populate the outer layer IPv6 header with the target slice identification. At this time, the ingress node may determine the first IPv6 packet as a packet to be forwarded.
In an alternative embodiment, the target slice identifier may fill the lower 16 bits of the IPv6 base header source address of the outer layer IPv6 header.
The low 16 bits of the source address of the IPv6 header of the outer layer of the message to be forwarded are used as the storage space of the target slice identifier, so that the value range of the target slice identifier can be 0-2 16 -1 (i.e. 0-65535). The number of the network slices corresponding to the target slice identifiers of the network slices is greatly increased, so that the number of the network slices which can be deployed in the network is increased, and the network expansibility is improved.
For ease of understanding, the description is given with reference to FIGS. 4-a and 4-b. Fig. 4-a is a schematic diagram of a header of a message to be forwarded according to an embodiment of the present application. Fig. 4-b is a schematic diagram of a source address in the outer layer IPv6 header shown in fig. 4-a.
The message header shown in fig. 4-a includes an outer layer IPv6 header and a memory IPv6 basic header. Wherein the outer layer IPv6 header comprises an IPv6 basic header and an SRH. The IPv6 basic Header includes Version (Version), traffic class (Traffic class), flow label (Flow label), payload Length (Payload Length), next Header (Next Header), hop Limit (Hop Limit), source Address (Source Address), destination Address (Destination Address) in fig. 4-a. The structure of the inner layer IPv6 base header shown in fig. 4-a may refer to the structure of the IPv6 base header included in the outer layer IPv6 header, and the inner layer IPv6 base header will not be described in detail herein.
The source address shown in fig. 4-b includes a location identifier (Locator), a Function (Function), and a slice identifier.
After receiving the target slice identifier, the entry node may add the target slice identifier to the low 16 bits of the source address shown in fig. 4-a, to obtain the source address shown in fig. 4-b, and encapsulate the IPv6 header including the source address into the first IPv6 packet, to obtain the packet to be forwarded carrying the target slice identifier.
The step S303 is a refinement of the step S201.
In the embodiment of the application, after the entry node receives the first IPv6 message, the entry node can determine the network slice corresponding to the message to be forwarded based on the target slice identifier by acquiring the target slice identifier from the controller, so that the accuracy and the efficiency of the determined network slice are improved.
Step S304, according to the destination address, the first identification of the outgoing interface for forwarding the message to be forwarded is obtained from the forwarding table entry.
Step S305, according to the target slice identifier and the first identifier, a second identifier of the sub-interface corresponding to the target slice identifier and the first identifier is obtained from the interface-slice identifier mapping table.
Step S306, the message to be forwarded is forwarded through the sub-interface indicated by the second identifier.
The steps S304 to S306 are the same as the steps S202 to S204.
In another alternative embodiment, when the network node is an ingress node, according to the method shown in fig. 2, the embodiment of the present application further provides a method for forwarding a message. Fig. 5 is a schematic diagram of a third flow chart of a message forwarding method according to an embodiment of the present application, as shown in fig. 5. The method comprises the following steps.
Step S501, receiving SRv Policy issued by a controller; SRv6 slice identifiers are carried in the SID list of Policy.
In this step, after network slicing is performed on the SRv network, the controller may determine SRv Policy for each network slice corresponding to the transmission path, and a slice identifier for each network slice. At this point, the controller may issue SRv6 Policy carrying the slice identity to the ingress node of each network slice.
In the embodiment of the present application, the slice identifier may be carried in a SID list of SRv6 Policy.
Each SID in the list of SIDs indicates each node through which the message is transmitted. That is, the SID list may indicate a transmission path for the message transmission.
Step S502, a first IPv6 message is received.
Step S503, determining the target SRv Policy of the first IPv6 message according to the message information of the first IPv6 message.
In this step, after receiving the first IPv6 packet, the ingress node may determine, according to the packet information of the first IPv6 packet, a target SRv Policy of the first IPv6 packet from SRv policies issued by the controller.
The target slice identifier may be issued by the SRv Policy, that is, the step S302, where the receiving controller issues the target slice identifier, which may be specifically expressed as:
SRv6Policy issued by the receiving controller aiming at the first IPv6 message; SRv6 the transmission path of Policy carries the target slice identifier.
Step S504, encapsulating an outer layer IPv6 header on the outer layer of the first IPv6 message to obtain a message to be forwarded, wherein the outer layer IPv6 header comprises an IPv6 basic header and an SRH, a source address of the IPv6 basic header is filled with a target slice identifier in a target SRv Policy, and the SRH is filled with a SID list in the target SRv6 Policy.
In this step, after determining the target SRv Policy corresponding to the first IPv6 packet, the ingress node may encapsulate an outer layer IPv6 header in the outer layer of the first IPv6 packet, and fill a source address of an IPv6 basic header of the outer layer IPv6 header with a switching identifier in the target SRv Policy, that is, a target slice identifier, and fill an SRH of the outer layer IPv6 header with a SID list in the target SRv6 Policy, to obtain a packet to be forwarded.
The steps S503 to S504 are refinements to the step S202.
Through the steps S501-S504, after the network slicing is performed on the SRv network, the ingress node will timely obtain SRv Policy corresponding to the network slicing and the slice identifier corresponding to each network slicing, so that after the first IPv6 message is received, the SID list and the target slice identifier are necessarily encapsulated into the outer layer IPv6 header to obtain the message to be forwarded, so that the intermediate node is convenient to forward the message to be forwarded.
Step S505, according to the destination address, the first identification of the outgoing interface for forwarding the message to be forwarded is obtained from the forwarding table entry.
Step S506, according to the target slice identifier and the first identifier, a second identifier of the sub-interface corresponding to the target slice identifier and the first identifier is obtained from the interface-slice identifier mapping table.
Step S507, the message to be forwarded is forwarded through the sub-interface indicated by the second identifier.
The steps S505 to S507 are the same as the steps S203 to S205.
In an optional embodiment, after the above-mentioned entry node encapsulates the above-mentioned target slice identifier to the source address of the IPv6 basic header included in the outer layer IPv6 header, in order to facilitate the later intermediate node to accurately identify that the received packet is a packet to be forwarded carrying the target slice identifier, the outer layer IPv6 header of the packet to be forwarded may carry preset identifier information, where the identifier information is used to indicate that the source address of the IPv6 basic header included in the outer layer IPv6 header is filled with the target slice identifier.
In an alternative embodiment, the ingress node may add the above identification information in a communication classification field of an IPv6 basic header included in an outer IPv6 header of the message to be forwarded.
For ease of understanding, the outer layer IPv6 header of FIG. 4-a above is still illustrated as an example.
An 8-bit (bit) storage space is included in the communication class field of the IPv6 basic header included in the outer layer IPv6 header shown in fig. 4-a. Differential service code points (Differentiated Services Codepoint, DSCP) for differential services are stored in bits 1-6 (i.e., bits 0-5) of a communication classification field, respectively, and display congestion control (Explicit Congestion Notification, ECN) for transmission control protocol (Transmission Control Protocol, TCP) congestion control is stored in bits 7-8 (i.e., bits 6-7) of a known two communication standards.
In the embodiment of the present application, the network nodes are mostly routers and other devices. In the router and other devices, the 7 th bit to 8 th bit of the above communication classification field is not used, i.e. the values of the 7 th bit to 8 th bit are null or there is no significant preset value. At this time, the ingress node may add the identification information to the 7 th bit and/or the 8 th bit of the communication classification field of the IPv6 basic header included in the outer layer IPv6 header after encapsulating the target slice identifier to the source address of the IPv6 basic header included in the outer layer IPv6 header. For example, the ingress node may include bit 7 and/or bit 8 of the communication classification field of the IPv6 base header included in the outer IPv6 header, and so on.
In another alternative embodiment, the ingress node may add the above identification information in the flow label field of the IPv6 base header included in the outer layer IPv6 header.
For ease of understanding, the outer layer IPv6 header shown in FIG. 4-a above is still illustrated as an example.
In the IPv6 basic header included in the outer layer IPv6 header shown in fig. 4-a, the flow label field may or may not have bits to which identification information may be added.
When the flow label field has a bit to which identification information can be added, the ingress node can perform addition of identification information in the flow label field by referring to the above manner of adding identification information in the communication classification field, which is not described in detail herein.
When the stream tag field does not have a bit capable of adding the identification information, the entry node may modify the value of some bits in the stream tag field that do not affect the transmission or processing of the later message to a value corresponding to the identification information.
In the embodiment of the present application, the location and the manner of adding the identification information in the outer layer IPv6 header are not particularly limited.
In an alternative embodiment, when the network node is an intermediate node, according to the method shown in fig. 2, the embodiment of the present application further provides a method for forwarding a message. Fig. 6 is a schematic diagram of a fourth flow chart of a message forwarding method according to an embodiment of the present application, as shown in fig. 6. The method comprises the following steps.
Step S601, receiving a second IPv6 message forwarded by the previous hop node.
Step S602, if the outer layer IPv6 header of the second IPv6 message carries the identification information, determining the second IPv6 message as a message to be forwarded; the identification information is used for indicating that a source address of an IPv6 basic header included in the outer layer IPv6 header is filled with a target slice identification.
In the embodiment of the present application, after receiving the second IPv6 packet, the intermediate node may determine whether the outer layer IPv6 header of the second IPv6 packet carries the preset identification information. When the outer layer IPv6 header of the second IPv6 message carries the identification information, the intermediate node can determine to forward the message to be forwarded through the network slice. At this time, the intermediate node may determine the second IPv6 packet as a packet to be forwarded.
The steps S601 to S602 are refinements to the step S201.
Step S603, according to the destination address, a first identifier of the outbound interface for forwarding the message to be forwarded is obtained from the forwarding table entry.
Step S604, according to the target slice identifier and the first identifier, a second identifier of the sub-interface corresponding to the target slice identifier and the first identifier is obtained from the interface-slice identifier mapping table.
Step S605, the message to be forwarded is forwarded through the sub-interface indicated by the second identifier.
The steps S603 to S605 are the same as the steps S203 to S205.
In an optional embodiment, after receiving the second IPv6 packet, the intermediate node may determine that the second IPv6 packet is not forwarded through a network slice if the header of the second IPv6 packet does not carry the identification information. At this time, the intermediate node may forward the second IPv6 packet according to the forwarding table.
In the embodiment of the application, after the intermediate node receives the second IPv6 message, whether the received second IPv6 message is a message to be forwarded by a network slice can be determined by judging whether the outer layer IPv6 header of the second IPv6 message carries identification information, so that the message to be forwarded is forwarded by the network slice, the transmission of service messages of different users in different network slices is ensured, and the safety and the transmission quality of the service messages of different users transmitted by different network slices are ensured.
In an alternative embodiment, according to the method shown in fig. 2, an embodiment of the present application further provides a method for forwarding a message. Fig. 7 is a schematic diagram of a sixth flow chart of a message forwarding method according to an embodiment of the present application, as shown in fig. 7. The method comprises the following steps.
Step S701, receiving a first instruction, where the first instruction is used to instruct to divide a target interface of a network node.
In this step, the control plane may send a first instruction to the network node, where the first instruction indicates dividing the target interface of the network node. At this point, the network node will receive the first instruction.
In step S702, the target interface is divided into a plurality of sub-interfaces based on the first instruction.
In step S703, a second instruction is received, where the second instruction includes a slice identifier allocated for each subinterface.
In this step, the control plane may send a second instruction to the network node, where the second instruction includes a slice identifier allocated for each subinterface divided by the target interface in the network node. At this point, the network node will receive the second instruction.
Step S704, based on the second instruction, constructing an interface identifier of the target interface, an interface identifier corresponding to each sub-interface, and a mapping table between the slice identifiers corresponding to each sub-interface, to obtain an interface-slice identifier mapping table.
In this step, the network node may construct, according to the slice identifier included in the received second instruction, an interface identifier of the target interface, an interface identifier corresponding to each sub-interface included in the target interface, and a mapping table between the slice identifiers corresponding to each sub-interface, to obtain an interface-slice identifier mapping table.
In the embodiment of the present application, after the network node constructs the interface-slice identifier mapping table, the network node may store the interface-slice identifier mapping table.
Through the steps S701-S704, the network node may divide the network SRv into a plurality of network slices according to the first instruction, and construct an interface-slice identifier mapping table according to the second instruction, so as to facilitate the forwarding of the forwarding message expected later.
Step S705, obtaining a message to be forwarded; the message to be forwarded comprises a destination address and a target slice identifier.
Step S706, according to the destination address, the first identification of the outgoing interface for forwarding the message to be forwarded is obtained from the forwarding table entry.
Step S707, according to the target slice identifier and the first identifier, a second identifier of the sub-interface corresponding to the target slice identifier and the first identifier is obtained from the interface-slice identifier mapping table.
Step S708, forwarding the message to be forwarded through the subinterface indicated by the second identifier.
Step S705 to step S708 and step S201 to step S204.
For ease of understanding, the foregoing message forwarding process is described below in conjunction with fig. 8 and 9. Fig. 8 is a signaling diagram of a message forwarding process according to an embodiment of the present application. Fig. 9 is a schematic diagram of a network slice according to an embodiment of the present application. In the network slice shown in fig. 8, there are three transmission channels between every two neighboring nodes as shown in fig. 1-b above.
In step S801, the ingress node receives a first IPv6 message.
10 nodes, node D0-node D9, are included in the network slice shown in fig. 9. Wherein, the entry node is D0, and the destination node is D9. In the message forwarding process, D0 receives a first IPv6 message.
Now assume that the SID is planned as: a is A, A is K, wherein the Common prefix (Common prefix) is: a is A, A is, K is the node number of the node. At this time, in the portal node shown in fig. 9, the SID configuration is shown in table 3.
TABLE 3 Table 3
In table 3, X represents a certain interface on node D0, where END represents the SID of a certain node and end.x represents the SID of a link between two nodes.
Step S802, the controller acquires the message information of the first IPv6 message received by the ingress node, and determines SRv Policy for the first IPv6 message.
In the controller, SRv Policy between the ingress node D0 and the destination node D9 is shown in table 4.
TABLE 4 Table 4
In Table 4, there are 3 corresponding SRv policies from node D0 to node D9, namely D0-D9-Slice1, D0-D9-Slice2 and D0-D9-Slice3 in Table 4. Wherein the SID list of D0-D9-Slice2 and D0-D9-Slice3 is not shown in detail. Each SRv Policy is stored in a corresponding Slice identifier, e.g., 1 for the Slice identifier corresponding to D0-D9-Slice1.
After the node D0 receives the first IPv6 packet, the controller may determine SRv Policy for the first IPv6 packet, as shown in D0-D9-Policy 1 in table 4.
In step S803, the controller issues SRv Policy carrying the target slice identifier of the network slice to the ingress node.
In fig. 9, the controller issues the above D0-D9-Slice1 to the node D0, where the Slice identifier 1 is carried in the D0-D9-Slice1.
In step S804, the ingress node receives SRv Policy for the first IPv6 message from the controller.
In step S805, when the ingress node uses the received SRv6Policy to drain the message, the ingress node encapsulates the target slice identifier carried in the SRv6Policy to the low 16 bits of the source address of the IPv6 basic header included in the outer layer IPv6 header of the first IPv6 message, so as to obtain the message to be forwarded.
In FIG. 9, node D0 adds the Slice identifier 1 carried in D0-D9-Slice1 to the lower 16 bits of the source address of the IPv6 base header included in the outer layer IPv6 header, namely the bits corresponding to End A: A:0: 9: 0-A: A:0: 9: FFFF shown in Table 3.
The entry node may add, while encapsulating the target slice identifier to the low 16 bits of the source address of the IPv6 basic header included in the outer layer IPv6 header of the first IPv6 packet, identification information indicating that the low 16 bits in the source address are the target slice identifier in the IPv6 basic header of the outer layer IPv6 header of the first IPv6 packet.
In step S806, the ingress node searches the forwarding table entry for the first identifier of the egress interface of the next hop according to the destination address in the message to be forwarded.
The next hop corresponding to the node D0 may be the node D1 or the node D5 according to the SID configured in the above table 3. Therefore, according to Table 3, when the destination address in the message to be forwarded is End.XAAAAA0:1, the next hop is node D1, and at this time, the first identifier of the outgoing interface is 0/1/0; when the destination address in the message to be forwarded is end.XAAAAAA0:2, the next hop is node D5, and the first identification of the outgoing interface is 0/1/1.
In step S807, the ingress node obtains the data in the low 16 bits of the source address of the IPv6 basic header included in the outer layer IPv6 header of the message to be forwarded, and obtains the target slice identifier.
According to the End A:A:0:9:0-A:A:0:0:9:9 FFFF medium and low 16 bits stored value 1, the node D0 can determine the target slice mark as 1.
In step S808, the entry node uses the second identifier of the sub-interface corresponding to the target slice identifier in the plurality of sub-interfaces corresponding to the first identifier of the outgoing interface according to the pre-stored interface-slice identifier mapping table.
The previously stored interface-slice identification mapping table is shown in table 5.
TABLE 5
According to the mapping table shown in table 5, when the first identifier of the outgoing interface is 0/1/0, the identifier of the sub-interface corresponding to the target slice identifier 1 is 0/1/0.1, among the sub-interfaces corresponding to 0/1/0.1, 0/1/0.2, and 0/1/0.3 shown in table 5. At this time, the node D0 determines the sub-interface identified as 0/1/0.1 as the target sub-interface for transmitting the message to be forwarded. I.e. 0/1/0.1 is the second designation.
According to the mapping table shown in table 5, when the first identifier of the outgoing interface is 0/1/1, the identifier of the sub-interface corresponding to the target slice identifier 1 is 0/1/1.1 because of the sub-interfaces corresponding to 0/1/1, i.e. the sub-interfaces corresponding to 0/1/1.1, 0/1/1.2 and 0/1/1.3 shown in table 5. At this time, the node D0 determines the sub-interface identified as 0/1/1.1 as the target sub-interface for transmitting the message to be forwarded. I.e. 0/1/1.1 is the second designation.
Step S809, the ingress node forwards the message to be forwarded through the subinterface indicated by the second identifier.
The intermediate node is any forwarding node between an entry node and a destination node in the network slice. Here, the intermediate node is merely taken as an example of a next-hop node after the entry node in the network slice, and is not used in any limiting way.
Step 810, the intermediate node receives the message to be forwarded.
In this step, the external layer IPv6 header of the message to be forwarded, which is received by the intermediate node, carries the identification information.
Step S811, the intermediate node searches the third identification of the next hop outlet interface in the forwarding table item according to the destination address in the message to be forwarded.
Step S812, the intermediate node obtains the data in the low 16 bits of the source address of the IPv6 basic header included in the IPv6 header of the outer layer of the message to be forwarded, and obtains the target slice identifier.
In step S813, the intermediate node obtains the fourth identifier of the sub-interface corresponding to the target slice identifier and the third identifier from the interface-slice identifier mapping table.
In step S814, the intermediate node forwards the message to be forwarded through the subinterface indicated by the fourth identifier.
In this step, the next-hop node is the next-hop node after the intermediate node in the network slice. The next-hop node may be an intermediate node or a destination node. Here, the next-hop node is not particularly limited.
In the embodiment shown in fig. 8, only the entry node in the network slice and the next network node corresponding to the entry node (i.e., the above intermediate node) will be described as an example. When the network slice further includes other network nodes, the forwarding process of the message to be forwarded may be performed with reference to the network node shown in fig. 8, where the forwarding process of the message to be forwarded by other network nodes in the network slice is not specifically described.
Based on the same inventive concept, the embodiment of the application also provides a message forwarding device according to the message forwarding method provided by the embodiment of the application. Fig. 10 is a schematic structural diagram of a packet forwarding device according to an embodiment of the present application, as shown in fig. 10. The device is applied to the network node and specifically comprises the following modules.
A first obtaining module 1001, configured to obtain a message to be forwarded; the message to be forwarded comprises a destination address and a target slice identifier;
a second obtaining module 1002, configured to obtain, from the forwarding table entry, a first identifier of an egress interface for forwarding a message to be forwarded according to the destination address;
a third obtaining module 1003, configured to obtain, from the interface-slice identifier mapping table, a second identifier of the sub-interface corresponding to the target slice identifier and the first identifier according to the target slice identifier and the first identifier;
And the forwarding module 1004 is configured to forward the message to be forwarded through the subinterface indicated by the second identifier.
Optionally, the foregoing message forwarding apparatus may further include:
the first receiving module is used for receiving a first IPv6 message before acquiring the message to be forwarded if the network node is an entry node;
the sending module is used for sending the message information of the first IPv6 message to the controller;
the second receiving module is used for receiving the target slice identifier issued by the controller according to the message information;
the first obtaining module 1001 may be specifically configured to encapsulate an outer layer IPv6 header in an outer layer of the first IPv6 packet to obtain a packet to be forwarded, where the outer layer IPv6 header includes an IPv6 basic header, and a source address of the IPv6 basic header is filled with a target slice identifier.
Optionally, the foregoing message forwarding apparatus may further include:
the third receiving module is used for receiving SRv Policy issued by the controller before acquiring the message to be forwarded if the network node is an entry node; SRv6 slice identifiers are carried in the SID list of the Policy;
a fourth receiving module, configured to receive a first IPv6 packet;
the first obtaining module 1001 may be specifically configured to determine, according to the message information of the first IPv6 message, a target SRv Policy of the first IPv6 message; and encapsulating an outer layer IPv6 header in the outer layer of the first IPv6 message to obtain the message to be forwarded, wherein the outer layer IPv6 header comprises an IPv6 basic header and an SRH, a source address of the IPv6 basic header is filled with a target slice identifier in a target SRv6Policy, and the SRH is filled with a SID list in the target SRv6 Policy.
Optionally, the outer layer IPv6 header of the message to be processed includes an IPv6 basic header, where a communication classification field or a flow label field of the IPv6 basic header carries identification information;
if the network node is an intermediate node, the first obtaining module 1001 may be specifically configured to receive a second IPv6 packet forwarded by the previous hop node; if the outer layer IPv6 header of the second IPv6 message carries the identification information, determining the second IPv6 message as a message to be forwarded; the identification information is used for indicating that a source address of an IPv6 basic header included in the outer layer IPv6 header is filled with a target slice identification.
Optionally, the foregoing message forwarding apparatus may further include:
the fifth receiving module is used for receiving a first instruction before acquiring the message to be forwarded, wherein the first instruction is used for indicating to divide and process a target interface of the network node;
the dividing module is used for dividing the target interface into a plurality of sub-interfaces based on the first instruction;
the sixth receiving module is used for receiving a second instruction, and the second instruction comprises a slice identifier allocated to each sub-interface;
the construction module is used for constructing the interface identifier of the target interface, the interface identifier corresponding to each sub-interface and the mapping table among the slice identifiers corresponding to each sub-interface based on the second instruction to obtain an interface-slice identifier mapping table.
According to the device provided by the embodiment of the application, after the network node acquires the message to be forwarded, which comprises the destination address and the target slice identifier, the network node acquires the first identifier of the outgoing interface for forwarding the message to be forwarded according to the destination address, so that the second identifier of the sub-interface corresponding to the target slice identifier and the first identifier is acquired from the interface-slice identifier mapping table according to the first identifier and the target slice identifier, and the message to be forwarded is forwarded through the sub-interface indicated by the second identifier.
Compared with the prior art, in the technical scheme provided by the embodiment of the application, after determining the output interface of the message to be forwarded, the network node directly determines the sub-interface corresponding to the message to be forwarded according to the pre-stored interface-slice identification mapping table, and the forwarding channel included by the forwarding table item is not needed to be relied on, namely, the control plane does not need to carry out information distribution and route calculation aiming at the corresponding relation between the output interface and a plurality of sub-interfaces corresponding to the output interface in the information distribution and route calculation process, so that the cost required by the control plane for carrying out information distribution and route calculation is effectively reduced.
Based on the same inventive concept, according to the message forwarding method provided by the above embodiment of the present application, the embodiment of the present application further provides a network node, as shown in fig. 11, including a processor 1101 and a machine-readable storage medium 1102, where the machine-readable storage medium 1102 stores machine executable instructions capable of being executed by the processor 1101. The processor 1101 is caused by machine executable instructions to implement any of the steps shown in fig. 2-3 and 5-8 described above.
In an alternative embodiment, as shown in fig. 11, the network node may further include: a communication interface 1103 and a communication bus 1104; the processor 1101, the machine-readable storage medium 1102, and the communication interface 1103 perform communication with each other through a communication bus 1104, where the communication interface 1103 is used for communication between the network node and other devices.
Based on the same inventive concept, according to the message forwarding method provided by the embodiment of the application, the embodiment of the application also provides a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions capable of being executed by a processor. The processor is caused by the machine-executable instructions to perform any of the steps shown in figures 2-3 and 5-8 described above.
Based on the same inventive concept, according to the message forwarding method provided by the above embodiment of the present application, the embodiment of the present application further provides a computer program product, when the computer program product runs on a computer, to make the computer execute any of the steps shown in fig. 2-3 and fig. 5-8.
The communication bus may be a PCI (Peripheral Component Interconnect, peripheral component interconnect standard) bus, or an EISA (Extended Industry Standard Architecture ) bus, or the like. The communication bus may be classified as an address bus, a data bus, a control bus, or the like.
The machine-readable storage medium may include RAM (Random Access Memory ) or NVM (Non-Volatile Memory), such as at least one magnetic disk Memory. Additionally, the machine-readable storage medium may be at least one storage device located remotely from the processor.
The processor may be a general-purpose processor, including a CPU (Central Processing Unit ), NP (Network Processor, network processor), etc.; but also DSP (Digital Signal Processing, digital signal processor), ASIC (Application Specific Integrated Circuit ), FPGA (Field-Programmable Gate Array, field programmable gate array) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components.
It is noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In this specification, each embodiment is described in a related manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for embodiments of the message forwarding apparatus, the network node, the machine-readable storage medium, and the computer program product, the description is relatively simple due to the message forwarding method embodiments thereof, and the relevant points are referred to in the description of the message forwarding method embodiments.
The foregoing description is only of the preferred embodiments of the present application and is not intended to limit the scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application are included in the protection scope of the present application.

Claims (10)

1. A method for forwarding a message, the method being applied to a network node, the method comprising:
obtaining a message to be forwarded; the message to be forwarded comprises a destination address and a target slice identifier;
according to the destination address, a first identification of an output interface for forwarding the message to be forwarded is obtained from a forwarding table item;
acquiring a second identifier of a sub-interface corresponding to the target slice identifier and the first identifier from an interface-slice identifier mapping table according to the target slice identifier and the first identifier;
forwarding the message to be forwarded through the sub-interface indicated by the second identifier;
the message to be forwarded comprises an outer layer IPv6 header, the outer layer IPv6 header comprises an IPv6 basic header, and a source address of the IPv6 basic header is filled with the target slice identifier.
2. The method according to claim 1, wherein if the network node is an ingress node, before obtaining the message to be forwarded, the method further comprises:
Receiving a first internet protocol version 6 IPv6 message;
message information of the first IPv6 message is sent to a controller;
receiving a target slice identifier issued by the controller according to the message information;
the step of obtaining the message to be forwarded comprises the following steps:
and encapsulating an outer layer IPv6 header on the outer layer of the first IPv6 message to obtain the message to be forwarded, wherein the outer layer IPv6 header comprises an IPv6 basic header, and the source address of the IPv6 basic header is filled with the target slice identifier.
3. The method according to claim 1, wherein if the network node is an ingress node, before obtaining the message to be forwarded, the method further comprises:
receiving an Internet protocol 6 th edition section routing strategy SRv Policy issued by the controller; the segment route identification SID list of SRv Policy carries slice identification;
receiving a first internet protocol version 6 IPv6 message;
the step of obtaining the message to be forwarded comprises the following steps:
determining a target SRv Policy of the first IPv6 message according to the message information of the first IPv6 message;
and encapsulating an outer layer IPv6 header on the outer layer of the first IPv6 message to obtain a message to be forwarded, wherein the outer layer IPv6 header comprises an IPv6 basic header and a segmented routing header SRH, a source address of the IPv6 basic header is filled with a target slice identifier in the target SRv6Policy, and the SRH is filled with a SID list in the target SRv6 Policy.
4. A method according to any one of claims 1-3, wherein the outer IPv6 header of the message to be forwarded includes an IPv6 basic header, and a communication classification field or a flow label field of the IPv6 basic header carries identification information;
if the network node is an intermediate node, the step of obtaining the message to be forwarded includes:
receiving a second IPv6 message forwarded by a previous hop node;
if the outer layer IPv6 header of the second IPv6 message carries the identification information, determining the second IPv6 message as a message to be forwarded; the identification information is used for indicating that the source address of the IPv6 basic header included in the outer layer IPv6 header is filled with the target slice identification.
5. The method of claim 1, wherein prior to obtaining the message to be forwarded, the method further comprises:
receiving a first instruction, wherein the first instruction is used for indicating to divide a target interface of the network node;
dividing the target interface into a plurality of sub-interfaces based on the first instruction;
receiving a second instruction, wherein the second instruction comprises a slice identifier distributed to each sub-interface;
and constructing a mapping table among the interface identifier of the target interface, the interface identifier corresponding to each sub-interface and the slice identifier corresponding to each sub-interface based on the second instruction to obtain an interface-slice identifier mapping table.
6. A message forwarding apparatus, for use in a network node, the apparatus comprising:
the first acquisition module is used for acquiring a message to be forwarded; the message to be forwarded comprises a destination address and a target slice identifier;
the second acquisition module is used for acquiring a first identifier of an output interface for forwarding the message to be forwarded from the forwarding table item according to the destination address;
the third acquisition module is used for acquiring a second identifier of the sub-interface corresponding to the target slice identifier and the first identifier from an interface-slice identifier mapping table according to the target slice identifier and the first identifier;
the forwarding module is used for forwarding the message to be forwarded through the sub-interface indicated by the second identifier;
the message to be forwarded comprises an outer layer IPv6 header, the outer layer IPv6 header comprises an IPv6 basic header, and a source address of the IPv6 basic header is filled with the target slice identifier.
7. The apparatus of claim 6, wherein the apparatus further comprises:
the first receiving module is used for receiving a first internet protocol version 6 IPv6 message before acquiring the message to be forwarded if the network node is an entry node;
The sending module is used for sending the message information of the first IPv6 message to the controller;
the second receiving module is used for receiving the target slice identifier issued by the controller according to the message information;
the first obtaining module is specifically configured to encapsulate an outer layer IPv6 header in an outer layer of the first IPv6 packet, to obtain a packet to be forwarded, where the outer layer IPv6 header includes an IPv6 basic header, and a source address of the IPv6 basic header is filled with the target slice identifier.
8. The apparatus of claim 6, wherein the apparatus further comprises:
the third receiving module is used for receiving the internet protocol 6 th edition section routing strategy SRv Policy issued by the controller before acquiring the message to be forwarded if the network node is an entry node; the segment route identification SID list of SRv Policy carries slice identification;
the fourth receiving module is used for receiving the IPv6 message of the 6 th edition of the first Internet protocol;
the first obtaining module is specifically configured to determine, according to the message information of the first IPv6 message, a target SRv Policy of the first IPv6 message; and encapsulating an outer layer IPv6 header on the outer layer of the first IPv6 message to obtain a message to be forwarded, wherein the outer layer IPv6 header comprises an IPv6 basic header and a segmented routing header SRH, a source address of the IPv6 basic header is filled with a target slice identifier in the target SRv6Policy, and the SRH is filled with a SID list in the target SRv6 Policy.
9. The apparatus according to any one of claims 6-8, wherein the outer layer IPv6 header of the message to be forwarded includes an IPv6 basic header, and a communication classification field or a flow label field of the IPv6 basic header carries identification information;
if the network node is an intermediate node, the first obtaining module is specifically configured to receive a second IPv6 message forwarded by a previous hop node; if the outer layer IPv6 header of the second IPv6 message carries the identification information, determining the second IPv6 message as a message to be forwarded; the identification information is used for indicating that the source address of the IPv6 basic header included in the outer layer IPv6 header is filled with the target slice identification.
10. The apparatus of claim 6, wherein the apparatus further comprises:
a fifth receiving module, configured to receive a first instruction, where the first instruction is used to instruct dividing a target interface of the network node before obtaining a packet to be forwarded;
the dividing module is used for dividing the target interface into a plurality of sub-interfaces based on the first instruction;
a sixth receiving module, configured to receive a second instruction, where the second instruction includes a slice identifier allocated to each subinterface;
The construction module is used for constructing the interface identifier of the target interface, the interface identifier corresponding to each sub-interface and the mapping table among the slice identifiers corresponding to each sub-interface based on the second instruction to obtain an interface-slice identifier mapping table.
CN202111170596.6A 2021-10-08 2021-10-08 Message forwarding method and device Active CN113923161B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111170596.6A CN113923161B (en) 2021-10-08 2021-10-08 Message forwarding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111170596.6A CN113923161B (en) 2021-10-08 2021-10-08 Message forwarding method and device

Publications (2)

Publication Number Publication Date
CN113923161A CN113923161A (en) 2022-01-11
CN113923161B true CN113923161B (en) 2023-08-22

Family

ID=79238370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111170596.6A Active CN113923161B (en) 2021-10-08 2021-10-08 Message forwarding method and device

Country Status (1)

Country Link
CN (1) CN113923161B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117424940A (en) * 2022-07-11 2024-01-19 ***通信有限公司研究院 Message processing method, device, network node and storage medium
CN117714288A (en) * 2022-09-14 2024-03-15 华为技术有限公司 Message processing method and device
CN117997821A (en) * 2022-11-04 2024-05-07 华为技术有限公司 Method and device for processing slice configuration information
CN118158169A (en) * 2022-12-07 2024-06-07 中兴通讯股份有限公司 Data acquisition method, network device, server, electronic device and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835637A (en) * 2019-04-15 2020-10-27 华为技术有限公司 Data processing method based on SRv6 and related network equipment
CN112491713A (en) * 2019-09-11 2021-03-12 华为技术有限公司 Data transmission control method and device
CN113055202A (en) * 2019-12-26 2021-06-29 华为技术有限公司 Method, device and system for transmitting data message
CN113411258A (en) * 2021-06-07 2021-09-17 新华三技术有限公司 Message processing method and device
CN113411834A (en) * 2020-03-17 2021-09-17 华为技术有限公司 Message processing method, device, equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535766B (en) * 2018-05-25 2021-10-22 华为技术有限公司 Method and equipment for generating route

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835637A (en) * 2019-04-15 2020-10-27 华为技术有限公司 Data processing method based on SRv6 and related network equipment
CN112491713A (en) * 2019-09-11 2021-03-12 华为技术有限公司 Data transmission control method and device
CN113055202A (en) * 2019-12-26 2021-06-29 华为技术有限公司 Method, device and system for transmitting data message
CN113411834A (en) * 2020-03-17 2021-09-17 华为技术有限公司 Message processing method, device, equipment and storage medium
CN113411258A (en) * 2021-06-07 2021-09-17 新华三技术有限公司 Message processing method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于SRv6的网络切片技术研究;石鸿伟;黄凤芝;;电子技术与软件工程(16);第27-30页 *

Also Published As

Publication number Publication date
CN113923161A (en) 2022-01-11

Similar Documents

Publication Publication Date Title
CN113923161B (en) Message forwarding method and device
CN109831382B (en) Path calculation method, device and equipment
US11374848B2 (en) Explicit routing with network function encoding
US10158568B2 (en) Method and apparatus for service function forwarding in a service domain
US11824771B2 (en) Packet processing method, related device, and computer storage medium
KR101445470B1 (en) Communication available transport network bandwidth to l2 ethernet nodes
US11902153B1 (en) Compressed routing header
CN106059924B (en) Method, device and system for managing information
EP2708001B1 (en) Label switched routing to connect low power network domains
CN107770073B (en) Method, device and system for information synchronization
CN111669330A (en) BIER message sending method and device
CN107786437B (en) Message forwarding method and device
CN113411258B (en) Message processing method and device
CN102957589A (en) Method, network node and system for service data transmission
CN100450037C (en) Method and device for implementing sharing IP message load
CN107342939A (en) The method and apparatus for transmitting data
CN101272380A (en) Method, system and device for network action management
US8929366B2 (en) Method and apparatus for transporting packets with specific traffic flows having strict packet ordering requirements over a network using multipath techniques
CN113726653B (en) Message processing method and device
CN106230730B (en) Multicast transmission method and device
WO2022228090A1 (en) Path learning method and device, service node, and storage medium
WO2015039616A1 (en) Method and device for packet processing
CN108199960B (en) Multicast data message forwarding method, entrance routing bridge, exit routing bridge and system
CN112929193A (en) Method and apparatus for configuring aging time of medium access control address
CN101753419A (en) Send method, equipment and the multi-address space mobile network of data, forwarding data

Legal Events

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