基于二维信息进行寻路的方法和接入网关的制作方法

文档序号:9754456阅读:514来源:国知局
基于二维信息进行寻路的方法和接入网关的制作方法
【技术领域】
[0001]本发明涉及通信领域,特别涉及一种基于二维信息进行寻路的方法和接入网关。
【背景技术】
[0002]地址转换技术(NAT)已经在家庭网关和企业网络中大量应用,通过地址/端口号翻译,实现IP地址复用和内外网隔离。由于全球IPv4地址资源分配完毕,IPv4地址短缺的问题越来越严重,运营商网络和业务逐步引入运营级地址转换网关(如CGN/AFTR等)。这些技术已经成为主流的IPv6过渡技术(如私网双栈NAT444、轻型双栈DS-Lite等)的关键组成部分。
[0003]在NAT444、DS_lite等IPv6过渡技术中,CGN/AFTR实现运营级地址转换和地址复用,为每个用户终端地址维护映射关系:用户终端地址〈——> (IPv4公有地址,端口范围)。其中,用户终端地址由网络设备分配,通常是IPv4私有地址。IPv4公有地址、端口范围由CGN/AFTR为用户终端地址指定。用户终端发出的报文到达CGN/AFTR后,经地址转换的源地址和端口号替换成映射关系中的IPv4公有地址和端口范围中选择的端口号。对于返回报文,则根据会话表项中的IPv4私有地址、端口号替换报文目的地址中的IPv4公有地址和端口号。在用户报文经过CGN/AFTR的前后,用户报文都采用传统按照目的地址寻路的方式为报文选择下一跳。CGN/AFTR等网关设备的引入增加了网络复杂性、部署成本和运维管理的难度。
[0004]除了 NAT444、DS-Lite等IPv6过渡技术之外,网络接入网关(如BRAS等)为用户终端设备分配IPv4公有地址、端口范围,并实现双栈用户接入,是另一种可行的IPv6过渡技术。在这种技术中,网络设备为每个用户终端(如主机或路由型家庭网关)分配和维护一个IPv4公有地址、端口范围。这里的IPv4公有地址、端口范围与CGN/AFTR维护的IPv4公有地址、端口范围相似。在获得IPv4公有地址、端口范围后,主机的后续通信直接把该IPv4公有地址作为源地址,端口范围的端口号作为源端口 ;路由型家庭网关则运行端口范围受限的地址转换,转换后的IP地址采用分配的IPv4公有地址,转换后的端口号来自于分配的端口范围。在为终端分配IPv4公有地址和端口号后,网络接入网关设备维护用户信息、IP地址、端口范围等信息。
[0005]网络接入网关为终端分配相同的IPv6地址和不同的端口范围时,采用相同IPv6地址和端口范围的终端复用相同的IPv6地址。对于主机复用该IPv6地址时,主机采用该IPv6地址作为通信地址,从分配的端口范围内选择端口号作为通信端口号。对于路由型网关复用该IPv6地址时,路由型网关实现端口范围首先的66转换,即转换后的端口号从分配的端口范围内选择。
[0006]在这种技术中,网络接入网关维护用户信息(如用户ID)、为用户终端分配的IP地址、端口范围等信息。由于IP地址由多个用户终端复用,当返回用户终端的报文到达网络接入网关后,网络接入网关采用传统按照目的地址等I维信息为报文寻路的方法,会发现多个返回路径,无法为报文选择正确的终端设备。因此,按照目的地址等I维信息的传统寻路方法无法适用动态分配IP地址和端口范围的网络环境。对于这个问题,RFC6346等文档提出了一种在用户终端与网络设备之间建立隧道、采用隧道头封装返回报文、按照隧道头的目的地址寻路到返回用户终端的技术。在RFC6346提出的技术中,用户终端与网络设备之间建立隧道,增加了终端与网络设备之间的通信复杂性和维护难度,降低了网络效率。传统策略路由可以指定IP地址和端口号的匹配条件,并把符合条件的报文转发到指定的下一跳。这种实现方式是在转发层面实现的,即通过解析用户报文的IP地址、端口号,把符合匹配条件的报文转发到固定的下一跳,也不能适应动态分配IP地址和端口号的环境。

【发明内容】

