CN117176632A - Message receiving method, message sending method, message forwarding device and message forwarding system - Google Patents

Message receiving method, message sending method, message forwarding device and message forwarding system Download PDF

Info

Publication number
CN117176632A
CN117176632A CN202210843988.2A CN202210843988A CN117176632A CN 117176632 A CN117176632 A CN 117176632A CN 202210843988 A CN202210843988 A CN 202210843988A CN 117176632 A CN117176632 A CN 117176632A
Authority
CN
China
Prior art keywords
parameter field
node
message
field
behavior
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
CN202210843988.2A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/CN2023/073744 priority Critical patent/WO2023231431A1/en
Publication of CN117176632A publication Critical patent/CN117176632A/en
Pending legal-status Critical Current

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
    • 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

Abstract

The application provides a message receiving method, a message sending method, a message forwarding device and a message forwarding system, and belongs to the technical field of communication. In the scheme provided by the application, the destination address field of the message received by the first node comprises the segment identifier, and the first node can determine the parameter field corresponding to the segment identifier from the destination address field and can execute the processing behavior indicated by the parameter field. Because the scheme provided by the application can indicate the processing behavior through the parameter field in the destination address field, compared with the method of indicating the processing behavior through additionally inserting the IPv6 extension head or the extension TLV, the length of the message head can be effectively reduced, and the data transmission efficiency is improved. And because the first parameter field is a structured parameter field capable of indicating one or more processing actions, the first node can be guided to execute richer processing actions.

Description

