[发明专利]一种数据包处理方法和装置有效
申请号: | 201810210913.4 | 申请日: | 2018-03-14 |
公开(公告)号: | CN108183926B | 公开(公告)日: | 2020-10-20 |
发明(设计)人: | 高锦峰;吴杰珂 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 马敬;项京 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据包 处理 方法 装置 | ||
本发明实施例提供了一种数据包处理方法和装置,可以应用于Linux虚拟服务器LVS,LVS可以获取待发送的各数据包,根据预设的数据包采样率,确定各数据包中需要写入对应的客户端的网络协议IP地址的采样数据包,在采样数据包中写入对应的客户端的IP地址,得到各目标数据包,将各目标数据包发送至预设的后端服务器,基于上述处理,后端服务器可以根据各目标数据包中的客户端的IP地址,对各数据包对应的客户端进行业务分析。
技术领域
本发明涉及通信技术领域,特别是涉及一种数据包处理方法和装置。
背景技术
现有技术中通常使用LVS(Linux Virtual Server,Linux虚拟服务器)实现客户端与后端服务器之间的通信。根据LVS提供的负载均衡技术可以实现一个高性能、高可用的服务器群集,服务器集群具有良好的可靠性、可扩展性和可操作性。
然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
LVS通常具有一个虚拟IP(Internet Protocol,网络协议)地址。当LVS接收到客户端的请求对应的数据包时,会将数据包存入寄存器中。针对寄存器中的每个数据包,LVS可以确定接收该数据包的后端服务器。LVS可以将数据包中的源IP地址(即客户端的IP地址),改写成该LVS的内网IP地址,将数据包中的目的IP地址(即虚拟IP地址),改写成确定出的后端服务器的IP地址,然后,LVS可以将改写后的数据包发送至确定出的后端服务器。后端服务器接收到数据包后,无法获得客户端的IP地址,进而无法根据接收到的数据包对客户端进行业务分析。
发明内容
本发明实施例的目的在于提供一种数据包处理方法和装置,可以实现后端服务器根据接收到的数据包对客户端进行业务分析。具体技术方案如下:
第一方面,为了达到上述目的,本发明实施例公开了一种数据包处理方法,上述方法包括:
获取待发送的各数据包;
根据预设的数据包采样率,确定所述各数据包中需要写入对应的客户端的IP地址的采样数据包;
在所述采样数据包中写入对应的客户端的IP地址,得到目标数据包;
将所述目标数据包发送至预设的后端服务器,以使所述后端服务器根据所述目标数据包中的客户端的IP地址,对所述各数据包对应的客户端进行业务分析。
可选的,所述方法还包括:
获取当前的网络带宽占有率;
所述根据预设数据包采样率,确定所述各数据包中需要写入对应的客户端的IP地址的采样数据包,包括:
根据所述当前的网络带宽占有率,以及预设的网络带宽占有率与数据包采样率的对应关系,确定当前的数据包采样率;
根据所述当前的数据包采样率,确定所述各数据包中需要写入对应的客户端的IP地址的数据包,作为采样数据包。
可选的,所述在所述采样数据包中写入对应的客户端的IP地址,包括:
针对每一所述采样数据包,获得该采样数据包中携带的目标数据的第一长度;
判断该采样数据包中的IP首部的第二长度与UDP(User Datagram Protocol,用户数据报协议)首部的第三长度的差值,是否小于所述第一长度;
如果所述第二长度与所述第三长度的差值小于所述第一长度,根据该采样数据包对应的客户端的IP地址的第四长度,左移所述IP首部,并在所述IP首部与所述UDP首部之间写入该采样数据包对应的客户端的IP地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810210913.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于IoT的窄带通信方法
- 下一篇:一种分布式系统中链路调用的监控方法及系统