CN104780182A - HTTP chunked编码和IP包封装、解析方法 - Google Patents

HTTP chunked编码和IP包封装、解析方法 Download PDF

Info

Publication number
CN104780182A
CN104780182A CN201410010554.XA CN201410010554A CN104780182A CN 104780182 A CN104780182 A CN 104780182A CN 201410010554 A CN201410010554 A CN 201410010554A CN 104780182 A CN104780182 A CN 104780182A
Authority
CN
China
Prior art keywords
packet
crlf
data
chunk
encapsulated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410010554.XA
Other languages
English (en)
Other versions
CN104780182B (zh
Inventor
刘磊
郑艳伟
彭飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Hiliway Digital Systems Co ltd
Institute of Acoustics CAS
Original Assignee
Beijing Hiliway Digital Systems Co ltd
Institute of Acoustics CAS
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 Beijing Hiliway Digital Systems Co ltd, Institute of Acoustics CAS filed Critical Beijing Hiliway Digital Systems Co ltd
Priority to CN201410010554.XA priority Critical patent/CN104780182B/zh
Priority to PCT/CN2014/081425 priority patent/WO2015103856A1/zh
Publication of CN104780182A publication Critical patent/CN104780182A/zh
Application granted granted Critical
Publication of CN104780182B publication Critical patent/CN104780182B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • 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]
    • H04L69/166IP fragmentation; TCP segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及一种HTTP chunked编码和IP包封装、解析方法,包括:发送端将HTTP响应头部封装到第一个IP数据包中;将所要传输的TS数据按照188字节的整数倍封装到若干编码块中,对任一所述编码块,将所述编码块的“CRLF chunk-size CRLF”封装到IP数据包中,将所述编码块的“chunk-data”根据需要按照188字节的整数倍进行切分并将切分后的结果分别封装到若干个IP数据包中。

Description

