CN114338432A - Method, device and equipment for transmitting message and computer readable storage medium - Google Patents

Method, device and equipment for transmitting message and computer readable storage medium Download PDF

Info

Publication number
CN114338432A
CN114338432A CN202110049132.3A CN202110049132A CN114338432A CN 114338432 A CN114338432 A CN 114338432A CN 202110049132 A CN202110049132 A CN 202110049132A CN 114338432 A CN114338432 A CN 114338432A
Authority
CN
China
Prior art keywords
message
packet
application
identifier
quality assurance
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
CN202110049132.3A
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 JP2023518967A priority Critical patent/JP2023542416A/en
Priority to PCT/CN2021/120430 priority patent/WO2022063245A1/en
Priority to EP21871614.0A priority patent/EP4207644A4/en
Publication of CN114338432A publication Critical patent/CN114338432A/en
Priority to US18/189,937 priority patent/US20230239249A1/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application discloses a method, a device and equipment for transmitting messages and a computer readable storage medium, and belongs to the technical field of communication. Taking the first device as an example, the method includes: first, a first device receives a first message, where the first message includes quality assurance indication information and information of a first application, and the first message belongs to the first application requiring quality assurance. Based on the received first message, the first device stores the corresponding relationship between the information of the first application and the quality assurance indication information. And after subsequently receiving a second message comprising the information of the first application, the first equipment realizes quality guarantee of the second message according to the stored corresponding relation. Therefore, based on the quality assurance indication information carried in the first packet, the first device can obtain the corresponding application information from the second packet even if the processing capability is weak, so that network quality assurance can be provided.

Description

