WO2022228293A1 - 一种发送报文的方法、处理报文的方法及设备 - Google Patents

一种发送报文的方法、处理报文的方法及设备 Download PDF

Info

Publication number
WO2022228293A1
WO2022228293A1 PCT/CN2022/088390 CN2022088390W WO2022228293A1 WO 2022228293 A1 WO2022228293 A1 WO 2022228293A1 CN 2022088390 W CN2022088390 W CN 2022088390W WO 2022228293 A1 WO2022228293 A1 WO 2022228293A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
ipv6
information
feature information
application program
Prior art date
Application number
PCT/CN2022/088390
Other languages
English (en)
French (fr)
Inventor
彭书萍
普瑞维迪斯特凡诺
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022228293A1 publication Critical patent/WO2022228293A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • the present application relates to the field of communications, and in particular, to a method for sending a message, a method and device for processing a message.
  • the embodiments of the present application provide a method for sending a message, a method and a device for processing a message, so that the network can understand the characteristics of the application program, thereby meeting various requirements of the application program.
  • a method for sending a packet is provided, and the method can be applied to a first device.
  • the first device may be, for example, a terminal device, a server, a base station, an access device, a gateway, or an operator border device.
  • the method for sending a message may include the following steps: the first device generates an Internet Protocol version 6 (IPv6) message, wherein the basic IPv6 header of the IPv6 message carries the feature information of the application, the The feature information of the application is used to identify the features of one or more applications corresponding to the IPv6 packet.
  • IPv6 Internet Protocol version 6
  • the feature information of the application program includes, but is not limited to, one or more of the following information: an application program identifier (APP identifier, APP ID), a service level agreement (service level agreement, SLA) level ( level), one or more user IDs (user ID), flow IDs (flow ID), session IDs (session ID), and parameter (arguments) information, the parameter information is used to identify the business requirement information of the application.
  • the service requirement information includes, but is not limited to, one or more requirement information of the application, such as delay, packet loss rate, jitter, and bandwidth.
  • the feature information of the application is represented as an IPv6 network identification (APN6ID) of the aware application.
  • APIN6ID IPv6 network identification
  • the first device After generating the IPv6 packet, the first device sends the IPv6 packet to the second device. Since the basic IPv6 header of the IPv6 packet carries the characteristic information of the application in this method, other devices in the network system can know the characteristic information of the application corresponding to the IPv6 packet, and then can use the application according to the characteristic information of the application. The characteristic information of the message is processed accordingly to meet the various needs of the application. In addition, because this method carries the feature information of the application program through the basic IPv6 header of the IPv6 message, there is no need to extend the message header to carry the feature information of the application program. The network device can also know the characteristic information carried by the application program corresponding to the IPv6 packet. This method has good scalability and wider application scenarios.
  • part or all of the information in the feature information of the application is carried in the flow label (Flow Label) field of the basic IPv6 header.
  • flow label Flow Label
  • the SLA level is carried in the traffic class field of the basic IPv6 header.
  • the basic IPv6 header may further include indication information, where the indication information is used to indicate that some or all of the information in the feature information of the application is carried in the flow label field of the basic IPv6 header , so that the device receiving the IPv6 packet can read the feature information of the application from the flow label field according to the indication information.
  • the indication information is carried in the traffic class field of the basic IPv6 header.
  • the first device may also acquire feature information of the application program, and perform encryption processing on the feature information of the application program to obtain the encrypted features of the application program information, then, the basic IPv6 header of the IPv6 packet carries the characteristic information of the encrypted application.
  • a method for processing a packet is also provided, and the method can be applied to a second device.
  • the second device may be, for example, a terminal device, a server or a network device, and the network device may be a head node, an intermediate node or a tail node.
  • the method for processing a message includes the following steps: the second device receives an IPv6 message from the first device, the basic IPv6 header of the IPv6 message carries feature information of the application, and the feature information of the application is used to identify the Characteristics of applications corresponding to IPv6 packets.
  • the feature information of the application please refer to the above, and will not be repeated here.
  • the second device After receiving the IPv6 packet, the second device processes the IPv6 packet according to the feature information of the application. Since the basic IPv6 header of the IPv6 packet carries the characteristic information of the application, the second device can know the characteristic information of the application corresponding to the IPv6 packet, and then can perform corresponding processing on the packet according to the characteristic information of the application. processing to meet the various needs of the application.
  • the second device may determine a forwarding path for forwarding the IPv6 packet according to the feature information of the application, and determine the forwarding path for forwarding the IPv6 packet according to the feature information of the application program.
  • the forwarding path sends the IPv6 packet.
  • the second device may determine the forwarding path from a segment routing (segment routing, SR) policy (policy) according to the feature information of the application, so as to meet the transmission requirement of the application.
  • segment routing segment routing
  • the second device can verify the IPv6 packet according to the feature information of the application, and obtain a verification result.
  • the verification result determines whether the IPv6 packet is legal. If the verification result is that the verification fails, it indicates that the IPv6 packet is invalid, and the second device may discard the IPv6 packet.
  • the second device may select a network slice for forwarding the IPv6 packet according to the feature information of the application, so as to pass the IPv6 packet through the network slice.
  • the resource corresponding to the network slice forwards the IPv6 packet to meet the transmission requirement of the IPv6 packet.
  • the basic IPv6 header of the IPv6 packet may carry characteristic information of the encrypted application.
  • the second device after receiving the IPv6 packet, the second device can decrypt the feature information of the encrypted application program to obtain the feature information of the decrypted application program.
  • a device for sending a message is provided, which is used in a network system including multiple devices, where the multiple devices include a first device, and the device that sends a message is the first device, and the The first device includes: a processing unit configured to generate an IPv6 packet, wherein the basic IPv6 header of the IPv6 packet includes feature information of an application, and the feature information of the application is used to identify one or more corresponding to the IPv6 packet.
  • a sending unit configured to send the IPv6 packet to the second device.
  • the processing unit is further configured to obtain the feature information of the application program, perform encryption processing on the feature information of the application program, and obtain the encrypted feature information of the application program, and the IPv6 report
  • the basic IPv6 header of the document includes the characteristic information of the encrypted application.
  • a device for processing packets which is used in a network system including multiple devices, the multiple devices include a second device, the device for processing packets is the second device, and the The second device includes: a receiving unit, configured to receive an IPv6 message from the first device, where the basic IPv6 header of the IPv6 message carries feature information of the application, and the feature information of the application is used to identify the IPv6 message The feature of the corresponding application; a processing unit, configured to process the IPv6 packet according to the feature information of the application.
  • the processing unit determining the forwarding path for forwarding the IPv6 packet according to the feature information of the application program includes: the processing unit determining from the SR policy according to the feature information of the application program the forwarding path.
  • the processing unit processing the IPv6 packet according to the feature information of the application includes: the processing unit checking the IPv6 packet according to the feature information of the application , to obtain a verification result; in response to the verification result being that the verification fails, discard the IPv6 packet.
  • the basic IPv6 header of the IPv6 packet carries the feature information of the encrypted application.
  • the processing unit processing the IPv6 packet according to the feature information of the application program includes: the processing unit decrypting the feature information of the encrypted application program to obtain the feature information of the decrypted application program.
  • a device which is applied to a network system including multiple devices, the multiple devices include a first device and a second device, the device is a first device, and the first device includes: a processor and a network interface .
  • the network interface is used for receiving and sending packets.
  • the processor is configured to perform the method in the foregoing first aspect or any one possible design of the first aspect.
  • the first device further includes memory, which may be used to store instructions or program codes.
  • the processor is configured to invoke instructions or program codes in the memory to execute the method in the foregoing first aspect or any possible design of the first aspect.
  • a device which is applied to a network system including multiple devices, the multiple devices include a first device and a second device, the device is a second device, and the second device includes: a processor and a network interface .
  • the network interface is used for receiving and sending packets.
  • the processor is configured to perform the method in the aforementioned second aspect or any one possible design of the second aspect.
  • the second device further includes memory, which may be used to store instructions or program code.
  • the processor is configured to invoke the instructions or program codes in the memory to execute the method in the foregoing second aspect or any possible design of the second aspect.
  • a seventh aspect provides a network system, the network system includes the device for sending a message as described in the third aspect and the device for processing a message as described in the fourth aspect, or, including the device as described in the fifth aspect The first device or the second device according to the sixth aspect.
  • a computer-readable storage medium comprising instructions, programs or codes that, when executed on a computer, cause the computer to perform any one possible implementation of the foregoing first aspect or second aspect method described in one of the ways.
  • a computer program product comprising computer instructions, when the computer program product is run on a network device, the network device is made to execute one of the possible implementations of the first aspect or the second aspect.
  • a tenth aspect provides a chip including a memory and a processor.
  • Memory is used to store instructions or program code.
  • the processor is used to call and run the instruction or program code from the memory to execute the method in the first aspect or any possible design of the first aspect; or, the processor executes the second aspect or any one of the second aspect method in a possible design.
  • a chip in an eleventh aspect, includes a processor but does not include a memory.
  • the processor is configured to read and execute instructions or program codes stored in the off-chip memory. When the instructions or program codes are executed , the processor executes the method in the first aspect or any possible design of the first aspect; or, the processor executes the method in the second aspect or any possible design of the second aspect.
  • FIG. 1 is a schematic diagram of a possible hardware architecture of an application-aware network system 100 provided by an embodiment of the present application;
  • FIG. 2 is a schematic flowchart of a method for sending a message and processing a message according to an embodiment of the present application
  • FIG. 3 is a schematic diagram of the format of a basic IPv6 header of an IPv6 message provided by an embodiment of the present application
  • FIG. 4 is a schematic diagram of the feature information of an application provided in an embodiment of the present application being carried in a basic IPv6 header;
  • FIG. 5 is another schematic diagram of the feature information of the application provided in the embodiment of the present application being carried in the basic IPv6 header;
  • FIG. 6 is a schematic structural diagram of a first device 600 according to an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a second device 700 provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a network system 800 according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a device 900 according to an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a device 1000 according to an embodiment of the present application.
  • the embodiments of the present application provide a method for sending a message, a method and a device for processing the message, and by carrying the feature information of the application in the basic IPv6 of the IPv6 message, Make the network understand the characteristics of the application, and then meet the various transmission requirements of the application.
  • the packet sending method and the packet processing method provided by the embodiments of this application may be applied to an application-aware networking (APN) system.
  • APN application-aware networking
  • FIG. 1 this figure is a schematic diagram of a possible hardware architecture of the APN system 100 provided by this embodiment of the present application.
  • the APN system 100 includes a terminal device 101, an application-aware edge device (App-aware Edge Device) 102, an application-aware-process Head-End node (App-aware-process Head-End) 103, and an application-aware processing intermediate node (App-aware-process Mid-Point) 104 , an application-aware-process End-Point (App-aware-process End-Point) 105 and a server 106 .
  • an application-aware Edge Device App-aware Edge Device
  • an application-aware-process Head-End node App-aware-process Head-End
  • an application-aware processing intermediate node App-aware-process Mid-Point
  • an application-aware-process End-Point App-aware-process End-Point
  • server 106 an application-aware-process End-Point
  • the terminal device 101 communicates with the application-aware edge device 102 , the application-aware edge device 102 communicates with the application-aware processing head node 103 , the application-aware processing head node 103 communicates with the application-aware processing intermediate node 104 , and the application-aware processing intermediate node 104 communicates with the application
  • the perception processing tail node 105 communicates, and the application aware processing tail node 105 communicates with the server 106 .
  • the terminal device 101 also known as user equipment (UE), mobile station (MS), mobile terminal (MT), terminal, etc., is a device that provides voice and/or data connectivity to users.
  • UE user equipment
  • MS mobile station
  • MT mobile terminal
  • sexual equipment or a chip provided in the equipment, for example, a handheld equipment with a wireless connection function, a vehicle-mounted equipment, and the like.
  • terminal devices are: mobile phone, desktop computer, tablet computer, notebook computer, PDA, mobile internet device (MID), wearable device, virtual reality (VR) device, augmented reality (augmented reality, AR) equipment, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, and smart grids wireless terminals, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, and 5G-residential gateway devices that support 5G access , 5G-RG) and so on.
  • MID mobile internet device
  • VR virtual reality
  • AR augmented reality
  • wireless terminals in industrial control wireless terminals in self-driving
  • wireless terminals in remote medical surgery and smart grids wireless terminals
  • wireless terminals in transportation safety wireless terminals in smart cities, wireless terminals in smart homes, and 5G-residential gateway devices that support 5G access , 5G-RG) and so on.
  • the application-aware edge device 102 may be, for example, a base station, a customer premise equipment (CPE), an access point (AP), a residential gateway (residential gateway), and the like.
  • CPE customer premise equipment
  • AP access point
  • residential gateway residential gateway
  • the application-aware processing head node 103 , the application-aware processing intermediate node 104 , and the application-aware processing tail node 105 may be physical devices such as routers and switches, or may be servers deploying virtual routers or virtual switches.
  • a client of the application program is installed on the terminal device 101 .
  • An application also known as application software (APP) is a computer program that completes one or more specific tasks and usually needs to interact with users, such as video applications, game applications, and social applications. Wait.
  • a server (server) of the Service-aware App is installed on the server 106 .
  • the application-aware border device 102 , the application-aware processing head node 103 , the application-aware processing intermediate node 104 , and the application-aware processing tail node 105 between the terminal device 101 and the server 106 are used to transmit IPv6 packets between the terminal device 101 and the server 106 arts.
  • the IPv6 packet reaches the server 106 through a forwarding path between the application-aware processing head node 103 , the application-aware processing intermediate node 104 , and the application-aware processing tail node 105 .
  • FIG. 2 is a schematic flowchart of a method for sending a message and processing a message according to an embodiment of the present application.
  • the method includes the following steps:
  • S201 The first device generates an IPv6 packet.
  • the first device may be a terminal device (for example, the terminal device 101 in FIG. 1 ), a server (for example, the server 106 in FIG. 1 ), or an application-aware boundary device (for example, the application-aware boundary device in FIG. 1 ) 102), of course, the first device may also be an operator edge device, such as an application-aware processing head node 103 or an application-aware processing tail node 105.
  • a terminal device for example, the terminal device 101 in FIG. 1
  • a server for example, the server 106 in FIG. 1
  • an application-aware boundary device for example, the application-aware boundary device in FIG. 1
  • the first device may also be an operator edge device, such as an application-aware processing head node 103 or an application-aware processing tail node 105.
  • an IPv6 packet is generated by the first device, and the IPv6 packet carries feature information of the application, and the feature information of the application is used to identify the features of one or more applications corresponding to the IPv6 packet
  • the multiple application programs may be a type of application program corresponding to the IPv6 packet.
  • the feature information of the application carried in the IPv6 packet may be the feature information of the WeChat, or the feature information of the social application to which the WeChat belongs.
  • the application program When an application program is installed on the first device, and an IPv6 message carrying characteristic information of the application program is generated by the application program, the application program may be called a service-aware app (Service-aware App).
  • Service-aware App Service-aware App
  • the feature information of the application program may be represented by an application-aware IPv6 network identifier (application-aware IPv6 network identifier, APN6ID) as a whole, or represented according to the specific information included in the feature information of the application program.
  • APN6ID application-aware IPv6 network identifier
  • the characteristic information of the application program includes, but is not limited to, one or more of the following information: an application program identifier (APP identifier, APP ID), a service level agreement (service level agreement, SLA) level (level), one or more User identification (user ID), flow identification (flow ID), session identification (session ID) and parameter (arguments) information.
  • APP identifier an application program identifier
  • SLA service level agreement
  • User ID User identification
  • flow ID flow identification
  • session ID session identification
  • parameter (arguments) information parameter (arguments) information.
  • the meaning of "including” can be directly included or indirectly included.
  • Directly included means that the above-mentioned information itself is included in the feature information of the application.
  • Indirectly included means that the feature information of the application program may contain at least one index, and the index is used to reflect the feature information of the above-mentioned application program.
  • the total length of the message can be saved by substituting an index with fewer bits, thereby saving network transmission resources.
  • the index "001" can be used to represent the APP ID of a certain application
  • the index "002” can be used to represent the APP ID of another application.
  • the “include” in the “feature information includes” mentioned below has the same meaning, and the relevant parts will not be repeated.
  • the APP ID is used to identify an application program corresponding to the IPv6 message.
  • the APP ID is the protocol feature word or the application feature code (attribute code) of the application program.
  • An APP ID can also be used for a unique type of application program corresponding to the IPv6 packet, and this type of application program can include multiple application programs, and the multiple application programs share one APP ID.
  • the SLA level is the SLA level of one or more applications corresponding to the IPv6 packet.
  • the SLA level is used to express the business requirements of the application on the network. For example, if the SLA level is gold, it means that the business requirements of the application on the network are ultra-low latency, ultra-large bandwidth, and ultra-high reliability.
  • “high”, “low”, “large” and “small” are relative terms, and specifically how high is high, how low is low, how large is large, and how small is small It is at the discretion of those skilled in the art.
  • the user ID is used to identify a user who uses the application program corresponding to the IPv6 packet.
  • the user ID may include information such as the user's user name.
  • the user ID may also be used to identify a group of users who use the application program corresponding to the IPv6 packet, and the group of users may include multiple users, and the multiple users share one user ID.
  • the flow ID is used to identify the specific flow of the application corresponding to the IPv6 packet.
  • the session ID is used to identify the specific session of the data packet generated by the application program corresponding to the IPv6 message.
  • the parameter information is used to identify the business requirement information of the application.
  • the service requirement information of the application may be embodied as one or more of information such as bandwidth, delay, jitter, and packet loss ratio.
  • the representation form of the parameter information may be specific values of information such as bandwidth and delay (for example, what is the minimum bandwidth, what is the upper limit of the delay, etc.).
  • the feature information of the above application program may be carried in a basic IPv6 header (basic IPv6 header) of an IPv6 message.
  • the basic IPv6 header also commonly referred to as the IPv6 basic header (IPv6 basic header or IPv6 main header).
  • IPv6 basic header IPv6 basic header or IPv6 main header.
  • basic IPv6 header is uniformly used below.
  • the feature information of the application may be carried in one or more fields of the basic IPv6 header.
  • FIG. 3 the figure is a schematic diagram of the format of the basic IPv6 header of the IPv6 packet.
  • the basic IPv6 header of an IPv6 packet includes a Version field, a Traffic Class field, a Flow Label field, a Payload Length field, and a Next Header. field, hop limit (Hop Limit) field, source address (Source Address) field and destination address (Destination Address) field.
  • the feature information of the application including one or more of the APP ID, SLA level, user ID, flow ID, session ID, and arguments information can all be carried in the Flow Label field.
  • the characteristic information of the application program includes APP ID, SLA level, user ID, flow ID, and arguments information, all of which are carried in the Flow Label field.
  • the SLA level can be carried in the Traffic Class field.
  • the feature information of the application also includes one or more kinds of information other than the SLA level, the one or more kinds of information can be carried in the Flow Label field.
  • the feature information of the application also includes the APP ID and user ID, then the APP ID and user ID can be carried in the Flow Label field.
  • the feature information of the application includes APP ID, SLA level, user ID, flow ID and arguments information, wherein, SLA level is carried in the Traffic Class field, APP ID, user ID, flow ID and arguments information is carried in the Flow Label field.
  • the Flow Label field can also carry other information.
  • the Flow Label field may also include information for load sharing.
  • the information used for load sharing may be a hash value calculated according to the quintuple information of the IPv6 packet.
  • the Flow Label field can be divided, one part is used to carry the feature information of the application, and the other part is used to carry other information. For example, assuming that the Flow Label field has a total of 20 bits, the first 10 bits in the Flow Label field can be used to carry other information, and the last 10 bits can be used to carry the feature information of the application.
  • the basic IPv6 header may also include indication information, and the indication information is used to indicate that some or all of the above-mentioned information in the feature information of the application is carried in the Flow Label field of the basic IPv6 header, that is, Both of the above possible implementations are applicable.
  • the indication information may be carried in the Traffic Class field.
  • the first device may carry encrypted feature information of the application in the IPv6 packet. Specifically, the first device acquires feature information of an application program corresponding to the IPv6 packet, and encrypts the feature information of the application program to obtain encrypted application program information. Then the first device carries the encrypted feature information of the application in the basic IPv6 header of the IPv6 packet.
  • the specific encryption method can be designed by those skilled in the art, which is not specifically limited in the embodiment of the present application.
  • the first device may calculate an opaque value of the feature information of the application, and carry the opaque value in the basic IPv6 header of the IPv6 packet.
  • the characteristic information of the application program includes multiple kinds of information
  • only part of the information may be encrypted.
  • the feature information of an application includes APP ID, SLA level, user ID, and flow ID
  • only the user ID can be encrypted to protect user privacy.
  • S202 The first device sends the IPv6 packet to the second device.
  • the second device may be a terminal device (eg, terminal device 101 in FIG. 1 ), a server (eg, server 106 in FIG. 1 ), or a network device, where the network device may be a head node (eg, FIG. 1 ) 1), an intermediate node (eg, the application-aware processing intermediate node 104 in FIG. 1), or a tail node (eg, the application-aware processing tail node 105 in FIG. 1).
  • the network device may be a head node (eg, FIG. 1 ) 1), an intermediate node (eg, the application-aware processing intermediate node 104 in FIG. 1), or a tail node (eg, the application-aware processing tail node 105 in FIG. 1).
  • S203 The second device receives the IPv6 packet from the first device.
  • S204 The second device processes the IPv6 packet according to the feature information of the application.
  • the second device after receiving the IPv6 packet from the first device, the second device processes the IPv6 packet according to the feature information of the application in the IPv6 packet. Different types of second devices may perform different processing.
  • the second device may determine a forwarding path for forwarding the IPv6 packet according to the feature information of the application, and send the IPv6 packet according to the forwarding path .
  • the second device may determine, according to the SLA level or the arguments parameter, a forwarding path that meets the service requirement corresponding to the SLA level or the arguments parameter. If there is no forwarding path that can meet the service requirements corresponding to the SLA level or arguments, the second device can notify the controller connected to it, and the controller generates forwarding path information corresponding to the forwarding path, and sends it to the second device. the second device, so that the second device can forward the IPv6 packet through the forwarding path.
  • the controller may be, for example, a software defined network (software defined network, SDN) controller or the like.
  • the second device may determine the forwarding path from a segment routing (segment routing, SR) policy (policy) according to the feature information of the application.
  • SR policy defines a head node (eg, application-aware processing head node 104 ), a tail node (eg, application-aware processing tail node 105 ), and path attributes from the head node to the tail node.
  • An SR policy can include one or more forwarding paths. If there are multiple forwarding paths, the multiple forwarding paths are forwarding paths supporting the same network performance, and the multiple forwarding paths can be used for load sharing.
  • the second device may select a network slice for forwarding the IPv6 packet according to the feature information of the application, so as to forward the IPv6 packet through the resource corresponding to the network slice.
  • the second device may carry the selected slice ID (slice ID) of the network slice in the IPv6 packet, so that other devices for forwarding the IPv6 packet can use the network resources corresponding to the slice ID according to the network resources. Forward the IPv6 packet to meet the transmission requirements of the application.
  • the second device when the second device is a terminal device or a server, the second device, as the destination device, can verify the IPv6 packet according to the feature information of the application, and if the verification fails, discard the IPv6 packet. .
  • the first device is a terminal device, and the feature information of the application program includes a user ID.
  • the second device can act as a server to determine whether the user ID exists in the local user ID database. If it exists, it means that the IPv6 packet is legal. , you can continue processing; if it does not exist, it means that the IPv6 packet is invalid, and the IPv6 packet can be discarded.
  • the first device is a server
  • the second device is a terminal device
  • the feature information of the application program includes an APP ID.
  • the terminal device receives the IPv6 packet from the server, it determines whether the APP corresponding to the APP ID included in the IPv6 packet exists on the terminal device. If so, the verification is passed, and the IPv6 packet can be processed; if If not, the verification fails, and the IPv6 packet can be discarded.
  • the second device can know the feature information of the application corresponding to the IPv6 packet, and then The packet can be processed according to the characteristic information of the application to meet various requirements of the application.
  • this method carries the feature information of the application program through the basic IPv6 header of the IPv6 message, there is no need to extend the message header to carry the feature information of the application program.
  • the network device can also know the characteristic information carried by the application program corresponding to the IPv6 packet. This method has good scalability and wider application scenarios.
  • the feature information of the application in the IPv6 message can be encrypted. Then, after receiving the IPv6 packet, the second device can decrypt the encrypted feature information of the application, so as to obtain the decrypted feature information of the application.
  • FIG. 6 shows a possible schematic structural diagram of the first device involved in the above embodiment, and the device 600 can implement the functions of the first device in the example shown in FIG. 2 .
  • the network device 600 includes: a processing unit 601 and a sending unit 602 . These units may perform the corresponding functions of the first network device in the above method examples.
  • the processing unit 601 is configured to support the device 600 to perform S201 in FIG. 2 ;
  • the sending unit 602 is configured to support the network device 600 to perform S202 in FIG. 2 .
  • the processing unit 601 is configured to generate an IPv6 packet, and the basic IPv6 header of the IPv6 packet includes feature information of the application;
  • the sending unit 602 is configured to send the IPv6 packet.
  • the specific execution process please refer to the detailed description of the corresponding steps in the above-mentioned embodiment shown in FIG. 2 , which will not be repeated here.
  • FIG. 7 shows a possible schematic structural diagram of the second network device involved in the above embodiment, and the device 700 can implement the functions of the second device in the example shown in FIG. 2 .
  • the network device 700 includes: a receiving unit 701 and a processing unit 702 . These units may perform the corresponding functions of the second device in the above method examples.
  • the receiving unit 701 is configured to support the device 700 to perform S203 in FIG. 2 ;
  • the processing unit 702 is configured to support the network device 700 to perform S204 in FIG. 2 .
  • the receiving unit 701 is configured to receive the IPv6 packet from the first device;
  • the processing unit 702 is configured to process the IPv6 packet according to the feature information of the application program.
  • the specific execution process please refer to the detailed description of the corresponding steps in the above-mentioned embodiment shown in FIG. 2 , which will not be repeated here.
  • each functional unit in the embodiments of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the acquiring unit and the processing unit may be the same unit or different units.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • an embodiment of the present invention provides a network system 800, where the system 800 is configured to implement the packet forwarding method and the packet processing method in the foregoing method embodiments.
  • the system 800 includes device 801 and device 802 .
  • the device 801 may implement the function of the first device in the embodiment shown in FIG. 2
  • the device 802 may implement the function of the second device in the embodiment shown in FIG. 2 .
  • For the specific execution process please refer to the detailed description of the corresponding steps in the above-mentioned embodiment shown in FIG. 2 , which will not be repeated here.
  • FIG. 9 is a schematic structural diagram of a device 900 provided by an embodiment of the present application.
  • the first device 600 in FIG. 6 and the second device 700 in FIG. 7 may be implemented by the devices shown in FIG. 9 .
  • the device 900 includes at least one processor 901 , a communication bus 902 and at least one network interface 904 , and optionally, the device 900 may further include a memory 903 .
  • the processor 901 may be a general-purpose central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits (integrated circuits) used to control the execution of the programs of the present application. , IC).
  • the processor may be configured to process the packet, so as to implement the packet forwarding method and the packet processing method provided in the embodiments of the present application. For example, when the first device in FIG. 2 is implemented by the device shown in FIG. 9 , the processor may be configured to generate an IPv6 packet and send the IPv6 packet. For another example, when the second device in FIG. 2 is implemented by the device shown in FIG.
  • the processor may be configured to receive an IPv6 packet from the first device, and perform an update to the device according to the feature information of the application. IPv6 packets are processed. For specific function implementation, reference may be made to the processing part of the second device in the method embodiment.
  • Communication bus 902 is used to transfer information between processor 901 , network interface 904 and memory 903 .
  • the memory 903 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, and the memory 903 can also be a random access memory (RAM) or can store information and other types of dynamic storage devices for instructions, also can be compact disc read-only Memory (CD-ROM) or other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, Blu-ray optical disks, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, without limitation.
  • the memory 903 may exist independently and is connected to the processor 901 through the communication bus 902 .
  • the memory 903 may also be integrated with the processor 901 .
  • the memory 903 is used for storing program codes or instructions for executing the solutions of the present application, and the execution is controlled by the processor 901 .
  • the processor 901 is used to execute program codes or instructions stored in the memory 903 .
  • One or more software modules may be included in the program code.
  • the processor 901 may also store program codes or instructions for executing the solutions of the present application. In this case, the processor 901 does not need to read the program codes or instructions from the memory 903 .
  • the network interface 904 may be a device such as a transceiver for communicating with other devices or a communication network, and the communication network may be an Ethernet, a radio access network (RAN), or a wireless local area network (WLAN), or the like. In this embodiment of the present application, the network interface 904 may be configured to receive packets sent by other nodes in the segment routing network, and may also send packets to other nodes in the segment routing network.
  • the network interface 904 may be an ethernet (ethernet) interface, a fast ethernet (FE) interface, or a gigabit ethernet (GE) interface, or the like.
  • the device 900 may include multiple processors, such as the processor 901 and the processor 905 shown in FIG. 9 .
  • processors can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor.
  • a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • FIG. 10 is a schematic structural diagram of a device 1000 provided by an embodiment of the present application.
  • the first device and the second device in FIG. 2 may be implemented by the devices shown in FIG. 10 .
  • the device 1000 includes a main control board and one or more interface boards.
  • the main control board communicates with the interface board.
  • the main control board is also called the main processing unit (MPU) or the route processor card (route processor card).
  • the main control board includes a CPU and memory.
  • the main control board is responsible for the control and management of various components in the device 1000, including Route calculation, device management and maintenance functions.
  • Interface boards also known as line processing units (LPUs) or line cards, are used to receive and send messages.
  • LPUs line processing units
  • the communication between the main control board and the interface board or between the interface board and the interface board is through a bus.
  • the interface boards communicate through a switch fabric board.
  • the device 1000 also includes a switch fabric board.
  • the switch fabric board is communicatively connected to the main control board and the interface board.
  • the switch fabric board is used for forwarding the interface board.
  • the data between them, the switch fabric board can also be called a switch fabric unit (SFU).
  • the interface board includes a CPU, a memory, a forwarding engine, and an interface card (IC), wherein the interface card may include one or more network interfaces.
  • the network interface can be an Ethernet interface, an FE interface, or a GE interface.
  • the CPU is connected in communication with the memory, the forwarding engine and the interface card, respectively.
  • the memory is used to store the forwarding table.
  • the forwarding engine is used to forward the received packet based on the forwarding table stored in the memory. If the destination address of the received packet is the IP address of device 1000, the packet is sent to the CPU of the main control board or interface board for processing. Processing; if the destination address of the received packet is not the IP address of the device 1000, look up the forwarding table according to the destination, if the next hop and outgoing interface corresponding to the destination address are found from the forwarding table, the packet Forwarding to the outbound interface corresponding to the destination address.
  • the forwarding engine may be a network processor (NP).
  • the interface card also known as the daughter card, can be installed on the interface board and is responsible for converting photoelectric signals into data frames, and after checking the validity of the data frames, forwards them to the forwarding engine for processing or the interface board CPU.
  • the CPU can also perform the function of a forwarding engine, such as implementing soft forwarding based on a general-purpose CPU, so that a forwarding engine is not required in the interface board.
  • the forwarding engine may be implemented by an ASIC or a field programmable gate array (FPGA).
  • the memory that stores the forwarding table may also be integrated into the forwarding engine as part of the forwarding engine.
  • An embodiment of the present application further provides a chip system, including: a processor, where the processor is coupled with a memory, the memory is used to store a program or an instruction, and when the program or instruction is executed by the processor, the The chip system implements the method of the first device or the second device in the above-mentioned embodiment shown in FIG. 2 .
  • the number of processors in the chip system may be one or more.
  • the processor can be implemented by hardware or by software.
  • the processor may be a logic circuit, an integrated circuit, or the like.
  • the processor may be a general-purpose processor implemented by reading software codes stored in memory.
  • the memory may be integrated with the processor, or may be provided separately from the processor, which is not limited in this application.
  • the memory can be a non-transitory processor, such as a read-only memory ROM, which can be integrated with the processor on the same chip, or can be provided on different chips.
  • the setting method of the processor is not particularly limited.
  • the chip system may be an FPGA, an ASIC, a system on chip (system on chip, SoC), a CPU, an NP, or a digital signal processing circuit (digital signal processor, DSP), can also be a microcontroller (micro controller unit, MCU), can also be a programmable logic device (programmable logic device, PLD) or other integrated chips.
  • SoC system on chip
  • DSP digital signal processing circuit
  • MCU microcontroller
  • PLD programmable logic device
  • each step in the above method embodiments may be implemented by a hardware integrated logic circuit in a processor or an instruction in the form of software.
  • the method steps disclosed in conjunction with the embodiments of the present application may be directly embodied as executed by a hardware processor, or executed by a combination of hardware and software modules in the processor.
  • Embodiments of the present application also provide a computer-readable storage medium, including instructions, which, when executed on a computer, cause the computer to execute the methods in the foregoing embodiments.
  • At least one item (piece) refers to one or more, and “multiple” refers to two or more.
  • At least one item(s) below” or similar expressions thereof refer to any combination of these items, including any combination of single item(s) or plural items(s).
  • at least one item (a) of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c may be single or multiple .
  • “A and/or B” is considered to include A alone, B alone, and A+B.
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical module division.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be acquired according to actual needs to achieve the purpose of the solution in this embodiment.
  • each module unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit may be implemented in the form of hardware, or may be implemented in the form of software module units.
  • the integrated unit if implemented in the form of a software module unit and sold or used as a stand-alone product, may be stored in a computer-readable storage medium.
  • the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes .
  • the functions described in the present invention may be implemented in hardware, software, firmware, or any combination thereof.
  • the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium.
  • Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
  • a storage medium can be any available medium that can be accessed by a general purpose or special purpose computer.