Message receiving method, message sending method, message forwarding device and message forwarding system
The present application claims priority from chinese patent application No. 202210595079.1 entitled "a method of implementing a structure SRv SID arrangement" filed 28 at 5/2022, the entire contents of which are incorporated herein by reference.
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method for receiving a message, a method for sending the message, a forwarding method, a device and a system.
Background
In internet protocol version 6 (Internet protocol version, IPv 6) systems, various IPv6 extension headers, such as hop-by-hop header (HBH) or destination header (destination options header, DOH), may be inserted into an IPv6 packet. Alternatively, in an internet protocol version 6 based segment routing (segment routing based on Internet protocol version, srv 6) system, an extension TLV may be inserted in the type-length-value (TLV) field of the SRH of the SRv message.
In order to instruct the nodes in the message forwarding path to perform richer message processing actions, instruction information indicating the message processing actions may be carried in the TLV field of the IPv6 extension header or SRH. For example, an option (option) indicating network slice information may be inserted in the HBH or DOH to cause nodes in the forwarding path to forward messages based on the specified network slice. Alternatively, an in-band flow information measurement (in-situ flow information telemetry, IFIT) TLV may be inserted in the TLV field of the SRH to enable the nodes in the forwarding path to perform flow-along detection of traffic.
However, the above manner of inserting the IPv6 extension header or extending the TLV increases the length of the header, and reduces the data transmission efficiency.
Disclosure of Invention
The application provides a message receiving method, a message sending method, a message forwarding device and a message forwarding system, which can solve the technical problem of high message forwarding complexity caused by respectively defining SIDs for each node.
In a first aspect, a method for receiving a message is provided, which is applied to a first node in a message forwarding system; the method comprises the following steps: receiving a first message, wherein a first destination address field of the first message comprises a first section identifier; a first parameter field corresponding to the first segment identification is determined from the first destination address field and at least one first processing action indicated by the first parameter field is performed.
The proposal provided by the application can indicate the processing behavior through the parameter field in the destination address field, so compared with the case that the processing behavior is indicated by additionally inserting the IPv6 extension header or the extension TLV, the application can effectively reduce the length of the message header, namely reduce the overhead of the message header, and further improve the data transmission efficiency. And because the first parameter field is a structured parameter field capable of indicating one or more processing actions, the first node can be guided to execute richer processing actions.
It will be appreciated that the first node need not cooperate with the function field in the first segment identity in determining the at least one first processing behaviour indicated by the first parameter field. That is, the first parameter field may indicate at least one first processing behavior without cooperating with the function field.
Optionally, the process of the first node performing the at least one first processing action indicated by the first parameter field may include: at least one behavior instruction carried in the first parameter field is identified, and the at least one first processing behavior indicated by the at least one behavior instruction is executed.
Wherein each behavior instruction may indicate a processing behavior. Because the first parameter field can carry one or more behavior instructions, and each behavior instruction can indicate a first processing behavior, the flexibility of the first parameter field when carrying the behavior instruction is effectively improved, and the flexibility of the node when executing the processing behavior is further improved.
Optionally, the process of identifying at least one behavior instruction carried in the first parameter field may include: and identifying the at least one behavior instruction carried in the first parameter field according to the parameter field template. Wherein the parameter field template may be used to define a type, a location and/or a length of at least one behavior instruction carried by the first parameter field.
Based on the parameter field template, the first node can be ensured to accurately and rapidly identify at least one behavior instruction carried in the first parameter field.
Optionally, the first parameter field may further include a template identifier; the method may further comprise: and determining the parameter field template according to the corresponding relation between the template identifier and the parameter field template.
By carrying different template identifications in the first parameter field, the first node can analyze the first parameter field according to different parameter field templates indicated by the different template identifications. Based on the method, different parameter field templates can be flexibly adopted to encode the first parameter field, so that the flexibility of carrying the behavior instruction by the first parameter field is effectively improved.
Optionally, the method may further include: and determining the parameter field template according to the corresponding relation between the behavior or behavior characteristic indicated by the first segment identification and the parameter field template.
Wherein the behavior (behavior) or behavior feature (flag) indicated by the segment identification may refer to the behavior or behavior feature indicated by the function field in the segment identification. In the scheme provided by the application, the parameter field template can be also associated with the behavior or behavior characteristics indicated by the function field. For example, the behavior or behavior feature of the feature is associated with a specific parameter field template, when the specific behavior or behavior feature is identified, a corresponding parameter field template can be determined, and then the parameter field template is used for identifying the first parameter field, and at least one behavior instruction carried in the first parameter field is read. Therefore, the first node can directly determine the corresponding parameter field template according to the first segment identification. Since the template ID need not be carried in the first parameter field in this implementation, more bits may be reserved for the first behavior instruction.
Optionally, the process of identifying at least one behavior instruction carried in the first parameter field may include: and identifying at least one flag bit carried in the first parameter field, and identifying at least one behavior instruction carried in the first parameter field according to the at least one flag bit. Wherein each flag bit corresponds to a behavior instruction.
Optionally, each flag bit may be used to indicate whether the first parameter field carries a corresponding one of the behavior instructions, or whether the corresponding one of the behavior instructions in the first parameter field can be identified. And if the certain flag bit indicates that the corresponding behavior instruction can not be identified, the behavior instruction is invalid.
Because the flag bit in the first parameter field can indicate whether the first parameter field carries a corresponding behavior instruction or whether the corresponding behavior instruction can be identified, the number of the behavior instructions which can be identified by the first node can be flexibly selected according to the requirements of application scenes. And when a certain behavior instruction is not carried in the first parameter field, the bit occupied by the behavior instruction can also be used for carrying other behavior instructions, so that flexible adjustment of the length of the behavior instruction can also be realized.
Optionally, the process of the first node performing the at least one first processing action indicated by the first parameter field may include: executing at least one first processing action indicated by the first parameter field based on the structured parameter function of the first node being in an enabled state; or determining the first parameter field as a structured parameter field according to the behavior or behavior characteristic indicated by the function field in the first segment identifier, and executing at least one first processing behavior indicated by the first parameter field.
In the scheme provided by the application, the first node can execute at least one first processing action indicated by the first parameter field after the structured parameter function is started or the first parameter field is determined to be the structured parameter field. Accordingly, if the first node does not enable the structured parameter function, or recognizes that the first parameter field is not a structured parameter field, the first parameter field may not need to be parsed in a structured manner, and thus the at least one first processing behavior may not be executed.
Alternatively, the first segment identification may be a compressed segment identification, the compressed segment identification having a length of less than 128 bits. The compressed segment identifier may be a Compressed SID (CSID), a micro SID (ussd), or a generic SID (G-SID).
Alternatively, the first segment identification may be 128 bits in length, i.e., the first segment identification may be a generic SRv6 SID.
Optionally, the first parameter field may be included in the first segment identifier, or the first parameter field may be located after the first segment identifier. For example, if the first segment identification is a normal SRv SID, the first segment identification may include a first parameter field. If the first segment identification is a compressed segment identification, the first parameter field may be located after the first segment identification.
Optionally, the first packet belongs to a target service flow, and the method may further include: receiving a second message of the target service flow, wherein a second destination address field of the second message comprises a second section identifier; a second parameter field corresponding to the second segment identification is determined from the second destination address field and at least one second processing action indicated by the second parameter field is performed. Wherein the at least one second processing behavior is different from the at least one first processing behavior.
In the scheme provided by the application, different processing behaviors can be indicated through different parameter fields, so that the first node can execute different processing behaviors according to the different parameter fields. For example, different processing actions are performed on different messages of the target traffic flow. Thus, the first node may be enabled to perform a larger number of processing actions without increasing the length of the parameter field.
Optionally, the first segment identifier may further include a function field, where the function field is used to indicate a third processing behavior. The method may further comprise: and processing the first message according to the third processing behavior.
Wherein the third processing behavior is different from the at least one first processing behavior. That is, the first parameter field may independently indicate at least one first processing behavior without cooperating with the function field.
Optionally, the first parameter field may also be used to carry parameters of the third processing behavior. That is, the first parameter field may also retain the function of the original parameter field so as to be compatible with the original function.
Wherein the parameters of the third processing behavior may include: parameters of behavior of endpoints (Endpoint with decapsulation and L table flooding, end.d2m) with decapsulation and two-layer table flooding, and/or indices of compressed segment identifiers.
Optionally, the process of the first node performing the at least one first processing action indicated by the first parameter field may include: and processing the first message according to at least one first processing behavior indicated by the first parameter field.
Optionally, the at least one first processing action includes at least one of: forwarding a message based on slice resources of the network slice; forwarding a message based on the network service indicated by the application awareness information; detecting along with the flow; forwarding a message based on the allocated network resources; encrypting and forwarding a message; and (5) safety verification.
Since the first parameter field can indicate the one or more first processing actions, the first node can be caused to perform rich processing actions.
Optionally, the first parameter field may include at least one of a first subfield, a second subfield, a third subfield, a fourth subfield, a fifth subfield, and a sixth subfield. The first subfield is used for carrying slice information of the network slice; the second sub-field is used for carrying application perception information; the third sub-field is used for carrying information detected along with the flow; a fourth subfield for carrying information of the allocated network resources; the fifth sub-field is used for carrying the encryption mode of the encryption forwarding; the sixth subfield is used to carry a message authentication code for performing the security verification.
Optionally, the first parameter field may further include a seventh subfield; the seventh subfield is used to carry parameters of the third processing behaviour indicated by the function field in the first segment identification.
Optionally, the at least one first processing action may include at least one of the following actions: adjusting the running state of the first node; a flow table, forwarding table and/or state table is established for the traffic locally at the first node.
The traffic may refer to a traffic flow to which the first packet belongs. Based on the above example of the first processing behavior, the at least one first processing behavior may further include processing behavior that is executed locally by the first node and is unrelated to the first message. That is, the first node performs the first processing action without modifying the content of the first message or affecting the forwarding flow of the first message.
Optionally, the determining the first parameter field from the first destination address field may include: a first parameter field is determined from the first destination address field based on determining that the first segment is identified as the local SID of the first node. It will be appreciated that if the first segment identification is not the local SID of the first node, the first node need not determine and process the first parameter field.
Optionally, the first node does not support SRv based forwarding techniques. Accordingly, the determining the first parameter field from the first destination address field may include: a first parameter field is determined from the first destination address field based on local configuration information of the first node.
Wherein the local configuration information can indicate a location of the first parameter field in the first destination address field. And, the local configuration information may be configured by an operation and maintenance person, or may be issued by the controller.
Optionally, the first parameter field may further comprise at least one compressed segment identification, e.g. may comprise at least one uSID. And, the at least one first behavior instruction may be located after the at least one uSID. The at least one uSID may be shifted during the message forwarding process.
In a second aspect, a method for sending a message is provided, where the method may be applied to a head node of a message forwarding system. The method comprises the following steps: and encapsulating the first section identifier in a first message and sending the first message. The first message is used for determining a first parameter field from a first destination address field of the first message by a node receiving the first message, and executing at least one first processing action indicated by the first parameter field. Wherein the first parameter field corresponds to the first segment identification.
Optionally, the process of encapsulating the first segment identifier in the first message may include: encapsulating the first segment identification in a first destination address field; or encapsulating the SRH in the first message, wherein the SRH comprises the first section identifier. If the first segment is identified as a uSID and each node in the forwarding path of the first packet can be encoded in one uSID bearer, the uSID bearer may be directly carried by the first destination address field, that is, the first packet does not need to carry SRH.
Optionally, the first packet belongs to a target service flow, and the method may further include: and encapsulating a second section identifier in a second message of the target service flow, and sending the second message. The second message is used for determining a second parameter field from a second destination address field of the second message by a node receiving the second message, and executing at least one second processing action indicated by the second parameter field. Wherein the second parameter field corresponds to the second segment identification, the at least one second processing behavior being different from the at least one first processing behavior.
Optionally, the node indicated by the first segment identification is the same as the node indicated by the second segment identification.
Optionally, the first segment identifier is a compressed segment identifier, and the length of the compressed segment identifier is less than 128 bits; alternatively, the first segment identification is 128 bits in length.
Optionally, the first parameter field is included in the first segment identifier, or the first parameter field is located after the first segment identifier.
In a third aspect, a method for forwarding a message is provided, where the method is applied to a message forwarding system, and the message forwarding system includes a first node and a second node. The method comprises the following steps: the method comprises the steps that a first node receives a first message, and a first destination address field of the first message comprises a first section identifier; the first node determines a first parameter field from a first destination address field, wherein the first parameter field corresponds to a first segment identifier; the first node performs at least one first processing action indicated by the first parameter field. The second node receives a second message sent by the first node, the second message is obtained based on the first message, and a second destination address field of the second message comprises a second section identifier; the second node determines a second parameter field from the second destination address field, wherein the second parameter field corresponds to the second segment identifier; the second node performs at least one second processing action indicated by the second parameter field.
Alternatively, the first parameter field and the second parameter field may be the same field. That is, the first node may update the segment identifier in the first destination address field during processing of the first message without updating the first parameter field.
Alternatively, the at least one first processing behavior and the at least one second processing behavior may be the same.
Optionally, the first section identifier and the second section identifier may be compressed section identifiers, where the length of the compressed section identifier is less than 128 bits; alternatively, the first segment identification and the second segment identification may each be 128 bits in length.
Optionally, the first parameter field may be included in a first segment identification and the second parameter field may be included in a second segment identification. Alternatively, the first parameter field may be located after the first segment identification and the second parameter field may be located after the second segment identification.
In a fourth aspect, a network device is provided, which may be a first node or a third node (i.e. a head node) in a packet forwarding system. The network device comprises at least one module that may be used to implement the method provided in any of the above aspects.
In a fifth aspect, a network device is provided, which may be a first node or a head node in a packet forwarding system. The network device includes: a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the method as provided in any one of the above aspects when the computer program is executed.
In a sixth aspect, a network device is provided, which may be a first node or a head node in a packet forwarding system. The network device may include: a main control board and an interface board, which can be used to implement the method provided in any of the above aspects.
In a seventh aspect, there is provided a computer readable storage medium having instructions stored therein, the instructions being executable by a processor to implement the method provided in any of the above aspects.
In an eighth aspect, there is provided a computer program product comprising instructions which, when run on a processor, cause the processor to perform the method as provided in any of the above aspects.
In a ninth aspect, a packet forwarding system is provided, where the packet forwarding system includes: a plurality of nodes; wherein at least one node of the plurality of nodes is capable of implementing the method for receiving a message provided in the first aspect. For example, a first node of the plurality of nodes may implement the method for receiving a message provided in the first aspect. The first node and the second node may further implement the method for forwarding a message provided in the third aspect.
Optionally, at least one node (e.g., a third node) of the plurality of nodes may be further configured to implement the method for sending a message provided in the second aspect.
In a tenth aspect, there is provided a chip that can be used to implement the method provided in any of the above aspects.
In summary, the present application provides a method for receiving a message, a method for sending a message, a method for forwarding a message, a device and a system. In the scheme provided by the application, the destination address field of the message received by the first node comprises the segment identifier, and the first node can determine the parameter field corresponding to the segment identifier from the destination address field and can execute the processing behavior indicated by the parameter field. Because the scheme provided by the application can indicate the processing behavior through the parameter field in the destination address field, compared with the method of indicating the processing behavior through additionally inserting the IPv6 extension head or the extension TLV, the length of the message head can be effectively reduced, and the data transmission efficiency is improved. And because the first parameter field is a structured parameter field capable of indicating one or more processing actions, the first node can be guided to execute richer processing actions.
Drawings
Fig. 1 is a schematic structural diagram of a packet forwarding system according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of a SRv message according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a SID structure according to an embodiment of the present application;
FIG. 4 is a schematic diagram of a compressed segment identifier according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of a ussd carrier according to an embodiment of the present application;
FIG. 6 is a schematic diagram of the structure of HOH and DOH according to an embodiment of the application;
FIG. 7 is a schematic diagram of an option field according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of an SRH according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of an HMAC TLV according to an embodiment of the present application;
fig. 10 is a flowchart of a message receiving method according to an embodiment of the present application;
fig. 11 is a flowchart of a message forwarding method provided in an embodiment of the present application;
fig. 12 is a schematic structural diagram of a first destination address field according to an embodiment of the present application;
FIG. 13 is a schematic diagram of another first destination address field according to an embodiment of the present application;
FIG. 14 is a schematic diagram of a G-SID carrier according to an embodiment of the present application;
Fig. 15 is a schematic structural diagram of a first parameter field according to an embodiment of the present application;
FIG. 16 is a schematic diagram of a first parameter field template provided by an embodiment of the present application;
fig. 17 is a schematic diagram of an arrangement position of each flag bit in a first parameter field according to an embodiment of the present application;
FIG. 18 is a diagram illustrating an arrangement sequence of behavior instructions in a first parameter field according to an embodiment of the present application;
FIG. 19 is a schematic diagram of a filling manner of redundant bits in a first parameter field according to an embodiment of the present application;
FIG. 20 is a schematic diagram of a first behavior instruction complement bit in a first parameter field according to an embodiment of the present application;
fig. 21 is a schematic structural diagram of a first node according to an embodiment of the present application;
fig. 22 is a schematic structural diagram of a third node according to an embodiment of the present application;
fig. 23 is a schematic structural diagram of a second node according to an embodiment of the present application;
fig. 24 is a schematic structural diagram of a network device according to an embodiment of the present application;
fig. 25 is a schematic structural diagram of another network device according to an embodiment of the present application.
Detailed Description
The following describes in detail a message receiving method, a message sending method, a message forwarding device and a message forwarding system according to embodiments of the present application with reference to the accompanying drawings.
Fig. 1 is a schematic structural diagram of a packet forwarding system according to an embodiment of the present application, where, as shown in fig. 1, the packet forwarding system may include a plurality of nodes 01, and communication connections are established between the plurality of nodes 01. Each node 01 may be a router, a switch, a broadband access server (broadband remote access server, BRAS), a firewall, a virtual network element, or the like, and each node 01 may also be referred to as a network device.
By way of example, node 01 may be a provider (P) device or a Provider Edge (PE) device. If the node 01 is a PE device, as shown in fig. 1, the packet forwarding system may further include a Customer Edge (CE) device 02 connected to the PE device. The CE device 02 is connected to a user terminal and is adapted to provide network access services for the user terminal. The user terminal may also be referred to as a user device, and may be a home gateway (residential gateway, RGW), a mobile phone, a notebook computer, or a desktop computer.
Optionally, as shown in fig. 1, the packet forwarding system may further include a controller 03. The controller 03 is connected to at least one node 01 and is used for managing and controlling the node 01 to which it is connected. The controller 03 may be a network controller.
In the embodiment of the present application, the message forwarding system may be a SRv6 system, the message forwarded by each node in the SRv6 system is a SRv6 message, and the SRv6 message is a message obtained by inserting SRH into an IPv6 message. Fig. 2 is a schematic structural diagram of a SRv message provided by an embodiment of the present application, where, as shown in fig. 2, the SRv message includes: IPv6 header, SRH, and payload (payload). Wherein, the IPv6 header comprises the following fields: version (version), stream class (TC), stream label (flow label), payload length (payload), next header (next header), hop limit (hop limit), source Address (SA), and DA.
The SRH includes the following fields: next header, extended header length (header extension length, hdr Ext Len), routing header type (routing type), number of Segments Left (SL), last entry (last entry), flags (tags), tags, segment list, and optional TLV. The segment list includes n+1 identification fields (n may be an integer greater than or equal to 1) from a segment list [0] to a segment list [ n ], where each identification field is used to carry a SID of a node in the packet forwarding path, and the SID may be an IPv6 address of the node.
Fig. 3 is a schematic structural diagram of SID according to an embodiment of the present application. As shown in fig. 3, each SID may include a locator (locator) field, a function (function) field, and a parameter (parameters) field. Wherein the locator field is used to identify a certain network domain and a certain node in the network domain. The function field is used to identify an action, also called behavior (behavior), performed on the corresponding node. The parameter field is used to carry the parameters needed to perform the action.
Since the length of each SID in the segment list is generally 128 bits (bit), when the number of SIDs required to be carried in the SRH is large, the length of the header is significantly increased, thereby reducing the data transmission efficiency. In order to reduce the length of the header, the industry proposes a scheme for compressing the SID. The compression scheme defines a compression section identity, which may include at least one of a node (node) ID and a function (function) ID, as shown in fig. 4, which is illustrated by way of example in fig. 4. Wherein the node ID can form a locator field with a common prefix (common prefix) in the destination address field. The locator field, function ID, and parameter field (or pad field) in the destination address field may constitute a 128bit SRv SID.
If one compressed segment identifier only includes one ID of the node ID and the function ID, the node ID and the function ID may be carried by two adjacent compressed segment identifiers respectively, so as to implement the identifier of a certain node in the network domain and the identifier of the processing behavior required to be executed by the node.
It is understood that the compressed segment identifier in the embodiment of the present application may be a CSID, a uSID, or a G-SID. In the following, a uv id is taken as an example, and as shown in fig. 5, a uv id carrier (container) is defined in the uv sid scheme, and the structure of the uv sid carrier may be: < uSID block > < active uSID > < next uSID > < last uSID > < fill part >. Wherein the filling portion is optional.
Where the uSID Block (Block) is an address Block of the uSID, which may be a common prefix, such as an IPv6 prefix. Active uSID (Active uSID) is the first uSID after the uSID block. The next uSID (Next uSID) is a uv id that follows the active uv id, and one or more next uv ids may be included in the uv id carrier. The last uSID (Last uSID) is one uSID before the end of bearer flag. The padding (padding) portion is a reserved portion at the tail of the uSID carrier, which typically takes on a value of 0, and may also be referred to as the End-of-carrier flag (End-of-Container).
If the destination address (destination address, DA) field of the SRv message includes multiple compressed SIDs, the node may look up a table based on the combination of the uSID block and the active uSIDs to determine the corresponding processing behavior. The processing actions generally include shift (shift) and forward. Assuming that the length of the uSID block, each uSID, and each bearer end mark in the uSID bearer is 16 bits, the forwarding behavior may include:
copy 32 to 127 bits of content in the destination address field to bits 16 to 111 (i.e., binary shift left by 16 bits);
setting the contents of bits 112 to 127 in the destination address field to 0;
and forwarding the message according to the updated destination address.
Based on the above analysis, multiple uSIDs in the uSID carrier can share the address block of the same uSID, so that the length of the header can be effectively reduced. If each node in the forwarding path of the SRv message can complete encoding in one uSID bearer, the uSID bearer can be directly carried by the destination address field of the SRv6 message, that is, the SRv message does not need to carry SRH.
It is understood that, besides the SRH, various other types of IPv6 extension header may be inserted into the IPv6 packet, for example, HBH or DOH. In order to instruct the nodes in the forwarding path to perform richer processing actions, instruction information indicating the packet processing actions may be generally carried in the TLV field of the IPv6 extension header or the SRH. For example, referring to fig. 6, the HBH and DOH may each include a next header field, an extended header length field, and an option field, so an option indicating network slice information may be inserted in the HBH or DOH to cause nodes in the forwarding path to forward messages based on the network slice. Among them, referring to fig. 7, the option field may include an option type (option type), an option data length (option data length), and option data (option data). Alternatively, as shown in fig. 8, an IFIT TLV may be inserted in an optional TLV field of the SRH and/or a hash-based message authentication code (hashed message authentication code, HMAC) TLV. The IFIT TLV can instruct a node in the forwarding path to perform flow-following detection on the message, and the HMAC TLV can instruct the node in the forwarding path to perform security verification on the message.
As can be seen from fig. 8, the optional TLV in the SRH is located between the segment list and the payload, and the SRv message further includes an Ethernet header (ETH) and an IPv6 basic header (basic header). Fig. 9 is a schematic structural diagram of an HMAC TLV according to an embodiment of the present application. As shown in fig. 9, the HMAC TLV includes: a type field, a length field, a D field, a reserved field, an HMAC key (key) ID, and an HMAC. Wherein the length of the HMAC key ID is 4 bytes and the length of the HMAC is a variable (variable) length. D in the D field represents the destination address.
However, the above manner of inserting the IPv6 extension header or extending the TLV may significantly increase the length of the header, and reduce the data transmission efficiency. In the above-described method of inserting the IPv6 extension header, each node in the forwarding path needs to parse the IPv6 extension header and execute the corresponding processing behavior, so that the flexibility is low, and the function of executing the processing behavior by only a part of the designated nodes in the forwarding path cannot be realized.
In addition, in the SID compression scheme, if each node in the forwarding path of the SRv packet can complete encoding in the destination address field, the SRv packet will not carry SRH. Accordingly, a richer processing behavior cannot be indicated by the optional TLV field in the SRH. In addition, if some DOHs need to be inserted before the SRH and the SRv message no longer carries the SRH, it is not possible to carry part of the DOH, and further instruction information indicating the processing behavior of the message cannot be carried by the part of the DOH.
The embodiment of the application provides a message receiving method, which can be applied to a first node in a message forwarding system such as shown in fig. 1, wherein the first node can be any node in the message forwarding system. Referring to fig. 10, the method includes:
step 101, receiving a first message, where a first destination address field of the first message includes a first segment identifier.
In the embodiment of the present application, if the first node is an intermediate node or a tail node (also referred to as an egress node) in the packet forwarding system, the first node may be capable of receiving a first packet sent by another node (e.g., a header node) in the packet forwarding system, where a first destination address field of the first packet includes a first segment identifier. The first segment identifier may be a compressed segment identifier with a length less than 128 bits, or the first segment identifier may be a normal SRv SID with a length of 128 bits.
If the first node is a head node in the packet forwarding system, also referred to as an ingress node or source node, the first node may receive a first packet sent by the CE device or the user terminal. And, the first node may add a first segment identifier to a first destination address field of the first packet. For example, when the first segment identifier is a normal SRv SID or compressed segment identifier, the first node may first encapsulate an SRH in the first message, where the SRH includes the first segment identifier, e.g., the value of the last identifier field in the segment list is the first segment identifier. The first node may then copy the first segment identification in the segment list to the first destination address field. Or if the first segment identifier is a compressed segment identifier and the first message does not include the SRH, the first node may directly encapsulate the first segment identifier into the first destination address field of the first message.
Step 102, determining a first parameter field from the first destination address field, where the first parameter field corresponds to the first segment identifier.
In the embodiment of the present application, the first node is further capable of determining a first parameter (parameters) field corresponding to the first segment identifier from the first destination address field. For example, the first parameter field may be included in the first segment identifier, and accordingly, the first node may determine the first parameter field from the first segment identifier. Alternatively, the first parameter field may be located after the first segment identification, and the first node may determine the first parameter field from the first destination address field according to a preconfigured encapsulation position of the first parameter field in the first destination address field. For example, the first parameter field may be located at the end of the first destination address field, such as 16 to 32 bits at the end of the first destination address field. Alternatively, the first parameter field may be located immediately after the first segment identification, such as 16 to 32 bits located after the first segment identification.
Step 103, executing at least one first processing action indicated by the first parameter field.
The first parameter field can indicate at least one first processing behavior. The first node may perform the at least one first processing action, e.g., the first node may process the first message according to the at least one first processing action. Since the first parameter field may indicate one or more first processing actions, the first parameter field may also be referred to as a structured parameter (structured arguments) field. Alternatively, the first parameter field may also be referred to as a general parameter (generalized arguments) field.
It will be appreciated that the first segment identification may further comprise a function field capable of indicating a processing behaviour of the first node on the first message (a third processing behaviour as described below). In the embodiment of the present application, the first node does not need to coordinate the first parameter field with the function field when determining at least one first processing behavior indicated by the first parameter field. That is, the first node may determine the at least one first processing behavior directly from the first parameter field, or may be understood as: the first parameter field may be used to indicate the at least one first processing action alone without cooperating with a function field in the first segment identification.
It is further understood that the at least one first processing behavior indicated by the first parameter field may be the same or may be omitted, as compared to the processing behavior indicated by the additional insertion of the IPv6 extension header or the extension TLV, which is not limited by the embodiment of the present application.
Optionally, the at least one first processing behavior indicated by the first parameter field may include a processing behavior of the first message, and the at least one first processing behavior may include at least one of: forwarding a message based on slice resources of the network slice; forwarding a message based on the network service indicated by the application awareness information; detecting along with the flow; forwarding a message based on the allocated network resources; encrypting and forwarding a message; and (5) safety verification.
Optionally, the at least one first processing behavior indicated by the first parameter field may further include processing behavior performed locally by the first node that is independent of the first message. For example, the at least one first processing action may include at least one of the following actions: adjusting the running state of the first node; a flow table, forwarding table and/or state table is established for the traffic locally at the first node. The traffic refers to the traffic to which the first message belongs. The operation state of the first node may include a sleep state, a shutdown state, and the like, and correspondingly, adjusting the operation state of the first node may mean that the first node enters the sleep state or the shutdown state.
In summary, the embodiment of the application provides a message receiving method. The destination address field of the first message received by the first node includes a first segment identifier, and the first node can determine a first parameter field corresponding to the first segment identifier from the destination address field, and can execute at least one first processing behavior indicated by the first parameter field. Because the method provided by the embodiment of the application can indicate the processing behavior through the first parameter field in the destination address field, compared with the method of indicating the processing behavior through additionally inserting the IPv6 extension header or the extension TLV, the length of the message header can be effectively reduced, and the data transmission efficiency can be improved. And because the first parameter field is a structured parameter field capable of indicating one or more first processing actions, the first node can be guided to execute richer processing actions.
In addition, in the method provided by the embodiment of the present application, the first segment identifier may be a compressed segment identifier, for example, may be a uSID. And if the forwarding path of the first message can be encoded in the destination address field, the first message does not need to be inserted with an SRH. At this time, although the optional TLV field in the SRH or a part of the DOH cannot carry instruction information indicating the packet processing behavior, the first node can be guided to perform rich processing behaviors through the first parameter field in the destination address field.
The embodiment of the application provides a message forwarding method which can be applied to a message forwarding system. The message forwarding method is described below by taking the example that the message forwarding system comprises a first node, a second node and a third node, the third node is taken as a head node, the first node is taken as an intermediate node, and the second node is taken as an intermediate node or a tail node. Referring to fig. 11, the method includes:
step 201, the third node encapsulates the first segment identifier in the first message of the target service flow.
In the embodiment of the application, the third node is used as the head node of the target service flow in the message forwarding system, and the first section identifier can be encapsulated in the first message of the target service flow. The target traffic flow may be a traffic flow that needs to be processed with a specified processing behavior. It will be appreciated that the third node is further capable of encapsulating in the first message a first parameter field for indicating at least one first processing behaviour.
Alternatively, the first segment identification may be a normal SRv SID, which may be 128 bits in length. Alternatively, the first segment identification may be a compressed segment identification, the compressed segment identification having a length of less than 128 bits, for example the compressed segment identification may have a length of 16 to 32 bits. Wherein the compressed segment identification may also be referred to as a CSID, a uSID or a G-SID.
In a first possible implementation manner, if the first segment identifier is a uSID and the forwarding path of the first packet can be encoded in the destination address field (i.e. 128 bits), the third node may directly encapsulate the first segment identifier in the first destination address field of the first packet. The third node is further capable of encapsulating a first parameter field corresponding to a first segment identifier in the first destination address field, and the first parameter field may be located after the first segment identifier.
For example, referring to fig. 12, the third node may encapsulate the common prefix in the first destination address field of the first packet, and the ussid 1 through ussidn total n ussids. Where n is an integer greater than 1, the first segment identification may be any of the uSIDs uSID1 through uSIDn.
As can be seen from fig. 12, the first destination address field may further include: a first parameter field A0 located after the n usids, the first parameter field A0 may be shared by the n usids. That is, the first parameter field A0 can correspond to each of the usids in the first destination address field. Alternatively, referring to fig. 13, the destination address field may include n parameter fields in one-to-one correspondence with the n usids, wherein each parameter field is located after and immediately adjacent to a corresponding one of the usids. Accordingly, the first parameter field may be a parameter field located after the first segment identification. For example, assuming that the first segment is identified as uSID1, the first parameter field may be A1.
In a second possible implementation manner, if the first segment is identified as a normal SRv SID, or if the first segment is identified as a G-SID or a CSID, or if the first segment is identified as a uasid and the forwarding path of the first packet cannot be encoded in the destination address field, the third node may encapsulate the SRH in the first packet, where the SRH includes the first segment identifier.
For example, if the first segment identifier is a normal SRv SID, referring to fig. 2, the third node may include n+1 identifier fields in the segment list [0] to the segment list [ n ] in the SRH encapsulated in the first message, where the first segment identifier may be carried in any one of the segment list [0] to the segment list [ n ]. And, referring to fig. 3, the first parameter field may be included in the first segment identification.
If the first segment is identified as a G-SID, then the SRH encapsulated by the third node in the first message may include one or more G-SID bearers (containers), as shown in fig. 14. Wherein the G-SID bearer may include a total of n+1G-SIDs from G-SID0 to G-SIDn, and the first segment identification may be any one of the G-SIDs from G-SID0 to G-SIDn.
In a third possible implementation manner, if the first segment is identified as the ucd and the forwarding path of the first packet cannot be encoded in the destination address field, referring to fig. 2, the third node may include n+1 identification fields from the segment list [0] to the segment list [ n ] in the SRH encapsulated in the first packet. Where each identification field may carry the SID of a node, or may carry a block of usids and multiple usids, for example, may carry a uSID carrier such as that shown in fig. 5. The first segment identification may be carried in any of the uSID carriers, the first parameter field may be located after the first segment identification, and the location of the first parameter field may be with reference to FIG. 12 or FIG. 13.
Step 202, the third node sends the first message to the first node.
After the first section identifier is encapsulated in the first message, the first node can send the first message to the first node. If the first node is the next hop node of the third node, the third node may directly send the first message to the first node. If the first node is not the next hop node of the third node, the third node may forward the first message to the first node through other intermediate nodes.
Step 203, the third node encapsulates the second segment identifier in the second message of the target service flow.
The second message is further encapsulated with a second parameter field corresponding to the second segment identifier, the second parameter field being capable of indicating at least one second processing behavior, i.e. the second parameter field is also a structured parameter field. Wherein the at least one second processing behavior is different from the at least one first processing behavior indicated by the first parameter field. The at least one second processing behavior being different from the at least one first processing behavior may mean: the at least one second processing behavior is not identical to the at least one first processing behavior or is identical to only a portion of the at least one first processing behavior.
It is understood that the first parameter field may comprise at least one first behavior instruction for indicating the at least one first processing behavior. The second parameter field may include at least one second behavior instruction for indicating the at least one second processing behavior.
In the embodiment of the present application, if the number of processing actions (for example, the processing actions performed by the first node on the target service flow) required to be performed by the first node is large, a plurality of action instructions for indicating the plurality of processing actions cannot be carried by one parameter field with a limited length, and then the plurality of action instructions may be carried by the plurality of parameter fields. Wherein each parameter field may carry a portion of the behavioural instruction, and the behavioural instructions carried by different parameter fields may be different. Also, each parameter field may correspond to (i.e., be associated with) one segment identification, and different parameter fields may correspond to different segment identifications.
Accordingly, when the third node (or controller) organizes the segment list of the forwarding path of the target traffic flow, a plurality of segment lists may be generated according to a plurality of segment identifiers associated with the parameter fields, and thus a plurality of SRv policies (policy) may be generated. In the process of forwarding the message of the target service flow, the third node may use different SRv policy for different messages of the target service flow, i.e. encapsulate different segment identifiers and corresponding parameter fields. For example, the third node may use different SRv policy for different messages of the target traffic flow by load balancing, polling, random or other means. Therefore, the nodes in the forwarding path can execute different processing behaviors, and the various processing behaviors can be executed. For example, nodes in the forwarding path can perform different processing actions on different messages of the target traffic flow.
It will be appreciated that different messages in the target traffic flow may all be forwarded over the same forwarding path, and thus the nodes indicated by the plurality of segment identifiers may be the same. Accordingly, the first segment identifier and the second segment identifier may indicate the same node, for example, may both indicate the first node.
By way of example, suppose that the following 3 processing actions need to be performed on a message of a target traffic flow: the method comprises the steps of forwarding a message based on slice resources of a network slice, forwarding the message based on network services indicated by application perception information, and detecting along with flow. The slice information of the network slice may be carried by the first parameter field and the application awareness information, and the information detected with the flow may be carried by the second parameter field. Also, a first parameter field may be associated with a first segment identification SID1 and a second parameter field may be associated with a second segment identification SID 2. The first segment identification SID1 and the second segment identification SID2 may indicate the same node in the forwarding path of the target traffic stream.
If the forwarding path of the target service flow further includes a node R, a node S and a node T, and the segment identifiers of the three nodes are SID R, SID S and SID T, respectively, the third node may arrange 2 segment lists, and may generate 2 SRv policy corresponding to the 2 segment lists. For example, the third node may generate SRv6 policy1 to correspond to segment list 1, which is: SID1-SID R-SID S-SID T. The third node may generate SRv policy2 corresponding to segment list 2, which is: the segment list is: SID2-SID R-SID S-SID T.
Assume that the target traffic flow includes 10 messages from message 1 to message 10, and that the third node uses a different SRv policy for the messages of the target traffic flow in a polling or load balancing manner. The third node may use SRv policy1 for message 1, message 3, message 5, message 7, and message 9. That is, the third node may encapsulate a segment list 1 in the above packet (i.e., the first packet), where the segment list 1 includes the first segment identification SID1 associated with the first parameter field. And, the third node may use SRv6 policy2 for message 2, message 4, message 6, message 8, and message 10. That is, the third node may encapsulate the segment list 2 in the above packet (i.e., the second packet), where the segment list 2 includes the second segment identification SID2 associated with the second parameter field. Based on this, the node indicated by SID1 can forward message 1, message 3, message 5, message 7, and message 9 based on the network slice and the network service indicated by the application awareness information. And, the node indicated by SID2 may perform the stream following detection on message 2, message 4, message 6, message 8, and message 10. Therefore, the node in the forwarding path can execute the 3 processing behaviors on the message of the target service flow.
It can be appreciated that the structure and the encapsulation position of the second section identifier may be the same as those of the first section identifier, and the structure and the encapsulation position of the second parameter field may be the same as those of the first parameter field, which will not be described herein.
Step 204, the third node sends the second message to the first node.
Referring to step 202 above, the third node may directly send the second message to the first node, or may forward the second message to the first node through another intermediate node.
Step 205, the first node determines a first parameter field from a first destination address field of the first message.
The first destination address field of the first message received by the first node includes a first segment identifier. The first segment identifier may be directly encapsulated by the third node in the first destination address field, or may be copied from the SRH of the first message into the first destination address field by the last hop node of the first node.
The first node is capable of determining a first parameter field corresponding to the first segment identification from a first destination address field of the first message. As a possible implementation, the first parameter field may be included in the first segment identification. Accordingly, the first node may determine the first parameter field from the first segment identification. For example, referring to fig. 3, assuming that the first segment identification is a 128bit SRv SID, the first node can determine the several low order bits in the first segment identification as the first parameter field.
As another possible implementation, the first parameter field may be located after the first segment identifier, and the first node may determine the first parameter field from the first destination address field according to a preconfigured encapsulation position of the first parameter field in the first destination address field.
For example, referring to fig. 12, assuming that the first segment identification is a compressed segment identification, the third node may determine a number of low-order bits in the first destination address field as the first parameter field. Alternatively, referring to fig. 13, the third node may determine a number of bits located after and adjacent to the first segment identification as the first parameter field.
In the embodiment of the present application, the first node may be a node supporting SRv6 forwarding technology. Correspondingly, after receiving the first message, the first node may first detect whether the first segment identifier in the first destination address field of the first message is the local SID of the first node. If the first segment is identified as the local SID of the first node, the first node may continue to determine the first parameter field from the first destination address field. If the first segment identifier is not the local SID of the first node, the first node may not need to determine the first parameter field from the first destination address field, and may not need to process the first parameter field.
It will be appreciated that the first node may also be a node that does not support the SRv6 forwarding technique. Accordingly, in this step 205, the first node may determine, based on its local configuration information, a first parameter field from the first destination address field of the first packet, so that a node that does not support the SRv forwarding technique may also perform at least one of the above-mentioned first processing actions. Wherein the local configuration information can indicate a location of the first parameter field in the first destination address field. And, the local configuration information may be configured by an operation and maintenance person, or may be issued by the controller.
Step 206, the first node identifies at least one first behavior instruction carried in the first parameter field.
As described above, the first parameter field may carry at least one first behavior instruction. After determining the first parameter field from the first destination address field, the first node can identify at least one first behavior instruction carried in the first parameter field. Wherein each first behavior instruction may indicate a first processing behavior. Each first processing behavior may be a processing behavior on the first message or may be a processing behavior that is locally performed by the first node and is not related to the first message.
Optionally, the first parameter field may include at least one of a first subfield, a second subfield, a third subfield, a fourth subfield, a fifth subfield, and a sixth subfield. Each subfield may carry a first behavior instruction, and the first behavior instructions carried by the six subfields may be as follows: the first subfield is used for carrying slice information of the network slice; the second sub-field is used for carrying application perception information; the third sub-field is used for carrying information detected along with the flow; the fourth subfield is used for carrying information of the allocated network resources; the fifth sub-field is used for carrying an encryption mode of encryption forwarding; the sixth subfield is used to carry a message authentication code for security verification. That is, each of the slice information, the application awareness information, the information detected along with the stream, the information of the network resource, the encryption mode and the message authentication code is a first behavior instruction.
The slice information of the network slice may include a slice ID, among others. The application awareness information may also be referred to as application awareness network (application aware networking, APN) information, which may include at least one of a user group identity and an application group identity. And may also include at least one of flow identification, service level agreement (service level agreement, SLA) level, and service requirements. The service requirement may be a requirement for performance indicators such as delay and packet loss rate, and the flow identifier is also called session identifier (session ID).
The information of the on-stream detection may include IFIT information such as a stream monitoring ID, a packet loss detection flag, a delay detection flag, etc., and may also include information of on-stream operation, management and Maintenance (IOAM). The information of the network resource may include bandwidth resources of an interface for forwarding the message. The encryption means may include media access control security (media access control security, MACsec) encryption. The message authentication code may comprise an HMAC.
Optionally, the first parameter field may further include at least one of an eighth subfield and a ninth subfield. The eighth subfield is used for carrying running state information, and the ninth subfield is used for carrying information of an entry to be established. The operation state information may include information for indicating to adjust the operation state of the first node to a sleep state or a shutdown state. The information of the entry to be established may include: information for instructing the first node to locally establish a flow table, forwarding table and/or state table for the traffic.
Optionally, the first parameter field may further include at least one compressed segment identification. At least one first behavior instruction in the first parameter field may be located after the at least one compressed segment identification. For example, the first parameter field may include at least one uSID that may be shifted during message forwarding. Also, the at least one first behavior instruction may not be shifted with the at least one uSID, i.e., the position of the at least one first behavior instruction in the first parameter field is fixed. Alternatively, the at least one first behavior instruction may also be shifted along with the at least one uSID.
For example, referring to fig. 15, the first parameter field may include n-1 usids in total of uSID2 through uSIDn, and m first behavior instructions in total of behavior instructions A1 through Am, m being an integer greater than or equal to 1. The uSID2 to uSIDn may be shifted in the message forwarding process, and the m first behavior instructions are located at the tail of the first parameter field and may not need to be shifted together with the uSID.
Step 207, the first node performs at least one first processing behaviour indicated by the at least one first behaviour instruction.
In the embodiment of the present application, if the at least one first processing behavior includes a processing behavior for the first packet, the first node may process the first packet according to the at least one first processing behavior. For example, the first node may perform at least one of the following first processing actions on the first message: forwarding a message based on slice resources of the network slice; forwarding a message based on the network service indicated by the application awareness information; detecting along with the flow; forwarding a message based on the allocated network resources; encrypting and forwarding a message; and (5) safety verification.
If the at least one first processing behavior includes a processing behavior that is locally executed by the first node and is not related to the first message, the first node may directly execute the first processing behavior, and the first node executing the first processing behavior does not modify the content of the first message, and does not affect the forwarding flow of the first message. For example, the first node may locally perform at least one of the following first processing actions: adjusting the running state of the first node; a flow table, forwarding table and/or state table is established for the traffic locally at the first node. The traffic refers to the service flow to which the first message belongs, namely the target service flow.
It is understood that the at least one first processing behavior may comprise both processing behavior on the first message and processing behavior performed locally by the first node that is independent of the first message. For example, the at least one first processing action may include: and detecting the follow-up flow, and establishing a state table for the service flow to which the first message belongs.
Optionally, the first segment identifier further includes a function field, where the function field may be used to indicate a third processing behavior. After the first node recognizes at least one first behavior instruction carried by the first parameter field and determines a third processing behavior indicated by the function field, the first node can process the first message according to the third processing behavior. If the at least one first processing behavior includes a processing behavior for the first packet, the first node may process the first packet according to the at least one first processing behavior and the third processing behavior, thereby obtaining a third packet.
Wherein the third processing behavior indicated by the function field in the first segment identifier may include: end, end.x, end.t, end.dt4, end.dt6, end.dt2m, etc.
Optionally, the first parameter field may also be used to carry parameters of the third processing behavior. The first parameter field can also reserve the function of the original parameter field, so that the first parameter field can be effectively compatible with the original function. For example, the first parameter field may also include a seventh subfield that may be used to carry parameters of the third processing behavior. The parameters of the third processing behavior may include: parameters of behavior of end.d2m, and/or, indices of compressed segment identifiers.
The parameter of the end.d2m behaviour may be an arg.fe2 parameter, and the parameter may comprise a multicast and/or a horizontal split parameter. The index of the compressed segment identification may refer to an index of the G-SID (G-SID index, SI).
It may be appreciated that if the first segment identifier is a compressed segment identifier, the first node also needs to shift the compressed segment identifier when processing the first packet. If the first parameter field corresponds to only the first segment identification, the first parameter field may be shifted along with the first segment identification. For example, referring to fig. 13, parameter field A1 may be shifted with the uSID1 and parameter field A2 may be shifted with the uSID 1.
If the first parameter field corresponds to the plurality of compressed segment identifiers, the first parameter field may not be shifted, i.e. the encoding position of the first parameter field is fixed, so that other nodes can read the first parameter field conveniently. Alternatively, the first parameter field may be shifted along with the plurality of compressed segment identifiers, which is not limited by the embodiment of the present application.
Optionally, a tenth subfield may be further included in the first parameter field, where the tenth subfield is used to carry a shift flag. The shift flag may be used to indicate which bits in the first destination address field need to be shifted. Alternatively, if the first parameter field further includes at least one compressed segment identifier, the shift flag may be used to indicate which bits in the first parameter field need to be shifted.
By way of example, assuming that the first parameter field is located at bits 96 to 127 in the first destination address field and the first parameter field is not shifted, the shift flag may indicate that bits 32 to 95 in the first destination address field are shifted. Alternatively, if the first parameter field also needs to be shifted, the shift flag may indicate that bits 32 to 127 in the first destination address field are shifted. It is assumed that the first parameter field is located in bits 32 to 127 of the first destination address field, and bits 32 to 95 thereof are compression section identifiers, and bits 96 to 127 thereof are first behavior instructions. If the first parameter field is not shifted, the shift flag may indicate that bits 0 through 63 in the first parameter field are shifted. Alternatively, if the first parameter field also needs to be shifted, the shift flag may indicate that bits 0 through 95 in the first destination address field are shifted.
As an alternative implementation, the first node may be configured with a structured parameter function, and the state of the structured parameter function of the first node may be an enabled state or a disabled state. If the first node determines that its structured parameter function is in an enabled state, at least one first processing action indicated by the first parameter field may be performed.
In this implementation, the state of the structured parameter function of the first node may be locally configured, e.g. may be configured by an operation and maintenance person or a controller. Or, the first message received by the first node may further include a status enable flag, and the first node may enable its structural parameter function based on the status enable flag.
For example, if the first node determines that the structured parameter function is in an enabled state, the first node may identify at least one first behavior instruction carried in the first parameter field, and determine at least one first processing behavior indicated by the at least one first behavior instruction. If the first node determines that its structured parameter function is in an off state, the first node may determine whether to process the first parameter field based on a type of a third processing behavior indicated by the function field in the first segment identifier. For example, if the third processing action indicated by the function field requires a parameter, the first node may read the parameter of the third processing action from the first parameter field. If the third processing action indicated by the function field does not require a parameter, the first node does not need to process the first parameter field.
The encapsulated location of the parameter of the third processing behavior in the first parameter field may be configured locally in the first node, or may be preset or fixedly configured by the system, or may be standardized.
As another optional implementation manner, if the first node determines that the first parameter field is a structured parameter field according to the behavior indicated by the function field in the first segment identifier (i.e., the third processing behavior) or the behavior feature (flag), at least one first processing behavior indicated by the first parameter field may be executed.
For example, a new SRv behavior feature (flag) may be defined in the first node, which may be associated with the behavior indicated by the function field in the at least one SID, or may be associated with the at least one SID. And, the parameter fields corresponding to the at least one SID are all structured parameter fields. Based on this, if the first node determines that the third processing behavior indicated by the function field in the first section identifier is associated with the new flag, the first parameter field may be determined to be a structured parameter field, and further at least one first behavior instruction carried by the first parameter field may be identified. Wherein, the association of the flag with the behavior indicated by the function field in the SID may refer to: the behavior indicated by the function field in the SID includes an additional behavior indicated by the flag, in addition to the conventional SRv behavior (behavir). The additional behavior may be a variant (variants of behavior) of the conventional SRv behavior, and the additional behavior may include: and processing the first parameter field according to the processing mode of the structured parameter field.
Step 208, the first node determines a second parameter field from a second destination address field of the second message.
In this embodiment of the present application, after the first node receives the second packet, the second parameter field may also be determined from the second destination address field of the second packet. The second parameter field corresponds to a second segment identification in a second destination address field.
It will be appreciated that the procedure for the first node to determine the second parameter field may be the same as the procedure for determining the first parameter field described above. Therefore, the implementation process of this step 208 may refer to the related description of step 205, which is not described herein.
Step 209, the first node performs at least one second processing action indicated by the second parameter field.
The at least one second processing behavior may be different from the at least one first processing behavior. Alternatively, the first node may first identify at least one second behavior instruction from the second parameter field and determine at least one second processing behavior indicated by the at least one second behavior instruction. The first node may then perform the at least one second processing action. For example, the first node may process the second message according to the at least one second processing behavior. Alternatively, the first node may execute locally at least one second processing line unrelated to the second message.
Wherein the at least one second processing action may comprise at least one of the following actions: forwarding a message based on slice resources of the network slice; forwarding a message to the network service indicated by the application awareness information; detecting along with the flow; forwarding a message based on the allocated network resources; encrypting and forwarding a message; and (5) safety verification.
Alternatively, the at least one second processing action may comprise at least one of the following actions: adjusting the running state of the first node; and establishing a flow table, a forwarding table and/or a state table for the traffic at the local of the first node.
It will be appreciated that the process by which the first node determines the at least one second processing behaviour indicated by the second parameter field may be the same as the process by which the at least one first processing behaviour indicated by the first parameter field is determined. Thus, the implementation of this step 209 may be described with reference to the above-mentioned step 206 and step 207.
Step 210, the first node sends a third message to the second node.
After the step 207, the first node may send a third message to the second node, where the third message is a message obtained based on the first message. The second node may be a next hop node of the first node. A third segment identifier may be included in a third destination address field of the third message, where the third segment identifier may be a local SID of the second node.
Alternatively, the first segment identifier and the third segment identifier may be SRv SID with a length of 128 bits, or the first segment identifier and the third segment identifier may be compressed segment identifiers. For example, referring to fig. 12 and 13, the first segment identification may be a uSID1 and the second segment identification may be a uSID2. Alternatively, referring to FIG. 14, the first segment identification may be G-SID0 and the second segment identification may be G-SID1.
Step 211, the second node determines a third parameter field from a third destination address field of the third packet.
The third parameter field corresponds to the third segment identifier, and the manner in which the second node determines the third parameter field may be the same as the manner in which the first node determines the first parameter field described above, so that details are not repeated here.
It will be appreciated that if the third segment identifier is a SRv SID of 128 bits length, then the third parameter field may be included in the third segment identifier. Alternatively, if the third segment identifier is a compressed segment identifier and the third destination address field has one parameter field corresponding to each uSID, the third parameter field may be adjacent to and subsequent to the third segment identifier. Also, in both implementations, the third parameter field is a different field than the first parameter field.
If the third segment is identified as a G-SID, or if the third segment is identified as a ussid, and multiple ussids in the third destination address field share a parameter field, the third parameter field and the first parameter field may be the same field. For example, referring to fig. 12, the first parameter field and the third parameter field are both A0.
Step 212, the second node performs at least one fourth processing action indicated by the third parameter field.
In an embodiment of the present application, the process of determining, by the second node, the at least one fourth processing behavior indicated by the third parameter field may be the same as the process of determining, by the first node, the at least one first processing behavior indicated by the first parameter field. Thus, the implementation of this step 212 may be described with reference to the above-mentioned step 206 and step 207.
It is understood that if the third parameter field and the first parameter field are the same field, the at least one fourth processing behavior may be the same as the at least one first processing behavior. Thus, different nodes in the forwarding path may be instructed to perform the same processing actions by one parameter field. For example, referring to fig. 12, n nodes indicated by usid1 to uSIDn may each perform the same processing behavior under the direction of the parameter field A0.
If the third parameter field and the first parameter field are different fields, the at least one fourth processing behavior may be the same as or different from the at least one first processing behavior. If the at least one fourth processing behavior is the same as the at least one first processing behavior, different nodes in the forwarding path may all execute the same processing behavior through different parameter fields. For example, referring to FIG. 2, the same processing behavior may be performed by having SIDs carried in segment list [0] through segment list [ n ] each contain the same parameter fields, such that different nodes in the forwarding path each perform the same processing behavior. If the at least one fourth processing behavior is different from the at least one first processing behavior, different nodes in the forwarding path may be caused to perform different processing behaviors by different parameter fields. For example, referring to fig. 13, the parameter fields A1 to An in the destination address field may not be identical, thereby enabling different nodes in the forwarding path to perform different processing behaviors.
It will be further appreciated that, after the step 209, the first node may also send a fourth packet obtained by processing the second packet to the second node, where a fourth destination address field of the fourth packet includes a fourth segment identifier. The second node may determine a fourth parameter field corresponding to the fourth segment identification from the fourth destination address field and perform at least one processing action indicated by the fourth parameter field. The process of the second node performing at least one processing action indicated by the fourth parameter field may refer to the above step 211 and step 212, which are not described herein.
It will also be appreciated that the packet forwarding system may include nodes that support SRv6 forwarding techniques, as well as nodes that do not support SRv forwarding techniques. The function of the structured parameters of the node supporting the SRv forwarding technology may be in an on state or an off state. Based on this, if the node in the packet forwarding system needs to identify and parse the structured parameter field, when planning the packet forwarding path, the node that does not support the SRv forwarding technology and the node that supports the SRv forwarding technology but has the structured parameter function in the off state can be avoided.
Or if the message forwarding path needs to include the node that does not support the SRv forwarding technology or the node with the function of the structural parameter in the off state, the node may use a local configuration manner to enable the node to read and parse a part of bits in the destination address field of the message as the structural parameter field. That is, the node may determine a structural parameter field from a destination address field of the message through the local configuration information, and identify at least one behavior instruction in the structural parameter field. Since the node identifies and parses the structured parameter field based on the local configuration information, the structured parameter field is no longer associated with the SRv function, but rather with the function indicated by the configuration information, or implemented as a separate function.
The process by which the first node identifies at least one first behavior instruction from the first parameter field in step 206 described above is described below.
In a first possible implementation manner, a first parameter field template is preconfigured in the first node, and the first node may identify at least one subfield included in the first parameter field according to the first parameter field template, so as to identify at least one first behavior instruction carried by the at least one subfield. The first parameter field template is used for defining the type, the position and/or the length of at least one first behavior instruction carried by the first parameter field. Or can be understood as: the first parameter field template is used to define the type, location and/or length of at least one sub-field comprised by the first parameter field.
If the first parameter field template does not define the type of at least one first behavior instruction contained in the first parameter field, the type of each first behavior instruction contained in the first parameter field may be hard-coded in advance in the first node. For example, the first behavior instruction is of type a and the second behavior instruction is of type B.
If the first parameter field template does not define the location of at least one first behavior instruction contained in the first parameter field, the location of each first behavior instruction contained in the first parameter field may be hard-coded in advance in the first node. Alternatively, the location of the at least one first behavior instruction may be the same as the order in which the first parameter field template defines the type and length of the at least one first behavior instruction. For example, assuming that the first row in the first parameter field template defines the length of the behavior instruction a, the second row defines the length of the behavior instruction B, and the third row defines the length of the behavior instruction C, the 3 behavior instructions carried in the first parameter field may be arranged in the order of the behavior instruction a, the behavior instruction B, and the behavior instruction C.
If the first parameter field template does not define the length of at least one first behavior instruction contained in the first parameter field, the length of each first behavior instruction contained in the first parameter field may be hard-coded in advance in the first node, for example, the length of each first behavior instruction may be n bits, where n is an integer greater than 1. Or, the lengths of the first behavior instructions included in the first parameter field may be equal, and the first node may determine the length of each first behavior instruction based on the total length of the first parameter field and the number of the first behavior instructions carried in the first parameter field. For example, assuming that the first parameter field has a length of z bits, the first node may determine that the first parameter field carries m first behavior instructions based on the first parameter field template, and the first node may determine that each first behavior instruction has a length of z/m bits. Wherein z is an integer greater than 1 and m is an integer greater than or equal to 1.
Assume that the first parameter field has a length of z bits, for example z may be 32. Referring to fig. 16, the parameter field template may define 1 st to X-th bits in the first parameter field for carrying the first behavior instruction X, x+1 st to Y-th bits for carrying the first behavior instruction Y, and y+1 st to Z-th bits for carrying the first behavior instruction Z. Wherein x and y satisfy: 0< x < y < z. The first node may identify the first behavior instruction X, the first behavior instruction Y, and the first behavior instruction Z from the first parameter field based on the parameter field template shown in fig. 16.
For example, assuming that the length of the first parameter field is 32 bits, i.e. z=32, and the first parameter field needs to carry slice information, APN information, and information detected with the flow of the network slice at the same time, the first parameter field template may be defined as follows: bits 1 to 8 are a first subfield for carrying slice information; bits 9 to 24 are a second subfield for carrying APN information; bits 25 to 32 are a third subfield for carrying information detected with the stream.
As a first example of this first implementation, a plurality of different parameter field templates (templates) may be preconfigured in the first node, and a template identifier corresponding to each parameter field template. The first parameter field also includes a template identifier, i.e., a template ID. After the first node determines the first parameter field from the destination address field, the first node may identify the template ID from the first parameter field, and then determine the first parameter template for identifying the first parameter field according to the corresponding relationship between the template ID and the first parameter template. The first node may then identify at least one first behavior instruction in the first parameter field based on the first parameter field.
It will be appreciated that the location of the template ID in the first parameter field is preconfigured in the first node, and the first node may directly identify the template ID from the first parameter field based on the preconfigured location. For example, the last one or more bits of the first parameter field may be used to carry the template ID.
It is further understood that, based on different parameter field templates, different numbers, different types, and/or different lengths of first behavior instructions may be carried in the fixed-length first parameter field. Therefore, the flexibility of the first parameter field when carrying the behavior instruction is effectively improved, and the flexibility of the node when executing the processing behavior is further improved.
As a second example of this first implementation, the first node may be preconfigured with a plurality of different parameter field templates, and the behavior or behavior feature indicated by the segment identification corresponding to each parameter field template. The first node may determine a first parameter field template for identifying the first parameter field according to a correspondence between the behavior or behavior feature indicated by the first segment identification and the first parameter field template. Wherein the behavior indicated by the segment identification may refer to the behavior indicated by the function field in the segment identification.
In this example, the first node may determine the corresponding first parameter field template directly from the first segment identification, so the template ID need not be carried in the first parameter field, and thus more bits may be reserved for the first behavior instruction.
Alternatively, a plurality of SRv flags may be defined in the first node, each flag corresponding to (i.e., associated with) one parameter field template. And, each flag is associated with an action indicated by a segment identifier, or each flag is associated with a segment identifier. The behavior indicated by the segment identifier may refer to a processing behavior indicated by a function field in the segment identifier, and the processing behavior may include a conventional SRv behavior (behavior) and an additional behavior indicated by a flag associated with the segment identifier. The additional actions may include: and analyzing the first parameter field according to the designated parameter field template.
For example, 2 flavors may be defined in the first node, including Flavor 1 and Flavor 2. Wherein Flavor 1 is associated with template 1 and with a first segment identification SID1, flavor 2 is associated with template 2 and with a second segment identification SID 2. In addition, the template 1 defines two first behavior instructions, namely slice information and APN information, carried in a parameter field, and the arrangement sequence and length of the two behavior instructions. The template 2 defines that the parameter field carries information detected along with the stream, and the position, name and length of each field included in the information detected along with the stream.
Based on this, if the first segment identifier in the first destination address field of the first packet received by the first node is SID1, the first node may analyze the first parameter field corresponding to the SID1 by using the template 1, so as to identify two first behavior instructions in the first parameter field, that is, slice information and APN information. If the second segment identifier in the second destination address field of the second packet received by the first node is SID2, the first node may analyze the second parameter field corresponding to the SID2 by using the template 2, so as to identify a second behavior instruction in the second parameter field, that is, information detected along with the flow.
It will be appreciated that in the first implementation described above, the parameter field templates may be configured in all or part of the nodes in the packet forwarding system. Wherein, part of the nodes can be nodes needing to parse the structural parameter fields.
In a second possible implementation manner, the first parameter field may include at least one flag bit in the form of a bit string (bitmap), where each flag bit corresponds to one first behavior instruction. As a first example, each flag bit may be used to indicate whether the first parameter field carries its corresponding one of the first behavior instructions. As a second example, each flag bit may be used to indicate whether a corresponding one of the behavioral instructions in the first parameter field can be identified. If a certain flag bit indicates that a corresponding behavior instruction can be identified, the behavior instruction is indicated to be valid, and if a certain flag bit indicates that a corresponding behavior instruction cannot be identified, the behavior instruction is indicated to be invalid.
For example, if the flag bit has a value of 1, it indicates that the first parameter field carries a corresponding one of the first behavior instructions, or the corresponding one of the first behavior instructions in the first parameter field can be identified, that is, the first behavior instruction is valid. If the flag bit has a value of 0, it indicates that the first parameter field does not carry a corresponding first behavior instruction, or the corresponding first behavior instruction cannot be identified.
Wherein the first behavioral instruction cannot be identified may include the following: case 1, the first behavior instruction has failed; case 2, the first behavior instruction has been executed without the first node re-executing; in case 3, the first node is not required to execute the first behavior instruction, or the first node needs to ignore the first behavior instruction.
It may be appreciated that, in the first example, if a flag bit indicates that the first parameter field does not carry a corresponding first behavior instruction, it indicates that the first behavior instruction does not occupy the encoding space of the first parameter field. The coding space may be used for other purposes or left as a reserved field. In the second example, if a flag bit indicates that a corresponding one of the first behavior instructions in the first parameter field cannot be identified, the first behavior instruction still exists in the first parameter field, that is, the encoding space of the first parameter field is still occupied, but the first node does not identify and execute the first behavior instruction.
It may be further understood that in this second implementation, the first node may identify at least one flag bit carried in the first parameter field first, and then identify at least one first behavior instruction carried in the first parameter field according to the at least one flag bit. For example, the first node may determine at least one flag bit having a value of 1, and then identify at least one first behavior instruction corresponding to the at least one flag bit having a value of 1.
Alternatively, each flag bit in the first parameter field may be encoded starting with the most significant bit. For example, referring to (a) in fig. 17, the first parameter field may include 3 flag bits S, A and I located at high-order bits. Alternatively, each flag bit in the first parameter field may be encoded starting with the least significant bit. For example, referring to (b) of fig. 17, the first parameter field may include 3 flag bits S, A and I located at low bits. Alternatively, each flag bit in the first parameter field may be encoded at any other location. For example, referring to (c) in fig. 17, the first parameter field includes 3 flag bits S, A and I may be located at intermediate bits.
Alternatively, the respective flag bits in the first parameter field may be arranged consecutively, for example, referring to (a) to (c) in fig. 17, 3 flag bits S, A and I in the first parameter field occupy 3 consecutive bits. Alternatively, the flag bits in the first parameter field may be loosely arranged. For example, referring to (a) in fig. 18, 3 flag bits S, A and I in the first parameter field may be arranged at intervals, and the bit following each flag bit is a first behavior instruction corresponding to the flag bit.
In the embodiment of the present application, the arrangement order of each first behavior instruction in the first parameter field may be the same as or different from the arrangement order of each corresponding flag bit. For example, assume that a flag bit S in the first parameter field corresponds to a first behavior instruction I-S, a flag bit A corresponds to a first behavior instruction I-A, and a flag bit I corresponds to a first behavior instruction I-I. Referring to (a) and (b) of fig. 18, 3 flag bits in the first parameter field are arranged in the order of S, A and I, and 3 first behavior instructions corresponding to the 3 flag bits may be arranged in the order of the first behavior instruction I-S, the first behavior instruction I-a, and the first behavior instruction I-I. Alternatively, referring to (c) of fig. 18, the 3 first behavior instructions corresponding to the 3 flag bits may be arranged in the order of the first behavior instruction I-S, the first behavior instruction I-I, and the first behavior instruction I-a.
It can be understood that if the first parameter field does not carry the first behavior instruction corresponding to a certain flag bit, other first behavior instructions may be complemented to form a compact field arrangement. Alternatively, the other first behavior instructions may be arranged in a distributed or fixed position without bit filling.
For example, referring to (a), (b) and (c) in fig. 19, if the first parameter field does not carry the first behavior instruction I-a, the 3 flag bits S, A and I in the first parameter field and the remaining 2 first behavior instructions I-S and I-I may be sequentially arranged. Alternatively, referring to (d) in fig. 19, if the first parameter field does not carry the first behavioral instruction I-a, the remaining 2 first behavioral instructions I-S and I-I in the first parameter field may not need to be complemented, but remain in the original fixed position.
For a scenario in which the first parameter field does not carry a first behavior instruction corresponding to a certain flag bit, as a possible example, referring to (a) to (d) in fig. 19, redundant bits (i.e., idle bits) in the first parameter field may be set to zero, arbitrarily filled, or reserved. Wherein reservation may refer to keeping the originally filled content of the bit unchanged.
As another possible example, the extra bits in the first parameter field may be occupied by other first behavior instructions. Thus, the length of the other first behavior instructions can be effectively increased, so that the other first behavior instructions contain more information. For example, referring to (a) of fig. 20, if the first parameter field does not carry the first behavior instruction I-a, the first behavior instruction I-S located before the first behavior instruction I-a may occupy a number of bits originally used to carry the first behavior instruction I-a. Alternatively, referring to (b) in FIG. 20, the first behavior instruction I-I located after the first behavior instruction I-A may occupy several bits that were originally used to carry the first behavior instruction I-A.
In this second implementation manner, the position and the length of each flag bit in the first parameter field, and the type, the position and the length of the first behavior instruction corresponding to each flag bit may be standardized and unified, or may be customized in a certain network domain.
Based on the two implementation manners, compared with the conventional parameter field which is only used for carrying the parameter of the processing behavior indicated by the function field, in the scheme provided by the embodiment of the application, the first parameter field not only can be used for independently indicating the processing behavior, but also the number and the type of the behavior instructions carried in the first parameter field can be flexibly adjusted. Therefore, the flexibility of the first node in executing the processing behavior according to the indication of the first parameter field is effectively improved.
It will be appreciated that if the first parameter field includes other information in addition to the at least one first behavior instruction, such as parameters of the third processing behavior, shift marks, and/or at least one compressed segment identifier, the first node may also identify the other information in the first parameter field based on either of the two implementations.
It will also be appreciated that in step 209, the first node may parse the second parameter field using a second parameter field template or bitmap to identify at least one second behavior instruction. Wherein the second parameter field template may be determined from a template ID in the second parameter field or may be determined from a behavior indicated by the second segment identification. The second parameter field template may be the same as or different from the first parameter field template.
It can be further understood that the sequence of the steps of the message forwarding method provided by the embodiment of the application can be properly adjusted, and the steps can be correspondingly increased or decreased according to the situation. For example, steps 203 and 204 described above may be performed before step 202. Alternatively, the steps 203 and 204, and the steps 208 and 209 may be deleted according to circumstances. Alternatively, the steps 211 and 212 may be deleted according to circumstances, i.e. the third node may not need to identify and parse the third parameter field.
It is further understood that the first packet, the second packet, the third packet, and the fourth packet are only used to distinguish between different packets, and the first parameter field, the second parameter field, the third parameter field, and the fourth parameter field are only used to distinguish between parameter fields in different packets, and the first processing action, the second processing action, the third processing action, and the fourth processing action are only used to distinguish between processing actions indicated by different fields. In some embodiments, the third packet may also be referred to as a second packet, the third parameter field may also be referred to as a second parameter field, and the fourth processing action may also be referred to as a second processing action.
In summary, the embodiment of the application provides a message forwarding method. The destination address field of the first message received by the first node includes a first segment identifier, and the first node can determine a first parameter field corresponding to the first segment identifier from the destination address field, and can execute at least one first processing behavior indicated by the first parameter field. Because the method provided by the embodiment of the application can indicate the processing behavior through the first parameter field in the destination address field, compared with the method of indicating the processing behavior through additionally inserting the IPv6 extension header or the extension TLV, the length of the message header can be effectively reduced, and the data transmission efficiency can be improved. And because the first parameter field is a structured parameter field capable of indicating one or more first processing actions, the first node can be guided to execute richer processing actions.
And for the scene that the first segment identifier is the compressed segment identifier, if the forwarding path of the first message can be encoded in the destination address field, the first message does not need to be inserted into the SRH. At this time, although the optional TLV field in the SRH or a part of the DOH cannot carry instruction information indicating the packet processing behavior, the first node can be guided to perform rich processing behaviors through the first parameter field in the destination address field.
Fig. 21 is a schematic structural diagram of a first node according to an embodiment of the present application, where the first node may be applied to a packet forwarding system such as shown in fig. 1, and the steps performed by the first node in the foregoing method embodiment may be implemented. Referring to fig. 21, the first node includes:
the receiving module 301 is configured to receive a first packet, where a first destination address field of the first packet includes a first segment identifier. The functional implementation of the receiving module 301 may refer to the relevant descriptions of step 101 and step 202 in the above method embodiments.
A determining module 302 is configured to determine a first parameter field from the first destination address field, where the first parameter field corresponds to the first segment identifier. The functional implementation of the determination module 302 may refer to the relevant descriptions of step 102 and step 205 in the above-described method embodiments.
A processing module 303, configured to perform at least one first processing action indicated by the first parameter field. The functional implementation of the processing module 303 may refer to the relevant description of step 103 in the above-described method embodiment.
Optionally, the processing module 303 may be configured to identify at least one behavior instruction carried in the first parameter field, and execute at least one first processing behavior indicated by the at least one behavior instruction. The functional implementation of the processing module 303 may also refer to the relevant descriptions of step 206 and step 207 in the above-described method embodiments.
Optionally, the processing module 303 may be configured to identify at least one behavior instruction carried in the first parameter field according to a parameter field template. The parameter field template is used for defining the type, the position and/or the length of at least one behavior instruction carried by the first parameter field.
Optionally, the first parameter field may further include a template identifier; the processing module 303 may be further configured to determine the parameter field template according to a correspondence between the template identifier and the parameter field template.
Optionally, the processing module 303 may be further configured to determine the parameter field template according to a correspondence between the behavior or behavior feature indicated by the first segment identifier and the parameter field template.
Optionally, the processing module 303 may be configured to identify at least one flag bit carried in the first parameter field, and identify at least one behavior instruction carried in the first parameter field according to the at least one flag bit. Each flag bit corresponds to one behavior instruction and is used for indicating whether the first parameter field carries the corresponding one behavior instruction or whether the corresponding one behavior instruction in the first parameter field can be identified.
Optionally, the processing module 303 may be configured to perform at least one first processing action indicated by the first parameter field based on the structured parameter function of the first node being in an enabled state; or determining the first parameter field as a structured parameter field according to the behavior or behavior characteristic indicated by the function field in the first segment identifier, and executing at least one first processing behavior indicated by the first parameter field.
Optionally, the first segment identifier is a compressed segment identifier, and the length of the compressed segment identifier is less than 128 bits, or the length of the first segment identifier is 128 bits.
Optionally, the first parameter field is included in the first segment identifier, or the first parameter field is located after the first segment identifier.
Optionally, the first packet belongs to a target traffic flow. The receiving module 301 may be further configured to receive a second packet of the target traffic flow, where a second destination address field of the second packet includes a second segment identifier. The functional implementation of the receiving module 301 may also refer to the relevant description of step 204 in the above-described method embodiment.
The determining module 302 may be further configured to determine a second parameter field from the second destination address field, where the second parameter field corresponds to the second segment identifier. The functional implementation of the determination module 302 may also refer to the relevant description of step 208 in the method embodiment described above.
The processing module 303 may further be configured to perform at least one second processing action indicated by the second parameter field. Wherein the at least one second processing behavior is different from the at least one first processing behavior. The functional implementation of the processing module 303 may also refer to the description related to step 209 in the above method embodiment.
Optionally, the first segment identifier may further include a function field, where the function field is used to indicate a third processing behavior. The processing module 303 may be further configured to process the first packet according to the third processing behavior.
Optionally, the first parameter field is further used to carry parameters of the third processing behavior.
Optionally, the parameters of the third processing behavior may include: parameters of behavior of end.d2m, and/or, indices of compressed segment identifiers.
Optionally, the processing module 303 may be configured to process the first packet according to at least one first processing behavior indicated by the first parameter field.
Optionally, the at least one first processing action includes at least one of: forwarding a message based on slice resources of the network slice; forwarding a message based on the network service indicated by the application awareness information; detecting along with the flow; forwarding a message based on the allocated network resources; encrypting and forwarding a message; and (5) safety verification.
Optionally, the first parameter field includes at least one of a first subfield, a second subfield, a third subfield, a fourth subfield, a fifth subfield, and a sixth subfield; the first subfield is used for carrying slice information of the network slice; the second subfield is used for carrying the application awareness information; the third sub-field is used for carrying the information of the stream following detection; the fourth subfield is used for carrying information of the allocated network resources; the fifth sub-field is used for carrying an encryption mode of the encryption forwarding; the sixth subfield is used to carry a message authentication code for performing the security verification.
Optionally, the first parameter field further includes a seventh subfield; the seventh subfield is used to carry parameters of the third processing behavior indicated by the function field in the first segment identification.
Optionally, the at least one first processing action may further comprise at least one of the following actions: adjusting the running state of the first node; a flow table, forwarding table and/or state table is established for the traffic locally at the first node.
Optionally, the determining module 302 may be configured to determine the first parameter field from the first destination address field based on determining that the first segment is identified as the local SID of the first node.
Optionally, the first node does not support SRv forwarding techniques; the determining module 302 may be configured to determine a first parameter field from the first destination address field based on local configuration information of the first node.
Optionally, the first parameter field may further comprise at least one compressed segment identification, for example comprising at least one uSID.
In summary, the embodiment of the application provides a first node. The destination address field of the first message received by the first node includes a first segment identifier, and the first node can determine a first parameter field corresponding to the first segment identifier from the destination address field, and can execute at least one first processing action indicated by the first parameter field. Because the scheme provided by the embodiment of the application can indicate the processing behavior through the first parameter field in the destination address field, compared with the case that the processing behavior is indicated by additionally inserting the IPv6 extension header or the extension TLV, the length of the message header can be effectively reduced, and the data transmission efficiency is improved. And because the first parameter field is a structured parameter field capable of indicating one or more first processing actions, the first node can be guided to execute richer processing actions.
Fig. 22 is a schematic structural diagram of a third node according to an embodiment of the present application, where the third node may be applied to a packet forwarding system such as shown in fig. 1, and the steps performed by the third node in the foregoing method embodiment may be implemented. Referring to fig. 22, the first node includes:
the encapsulation module 401 is configured to encapsulate the first section identifier in the first packet. The functional implementation of the encapsulation module 401 may refer to the relevant description of step 201 in the above method embodiment.
A sending module 402, configured to send the first packet, so that a node receiving the first packet determines a first parameter field from a first destination address field of the first packet, and performs at least one first processing action indicated by the first parameter field. Wherein the first parameter field corresponds to the first segment identification. The functional implementation of the sending module 402 may refer to the relevant description of step 202 in the above method embodiment.
Optionally, the encapsulating module 401 may be configured to encapsulate the first segment identifier in a first destination address field; or encapsulating the SRH in the first message, wherein the SRH comprises the first section identifier.
Optionally, the first packet belongs to a target traffic flow, and the encapsulation module 401 may be further configured to encapsulate a second segment identifier in a second packet of the target traffic flow. The functional implementation of the encapsulation module 401 may also refer to the relevant description of step 203 in the above-described method embodiment.
The sending module 402 may be further configured to send the second packet, so that a node that receives the second packet determines a second parameter field from a second destination address field of the second packet, and performs at least one second processing action indicated by the second parameter field. Wherein the second parameter field corresponds to the second segment identification, the at least one second processing behavior being different from the at least one first processing behavior. The functional implementation of the sending module 402 may also refer to the relevant description of step 204 in the above-described method embodiment.
Optionally, the node indicated by the first segment identification is the same as the node indicated by the second segment identification.
Optionally, the first segment identifier is a compressed segment identifier, and the length of the compressed segment identifier is less than 128 bits; alternatively, the first segment identification is 128 bits in length.
Optionally, the first parameter field is included in the first segment identifier, or the first parameter field is located after the first segment identifier.
In summary, the embodiment of the present application provides a third node. The third node can encapsulate the first segment identifier in the first message, and the node that receives the first message can determine a first parameter field corresponding to the first segment identifier from a destination address field of the first message, and can execute at least one first processing behavior indicated by the first parameter field. Because the scheme provided by the embodiment of the application can indicate the processing behavior through the first parameter field in the destination address field, compared with the case that the processing behavior is indicated by additionally inserting the IPv6 extension header or the extension TLV, the length of the message header can be effectively reduced, and the data transmission efficiency is improved. And because the first parameter field is a structured parameter field capable of indicating one or more first processing actions, the first node can be guided to execute richer processing actions.
Fig. 23 is a schematic structural diagram of a second node according to an embodiment of the present application, where the second node may be applied to a packet forwarding system such as shown in fig. 1, and the steps performed by the second node in the foregoing method embodiment may be implemented. Referring to fig. 23, the second node includes:
the receiving module 501 is configured to receive a second packet sent by the first node, where a second destination address field of the second packet includes a second segment identifier. The second message is obtained based on the first message received by the first node. The functional implementation of the receiving module 501 may refer to the relevant description of step 210 in the above method embodiment.
The determining module 502 is configured to determine a second parameter field from the second destination address field, where the second parameter field corresponds to the second segment identifier. The functional implementation of the determination module 502 may refer to the relevant description of step 211 in the above-described method embodiment.
A processing module 503, configured to perform at least one second processing action indicated by the second parameter field. The functional implementation of the processing module 503 may refer to the relevant description of step 212 in the above-described method embodiment.
Alternatively, the first parameter field and the second parameter field may be the same field.
Optionally, the at least one first processing behavior is the same as the at least one second processing behavior.
Optionally, the first section identifier and the second section identifier are both compressed section identifiers, and the length of the compressed section identifiers is less than 128 bits; alternatively, the first segment identification and the second segment identification are each 128 bits in length.
Optionally, the first parameter field is included in a first segment identifier, and the second parameter field is included in a second segment identifier; alternatively, the first parameter field is located after the first segment identification and the second parameter field is located after the second segment identification.
In summary, the embodiment of the present application provides a second node. The destination address field of the second message received by the second node includes a second segment identifier, and the second node can determine a second parameter field corresponding to the second segment identifier from the destination address field, and can execute at least one second processing action indicated by the second parameter field. Because the scheme provided by the embodiment of the application can indicate the processing behavior through the first parameter field in the destination address field, compared with the case that the processing behavior is indicated by additionally inserting the IPv6 extension header or the extension TLV, the length of the message header can be effectively reduced, and the data transmission efficiency is improved.
It may be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the first node, the second node, the third node and the modules described above may refer to the corresponding processes in the foregoing method embodiments, which are not described herein again.
It should be appreciated that the first node, the second node, and the third node provided by the embodiments of the present application may also be implemented as application-specific integrated circuits (ASICs), programmable logic devices (programmable logic device, PLDs), which may be complex program logic devices (complex programmable logical device, CPLDs), field-programmable gate arrays (FPGAs), general-purpose array logic (generic array logic, GAL), or any combinations thereof. In addition, the method for receiving a message, the method for sending a message, or the method for forwarding a message provided in the foregoing method embodiment may also be implemented by software, and when the method provided in the foregoing method embodiment is implemented by software, each functional module in the first node, the second node, and the third node may also be a software module.
Fig. 24 is a schematic structural diagram of a network device according to an embodiment of the present application. The network device may be applied to a system such as that shown in fig. 1, and may be a first node, a second node, or a third node in the system. Referring to fig. 24, the network device includes: a processor 601, a memory 602, a network interface 603 and a bus 604.
In which a computer program 6021 is stored in the memory 602, the computer program 6021 is for realizing various application functions. The processor 601 is configured to execute the computer program 6021 to implement the method applied to the first node, the second node, or the third node provided by the above-described method embodiment. For example, the processor 601 is configured to execute the computer program 6021 to implement the functions of the respective modules in the node shown in fig. 21, 22, or 23 described above.
The processor 601 may be a central processing unit (central processing unit, CPU), the processor 601 may also be other general purpose processors, digital signal processors (digital signal processor, DSP), ASIC, FPGA, graphics processor (graphics processing unit, GPU) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general purpose processor may be a microprocessor or any conventional processor.
The memory 602 may be volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The nonvolatile memory may be a read-only memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an electrically Erasable EPROM (EEPROM), or a flash memory. The volatile memory may be random access memory (random access memory, RAM) which acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous DRAM (SLDRAM), and direct memory bus RAM (DR RAM).
The network interface 603 may be plural and the network interface 603 is used to enable communication connection (which may be wired or wireless) with other devices. In this embodiment of the present application, the network interface 603 is used for receiving and transmitting a message. The other devices may be terminals, servers, VMs, etc. or other network devices.
A bus 604 is used to connect the processor 601, the memory 602, and the network interface 603. Further, the bus 604 may include a power bus, a control bus, a status signal bus, and the like in addition to the data bus. But for clarity of illustration, the various buses are labeled as bus 604 in the figures.
If the network device is a first node, the processor 601 is configured to receive a first packet through the network interface 603, where a first destination address field of the first packet includes a first segment identifier, determine a first parameter field from the first destination address field, and perform at least one first processing action indicated by the first parameter field. Wherein the first parameter field corresponds to a first segment identifier. For details of the processing procedure of the processor 601, please refer to the steps executed by the first node in the method embodiment shown in fig. 10 and 11, which are not described herein.
If the network device is a third node, the processor 601 is configured to encapsulate the first segment identifier in a first packet, and send the first packet, so that a node that receives the first packet determines a first parameter field from a first destination address field of the first packet, and executes at least one first processing behavior indicated by the first parameter field. Wherein the first parameter field corresponds to a first segment identifier. The detailed processing procedure of the processor 601 refers to the steps executed by the third node in the method embodiment shown in fig. 11, and will not be described herein.
If the network device is a second node, the processor 601 is configured to receive a second packet sent by the first node through the network interface 603, where a second destination address field of the second packet includes a second segment identifier, determine a second parameter field from the second destination address field, and perform at least one second processing action indicated by the second parameter field. Wherein the second parameter field corresponds to a second segment identifier. The detailed processing procedure of the processor 601 refers to the steps executed by the second node in the method embodiment shown in fig. 11, and will not be described herein.
Fig. 25 is a schematic structural diagram of another network device according to an embodiment of the present application. The network device may be applied to a system such as that shown in fig. 1, and may be a first node, a second node, or a third node in the system. As shown in fig. 25, the network device may include: a main control board 701 and at least one interface board (interface board is also referred to as a line card or service board), such as interface board 702 and interface board 703 are shown in fig. 25. The network device may also include a switching fabric 704 in the case of multiple interface boards, the switching fabric 704 being configured to perform data exchanges between the interface boards.
The main control board 701 is also called a main processing unit (main processing unit, MPU) or a routing processing card (route processor card), and the main control board 701 is used for performing functions such as system management, equipment maintenance and protocol processing. The main control board 701 is mainly provided with 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 701 includes: a central processor 7011 and a memory 7012.
The interface boards 702 and 703 are also called line interface unit cards (line processing unit, LPU), line cards (line cards) or service boards, and are used to provide various service interfaces and implement forwarding of messages. The service interface provided by the interface board may include: SONET/SDH based packet (packet over SONET/SDH, POS) interfaces, gigabit Ethernet (GE) interfaces, and asynchronous transfer mode (asynchronous transfer mode, ATM) interfaces, among others. Where SONET refers to synchronous optical network (synchronous optical network), SDH refers to synchronous digital hierarchy (synchronous digital hierarchy). The main control board 701, the interface board 702 and the interface board 703 are connected with the system back board through a system bus to realize intercommunication. As shown in fig. 25, one or more central processing units 7021 are included on the interface board 702. The cpu 7021 is configured to control and manage the interface board 702 and communicate with the cpu 7011 on the main control board 701, and the interface board 702. The memory 7024 on the interface board 702 is used to store forwarding table entries, and the network processor 7022 may forward the message by looking up the forwarding table entries stored in the memory 7024. Memory 7024 may also be used for storing program codes.
The interface board 702 further includes one or more physical interface cards 7023, where the one or more physical interface cards 7023 are configured to receive a packet sent by a previous hop node, and send a processed packet to a next hop node according to an instruction of the central processor 7021.
Furthermore, it is understood that the central processor 7021 and/or the network processor 7022 in the interface board 702 in fig. 25 may be dedicated hardware or chips, for example, ASIC may be used to implement the above functions, which is a so-called forwarding plane processing manner using dedicated hardware or chips. In other embodiments, the central processor 7021 and/or the network processor 7022 may also employ a general purpose processor, such as a general purpose CPU, to implement the functions described above.
It should be further understood that the master board 701 may have one or more blocks, and that the blocks may include a primary master board and a backup master board. The interface boards may have one or more blocks, the more data processing capabilities the network device is, the more interface boards are provided. As shown in fig. 25, the network device includes an interface board 702 and an interface board 703. When the distributed forwarding mechanism is adopted, the structure of the interface board 703 is substantially the same as that of the interface board 702, and the operation on the interface board 703 is substantially similar to that of the interface board 702, so that the description is omitted for brevity. Where the network device has multiple interface boards, the multiple interface boards may communicate with each other through one or more switch fabric 704, and load sharing and redundancy backup may be implemented to provide high capacity data exchange and processing capabilities.
In the centralized forwarding architecture, the network device may not need the switch board 704, and the interface board may take on the processing function of the service data of the entire system. Therefore, the data access and processing power of the network device of the distributed architecture is greater than that of the network device of the centralized architecture. The specific architecture employed is not limited in any way herein, depending on the specific networking deployment scenario.
In an embodiment of the application, memory 7012 and Memory 7024 may be ROM or other type of static storage device that can store static information and instructions, RAM or other type of dynamic storage device that can store information and instructions, EEPROM, compact disk read-only Memory (CD-ROM) or other optical disk storage, optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), magnetic disk or other magnetic storage devices, 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, without limitation. The memory 7024 in the interface board 702 may be independent and connected to the central processor 7021 via a communication bus; alternatively, the memory 7024 may be integrated with the central processor 7021. The memory 7012 in the main control board 701 may be independent and connected to the central processor 7011 through a communication bus; alternatively, the memory 7012 may be integrated with the central processor 7011.
The execution of the program codes stored in the memory 7024 is controlled by the central processor 7021, and the execution of the program codes stored in the memory 7012 is controlled by the central processor 7011. The central processor 7021 and/or the central processor 7011 may implement the method performed by any node provided by the above method embodiments by executing program codes. One or more software elements may be included in the program code stored in memory 7024 and/or memory 7012. The one or more software elements may be the functional modules shown in any of figures 21 to 23.
In an embodiment of the application, the physical interface card 7023 may be a device that uses any transceiver or the like for communication with other devices or communication networks, such as ethernet, radio access network (radio access network, RAN), wireless local area network (wireless local area networks, WLAN), etc.
Alternatively, the apparatus shown in any one of fig. 21 to 24 may be implemented using the structure shown in fig. 25.
Embodiments of the present application also provide a computer readable storage medium having instructions stored therein, which when executed by a processor, cause the processor to perform steps performed by a first node, a second node, or a third node as in the method embodiments described above.
Embodiments of the present application also provide a computer program product comprising instructions which, when run on a processor, cause the processor to perform the steps performed by the first node, the second node or the third node as in the method embodiments described above.
The embodiment of the application also provides a message forwarding system, as shown in fig. 1, which comprises a plurality of nodes 01. The plurality of nodes 01 includes a first node that may be configured to implement the method performed by the first node in the method embodiment described above.
Optionally, the plurality of nodes 01 may further comprise a second node and/or a third node. The second node may be configured to implement the method performed by the second node in the method embodiment, and the third node may be configured to implement the method performed by the third node in the method embodiment.
The structure of the first node may be as shown in fig. 21, 24 or 25, the structure of the third node may be as shown in fig. 22, 24 or 25, and the structure of the second node may be as shown in fig. 23, 24 or 25.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program for instructing relevant hardware, where the program may be stored in a computer readable storage medium, and the storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
In embodiments of the present application, the terms "first," "second," and "third" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. The term "and/or" in the present application is merely an association relation describing the association object, and indicates that three kinds of relations may exist, for example, a and/or B may indicate: a exists alone, A and B exist together, and B exists alone. In addition, the character "/" herein generally indicates that the front and rear associated objects are an "or" relationship.
The foregoing description of the preferred embodiments of the present application is not intended to limit the application, but is intended to cover any modifications, equivalents, alternatives, and improvements within the spirit and principles of the application.

