著录项信息
专利名称 | 基于多网关的控制表项配置方法、设备及网络系统 |
申请号 | CN201210172579.0 | 申请日期 | 2012-05-30 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-09-26 | 公开/公告号 | CN102694684A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/24 | IPC分类号 | H;0;4;L;1;2;/;2;4;;;H;0;4;L;2;9;/;1;2查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 广东省深圳市龙岗区坂田华为总部办公楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华为技术有限公司 | 当前权利人 | 华为技术有限公司 |
发明人 | 马勇 |
代理机构 | 北京同立钧成知识产权代理有限公司 | 代理人 | 刘芳 |
摘要
本发明提供一种基于多网关的控制表项配置方法、设备及网络系统,该方法包括SPOKE向DNS服务器发送第一查询请求,第一查询请求包括第一域名;并接收DNS服务器返回的与第一域名对应的至少一个firstsrv;每个firstsrv包括IP地址和IP地址对应的端口号;向DNS服务器发送第二查询请求,第二查询请求包括第二域名;并接收DNS服务器返回的与第二域名对应的至少一个secondsrv;每个secondsrv包括NBMA地址和NBMA地址对应的端口号;根据每个firstsrv、每个secondsrv以及预先设置的主网关与端口号的映射关系,分别将每个端口号对应的IP地址和NBMA地址加入到每个端口号对应的主网关的控制表项中,以对SPOKE的所有HUB的控制表项进行配置。
基于多网关的控制表项配置方法、设备及网络系统\n技术领域\n[0001] 本发明涉及通信技术,尤其涉及一种基于多网关的控制表项配置方法、设备及网络系统。\n背景技术\n[0002] 传统意义上的虚拟专用网络(英文:Virtual Private Network;简称:VPN),包括通用路由封装(英文:Generic Routing Encapsulation;简称:GRE)VPN和互联网协议安全(英文:Internet Protocol Security;简称:IPSec)VPN,这两种VPN技术均通过隧道(Tunnel)实现点到点连接,且Tunnel两端的设备都需要明确源地址和目的地址。而动态智能VPN(英文:Dynamic Smart VPN;简称:DSVPN)中Tunnel两端的设备不需要指定目的地址,只要通过下一跳解析协议(英文:Next Hop Resolution Protocol;简称:NHRP)协商,建立动态的点到多点隧道。\n[0003] 图1为现有技术中多网关场景下DSVPN业务组网的架构示意图,如图1所示,举例来说,该DSVPN业务组网包括:第一HUB 11、第二HUB 12、第一SPOKE 13、第二SPOKE 14、第一SPOKE子网15、第二SPOKE子网16和HUB子网17。其中,HUB可以称之为主网关,SPOKE可以称之为分支网关。具体的,第一SPOKE 13和第二SPOKE 14均向第一HUB 11和第二HUB 12发起NHRP注册,在注册成功后,管理员需要在第一SPOKE 13的多点通用路由封装隧道(mgre tunnel)接口下配置2个HUB的控制表项(英文:entry),其中,第一控制表项包括第一HUB 11的协议地址和非广播多路访问网络(英文:Non-Broadcast Multiple Access;\n简称:NBMA)地址,第二控制表项包括第二HUB 12的协议地址和NBMA地址。另外,还需要在第二SPOKE 14的mgre tunnel接口下配置2个HUB的控制表项,其中,第三控制表项包括第一HUB 11的协议地址和NBMA地址,第四控制表项包括第二HUB 12的协议地址和NBMA地址。然后SPOKE可以根据配置的控制表项选择1台或多台HUB进行报文的转发。\n[0004] 但是,现有网络中的SPOKE成百上千个,管理员需要在每个SPOKE的mgre tunnel接口下配置HUB的控制表项,另外,当HUB的协议地址或NBMA地址中的一个或多个发生变化时,管理员还需要在SPOKE下重新配置该HUB的控制表项,从而造成了管理员工作量巨大,且配置效率较低的问题。\n发明内容\n[0005] 本发明提供一种基于多网关的控制表项配置方法、设备及网络系统,用于解决现有技术中管理员需要在每个SPOKE的mgre tunnel接口下配置或者更新HUB的控制表项所带来的管理员工作量巨大,且配置效率较低的问题。\n[0006] 本发明的第一方面提供一种基于多网关的控制表项配置方法,包括:\n[0007] 分支网关向DNS服务器发送第一查询请求,所述第一查询请求包括第一域名;并接收所述DNS服务器根据所述第一查询请求返回的与所述第一域名对应的至少一个第一服务定位记录;每个所述第一服务定位记录包括IP地址和所述IP地址对应的端口号;\n[0008] 所述分支网关向所述DNS服务器发送第二查询请求,所述第二查询请求包括第二域名;并接收所述DNS服务器根据所述第二查询请求返回的与所述第二域名对应的至少一个第二服务定位记录;每个所述第二服务定位记录包括NBMA地址和所述NBMA地址对应的端口号;\n[0009] 所述分支网关根据每个所述第一服务定位记录、每个所述第二服务定位记录以及预先设置的主网关与端口号的映射关系,分别将每个端口号对应的IP地址和NBMA地址加入到所述每个端口号对应的主网关的控制表项中,以对所述分支网关的所有主网关的控制表项进行配置。\n[0010] 在第一种可能的实现方式中,所述方法还包括:\n[0011] 所述分支网关判断所述DNS服务器中是否配置了所述第一域名和所述第二域名;\n[0012] 所述分支网关在判断出所述DNS服务器中配置了所述第一域名和所述第二域名后,判断所述DNS服务器路由是否可达;\n[0013] 则所述分支网关向DNS服务器发送第一查询请求,包括:\n[0014] 所述分支网关在判断出所述DNS服务器路由可达后,向所述DNS服务器发送所述第一查询请求。\n[0015] 结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,每个所述第一服务定位记录还包括所述IP地址对应的优先级和权重;每个所述第二服务定位记录还包括所述NBMA地址对应的优先级和权重;则每个所述表项还包括优先级和权重。\n[0016] 结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:\n[0017] 所述分支网关分别将所述每个控制表项转换成所述分支网关的转换面识别的转发表项;每个所述转发表项包括IP地址、NBMA地址、权重和优先级;\n[0018] 所述分支网关根据每个所述转发表项,对接收到的报文进行转发。\n[0019] 结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述分支网关根据每个所述转发表项,对接收到的报文进行转发,包括:\n[0020] 所述分支网关在每个所述转发表项中的优先级不相同时,获取第一转发表项,并根据所述第一转发表项,对所述报文进行转发;其中,所述第一转发表项中的优先级高于其他所述转发表项中的优先级。\n[0021] 结合第一方面的第三种可能的实现方式,在第五种可能的实现方式中,所述分支网关根据每个所述转发表项,对接收到的报文进行转发,包括:\n[0022] 所述分支网关在每个所述转发表项中的优先级均相同时,根据每个所述转发表项中权重,获取第一权重比例,并根据所述第一权重比例,对所述报文进行转发;或者,[0023] 所述分支网关在每个所述转发表项中的优先级均相同时,分别判断每个所述转发表项中NBMA地址对应的路由是否存在;并根据存在NBMA地址对应的路由的述转发表项中的权重,获取第二权重比例,并根据所述第二权重比例,对所述报文进行转发。\n[0024] 本发明的第二方面提供一种基于多网关的控制表项配置方法,包括:\n[0025] DNS服务器接收分支网关发送的第一查询请求,所述第一查询请求包括第一域名;\n[0026] 所述DNS服务器根据所述第一查询请求,对所述第一域名进行解析,获取与所述第一域名对应的至少一个第一服务定位记录,并将所述第一域名对应的至少一个第一服务定位记录返回给所述分支网关;\n[0027] 所述DNS服务器接收所述分支网关发送的第二查询请求,所述第二查询请求包括第二域名;\n[0028] 所述DNS服务器根据所述第二查询请求,对所述第二域名进行解析,获取与所述第二域名对应的至少一个第二服务定位记录,并将所述第二域名对应的至少一个第二服务定位记录返回给所述SPOKE;\n[0029] 其中,每个所述第一服务定位记录包括IP地址和所述IP地址对应的端口号;每个所述第二服务定位记录包括NBMA地址和所述NBMA地址对应的端口号。\n[0030] 在第一种可能的实现方式中,每个所述第一服务定位记录还包括所述IP地址对应的优先级和权重;\n[0031] 每个所述第二服务定位记录还包括所述NBMA地址对应的优先级和权重。\n[0032] 本发明的第三方面提供一种网关,包括:\n[0033] 收发模块,用于向DNS服务器发送第一查询请求,所述第一查询请求包括第一域名;并接收所述DNS服务器根据所述第一查询请求返回的与所述第一域名对应的至少一个第一服务定位记录;每个所述第一服务定位记录包括IP地址和所述IP地址对应的端口号;\n[0034] 所述收发模块还用于向所述DNS服务器发送第二查询请求,所述第二查询请求包括第二域名;并接收所述DNS服务器根据所述第二查询请求返回的与所述第二域名对应的至少一个第二服务定位记录;每个所述第二服务定位记录包括NBMA地址和所述NBMA地址对应的端口号;\n[0035] 表项配置模块,用于根据每个所述第一服务定位记录、每个所述第二服务定位记录以及预先设置的主网关与端口号的映射关系,分别将每个端口号对应的IP地址和NBMA地址加入到所述每个端口号对应的主网关的控制表项中,以对所述分支网关的所有主网关的控制表项进行配置。\n[0036] 在第一种可能的实现方式中,所述网关还包括:\n[0037] 判断模块,用于判断所述DNS服务器中是否配置了所述第一域名和所述第二域名;\n[0038] 所述判断模块还用于在判断出所述DNS服务器中配置了所述第一域名和所述第二域名后,判断所述DNS服务器路由是否可达;\n[0039] 则所述收发模块具体用于在所述判断模块判断出所述DNS服务器路由可达后,向所述DNS服务器发送所述第一查询请求。\n[0040] 结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述网关还包括:\n[0041] 转发表项获取模块,用于分别将所述每个控制表项转换成所述分支网关的转换面识别的转发表项;每个所述转发表项包括IP地址、NBMA地址、权重和优先级;\n[0042] 报文转发模块,用于根据每个所述转发表项,对接收到的报文进行转发。\n[0043] 结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述报文转发模块具体用于在每个所述转发表项中的优先级不相同时,获取第一转发表项,并根据所述第一转发表项,对所述报文进行转发;其中,所述第一转发表项中的优先级高于其他所述转发表项中的优先级。\n[0044] 结合第三方面的第二种可能的实现方式,在第四种可能的实现方式中,所述报文转发模块具体用于在每个所述转发表项中的优先级均相同时,根据每个所述转发表项中权重,获取第一权重比例,并根据所述第一权重比例,对所述报文进行转发;或者,[0045] 所述报文转发模块具体用于在每个所述转发表项中的优先级均相同时,分别判断每个所述转发表项中NBMA地址对应的路由是否存在;并根据存在NBMA地址对应的路由的转发表项中的权重,获取第二权重比例,并根据所述第二权重比例,对所述报文进行转发。\n[0046] 本发明的第四方面提供一种DNS服务器,包括:\n[0047] 收发模块,用于接收分支网关发送的第一查询请求,所述第一查询请求包括第一域名;\n[0048] 第一解析模块,用于根据所述第一查询请求,对所述第一域名进行解析,获取与所述第一域名对应的至少一个第一服务定位记录;\n[0049] 所述收发模块还用于将所述第一域名对应的至少一个第一服务定位记录返回给所述分支网关;并接收所述分支网关发送的第二查询请求,所述第二查询请求包括第二域名;\n[0050] 第二解析模块,用于根据所述第二查询请求,对所述第二域名进行解析,获取与所述第二域名对应的至少一个第二服务定位记录;\n[0051] 所述收发模块还用于将所述第二域名对应的至少一个第二服务定位记录返回给所述分支网关;\n[0052] 其中,每个所述第一服务定位记录包括IP地址和所述IP地址对应的端口号;每个所述第二服务定位记录包括NBMA地址和所述NBMA地址对应的端口号。\n[0053] 本发明的第五个方面是提供一种网络系统,包括:主网关、分支网关和上述所述的DNS服务器;其中,所述分支网关为上述所述的网关。\n[0054] 本发明的技术效果是:通过向DNS服务器发送携带有第一域名的第一查询请求和携带有第二域名的第二查询请求,以从DNS服务器中分别获取与该第一域名对应的至少一个第一服务定位记录和与该第二域名对应的至少一个第二服务定位记录,并根据该第一域名对应的至少一个第一服务定位记录和与该第二域名对应的至少一个第二服务定位记录以及预先配置的主网关和端口号的映射关系,对该SPOKE的所有HUB的控制表项进行配置,由于根据向DNS服务器查询获取到IP地址、IP地址对应的端口号、NBMA地址、NBMA地址对应的端口号以及预先配置的主网关和端口号的映射关系,对SPOKE的所有HUB的控制表项进行配置,即不需要管理员对每个SPOKE的所有HUB表项进行配置,因此,有效地减轻了管理员的配置工作量,并有效地提高了配置的效率。\n附图说明\n[0055] 图1为现有技术中多网关场景下DSVPN业务组网的架构示意图;\n[0056] 图2为本发明基于多网关的控制表项配置方法的第一个实施例的流程图;\n[0057] 图3为本发明基于多网关的控制表项配置方法的第四个实施例的流程图;\n[0058] 图4为本发明基于多网关的控制表项配置方法的第五个实施例的流程图;\n[0059] 图5为本发明网关的第一个实施例的结构示意图;\n[0060] 图6为本发明网关的第二个实施例的结构示意图;\n[0061] 图7为本发明DNS服务器的一个实施例的结构示意图;\n[0062] 图8为本发明网络系统的一个实施例的结构示意图。\n具体实施方式\n[0063] 图2为本发明基于多网关的控制表项配置方法的第一个实施例的流程图,如图2所示,本实施例的方法包括:\n[0064] 步骤101、分支网关(SPOKE)向DNS服务器发送第一查询请求,该第一查询请求包括第一域名;接收该DNS服务器根据该第一查询请求返回的与该第一域名对应的至少一个第一服务定位记录(A first RR for specifying the location of services;简称:first srv);每个first srv包括IP地址和该IP地址对应的端口号。\n[0065] 在本实施例中,该第一域名是由管理员预先配置的,用于使得SPOKE基于该第一域名,向DNS服务器发起第一查询请求,以供DNS服务器根据该第一查询请求,对该第一域名进行解析,获取其对应的至少一个first srv。所述第一查询请求用于请求主网关(HUB)在该SPOKE的隧道接口的IP地址,所述第一域名具体可以为protocol.hub.com。\n[0066] 步骤102、SPOKE向该DNS服务器发送第二查询请求,该第二查询请求包括第二域名;接收该DNS服务器根据该第二查询请求返回的与该第二域名对应的至少一个第二服务定位记录(A second RR for specifying the location of services;简称:second srv);\n每个second srv包括NBMA地址和该NBMA地址对应的端口号。\n[0067] 在本实施例中,该第二域名是由管理员预先配置的,用于使得SPOKE基于该第二域名,向DNS服务器发起第二查询请求,以供DNS服务器根据该第二查询请求,对该第二域名进行解析,获取其对应的至少一个second srv。所述第二查询请求用于请求HUB的NBMA地址,所述第二域名具体可以为nbma.hub.com。\n[0068] 需要说明的是,步骤101和步骤102没有顺序限定,即还可以先执行步骤102,再执行步骤101。\n[0069] 步骤103、SPOKE根据每个first srv、每个second srv以及主网关与端口号的映射关系,分别将每个端口号对应的IP地址和NBMA地址加入到所述每个端口号对应的主网关(HUB)的表项中,以对SPOKE的所有HUB的控制表项进行配置。\n[0070] 在本实施例中,具体的,以一个网关为例,SPOKE根据主网关和端口号的映射关系,查询该first srv和该second srv,获取该网关对应的端口号,并获取该端口号对应的IP地址和NBMA地址,从而将该IP地址和NBMA地址加入到该主网关的控制表项中。\n[0071] 举例来说,以SPOKE存在两个主网关,分别为第一主网关和第二主网关为例,SPOKE查询预先设置的主网关和端口号的映射关系,获取到第一主网关对应的端口号为端口号1,第二主网关对应的端口号为端口号2。另外,当SPOKE接收到两个first srv和两个second srv,其中,一个first srv包括IP地址1和该IP地址1对应的端口号1;另一个first srv包括IP地址2和该IP地址2对应的端口号2;一个second srv包括NBMA地址\n1和该NBMA地址1对应的端口号2;另一个second srv包括NBMA地址2和该NBMA地址2对应的端口号1时,分别将端口号1对应的IP地址1和NBMA地址2加入到第一主网关的控制表项中,将端口号2对应的IP地址2和NBMA地址1加入到第二主网关的控制表项中。\n[0072] 需要说明的是,在本发明的各个实施例中,SPOKE为分支网关,HUB为主网关。\n[0073] 在本实施例中,通过向DNS服务器发送携带有第一域名的第一查询请求和携带有第二域名的第二查询请求,以从DNS服务器中分别获取与该第一域名对应的至少一个first srv和与该第二域名对应的至少一个second srv,并根据该第一域名对应的至少一个first srv、与该第二域名对应的至少一个second srv,以及预先配置的主网关和端口号的映射关系,对该SPOKE的所有HUB的控制表项进行配置,由于根据向DNS服务器查询获取到IP地址、IP地址对应的端口号、NBMA地址、NBMA地址对应的端口号以及预先配置的主网关和端口号的映射关系,对SPOKE的所有HUB的控制表项进行配置,即不需要管理员对每个SPOKE的所有HUB的控制表项进行配置,因此,有效地减轻了管理员的配置工作量,并有效地提高了配置的效率。\n[0074] 进一步的,在本发明的第二个实施例中,在上述图2所示实施例的基础上,步骤\n101之前该方法还可以包括:\n[0075] SPOKE判断该DNS服务器中是否配置了该第一域名和该第二域名;\n[0076] SPOKE在判断出该DNS服务器中配置了该第一域名和该第二域名后,判断该DNS服务器路由是否可达;\n[0077] 则步骤101具体为:\n[0078] SPOKE在判断出该DNS服务器路由可达后,向该DNS服务器发送该第一查询请求。\n[0079] 更进一步的,在本发明的第三个实施例中,在上述图2所示实施例的基础上,每个first srv还包括IP地址对应的优先级和权重;每个second srv还包括NBMA地址对应的优先级和权重;则每个表项还包括优先级和权重。\n[0080] 在本实施例中,具体的,以一个网关为例,SPOKE根据主网关和端口号的映射关系,查询该first srv和该second srv,获取该网关对应的端口号,并获取该端口号对应的IP地址和NBMA地址,从而将该IP地址和NBMA地址加入到该主网关的控制表项中。\n[0081] 另外,该方法进一步可以包括,查询每个first srv,获取该主网关的控制表项中与该IP地址对应的优先级或者权重,并将该优先级或者权重加入到该主网关的控制表项中;\n或者,\n[0082] 查询每个second srv,获取该主网关的控制表项中与该NBMA地址对应的优先级或者权重,并将该优先级或者权重加入到该主网关的控制表项中。\n[0083] 优选地,该方法还可以进一步包括:\n[0084] SPOKE分别将每个表项转换成SPOKE的转发平面可以识别的转发表项,并将转发表项下发给转发平面,每个转发表项包括IP地址、NBMA地址、权重和优先级;\n[0085] SPOKE根据每个转发表项,对接收到的报文进行转发。\n[0086] 在本实施例中,具体的,网关的控制表项是由SPOKE的控制平面配置,当对接收到的报文进行转发时,需要将控制面配置的每个主网关的控制表项分别转换成SPOKE的转发平面可以识别的转发表项,才可以在转发平面上,根据转发平面可以识别的该转发表项对该报文进行转发。\n[0087] 另外,需要说明的是,网关控制平面生成的表项中的IP地址、NBMA地址、权重和优先级与其转换成转发表项中的IP地址、NBMA地址、权重和优先级相同。\n[0088] 更为优选地,SPOKE根据每个转发表项,对接收到的报文进行转发的具体实现方式有如下几种:\n[0089] 第一种:SPOKE在每个转发表项中的优先级不相同时,获取第一转发表项,并根据第一转发表项,对该报文进行转发;其中,第一转发表项中的优先级高于其他转发表项中的优先级。\n[0090] 第二种:SPOKE在每个转发表项中的优先级均相同时,根据每个转发表项中的权重,获取第一权重比例,并根据该第一权重比例,对该报文进行转发。\n[0091] 第三种:SPOKE在每个转发表项中的优先级均相同时,分别判断每个转发表项中NBMA地址对应的路由是否存在;并根据存在NBMA地址对应的路由的所述转发表项中的权重,获取第二权重比例,并根据该第二权重比例,对所述报文进行转发。\n[0092] 图3为本发明基于多网关的控制表项配置方法的第四个实施例的流程图,如图3所示,本实施例的方法包括:\n[0093] 步骤201、SPOKE获取管理员配置的第一域名和第二域名。\n[0094] 举例来说,在SPOKE的mgre tunnel下配置第一域名protocol.hub.com和第二域名nbma.hub.com。\n[0095] 步骤202、SPOKE判断DNS服务器中是否配置了该第一域名和该第二域名;SPOKE若判断出DNS服务器中配置了该第一域名和该第二域名,则执行步骤203;SPOKE若判断出DNS服务器中没有配置该第一域名和/或该第二域名,则执行步骤216。\n[0096] 步骤203、SPOKE判断该DNS服务器路由是否可达;若可达,则执行步骤204;若不可达,则执行步骤216。\n[0097] 步骤204、SPOKE向DNS服务器发送第一查询请求,该第一查询请求包括第一域名。\n[0098] 在本实施例中,SPOKE可以默认通过信令控制协议(英文:Session Initiation Protocol;简称:SIP)、用户数据包协议(英文:User Datagram Protocol;简称:UDP)等协议类型,向DNS服务器发送第一查询请求。\n[0099] 在本实施例中,需要说明的是,当DNS服务器根据第一查询请求,对第一域名解析失败时,则返回解析异常提示消息给SPOKE。\n[0100] 步骤205、SPOKE接收该DNS服务器根据该第一查询请求返回的与该第一域名对应的至少一个first srv;每个first srv包括IP地址以及该IP地址对应的端口号、优先级和权重。\n[0101] 步骤206、SPOKE向该DNS服务器发送第二查询请求,该第二查询请求包括第二域名。\n[0102] 在本实施例中,SPOKE可以默认通过SIP、UDP等协议类型,向DNS服务器发送第二查询请求。\n[0103] 在本实施例中,需要说明的是,当DNS服务器根据第二查询请求,对第二域名解析失败时,则返回解析异常提示消息给SPOKE。\n[0104] 步骤207、SPOKE接收该DNS服务器根据该第二查询请求返回的与该第二域名对应的至少一个second srv;每个second srv包括NBMA地址以及该NBMA地址对应的端口号、优先级和权重。\n[0105] 步骤208、SPOKE根据每个first srv、每个second srv以及预先设置的主网关和端口号的映射关系,分别将每个端口号对应的IP地址和NBMA地址加入到每个端口号对应的主网关的控制表项中,以及分别将与每个主网关的控制表项中的IP地址或者NBMA地址对应的优先级和权重加入到所述IP地址或者NBMA地址所在的主网关的控制表项中。\n[0106] 步骤209、SPOKE分别将每个控制表项转换成SPOKE的转换面识别的转发表项;每个转发表项包括IP地址、NBMA地址、权重和优先级。\n[0107] 在本实施例中,具体的,主网关的控制表项是由SPOKE的控制面配置,当对接收到的报文进行转发时,需要将控制面配置的每个主网关的控制表项分别转换成SPOKE的转换面可以识别的转发表项,才可以在转换面上,根据转换面可以识别的该转发表项对该报文进行转发。\n[0108] 另外,需要说明的是,主网关的控制表项中的IP地址、NBMA地址、权重和优先级与其转换成转发表项中的IP地址、NBMA地址、权重和优先级相同。\n[0109] 步骤210、SPOKE接收报文。\n[0110] 步骤211、SPOKE判断每个转发表项中的优先级是否相同;若SPOKE判断出每个转发表项中优先级不相同,则执行步骤212;若SPOKE判断出每个转发表项中优先级均相同时,则执行步骤213。\n[0111] 步骤212、SPOKE获取第一转发表项,并根据该第一转发表项,对该报文进行转发;\n其中,该第一转发表项中的优先级高于其他转发表项中的优先级。结束。\n[0112] 步骤213、SPOKE判断每个转发表项中的权重是否相同;若SPOKE判断出每个转发表项中的权重不相同,则执行步骤214;若SPOKE判断出每个转发表项中的权重均相同时,则执行步骤215。\n[0113] 步骤214、SPOKE根据每个转发表项中权重,获取第一权重比例,并根据该第一权重比例,对该报文进行转发。结束。\n[0114] 步骤215、SPOKE分别判断每个转发表项中NBMA地址对应的路由是否存在,并根据存在NBMA地址对应的路由的转发表项中的权重,获取第二权重比例,并根据该第二权重比例,对该报文进行转发。结束。\n[0115] 步骤216、SPOKE接收DNS服务器返回的解析异常提示消息。\n[0116] 在本实施例中,SPOKE通过向DNS服务器发送携带有第一域名的第一查询请求和携带有第二域名的第二查询请求,以从DNS服务器中分别获取与该第一域名对应的至少一个first srv和与该第二域名对应的至少一个second srv,并根据该第一域名对应的至少一个first srv、与该第二域名对应的至少一个second srv以及预先设置的主网关和端口号的映射关系,分别将每个端口号对应的IP地址和NBMA地址加入到每个端口号对应的主网关的控制表项中,以及分别将与每个主网关的控制表项中的IP地址或者NBMA地址对应的优先级和权重加入到所述IP地址或者NBMA地址所在的主网关的控制表项中,以对SPOKE所有HUB的控制表项的配置,由于利用DNS服务器实现SPOKE所有HUB的控制表项的配置,即无需管理员进行配置,因此,有效地减轻了管理员的配置工作量,并有效地提高了配置的效率。另外,由于获取到每个HUB对应的优先级和权重,因此可以选择性能强(优先级或权重高)的HUB进行报文的转发,从而有效地提高了报文的转发效率。\n[0117] 图4为本发明基于多网关的控制表项配置方法的第五个实施例的流程图,如图4所示,本实施例的方法包括:\n[0118] 步骤301、DNS服务器接收SPOKE发送的第一查询请求,该第一查询请求包括第一域名。\n[0119] 步骤302、DNS服务器根据该第一查询请求,对该第一域名进行解析,获取与该第一域名对应的至少一个first srv,并将所述第一域名对应的至少一个first srv返回给该SPOKE。其中,每个first srv包括IP地址和IP地址对应的端口号;\n[0120] 在本实施例中,优选地,对该第一域名进行解析,获取与该第一域名对应的至少一个first srv的具体实现方式可以为:查询第一域名和first srv的映射关系,获取与该第一域名对应的至少一个first srv。\n[0121] 步骤303、DNS服务器接收该SPOKE发送的第二查询请求,该第二查询请求包括第二域名。\n[0122] 步骤304、DNS服务器根据该第二查询请求,对该第二域名进行解析,获取与该第二域名对应的至少一个second srv,并将该第二域名对应的至少一个second srv返回给该SPOKE。其中,每个second srv包括NBMA地址和NBMA地址对应的端口号。\n[0123] 在本实施例中,优选地,对该第二域名进行解析,获取与该第二域名对应的至少一个second srv的具体实现方式可以为:查询第二域名和second srv的映射关系,获取与所述第二域名对应的至少一个second srv。\n[0124] 在本实施例中,通过接收SPOKE发送的携带有第一域名的第一查询请求和携带有第二域名的第二查询请求,分别将获取到的与该第一域名对应的至少一个first srv和与该第二域名对应的至少一个second srv发送给SPOKE,以供SPOKE根据该第一域名对应的至少一个first srv、与该第二域名对应的至少一个second srv以及预先设置的主网关和端口号的映射关系,分别将每个端口号对应的IP地址和NBMA地址加入到每个端口号对应的主网关的控制表项中,由于利用DNS服务器实现SPOKE所有HUB的控制表项的配置,即无需管理员进行配置便可以实现SPOKE所有HUB的控制表项的配置,因此,有效地减轻了管理员的配置工作量,并有效地提高了配置的效率。\n[0125] 进一步的,在本发明的另一个实施例中,在上述图4所示实施例的基础上,每个first srv还包括该IP地址对应的优先级和权重;每个second srv还包括该NBMA地址对应的优先级和权重。\n[0126] 图5为本发明网关的第一个实施例的结构示意图,如图5所示,本实施例的网关可以具体为分支网关(SPOKE),则SPOKE包括:收发模块21和表项配置模块22;其中,收发模块21用于向DNS服务器发送第一查询请求,该第一查询请求包括第一域名;并接收该DNS服务器根据该第一查询请求返回的与该第一域名对应的至少一个first srv;每个first srv包括IP地址和所述IP地址对应的端口号;收发模块21还用于向该DNS服务器发送第二查询请求,该第二查询请求包括第二域名;并接收该DNS服务器根据该第二查询请求返回的与该第二域名对应的至少一个second srv;每个second srv包括NBMA地址和NBMA地址对应的端口号;表项配置模块22用于根据每个first srv、每个second srv以及预先设置的主网关与端口号的映射关系,分别将每个端口号对应的IP地址和NBMA地址加入到每个端口号对应的主网关的控制表项中,以对SPOKE的所有主网关(HUB)的控制表项进行配置。\n[0127] 本实施例的SPOKE可以执行图2所示方法实施例的技术方案,其实现原理相类似,此处不再赘述。\n[0128] 在本实施例中,通过向DNS服务器发送携带有第一域名的第一查询请求和携带有第二域名的第二查询请求,以从DNS服务器中分别获取与该第一域名对应的至少一个first srv和与该第二域名对应的至少一个second srv,并根据该第一域名对应的至少一个first srv、与该第二域名对应的至少一个second srv,以及预先配置的主网关和端口号的映射关系,对该SPOKE的所有HUB的控制表项进行配置,由于根据向DNS服务器查询获取到IP地址、IP地址对应的端口号、NBMA地址、NBMA地址对应的端口号以及预先配置的主网关和端口号的映射关系,对SPOKE的所有HUB的控制表项进行配置,即不需要管理员对每个SPOKE的所有HUB的控制表项进行配置,因此,有效地减轻了管理员的配置工作量,并有效地提高了配置的效率。\n[0129] 图6为本发明网关的第二个实施例的结构示意图,如图6所示,在上述图5所示实施例的基础上,SPOKE还可以进一步包括:判断模块23,用于判断该DNS服务器中是否配置了该第一域名和该第二域名;还用于在判断出该DNS服务器中配置了该第一域名和该第二域名后,判断该DNS服务器路由是否可达;则收发模块22具体用于在该判断模块23判断出该DNS服务器路由可达后,向该DNS服务器发送该第一查询请求。\n[0130] 进一步的,每个first srv还包括IP地址对应的优先级和权重;每个second srv还包括NBMA地址对应的优先级和权重;则每个表项还包括优先级和权重,且在每个表项中,IP地址对应的端口号、优先级和权重与NBMA地址对应的端口号、优先级和权重均一致。\n[0131] 该SPOKE还可以包括:转发表项获取模块24和报文转发模块25;其中,转发表项获取模块24用于分别将每个表项转换成该SPOKE的转换面识别的转发表项;每个转发表项包括IP地址、NBMA地址、权重和优先级;报文转发模块25用于根据每个转发表项,对接收到的报文进行转发。\n[0132] 更进一步的,报文转发模块25具体用于在每个转发表项中的优先级不相同时,获取第一转发表项,并根据第一转发表项,对该报文进行转发;其中,该第一转发表项中的优先级高于其他转发表项中的优先级。\n[0133] 或者,\n[0134] 报文转发模块25具体用于在每个转发表项中的优先级均相同时,根据每个转发表项中权重,获取第一权重比例,并根据该第一权重比例,对该报文进行转发。\n[0135] 或者,\n[0136] 报文转发模块25具体用于在每个转发表项中的优先级均相同时,分别判断每个转发表项中NBMA地址对应的路由是否存在;并根据存在NBMA地址对应的路由的转发表项中的权重,获取第二权重比例,并根据该第二权重比例,对该报文进行转发。\n[0137] 本实施例的SPOKE可以执行图3所示方法实施例的技术方案,其实现原理相类似,此处不再赘述。\n[0138] 图7为本发明DNS服务器的一个实施例的结构示意图,如图7所示,该DNS服务器包括:收发模块31、第一解析模块32和第二解析模块33,其中,收发模块31用于接收SPOKE发送的第一查询请求,该第一查询请求包括第一域名;第一解析模块32用于根据该第一查询请求,对该第一域名进行解析,获取与该第一域名对应的至少一个first srv;收发模块\n31还用于将该第一域名对应的至少一个first srv返回给该SPOKE;并接收该SPOKE发送的第二查询请求,该第二查询请求包括第二域名;第二解析模块33用于根据该第二查询请求,对该第二域名进行解析,获取与该第二域名对应的至少一个second srv;收发模块31还用于将该第二域名对应的至少一个second srv返回给该SPOKE;其中,每个first srv包括IP地址和该IP地址对应的端口号;每个second srv包括NBMA地址和该NBMA地址对应的端口号。\n[0139] 本实施例的DNS服务器可以执行图4所示方法实施例的技术方案,其实现原理相类似,此处不再赘述。\n[0140] 在本实施例中,通过接收SPOKE发送的携带有第一域名的第一查询请求和携带有第二域名的第二查询请求,分别将获取到的与该第一域名对应的至少一个first srv和与该第二域名对应的至少一个second srv发送给SPOKE,以供SPOKE根据该第一域名对应的至少一个first srv、与该第二域名对应的至少一个second srv以及预先设置的主网关和端口号的映射关系,分别将每个端口号对应的IP地址和NBMA地址加入到每个端口号对应的主网关的控制表项中,由于利用DNS服务器实现SPOKE所有HUB的控制表项的配置,即无需管理员进行配置便可以实现SPOKE所有HUB的控制表项的配置,因此,有效地减轻了管理员的配置工作量,并有效地提高了配置的效率。\n[0141] 图8为本发明网络系统的一个实施例的结构示意图,如图8所示,该DSVPN包括:\nHUB 41、SPOKE 42和DNS服务器43。其中,SPOKE 42可以为图5或图6所示的网关,并执行图2或图3所示方法实施例的技术方案,DNS服务器43可以为图7所示的DNS服务器,并执行图4所示方法实施例的技术方案,其实现原理相类似,此处不再赘述。\n[0142] 本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。\n[0143] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;\n尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
法律信息
- 2014-11-05
- 2012-11-21
实质审查的生效
IPC(主分类): H04L 12/24
专利申请号: 201210172579.0
申请日: 2012.05.30
- 2012-09-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-05-27
|
2009-01-08
| | |
2
| |
2011-11-16
|
2010-05-13
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |