一種跨nat環(huán)境下客戶端接入方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[OOOU 本發(fā)明屬于互聯(lián)網(wǎng)領(lǐng)域,設(shè)及一種跨MT環(huán)境下客戶端接入方法和系統(tǒng)。
【背景技術(shù)】
[0002] 旁路準(zhǔn)入為目前市面上準(zhǔn)入產(chǎn)品中使用最廣泛且最穩(wěn)定的準(zhǔn)入實(shí)現(xiàn)方式,它不影 響客戶的網(wǎng)絡(luò)環(huán)境,僅僅需要在客戶網(wǎng)絡(luò)環(huán)境的總出口交換機(jī)上配置好端口鏡像,將網(wǎng)絡(luò) 數(shù)據(jù)鏡像到服務(wù)器上進(jìn)行相應(yīng)的判斷處理即可實(shí)現(xiàn)準(zhǔn)入的效果。
[0003] 當(dāng)服務(wù)器收到鏡像到的數(shù)據(jù)包后,會根據(jù)自身規(guī)則判斷數(shù)據(jù)包的合法性,如果數(shù) 據(jù)包合法,則對數(shù)據(jù)不進(jìn)行任何處理,如果數(shù)據(jù)非法,則通過發(fā)送RST或者數(shù)據(jù)重定向包的 方式來實(shí)現(xiàn)對客戶端訪問網(wǎng)絡(luò)數(shù)據(jù)的阻斷功能。
[0004] 旁路準(zhǔn)入方式雖然可W在不影響客戶網(wǎng)絡(luò)環(huán)境的情況下實(shí)現(xiàn)準(zhǔn)入效果,但它存在 一個問題就是,客戶端如果跨了NAT的話,IP在經(jīng)過地址轉(zhuǎn)換后僅僅能獲取到轉(zhuǎn)換后的IP, 無法獲取到NAT下哪些客戶端是合法,哪些是非法。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明所要解決的技術(shù)問題是在不影響客戶網(wǎng)絡(luò)環(huán)境的情況下實(shí)現(xiàn)準(zhǔn)入效果,且 可W適用于客戶端跨NAT環(huán)境下。
[0006] 本發(fā)明解決上述技術(shù)問題所采取的技術(shù)方案如下:
[0007] 一種跨NAT環(huán)境下客戶端接入方法,包括:
[000引步驟1)客戶端登錄后,業(yè)務(wù)服務(wù)器判斷客戶端是否跨NAT的用戶,如果用戶為跨NAT用戶,則判斷數(shù)據(jù)包的合法性,并向合法的客戶端發(fā)送修改生存時間ITL值的命令,告 知修改ITL值;
[0009] 步驟2)客戶端收到業(yè)務(wù)服務(wù)器修改ITL值的命令后,會將外發(fā)的數(shù)據(jù)包的ITL值 修改為業(yè)務(wù)服務(wù)器指定的ITL值;
[0010] 步驟3)業(yè)務(wù)服務(wù)器收到交換機(jī)鏡像過來的數(shù)據(jù)包后,判斷ITL值是否合法,如果 ITL值合法,則認(rèn)定此數(shù)據(jù)包為合法客戶端發(fā)送的數(shù)據(jù)包;
[0011] 否則繼續(xù)判斷數(shù)據(jù)包的合法性,并向非法的客戶端發(fā)送RST包或數(shù)據(jù)重定向包。 [001引進(jìn)一步地,優(yōu)選的是,步驟1中,業(yè)務(wù)服務(wù)器判斷客戶端是否跨NAT的用戶,具體包 括:
[0013] 業(yè)務(wù)服務(wù)器獲取客戶端登錄后發(fā)送的本機(jī)IP地址;通過客戶端連接業(yè)務(wù)服務(wù)器 的socket接口獲取到對端的IP地址,如果獲取到的對端IP和對端提交的本機(jī)IP不在一 個網(wǎng)段,則判定客戶端為跨NAT。
[0014] 進(jìn)一步地,優(yōu)選的是,步驟3中,判斷ITL值是否合法,具體包括:
[0015] 提取數(shù)據(jù)包中的IP頭的數(shù)據(jù);
[0016] 判斷IP頭的1TL值是否在指定的ITL合法范圍內(nèi),如果合法,則此數(shù)據(jù)包直接放 行,不進(jìn)行處理;如果不在指定的ITL合法范圍內(nèi),則繼續(xù)按照已有的處理流程判斷數(shù)據(jù)包 的合法性。
[0017] 進(jìn)一步地,優(yōu)選的是,步驟3中,向非法的客戶端發(fā)送RST包或數(shù)據(jù)重定向包,具體 包括:
[0018] 如果數(shù)據(jù)包非法,則判斷業(yè)務(wù)服務(wù)器與客戶端之間是否有指定通訊的http端口, 如果有,則發(fā)送重定向數(shù)據(jù)包,其它則發(fā)送RST數(shù)據(jù)包。
[0019]進(jìn)一步地,優(yōu)選的是,判斷數(shù)據(jù)包的合法性,是基于現(xiàn)有的預(yù)設(shè)既有策略。
[0020] 一種跨NAT環(huán)境下客戶端接入系統(tǒng),包括:
[0021] 業(yè)務(wù)服務(wù)器和交換機(jī),且業(yè)務(wù)服務(wù)器鏡像旁路連接于交換機(jī)上,
[002引所述業(yè)務(wù)服務(wù)器,用于在客戶端登錄后,判斷客戶端是否跨NAT的用戶,如果用戶 為跨NAT用戶,則判斷數(shù)據(jù)包的合法性,并向合法的客戶端發(fā)送修改生存時間ITL值的命 令,告知修改ITL值;
[0023]所述客戶端,在收到業(yè)務(wù)服務(wù)器修改1TL值的命令后,會將外發(fā)的數(shù)據(jù)包的ITL值 修改為服務(wù)器指定的ITL值;
[0024] 交換機(jī),用于向業(yè)務(wù)服務(wù)器鏡像客戶端發(fā)送的數(shù)據(jù)包;
[0025] 業(yè)務(wù)服務(wù)器,進(jìn)一步在收到交換機(jī)鏡像過來的數(shù)據(jù)包后,判斷1TL值是否合法,如 果ITL值合法,則認(rèn)定此數(shù)據(jù)包為合法客戶端發(fā)送的數(shù)據(jù)包;
[0026] 否則繼續(xù)判斷數(shù)據(jù)包的合法性,并向非法的客戶端發(fā)送RST包或數(shù)據(jù)重定向包。
[0027]進(jìn)一步地,優(yōu)選的是,業(yè)務(wù)服務(wù)器判斷客戶端是否跨NAT的用戶,具體包括:
[002引業(yè)務(wù)服務(wù)器獲取客戶端登錄后發(fā)送的本機(jī)IP地址;通過客戶端連接服務(wù)器的socket接口獲取到對端的IP地址,如果獲取到的對端IP和對端提交的本機(jī)IP不在一個網(wǎng) 段,則判定客戶端為跨NAT。
[0029]進(jìn)一步地,優(yōu)選的是,業(yè)務(wù)服務(wù)器,判斷1TL值是否合法,具體包括:
[0030] 提取數(shù)據(jù)包中的IP頭的數(shù)據(jù);
[003U判斷IP頭的1TL值是否在指定的ITL合法范圍內(nèi),如果合法,則此數(shù)據(jù)包直接放 行,不進(jìn)行處理;如果不在指定的ITL合法范圍內(nèi),則繼續(xù)按照已有的處理流程判斷數(shù)據(jù)包 的合法性。
[0032]進(jìn)一步地,優(yōu)選的是,業(yè)務(wù)服務(wù)器,向非法的客戶端發(fā)送RST包或數(shù)據(jù)重定向包, 具體包括:
[003引如果數(shù)據(jù)包非法,則判斷業(yè)務(wù)服務(wù)器與客戶端之間是否有指定通訊的http端口, 如果有,則發(fā)送重定向數(shù)據(jù)包,其它則發(fā)送RST數(shù)據(jù)包。
[0034]進(jìn)一步地,優(yōu)選的是,業(yè)務(wù)服務(wù)器,判斷數(shù)據(jù)包的合法性,是基于現(xiàn)有的預(yù)設(shè)既有 策略。
[0035]本發(fā)明采取了上述方案W后,在確保不改變客戶網(wǎng)絡(luò)環(huán)境的情況下,可W通過分 析數(shù)據(jù)包中的ITL值來判斷客戶端的數(shù)據(jù)包是否合法,來實(shí)現(xiàn)網(wǎng)絡(luò)準(zhǔn)入的效果。
[0036]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明 書、權(quán)利要求書、W及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
【附圖說明】
[0037] 下面結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)的描述,W使得本發(fā)明的上述優(yōu)點(diǎn)更加明確。其 中,
[003引圖1是本發(fā)明跨NAT環(huán)境下客戶端接入系統(tǒng)的示意圖;
[0039] 圖2是本發(fā)明跨NAT環(huán)境下客戶端接入方法的示意圖;
[0040] 圖3是本發(fā)明跨NAT環(huán)境下客戶端接入方法的示意圖。
【具體實(shí)施方式】
[0041] W下將結(jié)合附圖及實(shí)施例來詳細(xì)說明本發(fā)明的實(shí)施方式,借此對本發(fā)明如何應(yīng)用 技術(shù)手段來解決技術(shù)問題,并達(dá)成技術(shù)效果的實(shí)現(xiàn)過程能充分理解并據(jù)W實(shí)施。需要說明 的是,只要不構(gòu)成沖突,本發(fā)明中的各個實(shí)施例W及各實(shí)施例中的各個特征可W相互結(jié)合, 所形成的技術(shù)方案均在本發(fā)明的保護(hù)范圍之內(nèi)。
[0042] 另外,在附圖的流程圖示出的步驟可W在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系 統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可不同于此處 的順序執(zhí)行所示出或描述的步驟。
[0043] lTL;TimeToLive,該字段指定IP包被路由器丟棄之前允許通過的最大網(wǎng)段數(shù) 量,是IPv4包頭的一個8bit字段,位于IPv4包的第9個字節(jié)。
[0044] NAT;NetworkAcMressTranslation,網(wǎng)絡(luò)地址轉(zhuǎn)換。
[0045] 實(shí)施例一;
[0046] 一種跨NAT環(huán)境下客戶端接入方法,其特征在于,包括:
[0047] 步驟1)客戶端登錄后,業(yè)務(wù)服務(wù)器判斷客戶端是否跨NAT的用戶,如果用戶為跨 NAT用戶,則判斷數(shù)據(jù)包的合法性,并向合法的客戶端發(fā)送修改生存時間ITL值的命令,告 知修改ITL值;
[0048] 步驟2)客戶端收到業(yè)務(wù)服務(wù)器修改ITL值的命令后,會將外發(fā)的數(shù)據(jù)包的ITL值 修改為業(yè)務(wù)服務(wù)器指定的ITL值;
[0049] 步驟3)業(yè)務(wù)服務(wù)器收到交換機(jī)鏡像過來的數(shù)據(jù)包后,判斷ITL值是否合法,如果 ITL值合法,則認(rèn)定此數(shù)據(jù)包為合法客戶端發(fā)送的數(shù)據(jù)包;
[0化0] 否則繼續(xù)判斷數(shù)據(jù)包的合法性,并向非法的客戶端發(fā)送RST包或數(shù)據(jù)重定向包。
[0051] 本實(shí)施例采取了上述方案W后,在確保不改變客戶網(wǎng)絡(luò)環(huán)境的情況下,可W通過 分析數(shù)據(jù)包中的ITL值來判斷客戶端的數(shù)據(jù)包是