HTTP chunked编码和IP包封装、解析方法
技术领域
本发明涉及网络传输领域,特别涉及一种HTTP chunked编码和IP包封装、解析方法。 
背景技术
HTTP协议的消息格式包含消息首部和消息体。消息首部部分定义了一些属性字段,向报文接收者提供了重要的信息。其中,Content-Length属性字段表示消息体的长度,便于数据接收过程的编程实现。然而,对于某些动态生成的数据,消息生成者可能无法立即知悉消息体的总长度,从而不能及时计算Content-Length字段值。使用chunked编码可以回避这一问题。Chunked是HTTP/1.1协议的一种传输编码方式,将待传输数据切割为多个部分,报文只需在提供每个部分的长度。编码后的消息体一组连续的编码块(chunk),每个编码块包含了传输数据块(chunk-data)及其长度(chunk-size),格式定义如下: 
chunk=chunk-size[chunk-extension]CRLF chunk-data CRLF 
其中,chunk-size是chunk-data的长度,为十六进制字符串。CRLF为双字节换行符,其ASCII码值为0x0d0x0a。可选的chunk-extension格式用一组“name=value”字段组成,但RFC2616未对这些字段进行定义,并规定接收者忽略不能识别的字段。 
在有线电视视频点播系统、互联网视频系统中,媒体内容尤其是在线视频,通常采用HTTP chunked编码进行分发和传输,HTTP chunked编码数据接收端需要按照chunked编码格式进行解析。由于视频媒体具有数据量大、传输时间长的特点,chunked数据解析过程的效率对于媒体处理的整体性能至关重要。现有技术中,对chunked数据的解析通常采用字符串匹配的方式,即通过匹配“CRLF”字符串依次解析出HTTP头部、chunk-size,但采用字符串匹配的方式解析chunked数据具有效率低下等缺陷。 
发明内容
本发明的目的在于克服现有技术中的HTTP chunked数据解析方法效率低下的缺陷,从而提供一种高效的编码和封装、解析方法。 
为了实现上述目的,本发明提供了一种HTTP chunked编码和IP包封装方法, 包括: 
发送端将HTTP响应头部封装到第一个IP数据包中; 
将所要传输的TS数据按照188字节的整数倍封装到若干编码块中,对任一所述编码块,将所述编码块的“CRLF chunk-size CRLF”封装到IP数据包中,将所述编码块的“chunk-data”根据需要按照188字节的整数倍进行切分并将切分后的结果分别封装到若干个IP数据包中。 
上述技术方案中,所述将所述编码块的“CRLF chunk-size CRLF”封装到IP数据包中包括:将所述编码块的“CRLF chunk-size CRLF”封装到一独立IP数据包中。 
上述技术方案中,所述将所述编码块的“CRLF chunk-size CRLF”封装到IP数据包中包括:将所述编码块的“CRLF chunk-size CRLF”封装到前一个IP数据包中。 
上述技术方案中,所述IP数据包长度不大于最大传输单元。 
本发明还提供了一种HTTP chunked编码和IP包解析方法,包括: 
接收端接收采用所述HTTP chunked编码和IP包封装方法得到的IP数据包; 
将所得到的第一个IP数据包的载荷解析为HTTP响应头部,对于后续IP数据包,将载荷大于188字节的IP数据包解析为所要传输的TS数据,将载荷不大于188字节而且以字符串“CRLF0CRLF”开头的IP数据包解析为传输结束。 
本发明的优点在于: 
采用本发明的方法能够提高采用HTTP chunked编码传输数据的解析效率,提高媒体处理相关设备的整体性能。 
附图说明
图1是本发明的IP包封装过程的交互流程图; 
图2是本发明的IP包解析方法的流程图。 
具体实施方式
现结合附图对本发明作进一步的描述。 
对TS数据的传输包括IP包封装与IP包解析两个阶段,下面分别予以说明。 
对TS数据的IP包封装在发送端完成,在IP包封装过程中,采用了特定的HTTP chunked编码方式,参考图1,包括以下步骤: 
步骤101)、接收端向发送端发送HTTP请求; 
步骤102)、发送端将HTTP响应头部封装到第一个IP数据包中,并发送到接收 端,然后将所要传输的TS数据按照188字节的整数倍封装到若干编码块(chunk)中;所述IP数据包指TCP载荷不为空的IP包; 
步骤103)、发送端将字符串“CRLF chunk-size CRLF”封装到独立IP数据包中,并发送到接收端; 
步骤104)、发送端将传输数据块(chunk-data)按照188字节的整数倍进行切分,将切分后的结果分别封装到若干个IP数据包中,然后依次发送出去;所述IP数据包长度不大于MTU(最大传输单元); 
例如,9400字节的chunk-data被封装到8个IP数据包中,前7个IP数据包载荷分配为1316(7*188)字节,第8个IP数据包载荷为188字节。 
步骤105)、发送端重复执行步骤103)和步骤104),直到步骤102)中封装得到的编码块都发送完毕,最后将字符串“CRLF0CRLF”封装到一IP数据包中,并发送。 
在上述描述的步骤103)中,所述字符串“CRLF chunk-size CRLF”封装到一独立IP数据包中。作为一种优选方式,为了减少发送端发送IP数据包的个数,上一个IP数据包可捎带下一个“CRLF chunk-size CRLF”。例如,2632字节的TS数据封装为两个chunk-data,第一个chunk-data为1316字节,第二个chunk-data为1316字节,至少存在2种捎带方案: 
第一种方案:发送端第1个IP数据包载荷为HTTP响应头部,第2个IP数据包载荷为“CRLF524CRLF”,第3个IP数据包为1316字节TS数据捎带“CRLF524CRLF”,第4个IP数据包为1316字节TS数据捎带“CRLF0CRLF CRLF”; 
第二种方案:发送端第1个IP数据包载荷为HTTP响应头部捎带“CRLF524CRLF”,第2个IP数据包为1316字节TS数据捎带“CRLF524CRLF”,第3个IP数据包为1316字节TS数据捎带“CRLF0CRLF CRLF”。 
对IP包封装解析在接收端完成,参考图2,包括以下步骤: 
步骤201)、接收端接收IP数据包; 
步骤202)、判断所接收的IP数据包是否为第一个IP数据包,若是,将该IP数据包解析为HTTP响应的头部,然后重新执行步骤201),否则,执行下一步; 
步骤203)、判断所接收IP数据包的载荷是否大于188字节,若是,将该IP数据包解析为TS数据,然后重新执行步骤201),否则,执行下一步; 
步骤204)、判断所接收IP数据包是否以字符串“CRLF0CRLF”开头,若是,解析为数据传输结束,否则,丢弃该IP数据包,然后重新执行步骤201)。 
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。 

Claims (5)

1.一种HTTP chunked编码和IP包封装方法,包括:
发送端将HTTP响应头部封装到第一个IP数据包中;
将所要传输的TS数据按照188字节的整数倍封装到若干编码块中,对任一所述编码块,将所述编码块的“CRLF chunk-size CRLF”封装到IP数据包中,将所述编码块的“chunk-data”根据需要按照188字节的整数倍进行切分并将切分后的结果分别封装到若干个IP数据包中。
2.根据权利要求1所述的HTTP chunked编码和IP包封装方法,其特征在于,所述将所述编码块的“CRLF chunk-size CRLF”封装到IP数据包中包括:将所述编码块的“CRLF chunk-size CRLF”封装到一独立IP数据包中。
3.根据权利要求1所述的HTTP chunked编码和IP包封装方法,其特征在于,所述将所述编码块的“CRLF chunk-size CRLF”封装到IP数据包中包括:将所述编码块的“CRLF chunk-size CRLF”封装到前一个IP数据包中。
4.根据权利要求1所述的HTTP chunked编码和IP包封装方法,其特征在于,所述IP数据包长度不大于最大传输单元。
5.一种HTTP chunked编码和IP包解析方法,包括:
接收端接收采用权利要求1-4之一所述方法得到的IP数据包;
将所得到的第一个IP数据包的载荷解析为HTTP响应头部,对于后续IP数据包,将载荷大于188字节的IP数据包解析为所要传输的TS数据,将载荷不大于188字节而且以字符串“CRLF0CRLF”开头的IP数据包解析为传输结束。
CN201410010554.XA 2014-01-09 2014-01-09 HTTP chunked编码和IP包封装、解析方法 Expired - Fee Related CN104780182B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410010554.XA CN104780182B (zh) 2014-01-09 2014-01-09 HTTP chunked编码和IP包封装、解析方法
PCT/CN2014/081425 WO2015103856A1 (zh) 2014-01-09 2014-07-01 HTTP chunked编码和IP包封装、解析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410010554.XA CN104780182B (zh) 2014-01-09 2014-01-09 HTTP chunked编码和IP包封装、解析方法