[0007]本发明实施例提供一种基于二维信息进行寻路的方法和接入网关。可有效解决复用同一地址的用户终端返回报文的寻路问题。
[0008]根据本发明的一个方面,提供一种基于二维信息进行寻路的方法,包括:
[0009]当接收到用户报文时,读取报文的目的地址和端口号;
[0010]利用报文的目的地址查询转发路由表,按照最长匹配策略获取报文的下一跳信息;
[0011]统计所述下一跳信息的数目N ;
[0012]若所述下一跳信息的数目N大于1,则进一步判断N个下一跳信息中的下一跳地址是否相同;
[0013]若N个下一跳信息中的下一跳地址相同,则在二维信息路由表中查找出与所述下一跳地址相关联的二维信息路由表项;
[0014]在与所述下一跳地址相关联的二维信息路由表项中,查询与报文的端口号相关联的目的路由表项,其中报文的端口号归属于目的路由表项指定的端口范围;
[0015]根据目的路由表项中指定的接入接口信息和MAC地址信息,对报文进行转发。
[0016]在一个实施例中,若在与所述下一跳地址相关联的二维信息路由表项中,未查询到与报文的端口号相关联的目的路由表项,则丢弃报文。
[0017]在一个实施例中,若N个下一跳信息中的下一跳地址互不相同,则按照等价路径转发策略对N个下一跳信息中的下一跳地址进行轮询以转发报文。
[0018]在一个实施例中,若所述下一跳信息的数目N等于1,则根据所述下一跳信息中指定的接入接口信息和MAC地址信息,对报文进行转发。
[0019]在一个实施例中,若所述下一跳信息的数目N等于0,则丢弃报文。
[0020]在一个实施例中,当用户终端上线时,判断用户终端是否通过认证;
[0021]若用户终端通过认证,则为用户终端分配IP地址和端口范围;
[0022]获取用户终端的接入接口信息和MAC地址信息;
[0023]在二维信息路由表中创建相应的二维信息路由表项,以便记录所述IP地址、端口范围、接入接口信息和MAC地址信息。
[0024]在一个实施例中,当用户终端的接入信息发生变化时,判断是否需要为用户终端重新分配IP地址和端口范围;
[0025]若需要为用户终端重新分配IP地址和端口范围,则在二维信息路由表中,利用用户终端的MAC地址信息查询相关联的二维信息路由表项,利用重新分配的IP地址和端口范围,对相关联的二维信息路由表项进行更新;
[0026]若不需要为用户终端重新分配IP地址和端口范围,则在二维信息路由表中,利用用户终端的IP地址和端口范围查询相关联的二维信息路由表项,利用更新后的接入信息对相关联的二维信息路由表项进行更新。
[0027]在一个实施例中,当与用户终端失去联系时,判断二维信息路由表是否为空;
[0028]若二维信息路由表不为空,则查找与失去联系的用户终端相关联的二维信息路由表项并进行删除。
[0029]根据本发明的另一方面,提供一种基于二维信息进行寻路的接入网关,包括接入单元、第一查询单元、统计单元、识别单元、第二查询单元、路由表项查询单元、报文转发单元和存储单元,其中:
[0030]接入单元,用于当接收到用户报文时,读取报文的目的地址和端口号;
[0031]第一查询单元,用于利用报文的目的地址查询转发路由表,按照最长匹配策略获取报文的下一跳信息;
[0032]统计单元,用于统计所述下一跳信息的数目N ;
[0033]识别单元,用于根据统计单元的统计结果,若所述下一跳信息的数目N大于1,则进一步判断N个下一跳信息中的下一跳地址是否相同;
[0034]第二查询单元,用于根据识别单元的判断结果,若N个下一跳信息中的下一跳地址相同,则在二维信息路由表中查找出与所述下一跳地址相关联的二维信息路由表项;
[0035]路由表项查询单元,用于在与所述下一跳地址相关联的二维信息路由表项中,查询与报文的端口号相关联的目的路由表项,其中报文的端口号归属于目的路由表项指定的端口范围;
[0036]报文转发单元,用于根据目的路由表项中指定的接入接口信息和MAC地址信息,对报文进行转发;
[0037]存储单元,用于存储二维信息路由表。
[0038]在一个实施例中,接入网关还包括报文丢弃单元,其中:
[0039]报文丢弃单元,用于根据路由表项查询单元的查询结果,若在与所述下一跳地址相关联的二维信息路由表项中,未查询到与报文的端口号相关联的目的路由表项,则丢弃报文。
[0040]在一个实施例中,报文转发单元还用于根据识别单元的判断结果,若N个下一跳信息中的下一跳地址互不相同,则按照等价路径转发策略对N个下一跳信息中的下一跳地址进行轮询以转发报文。
[0041]在一个实施例中,报文转发单元还用于根据统计单元的统计结果,若所述下一跳信息的数目N等于1,则根据所述下一跳信息中指定的接入接口信息和MAC地址信息,对报文进行转发。
[0042]在一个实施例中,报文丢弃单元还用于根据统计单元的统计结果,若所述下一跳信息的数目N等于0,则丢弃报文。
[0043]在一个实施例中,接入网关还包括二维信息维护单元,其中:
[0044]接入单元还用于当用户终端上线时,判断用户终端是否通过认证;若用户终端通过认证,则为用户终端分配IP地址和端口范围;获取用户终端的接入接口信息和MAC地址信息;
[0045]二维信息维护单元,
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1