WO2017008401A1 - 一种协议帧传输方法、装置、节点设备以及*** - Google Patents

一种协议帧传输方法、装置、节点设备以及*** Download PDF

Info

Publication number
WO2017008401A1
WO2017008401A1 PCT/CN2015/090826 CN2015090826W WO2017008401A1 WO 2017008401 A1 WO2017008401 A1 WO 2017008401A1 CN 2015090826 W CN2015090826 W CN 2015090826W WO 2017008401 A1 WO2017008401 A1 WO 2017008401A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
frame
tcp
tls
packet
Prior art date
Application number
PCT/CN2015/090826
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
Priority claimed from PCT/CN2015/083772 external-priority patent/WO2017008203A1/zh
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP15898128.2A priority Critical patent/EP3297235A4/en
Priority to CN201580001012.9A priority patent/CN106664262A/zh
Priority to KR1020187000483A priority patent/KR20180015745A/ko
Publication of WO2017008401A1 publication Critical patent/WO2017008401A1/zh
Priority to US15/851,055 priority patent/US20180115634A1/en

Links

Images

Definitions

  • the present invention relates to the field of computer application technologies, and in particular, to a protocol frame transmission method, apparatus, node device, and system.
  • HTTP Hyper Text Transfer Protocol
  • the first node device initiates a request to establish a TCP (Transmission Control Protocol) connection to the designated port of the second node device, and the second node device listens to the request sent by the first node device on the designated port, when the second node device Upon receiving the request, the second node device sends a response message to the first node device.
  • HTTP 2.0 refers to HTTP with version 2.0.
  • the basic protocol unit of HTTP2.0 is HTTP2.0 frame.
  • the HTTP2.0 frame refers to the high-level data sent by the application layer to the transport layer. It consists of a 9-byte frame header and a payload (payload).
  • the frame header can include length. Field.
  • HTTP 2.0 can improve resource utilization and reduce protocol frame transmission delay by header field compression and multiplexing. Multiplexing is achieved by subdividing a TCP connection into multiple HTTP 2.0 streams and allocating multiple HTTP 2.0 frames on an HTTP 2.0 stream.
  • An HTTP 2.0 frame is encapsulated into at least one TCP packet according to the MSS (Management Support System).
  • the MSS is used to negotiate the maximum data length that each TCP packet can carry during the communication process when the TCP connection is established.
  • the application layer sends the HTTP2.0 frame to the transport layer, and the transport layer encapsulates the HTTP2.0 frame into a TCP packet according to the MSS, and the length of the data portion of each TCP packet is the MSS.
  • the HTTP2.0 frame may include the first frame, the second frame, and the third frame.
  • the data amount of the first frame and the second frame are both 3000 bytes, and the length of the MSS is 1460 bytes, and then the transmission is performed.
  • the layer may encapsulate the above HTTP2.0 frame into five TCP data packets according to the MSS, wherein the data part of the first TCP data packet only includes the data of the first frame, and the data part of the second TCP data packet only includes the data of the first frame.
  • the data portion of the third TCP packet includes data of the first frame and data of the second frame, and the data portion of the fourth TCP packet is only included The data of the second frame is included.
  • the data portion of the third TCP packet includes data of the first frame and data of the second frame.
  • the embodiment of the invention provides a protocol frame transmission method, device, node device and system, which can ensure that the data part of a TCP data packet only includes data of one protocol frame.
  • a first aspect of the present invention provides a method for transmitting a protocol frame, including:
  • the data part of the last TCP data packet has a length of 0, thereby indicating that the last TCP data packet is the last TCP data packet corresponding to the protocol frame.
  • the header of the last TCP data packet includes a sending sequence number and a confirmation sequence number
  • the sending sequence number is the same as the sending sequence number of the initial TCP data packet corresponding to the next protocol frame, and the acknowledgement sequence number is confirmed according to the received data sent by the node device.
  • the header of the last TCP data packet includes a sending sequence number and a confirmation sequence number
  • the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the next protocol frame, and the acknowledgement sequence number is the same as the acknowledgement sequence number of the previous data packet of the last TCP packet.
  • the method before the encapsulating a protocol frame into the at least one TCP packet, the method further includes:
  • the protocol frame includes terminal identification information
  • the terminal identification information is used to send the at least one TCP data packet corresponding to the protocol frame to the node device corresponding to the terminal identification information.
  • the encapsulating a protocol frame into the at least one TCP data packet includes:
  • the data portion of the added TCP packet has a length of zero.
  • the encapsulating a protocol frame into the at least one TCP data packet includes:
  • the last TCP packet containing the data includes only the data of the protocol frame, and the indication information is The amount of data for the last TCP packet containing data.
  • the indication information is identifier information included in a header of the last TCP packet.
  • the data part of the at least one TCP data packet only includes the protocol Frame data.
  • the encapsulating a protocol frame into at least one TCP data packet includes:
  • the acknowledgment sequence number of the TCP data packet sent by the node device is carried in the TCP data packet to be sent in the at least one TCP data packet, where the acknowledgment sequence number is used to indicate that the TCP data packet sent by the node device is correctly received.
  • the tenth possible implementation before the one protocol frame is encapsulated into the at least one TCP data packet, also includes:
  • the notification message is used for the last TCP data packet in the at least one TCP data packet, and the indication information is used to indicate that the last TCP data packet is the The last TCP packet corresponding to the protocol frame.
  • the notification information is carried in an HTTP 2.0 header field or an HTTP 2.0 setting frame of the protocol frame.
  • the header of the at least one TCP data packet includes data type information
  • the data type information is used to indicate a data type of a data portion of the TCP packet.
  • the protocol frame is a TLS frame or an HTTP frame.
  • the protocol frame is an HTTP frame
  • the encapsulating a protocol frame into at least one TCP data packet includes:
  • the data packet is the last TCP packet corresponding to the HTTP frame.
  • the protocol frame is an HTTP frame
  • the encapsulating a protocol frame into at least one TCP data packet includes:
  • each of the TLS frames Separating each of the TLS frames into at least one TCP data packet, and the last one of the at least one TCP data packet includes indication information, where the indication information is used to indicate that the last TCP data packet is the The last TCP packet corresponding to the TLS frame.
  • the protocol frame is a TLS frame
  • the TLS frame includes Data type information, the data type information being used to indicate a data type of the TLS frame.
  • the protocol frame is encapsulated into at least one TCP data. Before the package, it also includes:
  • a second aspect of the present invention provides a protocol frame parsing method, including:
  • the last TCP packet in the at least one TCP packet includes indication information, where the indication information is used to indicate the last TCP packet The last TCP packet corresponding to the protocol frame;
  • Data parsing is performed on the next protocol frame from the start TCP packet.
  • the determining, according to the indication information, the start TCP data packet corresponding to the next protocol frame includes:
  • the determining, according to the indication information, the starting TCP data packet corresponding to the next protocol frame includes:
  • the next TCP packet is the starting TCP packet corresponding to the next protocol frame.
  • the determining, according to the indication information, the starting TCP data packet corresponding to the next protocol frame includes:
  • the next TCP packet is the starting TCP packet corresponding to the next protocol frame.
  • the at least one TCP data corresponding to the protocol frame sent by the receiving node device Before the package also includes:
  • the method further includes:
  • the received TCP packet carries the TCP packet sent to the node device
  • the serial number is recognized, it is determined that the node device correctly receives the TCP data packet sent to the node device according to the confirmation sequence number.
  • the determining, according to the indication information, determining a next protocol frame Before starting the TCP packet it also includes:
  • the header of the at least one TCP data packet includes data type information
  • the data parsing of the next protocol frame from the starting TCP data packet includes:
  • the starting the TCP packet to the next one Before the protocol frame is parsed it also includes:
  • each TCP data packet corresponding to the next protocol frame belongs to the same HTPP2 .0 stream;
  • the method further includes:
  • a third aspect of the present invention provides a data transmission method, including:
  • the data portion of the last TCP packet has a length of 0, thereby indicating that the last TCP packet is the last TCP packet corresponding to the object data.
  • the header of the last TCP data packet includes a sending sequence number and a confirmation sequence number
  • the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the object data of the next URI, and the confirmation sequence number is confirmed according to the received data sent by the node device.
  • the header of the last TCP data packet includes a sending sequence number and a confirmation sequence number
  • the transmission sequence number is the same as the transmission sequence number of the initial TCP packet corresponding to the object data of the next URI, and the confirmation sequence number is the same as the confirmation sequence number of the previous data packet of the last TCP packet.
  • the method before the object data of the URI is encapsulated into the at least one TCP data packet, the method further includes:
  • the object data includes terminal identification information
  • the terminal identification information is used to send at least one TCP data packet corresponding to the object data to a node device corresponding to the terminal identification information.
  • the encapsulating the object data of one URI into the at least one TCP data packet includes:
  • the data portion of the added TCP packet has a length of zero.
  • the encapsulating the object data of one URI into the at least one TCP data packet includes:
  • the last TCP packet containing the data includes only the object data, and the indication information is the last one.
  • the amount of data for the TCP packet that contains the data is less than the preset MSS
  • the indication information is identifier information included in a header of the last TCP packet.
  • the data part of the at least one TCP data packet only includes the object data.
  • the encapsulating the object data of one URI into at least one TCP data packet includes:
  • the acknowledgment sequence number of the TCP data packet sent by the node device is carried in the TCP data packet to be sent in the at least one TCP data packet, where the acknowledgment sequence number is used to indicate that the TCP data packet sent by the node device is correctly received.
  • the object data of one URI is encapsulated into at least one TCP data packet Previously, it also included:
  • the notification message is used for the last TCP data packet in the at least one TCP data packet, and the indication information is used to indicate that the last TCP data packet is the The last TCP packet corresponding to the object data.
  • the header of the at least one TCP data packet includes data type information
  • the data type information is used to indicate a data type of a data portion of the TCP packet.
  • the object data is HTTP 1.1 data or HTTP 1.0 data.
  • the object data of a URI is encapsulated into at least one TCP Packets, including:
  • One TLS frame is the last TLS frame corresponding to the object data
  • the data packet is the last TCP data packet corresponding to the object data.
  • the object data of one URI is encapsulated into at least one TCP Packets, including:
  • each of the TLS frames Separating each of the TLS frames into at least one TCP data packet, and the last one of the at least one TCP data packet includes indication information, where the indication information is used to indicate that the last TCP data packet is the The last TCP packet corresponding to the TLS frame.
  • each of the TLS frames includes data type information, where the data type information is used to indicate the The data type of the TLS frame.
  • the object data of a URI is encapsulated into at least one TCP Before the packet, it also includes:
  • the object data is compressed into at least one compressed package, and the at least one compressed package includes only the object data.
  • a fourth aspect of the present invention provides a data parsing method, including:
  • At least one TCP data packet that encapsulates object data of one URI receives at least one TCP data packet that encapsulates object data of one URI, and the last one of the at least one TCP data packet includes indication information, where the indication information is used to indicate the last TCP
  • the data packet is the last TCP data packet corresponding to the object data, and the object data is used to indicate the resource identified by the URI;
  • Data analysis is performed on the object data of the next URI from the start TCP packet.
  • the determining, according to the indication information, the initial TCP data packet corresponding to the object data of the next URI includes:
  • the next TCP packet is the starting TCP packet corresponding to the object data of the next URI.
  • the determining, according to the indication information, the initial TCP data packet corresponding to the object data of the next URI includes:
  • the next TCP packet is the starting TCP packet corresponding to the object data of the next URI.
  • the determining, according to the indication information, the initial TCP data packet corresponding to the object data of the next URI includes:
  • the next TCP packet is the starting TCP packet corresponding to the object data of the next URI.
  • the object data of the URI sent by the receiving node device is encapsulated into Before at least one TCP packet, it also includes:
  • the method further includes:
  • the received TCP packet carries the acknowledgement sequence number of the TCP packet sent to the node device, determining, according to the acknowledgement sequence number, that the node device correctly receives the TCP packet sent to the node device.
  • the determining, according to the indication information, determining object data of a next URI Before the corresponding starting TCP packet it also includes:
  • the header of the at least one TCP data packet includes a data type information
  • the data parsing of the object data of the next URI starting from the starting TCP data packet includes:
  • a fifth aspect of the present invention provides a data transmission method, including:
  • the determining a target TLS frame in the at least one TLS frame includes:
  • the determining the target TLS frame in the at least one TLS frame includes:
  • the first TLS frame of the at least one TLS frame and its last TLS frame are determined as the target TLS frame.
  • the service information includes data type information, where the data type information is used to indicate the target TLS frame. type of data.
  • the service information includes policy information, where the policy information is used to indicate the target An execution policy of the TLS frame, where the execution policy includes a QoS policy or a charging policy.
  • the service information is carried in a TLS header field of the target TLS frame.
  • the target TLS frame is used to indicate service information of a specified TLS frame in the at least one TLS frame;
  • the designated TLS frame includes all TLS frames subsequent to the target TLS frame in the at least one TLS frame; or
  • the designated TLS frame includes all TLS frames preceding the target TLS frame in the at least one TLS frame; or
  • the designated TLS frame includes a previous TLS frame of the target TLS frame in the at least one TLS frame; or
  • the designated TLS frame includes a subsequent TLS frame of the target TLS frame in the at least one TLS frame.
  • the service information includes data type information, where the data type information is used to indicate a data type of the specified TLS frame.
  • the service information includes policy information, where the policy information is used to indicate execution of the specified TLS frame.
  • the policy includes the QoS policy or the charging policy.
  • the target TLS frame includes extended identifier information, where the extended identifier information is used to indicate
  • the target TLS frame is a protocol frame indicating service information of a specified TLS frame in the at least one TLS frame.
  • the service information is carried in a data part of the target TLS frame.
  • a sixth aspect of the present invention provides a data parsing method, including:
  • At least one TCP packet that encapsulates a target TLS frame containing service information and other TLS frames in at least one TLS frame, the at least one TLS frame is that the node device encapsulates one application layer data unit owned;
  • the method before the acquiring the service information in the target TLS frame, the method further includes:
  • the method before the acquiring the service information in the target TLS frame, the method further includes:
  • the service information includes data type information
  • Performing data parsing on the application layer data unit according to the service information including:
  • the data type of the target TLS frame is determined as the data type of the application layer data unit.
  • the service information includes policy information
  • the data parsing of the application layer data unit according to the service information includes:
  • An execution policy for the target TLS frame is determined as an execution policy for the application layer data unit.
  • the acquiring the service information in the target TLS frame includes:
  • the service information is obtained in a TLS header field of the target TLS frame.
  • the target TLS frame is used to indicate service information of a specified TLS frame in the at least one TLS frame;
  • the designated TLS frame includes all TLS frames subsequent to the target TLS frame in the at least one TLS frame; or
  • the designated TLS frame includes all TLS frames preceding the target TLS frame in the at least one TLS frame; or
  • the designated TLS frame includes a previous TLS frame of the target TLS frame in the at least one TLS frame; or
  • the designated TLS frame includes a subsequent TLS frame of the target TLS frame in the at least one TLS frame.
  • the service information includes data type information
  • Performing data parsing on the application layer data unit according to the service information including:
  • the service information includes policy information
  • Performing data parsing on the application layer data unit according to the service information including:
  • An execution policy for the specified TLS frame is determined as an execution policy for the application layer data unit.
  • the method further includes:
  • the method before the acquiring the service information in the target TLS frame, the method further includes:
  • the target TLS frame includes extended identification information, where the extended identification information is used to indicate that the target TLS frame is a protocol frame indicating service information of a specified TLS frame in the at least one TLS frame.
  • the acquiring the service information in the target TLS frame includes:
  • the service information is obtained in a data portion of the target TLS frame.
  • a seventh aspect of the present invention provides a protocol frame transmission apparatus, including:
  • An encapsulating unit configured to encapsulate a protocol frame into at least one TCP data packet, where a last one of the at least one TCP data packet includes indication information, where the indication information is used to indicate that the last TCP data packet is The last TCP packet corresponding to the protocol frame;
  • a sending unit configured to send the at least one TCP data packet to the node device.
  • the data part of the last TCP data packet has a length of 0, thereby indicating that the last TCP data packet is the last TCP data packet corresponding to the protocol frame.
  • the header of the last TCP data packet includes a sending sequence number and a confirmation sequence number
  • the sending sequence number is the same as the sending sequence number of the initial TCP data packet corresponding to the next protocol frame, and the acknowledgement sequence number is confirmed according to the received data sent by the node device.
  • the header of the last TCP data packet includes a sending sequence number and a confirmation sequence number
  • the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the next protocol frame, and the acknowledgement sequence number is the same as the acknowledgement sequence number of the previous data packet of the last TCP packet.
  • the acquiring unit is configured to obtain the management before the encapsulating unit encapsulates the protocol frame into the at least one TCP data packet.
  • the protocol frame sent by the terminal, the protocol frame includes terminal identification information, and the terminal identification information is used to send the at least one TCP data packet corresponding to the protocol frame to the node device corresponding to the terminal identification information.
  • the encapsulating unit is configured to include data in a last one corresponding to the protocol frame.
  • a TCP packet is added after the TCP packet, and the length of the data portion of the added TCP packet is zero.
  • the encapsulating unit is configured to: when a data volume of a last TCP packet including data corresponding to the protocol frame is smaller than a preset MSS, The last TCP packet containing data includes only data of the protocol frame, The indication information is the amount of data of the last TCP packet containing data.
  • the indication information is identifier information included in a header of the last TCP packet.
  • the data part of the at least one TCP data packet only includes the protocol Frame data.
  • the ninth possible implementation manner further includes:
  • a receiving unit configured to receive a TCP data packet sent by the node device
  • the encapsulating unit is configured to carry, in the TCP data packet to be sent in the at least one TCP data packet, an acknowledgement sequence number of the TCP data packet sent by the node device, where the acknowledgement sequence number is used to indicate that the node is correctly received.
  • the TCP packet sent by the device is configured to carry, in the TCP data packet to be sent in the at least one TCP data packet, an acknowledgement sequence number of the TCP data packet sent by the node device, where the acknowledgement sequence number is used to indicate that the node is correctly received.
  • the sending unit is further used by the encapsulating unit Before the protocol frame is encapsulated into the at least one TCP data packet, sending a notification message to the node device, where the notification message is used for the last TCP data packet in the at least one TCP data packet, including indication information, the indication information And indicating that the last TCP data packet is the last TCP data packet corresponding to the protocol frame.
  • the method further includes: the notification information is carried in an HTTP 2.0 header field or an HTTP 2.0 setting frame of the protocol frame. .
  • the method further includes: the header of the at least one TCP packet includes Data type information, the data type information being used to indicate a data type of a data portion of the TCP packet.
  • the protocol frame is a TLS frame or an HTTP frame.
  • the protocol frame is an HTTP frame
  • the encapsulating unit is configured to encapsulate the HTTP frame into at least one TLS frame, and a last TLS frame in the at least one TLS frame is a last TLS frame corresponding to the HTTP frame; and the at least one TLS frame is to be used. All the TLS frames in the package are encapsulated into at least one TCP data packet, and the last one of the at least one TCP data packet includes indication information, the indication information is used to indicate that the last TCP data packet is the HTTP frame Corresponding to the last TCP packet.
  • the protocol frame is an HTTP frame
  • the encapsulating unit is configured to encapsulate the HTTP frame into at least one TLS frame, and a last TLS frame in the at least one TLS frame is a last TLS frame corresponding to the HTTP frame; respectively, each of the TLS frames Encapsulating into at least one TCP data packet, the last one of the at least one TCP data packet includes indication information, the indication information is used to indicate that the last TCP data packet is the last TCP corresponding to the TLS frame data pack.
  • the protocol frame is a TLS frame
  • the TLS frame includes Data type information, the data type information being used to indicate a data type of the TLS frame.
  • the seventeenth possible implementation manner further includes:
  • a compression unit configured to compress the protocol frame into at least one compressed packet before the encapsulating unit encapsulates the protocol frame into at least one TCP packet, where the at least one compressed packet includes only the protocol frame.
  • An eighth aspect of the present invention provides a node device, including a processor, a memory, and a network interface, wherein the memory stores a set of program codes, and the processor is configured to call program code stored in the memory, Used to do the following:
  • a ninth aspect of the present invention provides a protocol frame parsing apparatus, including:
  • a receiving unit configured to receive, by the node device, at least one TCP packet that encapsulates a protocol frame, where a last TCP packet in the at least one TCP packet includes indication information, where the indication information is used to indicate the The last TCP packet is the last TCP packet corresponding to the protocol frame;
  • a determining unit configured to determine, according to the indication information, a starting TCP data packet corresponding to a next protocol frame
  • a parsing unit configured to perform data parsing on the next protocol frame from the start TCP packet.
  • the determining unit is configured to determine, when the length of the data part of the last TCP data packet is 0, that the next TCP data packet is corresponding to the next protocol frame. Start TCP packets.
  • the determining unit is configured to determine, when the data volume of the last TCP packet is less than a preset MSS, determine that the next TCP packet is The starting TCP packet corresponding to the next protocol frame.
  • the determining unit is configured to determine, when the header of the last TCP packet includes the identifier information, that the next TCP packet is the The starting TCP packet corresponding to the next protocol frame.
  • the method further includes:
  • a sending unit configured to send, by the receiving unit, a TCP data packet to the node device before receiving the at least one TCP data packet corresponding to the protocol frame sent by the node device;
  • the determining unit is further configured to: when the received TCP packet carries the acknowledgement sequence number of the TCP packet sent to the node device, determine, according to the acknowledgement sequence number, that the node device correctly receives the TCP packets sent by the node device.
  • the receiving unit is further used by the determining unit according to the Instructing information, before determining a starting TCP data packet corresponding to the next protocol frame, receiving a notification message sent by the node device;
  • the device also includes:
  • an obtaining unit configured to acquire, according to the notification information, indication information in the last TCP data packet corresponding to the protocol frame.
  • the header of the at least one TCP data packet includes data type information
  • the parsing unit is configured to acquire, according to the data type information, a data type of a data part of the TCP data packet.
  • the determining unit is further configured to: Before the initial TCP packet performs data parsing on the next protocol frame, it is determined that the next protocol frame is compressed by the static table to implement the header field.
  • each TCP data packet corresponding to the next protocol frame belongs to the same HTTP2 .0 stream;
  • the protocol frame transmission device further includes:
  • control unit configured to: after the parsing unit performs data parsing on the next protocol frame from the start TCP packet, when the parsing of the next protocol frame data fails, suspending the HTTP2.0
  • the protocol frame included in the stream performs data parsing.
  • a tenth aspect of the present invention provides a node device, including a processor, a memory, and a network interface, wherein the memory stores a set of program codes, and the processor is configured to call program code stored in the memory, Used to do the following:
  • the last TCP packet in the at least one TCP packet includes indication information, where the indication information is used to indicate the last TCP packet The last TCP packet corresponding to the protocol frame;
  • Data parsing is performed on the next protocol frame from the start TCP packet.
  • An eleventh aspect of the present invention provides a data transmission apparatus, including:
  • An encapsulating unit configured to encapsulate object data of one URI into at least one TCP data packet, and a last one of the at least one TCP data packet includes indication information, where the indication information is used to indicate the last TCP data
  • the packet is the last TCP data packet corresponding to the object data, and the object data is used to indicate a resource identified by the URI;
  • a sending unit configured to send the at least one TCP data packet to the node device.
  • the data portion of the last TCP packet has a length of 0, thereby indicating that the last TCP packet is the last TCP packet corresponding to the object data.
  • the header of the last TCP data packet includes a sending sequence number and a confirmation sequence number
  • the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the object data of the next URI, and the confirmation sequence number is confirmed according to the received data sent by the node device.
  • the header of the last TCP data packet includes a sending sequence number and a confirmation sequence number
  • the transmission sequence number is the same as the transmission sequence number of the initial TCP packet corresponding to the object data of the next URI, and the confirmation sequence number is the same as the confirmation sequence number of the previous data packet of the last TCP packet.
  • the method further includes:
  • An acquiring unit configured to acquire the object data sent by the management terminal, where the encapsulating unit encapsulates the object data into the at least one TCP data packet, where the object data includes terminal identification information, and the terminal identification information is used by And indicating to send the at least one TCP data packet corresponding to the object data to the node device corresponding to the terminal identifier information.
  • the encapsulating unit is configured to include data in a last one corresponding to the object data After the TCP packet is added, a TCP packet is added, and the length of the data portion of the added TCP packet is 0.
  • the encapsulating unit is configured to: when a data quantity of a last TCP packet including data corresponding to the object data is smaller than a preset MSS
  • the last TCP packet containing data includes only the object data, and the indication information is the data amount of the last TCP packet containing the data.
  • the indication information is identifier information included in a header of the last TCP packet.
  • the data part of the at least one TCP packet includes only The object data.
  • the method further includes:
  • a receiving unit configured to receive a TCP data packet sent by the node device
  • the encapsulating unit is configured to carry, in the TCP data packet to be sent in the at least one TCP data packet, an acknowledgement sequence number of the TCP data packet sent by the node device, where the acknowledgement sequence number is used to indicate that the node is correctly received.
  • the TCP packet sent by the device is configured to carry, in the TCP data packet to be sent in the at least one TCP data packet, an acknowledgement sequence number of the TCP data packet sent by the node device, where the acknowledgement sequence number is used to indicate that the node is correctly received.
  • the sending unit is further used by the encapsulating unit Before the object data is encapsulated into the at least one TCP data packet, sending a notification message to the node device, where the notification message is used for the last TCP data packet in the at least one TCP data packet, including indication information,
  • the indication information is used to indicate that the last TCP data packet is the last TCP data packet corresponding to the object data.
  • the header of the at least one TCP data packet includes a data type Information, the data type information being used to indicate a data type of a data portion of the TCP packet.
  • the object data is HTTP 1.1 data or HTTP1. .0 data.
  • the encapsulating unit is configured to encapsulate the object data into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the object data.
  • Corresponding last TLS frame; encapsulating all TLS frames in the at least one TLS frame into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information, where the indication information is used And indicating that the last TCP packet is the last TCP packet corresponding to the object data.
  • the encapsulating unit is configured to: Data is encapsulated into at least one TLS frame, and a last one of the at least one TLS frame is a last TLS frame corresponding to the object data; each of the TLS frames is respectively encapsulated into at least one TCP data packet, where the at least one The last TCP packet in a TCP packet includes indication information for indicating that the last TCP packet is the last TCP packet corresponding to the TLS frame.
  • each of the TLS frames includes data type information, where the data type information is used to indicate The data type of the TLS frame.
  • the method further includes:
  • a compression unit configured to compress the object data into at least one compressed package before the encapsulating unit encapsulates the object data into at least one TCP data packet, where the at least one compressed package includes only the object data.
  • a twelfth aspect of the present invention provides a node device, including a processor, a memory, and a network interface, wherein the memory stores a set of program codes, and the processor is configured to call program code stored in the memory. Used to do the following:
  • a thirteenth aspect of the present invention provides a data analysis apparatus, including:
  • a receiving unit configured to receive, by the node device, at least one TCP data packet that encapsulates object data of one URI, where a last one of the at least one TCP data packet includes indication information, where the indication information is used to indicate The last TCP data packet is the last TCP data packet corresponding to the object data, and the object data is used to indicate a resource identified by the URI;
  • a determining unit configured to determine, according to the indication information, a starting TCP data packet corresponding to object data of a next URI;
  • a parsing unit configured to perform data parsing on the object data of the next URI starting from the starting TCP packet.
  • the determining unit is configured to: when the length of the data part of the last TCP packet is 0, determine that the next TCP data packet corresponds to the object data of the next URI The starting TCP packet.
  • the determining unit is configured to determine a next TCP packet when the data volume of the last TCP packet is less than a preset MSS.
  • the starting TCP packet corresponding to the object data of the next URI.
  • the determining unit is configured to determine, when the header of the last TCP packet includes the identifier information, that the next TCP packet is The starting TCP packet corresponding to the object data of the next URI is described.
  • the method further includes:
  • a sending unit configured to send, by the receiving unit, a TCP data packet to the node device before receiving the at least one TCP data packet sent by the node device;
  • the determining unit is further configured to: when the received TCP packet carries the acknowledgement sequence number of the TCP packet sent to the node device, determine, according to the acknowledgement sequence number, that the node device correctly receives the node to the node The TCP packet sent by the device.
  • the receiving unit is further configured to use the determining unit according to Receiving, by the indication information, a notification message sent by the node device, before determining a start TCP data packet corresponding to the object data of the next URI;
  • the device also includes:
  • an obtaining unit configured to acquire, according to the notification message, indication information in the last TCP data packet corresponding to the object data.
  • the header of the at least one TCP packet includes data type information ;
  • the parsing unit is configured to acquire, according to the data type information, a data type of a data part of the TCP data packet.
  • a fourteenth aspect of the present invention provides a node device, including a processor, a memory, and a network interface, wherein the memory stores a set of program codes, and the processor is configured to call program code stored in the memory. Used to do the following:
  • At least one TCP data packet that encapsulates object data of one URI receives at least one TCP data packet that encapsulates object data of one URI, and the last one of the at least one TCP data packet includes indication information, where the indication information is used to indicate the last TCP
  • the data packet is the last TCP data packet corresponding to the object data, and the object data is used to indicate the resource identified by the URI;
  • Data analysis is performed on the object data of the next URI from the start TCP packet.
  • a fifteenth aspect of the present invention provides a data transmission apparatus, including:
  • An encapsulating unit configured to encapsulate one application layer data unit into at least one TLS frame, and a last TLS frame in the at least one TLS frame is a last TLS frame corresponding to the application layer data unit, the application layer data unit Object data for HTTP frames or URIs;
  • a determining unit configured to determine a target TLS frame in the at least one TLS frame
  • An adding unit configured to add service information of the application layer data unit to the target TLS frame
  • the encapsulating unit is further configured to: use a target TLS frame that includes the service information, and the at least Other TLS frames in a TLS frame are encapsulated into at least one TCP packet;
  • a sending unit configured to send the encapsulated into at least one TCP data packet to the node device.
  • the determining unit is configured to determine a first TLS frame, a last TLS frame, or all TLS frames in the at least one TLS frame as the target TLS frame.
  • the determining unit configured to use a first TLS frame in the at least one TLS frame And its last TLS frame is determined as the target TLS frame.
  • the service information includes data type information, where the data type information is used to indicate the target TLS frame.
  • the type of data is used to indicate the target TLS frame.
  • the service information includes policy information, where the policy information is used to indicate that An execution policy of the target TLS frame, where the execution policy includes a QoS policy or a charging policy.
  • the service information is carried in a TLS header field of the target TLS frame.
  • the target TLS frame is used to indicate service information of a specified TLS frame in the at least one TLS frame;
  • the designated TLS frame includes all TLS frames subsequent to the target TLS frame in the at least one TLS frame; or
  • the designated TLS frame includes all TLS frames preceding the target TLS frame in the at least one TLS frame; or
  • the designated TLS frame includes a previous TLS frame of the target TLS frame in the at least one TLS frame; or
  • the designated TLS frame includes a subsequent TLS frame of the target TLS frame in the at least one TLS frame.
  • the service information includes data type information, where the data type information is used to indicate a data type of the specified TLS frame.
  • the service information includes policy information, where the policy information is used to indicate that the specified TLS frame is
  • the execution policy includes a QoS policy or a charging policy.
  • the target TLS frame includes extended identifier information, where the extended identifier information is used to indicate
  • the target TLS frame is a protocol frame indicating service information of a specified TLS frame in the at least one TLS frame.
  • the service information is carried in a data part of the target TLS frame.
  • a sixteenth aspect of the present invention provides a node device, including a processor, a memory, and a network interface, wherein the memory stores a set of program codes, and the processor is configured to call program code stored in the memory. Used to do the following:
  • a seventeenth aspect of the present invention provides a data analysis apparatus, including:
  • a receiving unit configured to receive, by the node device, at least one TCP packet that encapsulates a target TLS frame that includes service information and other TLS frames in the at least one TLS frame, where the at least one TLS frame is one of the node devices Application layer data unit encapsulation;
  • An obtaining unit configured to acquire service information in the target TLS frame
  • a parsing unit configured to perform data parsing on the application layer data unit according to the service information.
  • the device further includes:
  • a determining unit configured to determine, before the acquiring unit acquires service information in the target TLS frame, a first TLS frame, a last TLS frame, or all TLS frames in the at least one TLS frame as the target TLS frame .
  • the apparatus further includes:
  • a determining unit configured to determine, before the acquiring unit acquires the service information in the target TLS frame, that the first TLS frame in the at least one TLS frame and the last TLS frame thereof are the target TLS frame.
  • the service information includes data type information
  • the parsing unit is configured to acquire a data type of the target TLS frame according to the data type information, and determine a data type of the target TLS frame as a data type of the application layer data unit.
  • the service information includes policy information
  • the parsing unit is configured to obtain an execution policy for the target TLS frame according to the policy information, and determine an execution policy of the target TLS frame as an execution policy for the application layer data unit.
  • the acquiring unit is configured to use the target TLS frame
  • the service information is obtained in the TLS header field.
  • the target TLS frame is used to indicate service information of a specified TLS frame in the at least one TLS frame;
  • the designated TLS frame includes all TLS frames subsequent to the target TLS frame in the at least one TLS frame; or
  • the designated TLS frame includes all TLS frames preceding the target TLS frame in the at least one TLS frame; or
  • the designated TLS frame includes a previous TLS frame of the target TLS frame in the at least one TLS frame; or
  • the designated TLS frame includes a subsequent TLS frame of the target TLS frame in the at least one TLS frame.
  • the service information includes data type information
  • the parsing unit is configured to acquire, according to the data type information, a data type of a specified TLS frame in the at least one TLS frame, and determine a data type of the specified TLS frame as a data type of the application layer data unit .
  • the service information includes policy information
  • the parsing unit is configured to acquire, according to the policy information, an execution policy for a specified TLS frame in the at least one TLS frame; determine an execution policy of the specified TLS frame as being to the application layer data unit Execution strategy.
  • the apparatus further includes:
  • a deleting unit configured to delete the target TLS frame after the parsing unit determines an execution policy of the specified TLS frame as an execution policy of the application layer data unit.
  • the device further includes:
  • a determining unit configured to: before the acquiring unit acquires the service information in the target TLS frame, determining that the target TLS frame includes extended identifier information, where the extended identifier information is used to indicate that the target TLS frame is to indicate the at least A protocol frame for the service information of a specified TLS frame in a TLS frame.
  • the acquiring unit is configured to acquire the service information in a data part of the target TLS frame.
  • An eighteenth aspect of the present invention provides a node device, including a processor, a memory, and a network interface, wherein the memory stores a set of program codes, and the processor is configured to call a program code stored in the memory. Used to do the following:
  • a target TLS frame that is sent by the node device and that includes the service information. And at least one TCP packet encapsulated by the other TLS frame in the at least one TLS frame, where the at least one TLS frame is encapsulated by the node device by using one application layer data unit;
  • a nineteenth aspect of the present invention provides a protocol frame transmission system, comprising the protocol frame encapsulation apparatus of the seventh aspect, and the protocol frame parsing apparatus of the ninth aspect.
  • a twentieth aspect of the present invention provides a protocol frame transmission system, comprising the data transmission device according to the eleventh aspect, and the data analysis device according to the thirteenth aspect.
  • a twenty-first aspect of the present invention provides a data transmission system comprising the data transmission device of the fifteenth aspect, and the data analysis device of the seventeenth aspect.
  • the last TCP data packet in the at least one TCP data packet includes indication information, where the indication information is used to indicate that the last TCP data packet is corresponding to the protocol frame.
  • the last TCP packet which sends at least one TCP packet to the node device, ensures that the data portion of a TCP packet includes only data for one protocol frame.
  • FIG. 1 is a schematic flowchart of a protocol frame transmission method according to a first embodiment of the present invention
  • FIG. 2 is a schematic flowchart of a protocol frame parsing method according to an embodiment of the present invention
  • FIG. 3 is a schematic flowchart of a method for transmitting a protocol frame according to a second embodiment of the present invention
  • FIG. 4 is a schematic flowchart of a method for transmitting a protocol frame according to a third embodiment of the present invention.
  • FIG. 5 is a schematic flowchart diagram of a protocol frame transmission method according to a fourth embodiment of the present invention.
  • FIG. 6 is a schematic flowchart of a protocol frame transmission method according to a fifth embodiment of the present invention.
  • 7A is a schematic diagram of an interface of a conventional protocol frame encapsulated into a TCP data packet
  • FIG. 7B is a schematic diagram of an interface of a protocol frame encapsulated into a TCP data packet according to an embodiment of the present disclosure
  • FIG. 7C is a schematic structural diagram of a TCP data packet according to an embodiment of the present invention.
  • FIG. 7D is a schematic diagram of an interface for setting a frame according to an embodiment of the present invention.
  • FIG. 7E is a schematic structural diagram of an HTTP frame according to an embodiment of the present disclosure.
  • FIG. 7F is a schematic structural diagram of a TLS frame according to an embodiment of the present invention.
  • 7G is a schematic diagram of an interface of another protocol frame encapsulated into a TCP data packet according to an embodiment of the present disclosure
  • FIG. 7H is a schematic diagram of another interface frame encapsulated into a TCP data packet according to an embodiment of the present disclosure.
  • 7I is a schematic diagram of an interface for packaging object data into a TCP data packet according to an embodiment of the present invention.
  • 7J is a schematic diagram of another interface for packaging object data into a TCP data packet according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a protocol frame transmission apparatus according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic structural diagram of a node device according to a first embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of a protocol frame parsing apparatus according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic structural diagram of a node device according to a second embodiment of the present invention.
  • FIG. 12 is a schematic structural diagram of a protocol frame transmission system according to an embodiment of the present disclosure.
  • FIG. 13 is a schematic flowchart diagram of a data transmission method according to an embodiment of the present disclosure.
  • FIG. 14 is a schematic flowchart diagram of a data parsing method according to an embodiment of the present disclosure.
  • FIG. 15 is a schematic structural diagram of a data transmission apparatus according to an embodiment of the present disclosure.
  • FIG. 16 is a schematic structural diagram of a node device according to a third embodiment of the present invention.
  • FIG. 17 is a schematic structural diagram of a data analysis apparatus according to an embodiment of the present disclosure.
  • FIG. 18 is a schematic structural diagram of a node device according to a fourth embodiment of the present invention.
  • FIG. 19 is a schematic structural diagram of a data transmission system according to an embodiment of the present disclosure.
  • FIG. 20 is a schematic structural diagram of a data transmission method according to another embodiment of the present invention.
  • FIG. 21 is a schematic flowchart diagram of a data parsing method according to another embodiment of the present invention.
  • FIG. 22 is a schematic structural diagram of a data transmission apparatus according to another embodiment of the present invention.
  • FIG. 23 is a schematic structural diagram of a node device according to a fifth embodiment of the present invention.
  • FIG. 24 is a schematic structural diagram of a data analysis apparatus according to another embodiment of the present invention.
  • FIG. 25 is a schematic structural diagram of a node device according to a sixth embodiment of the present invention.
  • FIG. 26 is a schematic structural diagram of a data transmission system according to another embodiment of the present invention.
  • the protocol frame is encapsulated into at least one TCP data packet according to the MSS, and the data portion of the same TCP data packet includes data of different protocol frames. Further, after the at least one TCP packet is sent to the node device, the node device cannot identify the boundary of each protocol frame, and thus cannot implement data parsing for each protocol frame.
  • the embodiment of the invention provides a protocol frame transmission method, which encapsulates a protocol frame into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information, and the indication information is used to indicate the last TCP data.
  • the packet is the last TCP packet corresponding to the protocol frame, and at least one TCP packet is sent to the node device to ensure that the data portion of one TCP packet includes only data of one protocol frame.
  • the protocol frame mentioned in the embodiment of the present invention may include an HTTP frame or a TLS (Transport Layer Security) frame.
  • the HTTP frame may be an HTTP 2.0 frame, the HTTP 2.0 is located at the application layer, and the HTTP 2.0 frame is data in the application layer.
  • the HTTP frame may be encapsulated into at least one TCP packet, and the last of the at least one TCP packet.
  • a TCP packet includes indication information indicating that the last TCP packet is the last TCP packet corresponding to the HTTP frame.
  • TLS is located above the transport layer below the application layer, which refers to providing encryption for network communication.
  • a security protocol for identity authentication and data integrity guarantee which can encapsulate an HTTP frame into at least one TLS frame, and the last TLS frame in at least one TLS frame includes indication information indicating that the last TLS frame is HTTP.
  • a TLS frame may be encapsulated into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information, where the indication information is used to indicate that the last TCP data packet is the last TCP corresponding to the protocol frame. data pack.
  • the protocol frame before a protocol frame is encapsulated into at least one TCP data packet, the protocol frame may be compressed into at least one compressed packet, and at least one compressed packet includes only the protocol frame.
  • the node device mentioned in the embodiment of the present invention may include a client or a server or the like, such as a web browser, an email client, or an email server.
  • the protocol frame transmission method mentioned in the embodiment of the present invention may be implemented in a terminal such as a server, a client, a proxy client, or a proxy server, and is not limited by the embodiment of the present invention.
  • FIG. 1 is a schematic flowchart of a method for transmitting a protocol frame according to a first embodiment of the present invention.
  • the method for encapsulating a protocol frame in the embodiment of the present invention may include:
  • S101 Encapsulate a protocol frame into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information.
  • the terminal may encapsulate a protocol frame into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information, where the indication information is used to indicate that the last TCP data packet is the last TCP data packet corresponding to the protocol frame. .
  • the terminal can encapsulate the first frame (frame1) into three TCP packets, and the second frame (frame2) into three TCP packets.
  • the starting point of the first frame is the starting point of the TCP1 data packet
  • the starting point of the second frame is the starting point of the TCP4 data packet
  • the data part of the TCP1 data packet, the TCP2 data packet, and the TCP3 data packet includes only the data of the first frame, and the TCP4 data.
  • the data portion of the packet, TCP5 packet, and TCP6 packet includes only the data of the second frame.
  • the data volume of the first protocol frame and the second protocol frame are both 3000 bytes, and the preset MSS negotiated between the terminal and the node device is 1460 bytes, and the terminal can encapsulate the first protocol frame into three TCP data.
  • the length of the data portion of the first TCP packet is 1460 bytes
  • the length of the data portion of the second TCP packet is 1460 bytes
  • the length of the data portion of the third TCP packet is 80 bytes, of which the second
  • the TCP packet includes indication information indicating the second TCP data
  • the packet is the last TCP packet corresponding to the first protocol frame.
  • the terminal can encapsulate the second protocol frame into three TCP data packets, the data portion of the fourth TCP data packet has a length of 1460 bytes, and the data portion of the fifth TCP data packet has a length of 1460 bytes, and a sixth.
  • the data portion of the TCP packet has a length of 80 bytes, wherein the sixth TCP packet includes indication information, and the indication information is used to indicate that the fourth TCP packet is the last TCP packet corresponding to the second protocol frame.
  • the protocol frame may be a TLS frame or an HTTP frame.
  • the TLS frame is the basic protocol unit of TLS, and the TLS runs on the transport layer below the application layer.
  • the HTTP frame is the basic protocol unit of HTTP, and HTTP runs on the application layer.
  • the HTTP frame can be an HTTP 2.0 frame.
  • the data portion of at least one TCP packet includes only data for the protocol frame.
  • the terminal encapsulates the first protocol frame into a first TCP data packet and a second TCP data packet, wherein the data portion of the first TCP data packet includes only data of the first protocol frame, and the data portion of the second TCP data packet includes only The data of the first protocol frame.
  • the terminal encapsulates the second protocol frame into a third TCP data packet and a fourth TCP data packet, where the data portion of the third TCP data packet includes only the data of the second protocol frame, and the data portion of the fourth TCP data packet only Includes data for the second protocol frame.
  • the data portion of the last TCP packet may be 0 in length, thereby indicating that the last TCP packet is the last TCP packet corresponding to the protocol frame.
  • the data volume of the first protocol frame is 2000 bytes
  • the preset MSS negotiated between the terminal and the node device is 1460 bytes
  • the terminal may encapsulate the first protocol frame into the first TCP data packet and the second TCP data packet.
  • a third TCP packet wherein the data portion of the first TCP packet has a length of 1460 bytes, the data portion of the second TCP packet has a length of 540 bytes, and the data portion of the third TCP packet has a length of 0. , thereby indicating that the third TCP packet is the last TCP packet corresponding to the first protocol frame.
  • the header of the last TCP packet may include a sending sequence number and an acknowledgment sequence number, wherein the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the next protocol frame, and the acknowledgment sequence number is sent according to the received node device. Data confirmed.
  • the header of the last TCP packet may include a sending sequence number and an acknowledgment sequence number, wherein the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the next protocol frame, and the acknowledgment sequence number is before the last TCP packet.
  • the confirmation number of a packet is the same.
  • the terminal encapsulates a protocol frame into at least one TCP packet before To obtain a protocol frame sent by the management terminal, the protocol frame may include terminal identification information, where the terminal identification information is used to send the at least one TCP data packet corresponding to the protocol frame to the node device corresponding to the terminal identification information.
  • the terminal may add a TCP packet after the last TCP packet containing the data, wherein the length of the data portion of the added TCP packet is 0.
  • the terminal may add a TCP packet after the last TCP packet containing the data, where the data of the added TCP packet is added.
  • the length of the part is 0.
  • the terminal may add a TCP packet after the last TCP packet containing the data, where the added TCP packet is The length of the data portion is 0.
  • the last TCP packet containing the data when the data volume of the last TCP packet containing the data corresponding to the protocol frame is smaller than the preset MSS, the last TCP packet containing the data includes only the data of the protocol frame, where the indication information is the last one.
  • the amount of data for the TCP packet that contains the data For example, the data volume of the first protocol frame is 2000 bytes, and the preset MSS negotiated between the terminal and the node device is 1460 bytes, and the terminal may encapsulate the first protocol frame into the first TCP data packet and the second TCP data packet.
  • the length of the data portion of the first TCP packet is 1460 bytes
  • the length of the data portion of the second TCP packet is 540 bytes
  • the second TCP packet includes only data of the first protocol frame
  • the indication information is The data volume of the two TCP data packets
  • the terminal may determine, according to the indication information, that the data volume of the second TCP data packet is less than the preset MSS, and the second TCP data packet is the last TCP data packet of the first protocol frame.
  • the indication information may be identification information contained in a header of the last TCP packet.
  • the terminal may add the identifier information in the header of the last TCP packet containing the data.
  • the terminal may add the identifier information to the header of the last TCP packet containing the data.
  • the data volume of the first protocol frame is 2000 bytes
  • the preset MSS negotiated between the terminal and the node device is 1460 bytes
  • the terminal may encapsulate the first protocol frame into the first TCP data packet and the second TCP data packet.
  • the length of the data portion of the first TCP packet is 1460 bytes
  • the length of the data portion of the second TCP packet is 540 bytes
  • the second TCP packet is reported.
  • the header includes identification information, and the terminal may determine, according to the identification information, that the second TCP data packet is the last TCP data packet of the first protocol frame.
  • the terminal may further send a notification message to the node device, where the notification message may be used for the last TCP data packet in the at least one TCP data packet, including the indication information.
  • the indication information is used to indicate that the last TCP packet is the last TCP packet corresponding to the protocol frame.
  • the notification message may be carried in an HTTP 2.0 header field or an HTTP 2.0 setting frame of the protocol frame.
  • the header of at least one TCP packet may include data type information, the data type information being used to indicate the data type of the data portion of the TCP packet.
  • the existing protocol frame parsing method blindly parses the protocol frame through the frame header of the protocol frame, and cannot accurately obtain the data type of the protocol frame.
  • the header of at least one TCP packet includes data type information, and the node device can obtain the data type of the data part of the TCP packet according to the data type information, thereby obtaining the data type of the protocol frame, and improving the accuracy of data parsing. .
  • the protocol frame before the terminal encapsulates a protocol frame into at least one TCP data packet, the protocol frame may be compressed into at least one compressed packet, and at least one compressed packet includes only the protocol frame.
  • the terminal usually compresses the protocol frame by using a preset compression algorithm, and then transmits the compressed protocol frame to the node device to improve the transmission rate.
  • the respective protocol frames cannot be identified, and the respective protocol frames cannot be encapsulated into at least one TCP data packet respectively.
  • the embodiment of the present invention compresses one protocol frame into at least one compressed packet.
  • the data in the compressed packet is encapsulated into at least one TCP data packet, so as to encapsulate each protocol frame into at least one TCP data packet.
  • the HTTP frame when the protocol frame is an HTTP frame, the HTTP frame may be encapsulated into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the HTTP frame, and respectively
  • the TLS frame is encapsulated into at least one TCP packet, and the last TCP packet in the at least one TCP packet includes indication information indicating that the last TCP packet is the last TCP packet corresponding to the TLS frame.
  • the terminal encapsulates the HTTP frame into two TLS frames, where TLS frame2 is the last one corresponding to the HTTP frame.
  • the TLS frame, TLS frame1 and TLS frame2 contain only the data of the HTTP frame.
  • the terminal may encapsulate the TLS frame1 into three TCP data packets, where the TCP3 data packet includes indication information, and the indication information is used to indicate that the TCP3 data packet is the last TCP data packet corresponding to the TLS frame1, specifically, the TCP3 data packet.
  • the length of the data part may be 0, thereby indicating that the TCP3 data packet is the last TCP data packet corresponding to the TLS frame1; or when the data volume of the TCP3 data packet is less than the preset MSS, the indication information may be the data amount of the TCP3 data packet, thereby The TCP3 data packet is indicated as the last TCP data packet corresponding to the TLS frame1; or the indication information may be the identification information contained in the header of the TCP3 data packet, thereby indicating that the TCP3 data packet is the last TCP data packet corresponding to the TLS frame1.
  • the terminal can encapsulate the TLS frame 2 into five TCP data packets, wherein the TCP8 data packet includes indication information, and the indication information is used to indicate that the TCP8 data packet is the last TCP data packet corresponding to the TLS frame2, specifically, the TCP8 data packet.
  • the length of the data part may be 0, thereby indicating that the TCP8 data packet is the last TCP data packet corresponding to the TLS frame 2; or when the data volume of the TCP 8 data packet is less than the preset MSS, the indication information may be the data amount of the TCP 8 data packet, thereby The TCP8 data packet is indicated as the last TCP data packet corresponding to the TLS frame2; or the indication information may be the identification information contained in the header of the TCP8 data packet, thereby indicating that the TCP8 data packet is the last TCP data packet corresponding to the TLS frame2.
  • the embodiment of the present invention can ensure that the data part of the TCP1 ⁇ TCP3 data packet only includes the data of the TLS frame1, the data part of the TCP4 ⁇ TCP8 data packet only includes the data of the TLS frame2, and the TLS frame1 and the TLS frame2 only include the data of the HTTP frame.
  • the HTTP frame when the protocol frame is an HTTP frame, the HTTP frame may be encapsulated into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the HTTP frame, and at least one All TLS frames in the TLS frame are encapsulated into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information indicating that the last TCP data packet is the last TCP data corresponding to the HTTP frame. package.
  • the terminal encapsulates the HTTP frame into two TLS frames, where TLS frame2 is the last TLS frame corresponding to the HTTP frame, and TLS frame1 and TLS frame2 are only Contains the data for this HTTP frame. Further, the terminal may encapsulate the TLS frame1 and the TL S frame2 into eight TCP data packets, where the TCP8 data packet includes indication information, and the indication information is used to indicate that the TCP8 data packet is the last one corresponding to the HTTP frame.
  • the TCP data packet may have a length of 0, thereby indicating that the TCP8 data packet is the last TCP data packet corresponding to the HTTP frame; or when the data volume of the TCP8 data packet is less than the preset MSS.
  • the indication information may be the data amount of the TCP8 data packet, thereby indicating that the TCP3 data packet is the last TCP data packet corresponding to the HTTP frame; or the indication information may be the identification information included in the header of the TCP8 data packet, thereby indicating the TCP8 data.
  • the packet is the last TCP packet corresponding to the HTTP frame.
  • the data portion of the TCP3 packet may include data of TLS frame1 and data of TLS frame2.
  • the data amount of the TCP1 ⁇ TCP7 data packet can be equal to the preset MSS.
  • the data portion of the TCP packet includes only the data of the HTTP frame, and the data portion of the TCP packet may include data of a plurality of TLS frames.
  • the TCP packet corresponding to an HTTP frame includes only one indication information. Compared with the foregoing encapsulation method, the embodiment of the present invention can improve resource utilization and save packaging overhead.
  • the TLS frame when the protocol frame is a TLS frame, the TLS frame may include data type information, and the data type information is used to indicate a data type of the TLS frame.
  • the TLS frame format may be as shown in FIG. 7F.
  • the terminal may add data type information in the ContentType field of the TLS frame, where the data type information is used to indicate the data type of the TLS frame.
  • the embodiment of the present invention may add data type information to the ContentType field of the TLS frame.
  • Text/HTML (24) is data type information indicating that the data type of the TLS frame is HTML text.
  • Text/CSS (25) is data type information indicating that the data type of the TLS frame is CSS text.
  • Text/JS (26) is data type information indicating that the data type of the TLS frame is javascript text.
  • Image/JPEG (27) is data type information indicating that the data type of the TLS frame is a JPEG picture.
  • Application/Video (28) is data type information indicating that the data type of the TLS frame is video.
  • Application/Audio (29) is data type information indicating that the data type of the TLS frame is audio.
  • the data type information may be added in the header of the at least one TCP data packet, where the data type information is used to indicate the data type of the data portion of the TCP data packet.
  • At least one TCP data packet may be sent to the node device.
  • the terminal may receive the TCP data packet sent by the node device, and send the TCP data packet to be sent in the at least one TCP data packet to the node device to send the The acknowledgment sequence number of the TCP packet, and the acknowledgment sequence number is used to indicate that the TCP packet sent by the node device is correctly received.
  • the terminal may send an ACK data packet to the node device, where the data portion of the ACK data packet has a length of 0, and is used to indicate that the terminal correctly receives the node device and sends the data packet. TCP packets, low resource utilization.
  • the TCP data packet to be sent in the at least one TCP data packet may carry the acknowledgement sequence number of the TCP data packet sent by the node device, and the confirmation sequence number is used to indicate that the sequence number is correct.
  • the TCP packet sent by the node device is received.
  • the ACK packet is not sent separately, the TCP packet sent by the node device is correctly received, which improves resource utilization.
  • a protocol frame is encapsulated into at least one TCP data packet, and a last one of the at least one TCP data packet includes indication information indicating the last TCP data packet.
  • a last one of the at least one TCP data packet includes indication information indicating the last TCP data packet.
  • at least one TCP packet is sent to the node device to ensure that the data portion of one TCP packet includes only data of one protocol frame.
  • FIG. 2 is a schematic flowchart of a protocol frame parsing method according to an embodiment of the present invention.
  • the protocol frame parsing method in the embodiment of the present invention may include:
  • the terminal may receive at least one TCP packet that is encapsulated by the node device and encapsulates one protocol frame, and the last TCP packet in the at least one TCP packet includes indication information and indication information. It is used to indicate that the last TCP packet is the last TCP packet corresponding to the protocol frame.
  • the node device may encapsulate a protocol frame into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information, and the node device sends the at least one TCP data packet to the terminal, and the terminal receives the foregoing. At least one TCP packet.
  • the terminal may send a TCP data packet to the node device before receiving the at least one TCP data packet encapsulated by the node device by the node device. Further, after the terminal receives the at least one TCP packet that is encapsulated into a protocol frame sent by the node device, when the received TCP packet carries the acknowledgement sequence number of the TCP packet sent to the node device, the terminal may use the confirmation sequence number. It is determined that the node device correctly receives the TCP packet sent to the node device.
  • the terminal may send a TCP data packet to the node device, where the node device receives the TCP data packet sent by the terminal, and carries the TCP data packet to be sent in the at least one TCP data packet.
  • the terminal may determine, according to the acknowledgement sequence number, that the node device correctly receives the TCP packet sent by the terminal.
  • the terminal may determine, according to the indication information, a starting TCP packet corresponding to the next protocol frame, where the starting TCP packet corresponding to the next protocol frame is the next TCP packet of the last TCP packet corresponding to the protocol frame.
  • the terminal may determine that the next TCP packet is the starting TCP packet corresponding to the next protocol frame. For example, the node device adds a TCP packet after the last TCP packet containing the data corresponding to the protocol frame, wherein the length of the data portion of the added TCP packet is 0, the terminal can determine the next one of the added TCP packet.
  • the TCP packet is the starting TCP packet corresponding to the next protocol frame.
  • the terminal may determine that the next TCP packet is the starting TCP packet corresponding to the next protocol frame. For example, the terminal may determine whether the data volume of each TCP data packet is smaller than a preset MSS. When the data volume of the TCP data packet is less than the preset MSS, the terminal may determine that the next TCP data packet of the TCP data packet corresponds to the next protocol frame. The starting TCP packet.
  • the terminal may determine that the length of the data portion of the next TCP packet is If it is 0, when the length of the data part of the next TCP packet is 0, the terminal can determine that the next TCP packet of the TCP packet whose length of the data part is 0 is the starting TCP packet corresponding to the next protocol frame. Further, when the data volume of the TCP data packet is equal to the preset MSS, the terminal may determine whether the header of each TCP data packet includes the identifier information. When the header of the TCP data packet includes the identifier information, the terminal may determine the TCP data packet. The next TCP packet is the starting TCP packet corresponding to the next protocol frame.
  • the terminal may determine that the next TCP packet is the starting TCP packet corresponding to the next protocol frame. For example, the terminal may determine whether the header of each TCP packet includes the identifier information. When the header of the TCP packet includes the identifier information, the terminal may determine that the next TCP packet of the TCP packet is the starting TCP corresponding to the next protocol frame. data pack.
  • the terminal may receive the notification message sent by the node device according to the indication information, before determining the initial TCP data packet corresponding to the next protocol frame, and obtain the last TCP data packet corresponding to the protocol frame according to the notification message.
  • the terminal receives the notification message sent by the node device, and the notification message is used to indicate that the terminal identifies the boundary of the next protocol frame, and then performs data parsing on the next protocol frame, and the terminal may obtain the last TCP corresponding to the protocol frame according to the notification message.
  • the indication information in the data packet determines the initial TCP data packet corresponding to the next protocol frame according to the indication information, and performs data analysis on the next protocol frame from the start TCP data packet.
  • the terminal can perform data parsing on the next protocol frame from the initial TCP packet. For example, if the terminal determines that the initial TCP packet corresponding to the next protocol frame is the third TCP packet, the terminal may parse the frame header and the payload of the next protocol frame from the third TCP packet, and identify according to the data in the payload.
  • the data type of the next protocol frame may include text, picture, video or audio.
  • the header of the at least one TCP packet may include data type information
  • the terminal may acquire the data type of the data portion of the TCP packet according to the data type information, and thereby obtain the data type of the protocol frame.
  • the protocol frame is blindly parsed through the frame header of the protocol frame, and the data type of the protocol frame cannot be accurately obtained.
  • the embodiment of the present invention obtains the data type of the data part of the TCP data packet according to the data type information, and further acquires the data type of the protocol frame, thereby improving the data. The accuracy of the analysis.
  • the terminal may determine that the next protocol frame is compressed by the static table to implement the header field.
  • the protocol frame can implement header field compression through a static table or a dynamic table.
  • the static table is a commonly used high-frequency header field, which is defined by the protocol and remains unchanged during the transmission of the protocol frame, while the dynamic table is dynamically changed during the transmission process. If the protocol frame is compressed by the dynamic table, and the terminal is the source eNB (evolved base station), the source eNB maintains the dynamic table. When the terminal is switched from the source eNB to the target eNB, the target eNB cannot obtain the dynamic information. The table, in turn, cannot parse the protocol frame. After the embodiment of the present invention determines that the next protocol frame is compressed by the static table, the data is parsed from the initial TCP packet to the next protocol frame, which can improve the data parsing efficiency.
  • each TCP packet corresponding to the next protocol frame belongs to the same HTPP2.0 stream, and the terminal performs data parsing on the next protocol frame from the initial TCP packet, and then performs data processing on the next protocol frame.
  • the data parsing of the protocol frame included in the HTTP2.0 stream is suspended.
  • a picture of a node device is divided into multiple protocol frames, and multiple protocol frames belong to the same HTPP2.0 stream, and the data type of each protocol frame is a picture, and the node device encapsulates each protocol frame into at least one TCP data packet, and After the at least one TCP packet is sent to the terminal, when the terminal parses the data type of one of the protocol frames into a video, the data type of the other protocol frames in the HTPP 2.0 stream is also parsed into a video.
  • the parsing of the protocol frame data fails, the data parsing of other protocol frames included in the HTTP2.0 stream is suspended, which improves the data parsing efficiency.
  • the receiving node device sends at least one TCP packet encapsulated into one protocol frame, and the last TCP packet in the at least one TCP packet includes indication information, according to the indication information, Determining the initial TCP packet corresponding to the next protocol frame, and performing data parsing on the next protocol frame from the initial TCP packet, can effectively identify the boundary of the next protocol frame, so as to implement data parsing for the next protocol frame.
  • FIG. 3 is a schematic flowchart diagram of a protocol frame transmission method according to a second embodiment of the present invention.
  • the first node device performs the base station handover in the process of transmitting the TCP data packet corresponding to the protocol frame to the second node device by using the base station, that is, the first node device sends the TCP data packet to the first base station.
  • the second node device switching to the first node device will The TCP packet is sent to the second node device through the second base station.
  • the second node device When the first node device is a server, the second node device may be a client; when the first node device is a client, the second node device may be a server, which is not limited by the embodiment of the present invention.
  • the protocol frame transmission method in the embodiment of the present invention may include:
  • the first node device encapsulates a protocol frame into at least one TCP data packet, and the data portion of the last TCP data packet in the at least one TCP data packet has a length of zero.
  • the first node device may encapsulate one protocol frame into at least one TCP data packet, and the data portion of the last TCP data packet in the at least one TCP data packet has a length of 0, thereby indicating that the last TCP data packet is the last corresponding to the protocol frame.
  • the protocol frame may be an HTTP frame or a TLS frame, and the data portion of at least one TCP packet includes only data of the protocol frame.
  • the data volume of the protocol frame is 4000 bytes
  • the preset MSS negotiated between the first node device and the third node device is 1460 bytes, and the first node device can encapsulate the protocol frame into three TCP data packets.
  • the length of the data part of the TCP1 data packet is 1460 bytes
  • the length of the data part of the TCP2 data packet is 1460 bytes
  • the length of the data part of the TCP3 data packet is 1080 bytes
  • the length of the data part of the TCP4 data packet is 0. .
  • the first node device may add a TCP packet after the last TCP packet containing the data corresponding to the protocol frame, where the data portion of the added TCP packet has a length of zero.
  • the first node device may receive the TCP data packet sent by the first base station, and further carry the acknowledgement sequence number of the TCP data packet sent by the first base station in the TCP data packet to be sent in the at least one TCP data packet.
  • the acknowledge sequence number is used to indicate that the TCP packet sent by the first base station is correctly received.
  • the first node device After the first node device receives the TCP data packet sent by the first base station, it needs to send an ACK data packet to the first base station, where the ACK data packet is used to indicate that the first node device correctly receives the TCP data sent by the first base station, and the ACK data packet
  • the length of the data part is 0, and after receiving the ACK data packet, the first base station will mistake the ACK data packet as the last TCP data packet corresponding to the protocol frame.
  • the embodiment of the present invention may be at least one TCP.
  • the TCP packet to be sent in the data packet carries the acknowledgement sequence number of the TCP packet sent by the first base station, and the acknowledge sequence number is used to indicate that the TCP packet sent by the first base station is correctly received.
  • the first node device may add the acknowledgement sequence number of the TCP data packet sent by the first base station to the 32-bit acknowledgement sequence number of the TCP1 data packet, and the first base station After receiving the TCP1 data packet, the first node device can correctly receive the TCP data packet sent by the first base station according to the added acknowledgement sequence number.
  • the second node device may send a notification message for the last TCP packet in the at least one TCP data packet.
  • the indication information is used to indicate that the last TCP data packet is the last TCP data packet corresponding to the protocol frame.
  • the first node device may expand the set frame, and add a field “ENABLE_FRAME_TCP_ENCAP 0x71” in the set frame.
  • the second node device may The field determines the encapsulation mode of the first node device, and further encapsulates the protocol frame to be sent to the first node device into at least one TCP data packet by using the foregoing encapsulation manner, and the last TCP data packet in the at least one TCP data packet includes indication information.
  • the indication information is used to indicate that the last TCP packet is the last TCP packet corresponding to the protocol frame.
  • the HTTP2.0 frame may include a HEADERS (header field) and a DATA (data field), and the header information of the HTTP 1.1 frame is encapsulated in a header field, and the first node device may be in the The HTTP2.0 header field (that is, the header field) adds the field "TCP-Encapsulation: frame", and sends the HTTP frame of the added field to the second node device. After the second node device receives the HTTP frame of the added field, it is to be sent.
  • the HTTP2.0 header field of the HTTP frame is added to the above field, and the HTTP frame to be sent of the added field is sent to the first node device, and the first node device and the second node device negotiate to obtain the protocol frame by using the foregoing encapsulation manner.
  • the protocol frame is further encapsulated into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information indicating that the last TCP data packet is the last TCP data packet corresponding to the protocol frame.
  • the header of at least one TCP packet may include data type information, the data type information being used to indicate the data type of the data portion of the TCP packet.
  • the first node device may add data type information in an option field of a TCP packet containing data, and the data type information is used to indicate a data class of a data portion of the TCP packet. type.
  • the data type of the data part of the TCP packet may be represented by a multi-bit byte set by negotiation.
  • the data type information may be 0001, which is used to indicate that the data type of the data part of the TCP packet is text or html.
  • the text type information may be 0010, which is used to indicate that the data type of the data part of the TCP data packet is image or jpeg, that is, a picture; the data type information may be 0011, and is used to indicate that the data type of the data part of the TCP data packet is Video or mp4, which is audio.
  • the TLS frame format may be as shown in FIG. 7F, and the first node device may add data type information in the ContentType field of the TLS frame, where the data type information is used to indicate the TLS frame. type of data. Further, when the first node device encapsulates the TLS frame into at least one TCP data packet, the data type information may be added in the header of the at least one TCP data packet, where the data type information is used to indicate the data type of the data portion of the TCP data packet.
  • the first node device sends at least one TCP data packet to the first base station.
  • the first node device may transmit at least one TCP data packet to the first base station.
  • the first node device can transmit the TCP1 data packet to the first base station.
  • the first base station sends the at least one TCP data packet to the second node device.
  • the first base station may send the at least one TCP data packet sent by the first node device to the second node device.
  • the first base station can transmit the TCP1 data packet to the second node device.
  • the first base station After the first base station sends the TCP1 data packet to the second node device, it performs handover with the second base station.
  • the second node device moves from one cell to another, the transmission signal of the first base station covers the first cell, and the transmission signal of the second base station covers the second cell.
  • the second node device and the second node The link between the base stations is switched to the link between the second node device and the second base station.
  • the second node device switches from one radio channel to another in the same cell to avoid co-channel interference, that is, the link between the second node device and the first base station is switched to the second node device and the second device. The link between base stations.
  • the first node device sends at least one TCP data packet to the second base station.
  • the first node device may send the at least one TCP data packet to the second base station. For example, after the first node device sends the TCP1 data packet to the first base station, the TCP2 data packet, the TCP3 data packet, and the TCP4 data packet may be sent to the second base station.
  • the header of the last TCP packet corresponding to the protocol frame may include a sending sequence number and an acknowledgement sequence number, where the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the next protocol frame, and the confirming sequence number is based on The received data sent by the second base station is confirmed.
  • the sending sequence number of the TCP packet is the sum of the sending sequence number of the previous TCP packet and the length of the data portion of the previous TCP packet.
  • the transmission sequence number of the TCP4 data packet is the sum of the transmission sequence number of the TCP3 data packet and the data portion of the TCP3 data packet.
  • the length of the data portion of the TCP4 data packet is 0, and the transmission sequence number of the TCP5 data packet is the transmission of the TCP4 data packet.
  • Serial number That is, a TCP packet is added after the last TCP packet containing the data corresponding to the first protocol frame, and the transmission sequence number of the added TCP packet is the same as the transmission sequence number of the initial TCP packet corresponding to the next protocol frame.
  • the second base station after the first node device sends the TCP2 data packet to the second base station, the second base station returns an acknowledgement sequence number of the TCP2 data packet to the first node device, to indicate that the second base station correctly receives the TCP2 data packet, and the first node device
  • the acknowledgment sequence number of the TCP3 data packet is generated, wherein the acknowledgment sequence number of the TCP3 data packet is obtained by adding the acknowledgment sequence number of the TCP2 data packet. That is, a TCP packet is added after the last TCP packet containing the data corresponding to the first protocol frame, and the acknowledged sequence number of the added TCP packet is confirmed according to the data sent by the received second base station.
  • the notification message may be sent to the second base station, where the notification message is used for the last TCP data packet in the at least one TCP data packet.
  • the indication information is used to indicate that the last TCP data packet is the last TCP data packet corresponding to the protocol frame, so that the second base station acquires the TCP data packet with the length of the data portion of 0 according to the notification message.
  • the second base station determines that the next TCP packet of the TCP packet whose length is 0 in the data part is the starting TCP packet corresponding to the next protocol frame.
  • the second base station may determine whether there is a TCP packet with a length of 0 in the data portion. When there is a TCP packet with a length of 0 in the data portion, the next packet will be next.
  • the TCP packet is determined as the starting TCP packet corresponding to the next protocol frame. For example, if the second base station determines that the length of the data portion of the TCP4 data packet is 0, the second base station may determine that the TCP5 data packet is the initial TCP data packet corresponding to the second protocol frame.
  • the first node device may send a notification message to the second base station, and notify the message.
  • the last TCP packet in the at least one TCP packet includes indication information indicating that the last TCP packet is the last TCP packet corresponding to the protocol frame.
  • the second base station may learn the protocol frame encapsulation mode of the first node device, and then obtain the indication information in the last TCP data packet corresponding to the protocol frame according to the notification message, and determine according to the indication information.
  • the next TCP packet of the TCP packet whose length is 0 in the data portion is the starting TCP packet corresponding to the next protocol frame.
  • the second base station performs data parsing on the next protocol frame from the start of the TCP packet.
  • the second base station After the second base station determines the initial TCP data packet corresponding to the next protocol frame, data analysis can be performed on the next protocol frame from the start TCP data packet. For example, the second base station may parse the frame header and the payload of the second protocol frame from the TCP5 data packet, and identify the data type of the second protocol frame according to the data in the payload.
  • the header of the at least one TCP packet may include data type information
  • the second base station may acquire the data type of the data part of the TCP packet according to the data type information, and obtain the data type of the next protocol frame.
  • the second base station before the second base station performs data parsing on the next protocol frame from the initial TCP packet, it may be determined that the next protocol frame is compressed by the static table to implement the header field.
  • the first base station if the protocol frame is compressed by the dynamic table, the first base station maintains the dynamic table. When the first base station switches to the second base station, the second base station cannot obtain the dynamic table, and thus cannot The next protocol frame is used for data parsing.
  • the data is parsed for the next protocol frame, thereby improving data analysis efficiency.
  • each TCP packet corresponding to the next protocol frame belongs to the same HTPP2.0 stream, and then the second base station performs data parsing on the next protocol frame from the start TCP packet, and then on the next protocol.
  • the frame data parsing fails, the data parsing of the protocol frame included in the HTTP2.0 stream is suspended.
  • the second node device divides a picture into multiple protocol frames, and multiple protocol frames belong to the same HTPP2.0 stream, and the data type of each protocol frame is a picture
  • the first node device encapsulates each protocol frame into at least one
  • the second base station parses the data type of one of the protocol frames into a video
  • the data of the other protocol frames in the HTPP 2.0 stream is also The type is parsed into a video, and the embodiment of the present invention is in the protocol frame.
  • data parsing fails, data parsing of other protocol frames included in the HTTP2.0 stream is suspended, which improves data parsing efficiency.
  • the second base station sends the data parsed TCP data packet to the second node device.
  • the first node device encapsulates a protocol frame into at least one TCP data packet, and the data portion of the last TCP data packet in the at least one TCP data packet has a length of 0, first.
  • the first node device sends at least one TCP data packet to the second base station, and the second base station determines that the next TCP data packet of the TCP data packet whose length is 0 is the next protocol.
  • the initial TCP packet corresponding to the frame, and then the data analysis of the next protocol frame is started from the initial TCP packet, and the TCP packet parsed by the data is sent to the second node device to ensure the data of a TCP packet.
  • the part only includes data of one protocol frame, so that the second base station can effectively identify the boundary of the next protocol frame to implement data parsing for the next protocol frame.
  • FIG. 4 is a schematic flowchart diagram of a protocol frame transmission method according to a third embodiment of the present invention.
  • the management terminal inserts the protocol frame into the third node device through the first node device, inserts the second node device in real time, and the second node device parses the TCP data packet sent by the first node device. And sending the parsed TCP packet to the third node device.
  • the second node device may be a router, a packet gateway node, or a serving gateway node.
  • the first node device When the management terminal is a server, the first node device may be a proxy server, and the third node device may be a client; when the management terminal is a client, the first node device may be a proxy client, and the second node device may be a server. It is not specifically limited by the embodiments of the present invention.
  • the protocol frame transmission method in the embodiment of the present invention may include:
  • the management terminal sends a protocol frame to the first node device, where the protocol frame includes terminal identification information.
  • the management terminal may send a protocol frame to the first node device, where the protocol frame includes terminal identification information, where the terminal identification information is used to send the at least one TCP data packet corresponding to the protocol frame to the node device corresponding to the terminal identification information, that is, the third node device. .
  • the first node device encapsulates a protocol frame into at least one TCP data packet, and the data portion of the last TCP data packet in the at least one TCP data packet has a length of zero.
  • the first node device sends at least one TCP data packet to the third node device.
  • the first node device may send the at least one TCP data packet to the third node device.
  • the first node device can send the TCP1 data packet to the third node device.
  • the first node device sends the at least one TCP data packet to the second node device.
  • the second node device having the data analysis requirement is inserted in real time, and the first node device sends the TCP2 data packet, the TCP3 data packet, and the TCP4 data packet to the first node device.
  • Two-node device Two-node device.
  • the header of the last TCP packet corresponding to the protocol frame may include a sending sequence number and an acknowledgment sequence number, where the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the next protocol frame, and the sequence number and the last are confirmed.
  • the confirmation number of the previous packet of a TCP packet is the same.
  • the sending sequence number of the TCP packet is the sum of the sending sequence number of the previous TCP packet and the length of the data portion of the previous TCP packet.
  • the transmission sequence number of the TCP4 data packet is the sum of the transmission sequence number of the TCP3 data packet and the data portion of the TCP3 data packet.
  • the length of the data portion of the TCP4 data packet is 0, and the transmission sequence number of the TCP5 data packet is the transmission of the TCP4 data packet.
  • Serial number That is, a TCP packet is added after the last TCP packet containing the data corresponding to the first protocol frame, and the transmission sequence number of the added TCP packet is the same as the transmission sequence number of the initial TCP packet corresponding to the next protocol frame.
  • the first node device is a proxy client or a proxy server, and the first node device sends a TCP data packet to the second node device, and after receiving the TCP data packet, the second node device sends the acknowledgement sequence number of the TCP data packet to The management terminal, the first node device cannot confirm whether the second node device receives the TCP data packet. Then, a TCP packet is added after the last TCP packet containing the data corresponding to the first protocol frame, and the confirmed sequence number of the added TCP packet is the same as the confirmation sequence number of the last TCP packet containing the data.
  • the second node device determines that the next TCP packet of the TCP packet whose length is 0 in the data part is the starting TCP packet corresponding to the next protocol frame.
  • the second node device performs data parsing on the next protocol frame from the start of the TCP packet.
  • the second node device sends the data parsed TCP data packet to the third node device.
  • the first node device sends a protocol sent by the management terminal.
  • the conference frame is encapsulated into at least one TCP data packet, and the data portion of the last TCP data packet in the at least one TCP data packet has a length of 0, and the first node device sends at least one TCP data packet to the second node device, and the second node
  • the device determines that the next TCP packet of the TCP packet whose length is 0 in the data portion is the starting TCP packet corresponding to the next protocol frame, and then performs data parsing on the next protocol frame from the start TCP packet, and
  • the data parsed TCP packet is sent to the third node device to ensure that the data portion of one TCP packet includes only data of one protocol frame, so that the second node device can effectively identify the boundary of the next protocol frame to implement the next Data parsing of protocol frames.
  • FIG. 5 is a schematic flowchart of a method for transmitting a protocol frame according to a fourth embodiment of the present invention.
  • the method for transmitting a protocol frame in the embodiment of the present invention may include:
  • the first node device encapsulates a protocol frame into at least one TCP data packet, and the data volume of the last TCP data packet in the at least one TCP data packet is smaller than a preset MSS.
  • the first node device may encapsulate a protocol frame into at least one TCP data packet, and the data volume of the last TCP data packet in the at least one TCP data packet is smaller than the preset MSS, thereby indicating that the last TCP data packet is the last corresponding to the protocol frame.
  • a TCP packet For example, the data volume of the protocol frame is 4000 bytes, and the preset MSS negotiated between the first node device and the third node device is 1460 bytes, and the first node device can encapsulate the protocol frame into three TCP data packets.
  • the data portion of the TCP1 packet has a length of 1460 bytes
  • the data portion of the TCP2 packet has a length of 1460 bytes
  • the data portion of the TCP3 packet has a length of 1080 bytes.
  • the first node device sends the at least one TCP data packet to the third node device.
  • the first node device sends the at least one TCP data packet to the second node device.
  • the second node device determines that the next TCP packet whose data volume is smaller than the TCP packet of the preset MSS is the starting TCP packet corresponding to the next protocol frame.
  • the second node device performs data parsing on the next protocol frame from the start of the TCP packet.
  • the second node device sends the data parsed TCP data packet to the third node device.
  • the first node device encapsulates one protocol frame into at least one TCP data packet, and the data amount of the last TCP data packet in at least one TCP data packet is small.
  • the first node device sends at least one TCP data packet to the second node device, and the second node device determines that the next TCP packet whose data amount is smaller than the TCP packet of the preset MSS is the next protocol frame.
  • Start the TCP packet and then parse the data from the initial TCP packet to the next protocol frame, and send the parsed TCP packet to the third node device to ensure that the data portion of a TCP packet is only included.
  • the data of a protocol frame so that the second node device can effectively identify the boundary of the next protocol frame to implement data parsing for the next protocol frame.
  • FIG. 6 is a schematic flowchart of a method for transmitting a protocol frame according to a fifth embodiment of the present invention.
  • the method for transmitting a protocol frame in the embodiment of the present invention may include:
  • the first node device encapsulates a protocol frame into at least one TCP data packet, and the header of the last TCP data packet in the at least one TCP data packet includes the identifier information.
  • the first node device may encapsulate a protocol frame into at least one TCP data packet, and the header of the last TCP data packet in the at least one TCP data packet includes identification information, thereby indicating that the last TCP data packet is the last TCP corresponding to the protocol frame. data pack.
  • the data volume of the protocol frame is 4000 bytes
  • the preset MSS negotiated between the first node device and the third node device is 1460 bytes, and the first node device can encapsulate the protocol frame into three TCP data packets.
  • the length of the data part of the TCP1 data packet is 1460 bytes
  • the length of the data part of the TCP2 data packet is 1460 bytes
  • the length of the data part of the TCP3 data packet is 1080 bytes
  • the header of the first node device in the TCP3 data packet Increase the identification information.
  • the first node device may add identifier information in an option field of a last TCP packet corresponding to the protocol frame, thereby indicating that the TCP packet is the last TCP packet corresponding to the protocol frame.
  • the first node device sends the at least one TCP data packet to the third node device.
  • the first node device sends the at least one TCP data packet to the second node device.
  • the second node device determines that the next TCP packet of the TCP packet including the identifier information is the starting TCP packet corresponding to the next protocol frame.
  • the second node device performs data parsing on the next protocol frame from the start of the TCP packet.
  • the second node device sends the data parsed TCP data packet to the third node device.
  • the first node device encapsulates a protocol frame into at least one TCP data packet, and the header of the last TCP data packet in the at least one TCP data packet includes identification information, and the first node device Transmitting at least one TCP data packet to the second node device, where the second node device determines that the next TCP data packet of the TCP data packet including the identification information is the initial TCP data packet corresponding to the next protocol frame, and further starts from the TCP
  • the data packet begins to parse the data of the next protocol frame, and sends the parsed TCP data packet to the third node device, which ensures that the data portion of one TCP data packet only includes data of one protocol frame, so that the second node device The boundary of the next protocol frame is effectively identified to implement data parsing for the next protocol frame.
  • the embodiment of the present invention further provides a computer storage medium, wherein the computer storage medium may store a program, where the program is executed, including the method embodiment shown in FIG. 1, FIG. 3 to FIG. 6 or FIG. Some or all of the steps.
  • the embodiment of the present invention further provides a computer storage medium, wherein the computer storage medium can store a program, and the program includes some or all of the method embodiments shown in FIG. 2 to FIG. 6 or FIG. 14 when executed. step.
  • FIG. 8 is a schematic structural diagram of a protocol frame transmission apparatus according to an embodiment of the present invention.
  • the protocol frame transmission apparatus may be used to implement the method embodiment shown in FIG. 1 or FIG. 3 to FIG.
  • the protocol frame transmission device may at least include a packaging unit 801 and a sending unit 802, where:
  • the encapsulating unit 801 is configured to encapsulate a protocol frame into at least one TCP data packet, where a last one of the at least one TCP data packet may include indication information, where the indication information may be used to indicate that the last TCP data packet is a protocol frame. Corresponding to the last TCP packet.
  • the sending unit 802 is configured to send at least one TCP data packet to the node device.
  • the data portion of the last TCP packet may be 0 in length, thereby indicating that the last TCP packet is the last TCP packet corresponding to the protocol frame.
  • the header of the last TCP packet may include a sending sequence number and an acknowledgment sequence number, wherein the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the next protocol frame, The confirmation sequence number is confirmed based on the data sent by the receiving node device.
  • the header of the last TCP packet may include a sending sequence number and an acknowledgment sequence number, wherein the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the next protocol frame, and the acknowledgment sequence number and the last TCP packet are The confirmation number of the previous packet is the same.
  • protocol frame transmission apparatus in the embodiment of the present invention may further include:
  • the obtaining unit 803 is configured to: before the encapsulating unit 801 encapsulates the protocol frame into the at least one TCP data packet, obtain the protocol frame sent by the management terminal, where the protocol frame may include the terminal identifier information, where the terminal identifier information may be used to indicate that the protocol frame is corresponding to the protocol frame. At least one TCP data packet is sent to the node device corresponding to the terminal identification information.
  • the encapsulating unit 801 is configured to add a TCP packet after the last TCP packet containing the data, when the data volume of the last TCP packet containing the data corresponding to the protocol frame is equal to the preset MSS, where The length of the data portion of the added TCP packet may be zero.
  • the encapsulating unit 801 is configured to: when the data volume of the last TCP packet containing the data corresponding to the protocol frame is smaller than the preset MSS, the last TCP packet containing the data includes only the data of the protocol frame.
  • the indication information may be the amount of data of the last TCP packet containing the data.
  • the indication information may be identification information contained in a header of the last TCP packet.
  • the data portion of at least one TCP packet includes only data for the protocol frame.
  • the protocol frame transmission apparatus in the embodiment of the present invention may further include:
  • the receiving unit 804 is configured to receive a TCP packet sent by the node device.
  • the encapsulating unit 801 is configured to carry, in the TCP packet to be sent in the at least one TCP packet, an acknowledgment sequence number of the TCP packet sent by the node device, where the acknowledgment sequence number may be used to indicate that the TCP packet sent by the node device is correctly received. .
  • the sending unit 802 is further configured to: before the encapsulating unit 801 encapsulates the protocol frame into the at least one TCP data packet, send a notification message to the node device, where the notification message may be used in the at least one TCP data packet.
  • the last TCP packet includes indication information that can be used to indicate that the last TCP packet is the last TCP packet corresponding to the protocol frame.
  • the notification information may be carried in an HTTP 2.0 header field of the protocol frame or HTTP 2.0. Set the frame.
  • the header of the at least one TCP packet may include data type information, wherein the data type information may be used to indicate the data type of the data portion of the TCP packet.
  • the protocol frame may be a TLS frame or an HTTP frame.
  • the encapsulating unit 801 is configured to encapsulate the HTTP frame into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the HTTP frame. And encapsulating all TLS frames in the at least one TLS frame into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information indicating that the last TCP data packet is an HTTP frame corresponding to the HTTP data packet The last TCP packet.
  • the encapsulating unit 801 is configured to encapsulate the HTTP frame into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the HTTP frame. And respectively, each TLS frame is encapsulated into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information, and the indication information is used to indicate that the last TCP data packet is the last TCP data corresponding to the TLS frame. package.
  • the TLS frame when the protocol frame is a TLS frame, the TLS frame includes data type information, and the data type information is used to indicate a data type of the TLS frame.
  • the protocol frame transmission apparatus in the embodiment of the present invention may further include:
  • the compressing unit 805 is configured to compress the protocol frame into at least one compressed packet before the encapsulating unit encapsulates the protocol frame into the at least one TCP packet, where the at least one compressed packet includes only the protocol frame.
  • the encapsulating unit 801 encapsulates a protocol frame into at least one TCP packet, and the last TCP packet in the at least one TCP packet includes indication information indicating the last one.
  • the TCP packet is the last TCP packet corresponding to the protocol frame, and the sending unit 802 transmits at least one TCP packet to the node device, which ensures that the data portion of one TCP packet includes only data of one protocol frame.
  • FIG. 9 is a schematic structural diagram of a node device according to a first embodiment of the present invention.
  • the node device provided in the embodiment of the present invention may be used to implement the foregoing invention shown in FIG. 1 or FIG. 3 to FIG.
  • the method implemented by each embodiment for the convenience of description, only the parts related to the embodiment of the present invention are shown.
  • the node device includes at least one processor 901, such as a CPU, at least one network interface 903 memory 904, and at least one communication bus 902.
  • the communication bus 902 is used to implement connection communication between these components.
  • the network interface 903 can optionally include a standard wired interface and a wireless interface (such as a WI-FI interface) for communicating with an external network.
  • the memory 904 may include a high speed RAM memory, and may also include a non-volatile memory such as at least one disk memory.
  • the memory 904 can optionally include at least one storage device located remotely from the aforementioned processor 901.
  • the processor 901 can be combined with the protocol frame transmission device shown in FIG. A set of program codes is stored in the memory 904, and the processor 901 calls the program code stored in the memory 904 for performing the following operations:
  • TCP Transmission Control Protocol
  • At least one TCP data packet is transmitted to the node device through the network interface 903.
  • the data portion of the last TCP packet may be 0 in length, thereby indicating that the last TCP packet is the last TCP packet corresponding to the protocol frame.
  • the header of the last TCP packet may include a sending sequence number and an acknowledgment sequence number, wherein the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the next protocol frame, and the acknowledgment sequence number is sent according to the received node device. The data is confirmed.
  • the header of the last TCP packet may include a sending sequence number and an acknowledgment sequence number, wherein the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the next protocol frame, and the acknowledgment sequence number and the last TCP packet are The confirmation number of the previous packet is the same.
  • processor 901 encapsulates a protocol frame into at least one TCP packet, the following operations may be performed:
  • the protocol frame sent by the management terminal may include the terminal identification information, where the terminal identification information may be used to send the at least one TCP data packet corresponding to the protocol frame to the node device corresponding to the terminal identification information.
  • the processor 901 encapsulates a protocol frame into at least one TCP packet. Specifically, it can be:
  • a TCP packet is added after the last TCP packet containing the data, wherein the added TCP packet
  • the length of the data portion can be zero.
  • the processor 901 encapsulates a protocol frame into at least one TCP packet, which may be:
  • the last TCP packet containing the data includes only the data of the protocol frame, and the indication information is the data of the last TCP packet containing the data. the amount.
  • the indication information may be identification information contained in a header of the last TCP packet.
  • the data portion of at least one TCP packet includes only data for the protocol frame.
  • the processor 901 sends the at least one TCP data packet to the node device through the network interface 903, the following operations may also be performed:
  • the TCP packet sent by the node device is received through the network interface 903.
  • the processor 901 encapsulates a protocol frame into at least one TCP packet, which may be:
  • the acknowledgment sequence number of the TCP packet sent by the node device is carried in the TCP packet to be sent in the at least one TCP packet, where the acknowledgment sequence number can be used to indicate that the TCP packet sent by the node device is correctly received.
  • the following operations may also be performed:
  • the notification message can be used for the last TCP data packet in the at least one TCP data packet, including indication information, the indication information can be used to indicate that the last TCP data packet is corresponding to the protocol frame.
  • the last TCP packet can be used for the last TCP data packet in the at least one TCP data packet, including indication information, the indication information can be used to indicate that the last TCP data packet is corresponding to the protocol frame.
  • the notification message may be carried in an HTTP 2.0 header field or an HTTP 2.0 setting frame of the protocol frame.
  • the header of at least one TCP packet may include data type information, and the data type information may be used to indicate the data type of the data portion of the TCP packet.
  • the protocol frame may be a TLS frame or an HTTP frame.
  • the processor 901 encapsulates the protocol frame into at least one TCP data packet, which may be:
  • the processor 901 encapsulates the protocol frame into at least one TCP data packet, which may be:
  • Each TLS frame is encapsulated into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information indicating that the last TCP data packet is the last TCP data packet corresponding to the TLS frame.
  • the TLS frame when the protocol frame is a TLS frame, the TLS frame includes data type information, and the data type information is used to indicate a data type of the TLS frame.
  • the following operations may also be performed:
  • the protocol frame is compressed into at least one compressed packet, and at least one compressed packet includes only protocol frames.
  • the terminal introduced in the embodiment of the present invention may be used to implement some or all of the processes in the method embodiments introduced in conjunction with FIG. 1 or FIG. 3 to FIG.
  • FIG. 10 is a schematic structural diagram of a protocol frame parsing apparatus according to an embodiment of the present invention.
  • the protocol frame parsing apparatus may be used to implement the part in the method embodiment shown in FIG. 2 to FIG. Or all the steps, the protocol frame parsing apparatus may at least include a receiving unit 1001, a determining unit 1002, and a parsing unit 1003, where:
  • the receiving unit 1001 is configured to receive, by the node device, at least one TCP packet that encapsulates a protocol frame, where the last TCP packet in the at least one TCP packet may include indication information, where the indication information may be used to indicate the last A TCP packet is the most corresponding to the protocol frame. After a TCP packet.
  • the determining unit 1002 is configured to determine, according to the indication information, a starting TCP data packet corresponding to the next protocol frame.
  • the parsing unit 1003 is configured to perform data parsing on the next protocol frame from the start of the TCP packet.
  • the determining unit 1002 is configured to determine, when the length of the data portion of the last TCP packet is 0, that the next TCP packet is the starting TCP packet corresponding to the next protocol frame.
  • the determining unit 1002 is configured to determine that the next TCP data packet is the starting TCP data packet corresponding to the next protocol frame when the data volume of the last TCP data packet is less than the preset MSS.
  • the determining unit 1002 is configured to determine, when the header of the last TCP packet includes the identifier information, that the next TCP packet is the starting TCP packet corresponding to the next protocol frame.
  • protocol frame parsing apparatus in the embodiment of the present invention may further include:
  • the sending unit 1004 is configured to send the TCP data packet to the node device before the receiving unit 1001 receives the at least one TCP data packet sent by the node device.
  • the determining unit 1002 is further configured to: when the received TCP data packet carries the acknowledgement sequence number of the TCP data packet sent to the node device, determine, according to the acknowledgement sequence number, that the node device correctly receives the TCP data packet sent to the node device.
  • the receiving unit 1001 is further configured to determine, by the determining unit 1002, the notification message sent by the node device before determining the initial TCP data packet corresponding to the next protocol frame according to the indication information.
  • protocol frame parsing apparatus in the embodiment of the present invention may further include:
  • the obtaining unit 1005 is configured to obtain, according to the notification information, the indication information in the last TCP data packet corresponding to the protocol frame.
  • the header of the at least one TCP packet may include data type information
  • the parsing unit 1003 is configured to acquire, according to the data type information, a data type of the data portion of the TCP packet.
  • the determining unit 1002 is further configured to: before the parsing unit 1003 performs data parsing on the next protocol frame from the initial TCP packet, determine that the next protocol frame is compressed by the static table to implement the header field.
  • the respective protocol data transmission device in the embodiment of the present invention may further include:
  • the control unit 1006 is configured to: after the parsing unit 1003 performs data parsing on the next protocol frame from the start of the TCP packet, when the parsing of the next protocol frame data fails, the data parsing of the protocol frame included in the HTTP2.0 stream is suspended. .
  • the receiving unit 1001 receives at least one TCP packet that is encapsulated by a node device and encapsulates one protocol frame, and the last TCP packet in the at least one TCP packet includes indication information, indicating The information is used to indicate that the last TCP data packet is the last TCP data packet corresponding to the protocol frame, and the determining unit 1002 determines the initial TCP data packet corresponding to the next protocol frame according to the indication information, and the parsing unit 1003 starts from the initial TCP data packet.
  • the next protocol frame performs data parsing, which can effectively identify the boundary of the next protocol frame to implement data parsing for the next protocol frame.
  • FIG. 11 is a schematic structural diagram of a node device according to a second embodiment of the present invention.
  • the node device provided in the embodiment of the present invention may be used to implement the foregoing embodiments of the present invention shown in FIG. 2 to FIG.
  • FIG. 2 to FIG. For the convenience of the description, only the parts related to the embodiments of the present invention are shown. The specific technical details are not disclosed. Please refer to the embodiments of the present invention shown in FIG. 2 to FIG.
  • the terminal device includes at least one processor 1101, such as a CPU, at least one network interface 1103, a memory 1104, and at least one communication bus 1102.
  • the communication bus 1102 is used to implement connection communication between these components.
  • the network interface 1103 can optionally include a standard wired interface and a wireless interface (such as a WI-FI interface) for communicating with an external network.
  • the memory 1104 may include a high speed RAM memory, and may also include a non-unstable memory such as at least one disk memory.
  • the memory 1104 can optionally include at least one storage device located remotely from the aforementioned processor 1101.
  • the processor 1101 can be combined with the protocol frame parsing apparatus shown in FIG. A set of program codes is stored in the memory 1104, and the processor 1101 calls the program code stored in the memory 1104 for performing the following operations:
  • At least one TCP packet that is encapsulated into a protocol frame and sent by the node device where the last TCP packet in the at least one TCP packet may include indication information, where the indication information may be used to indicate the last TCP
  • the data packet is the last TCP packet corresponding to the protocol frame.
  • the initial TCP packet corresponding to the next protocol frame is determined.
  • Data analysis is performed on the next protocol frame from the start of the TCP packet.
  • the processor 1101 determines, according to the indication information, a starting TCP packet corresponding to the next protocol frame, which may be specifically:
  • the next TCP packet is the starting TCP packet corresponding to the next protocol frame.
  • the processor 1101 determines, according to the indication information, a starting TCP packet corresponding to the next protocol frame, which may be specifically:
  • the next TCP packet is the starting TCP packet corresponding to the next protocol frame.
  • the processor 1101 determines, according to the indication information, a starting TCP packet corresponding to the next protocol frame, which may be specifically:
  • the next TCP packet is the starting TCP packet corresponding to the next protocol frame.
  • the processor 1101 may also perform the following operations:
  • a TCP packet is sent to the node device through the network interface 1103.
  • the processor 1101 may also perform the following operations:
  • the node device When the received TCP packet carries the acknowledgment sequence number of the TCP packet sent to the node device, it is determined that the node device correctly receives the TCP packet sent to the node device according to the acknowledgment sequence number.
  • the processor 1101 may perform the following operations before determining the start TCP packet corresponding to the next protocol frame according to the indication information:
  • the notification message sent by the node device is received through the network interface 1103.
  • the indication information in the last TCP packet corresponding to the protocol frame is obtained.
  • the header of the at least one TCP packet may include data type information, and the processor 1101 performs data parsing on the next protocol frame from the start of the TCP packet, which may be:
  • the data type of the data part of the TCP packet is obtained.
  • the processor 1101 may perform the following operations before the data is parsed from the initial TCP packet to the next protocol frame:
  • each TCP packet corresponding to the next protocol frame belongs to the same HTPP2.0 stream, and after the processor 1101 performs data parsing on the next protocol frame from the start TCP packet, the following operations may also be performed. :
  • the terminal introduced in the embodiment of the present invention may be used to implement some or all of the processes in the method embodiments introduced in conjunction with FIG. 2 to FIG.
  • FIG. 12 is a schematic structural diagram of a protocol frame transmission system according to an embodiment of the present invention.
  • the communication system in the embodiment of the present invention may include at least a protocol frame transmission device 1201 and a protocol frame parsing device. 1202, where:
  • the protocol frame transmission device 1201 is configured to encapsulate a protocol frame into at least one Transmission Control Protocol (TCP) data packet, wherein a last one of the at least one TCP data packet may include indication information, where the indication information may be used to indicate the last one.
  • TCP Transmission Control Protocol
  • the TCP packet is the last TCP packet corresponding to the protocol frame.
  • the protocol frame transmission device 1201 is further configured to send at least one TCP data packet to the protocol frame parsing device 1202.
  • the protocol frame parsing device 1202 is configured to determine, according to the indication information, a starting TCP packet corresponding to the next protocol frame.
  • the protocol frame parsing device 1202 is further configured to perform data parsing on the next protocol frame from the start of the TCP packet.
  • the protocol frame parsing device 1202 is further configured to send the data parsed TCP packet to the node setting. Prepare 1204.
  • the protocol frame parsing means 1202 determines that the next TCP packet is the starting TCP packet corresponding to the next protocol frame.
  • the header of the last TCP packet may include a sending sequence number and an acknowledgment sequence number, wherein the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the next protocol frame, and the acknowledgment sequence number is sent according to the received node device. The data is confirmed.
  • the header of the last TCP packet may include a sending sequence number and an acknowledgment sequence number, wherein the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the next protocol frame, and the acknowledgment sequence number is before the last TCP packet.
  • the confirmation number of a packet is the same.
  • protocol frame transmission device 1201 encapsulates a protocol frame into at least one TCP data packet, the following operations may also be performed:
  • the protocol frame includes terminal identification information, where the terminal identification information is used to send the at least one TCP data packet corresponding to the protocol frame to the node device corresponding to the terminal identification information.
  • the protocol frame transmission device 1201 encapsulates a protocol frame into at least one TCP data packet, which may be:
  • the protocol frame parsing means 1202 can determine that the next TCP packet is the starting TCP packet corresponding to the next protocol frame.
  • the indication information may be the identification information included in the header of the last TCP packet, and when the header of the last TCP packet includes the identification information, the protocol frame parsing device 1202 may determine the next TCP data.
  • the packet is the starting TCP packet corresponding to the next protocol frame.
  • the data portion of at least one TCP packet includes only data for the protocol frame.
  • the following operations may also be performed:
  • the protocol frame transmission device 1201 receives the TCP packet transmitted by the protocol frame parsing device 1202.
  • protocol frame transmission device 1201 encapsulates a protocol frame into at least one TCP data packet, which may be:
  • the TCP data packet to be sent in the at least one TCP data packet carries the acknowledgement sequence number of the TCP data packet sent by the node device, and the acknowledge sequence number is used to indicate that the TCP data packet sent by the node device is correctly received.
  • protocol frame parsing device 1202 receives the at least one TCP packet sent by the protocol frame transmission device 1201, the following operations may also be performed:
  • the protocol frame transmission device 1201 When the received TCP packet carries the acknowledgment sequence number of the TCP packet transmitted to the protocol frame transmission device 1201, it is determined that the protocol frame transmission device 1201 correctly receives the TCP packet transmitted by the protocol frame analysis device 1202 based on the acknowledgment number.
  • the following operations may also be performed:
  • the notification message is used for the last TCP packet in the at least one TCP packet, including indication information indicating that the last TCP packet is the last TCP packet corresponding to the protocol frame.
  • the notification message is carried in an HTTP 2.0 header field or an HTTP 2.0 setting frame of the protocol frame.
  • the protocol frame parsing device 1202 may perform the following operations before determining the start TCP packet corresponding to the next protocol frame according to the indication information:
  • the notification message transmitted by the protocol frame transmission device 1201 is received.
  • the indication information in the last TCP packet corresponding to the protocol frame is obtained.
  • the header of the at least one TCP packet includes data type information, and the data type information is used to indicate the data type of the data portion of the TCP packet, and the protocol frame parsing device 1202 starts from the initial TCP packet.
  • a protocol frame performs data parsing, which can be:
  • the data type of the data part of the TCP packet is obtained.
  • the protocol frame is a TLS frame or an HTTP frame.
  • the protocol frame parsing device 1202 may perform the following operations before the data is parsed from the initial TCP packet to the next protocol frame:
  • each TCP packet corresponding to the next protocol frame belongs to the same HTPP2.0 stream, and the protocol frame parsing device 1202 may perform the data parsing of the next protocol frame after starting the TCP packet. The following operations:
  • the following operations may also be performed:
  • the protocol frame is compressed into at least one compressed packet, and at least one compressed packet includes only protocol frames.
  • the protocol frame transmission device 1201 encapsulates a protocol frame into at least one transmission control protocol TCP packet, and the last TCP packet in the at least one TCP packet includes indication information indicating information. For indicating that the last TCP packet is the last TCP packet corresponding to the protocol frame, the protocol frame transmission device 1201 sends at least one TCP packet to the protocol frame parsing device 1202, and the protocol frame parsing device 1202 determines the next protocol according to the indication information.
  • the initial TCP packet corresponding to the frame, and then data parsing of the next protocol frame from the initial TCP packet ensures that the data portion of one TCP packet includes only data of one protocol frame, so that the protocol frame parsing device 1202 is valid.
  • the boundary of the next protocol frame is identified to implement data parsing for the next protocol frame.
  • FIG. 13 is a schematic flowchart of a data transmission method according to a first embodiment of the present invention.
  • the data transmission method in the embodiment of the present invention may include:
  • S1301 Encapsulate object data of one URI into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information, where the indication information is used to indicate that the last TCP data packet is the last TCP corresponding to the object data. data pack.
  • the terminal may encapsulate the object data of a URI (Uniform Resource Identifier) into at least one TCP packet, and the last one of the at least one TCP packet.
  • the TCP packet includes indication information indicating that the last TCP packet is the last TCP packet corresponding to the object data.
  • the data volume of the first object data and the second object data are both 3000 bytes, and the preset MSS negotiated between the terminal and the node device is 1460 bytes, and the terminal can encapsulate the first object data into three TCP data.
  • the length of the data portion of the first TCP packet is 1460 bytes
  • the length of the data portion of the second TCP packet is 1460 bytes
  • the length of the data portion of the third TCP packet is 80 bytes, of which the third
  • the TCP packet includes indication information for indicating that the third TCP packet is the last TCP packet corresponding to the first object data.
  • the terminal can encapsulate the second object data into three TCP data packets, the data portion of the fourth TCP data packet has a length of 1460 bytes, and the data portion of the fifth TCP data packet has a length of 1460 bytes, and a sixth The data portion of the TCP packet has a length of 80 bytes, wherein the sixth TCP packet includes indication information indicating that the sixth TCP packet is the last TCP packet corresponding to the second object data.
  • the object data may be HTTP 1.1 data or HTTP 1.0 data, and the object data is used to indicate a resource identified by the URI, and the resource may be text, image, video, or audio.
  • the URI may be: www.ottserver.com/picture.JPG, and the resource identified by the URI is a picture, that is, the object data is a picture.
  • the data portion of at least one TCP packet includes only object data.
  • the terminal encapsulates the first object data into a first TCP data packet and a second TCP data packet, wherein the data portion of the first TCP data packet includes only the first object data, and the data portion of the second TCP data packet includes only the first data packet Object data.
  • the terminal encapsulates the second object data into a third TCP data packet and a fourth TCP data packet, wherein the data portion of the third TCP data packet includes only the second object data, and the data portion of the fourth TCP data packet includes only the first Two object data.
  • the length of the data portion of the last TCP packet may be zero, indicating that the last TCP packet is the last TCP packet corresponding to the object data.
  • the data volume of the first object data is 2000 bytes
  • the preset MSS negotiated between the terminal and the node device is 1460 bytes
  • the terminal may encapsulate the first object data into the first TCP data packet and the second TCP data packet.
  • a third TCP packet wherein the data portion of the first TCP packet has a length of 1460 bytes, the data portion of the second TCP packet has a length of 540 bytes, and the data portion of the third TCP packet has a length of 0. , thereby indicating that the third TCP packet is the last TCP corresponding to the first object data data pack.
  • the header of the last TCP packet may include a sending sequence number and an acknowledgement sequence number, wherein the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the object data of the next URI, and the confirming sequence number is based on the received node device. The data sent is confirmed.
  • the header of the last TCP packet may include a sending sequence number and an acknowledgment sequence number, wherein the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the object data of the next URI, and the acknowledgment sequence number and the last TCP packet are confirmed.
  • the confirmation number of the previous packet is the same.
  • the terminal may obtain object data sent by the management terminal before the terminal encapsulates the object data of the URI into at least one TCP data packet, where the object data may include terminal identification information, where the terminal identifier information is used to indicate that the object data corresponds to at least A TCP packet is sent to the node device corresponding to the terminal identification information.
  • the terminal may add a TCP packet after the last TCP packet containing the data, wherein the length of the data portion of the added TCP packet is 0.
  • the terminal may add a TCP packet after the last TCP packet containing the data, where the data of the added TCP packet is added.
  • the length of the part is 0.
  • the terminal may add a TCP packet after the last TCP packet containing the data, where the added TCP packet is The length of the data portion is 0.
  • the last TCP packet containing the data when the data volume of the last TCP packet containing the data corresponding to the object data is less than the preset MSS, the last TCP packet containing the data includes only the object data, wherein the indication information is the last data included.
  • the amount of data for the TCP packet For example, the data volume of the first object data is 2000 bytes, and the preset MSS negotiated between the terminal and the node device is 1460 bytes, and the terminal may encapsulate the first object data into the first TCP data packet and the second TCP data packet.
  • the length of the data portion of the first TCP packet is 1460 bytes, and the length of the data portion of the second TCP packet is 540 bytes.
  • the second TCP packet includes only the first object data, and the indication information is the second TCP.
  • the data volume of the data packet the terminal may determine, according to the indication information, that the data volume of the second TCP data packet is less than the preset MSS, and the second TCP data packet is the last TCP data packet of the first object data.
  • the indication information may be identification information contained in a header of the last TCP packet.
  • the terminal may add the identifier information in the header of the last TCP packet containing the data. For another example, when the data volume of the last TCP packet containing the data corresponding to the object data is less than the preset MSS, the terminal may add the identifier information to the header of the last TCP packet containing the data.
  • the data volume of the first object data is 2000 bytes
  • the preset MSS negotiated between the terminal and the node device is 1460 bytes
  • the terminal may encapsulate the first object data into the first TCP data packet and the second TCP data packet.
  • the length of the data portion of the first TCP packet is 1460 bytes
  • the length of the data portion of the second TCP packet is 540 bytes.
  • the header of the second TCP packet includes identification information, and the terminal may determine the identifier according to the identifier information.
  • the second TCP packet is the last TCP packet of the first object data.
  • the terminal may further send a notification message to the node device, where the notification message may be used for the last TCP data packet in the at least one TCP data packet.
  • the indication information is used to indicate that the last TCP packet is the last TCP packet corresponding to the object data.
  • the header of at least one TCP packet may include data type information, the data type information being used to indicate the data type of the data portion of the TCP packet.
  • the existing data parsing method is to blindly parse the object data through the frame header of the object data, and the data type of the object data cannot be accurately obtained.
  • the header of at least one TCP data packet includes data type information, and the node device can obtain the data type of the data part of the TCP data packet according to the data type information, thereby acquiring the data type of the object data, and improving the accuracy of data analysis. .
  • the object data before the terminal encapsulates the object data of one URI into at least one TCP data packet, the object data may be compressed into at least one compressed packet, and at least one compressed packet includes only the object data.
  • the terminal generally compresses the object data by using a preset compression algorithm, and then transmits the compressed object data to the node device to improve the transmission rate.
  • the individual object data cannot be identified, and the individual object data cannot be separately encapsulated into at least one TCP data packet.
  • the embodiment of the present invention compresses the object data of one URI into at least one object.
  • the data in the compressed package is encapsulated into at least one TCP data packet, so as to respectively encapsulate each object data into at least one TCP data packet.
  • the terminal may encapsulate the object data into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the object data, and respectively encapsulate each TLS frame into at least one TCP.
  • the data packet, the last TCP packet in the at least one TCP packet includes indication information indicating that the last TCP packet is the last TCP packet corresponding to the TLS frame.
  • the terminal encapsulates the object data into two TLS frames, where TLS frame2 is the last TLS frame corresponding to the object data, and TLS frame1 and TLS frame2 are only Contains the object data. Further, the terminal may encapsulate the TLS frame1 into three TCP data packets, where the TCP3 data packet includes indication information, and the indication information is used to indicate that the TCP3 data packet is the last TCP data packet corresponding to the TLS frame1, specifically, the TCP3 data packet.
  • the length of the data part may be 0, thereby indicating that the TCP3 data packet is the last TCP data packet corresponding to the TLS frame1; or when the data volume of the TCP3 data packet is less than the preset MSS, the indication information may be the data amount of the TCP3 data packet, thereby The TCP3 data packet is indicated as the last TCP data packet corresponding to the TLS frame1; or the indication information may be the identification information contained in the header of the TCP3 data packet, thereby indicating that the TCP3 data packet is the last TCP data packet corresponding to the TLS frame1.
  • the terminal can encapsulate the TLS frame 2 into five TCP data packets, wherein the TCP8 data packet includes indication information, and the indication information is used to indicate that the TCP8 data packet is the last TCP data packet corresponding to the TLS frame2, specifically, the TCP8 data packet.
  • the length of the data part may be 0, thereby indicating that the TCP8 data packet is the last TCP data packet corresponding to the TLS frame 2; or when the data volume of the TCP 8 data packet is less than the preset MSS, the indication information may be the data amount of the TCP 8 data packet, thereby The TCP8 data packet is indicated as the last TCP data packet corresponding to the TLS frame2; or the indication information may be the identification information contained in the header of the TCP8 data packet, thereby indicating that the TCP8 data packet is the last TCP data packet corresponding to the TLS frame2.
  • the embodiment of the present invention can ensure that the data part of the TCP1 ⁇ TCP3 data packet only includes the data of the TLS frame1, the data part of the TCP4 ⁇ TCP8 data packet only includes the data of the TLS frame2, and the TLS frame1 and the TLS frame2 only include the object data.
  • the terminal may encapsulate the object data into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the object data, and all the TLS frames in the at least one TLS frame Encapsulated into at least one TCP packet, at least one TCP number According to the last TCP packet in the packet, the indication information is used to indicate that the last TCP packet is the last TCP packet corresponding to the object data.
  • the terminal encapsulates the object data into two TLS frames, where TLS frame2 is the last TLS frame corresponding to the object data, and TLS frame1 and TLS frame2 are only Contains the object data.
  • the terminal may encapsulate the TLS frame1 and the TL S frame2 into eight TCP data packets, where the TCP8 data packet includes indication information, where the indication information is used to indicate that the TCP8 data packet is the last TCP data packet corresponding to the object data, and the specific The length of the data part of the TCP8 data packet may be 0, thereby indicating that the TCP8 data packet is the last TCP data packet corresponding to the object data; or when the data volume of the TCP8 data packet is less than the preset MSS, the indication information may be TCP8 data.
  • the amount of data of the packet thereby indicating that the TCP3 data packet is the last TCP data packet corresponding to the object data; or the indication information may be identification information included in the header of the TCP8 data packet, thereby indicating that the TCP8 data packet corresponds to the object data.
  • the data portion of the TCP3 packet may include data of TLS frame1 and data of TLS frame2.
  • the data amount of the TCP1 ⁇ TCP7 data packet can be equal to the preset MSS.
  • the data portion of the TCP packet includes only the object data, and the data portion of the TCP packet may include data of a plurality of TLS frames.
  • the TCP data packet corresponding to the object data of one URI includes only one indication information.
  • the object data is encapsulated as a TLS frame
  • the TLS frame may include data type information
  • the data type information is used to indicate the data type of the TLS frame.
  • the TLS frame format may be as shown in FIG. 7F.
  • the terminal may add data type information in the ContentType field of the TLS frame, where the data type information is used to indicate the data type of the TLS frame.
  • the data type information may be added in the header of the at least one TCP data packet, where the data type information is used to indicate the data type of the data portion of the TCP data packet.
  • S1302 Send at least one TCP data packet to the node device.
  • At least one TCP data packet may be sent to the node device.
  • the terminal may receive the TCP data packet sent by the node device, and the at least one TCP data packet to be sent.
  • the TCP packet carries the acknowledgment sequence number of the TCP packet sent by the node device, and the acknowledgment sequence number is used to indicate that the TCP packet sent by the node device is correctly received.
  • the terminal may send an ACK data packet to the node device, where the data portion of the ACK data packet has a length of 0, and is used to indicate that the terminal correctly receives the TCP sent by the node device. Packets, resource utilization is low.
  • the TCP data packet to be sent in the at least one TCP data packet may carry the acknowledgement sequence number of the TCP data packet sent by the node device, and the confirmation sequence number is used to indicate that the sequence number is correct.
  • the TCP packet sent by the node device is received.
  • the ACK packet is not sent separately, the TCP packet sent by the node device is correctly received, which improves resource utilization.
  • the object data of one URI is encapsulated into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information indicating the last TCP data.
  • the packet is the last TCP packet corresponding to the object data, and at least one TCP packet is sent to the node device to ensure that the data portion of a TCP packet includes only object data of one URI.
  • FIG. 14 is a schematic flowchart of a data parsing method according to an embodiment of the present invention. As shown in the figure, the data parsing method in the embodiment of the present invention may include:
  • S1401 Receive, by the node device, at least one TCP packet that encapsulates object data of one URI, and the last TCP packet in the at least one TCP packet includes indication information.
  • the terminal may receive at least one TCP packet that is encapsulated by the node device and encapsulates object data of one URI, and the last TCP packet in the at least one TCP packet includes indication information, where the indication information is used to indicate that the last TCP packet is an object.
  • the last TCP packet corresponding to the data.
  • the node device may encapsulate the object data of one URI into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information, and the node device sends the at least one TCP data packet to the terminal, and the terminal Receiving at least one of the above TCP packets.
  • the terminal may send the TCP data packet to the node device before receiving the at least one TCP data packet that the object data of the URI is encapsulated by the node device. Further, after the terminal receives the at least one TCP packet that is encapsulated into the object data of the URI by the node device, the received TCP packet carries the confirmation sequence of the TCP packet sent to the node device. When the number is received, the terminal may determine, according to the acknowledgement sequence number, that the node device correctly receives the TCP data packet sent to the node device.
  • the terminal may send a TCP data packet to the node device, where the node device receives the TCP data packet sent by the terminal, and carries the TCP data packet to be sent in the at least one TCP data packet.
  • the terminal may determine, according to the acknowledgement sequence number, that the node device correctly receives the TCP packet sent by the terminal.
  • S1402. Determine, according to the indication information, a starting TCP packet corresponding to the object data of the next URI.
  • the terminal may determine, according to the indication information, a starting TCP data packet corresponding to the object data of the next URI, where the initial TCP data packet corresponding to the object data of the next URI is the next TCP data of the last TCP data packet corresponding to the object data. package.
  • the terminal may determine that the next TCP packet is the starting TCP packet corresponding to the object data of the next URI. For example, the node device adds a TCP packet after the last TCP packet containing the data corresponding to the object data, wherein the length of the data portion of the added TCP packet is 0, the terminal can determine the next one of the added TCP packet.
  • the TCP packet is the starting TCP packet corresponding to the object data of the next URI.
  • the terminal may determine that the next TCP packet is the starting TCP packet corresponding to the object data of the next URI. For example, the terminal may determine whether the data volume of each TCP packet is less than a preset MSS. When the data volume of the TCP packet is less than the preset MSS, the terminal may determine that the next TCP packet of the TCP packet is the object of the next URI. The starting TCP packet corresponding to the data.
  • the terminal may determine whether the length of the data portion of the next TCP packet is 0, and when the length of the data portion of the next TCP packet is 0, the terminal It can be determined that the next TCP packet of the TCP packet whose length of the data portion is 0 is the starting TCP packet corresponding to the object data of the next URI. Further, when the data volume of the TCP data packet is equal to the preset MSS, the terminal may determine whether the header of each TCP data packet includes the identifier information. When the header of the TCP data packet includes the identifier information, the terminal may determine the TCP data packet. Under A TCP packet is the starting TCP packet corresponding to the object data of the next URI.
  • the terminal may determine that the next TCP packet is the starting TCP packet corresponding to the object data of the next URI. For example, the terminal may determine whether the header of each TCP packet includes the identifier information. When the header of the TCP packet includes the identifier information, the terminal may determine that the next TCP packet of the TCP packet corresponds to the object data of the next URI. Start TCP packets.
  • the terminal may receive the notification message sent by the node device according to the indication information, before determining the initial TCP data packet corresponding to the object data of the next URI, and obtain the last TCP data corresponding to the object data according to the notification message.
  • the instructions in the package For example, the terminal receives the notification message sent by the node device, and the notification message is used to indicate that the terminal identifies the boundary of the object data of the next URI, and then performs data parsing on the object data of the next URI, and the terminal may acquire the object data according to the notification message.
  • the indication information in the last TCP packet determines the starting TCP packet corresponding to the object data of the next URI according to the indication information, and performs data parsing on the object data of the next URI from the start TCP packet.
  • the object data of the next URI may be parsed from the starting TCP packet. For example, if the terminal determines that the initial TCP packet corresponding to the object data of the next URI is the third TCP packet, the terminal may parse the frame header and the payload of the object data of the next URI from the third TCP packet, and according to the payload.
  • the data in the data identifies the data type of the object data of the next URI.
  • the data type of the object data may include text, pictures, video, or audio, and the like.
  • the header of the at least one TCP packet may include data type information
  • the terminal may acquire the data type of the data portion of the TCP packet according to the data type information, and thereby obtain the data type of the object data.
  • the object data is blindly parsed through the frame header of the object data, and the data type of the object data cannot be accurately obtained.
  • the embodiment of the present invention obtains the data type of the data part of the TCP data packet according to the data type information, and further acquires the data type of the object data, thereby improving the accuracy of data analysis.
  • the receiving node device encapsulates at least one TCP packet of the object data of one URI into the last TCP of at least one TCP packet.
  • the data packet includes indication information, and according to the indication information, the initial TCP data packet corresponding to the object data of the next URI is determined, and data analysis of the object data of the next URI is started from the initial TCP data packet, and the next URI can be effectively identified.
  • the boundary of the object data to implement data parsing of the object data of the next URI.
  • FIG. 15 is a schematic structural diagram of a data transmission apparatus according to an embodiment of the present invention.
  • the data transmission apparatus may be used to implement some or all of the steps in the method embodiment shown in FIG.
  • the data transmission device may at least include a packaging unit 1501 and a transmitting unit 1502, where:
  • the encapsulating unit 1501 is configured to encapsulate the object data of one URI into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information, where the indication information is used to indicate that the last TCP data packet is corresponding to the object data.
  • the last TCP packet, the object data is used to indicate the resource identified by the URI.
  • the sending unit 1502 is configured to send at least one TCP data packet to the node device.
  • the data portion of the last TCP packet has a length of zero, indicating that the last TCP packet is the last TCP packet corresponding to the object data.
  • the header of the last TCP packet includes a sending sequence number and an acknowledgment sequence number
  • the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the object data of the next URI, and the acknowledgment sequence number is based on the received node. The data sent by the device is confirmed.
  • the header of the last TCP packet includes a sending sequence number and an acknowledgment sequence number
  • the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the object data of the next URI, and the acknowledgment sequence number and the last TCP data are confirmed.
  • the confirmation number of the previous packet of the packet is the same.
  • the method further includes:
  • the obtaining unit 1503 is configured to: before the encapsulating unit 1501 encapsulates the object data into the at least one TCP data packet, acquiring object data sent by the management terminal, where the object data includes terminal identification information, where the terminal identifier information is used to indicate at least one TCP corresponding to the object data.
  • the data packet is sent to the node device corresponding to the terminal identification information.
  • the encapsulating unit 1501 is configured to add a TCP packet after the last TCP packet containing the data corresponding to the object data, and increase the data portion of the TCP packet.
  • the length is 0.
  • the encapsulating unit 1501 is configured to: when the data volume of the last TCP packet containing the data corresponding to the object data is less than the preset MSS, the last TCP packet containing the data includes only the object data, the indication information. The amount of data for the last TCP packet containing data.
  • the indication information is identification information contained in a header of the last TCP packet.
  • the data portion of at least one TCP packet includes only object data.
  • the method further includes:
  • the receiving unit 1504 is configured to receive a TCP data packet sent by the node device.
  • the encapsulating unit 1501 is configured to carry, in the TCP data packet to be sent in the at least one TCP data packet, an acknowledgement sequence number of the TCP data packet sent by the node device, where the acknowledge sequence number is used to indicate that the TCP data packet sent by the node device is correctly received.
  • the sending unit 1502 is further configured to: before the encapsulating unit 1501 encapsulates the object data into the at least one TCP data packet, send a notification message to the node device, where the notification message is used for the last TCP in the at least one TCP data packet.
  • the data packet includes indication information indicating that the last TCP data packet is the last TCP data packet corresponding to the object data.
  • the header of the at least one TCP packet includes data type information, the data type information being used to indicate the data type of the data portion of the TCP packet.
  • the object data is HTTP 1.1 data or HTTP 1.0 data.
  • the encapsulating unit 1501 is configured to encapsulate the object data into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the object data; All TLS frames are encapsulated into at least one TCP packet, and the last TCP packet in at least one TCP packet includes indication information indicating that the last TCP packet is the last TCP packet corresponding to the object data.
  • the encapsulating unit 1501 is configured to encapsulate the object data into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the object data; respectively, encapsulating each TLS frame into At least one TCP packet, the last TCP packet in the at least one TCP packet includes indication information indicating that the last TCP packet is the last TCP packet corresponding to the TLS frame.
  • each TLS frame includes data type information, and the data type information is used to indicate a data type of the TLS frame.
  • the method further includes:
  • the compressing unit 1505 is configured to compress the object data into at least one compressed packet before the encapsulating unit 1501 encapsulates the object data into the at least one TCP packet, and the at least one compressed packet includes only the object data.
  • the encapsulating unit 1501 encapsulates the object data of one URI into at least one TCP packet, and the last TCP packet in the at least one TCP packet includes indication information indicating the last information.
  • a TCP packet is the last TCP packet corresponding to the object data, and the transmitting unit 1502 transmits at least one TCP packet to the node device, which ensures that the data portion of one TCP packet includes only object data of one URI.
  • FIG. 16 is a schematic structural diagram of a node device according to a third embodiment of the present invention.
  • the node device provided by the embodiment of the present invention may be used to implement the method implemented by the foregoing embodiments of the present invention shown in FIG.
  • FIG. 16 For the convenience of description, only the parts related to the embodiments of the present invention are shown.
  • FIG. 16 For the specific technical details not disclosed, please refer to the embodiments of the present invention shown in FIG.
  • the node device includes at least one processor 1601, such as a CPU, at least one network interface 1603, a memory 1604, and at least one communication bus 1602.
  • the communication bus 1602 is used to implement connection communication between these components.
  • the network interface 1603 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface) for communicating with an external network.
  • the memory 1604 may include a high speed RAM memory, and may also include a non-volatile memory, such as at least one disk memory.
  • the memory 1604 can optionally include at least one storage device located remotely from the processor 1601.
  • the processor 1601 can be combined with the data transmission device shown in FIG. A set of program codes is stored in the memory 1604, and the processor 1601 calls the program code stored in the memory 1604 for performing the following operations:
  • the object data is used to indicate the resource identified by the URI.
  • At least one TCP data packet is transmitted to the node device through the network interface 1603.
  • the data portion of the last TCP packet has a length of zero, indicating that the last TCP packet is the last TCP packet corresponding to the object data.
  • the header of the last TCP packet includes a sending sequence number and an acknowledgment sequence number
  • the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the object data of the next URI, and the acknowledgment sequence number is based on the received node. The data sent by the device is confirmed.
  • the header of the last TCP packet includes a sending sequence number and an acknowledgment sequence number
  • the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the object data of the next URI, and the acknowledgment sequence number and the last TCP data are confirmed.
  • the confirmation number of the previous packet of the packet is the same.
  • the processor 1601 may further perform the following operations:
  • the object data sent by the management terminal is obtained through the network interface 1603.
  • the object data includes terminal identification information, and the terminal identification information is used to send the at least one TCP data packet corresponding to the object data to the node device corresponding to the terminal identification information.
  • the processor 1601 encapsulates object data of a URI into at least one TCP packet, which may be:
  • a TCP packet is added after the last TCP packet containing the data corresponding to the object data, and the length of the data portion of the added TCP packet is 0.
  • the processor 1601 encapsulates object data of a URI into at least one TCP packet, which may be:
  • the last TCP packet containing the data includes only the object data, and the indication information is the data amount of the last TCP packet containing the data.
  • the indication information is identification information contained in a header of the last TCP packet.
  • the data portion of at least one TCP packet includes only object data.
  • the processor 1601 sends the at least one TCP data packet to the node device through the network interface 1603, the following operations may also be performed:
  • the TCP packet sent by the node device is received through the network interface 1603.
  • the processor 1601 encapsulates object data of one URI into at least one TCP data.
  • Package specifically can be:
  • the TCP data packet to be sent in the at least one TCP data packet carries the acknowledgement sequence number of the TCP data packet sent by the node device, and the acknowledge sequence number is used to indicate that the TCP data packet sent by the node device is correctly received.
  • the processor 1601 may also perform the following operations:
  • the network interface 1603 Sending, by the network interface 1603, a notification message to the node device, where the notification message is used for the last TCP data packet in the at least one TCP data packet, and the indication information is used to indicate that the last TCP data packet is the last TCP data corresponding to the object data. package.
  • the header of the at least one TCP packet includes data type information, the data type information being used to indicate the data type of the data portion of the TCP packet.
  • the object data is HTTP 1.1 data or HTTP 1.0 data.
  • the processor 1601 encapsulates object data of a URI into at least one TCP packet, which may be:
  • the object data is encapsulated into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the object data.
  • the processor 1601 encapsulates object data of a URI into at least one TCP packet, which may be:
  • the object data is encapsulated into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the object data.
  • Each TLS frame is encapsulated into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information indicating that the last TCP data packet is the last TCP data packet corresponding to the TLS frame.
  • each TLS frame includes data type information, the data type information being used to indicate the data type of the TLS frame.
  • the processor 1601 encapsulates object data of one URI into at least one Before the TCP packet, you can also do the following:
  • the object data is compressed into at least one compressed package, and at least one compressed package includes only object data.
  • terminal introduced in the embodiment of the present invention may be used to implement some or all of the processes in the method embodiment introduced by the present invention in conjunction with FIG.
  • FIG. 17 is a schematic structural diagram of a data parsing apparatus according to an embodiment of the present invention.
  • the data parsing apparatus may be used to implement some or all of the steps in the method embodiment shown in FIG.
  • the data parsing apparatus may include at least a receiving unit 1701, a determining unit 1702, and a parsing unit 1703, where:
  • the receiving unit 1701 is configured to receive, by the node device, at least one TCP data packet that encapsulates object data of one URI, and the last TCP data packet in the at least one TCP data packet includes indication information, where the indication information is used to indicate the last TCP
  • the data packet is the last TCP data packet corresponding to the object data, and the object data is used to indicate the resource identified by the URI.
  • the determining unit 1702 is configured to determine, according to the indication information, a starting TCP data packet corresponding to the object data of the next URI.
  • the parsing unit 1703 is configured to perform data parsing on the object data of the next URI from the start of the TCP packet.
  • the determining unit 1702 is configured to determine, when the length of the data portion of the last TCP packet is 0, the next TCP packet as the starting TCP packet corresponding to the object data of the next URI.
  • the determining unit 1702 is configured to determine, when the data volume of the last TCP packet is less than the preset MSS, the next TCP packet as the initial TCP packet corresponding to the object data of the next URI.
  • the determining unit 1702 is configured to: when the header of the last TCP packet includes the identifier information, determine that the next TCP packet is the starting TCP packet corresponding to the object data of the next URI.
  • the method further includes:
  • the sending unit 1704 is configured to send, by the receiving unit 1701, a TCP data packet to the node device before receiving the at least one TCP data packet sent by the node device.
  • the determining unit 1702 is further configured to: when the received TCP data packet carries the acknowledgement sequence number of the TCP data packet sent to the node device, determine, according to the acknowledgement sequence number, that the node device correctly receives the TCP data packet sent to the node device.
  • the receiving unit 1701 is further configured to: after the determining unit 1702 determines, according to the indication information, the notification message sent by the node device before determining the initial TCP data packet corresponding to the object data of the next URI.
  • the data analysis apparatus in the embodiment of the present invention may further include:
  • the obtaining unit 1705 is configured to obtain, according to the notification message, the indication information in the last TCP data packet corresponding to the object data.
  • the header of the at least one TCP packet includes data type information
  • the parsing unit 1703 is configured to obtain, according to the data type information, a data type of the data portion of the TCP packet.
  • the receiving unit 1701 receives at least one TCP packet that is encapsulated by the node device and encapsulates object data of one URI, and the last TCP packet in the at least one TCP packet includes indication information.
  • the indication information is used to indicate that the last TCP data packet is the last TCP data packet corresponding to the object data
  • the determining unit 1702 determines the initial TCP data packet corresponding to the object data of the next URI according to the indication information
  • the parsing unit 1703 starts from the initial TCP data.
  • the packet begins to parse the object data of the next URI, which can effectively identify the boundary of the object data of the next URI, so as to implement data parsing of the object data of the next URI.
  • FIG. 18 is a schematic structural diagram of a node device according to a fourth embodiment of the present invention.
  • the node device provided by the embodiment of the present invention may be used to implement the method implemented by the foregoing embodiments of the present invention shown in FIG.
  • FIG. 18 For the convenience of description, only parts related to the embodiment of the present invention are shown. Without specific details, please refer to the embodiments of the present invention shown in FIG.
  • the terminal device includes: at least one processor 1801, such as a CPU, at least one network interface 1803, a memory 1804, and at least one communication bus 1802.
  • the communication bus 1802 is used to implement connection communication between these components.
  • the network interface 1803 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface) for communicating with an external network.
  • the memory 1804 may include a high speed RAM memory, and may also include a non-unstable memory. Such as at least one disk storage.
  • the memory 1804 can optionally include at least one storage device located remotely from the aforementioned processor 1801.
  • the processor 1801 can be combined with the data analysis device shown in FIG. A set of program codes is stored in the memory 1804, and the processor 1801 calls the program code stored in the memory 1804 for performing the following operations:
  • the initial TCP packet corresponding to the object data of the next URI is determined.
  • Data analysis is performed on the object data of the next URI from the start of the TCP packet.
  • the processor 1801 determines, according to the indication information, a starting TCP packet corresponding to the object data of the next URI, which may be specifically:
  • the next TCP packet is the starting TCP packet corresponding to the object data of the next URI.
  • the processor 1801 determines, according to the indication information, a starting TCP packet corresponding to the object data of the next URI, which may be specifically:
  • the next TCP packet is the starting TCP packet corresponding to the object data of the next URI.
  • the processor 1801 determines, according to the indication information, a starting TCP packet corresponding to the object data of the next URI, which may be specifically:
  • the next TCP packet is the starting TCP packet corresponding to the object data of the next URI.
  • the processor 1801 may also perform the following operations:
  • a TCP packet is sent to the node device through the network interface 1803.
  • the processor 1801 may also perform the following operations:
  • the received TCP packet carries the confirmation sequence of the TCP packet sent to the node device
  • the number is determined, it is determined that the node device correctly receives the TCP packet sent to the node device according to the confirmation sequence number.
  • the processor 1801 determines the start TCP packet corresponding to the object data of the next URI according to the indication information, the following operations may also be performed:
  • the notification message sent by the node device is received through the network interface 1803.
  • the indication information in the last TCP packet corresponding to the object data is obtained.
  • the header of the at least one TCP packet includes data type information, and the processor 1801 performs data parsing on the object data of the next URI from the start of the TCP packet, which may be:
  • the data type of the data part of the TCP packet is obtained.
  • terminal introduced in the embodiment of the present invention may be used to implement some or all of the processes in the method embodiment introduced by the present invention in conjunction with FIG.
  • FIG. 19 is a schematic structural diagram of a data transmission system according to an embodiment of the present invention.
  • the data transmission system in the embodiment of the present invention may include at least a data transmission device 1901 and a data analysis device 1902. among them:
  • the data transmission device 1901 is configured to encapsulate the object data of one URI into at least one TCP data packet, wherein the last TCP data packet in the at least one TCP data packet may include indication information, where the indication information may be used to indicate the last TCP data.
  • the package is the last TCP packet corresponding to the object data.
  • the data transmission device 1901 is further configured to send at least one TCP data packet to the data analysis device 1902.
  • the data parsing device 1902 is configured to determine, according to the indication information, a starting TCP packet corresponding to the object data of the next URI.
  • the data analysis device 1902 is further configured to perform data analysis on the object data of the next URI from the start of the TCP packet.
  • the data analysis device 1202 is further configured to transmit the TCP packet after the data analysis to the node device 1904.
  • the data parsing device 1902 determines the start of the next TCP packet as the object data corresponding to the next URI. TCP packet.
  • the header of the last TCP packet may include a sending sequence number and an acknowledgement sequence number, wherein the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the object data of the next URI, and the confirming sequence number is based on the received node. The data sent by the device is confirmed.
  • the header of the last TCP packet may include a sending sequence number and an acknowledgment sequence number, wherein the sending sequence number is the same as the sending sequence number of the starting TCP packet corresponding to the object data of the next URI, and the acknowledgment sequence number and the last TCP packet are confirmed.
  • the confirmation number of the previous packet is the same.
  • the following operations may also be performed:
  • the object data includes terminal identification information, and the terminal identification information is used to send the at least one TCP data packet corresponding to the object data to the node device corresponding to the terminal identification information.
  • the data transmission device 1901 encapsulates the object data of one URI into at least one TCP data packet, which may be:
  • the data parsing device 1902 may determine that the next TCP packet is the starting TCP packet corresponding to the object data of the next URI.
  • the indication information may be identification information included in a header of the last TCP packet, and when the header of the last TCP packet includes the identification information, the data parsing device 1902 may determine the next TCP packet.
  • the data portion of at least one TCP packet includes only data for URI object data.
  • the data transmission device 1901 transmits at least one TCP packet to the data. Before parsing the device 1902, the following operations can also be performed:
  • the data transmission device 1901 receives the TCP packet transmitted by the data analysis device 1902.
  • the data transmission device 1901 encapsulates the object data of one URI into at least one TCP data packet, which may specifically be:
  • the TCP data packet to be sent in the at least one TCP data packet carries the acknowledgement sequence number of the TCP data packet sent by the node device, and the acknowledge sequence number is used to indicate that the TCP data packet sent by the node device is correctly received.
  • the data parsing device 1902 receives the at least one TCP data packet sent by the data transmission device 1901, the following operations may also be performed:
  • the received TCP packet carries the acknowledgment number of the TCP packet transmitted to the data transmission device 1901, it is determined that the data transmission device 1901 correctly receives the TCP packet transmitted by the data analysis device 1902 based on the acknowledgment number.
  • the following operations may also be performed:
  • a notification message is sent to the node device 1904.
  • the notification message is used for the last TCP packet in the at least one TCP packet to include indication information indicating that the last TCP packet is the last TCP packet corresponding to the object data.
  • the following operations may also be performed:
  • a notification message transmitted by the data transmission device 1901 is received.
  • the indication information in the last TCP packet corresponding to the object data is obtained.
  • the header of the at least one TCP packet includes data type information, and the data type information is used to indicate the data type of the data portion of the TCP packet, and the data parsing device 1902 starts from the initial TCP packet to the next
  • the object data of the URI is used for data analysis, and specifically:
  • the data type of the data part of the TCP packet is obtained.
  • the following operations may also be performed:
  • the object data is compressed into at least one compressed package, and at least one compressed package includes only object data.
  • the data transmission device 1901 objects of a URI
  • the data is encapsulated into at least one TCP data packet
  • the last TCP data packet in the at least one TCP data packet includes indication information indicating that the last TCP data packet is the last TCP data packet corresponding to the object data
  • the data transmission device 1901 Sending at least one TCP packet to the data parsing device 1902, the data parsing device 1902 determines a starting TCP packet corresponding to the object data of the next URI according to the indication information, and further starts object data for the next URI from the starting TCP packet.
  • Performing data parsing ensures that the data portion of a TCP packet includes only object data of one URI, so that the data parsing device 1902 effectively identifies the boundary of the object data of the next URI to implement data parsing of the object data of the next URI.
  • FIG. 20 is a schematic flowchart of a data transmission method according to another embodiment of the present invention.
  • the data transmission method in the embodiment of the present invention may include:
  • S2001 Encapsulate one application layer data unit into at least one TLS frame, and the last TLS frame in the at least one TLS frame is a last TLS frame corresponding to the application layer data unit.
  • the terminal may encapsulate one application layer data unit into at least one TLS frame.
  • the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the application layer data unit.
  • the application layer data unit may include object data of an HTTP frame or a URI.
  • FIG. 7G or FIG. 7H when the application layer data unit is an HTTP frame, the terminal may encapsulate one HTTP frame into at least one TLS frame, and the last TLS frame in at least one TLS frame is the last TLS corresponding to the HTTP frame. frame.
  • the terminal may encapsulate the object data of one URI into at least one TLS frame, and the last TLS frame in the at least one TLS frame corresponds to the object data.
  • the last TLS frame when the application layer data unit is the object data of the URI, the terminal may encapsulate the object data of one URI into at least one TLS frame, and the last TLS frame in the at least one TLS frame corresponds to the object data. The last TLS frame.
  • the terminal may determine the target TLS frame in the at least one TLS frame, where the target TLS frame is used to carry service information, and the service information is used to indicate description information in the transmission process of the application layer data unit, such as data type information or policy information.
  • the terminal may determine the first TLS frame, the last TLS frame, or all TLS frames in the at least one TLS frame as the target TLS frame. For example, after the terminal encapsulates one application layer data unit into at least one TLS frame, all the TLS frames in the at least one TLS frame may be determined as the target TLS frame, or the first TLS frame in the at least one TLS frame is determined as the target. The TLS frame, or the last TLS frame in at least one TLS frame is determined as the target TLS frame.
  • the terminal after the terminal encapsulates one application layer data unit into at least one TLS frame, all the TLS frames in the at least one TLS frame are determined as the target TLS frame, and the service information of the application layer data unit is added to the target TLS frame.
  • the service information of the application layer data unit is added to all the TLS frames obtained by the application layer data unit encapsulation, thereby improving the reliability of data parsing.
  • the terminal encapsulates one application layer data unit into at least one TLS frame
  • the first TLS frame in the at least one TLS frame is determined as the target TLS frame
  • the service information of the application layer data unit is added to the target TLS.
  • the target TLS frame containing the service information and the other TLS frames in the at least one TLS frame are encapsulated into at least one TCP data packet, and the at least one TCP data packet is sent to the node device, so that the node device according to the service in the target TLS frame And performing data parsing on the target TLS frame, thereby obtaining a data type of the target TLS frame and an execution policy for the target TLS frame, and determining a data type of the target TLS frame as all TLS frames in the at least one TLS frame.
  • the service information of the application layer data unit is added in the first TLS frame obtained by the application layer data unit encapsulation, which can save overhead.
  • the terminal after the terminal encapsulates one application layer data unit into at least one TLS frame, determining the last TLS frame in the at least one TLS frame as the target TLS frame, and adding the service information of the application layer data unit to the target TLS frame.
  • the target TLS frame including the service information and the other TLS frames in the at least one TLS frame into at least one TCP data packet, and transmitting the at least one TCP data packet to the node device, so that the node device according to the service information in the target TLS frame And performing data parsing on the target TLS frame, thereby obtaining a data type of the target TLS frame and an execution policy for the target TLS frame, and determining a data type of the target TLS frame as data of all TLS frames in at least one TLS frame.
  • the service information of the application layer data unit is added in the last TLS frame obtained by the application layer data unit encapsulation, which can save overhead.
  • the terminal may determine the first TLS frame in the at least one TLS frame and its last TLS frame as the target TLS frame. For example, after the terminal encapsulates one application layer data unit into at least one TLS frame, the first TLS frame in the at least one TLS frame and the last TLS frame in the at least one TLS frame may be determined as the target TLS frame.
  • the terminal after the terminal encapsulates one application layer data unit into at least one TLS frame, the first TLS frame in the at least one TLS frame and the last TLS frame thereof are determined as target TLS frames, and the application layer data unit is The service information is added to the target TLS frame, and the target TLS frame including the service information and the other TLS frames in the at least one TLS frame are encapsulated into at least one TCP data packet, and at least one TCP data packet is sent to the node device, so that the node device
  • the service information in the target TLS frame is parsed, and the data type of the target TLS frame and the execution policy of the target TLS frame are obtained, and the data type of the target TLS frame is determined to be at least one TLS.
  • the data type of all TLS frames in the frame, and the execution policy of the target TLS frame is determined as an execution strategy for all TLS frames in at least one TLS frame.
  • the service information of the application layer data unit is added in the first TLS frame and the last TLS frame obtained by the application layer data unit encapsulation, which can save overhead.
  • a target TLS frame may be added before each TLS frame, or a target TLS frame may be added after each TLS frame, respectively. Adding a target TLS frame before the first TLS frame in at least one TLS frame, or adding a target TLS frame after the last TLS frame in at least one TLS frame, etc., is not specifically limited by the embodiment of the present invention.
  • the terminal adds the service information of the application layer data unit to the target TLS frame, and encapsulates the target TLS frame including the service information and other TLS frames in the at least one TLS frame into at least one TCP data packet, and sends at least one TCP data packet to the a node device, so that the node device performs data parsing on the target TLS frame according to the service information in the target TLS frame, thereby obtaining a data type of the target TLS frame and an execution policy for the target TLS frame, and the target TLS frame is
  • the data type is determined as a data type of all TLS frames in at least one TLS frame
  • an execution policy for the target TLS frame is determined as an execution policy for all TLS frames in at least one TLS frame.
  • S2003 Add the service information of the application layer data unit to the target TLS frame.
  • the service information of the application layer data unit can be added to the destination.
  • the service information of the application layer data unit may include data type information or policy information, etc., and the service information in the embodiment of the present invention includes, but is not limited to, data type information or policy information, and may also be included in the application. Other description information in the process of the layer data unit transmission, such as the identification information of the target TLS frame, etc., is not specifically limited by the embodiment of the present invention.
  • the service information may be obtained by negotiating between the terminal and the node device.
  • the terminal may obtain the service information of the application layer data unit by using the application layer, and after determining the target TLS frame, the terminal adds the service information of the application layer data unit to the target TLS frame.
  • the service information may include data type information, the data type information being used to indicate a data type of the target TLS frame.
  • the service information may include policy information, where the policy information is used to indicate an execution policy of the target TLS frame, and the execution policy includes a Qos (Quality of Service) policy or a charging policy.
  • Qos Quality of Service
  • the service information may be carried in a TLS header field of the target TLS frame.
  • Text/HTML 24
  • Text/CSS 25
  • Text/JS 26
  • Image/JPEG 27
  • Application/Video 28
  • Application/Audio 219
  • Text/HTML/policy(30) Text/CSS/policy(31),Text/JS/policy(31),Image/JPEG/policy(32),Application/Video/policy(33),Application/Audio/policy (34) for policy information.
  • the target TLS frame is used to indicate traffic information for a specified TLS frame in at least one TLS frame.
  • the specified TLS frame includes all TLS frames after the target TLS frame in at least one TLS frame, or all TLS frames before the target TLS frame in at least one TLS frame, at least one The previous TLS frame of the target TLS frame in the TLS frame, and the last TLS frame of the target TLS frame in at least one TLS frame.
  • the target TLS frame is used to indicate the next TLS frame of the target TLS frame in the at least one TLS frame.
  • Business information For another example, after the terminal encapsulates one application layer data unit into at least one TLS frame, respectively adding a target TLS frame after each TLS frame, the target TLS frame is used to indicate a previous TLS frame of the target TLS frame in the at least one TLS frame.
  • the terminal adds a target TLS frame before the first TLS frame in the at least one TLS frame, and the target TLS frame is used to indicate service information of all TLS frames after the target TLS frame in the at least one TLS frame.
  • the terminal adds a target TLS frame after the last TLS frame in the at least one TLS frame, and the target TLS frame is used to indicate service information of all TLS frames before the target TLS frame in the at least one TLS frame.
  • the service information may include data type information, and the data type information is used to indicate a data type of the specified TLS frame.
  • the service information may include policy information, where the policy information is used to indicate an execution policy for the specified TLS frame, and the execution policy includes a QoS policy or a charging policy.
  • the target TLS frame may include extended identifier information, where the extended identifier information is used to indicate that the target TLS frame is a protocol frame indicating service information of a specified TLS frame in the at least one TLS frame.
  • the terminal may add the extended identifier information to the TLS header field of the target TLS frame.
  • the service information may be carried in a data portion of the target TLS frame.
  • the terminal may add the service information to the Plaintext field of the target TLS frame.
  • S2004 encapsulating a target TLS frame including service information and other TLS frames in at least one TLS frame into at least one TCP data packet.
  • the target TLS frame including the service information and the other TLS frames in the at least one TLS frame may be encapsulated into at least one TCP data packet.
  • the terminal can separately encapsulate each TLS frame into There is one less TCP packet, and the last TCP packet in at least one TCP packet includes indication information indicating that the last TCP packet is the last TCP packet corresponding to the TLS frame. For example, in FIG.
  • the terminal may encapsulate all TLS frames in at least one TLS frame into at least one TCP data packet, and the last TCP data packet in the at least one TCP data packet includes indication information, and the indication information is used to indicate the last A TCP packet is the last TCP packet corresponding to the application layer data unit.
  • S2005 Send at least one TCP data packet to the node device.
  • one application layer data unit is encapsulated into at least one TLS frame, and the last TLS frame in at least one TLS frame is the last TLS frame corresponding to the application layer data unit, in at least one TLS Determining a target TLS frame in the frame, adding service information of the application layer data unit to the target TLS frame, and encapsulating the target TLS frame including the service information and other TLS frames in the at least one TLS frame into at least one TCP packet, at least A TCP packet is sent to the node device, and the TCP packet to which the service information is added can be sent to the node device.
  • FIG. 21 is a schematic flowchart of a data parsing method according to another embodiment of the present invention. As shown in the figure, the data parsing method in the embodiment of the present invention may include:
  • S2101 The at least one TCP packet that is sent by the receiving node device to encapsulate the target TLS frame that includes the service information and the other TLS frame in the at least one TLS frame, where the at least one TLS frame is encapsulated by the node device by using one application layer data unit.
  • the terminal may receive at least one TCP packet that is sent by the node device to encapsulate the target TLS frame containing the service information and other TLS frames in the at least one TLS frame, where the at least one TLS frame is encapsulated by the node device by using one application layer data unit. .
  • the target TLS frame is used to indicate traffic information for a specified TLS frame in at least one TLS frame.
  • the specified TLS frame may include all TLS frames after the target TLS frame in at least one TLS frame, or the specified TLS frame includes all TLS frames before the target TLS frame in at least one TLS frame, or the specified TLS frame includes at least one TLS frame.
  • the previous TLS frame of the target TLS frame, or the specified TLS frame includes the last TLS frame of the target TLS frame in at least one TLS frame.
  • the terminal may determine that the target TLS frame is used for Indicates service information of a subsequent TLS frame of the target TLS frame in at least one TLS frame. For another example, after the node device encapsulates one application layer data unit into at least one TLS frame and adds a target TLS frame after each TLS frame, the terminal may determine that the target TLS frame is used to indicate the target TLS frame in the at least one TLS frame. The service information of the previous TLS frame.
  • the node device adds a target TLS frame before the first TLS frame in the at least one TLS frame, and the terminal may determine that the target TLS frame is used to indicate service information of all TLS frames after the target TLS frame in the at least one TLS frame.
  • the node device adds a target TLS frame after the last TLS frame in the at least one TLS frame, and the terminal may determine that the target TLS frame is used to indicate service information of all TLS frames before the target TLS frame in the at least one TLS frame.
  • S2102 Acquire service information in a target TLS frame.
  • the terminal may obtain the service information in the target TLS frame.
  • the terminal may determine that the first TLS frame, the last TLS frame, or all the TLS frames in the at least one TLS frame are the target TLS frame. In a specific implementation, the terminal may pre-negotiate with the node device to determine the first TLS frame, the last TLS frame, or all TLS frames in the at least one TLS frame as the target TLS frame.
  • the terminal may determine that the first TLS frame in the at least one TLS frame and the last TLS frame thereof are the target TLS frame.
  • the terminal may obtain service information in a TLS header field of the target TLS frame.
  • the terminal may determine that the target TLS frame includes extended identifier information, where the extended identifier information is used to indicate that the target TLS frame is a service that indicates a specified TLS frame in the at least one TLS frame.
  • the protocol frame of the information which in turn obtains the service information in the data portion of the target TLS frame.
  • S2103 Perform data analysis on the application layer data unit according to the service information.
  • the terminal may perform data parsing on the application layer data unit according to the service information carried in the target TLS frame.
  • the service information may include the data type information
  • the terminal may obtain the data type of the target TLS frame according to the data type information, and determine the data type of the target TLS frame as the data type of the application layer data unit.
  • the service information may include the policy information
  • the terminal may obtain an execution policy for the target TLS frame according to the policy information, and determine the execution policy of the target TLS frame as an execution policy for the application layer data unit.
  • the service information may include the data type information
  • the terminal may acquire the data type of the specified TLS frame in the at least one TLS frame according to the data type information, and determine the data type of the specified TLS frame as the application layer data unit. The type of data.
  • the service information may include the policy information
  • the terminal may obtain an execution policy for the specified TLS frame in the at least one TLS frame according to the policy information, and determine the execution policy of the specified TLS frame as the application layer.
  • the execution strategy of the data unit may include the policy information, and the terminal may obtain an execution policy for the specified TLS frame in the at least one TLS frame according to the policy information, and determine the execution policy of the specified TLS frame as the application layer.
  • the target TLS frame may be deleted.
  • the target TLS frame is used to indicate the service information of the specified TLS frame in the at least one TLS frame, and after the terminal determines the execution policy of the specified TLS frame as the execution policy for the application layer data unit, the target TLS frame may be deleted.
  • At least one TCP packet that is encapsulated into a target TLS frame including service information and other TLS frames in at least one TLS frame sent by the node device at least one TLS frame is a node device.
  • the service information in the target TLS frame is obtained, and data analysis is performed on the application layer data unit according to the service information, thereby improving the reliability of data analysis.
  • FIG. 22 is a schematic structural diagram of a data transmission apparatus according to another embodiment of the present invention.
  • the data transmission apparatus may be used to implement some or all of the steps in the method embodiment shown in FIG.
  • the data transmission device may at least include a packaging unit 2201, a determining unit 2202, an adding unit 2203, and a sending unit 2204, where:
  • the encapsulating unit 2201 is configured to encapsulate one application layer data unit into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the application layer data unit, and the application layer data unit is an HTTP frame or a URI. Object data.
  • the determining unit 2202 is configured to determine a target TLS frame in the at least one TLS frame.
  • the adding unit 2203 is configured to add the service information of the application layer data unit to the target TLS frame.
  • the encapsulating unit 2201 is further configured to: use a target TLS frame containing service information and at least one TLS The other TLS frames in the frame are encapsulated into at least one TCP packet.
  • the sending unit 2204 is configured to send the encapsulated into at least one TCP data packet to the node device.
  • the determining unit 2202 is configured to determine the first TLS frame, the last TLS frame, or all the TLS frames in the at least one TLS frame as the target TLS frame.
  • the determining unit 2202 is configured to determine the first TLS frame in the at least one TLS frame and the last TLS frame thereof as the target TLS frame.
  • the service information includes data type information, and the data type information is used to indicate a data type of the target TLS frame.
  • the service information includes policy information, where the policy information is used to indicate an execution policy for the target TLS frame, and the execution policy includes a QoS policy or a charging policy.
  • the service information is carried in a TLS header field of the target TLS frame.
  • the target TLS frame is used to indicate traffic information for a specified TLS frame in at least one TLS frame, and then the designated TLS frame includes all TLS frames after the target TLS frame in at least one TLS frame.
  • the specified TLS frame includes all TLS frames preceding the target TLS frame in at least one TLS frame.
  • the specified TLS frame includes the previous TLS frame of the target TLS frame in at least one TLS frame.
  • the specified TLS frame includes the last TLS frame of the target TLS frame in at least one TLS frame.
  • the service information includes data type information, and the data type information is used to indicate a data type of the specified TLS frame.
  • the service information includes policy information, where the policy information is used to indicate an execution policy for the specified TLS frame, and the execution policy includes a QoS policy or a charging policy.
  • the target TLS frame includes extended identifier information, and the extended identifier information is used to indicate that the target TLS frame is a protocol frame indicating service information of a specified TLS frame in the at least one TLS frame.
  • the service information is carried in a data portion of the target TLS frame.
  • the encapsulating unit 2201 encapsulates one application layer data unit into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the application layer data unit, and determines
  • the unit 2202 determines a target TLS frame in at least one TLS frame
  • the adding unit 2203 adds the service information of the application layer data unit to the target TLS frame
  • the encapsulating unit 2201 sets the target TLS frame containing the service information and the other in the at least one TLS frame.
  • TLS The frame is encapsulated into at least one TCP data packet, and the sending unit 2204 sends the at least one TCP data packet to the node device, and the TCP data packet to which the service information is added may be sent to the node device.
  • FIG. 23 is a schematic structural diagram of a node device according to a fifth embodiment of the present invention.
  • the node device provided by the embodiment of the present invention may be used to implement the method implemented in the foregoing embodiment of the present invention shown in FIG.
  • FIG. 23 For the convenience of description, only parts related to the embodiments of the present invention are shown. Without specific details, please refer to the embodiments of the present invention shown in FIG.
  • the node device includes at least one processor 2301, such as a CPU, at least one network interface 2303, a memory 2304, and at least one communication bus 2302.
  • the communication bus 2302 is used to implement connection communication between these components.
  • the network interface 2303 can optionally include a standard wired interface and a wireless interface (such as a WI-FI interface) for communicating with an external network.
  • the memory 2304 may include a high speed RAM memory and may also include a non-stable memory such as at least one disk memory.
  • the memory 2304 can optionally include at least one storage device located remotely from the aforementioned processor 2301.
  • the processor 2301 can be combined with the data transmission device shown in FIG. A set of program codes is stored in the memory 2304, and the processor 2301 calls the program code stored in the memory 2304 for performing the following operations:
  • the application layer data unit is encapsulated into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the application layer data unit, and the application layer data unit is the object data of the HTTP frame or the URI.
  • the target TLS frame is determined in at least one TLS frame.
  • the service information of the application layer data unit is added to the target TLS frame.
  • the target TLS frame containing the service information and the other TLS frames in the at least one TLS frame are encapsulated into at least one TCP data packet.
  • At least one TCP packet is transmitted to the node device via the network interface 2303.
  • terminal introduced in the embodiment of the present invention may be used to implement some or all of the processes in the method embodiment introduced by the present invention in conjunction with FIG.
  • FIG. 24 is a schematic structural diagram of a data parsing apparatus according to an embodiment of the present invention.
  • the data parsing apparatus in the embodiment of the present invention may include at least a receiving unit 2401.
  • the receiving unit 2401 is configured to receive, by the node device, at least one TCP packet that encapsulates a target TLS frame that includes the service information and other TLS frames in the at least one TLS frame, where the at least one TLS frame is an application layer data of the node device. Unit packaged.
  • the obtaining unit 2402 is configured to obtain service information in the target TLS frame.
  • the parsing unit 2403 is configured to perform data parsing on the application layer data unit according to the service information.
  • the data analysis apparatus in the embodiment of the present invention may further include:
  • the determining unit 2404 is configured to determine, before the acquiring unit 2402 acquires the service information in the target TLS frame, the first TLS frame, the last TLS frame, or all the TLS frames in the at least one TLS frame as the target TLS frame.
  • the data analysis apparatus in the embodiment of the present invention may further include:
  • the determining unit 2404 is configured to determine, before the obtaining unit 2402 obtains the service information in the target TLS frame, that the first TLS frame in the at least one TLS frame and the last TLS frame thereof are the target TLS frame.
  • the service information includes the data type information
  • the parsing unit 2403 is configured to obtain the data type of the target TLS frame according to the data type information, and determine the data type of the target TLS frame as the data of the application layer data unit. Types of.
  • the service information includes policy information
  • the parsing unit 2403 is configured to obtain an execution policy for the target TLS frame according to the policy information, and determine an execution policy of the target TLS frame as the application layer data unit. Execution strategy.
  • the obtaining unit 2402 is configured to obtain service information in a TLS header field of the target TLS frame.
  • the target TLS frame is used to indicate traffic information for a specified TLS frame in at least one TLS frame, and then the designated TLS frame includes all TLS frames after the target TLS frame in at least one TLS frame.
  • the specified TLS frame includes all TLS frames preceding the target TLS frame in at least one TLS frame.
  • the specified TLS frame includes the previous TLS frame of the target TLS frame in at least one TLS frame.
  • the specified TLS frame includes the last TLS frame of the target TLS frame in at least one TLS frame.
  • the service information includes data type information
  • the parsing unit 2403 is configured to acquire, according to the data type information, a data type of the specified TLS frame in the at least one TLS frame, and specify The data type of the TLS frame is determined as the data type of the application layer data unit.
  • the service information includes the policy information
  • the parsing unit 2403 is configured to obtain, according to the policy information, an execution policy for the specified TLS frame in the at least one TLS frame, and determine an execution policy for the specified TLS frame as the application layer.
  • the execution strategy of the data unit is configured to obtain, according to the policy information, an execution policy for the specified TLS frame in the at least one TLS frame, and determine an execution policy for the specified TLS frame as the application layer.
  • the data analysis device in the embodiment of the present invention may further include:
  • the deleting unit 2405 is configured to delete the target TLS frame after the parsing unit 2403 determines the execution policy of the specified TLS frame as the execution policy for the application layer data unit.
  • the data analysis device in the embodiment of the present invention may further include:
  • the determining unit 2404 is configured to: before the acquiring unit 2402 acquires the service information in the target TLS frame, determining that the target TLS frame includes extended identifier information, where the extended identifier information is used to indicate that the target TLS frame is a service indicating a specified TLS frame in the at least one TLS frame. Protocol frame for information.
  • the acquiring unit 2402 is configured to obtain service information in a data part of the target TLS frame.
  • the receiving unit 2401 receives at least one TCP packet, at least one TLS frame, into which the target TLS frame including the service information and the other TLS frames in the at least one TLS frame are transmitted by the node device.
  • the node device encapsulates one application layer data unit
  • the obtaining unit 2402 obtains the service information in the target TLS frame
  • the parsing unit 2403 performs data parsing on the application layer data unit according to the service information, thereby improving the reliability of the data parsing.
  • FIG. 25 is a schematic structural diagram of a node device according to a sixth embodiment of the present invention.
  • the node device provided by the embodiment of the present invention may be used to implement the method implemented by the foregoing embodiments of the present invention shown in FIG.
  • FIG. 25 For the convenience of description, only parts related to the embodiment of the present invention are shown. Without specific details, please refer to the embodiments of the present invention shown in FIG.
  • the node device includes at least one processor 2501, such as a CPU, at least one network interface 2503, a memory 2504, and at least one communication bus 2502.
  • the communication bus 2502 is used to implement connection communication between these components.
  • the network interface 2503 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface) for communicating with an external network.
  • the memory 2504 may include a high speed RAM memory and may also include a non-stable memory such as at least one disk memory.
  • the memory 2504 can optionally include at least one Far from the storage device of the aforementioned processor 2501.
  • the processor 2501 can be combined with the data analysis device shown in FIG. A set of program codes is stored in the memory 2504, and the processor 2501 calls the program code stored in the memory 2504 for performing the following operations:
  • At least one TCP packet that is sent by the node device to encapsulate the target TLS frame containing the service information and other TLS frames in the at least one TLS frame, where the at least one TLS frame is a node device that encapsulates an application layer data unit owned.
  • Data analysis is performed on the application layer data unit according to the service information.
  • the terminal introduced in the embodiment of the present invention may be used to implement some or all of the processes in the method embodiment introduced by the present invention in conjunction with FIG. 21.
  • FIG. 26 is a schematic structural diagram of a data transmission system according to another embodiment of the present invention.
  • the data transmission system may at least include a data transmission device 2601 and a data analysis device 2602.
  • the data transmission device 2601 may be used.
  • the data parsing apparatus 2602 can be used to implement some or all of the steps in the apparatus embodiment shown in FIG. 24, wherein:
  • the data transmission device 2601 is configured to encapsulate one application layer data unit into at least one TLS frame, and the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the application layer data unit, and the application layer data unit is an HTTP frame or Object data of the URI; determining a target TLS frame in at least one TLS frame; adding service information of the application layer data unit to the target TLS frame; encapsulating the target TLS frame containing the service information and other TLS frames in the at least one TLS frame At least one TCP packet is sent to the data parsing device 2602.
  • the data analysis device 2602 is configured to acquire service information in the target TLS frame, and perform data analysis on the application layer data unit according to the service information.
  • the data transmission system introduced in the embodiments of the present invention may be used to implement some or all of the processes in the method embodiments introduced in conjunction with FIGS. 20 and 21.
  • first and second are used for descriptive purposes only and are not to be construed as indicating or implying a relative importance or implicitly indicating the number of technical features indicated.
  • features defining “first” or “second” may include at least one of the features, either explicitly or implicitly.
  • the meaning of "a plurality” is at least two, such as two, three, etc., unless specifically defined otherwise.
  • a "computer-readable medium” can be any apparatus that can contain, store, communicate, propagate, or transport a program for use in an instruction execution system, apparatus, or device, or in conjunction with the instruction execution system, apparatus, or device.
  • computer readable media include the following: electrical connections (electronic devices) having one or more wires, portable computer disk cartridges (magnetic devices), random access memory (RAM), Read only memory (ROM), erasable editable read only memory (EPROM or flash memory), fiber optic devices, and portable compact disk read only memory (CDROM).
  • the computer readable medium may even be a paper or other suitable medium on which the program can be printed, as it may be optically scanned, for example by paper or other medium, followed by editing, interpretation or, if appropriate, other suitable The method is processed to obtain the program electronically and then store it in computer memory in.
  • portions of the invention may be implemented in hardware, software, firmware or a combination thereof.
  • multiple steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system.
  • a suitable instruction execution system For example, if implemented in hardware, as in another embodiment, it can be implemented by any one or combination of the following techniques well known in the art: having logic gates for implementing logic functions on data signals. Discrete logic circuits, application specific integrated circuits with suitable combinational logic gates, programmable gate arrays (PGAs), field programmable gate arrays (FPGAs), etc.
  • each functional unit in each embodiment of the present invention may be integrated into one processing module, or each unit may exist physically separately, or two or more units may be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or in the form of software functional modules.
  • the integrated modules, if implemented in the form of software functional modules and sold or used as stand-alone products, may also be stored in a computer readable storage medium.
  • the above mentioned storage medium may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例公开了一种协议帧传输方法、装置、节点设备以及***,其中,所述协议帧传输方法包括:将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包,将至少一个TCP数据包发送给节点设备。采用本发明实施例,可确保一个TCP数据包的数据部分仅包括一个协议帧的数据。

Description

一种协议帧传输方法、装置、节点设备以及*** 技术领域
本发明涉及计算机应用技术领域,尤其涉及一种协议帧传输方法、装置、节点设备以及***。
背景技术
HTTP(Hyper Text Transfer Protocol,超文本传输协议)采用请求/响应模型,用于传送WWW(World Wide Web,万维网)数据。由第一节点设备发起请求,建立到第二节点设备指定端口的TCP(Transmission Control Protocol,传输控制协议)连接,第二节点设备在指定端口监听第一节点设备发送的请求,当第二节点设备接收到请求时,第二节点设备向第一节点设备发送响应消息。HTTP2.0指的是版本为2.0的HTTP。HTTP2.0基本的协议单位是HTTP2.0帧,HTTP2.0帧指的是应用层发送给传输层的高层数据,由9字节的帧头和payload(有效载荷)组成,帧头可以包括length字段。HTTP2.0可通过报头字段压缩和多路复用提升资源利用率,并减小协议帧传输时延。多路复用是通过将TCP连接细分为多个HTTP2.0流,在一个HTTP2.0流上分配多个HTTP2.0帧来实现的。
一个HTTP2.0帧是根据MSS(Management Support System,最大报文段长度)封装成至少一个TCP数据包的。其中,MSS用于在TCP连接建立时,收发双方协商通信过程中每个TCP数据包所能承载的最大数据长度。应用层将HTTP2.0帧发送给传输层,传输层将HTTP2.0帧根据MSS封装成TCP数据包,各个TCP数据包的数据部分的长度均为MSS。以图7A为例,HTTP2.0帧可以包括第一帧、第二帧以及第三帧,第一帧以及第二帧的数据量都为3000字节,MSS的长度为1460字节,则传输层可以根据MSS将上述HTTP2.0帧封装成5个TCP数据包,其中第一TCP数据包的数据部分仅包括第一帧的数据,第二TCP数据包的数据部分仅包括第一帧的数据,第三TCP数据包的数据部分包括第一帧的数据和第二帧的数据,第四TCP数据包的数据部分仅包 括第二帧的数据。其中,第三TCP数据包的数据部分包括第一帧的数据和第二帧的数据。上述封装方式将导致不同HTTP2.0帧封装在同一个TCP数据包中,从而导致无法实现数据解析。
发明内容
本发明实施例提供了一种协议帧传输方法、装置、节点设备以及***,可确保一个TCP数据包的数据部分仅包括一个协议帧的数据。
本发明第一方面提供了一种协议帧传输方法,包括:
将一个协议帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包;
将所述至少一个TCP数据包发送给节点设备。
在第一种可能的实施方式中,所述最后一个TCP数据包的数据部分的长度为0,从而指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述最后一个TCP数据包的报头包括发送序号和确认序号;
所述发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,所述确认序号是根据接收的所述节点设备发送的数据确认的。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述最后一个TCP数据包的报头包括发送序号和确认序号;
所述发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,所述确认序号与所述最后一个TCP数据包的前一个数据包的确认序号相同。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述将一个协议帧封装成至少一个TCP数据包之前,还包括:
获取管理终端发送的所述协议帧,所述协议帧包括终端标识信息,所述终端标识信息用于指示将所述协议帧对应的至少一个TCP数据包发送给所述终端标识信息对应的节点设备。
结合第一方面的第一种至第四种中任一种可能的实现方式,在第五种可能的实现方式中,所述将一个协议帧封装成至少一个TCP数据包,包括:
在所述协议帧对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,所述增加的TCP数据包的数据部分的长度为0。
结合第一方面可能的实现方式,在第六种可能的实现方式中,所述将一个协议帧封装成至少一个TCP数据包,包括:
当所述协议帧对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,所述最后一个包含数据的TCP数据包仅包括所述协议帧的数据,所述指示信息为所述最后一个包含数据的TCP数据包的数据量。
结合第一方面可能的实现方式,在第七种可能的实现方式中,所述指示信息为包含在所述最后一个TCP数据包的报头中的标识信息。
结合第一方面或第一方面的第一种至第七种中任一种可能的实现方式,在第八种可能的实现方式中,所述至少一个TCP数据包的数据部分仅包括所述协议帧的数据。
结合第一方面或第一方面的第一种至第八种中任一种可能的实现方式,在第九种可能的实现方式中,所述将所述至少一个TCP数据包发送给节点设备之前,还包括:
接收所述节点设备发送的TCP数据包;
所述将一个协议帧封装成至少一个TCP数据包,包括:
在所述至少一个TCP数据包中的待发送的TCP数据包中携带所述节点设备发送的TCP数据包的确认序号,所述确认序号用于指示正确接收所述节点设备发送的TCP数据包。
结合第一方面或第一方面的第一种至第九种中任一种可能的实现方式,在第十种可能的实现方式中,所述将一个协议帧封装成至少一个TCP数据包之前,还包括:
向所述节点设备发送通知消息,所述通知消息用于所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包。
结合第一方面的第十种可能的实现方式,在第十一种可能的实现方式中, 所述通知信息携带在所述协议帧的HTTP2.0头域或者HTTP2.0设置帧中。
结合第一方面或第一方面的第一种至第十一种中任一种可能的实现方式,在第十二种可能的实现方式中,所述至少一个TCP数据包的报头包括数据类型信息,所述数据类型信息用于指示所述TCP数据包的数据部分的数据类型。
结合第一方面或第一方面的第一种至第十二种中任一种可能的实现方式,在第十三种可能的实现方式中,所述协议帧为TLS帧或者HTTP帧。
结合第一方面或第一方面的第一种至第十三种中任一种可能的实现方式,在第十四种可能的实现方式中,所述协议帧为HTTP帧;
所述将一个协议帧封装成至少一个TCP数据包,包括:
将所述HTTP帧封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述HTTP帧对应的最后一个TLS帧;
将所述至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述HTTP帧对应的最后一个TCP数据包。
结合第一方面或第一方面的第一种至第十三种中任一种可能的实现方式,在第十五种可能的实现方式中,所述协议帧为HTTP帧;
所述将一个协议帧封装成至少一个TCP数据包,包括:
将所述HTTP帧封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述HTTP帧对应的最后一个TLS帧;
分别将各个所述TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述TLS帧对应的最后一个TCP数据包。
结合第一方面或第一方面的第一种至第十三种中任一种可能的实现方式,在第十六种可能的实现方式中,所述协议帧为TLS帧,所述TLS帧包括数据类型信息,所述数据类型信息用于指示所述TLS帧的数据类型。
结合第一方面或第一方面的第一种至第十六种中任一种可能的实现方式,在第十七种可能的实现方式中,所述将所述协议帧封装成至少一个TCP数据包之前,还包括:
将所述协议帧压缩成至少一个压缩包,所述至少一个压缩包仅包括所述协议帧。
本发明第二方面提供一种协议帧解析方法,包括:
接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包;
根据所述指示信息,确定下一个协议帧对应的起始TCP数据包;
从所述起始TCP数据包开始对所述下一个协议帧进行数据解析。
在第一种可能的实现方式中,所述根据所述指示信息,确定下一个协议帧对应的起始TCP数据包包括:
当所述最后一个TCP数据包的数据部分的长度为0时,确定下一个TCP数据包为所述下一个协议帧对应的起始TCP数据包。结合第二方面可能的实现方式,在第二种可能的实现方式中,所述根据所述指示信息,确定下一个协议帧对应的起始TCP数据包包括:
当所述最后一个TCP数据包的数据量小于预设MSS时,确定下一个TCP数据包为所述下一个协议帧对应的起始TCP数据包。
结合第二方面可能的实现方式,在第三种可能的实现方式中,所述根据所述指示信息,确定下一个协议帧对应的起始TCP数据包包括:
当所述最后一个TCP数据包的报头包括标识信息时,确定下一个TCP数据包为所述下一个协议帧对应的起始TCP数据包。
结合第二方面或者第二方面的第一种至第三种中任一种可能的实现方式,在第四种可能的实现方式中,所述接收节点设备发送的协议帧对应的至少一个TCP数据包之前,还包括:
向所述节点设备发送TCP数据包;
所述接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包之后,还包括:
当所述接收的TCP数据包中携带向所述节点设备发送的TCP数据包的确 认序号时,根据所述确认序号,确定所述节点设备正确接收向所述节点设备发送的TCP数据包。
结合第二方面或者第二方面的第一种至第四种中任一种可能的实现方式,在第五种可能的实现方式中,所述根据所述指示信息,确定下一个协议帧对应的起始TCP数据包之前,还包括:
接收所述节点设备发送的通知消息;
根据所述通知消息,获取所述协议帧对应的所述最后一个TCP数据包中的指示信息。
结合第二方面或者第二方面的第一种至第五种中任一种可能的实现方式,在第六种可能的实现方式中,所述至少一个TCP数据包的报头包括数据类型信息;
所述从所述起始TCP数据包开始对所述下一个协议帧进行数据解析包括:
根据所述数据类型信息,获取所述TCP数据包的数据部分的数据类型。
结合第二方面或者第二方面的第一种至第六种中任一种可能的实现方式,在第七种可能的实现方式中,所述从所述起始TCP数据包对所述下一个协议帧进行数据解析之前,还包括:
确定所述下一个协议帧是通过静态表实现报头字段压缩的。
结合第二方面或者第二方面的第一种至第七种中任一种可能的实现方式,在第八种可能的实现方式中,所述下一个协议帧对应的各个TCP数据包属于同一HTPP2.0流;
所述从所述起始TCP数据包开始对所述下一个协议帧进行数据解析之后,还包括:
当对所述下一个协议帧数据解析失败时,暂停对所述HTTP2.0流包括的协议帧进行数据解析。
本发明第三方面提供一种数据传输方法,其特征在于,包括:
将一个URI的对象数据封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包,所述对象 数据用于指示所述URI标识的资源;
将所述至少一个TCP数据包发送给节点设备。
在第一种可能的实现方式中,所述最后一个TCP数据包的数据部分的长度为0,从而指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述最后一个TCP数据包的报头包括发送序号和确认序号;
所述发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,所述确认序号是根据接收的所述节点设备发送的数据确认的。
结合第三方面的第一种可能的实现方式,在第三种可能的实现方式中,所述最后一个TCP数据包的报头包括发送序号和确认序号;
所述发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,所述确认序号与所述最后一个TCP数据包的前一个数据包的确认序号相同。
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述将一个URI的对象数据封装成至少一个TCP数据包之前,还包括:
获取管理终端发送的所述对象数据,所述对象数据包括终端标识信息,所述终端标识信息用于指示将所述对象数据对应的至少一个TCP数据包发送给所述终端标识信息对应的节点设备。
结合第三方面的第一种至第四种中任一种可能的实现方式,在第五种可能的实现方式中,所述将一个URI的对象数据封装成至少一个TCP数据包,包括:
在所述对象数据对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,所述增加的TCP数据包的数据部分的长度为0。
结合第三方面可能的实现方式,在第六种可能的实现方式中,所述将一个URI的对象数据封装成至少一个TCP数据包,包括:
当所述对象数据对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,所述最后一个包含数据的TCP数据包仅包括所述对象数据,所述指示信息为所述最后一个包含数据的TCP数据包的数据量。
结合第三方面可能的实现方式,在第七种可能的实现方式中,所述指示信息为包含在所述最后一个TCP数据包的报头中的标识信息。
结合第三方面或者第三方面的第一种至第七种中任一种可能的实现方式,在第八种可能的实现方式中,所述至少一个TCP数据包的数据部分仅包括所述对象数据。
结合第三方面或者第三方面的第一种至第八种中任一种可能的实现方式,在第九种可能的实现方式中,所述将所述至少一个TCP数据包发送给节点设备之前,还包括:
接收所述节点设备发送的TCP数据包;
所述将一个URI的对象数据封装成至少一个TCP数据包,包括:
在所述至少一个TCP数据包中的待发送的TCP数据包中携带所述节点设备发送的TCP数据包的确认序号,所述确认序号用于指示正确接收所述节点设备发送的TCP数据包。
结合第三方面或者第三方面的第一种至第九种中任一种可能的实现方式,在第十种可能的实现方式中,所述将一个URI的对象数据封装成至少一个TCP数据包之前,还包括:
向所述节点设备发送通知消息,所述通知消息用于所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包。
结合第三方面或者第三方面的第一种至第十种中任一种可能的实现方式,在第十一种可能的实现方式中,所述至少一个TCP数据包的报头包括数据类型信息,所述数据类型信息用于指示所述TCP数据包的数据部分的数据类型。
结合第三方面或者第三方面的第一种至第十一种中任一种可能的实现方式,在第十二种可能的实现方式中,所述对象数据为HTTP1.1数据或者HTTP1.0数据。
结合第三方面或者第三方面的第一种至第十二种中任一种可能的实现方式,在第十三种可能的实现方式中,所述将一个URI的对象数据封装成至少一个TCP数据包,包括:
将所述对象数据封装成至少一个TLS帧,所述至少一个TLS帧中的最后 一个TLS帧为所述对象数据对应的最后一个TLS帧;
将所述至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包。
结合第三方面或者第三方面的第一种至第十二种中任一种可能的实现方式,在第十四种可能的实现方式中,所述将一个URI的对象数据封装成至少一个TCP数据包,包括:
将所述对象数据封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述对象数据对应的最后一个TLS帧;
分别将各个所述TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述TLS帧对应的最后一个TCP数据包。
结合第三方面的第十三种或者第十四种可能的实现方式,在第十五种可能的实现方式中,各个所述TLS帧包括数据类型信息,所述数据类型信息用于指示所述TLS帧的数据类型。
结合第三方面或者第三方面的第一种至第十五种中任一种可能的实现方式,在第十六种可能的实现方式中,所述将一个URI的对象数据封装成至少一个TCP数据包之前,还包括:
将所述对象数据压缩成至少一个压缩包,所述至少一个压缩包仅包括所述对象数据。
本发明第四方面提供一种数据解析方法,其特征在于,包括:
接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包,所述对象数据用于指示所述URI标识的资源;
根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包;
从所述起始TCP数据包开始对所述下一个URI的对象数据进行数据解析。
在第一种可能的实现方式中,所述根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包包括:
当所述最后一个TCP数据包的数据部分的长度为0时,确定下一个TCP数据包为所述下一个URI的对象数据对应的起始TCP数据包。
结合第四方面可能的实现方式,在第二种可能的实现方式中,所述根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包包括:
当所述最后一个TCP数据包的数据量小于预设MSS时,确定下一个TCP数据包为所述下一个URI的对象数据对应的起始TCP数据包。
结合第四方面可能的实现方式,在第三种可能的实现方式中,所述根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包包括:
当所述最后一个TCP数据包的报头包括标识信息时,确定下一个TCP数据包为所述下一个URI的对象数据对应的起始TCP数据包。
结合第四方面或者第四方面的第一种至第三种中任一种可能的实现方式,在第四种可能的实现方式中,所述接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包之前,还包括:
向所述节点设备发送TCP数据包;
所述接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包之后,还包括:
当所述接收的TCP数据包中携带向所述节点设备发送的TCP数据包的确认序号时,根据所述确认序号,确定所述节点设备正确接收向所述节点设备发送的TCP数据包。
结合第四方面或者第四方面的第一种至第四种中任一种可能的实现方式,在第五种可能的实现方式中,所述根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包之前,还包括:
接收所述节点设备发送的通知消息;
根据所述通知消息,获取所述对象数据对应的所述最后一个TCP数据包中的指示信息。
结合第四方面或者第四方面的第一种至第五种中任一种可能的实现方式,在第六种可能的实现方式中,所述至少一个TCP数据包的报头包括数据类型 信息;
所述从所述起始TCP数据包开始对所述下一个URI的对象数据进行数据解析包括:
根据所述数据类型信息,获取所述TCP数据包的数据部分的数据类型。
本发明第五方面提供一种数据传输方法,其特征在于,包括:
将一个应用层数据单元封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述应用层数据单元对应的最后一个TLS帧,所述应用层数据单元为HTTP帧或者URI的对象数据;
在所述至少一个TLS帧中确定目标TLS帧;
将所述应用层数据单元的业务信息添加到所述目标TLS帧中;
将包含所述业务信息的目标TLS帧以及所述至少一个TLS帧中的其他TLS帧封装成至少一个TCP数据包;
将所述至少一个TCP数据包发送给节点设备。
在第一种可能的实现方式中,所述在所述至少一个TLS帧中确定目标TLS帧,包括:
将所述至少一个TLS帧中的第一个TLS帧、最后一个TLS帧或者所有TLS帧确定为所述目标TLS帧。
结合第五方面或者第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述在所述至少一个TLS帧中确定目标TLS帧,包括:
将所述至少一个TLS帧中的第一个TLS帧及其最后一个TLS帧确定为所述目标TLS帧。
结合第五方面的第一种或者第二种可能的实现方式,在第三种可能的实现方式中,所述业务信息包括数据类型信息,所述数据类型信息用于指示所述目标TLS帧的数据类型。
结合第五方面的第一种至第三种中任一种可能的实现方式,在第四种可能的实现方式中,所述业务信息包括策略信息,所述策略信息用于指示对所述目标TLS帧的执行策略,所述执行策略包括Qos策略或者计费策略。
结合第五方面的第一种至第四种中任一种可能的实现方式,在第五种可能 的实现方式中,所述业务信息携带在所述目标TLS帧的TLS头域中。
结合第五方面可能的实现方式,在第六种可能的实现方式中,所述目标TLS帧用于指示所述至少一个TLS帧中的指定TLS帧的业务信息;
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之后的所有TLS帧;或者
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之前的所有TLS帧;或者
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的前一个TLS帧;或者
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的后一个TLS帧。
结合第五方面的第六种可能的实现方式,在第七种可能的实现方式中,所述业务信息包括数据类型信息,所述数据类型信息用于指示所述指定TLS帧的数据类型。
结合第五方面的第六种或者第七种可能的实现方式,在第八种可能的实现方式中,所述业务信息包括策略信息,所述策略信息用于指示对所述指定TLS帧的执行策略,所述执行策略包括Qos策略或者计费策略。
结合第五方面的第六种至第八种中任一种可能的实现方式,在第九种可能的实现方式中,所述目标TLS帧包含扩展标识信息,所述扩展标识信息用于指示所述目标TLS帧为指示所述至少一个TLS帧中的指定TLS帧的业务信息的协议帧。
结合第五方面的第六种至第九种中任一种可能的实现方式,在第十种可能的实现方式中,所述业务信息携带在所述目标TLS帧的数据部分。
本发明第六方面提供一种数据解析方法,其特征在于,包括:
接收节点设备发送的将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成的至少一个TCP数据包,所述至少一个TLS帧是所述节点设备将一个应用层数据单元封装得到的;
获取所述目标TLS帧中的业务信息;
根据所述业务信息,对所述应用层数据单元进行数据解析。
在第一种可能的实现方式中,所述获取所述目标TLS帧中的业务信息之前,还包括:
确定所述至少一个TLS帧中的第一个TLS帧、最后一个TLS帧或者所有TLS帧为所述目标TLS帧。
结合第六方面或者第六方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取所述目标TLS帧中的业务信息之前,还包括:
确定所述至少一个TLS帧中的第一个TLS帧及其最后一个TLS帧为所述目标TLS帧。
结合第六方面、第六方面的第一种或者第二种可能的实现方式,在第三种可能的实现方式中,所述业务信息包括数据类型信息;
所述根据所述业务信息,对所述应用层数据单元进行数据解析,包括:
根据所述数据类型信息,获取所述目标TLS帧的数据类型;
将所述目标TLS帧的数据类型确定为所述应用层数据单元的数据类型。
结合第六方面、第六方面的第一种至第三种中任一种可能的实现方式,在第四种可能的实现方式中,所述业务信息包括策略信息;
所述根据所述业务信息,对所述应用层数据单元进行数据解析包括:
根据所述策略信息,获取对所述目标TLS帧的执行策略;
将对所述目标TLS帧的执行策略确定为对所述应用层数据单元的执行策略。
结合第六方面、第六方面的第一种至第四种中任一种可能的实现方式,在第五种可能的实现方式中,所述获取所述目标TLS帧中的业务信息,包括:
在所述目标TLS帧的TLS头域中获取所述业务信息。
结合第六方面可能的实现方式,在第六种可能的实现方式中,所述目标TLS帧用于指示所述至少一个TLS帧中的指定TLS帧的业务信息;
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之后的所有TLS帧;或者
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之前的所有TLS帧;或者
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的前一个TLS帧;或者
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的后一个TLS帧。
结合第六方面的第六种可能的实现方式,在第七种可能的实现方式中,所述业务信息包括数据类型信息;
所述根据所述业务信息,对所述应用层数据单元进行数据解析,包括:
根据所述数据类型信息,获取所述至少一个TLS帧中的指定TLS帧的数据类型;
将所述指定TLS帧的数据类型确定为所述应用层数据单元的数据类型。
结合第六方面的第六种或者第七种可能的实现方式,在第八种可能的实现方式中,所述业务信息包括策略信息;
所述根据所述业务信息,对所述应用层数据单元进行数据解析,包括:
根据所述策略信息,获取对所述至少一个TLS帧中的指定TLS帧的执行策略;
将对所述指定TLS帧的执行策略确定为对所述应用层数据单元的执行策略。
结合第六方面的第八种可能的实现方式,在第九种可能的实现方式中,所述将所述指定TLS帧的执行策略确定为所述应用层数据单元的执行策略之后,还包括:
删除所述目标TLS帧。
结合第六方面的第六种至第九种中任一种可能的实现方式,在第十种可能的实现方式中,所述获取所述目标TLS帧中的业务信息之前,还包括:
确定所述目标TLS帧包括扩展标识信息,所述扩展标识信息用于指示所述目标TLS帧为指示所述至少一个TLS帧中的指定TLS帧的业务信息的协议帧。
结合第六方面的第六种至第十种中任一种可能的实现方式,在第十一种可能的实现方式中,所述获取所述目标TLS帧中的业务信息包括:
在所述目标TLS帧的数据部分获取所述业务信息。
本发明第七方面提供一种协议帧传输装置,其特征在于,包括:
封装单元,用于将一个协议帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包;
发送单元,用于将所述至少一个TCP数据包发送给节点设备。
在第一种可能的实施方式中,所述最后一个TCP数据包的数据部分的长度为0,从而指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包。
结合第七方面的第一种可能的实现方式,在第二种可能的实现方式中,所述最后一个TCP数据包的报头包括发送序号和确认序号;
所述发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,所述确认序号是根据接收的所述节点设备发送的数据确认的。
结合第七方面的第一种可能的实现方式,在第三种可能的实现方式中,所述最后一个TCP数据包的报头包括发送序号和确认序号;
所述发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,所述确认序号与所述最后一个TCP数据包的前一个数据包的确认序号相同。
结合第七方面的第三种可能的实现方式,在第四种可能的实现方式中,获取单元,用于所述封装单元将所述协议帧封装成所述至少一个TCP数据包之前,获取管理终端发送的所述协议帧,所述协议帧包括终端标识信息,所述终端标识信息用于指示将所述协议帧对应的至少一个TCP数据包发送给所述终端标识信息对应的节点设备。
结合第七方面的第一种至第四种中任一种可能的实现方式,在第五种可能的实现方式中,所述封装单元,用于在所述协议帧对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,所述增加的TCP数据包的数据部分的长度为0。
结合第七方面可能的实现方式,在第六种可能的实现方式中,所述封装单元,用于当所述协议帧对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,所述最后一个包含数据的TCP数据包仅包括所述协议帧的数据, 所述指示信息为所述最后一个包含数据的TCP数据包的数据量。
结合第七方面可能的实现方式,在第七种可能的实现方式中,所述指示信息为包含在所述最后一个TCP数据包的报头中的标识信息。
结合第七方面或第七方面的第一种至第七种中任一种可能的实现方式,在第八种可能的实现方式中,所述至少一个TCP数据包的数据部分仅包括所述协议帧的数据。
结合第七方面或第七方面的第一种至第八种中任一种可能的实现方式,在第九种可能的实现方式中,还包括:
接收单元,用于接收所述节点设备发送的TCP数据包;
所述封装单元,用于在所述至少一个TCP数据包中的待发送的TCP数据包中携带所述节点设备发送的TCP数据包的确认序号,所述确认序号用于指示正确接收所述节点设备发送的TCP数据包。
结合第七方面或第七方面的第一种至第九种中任一种可能的实现方式,在第十种可能的实现方式中,所述发送单元,还用于所述封装单元将所述协议帧封装成所述至少一个TCP数据包之前,向所述节点设备发送通知消息,所述通知消息用于所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包。
结合第七方面的第十种可能的实现方式,在第十一种可能的实现方式中,还包括:所述通知信息携带在所述协议帧的HTTP2.0头域或者HTTP2.0设置帧中。
结合第七方面或第七方面的第一种至第十一种中任一种可能的实现方式,在第十二种可能的实现方式中,还包括:所述至少一个TCP数据包的报头包括数据类型信息,所述数据类型信息用于指示所述TCP数据包的数据部分的数据类型。
结合第七方面或第七方面的第一种至第十二种中任一种可能的实现方式,在第十三种可能的实现方式中,所述协议帧为TLS帧或者HTTP帧。
结合第七方面或第七方面的第一种至第十三种中任一种可能的实现方式,在第十四种可能的实现方式中,所述协议帧为HTTP帧;
所述封装单元,用于将所述HTTP帧封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述HTTP帧对应的最后一个TLS帧;将所述至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述HTTP帧对应的最后一个TCP数据包。
结合第七方面或第七方面的第一种至第十三种中任一种可能的实现方式,在第十五种可能的实现方式中,所述协议帧为HTTP帧;
所述封装单元,用于将所述HTTP帧封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述HTTP帧对应的最后一个TLS帧;分别将各个所述TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述TLS帧对应的最后一个TCP数据包。
结合第七方面或第七方面的第一种至第十三种中任一种可能的实现方式,在第十六种可能的实现方式中,所述协议帧为TLS帧,所述TLS帧包括数据类型信息,所述数据类型信息用于指示所述TLS帧的数据类型。
结合第七方面或第七方面的第一种至第十六种中任一种可能的实现方式,在第十七种可能的实现方式中,还包括:
压缩单元,用于所述封装单元将所述协议帧封装成至少一个TCP数据包之前,将所述协议帧压缩成至少一个压缩包,所述至少一个压缩包仅包括所述协议帧。
本发明第八方面提供一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:
将一个协议帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包;
将所述至少一个TCP数据包发送给节点设备。
本发明第九方面提供一种协议帧解析装置,其特征在于,包括:
接收单元,用于接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包;
确定单元,用于根据所述指示信息,确定下一个协议帧对应的起始TCP数据包;
解析单元,用于从所述起始TCP数据包开始对所述下一个协议帧进行数据解析。
在第一种可能的实现方式中,所述确定单元,用于当所述最后一个TCP数据包的数据部分的长度为0时,确定下一个TCP数据包为所述下一个协议帧对应的起始TCP数据包。
结合第九方面可能的实现方式,在第二种可能的实现方式中,所述确定单元,用于当所述最后一个TCP数据包的数据量小于预设MSS时,确定下一个TCP数据包为所述下一个协议帧对应的起始TCP数据包。
结合第九方面可能的实现方式,在第三种可能的实现方式中,所述确定单元,用于当所述最后一个TCP数据包的报头包括标识信息时,确定下一个TCP数据包为所述下一个协议帧对应的起始TCP数据包。
结合第九方面或者第九方面的第一种至第三种中任一种可能的实现方式,在第四种可能的实现方式中,还包括:
发送单元,用于所述接收单元接收所述节点设备发送的所述协议帧对应的至少一个TCP数据包之前,向所述节点设备发送TCP数据包;
所述确定单元,还用于当所述接收到的TCP数据包中携带向所述节点设备发送的TCP数据包的确认序号时,根据所述确认序号,确定所述节点设备正确接收向所述节点设备发送的TCP数据包。
结合第九方面或者第九方面的第一种至第四种中任一种可能的实现方式,在第五种可能的实现方式中,所述接收单元,还用于所述确定单元根据所述指示信息,确定下一个协议帧对应的起始TCP数据包之前,接收所述节点设备发送的通知消息;
所述装置还包括:
获取单元,用于根据所述通知信息,获取所述协议帧对应的所述最后一个TCP数据包中的指示信息。
结合第九方面或者第九方面的第一种至第五种中任一种可能的实现方式,在第六种可能的实现方式中,所述至少一个TCP数据包的报头包括数据类型信息;
所述解析单元,用于根据所述起数据类型信息,获取所述TCP数据包的数据部分的数据类型。
结合第九方面或者第九方面的第一种至第六种中任一种可能的实现方式,在第七种可能的实现方式中,所述确定单元,还用于所述解析单元从所述起始TCP数据包对所述下一个协议帧进行数据解析之前,确定所述下一个协议帧是通过静态表实现报头字段压缩的。
结合第九方面或者第九方面的第一种至第七种中任一种可能的实现方式,在第八种可能的实现方式中,所述下一个协议帧对应的各个TCP数据包属于同一HTTP2.0流;
所述协议帧传输装置还包括:
控制单元,用于所述解析单元从所述起始TCP数据包开始对所述下一个协议帧进行数据解析之后,当对所述下一个协议帧数据解析失败时,暂停对所述HTTP2.0流包括的协议帧进行数据解析。
本发明第十方面提供一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:
接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包;
根据所述指示信息,确定下一个协议帧对应的起始TCP数据包;
从所述起始TCP数据包开始对所述下一个协议帧进行数据解析。
本发明第十一方面提供一种数据传输装置,其特征在于,包括:
封装单元,用于将一个URI的对象数据封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包,所述对象数据用于指示所述URI标识的资源;
发送单元,用于将所述至少一个TCP数据包发送给节点设备。
在第一种可能的实现方式中,所述最后一个TCP数据包的数据部分的长度为0,从而指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包。
结合第十一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述最后一个TCP数据包的报头包括发送序号和确认序号;
所述发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,所述确认序号是根据接收的所述节点设备发送的数据确认的。
结合第十一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述最后一个TCP数据包的报头包括发送序号和确认序号;
所述发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,所述确认序号与所述最后一个TCP数据包的前一个数据包的确认序号相同。
结合第十一方面的第三种可能的实现方式,在第四种可能的实现方式中,还包括:
获取单元,用于所述封装单元将所述对象数据封装成所述至少一个TCP数据包之前,获取管理终端发送的所述对象数据,所述对象数据包括终端标识信息,所述终端标识信息用于指示将所述对象数据对应的至少一个TCP数据包发送给所述终端标识信息对应的节点设备。
结合第十一方面的第一种至第四种中任一种可能的实现方式,在第五种可能的实现方式中,所述封装单元,用于在所述对象数据对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,所述增加的TCP数据包的数据部分的长度为0。
结合第十一方面可能的实现方式,在第六种可能的实现方式中,所述封装单元,用于当所述对象数据对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,所述最后一个包含数据的TCP数据包仅包括所述对象数据,所述指示信息为所述最后一个包含数据的TCP数据包的数据量。
结合第十一方面可能的实现方式,在第七种可能的实现方式中,所述指示信息为包含在所述最后一个TCP数据包的报头中的标识信息。
结合第十一方面或者第十一方面的第一种至第七种中任一种可能的实现方式,在第八种可能的实现方式中,所述至少一个TCP数据包的数据部分仅包括所述对象数据。
结合第十一方面或者第十一方面的第一种至第八种中任一种可能的实现方式,在第九种可能的实现方式中,还包括:
接收单元,用于接收所述节点设备发送的TCP数据包;
所述封装单元,用于在所述至少一个TCP数据包中的待发送的TCP数据包中携带所述节点设备发送的TCP数据包的确认序号,所述确认序号用于指示正确接收所述节点设备发送的TCP数据包。
结合第十一方面或者第十一方面的第一种至第九种中任一种可能的实现方式,在第十种可能的实现方式中,所述发送单元,还用于所述封装单元将所述对象数据封装成所述至少一个TCP数据包之前,向所述节点设备发送通知消息,所述通知消息用于所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包。
结合第十一方面或者第十一方面的第一种至第十种中任一种可能的实现方式,在第十一种可能的实现方式中,所述至少一个TCP数据包的报头包括数据类型信息,所述数据类型信息用于指示所述TCP数据包的数据部分的数据类型。
结合第十一方面或者第十一方面的第一种至第十一种中任一种可能的实现方式,在第十二种可能的实现方式中,所述对象数据为HTTP1.1数据或者HTTP1.0数据。
结合第十一方面或者第十一方面的第一种至第十二种中任一种可能的实 现方式,在第十三种可能的实现方式中,所述封装单元,用于将所述对象数据封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述对象数据对应的最后一个TLS帧;将所述至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包。
结合第十一方面或者第十一方面的第一种至第十二种中任一种可能的实现方式,在第十四种可能的实现方式中,所述封装单元,用于将所述对象数据封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述对象数据对应的最后一个TLS帧;分别将各个所述TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述TLS帧对应的最后一个TCP数据包。
结合第十一方面的第十三种或者第十四种可能的实现方式,在第十五种可能的实现方式中,各个所述TLS帧包括数据类型信息,所述数据类型信息用于指示所述TLS帧的数据类型。
结合第十一方面或者第十一方面的第一种至第十五种中任一种可能的实现方式,在第十六种可能的实现方式中,还包括:
压缩单元,用于所述封装单元将所述对象数据封装成至少一个TCP数据包之前,将所述对象数据压缩成至少一个压缩包,所述至少一个压缩包仅包括所述对象数据。
本发明第十二方面提供一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:
将一个URI的对象数据封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包,所述对象数据用于指示所述URI标识的资源;
将所述至少一个TCP数据包发送给节点设备。
本发明第十三方面提供一种数据解析装置,其特征在于,包括:
接收单元,用于接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包,所述对象数据用于指示所述URI标识的资源;
确定单元,用于根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包;
解析单元,用于从所述起始TCP数据包开始对所述下一个URI的对象数据进行数据解析。
在第一种可能的实现方式中,所述确定单元,用于当所述最后一个TCP数据包的数据部分的长度为0时,确定下一个TCP数据包为所述下一个URI的对象数据对应的起始TCP数据包。
结合第十三方面可能的实现方式,在第二种可能的实现方式中,所述确定单元,用于当所述最后一个TCP数据包的数据量小于预设MSS时,确定下一个TCP数据包为所述下一个URI的对象数据对应的起始TCP数据包。
结合第十三方面可能的实现方式,在第三种可能的实现方式中,所述确定单元,用于当所述最后一个TCP数据包的报头包括标识信息时,确定下一个TCP数据包为所述下一个URI的对象数据对应的起始TCP数据包。
结合第十三方面或者第十三方面的第一种至第三种中任一种可能的实现方式,在第四种可能的实现方式中,还包括:
发送单元,用于所述接收单元接收所述节点设备发送的所述至少一个TCP数据包之前,向所述节点设备发送TCP数据包;
所述确定单元,还用于当所述接收的TCP数据包中携带向所述节点设备发送的TCP数据包的确认序号时,根据所述确认序号,确定所述节点设备正确接收向所述节点设备发送的TCP数据包。
结合第十三方面或者第十三方面的第一种至第四种中任一种可能的实现方式,在第五种可能的实现方式中,所述接收单元,还用于所述确定单元根据 所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包之前,接收所述节点设备发送的通知消息;
所述装置还包括:
获取单元,用于根据所述通知消息,获取所述对象数据对应的所述最后一个TCP数据包中的指示信息。
结合第十三方面或者第十三方面的第一种至第四种中任一种可能的实现方式,在第五种可能的实现方式中,所述至少一个TCP数据包的报头包括数据类型信息;
所述解析单元,用于根据所述数据类型信息,获取所述TCP数据包的数据部分的数据类型。
本发明第十四方面提供一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:
接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包,所述对象数据用于指示所述URI标识的资源;
根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包;
从所述起始TCP数据包开始对所述下一个URI的对象数据进行数据解析。
本发明第十五方面提供一种数据传输装置,其特征在于,包括:
封装单元,用于将一个应用层数据单元封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述应用层数据单元对应的最后一个TLS帧,所述应用层数据单元为HTTP帧或者URI的对象数据;
确定单元,用于在所述至少一个TLS帧中确定目标TLS帧;
添加单元,用于将所述应用层数据单元的业务信息添加到所述目标TLS帧中;
所述封装单元,还用于将包含所述业务信息的目标TLS帧以及所述至少 一个TLS帧中的其他TLS帧封装成至少一个TCP数据包;
发送单元,用于将所述封装成至少一个TCP数据包发送给节点设备。
在第一种可能的实现方式中,所述确定单元,用于将所述至少一个TLS帧中的第一个TLS帧、最后一个TLS帧或者所有TLS帧确定为所述目标TLS帧。
结合第十五方面或者第十五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述确定单元,用于将所述至少一个TLS帧中的第一个TLS帧及其最后一个TLS帧确定为所述目标TLS帧。
结合第十五方面的第一种或者第二种可能的实现方式,在第三种可能的实现方式中,所述业务信息包括数据类型信息,所述数据类型信息用于指示所述目标TLS帧的数据类型。
结合第十五方面的第一种至第三种中任一种可能的实现方式,在第四种可能的实现方式中,所述业务信息包括策略信息,所述策略信息用于指示对所述目标TLS帧的执行策略,所述执行策略包括Qos策略或者计费策略。
结合第十五方面的第一种至第四种中任一种可能的实现方式,在第五种可能的实现方式中,所述业务信息携带在所述目标TLS帧的TLS头域中。
结合第十五方面可能的实现方式,在第六种可能的实现方式中,所述目标TLS帧用于指示所述至少一个TLS帧中的指定TLS帧的业务信息;
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之后的所有TLS帧;或者
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之前的所有TLS帧;或者
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的前一个TLS帧;或者
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的后一个TLS帧。
结合第十五方面的第六种可能的实现方式,在第七种可能的实现方式中,所述业务信息包括数据类型信息,所述数据类型信息用于指示所述指定TLS帧的数据类型。
结合第十五方面的第六种或者第七种可能的实现方式,在第八种可能的实现方式中,所述业务信息包括策略信息,所述策略信息用于指示对所述指定TLS帧的执行策略,所述执行策略包括Qos策略或者计费策略。
结合第十五方面的第六种至第八种中任一种可能的实现方式,在第九种可能的实现方式中,所述目标TLS帧包含扩展标识信息,所述扩展标识信息用于指示所述目标TLS帧为指示所述至少一个TLS帧中的指定TLS帧的业务信息的协议帧。
结合第十五方面的第六种至第九种中任一种可能的实现方式,在第十种可能的实现方式中,所述业务信息携带在所述目标TLS帧的数据部分。
本发明第十六方面提供一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:
将一个应用层数据单元封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述应用层数据单元对应的最后一个TLS帧,所述应用层数据单元为HTTP帧或者URI的对象数据;
在所述至少一个TLS帧中确定目标TLS帧;
将所述应用层数据单元的业务信息添加到所述目标TLS帧中;
将包含所述业务信息的目标TLS帧以及所述至少一个TLS帧中的其他TLS帧封装成至少一个TCP数据包;
通过所述网络接口将所述至少一个TCP数据包发送给节点设备。
本发明第十七方面提供一种数据解析装置,其特征在于,包括:
接收单元,用于接收节点设备发送的将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成的至少一个TCP数据包,所述至少一个TLS帧是所述节点设备将一个应用层数据单元封装得到的;
获取单元,用于获取所述目标TLS帧中的业务信息;
解析单元,用于根据所述业务信息,对所述应用层数据单元进行数据解析。
在第一种可能的实现方式中,所述装置还包括:
确定单元,用于所述获取单元获取所述目标TLS帧中的业务信息之前,确定所述至少一个TLS帧中的第一个TLS帧、最后一个TLS帧或者所有TLS帧为所述目标TLS帧。
结合第十七方面或者第十七方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:
确定单元,用于所述获取单元获取所述目标TLS帧中的业务信息之前,确定所述至少一个TLS帧中的第一个TLS帧及其最后一个TLS帧为所述目标TLS帧。
结合第十七方面、第十七方面的第一种或者第二种可能的实现方式,在第三种可能的实现方式中,所述业务信息包括数据类型信息;
所述解析单元,用于根据所述数据类型信息,获取所述目标TLS帧的数据类型;将所述目标TLS帧的数据类型确定为所述应用层数据单元的数据类型。
结合第十七方面或者第十七方面的第一种至第三种中任一种可能的实现方式,在第四种可能的实现方式中,所述业务信息包括策略信息;
所述解析单元,用于根据所述策略信息,获取对所述目标TLS帧的执行策略;将对所述目标TLS帧的执行策略确定为对所述应用层数据单元的执行策略。
结合第十七方面或者第十七方面的第一种至第四种中任一种可能的实现方式,在第五种可能的实现方式中,所述获取单元,用于在所述目标TLS帧的TLS头域中获取所述业务信息。
结合第十七方面可能的实现方式,在第六种可能的实现方式中,所述目标TLS帧用于指示所述至少一个TLS帧中的指定TLS帧的业务信息;
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之后的所有TLS帧;或者
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之前的所有TLS帧;或者
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的前一个TLS帧;或者
所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的后一个TLS帧。
结合第十七方面的第六种可能的实现方式,在第七种可能的实现方式中,所述业务信息包括数据类型信息;
所述解析单元,用于根据所述数据类型信息,获取所述至少一个TLS帧中的指定TLS帧的数据类型;将所述指定TLS帧的数据类型确定为所述应用层数据单元的数据类型。
结合第十七方面的第六种或者第七种可能的实现方式,在第八种可能的实现方式中,所述业务信息包括策略信息;
所述解析单元,用于根据所述策略信息,获取对所述至少一个TLS帧中的指定TLS帧的执行策略;将对所述指定TLS帧的执行策略确定为对所述应用层数据单元的执行策略。
结合第十七方面的第八种可能的实现方式,在第九种可能的实现方式中,所述装置还包括:
删除单元,用于所述解析单元将所述指定TLS帧的执行策略确定为所述应用层数据单元的执行策略之后,删除所述目标TLS帧。
结合第十七方面的第六种至第九种中任一种可能的实现方式,在第十种可能的实现方式中,所述装置还包括:
确定单元,用于所述获取单元获取所述目标TLS帧中的业务信息之前,确定所述目标TLS帧包括扩展标识信息,所述扩展标识信息用于指示所述目标TLS帧为指示所述至少一个TLS帧中的指定TLS帧的业务信息的协议帧。
结合第十七方面的第六种至第十种中任一种可能的实现方式,在第十一种可能的实现方式中,
所述获取单元,用于在所述目标TLS帧的数据部分获取所述业务信息。
本发明第十八方面提供一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:
通过所述网络接口接收节点设备发送的将包含业务信息的目标TLS帧以 及至少一个TLS帧中的其他TLS帧封装成的至少一个TCP数据包,所述至少一个TLS帧是所述节点设备将一个应用层数据单元封装得到的;
获取所述目标TLS帧中的业务信息;
根据所述业务信息,对所述应用层数据单元进行数据解析。
本发明第十九方面提供一种协议帧传输***,其特征在于,包括第七方面所述的协议帧封装装置以及第九方面所述的协议帧解析装置。
本发明第二十方面提供一种协议帧传输***,其特征在于,包括第十一方面所述的数据传输装置以及第十三方面所述的数据解析装置。
本发明第二十一方面提供一种数据传输***,其特征在于,包括第十五方面所述的数据传输装置以及第十七方面所述的数据解析装置。
本发明实施例中,通过将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包,将至少一个TCP数据包发送给节点设备,可确保一个TCP数据包的数据部分仅包括一个协议帧的数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例中提供的一种协议帧传输方法的流程示意图;
图2为本发明实施例中提供的一种协议帧解析方法的流程示意图;
图3为本发明第二实施例中提供的一种协议帧传输方法的流程示意图;
图4为本发明第三实施例中提供的一种协议帧传输方法的流程示意图;
图5为本发明第四实施例中提供的一种协议帧传输方法的流程示意图;
图6为本发明第五实施例中提供的一种协议帧传输方法的流程示意图;
图7A为现有的一种协议帧封装成TCP数据包的界面示意图;
图7B为本发明实施例中提供的一种协议帧封装成TCP数据包的界面示意图;
图7C为本发明实施例中提供的一种TCP数据包的结构示意图;
图7D为本发明实施例中提供的一种设置帧的界面示意图;
图7E为本发明实施例中提供的一种HTTP帧的结构示意图;
图7F为本发明实施例中提供的一种TLS帧的结构示意图;
图7G为本发明实施例中提供的另一种协议帧封装成TCP数据包的界面示意图;
图7H为本发明实施例中提供的另一种协议帧封装成TCP数据包的界面示意图;
图7I为本发明实施例中提供的一种对象数据封装成TCP数据包的界面示意图;
图7J为本发明实施例中提供的另一种对象数据封装成TCP数据包的界面示意图;
图8为本发明实施例中提供的一种协议帧传输装置的结构示意图;
图9为本发明第一实施例中提供的一种节点设备的结构示意图;
图10为本发明实施例中提供的一种协议帧解析装置的结构示意图;
图11为本发明第二实施例中提供的一种节点设备的结构示意图;
图12为本发明实施例中提供的一种协议帧传输***的结构示意图;
图13为本发明实施例中提供的一种数据传输方法的流程示意图;
图14为本发明实施例中提供的一种数据解析方法的流程示意图;
图15为本发明实施例中提供的一种数据传输装置的结构示意图;
图16为本发明第三实施例中提供的一种节点设备的结构示意图;
图17为本发明实施例中提供的一种数据解析装置的结构示意图;
图18为本发明第四实施例中提供的一种节点设备的结构示意图;
图19为本发明实施例中提供的一种数据传输***的结构示意图;
图20为本发明另一实施例中提供的一种数据传输方法的结构示意图;
图21为本发明另一实施例中提供的一种数据解析方法的流程示意图;
图22为本发明另一实施例中提供的一种数据传输装置的结构示意图;
图23为本发明第五实施例中提供的一种节点设备的结构示意图;
图24为本发明另一实施例中提供的一种数据解析装置的结构示意图;
图25为本发明第六实施例中提供的一种节点设备的结构示意图;
图26为本发明另一实施例中提供的一种数据传输***的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的协议帧传输方法中,将协议帧根据MSS封装成至少一个TCP数据包,同一个TCP数据包的数据部分包括不同协议帧的数据。进一步的,将至少一个TCP数据包发送给节点设备之后,节点设备无法识别各个协议帧的边界,进而无法对各个协议帧实现数据解析。
本发明实施例提供了一种协议帧传输方法,将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包,将至少一个TCP数据包发送给节点设备,以确保一个TCP数据包的数据部分仅包括一个协议帧的数据。
本发明实施例提及到的协议帧可以包括HTTP帧或者TLS(Transport Layer Security,安全传输层协议)帧。例如,HTTP帧可以为HTTP2.0帧,HTTP2.0位于应用层,HTTP2.0帧为应用层中的数据,可以将一个HTTP帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为HTTP帧对应的最后一个TCP数据包。又如,TLS位于应用层之下传输层之上,指的是为网络通信提供加密、 身份认证及数据完整性保证的一种安全协议,可以将一个HTTP帧封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧包括指示信息,指示信息用于指示最后一个TLS帧为HTTP帧对应的最后一个TLS帧。进一步的,可以将一个TLS帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。
本发明实施例中将一个协议帧封装成至少一个TCP数据包之前,可以将该协议帧压缩成至少一个压缩包,至少一个压缩包仅包括该协议帧。
本发明实施例提及到的节点设备可以包括客户端或者服务器等,例如网页浏览器、电子邮件客户端或者电子邮件服务器等。
本发明实施例提及到的协议帧传输方法可以运行于服务器、客户端、代理客户端或者代理服务器等终端中,具体不受本发明实施例的限制。
请参见图1,图1为本发明第一实施例中提供的一种协议帧传输方法的流程示意图,如图所示本发明实施例中的协议帧封装方法可以包括:
S101,将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息。
终端可以将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。以图7B所示的协议帧封装成TCP数据包的界面示意图为例,终端可以将第一帧(frame1)封装成3个TCP数据包,将第二帧(frame2)封装成3个TCP数据包,其中第一帧的起点为TCP1数据包的起点,第二帧的起点为TCP4数据包的起点,TCP1数据包、TCP2数据包以及TCP3数据包的数据部分仅包括第一帧的数据,TCP4数据包、TCP5数据包以及TCP6数据包的数据部分仅包括第二帧的数据。
例如,第一协议帧和第二协议帧的数据量均为3000字节,终端和节点设备之间协商的预设MSS为1460字节,则终端可以将第一协议帧封装成3个TCP数据包,第一TCP数据包的数据部分的长度为1460字节,第二TCP数据包的数据部分的长度为1460字节,第三TCP数据包的数据部分的长度为80字节,其中第二TCP数据包包括指示信息,指示信息用于指示第二TCP数据 包为第一协议帧对应的最后一个TCP数据包。同理,终端可以将第二协议帧封装成3个TCP数据包,第四TCP数据包的数据部分的长度为1460字节,第五TCP数据包的数据部分的长度为1460字节,第六TCP数据包的数据部分的长度为80字节,其中第六TCP数据包包括指示信息,指示信息用于指示第四TCP数据包为第二协议帧对应的最后一个TCP数据包。
在可选实施例中,协议帧可以为TLS帧或者HTTP帧。其中,TLS帧为TLS基本的协议单位,TLS运行于应用层之下传输层之上。HTTP帧为HTTP基本的协议单位,HTTP运行于应用层,示例性的,HTTP帧可以为HTTP2.0帧。
在可选实施例中,至少一个TCP数据包的数据部分仅包括协议帧的数据。例如,终端将第一协议帧封装成第一TCP数据包和第二TCP数据包,其中第一TCP数据包的数据部分仅包括第一协议帧的数据,第二TCP数据包的数据部分仅包括第一协议帧的数据。同理,终端将第二协议帧封装成第三TCP数据包和第四TCP数据包,其中第三TCP数据包的数据部分仅包括第二协议帧的数据,第四TCP数据包的数据部分仅包括第二协议帧的数据。
在可选实施例中,最后一个TCP数据包的数据部分的长度可以为0,从而指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。例如,第一协议帧的数据量为2000字节,终端和节点设备之间协商的预设MSS为1460字节,终端可以将第一协议帧封装为第一TCP数据包、第二TCP数据包和第三TCP数据包,其中第一TCP数据包的数据部分的长度为1460字节,第二TCP数据包的数据部分的长度为540字节,第三TCP数据包的数据部分的长度为0,从而指示第三TCP数据包为第一协议帧对应的最后一个TCP数据包。
进一步可选的,最后一个TCP数据包的报头可以包括发送序号和确认序号,其中发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,确认序号是根据接收的节点设备发送的数据确认的。
进一步可选的,最后一个TCP数据包的报头可以包括发送序号和确认序号,其中发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,确认序号与最后一个TCP数据包的前一个数据包的确认序号相同。
进一步可选的,终端将一个协议帧封装成至少一个TCP数据包之前,可 以获取管理终端发送的协议帧,协议帧可以包括终端标识信息,终端标识信息用于指示将协议帧对应的至少一个TCP数据包发送给终端标识信息对应的节点设备。
进一步可选的,终端可以在最后一个包含数据的TCP数据包后增加一个TCP数据包,其中增加的TCP数据包的数据部分的长度为0。例如,当协议帧对应的最后一个包含数据的TCP数据包的数据量等于预设MSS时,终端可以在最后一个包含数据的TCP数据包后增加一个TCP数据包,其中增加的TCP数据包的数据部分的长度为0。又如,当协议帧对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,终端可以在最后一个包含数据的TCP数据包后增加一个TCP数据包,其中增加的TCP数据包的数据部分的长度为0。
在可选实施例中,当协议帧对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,最后一个包含数据的TCP数据包仅包括协议帧的数据,其中指示信息为最后一个包含数据的TCP数据包的数据量。例如,第一协议帧的数据量为2000字节,终端和节点设备之间协商的预设MSS为1460字节,终端可以将第一协议帧封装为第一TCP数据包以及第二TCP数据包,其中第一TCP数据包的数据部分的长度为1460字节,第二TCP数据包的数据部分的长度为540字节,第二TCP数据包仅包括第一协议帧的数据,指示信息为第二TCP数据包的数据量,终端可以根据指示信息确定第二TCP数据包的数据量小于预设MSS,则第二TCP数据包为第一协议帧的最后一个TCP数据包。
在可选实施例中,指示信息可以为包含在最后一个TCP数据包的报头中的标识信息。具体实现中,当协议帧对应的最后一个包含数据的TCP数据包的数据量等于预设MSS时,终端可以在最后一个包含数据的TCP数据包的报头增加标识信息。又如,当协议帧对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,终端可以在最后一个包含数据的TCP数据包的报头增加标识信息。例如,第一协议帧的数据量为2000字节,终端和节点设备之间协商的预设MSS为1460字节,终端可以将第一协议帧封装为第一TCP数据包以及第二TCP数据包,其中第一TCP数据包的数据部分的长度为1460字节,第二TCP数据包的数据部分的长度为540字节,第二TCP数据包的报 头包括标识信息,终端可以根据标识信息确定第二TCP数据包为第一协议帧的最后一个TCP数据包。
在可选实施例中,终端将一个协议帧封装成至少一个TCP数据包之前,还可以向节点设备发送通知消息,通知消息可以用于至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。
进一步可选的,通知消息可以携带在协议帧的HTTP2.0头域或者HTTP2.0设置帧中。
在可选实施例中,至少一个TCP数据包的报头可以包括数据类型信息,数据类型信息用于指示TCP数据包的数据部分的数据类型。现有的协议帧解析方法是通过协议帧的帧头对协议帧进行盲解析,无法准确获取协议帧的数据类型。而本发明实施例中至少一个TCP数据包的报头包括数据类型信息,节点设备可以根据数据类型信息获取TCP数据包的数据部分的数据类型,进而获取协议帧的数据类型,提高数据解析的精准度。
在可选实施例中,终端将一个协议帧封装成至少一个TCP数据包之前,可以将该协议帧压缩成至少一个压缩包,至少一个压缩包仅包括该协议帧。具体实现中,终端通常通过预设压缩算法将协议帧进行压缩,进而将压缩后的协议帧传输给节点设备,以提高传输速率。为了避免将不同协议帧压缩到同一个压缩包中,导致无法识别各个协议帧,进而无法分别将各个协议帧封装成至少一个TCP数据包,本发明实施例将一个协议帧压缩在至少一个压缩包中,将压缩包中的数据封装成至少一个TCP数据包,以实现分别将各个协议帧封装成至少一个TCP数据包。
在可选实施例中,当协议帧为HTTP帧时,可以将HTTP帧封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为HTTP帧对应的最后一个TLS帧,并分别将各个TLS帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为TLS帧对应的最后一个TCP数据包。
以图7G所示的协议帧封装成TCP数据包的界面示意图为例,终端将HTTP帧封装成两个TLS帧,其中TLS frame2为该HTTP帧对应的最后一个 TLS帧,TLS frame1和TLS frame2仅包含该HTTP帧的数据。进一步的,终端可以将TLS frame1封装成3个TCP数据包,其中TCP3数据包包括指示信息,指示信息用于指示TCP3数据包为TLS frame1对应的最后一个TCP数据包,具体的,TCP3数据包的数据部分的长度可以为0,从而指示TCP3数据包为TLS frame1对应的最后一个TCP数据包;或者当TCP3数据包的数据量小于预设MSS时,指示信息可以为TCP3数据包的数据量,从而指示TCP3数据包为TLS frame1对应的最后一个TCP数据包;或者指示信息可以为包含在TCP3数据包的报头中的标识信息,从而指示TCP3数据包为TLS frame1对应的最后一个TCP数据包。同理,终端可以将TLS frame2封装成5个TCP数据包,其中TCP8数据包包括指示信息,指示信息用于指示TCP8数据包为TLS frame2对应的最后一个TCP数据包,具体的,TCP8数据包的数据部分的长度可以为0,从而指示TCP8数据包为TLS frame2对应的最后一个TCP数据包;或者当TCP8数据包的数据量小于预设MSS时,指示信息可以为TCP8数据包的数据量,从而指示TCP8数据包为TLS frame2对应的最后一个TCP数据包;或者指示信息可以为包含在TCP8数据包的报头中的标识信息,从而指示TCP8数据包为TLS frame2对应的最后一个TCP数据包。
本发明实施例可确保TCP1~TCP3数据包的数据部分仅包括TLS frame1的数据,TCP4~TCP8数据包的数据部分仅包括TLS frame2的数据,TLS frame1和TLS frame2仅包括该HTTP帧的数据。
在可选实施例中,当协议帧为HTTP帧时,可以将HTTP帧封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为HTTP帧对应的最后一个TLS帧,并将至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为HTTP帧对应的最后一个TCP数据包。
以图7H所示的协议帧封装成TCP数据包的界面示意图为例,终端将HTTP帧封装成两个TLS帧,其中TLS frame2为该HTTP帧对应的最后一个TLS帧,TLS frame1和TLS frame2仅包含该HTTP帧的数据。进一步的,终端可以将TLS frame1和TL S frame2封装成8个TCP数据包,其中TCP8数据包包括指示信息,指示信息用于指示TCP8数据包为该HTTP帧对应的最后一 个TCP数据包,具体的,TCP8数据包的数据部分的长度可以为0,从而指示TCP8数据包为该HTTP帧对应的最后一个TCP数据包;或者当TCP8数据包的数据量小于预设MSS时,指示信息可以为TCP8数据包的数据量,从而指示TCP3数据包为该HTTP帧对应的最后一个TCP数据包;或者指示信息可以为包含在TCP8数据包的报头中的标识信息,从而指示TCP8数据包为该HTTP帧对应的最后一个TCP数据包。另外,TCP3数据包的数据部分可以包括TLS frame1的数据和TLS frame2的数据。TCP1~TCP7数据包的数据量可以等于预设MSS。
本发明实施例中TCP数据包的数据部分仅包括该HTTP帧的数据,且TCP数据包的数据部分可包括多个TLS帧的数据。本发明实施例中一个HTTP帧对应的TCP数据包仅包括一个指示信息,相对上述封装方法,本发明实施例可提高资源利用率,节省封装开销。
在可选实施例中,当协议帧为TLS帧时,TLS帧可以包括数据类型信息,数据类型信息用于指示TLS帧的数据类型。以图7F为例,TLS帧格式可以如图7F所示,终端可以在TLS帧的ContentType字段增加数据类型信息,数据类型信息用于指示该TLS帧的数据类型。
示例性的,传统TLS帧的ContentType字段包含的内容具体可以为:ContentType::=ENUMERATED{change_cipher_spec(20),alert(21),handshake(22),application_data(23),(255)}。本发明实施例可在TLS帧的ContentType字段增加数据类型信息,例如增加数据类型信息的ContentType字段可以为:ContentType::=ENUMERATED{change_cipher_spec(20),alert(21),handshake(22),application_data(23),(255)Text/HTML(24),Text/CSS(25),Text/JS(26),Image/JPEG(27),Application/Video(28),Application/Audio(29)…},其中Text/HTML(24)为数据类型信息,用于指示该TLS帧的数据类型是HTML文本。Text/CSS(25)为数据类型信息,用于指示该TLS帧的数据类型是CSS文本。Text/JS(26)为数据类型信息,用于指示该TLS帧的数据类型是javascript文本。Image/JPEG(27)为数据类型信息,用于指示该TLS帧的数据类型是JPEG图片。Application/Video(28)为数据类型信息,用于指示该TLS帧的数据类型是视频。Application/Audio(29)为数据类型信息,用于指示该TLS帧的数据类型是音频。
进一步的,终端将TLS帧封装成至少一个TCP数据包时,可以在至少一个TCP数据包的报头增加数据类型信息,数据类型信息用于指示该TCP数据包的数据部分的数据类型。
S102,将至少一个TCP数据包发送给节点设备。
终端将协议帧封装成至少一个TCP数据包之后,可以将至少一个TCP数据包发送给节点设备。
在可选实施例中,终端将至少一个TCP数据包发送给节点设备之前,可以接收节点设备发送的TCP数据包,在至少一个TCP数据包中的待发送的TCP数据包中携带节点设备发送的TCP数据包的确认序号,确认序号用于指示正确接收节点设备发送的TCP数据包。现有协议帧传输方法中,终端接收到节点设备发送的TCP数据包之后,可以向节点设备发送ACK数据包,ACK数据包的数据部分的长度为0,用于指示终端正确接收节点设备发送的TCP数据包,资源利用率较低。本发明实施例中接收到节点设备发送的TCP数据包之后,可以在至少一个TCP数据包中的待发送的TCP数据包中携带节点设备发送的TCP数据包的确认序号,确认序号用于指示正确接收节点设备发送的TCP数据包,本发明实施例在不单独发送ACK数据包的情况下,指示正确接收节点设备发送的TCP数据包,可提高资源利用率。
在图1所示的协议帧封装方法中,将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包,将至少一个TCP数据包发送给节点设备,以确保一个TCP数据包的数据部分仅包括一个协议帧的数据。
请参见图2,图2为本发明实施例中提供的一种协议帧解析方法的流程示意图,如图所示本发明实施例中的协议帧解析方法可以包括:
S201,接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息。
终端可以接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息 用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。例如,节点设备可以将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,节点设备将上述至少一个TCP数据包发送给终端,进而终端接收上述至少一个TCP数据包。
在可选实施例中,终端接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包之前,可以向节点设备发送TCP数据包。进一步的,终端接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包之后,当接收的TCP数据包中携带向节点设备发送的TCP数据包的确认序号时,终端可以根据确认序号,确定节点设备正确接收向节点设备发送的TCP数据包。
例如,终端接收节点设备发送的至少一个TCP数据包之前,可以向节点设备发送TCP数据包,节点设备接收终端发送的TCP数据包,在至少一个TCP数据包中的待发送的TCP数据包中携带终端发送的TCP数据包的确认序号,则终端接收到节点设备发送的至少一个TCP数据包之后,可以根据确认序号,确定节点设备正确接收终端发送的TCP数据包。
S202,根据指示信息,确定下一个协议帧对应的起始TCP数据包。
终端可以根据指示信息,确定下一个协议帧对应的起始TCP数据包,其中下一个协议帧对应的起始TCP数据包为协议帧对应的最后一个TCP数据包的下一个TCP数据包。
在可选实施例中,当最后一个TCP数据包的数据部分的长度为0时,终端可以确定下一个TCP数据包为下一个协议帧对应的起始TCP数据包。例如,节点设备在协议帧对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,其中增加的TCP数据包的数据部分的长度为0,则终端可以确定增加的TCP数据包的下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
在可选实施例中,当最后一个TCP数据包的数据量小于预设MSS时,终端可以确定下一个TCP数据包为下一个协议帧对应的起始TCP数据包。例如,终端可以判断各个TCP数据包的数据量是否小于预设MSS,当TCP数据包的数据量小于预设MSS时,终端可以确定该TCP数据包的下一个TCP数据包为下一个协议帧对应的起始TCP数据包。进一步可选的,当TCP数据包的数据量等于预设MSS时,终端可以判断下一个TCP数据包的数据部分的长度是 否为0,当下一个TCP数据包的数据部分的长度为0时,终端可以确定数据部分的长度为0的TCP数据包的下一个TCP数据包为下一个协议帧对应的起始TCP数据包。进一步可选的,当TCP数据包的数据量等于预设MSS时,终端可以判断各个TCP数据包的报头是否包括标识信息,当TCP数据包的报头包括标识信息时,终端可以确定该TCP数据包的下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
在可选实施例中,当最后一个TCP数据包的报头包括标识信息时,终端可以确定下一个TCP数据包为下一个协议帧对应的起始TCP数据包。例如,终端可以判断各个TCP数据包的报头是否包括标识信息,当TCP数据包的报头包括标识信息时,终端可以确定该TCP数据包的下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
在可选实施例中,终端根据指示信息,确定下一个协议帧对应的起始TCP数据包之前,可以接收节点设备发送的通知消息,根据通知消息,获取协议帧对应的最后一个TCP数据包中的指示信息。例如,终端接收节点设备发送的通知消息,通知消息用于指示终端识别下一个协议帧的边界,进而对下一个协议帧进行数据解析,则终端可以根据通知消息,获取协议帧对应的最后一个TCP数据包中的指示信息,根据指示信息确定下一个协议帧对应的起始TCP数据包,并从起始TCP数据包开始对下一个协议帧进行数据解析。
S203,从起始TCP数据包开始对下一个协议帧进行数据解析。
终端确定下一个协议帧对应的起始TCP数据包之后,可以从起始TCP数据包开始对下一个协议帧进行数据解析。例如,终端确定下一个协议帧对应的起始TCP数据包为第三TCP数据包,则终端可以从第三TCP数据包开始解析下一个协议帧的帧头和payload,并根据payload中的数据识别下一个协议帧的数据类型。协议帧的数据类型可以包括文本、图片、视频或者音频等。
在可选实施例中,至少一个TCP数据包的报头可以包括数据类型信息,则终端可以根据数据类型信息,获取TCP数据包的数据部分的数据类型,进而获取协议帧的数据类型。相对现有终端通过协议帧的帧头对协议帧进行盲解析,无法准确获取协议帧的数据类型。而本发明实施例根据数据类型信息获取TCP数据包的数据部分的数据类型,进而获取协议帧的数据类型,可提高数据 解析的精准度。
在可选实施例中,终端从起始TCP数据包对下一个协议帧进行数据解析之前,可以确定下一个协议帧是通过静态表实现报头字段压缩的。具体实现中,协议帧可以通过静态表或者动态表实现报头字段压缩。其中静态表为常用的高频的头域,由协议规定而成,在协议帧传输过程中保持不变,而动态表在传输过程中是动态变化的。若协议帧是通过动态表实现报头字段压缩的,且终端为源eNB(演进型基站),则由源eNB维护该动态表,当终端由源eNB切换为目标eNB时,目标eNB无法获取该动态表,进而无法对协议帧进行数据解析。本发明实施例确定下一个协议帧是通过静态表实现报头字段压缩的之后,从起始TCP数据包对下一个协议帧进行数据解析,可提高数据解析效率。
在可选实施例中,下一个协议帧对应的各个TCP数据包属于同一HTPP2.0流,则终端从起始TCP数据包开始对下一个协议帧进行数据解析之后,当对下一个协议帧数据解析失败时,暂停对HTTP2.0流包括的协议帧进行数据解析。例如,节点设备一张图片划分为多个协议帧,多个协议帧属于同一HTPP2.0流,各个协议帧的数据类型为图片,节点设备将每个协议帧封装成至少一个TCP数据包,并将至少一个TCP数据包发送给终端之后,当终端将其中一个协议帧的数据类型解析为视频时,也会将该HTPP2.0流中的其他协议帧的数据类型解析为视频,本发明实施例在对协议帧数据解析失败时,暂停对HTTP2.0流包括的其他协议帧进行数据解析,可提高数据解析效率。
在图2所示的协议帧解析方法中,接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,根据指示信息,确定下一个协议帧对应的起始TCP数据包,从起始TCP数据包开始对下一个协议帧进行数据解析,可有效识别下一个协议帧的边界,以实现对下一个协议帧的数据解析。
请参见图3,图3为本发明第二实施例中提供的一种协议帧传输方法的流程示意图。本发明实施例中,第一节点设备将协议帧对应的TCP数据包通过基站发送给第二节点设备的过程中,进行了基站切换,即第一节点设备将TCP数据包通过第一基站发送给第二节点设备的过程中,切换为第一节点设备将 TCP数据包通过第二基站发送给第二节点设备。当第一节点设备为服务器时,第二节点设备可以为客户端;当第一节点设备为客户端时,第二节点设备可以为服务器,具体不受本发明实施例的限制。如图所示本发明实施例中的协议帧传输方法可以包括:
S301,第一节点设备将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包的数据部分的长度为0。
第一节点设备可以将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包的数据部分的长度为0,从而指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。其中,协议帧可以为HTTP帧或者TLS帧,至少一个TCP数据包的数据部分仅包括该协议帧的数据。例如,协议帧的数据量为4000字节,第一节点设备和第三节点设备之间协商的预设MSS为1460字节,则第一节点设备可以将协议帧封装为3个TCP数据包,其中TCP1数据包的数据部分的长度为1460字节,TCP2数据包的数据部分的长度为1460字节,TCP3数据包的数据部分的长度为1080字节,TCP4数据包的数据部分的长度为0。
在可选实施例中,第一节点设备可以在协议帧对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,其中增加的TCP数据包的数据部分的长度为0。
在可选实施例中,第一节点设备可以接收第一基站发送的TCP数据包,进而在至少一个TCP数据包中的待发送的TCP数据包中携带第一基站发送的TCP数据包的确认序号,确认序号用于指示正确接收第一基站发送的TCP数据包。
现有第一节点设备接收第一基站发送的TCP数据包之后,需要向第一基站发送ACK数据包,ACK数据包用于指示第一节点设备正确接收第一基站发送的TCP数据,ACK数据包的数据部分的长度为0,且第一基站接收到ACK数据包之后,将误认为ACK数据包为协议帧对应的最后一个TCP数据包,针对上述技术问题,本发明实施例可在至少一个TCP数据包中的待发送的TCP数据包中携带第一基站发送的TCP数据包的确认序号,确认序号用于指示正确接收第一基站发送的TCP数据包。
以图7C为例,当待发送的TCP数据包为TCP1数据包时,第一节点设备可以在TCP1数据包的32位确认序号处增加第一基站发送的TCP数据包的确认序号,第一基站接收到TCP1数据包之后,可以根据增加的确认序号,确定第一节点设备正确接收第一基站发送的TCP数据包。
在可选实施例中,第一节点设备将一个协议帧封装成至少一个TCP数据包之前,可以向第二节点设备发送通知消息,通知消息用于至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。
以图7D所示的设置帧的界面示意图为例,第一节点设备可以对设置帧进行扩展,在设置帧中增加字段“ENABLE_FRAME_TCP_ENCAP 0x71”,第二节点设备接收到该设置帧之后,可以根据上述字段确定第一节点设备的封装方式,进而将待发送给第一节点设备的协议帧通过上述封装方式封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。
以图7E所示的HTTP帧的结构示意图为例,HTTP2.0帧可以包括HEADERS(报头字段)和DATA(数据字段),HTTP1.1帧的首部信息封装在报头字段,第一节点设备可以在HTTP2.0头域(即报头字段)增加字段“TCP-Encapsulation:frame”,将增加字段的HTTP帧发送给第二节点设备,第二节点设备接收到增加字段的HTTP帧之后,在待发送的HTTP帧的HTTP2.0头域增加上述字段,并将增加字段的待发送HTTP帧发送给第一节点设备,则第一节点设备和第二节点设备协商得到通过上述封装方式对协议帧进行封装,进而将协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。
在可选实施例中,至少一个TCP数据包的报头可以包括数据类型信息,数据类型信息用于指示TCP数据包的数据部分的数据类型。
以图7C为例,第一节点设备可以在包含数据的TCP数据包的选项字段增加数据类型信息,数据类型信息用于指示该TCP数据包的数据部分的数据类 型。TCP数据包的数据部分的数据类型可以用协商设定的多位字节来表示,示例性的,数据类型信息可以为0001,用于指示TCP数据包的数据部分的数据类型为text或者html,即文本;数据类型信息可以为0010,用于指示TCP数据包的数据部分的数据类型为image或者jpeg,即图片;数据类型信息可以为0011,用于指示TCP数据包的数据部分的数据类型为video或者mp4,即音频。
以图7F为例,当协议帧为TLS帧时,TLS帧格式可以如图7F所示,第一节点设备可以在TLS帧的ContentType字段增加数据类型信息,数据类型信息用于指示该TLS帧的数据类型。进一步的,第一节点设备将TLS帧封装成至少一个TCP数据包时,可以在至少一个TCP数据包的报头增加数据类型信息,数据类型信息用于指示该TCP数据包的数据部分的数据类型。
S302,第一节点设备将至少一个TCP数据包发送给第一基站。
第一节点设备可以将至少一个TCP数据包发送给第一基站。例如,第一节点设备可以将TCP1数据包发送给第一基站。
S303,第一基站将至少一个TCP数据包发送给第二节点设备。
第一基站可以将第一节点设备发送的至少一个TCP数据包发送给第二节点设备。例如,第一基站可以将TCP1数据包发送给第二节点设备。
S304,第一基站与第二基站之间进行切换。
第一基站将TCP1数据包发送给第二节点设备之后,与第二基站之间进行切换。例如,第二节点设备从一个小区移动到另一个小区,第一基站的发射信号覆盖第一小区,第二基站的发射信号覆盖第二小区,为了保证通信的连续性,第二节点设备与第一基站之间的链路切换为第二节点设备与第二基站之间的链路。又如,第二节点设备在同一小区为避免同频干扰,从一个无线频道切换到另一个无线频道,即第二节点设备与第一基站之间的链路切换为第二节点设备与第二基站之间的链路。
S305,第一节点设备将至少一个TCP数据包发送给第二基站。
第一基站和第二基站之间进行切换之后,第一节点设备可以将至少一个TCP数据包发送给第二基站。例如,第一节点设备将TCP1数据包发送给第一基站之后,可以将TCP2数据包、TCP3数据包以及TCP4数据包等发送给第二基站。
在可选实施例中,协议帧对应的最后一个TCP数据包的报头可以包括发送序号和确认序号,其中发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,确认序号是根据接收的第二基站发送的数据确认的。
具体实现中,TCP数据包的发送序号为前一个TCP数据包的发送序号及前一个TCP数据包的数据部分的长度之和。TCP4数据包的发送序号为TCP3数据包的发送序号及TCP3数据包的数据部分的长度之和,其中TCP4数据包的数据部分的长度为0,则TCP5数据包的发送序号为TCP4数据包的发送序号。即在第一协议帧对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,增加的TCP数据包的发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同。
具体实现中,第一节点设备向第二基站发送TCP2数据包之后,第二基站向第一节点设备返回TCP2数据包的确认序号,以指示第二基站正确接收TCP2数据包,则第一节点设备生成TCP3数据包的确认序号,其中TCP3数据包的确认序号是通过TCP2数据包的确认序号加1得到的。即在第一协议帧对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,增加的TCP数据包的确认序号是根据接收的第二基站发送的数据确认的。
在可选实施例中,第一节点设备将至少一个TCP数据包发送给第二基站之前,可以向第二基站发送通知消息,通知消息用于至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包,以便第二基站根据通知消息,获取数据部分的长度为0的TCP数据包。
S306,第二基站确定数据部分的长度为0的TCP数据包的下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
第二基站接收到第一节点设备发送的至少一个TCP数据包之后,可以判断是否存在数据部分的长度为0的TCP数据包,当存在数据部分的长度为0的TCP数据包时,将下一个TCP数据包确定为下一个协议帧对应的起始TCP数据包。例如,第二基站判断TCP4数据包的数据部分的长度为0,则第二基站可以确定TCP5数据包为第二协议帧对应的起始TCP数据包。
在可选实施例中,第一节点设备可以向第二基站发送通知消息,通知消息 用于至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。具体实现中,第二基站接收到通知消息之后,可以知悉第一节点设备的协议帧封装方式,进而根据通知消息,获取协议帧对应的最后一个TCP数据包中的指示信息,根据指示信息,确定数据部分的长度为0的TCP数据包的下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
S307,第二基站从起始TCP数据包开始对下一个协议帧进行数据解析。
第二基站确定下一个协议帧对应的起始TCP数据包之后,可以从起始TCP数据包开始对下一个协议帧进行数据解析。例如,第二基站可以从TCP5数据包开始解析第二协议帧的帧头和payload,并根据payload中的数据识别第二协议帧的数据类型。
在可选实施例中,至少一个TCP数据包的报头可以包括数据类型信息,则第二基站可以根据数据类型信息,获取TCP数据包的数据部分的数据类型,进而获取下一个协议帧的数据类型。
在可选实施例中,第二基站从起始TCP数据包对下一个协议帧进行数据解析之前,可以确定下一个协议帧是通过静态表实现报头字段压缩的。具体实现中,若协议帧是通过动态表实现报头字段压缩的,则由第一基站维护该动态表,当第一基站切换为第二基站时,第二基站无法获取该动态表,进而无法对下一个协议帧进行数据解析。本发明实施例中,确定下一个协议帧是通过静态表实现报头字段压缩的之后,对下一个协议帧进行数据解析,可提高数据解析效率。
在可选实施例中,下一个协议帧对应的各个TCP数据包属于同一HTPP2.0流,则第二基站从起始TCP数据包开始对下一个协议帧进行数据解析之后,当对下一个协议帧数据解析失败时,暂停对HTTP2.0流包括的协议帧进行数据解析。例如,第二节点设备将一张图片划分为多个协议帧,多个协议帧属于同一HTPP2.0流,各个协议帧的数据类型为图片,第一节点设备将每个协议帧封装成至少一个TCP数据包,并将至少一个TCP数据包发送给第二基站之后,当第二基站将其中一个协议帧的数据类型解析为视频时,也会将该HTPP2.0流中的其他协议帧的数据类型解析为视频,本发明实施例在对协议帧 数据解析失败时,暂停对HTTP2.0流包括的其他协议帧进行数据解析,可提高数据解析效率。
S308,第二基站将数据解析后的TCP数据包发送给第二节点设备。
在图3所示的协议帧传输方法中,第一节点设备将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包的数据部分的长度为0,第一基站与第二基站之间进行切换,第一节点设备将至少一个TCP数据包发送给第二基站,第二基站确定数据部分的长度为0的TCP数据包的下一个TCP数据包为下一个协议帧对应的起始TCP数据包,进而从起始TCP数据包开始对下一个协议帧进行数据解析,并将数据解析后的TCP数据包发送给第二节点设备,可确保一个TCP数据包的数据部分仅包括一个协议帧的数据,以便第二基站有效识别下一个协议帧的边界,以实现对下一个协议帧的数据解析。
请参见图4,图4为本发明第三实施例中提供的一种协议帧传输方法的流程示意图。本发明实施例中,管理终端将协议帧通过第一节点设备发送给第三节点设备的过程中,实时***第二节点设备,第二节点设备将第一节点设备发送的TCP数据包进行数据解析,并将数据解析后的TCP数据包发送给第三节点设备。第二节点设备可以为路由器、分组网关节点或者服务网关节点等。当管理终端为服务器时,第一节点设备可以为代理服务器,第三节点设备可以为客户端;当管理终端为客户端时,第一节点设备可以为代理客户端,第二节点设备可以为服务器,具体不受本发明实施例的限制。如图所示本发明实施例中的协议帧传输方法可以包括:
S401,管理终端向第一节点设备发送协议帧,协议帧包括终端标识信息。
管理终端可以向第一节点设备发送协议帧,协议帧包括终端标识信息,终端标识信息用于指示将协议帧对应的至少一个TCP数据包发送给终端标识信息对应的节点设备,即第三节点设备。
S402,第一节点设备将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包的数据部分的长度为0。
S403,第一节点设备将至少一个TCP数据包发送给第三节点设备。
第一节点设备可以将至少一个TCP数据包发送给第三节点设备。例如,第一节点设备可以将TCP1数据包发送给第三节点设备。
S404,第一节点设备将至少一个TCP数据包发送给第二节点设备。
第一节点设备将TCP1数据包发送给第三节点设备之后,实时***了有数据解析需求的第二节点设备,则第一节点设备将TCP2数据包、TCP3数据包以及TCP4数据包等发送给第二节点设备。
在可选实施例中,协议帧对应的最后一个TCP数据包的报头可以包括发送序号和确认序号,其中发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,确认序号与最后一个TCP数据包的前一个数据包的确认序号相同。
具体实现中,TCP数据包的发送序号为前一个TCP数据包的发送序号及前一个TCP数据包的数据部分的长度之和。TCP4数据包的发送序号为TCP3数据包的发送序号及TCP3数据包的数据部分的长度之和,其中TCP4数据包的数据部分的长度为0,则TCP5数据包的发送序号为TCP4数据包的发送序号。即在第一协议帧对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,增加的TCP数据包的发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同。
具体实现中,第一节点设备为代理客户端或者代理服务器,第一节点设备向第二节点设备发送TCP数据包,第二节点设备接收到TCP数据包之后,将TCP数据包的确认序号发送给管理终端,第一节点设备无法确认第二节点设备是否接收到TCP数据包。则在第一协议帧对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,增加的TCP数据包的确认序号与最后一个包含数据的TCP数据包的确认序号相同。
S405,第二节点设备确定数据部分的长度为0的TCP数据包的下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
S406,第二节点设备从起始TCP数据包开始对下一个协议帧进行数据解析。
S407,第二节点设备将数据解析后的TCP数据包发送给第三节点设备。
在图4所示的协议帧传输方法中,第一节点设备将管理终端发送的一个协 议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包的数据部分的长度为0,第一节点设备将至少一个TCP数据包发送给第二节点设备,第二节点设备确定数据部分的长度为0的TCP数据包的下一个TCP数据包为下一个协议帧对应的起始TCP数据包,进而从起始TCP数据包开始对下一个协议帧进行数据解析,并将数据解析后的TCP数据包发送给第三节点设备,可确保一个TCP数据包的数据部分仅包括一个协议帧的数据,以便第二节点设备有效识别下一个协议帧的边界,以实现对下一个协议帧的数据解析。
请参见图5,图5为本发明第四实施例中提供的一种协议帧传输方法的流程示意图,如图所示本发明实施例中的协议帧传输方法可以包括:
S501,第一节点设备将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包的数据量小于预设MSS。
第一节点设备可以将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包的数据量小于预设MSS,从而指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。例如,协议帧的数据量为4000字节,第一节点设备和第三节点设备之间协商的预设MSS为1460字节,则第一节点设备可以将协议帧封装为3个TCP数据包,其中TCP1数据包的数据部分的长度为1460字节,TCP2数据包的数据部分的长度为1460字节,TCP3数据包的数据部分的长度为1080字节。
S502,第一节点设备将至少一个TCP数据包发送给第三节点设备。
S503,第一节点设备将至少一个TCP数据包发送给第二节点设备。
S504,第二节点设备确定数据量小于预设MSS的TCP数据包的下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
S505,第二节点设备从起始TCP数据包开始对下一个协议帧进行数据解析。
S506,第二节点设备将数据解析后的TCP数据包发送给第三节点设备。
在图5所示的协议帧传输方法中,第一节点设备将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包的数据量小 于预设MSS,第一节点设备将至少一个TCP数据包发送给第二节点设备,第二节点设备确定数据量小于预设MSS的TCP数据包的下一个TCP数据包为下一个协议帧对应的起始TCP数据包,进而从起始TCP数据包开始对下一个协议帧进行数据解析,并将数据解析后的TCP数据包发送给第三节点设备,可确保一个TCP数据包的数据部分仅包括一个协议帧的数据,以便第二节点设备有效识别下一个协议帧的边界,以实现对下一个协议帧的数据解析。
请参见图6,图6为本发明第五实施例中提供的一种协议帧传输方法的流程示意图,如图所示本发明实施例中的协议帧传输方法可以包括:
S601,第一节点设备将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包的报头包括标识信息。
第一节点设备可以将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包的报头包括标识信息,从而指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。例如,协议帧的数据量为4000字节,第一节点设备和第三节点设备之间协商的预设MSS为1460字节,则第一节点设备可以将协议帧封装为3个TCP数据包,其中TCP1数据包的数据部分的长度为1460字节,TCP2数据包的数据部分的长度为1460字节,TCP3数据包的数据部分的长度为1080字节,第一节点设备在TCP3数据包的报头增加标识信息。
以图7C为例,第一节点设备可以在协议帧对应的最后一个TCP数据包的选项字段增加标识信息,从而指示该TCP数据包为协议帧对应的最后一个TCP数据包。
S602,第一节点设备将至少一个TCP数据包发送给第三节点设备。
S603,第一节点设备将至少一个TCP数据包发送给第二节点设备。
S604,第二节点设备确定报头包括标识信息的TCP数据包的下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
S605,第二节点设备从起始TCP数据包开始对下一个协议帧进行数据解析。
S606,第二节点设备将数据解析后的TCP数据包发送给第三节点设备。
在图6所示的协议帧传输方法中,第一节点设备将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包的报头包括标识信息,第一节点设备将至少一个TCP数据包发送给第二节点设备,第二节点设备确定报头包括标识信息的TCP数据包的下一个TCP数据包为下一个协议帧对应的起始TCP数据包,进而从起始TCP数据包开始对下一个协议帧进行数据解析,并将数据解析后的TCP数据包发送给第三节点设备,可确保一个TCP数据包的数据部分仅包括一个协议帧的数据,以便第二节点设备有效识别下一个协议帧的边界,以实现对下一个协议帧的数据解析。
本发明实施例还提供了一种计算机存储介质,其中,所述计算机存储介质可存储有程序,该程序执行时包括上述图1、图3~图6或图13所示的方法实施例中的部分或全部步骤。
本发明实施例还提供了一种计算机存储介质,其中,所述计算机存储介质可存储有程序,该程序执行时包括上述图2~图6或图14所示的方法实施例中的部分或全部步骤。
请参见图8,图8为本发明实施例中提供的一种协议帧传输装置的结构示意图,所述协议帧传输装置可以用于实施结合图1或者图3~图6所示的方法实施例中的部分或全部步骤,所述协议帧传输装置至少可以包括封装单元801以及发送单元802,其中:
封装单元801,用于将一个协议帧封装成至少一个TCP数据包,其中至少一个TCP数据包中的最后一个TCP数据包可以包括指示信息,指示信息可以用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。
发送单元802,用于将至少一个TCP数据包发送给节点设备。
在可选实施例中,最后一个TCP数据包的数据部分的长度可以为0,从而指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。
进一步可选的,最后一个TCP数据包的报头可以包括发送序号和确认序号,其中,发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同, 确认序号是根据接收的节点设备发送的数据确认的。
进一步可选的,最后一个TCP数据包的报头可以包括发送序号和确认序号,其中,发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,确认序号与最后一个TCP数据包的前一个数据包的确认序号相同。
进一步可选的,本发明实施例中的协议帧传输装置还可以包括:
获取单元803,用于封装单元801将协议帧封装成至少一个TCP数据包之前,获取管理终端发送的协议帧,其中,协议帧可以包括终端标识信息,终端标识信息可以用于指示将协议帧对应的至少一个TCP数据包发送给终端标识信息对应的节点设备。
进一步可选的,封装单元801,用于当协议帧对应的最后一个包含数据的TCP数据包的数据量等于预设MSS时,在最后一个包含数据的TCP数据包后增加一个TCP数据包,其中,增加的TCP数据包的数据部分的长度可以为0。
在可选实施例中,封装单元801,用于当协议帧对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,最后一个包含数据的TCP数据包仅包括协议帧的数据,其中,指示信息可以为最后一个包含数据的TCP数据包的数据量。
在可选实施例中,指示信息可以为包含在最后一个TCP数据包的报头中的标识信息。
在可选实施例中,至少一个TCP数据包的数据部分仅包括协议帧的数据。
在可选实施例中,本发明实施例中的协议帧传输装置还可以包括:
接收单元804,用于接收节点设备发送的TCP数据包。
封装单元801,用于在至少一个TCP数据包中的待发送的TCP数据包中携带节点设备发送的TCP数据包的确认序号,其中,确认序号可以用于指示正确接收节点设备发送的TCP数据包。
在可选实施例中,发送单元802,还用于封装单元801将协议帧封装成至少一个TCP数据包之前,向节点设备发送通知消息,其中,通知消息可以用于至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息可以用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。
进一步可选的,通知信息可以携带在协议帧的HTTP2.0头域或者HTTP2.0 设置帧中。
在可选实施例中,至少一个TCP数据包的报头可以包括数据类型信息,其中,数据类型信息可以用于指示TCP数据包的数据部分的数据类型。
在可选实施例中,协议帧可以为TLS帧或者HTTP帧。
在可选实施例中,当协议帧为HTTP帧时,封装单元801,用于将HTTP帧封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为HTTP帧对应的最后一个TLS帧,并将至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为HTTP帧对应的最后一个TCP数据包。
在可选实施例中,当协议帧为HTTP帧时,封装单元801,用于将HTTP帧封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为HTTP帧对应的最后一个TLS帧,并分别将各个TLS帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为TLS帧对应的最后一个TCP数据包。
在可选实施例中,当协议帧为TLS帧时,TLS帧包括数据类型信息,数据类型信息用于指示TLS帧的数据类型。
在可选实施例中,本发明实施例中的协议帧传输装置还可以包括:
压缩单元805,用于封装单元将协议帧封装成至少一个TCP数据包之前,将协议帧压缩成至少一个压缩包,至少一个压缩包仅包括协议帧。
在图8所示的协议帧传输装置中,封装单元801将一个协议帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包,发送单元802将至少一个TCP数据包发送给节点设备,可确保一个TCP数据包的数据部分仅包括一个协议帧的数据。
请参见图9,图9为本发明第一实施例提供的一种节点设备的结构示意图,本发明实施例提供的节点设备可以用于实施上述图1或者图3~图6所示的本发明各实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部 分,具体技术细节未揭示的,请参照图1或者图3~图6所示的本发明各实施例。
如图9所示,该节点设备包括:至少一个处理器901,例如CPU,至少一个网络接口903存储器904,至少一个通信总线902。其中,通信总线902用于实现这些组件之间的连接通信。其中,网络接口903可选的可以包括标准的有线接口、无线接口(如WI-FI接口),用于与外部网络进行通信。其中,存储器904可能包含高速RAM存储器,也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器904可选的可以包含至少一个位于远离前述处理器901的存储装置。处理器901可以结合图8所示的协议帧传输装置。存储器904中存储一组程序代码,且处理器901调用存储器904中存储的程序代码,用于执行以下操作:
将一个协议帧封装成至少一个传输控制协议TCP数据包,其中,至少一个TCP数据包中的最后一个TCP数据包可以包括指示信息,指示信息可以用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。
通过网络接口903将至少一个TCP数据包发送给节点设备。
在可选实施例中,最后一个TCP数据包的数据部分的长度可以为0,从而指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。
进一步可选的,最后一个TCP数据包的报头可以包括发送序号和确认序号,其中,发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,确认序号是根据接收的节点设备发送的数据确认的。
进一步可选的,最后一个TCP数据包的报头可以包括发送序号和确认序号,其中,发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,确认序号与最后一个TCP数据包的前一个数据包的确认序号相同。
进一步可选的,处理器901将一个协议帧封装成至少一个TCP数据包之前,还可以执行以下操作:
通过网络接口903获取管理终端发送的协议帧,其中,协议帧可以包括终端标识信息,终端标识信息可以用于指示将协议帧对应的至少一个TCP数据包发送给终端标识信息对应的节点设备。
进一步可选的,处理器901将一个协议帧封装成至少一个TCP数据包, 具体可以为:
当协议帧对应的最后一个包含数据的TCP数据包的数据量等于预设最大报文段长度MSS时,在最后一个包含数据的TCP数据包后增加一个TCP数据包,其中,增加的TCP数据包的数据部分的长度可以为0。
在可选实施例中,处理器901将一个协议帧封装成至少一个TCP数据包,具体可以为:
当协议帧对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,最后一个包含数据的TCP数据包仅包括协议帧的数据,指示信息为最后一个包含数据的TCP数据包的数据量。
在可选实施例中,指示信息可以为包含在最后一个TCP数据包的报头中的标识信息。
在可选实施例中,至少一个TCP数据包的数据部分仅包括协议帧的数据。
在可选实施例中,处理器901通过网络接口903将至少一个TCP数据包发送给节点设备之前,还可以执行以下操作:
通过网络接口903接收节点设备发送的TCP数据包。
则处理器901将一个协议帧封装成至少一个TCP数据包,具体可以为:
在至少一个TCP数据包中的待发送的TCP数据包中携带节点设备发送的TCP数据包的确认序号,其中,确认序号可以用于指示正确接收节点设备发送的TCP数据包。
在可选实施例中,处理器901将一个协议帧封装成至少一个TCP数据包之前,还可以执行以下操作:
通过网络接口903向节点设备发送通知消息,其中,通知消息可以用于至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息可以用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。
进一步可选的,通知消息可以携带在协议帧的HTTP2.0头域或者HTTP2.0设置帧中。
在可选实施例中,至少一个TCP数据包的报头可以包括数据类型信息,数据类型信息可以用于指示TCP数据包的数据部分的数据类型。
在可选实施例中,协议帧可以为TLS帧或者HTTP帧。
在可选实施例中,当协议帧为HTTP帧时,处理器901将协议帧封装成至少一个TCP数据包,具体可以为:
将HTTP帧封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为HTTP帧对应的最后一个TLS帧;
将至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为HTTP帧对应的最后一个TCP数据包。
在可选实施例中,当协议帧为HTTP帧时,处理器901将协议帧封装成至少一个TCP数据包,具体可以为:
将HTTP帧封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为HTTP帧对应的最后一个TLS帧;
分别将各个TLS帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为TLS帧对应的最后一个TCP数据包。
在可选实施例中,当协议帧为TLS帧时,TLS帧包括数据类型信息,数据类型信息用于指示TLS帧的数据类型。
在可选实施例中,处理器901将协议帧封装成至少一个TCP数据包之前,还可以执行以下操作:
将协议帧压缩成至少一个压缩包,至少一个压缩包仅包括协议帧。
具体的,本发明实施例中介绍的终端可以用以实施本发明结合图1或者图3~图6介绍的方法实施例中的部分或全部流程。
请参见图10,图10为本发明实施例中提供的一种协议帧解析装置的结构示意图,所述协议帧解析装置可以用于实施结合图2~图6所示的方法实施例中的部分或全部步骤,所述协议帧解析装置至少可以包括接收单元1001、确定单元1002以及解析单元1003,其中:
接收单元1001,用于接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包,其中,至少一个TCP数据包中的最后一个TCP数据包可以包括指示信息,指示信息可以用于指示最后一个TCP数据包为协议帧对应的最 后一个TCP数据包。
确定单元1002,用于根据指示信息,确定下一个协议帧对应的起始TCP数据包。
解析单元1003,用于从起始TCP数据包开始对下一个协议帧进行数据解析。
在可选实施例中,确定单元1002,用于当最后一个TCP数据包的数据部分的长度为0时,确定下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
在可选实施例中,确定单元1002,用于当最后一个TCP数据包的数据量小于预设MSS时,确定下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
在可选实施例中,确定单元1002,用于当最后一个TCP数据包的报头包括标识信息时,确定下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
在可选实施例中,本发明实施例中的协议帧解析装置还可以包括:
发送单元1004,用于接收单元1001接收节点设备发送的至少一个TCP数据包之前,向节点设备发送TCP数据包。
确定单元1002,还用于当接收到的TCP数据包中携带向节点设备发送的TCP数据包的确认序号时,根据确认序号,确定节点设备正确接收向节点设备发送的TCP数据包。
在可选实施例中,接收单元1001,还用于确定单元1002根据指示信息,确定下一个协议帧对应的起始TCP数据包之前,接收节点设备发送的通知消息。
进一步的,本发明实施例中的协议帧解析装置还可以包括:
获取单元1005,用于根据通知信息,获取协议帧对应的最后一个TCP数据包中的指示信息。
在可选实施例中,至少一个TCP数据包的报头可以包括数据类型信息,则解析单元1003,用于根据起数据类型信息,获取TCP数据包的数据部分的数据类型。
在可选实施例中,确定单元1002,还用于解析单元1003从起始TCP数据包对下一个协议帧进行数据解析之前,确定下一个协议帧是通过静态表实现报头字段压缩的。
在可选实施例中,下一个协议帧对应的各个TCP数据包属于同一HTTP2.0流,则本发明实施例中的协议帧传输装置还可以包括:
控制单元1006,用于解析单元1003从起始TCP数据包开始对下一个协议帧进行数据解析之后,当对下一个协议帧数据解析失败时,暂停对HTTP2.0流包括的协议帧进行数据解析。
在图10所示的协议帧解析装置中,接收单元1001接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包,确定单元1002根据指示信息确定下一个协议帧对应的起始TCP数据包,解析单元1003从起始TCP数据包开始对下一个协议帧进行数据解析,可有效识别下一个协议帧的边界,以实现对下一个协议帧的数据解析。
请参见图11,图11为本发明第二实施例提供的一种节点设备的结构示意图,本发明实施例提供的节点设备可以用于实施上述图2~图6所示的本发明各实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照图2~图6所示的本发明各实施例。
如图11所示,该终端设备包括:至少一个处理器1101,例如CPU,至少一个网络接口1103,存储器1104,至少一个通信总线1102。其中,通信总线1102用于实现这些组件之间的连接通信。其中,网络接口1103可选的可以包括标准的有线接口、无线接口(如WI-FI接口),用于与外部网络进行通信。其中,存储器1104可能包含高速RAM存储器,也可能还包括非不稳定的存储器,例如至少一个磁盘存储器。存储器1104可选的可以包含至少一个位于远离前述处理器1101的存储装置。处理器1101可以结合图10所示的协议帧解析装置。存储器1104中存储一组程序代码,且处理器1101调用存储器1104中存储的程序代码,用于执行以下操作:
通过网络接口1103接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包,其中,至少一个TCP数据包中的最后一个TCP数据包可以包括指示信息,指示信息可以用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。
根据指示信息,确定下一个协议帧对应的起始TCP数据包。
从起始TCP数据包开始对下一个协议帧进行数据解析。
在可选实施例中,处理器1101根据指示信息,确定下一个协议帧对应的起始TCP数据包,具体可以为:
当最后一个TCP数据包的数据部分的长度为0时,确定下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
在可选实施例中,处理器1101根据指示信息,确定下一个协议帧对应的起始TCP数据包,具体可以为:
当最后一个TCP数据包的数据量小于预设MSS时,确定下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
在可选实施例中,处理器1101根据所述指示信息,确定下一个协议帧对应的起始TCP数据包,具体可以为:
当最后一个TCP数据包的报头包括标识信息时,确定下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
在可选实施例中,处理器1101通过网络接口1103接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包之前,还可以执行以下操作:
通过网络接口1103向节点设备发送TCP数据包。
处理器1101通过网络接口1103接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包之后,还可以执行以下操作:
当接收的TCP数据包中携带向节点设备发送的TCP数据包的确认序号时,根据确认序号,确定节点设备正确接收向节点设备发送的TCP数据包。
在可选实施例中,处理器1101根据指示信息,确定下一个协议帧对应的起始TCP数据包之前,还可以执行以下操作:
通过网络接口1103接收节点设备发送的通知消息。
根据通知消息,获取协议帧对应的最后一个TCP数据包中的指示信息。
在可选实施例中,至少一个TCP数据包的报头可以包括数据类型信息,则处理器1101从起始TCP数据包开始对下一个协议帧进行数据解析,具体可以为:
根据数据类型信息,获取TCP数据包的数据部分的数据类型。
在可选实施例中,处理器1101从起始TCP数据包对下一个协议帧进行数据解析之前,还可以执行以下操作:
确定下一个协议帧是通过静态表实现报头字段压缩的。
在可选实施例中,下一个协议帧对应的各个TCP数据包属于同一HTPP2.0流,则处理器1101从起始TCP数据包开始对下一个协议帧进行数据解析之后,还可以执行以下操作:
当对下一个协议帧数据解析失败时,暂停对HTTP2.0流包括的协议帧进行数据解析。
具体的,本发明实施例中介绍的终端可以用以实施本发明结合图2~图6介绍的方法实施例中的部分或全部流程。
请参见图12,图12是本发明实施例中提供的一种协议帧传输***的结构示意图,如图所示本发明实施例中的通信***至少可以包括协议帧传输装置1201和协议帧解析装置1202,其中:
协议帧传输装置1201,用于将一个协议帧封装成至少一个传输控制协议TCP数据包,其中,至少一个TCP数据包中的最后一个TCP数据包可以包括指示信息,指示信息可以用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。
协议帧传输装置1201,还用于将至少一个TCP数据包发送给协议帧解析装置1202。
协议帧解析装置1202,用于根据指示信息,确定下一个协议帧对应的起始TCP数据包。
协议帧解析装置1202,还用于从起始TCP数据包开始对下一个协议帧进行数据解析。
协议帧解析装置1202,还用于将数据解析后的TCP数据包发送给节点设 备1204。
在可选实施例中,当最后一个TCP数据包的数据部分的长度为0时,协议帧解析装置1202确定下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
进一步可选的,最后一个TCP数据包的报头可以包括发送序号和确认序号,其中,发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,确认序号是根据接收的节点设备发送的数据确认的。
进一步可选的,最后一个TCP数据包的报头可以包括发送序号和确认序号,其中发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,确认序号与最后一个TCP数据包的前一个数据包的确认序号相同。
进一步可选的,协议帧传输装置1201将一个协议帧封装成至少一个TCP数据包之前,还可以执行以下操作:
获取管理终端1203发送的协议帧,协议帧包括终端标识信息,终端标识信息用于指示将协议帧对应的至少一个TCP数据包发送给终端标识信息对应的节点设备。
进一步可选的,协议帧传输装置1201将一个协议帧封装成至少一个TCP数据包,具体可以为:
当协议帧对应的最后一个包含数据的TCP数据包的数据量等于预设MSS时,在最后一个包含数据的TCP数据包后增加一个TCP数据包,增加的TCP数据包的数据部分的长度为0。
在可选实施例中,当协议帧对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,最后一个包含数据的TCP数据包仅包括协议帧的数据,指示信息为最后一个包含数据的TCP数据包的数据量,则当最后一个TCP数据包的数据量小于预设MSS时,协议帧解析装置1202可以确定下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
在可选实施例中,指示信息可以为包含在最后一个TCP数据包的报头中的标识信息,则当最后一个TCP数据包的报头包括标识信息时,协议帧解析装置1202可以确定下一个TCP数据包为下一个协议帧对应的起始TCP数据包。
在可选实施例中,至少一个TCP数据包的数据部分仅包括协议帧的数据。
在可选实施例中,协议帧传输装置1201将至少一个TCP数据包发送给协议帧解析装置1202之前,还可以执行以下操作:
协议帧传输装置1201接收协议帧解析装置1202发送的TCP数据包。
进一步的,协议帧传输装置1201将一个协议帧封装成至少一个TCP数据包,具体可以为:
在至少一个TCP数据包中的待发送的TCP数据包中携带节点设备发送的TCP数据包的确认序号,确认序号用于指示正确接收节点设备发送的TCP数据包。
进一步的,协议帧解析装置1202接收协议帧传输装置1201发送的至少一个TCP数据包之后,还可以执行以下操作:
当接收的TCP数据包中携带向协议帧传输装置1201发送的TCP数据包的确认序号时,根据确认序号,确定协议帧传输装置1201正确接收协议帧解析装置1202发送的TCP数据包。
在可选实施例中,协议帧传输装置1201将一个协议帧封装成至少一个TCP数据包之前,还可以执行以下操作:
向节点设备1204发送通知消息,通知消息用于至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包。
进一步可选的,通知消息携带在协议帧的HTTP2.0头域或者HTTP2.0设置帧中。
在可选实施例中,协议帧解析装置1202根据指示信息,确定下一个协议帧对应的起始TCP数据包之前,还可以执行以下操作:
接收协议帧传输装置1201发送的通知消息。
根据通知消息,获取协议帧对应的最后一个TCP数据包中的指示信息。
在可选实施例中,至少一个TCP数据包的报头包括数据类型信息,数据类型信息用于指示TCP数据包的数据部分的数据类型,则协议帧解析装置1202从起始TCP数据包开始对下一个协议帧进行数据解析,具体可以为:
根据数据类型信息,获取TCP数据包的数据部分的数据类型。
在可选实施例中,协议帧为TLS帧或者HTTP帧。
在可选实施例中,协议帧解析装置1202从起始TCP数据包对下一个协议帧进行数据解析之前,还可以执行以下操作:
确定下一个协议帧是通过静态表实现报头字段压缩的。
在可选实施例中,下一个协议帧对应的各个TCP数据包属于同一HTPP2.0流,则协议帧解析装置1202从起始TCP数据包开始对下一个协议帧进行数据解析之后,还可以执行以下操作:
当对下一个协议帧数据解析失败时,暂停对HTTP2.0流包括的协议帧进行数据解析。
在可选实施例中,协议帧传输装置1201将协议帧封装成至少一个TCP数据包之前,还可以执行以下操作:
将协议帧压缩成至少一个压缩包,至少一个压缩包仅包括协议帧。
在图12所示的协议帧传输***中,协议帧传输装置1201将一个协议帧封装成至少一个传输控制协议TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为协议帧对应的最后一个TCP数据包,协议帧传输装置1201将至少一个TCP数据包发送给协议帧解析装置1202,协议帧解析装置1202根据指示信息确定下一个协议帧对应的起始TCP数据包,进而从起始TCP数据包开始对下一个协议帧进行数据解析,可确保一个TCP数据包的数据部分仅包括一个协议帧的数据,以便协议帧解析装置1202有效识别下一个协议帧的边界,以实现对下一个协议帧的数据解析。
请参见图13,图13为本发明第一实施例中提供的一种数据传输方法的流程示意图,如图所示本发明实施例中的数据传输方法可以包括:
S1301、将一个URI的对象数据封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包。
终端可以将一个URI(Uniform Resource Identifier,统一资源标识符)的对象数据封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个 TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包。例如,第一对象数据和第二对象数据的数据量均为3000字节,终端和节点设备之间协商的预设MSS为1460字节,则终端可以将第一对象数据封装成3个TCP数据包,第一TCP数据包的数据部分的长度为1460字节,第二TCP数据包的数据部分的长度为1460字节,第三TCP数据包的数据部分的长度为80字节,其中第三TCP数据包包括指示信息,指示信息用于指示第三TCP数据包为第一对象数据对应的最后一个TCP数据包。同理,终端可以将第二对象数据封装成3个TCP数据包,第四TCP数据包的数据部分的长度为1460字节,第五TCP数据包的数据部分的长度为1460字节,第六TCP数据包的数据部分的长度为80字节,其中第六TCP数据包包括指示信息,指示信息用于指示第六TCP数据包为第二对象数据对应的最后一个TCP数据包。
其中,对象数据可以为HTTP1.1数据或者HTTP1.0数据,对象数据用于指示URI标识的资源,资源可以为文本、图像、视频或者音频等。示例性的,URI可以为:www.ottserver.com/picture.JPG,该URI标识的资源为图片,即对象数据为图片。
在可选实施例中,至少一个TCP数据包的数据部分仅包括对象数据。例如,终端将第一对象数据封装成第一TCP数据包和第二TCP数据包,其中第一TCP数据包的数据部分仅包括第一对象数据,第二TCP数据包的数据部分仅包括第一对象数据。同理,终端将第二对象数据封装成第三TCP数据包和第四TCP数据包,其中第三TCP数据包的数据部分仅包括第二对象数据,第四TCP数据包的数据部分仅包括第二对象数据。
在可选实施例中,最后一个TCP数据包的数据部分的长度可以为0,从而指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包。例如,第一对象数据的数据量为2000字节,终端和节点设备之间协商的预设MSS为1460字节,终端可以将第一对象数据封装为第一TCP数据包、第二TCP数据包和第三TCP数据包,其中第一TCP数据包的数据部分的长度为1460字节,第二TCP数据包的数据部分的长度为540字节,第三TCP数据包的数据部分的长度为0,从而指示第三TCP数据包为第一对象数据对应的最后一个TCP 数据包。
进一步可选的,最后一个TCP数据包的报头可以包括发送序号和确认序号,其中发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,确认序号是根据接收的节点设备发送的数据确认的。
进一步可选的,最后一个TCP数据包的报头可以包括发送序号和确认序号,其中发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,确认序号与最后一个TCP数据包的前一个数据包的确认序号相同。
进一步可选的,终端将一个URI的对象数据封装成至少一个TCP数据包之前,可以获取管理终端发送的对象数据,对象数据可以包括终端标识信息,终端标识信息用于指示将对象数据对应的至少一个TCP数据包发送给终端标识信息对应的节点设备。
进一步可选的,终端可以在最后一个包含数据的TCP数据包后增加一个TCP数据包,其中增加的TCP数据包的数据部分的长度为0。例如,当对象数据对应的最后一个包含数据的TCP数据包的数据量等于预设MSS时,终端可以在最后一个包含数据的TCP数据包后增加一个TCP数据包,其中增加的TCP数据包的数据部分的长度为0。又如,当对象数据对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,终端可以在最后一个包含数据的TCP数据包后增加一个TCP数据包,其中增加的TCP数据包的数据部分的长度为0。
在可选实施例中,当对象数据对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,最后一个包含数据的TCP数据包仅包括对象数据,其中指示信息为最后一个包含数据的TCP数据包的数据量。例如,第一对象数据的数据量为2000字节,终端和节点设备之间协商的预设MSS为1460字节,终端可以将第一对象数据封装为第一TCP数据包以及第二TCP数据包,其中第一TCP数据包的数据部分的长度为1460字节,第二TCP数据包的数据部分的长度为540字节,第二TCP数据包仅包括第一对象数据,指示信息为第二TCP数据包的数据量,终端可以根据指示信息确定第二TCP数据包的数据量小于预设MSS,则第二TCP数据包为第一对象数据的最后一个TCP数据包。
在可选实施例中,指示信息可以为包含在最后一个TCP数据包的报头中的标识信息。具体实现中,当对象数据对应的最后一个包含数据的TCP数据包的数据量等于预设MSS时,终端可以在最后一个包含数据的TCP数据包的报头增加标识信息。又如,当对象数据对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,终端可以在最后一个包含数据的TCP数据包的报头增加标识信息。例如,第一对象数据的数据量为2000字节,终端和节点设备之间协商的预设MSS为1460字节,终端可以将第一对象数据封装为第一TCP数据包以及第二TCP数据包,其中第一TCP数据包的数据部分的长度为1460字节,第二TCP数据包的数据部分的长度为540字节,第二TCP数据包的报头包括标识信息,终端可以根据标识信息确定第二TCP数据包为第一对象数据的最后一个TCP数据包。
在可选实施例中,终端将一个URI的对象数据封装成至少一个TCP数据包之前,还可以向节点设备发送通知消息,通知消息可以用于至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包。
在可选实施例中,至少一个TCP数据包的报头可以包括数据类型信息,数据类型信息用于指示TCP数据包的数据部分的数据类型。现有的数据解析方法是通过对象数据的帧头对对象数据进行盲解析,无法准确获取对象数据的数据类型。而本发明实施例中至少一个TCP数据包的报头包括数据类型信息,节点设备可以根据数据类型信息获取TCP数据包的数据部分的数据类型,进而获取对象数据的数据类型,提高数据解析的精准度。
在可选实施例中,终端将一个URI的对象数据封装成至少一个TCP数据包之前,可以将该对象数据压缩成至少一个压缩包,至少一个压缩包仅包括该对象数据。具体实现中,终端通常通过预设压缩算法将对象数据进行压缩,进而将压缩后的对象数据传输给节点设备,以提高传输速率。为了避免将不同对象数据压缩到同一个压缩包中,导致无法识别各个对象数据,进而无法分别将各个对象数据封装成至少一个TCP数据包,本发明实施例将一个URI的对象数据压缩在至少一个压缩包中,将压缩包中的数据封装成至少一个TCP数据包,以实现分别将各个对象数据封装成至少一个TCP数据包。
在可选实施例中,终端可以将对象数据封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为对象数据对应的最后一个TLS帧,并分别将各个TLS帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为TLS帧对应的最后一个TCP数据包。
以图7I所示的对象数据封装成TCP数据包的界面示意图为例,终端将对象数据封装成两个TLS帧,其中TLS frame2为该对象数据对应的最后一个TLS帧,TLS frame1和TLS frame2仅包含该对象数据。进一步的,终端可以将TLS frame1封装成3个TCP数据包,其中TCP3数据包包括指示信息,指示信息用于指示TCP3数据包为TLS frame1对应的最后一个TCP数据包,具体的,TCP3数据包的数据部分的长度可以为0,从而指示TCP3数据包为TLS frame1对应的最后一个TCP数据包;或者当TCP3数据包的数据量小于预设MSS时,指示信息可以为TCP3数据包的数据量,从而指示TCP3数据包为TLS frame1对应的最后一个TCP数据包;或者指示信息可以为包含在TCP3数据包的报头中的标识信息,从而指示TCP3数据包为TLS frame1对应的最后一个TCP数据包。同理,终端可以将TLS frame2封装成5个TCP数据包,其中TCP8数据包包括指示信息,指示信息用于指示TCP8数据包为TLS frame2对应的最后一个TCP数据包,具体的,TCP8数据包的数据部分的长度可以为0,从而指示TCP8数据包为TLS frame2对应的最后一个TCP数据包;或者当TCP8数据包的数据量小于预设MSS时,指示信息可以为TCP8数据包的数据量,从而指示TCP8数据包为TLS frame2对应的最后一个TCP数据包;或者指示信息可以为包含在TCP8数据包的报头中的标识信息,从而指示TCP8数据包为TLS frame2对应的最后一个TCP数据包。
本发明实施例可确保TCP1~TCP3数据包的数据部分仅包括TLS frame1的数据,TCP4~TCP8数据包的数据部分仅包括TLS frame2的数据,TLS frame1和TLS frame2仅包括该对象数据。
在可选实施例中,终端可以将对象数据封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为对象数据对应的最后一个TLS帧,并将至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,至少一个TCP数 据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包。
以图7J所示的对象数据封装成TCP数据包的界面示意图为例,终端将对象数据封装成两个TLS帧,其中TLS frame2为该对象数据对应的最后一个TLS帧,TLS frame1和TLS frame2仅包含该对象数据。进一步的,终端可以将TLS frame1和TL S frame2封装成8个TCP数据包,其中TCP8数据包包括指示信息,指示信息用于指示TCP8数据包为该对象数据对应的最后一个TCP数据包,具体的,TCP8数据包的数据部分的长度可以为0,从而指示TCP8数据包为该对象数据对应的最后一个TCP数据包;或者当TCP8数据包的数据量小于预设MSS时,指示信息可以为TCP8数据包的数据量,从而指示TCP3数据包为该对象数据对应的最后一个TCP数据包;或者指示信息可以为包含在TCP8数据包的报头中的标识信息,从而指示TCP8数据包为该对象数据对应的最后一个TCP数据包。另外,TCP3数据包的数据部分可以包括TLS frame1的数据和TLS frame2的数据。TCP1~TCP7数据包的数据量可以等于预设MSS。
本发明实施例中TCP数据包的数据部分仅包括该对象数据,且TCP数据包的数据部分可包括多个TLS帧的数据。本发明实施例中一个URI的对象数据对应的TCP数据包仅包括一个指示信息,相对上述封装方法,本发明实施例可提高资源利用率,节省封装开销。
在可选实施例中,对象数据封装为TLS帧,TLS帧可以包括数据类型信息,数据类型信息用于指示TLS帧的数据类型。以图7F为例,TLS帧格式可以如图7F所示,终端可以在TLS帧的ContentType字段增加数据类型信息,数据类型信息用于指示该TLS帧的数据类型。进一步的,终端将TLS帧封装成至少一个TCP数据包时,可以在至少一个TCP数据包的报头增加数据类型信息,数据类型信息用于指示该TCP数据包的数据部分的数据类型。
S1302、将至少一个TCP数据包发送给节点设备。
终端将对象数据封装成至少一个TCP数据包之后,可以将至少一个TCP数据包发送给节点设备。
在可选实施例中,终端将至少一个TCP数据包发送给节点设备之前,可以接收节点设备发送的TCP数据包,在至少一个TCP数据包中的待发送的 TCP数据包中携带节点设备发送的TCP数据包的确认序号,确认序号用于指示正确接收节点设备发送的TCP数据包。现有数据传输方法中,终端接收到节点设备发送的TCP数据包之后,可以向节点设备发送ACK数据包,ACK数据包的数据部分的长度为0,用于指示终端正确接收节点设备发送的TCP数据包,资源利用率较低。本发明实施例中接收到节点设备发送的TCP数据包之后,可以在至少一个TCP数据包中的待发送的TCP数据包中携带节点设备发送的TCP数据包的确认序号,确认序号用于指示正确接收节点设备发送的TCP数据包,本发明实施例在不单独发送ACK数据包的情况下,指示正确接收节点设备发送的TCP数据包,可提高资源利用率。
在图13所示的数据传输方法中,将一个URI的对象数据封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包,将至少一个TCP数据包发送给节点设备,以确保一个TCP数据包的数据部分仅包括一个URI的对象数据。
请参见图14,图14为本发明实施例中提供的一种数据解析方法的流程示意图,如图所示本发明实施例中的数据解析方法可以包括:
S1401,接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息。
终端可以接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包。例如,节点设备可以将一个URI的对象数据封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,节点设备将上述至少一个TCP数据包发送给终端,进而终端接收上述至少一个TCP数据包。
在可选实施例中,终端接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包之前,可以向节点设备发送TCP数据包。进一步的,终端接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包之后,当接收的TCP数据包中携带向节点设备发送的TCP数据包的确认序 号时,终端可以根据确认序号,确定节点设备正确接收向节点设备发送的TCP数据包。
例如,终端接收节点设备发送的至少一个TCP数据包之前,可以向节点设备发送TCP数据包,节点设备接收终端发送的TCP数据包,在至少一个TCP数据包中的待发送的TCP数据包中携带终端发送的TCP数据包的确认序号,则终端接收到节点设备发送的至少一个TCP数据包之后,可以根据确认序号,确定节点设备正确接收终端发送的TCP数据包。
S1402,根据指示信息,确定下一个URI的对象数据对应的起始TCP数据包。
终端可以根据指示信息,确定下一个URI的对象数据对应的起始TCP数据包,其中下一个URI的对象数据对应的起始TCP数据包为对象数据对应的最后一个TCP数据包的下一个TCP数据包。
在可选实施例中,当最后一个TCP数据包的数据部分的长度为0时,终端可以确定下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。例如,节点设备在对象数据对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,其中增加的TCP数据包的数据部分的长度为0,则终端可以确定增加的TCP数据包的下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。
在可选实施例中,当最后一个TCP数据包的数据量小于预设MSS时,终端可以确定下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。例如,终端可以判断各个TCP数据包的数据量是否小于预设MSS,当TCP数据包的数据量小于预设MSS时,终端可以确定该TCP数据包的下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。进一步可选的,当TCP数据包的数据量等于预设MSS时,终端可以判断下一个TCP数据包的数据部分的长度是否为0,当下一个TCP数据包的数据部分的长度为0时,终端可以确定数据部分的长度为0的TCP数据包的下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。进一步可选的,当TCP数据包的数据量等于预设MSS时,终端可以判断各个TCP数据包的报头是否包括标识信息,当TCP数据包的报头包括标识信息时,终端可以确定该TCP数据包的下 一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。
在可选实施例中,当最后一个TCP数据包的报头包括标识信息时,终端可以确定下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。例如,终端可以判断各个TCP数据包的报头是否包括标识信息,当TCP数据包的报头包括标识信息时,终端可以确定该TCP数据包的下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。
在可选实施例中,终端根据指示信息,确定下一个URI的对象数据对应的起始TCP数据包之前,可以接收节点设备发送的通知消息,根据通知消息,获取对象数据对应的最后一个TCP数据包中的指示信息。例如,终端接收节点设备发送的通知消息,通知消息用于指示终端识别下一个URI的对象数据的边界,进而对下一个URI的对象数据进行数据解析,则终端可以根据通知消息,获取对象数据对应的最后一个TCP数据包中的指示信息,根据指示信息确定下一个URI的对象数据对应的起始TCP数据包,并从起始TCP数据包开始对下一个URI的对象数据进行数据解析。
S1403,从起始TCP数据包开始对下一个URI的对象数据进行数据解析。
终端确定下一个URI的对象数据对应的起始TCP数据包之后,可以从起始TCP数据包开始对下一个URI的对象数据进行数据解析。例如,终端确定下一个URI的对象数据对应的起始TCP数据包为第三TCP数据包,则终端可以从第三TCP数据包开始解析下一个URI的对象数据的帧头和payload,并根据payload中的数据识别下一个URI的对象数据的数据类型。对象数据的数据类型可以包括文本、图片、视频或者音频等。
在可选实施例中,至少一个TCP数据包的报头可以包括数据类型信息,则终端可以根据数据类型信息,获取TCP数据包的数据部分的数据类型,进而获取对象数据的数据类型。相对现有终端通过对象数据的帧头对对象数据进行盲解析,无法准确获取对象数据的数据类型。而本发明实施例根据数据类型信息获取TCP数据包的数据部分的数据类型,进而获取对象数据的数据类型,可提高数据解析的精准度。
在图14所示的数据解析方法中,接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP 数据包包括指示信息,根据指示信息,确定下一个URI的对象数据对应的起始TCP数据包,从起始TCP数据包开始对下一个URI的对象数据进行数据解析,可有效识别下一个URI的对象数据的边界,以实现对下一个URI的对象数据的数据解析。
请参见图15,图15为本发明实施例中提供的一种数据传输装置的结构示意图,所述数据传输装置可以用于实施结合图13所示的方法实施例中的部分或全部步骤,所述数据传输装置至少可以包括封装单元1501以及发送单元1502,其中:
封装单元1501,用于将一个URI的对象数据封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包,对象数据用于指示URI标识的资源。
发送单元1502,用于将至少一个TCP数据包发送给节点设备。
在可选实施例中,最后一个TCP数据包的数据部分的长度为0,从而指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包。
在可选实施例中,最后一个TCP数据包的报头包括发送序号和确认序号,则发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,确认序号是根据接收的节点设备发送的数据确认的。
在可选实施例中,最后一个TCP数据包的报头包括发送序号和确认序号,则发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,确认序号与最后一个TCP数据包的前一个数据包的确认序号相同。
进一步可选的,还包括:
获取单元1503,用于封装单元1501将对象数据封装成至少一个TCP数据包之前,获取管理终端发送的对象数据,对象数据包括终端标识信息,终端标识信息用于指示将对象数据对应的至少一个TCP数据包发送给终端标识信息对应的节点设备。
在可选实施例中,封装单元1501,用于在对象数据对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,增加的TCP数据包的数据部分的 长度为0。
在可选实施例中,封装单元1501,用于当对象数据对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,最后一个包含数据的TCP数据包仅包括对象数据,指示信息为最后一个包含数据的TCP数据包的数据量。
在可选实施例中,指示信息为包含在最后一个TCP数据包的报头中的标识信息。
在可选实施例中,至少一个TCP数据包的数据部分仅包括对象数据。
在可选实施例中,还包括:
接收单元1504,用于接收节点设备发送的TCP数据包。
封装单元1501,用于在至少一个TCP数据包中的待发送的TCP数据包中携带节点设备发送的TCP数据包的确认序号,确认序号用于指示正确接收节点设备发送的TCP数据包。
在可选实施例中,发送单元1502,还用于封装单元1501将对象数据封装成至少一个TCP数据包之前,向节点设备发送通知消息,通知消息用于至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包。
在可选实施例中,至少一个TCP数据包的报头包括数据类型信息,数据类型信息用于指示TCP数据包的数据部分的数据类型。
在可选实施例中,对象数据为HTTP1.1数据或者HTTP1.0数据。
在可选实施例中,封装单元1501,用于将对象数据封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为对象数据对应的最后一个TLS帧;将至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包。
在可选实施例中,封装单元1501,用于将对象数据封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为对象数据对应的最后一个TLS帧;分别将各个TLS帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为TLS帧对应的最后一个TCP数据包。
进一步可选的,各个TLS帧包括数据类型信息,数据类型信息用于指示TLS帧的数据类型。
在可选实施例中,还包括:
压缩单元1505,用于封装单元1501将对象数据封装成至少一个TCP数据包之前,将对象数据压缩成至少一个压缩包,至少一个压缩包仅包括对象数据。
在图15所示的数据传输装置中,封装单元1501将一个URI的对象数据封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包,发送单元1502将至少一个TCP数据包发送给节点设备,可确保一个TCP数据包的数据部分仅包括一个URI的对象数据。
请参见图16,图16为本发明第三实施例提供的一种节点设备的结构示意图,本发明实施例提供的节点设备可以用于实施上述图13所示的本发明各实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照图13所示的本发明各实施例。
如图16所示,该节点设备包括:至少一个处理器1601,例如CPU,至少一个网络接口1603,存储器1604,至少一个通信总线1602。其中,通信总线1602用于实现这些组件之间的连接通信。其中,网络接口1603可选的可以包括标准的有线接口、无线接口(如WI-FI接口),用于与外部网络进行通信。其中,存储器1604可能包含高速RAM存储器,也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1604可选的可以包含至少一个位于远离前述处理器1601的存储装置。处理器1601可以结合图15所示的数据传输装置。存储器1604中存储一组程序代码,且处理器1601调用存储器1604中存储的程序代码,用于执行以下操作:
将一个URI的对象数据封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包,对象数据用于指示URI标识的资源。
通过网络接口1603将至少一个TCP数据包发送给节点设备。
在可选实施例中,最后一个TCP数据包的数据部分的长度为0,从而指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包。
在可选实施例中,最后一个TCP数据包的报头包括发送序号和确认序号,则发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,确认序号是根据接收的节点设备发送的数据确认的。
在可选实施例中,最后一个TCP数据包的报头包括发送序号和确认序号,则发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,确认序号与最后一个TCP数据包的前一个数据包的确认序号相同。
进一步可选的,处理器1601将一个URI的对象数据封装成至少一个TCP数据包之前,还可以执行以下操作:
通过网络接口1603获取管理终端发送的对象数据,对象数据包括终端标识信息,终端标识信息用于指示将对象数据对应的至少一个TCP数据包发送给终端标识信息对应的节点设备。
在可选实施例中,处理器1601将一个URI的对象数据封装成至少一个TCP数据包,具体可以为:
在对象数据对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,增加的TCP数据包的数据部分的长度为0。
在可选实施例中,处理器1601将一个URI的对象数据封装成至少一个TCP数据包,具体可以为:
当对象数据对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,最后一个包含数据的TCP数据包仅包括对象数据,指示信息为最后一个包含数据的TCP数据包的数据量。
在可选实施例中,指示信息为包含在最后一个TCP数据包的报头中的标识信息。
在可选实施例中,至少一个TCP数据包的数据部分仅包括对象数据。
在可选实施例中,处理器1601通过网络接口1603将至少一个TCP数据包发送给节点设备之前,还可以执行以下操作:
通过网络接口1603接收节点设备发送的TCP数据包。
进一步的,处理器1601将一个URI的对象数据封装成至少一个TCP数据 包,具体可以为:
在至少一个TCP数据包中的待发送的TCP数据包中携带节点设备发送的TCP数据包的确认序号,确认序号用于指示正确接收节点设备发送的TCP数据包。
在可选实施例中,处理器1601将一个URI的对象数据封装成至少一个TCP数据包之前,还可以执行以下操作:
通过网络接口1603向节点设备发送通知消息,通知消息用于至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包。
在可选实施例中,至少一个TCP数据包的报头包括数据类型信息,数据类型信息用于指示TCP数据包的数据部分的数据类型。
在可选实施例中,对象数据为HTTP1.1数据或者HTTP1.0数据。
在可选实施例中,处理器1601将一个URI的对象数据封装成至少一个TCP数据包,具体可以为:
将对象数据封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为对象数据对应的最后一个TLS帧。
将至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包。
在可选实施例中,处理器1601将一个URI的对象数据封装成至少一个TCP数据包,具体可以为:
将对象数据封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为对象数据对应的最后一个TLS帧。
分别将各个TLS帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为TLS帧对应的最后一个TCP数据包。
在可选实施例中,各个TLS帧包括数据类型信息,数据类型信息用于指示TLS帧的数据类型。
在可选实施例中,处理器1601将一个URI的对象数据封装成至少一个 TCP数据包之前,还可以执行以下操作:
将对象数据压缩成至少一个压缩包,至少一个压缩包仅包括对象数据。
具体的,本发明实施例中介绍的终端可以用以实施本发明结合图13介绍的方法实施例中的部分或全部流程。
请参见图17,图17为本发明实施例中提供的一种数据解析装置的结构示意图,所述数据解析装置可以用于实施结合图14所示的方法实施例中的部分或全部步骤,所述数据解析装置至少可以包括接收单元1701、确定单元1702以及解析单元1703,其中:
接收单元1701,用于接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包,对象数据用于指示URI标识的资源。
确定单元1702,用于根据指示信息,确定下一个URI的对象数据对应的起始TCP数据包。
解析单元1703,用于从起始TCP数据包开始对下一个URI的对象数据进行数据解析。
在可选实施例中,确定单元1702,用于当最后一个TCP数据包的数据部分的长度为0时,确定下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。
在可选实施例中,确定单元1702,用于当最后一个TCP数据包的数据量小于预设MSS时,确定下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。
在可选实施例中,确定单元1702,用于当最后一个TCP数据包的报头包括标识信息时,确定下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。
在可选实施例中,还包括:
发送单元1704,用于接收单元1701接收节点设备发送的至少一个TCP数据包之前,向节点设备发送TCP数据包。
确定单元1702,还用于当接收的TCP数据包中携带向节点设备发送的TCP数据包的确认序号时,根据确认序号,确定节点设备正确接收向节点设备发送的TCP数据包。
在可选实施例中,接收单元1701,还用于确定单元1702根据指示信息,确定下一个URI的对象数据对应的起始TCP数据包之前,接收节点设备发送的通知消息。
进一步的,本发明实施例中的数据解析装置还可以包括:
获取单元1705,用于根据通知消息,获取对象数据对应的最后一个TCP数据包中的指示信息。
在可选实施例中,至少一个TCP数据包的报头包括数据类型信息,则解析单元1703,用于根据数据类型信息,获取TCP数据包的数据部分的数据类型。
在图17所示的数据解析装置中,接收单元1701接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包,确定单元1702根据指示信息确定下一个URI的对象数据对应的起始TCP数据包,解析单元1703从起始TCP数据包开始对下一个URI的对象数据进行数据解析,可有效识别下一个URI的对象数据的边界,以实现对下一个URI的对象数据的数据解析。
请参见图18,图18为本发明第四实施例提供的一种节点设备的结构示意图,本发明实施例提供的节点设备可以用于实施上述图14所示的本发明各实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照图14所示的本发明各实施例。
如图18所示,该终端设备包括:至少一个处理器1801,例如CPU,至少一个网络接口1803,存储器1804,至少一个通信总线1802。其中,通信总线1802用于实现这些组件之间的连接通信。其中,网络接口1803可选的可以包括标准的有线接口、无线接口(如WI-FI接口),用于与外部网络进行通信。其中,存储器1804可能包含高速RAM存储器,也可能还包括非不稳定的存储器,例 如至少一个磁盘存储器。存储器1804可选的可以包含至少一个位于远离前述处理器1801的存储装置。处理器1801可以结合图17所示的数据解析装置。存储器1804中存储一组程序代码,且处理器1801调用存储器1804中存储的程序代码,用于执行以下操作:
通过网络接口1803接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包,对象数据用于指示URI标识的资源。
根据指示信息,确定下一个URI的对象数据对应的起始TCP数据包。
从起始TCP数据包开始对下一个URI的对象数据进行数据解析。
在可选实施例中,处理器1801根据指示信息,确定下一个URI的对象数据对应的起始TCP数据包,具体可以为:
当最后一个TCP数据包的数据部分的长度为0时,确定下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。
在可选实施例中,处理器1801根据指示信息,确定下一个URI的对象数据对应的起始TCP数据包,具体可以为:
当最后一个TCP数据包的数据量小于预设MSS时,确定下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。
在可选实施例中,处理器1801根据指示信息,确定下一个URI的对象数据对应的起始TCP数据包,具体可以为:
当最后一个TCP数据包的报头包括标识信息时,确定下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。
在可选实施例中,处理器1801通过网络接口1803接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包之前,还可以执行以下操作:
通过网络接口1803向节点设备发送TCP数据包。
处理器1801接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包之后,还可以执行以下操作:
当接收的TCP数据包中携带向所述节点设备发送的TCP数据包的确认序 号时,根据确认序号,确定节点设备正确接收向节点设备发送的TCP数据包。
在可选实施例中,处理器1801根据指示信息,确定下一个URI的对象数据对应的起始TCP数据包之前,还可以执行以下操作:
通过网络接口1803接收节点设备发送的通知消息。
根据通知消息,获取对象数据对应的最后一个TCP数据包中的指示信息。
在可选实施例中,至少一个TCP数据包的报头包括数据类型信息,则处理器1801从起始TCP数据包开始对下一个URI的对象数据进行数据解析,具体可以为:
根据数据类型信息,获取TCP数据包的数据部分的数据类型。
具体的,本发明实施例中介绍的终端可以用以实施本发明结合图14介绍的方法实施例中的部分或全部流程。
请参见图19,图19是本发明实施例中提供的一种数据传输***的结构示意图,如图所示本发明实施例中的数据传输***至少可以包括数据传输装置1901和数据解析装置1902,其中:
数据传输装置1901,用于将一个URI的对象数据封装成至少一个TCP数据包,其中,至少一个TCP数据包中的最后一个TCP数据包可以包括指示信息,指示信息可以用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包。
数据传输装置1901,还用于将至少一个TCP数据包发送给数据解析装置1902。
数据解析装置1902,用于根据指示信息,确定下一个URI的对象数据对应的起始TCP数据包。
数据解析装置1902,还用于从起始TCP数据包开始对下一个URI的对象数据进行数据解析。
数据解析装置1202,还用于将数据解析后的TCP数据包发送给节点设备1904。
在可选实施例中,当最后一个TCP数据包的数据部分的长度为0时,数据解析装置1902确定下一个TCP数据包为下一个URI的对象数据对应的起始 TCP数据包。
进一步可选的,最后一个TCP数据包的报头可以包括发送序号和确认序号,其中,发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,确认序号是根据接收的节点设备发送的数据确认的。
进一步可选的,最后一个TCP数据包的报头可以包括发送序号和确认序号,其中发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,确认序号与最后一个TCP数据包的前一个数据包的确认序号相同。
进一步可选的,数据传输装置1901将一个URI的对象数据封装成至少一个TCP数据包之前,还可以执行以下操作:
获取管理终端1903发送的对象数据,对象数据包括终端标识信息,终端标识信息用于指示将对象数据对应的至少一个TCP数据包发送给终端标识信息对应的节点设备。
进一步可选的,数据传输装置1901将一个URI的对象数据封装成至少一个TCP数据包,具体可以为:
当对象数据对应的最后一个包含数据的TCP数据包的数据量等于预设MSS时,在最后一个包含数据的TCP数据包后增加一个TCP数据包,增加的TCP数据包的数据部分的长度为0。
在可选实施例中,当对象数据对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,最后一个包含数据的TCP数据包仅包括对象数据,指示信息为最后一个包含数据的TCP数据包的数据量,则当最后一个TCP数据包的数据量小于预设MSS时,数据解析装置1902可以确定下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。
在可选实施例中,指示信息可以为包含在最后一个TCP数据包的报头中的标识信息,则当最后一个TCP数据包的报头包括标识信息时,数据解析装置1902可以确定下一个TCP数据包为下一个URI的对象数据对应的起始TCP数据包。
在可选实施例中,至少一个TCP数据包的数据部分仅包括URI对象数据的数据。
在可选实施例中,数据传输装置1901将至少一个TCP数据包发送给数据 解析装置1902之前,还可以执行以下操作:
数据传输装置1901接收数据解析装置1902发送的TCP数据包。
进一步的,数据传输装置1901将一个URI的对象数据封装成至少一个TCP数据包,具体可以为:
在至少一个TCP数据包中的待发送的TCP数据包中携带节点设备发送的TCP数据包的确认序号,确认序号用于指示正确接收节点设备发送的TCP数据包。
进一步的,数据解析装置1902接收数据传输装置1901发送的至少一个TCP数据包之后,还可以执行以下操作:
当接收的TCP数据包中携带向数据传输装置1901发送的TCP数据包的确认序号时,根据确认序号,确定数据传输装置1901正确接收数据解析装置1902发送的TCP数据包。
在可选实施例中,数据传输装置1901将一个URI的对象数据封装成至少一个TCP数据包之前,还可以执行以下操作:
向节点设备1904发送通知消息,通知消息用于至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包。
在可选实施例中,数据解析装置1902根据指示信息,确定下一个URI的对象数据对应的起始TCP数据包之前,还可以执行以下操作:
接收数据传输装置1901发送的通知消息。
根据通知消息,获取对象数据对应的最后一个TCP数据包中的指示信息。
在可选实施例中,至少一个TCP数据包的报头包括数据类型信息,数据类型信息用于指示TCP数据包的数据部分的数据类型,则数据解析装置1902从起始TCP数据包开始对下一个URI的对象数据进行数据解析,具体可以为:
根据数据类型信息,获取TCP数据包的数据部分的数据类型。
在可选实施例中,数据传输装置1901将对象数据封装成至少一个TCP数据包之前,还可以执行以下操作:
将对象数据压缩成至少一个压缩包,至少一个压缩包仅包括对象数据。
在图19所示的数据传输***中,数据传输装置1901将一个URI的对象 数据封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为对象数据对应的最后一个TCP数据包,数据传输装置1901将至少一个TCP数据包发送给数据解析装置1902,数据解析装置1902根据指示信息确定下一个URI的对象数据对应的起始TCP数据包,进而从起始TCP数据包开始对下一个URI的对象数据进行数据解析,可确保一个TCP数据包的数据部分仅包括一个URI的对象数据,以便数据解析装置1902有效识别下一个URI的对象数据的边界,以实现对下一个URI的对象数据的数据解析。
请参见图20,图20为本发明另一实施例中提供的一种数据传输方法的流程示意图,如图所示本发明实施例中的数据传输方法可以包括:
S2001,将一个应用层数据单元封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为应用层数据单元对应的最后一个TLS帧。
终端可以将一个应用层数据单元封装成至少一个TLS帧。其中,至少一个TLS帧中的最后一个TLS帧为应用层数据单元对应的最后一个TLS帧。应用层数据单元可以包括HTTP帧或者URI的对象数据。以图7G或者图7H为例,应用层数据单元为HTTP帧时,终端可以将一个HTTP帧封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为该HTTP帧对应的最后一个TLS帧。以图7I或者图7J为例,应用层数据单元为URI的对象数据时,终端可以将一个URI的对象数据封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为该对象数据对应的最后一个TLS帧。
S2002,在至少一个TLS帧中确定目标TLS帧。
终端可以在至少一个TLS帧中确定目标TLS帧,其中目标TLS帧用于携带业务信息,业务信息用于指示该应用层数据单元传输过程中的描述信息,例如数据类型信息或者策略信息等。
在可选实施例中,终端可以将至少一个TLS帧中的第一个TLS帧、最后一个TLS帧或者所有TLS帧确定为目标TLS帧。例如,终端将一个应用层数据单元封装成至少一个TLS帧之后,可以将至少一个TLS帧中的所有TLS帧确定为目标TLS帧,或者将至少一个TLS帧中的第一个TLS帧确定为目标 TLS帧,或者将至少一个TLS帧中的最后一个TLS帧确定为目标TLS帧。
具体实现中,终端将一个应用层数据单元封装成至少一个TLS帧之后,将至少一个TLS帧中的所有TLS帧确定为目标TLS帧,将该应用层数据单元的业务信息添加到目标TLS帧中,将包含业务信息的目标TLS帧封装成至少一个TCP数据包,将至少一个TCP数据包发送给节点设备,以便节点设备根据目标TLS帧中的业务信息,对该目标TLS帧进行数据解析,进而得到该目标TLS帧的数据类型和对该目标TLS帧的执行策略。本发明实施例在应用层数据单元封装得到的所有TLS帧中添加该应用层数据单元的业务信息,可提高数据解析的可靠性。
具体实现中,终端将一个应用层数据单元封装成至少一个TLS帧之后,将至少一个TLS帧中的第一个TLS帧确定为目标TLS帧,将该应用层数据单元的业务信息添加到目标TLS帧中,将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成至少一个TCP数据包,将至少一个TCP数据包发送给节点设备,以便节点设备根据目标TLS帧中的业务信息,对该目标TLS帧进行数据解析,进而得到该目标TLS帧的数据类型和对该目标TLS帧的执行策略,并将该目标TLS帧的数据类型确定为至少一个TLS帧中所有TLS帧的数据类型,将对该目标TLS帧的执行策略确定为对至少一个TLS帧中所有TLS帧的执行策略。本发明实施例在应用层数据单元封装得到的第一个TLS帧中添加该应用层数据单元的业务信息,可节省开销。
具体实现中,终端将一个应用层数据单元封装成至少一个TLS帧之后,将至少一个TLS帧中的最后一个TLS帧确定为目标TLS帧,将该应用层数据单元的业务信息添加到目标TLS帧中,将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成至少一个TCP数据包,将至少一个TCP数据包发送给节点设备,以便节点设备根据目标TLS帧中的业务信息,对该目标TLS帧进行数据解析,进而得到该目标TLS帧的数据类型和对该目标TLS帧的执行策略,并将该目标TLS帧的数据类型确定为至少一个TLS帧中所有TLS帧的数据类型,将对该目标TLS帧的执行策略确定为对至少一个TLS帧中所有TLS帧的执行策略。本发明实施例在应用层数据单元封装得到的最后一个TLS帧中添加该应用层数据单元的业务信息,可节省开销。
在可选实施例中,终端可以将至少一个TLS帧中的第一个TLS帧及其最后一个TLS帧确定为目标TLS帧。例如,终端将一个应用层数据单元封装成至少一个TLS帧之后,可以将至少一个TLS帧中的第一个TLS帧和至少一个TLS帧中的最后一个TLS帧确定为目标TLS帧。
具体实现中,终端将一个应用层数据单元封装成至少一个TLS帧之后,将至少一个TLS帧中的第一个TLS帧及其最后一个TLS帧确定为目标TLS帧,将该应用层数据单元的业务信息添加到目标TLS帧中,将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成至少一个TCP数据包,将至少一个TCP数据包发送给节点设备,以便节点设备根据目标TLS帧中的业务信息,对该目标TLS帧进行数据解析,进而得到该目标TLS帧的数据类型和对该目标TLS帧的执行策略,并将该目标TLS帧的数据类型确定为至少一个TLS帧中所有TLS帧的数据类型,将对该目标TLS帧的执行策略确定为对至少一个TLS帧中所有TLS帧的执行策略。本发明实施例在应用层数据单元封装得到的第一个TLS帧及其最后一个TLS帧中添加该应用层数据单元的业务信息,可节省开销。
在可选实施例中,终端将一个应用层数据单元封装成至少一个TLS帧之后,可以分别在各个TLS帧之前增加一个目标TLS帧,或者分别在各个TLS帧之后增加一个目标TLS帧,或者在至少一个TLS帧中的第一个TLS帧之前增加一个目标TLS帧,或者在至少一个TLS帧中的最后一个TLS帧之后增加一个目标TLS帧,等等,具体不受本发明实施例的限制。终端将应用层数据单元的业务信息添加到目标TLS帧中,将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成至少一个TCP数据包,将至少一个TCP数据包发送给节点设备,以便节点设备根据目标TLS帧中的业务信息,对该目标TLS帧进行数据解析,进而得到该目标TLS帧的数据类型和对该目标TLS帧的执行策略,并将该目标TLS帧的数据类型确定为至少一个TLS帧中所有TLS帧的数据类型,将对该目标TLS帧的执行策略确定为对至少一个TLS帧中所有TLS帧的执行策略。
S2003,将应用层数据单元的业务信息添加到目标TLS帧中。
终端确定目标TLS帧之后,可以将应用层数据单元的业务信息添加到目 标TLS帧中。其中,应用层数据单元的业务信息可以包括数据类型信息或者策略信息等,需要说明的是,本发明实施例中的业务信息包含但不局限于数据类型信息或者策略信息,还可以包括在该应用层数据单元传输过程中的其他描述信息,例如目标TLS帧的标识信息等,具体不受本发明实施例的限制。其中,业务信息可以是终端和节点设备进行协商得到的。具体实现中,终端可以通过应用层获取该应用层数据单元的业务信息,终端确定目标TLS帧之后,将应用层数据单元的业务信息添加到目标TLS帧中。
在可选实施例中,业务信息可以包括数据类型信息,数据类型信息用于指示目标TLS帧的数据类型。
在可选实施例中,业务信息可以包括策略信息,策略信息用于指示对目标TLS帧的执行策略,执行策略包括Qos(Quality of Service,服务质量)策略或者计费策略。
进一步可选的,业务信息可以携带在目标TLS帧的TLS头域中。例如,传统的TLS头域的格式可以为:ContentType::=ENUMERATED{change_cipher_spec(20),alert(21),handshake(22),application_data(23),(255)},包含业务信息的TLS头域的格式可以为:ContentType::=ENUMERATED{change_cipher_spec(20),alert(21),handshake(22),application_dat a(23),Text/HTML(24),Text/CSS(25),Text/JS(26),Image/JPEG(27),Application/Video(28),Application/Audio(29),Text/HTML/policy(30),Text/CSS/policy(31),Text/JS/policy(31),Image/JPEG/policy(32),Application/Video/policy(33),Application/Audio/policy(34),…(255)}。其中,Text/HTML(24),Text/CSS(25),Text/JS(26),Image/JPEG(27),Application/Video(28),Application/Audio(29)为数据类型信息。Text/HTML/policy(30),Text/CSS/policy(31),Text/JS/policy(31),Image/JPEG/policy(32),Application/Video/policy(33),Application/Audio/policy(34)为策略信息。
在可选实施中,目标TLS帧用于指示至少一个TLS帧中的指定TLS帧的业务信息。其中,指定TLS帧包括至少一个TLS帧中目标TLS帧之后的所有TLS帧,或者至少一个TLS帧中目标TLS帧之前的所有TLS帧,至少一个 TLS帧中目标TLS帧的前一个TLS帧,至少一个TLS帧中目标TLS帧的后一个TLS帧。
例如,终端将一个应用层数据单元封装成至少一个TLS帧之后,分别在各个TLS帧之前增加一个目标TLS帧,则目标TLS帧用于指示至少一个TLS帧中目标TLS帧的后一个TLS帧的业务信息。又如,终端将一个应用层数据单元封装成至少一个TLS帧之后,分别在各个TLS帧之后增加一个目标TLS帧,则目标TLS帧用于指示至少一个TLS帧中目标TLS帧的前一个TLS帧的业务信息。又如,终端在至少一个TLS帧中的第一个TLS帧之前增加一个目标TLS帧,则目标TLS帧用于指示至少一个TLS帧中目标TLS帧之后的所有TLS帧的业务信息。又如,终端在至少一个TLS帧中的最后一个TLS帧之后增加一个目标TLS帧,则目标TLS帧用于指示至少一个TLS帧中目标TLS帧之前的所有TLS帧的业务信息。
进一步可选的,业务信息可以包括数据类型信息,数据类型信息用于指示指定TLS帧的数据类型。
进一步可选的,业务信息可以包括策略信息,策略信息用于指示对指定TLS帧的执行策略,执行策略包括Qos策略或者计费策略。
进一步可选的,目标TLS帧可以包含扩展标识信息,扩展标识信息用于指示目标TLS帧为指示至少一个TLS帧中的指定TLS帧的业务信息的协议帧。具体实现中,终端可以将扩展标识信息添加到目标TLS帧的TLS头域中。例如,终端设定目标TLS帧的TLS头域的格式为:ContentType::=ENUMERATED{change_cipher_spec(20),alert(21),handshake(22),application_data(23),Extention data(24),(255)},其中,Extention data(24)为扩展标识信息。
进一步可选的,业务信息可以携带在目标TLS帧的数据部分。以图7F为例,终端可以将业务信息添加到目标TLS帧的Plaintext字段。
S2004,将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成至少一个TCP数据包。
终端将应用层数据单元的业务信息添加到目标TLS帧中之后,可以将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成至少一个TCP数据包。以图7G或者7I为例,终端可以分别将各个TLS帧封装成至 少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为TLS帧对应的最后一个TCP数据包。以图7H或者7J为例,终端可以将至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,至少一个TCP数据包中的最后一个TCP数据包包括指示信息,指示信息用于指示最后一个TCP数据包为应用层数据单元对应的最后一个TCP数据包。
S2005,将至少一个TCP数据包发送给节点设备。
在图20所示的数据传输方法中,将一个应用层数据单元封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为应用层数据单元对应的最后一个TLS帧,在至少一个TLS帧中确定目标TLS帧,将应用层数据单元的业务信息添加到目标TLS帧中,将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成至少一个TCP数据包,将至少一个TCP数据包发送给节点设备,可向节点设备发送添加业务信息的TCP数据包。
请参见图21,图21为本发明另一实施例中提供的一种数据解析方法的流程示意图,如图所示本发明实施例中的数据解析方法可以包括:
S2101,接收节点设备发送的将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成的至少一个TCP数据包,至少一个TLS帧是节点设备将一个应用层数据单元封装得到的。
终端可以接收节点设备发送的将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成的至少一个TCP数据包,至少一个TLS帧是节点设备将一个应用层数据单元封装得到的。
在可选实施例中,目标TLS帧用于指示至少一个TLS帧中的指定TLS帧的业务信息。其中,指定TLS帧可以包括至少一个TLS帧中目标TLS帧之后的所有TLS帧,或者指定TLS帧包括至少一个TLS帧中目标TLS帧之前的所有TLS帧,或者指定TLS帧包括至少一个TLS帧中目标TLS帧的前一个TLS帧,或者指定TLS帧包括至少一个TLS帧中目标TLS帧的后一个TLS帧。
例如,节点设备将一个应用层数据单元封装成至少一个TLS帧之后,分别在各个TLS帧之前增加一个目标TLS帧,则终端可以确定目标TLS帧用于 指示至少一个TLS帧中目标TLS帧的后一个TLS帧的业务信息。又如,节点设备将一个应用层数据单元封装成至少一个TLS帧之后,分别在各个TLS帧之后增加一个目标TLS帧,则终端可以确定目标TLS帧用于指示至少一个TLS帧中目标TLS帧的前一个TLS帧的业务信息。又如,节点设备在至少一个TLS帧中的第一个TLS帧之前增加一个目标TLS帧,则终端可以确定目标TLS帧用于指示至少一个TLS帧中目标TLS帧之后的所有TLS帧的业务信息。又如,节点设备在至少一个TLS帧中的最后一个TLS帧之后增加一个目标TLS帧,则终端可以确定目标TLS帧用于指示至少一个TLS帧中目标TLS帧之前的所有TLS帧的业务信息。
S2102,获取目标TLS帧中的业务信息。
终端接收到至少一个TCP数据包之后,可以获取目标TLS帧中的业务信息。
在可选实施例中,终端获取目标TLS帧中的业务信息之前,可以确定至少一个TLS帧中的第一个TLS帧、最后一个TLS帧或者所有TLS帧为目标TLS帧。具体实现中,终端可以和节点设备预先协商将至少一个TLS帧中的第一个TLS帧、最后一个TLS帧或者所有TLS帧确定为目标TLS帧。
在可选实施例中,终端获取目标TLS帧中的业务信息之前,可以确定至少一个TLS帧中的第一个TLS帧及其最后一个TLS帧为目标TLS帧。
进一步可选的,终端可以在目标TLS帧的TLS头域中获取业务信息。
在可选实施例中,终端获取目标TLS帧中的业务信息之前,可以确定目标TLS帧包括扩展标识信息,扩展标识信息用于指示目标TLS帧为指示至少一个TLS帧中的指定TLS帧的业务信息的协议帧,进而在目标TLS帧的数据部分获取业务信息。
S2103,根据业务信息,对应用层数据单元进行数据解析。
终端可以根据目标TLS帧携带的业务信息,对应用层数据单元进行数据解析。
在可选实施例中,业务信息可以包括数据类型信息,则终端可以根据数据类型信息,获取目标TLS帧的数据类型,进而将目标TLS帧的数据类型确定为应用层数据单元的数据类型。
在可选实施例中,业务信息可以包括策略信息,则终端可以根据策略信息,获取对目标TLS帧的执行策略,进而将对目标TLS帧的执行策略确定为对应用层数据单元的执行策略。
在可选实施例中,业务信息可以包括数据类型信息,则终端可以根据数据类型信息,获取至少一个TLS帧中的指定TLS帧的数据类型,将指定TLS帧的数据类型确定为应用层数据单元的数据类型。
在可选实施例中,业务信息可以包括策略信息,则终端可以根据策略信息,获取对至少一个TLS帧中的指定TLS帧的执行策略,进而将对指定TLS帧的执行策略确定为对应用层数据单元的执行策略。
在可选实施例中,终端将对指定TLS帧的执行策略确定为对应用层数据单元的执行策略之后,可以删除目标TLS帧。例如,目标TLS帧用于指示至少一个TLS帧中的指定TLS帧的业务信息,则终端将对指定TLS帧的执行策略确定为对应用层数据单元的执行策略之后,可以删除目标TLS帧。
在图21所示的数据解析方法中,接收节点设备发送的将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成的至少一个TCP数据包,至少一个TLS帧是节点设备将一个应用层数据单元封装得到的,获取目标TLS帧中的业务信息,根据业务信息,对应用层数据单元进行数据解析,可提高数据解析的可靠性。
请参见图22,图22为本发明另一实施例中提供的一种数据传输装置的结构示意图,所述数据传输装置可以用于实施结合图20所示的方法实施例中的部分或全部步骤,所述数据传输装置至少可以包括封装单元2201、确定单元2202、添加单元2203以及发送单元2204,其中:
封装单元2201,用于将一个应用层数据单元封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为应用层数据单元对应的最后一个TLS帧,应用层数据单元为HTTP帧或者URI的对象数据。
确定单元2202,用于在至少一个TLS帧中确定目标TLS帧。
添加单元2203,用于将应用层数据单元的业务信息添加到目标TLS帧中。
封装单元2201,还用于将包含业务信息的目标TLS帧以及至少一个TLS 帧中的其他TLS帧封装成至少一个TCP数据包。
发送单元2204,用于将封装成至少一个TCP数据包发送给节点设备。
在可选实施例中,确定单元2202,用于将至少一个TLS帧中的第一个TLS帧、最后一个TLS帧或者所有TLS帧确定为目标TLS帧。
在可选实施例中,确定单元2202,用于将至少一个TLS帧中的第一个TLS帧及其最后一个TLS帧确定为目标TLS帧。
进一步可选的,业务信息包括数据类型信息,数据类型信息用于指示目标TLS帧的数据类型。
进一步可选的,业务信息包括策略信息,策略信息用于指示对目标TLS帧的执行策略,执行策略包括Qos策略或者计费策略。
进一步可选的,业务信息携带在目标TLS帧的TLS头域中。
在可选实施例中,目标TLS帧用于指示至少一个TLS帧中的指定TLS帧的业务信息,则指定TLS帧包括至少一个TLS帧中目标TLS帧之后的所有TLS帧。或者
指定TLS帧包括至少一个TLS帧中目标TLS帧之前的所有TLS帧。或者
指定TLS帧包括至少一个TLS帧中目标TLS帧的前一个TLS帧。或者
指定TLS帧包括至少一个TLS帧中目标TLS帧的后一个TLS帧。
进一步可选的,业务信息包括数据类型信息,数据类型信息用于指示指定TLS帧的数据类型。
进一步可选的,业务信息包括策略信息,策略信息用于指示对指定TLS帧的执行策略,执行策略包括Qos策略或者计费策略。
进一步可选的,目标TLS帧包含扩展标识信息,扩展标识信息用于指示目标TLS帧为指示至少一个TLS帧中的指定TLS帧的业务信息的协议帧。
进一步可选的,业务信息携带在目标TLS帧的数据部分。
在图22所示的数据传输装置中,封装单元2201将一个应用层数据单元封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为应用层数据单元对应的最后一个TLS帧,确定单元2202在至少一个TLS帧中确定目标TLS帧,添加单元2203将应用层数据单元的业务信息添加到目标TLS帧中,封装单元2201将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS 帧封装成至少一个TCP数据包,发送单元2204将封装成至少一个TCP数据包发送给节点设备,可向节点设备发送添加业务信息的TCP数据包。
请参见图23,图23为本发明第五实施例提供的一种节点设备的结构示意图,本发明实施例提供的节点设备可以用于实施上述图20所示的本发明各实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照图20所示的本发明各实施例。
如图23所示,该节点设备包括:至少一个处理器2301,例如CPU,至少一个网络接口2303,存储器2304,至少一个通信总线2302。其中,通信总线2302用于实现这些组件之间的连接通信。其中,网络接口2303可选的可以包括标准的有线接口、无线接口(如WI-FI接口),用于与外部网络进行通信。其中,存储器2304可能包含高速RAM存储器,也可能还包括非不稳定的存储器,例如至少一个磁盘存储器。存储器2304可选的可以包含至少一个位于远离前述处理器2301的存储装置。处理器2301可以结合图22所示的数据传输装置。存储器2304中存储一组程序代码,且处理器2301调用存储器2304中存储的程序代码,用于执行以下操作:
将一个应用层数据单元封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为应用层数据单元对应的最后一个TLS帧,应用层数据单元为HTTP帧或者URI的对象数据。
在至少一个TLS帧中确定目标TLS帧。
将应用层数据单元的业务信息添加到目标TLS帧中。
将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成至少一个TCP数据包。
通过网络接口2303将至少一个TCP数据包发送给节点设备。
具体的,本发明实施例中介绍的终端可以用以实施本发明结合图20介绍的方法实施例中的部分或全部流程。
请参见图24,图24是本发明实施例中提供的一种数据解析装置的结构示意图,如图所示本发明实施例中的数据解析装置至少可以包括接收单元2401、 获取单元2402以及解析单元2403,其中:
接收单元2401,用于接收节点设备发送的将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成的至少一个TCP数据包,至少一个TLS帧是节点设备将一个应用层数据单元封装得到的。
获取单元2402,用于获取目标TLS帧中的业务信息。
解析单元2403,用于根据业务信息,对应用层数据单元进行数据解析。
在可选实施例中,本发明实施例中的数据解析装置还可以包括:
确定单元2404,用于获取单元2402获取目标TLS帧中的业务信息之前,确定至少一个TLS帧中的第一个TLS帧、最后一个TLS帧或者所有TLS帧为目标TLS帧。
在可选实施例中,本发明实施例中的数据解析装置还可以包括:
确定单元2404,用于获取单元2402获取目标TLS帧中的业务信息之前,确定至少一个TLS帧中的第一个TLS帧及其最后一个TLS帧为目标TLS帧。
在可选实施例中,业务信息包括数据类型信息,则解析单元2403,用于根据数据类型信息,获取目标TLS帧的数据类型,并将目标TLS帧的数据类型确定为应用层数据单元的数据类型。
在可选实施例中,业务信息包括策略信息,则解析单元2403,用于根据策略信息,获取对目标TLS帧的执行策略,并将对目标TLS帧的执行策略确定为对应用层数据单元的执行策略。
在可选实施例中,获取单元2402,用于在目标TLS帧的TLS头域中获取业务信息。
在可选实施例中,目标TLS帧用于指示至少一个TLS帧中的指定TLS帧的业务信息,则指定TLS帧包括至少一个TLS帧中目标TLS帧之后的所有TLS帧。或者
指定TLS帧包括至少一个TLS帧中目标TLS帧之前的所有TLS帧。或者
指定TLS帧包括至少一个TLS帧中目标TLS帧的前一个TLS帧。或者
指定TLS帧包括至少一个TLS帧中目标TLS帧的后一个TLS帧。
进一步可选的,业务信息包括数据类型信息,则解析单元2403,用于根据数据类型信息,获取至少一个TLS帧中的指定TLS帧的数据类型,将指定 TLS帧的数据类型确定为应用层数据单元的数据类型。
进一步可选的,业务信息包括策略信息,则解析单元2403,用于根据策略信息,获取对至少一个TLS帧中的指定TLS帧的执行策略,将对指定TLS帧的执行策略确定为对应用层数据单元的执行策略。
进一步可选的,本发明实施例中的数据解析装置还可以包括:
删除单元2405,用于解析单元2403将对指定TLS帧的执行策略确定为对应用层数据单元的执行策略之后,删除目标TLS帧。
进一步可选的,本发明实施例中的数据解析装置还可以包括:
确定单元2404,用于获取单元2402获取目标TLS帧中的业务信息之前,确定目标TLS帧包括扩展标识信息,扩展标识信息用于指示目标TLS帧为指示至少一个TLS帧中的指定TLS帧的业务信息的协议帧。
进一步可选的,获取单元2402,用于在目标TLS帧的数据部分获取业务信息。
在图24所示的数据解析装置中,接收单元2401接收节点设备发送的将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成的至少一个TCP数据包,至少一个TLS帧是节点设备将一个应用层数据单元封装得到的,获取单元2402获取目标TLS帧中的业务信息,解析单元2403根据业务信息,对应用层数据单元进行数据解析,可提高数据解析的可靠性。
请参见图25,图25为本发明第六实施例提供的一种节点设备的结构示意图,本发明实施例提供的节点设备可以用于实施上述图21所示的本发明各实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照图21所示的本发明各实施例。
如图25所示,该节点设备包括:至少一个处理器2501,例如CPU,至少一个网络接口2503,存储器2504,至少一个通信总线2502。其中,通信总线2502用于实现这些组件之间的连接通信。其中,网络接口2503可选的可以包括标准的有线接口、无线接口(如WI-FI接口),用于与外部网络进行通信。其中,存储器2504可能包含高速RAM存储器,也可能还包括非不稳定的存储器,例如至少一个磁盘存储器。存储器2504可选的可以包含至少一个位于 远离前述处理器2501的存储装置。处理器2501可以结合图24所示的数据解析装置。存储器2504中存储一组程序代码,且处理器2501调用存储器2504中存储的程序代码,用于执行以下操作:
通过网络接口2503接收节点设备发送的将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成的至少一个TCP数据包,至少一个TLS帧是节点设备将一个应用层数据单元封装得到的。
获取目标TLS帧中的业务信息。
根据业务信息,对应用层数据单元进行数据解析。
具体的,本发明实施例中介绍的终端可以用以实施本发明结合图21介绍的方法实施例中的部分或全部流程。
请参见图26,图26为本发明另一实施例中提供的一种数据传输***的结构示意图,所述数据传输***至少可以包括数据传输装置2601以及数据解析装置2602,数据传输装置2601可以用于实施结合图22所示的装置实施例中的部分或全部步骤,数据解析装置2602可以用于实施结合图24所示的装置实施例中的部分或全部步骤,其中:
数据传输装置2601,用于将一个应用层数据单元封装成至少一个TLS帧,至少一个TLS帧中的最后一个TLS帧为应用层数据单元对应的最后一个TLS帧,应用层数据单元为HTTP帧或者URI的对象数据;在至少一个TLS帧中确定目标TLS帧;将应用层数据单元的业务信息添加到目标TLS帧中;将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成至少一个TCP数据包,将至少一个TCP数据包发送给数据解析装置2602。
数据解析装置2602,用于获取目标TLS帧中的业务信息,根据业务信息,对应用层数据单元进行数据解析。
具体的,本发明实施例中介绍的数据传输***可以用以实施本发明结合图20以及21介绍的方法实施例中的部分或全部流程。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明 书中,对上述术语的示意性表述不是必须针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的程序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器 中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (41)

  1. 一种数据传输方法,其特征在于,包括:
    将一个应用层数据单元封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述应用层数据单元对应的最后一个TLS帧,所述应用层数据单元为HTTP帧或者URI的对象数据;
    在所述至少一个TLS帧中确定目标TLS帧;
    将所述应用层数据单元的业务信息添加到所述目标TLS帧中;
    将包含所述业务信息的目标TLS帧以及所述至少一个TLS帧中的其他TLS帧封装成至少一个TCP数据包;
    将所述至少一个TCP数据包发送给节点设备。
  2. 根据权利要求1所述方法,其特征在于,所述在所述至少一个TLS帧中确定目标TLS帧,包括:
    将所述至少一个TLS帧中的第一个TLS帧、最后一个TLS帧或者所有TLS帧确定为所述目标TLS帧。
  3. 根据权利要求2所述方法,其特征在于,所述业务信息包括数据类型信息,所述数据类型信息用于指示所述目标TLS帧的数据类型。
  4. 根据权利要求2或者3所述方法,其特征在于,所述业务信息包括策略信息,所述策略信息用于指示对所述目标TLS帧的执行策略,所述执行策略包括服务质量Qos策略或者计费策略。
  5. 根据权利要求2~4任一项所述方法,其特征在于,所述业务信息携带在所述目标TLS帧的TLS头域中。
  6. 根据权利要求1所述方法,其特征在于,所述目标TLS帧用于指示所述至少一个TLS帧中的指定TLS帧的业务信息;
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之后的所有TLS帧;或者
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之前的所有TLS帧;或者
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的前一个TLS帧;或者
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的后一个TLS帧。
  7. 根据权利要求6所述方法,其特征在于,所述业务信息包括数据类型信息,所述数据类型信息用于指示所述指定TLS帧的数据类型。
  8. 根据权利要求6所述方法,其特征在于,所述业务信息包括策略信息,所述策略信息用于指示对所述指定TLS帧的执行策略,所述执行策略包括Qos策略或者计费策略。
  9. 根据权利要求6-8任一项所述方法,其特征在于,所述业务信息携带在所述目标TLS帧的数据部分。
  10. 一种数据解析方法,其特征在于,包括:
    接收节点设备发送的将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成的至少一个TCP数据包,所述至少一个TLS帧是所述节点设备将一个应用层数据单元封装得到的;
    获取所述目标TLS帧中的业务信息;
    根据所述业务信息,对所述应用层数据单元进行数据解析。
  11. 根据权利要求10所述方法,其特征在于,所述获取所述目标TLS帧中的业务信息之前,还包括:
    确定所述至少一个TLS帧中的第一个TLS帧、最后一个TLS帧或者所有TLS帧为所述目标TLS帧。
  12. 根据权利要求11所述方法,其特征在于,所述业务信息包括数据类型信息;
    所述根据所述业务信息,对所述应用层数据单元进行数据解析,包括:
    根据所述数据类型信息,获取所述目标TLS帧的数据类型;
    将所述目标TLS帧的数据类型确定为所述应用层数据单元的数据类型。
  13. 根据权利要求11所述方法,其特征在于,所述业务信息包括策略信息;
    所述根据所述业务信息,对所述应用层数据单元进行数据解析包括:
    根据所述策略信息,获取对所述目标TLS帧的执行策略;
    将对所述目标TLS帧的执行策略确定为对所述应用层数据单元的执行策 略。
  14. 根据权利要求11~13任一项所述方法,其特征在于,所述获取所述目标TLS帧中的业务信息,包括:
    在所述目标TLS帧的TLS头域中获取所述业务信息。
  15. 根据权利要求10所述方法,其特征在于,所述目标TLS帧用于指示所述至少一个TLS帧中的指定TLS帧的业务信息;
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之后的所有TLS帧;或者
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之前的所有TLS帧;或者
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的前一个TLS帧;或者
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的后一个TLS帧。
  16. 根据权利要求15所述方法,其特征在于,所述业务信息包括数据类型信息;
    所述根据所述业务信息,对所述应用层数据单元进行数据解析,包括:
    根据所述数据类型信息,获取所述至少一个TLS帧中的指定TLS帧的数据类型;
    将所述指定TLS帧的数据类型确定为所述应用层数据单元的数据类型。
  17. 根据权利要求15所述方法,其特征在于,所述业务信息包括策略信息;
    所述根据所述业务信息,对所述应用层数据单元进行数据解析,包括:
    根据所述策略信息,获取对所述至少一个TLS帧中的指定TLS帧的执行策略;
    将对所述指定TLS帧的执行策略确定为对所述应用层数据单元的执行策略。
  18. 根据权利要求17所述方法,其特征在于,所述将对所述指定TLS帧的执行策略确定为对所述应用层数据单元的执行策略之后,还包括:
    删除所述目标TLS帧。
  19. 根据权利要求15~18任一项所述方法,其特征在于,所述获取所述目标TLS帧中的业务信息包括:
    在所述目标TLS帧的数据部分获取所述业务信息。
  20. 一种数据传输装置,其特征在于,包括:
    封装单元,用于将一个应用层数据单元封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述应用层数据单元对应的最后一个TLS帧,所述应用层数据单元为HTTP帧或者URI的对象数据;
    确定单元,用于在所述至少一个TLS帧中确定目标TLS帧;
    添加单元,用于将所述应用层数据单元的业务信息添加到所述目标TLS帧中;
    所述封装单元,还用于将包含所述业务信息的目标TLS帧以及所述至少一个TLS帧中的其他TLS帧封装成至少一个TCP数据包;
    发送单元,用于将所述封装成至少一个TCP数据包发送给节点设备。
  21. 根据权利要求20所述装置,其特征在于,
    所述确定单元,用于将所述至少一个TLS帧中的第一个TLS帧、最后一个TLS帧或者所有TLS帧确定为所述目标TLS帧。
  22. 根据权利要求21所述装置,其特征在于,所述业务信息包括数据类型信息,所述数据类型信息用于指示所述目标TLS帧的数据类型。
  23. 根据权利要求21或者22所述装置,其特征在于,所述业务信息包括策略信息,所述策略信息用于指示对所述目标TLS帧的执行策略,所述执行策略包括Qos策略或者计费策略。
  24. 根据权利要求21~23任一项所述装置,其特征在于,所述业务信息携带在所述目标TLS帧的TLS头域中。
  25. 根据权利要求20所述装置,其特征在于,所述目标TLS帧用于指示所述至少一个TLS帧中的指定TLS帧的业务信息;
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之后的所有TLS帧;或者
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之前的所有 TLS帧;或者
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的前一个TLS帧;或者
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的后一个TLS帧。
  26. 根据权利要求25所述装置,其特征在于,所述业务信息包括数据类型信息,所述数据类型信息用于指示所述指定TLS帧的数据类型。
  27. 根据权利要求25所述装置,其特征在于,所述业务信息包括策略信息,所述策略信息用于指示对所述指定TLS帧的执行策略,所述执行策略包括Qos策略或者计费策略。
  28. 根据权利要求25~27任一项所述装置,其特征在于,所述业务信息携带在所述目标TLS帧的数据部分。
  29. 一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:
    将一个应用层数据单元封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述应用层数据单元对应的最后一个TLS帧,所述应用层数据单元为HTTP帧或者URI的对象数据;
    在所述至少一个TLS帧中确定目标TLS帧;
    将所述应用层数据单元的业务信息添加到所述目标TLS帧中;
    将包含所述业务信息的目标TLS帧以及所述至少一个TLS帧中的其他TLS帧封装成至少一个TCP数据包;
    通过所述网络接口将所述至少一个TCP数据包发送给节点设备。
  30. 一种数据解析装置,其特征在于,包括:
    接收单元,用于接收节点设备发送的将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成的至少一个TCP数据包,所述至少一个TLS帧是所述节点设备将一个应用层数据单元封装得到的;
    获取单元,用于获取所述目标TLS帧中的业务信息;
    解析单元,用于根据所述业务信息,对所述应用层数据单元进行数据解析。
  31. 根据权利要求30所述装置,其特征在于,所述装置还包括:
    确定单元,用于所述获取单元获取所述目标TLS帧中的业务信息之前,确定所述至少一个TLS帧中的第一个TLS帧、最后一个TLS帧或者所有TLS帧为所述目标TLS帧。
  32. 根据权利要求31所述装置,其特征在于,所述业务信息包括数据类型信息;
    所述解析单元,用于根据所述数据类型信息,获取所述目标TLS帧的数据类型;将所述目标TLS帧的数据类型确定为所述应用层数据单元的数据类型。
  33. 根据权利要求31所述装置,其特征在于,所述业务信息包括策略信息;
    所述解析单元,用于根据所述策略信息,获取对所述目标TLS帧的执行策略;将对所述目标TLS帧的执行策略确定为对所述应用层数据单元的执行策略。
  34. 根据权利要求31~33任一项所述装置,其特征在于,
    所述获取单元,用于在所述目标TLS帧的TLS头域中获取所述业务信息。
  35. 根据权利要求30所述装置,其特征在于,所述目标TLS帧用于指示所述至少一个TLS帧中的指定TLS帧的业务信息;
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之后的所有TLS帧;或者
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧之前的所有TLS帧;或者
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的前一个TLS帧;或者
    所述指定TLS帧包括所述至少一个TLS帧中所述目标TLS帧的后一个TLS帧。
  36. 根据权利要求35所述装置,其特征在于,所述业务信息包括数据类型信息;
    所述解析单元,用于根据所述数据类型信息,获取所述至少一个TLS帧 中的指定TLS帧的数据类型;将所述指定TLS帧的数据类型确定为所述应用层数据单元的数据类型。
  37. 根据权利要求35所述装置,其特征在于,所述业务信息包括策略信息;
    所述解析单元,用于根据所述策略信息,获取对所述至少一个TLS帧中的指定TLS帧的执行策略;将对所述指定TLS帧的执行策略确定为对所述应用层数据单元的执行策略。
  38. 根据权利要求37所述装置,其特征在于,所述装置还包括:
    删除单元,用于所述解析单元将对所述指定TLS帧的执行策略确定为对所述应用层数据单元的执行策略之后,删除所述目标TLS帧。
  39. 根据权利要求35~38任一项所述装置,其特征在于,
    所述获取单元,用于在所述目标TLS帧的数据部分获取所述业务信息。
  40. 一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:
    通过所述网络接口接收节点设备发送的将包含业务信息的目标TLS帧以及至少一个TLS帧中的其他TLS帧封装成的至少一个TCP数据包,所述至少一个TLS帧是所述节点设备将一个应用层数据单元封装得到的;
    获取所述目标TLS帧中的业务信息;
    根据所述业务信息,对所述应用层数据单元进行数据解析。
  41. 一种数据传输***,其特征在于,包括如权利要求20~28任一项所述的数据传输装置和如权利要求30~39任一项所述的数据解析装置。
PCT/CN2015/090826 2015-07-10 2015-09-25 一种协议帧传输方法、装置、节点设备以及*** WO2017008401A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP15898128.2A EP3297235A4 (en) 2015-07-10 2015-09-25 Protocol frame transmission method and device, node equipment and system
CN201580001012.9A CN106664262A (zh) 2015-07-10 2015-09-25 一种协议帧传输方法、装置、节点设备以及***
KR1020187000483A KR20180015745A (ko) 2015-07-10 2015-09-25 프로토콜 프레임 전송 방법, 장치, 시스템 및 노드 장치
US15/851,055 US20180115634A1 (en) 2015-07-10 2017-12-21 Protocol frame transmission method, apparatus, and system, and node device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
PCT/CN2015/083772 WO2017008203A1 (zh) 2015-07-10 2015-07-10 一种协议帧传输方法、装置、节点设备以及***
CNPCT/CN2015/083772 2015-07-10
PCT/CN2015/089260 WO2017008385A1 (zh) 2015-07-10 2015-09-09 一种协议帧传输方法、装置、节点设备以及***
CNPCT/CN2015/089260 2015-09-09

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/851,055 Continuation US20180115634A1 (en) 2015-07-10 2017-12-21 Protocol frame transmission method, apparatus, and system, and node device

Publications (1)

Publication Number Publication Date
WO2017008401A1 true WO2017008401A1 (zh) 2017-01-19

Family

ID=57756760

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/090826 WO2017008401A1 (zh) 2015-07-10 2015-09-25 一种协议帧传输方法、装置、节点设备以及***

Country Status (1)

Country Link
WO (1) WO2017008401A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414620A (zh) * 2020-03-23 2020-07-14 深信服科技股份有限公司 一种文件杀毒方法、***及相关设备
CN114567682A (zh) * 2020-11-27 2022-05-31 比亚迪股份有限公司 设备状态监测方法和信号维护支持***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561049A (zh) * 2004-03-10 2005-01-05 中兴通讯股份有限公司 一种隧道包的分片发送方法
CN101296390A (zh) * 2007-04-28 2008-10-29 中兴通讯股份有限公司 用于基站内部节点的通信方法及地址自动分配和识别方法
US20130305036A1 (en) * 2012-05-14 2013-11-14 Sierra Wireless, Inc. Tls abbreviated session identifier protocol
CN103595504A (zh) * 2013-11-04 2014-02-19 上海数字电视国家工程研究中心有限公司 数据包的封装方法及校验方法
CN104378315A (zh) * 2014-11-17 2015-02-25 京信通信***(中国)有限公司 一种capwap隧道数据包传输的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561049A (zh) * 2004-03-10 2005-01-05 中兴通讯股份有限公司 一种隧道包的分片发送方法
CN101296390A (zh) * 2007-04-28 2008-10-29 中兴通讯股份有限公司 用于基站内部节点的通信方法及地址自动分配和识别方法
US20130305036A1 (en) * 2012-05-14 2013-11-14 Sierra Wireless, Inc. Tls abbreviated session identifier protocol
CN103595504A (zh) * 2013-11-04 2014-02-19 上海数字电视国家工程研究中心有限公司 数据包的封装方法及校验方法
CN104378315A (zh) * 2014-11-17 2015-02-25 京信通信***(中国)有限公司 一种capwap隧道数据包传输的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3297235A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414620A (zh) * 2020-03-23 2020-07-14 深信服科技股份有限公司 一种文件杀毒方法、***及相关设备
CN114567682A (zh) * 2020-11-27 2022-05-31 比亚迪股份有限公司 设备状态监测方法和信号维护支持***
CN114567682B (zh) * 2020-11-27 2023-10-17 比亚迪股份有限公司 设备状态监测方法和信号维护支持***

Similar Documents

Publication Publication Date Title
US11212334B2 (en) Mechanisms to support adaptive constrained application protocol (CoAP) streaming for Internet of Things (IoT) systems
CN113411313B (zh) 数据传输方法、装置和***
US10602400B2 (en) Enhancement of PDCP status report
EP1113644A2 (en) Data transfer method and radio terminal for executing transport layer protocol on radio network
CN108683683B (zh) 用于传递多媒体数据的传输特性信息的方法和设备
WO2018177432A1 (zh) 一种数据处理方法、装置及相关设备
CN111435866B (zh) 数据传输方法及相关装置
US9992109B2 (en) Data transmission method, apparatus and system
JP7050094B2 (ja) パケット送信方法、プロキシサーバ、およびコンピュータ読取り可能記憶媒体
US9106614B2 (en) Data transmission method and apparatus
WO2017133234A1 (zh) 数据包发送方法、接收方法、发送装置及接收装置
WO2022088833A1 (zh) 用于传输媒体流的数据包的方法和通信装置
WO2017148419A1 (zh) 数据传输方法及服务器
US20180115634A1 (en) Protocol frame transmission method, apparatus, and system, and node device
US20180146077A1 (en) Method and apparatus for determining processing mode for data packet
WO2017008401A1 (zh) 一种协议帧传输方法、装置、节点设备以及***
CN109067922A (zh) 一种数据传输方法及装置
WO2017067224A1 (zh) 一种报文处理方法及装置
CN115733898A (zh) 一种传输数据的方法以及相关设备
JP6970124B2 (ja) Mmtpパケットを送受信する方法及びその装置
WO2021062690A1 (zh) 以太帧包头压缩处理方法、装置、用户终端、基站和介质
CN116981113A (zh) 数据确定性传输方法、装置和相关设备
JP2021510043A (ja) データ伝送方法、装置及びコンピュータ記憶媒体

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: 15898128

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2015898128

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20187000483

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE