[发明专利]6LoWPAN网络中面向HTTP协议的TCP首部压缩方法有效
申请号: | 201110228460.6 | 申请日: | 2011-08-10 |
公开(公告)号: | CN102255972A | 公开(公告)日: | 2011-11-23 |
发明(设计)人: | 黄小红;马严;王振华;马哲 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L1/00 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 夏宪富 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | lowpan 网络 面向 http 协议 tcp 首部 压缩 方法 | ||
1.一种用于6LoWPAN网络中面向超文本传输协议HTTP的传输控制协议TCP首部压缩方法,其特征在于:6LoWPAN网络中的所有基于HTTP的通信过程都要执行TCP首部的压缩和解压操作,以减少数据链路层的数据分片和提高通信效率;所述方法包括下列操作步骤:
(1)发送端的应用层将需要传送的HTTP协议的数据交给传输层;
(2)传输层对应用层数据封装TCP首部后,形成TCP报文交给网络层;
(3)网络层对TCP报文封装IP首部后,形成IP数据报交给6LoWPAN适配层;
(4)6LoWPAN适配层先完成IP数据报中的IP首部与其扩展首部的压缩,然后按照6LoWPAN工作组提出的报头压缩结构:Encoding(编码)和In-Line(队列)两个字段结构对TCP首部进行压缩操作,以保证该压缩方法的兼容性和操作实现的简便性;再将形成的6LoWPAN数据报交给数据链路层;
(5)数据链路层对6LoWPAN数据报封装帧头和帧尾后,形成数据链路帧交给物理层;
(6)物理层将数据链路帧通过网络发送给接收端;
(7)接收端按照上述过程的逆处理对接收的数据报进行解压,接收端的应用层接收到发送端传送的HTTP协议的数据。
2.根据权利要求1所述的方法,其特征在于:所述步骤(4)中,TCP首部的压缩操作包括两部分:基本首部的7个字段压缩操作和扩展选项的3个字段压缩操作;且所涉及的基本首部和扩展选项的两种字段压缩操作都是根据网络层传送来的不同类型的IP数据报而分别选择执行其中的若干项字段或全部字段执行压缩操作,并对每个字段的压缩顺序没有特殊要求。
3.根据权利要求2所述的方法,其特征在于:所述TCP中基本首部是顺序包括端口号(Ports)、序列号和确认号(Sequence and Acknowledgment Number)、首部长度(Header Length)、标志位(Flags)、窗口值(Window)、紧急指针(Urgent Pointer)和校验和(Checksum)共7个字段的TCP报文前20个字节,TCP基本首部的压缩操作是对LoWPAN_NHC编码方法的扩展,即将该20个字节压缩为前3个比特为标志位F、接着2个比特为端口号P,最后3个比特为首部长度HL的单字节TCP基本首部的压缩编码;包括下列操作内容:
(41)对标志位F(Flags)进行压缩:因在HTTP中不会用到紧急指针位(URG),且在TCP传输过程中有些情况不会出现,故只对包括应答位(ACK)、推送位(PSH)、重置位(RST)、同步位(SYN)和结束位(FIN)共5个标志位可能出现的各种不同情况进行下述编码:
000:表示ACK=0,PSH=0,RST=0,SYN=1,FIN=0;
001:表示ACK=1,PSH=0,RST=0,SYN=1,FIN=0;
010:表示ACK=1,PSH=0,RST=0,SYN=0,FIN=1;
011:表示ACK=1,PSH=0,RST=0,SYN=0,FIN=0;
100:表示ACK=1,PSH=1,RST=0,SYN=0,FIN=0;
101:表示ACK=0,PSH=0,RST=1,SYN=0,FIN=0;
110和111:均为保留标志位;
(42)对端口号P(Ports)进行压缩:因每一次完整的TCP传输过程中,源端口号和目的端口号都不会改变,故在TCP首次握手时,就将源端口号分别储存于HTTP客户端和服务器,但当服务器端口不是80时,则还要存储目的端口;并在后续的传输过程中,采用下述三种状态:01、10和11分别表示端口号,直到本次TCP连接断开;其中,
00:表示TCP连接的第一次握手,如果目的端口号是服务器端口80,则只存储源端口号于In-Line部分;否则,将源端口和目的端口都存储于In-Line部分;
01:源端口号是表示HTTP服务器的80,目的端口号是HTTP客户端;
10:目的端口号是表示HTTP服务器的80,源端口号是HTTP客户端;
11:HTTP服务器端口号不是80的情况;
(43)对首部长度HL(Header Length)进行压缩:因不含选项字段的TCP首部长度是20字节,意味着首部长度值不会出现在0000到0100之间;含有一个或多个选项字段的TCP首部在HTTP协议通信中最长为40字节,即不会使用1011到1111;故对下述可能出现的首部长度值进行编码如下:
000:首部长度为5,表示不含选项字段的TCP首部长度是20字节;
001:首部长度为6;
010:首部长度为7;
011:部长度为8;
100:首部长度为9;
101:首部长度为10,表示包含选项字段的TCP首部长度是HTTP中最长的40字节;
110和111:均为保留用途;
(44)对序列号和确认号(Sequence and Acknowledgment Number)进行压缩:因TCP连接第一次握手时,数据包不会携带确认号,故直接省略该字段;若不是第一次握手时,则将序列号和确认号均保留于In-Line部分;
(45)对窗口值(Window)进行压缩:将其保留于In-Line部分;
(46)对紧急指针(Urgent Pointer)进行压缩:因其与URG位一起使用,而HTTP不会使用该字段,故直接省略;
(47)对校验和(Checksum)进行压缩:因HTTP不进行校验,故将其保留于In-Line部分。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110228460.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:红薯五谷杂粮馅月饼
- 下一篇:齿轮齿条机构同步移动磁转子的可调速磁力偶合器