[发明专利]传递客户端IPv4地址及端口至后端服务器的方法及装置有效

专利信息
申请号: 201210054358.3 申请日: 2012-03-02
公开(公告)号: CN103297552A 公开(公告)日: 2013-09-11
发明(设计)人: 刘晓光;姜丽娜;刘涛;吴教仁;刘宁;张诚 申请(专利权)人: 百度在线网络技术(北京)有限公司
主分类号: H04L29/12 分类号: H04L29/12;H04L29/08
代理公司: 北京清亦华知识产权代理事务所(普通合伙) 11201 代理人: 宋合成
地址: 100085 北京市*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 传递 客户端 ipv4 地址 端口 后端 服务器 方法 装置
【权利要求书】:

1.一种从IPv4负载均衡设备传递客户端的原始IPv4地址及端口至后端服务器的方法,其特征在于,包括以下步骤:

(A)所述客户端向所述IPv4负载均衡设备发送数据包;

(B)所述IPv4负载均衡设备对所述客户端的原始IPv4地址及端口进行地址转换,将所述客户端的原始IPv4地址及端口存储在TCP选项字段中并发送带有所述TCP选项字段的数据包;

(C)所述服务器的Linux内核层截获syn_recv_sock钩子,挂载tcp_v4_syn_recv_sock_ttm钩子函数,以得到所述TCP选项字段中的所述客户端的原始IPv4地址及端口并存储;

(D)所述服务器的Linux内核层截获getname钩子,挂载inet_getname_ttm钩子函数,以提取所述客户端的原始IPv4地址及端口供所述服务器的Linux应用层使用。

2.根据权利要求1所述的方法,其特征在于,进一步包括步骤:

(E)将所述TCP选项字段的kind号写入作为TCPOPT_TTM并将所述TCP选项字段的总长度写入作为TCPOLEN_TTM。

3.根据权利要求2所述的方法,其特征在于,所述步骤(C)包括:

所述服务器的Linux内核层调用linux内核原生的tcp_v4_yn_recv_sock函数;

判断所述TCP选项字段的kind号是否为TCPOPT_TTM并判断所述TCP选项字段的总长度是否为TCPOLEN_TTM;

如果是,则获取存储在所述TCP选项字段中的所述客户端的原始IPv4地址及端口;以及

建立具有sk_user_data指针的sock结构体并将所述客户端的原始IPv4地址及端口拷贝到存储所述sk_user_data指针变量的内存区域。

4.根据权利要求3所述的方法,其特征在于,进一步包括:

如果判断不存在kind号为TCPOPT_TTM且长度为TCPOLEN_TTM的所述TCP选项字段,则返回。

5.根据权利要求1或2所述的方法,其特征在于,所述步骤(D)包括:

调用linux内核原生的inet_getname函数;

判断存储所述sk_user_data指针变量的内存区域是否为空;

如果否,则判断存储所述sk_user_data指针变量的内存区域中是否存储有所述客户端的原始IPv4地址及端口;以及

如果存储所述sk_user_data指针变量的内存区域中存储有所述客户端的原始IPv4地址及端口,则将存储所述sk_user_data指针变量的内存区域中存储的所述客户端的原始IPv4地址及端口赋值到uaddr的sin_addr和sin_port。

6.根据权利要求5所述的方法,其特征在于,进一步包括步骤:

如果判断存储所述sk_user_data指针变量的内存区域为空,则返回。

7.根据权利要求5所述的方法,其特征在于,进一步包括步骤:

如果判断存储所述sk_user_data指针变的内存区域中没有存储所述客户端的原始IPv4地址及端口,则返回。

8.一种从IPv4负载均衡设备传递客户端的原始IPv4地址及端口至后端服务器的装置,其特征在于,所述客户端向所述IPv4负载均衡设备发送数据包,所述IPv4负载均衡设备对所述客户端的原始IPv4地址及端口进行地址转换,将所述客户端的原始IPv4地址及端口存储在TCP选项字段中并发送带有所述TCP选项字段的数据包,所述装置包括:

第一截获模块,所述第一截获模块用于截获syn_recv_sock钩子,挂载tcp_v4_syn_recv_sock_ttm钩子函数,以得到所述TCP选项字段中的所述客户端的原始IPv4地址及端口并存储;以及

第二截获模块,所述第二截获模块用于截获getname钩子,挂载inet_getname_ttm钩子函数,以提取所述客户端的原始IPv4地址及端口供所述服务器的Linux应用层使用。

9.根据权利要求8所述的装置,其特征在于,进一步包括:

写入模块,所述写入模块用于将所述TCP选项字段的kind号写入作为TCPOPT_TTM并将所述TCP选项字段的总长度写入作为TCPOLEN_TTM。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210054358.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top