The present disclosure relates to the field of communications, and in particular, to a packet sending method and device, a storage medium and an electronic device.
A major improvement made by a Multi-Protocol Label Switching (MPLS) technology is the introduction of the concept of labels. According to the MPLS technology, an Internet Protocol (IP) address is mapped to a label with a fixed length, and the label is then used in various packet forwarding and packet switching techniques. An edge device in an MPLS network, upon receiving data packets, analyzes content of the data packets, selects appropriate labels for these data packets, and encapsulates these data packets with the acquired fixed-length labels and transmits the encapsulated data packets to the MPLS network. All routers in the MPLS network use these fixed-length labels instead of the IP header as the basis for forwarding. When the data packets finally exit the MPLS network, the fixed-length labels are stripped from the data packets by the edge device of the MPLS network. This method of utilizing the MPLS technology to forward data packets enhances the efficiency of data forwarding.
The Internet Protocol version 6 (IPv6) defines a set of packet headers, including a basic IPv6 packet header and IPv6 extension headers. The IPv6 extension headers include the Hop-by-Hop Options Header, the Routing Header, the Destination Options Header, etc.
Segment Routing (SR) is a source address-based routing scheme that uses a series of instruction operations (also known as segment operations) carried in the existing label stack (SR-MPLS) of the MPLS network or in the IPv6 Segment Routing Header in an IPv6 packet header (SRv6) to route and transmit data in the network.
In SRv6 network programming, SRv6 Segment is a 128-bit number and is often referred to as an SRv6 Segment Identifier (SID) or short as SID. The SRv6 SID is a network instruction that includes Locator and Function, as well as potential parameters (Argument). The Locator is primarily used for routing functions and is unique within an SR domain. The Function may indicate any function of a device, such as a specific forwarding behavior or a certain type of service. The Argument mainly carries parameters related to the Function. The structure of the SRv6 SID facilitates network programming.
As networks evolve and new types of services emerge, more and more services require data to be carried within or after the MPLS label stack. The existing data indication and carrying methods in the MPLS technology have various shortcomings, such as non-unified schemes and poor scalability. Especially in certain scenarios, multiple types of data need to be stacked at the bottom of the stack, and different nodes need to handle different data, making the original MPLS architecture unable to meet the requirements. Therefore, one of the ongoing projects in the IETF is to design a new MPLS architecture, referred to as MPLS 2.0 in the following text, to better meet the growing and diverse needs for carrying data.
Regardless of how the MPLS 2.0 scheme is designed, the MPLS architecture will ultimately include the following components.
It should be noted that MPLS 2.0 mainly changes the way data is carried and indicated, and the basic packet forwarding mechanism is consistent with the original MPLS. The same type of service/data may be carried in different methods in different data planes. If a type of service/ancillary data information is transmitted among multiple data planes, a regular solution is to terminate the encapsulation of the previous data plane at the edge node and regenerate the ancillary data information according to the service requirements. For example, in a case of the transmission of a packet from the MPLS to the IPv6, if there is a demand for end-to-end traffic Equal Cost Multi-path (ECMP) for the packet received from the MPLS, when the packet is sent from the head node of the MPLS, an entropy label is generated based on the payload content and placed in the label stack. At the edge node of the MPLS, the MPLS encapsulation is terminated (including the entropy label carried in the packet), and a value used for the ECMP is regenerated according to the payload content, and placed in the “flow label” field in the IPv6 header. That is, the edge node does not reuse the entropy label value generated at the head node, but regenerates a new entropy label value. This requires that the edge node and the service head node have the same capabilities for a specific service. If the packet carries multiple types of data, the requirements for the capabilities of the edge node should also be increased accordingly. Currently, there are also some data conversion methods for specific services, but these data conversion methods have relatively limited scope of application and cannot be used as a general solution.
After the proposal of the MPLS 2.0 architecture, MPLS 2.0 needs to ensure the compatibility of its functions, that is, the functions that already exist in the original MPLS dataplane should also be available in MPLS 2.0, but the form of the Indicator and the method for carrying data may be different.
Regarding the problem of low packet transmission efficiency between domains of different data planes in related technologies, no effective solution has yet been proposed.
Therefore, it is necessary to improve the related technologies to overcome the aforementioned shortcomings in the related technologies.
Embodiments of the present disclosure provide a packet sending method and device, a storage medium and an electronic device, which may at least solve the problem of low packet transmission efficiency between domains of different data planes in related technologies.
According to an aspect of the embodiments of the present disclosure, provided is a packet sending method, including: acquiring a feature field in a first packet received from a first domain, wherein the feature field is used for acquiring ancillary data information carried in the first packet, and the feature field indicates at least one of: a carrying position of the ancillary data information and a data type of the ancillary data information; converting, according to the feature field, the first packet into a second packet conforming to a data plane format of a second domain; and sending the second packet to the second domain.
According to another aspect of the embodiments of the present disclosure, provided is a packet sending device, including: an acquisition module, configured to acquire a feature field in a first packet received from a first domain, wherein the feature field is used for acquiring ancillary data information carried in the first packet, and the feature field indicates at least one of: a carrying position of the ancillary data information and a data type of the ancillary data information; a conversion module, configured to convert, according to the feature field, the first packet into a second packet conforming to a data plane format of a second domain; and a sending module, configured to send the second packet to the second domain.
According to another aspect of the embodiments of the present disclosure, provided is a computer-readable storage medium. The computer-readable storage medium stores a computer program, wherein the computer program, when running on a processor, causes the processor to execute the described packet sending method.
According to another aspect of the embodiments of the present disclosure, also provided is an electronic device, including a memory, a processor and a computer program stored in the memory and operable on the processor, wherein the processor runs the computer program to execute the described packet sending method.
By means of the embodiments of the present disclosure, a feature field in a first packet received from a first domain is acquired, wherein the feature field is used for acquiring ancillary data information carried in the first packet, and the feature field indicates at least one of: a carrying position of the ancillary data information and a data type of the ancillary data information; the first packet is converted into a second packet conforming to a data plane format of a second domain according to the feature field; and the second packet is sent to the second domain. The scheme solves the problem of low packet transmission efficiency between domains of different data planes in related technologies.
The drawings described herein are intended to provide further understanding of the present disclosure, and form a part of the present disclosure. The exemplary embodiments of the present disclosure and the description thereof are used to explain the present disclosure, and do not form improper limits to the present disclosure. In the drawings:
In order to make those having ordinary skill in the art better understand the solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure are clearly and completely described as follows with reference to the accompanying drawings in the embodiments of the present disclosure. Apparently, the described embodiments are merely a part rather than all of the embodiments of the present disclosure. All other embodiments acquired by those having ordinary skill in the art based on the embodiments of the present disclosure without creative efforts shall belong to the scope of protection of the present disclosure.
It should be noted that, terms such as “first” and “second” in the specification, claims, and accompanying drawings of the present disclosure are used to distinguish similar objects, but are not necessarily used to describe a specific sequence or order. It should be understood that the data so used may be interchanged where appropriate so that embodiments of the present disclosure described herein may be implemented in sequences other than those illustrated or described herein. In addition, the terms “include” and “have”, and any variations thereof, are intended to cover a non-exclusive inclusion, for example, a process, method, system, product, or device that includes a series of operations or units is not necessarily limited to those operations or units that are expressly listed, but may include other operations or units that are not expressly listed or inherent to such process, method, product, or device.
The method embodiments provided in the embodiments of the present disclosure may be executed in a computer terminal or a similar computing device. Taking the running on a computer terminal as an example,
The memory 304 may be configured to store a computer program, for example, a software program and modules of application software, such as a computer program corresponding to the packet sending method in the embodiments of the present disclosure. The one or more processors 302 run the computer program stored in the memory 304, so as to execute various function applications and data processing, that is, to implement the foregoing methods. The memory 304 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, one or more flash memories, or other non-volatile solid-state memories. In some examples, the memory 304 may further include a memory remotely located with respect to the one or more processors 302, which may be connected to a computer terminal over a network. Examples of such network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
The transmission device 306 is configured to receive or transmit data via a network. Specific examples of the described network may include a wireless network provided by a communication provider of the computer terminal. In an example, the transmitter device 306 may include a Network Interface Controller (NIC) that may be coupled to other network devices via a base station to communicate with the Internet. In an example, the transmission device 306 can be a Radio Frequency (RF) module configured to wirelessly communicate with the Internet.
In operation S402, a feature field is acquired in a first packet received from a first domain, wherein the feature field is used for acquiring ancillary data information carried in the first packet, and the feature field indicates at least one of: a carrying position of the ancillary data information and a data type of the ancillary data information.
In operation S404, the first packet is converted, according to the attribute field, into a second packet conforming to a data plane format of a second domain.
In operation S406, the second packet is sent to the second domain.
It should be noted that, the data plane of the first domain includes MPLS, MPLS 2.0 and IPv6, the data plane of the second domain includes MPLS, MPLS 2.0 and IPv6, but is not limited thereto. The sending process of the packet is applied between the MPLS and the MPLS 2.0, between the IPv6 and the MPLS 2.0, or between the IPv6 and the MPLS.
In the embodiments of the present disclosure, a feature field in a first packet received from a first domain is acquired, wherein the feature field is used for acquiring ancillary data information carried in the first packet, and the feature field indicates at least one of: a carrying position of the ancillary data information and a data type of the ancillary data information; the first packet is converted into a second packet conforming to a data plane format of a second domain according to the feature field; and the second packet is sent to the second domain. The scheme solves the problem of low packet transmission efficiency between domains of different data planes in related technologies, and improves the packet transmission efficiency on different data planes.
In an exemplary embodiment, the packet sending method may further include: in the first domain, carrying the feature field in one of: a Special Purpose Label (SPL) located in a Multi-Protocol Label Switching (MPLS) label stack, an extended Special Purpose Label (eSPL) located in the MPLS label stack, a regular label having a non-special purpose label value and located in the MPLS label stack, an indicator reconstructed based on the SPL or the eSPL, a Traffic Class (TC) field in an Internet Protocol version-6 (IPv6) basic header, a Flow Label in the IPv6 basic header, a source address in the IPv6 basic header, a destination address in the IPv6 basic header, a triple Type Length Value (TLV) field in an IPv6 extension header, and an option field in the IPv6 extension header.
In an optional exemplary embodiment, the service/forwarding related data (rather than load data) carried in the packet are collectively referred to as ancillary data information.
For some services in the MPLS/SR-MPLS network, data needs to be additionally carried in the label stack of the MPLS or after the label stack of the MPLS. The carrying positions include:
For example, a Generic Associated Channel Header (G-ACH) defined in RFC5586 is used for an Operations, Administration, and Maintenance (OAM) service. The G-ACH is only used for end-to-end data carrying. An intermediate node does not process the G-ACH and cannot be able to stack the G-ACH. A special purpose label needs to be carried at the bottom of a label stack, and the special purpose label indicates that G-ACH data is carried after the label stack.
For example, an Entropy Label (EL) stores a numerical value used for ECMP, and is located in an MPLS label stack. A special purpose label (e.g., an Entropy Label Indicator (ELI)) is required to indicate that an EL follows immediately after it.
It should be noted that in both of the above-mentioned methods, the labels and the carried data have a one-to-one relationship, meaning that a label value correspondingly indicates a specific type of data.
In an exemplary embodiment, how to acquire the feature field in the first packet received from the first domain in the described operation S402 may be better understood by means of the following method. Whether a field in the first packet is a field required by an edge network node is determined, and the field required by the edge network node and carried in the first packet may be determined as the feature field. Alternatively or additionally, a feature field position for carrying the feature field in the first packet may be acquired from the edge network node, and the feature field may be acquired at the feature field position.
In an exemplary embodiment, after the field required by the edge network node and carried in the first packet is determined as the feature field, a technical solution including the following operations is further provided. In a case where the feature field has a global meaning, the first packet is converted, according to the feature field, into the second packet conforming to the data plane format of the second domain; in a case where the feature field in the first packet does not have a global meaning, when determining that the edge network node receives a target message, the feature field is identified through the edge network node, wherein a source of the target message includes at least one of the first domain, pre-configured information of a device, a manual configuration message of a device, and a global configuration message.
It should be noted that the target message from the first domain may include an advertisement message and a negotiation message. The advertisement message refers to a message sent by a network node in the first domain to an edge network node in a form of an advertisement, and the edge network node directly receives the advertisement message. The negotiation message refers to a message accepted by both the network node in the first domain and the edge network node after negotiation, and may also be understood as a message pre-agreed between the network node in the first domain and the edge network node. After receiving the negotiation message, the edge network node also needs to respond to the network node in the first domain to indicate successful negotiation.
It should be noted that, the pre-configured information of the device refers to pre-configured device related information.
In an exemplary embodiment, before the second packet is sent to the second domain, a technical solution including the following operations is further provided. In a case where a feature field in the second packet does not have a global meaning, when determining that a network node in the second domain receives a target message, the feature field is identified through the network node in the second domain, wherein a source of the target message at least includes one of the edge network node, pre-configured information of a device, a manual configuration message of a device, and a global configuration message.
In an exemplary embodiment, in order to better understand how to convert, according to the feature field, the first packet into the second packet conforming to the data plane format of the second domain in the operation S404, the following implementation is provided. The ancillary data information carried in the first packet may be acquired according to the carrying position indicated by the feature field, and a format of the feature field and a format of the ancillary data information may be converted according to the data plane format of the second domain to obtain the second packet, wherein the second packet includes the feature field and the ancillary data information after format conversion.
In an exemplary embodiment, the carrying position is in a label stack of the first packet, or the carrying position is after the label stack of the first packet. In a case where the carrying position is in the label stack of the first packet, the ancillary data information is carried in at least one of the following forms: an entropy label and an MPLS control word, and in a case where the carrying position is after the label stack of the first packet, the ancillary data information is carried in at least one of the following forms: a generic associated channel header, an MPLS extension header, and an MPLS control word.
It should be noted that, in the embodiments of the present disclosure, a data carrying manner in which data is not directly carried after the label stack but a specific header field is added before the data is generally referred to as an MPLS Extended Sublayer manner. The MPLS extension header may include an extension header in the MPLS 2.0,
In an optional exemplary embodiment, in the IPv6, in addition to a service payload (or short as payload) that may be carried after an IP header, some other service/forwarding related data may be additionally carried after the IP header. The main carrying modes and positions are introduced as follows.
It should be noted that, for the two carrying manners of 3) and 4), a new type of IPv6 extension header may also be defined. However, no matter which carrying manners is adopted for carrying the information/data, generally, data carried in the IPv6 extension header carries a field corresponding to a data type, and by using the field corresponding to the data type, what type of data is carried may be identified.
In an exemplary embodiment, a technical solution is further provided. In a case where the feature field in the first packet does not have a global meaning, the existence of the ancillary data information carried after the feature field may be learnt through the target message, and the ancillary data information carried after the feature field may be acquired, and the ancillary data information carried after the feature field may be converted according to the data plane format in the second domain to generate the second packet.
In an exemplary embodiment, also provided is a technical solution for converting, according to the feature field, the first packet into the second packet conforming to the data plane format of the second domain. The ancillary data information carried in the first packet may be acquired according to the feature field, wherein the ancillary data information is carried in one of a flow label field in an IPv6 basic header, a Traffic Class (TC) field in the IPv6 basic header, a hop-by-hop option header in an IPv6 extension header, a destination option header in the IPv6 extension header, a routing header in the IPv6 extension header, a source address in the IPv6 basic header, and a destination address in the IPv6 basic header, wherein the ancillary data information carried in the IPv6 extension header includes a type field for identifying a type of the ancillary data information, data needing to be processed hop-by-hop is stored after the label stack, and In-band Operation Administration and Maintenance (IOAM) data is stored in the extension header after the label stack. The ancillary data information may be converted according to the data plane format in the second domain, and the second packet may be generated according to the converted ancillary data information.
The packet sending method is further described in combination with the following embodiments.
In an optional exemplary embodiment, a packet sending method is provided with reference to
In operation S502, an edge node reads a packet (equivalent to the described first packet) received from a first domain to acquire a feature field.
It should be noted that the foregoing feature field refers to a field of data information carried in a packet, and includes a carrying position of data, specific data type information, and the like. For example, the carrying position of data may include a position in a label stack in the MPLS or a position after the label stack in the MPLS.
It should be noted that, the feature field is not necessarily explicit indication information, and may also be implicitly contained within a specific data carrying field, that is, the feature field and the carried data may be an integrated whole. For example, in the IPv6 basic header, if there is no other indication, the Flow Label field carries ECMP information by default.
In addition, the feature field may be a field having a global meaning under standard specifications, or may be a field having a specific meaning only within a limited range by means of a control plane protocol advisement/negotiation, configuration, pre-agreement, etc., and therefore, an edge node needs to receive advisement/negotiation information of a control plane or perform corresponding configuration/agreement, so as to achieve the purpose of identifying the feature field. The control plane includes a data plane of the second domain.
In the MPLS, the feature field may be an SPL or an eSPL. Alternatively, the feature field may also be a regular label with a non-special purpose label value, but the regular label may have a special meaning by means of global configuration or control plane protocol-based advertisement. In MPLS 2.0, the feature field is a newly defined Indicator, for example, a Multi-Purpose Special Label. When the feature field is the Multi-Purpose Special Label, the existence of the Indicator only indicates that data is carried after the label stack, and the specific data type needs to be determined after acquiring the data after the label stack. In the IPv6 data plane, the feature field may include fields such as TC, Flow Label, source address, and destination address in the IPv6 basic header, and may further include fields such as TLV or option in the IPv6 extension header.
In an optional exemplary embodiment, by identifying the feature field by the edge node, the position of the ancillary data information can be acquired from the received first packet. In addition, when identifying the feature field by the edge node, there is also a special case that the received first packet does not carry the ancillary data information.
In an optional exemplary embodiment, the manners of acquiring the feature field are introduced as follows. The edge node may scan a received packet completely and identifies, per field, whether the received packet has a feature field concerned by the edge node. Alternatively, the edge node may have learnt in advance which feature field is carried in which positions in the packet received from the first domain, and may acquire information directly from the corresponding positions. For example, it is indicated in advance through configuration on the edge node that only the slice identification field carried in the HBH option in the IPv6 packet needs to be converted, then after receiving the packet from the first domain, the edge node directly acquires the corresponding field from the corresponding location.
For the convenience of description, the feature field indication and the data carrying are introduced separately in the following, but the following two special cases are included.
The case (1) is applicable to all the embodiments below, and the case (2) is applicable to the embodiment 3 below.
In operation S504, the edge node converts the packet to generate a packet corresponding to the format of the second domain.
The packet conversion in operation S504 further includes the following operations S5041 and S5042.
In operation S5041, carried data is acquired in the corresponding position of the packet according to the feature field, and then the format of the feature field and the ancillary data information is converted according to the data plane format in the second domain.
When the feature field converted by the edge node does not have a global meaning defined in the standard, the meaning of the feature field also needs to be indicated in a way of protocol advisement/configuration/pre-agreement, so that the meaning of the feature field can be identified in the second domain.
In operation S5042, conversion of the data plane format is performed. For example, the format of an IPv6 data plane is converted into the format of an MPLS data plane, or the format of an MPLS data plane is converted into the format of an IPv6 data plane.
It should be noted that, this embodiment does not limit an execution sequence of the operations S5041 and S5042.
When format conversion between MPLS and MPLS 2.0 is performed, the position of ancillary data information may not be the same, for example, for the data carried in a label stack of the MPLS, after being converted to MPLS 2.0, the data may be carried in a label stack, and may also be carried after the label stack.
After the packet format conversion is completed, the following operations are performed.
In operation S506, the generated packet corresponding to the format of the second domain is sent to the second domain.
In an embodiment, whether the edge node needs to enter the processing procedure in operation S504 may be determined by configuring a policy at the edge node, for example, a packet with a specific characteristic (e.g., a packet having a certain source/destination address, or a packet received at a certain port) needs to be converted. Alternatively, the edge node may be controlled, by indication carried in a packet, to enter the processing procedure in operation S504, for example, by an SRv6 network programming, a specific SID may be assigned so that the edge node proceeds to the data conversion process when processing to the specific SID.
This embodiment specifically describes a manner of interworking between an MPLS data plane and MPLS 2.0 when an Indicator has a global meaning. This embodiment takes the case where the feature field Indicator in MPLS 2.0 is a Multi-Purpose Special Label as an example. It should be noted that the data format carried in the stack bottom is only exemplary.
The edge node converts the format of the ELI into an indicator format in the MPLS 2.0 domain. In addition, according to the indication of the ELI in the original packet, the edge node extracts the entropy label following the ELI and sequentially places the entropy label after the Indicator, without changing other labels in a stack, so as to regenerate a label stack.
This embodiment specifically describes a manner of interworking between an MPLS data plane and MPLS 2.0 when a feature field does not have a global meaning.
In the topology shown in
Similarly, in a reverse direction, the packet received by the edge node S from the MPLS2.0 field is shown in
In addition, data in the EH1 needs to be extracted and stored in the form of a Detnet control word.
The data format after the conversion by the node S is as shown in
It should be noted that the edge nodes in two directions may not be the same node.
This embodiment specifically describes a manner of interworking between the MPLS 2.0 and the IPv6 data plane.
The packet sent by node 1 is shown in
The SRH carries path information in the SRv6 (IPv6) domain. The SRH of the packet sent by node 1 is <SID-2, SID-S, SL=2>, wherein SID-2 and SID-S are the SRv6 SIDs of node 2 and node S respectively. SID-S is a variant of a BINDING SID and has a specific function of removing an IPv6 header. The MPLS label stack is encapsulated as <Label3, Label4, Label5>.
After receiving the packet, the node S finds that packet conversion needs to be performed, and possible triggering manners include:
After finding that the packet needs to be converted, the node S scans the packet, extracts the content stored in the flow label and the HBH option according to the feature field, performs conversion according to the indication and storage format of the MPLS 2.0, and encapsulates the content to obtain an MPLS packet. As shown in
The number and positions of entropy labels in the figure are only illustrative, and may also be placed in other positions according to the capacity of ERLD and MSD of each node.
In this embodiment, besides associating an MPLS label stack corresponding to the next domain in a BSID manner, a possible manner is to carry the MPLS label stack as a payload after the IPv6 packet header, and strip the IPv6 packet header at an edge node.
A universal packet sending method is proposed in the above embodiments. The packet sending method may be used for end-to-end transmission of a service/data, and is suitable for solving the problem of interworking and functional compatibility of multiple data planes. When a second domain receives a packet from a first domain, the packet needing to be converted can be identified according to the feature field in the packet, and the format of the packet needing to be converted can be converted into the format of the next data plane.
Through the description of the foregoing embodiments, those having ordinary skill in the art may clearly understand that the packet sending method according to the foregoing embodiments may be implemented by software in addition to a necessary universal hardware platform, and definitely may also be implemented by hardware. However, in many cases, the former is a preferred implementation. Based on such understanding, the essence of the technical solutions of the embodiments of the present disclosure or the part contributing to the related art may be embodied in the form of a software product. The computer software product is stored in a storage medium (such as a Read-Only Memory (ROM)/Random Access Memory (RAM), a magnetic disk, or an optical disk), and includes several instructions for instructing a terminal device (which may be a mobile phone, a computer, a server, or a network device) to execute the packet sending methods of the embodiments of the present disclosure.
The embodiments of the present disclosure further provide a packet sending device. The device is used for implementing the described embodiments and exemplary implementations, and what has been described will not be elaborated. The term “module”, as used hereinafter, is a combination of software and/or hardware capable of realizing a predetermined function. Although the device described in the following embodiments is preferably implemented by software, implementation of hardware or a combination of software and hardware is also possible and conceived.
It should be noted that, the data plane of the first domain includes MPLS, MPLS 2.0 and IPv6, the data plane of the second domain includes MPLS, MPLS 2.0 and IPv6, but is not limited thereto. The sending process of the packet is applied between the MPLS and the MPLS 2.0, between the IPv6 and the MPLS 2.0, or between the IPv6 and the MPLS.
By means of the device, a feature field in a first packet received from a first domain is acquired, wherein the feature field is used for acquiring ancillary data information carried in the first packet, and the feature field indicates at least one of: a carrying position of the ancillary data information and a data type of the ancillary data information; the first packet is converted into a second packet conforming to a data plane format of a second domain according to the feature field; and the second packet is sent to the second domain. The scheme solves the problem of low packet transmission efficiency between domains of different data planes in related technologies, and improves the packet transmission efficiency on different data planes.
In an exemplary embodiment, in the first domain, the feature field is carried in one of a Special Purpose Label (SPL) located in a Multi-Protocol Label Switching (MPLS) label stack, an extended Special Purpose Label (eSPL) located in the MPLS label stack, a regular label having a non-special purpose label value and located in the MPLS label stack, an indicator reconstructed based on the SPL or the eSPL, a Traffic Class (TC) field in an Internet Protocol version-6 (IPv6) basic header, a Flow Label in the IPv6 basic header, a source address in the IPv6 basic header, a destination address in the IPv6 basic header, a triple Type Length Value (TLV) field in an IPv6 extension header, and an option field in the IPv6 extension header.
In an exemplary embodiment, the acquisition module is further configured to determine whether a field in the first packet is a field required by an edge network node, and determine the field required by the edge network node and carried in the first packet as the feature field; or, acquire, from the edge network node, a feature field position for carrying the feature field in the first packet, and acquire the feature field at the feature field position.
In an exemplary embodiment, the packet sending device further includes a first identification module, which is configured to, in a case where the feature field has a global meaning, convert, according to the feature field, the first packet into the second packet conforming to the data plane format of the second domain; in a case where the feature field in the first packet does not have a global meaning, when determining that the edge network node receives a target message, identify the feature field through the edge network node, wherein a source of the target message includes at least one of: the first domain, pre-configured information of a device, a manual configuration message of a device, and a global configuration message.
In an exemplary embodiment, the described packet sending device further includes a second identification module, which is configured to, in a case where a feature field in the second packet does not have a global meaning, when determining that a network node in the second domain receives a target message, identify the feature field through the network node in the second domain, wherein a source of the target message at least includes one of the edge network node, pre-configured information of a device, a manual configuration message of a device, and a global configuration message.
It should be noted that the target message from the first domain may include an advertisement message and a negotiation message. The advertisement message refers to a message sent by a network node in the first domain to an edge network node in a form of an advertisement, and the edge network node directly receives the advertisement message. The negotiation message refers to a message accepted by both the network node in the first domain and the edge network node after negotiation, and may also be understood as a message pre-agreed between the network node in the first domain and the edge network node. After receiving the negotiation message, the edge network node also needs to respond to the network node in the first domain to indicate successful negotiation.
It should be noted that, the pre-configured information of the device refers to pre-configured device related information.
In an exemplary embodiment, the conversion module is further configured to acquire the ancillary data information carried in the first packet according to the carrying position indicated by the feature field; and convert a format of the feature field and a format of the ancillary data information according to the data plane format of the second domain to obtain the second packet, wherein the second packet includes the feature field and the ancillary data information after format conversion.
In an exemplary embodiment, the carrying position is in a label stack of the first packet, or the carrying position is after the label stack of the first packet; in a case where the carrying position is in the label stack of the first packet, the ancillary data information is carried in at least one of the following forms: an entropy label and an MPLS control word; and in a case where the carrying position is after the label stack of the first packet, the ancillary data information is carried in at least one of the following forms: a generic associated channel header, an MPLS extension header, and an MPLS control word.
In an exemplary embodiment, the packet sending device further includes a packet generation module, which is configured to, in a case where the feature field in the first packet does not have a global meaning, learn, through the target message, about the ancillary data information carried after the feature field; and acquire the ancillary data information carried after the feature field, and convert, according to the data plane format in the second domain, the ancillary data information carried after the feature field to generate the second packet.
In an exemplary embodiment, the conversion module is further configured to acquire, according to the feature field, the ancillary data information carried in the first packet, wherein the ancillary data information is carried in one of a flow label field in an IPv6 basic header, a Traffic Class (TC) field in the IPv6 basic header, a hop-by-hop option header in an IPv6 extension header, a destination option header in the IPv6 extension header, a routing header in the IPv6 extension header, a source address in the IPv6 basic header, and a destination address in the IPv6 basic header, wherein the ancillary data information carried in the IPv6 extension header includes a type field for identifying a type of the ancillary data information, data needing to be processed hop-by-hop is stored after the label stack, and In-band Operation Administration and Maintenance (IOAM) data is stored in the extension header after the label stack; convert the ancillary data information according to the data plane format in the second domain, and generate the second packet according to the converted ancillary data information.
In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, any medium that can store a computer program, such as a Universal Serial Bus (USB) flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disc.
For specific examples in this embodiment, reference may be made to the examples described in the foregoing embodiments and exemplary embodiments, and details are not repeatedly described in this embodiment.
The embodiments of the present disclosure further provide an electronic device, including a memory and a processor. The memory stores a computer program. The processor is configured to run the computer program to execute operations in any one of the method embodiments.
In this embodiment, the processor may be configured to run the computer program to execute the following operations:
In an exemplary embodiment, the electronic device may further include a transmission device and an input/output device, wherein the transmission device is connected to the processor, and the input/output device is connected to the processor.
For specific examples in this embodiment, reference may be made to the examples described in the foregoing embodiments and exemplary embodiments, and details are not repeatedly described in this embodiment.
Obviously, those having ordinary skill in the art should understand that each module or each operation of the present disclosure may be implemented by a universal computing device, and the modules or operations may be concentrated on a single computing device or distributed on a network formed by a plurality of computing devices, and may be implemented by program codes executable for the computing devices, so that the modules or operations may be stored in a storage device for execution with the computing devices. The shown or described operations may be executed in sequences different from those described here in some cases, or may form each integrated circuit module respectively, or multiple modules or operations therein may form a single integrated circuit module for implementation. As such, the present disclosure is not limited to any particular hardware and software combination.
The foregoing descriptions are merely exemplary embodiments of the present disclosure, but are not intended to limit the present disclosure. For those having ordinary skill in the art, the present disclosure may have various modifications and variations. Any modifications, equivalent replacements, improvements and the like made within the principle of the present disclosure shall belong to the scope of protection of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
202210211171.3 | Mar 2022 | CN | national |
The present disclosure is a National Stage Filing of the PCT International Application No. PCT/CN2022/143056 filed on Dec. 28, 2022, which claims priority to Chinese Patent Application No. 202210211171.3, filed with the China National Intellectual Property Administration on Mar. 3, 2022 and entitled “Packet Sending Method and Device, Storage Medium and Electronic Device”, which is incorporated herein by reference in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2022/143056 | 12/28/2022 | WO |