Landscapes

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

Abstract

本申请实施例公开了一种发送报文的方法、处理报文的方法及设备,使得网络能够了解应用程序的特征,进而满足应用程序的各种需求。其中,发送报文的方法包括:第一设备生成互联网协议第六版IPv6报文,所述IPv6报文的基本IPv6头包括应用程序的特征信息,所述应用程序的特征信息用于标识所述IPv6报文对应的一个或多个应用程序的特征;所述第一设备向第二设备发送所述IPv6报文。

Description

一种发送报文的方法、处理报文的方法及设备
本申请要求于2021年04月30日提交中国国家知识产权局、申请号为202110484223.X、申请名称为“一种发送报文的方法、处理报文的方法及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,尤其涉及一种发送报文的方法、处理报文的方法及设备。
背景技术
目前,网络上承载着许多应用程序(application,APP),不同的应用程序具有不同的特征,例如,不同的应用程序对网络带宽、时延、抖动和数据包丢失等有不同的需求。因此,需要对网络进行特殊处理。但是,在当前网络中,网络和应用程序是分离的,也就是说,网络无法以更精细的粒度了解应用程序的特征,因而也无法满足应用程序的各种需求。
发明内容
本申请实施例提供了一种发送报文的方法、处理报文的方法及设备,使得网络能够了解应用程序的特征,进而满足应用程序的各种需求。
第一方面,提供了一种发送报文的方法,该方法可以应用于第一设备。第一设备可以例如为终端设备、服务器、基站、接入设备、网关或运营商边界设备等。该发送报文的方法可以包括如下步骤:第一设备生成互联网协议第六版(Internet Protocol version 6,IPv6)报文,其中,所述IPv6报文的基本IPv6头携带应用程序的特征信息,该应用程序的特征信息用于标识所述IPv6报文对应的一个或多个应用程序的特征。可选的,所述应用程序的特征信息包括但不限于下述信息中的一种或多种:应用程序的标识(APP identifier,APP ID)、服务级别协议(service level agreement,SLA)等级(level)、一个或多个用户的标识(user ID)、流标识(flow ID)、会话标识(session ID)以及参数(arguments)信息,所述参数信息用于标识应用程序的业务需求信息。该业务需求信息包括但不限于时延、丢包率、抖动和带宽等所述应用程序的一种或多种需求信息中。所述应用程序的特征信息表示为感知应用的IPv6网络标识(APN6ID)。在生成IPv6报文之后,所述第一设备向第二设备发送所述IPv6报文。由于该方法中通过该IPv6报文的基本IPv6头中携带有应用程序的特征信息,那么网络系统中的其他设备就可以了解该IPv6报文对应的应用程序的特征信息,进而可以根据该应用程序的特征信息对报文进行相应的处理,满足应用程序的各种需求。另外,由于该方法是通过IPv6报文的基本IPv6头中携带有应用程序的特征信息,不需要再额外扩展报文头来携带应用程序的特征信息,这样对于网络中不支持扩展报文头的网络设备也可以了解该IPv6报文对应的应用程序的特征信息携带,该方法可扩展性好,应用场景更广泛。
作为一种可能的设计,所述应用程序的特征信息中的部分信息或全部信息携带在所述基本IPv6头的流标签(Flow Label)字段中。
作为一种可能的设计,所述SLA level携带在所述基本IPv6头的流量分类(traffic class)字段中。
作为一种可能的设计,所述基本IPv6头还可以包括指示信息,所述指示信息用于指示 所述应用程序的特征信息中的部分信息或全部信息携带在所述基本IPv6头的flow label字段中,以使接收该IPv6报文的设备能够根据该指示信息从flow label字段中读取出应用程序的特征信息。
作为一种可能的设计,所述指示信息携带在所述基本IPv6头的traffic class字段中。
为了提高传输安全性,作为一种可能的设计,所述第一设备还可以获取所述应用程序的特征信息,并对所述应用程序的特征信息进行加密处理,得到加密后的应用程序的特征信息,那么,所述IPv6报文的基本IPv6头携带的是加密后的应用程序的特征信息。
第二方面,还提供了一种处理报文的方法,该方法可以应用于第二设备。第二设备可以例如为终端设备、服务器或网络设备,该网络设备可以是头节点、中间节点或尾节点。该处理报文的方法包括如下步骤:第二设备接收来自第一设备的IPv6报文,所述IPv6报文的基本IPv6头中携带应用程序的特征信息,应用程序的特征信息用于标识所述IPv6报文对应的应用程序的特征。关于应用程序的特征信息的相关介绍请参见上文,此处不再赘述。在接收到IPv6报文之后,所述第二设备根据所述应用程序的特征信息对所述IPv6报文进行处理。由于该IPv6报文的基本IPv6头中携带有应用程序的特征信息,那么第二设备可以了解该IPv6报文对应的应用程序的特征信息,进而可以根据该应用程序的特征信息对报文进行相应的处理,满足应用程序的各种需求。
所述第二设备根据所述应用程序的特征信息对所述IPv6报文进行处理可以有多种可能的实现方式:
作为一种可能的设计,若第二设备为用于转发IPv6报文的网络设备,那么第二设备可以根据所述应用程序的特征信息确定用于转发所述IPv6报文的转发路径,并根据所述转发路径发送所述IPv6报文。作为一种示例,所述第二设备可以根据所述应用程序的特征信息从段路由(segment routing,SR)策略(policy)中确定所述转发路径,以满足应用程序的传输需求。
作为另一种可能的设计,若第二设备为终端设备或服务器,那么所述第二设备可以根据所述应用程序的特征信息对所述IPv6报文进行校验,得到校验结果,基于该校验结果判断IPv6报文是否合法。若所述校验结果为校验不通过,则说明该IPv6报文不合法,那么所述第二设备可以丢弃所述IPv6报文。
作为再一种可能的设计,若第二设备为用于转发IPv6报文的网络设备,那么第二设备可以根据所述应用程序的特征信息选择转发所述IPv6报文的网络切片,以便通过该网络切片对应的资源转发该IPv6报文,满足该IPv6报文的传输需求。
如前文所提,为了保证传输安全性,所述IPv6报文的基本IPv6头中可以携带加密后的应用程序的特征信息。相应的,第二设备在接收到该IPv6报文之后,可以对所述加密后的应用程序的特征信息进行解密,得到解密后的应用程序的特征信息。
第三方面,提供了一种发送报文的设备,用于包括多个设备的网络系统,所述多个设备包括第一设备,所述发送报文的设备为所述第一设备,所述第一设备包括:处理单元,用于生成IPv6报文,所述IPv6报文的基本IPv6头包括应用程序的特征信息,所述应用程序的特征信息用于标识所述IPv6报文对应的一个或多个应用程序的特征;发送单元,用于 向第二设备发送所述IPv6报文。
作为一种可能的设计,所述处理单元,还用于获取所述应用程序的特征信息,对所述应用程序的特征信息进行加密处理,得到加密后的应用程序的特征信息,所述IPv6报文的基本IPv6头包括所述加密后的应用程序的特征信息。
第四方面,提供了一种处理报文的设备,用于包括多个设备的网络系统,所述多个设备包括第二设备,所述处理报文的设备为所述第二设备,所述第二设备包括:接收单元,用于接收来自第一设备的IPv6报文,所述IPv6报文的基本IPv6头中携带应用程序的特征信息,应用程序的特征信息用于标识所述IPv6报文对应的应用程序的特征;处理单元,用于根据所述应用程序的特征信息对所述IPv6报文进行处理。
作为一种可能的设计,所述处理单元根据所述应用程序的特征信息确定用于转发所述IPv6报文的转发路径包括:所述处理单元根据所述应用程序的特征信息从SR policy中确定所述转发路径。
作为一种可能的设计,所述处理单元根据所述应用程序的特征信息对所述IPv6报文进行处理包括:所述处理单元根据所述应用程序的特征信息对所述IPv6报文进行校验,得到校验结果;响应于所述校验结果为校验不通过,丢弃所述IPv6报文。
作为一种可能的设计,所述IPv6报文的基本IPv6头中携带加密后的应用程序的特征信息。所述处理单元根据所述应用程序的特征信息对所述IPv6报文进行处理包括:所述处理单元对所述加密后的应用程序的特征信息进行解密,得到解密后的应用程序的特征信息。
第五方面,提供了一种设备,应用于包括多个设备的网络系统,多个设备包括第一设备和第二设备,该设备为第一设备,该第一设备包括:处理器和网络接口。网络接口用于报文的接收和发送。处理器用于执行前述第一方面或第一方面的任意一种可能的设计中的方法。
在一种可能的设计中,该第一设备还包括存储器,存储器可以用于存储指令或程序代码。处理器用于调用存储器中的指令或程序代码执行前述第一方面或第一方面的任意一种可能的设计中的方法。
第六方面,提供了一种设备,应用于包括多个设备的网络系统,多个设备包括第一设备和第二设备,该设备为第二设备,该第二设备包括:处理器和网络接口。网络接口用于报文的接收和发送。处理器用于执行前述第二方面或第二方面的任意一种可能的设计中的方法。
在一种可能的设计中,该第二设备还包括存储器,存储器可以用于存储指令或程序代码。处理器用于调用存储器中的指令或程序代码执行前述第二方面或第二方面的任意一种可能的设计中的方法。
第七方面,提供了一种网络系统,所述网络系统包括如第三方面所述的发送报文的设备和如第四方面所述的处理报文的设备,或,包括如第五方面所述的第一设备或如第六方面所述的第二设备。
第八方面,提供了一种计算机可读存储介质,包括指令、程序或代码,当其在计算机上执行时,使得所述计算机执行如前述第一方面或第二方面的任意一种可能的实现方式之 一所述的方法。
第九方面,提供了一种包括计算机指令的计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行第一方面或第二方面的任意一种可能的实现方式之一提供的方法。
第十方面,提供了一种芯片,包括存储器和处理器。存储器用于存储指令或程序代码。处理器用于从存储器中调用并运行该指令或程序代码,以执行上述第一方面或第一方面的任意一种可能的设计中的方法;或,处理器执行第二方面或第二方面任意一种可能的设计中的方法。
第十一方面,提供了一种芯片,上述芯片包括处理器,但不包括存储器,处理器用于读取并执行所述芯片外的存储器中存储的指令或程序代码,当指令或程序代码被执行时,处理器执行第一方面或第一方面的任意一种可能的设计中的方法;或,处理器执行第二方面或第二方面任意一种可能的设计中的方法。
附图说明
图1为本申请实施例提供的应用感知网络系统100的一种可能的硬件架构示意图;
图2为本申请实施例提供的发送报文和处理报文的方法的流程示意图;
图3为本申请实施例提供的IPv6报文的基本IPv6头的格式示意图;
图4为本申请实施例提供的应用程序的特征信息携带在基本IPv6头中的一种示意图;
图5为本申请实施例提供的应用程序的特征信息携带在基本IPv6头中的另一种示意图;
图6为本申请实施例提供的第一设备600的结构示意图;
图7为本申请实施例提供的第二设备700的结构示意图;
图8为本申请实施例提供的网络系统800的结构示意图;
图9为本申请实施例提供的一种设备900的结构示意图;
图10为本申请实施例提供的一种设备1000的结构示意图。
具体实施方式
为了使得网络能够满足应用程序的各种需求,本申请实施例提供了一种报文发送的方法、处理报文的方法及设备,通过在IPv6报文的基本IPv6中携带应用程序的特征信息,使得网络了解应用程序的特征,进而满足应用程序的各种传输需求。
本申请实施例提供的报文发送方法及处理报文的方法可以应用于应用感知网络(application-aware networking,APN)系统。参见图1,该图为本申请实施例提供的APN系统100的一种可能的硬件架构示意图。
在图1中,所述APN系统100包括终端设备101、应用感知边界设备(App-aware Edge Device)102、应用感知处理头节点(App-aware-process Head-End)103、应用感知处理中间节点(App-aware-process Mid-Point)104、应用感知处理尾节点(App-aware-process End-Point)105以及服务器106。其中,终端设备101与应用感知边界设备102通信,应用感知边界设备102与应用感知处理头节点103通信,应用感知处理头节点103与应用感知处理中间节点104通信,应用感知处理中间节点104与应用感知处理尾节点105通信,应 用感知处理尾节点105与服务器106通信。
终端设备101,又可以称为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、终端等,是一种向用户提供语音和/或数据连通性的设备,或,设置于该设备内的芯片,例如,具有无线连接功能的手持式设备、车载设备等。目前,一些终端设备的举例为:手机、台式电脑、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、支持5G接入的家庭网关设备(5G-residential gateway,5G-RG)等。
应用感知边界设备102可以例如为基站、用户驻地设备(customer premise equipment,CPE)、接入设备(access point,AP)、家庭网关(residential gateway)等设备。
应用感知处理头节点103、应用感知处理中间节点104以及应用感知处理尾节点105可以是路由器(router)、交换机(switch)等实体设备,也可以是部署虚拟路由器或虚拟交换机的服务器。
终端设备101上安装有应用程序的客户端(client)。应用程序,又称应用软件(application software,APP),是为完成某项或多项特定工作的计算机程序,通常需要与用户进行交互,例如视频类应用程序、游戏类应用程序、社交类应用程序等。服务器106上安装有Service-aware App的服务端(server)。在终端设备101和服务器106之间的应用感知边界设备102、应用感知处理头节点103、应用感知处理中间节点104以及应用感知处理尾节点105用于传输终端设备101与服务器106之间的IPv6报文。
在本申请实施例中,IPv6报文经过应用感知处理头节点103、应用感知处理中间节点104以及应用感知处理尾节点105间的转发路径到达服务器106。
参见图2,该图为本申请实施例提供的发送报文和处理报文的方法的流程示意图。
该方法包括如下步骤:
S201:第一设备生成IPv6报文。
在本申请实施例中,第一设备可以是终端设备(例如图1中的终端设备101)、服务器(例如图1中的服务器106)或应用感知边界设备(例如图1中的应用感知边界设备102),当然,第一设备还可以是运营商边界设备,例如应用感知处理头节点103或应用感知处理尾节点105。
在本申请实施例中,由第一设备生成IPv6报文,IPv6报文中携带应用程序的特征信息,应用程序的特征信息用于标识所述IPv6报文对应的一个或多个应用程序的特征,该多个应用程序可以是该IPv6报文对应的一类应用程序。例如,应用程序为微信(WeChat),那么该IPv6报文中携带的应用程序的特征信息可以是该微信的特征信息,或者是微信所属的社交类应用程序的特征信息。
当第一设备上安装有应用程序,并由该应用程序生成携带有应用程序的特征信息的IPv6报文时,可以称该应用程序为服务感知应用程序(Service-aware App)。
应用程序的特征信息可以整体采用感知应用的IPv6网络标识(application-aware IPv6 networking identifier,APN6ID)进行表示,或者根据应用程序的特征信息包括的具体信息进行表示。
应用程序的特征信息包括但不限于以下信息中的一种或多种:应用程序的标识(APP identifier,APP ID)、服务级别协议(service level agreement,SLA)等级(level)、一个或多个用户的标识(user ID)、流标识(flow ID)、会话标识(session ID)以及参数(arguments)信息。需要说明的是,“包括”的含义可以是直接包括,也可以间接包括。直接包括的意思是应用程序的特征信息中包含上述信息本身。间接包括的意思是应用程序的特征信息中可以至少含有一个索引,索引用于体现上述应用程序的特征信息。当应用程序的特征信息比特位较多时,通过比特位较少的索引来代替可以节约报文的总长度,进而节约网络传输资源。例如,可以用索引“001”来体现某个应用程序的APP ID,用索引“002”来体现另外一个应用程序的APP ID。为了描述简便,下文中提到的“特征信息包括”中的“包括”均为此含义,相关之处不再赘述。
其中,APP ID用于标识该IPv6报文对应的一个应用程序。例如APP ID为应用程序的协议特征字或应用特征码(attribute code)等。一个APP ID还可以用于唯一该IPv6报文对应的一类应用程序,该类应用程序可以包括多个应用程序,该多个应用程序共用一个APP ID。
SLA level为该IPv6报文对应的一个或多个应用程序的SLA level。SLA level用于表示应用程序对网络的业务需求。例如,SLA level为白金级(gold)表示应用程序对网络的业务需求为超低时延,超大带宽,超高可靠性。需要说明的是,在本申请实施例中,“高”“低”“大”“小”是相对而言的,具体多高为高、多低为低、多大为大、多小为小由本领域技术人员自行决定。
user ID用于标识使用该IPv6报文对应的应用程序的一个用户,例如,user ID可以包括用户的用户名等信息。user ID还可以用于标识使用该IPv6报文对应的应用程序的一组用户,该组用户可以包括多个用户,该多个用户共用一个user ID。
flow ID用于标识该IPv6报文对应应用程序的特定的流。
session ID用于标识该IPv6报文对应应用程序产生的数据分组的特定会话。
参数信息用于标识应用程序的业务需求信息。应用程序的业务需求信息可以体现为带宽(bandwidth)、时延(latency)、抖动(jitter)、丢包率(packet loss Ratio)等信息中的一种或多种。参数信息的表现形式可以是带宽、时延等信息的具体数值(例如最小带宽是多少,时延上限是多少等)。
在本申请实施例中,上述应用程序的特征信息可以携带在IPv6报文的基本IPv6头(basic IPv6 header)中。基本IPv6头,通常也可以被称为IPv6基本头(IPv6 basic header或IPv6 main header)。为了描述方便,下文均统一采用“基本IPv6头”这样的术语。
具体的,应用程序的特征信息可以携带在基本IPv6头的一个或多个字段中。参见图3, 该图为IPv6报文的基本IPv6头的格式示意图。在该图中,IPv6报文的基本IPv6头包括版本(Version)字段、流量分类(Traffic Class)字段、流标签(Flow Label)字段、负载长度(Payload Length)字段、下一个头(Next Header)字段、跳数限制(Hop Limit)字段、源地址(Source Address)字段和目的地址(Destination Address)字段。
作为第一种可能的实现方式,包括APP ID、SLA level、user ID、flow ID、session ID以及arguments信息等其中的一个或多个的应用程序的特征信息可以均携带在Flow Label字段中。例如,参见图4,在该图4中,应用程序的特征信息包括APP ID、SLA level、user ID、flow ID以及arguments信息,这些信息均携带在Flow Label字段中。
作为第二种可能的实现方式,当应用程序的特征信息包括SLA level时,SLA level可以携带在Traffic Class字段中。当应用程序的特征信息还包括除SLA level以外的一种或多种信息,该一种或多种信息可以携带在Flow Label字段中。例如,除SLA level以外,应用程序的特征信息还包括APP ID和user ID,那么APP ID和user ID可以携带在Flow Label字段中。例如,参见图5,在该图中,应用程序的特征信息包括APP ID、SLA level、user ID、flow ID以及arguments信息,其中,SLA level携带在Traffic Class字段中,APP ID、user ID、flow ID以及arguments信息携带在Flow Label字段中。
当然,Flow Label字段中除了可以携带应用程序的特征信息,还可以携带其他信息。例如在负载分担场景下,Flow Label字段中还可以包括用于进行负载分担的信息。作为一种可能的实现方式,该用于进行负载分担的信息可以是根据IPv6报文的五元组信息计算得到的哈希值。在应用程序的特征信息和其他信息共用Flow Label字段的情况下,可以对该Flow Label字段进行划分,一部分用于承载应用程序的特征信息,另一部分用于承载其他信息。例如,假设Flow Label字段共20比特(bit),那么可以将Flow Label字段中的前10bit用于承载其他信息,后10bit用于承载应用程序的特征信息。
当然,上述两种可能的携带应用程序的特征信息的实现方式并不构成对本申请技术方案的限定,本领域技术人员还可以根据实际情况自行设计。
此外,可选的,基本IPv6头还可以包括指示信息,所述指示信息用于指示所述应用程序的特征信息中的上述部分信息或全部信息携带在该基本IPv6头的Flow Label字段中,即上述两种可能的实现方式均适用。作为一种可能的实现方式,该指示信息可以携带在Traffic Class字段中。
为了提高IPv6报文传输的安全性,在本申请实施例中,第一设备可以在IPv6报文中携带经过加密的应用程序的特征信息。具体的,第一设备获取与IPv6报文对应的应用程序的特征信息,并对该应用程序的特征信息进行加密处理,得到加密后的应用程序信息。然后第一设备将该加密后的应用程序的特征信息携带在IPv6报文的基本IPv6头中。具体的加密方法本领域技术人员可以自行设计,本申请实施例不做具体限定。例如,第一设备可以计算应用程序的特征信息的不透明(opaque)值,并将该opaque值携带在IPv6报文的基本IPv6头中。
可以理解的是,当应用程序的特征信息包括多种信息时,可以仅对部分信息进行加密。例如,假设应用程序的特征信息包括APP ID、SLA level、user ID、flow ID,可以仅对user  ID进行加密,以保护用户隐私。
S202:第一设备向第二设备发送所述IPv6报文。
在本申请实施例中,第二设备可以是终端设备(例如图1中的终端设备101)、服务器(例如图1中的服务器106)或网络设备,其中该网络设备可以是头节点(例如图1中的应用感知处理头节点103)、中间节点(例如图1中的应用感知处理中间节点104)或尾节点(例如图1中的应用感知处理尾节点105)。
S203:第二设备接收来自第一设备的IPv6报文。
S204:第二设备根据所述应用程序的特征信息对所述IPv6报文进行处理。
在本申请实施例中,第二设备在接收到来自第一设备的IPv6报文后,根据IPv6报文中的应用程序的特征信息对所述IPv6报文进行处理。不同类型的第二设备可以执行不同的处理。
例如,当第二设备为应用感知头节点时,第二设备可以根据所述应用程序的特征信息确定用于转发所述IPv6报文的转发路径,并根据所述转发路径发送所述IPv6报文。
作为一种示例,第二设备可以根据SLA level或arguments参数确定满足该SLA level或arguments参数对应的业务需求的转发路径。如果没有能够满足该SLA level或arguments参数对应的业务需求的转发路径,那么该第二设备可以通告与其连接的控制器,由该控制器生成该转发路径对应的转发路径信息,并下发给第二设备,以便第二设备能够通过该转发路径转发该IPv6报文。该控制器例如可以是软件定义网络(software defined network,SDN)控制器等。
可选的,第二设备可以根据所述应用程序的特征信息从段路由(segment routing,SR)策略(policy)中确定所述转发路径。SR policy定义了头节点(例如应用感知处理头节点104)、尾节点(例如应用感知处理尾节点105)以及从头节点到尾节点之间的路径属性。一个SR policy可以包括一条或多条转发路径。如果是多条转发路径,则该多条转发路径为支持相同网络性能的转发路径,该多条转发路径可以用于进行负载分担。
或者,第二设备可以根据应用程序的特征信息选择转发所述IPv6报文的网络切片,以便通过该网络切片对应的资源转发该IPv6报文。在具体实现时,第二设备可以将该选择得到的网络切片的切片标识(slice ID)携带在该IPv6报文中,以便其他用于转发该IPv6报文的设备根据该slice ID对应的网络资源转发该IPv6报文,满足该应用程序的传输需求。
再例如,当第二设备为终端设备或服务器时,第二设备作为目的设备可以根据应用程序的特征信息对IPv6报文进行校验,在校验不通过的情况下,将该IPv6报文丢弃。
作为一种示例,第一设备为终端设备,应用程序的特征信息包括user ID,第二设备可以作为服务器判断该user ID是否存在于本地的user ID库,如果存在,则说明该IPv6报文合法,可以继续进行处理;如果不存在,说明该IPv6报文不合法,可以将该IPv6报文丢弃。
作为再一种示例,第一设备为服务器,第二设备为终端设备,应用程序的特征信息包括APP ID。当终端设备接收到来自服务器的IPv6报文之后,判断IPv6报文中包括的APP ID对应的APP是否存在于终端设备上,如果是,则校验通过,可以继续对IPv6报文进行处 理;如果否,则校验不通过,可以丢弃该IPv6报文。
综上所述,由于第一设备向第二设备发送的IPv6报文的基本IPv6头中携带有应用程序的特征信息,那么第二设备可以了解该IPv6报文对应的应用程序的特征信息,进而可以根据该应用程序的特征信息对报文进行相应的处理,满足应用程序的各种需求。另外,由于该方法是通过IPv6报文的基本IPv6头中携带有应用程序的特征信息,不需要再额外扩展报文头来携带应用程序的特征信息,这样对于网络中不支持扩展报文头的网络设备也可以了解该IPv6报文对应的应用程序的特征信息携带,该方法可扩展性好,应用场景更广泛。
此外,如前文所提,为了提高安全性,IPv6报文中应用程序的特征信息可以被加密。那么当第二设备在接收到IPv6报文之后,可以对该加密后的应用程序的特征信息进行解密,从而得到解密后的应用程序的特征信息。
图6示出了上述实施例中所涉及的第一设备的一种可能的结构示意图,该设备600可以实现图2所示实例中第一设备的功能。参阅图6,该网络设备600包括:处理单元601和发送单元602。这些单元可以执行上述方法示例中第一网络设备的相应功能。处理单元601,用于支持设备600执行图2中S201;发送单元602,用于支持网络设备600执行图2中的S202。举例来说,处理单元601,用于生成IPv6报文,IPv6报文的基本IPv6头包括应用程序的特征信息;发送单元602,用于发送所述IPv6报文。具体执行过程请参考上述图2所示实施例中相应步骤的详细描述,这里不再一一赘述。
图7示出了上述实施例中所涉及的第二网络设备的一种可能的结构示意图,该设备700可以实现图2所示实例中第二设备的功能。参阅图7,该网络设备700包括:接收单元701和处理单元702。这些单元可以执行上述方法示例中第二设备的相应功能。接收单元701,用于支持设备700执行图2中S203;处理单元702,用于支持网络设备700执行图2中的S204。举例来说,接收单元701,用于接收来自第一设备的IPv6报文;处理单元702,用于根据所述应用程序的特征信息对所述IPv6报文进行处理。具体执行过程请参考上述图2所示实施例中相应步骤的详细描述,这里不再一一赘述。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,获取单元和处理单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
参阅图8所示,发明实施例提供了一种网络系统800,该系统800用于实现前述方法实施例中的报文转发的方法和报文处理方法。该系统800包括设备801和设备802。设备801可以实现图2所示的实施例中的第一设备的功能,设备802可以实现图2所示的实施例中第二设备的功能。具体执行过程请参考上述图2所示实施例中相应步骤的详细描述,这里不再一一赘述。
图9是本申请实施例提供的一种设备900的结构示意图。图6中的第一设备600、图7中的第二设备700可以通过图9所示的设备来实现。参见图9,该设备900包括至少一个处理器901,通信总线902以及至少一个网络接口904,可选地,该设备900还可以包括存储器903。
处理器901可以是一个通用中央处理器(central processing unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)或一个或多个用于控制本申请方案程序执行的集成电路(integrated circuit,IC)。处理器可以用于对报文进行处理,以实现本申请实施例中提供的报文转发的方法和报文处理的方法。比如,当图2中的第一设备通过图9所示的设备来实现时,该处理器可以用于生成IPv6报文,并发送所述IPv6报文。又比如,当图2中的第二设备通过图9所示的设备来实现时,该处理器可以用于接收来自第一设备的IPv6报文,并根据所述应用程序的特征信息对所述IPv6报文进行处理。具体功能实现可参考方法实施例中第二设备的处理部分。
通信总线902用于在处理器901、网络接口904和存储器903之间传送信息。
存储器903可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,存储器903还可以是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是只读光盘(compact disc read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器903可以是独立存在,通过通信总线902与处理器901相连接。存储器903也可以和处理器901集成在一起。
可选地,存储器903用于存储执行本申请方案的程序代码或指令,并由处理器901来控制执行。处理器901用于执行存储器903中存储的程序代码或指令。程序代码中可以包括一个或多个软件模块。可选地,处理器901也可以存储执行本申请方案的程序代码或指令,在这种情况下处理器901不需要到存储器903中读取程序代码或指令。
网络接口904可以为收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。在本申请实施例中,网络接口904可以用于接收分段路由网络中的其他节点发送的报文,也可以向分段路由网络中的其他节点发送报文。网络接口904可以为以太接口(ethernet)接口、快速以太(fast ethernet,FE)接口或千兆以太(gigabit ethernet,GE)接口等。
在具体实现中,作为一种实施例,设备900可以包括多个处理器,例如图9中所示的处理器901和处理器905。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
图10是本申请实施例提供的一种设备1000的结构示意图。图2中的第一设备和第二设备可以通过图10所示的设备来实现。参见图10所示的设备结构示意图,设备1000包括 主控板和一个或多个接口板。主控板与接口板通信连接。主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板包括CPU和存储器,主控板负责对设备1000中各个组件的控制和管理,包括路由计算、设备管理和维护功能。接口板也称为线处理单元(line processing unit,LPU)或线卡(line card),用于接收和发送报文。在一些实施例中,主控板与接口板之间或接口板与接口板之间通过总线通信。在一些实施例中,接口板之间通过交换网板通信,在这种情况下设备1000也包括交换网板,交换网板与主控板、接口板通信连接,交换网板用于转发接口板之间的数据,交换网板也可以称为交换网板单元(switch fabric unit,SFU)。接口板包括CPU、存储器、转发引擎和接口卡(interface card,IC),其中接口卡可以包括一个或多个网络接口。网络接口可以为Ethernet接口、FE接口或GE接口等。CPU与存储器、转发引擎和接口卡分别通信连接。存储器用于存储转发表。转发引擎用于基于存储器中保存的转发表转发接收到的报文,如果接收到的报文的目的地址为设备1000的IP地址,则将该报文发送给主控板或接口板的CPU进行处理;如果接收到的报文的目的地址不是设备1000的IP地址,则根据该目的地查转发表,如果从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。转发引擎可以是网络处理器(network processor,NP)。接口卡也称为子卡,可安装在接口板上,负责将光电信号转换为数据帧,并对数据帧进行合法性检查后转发给转发引擎处理或接口板CPU。在一些实施例中,CPU也可执行转发引擎的功能,比如基于通用CPU实现软转发,从而接口板中不需要转发引擎。在一些实施例中,转发引擎可以通过ASIC或现场可编程门阵列(field programmable gate array,FPGA)实现。在一些实施例中,存储转发表的存储器也可以集成到转发引擎中,作为转发引擎的一部分。
本申请实施例还提供一种芯片系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述图2所示实施例中第一设备或第二设备的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性的,该芯片系统可以是FPGA,可以是ASIC,还可以是系统芯片(system on chip,SoC),还可以是CPU,还可以是NP,还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法步骤可以直接体现为硬件处理器执行 完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行前述实施例中的方法。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包括,例如,包括了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请中“至少一项(个)”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。本申请中认为“A和/或B”包括单独A,单独B,和A+B。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (44)

  1. 一种发送报文的方法,其特征在于,所述方法包括:
    第一设备生成互联网协议第六版IPv6报文,所述IPv6报文的基本IPv6头包括应用程序的特征信息,所述应用程序的特征信息用于标识所述IPv6报文对应的一个或多个应用程序的特征;
    所述第一设备向第二设备发送所述IPv6报文。
  2. 根据权利要求1所述的方法,其特征在于,所述应用程序的特征信息包括下述信息中的一种或多种:
    应用程序的标识、服务级别协议等级SLA level、一个或多个用户的标识、流标识、会话标识以及参数信息,所述参数信息用于标识应用程序的业务需求信息。
  3. 根据权利要求2所述的方法,其特征在于,所述业务需求信息包括所述应用程序以下需求信息中的一种或多种:
    时延、丢包率、抖动和带宽。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述应用程序的特征信息中的部分信息或全部信息携带在所述基本IPv6头的流标签flow label字段中。
  5. 根据权利要求2所述的方法,其特征在于,所述SLA level携带在所述基本IPv6头的流量分类traffic class字段中。
  6. 根据权利要求4所述的方法,其特征在于,所述基本IPv6头还包括指示信息,所述指示信息用于指示所述应用程序的特征信息中的部分信息或全部信息携带在所述基本IPv6头的flow label字段中。
  7. 根据权利要求6所述的方法,其特征在于,所述指示信息携带在所述基本IPv6头的流量分类traffic class字段中。
  8. 根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
    所述第一设备获取所述应用程序的特征信息;
    所述第一设备对所述应用程序的特征信息进行加密处理,得到加密后的应用程序的特征信息,所述IPv6报文的基本IPv6头包括所述加密后的应用程序的特征信息。
  9. 根据权利要求1-8任一项所述的方法,其特征在于,所述应用程序的特征信息为感知应用的IPv6网络标识。
  10. 根据权利要求1-9任一项所述的方法,其特征在于,所述应用程序特征信息包括:一个或多个用户的标识和应用程序的标识。
  11. 根据权利要求1-10任一项所述的方法,其特征在于,所述第一设备为终端设备、服务器、基站、用户驻地设备、接入设备、网关或运营商边界设备。
  12. 一种处理报文的方法,其特征在于,所述方法包括:
    第二设备接收来自第一设备的互联网协议第六版IPv6报文,所述IPv6报文的基本IPv6头中携带应用程序的特征信息,应用程序的特征信息用于标识所述IPv6报文对应的应用程序的特征;
    所述第二设备根据所述应用程序的特征信息对所述IPv6报文进行处理。
  13. 根据权利要求12所述的方法,其特征在于,所述应用程序的特征信息包括下述信息中的一种或多种:
    应用程序的标识、服务级别协议等级SLA level、一个或多个用户的标识、流标识、会话标识以及参数信息,所述参数信息用于标识应用程序的业务需求信息。
  14. 根据权利要求13所述的方法,其特征在于,所述业务需求信息包括所述应用程序以下需求信息中的一种或多种:
    时延、丢包率、抖动和带宽。
  15. 根据权利要求12-14任一项所述的方法,其特征在于,所述应用程序的特征信息中的部分信息或全部信息携带在所述基本IPv6头的流标签flow label字段中。
  16. 根据权利要求13所述的方法,其特征在于,所述SLA level携带在所述基本IPv6头的流量分类traffic class字段中。
  17. 根据权利要求15所述的方法,其特征在于,所述基本IPv6头还包括指示信息,所述指示信息用于指示所述应用程序的特征信息中的部分信息或全部信息携带在所述基本IPv6头的flow label字段中。
  18. 根据权利要求17所述的方法,其特征在于,所述指示信息携带在所述基本IPv6头的流量分类traffic class字段中。
  19. 根据权利要求12-18任一项所述的方法,其特征在于,所述第二设备根据所述应用程序的特征信息对所述IPv6报文进行处理包括:
    所述第二设备根据所述应用程序的特征信息确定用于转发所述IPv6报文的转发路径;
    所述第二设备根据所述转发路径发送所述IPv6报文。
  20. 根据权利要求19所述的方法,其特征在于,所述第二设备根据所述应用程序的特征信息确定用于转发所述IPv6报文的转发路径包括:
    所述第二设备根据所述应用程序的特征信息从段路由策略SR policy中确定所述转发路径。
  21. 根据权利要求12-18任一项所述的方法,其特征在于,所述第二设备根据所述应用程序的特征信息对所述IPv6报文进行处理包括:
    所述第二设备根据所述应用程序的特征信息对所述IPv6报文进行校验,得到校验结果;
    响应于所述校验结果为校验不通过,所述第二设备丢弃所述IPv6报文。
  22. 根据权利要求12-18任一项所述的方法,其特征在于,所述IPv6报文的基本IPv6头中携带加密后的应用程序的特征信息;
    第二设备根据所述应用程序的特征信息对所述IPv6报文进行处理包括:
    所述第二设备对所述加密后的应用程序的特征信息进行解密,得到解密后的应用程序的特征信息。
  23. 根据权利要求12-22任一项所述的方法,其特征在于,所述应用程序的特征信息为感知应用的IPv6网络标识。
  24. 根据权利要求12-23任一项所述的方法,其特征在于,所述第二设备根据所述应用程序的特征信息对所述IPv6报文进行处理包括:
    所述第二设备根据所述应用程序的特征信息选择转发所述IPv6报文的网络切片。
  25. 根据权利要求12-24任一项所述的方法,其特征在于,所述第二设备为终端设备、服务器或网络设备。
  26. 一种发送报文的设备,其特征在于,用于包括多个设备的网络系统,所述多个设备包括第一设备,所述发送报文的设备为所述第一设备,所述第一设备包括:
    处理单元,用于生成互联网协议第六版IPv6报文,所述IPv6报文的基本IPv6头包括应用程序的特征信息,所述应用程序的特征信息用于标识所述IPv6报文对应的一个或多个应用程序的特征;
    发送单元,用于向第二设备发送所述IPv6报文。
  27. 根据权利要求26所述的设备,其特征在于,所述应用程序的特征信息包括下述信息中的一种或多种:
    应用程序的标识、服务级别协议等级SLA level、一个或多个用户的标识、流标识、会话标识以及参数信息,所述参数信息用于标识应用程序的业务需求信息。
  28. 根据权利要求26或27所述的设备,其特征在于,所述应用程序的特征信息中的部分信息或全部信息携带在所述基本IPv6头的流标签flow label字段中。
  29. 根据权利要求27所述的设备,其特征在于,所述SLA level携带在所述基本IPv6头的流量分类traffic class字段中。
  30. 根据权利要求28所述的设备,其特征在于,所述基本IPv6头还包括指示信息,所述指示信息用于指示所述应用程序的特征信息中的部分信息或全部信息携带在所述基本IPv6头的flow label字段中。
  31. 根据权利要求30所述的设备,其特征在于,所述指示信息携带在所述基本IPv6头的流量分类traffic class字段中。
  32. 根据权利要求26-31任一项所述的设备,其特征在于,
    所述处理单元,还用于获取所述应用程序的特征信息,对所述应用程序的特征信息进行加密处理,得到加密后的应用程序的特征信息,所述IPv6报文的基本IPv6头包括所述加密后的应用程序的特征信息。
  33. 一种处理报文的设备,其特征在于,用于包括多个设备的网络系统,所述多个设备包括第二设备,所述处理报文的设备为所述第二设备,所述第二设备包括:
    接收单元,用于接收来自第一设备的互联网协议第六版IPv6报文,所述IPv6报文的基本IPv6头中携带应用程序的特征信息,应用程序的特征信息用于标识所述IPv6报文对应的应用程序的特征;
    处理单元,用于根据所述应用程序的特征信息对所述IPv6报文进行处理。
  34. 根据权利要求33所述的设备,其特征在于,所述应用程序的特征信息包括下述信息中的一种或多种:
    应用程序的标识、服务级别协议等级SLA level、一个或多个用户的标识、流标识、会话标识以及参数信息,所述参数信息用于标识应用程序的业务需求信息。
  35. 根据权利要求33或34所述的设备,其特征在于,所述应用程序的特征信息中的部 分信息或全部信息携带在所述基本IPv6头的流标签flow label字段中。
  36. 根据权利要求34所述的设备,其特征在于,所述SLA level携带在所述基本IPv6头的流量分类traffic class字段中。
  37. 根据权利要求35所述的设备,其特征在于,所述基本IPv6头还包括指示信息,所述指示信息用于指示所述应用程序的特征信息中的部分信息或全部信息携带在所述基本IPv6头的flow label字段中。
  38. 根据权利要求37所述的设备,其特征在于,所述指示信息携带在所述基本IPv6头的流量分类traffic class字段中。
  39. 根据权利要求33-38任一项所述的设备,其特征在于,所述处理单元根据所述应用程序的特征信息对所述IPv6报文进行处理包括:
    所述处理单元根据所述应用程序的特征信息确定用于转发所述IPv6报文的转发路径;
    所述处理单元根据所述转发路径发送所述IPv6报文。
  40. 根据权利要求39所述的设备,其特征在于,所述处理单元根据所述应用程序的特征信息确定用于转发所述IPv6报文的转发路径包括:
    所述处理单元根据所述应用程序的特征信息从段路由策略SR policy中确定所述转发路径。
  41. 根据权利要求33-38任一项所述的设备,其特征在于,所述处理单元根据所述应用程序的特征信息对所述IPv6报文进行处理包括:
    所述处理单元根据所述应用程序的特征信息对所述IPv6报文进行校验,得到校验结果;响应于所述校验结果为校验不通过,丢弃所述IPv6报文。
  42. 根据权利要求33-38任一项所述的设备,其特征在于,所述处理单元根据所述应用程序的特征信息对所述IPv6报文进行处理包括:
    所述处理单元根据所述应用程序的特征信息选择转发所述IPv6报文的网络切片。
  43. 根据权利要求33-38任一项所述的设备,其特征在于,所述IPv6报文的基本IPv6头中携带加密后的应用程序的特征信息;
    所述处理单元根据所述应用程序的特征信息对所述IPv6报文进行处理包括:
    所述处理单元对所述加密后的应用程序的特征信息进行解密,得到解密后的应用程序的特征信息。
  44. 一种网络系统,其特征在于,所述网络系统包括如权利要求26至32任一项所述的发送报文的设备和如权利要求33至43任一项所述的处理报文的设备。
PCT/CN2022/088390 2021-04-30 2022-04-22 一种发送报文的方法、处理报文的方法及设备 WO2022228293A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110484223.XA CN115277878A (zh) 2021-04-30 2021-04-30 一种发送报文的方法、处理报文的方法及设备
CN202110484223.X 2021-04-30

Publications (1)

Publication Number Publication Date
WO2022228293A1 true WO2022228293A1 (zh) 2022-11-03

Family

ID=83745880

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/088390 WO2022228293A1 (zh) 2021-04-30 2022-04-22 一种发送报文的方法、处理报文的方法及设备

Country Status (2)

Country Link
CN (1) CN115277878A (zh)
WO (1) WO2022228293A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100074256A1 (en) * 2006-09-29 2010-03-25 Electronics And Telecommunications Research Institute Service recognition method of router in ipv6 environment
CN111683011A (zh) * 2019-03-11 2020-09-18 华为技术有限公司 报文处理方法、装置、设备及系统
CN112311672A (zh) * 2019-08-02 2021-02-02 华为技术有限公司 一种路由表项获得方法、装置及设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100074256A1 (en) * 2006-09-29 2010-03-25 Electronics And Telecommunications Research Institute Service recognition method of router in ipv6 environment
CN111683011A (zh) * 2019-03-11 2020-09-18 华为技术有限公司 报文处理方法、装置、设备及系统
CN112311672A (zh) * 2019-08-02 2021-02-02 华为技术有限公司 一种路由表项获得方法、装置及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HE LIN, PENG KUANG, SHICHENG WANG, YING LIU, XING LI, SHUPING PENG: "Application-aware IPv6 networking", DIANXIN KEXUE - TELECOMMUNICATIONS SCIENCE, RENMIN YOUDIAN CHUBANSHE, BEIJING, CN, 20 August 2020 (2020-08-20), CN , pages 36 - 42, XP055980510, ISSN: 1000-0801, DOI: 10.11959/j.issn.1000−0801.2020257 *
PENG SHUPING; MAO JIANWEI; HU RUIZHAO; LI ZHENBIN: "Demo Abstract: APN6: Application-aware IPv6 Networking", IEEE INFOCOM 2020 - IEEE CONFERENCE ON COMPUTER COMMUNICATIONS WORKSHOPS (INFOCOM WKSHPS), IEEE, 6 July 2020 (2020-07-06), pages 1330 - 1331, XP033808648, DOI: 10.1109/INFOCOMWKSHPS50562.2020.9162934 *

Also Published As

Publication number Publication date
CN115277878A (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
US11909652B2 (en) Method, device and storage medium for quality of service (QoS) flow management of time sensitive data for transmission of ethernet packet filter sets
US20220060416A1 (en) Routing Rule Management Method and Communications Apparatus
EP3836577B1 (en) Session management method and device for user groups
US11601899B2 (en) Link establishment between a radio equipment controller (REC) and radio equipment (RE) in a fronthaul network
US11115391B2 (en) Securing end-to-end virtual machine traffic
WO2019019906A1 (zh) 一种通信方法、设备及存储介质
WO2021174884A1 (zh) 通信方法和装置
US11637771B2 (en) Technologies for managing network traffic through heterogeneous networks
TW201815131A (zh) 一種資料傳輸的方法及網路設備
WO2021174885A1 (zh) 通信方法和装置
JP2020520612A (ja) パケット伝送方法、エッジデバイス及び機械可読記憶媒体
WO2021254001A1 (zh) 会话建立方法、装置、系统及计算机存储介质
WO2017148419A1 (zh) 数据传输方法及服务器
WO2022160665A1 (zh) 一种报文转发的方法、报文处理方法及设备
JP2017503407A (ja) パケット処理方法および装置
WO2021204277A1 (zh) 通信方法、装置及系统
WO2017041534A1 (zh) 一种电力线网络通信的方法及装置、计算机存储介质
WO2021147372A1 (zh) 一种sr报文传输方法、装置及系统
WO2022228293A1 (zh) 一种发送报文的方法、处理报文的方法及设备
WO2015096734A1 (zh) 一种业务数据的下行传输方法及分组数据网关
CN114124833A (zh) 一种控制报文发送的方法、网路设备和系统
WO2022170797A1 (zh) 一种通信方法及装置
WO2022033496A1 (zh) 一种报文发送方法、报文处理方法及设备
US9537750B2 (en) Multicast router topology discovery
WO2023078144A1 (zh) 报文处理方法、装置及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22794764

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22794764

Country of ref document: EP

Kind code of ref document: A1