[發(fā)明專利]傳遞客戶端IPv6地址及端口至后端服務(wù)器的方法及裝置有效
| 申請?zhí)枺?/td> | 201210054431.7 | 申請日: | 2012-03-02 |
| 公開(公告)號: | CN103297407A | 公開(公告)日: | 2013-09-11 |
| 發(fā)明(設(shè)計)人: | 羅楓;吳教仁;劉濤;劉寧;張誠 | 申請(專利權(quán))人: | 百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L29/12 |
| 代理公司: | 北京清亦華知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11201 | 代理人: | 宋合成 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 傳遞 客戶端 ipv6 地址 端口 后端 服務(wù)器 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其涉及一種從IPv6負載均衡設(shè)備傳遞客戶端的原始IPv6地址及端口至后端服務(wù)器的方法。
背景技術(shù)
現(xiàn)有的負載均衡設(shè)備中,如果采用了NAT(Network?Address?Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)模式,那么后端服務(wù)器只能看到負載均衡設(shè)備的后端IP,而無法看到客戶端的真實源IP,因此無法對客戶端進行地址定位,從而無法正常開展基于地理信息的相關(guān)業(yè)務(wù)。
發(fā)明內(nèi)容
本發(fā)明旨在至少解決上述技術(shù)問題之一。
為此,本發(fā)明的一個目的在于提出一種可以將客戶端的原始IPv6地址和端口傳遞到后端服務(wù)器的方法。
本發(fā)明的另一目的在于提出一種從IPv6負載均衡設(shè)備傳遞客戶端的原始IPv6地址和端口至后端服務(wù)器的系統(tǒng)。
為了實現(xiàn)上述目的,根據(jù)本發(fā)明第一方面的實施例的從IPv6負載均衡設(shè)備獲取客戶端的原始IPv6地址和端口的方法包括以下步驟:(A)所述客戶端向所述IPv6負載均衡設(shè)備發(fā)送數(shù)據(jù)包;(B)所述IPv6負載均衡設(shè)備對所述客戶端的原始IPv6地址及端口進行地址轉(zhuǎn)換,將所述客戶端的原始IPv6地址及端口存儲在TCP選項字段中并發(fā)送帶有所述TCP選項字段的數(shù)據(jù)包;(C)所述后端服務(wù)器的Linux內(nèi)核層截獲syn_recv_sock鉤子,掛載tcp_v6_syn_recv_sock_ttm鉤子函數(shù),以得到所述TCP選項字段中的所述客戶端的原始IPv6地址及端口并存儲;(D)所述后端服務(wù)器的Linux內(nèi)核層截獲getname鉤子,掛載inet6_getname_ttm鉤子函數(shù),以提取所述客戶端的原始IPv6地址及端口供所述后端服務(wù)器的Linux應(yīng)用層使用。
根據(jù)本發(fā)明實施例的從IPv6負載均衡設(shè)備傳遞客戶端的原始IPv6地址及端口至后端服務(wù)器的方法,通過在TCP選項字段中增加客戶端的原始IPv6地址和端口信息,使得后端服務(wù)器能夠提取TCP選項字段中的信息獲取客戶端的原始IP和端口信息,從而能夠?qū)蛻暨M行地址定位并開展基于地理信息的相關(guān)服務(wù)。而且本發(fā)明的方法不需要對Linux內(nèi)核做任何的修改,具有較強的靈活性,可移植性高。
為了實現(xiàn)上述目的,根據(jù)本發(fā)明第二方面的實施例的從IPv6負載均衡設(shè)備傳遞客戶端的原始IPv6地址及端口至后端服務(wù)器的裝置包括第一截獲模塊和第二截獲模塊,所述客戶端向所述IPv6負載均衡設(shè)備發(fā)送數(shù)據(jù)包,所述IPv6負載均衡設(shè)備對所述客戶端的原始IPv6地址及端口進行地址轉(zhuǎn)換,將所述客戶端的原始IPv6地址及端口存儲在TCP選項字段中并發(fā)送帶有所述TCP選項字段的數(shù)據(jù)包,所述第一截獲模塊用于截獲syn_recv_sock鉤子,掛載tcp_v6_syn_recv_sock_ttm鉤子函數(shù),以得到所述TCP選項字段中的所述客戶端的原始IPv6地址及端口并保存,所述第二截獲模塊用于截獲getname鉤子,掛載inet6_getname_ttm鉤子函數(shù),以提取所述客戶端的原始IPv6地址及端口供所述后端服務(wù)器的Linux應(yīng)用層使用。
根據(jù)本發(fā)明實施例的從IPv6負載均衡設(shè)備傳遞客戶端的原始IPv6地址及端口至后端服務(wù)器的裝置,通過在TCP選項字段中增加客戶端的原始IPv6地址和端口信息,并通過截獲模塊截獲TCP選項字段中的信息獲取客戶端的原始IP和端口信息,從而能夠?qū)蛻暨M行地址定位并開展基于地理信息的相關(guān)服務(wù)。而且實現(xiàn)過程中不需要對Linux內(nèi)核做任何的修改,具有較強的靈活性,可移植性高。
本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中,
圖1是根據(jù)本發(fā)明一個實施例的從IPv6負載均衡設(shè)備傳遞客戶端的原始IPv6地址及端口至后端服務(wù)器的方法的流程圖;
圖2是根據(jù)本發(fā)明一個實施例的從IPv6負載均衡設(shè)備傳遞客戶端的原始IPv6地址及端口至后端服務(wù)器的方法的流程圖;
圖3是根據(jù)本發(fā)明一個實施例的分析TCP選項并提取客戶端的原始IPv6地址及端口的方法的流程圖;
圖4是根據(jù)本發(fā)明一個實施例的inet6_getname_ttm鉤子函數(shù)的工作流程圖;
圖5是根據(jù)本發(fā)明一個實施例的從IPv6負載均衡設(shè)備傳遞客戶端的原始IPv6地址及端口至后端服務(wù)器的方法的流程圖;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司,未經(jīng)百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210054431.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





