一種接入網關重定向方法及接入網關的制作方法
【技術領域】
[0001]本發(fā)明涉及無線通信技術領域,尤其涉及一種接入網關重定向方法及接入網關。
【背景技術】
[0002]基于門戶(Portal)協議、超文本傳輸協議(HypertextTransfer Protocol,HTTP)重定向的web認證廣泛應用于互聯網接入的認證控制。web認證的典型信令流程如圖1所示,包括以下步驟:
[0003]步驟101:終端向接入網關發(fā)送HTTP連接請求報文;
[0004]步驟102:接入網關判斷(一般基于終端的IP地址或MAC地址)終端處于未認證狀態(tài),向未認證終端推送HTTP重定向報文;
[0005]—般情況下,HTTP重定向報文中包含構造的統一資源定位符(Un1n ResourceLocat1n, URL),下面的 URL 即為一個實例:http://221.176.1.140:8080/wlan/index.php?wlanuserip=183.241.167.185&wlanacn ame=1201.0010.100.0O&ssid=CMCC&NASID=8047202010000460
[0006]其中包含了 Portal服務器的IP地址(221.176.1.140)發(fā)起后續(xù)認證流程所需的用戶 IP 地址(wlanuserip=183.241.167.185)等信息。
[0007]步驟103:終端向Portal服務器發(fā)送HTTP連接請求報文;
[0008]終端利用上述URL向Portal服務器發(fā)送HTTP請求,由于接入網關在HTTP重定向時構造的URL中包含終端的IP地址,因此,步驟103可以實現將此唯一標識信息也即終端的IP地址傳遞給Portal服務器。
[0009]步驟104:Portal服務器向終端推送統一認證Portal頁面;
[0010]步驟105:終端接收用戶輸入的賬號和密碼并向Portal服務器發(fā)送登錄請求;
[0011]步驟106 =Portal服務器向Radius服務器查詢用戶計費信息;
[0012]步驟107:Radius服務器向Portal服務器返回查詢結果;
[0013]步驟108:Portal服務器確定查詢結果為成功時,向接入網關發(fā)送挑戰(zhàn)Challenge報文;
[0014]所述ChalIenge報文里包含了 Portal從URL里提取的用戶IP地址(wlanuserip)。
[0015]步驟109:接入網關將分配的Challenge發(fā)送給Portal服務器;
[0016]步驟110 =Portal服務器利用接收的Challenge對用戶名密碼進行加密,并將賬號密碼等信息發(fā)送至接入網關;
[0017]步驟111:接入網關將收到的認證數據轉發(fā)至遠程用戶撥號認證系統(RemoteAuthenticat1n Dial In User Service, Radius)服務器進行校驗;
[0018]步驟112:接入網關接收Radius服務器反饋的認證結果;
[0019]在此步驟112中,接入網關在認證上線流程中收到Radius服務器回復的認證通過報文后將此IP地址配置為通過認證狀態(tài)。
[0020]步驟113:接入網關將Radius服務器反饋的認證結果轉發(fā)至Portal服務器;
[0021]步驟114 =Portal服務器向終端推送登錄成功頁面。
[0022]步驟115 =Portal服務器向接入網關發(fā)送認證成功。
[0023]上述步驟102中接入網關的具體判斷流程如圖2所示,包括以下步驟:
[0024]步驟201:接入網關接收報文;
[0025]步驟202:接入網關判斷IP地址是否處于認證狀態(tài);若是,則執(zhí)行步驟204 ;若否,則執(zhí)行步驟203 ;
[0026]步驟203:判斷接收的報文是否是HTTP報文;若是,則執(zhí)行步驟205 ;若否,則執(zhí)行步驟206 ;
[0027]步驟204:轉發(fā)報文;
[0028]步驟205:判斷目的IP地址是否在白名單內,若是,則執(zhí)行步驟207 ;若否,則執(zhí)行步驟208 ;
[0029]步驟206:按照轉發(fā)規(guī)則轉發(fā)報文;
[0030]步驟207:轉發(fā)至目的IP地址指向的網絡設備;
[0031]步驟208 =HTTP重定向至Portal服務器。
[0032]需要說明的是,上述判斷終端IP地址是否處于認證狀態(tài)、判斷報文是否是HTTP報文和判斷目的IP是否在白名單之內三個判斷步驟視具體實現過程可能先后順序不同,但不影響接入網關的整體判斷邏輯。
[0033]在正常情況下,合法終端能順利地進行上述流程,成功地通過Web認證,然而,在合法終端保存Portal URL的情況下,利用保存的Portal URL進行上述Web認證流程時,極大可能存在認證流程失敗的問題。
【發(fā)明內容】
[0034]本發(fā)明實施例提供一種接入網關重定向方法及接入網關,以解決現有技術中利用保存的Portal URL進行Web認證流程時,極大可能存在認證流程失敗的問題。
[0035]一種接入網關重定向的方法,所述方法包括:
[0036]接入網關判斷終端發(fā)送的指向Portal服務器的HTTP連接請求報文中攜帶的用于訪問Portal服務器的URL是否為正確的URL ;
[0037]若是,則將該連接請求報文轉發(fā)至Portal服務器;
[0038]若否,則向終端發(fā)送HTTP重定向報文,該HTTP重定向報文強制終端重定向至Portal服務器。
[0039]一種接入網關,所述接入網關包括:
[0040]接收單元,用于接收終端發(fā)送的攜帶用于訪問Portal服務器的URL且指向Portal服務器的超文本傳輸協議HTTP連接請求報文;
[0041]判斷單元,用于判斷所述URL是否為正確的URL ;
[0042]執(zhí)行單元,用于在判斷單元的判斷結果為是時,將該連接請求報文轉發(fā)至Portal服務器;在判斷結果為否時,向終端發(fā)送HTTP重定向報文,該HTTP重定向報文強制終端重定向至Portal服務器。
[0043]本發(fā)明實施例的方案中,由于接入網關對終端發(fā)送的連接請求中攜帶的URL的正確性進行了判斷,在正確時將該連接請求轉發(fā)至Portal服務器,在不正確時,進行強制重定向至Portal服務器,使得終端可以獲取正確的URL,因此,在用戶利用保存的Portal URL進行Web認證時,仍可以成功地進行Web認證流程,提高了 Web認證流程的容錯能力,使得用戶利用保存的Portal URL進行上述Web認證流程時,也能獲得成功。
【附圖說明】
[0044]圖1為【背景技術】中Web認證信令流程示意圖;
[0045]圖2為【背景技術】中接入網關的判斷邏輯流程示意圖;
[0046]圖3為本發(fā)明實施例中的抓取的數據包截圖;
[0047]圖4為本發(fā)明實施例一中接入網關重定向方法的流程圖之一;
[0048]圖5為本發(fā)明實施例一中接入網關重定向方法的流程圖之二 ;
[0049]圖6為本發(fā)明實施例一中接入網關重定向方法的流程圖之三;
[0050]圖7為本發(fā)明實施例一中IP地址的狀態(tài)轉移示意圖;
[0051]圖8為本發(fā)明實施例二中接入網關的結構示意圖。
【具體實施方式】
[0052]為了清楚地說明本發(fā)明實施例的方案及其有益效果,下面首先結合Web認證原理對用戶使用保存的Portal URL進行Web認證流程出現認證失敗的原因進行詳細地分析:
[0053]終端上線需要在網絡推送的Portal認證頁面輸入用戶名、密碼,這個頁面的URL正常情況下是接入網關推送給終端的,其中URL里包含了終端的IP地址。如果用戶在甲地打開Portal頁面并將其收藏至收藏夾,到了乙地再次打開這個收藏的URL,此時也即用戶利用保存的Portal URL向接入網絡發(fā)起HTTP連接請求。
[0054]之后,接入網關進行重定向判斷時,因該URL中包含Portal服務器的IP地址必定在接入網關的白名單中,因此,接入網關在目的IP地址是Portal服務器的IP地址的情況下,會將此報文轉發(fā)至Portal服務器,也即在終端未認證的情況下,終端依然可以訪問Portal服務器。
[0055]之后,在圖1中步驟108中Portal向接入網關請求challenge時,在這個Challenge報文里包含了 Portal從URL里提取的終端的IP地址(也即URL中的wlanurserip),所以如果用戶保存了甲地的URL,到了乙地使用,由于通常IP地址是按所在地分配和/或動態(tài)分配的,那么該wlanurserip就是錯誤的,導致Portal在請求challenge階段發(fā)送給接入網關的終端的IP地址就是錯誤的,接入網關核查了這個IP地址后可能會發(fā)現該IP地址不是本地分配的,或者該IP地址已經認證通過了。如果接入網關發(fā)現IP地址錯誤,就是在分配challenge階段回復Portal服務器發(fā)生錯誤了,Portal就會給用戶推送一個“上線失敗”的結果,也即導致Web認證流程失敗。
[0056]下面用實際案例進行分析:
[0057]在終端保存的Portal URL 為:http://221.176.1.140:8080/wlan/index, php?wlanuserip=183.2