Claims (39)

1. A method for receiving a message, the method being applied to a first node, the method comprising:
receiving a first message, wherein a first destination address field of the first message comprises a first section identifier;
determining a first parameter field from the first destination address field, wherein the first parameter field corresponds to the first segment identifier;
at least one first processing action indicated by the first parameter field is performed.
2. The method of claim 1, wherein said performing at least one first processing action indicated by said first parameter field comprises:
identifying at least one behavior instruction carried in the first parameter field;
executing the at least one first processing behavior indicated by the at least one behavior instruction.
3. The method of claim 2, wherein the identifying at least one behavioral instruction carried in the first parameter field comprises:
identifying the at least one behavior instruction carried in the first parameter field according to a parameter field template;
the parameter field template is used for defining the type, the position and/or the length of the at least one behavior instruction carried by the first parameter field.
4. A method according to claim 3, wherein the first parameter field further comprises a template identification; the method further comprises the steps of:
and determining the parameter field template according to the corresponding relation between the template identifier and the parameter field template.
5. A method according to claim 3, characterized in that the method further comprises:
and determining the parameter field template according to the corresponding relation between the behavior or behavior characteristic indicated by the first segment identification and the parameter field template.
6. The method of claim 2, wherein the identifying at least one behavioral instruction carried in the first parameter field comprises:
identifying at least one flag bit carried in the first parameter field, wherein each flag bit corresponds to a behavior instruction;
and identifying at least one behavior instruction carried in the first parameter field according to the at least one flag bit.
7. The method of claim 6, wherein each flag bit is used to indicate whether a corresponding one of the behavior instructions is carried in the first parameter field or whether a corresponding one of the behavior instructions in the first parameter field is identifiable.
8. The method according to any of the claims 1 to 7, wherein said performing at least one first processing action indicated by said first parameter field comprises:
executing at least one first processing behavior indicated by the first parameter field based on the structured parameter function of the first node being in an enabled state; or alternatively, the first and second heat exchangers may be,
and determining the first parameter field as a structured parameter field according to the behavior or behavior characteristic indicated by the function field in the first segment identifier, and executing at least one first processing behavior indicated by the first parameter field.
9. The method according to any of claims 1 to 8, wherein the first segment identification is a compressed segment identification, the compressed segment identification having a length of less than 128 bits.
10. The method according to any of claims 1 to 8, wherein the first segment identity is 128 bits in length.
11. The method according to any of claims 1 to 10, wherein the first parameter field is included in the first segment identification or the first parameter field is located after the first segment identification.
12. The method according to any one of claims 1 to 11, wherein the first message belongs to a target traffic flow, the method further comprising:
receiving a second message of the target service flow, wherein a second destination address field of the second message comprises a second section identifier;
determining a second parameter field from the second destination address field, wherein the second parameter field corresponds to the second segment identifier;
at least one second processing behavior indicated by the second parameter field is performed, the at least one second processing behavior being different from the at least one first processing behavior.
13. The method according to any of claims 1 to 12, wherein the first segment identification further comprises a function field for indicating a third processing behaviour; the method further comprises the steps of:
And processing the first message according to the third processing behavior.
14. The method of claim 13, wherein the first parameter field is further used to carry parameters of the third processing behavior.
15. The method of claim 14, wherein the parameters of the third processing action comprise:
parameters of endpoint end.d2m behavior with decapsulation and two-layer L2 table flooding, and/or indices of compressed segment identifiers.
16. The method according to any of the claims 1 to 15, wherein said performing at least one first processing action indicated by said first parameter field comprises:
and processing the first message according to at least one first processing behavior indicated by the first parameter field.
17. The method of claim 16, wherein the at least one first processing action comprises at least one of:
forwarding a message based on slice resources of the network slice;
forwarding a message based on the network service indicated by the application awareness information;
detecting along with the flow;
forwarding a message based on the allocated network resources;
encrypting and forwarding a message;
and (5) safety verification.
18. The method of claim 17, wherein the first parameter field comprises at least one of a first subfield, a second subfield, a third subfield, a fourth subfield, a fifth subfield, and a sixth subfield;
The first subfield is used for carrying slice information of the network slice;
the second subfield is used for carrying the application awareness information;
the third subfield is used for carrying the information detected along with the flow;
the fourth subfield is configured to carry information of the allocated network resource;
the fifth subfield is used for carrying an encryption mode of the encryption forwarding;
the sixth subfield is used to carry a message authentication code for performing the security verification.
19. The method of claim 18, wherein the first parameter field further comprises a seventh subfield;
the seventh subfield is configured to carry parameters of a third processing behavior indicated by a function field in the first segment identifier.
20. The method according to any one of claims 1 to 19, wherein the at least one first processing action comprises at least one of:
adjusting the running state of the first node;
and establishing a flow table, a forwarding table and/or a state table for the traffic at the local of the first node.
21. The method according to any one of claims 1 to 20, wherein said determining a first parameter field from said first destination address field comprises:
A first parameter field is determined from the first destination address field based on determining that the first segment identification is a local segment identification SID of the first node.
22. The method according to any of claims 1 to 21, wherein the first node does not support an internet protocol version 6 based segment routing SRv forwarding technique; the determining a first parameter field from the first destination address field includes:
a first parameter field is determined from the first destination address field based on local configuration information of the first node.
23. The method according to any of claims 1 to 22, wherein the first parameter field further comprises at least one compressed segment identification.
24. A method for sending a message, the method comprising:
encapsulating the first section identifier in a first message;
transmitting the first message, so that a node receiving the first message determines a first parameter field from a first destination address field of the first message, and executes at least one first processing behavior indicated by the first parameter field;
wherein the first parameter field corresponds to the first segment identification.
25. The method of claim 24, wherein encapsulating the first segment identifier in the first message comprises:
Encapsulating a first segment identifier in the first destination address field;
or, encapsulating a segment routing header SRH in a first message, where the SRH includes the first segment identifier.
26. The method according to claim 24 or 25, wherein the first message belongs to a target traffic flow, the method further comprising:
encapsulating a second section identifier in a second message of the target service flow;
transmitting the second message, so that a node receiving the second message determines a second parameter field from a second destination address field of the second message, and executes at least one second processing action indicated by the second parameter field;
wherein the second parameter field corresponds to the second segment identification, the at least one second processing behavior being different from the at least one first processing behavior.
27. The method of claim 26, wherein the node indicated by the first segment identification is the same as the node indicated by the second segment identification.
28. The method of any one of claims 24 to 27, wherein the first segment identification is a compressed segment identification, the compressed segment identification having a length of less than 128 bits;
Alternatively, the first segment identifier has a length of 128 bits.
29. The method according to any of claims 24 to 28, wherein the first parameter field is included in the first segment identification or is located after the first segment identification.
30. The message forwarding method is characterized by being applied to a message forwarding system, wherein the message forwarding system comprises a first node and a second node; the method comprises the following steps:
the first node receives a first message, and a first destination address field of the first message comprises a first section identifier;
the first node determines a first parameter field from the first destination address field, wherein the first parameter field corresponds to the first segment identifier;
the first node performs at least one first processing action indicated by the first parameter field;
the second node receives a second message sent by the first node, the second message is obtained based on the first message, and a second destination address field of the second message comprises a second section identifier;
the second node determines a second parameter field from the second destination address field, wherein the second parameter field corresponds to the second segment identifier;
The second node performs at least one second processing action indicated by the second parameter field.
31. The method of claim 30, wherein the first parameter field and the second parameter field are the same field.
32. The method according to claim 30 or 31, wherein the at least one first processing behaviour and the at least one second processing behaviour are identical.
33. The method of any one of claims 30 to 32, wherein the first segment identification and the second segment identification are both compressed segment identifications, the compressed segment identifications being less than 128 bits in length;
alternatively, the lengths of the first segment identifier and the second segment identifier are 128 bits.
34. The method according to any of the claims 30 to 33, wherein the first parameter field is comprised in the first segment identity and the second parameter field is comprised in the second segment identity;
alternatively, the first parameter field is located after the first segment identification and the second parameter field is located after the second segment identification.
35. A network device, the network device comprising: a memory, a processor and a computer program stored on the memory and capable of running on the processor, the processor implementing the method of any one of claims 1 to 34 when the computer program is executed.
36. A computer readable storage medium having instructions stored therein which, when executed on a processor, cause the processor to perform the method of any one of claims 1 to 34.
37. A computer program product comprising instructions for execution by a processor to implement the method of any one of claims 1 to 34.
38. A message forwarding system, the system comprising: a plurality of nodes;
at least one of the plurality of nodes is adapted to implement the method of any of claims 1 to 23.
39. The system of claim 38, wherein at least one of the plurality of nodes is further configured to implement the method of any of claims 24 to 29.
CN202210843988.2A 2022-05-28 2022-07-18 Message receiving method, message sending method, message forwarding device and message forwarding system Pending CN117176632A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2023/073744 WO2023231431A1 (en) 2022-05-28 2023-01-29 Message receiving method, sending method, forwarding method, apparatus, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2022105950791 2022-05-28
CN202210595079 2022-05-28

