[发明专利]传递客户端IPv6地址及端口至后端服务器的方法及装置有效
申请号: | 201210054431.7 | 申请日: | 2012-03-02 |
公开(公告)号: | CN103297407A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 罗枫;吴教仁;刘涛;刘宁;张诚 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/12 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 宋合成 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 传递 客户端 ipv6 地址 端口 后端 服务器 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种从IPv6负载均衡设备传递客户端的原始IPv6地址及端口至后端服务器的方法。
背景技术
现有的负载均衡设备中,如果采用了NAT(Network Address Translation,网络地址转换)模式,那么后端服务器只能看到负载均衡设备的后端IP,而无法看到客户端的真实源IP,因此无法对客户端进行地址定位,从而无法正常开展基于地理信息的相关业务。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的一个目的在于提出一种可以将客户端的原始IPv6地址和端口传递到后端服务器的方法。
本发明的另一目的在于提出一种从IPv6负载均衡设备传递客户端的原始IPv6地址和端口至后端服务器的系统。
为了实现上述目的,根据本发明第一方面的实施例的从IPv6负载均衡设备获取客户端的原始IPv6地址和端口的方法包括以下步骤:(A)所述客户端向所述IPv6负载均衡设备发送数据包;(B)所述IPv6负载均衡设备对所述客户端的原始IPv6地址及端口进行地址转换,将所述客户端的原始IPv6地址及端口存储在TCP选项字段中并发送带有所述TCP选项字段的数据包;(C)所述后端服务器的Linux内核层截获syn_recv_sock钩子,挂载tcp_v6_syn_recv_sock_ttm钩子函数,以得到所述TCP选项字段中的所述客户端的原始IPv6地址及端口并存储;(D)所述后端服务器的Linux内核层截获getname钩子,挂载inet6_getname_ttm钩子函数,以提取所述客户端的原始IPv6地址及端口供所述后端服务器的Linux应用层使用。
根据本发明实施例的从IPv6负载均衡设备传递客户端的原始IPv6地址及端口至后端服务器的方法,通过在TCP选项字段中增加客户端的原始IPv6地址和端口信息,使得后端服务器能够提取TCP选项字段中的信息获取客户端的原始IP和端口信息,从而能够对客户进行地址定位并开展基于地理信息的相关服务。而且本发明的方法不需要对Linux内核做任何的修改,具有较强的灵活性,可移植性高。
为了实现上述目的,根据本发明第二方面的实施例的从IPv6负载均衡设备传递客户端的原始IPv6地址及端口至后端服务器的装置包括第一截获模块和第二截获模块,所述客户端向所述IPv6负载均衡设备发送数据包,所述IPv6负载均衡设备对所述客户端的原始IPv6地址及端口进行地址转换,将所述客户端的原始IPv6地址及端口存储在TCP选项字段中并发送带有所述TCP选项字段的数据包,所述第一截获模块用于截获syn_recv_sock钩子,挂载tcp_v6_syn_recv_sock_ttm钩子函数,以得到所述TCP选项字段中的所述客户端的原始IPv6地址及端口并保存,所述第二截获模块用于截获getname钩子,挂载inet6_getname_ttm钩子函数,以提取所述客户端的原始IPv6地址及端口供所述后端服务器的Linux应用层使用。
根据本发明实施例的从IPv6负载均衡设备传递客户端的原始IPv6地址及端口至后端服务器的装置,通过在TCP选项字段中增加客户端的原始IPv6地址和端口信息,并通过截获模块截获TCP选项字段中的信息获取客户端的原始IP和端口信息,从而能够对客户进行地址定位并开展基于地理信息的相关服务。而且实现过程中不需要对Linux内核做任何的修改,具有较强的灵活性,可移植性高。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的从IPv6负载均衡设备传递客户端的原始IPv6地址及端口至后端服务器的方法的流程图;
图2是根据本发明一个实施例的从IPv6负载均衡设备传递客户端的原始IPv6地址及端口至后端服务器的方法的流程图;
图3是根据本发明一个实施例的分析TCP选项并提取客户端的原始IPv6地址及端口的方法的流程图;
图4是根据本发明一个实施例的inet6_getname_ttm钩子函数的工作流程图;
图5是根据本发明一个实施例的从IPv6负载均衡设备传递客户端的原始IPv6地址及端口至后端服务器的方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210054431.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一个通信方法及设备、系统
- 下一篇:数字信息发送和接收方法、装置以及分发系统