Method, device and equipment for transmitting message and computer readable storage medium
The present application claims priority of chinese patent application having application number 202011026720.7 entitled "a message processing method, apparatus and system" filed 25/09/2020, which is incorporated herein by reference in its entirety.
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method, an apparatus, a device, and a computer-readable storage medium for transmitting a packet.
Background
With the continuous development of communication technology, it becomes possible to perform differentiated transmission on messages having different Service Level Agreement (SLA) requirements. In the process of differential transmission, the application corresponding to the message is firstly identified, and the SLA requirement is determined according to the application corresponding to the message, so that the proper network quality guarantee is provided according to the SLA requirement.
In the related art, the application corresponding to the message may be identified through Deep Packet Inspection (DPI) or Artificial Intelligence (AI), and the SLA requirement is determined according to the application corresponding to the message, thereby providing network quality assurance.
However, both DPI and AI rely on greater processing power. For a communication device with weak processing capability, the identification may fail due to insufficient processing capability, so that subsequent differentiated transmission is difficult to achieve.
Disclosure of Invention
The application provides a method, a device, equipment and a computer readable storage medium for transmitting messages, which are used for solving the problems of the related technology.
In a first aspect, a method for transmitting a packet is provided, where the method includes: first, a first device receives a first message, where the first message includes quality assurance indication information and information of a first application, and the first message belongs to the first application requiring quality assurance. Based on the received first message, the first device stores the corresponding relationship between the information of the first application and the quality assurance indication information. And after subsequently receiving a second message comprising the information of the first application, the first equipment realizes quality guarantee of the second message according to the stored corresponding relation.
The first device stores the corresponding relation between the quality assurance indication information and the information of the first application according to the first message, and obtains the information of the first application from the second message according to the quality assurance indication information, thereby providing network quality assurance for the second message. Therefore, even if the processing capability of the first device is weak, the network quality guarantee can be provided, and differential transmission based on the application is realized.
In one possible implementation, the quality assurance indication information includes service level agreement SLA requirements and/or an SLA assurance identification. The quality assurance indication information comprises three different conditions, and the first device can realize application identification through weaker processing capacity according to any condition, so that the quality assurance indication information is flexible.
In a possible implementation manner, the first packet includes an IPv6 packet of a sixth version of the internet protocol, and the quality assurance indication information is located in a packet header of the IPv6 packet. Because the quality assurance indication information is located in the header of the IPv6 message, the first device can obtain the quality assurance indication information only by parsing the header, and does not need to parse the message deeply, so that the processing capability required by the parsing process is weak.
In a possible implementation manner, the quality assurance indication information is located in an application-aware IPv6network APN6 header of the IPv6 packet, and the APN6 packet header is located in an IPv6 extension packet header. The IPv6 extension packet header includes an APN6 packet header, and the quality assurance indication information is located in the APN6 packet header, so that the manner in which the first packet carries the quality assurance indication information is more flexible.
In a possible implementation manner, the APN6 header includes an APN6 basic header, and the quality assurance indication information is located in the APN6 basic header; or the APN6 message header comprises an APN6 parameter extension message header, and the quality assurance indication information is located in the APN6 extension message header. The APN6 message header comprises two different message headers, and the quality assurance indication information can be located in any one of the message headers included in the APN6 message header.
In a possible implementation manner, the quality assurance indication information includes SLA requirements and SLA assurance identifiers, the APN6 message header includes an APN6 basic message header and an APN6 parameter extension message header, the SLA requirements are located in the APN6 basic message header, and the SLA assurance identifiers are located in the APN6 parameter extension message header; or the SLA requirement is located in an APN6 parameter extension message header, and the SLA guarantee identifier is located in an APN6 basic message header. The SLA requirement and the SLA guarantee identifier are respectively located in two different message headers included in the APN6 message header, so that the mode that the APN6 message header carries quality guarantee indication information is more flexible.
In a possible implementation manner, the information of the first application includes transmission information of the first packet, and the transmission information of the first packet includes IP tuple information of the first packet. Because the IP tuple information belongs to information carried in various messages, the IP tuple information is used as the information of the first application, so that the network quality guarantee can be realized without additionally packaging other special information in the first message except the quality guarantee indication information.
In a possible implementation manner, the quality assurance of the second packet according to the correspondence includes: and the first equipment determines a forwarding path corresponding to the first application according to the quality assurance indication information and sends a second message according to the forwarding path. The forwarding path determined according to the quality assurance indication information can provide proper quality assurance, so that the second message is sent according to the forwarding path, and the quality assurance of the second message can be realized.
In a possible implementation manner, before quality assurance is performed on the second packet according to the corresponding relationship, the method further includes: and encapsulating the quality assurance indication information in the second message. By carrying the quality assurance indication information in the second message, each hop of equipment behind the first equipment can perform QoS scheduling according to the quality assurance indication information or perform rerouting on the second message.
In a possible implementation manner, the information of the first application includes a first identifier, the first identifier includes at least one of an application identifier, a user identifier, and a flow identifier, the application identifier is used to identify the first application, the user identifier is used to identify a user corresponding to the first packet, and the flow identifier is used to identify a packet flow corresponding to the first packet. According to the first identifier, the first device can perform traffic analysis, so that a traffic management policy is selected according to a traffic analysis result, and appropriate control scheduling is performed on the first message according to the traffic management policy.
In a possible implementation manner, a first packet received by a first device is sent by a second device, and quality assurance is performed on the second packet according to a corresponding relationship, including: and the first equipment sends the second message to the second equipment. The first message is sent by the second device, so that the first device correspondingly sends the second message to the second device when forwarding the second message, and message interaction is realized between the first device and the second device.
In a second aspect, a method for transmitting a packet is provided, where the method includes:
the first equipment obtains a first message;
the first equipment determines that the first message belongs to a first application needing quality assurance;
the first equipment updates the first message to obtain a second message, wherein the second message comprises quality assurance indication information;
and the first equipment sends a second message to the second equipment, and the quality guarantee indication information is used for indicating the second equipment to obtain the information of the first application from the first message and carrying out quality guarantee on the message belonging to the first application.
Because the first device has the application identification capability, the second device can send the second message carrying the quality assurance indication information to the second device after identifying that the first message belongs to the first application. Therefore, based on the quality assurance indication information carried in the second packet, the second device can obtain the corresponding application information from the second packet even if the processing capability is weak, so that network quality assurance can be provided for the application based on the obtained application information and the quality assurance indication information.
In one possible implementation, the quality assurance indication information includes service level agreement SLA requirements and/or an SLA assurance identification. The quality assurance indication information comprises three different conditions, and the second device can realize application identification through weaker processing capacity according to any condition, so that the quality assurance indication information is flexible.
In a possible implementation manner, the updating, by the first device, the first packet to obtain the second packet further includes: the first device obtains a first identifier of a first application, the first identifier includes at least one of an application identifier, a user identifier and a flow identifier, the first identifier is encapsulated in a second message, the application identifier is used for identifying an application corresponding to the first message, the user identifier is used for identifying a user corresponding to the first message, the flow identifier is used for identifying a message flow corresponding to the first message, and information of the first application includes the first identifier. The second message carries the first identifier in addition to the quality assurance indication information, so that the second device performs traffic management according to the first identifier.
In a third aspect, a network system for transmitting messages is provided, the network system comprising a first device and a second device,
the first equipment is used for obtaining a first message and determining that the first message belongs to a first application needing quality assurance;
the first device is further configured to update the first packet to obtain a second packet, where the second packet includes quality assurance indication information;
the first device is also used for sending a second message to the second device;
the second device is used for receiving a second message;
the second device is further configured to store, according to the second packet, a correspondence between information of the first application and quality assurance indication information included in the second packet;
the second device is further configured to receive a third packet, where the third packet includes information of the first application;
and the second equipment is also used for carrying out quality guarantee on the third message according to the corresponding relation.
In a possible implementation manner, the first device is further configured to obtain a first identifier of the first application, where the first identifier includes at least one of an application identifier, a user identifier, and a stream identifier, encapsulate the first identifier in the second message, where the application identifier is used to identify an application corresponding to the first message, the user identifier is used to identify a user corresponding to the first message, the stream identifier is used to identify a message stream corresponding to the first message, and the information of the first application includes the first identifier.
In a possible implementation manner, the second message received by the second device is sent by the first device, and the second device is configured to send the third message to the first device.
For technical effects of the third aspect and each possible implementation manner of the third aspect, reference may be made to the technical effects of the first aspect and the second aspect, which are not described in detail herein.
In a fourth aspect, an apparatus for transmitting a packet is provided, where the apparatus includes:
a receiving module, configured to receive, by a first device, a first packet, where the first packet includes quality assurance indication information and information of a first application, and the first packet belongs to the first application;
the storage module is used for storing the corresponding relation between the information of the first application and the quality assurance indication information according to the first message;
the receiving module is further used for the first equipment to receive a second message, and the second message comprises information of the first application;
and the guarantee module is used for guaranteeing the quality of the second message according to the corresponding relation.
In one possible implementation, the quality assurance indication information includes service level agreement SLA requirements and/or an SLA assurance identification.
In a possible implementation manner, the first packet includes an IPv6 packet of a sixth version of the internet protocol, and the quality assurance indication information is located in a packet header of the IPv6 packet.
In a possible implementation manner, the quality assurance indication information is located in an application-aware IPv6network APN6 header of the IPv6 packet, and the APN6 packet header is located in an IPv6 extension packet header.
In a possible implementation manner, the APN6 header includes an APN6 basic header, and the quality assurance indication information is located in the APN6 basic header;
or the APN6 message header comprises an APN6 parameter extension message header, and the quality assurance indication information is located in the APN6 extension message header.
In a possible implementation manner, the quality assurance indication information includes SLA requirements and SLA assurance identifiers, the APN6 message header includes an APN6 basic message header and an APN6 parameter extension message header, the SLA requirements are located in the APN6 basic message header, and the SLA assurance identifiers are located in the APN6 parameter extension message header;
or the SLA requirement is located in an APN6 parameter extension message header, and the SLA guarantee identifier is located in an APN6 basic message header.
In a possible implementation manner, the information of the first application includes transmission information of the first packet, and the transmission information of the first packet includes IP tuple information of the first packet.
In a possible implementation manner, the guarantee module is configured to determine, by the first device, a forwarding path corresponding to the first application according to the quality assurance indication information, and send the second packet according to the forwarding path.
In one possible implementation, the apparatus further includes: and the packaging module is used for packaging the quality assurance indication information into the second message.
In a possible implementation manner, the information of the first application includes a first identifier, the first identifier includes at least one of an application identifier, a user identifier, and a flow identifier, the application identifier is used to identify the first application, the user identifier is used to identify a user corresponding to the first packet, and the flow identifier is used to identify a packet flow corresponding to the first packet.
In a possible implementation manner, a first message received by a first device is sent by a second device, and a guarantee module is used for the first device to send a second message to the second device.
It should be noted that, for technical effects of the fourth aspect and each possible implementation manner of the fourth aspect, reference may be made to the technical effects of the first aspect and each possible implementation manner of the first aspect, and details are not repeated here.
In a fifth aspect, an apparatus for transmitting a packet is provided, where the apparatus includes:
an obtaining module, configured to obtain, by a first device, a first packet;
the determining module is used for determining that the first message belongs to a first application needing quality assurance by the first equipment;
the updating module is used for updating the first message by the first equipment to obtain a second message, and the second message comprises quality assurance indication information;
and the sending module is used for sending a second message to the second equipment by the first equipment, and the quality guarantee indicating information is used for indicating the second equipment to obtain the information of the first application from the first message and carrying out quality guarantee on the message belonging to the first application.
In one possible implementation, the quality assurance indication information includes service level agreement SLA requirements and/or an SLA assurance identification.
In a possible implementation manner, the update module is further configured to obtain, by the first device, a first identifier of the first application, where the first identifier includes at least one of an application identifier, a user identifier, and a stream identifier, encapsulate the first identifier in the second message, where the application identifier is used to identify an application corresponding to the first message, the user identifier is used to identify a user corresponding to the first message, the stream identifier is used to identify a message stream corresponding to the first message, and the information of the first application includes the first identifier.
It should be noted that, for technical effects of the fifth aspect and each possible implementation manner of the fifth aspect, reference may be made to technical effects of the second aspect and each possible implementation manner of the second aspect, and details are not repeated here.
In a sixth aspect, there is provided a communication device comprising: a communication interface and a processor. Optionally, the communication device further comprises a memory. Wherein the communication interface, the memory and the processor communicate with each other via an internal connection path, the memory is configured to store instructions, and the processor is configured to execute the instructions stored by the memory to control the communication interface to receive signals and control the communication interface to transmit signals, and when the processor executes the instructions stored by the memory, to cause the processor to perform the method of the first aspect or any of the possible implementations of the first aspect.
In a seventh aspect, a communication device is provided, which includes: a communication interface and a processor. Optionally, the communication device further comprises a memory. Wherein the communication interface, the memory and the processor communicate with each other via an internal connection path, the memory is configured to store instructions, and the processor is configured to execute the instructions stored by the memory to control the communication interface to receive signals and control the communication interface to transmit signals, and when the processor executes the instructions stored by the memory, to cause the processor to perform the method of the second aspect or any of the possible embodiments of the second aspect.
Optionally, there are one or more processors and one or more memories.
Alternatively, the memory may be integrated with the processor, or provided separately from the processor.
In a specific implementation process, the memory may be a non-transitory (non-transitory) memory, such as a Read Only Memory (ROM), which may be integrated on the same chip as the processor, or may be separately disposed on different chips.
In an eighth aspect, a communication device is provided that includes a processor and a communication interface; the processor executes the instructions to cause the communication device to perform the method for transmitting a packet in any one of the above-mentioned first aspect or any one of the above-mentioned possible implementations of the first aspect, or to implement the method for transmitting a packet in any one of the above-mentioned second aspect or any one of the above-mentioned possible implementations of the second aspect.
In a ninth aspect, there is provided a communication system comprising a first communication device for performing the method of the first aspect or any of its possible embodiments and a second communication device for performing the method of the second aspect or any of its possible embodiments.
In a tenth aspect, there is provided a computer program (product) comprising: computer program code which, when run by a computer, causes the computer to perform the method of the above-mentioned aspects.
In an eleventh aspect, there is provided a computer readable storage medium storing a program or instructions, the method in the above aspects being performed when the program or instructions are run on a computer.
In a twelfth aspect, a chip is provided, which includes a processor for calling up and executing instructions stored in a memory from the memory, so that a communication device in which the chip is installed executes the method in the above aspects.
In a thirteenth aspect, another chip is provided, including: the system comprises an input interface, an output interface, a processor and a memory, wherein the input interface, the output interface, the processor and the memory are connected through an internal connection path, the processor is used for executing codes in the memory, and when the codes are executed, the processor is used for executing the method in each aspect.
Drawings
FIG. 1 is a schematic illustration of an implementation environment provided herein;
fig. 2 is a flowchart of a method for transmitting a message according to the present application;
fig. 3 is a schematic structural diagram of a header provided in the present application;
fig. 4 is a schematic structural diagram of a header provided in the present application;
fig. 5 is a schematic structural diagram of a header provided in the present application;
fig. 6 is a schematic structural diagram of a header provided in the present application;
fig. 7 is a schematic structural diagram of a header provided in the present application;
fig. 8 is a schematic structural diagram of a header provided in the present application;
FIG. 9 is a diagram illustrating a structure of a field provided in the present application;
FIG. 10 is a diagram illustrating a structure of a field provided herein;
fig. 11 is a schematic flow chart of a transmission packet according to the present application;
FIG. 12 is a schematic illustration of traffic management provided herein;
fig. 13 is a schematic flow chart of a transmission packet according to the present application;
fig. 14 is a schematic flow chart of a transmission packet according to the present application;
fig. 15 is a schematic flow chart of a transmission packet according to the present application;
fig. 16 is a schematic flow chart of a transmission packet according to the present application;
fig. 17 is a schematic flow chart of a transmission packet according to the present application;
fig. 18 is a schematic structural diagram of an apparatus for transmitting a message according to the present application;
fig. 19 is a schematic structural diagram of an apparatus for transmitting a message according to the present application;
fig. 20 is a schematic structural diagram of a communication device provided in the present application;
fig. 21 is a schematic structural diagram of a communication device provided in the present application;
fig. 22 is a schematic structural diagram of a communication system provided in the present application.
Detailed Description
The terminology used in the description of the embodiments section of the present application is for the purpose of describing particular embodiments of the present application only and is not intended to be limiting of the present application.
With the continuous development of communication technology, it becomes possible to perform differentiated transmission on messages with different SLA requirements. In the process of differential transmission, the application corresponding to the message is firstly identified, and then a proper transmission mode is selected for message transmission according to the SLA requirement corresponding to the application. The operator is beneficial to improving the user experience by adding the differentiated transmission service in the broadband package.
Both DPI and AI rely on the device to have a strong processing power. For a device with weak processing capability, the application identification may fail due to insufficient processing capability, so that subsequent network quality assurance is difficult to achieve.
The application provides a method for transmitting a message, which can be applied to an implementation environment comprising a core device and an edge device. The core device has a strong processing capability, and is configured to perform application identification according to a manner provided by a related technology, where a downlink packet corresponding to an application carries quality assurance indication information. Correspondingly, the edge device is configured to store the corresponding relationship between the information of the application and the quality assurance indication information based on the downlink packet. After receiving the uplink message including the application information subsequently, the edge device can perform quality assurance on the uplink message according to the stored corresponding relationship. Therefore, the edge device can identify the application of the subsequent uplink message only by having weaker processing capacity, so that the network quality can be guaranteed according to the application, and the differentiated transmission becomes possible.
Illustratively, the processing power of the edge device is weak enough to perform application identification in the manner provided by the related art, and thus the edge device can perform application identification only based on the stored correspondence. Or, the processing capacity of the edge device is sufficient to perform application identification in the manner provided by the related art, but the edge device can perform application identification only through the remaining processing capacity because the service specificity needs to preferentially ensure normal operation of other services, and the edge device can perform application identification only based on the stored correspondence through the remaining processing capacity. Alternatively, the processing capability of the edge device is sufficient for application recognition in the manner provided by the related art, but the edge device is configured to perform application recognition based on the stored correspondence.
Referring to fig. 1, fig. 1 provides a schematic diagram of an exemplary implementation environment. In fig. 1, the Terminal, the Optical Network Terminal (ONT), and the Optical Line Terminal (OLT) are sequentially connected in a communication manner, and the OLT accesses a Broadband Remote Access Server (BRAS) through an Internet Protocol Radio Access Network (IPRAN). The IPRAN includes an access router (ACC), an aggregation node (AGG), and a Metro Core (MC), and the MC can be communicatively connected to an Internet Gateway (IGW) in addition to the BRAS. The implementation environment shown in fig. 1 is also referred to as a BRAS high hang scenario.
In each device shown in fig. 1, a Virtual Local Area Network (VLAN) is included between the ONT and the OLT. A VLAN, or 802.1Q (802.1Q-in-802.1Q, QinQ), is included between the OLT and the ACC. 802.1Q and 802.1Q are standard specifications defined by the Institute of Electrical and Electronics Engineers (IEEE). QinQ is also known as a stack (stacked) VLAN or a dual (double) VLAN. A layer 2virtual private network (L2 VPN) is included between the ACC and the MC, and the L2VPN is carried by a Segment Routing IPV6, SRv6 based on internet protocol version 6 (IPV 6). That is, L2VPN (L2VPN over SRv6) carried at SRv6 is included between ACC and MC. Further, VLAN or QinQ is included between MC and IGW.
Illustratively, the core device includes an MC and the edge device includes an ACC. The MC is a frame device, and the port of the frame device can be flexibly changed, so that a main control board providing processing capability can be additionally configured according to the application identification requirement, or a service board specially used for application identification is configured, and the processing capability of the MC is stronger. The ACC is often a box device, and the port of the box device is fixed, so that an additional main control board or service board cannot be configured according to the needs identified by the application, thereby making the processing capability of the ACC weaker.
It is to be understood that the implementation environment shown in fig. 1 is only an example and is not intended to limit the present application. In addition to the implementation environment shown in fig. 1, other scenarios that include a core device and an edge device, where the core device has application recognition capability and both an uplink packet and a downlink packet pass through the same edge device can also be used as the implementation environment of the present application.
Based on the implementation environment illustrated in the above description, the present application provides a method for transmitting a packet, which is applied to a device a and a device B. Referring to fig. 2, the method includes the following steps.
201, the device a obtains the first packet, and determines that the first packet belongs to the first application requiring quality assurance.
Device a may correspond to the above core device, such as the MC in fig. 1, among others. The first packet is a packet received by the device a or a packet generated by the device a. After the device a obtains the first packet, the device a can perform application identification on the first packet because the device a has the application identification capability. The application to which the first packet belongs can be determined by application identification, for example, the first packet belongs to a first application that needs to be secured or belongs to a second application that does not need to be secured. In the present application, an application may be software for providing a function, or may refer to the same user, the same enterprise account, or the like. Applications of the software for providing the functions include, but are not limited to, game-like applications, video-like applications, and the like. In some networks, since the IP tuple information of the application may change continuously, the application identification cannot be performed only by the configured IP tuple information, and the application identification method of the device a is not limited in the present application, for example, the device a may perform the application identification by a DPI or AI method.
In response to identifying that the first packet belongs to the first application requiring quality assurance, the device a determines quality assurance indication information of the first application, and the device a can select a route for the first packet according to the quality assurance indication information. Exemplarily, a mapping relationship between the first application and the quality assurance indication information is configured in the device a. After the device a identifies and obtains the first application, the quality assurance indication information corresponding to the first application can be obtained based on the mapping relationship between the first application and the quality assurance indication information. Illustratively, the quality assurance indication information includes an SLA requirement and/or an SLA assurance (guarantee) identification. Therefore, the quality assurance indication information includes three cases A1-A3 as follows.
Case a 1: the quality assurance indication information includes SLA requirements.
SLA requirements indicate requirements in terms of bandwidth, latency, reliability, etc. Illustratively, the SLA requirements of the first application in this embodiment are indicated by SLA level (level) identifiers, and different values of the SLA level identifiers are used for indicating different requirements. For example, if the value of the SLA level flag is 1, it indicates that the required delay is smaller than the delay threshold. In the process of selecting a route according to the SLA requirement, for a first message belonging to a first application, a forwarding path meeting the SLA requirement of the first message is selected. And for other messages belonging to the second application which does not need to be ensured, normally routing according to the configured routing table. Forwarding paths meeting the SLA requirements include, but are not limited to: a path having a bandwidth not less than the bandwidth indicated by the SLA requirement, a path having a latency not greater than the latency indicated by the SLA requirement, and a path having a reliability not less than the reliability indicated by the SLA requirement.
Case a 2: the quality assurance indication information includes an SLA assurance flag.
The SLA guarantee mark is used for indicating whether the message needs to be guaranteed. In the case a2, if the device a is configured with the mapping relationship between the SLA guarantee identifier and the routing policy, the routing policy corresponding to the SLA guarantee identifier may be determined according to the mapping relationship between the SLA guarantee identifier and the routing policy, so as to perform routing based on the determined routing policy. For example, in response to the SLA guarantee identifier indicating that the message needs to be guaranteed, the corresponding routing policy includes: and selecting the optimal path as a forwarding path. Responding to the SLA guarantee identifier to indicate that the message does not need to be guaranteed, and then the corresponding routing strategy comprises the following steps: and selecting other paths except the optimal path as forwarding paths. Wherein, the optimal path includes but is not limited to: the path with the largest bandwidth, the path with the smallest delay and the path with the highest reliability.
Illustratively, in the embodiment, different indications of the identifiers are guaranteed by different values of SLAs. Illustratively, the SLA guarantee flag is a first value that indicates that a guarantee is required. The SLA guarantee flag is a second value that indicates that no guarantee is required. For example, the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1, and the values of the first value and the second value are not limited in this embodiment.
Case a 3: the quality assurance indication information includes SLA requirements and SLA assurance identification.
In case a3, the SLA requirement is used to indicate requirements in terms of bandwidth, latency, reliability, etc., and the SLA guarantee identifier is used to indicate whether guarantee needs to be performed according to the SLA requirement. Therefore, under the condition that the SLA guarantee identifier indicates that the guarantee needs to be carried out according to the SLA requirement, the route selection is carried out according to the SLA requirement. Or, under the condition that the SLA guarantee identifier indicates that the guarantee is not required according to the SLA, the routing is not required to be performed according to the SLA requirement, and the routing is normally performed.
202, the device a updates the first packet to obtain a second packet, where the second packet includes quality assurance indication information.
After determining the quality assurance indication information of the first application, the device a updates the first packet based on the quality assurance indication information to obtain a second packet, so that the second packet includes the quality assurance indication information. Exemplarily, the second packet carries the quality assurance indication information in the following manner.
Illustratively, the second packet includes an IPv6 packet, and the quality assurance indication information is located in a packet header of the IPv6 packet. The IPv6 headers include an IPv6 standard header (IPv6 header) and an IPv6 extension header (IPv6 extension header), and the IPv6 extension headers include, but are not limited to, a hop-by-hop (HBH) header, a Destination Option Header (DOH), and a Segment Routing Header (SRH). For example, in this embodiment, a type-length-value (TLV) field is added to a header of the IPv6, so that quality assurance indication information is carried in the TLV field in the header of the IPv 6. Taking the quality assurance indication information including the SLA requirement and the SLA assurance identifier as an example, as shown in fig. 3, fig. 3 shows a case where the TLV field carries the SLA requirement and the SLA assurance identifier. In fig. 3, an option type (option type) field, an option data length (option data length) field, an SLA level for indicating SLA requirements, and an SLA guarantee identification are included. In addition, an Application (APP) Identification (ID) is also included in fig. 3, and the APP ID is described below.
Illustratively, the quality assurance indication information is located in an application-aware IPv6network (APN 6) packet header of the IPv6 packet, and the APN6 packet header is located in an IPv6 extended packet header. Referring to fig. 4, fig. 4 shows a message header structure including an IPv6 standard message header and an SRH. In addition, fig. 5 shows another exemplary packet header structure, which includes an IPv6 standard packet header, HBH, DOH, and SRH. The IPv6 standard header includes version (version), traffic class (traffic class), flow label (flow label), payload length (payload length), next header (next header), hop limit (hop limit), source address (source address), and destination address (destination address).
As shown in fig. 6, fig. 6 shows a schematic structure diagram of an SRH. The (n +1) segments (segments) and the option (option) TLV are included in the SRH. Wherein n is an integer of not less than 0. Illustratively, in case the APN6 header is located in the SRH, the APN6 header is located in the option TLV field of the SRH shown in fig. 6. And under the condition that the APN6 message header is located in the IPv6 extended message header, the APN6 message header is located in the added TLV field in the IPv6 extended message header.
Illustratively, the quality assurance indication information includes SLA requirements and SLA assurance identifiers, and the APN6 header includes an APN6 basic header and an APN6 parameter extension header. Correspondingly, the SLA requirement is located in the APN6 basic message header, and the SLA guarantee identifier is located in the APN6 parameter extension message header. Or the SLA requirement is located in an APN6 parameter extension message header, and the SLA guarantee identifier is located in an APN6 basic message header.
Referring to fig. 7, the APN6 basic header includes an option type field, an option data length field, and an IPv6application-aware (application-aware) ID field, and the SLA requirement or SLA guarantee identifier is located in the IPv6application-aware ID field. As shown in fig. 8, the APN6 extension header includes an option type field, an option data length field, and an IPv6service-aware (service-aware) parameter (parameter) field, where the IPv6service-aware parameter field is a variable (variable) sub-TLV (sub-TLV) field, and the SLA requirement or SLA guarantee identifier is located in the IPv6service-aware parameter field. Taking the SLA guarantee identifier as an example, in the embodiment, a type (type) field is added in the IPv6service-aware parameter field, and the added type field carries the SLA guarantee identifier, and a structural diagram of the type field is shown in fig. 9. In fig. 9, type, length, reserved (reserved), and SLA guarantee identification are included.
Or the APN6 message header comprises an APN6 basic message header, and the quality assurance indication information is located in the APN6 basic message header. Or the APN6 message header comprises an APN6 parameter extension message header, and the quality assurance indication information is located in the APN6 extension message header.
Exemplarily, the device a updates the first packet to obtain the second packet, further comprising: the device A obtains a first identifier of a first application, the first identifier includes at least one of an APP identifier, a user (user) identifier and a flow (flow) identifier, and the first identifier is encapsulated in a second message. Taking the IPv6application-aware ID field in which both the SLA requirement and the first identifier are encapsulated in the second message as an example, a structural diagram of the IPv6application-aware ID field is shown in fig. 10.
The application identifier is used for indicating an application corresponding to the first message, the user identifier is used for indicating a user corresponding to the first message, and the flow identifier is used for indicating a message flow corresponding to the first message. The first identifier encapsulated in the second message is used for traffic management of a device that subsequently receives the second message, and a process of the traffic management is described in reference to the following description 204.
203, the device a sends a second message to the device B.
Device B may correspond to an edge device as described above, such as the ACC in fig. 1, among others. After obtaining the second packet, the device a sends the second packet to the device B, so that the second packet can perform application identification and quality assurance based on the quality assurance indication information included in the second packet in a subsequent packet transmission process.
Illustratively, device a sends the second message via a tunneling policy (SRv6 policy). In the case that the second packet includes an Internet Protocol version 4 (IPv 4) packet, the device a encapsulates an IPv6 packet header based on the second packet, and then sends the second packet through a tunnel policy. In the case that the second packet includes an IPv6 packet, device a may send the second packet directly through the tunneling policy, or may also perform routing forwarding on the second packet.
Illustratively, the case where the device a sends the second packet to the device B includes the following cases B1 and B2.
Case B1: the device A is configured with a plurality of tunnel strategies, different tunnel strategies correspond to different strategy identifications, and the device A is configured with a first mapping relation between the quality assurance indication information and the strategy identifications. The device a sends a second message to the device B, including: the device A determines a target policy identifier corresponding to the quality assurance indication information of the first application based on the first mapping relationship, determines a tunnel policy corresponding to the target policy identifier from a plurality of tunnel policies configured by the device A, and transmits a second message according to the tunnel policy corresponding to the target policy identifier.
Wherein any one of the tunnel policies specifies a transmission path including a specified plurality of nodes. The tunnel strategy is uniquely identified by a triplet composed of a head end, a color value (color) and a tail end (end point). Exemplarily, the present embodiment further uses the color value as a policy identifier. The head end includes a generation node of the tunnel policy, and the head end of each tunnel policy configured by the device a includes the device a. The tail end comprises the destination address of the tunnel policy, and the tail end of each tunnel policy configured by the device a comprises the address of the device B. Therefore, the step of transmitting the second packet by the device a according to any tunnel policy means: and the equipment A transmits the second message to the equipment B hop by hop according to each node included in the transmission path specified by any tunnel strategy.
Since the device a is configured with the first mapping relationship between the quality assurance indication information and the policy identifier, the device a can determine the target policy identifier matching the quality assurance indication information of the first application according to the first mapping relationship. Then, the device a determines a tunnel policy corresponding to the target policy identifier from the multiple tunnel policies configured by the device a, and transmits the second packet to the device a according to the tunnel policy corresponding to the target policy identifier.
It should be noted that, in practical applications, the tunnel policy is expressed as a segment list (segment list), which is also called a segment ID list (SID list). The plurality of nodes included in the transmission path specified by any tunnel policy are arranged from bottom to top in the SID list according to the order of the nodes on the transmission path. Therefore, in the process of transmitting the second message to the device B according to the tunnel policy corresponding to the target policy identifier, that is, the SID list, is configured in the second message. In the transmission process, the device a first transmits the second packet to the last node in the SID list, and then the last node in the SID list transmits the second packet to the penultimate node in the SID list, and so on until the second packet reaches the first node in the SID list, that is, the device B.
Case B2: the device A is configured with a plurality of tunnel strategies, different tunnel strategies correspond to different strategy identifications, the device A is further configured with a second mapping relation between the quality assurance indication information and the target mark and a third mapping relation between the target mark and the target strategy identification, and the target strategy identification is one of the strategy identifications corresponding to the plurality of tunnel strategies. The device a sends a second message to the device B, including: the device A determines a target mark corresponding to the quality assurance indication information of the first application based on the second mapping relation, determines a target strategy identifier corresponding to the target mark based on the third mapping relation, determines a tunnel strategy corresponding to the target strategy identifier from a plurality of tunnel strategies configured by the device A, and transmits a second message according to the tunnel strategy corresponding to the target strategy identifier.
The target mark includes, but is not limited to, a Differentiated Services Code Point (DSCP) and a priority mark configured inside the device a. After the device a determines the quality assurance indication information of the first application, a target mark corresponding to the quality assurance indication information of the first application is determined based on the second mapping relationship, and then a target policy identifier corresponding to the target mark is determined based on the third mapping identifier, so that the second packet can be transmitted according to the tunnel policy corresponding to the target policy identifier. In addition, the mode of the device a transmitting the second packet according to the tunnel policy corresponding to the target policy identifier refers to the description in the above case a1, and details are not described here again.
Exemplarily, in the case that the device a transmits other packets belonging to the second application that does not need to be guaranteed, the device a transmits the other packets according to other tunneling policies except the tunneling policy corresponding to the target policy identifier. In the process of transmitting other messages according to other tunneling policies, the following two ways are respectively described as to whether the device B issues a route to the device a that affects the device a to transmit other messages.
In the case where device B issues a route, device a performs transmission of other packets through route coloring.
The route issued by the device B includes a route prefix (prefix) and a next hop (next hop), the route prefix is an address of the other device except the device B in the network, and the next hop is an address of the device B. The route is used to indicate: and responding to the condition that the destination address of any message is the routing prefix, and selecting the equipment B as the next hop of any message. For example, the present embodiment does not limit the manner in which the device B issues the route. For example, the device B issues the routing information through Border Gateway Protocol (BGP).
Route coloring means: and adding a policy identifier to the route issued by the device B through the routing policy, wherein the policy identifier is carried in the route. And then, responding to the fact that the strategy identification carried by one route is the same as the strategy identification corresponding to one tunnel strategy, and carrying out route iteration on the route and the tunnel strategy. In the process of route iteration, in response to that the destination address of any message is a route prefix included in a route, a tunnel policy, namely an SID list, having the same policy identifier as the route is configured for any message. Therefore, the transmission path specified by the tunnel policy with the same policy identifier as the route passes by any message in the process of transmitting from the device a to the device B. After the any message reaches the device B through the designated transmission path, the device B forwards the any message to the destination address. Therefore, message transmission is realized through the route coloring process.
And under the condition that other messages need to be transmitted according to other tunnel strategies, coloring the route issued by the equipment B by the equipment A according to the strategy identification corresponding to the other tunnel strategies. Alternatively, when device B issues a route, the route is colored by device B. The device a defaults to transmit the other messages belonging to the second application without guarantee according to the other tunneling strategies. It can be seen that the device a transmits the second packet and the other packets according to different tunneling strategies, that is, the device a distinguishes between the first application that needs to be secured and the other applications that do not need to be secured.
Or, in the case that the device B does not issue a route, the device a performs transmission of other packets through redirection (redirect). In this case, since device B does not publish a route, device a cannot perform route coloring, and thus cannot implement route iteration between the route and the tunnel policy. Therefore, the device a modifies the transmission path of the other packet to the transmission path specified by the other tunnel policy by redirection, so that the device a can transmit the other packet according to the other tunnel policy.
Next, a process of message transmission by the device a will be described by taking an example in which the device a corresponds to the MC, the device B corresponds to the ACC, and the second message corresponds to the downlink message.
As shown in fig. 11, SRv6 polarity a with color 100 and SRv6 polarity B with color 200 are arranged in MC. Wherein SRv6 policy A is a normal path with a delay not less than a threshold, and SRv6 policy B is a low-delay path with a delay less than a threshold. MC configures the mapping relation between a target mark T and a color 200 through a color 200match mark T. In addition, after the MC receives the BGP route published by the ACC, it is colored 100 by:
peer ACC-IP route-policy A import
route-policy A permit node 10
apply extcommunity color 0:100
and after the MC receives the downlink message, performing application identification on the downlink message. And responding to the first application needing to be guaranteed of the downlink message, determining a target mark T, and determining the color corresponding to the target mark T to be 200 according to the mapping relation. And then, sending the downlink message to the ACC through SRv6 policy B with the color of 200. Or, in response to that the downlink message belongs to the second application which does not need to be guaranteed, the downlink message is sent to the ACC through SRv6 policy a.
204, device B receives the second message.
Wherein, according to the description in 201-203, the second message belongs to the first application. Since the device a encapsulates the quality assurance indication information in the second message, the second message further includes the quality assurance indication information. In addition, the second message also comprises information of the first application. Illustratively, the information of the first application includes transmission information of the second packet, and the transmission information of the second packet includes Internet Protocol (IP) tuple information of the second packet.
In some embodiments, the IP tuple information of the second packet comprises a quadruple, the quadruple comprising: a source IP address, a destination IP address, a source port, and a destination port. Or, the IP tuple information of the second packet includes a quintuple, which includes: source IP address, destination IP address, protocol number, source port, and destination port. Or, the IP tuple information of the second packet includes a seven-tuple, and the seven-tuple includes: a source IP address, a destination IP address, a protocol number, a source port and a destination port, a type of service (ToS), and an interface index.
Exemplarily, the information of the first application may further include the first identification in addition to the IP tuple information. The first identifier includes at least one of an application identifier, a user identifier, and a flow identifier, where the application identifier is used to indicate an application corresponding to the second packet, the user identifier is used to indicate a user corresponding to the second packet, and the flow identifier is used to indicate a packet flow corresponding to the second packet.
According to the first identifier, the device B is able to perform traffic management. Exemplary traffic management by device B includes, but is not limited to: and performing traffic analysis based on the first identifier to obtain an analysis result, and selecting an appropriate traffic management policy according to the analysis result, for example, adjusting the processing priority of the traffic, uploading the traffic to a network manager for further analysis, limiting and discarding the traffic, and the like. Illustratively, in the process of performing traffic analysis based on the first identifier, the device B counts the total traffic corresponding to the first application based on the application identifier included in the first identifier. Alternatively, the total flow consumed by any user is counted based on the user identities comprised by the first identity. Or, the total traffic corresponding to any message flow is counted based on the flow identifier included in the first identifier. The present embodiment does not limit the flow analysis process and the flow management policy.
It should be noted that the sending of the second packet received by the device B by the device a is only an example, and is not used to limit the sending device of the second packet. In some embodiments, the second packet including the quality assurance indication information may also be sent by a device other than the device a.
205, the device B stores the correspondence between the information of the first application and the quality assurance indication information.
In the process of transmitting a message, the device B often receives a plurality of messages. And responding to the received message without carrying the quality assurance indication information, and normally sending the message by the equipment B. And in response to the received packet including the second packet carrying the quality assurance indication information, the device B stores the correspondence between the information of the first application and the quality assurance indication information. In some embodiments, the way in which device B saves the correspondence includes the following two.
The first storage mode: the corresponding relationship includes information of the first application and quality assurance indication information.
Taking the example that the quality assurance indicating information includes the SLA requirements, the device B correspondingly stores the information of the SLA requirements and the first application according to table 1 below. In table 1, the protocol number 6 is used to indicate that the transmission protocol used is Transmission Control Protocol (TCP), and the SLA level flag is a flag used to indicate the SLA requirement.
TABLE 1
Source IP address Source port Destination IP address Destination port Protocol number SLA level
1.1.1.1 6000 2.2.2.2 80 6 1
The second storage mode is as follows: the correspondence includes only the information of the first application and does not include the quality assurance indication information, but the corresponding quality assurance indication information can be determined according to the information of the first application.
For example, device B stores information of the first application as table 2 below, and table 2 has corresponding quality assurance indication information.
TABLE 2
Figure BDA0002898575790000121
Figure BDA0002898575790000131
In some embodiments, in response to that the quality assurance indication information includes the SLA requirement and an SLA assurance flag, the device B does not directly perform the saving operation, but saves the correspondence between the information of the first application and the quality assurance indication information in a case where the SLA assurance flag indicates that quality assurance is required.
Device B receives 206 the third message.
Wherein the third message is a message to be transmitted. After the device B acquires the third packet, the application to which the third packet belongs is identified based on the information of the first application.
Illustratively, as illustrated in 1202, the information of the first application includes transmission information of the second packet. Correspondingly, the identifying, by the device B, the third packet based on the information of the first application includes: and determining that the third message belongs to the first application in response to the transmission information of the third message matching the transmission information of the second message. And if the transmission information of the third message is matched with the transmission information of the second message, the third message and the second message belong to the same application. Since the second message belongs to the first application, the third message also belongs to the first application.
Taking the IP tuple information included in the transmission information as a quintuple, the transmission information of the third packet matches with the transmission information of the second packet, including the following conditions: the source IP address of the third message corresponds to the destination IP address of the second message, the source port of the third message corresponds to the destination port of the second message, the destination IP address of the third message corresponds to the source IP address of the second message, the destination port of the third message corresponds to the source port of the second message, and the protocol number of the third message is the same as the protocol number of the third message. According to the conditions, it can be determined that the second message and the third message are messages transmitted by the same two devices through the same port in opposite directions, so that the second message and the third message belong to the same application.
For example, table 3 shows a case where the five-tuple of the third packet matches the five-tuple of the second packet.
TABLE 3
Source IP address Source port Destination IP address Destination port Protocol number
The third message 2.2.2.2 80 1.1.1.1 6000 6
Second message 1.1.1.1 6000 2.2.2.2 80 6
It can be seen that the device B can implement the application identification of the third packet based on the information of the first application. For example, when the information of the first application includes transmission information of the second packet, the device B does not need to have the application device capability, and the device B only needs to compare the transmission information to provide corresponding network quality guarantee for the application. Compared with DPI, AI and other modes provided in the related technology, the identification mode provided by the application does not need to depend on stronger processing capacity. In other words, even if the processing capability of the device B is weak, the application identification can still be realized in the identification manner provided by the present application.
207, the device B performs quality assurance on the third packet according to the correspondence.
Because the corresponding relationship includes the information of the first application and the quality assurance indication information, in response to identifying that the third packet belongs to the first application, the corresponding quality assurance indication information can be determined according to the information of the first application and the corresponding relationship, so that quality assurance is performed on the third packet according to the quality assurance indication information.
Exemplarily, the quality assurance of the third packet by the device B according to the correspondence includes: and the equipment B determines a forwarding path corresponding to the first application according to the quality assurance indication information and sends a third message according to the forwarding path. In some embodiments, if the device a sends the second packet received by the device B, the device B performs quality assurance on the third packet according to the correspondence, including: and the device B sends a third message to the device A.
The determining, by the device B, a forwarding path corresponding to the first application according to the quality assurance indication information includes: and the device B determines the tunnel strategy matched with the quality assurance indication information as a forwarding path. The method for determining the forwarding path includes the following two cases C1 and C2. The case C1 refers to the case B1 in the above 203, and the case C2 refers to the case B2 in the above 203, which are not described herein again.
Case C1: the device B is configured with a plurality of tunnel strategies, different tunnel strategies correspond to different strategy identifications, and the device B is configured with a first mapping relation between the quality assurance indication information and the strategy identifications. The device B determines the tunnel policy matched with the quality assurance indication information as a forwarding path, including: the device B determines a target policy identifier corresponding to the quality assurance indication information based on the first mapping relationship, determines a tunnel policy corresponding to the target policy identifier from a plurality of tunnel policies configured by the device B, and determines the tunnel policy corresponding to the target policy identifier as a forwarding path.
Case C2: the device B is configured with a plurality of tunnel strategies, different tunnel strategies correspond to different strategy identifications, the device B is also configured with a second mapping relation between the quality assurance indication information and the target mark and a third mapping relation between the target mark and the target strategy identification, and the target strategy identification is one of the strategy identifications corresponding to the plurality of tunnel strategies. The device B determines the tunnel policy matched with the quality assurance indication information as a forwarding path, including: the device B determines a target mark corresponding to the quality assurance indication information based on the second mapping relation, determines a target policy identifier corresponding to the target mark based on the third mapping relation, determines a tunnel policy corresponding to the target policy identifier from a plurality of tunnel policies configured by the device B, and determines the tunnel policy corresponding to the target policy identifier as a forwarding path.
Illustratively, the method further comprises: the device B encapsulates the quality assurance indication information in the third message, where the device B may encapsulate the quality assurance indication information in the third message before performing quality assurance on the third message according to the correspondence, or encapsulate the quality assurance indication information in the third message after the quality assurance. The quality assurance indication information encapsulated in the third packet is used for determining quality of service (QoS) for each hop of equipment behind the equipment B, so as to control and schedule the third packet according to the QoS. Or, the quality assurance indication information encapsulated in the third message is also used for rerouting the third message by each hop device after the device B.
Exemplarily, the device B encapsulates the quality assurance indication information and also encapsulates the application identifier in the third packet, and then the comprehensive quality assurance indication information of each hop of devices behind the device B and the application identifier determine the application of the third packet, so as to perform statistical management based on the application of the third packet. Illustratively, the statistical management performed by each hop device includes, but is not limited to: and performing application level control based on the application of the third message and a Service Function Chain (SFC), wherein the application does not limit the statistical management performed by each hop of equipment. In some embodiments, based on the application identifier, the device B can further encapsulate the user identifier and/or the flow identifier in the third packet, so as to facilitate further statistical management for each hop device.
It should be noted that the SFC includes a plurality of service nodes, and the service nodes correspond to the services one to one, so that the plurality of service nodes can provide multiple services in order. And each hop device sends the third message to at least one service node in the SFC according to the application of the third message, and each service receiving the third message provides corresponding service respectively to obtain a service result for application level control. The service provided by the service node included in the SFC is not limited in this embodiment, and the service provided by the service node includes, for example and without limitation: anti-distributed denial of service (anti-DDoS), log auditing, URL management, application control, and Firewall (FW), among others.
Taking the example that each hop device includes an AGG, referring to fig. 12, fig. 12 shows a process that the AGG performs application-level control through a value-added service system (VAS) located in a cloud. The VAS includes a Service Classifier (SC) and a tail node (tail end). The AGG sends a third packet and an application of the third packet to the SC, the SC selects at least one service node from the service nodes included in the SFC based on the application of the third packet, for example, three service nodes, i-DDoS, application control, and FW, are selected in fig. 12, and the third packet sequentially reaches each selected service node. And after the last service node provides the service, the service result is sent to the tail node, and the tail node sends the service result to the AGG, so that the AGG can perform application level control according to the received service result.
Taking the MC corresponding to the device a and the ACC corresponding to the device B as an example, referring to fig. 13, fig. 13 shows a process of the device B transmitting an uplink packet. The process of transmitting the uplink packet refers to the description corresponding to fig. 11 above, and is not described here again.
In summary, since the device a has the application identification capability, after identifying that the first packet belongs to the first application, the device a can send the second packet carrying the quality assurance indication information to the device B. Therefore, based on the quality assurance indication information carried in the second packet, even if the processing capability of the device B is weak, the device B can obtain the corresponding application information from the second packet, so that network quality assurance can be provided based on the obtained application information and assurance information, and differentiated transmission of packets of different applications is realized. Not only the cost of the operator is reduced, but also the user experience is improved.
Next, referring to fig. 14, a method for transmitting a packet provided by the present application is described through interaction between the ACC and the MC.
The method comprises the following steps: and the MC receives the downlink message and determines that the downlink message belongs to a first application needing quality assurance. Referring to fig. 15, in response to that the application to which the downlink packet belongs is the first application that needs to be guaranteed, quality guarantee indication information is carried in the downlink packet.
Step two: and responding to the requirement of ensuring the application of the downlink message, and then the MC selects a proper forwarding path to forward the downlink message carrying the quality guarantee indication information based on the quality guarantee indication information. Alternatively, referring to fig. 15, in response to that the application to which the downlink packet belongs does not need to be guaranteed, the MC forwards the downlink packet normally.
Step three: referring to fig. 15, after receiving the downlink packet, the ACC determines whether the downlink packet carries quality assurance indication information. And responding to the condition that the downlink message does not carry the quality assurance indication information, and normally forwarding the downlink message. And responding to the downlink message carrying the quality assurance indication information, analyzing a message header of the downlink message to obtain the quality assurance indication information, and storing the corresponding relation between the IP tuple information and the quality assurance indication information of the downlink message. And then, the downlink message is forwarded normally.
Step four: referring to fig. 16, after the ACC stores the correspondence, in response to receiving the uplink packet, it is determined whether the IP tuple information of the uplink packet matches the IP tuple information of the downlink packet. In response to the matching, the ACC selects a suitable forwarding path to send the uplink packet according to the quality assurance indication information, that is, performs quality assurance on the uplink packet according to the correspondence. Or, responding to the mismatching, the ACC forwards the uplink message normally.
Referring to fig. 17, in step four, for the uplink packet matching the quintuple of the downlink packet, the ACC further carries the quality assurance indication information, the application identifier, the user identifier, and the flow identifier in the uplink packet. Therefore, each subsequent device, for example, the AGG device, can also sense the application of the uplink packet according to the quality assurance indication information, the application identifier, the user identifier, and the flow identifier carried in the uplink packet, in addition to forwarding the uplink packet, so as to perform traffic management based on the sensed application, see step five in fig. 17.
The method for transmitting the message is introduced above, and the application also provides a device for transmitting the message corresponding to the method. The apparatus is configured to execute the method for transmitting a packet, performed by the device B in fig. 2, through each module shown in fig. 18. As shown in fig. 18, the present application provides a message transmission apparatus, which includes the following modules.
A receiving module 1801, configured to receive, by the device B, a first packet, where the first packet includes quality assurance indication information and information of a first application, and the first packet belongs to the first application. The steps performed by the receiving module 1801 are as described above in 204.
A storage module 1802, configured to store, according to the first packet, a correspondence between the information of the first application and the quality assurance indication information. The steps performed by the save module 1802 are as described above in 205.
The receiving module 1801 is further configured to receive, by the device B, a second message, where the second message includes information of the first application. The steps performed by the receiving module 1802 may also be as described above in 206.
A guaranteeing module 1803, configured to guarantee quality of the second packet according to the corresponding relationship. The steps performed by the assurance module 1803 are as described in 207 above.
In one possible implementation, the quality assurance indication information includes an SLA requirement and/or an SLA assurance identification.
In a possible implementation manner, the first packet includes an IPv6 packet, and the quality assurance indication information is located in a packet header of the IPv6 packet.
In a possible implementation manner, the quality assurance indication information is located in an APN6 header of the IPv6 packet, and the APN6 header is located in an IPv6 extension packet header.
In a possible implementation manner, the APN6 header includes an APN6 basic header, and the quality assurance indication information is located in the APN6 basic header;
or the APN6 message header comprises an APN6 parameter extension message header, and the quality assurance indication information is located in the APN6 extension message header.
In a possible implementation manner, the quality assurance indication information includes SLA requirements and SLA assurance identifiers, the APN6 message header includes an APN6 basic message header and an APN6 parameter extension message header, the SLA requirements are located in the APN6 basic message header, and the SLA assurance identifiers are located in the APN6 parameter extension message header;
or the SLA requirement is located in an APN6 parameter extension message header, and the SLA guarantee identifier is located in an APN6 basic message header.
In a possible implementation manner, the information of the first application includes transmission information of the first packet, and the transmission information of the first packet includes IP tuple information of the first packet.
In a possible implementation manner, the ensuring module 1803 is configured to determine, by the device B, a forwarding path corresponding to the first application according to the quality assurance indication information, and send the second packet according to the forwarding path.
In one possible implementation, the apparatus further includes: and the packaging module is used for packaging the quality assurance indication information into the second message.
In a possible implementation manner, the information of the first application includes a first identifier, the first identifier includes at least one of an application identifier, a user identifier, and a flow identifier, the application identifier is used to identify the first application, the user identifier is used to identify a user corresponding to the first packet, and the flow identifier is used to identify a packet flow corresponding to the first packet.
In a possible implementation manner, a first message received by the device B is sent by the device a, and the ensuring module 1803 is configured to send a second message to the device a by the device B. Wherein, the device a corresponds to the device a in fig. 2.
As shown in fig. 19, the present application further provides a device for transmitting a message, where the device is configured to execute, through each module shown in fig. 19, the method for transmitting a message, executed by the apparatus a in fig. 2. The apparatus comprises several modules as follows.
An obtaining module 1901, configured to obtain, by the device a, the first packet.
The determining module 1902 is configured to determine, by the device a, that the first packet belongs to a first application that needs quality assurance.
The steps performed by the obtaining module 1901 and the determining module 1902 are as described above in 201.
An updating module 1903, configured to update the first packet by the device a to obtain a second packet, where the second packet includes quality assurance indication information. The steps performed by the update module 1903 are as described above in 202.
A sending module 1904, configured to send the second packet to the device B by the device a, where the quality assurance indication information is used to indicate the device B to obtain information of the first application from the first packet, and perform quality assurance on the packet belonging to the first application. Wherein, the device B corresponds to the device B in fig. 2, and the step executed by the sending module 1904 is as described in the above 203.
In one possible implementation, the quality assurance indication information includes service level agreement SLA requirements and/or an SLA assurance identification.
In a possible implementation manner, the updating module 1903 is further configured to obtain, by the device a, a first identifier of the first application, where the first identifier includes at least one of an application identifier, a user identifier, and a flow identifier, encapsulate the first identifier in the second message, where the application identifier is used to identify an application corresponding to the first message, the user identifier is used to identify a user corresponding to the first message, the flow identifier is used to identify a message flow corresponding to the first message, and information of the first application includes the first identifier.
It should be understood that the apparatuses provided in fig. 18 and 19 are only illustrated by dividing the functional modules when implementing the functions thereof, and in practical applications, the functions may be distributed by different functional modules according to needs, that is, the internal structure of the apparatus may be divided into different functional modules to implement all or part of the functions described above. In addition, the apparatus provided in fig. 18 and fig. 19 is the same as the method shown in fig. 2, and the specific implementation process thereof is detailed in 201 and 207, which is not described herein again.
The application provides a communication device, the device comprising: a communication interface and a processor, optionally the communication device further comprises a memory. The communication interface, the memory and the processor are in communication with each other through an internal connection path, the memory is used for storing instructions, and the processor is used for executing the instructions stored in the memory to control the communication interface to receive signals and control the communication interface to send signals, and when the processor executes the instructions stored in the memory, the processor is enabled to execute any one of the exemplary message transmission methods provided by the application.
The application provides a communication device, the device comprising: a communication interface and a processor, optionally the communication device further comprises a memory. The communication interface, the memory and the processor are in communication with each other through an internal connection path, the memory is used for storing instructions, and the processor is used for executing the instructions stored in the memory to control the communication interface to receive signals and control the communication interface to send signals, and when the processor executes the instructions stored in the memory, the processor is enabled to execute any one of the exemplary message transmission methods provided by the application.
Corresponding to the method and the virtual device provided by the application, the application also provides a communication device, and the following introduces the hardware structure of the communication device.
The communication device 2000 or the communication device 2100 described below corresponds to the communication device in the foregoing method, and in order to implement various steps and methods implemented by the communication device 2000 or the communication device 2100 in the method, hardware, modules, and other operations and/or functions described above, respectively, for how the communication device 2000 or the communication device 2100 performs a detailed message transmission process, specific details may refer to the foregoing method, and for brevity, are not described again here. Wherein the steps of the above method 201-203 are performed by integrated logic circuits of hardware or instructions in the form of software in the processor of the communication device 2000 or the communication device 2100. The steps of a method disclosed in connection with the present application may be embodied directly in a hardware processor, or in a combination of the hardware and software modules in the processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor. To avoid repetition, it is not described in detail here.
The communication device 2000 or the communication device 2100 corresponds to the message transmission apparatus shown in fig. 18 or 19 in the above-described virtual apparatus, and each functional module in the message transmission apparatus is implemented by software of the communication device 2000 or the communication device 2100. In other words, the message transmission apparatus includes functional modules that are generated by a processor of the communication device 2000 or the communication device 2100 reading program codes stored in a memory.
Referring to fig. 20, fig. 20 is a schematic diagram illustrating an exemplary communication device 2000 of the present application. The communication device 2000 shown in fig. 20 is configured to perform the operations related to the method for transmitting a packet shown in fig. 2. The communication device 2000 is, for example, a switch, a router, a controller, or the like.
As shown in fig. 20, the communication device 2000 includes at least one processor 2001, memory 2003, and at least one communication interface 2004.
The processor 2001 is, for example, a general purpose Central Processing Unit (CPU), a Digital Signal Processor (DSP), a Network Processor (NP), a Graphics Processing Unit (GPU), a neural-Network Processing Unit (NPU), a Data Processing Unit (DPU), a microprocessor, or one or more integrated circuits or application-specific integrated circuits (ASIC), a Programmable Logic Device (PLD) or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof, for implementing the present application. PLDs are, for example, Complex Programmable Logic Devices (CPLDs), field-programmable gate arrays (FPGAs), General Array Logic (GAL), or any combination thereof. Which may implement or perform the various logical blocks, modules, and circuits described in connection with the disclosure. A processor may also be a combination of computing functions, e.g., comprising one or more microprocessors, a DSP and a microprocessor, or the like.
Optionally, the communication device 2000 further comprises a bus. The bus is used to transfer information between the components of the communication device 2000. The bus may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 20, but this is not intended to represent only one bus or type of bus.
The Memory 2003 is, for example, but not limited to, a read-only Memory (ROM) or other type of storage device that can store static information and instructions, a Random Access Memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only Memory (EEPROM), a compact disc read-only Memory (CD-ROM) or other optical disk storage, optical disk storage (including compact disc, laser disc, optical disc, digital versatile disc, blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. The memory 2003 is, for example, independent and connected to the processor 2001 via a bus. The memory 2003 may also be integrated with the processor 2001.
Communication interface 2004 uses any transceiver or the like for communicating with other devices or a communication network, such as an ethernet, Radio Access Network (RAN), or Wireless Local Area Network (WLAN). The communication interface 2004 may include a wired communication interface and may also include a wireless communication interface. Specifically, the communication interface 2004 may be an Ethernet (Ethernet) interface, such as: a Fast Ethernet (FE) interface, a Gigabit Ethernet (GE) interface, an Asynchronous Transfer Mode (ATM) interface, a WLAN interface, a cellular network communication interface, or a combination thereof. The ethernet interface may be an optical interface, an electrical interface, or a combination thereof. In some embodiments of the present application, the communication interface 2004 may be used for the communication device 2000 to communicate with other devices.
In particular implementations, processor 2001 may include one or more CPUs, such as CPU0 and CPU1 shown in fig. 20, as some embodiments. Each of these processors may be a single core processor or a multi-core processor. A processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (e.g., computer program instructions).
In particular implementations, the communication device 2000 may include multiple processors, such as the processor 2001 and the processor 2005 shown in fig. 20, as some implementations. Each of these processors may be a single core processor or a multi-core processor. A processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (e.g., computer program instructions).
In some embodiments, the memory 2003 is used to store program code 2010 for implementing aspects of the present disclosure, and the processor 2001 may execute the program code 2010 stored in the memory 2003. That is, the communication device 2000 may implement the method for transmitting the message provided by the method through the processor 2001 and the program code 2010 in the memory 2003. One or more software modules may be included in program code 2010. Optionally, the processor 2001 itself may also store program code or instructions to perform aspects of the present application.
In a specific implementation, the communication device 2000 of the present application may correspond to the communication device in the above-described method, and the processor 2001 in the communication device 2000 reads the instructions in the memory 2003, so that the communication device 2000 shown in fig. 20 can perform all or part of the operations performed by the communication device in the method.
The communication device 2000 may also correspond to the apparatus shown in fig. 18 described above, and each functional module in the apparatus shown in fig. 18 is implemented by software of the communication device 2000. In other words, the apparatus shown in fig. 18 includes functional blocks that are generated after the processor 2001 of the communication device 2000 reads the program code 2010 stored in the memory 2003.
The communication device 2000 may also correspond to the apparatus shown in fig. 19 described above, and each functional module in the apparatus shown in fig. 19 is implemented by software of the communication device 2000. In other words, the apparatus shown in fig. 19 includes functional blocks that are generated after the processor 2001 of the communication device 2000 reads the program code 2010 stored in the memory 2003.
The steps of the method of transmitting messages shown in fig. 2 are performed by integrated logic circuits of hardware or instructions in the form of software in the processor of the communication device 2000. The steps of a method disclosed in connection with the present application may be embodied directly in a hardware processor, or in a combination of the hardware and software modules in the processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in a memory, and a processor reads information in the memory and performs the steps of the above method in combination with hardware thereof, which are not described in detail herein to avoid repetition.
Referring to fig. 21, fig. 21 illustrates a schematic diagram of an exemplary communication device 2100 according to the present application. The communication device 2100 includes: a main control board 2100 and an interface board 2130. The communication device 2100 illustrated in fig. 21 is configured to perform the operations involved in the method for transmitting a packet illustrated in fig. 2. The communication device 2100 is, for example, a switch, a router, a controller, or the like. The communication device 2100 may be an example of the communication device 2000.
The main control board 2100 is also called a Main Processing Unit (MPU) or a route processor card (route processor card), and the main control board 2100 is used for controlling and managing each component in the communication device 2100, including routing computation, device management, device maintenance, and protocol processing functions. The main control board 2100 includes: a central processor 2101 and a memory 2102.
The interface board 2130 is also referred to as a Line Processing Unit (LPU), a line card (line card), or a service board. The interface board 2130 is used for providing various service interfaces and forwarding data packets. The service interfaces include, but are not limited to, Ethernet interfaces, such as Flexible Ethernet services interfaces (FlexE Ethernet Clients), POS (Packet over SONET/SDH) interfaces, and the like. The interface board 2130 includes: a central processing unit 2131, a network processor 2132, a forwarding table entry memory 2134, and a Physical Interface Card (PIC) 2133.
The central processor 2131 on the interface board 2130 is used for controlling and managing the interface board 2130 and communicating with the central processor 2101 on the main control board 2100.
The network processor 2132 is configured to implement forwarding processing of the packet. The network processor 2132 may take the form of a forwarding chip. Specifically, the network processor 2132 is configured to forward the received message based on a forwarding table stored in the forwarding table entry memory 2134, and if a destination address of the message is an address of the communication device 2100, send the message to a CPU (e.g., the central processing unit 2101) for processing; if the destination address of the packet is not the address of the communication device 2100, the next hop and the outgoing interface corresponding to the destination address are found from the forwarding table according to the destination address, and the packet is forwarded to the outgoing interface corresponding to the destination address. The processing of the uplink message comprises the following steps: processing a message input interface and searching a forwarding table; and (3) downlink message processing: forwarding table lookups, and the like.
The physical interface card 2133 is used to implement a physical layer interface function, from which the original traffic enters the interface board 2130, and the processed message is sent out from the physical interface card 2133. The physical interface card 2133 is also called a daughter card, and may be installed on the interface board 2130, and is responsible for converting the photoelectric signal into a message, performing validity check on the message, and forwarding the message to the network processor 2132 for processing. In some embodiments, the central processor may also perform the functions of the network processor 2132, such as implementing software forwarding based on a general purpose CPU, so that the network processor 2132 is not required in the physical interface card 2133.
Optionally, the communication device 2100 includes a plurality of interface boards, for example, the communication device 2100 further includes an interface board 2140, and the interface board 2140 includes: a central processor 2141, a network processor 2142, a forwarding table entry memory 2144, and a physical interface card 2143.
Optionally, the communication device 2100 further comprises a switch board 2100. The switch board 2100 may also be referred to as a Switch Fabric Unit (SFU). In the case of a communication device having a plurality of interface boards 2130, the switch board 2100 is configured to complete data exchange between the interface boards. For example, the interface board 2130 and the interface board 2140 can communicate with each other through the switch board 2100.
The main control board 2100 and the interface board 2130 are coupled. For example. The main control board 2100, the interface board 2130, the interface board 2140, and the switch board 2100 are connected to the system backplane through the system bus to realize intercommunication. In a possible implementation manner, an inter-process communication (IPC) channel is established between the main control board 2100 and the interface board 2130, and the main control board 2100 and the interface board 2130 communicate with each other through the IPC channel.
Logically, the communication device 2100 comprises a control plane comprising the main control board 2100 and the central processor 2131 and a forwarding plane comprising various components that perform forwarding, such as a forwarding entry memory 2134, a physical interface card 2133 and a network processor 2132. The control plane executes functions of a router, generating a forwarding table, processing signaling and protocol messages, configuring and maintaining the state of the device, and the like, and issues the generated forwarding table to the forwarding plane, and in the forwarding plane, the network processor 2132 looks up the table of the message received by the physical interface card 2133 and forwards the message based on the forwarding table issued by the control plane. The forwarding table issued by the control plane may be stored in the forwarding table entry storage 2134. In some embodiments, the control plane and the forwarding plane may be completely separate and not on the same device.
If the communication device 2100 is configured as a communication device for performing the method of transmitting a packet performed by device a in fig. 2, after obtaining the first packet and updating to obtain the second packet, the second packet is sent through the physical interface card 2133. Illustratively, the first message is a message received through physical interface card 2133.
If the communication device 2100 is configured as a communication device for executing the method of transmitting a packet performed by the device B in fig. 2, a second packet transmitted by a device with application identification capability is received through the physical interface card 2133, so that the correspondence between the information of the first application and the quality assurance indication information included in the second packet is saved. After the third packet is obtained, the third packet is sent through the physical interface card 2133 according to the corresponding relationship, so as to guarantee the quality of the third packet. Illustratively, the second message and the third message are messages received through the physical interface card 2133.
In the present application, the operation on the interface board 2140 is the same as the operation on the interface board 2130, and for brevity, the description is omitted. The communication device 2100 may correspond to a communication device in each of the methods described above, and the main control board 2100, the interface board 2130, and/or the interface board 2140 in the communication device 2100 may implement the functions and/or various steps implemented by the communication device in each of the methods described above, which are not described herein again for brevity.
It should be noted that there may be one or more main control boards, and when there are more main control boards, the main control boards may include a main control board and a standby main control board. The interface board may have one or more blocks, and the stronger the data processing capability of the communication device, the more interface boards are provided. There may also be one or more physical interface cards on an interface board. The exchange network board may not have one or more blocks, and when there are more blocks, the load sharing redundancy backup can be realized together. Under the centralized forwarding architecture, the communication device does not need a switching network board, and the interface board undertakes the processing function of the service data of the whole system. Under the distributed forwarding architecture, the communication device can have at least one switching network board, and the data exchange among a plurality of interface boards is realized through the switching network board, so that the high-capacity data exchange and processing capacity is provided. Therefore, the data access and processing capabilities of the communication devices of the distributed architecture are greater than those of the devices of the centralized architecture. Optionally, the communication device may also be in the form of only one board card, that is, there is no switching network board, and the functions of the interface board and the main control board are integrated on the one board card, at this time, the central processing unit on the interface board and the central processing unit on the main control board may be combined into one central processing unit on the one board card to perform the function after the two are superimposed, and the data switching and processing capability of the device in this form is low (for example, communication devices such as a low-end switch or a router, etc.). Which architecture is specifically adopted depends on the specific networking deployment scenario, and is not limited herein.
In some possible embodiments, the communication device may be implemented as a virtualized device.
For example, the virtualized device may be a Virtual Machine (VM) running a program for sending messages, and the VM is deployed on a hardware device (e.g., a physical server). A virtual machine refers to a complete computer system with complete hardware system functionality, which is emulated by software, running in a completely isolated environment. The virtual machine may be configured as the first communication device or the second communication device. For example, the communication device may be implemented based on a general purpose physical server in combination with Network Function Virtualization (NFV) technology. The communication device is a virtual host, a virtual router or a virtual switch. Through reading the application, a person skilled in the art can combine the NFV technology to virtually simulate a communication device with the above functions on a general physical server. And will not be described in detail herein.
For example, a virtualization appliance may be a container, which is an entity for providing an isolated virtualization environment, e.g., a container may be a docker container. The container may be configured as a communication device. For example, the communication device may be created by a corresponding mirror image, for example, 2 container instances, namely, a container instance proxy-container1 and a container instance proxy-container2, may be created for proxy-container by a mirror image of proxy-container (a container providing proxy service), the container instance proxy-container1 is provided as a communication device for executing the method for transmitting a packet performed by device a in fig. 2, and the container instance proxy-container2 is provided as a communication device for executing the method for transmitting a packet performed by device B in fig. 2. When the container technology is adopted for implementation, the communication equipment can run by utilizing a kernel of the physical machine, and a plurality of communication equipment can share an operating system of the physical machine. The different communication devices can be isolated by container technology. The containerized communication device may run in a virtualized environment, such as a virtual machine, or may run directly in a physical machine.
For example, the virtualization device may be Pod, and Pod is kubernets (kubernets is a container arrangement engine of google open source, abbreviated as K8s in english) which is a basic unit for deploying, managing and arranging containerized applications. The Pod may include one or more containers. Each container in the same Pod is typically deployed on the same host, so each container in the same Pod can communicate through the host and can share the storage resources and network resources of the host. The Pod may be configured as a communication device. For example, a Pod as a service (hereinafter, referred to as a container as a service, which is a container-based PaaS service) may be specifically instructed to create a Pod and provide the Pod as a communication device.
Of course, the communication device may also be other virtualization devices, which are not listed here.
In some possible embodiments, the communication device described above may also be implemented by a general-purpose processor.
For example, the general purpose processor may be in the form of a chip. Specifically, the general-purpose processor implementing the communication device includes a processing circuit, an input interface and an output interface, the input interface and the output interface are connected and communicated with the processing circuit, the processing circuit is used for executing the message generating step in each method through the input interface, the processing circuit is used for executing the receiving step in each method through the input interface, and the processing circuit is used for executing the sending step in each method through the output interface. Optionally, the general-purpose processor may further include a storage medium, and the processing circuit is configured to execute the storage steps of the above methods via the storage medium. The storage medium may store instructions for execution by a processing circuit that executes the instructions stored by the storage medium to perform the various methods described above.
It should be understood that the processor may be a Central Processing Unit (CPU), other general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, etc. A general purpose processor may be a microprocessor or any conventional processor or the like. It is noted that the processor may be an advanced reduced instruction set machine (ARM) architecture supported processor.
Further, in an alternative embodiment, the memory may include both read-only memory and random access memory, and provide instructions and data to the processor. The memory may also include non-volatile random access memory. For example, the memory may also store device type information.
The memory may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The non-volatile 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. Volatile memory can be Random Access Memory (RAM), which acts as external cache memory. By way of example, and not limitation, many forms of RAM are available. For example, Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), double data rate synchronous SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct memory bus RAM (DR RAM).
Referring to fig. 22, the present application provides a network system 2200 for transmitting a message, where the network system 2200 for transmitting a message includes: a first device 2201 and a second device 2202. The first device 2201 is configured to obtain a first packet, and determine that the first packet belongs to a first application that needs quality assurance;
the first device 2201 is further configured to update the first packet to obtain a second packet, where the second packet includes quality assurance indication information;
the first device 2201 is further configured to send a second packet to the second device 2202;
the second device 2202 is configured to receive a second packet;
the second device 2202 is further configured to store, according to the second packet, a correspondence between information of the first application and quality assurance indication information included in the second packet;
the second device 2202 is further configured to receive a third packet, where the third packet includes information of the first application;
the second device 2202 is further configured to perform quality assurance on the third packet according to the correspondence.
In a possible implementation manner, the first device 2201 is further configured to obtain a first identifier of the first application, where the first identifier includes at least one of an application identifier, a user identifier, and a stream identifier, encapsulate the first identifier in the second message, where the application identifier is used to identify an application corresponding to the first message, the user identifier is used to identify a user corresponding to the first message, the stream identifier is used to identify a message stream corresponding to the first message, and the information of the first application includes the first identifier.
In one possible implementation, the second message received by the second device 2202 is sent by the first device 2201, and the second device 2202 is configured to send the third message to the first device 2201.
The steps executed by the first device 2201 are described in the above 201-.
The present application provides a communication device configured as a communication device for performing the method of transmitting a packet performed by device B in fig. 2. The communication device includes: a main control board and an interface board. The main control board includes: a first processor and a second memory. The interface board includes: a second processor, a second memory, and an interface card. The main control board is coupled with the interface board. The second memory may be configured to store program code, and the second processor is configured to call the program code in the second memory to perform the following: and receiving a first message, wherein the first message comprises quality assurance indication information and information of a first application, and the first message belongs to the first application.
The first memory may be configured to store program code, and the first processor is configured to call the program code in the first memory to perform the following: and storing the corresponding relation between the information of the first application and the quality assurance indication information according to the first message.
The second processor is further configured to call the program code in the second memory to perform the following operations: receiving a second message, wherein the second message comprises information of the first application; and performing quality guarantee on the second message according to the corresponding relation.
In a possible implementation manner, an inter-process communication protocol (IPC) channel is established between the main control board and the interface board, and the main control board and the interface board communicate with each other through the IPC channel.
The application provides a communication device configured as a communication device for executing the method for transmitting a message executed by the device a in fig. 2. The communication device includes: a main control board and an interface board. The main control board includes: a first processor and a second memory. The interface board includes: a second processor, a second memory, and an interface card. The main control board is coupled with the interface board.
The first memory may be configured to store program code, and the first processor is configured to call the program code in the first memory to perform the following: obtaining a first message; determining that the first message belongs to a first application needing quality assurance; and updating the first message to obtain a second message, wherein the second message comprises quality assurance indication information.
The second memory may be configured to store program code, and the second processor is configured to call the program code in the second memory to perform the following: and sending a second message to the second equipment, wherein the quality guarantee indication information is used for indicating the second equipment to obtain the information of the first application from the first message and carrying out quality guarantee on the message belonging to the first application.
In a possible implementation manner, an IPC channel is established between the main control board and the interface board, and the main control board and the interface board communicate with each other through the IPC channel.
The present application provides a computer program (product) comprising: computer program code, when the computer program code is executed by a computer, the computer executes the method for transmitting a message as described above 201 and 207 and shown in FIG. 2
The present application provides a computer-readable storage medium, which stores a program or instructions, and when the program or instructions are executed on a computer, the method for transmitting a message described in the above 201-207 and shown in fig. 2 is executed.
The application provides a chip, which includes a processor, and is configured to invoke and run an instruction stored in a memory from the memory, so that a communication device equipped with the chip executes the method for transmitting a message shown in the above-mentioned 201-207 and fig. 2.
The present application provides another chip, comprising: the input interface, the output interface, the processor and the memory are connected through an internal connection path, the processor is configured to execute codes in the memory, and when the codes are executed, the processor is configured to execute the method for transmitting a message shown in fig. 2 and 201 and 207.
In the above embodiments, all or part of the implementation may be realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. The procedures or functions according to the present application are generated in whole or in part when the computer program instructions are loaded and executed on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., coaxial cable, fiber optic, digital subscriber line) or wirelessly (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk), among others.
In the context of this application, computer program code or related data may be carried by any suitable carrier to enable a device, apparatus or processor to perform various processes and operations described above. Examples of a carrier include a computer-readable medium and the like.
It can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the system, the device and the module described above may refer to corresponding processes in the foregoing method, and are not described herein again.
In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other ways. For example, the above-described apparatus is merely illustrative, and for example, the division of the module is only one logical division, and there may be other divisions in actual implementation, for example, multiple modules or components may be combined or integrated into another system, or some features may be omitted, or not executed. Further, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or modules, and may also be an electrical, mechanical or other form of connection.
The modules described as separate parts may or may not be physically separate, and parts displayed as modules may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network modules. Some or all of the modules can be selected according to actual needs to achieve the purpose of the scheme of the application.
In addition, the functional modules in the embodiments of the present application may be integrated into one processing module, or each of the modules may exist alone physically, or two or more modules may be integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode.
The terms "first," "second," and the like, in this application, are used for distinguishing between similar items and items that have substantially the same function or similar functionality, and it should be understood that "first," "second," and "nth" do not have any logical or temporal dependency, nor do they define a quantity or order of execution. It will be further understood that, although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first device may be termed a second device, and, similarly, a second device may be termed a first device, without departing from the scope of the various examples. Both the first device and the second device may be communication and, in some cases, may be separate and distinct devices.
It should also be understood that, in the embodiments of the present application, the sequence numbers of the respective processes do not mean the execution sequence, and the execution sequence of the respective processes should be determined by the functions and the inherent logic thereof, and should not constitute any limitation to the implementation process of the present application.
The term "at least one" in this application means one or more, and the term "plurality" in this application means two or more. The terms "system" and "network" are often used interchangeably herein.
It should be understood that determining B from a does not mean determining B from a alone, but may be determined from a and other information.
It should also be appreciated that reference throughout this specification to "one embodiment," "an embodiment," "one possible implementation" means that a particular feature, structure, or characteristic described in connection with the embodiment or implementation is included in at least one embodiment of the present application. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" or "one possible implementation" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
As described above, the above embodiments are only used to illustrate the technical solutions of the present application, and are not limited thereto; although the present application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may be modified or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the present disclosure.

