System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种5G核心网HTTP2头部压缩解码的方法技术_技高网

一种5G核心网HTTP2头部压缩解码的方法技术

技术编号:40357804 阅读:6 留言:0更新日期:2024-02-09 14:43
本发明专利技术涉及一种5G核心网HTTP2头部压缩解码的方法,包括:第一解压缩方法;通过对采集到的完整HTTP2动态头部压缩协商数据,进行TCP流管理和HTTP2消息重组,经过查询和创建解码上下文得到静态表和动态表;根据头部字段模式在静态表和动态表中查询解码HTTP2头部字段,保存解码结果;第二解压缩方法;对于获取不到动态索引号和相应字符串的对应关系的HTTP2动态头部压缩协商数据,通过修复动态表的方式,在动态表中可能存在问题的表项区间中插入空表项目后,再采用新的动态表进行解码,直到解码出来信息与根据3GPP协议规范推导出来的信息不冲突后,保存解码结果。本发明专利技术实现对核心网接口的HTTP2协议进行实时动态头解压缩,完成协议解析,提高现网的解压缩成功率。

【技术实现步骤摘要】

本专利技术属于通信,具体涉及一种5g核心网http2头部压缩解码的方法。


技术介绍

1、http2.0是在spdy基础上形成的下一代互联网通信协议,其目的是通过支持请求与响应的多路复用来减少延迟,通过压缩http2头字段降低协议开销,同时增加请求优先级和服务器端推送的支持。5g核心网适应网络发展,以http2为核心协议,在提高了网元交互能力的同时,http2的头压缩对核心网信令的解析也提出了很大的挑战。

2、http1.x的无状态特性导致巨大http头部,由于报文header一般会携带"useragent"、"cookie"、"accept"、"服务端"等许多固定的头字段,多达几百字节甚至上千字节,同时,成千上万的请求响应报文里有很多字段值都是重复的,非常浪费,在一定程度上增加了传输的成本。故此,http2采用hpack算法,通过维护一张静态表和一张动态表来对http2的头部进行压缩。其中,静态表用来建立一些常见的头部名称,以及特别常见的头部名称与值的组合的索引;动态表则用于在客户端和服务器两端建立“动态索引”,用索引号表示重复的字符串,还采用哈夫曼编码来压缩整数和字符串,可以达到50%~90%的高压缩率。

3、http2的头部压缩方案大大提供了传输效率,但是却给5g核心网的信令解析提出了挑战,因为获取不到动态索引号和相应字符串的对应关系,将没有办法对码流里传输的信令内容做正确解析。


技术实现思路

1、鉴于上述的分析,本专利技术旨在公开了一种5g核心网http2头部压缩解码的方法,用于实现对核心网接口的http2协议进行实时动态头解压缩,完成协议解析,提高现网的解压缩成功率。

2、本专利技术公开了一种5g核心网http2头部压缩解码的方法,包括:第一解压缩方法和第一解压缩方法;其中,

3、第一解压缩方法;通过对采集到的完整http2动态头部压缩协商数据,进行tcp流管理和http2消息重组,经过查询和创建解码上下文得到静态表和动态表;根据头部字段模式在静态表和动态表中查询解码http2头部字段,保存解码结果;

4、第二解压缩方法;对于获取不到动态索引号和相应字符串的对应关系的http2动态头部压缩协商数据,通过修复动态表的方式,在动态表中可能存在问题的表项区间中插入空表项目后,再采用新的动态表进行解码,直到解码出来信息与根据3gpp协议规范推导出来的信息不冲突后,保存解码结果。

5、进一步地,第一解压缩方法中tcp流管理的ip分片重组中,根据分片报文的四元素结合一个随机数rand计算一个哈希值,然后根据所述哈希值去查找分片队列,查找到分片队列后把ip报文插入分片队列,如果所有分片报文都集齐了则开始重组生成完成的ip报文;如果一直都无法集齐的话,这个分片队列内存就会被垃圾回收定时器回收。

6、进一步地,第一解压缩方法中tcp流管理的tcp乱序重传处理,包括:

7、1)按照四元素维护tcp流;所述四元素为源ip地址+目的ip地址+源端口+目的端口;

8、2)tcp流维护下一个tcp数据包的seq;

9、3)比较当前的数据包的seq和tcp流需要的下一个数据包的seq;

10、如果等于:表明正常,直接输出改tcp数据包;

11、如果小于:表明出现重传,直接丢弃该tcp数据包;

