基于二維信息進行尋路的方法和接入網(wǎng)關的制作方法
【技術領域】
[0001]本發(fā)明涉及通信領域,特別涉及一種基于二維信息進行尋路的方法和接入網(wǎng)關。
【背景技術】
[0002]地址轉換技術(NAT)已經(jīng)在家庭網(wǎng)關和企業(yè)網(wǎng)絡中大量應用,通過地址/端口號翻譯,實現(xiàn)IP地址復用和內外網(wǎng)隔離。由于全球IPv4地址資源分配完畢,IPv4地址短缺的問題越來越嚴重,運營商網(wǎng)絡和業(yè)務逐步引入運營級地址轉換網(wǎng)關(如CGN/AFTR等)。這些技術已經(jīng)成為主流的IPv6過渡技術(如私網(wǎng)雙棧NAT444、輕型雙棧DS-Lite等)的關鍵組成部分。
[0003]在NAT444、DS_lite等IPv6過渡技術中,CGN/AFTR實現(xiàn)運營級地址轉換和地址復用,為每個用戶終端地址維護映射關系:用戶終端地址〈——> (IPv4公有地址,端口范圍)。其中,用戶終端地址由網(wǎng)絡設備分配,通常是IPv4私有地址。IPv4公有地址、端口范圍由CGN/AFTR為用戶終端地址指定。用戶終端發(fā)出的報文到達CGN/AFTR后,經(jīng)地址轉換的源地址和端口號替換成映射關系中的IPv4公有地址和端口范圍中選擇的端口號。對于返回報文,則根據(jù)會話表項中的IPv4私有地址、端口號替換報文目的地址中的IPv4公有地址和端口號。在用戶報文經(jīng)過CGN/AFTR的前后,用戶報文都采用傳統(tǒng)按照目的地址尋路的方式為報文選擇下一跳。CGN/AFTR等網(wǎng)關設備的引入增加了網(wǎng)絡復雜性、部署成本和運維管理的難度。
[0004]除了 NAT444、DS-Lite等IPv6過渡技術之外,網(wǎng)絡接入網(wǎng)關(如BRAS等)為用戶終端設備分配IPv4公有地址、端口范圍,并實現(xiàn)雙棧用戶接入,是另一種可行的IPv6過渡技術。在這種技術中,網(wǎng)絡設備為每個用戶終端(如主機或路由型家庭網(wǎng)關)分配和維護一個IPv4公有地址、端口范圍。這里的IPv4公有地址、端口范圍與CGN/AFTR維護的IPv4公有地址、端口范圍相似。在獲得IPv4公有地址、端口范圍后,主機的后續(xù)通信直接把該IPv4公有地址作為源地址,端口范圍的端口號作為源端口 ;路由型家庭網(wǎng)關則運行端口范圍受限的地址轉換,轉換后的IP地址采用分配的IPv4公有地址,轉換后的端口號來自于分配的端口范圍。在為終端分配IPv4公有地址和端口號后,網(wǎng)絡接入網(wǎng)關設備維護用戶信息、IP地址、端口范圍等信息。
[0005]網(wǎng)絡接入網(wǎng)關為終端分配相同的IPv6地址和不同的端口范圍時,采用相同IPv6地址和端口范圍的終端復用相同的IPv6地址。對于主機復用該IPv6地址時,主機采用該IPv6地址作為通信地址,從分配的端口范圍內選擇端口號作為通信端口號。對于路由型網(wǎng)關復用該IPv6地址時,路由型網(wǎng)關實現(xiàn)端口范圍首先的66轉換,即轉換后的端口號從分配的端口范圍內選擇。
[0006]在這種技術中,網(wǎng)絡接入網(wǎng)關維護用戶信息(如用戶ID)、為用戶終端分配的IP地址、端口范圍等信息。由于IP地址由多個用戶終端復用,當返回用戶終端的報文到達網(wǎng)絡接入網(wǎng)關后,網(wǎng)絡接入網(wǎng)關采用傳統(tǒng)按照目的地址等I維信息為報文尋路的方法,會發(fā)現(xiàn)多個返回路徑,無法為報文選擇正確的終端設備。因此,按照目的地址等I維信息的傳統(tǒng)尋路方法無法適用動態(tài)分配IP地址和端口范圍的網(wǎng)絡環(huán)境。對于這個問題,RFC6346等文檔提出了一種在用戶終端與網(wǎng)絡設備之間建立隧道、采用隧道頭封裝返回報文、按照隧道頭的目的地址尋路到返回用戶終端的技術。在RFC6346提出的技術中,用戶終端與網(wǎng)絡設備之間建立隧道,增加了終端與網(wǎng)絡設備之間的通信復雜性和維護難度,降低了網(wǎng)絡效率。傳統(tǒng)策略路由可以指定IP地址和端口號的匹配條件,并把符合條件的報文轉發(fā)到指定的下一跳。這種實現(xiàn)方式是在轉發(fā)層面實現(xiàn)的,即通過解析用戶報文的IP地址、端口號,把符合匹配條件的報文轉發(fā)到固定的下一跳,也不能適應動態(tài)分配IP地址和端口號的環(huán)境。
【發(fā)明內容】
[0007]本發(fā)明實施例提供一種基于二維信息進行尋路的方法和接入網(wǎng)關??捎行Ы鉀Q復用同一地址的用戶終端返回報文的尋路問題。
[0008]根據(jù)本發(fā)明的一個方面,提供一種基于二維信息進行尋路的方法,包括:
[0009]當接收到用戶報文時,讀取報文的目的地址和端口號;
[0010]利用報文的目的地址查詢轉發(fā)路由表,按照最長匹配策略獲取報文的下一跳信息;
[0011]統(tǒng)計所述下一跳信息的數(shù)目N ;
[0012]若所述下一跳信息的數(shù)目N大于1,則進一步判斷N個下一跳信息中的下一跳地址是否相同;
[0013]若N個下一跳信息中的下一跳地址相同,則在二維信息路由表中查找出與所述下一跳地址相關聯(lián)的二維信息路由表項;
[0014]在與所述下一跳地址相關聯(lián)的二維信息路由表項中,查詢與報文的端口號相關聯(lián)的目的路由表項,其中報文的端口號歸屬于目的路由表項指定的端口范圍;
[0015]根據(jù)目的路由表項中指定的接入接口信息和MAC地址信息,對報文進行轉發(fā)。
[0016]在一個實施例中,若在與所述下一跳地址相關聯(lián)的二維信息路由表項中,未查詢到與報文的端口號相關聯(lián)的目的路由表項,則丟棄報文。
[0017]在一個實施例中,若N個下一跳信息中的下一跳地址互不相同,則按照等價路徑轉發(fā)策略對N個下一跳信息中的下一跳地址進行輪詢以轉發(fā)報文。
[0018]在一個實施例中,若所述下一跳信息的數(shù)目N等于1,則根據(jù)所述下一跳信息中指定的接入接口信息和MAC地址信息,對報文進行轉發(fā)。
[0019]在一個實施例中,若所述下一跳信息的數(shù)目N等于0,則丟棄報文。
[0020]在一個實施例中,當用戶終端上線時,判斷用戶終端是否通過認證;
[0021]若用戶終端通過認證,則為用戶終端分配IP地址和端口范圍;
[0022]獲取用戶終端的接入接口信息和MAC地址信息;
[0023]在二維信息路由表中創(chuàng)建相應的二維信息路由表項,以便記錄所述IP地址、端口范圍、接入接口信息和MAC地址信息。
[0024]在一個實施例中,當用戶終端的接入信息發(fā)生變化時,判斷是否需要為用戶終端重新分配IP地址和端口范圍;
[0025]若需要為用戶終端重新分配IP地址和端口范圍,則在二維信息路由表中,利用用戶終端的MAC地址信息查詢相關聯(lián)的二維信息路由表項,利用重新分配的IP地址和端口范圍,對相關聯(lián)的二維信息路由表項進行更新;
[0026]若不需要為用戶終端重新分配IP地址和端口范圍,則在二維信息路由表中,利用用戶終端的IP地址和端口范圍查詢相關聯(lián)的二維信息路由表項,利用更新后的接入信息對相關聯(lián)的二維信息路由表項進行更新。
[0027]在一個實施例中,當與用戶終端失去聯(lián)系時,判斷二維信息路由表是否為空;
[0028]若二維信息路由表不為空,則查找與失去聯(lián)系的用戶終端相關聯(lián)的二維信息路由表項并進行刪除。
[0029]根據(jù)本發(fā)明的另一方面,提供一種基于二維信息進行尋路的接入網(wǎng)關,包括接入單元、第一查詢單元、統(tǒng)計單元、識別單元、第二查詢單元、路由表項查詢單元、報文轉發(fā)單元和存儲單元,其中:
[0030]接入單元,用于當接收到用戶報文時,讀取報文的目的地址和端口號;
[0031]第一查詢單元,用于利用報文的目的地址查詢轉發(fā)路由表,按照最長匹配策略獲取報文的下一跳信息;
[0032]統(tǒng)計單元,用于統(tǒng)計所述下一跳信息的數(shù)目N ;
[0033]識別單元,用于根據(jù)統(tǒng)計單元的統(tǒng)計結果,若所述下一跳信息的數(shù)目N大于1,則進一步判斷N個下一跳信息中的下一跳地址是否相同;
[0034]第二查詢單元,用于根據(jù)識別單元的判斷結果,若N個下一跳信息中的下一跳地址相同,則在二維信息路由表中查找出與所述下一跳地址相關聯(lián)的二維信息路由表項;
[0035]路由表項查詢單元,用于在與所述下一跳地址相關聯(lián)的二維信息路由表項中,查詢與報文的端口號相關聯(lián)的目的路由表項,其中報文的端口號歸屬于目的路由表項指定的端口范圍;
[0036]報文轉發(fā)單元,用于根據(jù)目的路由表項中指定的接入接口信息和MAC地址信息,對報文進行轉發(fā);
[0037]存儲單元,用于存儲二維信息路由表。
[0038]在一個實施例中,接入網(wǎng)關還包括報文丟棄單元,其中:
[0039]報文丟棄單元,用于根據(jù)路由表項查詢單元的查詢結果,若在與所述下一跳地址相關聯(lián)的二維信息路由表項中,未查詢到與報文的端口號相關聯(lián)的目的路由表項,則丟棄報文。
[0040]在一個實施例中,報文轉發(fā)單元還用于根據(jù)識別單元的判斷結果,若N個下一跳信息中的下一跳地址互不相同,則按照等價路徑轉發(fā)策略對N個下一跳信息中的下一跳地址進行輪詢以轉發(fā)報文。
[0041]在一個實施例中,報文轉發(fā)單元還用于根據(jù)統(tǒng)計單元的統(tǒng)計結果,若所述下一跳信息的數(shù)目N等于1,則根據(jù)所述下一跳信息中指定的接入接口信息和MAC地址信息,對報文進行轉發(fā)。
[0042]在一個實施例中,報文丟棄單元還用于根據(jù)統(tǒng)計單元的統(tǒng)計結果,若所述下一跳信息的數(shù)目N等于0,則丟棄報文。
[0043]在一個實施例中,接入網(wǎng)關還包括二維信息維護單元,其中:
[0044]接入單元還用于當用戶終端上線時,判斷用戶終端是否通過認證;若用戶終端通過認證,則為用戶終端分配IP地址和端口范圍;獲取用戶終端的接入接口信息和MAC地址信息;
[0045]二維信息維護單元,