Claims (19)

1. A method for transmitting a message, the method comprising:
a first device receives a first message, wherein the first message comprises quality assurance indication information and information of a first application, and the first message belongs to the first application;
storing the corresponding relation between the information of the first application and the quality assurance indication information according to the first message;
the first equipment receives a second message, wherein the second message comprises the information of the first application;
and performing quality guarantee on the second message according to the corresponding relation.
2. The method according to claim 1, wherein the quality assurance indication information comprises service level agreement, SLA, requirements and/or an SLA assurance identity.
3. The method according to claim 1 or 2, wherein the first packet comprises an internet protocol version six IPv6 packet, and the quality assurance indication information is located in a packet header of the IPv6 packet.
4. The method of claim 3, wherein the quality assurance indication information is located in an application-aware IPv6network APN6 header of the IPv6 packet, and wherein the APN6 header is located in an IPv6 extension header.
5. The method of claim 4, wherein the APN6 header comprises an APN6 basic header, and wherein the quality assurance indication information is located in the APN6 basic header;
or the APN6 message header comprises an APN6 parameter extension message header, and the quality assurance indication information is located in the APN6 extension message header.
6. The method of claim 4, wherein the quality assurance indication information includes SLA requirements and SLA assurance identifiers, the APN6 header includes an APN6 basic header and an APN6 parameter extension header, the SLA requirements are located in the APN6 basic header, and the SLA assurance identifiers are located in the APN6 parameter extension header;
or the SLA requirement is located in the APN6 parameter extension packet header, and the SLA guarantee identifier is located in the APN6 basic packet header.
7. The method according to any of claims 1-6, wherein the information of the first application comprises transmission information of the first packet, and the transmission information of the first packet comprises IP tuple information of the first packet.
8. The method according to any of claims 1-7, wherein said performing quality assurance on said second packet according to said correspondence comprises:
and the first equipment determines a forwarding path corresponding to the first application according to the quality assurance indication information, and sends the second message according to the forwarding path.
9. The method according to any one of claims 1 to 8, wherein before performing quality assurance on the second packet according to the correspondence, the method further comprises:
and encapsulating the quality assurance indication information in the second message.
10. The method of any of claims 1-9, wherein the information of the first application comprises a first identifier, and wherein the first identifier comprises at least one of an application identifier, a user identifier, and a flow identifier, and wherein the application identifier is used to identify the first application, the user identifier is used to identify a user corresponding to the first packet, and the flow identifier is used to identify a packet flow corresponding to the first packet.
11. The method according to any one of claims 1 to 10, wherein the first packet received by the first device is sent by a second device, and the quality assurance of the second packet according to the correspondence includes:
and the first equipment sends the second message to the second equipment.
12. A method for transmitting a message, the method comprising:
the first equipment obtains a first message;
the first equipment determines that the first message belongs to a first application needing quality assurance;
the first equipment updates the first message to obtain a second message, wherein the second message comprises quality assurance indication information;
and the first equipment sends the second message to second equipment, and the quality assurance indication information is used for indicating the second equipment to obtain the information of the first application from the first message and carrying out quality assurance on the message belonging to the first application.
13. The method according to claim 12, wherein the quality assurance indication information comprises service level agreement, SLA, requirements and/or an SLA assurance identity.
14. The method according to claim 12 or 13, wherein the first device updates the first packet to obtain a second packet, further comprising:
the first device obtains a first identifier of the first application, where the first identifier includes at least one of an application identifier, a user identifier, and a flow identifier, and encapsulates the first identifier in the second message, where the application identifier is used to identify an application corresponding to the first message, the user identifier is used to identify a user corresponding to the first message, the flow identifier is used to identify a message flow corresponding to the first message, and the information of the first application includes the first identifier.
15. A network system for transmitting messages is characterized in that the network system comprises a first device and a second device, wherein the first device is used for obtaining a first message and determining that the first message belongs to a first application needing quality assurance;
the first device is further configured to update the first packet to obtain a second packet, where the second packet includes quality assurance indication information;
the first device is further configured to send the second packet to the second device;
the second device is used for receiving the second message;
the second device is further configured to store, according to the second packet, a correspondence between information of the first application and the quality assurance indication information, which are included in the second packet;
the second device is further configured to receive a third packet, where the third packet includes information of the first application;
and the second equipment is also used for carrying out quality guarantee on the third message according to the corresponding relation.
16. The network system of claim 15, wherein the first device is further configured to obtain a first identifier of the first application, the first identifier includes at least one of an application identifier, a user identifier, and a flow identifier, the first identifier is encapsulated in the second message, the application identifier is used to identify an application corresponding to the first message, the user identifier is used to identify a user corresponding to the first message, the flow identifier is used to identify a message flow corresponding to the first message, and the information of the first application includes the first identifier.
17. The network system according to claim 15 or 16, wherein the second packet received by the second device is sent by the first device, and the second device is configured to send the third packet to the first device.
18. An apparatus for transmitting a message, the apparatus comprising a memory and a processor; the memory has stored therein at least one instruction that is loaded and executed by the processor to implement the method of transmitting a message of any of claims 1-14.
19. A computer-readable storage medium having stored thereon at least one instruction, which is loaded and executed by a processor, to implement the method of transmitting a message according to any of claims 1-14.
CN202110049132.3A 2020-09-25 2021-01-14 Method, device and equipment for transmitting message and computer readable storage medium Pending CN114338432A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2023518967A JP2023542416A (en) 2020-09-25 2021-09-24 Packet transmission method, apparatus, device, and computer readable storage medium
PCT/CN2021/120430 WO2022063245A1 (en) 2020-09-25 2021-09-24 Message transmission method and apparatus, device, and computer readable storage medium
EP21871614.0A EP4207644A4 (en) 2020-09-25 2021-09-24 Message transmission method and apparatus, device, and computer readable storage medium
US18/189,937 US20230239249A1 (en) 2020-09-25 2023-03-24 Packet Transmission Method, Apparatus, Device, and Computer-Readable Storage Medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011026720 2020-09-25
CN2020110267207 2020-09-25