12、如果大于:表明出现乱序,缓存该tcp数据包,由于采集可能出现丢包,需要定义缓存数据包的大小,超过缓存限制后认为丢包,直接从缓存数据包中选择seq值最小的tcp数据包输出。

13、进一步地,第一解压缩方法中http2消息重组,按照源ip地址+目的ip地址+源端口+目的端口维护tcp流,并从tcp流中切分出一个一个完成的http2消息包。

14、进一步地,第一解压缩方法中采用fifo算法维护动态表;在维护动态表时,

15、插入动态的顺序为后续该表项的索引;

16、对已有的表项不能修改;

17、只有消息中“01”头字段模式的ie字段才能插入动态表项到动态表。

18、进一步地,第二解压缩方法中,动态表的修复中,动态表项能够插入动态表的中间,判断已存在的表项目需要修改时,对所述表项目进行修改。

19、进一步地,第二解压缩方法中,动态表的修复中,插入只有id的空条目,没有头字段名或者头字段值,用于同步核心网元与头部压缩解压程序对动态表的插入。

20、进一步地,第二解压缩方法中,通过http2的header+data+3gpp协议规范得到data的消息类型,进行动态表内容的推导;并通过http2的响应+3gpp协议规范得到响应的消息类型和响应的结构,推导出部分动态表内容。

21、进一步地,第二解压缩方法中,根据3gpp文档对在header中的服务操作和在data中操作携带的信息存在的强约束;通过data携带的信息推导出header中确定携带的大部分信息;利用推导出来的header中携带的信息与依赖动态表解码出来的信息做对比分析,当推导出来的需要携带的信息与动态表解码出来的信息出现冲突时启动修复机制,利用推导出来的信息修复动态表。

22、进一步地,动态表修复的过程包括:

23、1)缓存动态表;

24、2)判断解码出来信息与根据3gpp协议规范推导出来的信息是否冲突;是则进入3),否则进入步骤7);

25、3)恢复缓存的动态表;

26、4)分析动态表内容,确定出冲突发生的动态表表项区间;

27、5)在动态表可能的位置插入空白项,生成新的动态表;

28、6)用新的动态表再次对当前数据包解压缩;返回步骤2)进行判断;

29、7)使用修改后的动态表作为最新的动态表。

30、本专利技术可实现以下有益效果:

31、本专利技术公开的5g核心网http2头部压缩解码的方法,考虑到现网的实际环境及采集方式,在http2头部压缩的协商过程被完整采集到,按照rfc标准进行头压缩解码;在没有被完整采集到时,考虑到tcp长连接的情况,对按照rfc标准进行头压缩解码的方式进行补充和升级,利用码流中的其他特征字结合3gpp规范、及5g核心网的业务场景,大大地提高了现网的解压缩成功率。

本文档来自技高网...

【技术保护点】

1.一种5G核心网HTTP2头部压缩解码的方法,其特征在于,包括:第一解压缩方法和第一解压缩方法;其中,

2.根据权利要求1所述的5G核心网HTTP2头部压缩解码的方法,其特征在于,

3.根据权利要求2所述的5G核心网HTTP2头部压缩解码的方法,其特征在于,

4.根据权利要求3所述的5G核心网HTTP2头部压缩解码的方法,其特征在于,

5.根据权利要求4所述的5G核心网HTTP2头部压缩解码的方法,其特征在于,

6.根据权利要求1-5任一项所述的5G核心网HTTP2头部压缩解码的方法,其特征在于,

7.根据权利要求6所述的5G核心网HTTP2头部压缩解码的方法,其特征在于,

8.根据权利要求7所述的5G核心网HTTP2头部压缩解码的方法,其特征在于,

9.根据权利要求8所述的5G核心网HTTP2头部压缩解码的方法,其特征在于,

10.根据权利要求9所述的5G核心网HTTP2头部压缩解码的方法,其特征在于,

【技术特征摘要】

1.一种5g核心网http2头部压缩解码的方法,其特征在于,包括:第一解压缩方法和第一解压缩方法;其中,

2.根据权利要求1所述的5g核心网http2头部压缩解码的方法,其特征在于,

3.根据权利要求2所述的5g核心网http2头部压缩解码的方法,其特征在于,

4.根据权利要求3所述的5g核心网http2头部压缩解码的方法,其特征在于,

5.根据权利要求4所述的5g核心网http2头部压缩解码的方法,其特征在于,...

【专利技术属性】
技术研发人员:李漫霜张爽
申请(专利权)人:北京域天科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1