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

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

Info

Publication number
WO2017008385A1
WO2017008385A1 PCT/CN2015/089260 CN2015089260W WO2017008385A1 WO 2017008385 A1 WO2017008385 A1 WO 2017008385A1 CN 2015089260 W CN2015089260 W CN 2015089260W WO 2017008385 A1 WO2017008385 A1 WO 2017008385A1
Authority
WO
WIPO (PCT)
Prior art keywords
tcp
data
packet
last
frame
Prior art date
Application number
PCT/CN2015/089260
Other languages
English (en)
French (fr)
Inventor
韦安妮
熊春山
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to BR112018000371A priority Critical patent/BR112018000371A2/pt
Priority to EP15898112.6A priority patent/EP3300275A4/en
Priority to CN201580001010.XA priority patent/CN106537830A/zh
Priority to PCT/CN2015/090826 priority patent/WO2017008401A1/zh
Priority to EP15898128.2A priority patent/EP3297235A4/en
Priority to KR1020187000483A priority patent/KR20180015745A/ko
Publication of WO2017008385A1 publication Critical patent/WO2017008385A1/zh
Priority to US15/851,055 priority patent/US20180115634A1/en
Priority to US15/866,085 priority patent/US20180131609A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1403Architecture for metering, charging or billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1403Architecture for metering, charging or billing
    • H04L12/1407Policy-and-charging control [PCC] architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/66Policy and charging system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

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 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 Add a TCP packet after the TCP packet, the length of the data portion of the added TCP packet Degree is 0.
  • 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, and 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 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 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 method 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.
  • a sixth 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 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;
  • a seventh 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 fourth possible implementation manner 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.
  • 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:
  • At least one TCP data packet that encapsulates one protocol frame receives, by the node device, at least one TCP data packet that encapsulates one protocol frame, and the last one of the at least one TCP data packet includes indication information, the indication information And configured to indicate that the last TCP data packet is the last TCP data packet corresponding to the protocol frame;
  • Data parsing is performed on the next protocol frame from the start TCP packet.
  • a ninth 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 an acknowledgement 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 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 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 data packet.
  • the data part of the at least one TCP data packet only includes the object 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 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 And 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 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 encapsulating unit is configured to encapsulate the object data Forming at least one TLS frame, the last TLS frame in the at least one TLS frame being the last TLS frame corresponding to the object data; and encapsulating all TLS frames in the at least one TLS frame into at least one TCP data packet,
  • the last TCP packet in the at least one TCP packet includes indication information, and the indication information is used to indicate that the last TCP packet is the last TCP packet corresponding to the object data.
  • the encapsulating unit is configured to encapsulate the object data Forming at least one TLS frame, the last TLS frame in the at least one TLS frame being the last TLS frame corresponding to the object data; respectively encapsulating each of the TLS frames into at least one TCP data packet, the at least one TCP
  • the last TCP packet in the data packet includes indication information for indicating that the last TCP data packet is the last TCP data 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 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 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 data 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, and the object data is used to indicate the URI. Identifyed resources;
  • An eleventh 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 fourth possible implementation manner 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 data packet carries an acknowledgement sequence number of the TCP data packet sent to the node device, determine, according to the acknowledgement sequence number, that the node device is positive It does receive TCP packets sent to the node 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 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:
  • 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 thirteenth aspect of the present invention provides a protocol frame transmission system, comprising the protocol frame encapsulation apparatus of the fifth aspect, and the protocol frame parsing apparatus of the seventh aspect.
  • a fourteenth aspect of the present invention provides a protocol frame transmission system, comprising the data transmission device according to the ninth aspect, and the data analysis device according to the eleventh 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 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.
  • An embodiment of the present 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 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 data packet corresponding to the protocol frame, and at least one TCP data packet is sent to the node device to ensure that the data portion of one TCP data 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, and refers to a security protocol that provides encryption, identity authentication, and data integrity guarantee for network communication, and can encapsulate an HTTP frame into at least one TLS frame, at least one.
  • the last TLS frame in the TLS frame includes indication information indicating that the last TLS frame is the last TLS frame corresponding to the HTTP frame.
  • 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 TCPs.
  • the data packet encapsulates the second frame (frame2) into three TCP data packets, wherein 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, and the TCP1 data packet and the TCP2 data packet.
  • the data part of the TCP3 data packet only includes the data of the first frame
  • the data part of the TCP4 data packet, the TCP5 data packet, and the TCP6 data packet only includes 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 that the second TCP 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, and a second The data portion of the 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 may obtain a protocol frame sent by the management terminal before the terminal encapsulates a protocol frame into the at least one TCP packet, where the protocol frame may include terminal identification information, where the terminal identifier information is used to indicate at least one TCP corresponding to the protocol frame.
  • the data 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 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 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 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 package is encapsulated into at least one TCP data packet to implement respectively packaging 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 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 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 frames, the last TLS frame in at least one TLS frame is the last TLS frame corresponding to the HTTP frame, and all TLS frames in the at least one TLS frame are encapsulated into at least one TCP packet, at least one TCP packet
  • the last TCP packet includes indication information indicating that the last TCP packet is the last TCP packet corresponding to the HTTP frame.
  • 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.
  • 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 HTTP frame, 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 HTTP frame; 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 HTTP frame; 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 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/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.
  • the last TCP packet corresponding to the protocol frame will be One less TCP packet is sent to the node device to ensure that the data portion of a TCP packet contains only data for 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 a protocol frame, 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 a protocol frame.
  • the last TCP packet For example, 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.
  • 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 TCP data of the added TCP packet.
  • the 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 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 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 After the terminal determines the starting TCP packet corresponding to the next protocol frame, the number of starting TCPs can be According to the package, data analysis is performed on the next protocol frame. 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 data type of the data part of the TCP data packet is obtained according to the data type information, and the data type of the protocol frame is obtained, thereby improving the accuracy of data 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.
  • a protocol frame is sent by a receiving node device.
  • Forming at least one TCP packet, the last TCP packet in the at least one TCP packet includes indication information, and determining, according to the indication information, a starting TCP packet corresponding to the next protocol frame, starting from the initial TCP packet
  • a 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. 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 first node device switches to send the TCP data packet 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 then carry the first base station to send the TCP data packet to be sent in the at least one TCP data packet.
  • the acknowledgment sequence number of the TCP packet, the acknowledgment 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.
  • HTTP frame HTTP2.0 Adding the foregoing field to the header field, and sending the HTTP frame to be sent of the added field to the first node device, the first node device and the second node device negotiate to encapsulate the protocol frame by using the foregoing encapsulation manner, and then encapsulate the protocol 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 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 to the option field of the TCP packet containing the data, and the data type information is used to indicate the data type of the data portion of the TCP packet.
  • 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, in order to ensure continuity of communication,
  • the link between the second node device and the first base station is switched to a 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 For example, 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, in order to ensure continuity of communication,
  • the link between the second node device and the first base station is switched to a link between the second node
  • 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 obtains 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, 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 the last TCP data packet.
  • 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.
  • performing data parsing on the next protocol frame may improve data parsing. effectiveness.
  • 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.
  • the protocol frame data fails to be parsed, the data parsing of other protocol frames included in the HTTP2.0 stream is suspended, which can improve the 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
  • the device may be a server, and 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 Management terminal, the first node device cannot confirm the second node device Whether to receive TCP packets. 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 encapsulates a protocol frame sent by the management terminal 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.
  • 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 data packet of the TCP data packet whose length is 0 is the initial TCP corresponding to the next protocol frame.
  • the data packet, and then data parsing of the next protocol frame from the initial TCP packet, and transmitting the parsed TCP data packet to the third node device ensures that the data portion of one TCP packet includes only one protocol frame.
  • the data is such that the second node device effectively identifies the boundary of the next protocol frame to implement data parsing for the next protocol frame.
  • 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 volume of the last TCP data packet in the at least one TCP data packet is smaller than the preset MSS, the first The node device sends the at least one TCP data packet to the second node device, where the second node device determines that the next TCP data packet whose data volume is smaller than the TCP data packet of the preset MSS is the initial TCP data packet corresponding to the next protocol frame, and further Data parsing of the next protocol frame from the start of the TCP packet, and sending the parsed TCP packet to the third node device ensures that the data portion of a TCP packet includes only one protocol frame data, so that The second node device effectively identifies 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 be in the last TCP packet corresponding to the protocol frame.
  • the option field adds identification information to indicate 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, wherein:
  • 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, 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.
  • 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 or an HTTP 2.0 setting frame of the protocol 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.
  • FIG. 1 or FIG. 3 to FIG. For the convenience of the description, only the parts related to the embodiments of the present invention are shown.
  • FIG. 1 or FIG. 3 to FIG. please refer to the embodiments of the present invention shown in FIG. 1 or FIG. 3 to FIG.
  • 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, which may 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 processor 901 encapsulates a protocol frame into at least one TCP packet. Previously, you could also do the following:
  • 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 the present invention in conjunction with FIG. 1 or 3 to some or all of the processes in the method embodiment described in 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 last TCP packet corresponding to the protocol frame.
  • 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
  • TCP Transmission Control Protocol
  • the indication information may be used to indicate that the last 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 device 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 of the protocol frame or an HTTP 2.0 setting. Set in the 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. Identify the boundaries of the next protocol frame to achieve the next association Data parsing of the 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 TCP packet in the at least one TCP packet includes indication information indicating the last TCP.
  • the data 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 packet and The fourth TCP packet, wherein the data portion of the third TCP packet includes only the second object data, and the data portion of the fourth TCP packet includes only the second 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 packet corresponding to the first object data.
  • 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 data includes only the object data, wherein the indication information is the amount of data 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 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 the 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. The data type of the object data is obtained, and the accuracy of data analysis is improved.
  • 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 frame2; or when the data volume of the TCP8 data packet is less than the preset MSS, the indication information may be the data volume of the TCP8 data packet.
  • 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
  • the packet 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 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 can be As shown in FIG. 7F, the terminal may add data type information in the ContentType field of the TLS frame, and the data type information is used to indicate the data type of the TLS frame.
  • the terminal when the terminal 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.
  • 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 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 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 of the object data encapsulated by the node device and sent by the node device.
  • the 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 object 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 data packet that is encapsulated into the object data of the URI by the node device, when the received TCP data packet carries the acknowledgement sequence number of the TCP data packet sent to the node device, the terminal may confirm the The sequence number determines 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.
  • 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 initial TCP data corresponding to the object data of the next URI. package. 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. The next 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.
  • Object data Types can include text, images, 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 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, and the last TCP packet of the at least one TCP packet includes indication information, according to the indication information. Determining the starting TCP packet corresponding to the object data of the next URI, and performing data parsing on the object data of the next URI from the initial TCP packet, which can effectively identify the boundary of the object data of the next URI, so as to implement the next Data parsing of object data of a 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 sequence number and a confirmation sequence number.
  • the sending sequence number is the same as the sending number of the starting TCP packet corresponding to the object data of the next URI
  • the confirmation sequence number is the same as the confirmation number of the previous packet of the last TCP packet.
  • 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 the length of the data portion of the added TCP packet 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. a frame, the last TLS frame in the at least one TLS frame is the last TLS frame corresponding to the object data; all the TLS frames in the at least one TLS frame are encapsulated into at least one TCP packet, and the last TCP in the at least one TCP 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 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-unstable memory. (non-volatile memory), such as at least one disk storage.
  • 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 amount of data of the last TCP packet containing data corresponding to the object data is less than the preset.
  • the last TCP packet containing data includes only object data, and the indication information is the amount of data 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 the object data of one URI 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.
  • 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 one URI into at least one TCP packets, which can 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 may also perform the following operations:
  • 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-stable memory such as at least one disk memory.
  • 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 node device When the received TCP packet carries the acknowledgement 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 acknowledgement 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 that the next TCP packet is the starting TCP packet corresponding to the object data of the next URI.
  • 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 following operations may 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 encapsulates 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 indication information for indicating The last TCP packet is the last TCP packet corresponding to the object data, and the data transmission device 1901 transmits at least one TCP packet to the data parsing device 1902, and the data parsing device 1902 determines the object data of the next URI according to the indication information.
  • Starting the TCP packet, and then performing data parsing on the object data of the next URI from the start of the TCP packet, can ensure that the data portion of a TCP packet includes only object data of one URI, so that the data parsing device 1902 can effectively identify the next one.
  • 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 stored in computer memory.
  • 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

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (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数据包的数据部分的数据类型。
本发明第五方面提供一种协议帧传输装置,其特征在于,包括:
封装单元,用于将一个协议帧封装成至少一个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的对象数据进行数据解析。
本发明第十三方面提供一种协议帧传输系统,其特征在于,包括第五方面所述的协议帧封装装置以及第七方面所述的协议帧解析装置。
本发明第十四方面提供一种协议帧传输系统,其特征在于,包括第九方面所述的数据传输装置以及第十一方面所述的数据解析装置。
本发明实施例中,通过将一个协议帧封装成至少一个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为本发明实施例中提供的一种数据传输系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的协议帧传输方法中,将协议帧根据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的对象数据的数据解析。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的程序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或 部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (108)

  1. 一种协议帧传输方法,其特征在于,包括:
    将一个协议帧封装成至少一个传输控制协议TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包;
    将所述至少一个TCP数据包发送给节点设备。
  2. 根据权利要求1所述方法,其特征在于,所述最后一个TCP数据包的数据部分的长度为0,从而指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包。
  3. 根据权利要求2所述方法,其特征在于,所述最后一个TCP数据包的报头包括发送序号和确认序号;
    所述发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,所述确认序号是根据接收的所述节点设备发送的数据确认的。
  4. 根据权利要求2所述方法,其特征在于,所述最后一个TCP数据包的报头包括发送序号和确认序号;
    所述发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,所述确认序号与所述最后一个TCP数据包的前一个数据包的确认序号相同。
  5. 根据权利要求4所述方法,其特征在于,所述将一个协议帧封装成至少一个TCP数据包之前,还包括:
    获取管理终端发送的所述协议帧,所述协议帧包括终端标识信息,所述终端标识信息用于指示将所述协议帧对应的至少一个TCP数据包发送给所述终端标识信息对应的节点设备。
  6. 根据权利要求2~5任一项所述方法,其特征在于,所述将一个协议帧封装成至少一个TCP数据包,包括:
    在所述协议帧对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,所述增加的TCP数据包的数据部分的长度为0。
  7. 根据权利要求1所述方法,其特征在于,所述将一个协议帧封装成至少一个TCP数据包,包括:
    当所述协议帧对应的最后一个包含数据的TCP数据包的数据量小于预设 MSS时,所述最后一个包含数据的TCP数据包仅包括所述协议帧的数据,所述指示信息为所述最后一个包含数据的TCP数据包的数据量。
  8. 根据权利要求1所述方法,其特征在于,所述指示信息为包含在所述最后一个TCP数据包的报头中的标识信息。
  9. 根据权利要求1~8任一项所述方法,其特征在于,所述至少一个TCP数据包的数据部分仅包括所述协议帧的数据。
  10. 根据权利要求1~9任一项所述方法,其特征在于,所述将所述至少一个TCP数据包发送给节点设备之前,还包括:
    接收所述节点设备发送的TCP数据包;
    所述将一个协议帧封装成至少一个TCP数据包,包括:
    在所述至少一个TCP数据包中的待发送的TCP数据包中携带所述节点设备发送的TCP数据包的确认序号,所述确认序号用于指示正确接收所述节点设备发送的TCP数据包。
  11. 根据权利要求1~10任一项所述方法,其特征在于,所述将一个协议帧封装成至少一个TCP数据包之前,还包括:
    向所述节点设备发送通知消息,所述通知消息用于所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包。
  12. 根据权利要求11所述方法,其特征在于,所述通知消息携带在所述协议帧的HTTP2.0头域或者HTTP2.0设置帧中。
  13. 根据权利要求1~12任一项所述方法,其特征在于,所述至少一个TCP数据包的报头包括数据类型信息,所述数据类型信息用于指示所述TCP数据包的数据部分的数据类型。
  14. 根据权利要求1~13任一项所述方法,其特征在于,所述协议帧为传输层安全TLS帧或者超文本传输协议HTTP帧。
  15. 根据权利要求1~14任一项所述方法,其特征在于,所述协议帧为HTTP帧;
    所述将一个协议帧封装成至少一个TCP数据包,包括:
    将所述HTTP帧封装成至少一个TLS帧,所述至少一个TLS帧中的最后 一个TLS帧为所述HTTP帧对应的最后一个TLS帧;
    将所述至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述HTTP帧对应的最后一个TCP数据包。
  16. 根据权利要求1~14任一项所述方法,其特征在于,所述协议帧为HTTP帧;
    所述将一个协议帧封装成至少一个TCP数据包,包括:
    将所述HTTP帧封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述HTTP帧对应的最后一个TLS帧;
    分别将各个所述TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述TLS帧对应的最后一个TCP数据包。
  17. 根据权利要求1~14任一项所述方法,其特征在于,所述协议帧为TLS帧,所述TLS帧包括数据类型信息,所述数据类型信息用于指示所述TLS帧的数据类型。
  18. 根据权利要求1~17任一项所述方法,其特征在于,所述将一个协议帧封装成至少一个TCP数据包之前,还包括:
    将所述协议帧压缩成至少一个压缩包,所述至少一个压缩包仅包括所述协议帧。
  19. 一种协议帧解析方法,其特征在于,包括:
    接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包;
    根据所述指示信息,确定下一个协议帧对应的起始TCP数据包;
    从所述起始TCP数据包开始对所述下一个协议帧进行数据解析。
  20. 根据权利要求19所述方法,其特征在于,所述根据所述指示信息,确定下一个协议帧对应的起始TCP数据包包括:
    当所述最后一个TCP数据包的数据部分的长度为0时,确定下一个TCP数据包为所述下一个协议帧对应的起始TCP数据包。
  21. 根据权利要求19所述方法,其特征在于,所述根据所述指示信息,确定下一个协议帧对应的起始TCP数据包包括:
    当所述最后一个TCP数据包的数据量小于预设MSS时,确定下一个TCP数据包为所述下一个协议帧对应的起始TCP数据包。
  22. 根据权利要求19所述方法,其特征在于,所述根据所述指示信息,确定下一个协议帧对应的起始TCP数据包包括:
    当所述最后一个TCP数据包的报头包括标识信息时,确定下一个TCP数据包为所述下一个协议帧对应的起始TCP数据包。
  23. 根据权利要求19~22任一项所述方法,其特征在于,所述接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包之前,还包括:
    向所述节点设备发送TCP数据包;
    所述接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包之后,还包括:
    当所述接收的TCP数据包中携带向所述节点设备发送的TCP数据包的确认序号时,根据所述确认序号,确定所述节点设备正确接收向所述节点设备发送的TCP数据包。
  24. 根据权利要求19~23任一项所述方法,其特征在于,所述根据所述指示信息,确定下一个协议帧对应的起始TCP数据包之前,还包括:
    接收所述节点设备发送的通知消息;
    根据所述通知消息,获取所述协议帧对应的所述最后一个TCP数据包中的指示信息。
  25. 根据权利要求19~24任一项所述方法,其特征在于,所述至少一个TCP数据包的报头包括数据类型信息;
    所述从所述起始TCP数据包开始对所述下一个协议帧进行数据解析包括:
    根据所述数据类型信息,获取所述TCP数据包的数据部分的数据类型。
  26. 根据权利要求19~25任一项所述方法,其特征在于,所述从所述起始TCP数据包对所述下一个协议帧进行数据解析之前,还包括:
    确定所述下一个协议帧是通过静态表实现报头字段压缩的。
  27. 根据权利要求19~26任一项所述方法,其特征在于,所述下一个协议帧对应的各个TCP数据包属于同一HTPP2.0流;
    所述从所述起始TCP数据包开始对所述下一个协议帧进行数据解析之后,还包括:
    当对所述下一个协议帧数据解析失败时,暂停对所述HTTP2.0流包括的协议帧进行数据解析。
  28. 一种数据传输方法,其特征在于,包括:
    将一个统一资源标识符URI的对象数据封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包,所述对象数据用于指示所述URI标识的资源;
    将所述至少一个TCP数据包发送给节点设备。
  29. 根据权利要求28所述方法,其特征在于,所述最后一个TCP数据包的数据部分的长度为0,从而指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包。
  30. 根据权利要求29所述方法,其特征在于,所述最后一个TCP数据包的报头包括发送序号和确认序号;
    所述发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,所述确认序号是根据接收的所述节点设备发送的数据确认的。
  31. 根据权利要求29所述方法,其特征在于,所述最后一个TCP数据包的报头包括发送序号和确认序号;
    所述发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,所述确认序号与所述最后一个TCP数据包的前一个数据包的确认序号相同。
  32. 根据权利要求31所述方法,其特征在于,所述将一个URI的对象数据封装成至少一个TCP数据包之前,还包括:
    获取管理终端发送的所述对象数据,所述对象数据包括终端标识信息,所述终端标识信息用于指示将所述对象数据对应的至少一个TCP数据包发送给 所述终端标识信息对应的节点设备。
  33. 根据权利要求29~32任一项所述方法,其特征在于,所述将一个URI的对象数据封装成至少一个TCP数据包,包括:
    在所述对象数据对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,所述增加的TCP数据包的数据部分的长度为0。
  34. 根据权利要求28所述方法,其特征在于,所述将一个URI的对象数据封装成至少一个TCP数据包,包括:
    当所述对象数据对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,所述最后一个包含数据的TCP数据包仅包括所述对象数据,所述指示信息为所述最后一个包含数据的TCP数据包的数据量。
  35. 根据权利要求28所述方法,其特征在于,所述指示信息为包含在所述最后一个TCP数据包的报头中的标识信息。
  36. 根据权利要求28~35任一项所述方法,其特征在于,所述至少一个TCP数据包的数据部分仅包括所述对象数据。
  37. 根据权利要求28~36任一项所述方法,其特征在于,所述将所述至少一个TCP数据包发送给节点设备之前,还包括:
    接收所述节点设备发送的TCP数据包;
    所述将一个URI的对象数据封装成至少一个TCP数据包,包括:
    在所述至少一个TCP数据包中的待发送的TCP数据包中携带所述节点设备发送的TCP数据包的确认序号,所述确认序号用于指示正确接收所述节点设备发送的TCP数据包。
  38. 根据权利要求28~37任一项所述方法,其特征在于,所述将一个URI的对象数据封装成至少一个TCP数据包之前,还包括:
    向所述节点设备发送通知消息,所述通知消息用于所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包。
  39. 根据权利要求28~38任一项所述方法,其特征在于,所述至少一个TCP数据包的报头包括数据类型信息,所述数据类型信息用于指示所述TCP数据包的数据部分的数据类型。
  40. 根据权利要求28~39任一项所述方法,其特征在于,所述对象数据为HTTP1.1数据或者HTTP1.0数据。
  41. 根据权利要求28~40任一项所述方法,其特征在于,所述将一个URI的对象数据封装成至少一个TCP数据包,包括:
    将所述对象数据封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述对象数据对应的最后一个TLS帧;
    将所述至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包。
  42. 根据权利要求28~40任一项所述方法,其特征在于,所述将一个URI的对象数据封装成至少一个TCP数据包,包括:
    将所述对象数据封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述对象数据对应的最后一个TLS帧;
    分别将各个所述TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述TLS帧对应的最后一个TCP数据包。
  43. 根据权利要求41或者42所述方法,其特征在于,各个所述TLS帧包括数据类型信息,所述数据类型信息用于指示所述TLS帧的数据类型。
  44. 根据权利要求28~43任一项所述方法,其特征在于,所述将一个URI的对象数据封装成至少一个TCP数据包之前,还包括:
    将所述对象数据压缩成至少一个压缩包,所述至少一个压缩包仅包括所述对象数据。
  45. 一种数据解析方法,其特征在于,包括:
    接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包,所述对象数据用于指示所述URI标识的资源;
    根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包;
    从所述起始TCP数据包开始对所述下一个URI的对象数据进行数据解析。
  46. 根据权利要求45所述方法,其特征在于,所述根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包包括:
    当所述最后一个TCP数据包的数据部分的长度为0时,确定下一个TCP数据包为所述下一个URI的对象数据对应的起始TCP数据包。
  47. 根据权利要求45所述方法,其特征在于,所述根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包包括:
    当所述最后一个TCP数据包的数据量小于预设MSS时,确定下一个TCP数据包为所述下一个URI的对象数据对应的起始TCP数据包。
  48. 根据权利要求45所述方法,其特征在于,所述根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包包括:
    当所述最后一个TCP数据包的报头包括标识信息时,确定下一个TCP数据包为所述下一个URI的对象数据对应的起始TCP数据包。
  49. 根据权利要求45~48任一项所述方法,其特征在于,所述接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包之前,还包括:
    向所述节点设备发送TCP数据包;
    所述接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包之后,还包括:
    当所述接收的TCP数据包中携带向所述节点设备发送的TCP数据包的确认序号时,根据所述确认序号,确定所述节点设备正确接收向所述节点设备发送的TCP数据包。
  50. 根据权利要求45~49任一项所述方法,其特征在于,所述根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包之前,还包括:
    接收所述节点设备发送的通知消息;
    根据所述通知消息,获取所述对象数据对应的所述最后一个TCP数据包中的指示信息。
  51. 根据权利要求45~50任一项所述方法,其特征在于,所述至少一个TCP数据包的报头包括数据类型信息;
    所述从所述起始TCP数据包开始对所述下一个URI的对象数据进行数据 解析包括:
    根据所述数据类型信息,获取所述TCP数据包的数据部分的数据类型。
  52. 一种协议帧传输装置,其特征在于,包括:
    封装单元,用于将一个协议帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包;
    发送单元,用于将所述至少一个TCP数据包发送给节点设备。
  53. 根据权利要求52所述装置,其特征在于,所述最后一个TCP数据包的数据部分的长度为0,从而指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包。
  54. 根据权利要求53所述装置,其特征在于,所述最后一个TCP数据包的报头包括发送序号和确认序号;
    所述发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,所述确认序号是根据接收的所述节点设备发送的数据确认的。
  55. 根据权利要求53所述装置,其特征在于,所述最后一个TCP数据包的报头包括发送序号和确认序号;
    所述发送序号与下一个协议帧对应的起始TCP数据包的发送序号相同,所述确认序号与所述最后一个TCP数据包的前一个数据包的确认序号相同。
  56. 根据权利要求55所述装置,其特征在于,还包括:
    获取单元,用于所述封装单元将所述协议帧封装成所述至少一个TCP数据包之前,获取管理终端发送的所述协议帧,所述协议帧包括终端标识信息,所述终端标识信息用于指示将所述协议帧对应的至少一个TCP数据包发送给所述终端标识信息对应的节点设备。
  57. 根据权利要求53~56任一项所述装置,其特征在于,
    所述封装单元,用于在所述协议帧对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,所述增加的TCP数据包的数据部分的长度为0。
  58. 根据权利要求52所述装置,其特征在于,
    所述封装单元,用于当所述协议帧对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,所述最后一个包含数据的TCP数据包仅包括所 述协议帧的数据,所述指示信息为所述最后一个包含数据的TCP数据包的数据量。
  59. 根据权利要求52所述装置,其特征在于,所述指示信息为包含在所述最后一个TCP数据包的报头中的标识信息。
  60. 根据权利要求52~59任一项所述装置,其特征在于,所述至少一个TCP数据包的数据部分仅包括所述协议帧的数据。
  61. 根据权利要求52~60任一项所述装置,其特征在于,还包括:
    接收单元,用于接收所述节点设备发送的TCP数据包;
    所述封装单元,用于在所述至少一个TCP数据包中的待发送的TCP数据包中携带所述节点设备发送的TCP数据包的确认序号,所述确认序号用于指示正确接收所述节点设备发送的TCP数据包。
  62. 根据权利要求52~61任一项所述装置,其特征在于,
    所述发送单元,还用于所述封装单元将所述协议帧封装成所述至少一个TCP数据包之前,向所述节点设备发送通知消息,所述通知消息用于所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包。
  63. 根据权利要求62所述装置,其特征在于,所述通知信息携带在所述协议帧的HTTP2.0头域或者HTTP2.0设置帧中。
  64. 根据权利要求52~63任一项所述装置,其特征在于,所述至少一个TCP数据包的报头包括数据类型信息,所述数据类型信息用于指示所述TCP数据包的数据部分的数据类型。
  65. 根据权利要求52~64任一项所述装置,其特征在于,所述协议帧为TLS帧或者HTTP帧。
  66. 根据权利要求52~65任一项所述装置,其特征在于,所述协议帧为HTTP帧;
    所述封装单元,用于将所述HTTP帧封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述HTTP帧对应的最后一个TLS帧;将所述至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于 指示所述最后一个TCP数据包为所述HTTP帧对应的最后一个TCP数据包。
  67. 根据权利要求52~65任一项所述装置,其特征在于,所述协议帧为HTTP帧;
    所述封装单元,用于将所述HTTP帧封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述HTTP帧对应的最后一个TLS帧;分别将各个所述TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述TLS帧对应的最后一个TCP数据包。
  68. 根据权利要求52~65任一项所述装置,其特征在于,所述协议帧为TLS帧,所述TLS帧包括数据类型信息,所述数据类型信息用于指示所述TLS帧的数据类型。
  69. 根据权利要求52~68任一项所述装置,其特征在于,还包括:
    压缩单元,用于所述封装单元将所述协议帧封装成至少一个TCP数据包之前,将所述协议帧压缩成至少一个压缩包,所述至少一个压缩包仅包括所述协议帧。
  70. 一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:
    将一个协议帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包;
    将所述至少一个TCP数据包发送给节点设备。
  71. 一种协议帧解析装置,其特征在于,包括:
    接收单元,用于接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包;
    确定单元,用于根据所述指示信息,确定下一个协议帧对应的起始TCP数据包;
    解析单元,用于从所述起始TCP数据包开始对所述下一个协议帧进行数据解析。
  72. 根据权利要求71所述装置,其特征在于,
    所述确定单元,用于当所述最后一个TCP数据包的数据部分的长度为0时,确定下一个TCP数据包为所述下一个协议帧对应的起始TCP数据包。
  73. 根据权利要求71所述装置,其特征在于,
    所述确定单元,用于当所述最后一个TCP数据包的数据量小于预设MSS时,确定下一个TCP数据包为所述下一个协议帧对应的起始TCP数据包。
  74. 根据权利要求71述装置,其特征在于,
    所述确定单元,用于当所述最后一个TCP数据包的报头包括标识信息时,确定下一个TCP数据包为所述下一个协议帧对应的起始TCP数据包。
  75. 根据权利要求71~74任一项所述装置,其特征在于,还包括:
    发送单元,用于所述接收单元接收所述节点设备发送的所述至少一个TCP数据包之前,向所述节点设备发送TCP数据包;
    所述确定单元,还用于当所述接收到的TCP数据包中携带向所述节点设备发送的TCP数据包的确认序号时,根据所述确认序号,确定所述节点设备正确接收向所述节点设备发送的TCP数据包。
  76. 根据权利要求71~75任一项所述装置,其特征在于,
    所述接收单元,还用于所述确定单元根据所述指示信息,确定下一个协议帧对应的起始TCP数据包之前,接收所述节点设备发送的通知消息;
    所述装置还包括:
    获取单元,用于根据所述通知信息,获取所述协议帧对应的所述最后一个TCP数据包中的指示信息。
  77. 根据权利要求71~76任一项所述装置,其特征在于,所述至少一个TCP数据包的报头包括数据类型信息;
    所述解析单元,用于根据所述起数据类型信息,获取所述TCP数据包的数据部分的数据类型。
  78. 根据权利要求71~77任一项所述装置,其特征在于,
    所述确定单元,还用于所述解析单元从所述起始TCP数据包对所述下一 个协议帧进行数据解析之前,确定所述下一个协议帧是通过静态表实现报头字段压缩的。
  79. 根据权利要求71~78任一项所述装置,其特征在于,所述下一个协议帧对应的各个TCP数据包属于同一HTTP2.0流;
    所述协议帧传输装置还包括:
    控制单元,用于所述解析单元从所述起始TCP数据包开始对所述下一个协议帧进行数据解析之后,当对所述下一个协议帧数据解析失败时,暂停对所述HTTP2.0流包括的协议帧进行数据解析。
  80. 一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:
    接收节点设备发送的将一个协议帧封装成的至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述协议帧对应的最后一个TCP数据包;
    根据所述指示信息,确定下一个协议帧对应的起始TCP数据包;
    从所述起始TCP数据包开始对所述下一个协议帧进行数据解析。
  81. 一种数据传输装置,其特征在于,包括:
    封装单元,用于将一个URI的对象数据封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包,所述对象数据用于指示所述URI标识的资源;
    发送单元,用于将所述至少一个TCP数据包发送给节点设备。
  82. 根据权利要求81所述装置,其特征在于,所述最后一个TCP数据包的数据部分的长度为0,从而指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包。
  83. 根据权利要求82所述装置,其特征在于,所述最后一个TCP数据包的报头包括发送序号和确认序号;
    所述发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序 号相同,所述确认序号是根据接收的所述节点设备发送的数据确认的。
  84. 根据权利要求82所述装置,其特征在于,所述最后一个TCP数据包的报头包括发送序号和确认序号;
    所述发送序号与下一个URI的对象数据对应的起始TCP数据包的发送序号相同,所述确认序号与所述最后一个TCP数据包的前一个数据包的确认序号相同。
  85. 根据权利要求84所述装置,其特征在于,还包括:
    获取单元,用于所述封装单元将所述对象数据封装成所述至少一个TCP数据包之前,获取管理终端发送的所述对象数据,所述对象数据包括终端标识信息,所述终端标识信息用于指示将所述对象数据对应的至少一个TCP数据包发送给所述终端标识信息对应的节点设备。
  86. 根据权利要求82~85任一项所述装置,其特征在于,
    所述封装单元,用于在所述对象数据对应的最后一个包含数据的TCP数据包后增加一个TCP数据包,所述增加的TCP数据包的数据部分的长度为0。
  87. 根据权利要求81所述装置,其特征在于,
    所述封装单元,用于当所述对象数据对应的最后一个包含数据的TCP数据包的数据量小于预设MSS时,所述最后一个包含数据的TCP数据包仅包括所述对象数据,所述指示信息为所述最后一个包含数据的TCP数据包的数据量。
  88. 根据权利要求81所述装置,其特征在于,所述指示信息为包含在所述最后一个TCP数据包的报头中的标识信息。
  89. 根据权利要求81~88任一项所述装置,其特征在于,所述至少一个TCP数据包的数据部分仅包括所述对象数据。
  90. 根据权利要求81~89任一项所述装置,其特征在于,还包括:
    接收单元,用于接收所述节点设备发送的TCP数据包;
    所述封装单元,用于在所述至少一个TCP数据包中的待发送的TCP数据包中携带所述节点设备发送的TCP数据包的确认序号,所述确认序号用于指示正确接收所述节点设备发送的TCP数据包。
  91. 根据权利要求81~90任一项所述装置,其特征在于,
    所述发送单元,还用于所述封装单元将所述对象数据封装成所述至少一个TCP数据包之前,向所述节点设备发送通知消息,所述通知消息用于所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包。
  92. 根据权利要求81~91任一项所述装置,其特征在于,所述至少一个TCP数据包的报头包括数据类型信息,所述数据类型信息用于指示所述TCP数据包的数据部分的数据类型。
  93. 根据权利要求81~92任一项所述装置,其特征在于,所述对象数据为HTTP1.1数据或者HTTP1.0数据。
  94. 根据权利要求81~93任一项所述装置,其特征在于,
    所述封装单元,用于将所述对象数据封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述对象数据对应的最后一个TLS帧;将所述至少一个TLS帧中的所有TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包。
  95. 根据权利要求81~93任一项所述装置,其特征在于,
    所述封装单元,用于将所述对象数据封装成至少一个TLS帧,所述至少一个TLS帧中的最后一个TLS帧为所述对象数据对应的最后一个TLS帧;分别将各个所述TLS帧封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述TLS帧对应的最后一个TCP数据包。
  96. 根据权利要求94或者95所述装置,其特征在于,各个所述TLS帧包括数据类型信息,所述数据类型信息用于指示所述TLS帧的数据类型。
  97. 根据权利要求81~96任一项所述装置,其特征在于,还包括:
    压缩单元,用于所述封装单元将所述对象数据封装成至少一个TCP数据包之前,将所述对象数据压缩成至少一个压缩包,所述至少一个压缩包仅包括所述对象数据。
  98. 一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的 程序代码,用于执行以下操作:
    将一个URI的对象数据封装成至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包,所述对象数据用于指示所述URI标识的资源;
    将所述至少一个TCP数据包发送给节点设备。
  99. 一种数据解析装置,其特征在于,包括:
    接收单元,用于接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包,所述对象数据用于指示所述URI标识的资源;
    确定单元,用于根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包;
    解析单元,用于从所述起始TCP数据包开始对所述下一个URI的对象数据进行数据解析。
  100. 根据权利要求99所述装置,其特征在于,
    所述确定单元,用于当所述最后一个TCP数据包的数据部分的长度为0时,确定下一个TCP数据包为所述下一个URI的对象数据对应的起始TCP数据包。
  101. 根据权利要求99所述装置,其特征在于,
    所述确定单元,用于当所述最后一个TCP数据包的数据量小于预设MSS时,确定下一个TCP数据包为所述下一个URI的对象数据对应的起始TCP数据包。
  102. 根据权利要求99所述装置,其特征在于,
    所述确定单元,用于当所述最后一个TCP数据包的报头包括标识信息时,确定下一个TCP数据包为所述下一个URI的对象数据对应的起始TCP数据包。
  103. 根据权利要求99~102任一项所述装置,其特征在于,还包括:
    发送单元,用于所述接收单元接收所述节点设备发送的所述至少一个TCP 数据包之前,向所述节点设备发送TCP数据包;
    所述确定单元,还用于当所述接收的TCP数据包中携带向所述节点设备发送的TCP数据包的确认序号时,根据所述确认序号,确定所述节点设备正确接收向所述节点设备发送的TCP数据包。
  104. 根据权利要求99~103任一项所述装置,其特征在于,
    所述接收单元,还用于所述确定单元根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包之前,接收所述节点设备发送的通知消息;
    所述装置还包括:
    获取单元,用于根据所述通知消息,获取所述对象数据对应的所述最后一个TCP数据包中的指示信息。
  105. 根据权利要求99~104任一项所述装置,其特征在于,所述至少一个TCP数据包的报头包括数据类型信息;
    所述解析单元,用于根据所述数据类型信息,获取所述TCP数据包的数据部分的数据类型。
  106. 一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:
    接收节点设备发送的将一个URI的对象数据封装成的至少一个TCP数据包,所述至少一个TCP数据包中的最后一个TCP数据包包括指示信息,所述指示信息用于指示所述最后一个TCP数据包为所述对象数据对应的最后一个TCP数据包,所述对象数据用于指示所述URI标识的资源;
    根据所述指示信息,确定下一个URI的对象数据对应的起始TCP数据包;
    从所述起始TCP数据包开始对所述下一个URI的对象数据进行数据解析。
  107. 一种协议帧传输系统,其特征在于,包括如权利要求52~69任一项所述的协议帧传输装置和如权利要求71~79任一项所述的协议帧解析装置。
  108. 一种数据传输系统,其特征在于,包括如权利要求81~97任一项所述的数据传输装置和如权利要求99~105任一项所述的数据解析装置。
PCT/CN2015/089260 2015-07-10 2015-09-09 一种协议帧传输方法、装置、节点设备以及系统 WO2017008385A1 (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
BR112018000371A BR112018000371A2 (pt) 2015-07-10 2015-09-09 método, aparelho e sistema de transmissão de quadro de protocolo, e dispositivo de nó
EP15898112.6A EP3300275A4 (en) 2015-07-10 2015-09-09 Protocol frame transmission method, device, node equipment and system
CN201580001010.XA CN106537830A (zh) 2015-07-10 2015-09-09 一种协议帧传输方法、装置、节点设备以及系统
PCT/CN2015/090826 WO2017008401A1 (zh) 2015-07-10 2015-09-25 一种协议帧传输方法、装置、节点设备以及系统
EP15898128.2A EP3297235A4 (en) 2015-07-10 2015-09-25 Protocol frame transmission method and device, node equipment and system
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
US15/866,085 US20180131609A1 (en) 2015-07-10 2018-01-09 Protocol frame transmission method, apparatus, and system, and node device

Applications Claiming Priority (2)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/866,085 Continuation US20180131609A1 (en) 2015-07-10 2018-01-09 Protocol frame transmission method, apparatus, and system, and node device

Publications (1)

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

Family

ID=57756634

Family Applications (2)

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

Family Applications Before (1)

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

Country Status (6)

Country Link
US (3) US20180109451A1 (zh)
EP (3) EP3297191A4 (zh)
KR (1) KR20180015745A (zh)
CN (3) CN107078837A (zh)
BR (1) BR112018000371A2 (zh)
WO (2) WO2017008203A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3092461A1 (fr) * 2019-02-05 2020-08-07 Orange Procédé d’émission à deux protocoles, procédé de réception et dispositifs et signal correspondants.
US10817460B2 (en) * 2019-08-28 2020-10-27 Advanced New Technologies Co., Ltd. RDMA data sending and receiving methods, electronic device, and readable storage medium
WO2021064448A1 (en) * 2019-10-01 2021-04-08 Pismo Labs Technology Limited Modified methods and system of transmitting and receiving transmission control protocol segments over internet protocol packets

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009696A (zh) * 2006-01-26 2007-08-01 华为技术有限公司 一种会话发起协议消息的发送和接收方法
CN101110961A (zh) * 2007-08-03 2008-01-23 北京创毅视讯科技有限公司 一种多媒体广播数据传输方法、装置及系统
US20090304016A1 (en) * 2004-09-01 2009-12-10 Qlogic Corporation Method and system for efficiently using buffer space
CN102790659A (zh) * 2012-07-18 2012-11-21 福建先创通信有限公司 一种移动通信系统中数据包的传输方法
CN103916447A (zh) * 2013-01-08 2014-07-09 无锡南理工科技发展有限公司 基于单片机的嵌入式web服务器

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6798777B1 (en) * 2000-04-17 2004-09-28 Juniper Networks, Inc. Filtering and route lookup in a switching device
US7543051B2 (en) * 2003-05-30 2009-06-02 Borland Software Corporation Method of non-intrusive analysis of secure and non-secure web application traffic in real-time
CN1299479C (zh) * 2004-03-10 2007-02-07 中兴通讯股份有限公司 一种隧道包的分片发送方法
US7787481B1 (en) * 2004-07-19 2010-08-31 Advanced Micro Devices, Inc. Prefetch scheme to minimize interpacket gap
JP2006109016A (ja) * 2004-10-04 2006-04-20 Matsushita Electric Ind Co Ltd 送受信装置、送受信制御方法、プログラム、およびメモリ
US7787372B2 (en) * 2005-12-12 2010-08-31 Viasat, Inc. Transmission control protocol with performance enhancing proxy for degraded communication channels
US20090064291A1 (en) * 2007-08-28 2009-03-05 Mark Frederick Wahl System and method for relaying authentication at network attachment
JP4513036B2 (ja) * 2008-04-04 2010-07-28 ソニー株式会社 送信装置および方法、並びにプログラム
CN101436922B (zh) * 2008-12-17 2011-05-04 烽火通信科技股份有限公司 一种基于udp协议传输大量数据的方法
CN102130910B (zh) * 2011-02-28 2015-04-29 华为技术有限公司 Tcp代理插入和卸载方法及业务网关设备
CN102340390B (zh) * 2011-10-26 2015-01-07 华为终端有限公司 数据包的传输方法及系统、源节点设备与中继节点设备
JP5768683B2 (ja) * 2011-11-28 2015-08-26 富士通株式会社 受信データ処理方法、通信装置、及びプログラム
WO2014100973A1 (zh) * 2012-12-25 2014-07-03 华为技术有限公司 视频处理方法、设备及系统
US10432529B2 (en) * 2013-09-19 2019-10-01 Connectivity Systems Incorporated Enhanced large data transmissions and catastrophic congestion avoidance over IPv6 TCP/IP networks
US9553843B1 (en) * 2014-10-08 2017-01-24 Google Inc. Service directory profile for a fabric network
CN104378315B (zh) * 2014-11-17 2018-02-27 京信通信系统(中国)有限公司 一种capwap隧道数据包传输的方法及装置
US10205804B2 (en) * 2017-02-01 2019-02-12 Hughes Network Systems, Llc Methods and systems for enhanced support of TCP options in a TCP spoofed system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090304016A1 (en) * 2004-09-01 2009-12-10 Qlogic Corporation Method and system for efficiently using buffer space
CN101009696A (zh) * 2006-01-26 2007-08-01 华为技术有限公司 一种会话发起协议消息的发送和接收方法
CN101110961A (zh) * 2007-08-03 2008-01-23 北京创毅视讯科技有限公司 一种多媒体广播数据传输方法、装置及系统
CN102790659A (zh) * 2012-07-18 2012-11-21 福建先创通信有限公司 一种移动通信系统中数据包的传输方法
CN103916447A (zh) * 2013-01-08 2014-07-09 无锡南理工科技发展有限公司 基于单片机的嵌入式web服务器

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
US20180115634A1 (en) 2018-04-26
CN106664262A (zh) 2017-05-10
KR20180015745A (ko) 2018-02-13
EP3297235A1 (en) 2018-03-21
WO2017008203A1 (zh) 2017-01-19
CN106537830A (zh) 2017-03-22
EP3300275A4 (en) 2018-05-30
US20180131609A1 (en) 2018-05-10
US20180109451A1 (en) 2018-04-19
BR112018000371A2 (pt) 2018-09-11
EP3297191A4 (en) 2018-06-13
EP3297191A1 (en) 2018-03-21
CN107078837A (zh) 2017-08-18
EP3297235A4 (en) 2018-06-20
EP3300275A1 (en) 2018-03-28

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
JP6562913B2 (ja) Mpegメディアトランスポートのためのコンテンツ表現
WO2011150767A1 (zh) 数据发送处理方法、装置和系统
CN114363667B (zh) 客户端、服务器、接收方法及发送方法
WO2022088833A1 (zh) 用于传输媒体流的数据包的方法和通信装置
US20180131609A1 (en) Protocol frame transmission method, apparatus, and system, and node device
WO2019001391A1 (zh) 无线资源调度方法、视频终端及接入网设备
US20180146077A1 (en) Method and apparatus for determining processing mode for data packet
WO2015010512A1 (zh) Gre报文的封装方法、解封装方法及对应的装置
CN105635802A (zh) 一种数字媒体数据的传输方法及装置
WO2017008401A1 (zh) 一种协议帧传输方法、装置、节点设备以及系统
EP3672189B1 (en) Data transmission method, device and system
CN109067922A (zh) 一种数据传输方法及装置
WO2017067224A1 (zh) 一种报文处理方法及装置
CN112583685A (zh) 一种Ipsec VPN的数据传输方法及装置
WO2021062690A1 (zh) 以太帧包头压缩处理方法、装置、用户终端、基站和介质
WO2023095438A1 (ja) 端末装置、無線通信システム、および、端末装置の処理方法
KR102421791B1 (ko) Mmt 네트워크 시스템에서 미디어 시간 정보를 전송 하는 방법 및 장치
CN116260996A (zh) 数据传输方法、装置及系统
CN116981113A (zh) 数据确定性传输方法、装置和相关设备

Legal Events

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

Ref document number: 15898112

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2015898112

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112018000371

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112018000371

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20180108