Publications (2)

Publication Number Publication Date
CN104780182A true CN104780182A (zh) 2015-07-15
CN104780182B CN104780182B (zh) 2018-05-22

Family

ID=53523510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410010554.XA Expired - Fee Related CN104780182B (zh) 2014-01-09 2014-01-09 HTTP chunked编码和IP包封装、解析方法

Country Status (2)

Country Link
CN (1) CN104780182B (zh)
WO (1) WO2015103856A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108270740A (zh) * 2016-12-30 2018-07-10 上海华讯网络系统有限公司 对含有多路视频流的视频会议的直播系统和方法
CN112187858A (zh) * 2020-08-24 2021-01-05 浙江百应科技有限公司 一种匹配管线式http请求与响应的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345595A (zh) * 2008-08-26 2009-01-14 国家广播电影电视总局广播科学研究院 一种基于广播信道传输内容标引的系统及方法
CN102752320A (zh) * 2012-08-03 2012-10-24 北京光泽时代通信技术有限公司 一种代理服务器主动压缩方法及代理服务器
CN102821311A (zh) * 2012-05-30 2012-12-12 浙江宇视科技有限公司 一种视频数据包优先级设置方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345595A (zh) * 2008-08-26 2009-01-14 国家广播电影电视总局广播科学研究院 一种基于广播信道传输内容标引的系统及方法
CN102821311A (zh) * 2012-05-30 2012-12-12 浙江宇视科技有限公司 一种视频数据包优先级设置方法和装置
CN102752320A (zh) * 2012-08-03 2012-10-24 北京光泽时代通信技术有限公司 一种代理服务器主动压缩方法及代理服务器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108270740A (zh) * 2016-12-30 2018-07-10 上海华讯网络系统有限公司 对含有多路视频流的视频会议的直播系统和方法
CN112187858A (zh) * 2020-08-24 2021-01-05 浙江百应科技有限公司 一种匹配管线式http请求与响应的方法
CN112187858B (zh) * 2020-08-24 2023-04-18 浙江百应科技有限公司 一种匹配管线式http请求与响应的方法

Also Published As

Publication number Publication date
WO2015103856A1 (zh) 2015-07-16
CN104780182B (zh) 2018-05-22

Similar Documents

Publication Publication Date Title
US11553066B2 (en) Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal
CN101674315B (zh) 一种时间戳压缩、解压缩的方法及装置
CN101350812B (zh) 一种数据的传输方法、通信设备及通信系统
FI123499B (fi) Menetelmä ja laite viestien prosessoimiseksi
TW202002712A (zh) 待配網設備存取網路熱點設備的方法和裝置
CN105656774B (zh) 一种网络实时视频会话媒体数据多径混合冗余传输方法
CN103973645A (zh) 一种数据传输方法和相关装置
CN102882879A (zh) 一种适用于卫星信道的ip数据压缩传输方法
CN101459654A (zh) 一种多协议业务数据封装解析方法、接收端和发送端
CN102523119A (zh) 基于snmp协议的epon网管系统数据传输方法
CN104270594B (zh) 数据包发送与接收的方法及设备
US20150071307A1 (en) Communication interface and method for robust header compression of data flows
CN104320416A (zh) 对实时传输协议数据进行打包的方法及装置
CN101814973B (zh) 一种基于amr音频帧的rtp快速聚包方法
CN101534291A (zh) Ip报文的发送、接收的方法及装置
CN104780182A (zh) HTTP chunked编码和IP包封装、解析方法
CN104811265A (zh) 基带帧的封装方法及解封装方法
CN104216958A (zh) 基于结构化数据的传输方法及装置
CN109391605B (zh) 数据传输方法、装置及系统
CN101505420B (zh) 一种视频压缩数据的封装方法
CN102118791A (zh) 一种传输数据包的方法及装置
WO2015101152A1 (zh) 基于dfa的http分块传输编码的传输载荷提取方法
CN105262970B (zh) 一种基于图像数据的封装方法及系统
CN107517202B (zh) 一种sip信令的二进制化发送和接收方法
WO2010009652A1 (zh) 一种复用数据流的传输方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180522