Publications (1)

Publication Number Publication Date
CN117176632A true CN117176632A (en) 2023-12-05

Family

ID=88941904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210843988.2A Pending CN117176632A (en) 2022-05-28 2022-07-18 Message receiving method, message sending method, message forwarding device and message forwarding system

Country Status (2)

Country Link
CN (1) CN117176632A (en)
WO (1) WO2023231431A1 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10250485B2 (en) * 2015-10-08 2019-04-02 Abl Ip Holding Llc Broadcast message translation in a network device
CN110636001B (en) * 2018-06-25 2021-12-03 华为技术有限公司 Method for sending network performance parameters and calculating network performance and network node
CN110266594B (en) * 2019-06-28 2021-07-30 Ut斯达康通讯有限公司 Cross-network-slice segmented routing forwarding method and device
CN110784411B (en) * 2019-09-30 2021-10-01 华为技术有限公司 Method, device and system for establishing BIER forwarding table item
CN116761208A (en) * 2020-03-17 2023-09-15 华为技术有限公司 Message processing method, device, equipment and storage medium
CN113438160A (en) * 2020-03-23 2021-09-24 中兴通讯股份有限公司 Routing method, routing device and computer readable storage medium
CN113726654B (en) * 2021-08-13 2023-05-26 新华三信息安全技术有限公司 Message forwarding method and device of SRV6 protocol, electronic equipment and medium