Publications (1)

Publication Number Publication Date
CN114338432A true CN114338432A (en) 2022-04-12

Family

ID=81044384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110049132.3A Pending CN114338432A (en) 2020-09-25 2021-01-14 Method, device and equipment for transmitting message and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN114338432A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114828140A (en) * 2022-05-09 2022-07-29 中国电信股份有限公司 Service flow message forwarding method and device, storage medium and electronic equipment
CN116346492A (en) * 2023-04-18 2023-06-27 浙江御安信息技术有限公司 Data security management method based on APNv6

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114828140A (en) * 2022-05-09 2022-07-29 中国电信股份有限公司 Service flow message forwarding method and device, storage medium and electronic equipment
CN114828140B (en) * 2022-05-09 2023-12-12 中国电信股份有限公司 Service flow message forwarding method and device, storage medium and electronic equipment
CN116346492A (en) * 2023-04-18 2023-06-27 浙江御安信息技术有限公司 Data security management method based on APNv6

Similar Documents

Publication Publication Date Title
KR102555671B1 (en) Packet processing methods, related devices and computer storage media
US10757231B2 (en) Providing network efficiencies in forwarding packets among provider networks and applying segment routing policies
US10326830B1 (en) Multipath tunneling to a service offered at several datacenters
KR102226366B1 (en) Packet processing method, and device
CN107078950B (en) Method, apparatus, and computer-readable storage medium for establishing a service chain
WO2019085853A1 (en) Method and system for supporting multiple qos flows for unstructured pdu sessions
US10333853B1 (en) Unified quality of service (QoS) for label switching traffic
US20230064433A1 (en) Packet processing method and related device
US10027594B1 (en) Congestion control for label switching traffic
WO2021082575A1 (en) Packet forwarding method, apparatus, storage medium, and system
US11324077B2 (en) Priority channels for distributed broadband network gateway control packets
CN113472650A (en) Message processing method, device, system and storage medium
US20220174004A1 (en) Methods and apparatus for encoding local processing metadata in network headers
US20240048479A1 (en) Packet Forwarding Method and Apparatus, Network Device, and Storage Medium
CN114338432A (en) Method, device and equipment for transmitting message and computer readable storage medium
EP3718269B1 (en) Packet value based packet processing
WO2022048418A1 (en) Method, device and system for forwarding message
US8675669B2 (en) Policy homomorphic network extension
CN116800663A (en) Data transmission method, data transmission device, electronic equipment and storage medium
WO2022166465A1 (en) Message processing method and related apparatus
WO2022188530A1 (en) Route processing method and network device
WO2022063245A1 (en) Message transmission method and apparatus, device, and computer readable storage medium
CN109861912B (en) Optimizing fabric path forwarding for virtual nodes within an electronic device
CN114553699A (en) Message transmission method, device, equipment and computer readable storage medium
WO2022252569A1 (en) Packet processing method, apparatus and system

Legal Events

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