[发明专利]一种处理数据报文的方法和装置有效
申请号: | 201910059565.X | 申请日: | 2019-01-22 |
公开(公告)号: | CN109547580B | 公开(公告)日: | 2021-05-25 |
发明(设计)人: | 杨光;马涛 | 申请(专利权)人: | 网宿科技股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/12 |
代理公司: | 北京华智则铭知识产权代理有限公司 11573 | 代理人: | 王昌贵 |
地址: | 200030 上海市徐汇*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理 数据 报文 方法 装置 | ||
本发明公开了一种处理数据报文的方法和装置,属于数据传输技术领域。所述方法包括:负载均衡设备接收目标数据报文,基于用户态协议栈对所述目标数据报文执行协议栈处理,并确定所述目标数据报文的目标协议类型;所述负载均衡设备通过用户态netfilter框架中注册的所述目标协议类型对应的调度处理函数,对所述目标数据报文进行调度处理;所述负载均衡设备基于所述调度处理的结果,对所述目标数据报文执行转发或者响应处理。采用本发明,减轻了报文处理流程对内核态的依赖,降低了报文拷贝的处理频率,从而节省了负载均衡设备的处理性能消耗,同时,对于数据报文的处理流程的升级替换等维护处理也更为方便、简单。
技术领域
本发明涉及数据传输技术领域,特别涉及一种处理数据报文的方法和装置。
背景技术
CDN系统中通常采用服务器集群的部署方式来处理CDN节点上的四层业务处理,并通常在每个CDN节点上部署工作在传输层的具备流量调度和分发功能负载均衡设备,从而将业务流量在服务器集群中均衡分配。
netfilter框架作为一个通用的、抽象的框架,通过其提供的一整套的hook函数的管理机制,诸如数据包过滤、网络地址转换(NAT,Network Address Translation)和基于协议类型的连接跟踪等功能可以以KO插件的方式加载至netfilter框架中。目前,负载均衡设备上一般会部署Linux虚拟服务器(即LVS,Linux Virtual Server),以实现业务流量在服务器集群内的负载均衡,该LVS工作在内核态,可以基于内核防火墙的netfilter框架,以KO插件的方式实现上述负载均衡功能。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
LVS的处理逻辑需要将报文传递至内核协议栈,由此带来的报文拷贝以及内核协议栈内大量的处理流程,将会占用整台负载均衡设备大量的处理性能,大幅影响业务流量的处理效率;同时,由于LVS跟内核耦合性很大,升级、替换等维护处理的过程较为复杂、繁琐。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种处理数据报文的方法和装置。所述技术方案如下:
第一方面,提供了一种处理数据报文的方法,所述方法包括:
负载均衡设备接收目标数据报文,基于用户态协议栈对所述目标数据报文执行协议栈处理,并确定所述目标数据报文的目标协议类型;
所述负载均衡设备通过用户态netfilter框架中注册的所述目标协议类型对应的调度处理函数,对所述目标数据报文进行调度处理;
所述负载均衡设备基于所述调度处理的结果,对所述目标数据报文执行转发或者响应处理。
可选的,所述负载均衡设备通过用户态netfilter框架中注册的所述目标协议类型对应的调度处理函数,对所述目标数据报文进行调度处理之前,还包括:
所述负载均衡设备通过用户态netfilter框架中注册的所述目标协议类型对应的报文防护函数,对所述目标数据报文进行防护处理;
如果检测出所述目标数据报文为恶意报文,所述负载均衡设备则丢弃所述目标数据报文。
可选的,所述对所述目标数据报文进行调度处理,包括:
当所述目标协议类型为TCP或UDP时,所述负载均衡设备根据所述目标数据报文的五元组信息,对所述目标数据报文进行调度处理;
当所述目标协议类型为ICMP时,所述负载均衡设备通过预设的代答规则,构造所述目标数据报文的响应报文。
可选的,所述负载均衡设备根据所述目标数据报文的五元组信息,对所述目标数据报文进行调度处理,包括:
所述负载均衡设备查找本地是否存在所述目标数据报文的五元组信息对应的目标会话表项;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网宿科技股份有限公司,未经网宿科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910059565.X/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置