Also Published As

Publication number Publication date
WO2023231431A1 (en) 2023-12-07

Similar Documents

Publication Publication Date Title
US11824771B2 (en) Packet processing method, related device, and computer storage medium
CN111512601B (en) Segmented routing network processing of packets
CN113259238B (en) Method and device for processing segment identifiers
US7894442B2 (en) Data transmission method and a system thereof
US20230137778A1 (en) Packet Sending Method and Apparatus, Network Device, System, and Storage Medium
US20240048479A1 (en) Packet Forwarding Method and Apparatus, Network Device, and Storage Medium
US20230091414A1 (en) Packet Processing Method, Device, and System
CN112769738A (en) DetNet data packet processing method and device
US20230388223A1 (en) Packet forwarding method, apparatus, and system
US20230254246A1 (en) Mechanisms for packet path tracing and per-hop delay measurement in segment routing with multiprotocol label switching (sr-mpls) networks
CN113765800A (en) Method, device, system, equipment and readable storage medium for transmitting message
CN117176632A (en) Message receiving method, message sending method, message forwarding device and message forwarding system
CN114079583A (en) Method for sending multicast message, method and device for obtaining forwarding table item
US11863446B2 (en) User group-based packet forwarding method, device, and system
WO2023185235A1 (en) Packet forwarding method, apparatus and system
EP4236121A1 (en) Network synchronization method and apparatus, and device, system and readable storage medium
WO2023231428A1 (en) Ipv4 packet encapsulation method, electronic device, and computer storage medium
US20240048478A1 (en) Message forwarding method and apparatus, communication device, and readable storage medium
WO2024040884A1 (en) Service processing method, apparatus and system
WO2024041064A1 (en) Quic packet transmission method and related device
CN117478591A (en) Message processing method, network equipment and system
CN117640791A (en) Service processing method, device and system
CN115643222A (en) Message transmission method, device and storage medium
CN117354223A (en) Traffic transmission method, traffic transmission device, traffic transmission system, communication equipment and storage medium
CN116264590A (en) Service processing method, device and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication