CN103139077B - 扩展IPv6虚拟路由器的方法、系统及装置 - Google Patents
扩展IPv6虚拟路由器的方法、系统及装置 Download PDFInfo
- Publication number
- CN103139077B CN103139077B CN201110385471.5A CN201110385471A CN103139077B CN 103139077 B CN103139077 B CN 103139077B CN 201110385471 A CN201110385471 A CN 201110385471A CN 103139077 B CN103139077 B CN 103139077B
- Authority
- CN
- China
- Prior art keywords
- virtual router
- network entity
- vrrp
- notification packet
- entity device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于VRRP协议扩展IPv6虚拟路由器的方法,包括:第一网络实体设备上的第一虚拟路由器构建VRRP通告报文并将IPv6地址转换为伪IPv4地址加入至通告报文中;第一网络实体设备将通告报文发送至交换机,交换机以组播形式向第二网络实体设备中的第二虚拟路由器发送通告报文;第二网络实体设备根据VRRP通告报文的虚拟路由号VRID和伪IPv4地址判断查找对应的第二虚拟路由器;第二虚拟路由器接收VRRP通告报文并进行相应处理。本发明还公开了一种基于VRRP协议扩展IPv6虚拟路由器的系统及装置。本发明实现对VRRP协议的扩展,使得VRRP协议也可以支持IPv6虚拟路由器。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种基于VRRP协议扩展IPv6虚拟路由器的方法、系统及装置。
背景技术
在基于TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/因特网互联协议)协议的网络中,为了保证不直接物理连接的设备之间的通信,需要指定路由。传统常用的指定路由的方法包括通过路由协议(例如:内部路由协议RIP和OSPF)动态学习和静态配置两种方式。虽然静态路由的方法简化了网络管理的复杂度和减轻了终端设备的通信开销,但是仍存在下述缺点:如果作为默认网关的路由器损坏,所有使用该网关为下一跳主机的通信必然要中断。即便配置了多个默认网关,如果不重新启动终端设备,也不能切换到新的网关。
为了克服静态指定网关的上述缺陷,通常采用VRRP协议(VirtualRouterRedundancyProtocol,虚拟路由冗余)进行配置。VRRP协议是一种LAN接入设备备份协议。一个局域网络内的所有主机都设置缺省网关,主机发出的目的地址不在本网段的报文将被通过缺省网关发往三层交换机,从而实现了主机和外部网络的通信。
但是,随着IPv6(InternetProtocolVersion6,第六版互联网协议)的不断发展,IPv6正逐步替代现行版本IP协议——IPv4(InternetProtocolVersion4,第四版互联网协议)。而VRRP协议对虚拟路由器只支持IPv4格式,而不支持IPv6格式,无法满足项目发展的需求。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。
为此,本发明的第一个目的在于提供一种基于虚拟路由器冗余VRRP协议扩展IPv6虚拟路由器的方法,该方法可以实现对VRRP协议的扩展,使得VRRP协议也可以支持IPv6虚拟路由器。本发明的第二个目的在于提供一种基于虚拟路由器冗余VRRP协议扩展IPv6虚拟路由器的系统。本发明的第三个目的在于提供一种第一网络实体设备。
为实现上述目的,本发明第一方面的实施例提供了一种基于虚拟路由器冗余VRRP协议扩展IPv6虚拟路由器的方法,包括如下步骤:第一网络实体设备上的第一虚拟路由器构建VRRP通告报文,并将IPv6地址转换为伪IPv4地址加入至所述VRRP通告报文中;所述第一网络实体设备将所述VRRP通告报文发送至交换机,所述交换机以组播形式向与所述交换机相连的第二网络实体设备中的虚拟路由器发送所述VRRP通告报文;所述第二网络实体设备根据所述VRRP通告报文的虚拟路由号VRID和所述伪IPv4地址判断查找对应的第二虚拟路由器;第二虚拟路由器接收所述VRRP报文,并进行相应处理。
根据本发明实施例的基于虚拟路由器冗余VRRP协议扩展IPv6虚拟路由器的方法可以实现对VRRP协议的扩展,使得VRRP协议也可以支持IPv6虚拟路由器,从而可以同时混用IPv4和IPv6地址到同一个虚拟路由器,增加了数据中心部署的灵活性。从而可以实现快速开发项目需求。
本发明第二方面的实施例提供了一种基于VRRP协议扩展IPv6虚拟路由器的系统,包括:第一网络实体设备、第二网络实体设备和分别与所述第一网络实体设备和第二网络实体设备分别相连的交换机,其中,所述第一网络实体设备上具有第一虚拟路由器,所述第二网络实体设备上具有第二虚拟路由器,所述第一虚拟路由器和所述第二虚拟路由器互为主备虚拟路由器,所述第一虚拟路由器,用于构建VRRP通告报文,并将IPv6地址转换为伪IPv4地址加入至所述VRRP通告报文中;所述第一网络实体设备,用于将所述第一虚拟路由器构建的VRRP通告报文发送至所述交换机;所述交换机,用于以组播形式向第二网络实体设备中的虚拟路由器发送所述VRRP通告报文;所述第二网络实体设备,用于接收所述VRRP通告报文,并根据所述VRRP通告报文的虚拟路由号VRID和所述伪IPv4地址判断查找对应的第二虚拟路由器,以及将所述VRRP通告报文发送给所述第二虚拟路由器;所述第二虚拟路由器,用于接收所述VRRP通告报文,并进行相应处理。
根据本发明实施例的基于虚拟路由器冗余VRRP协议扩展IPv6虚拟路由器的系统可以实现对VRRP协议的扩展,使得VRRP协议也可以支持IPv6虚拟路由器,从而可以同时混用IPv4和IPv6地址到同一个虚拟路由器,增加了数据中心部署的灵活性。从而可以实现快速开发项目需求。
本发明第三方面的实施例提供了一种第一网络实体设备,其中,所述网络实体设备中具有第一虚拟路由器,所述第一虚拟路由器包括:构建模块,用于构建第一VRRP通告报文;转换模块,用于将IPv6地址转换为伪IPv4地址;添加模块,用于将所述伪IPv4地址添加至所述第一VRRP通告报文中;以及发送模块,用于将添加所述伪IPv4地址的所述第一VRRP通告报文发送至与所述网络实体设备相连的交换机。
根据本发明实施例的第一网络实体设备可以实现对VRRP协议的扩展,使得VRRP协议也可以支持IPv6虚拟路由器,从而可以同时混用IPv4和IPv6地址到同一个虚拟路由器,增加了数据中心部署的灵活性。从而可以实现快速开发项目需求。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的基于虚拟路由器冗余VRRP协议扩展IPv6虚拟路由器的方法的流程图;
图2为根根据本发明实施例的具有3条虚拟路由的VRRP负载分担示意图;
图3为根据本发明实施例的基于虚拟路由器冗余VRRP协议扩展IPv6虚拟路由器的系统的流程图;
图4为根据本发明实施例的第一虚拟路由器的示意图;以及
图5为根据本发明实施例的第三虚拟路由器的示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
下面参考图1描述根据本发明实施例基于虚拟路由冗余VRRP协议扩展IPv6虚拟路由器的方法。
如图1所示,本发明实施例提供的基于虚拟路由冗余VRRP协议扩展IPv6虚拟路由器的方法,包括如下步骤:
步骤S101,第一网络实体设备上的第一虚拟路由器构建VRRP通告报文,并将IPv6地址转换为伪IPv4地址加入至VRRP通告报文中。
网络实体设备可以为路由器和服务器,在一个网络实体设备上可以运行由多个虚拟路由器。具体地,网络实体设备将多个虚拟路由器划分为一个备份组。备份组中的一部分为主虚拟路由器(Master路由器),另一部分为备虚拟路由器(Backup路由器)。
在一台路由器的一个接口上可以创建多个备份组,该路由器在每个备份组中的角色可以不同。例如:路由器在一个备份组中可以为主虚拟路由器,在另一个备份组中可以为备虚拟路由器。
如图2所示,多台主机包括主机A(HostA)、主机B(HostB)和主机C(HostC)。多台路由器包括路由器A、路由器B和路由器C。其中,每台路由器均加入了不同的备份组,在不同的备份组中具有不同的优先级。
为了实现业务流量在路由器A、路由器B和路由器C之间进行负载分担,需要将局域网内的主机的缺省网关分别设置为备份组1、备份组2和备份组3。在配置优先级时,需要保证三个备份组中各个路由器的VRRP优先级形成交叉对应。
备份组1:对应虚拟路由器1(Virtualrouter1)。其中路由器A作为主虚拟路由器、路由器B和路由器C作为备虚拟路由器。
备份组2:对应虚拟路由器2(Virtualrouter2)。其中路由器B作为主虚拟路由器、路由器A和路由器C作为备虚拟路由器。
备份组3:对应虚拟路由器3(Virtualrouter3)。其中路由器C作为主虚拟路由器、路由器A和路由器B作为备虚拟路由器。
例如:在路由器A上配置由1个主虚拟路由,为百度搜索页面,2个备用虚拟路由为百度贴吧和百度知道。相应地,在路由器B上配置由1个主虚拟路由,为百度贴吧,2个备用虚拟路由为百度搜索页面和百度知道。在路由器C上配置由1个主虚拟路由,为百度知道,2个备用虚拟路由为百度搜索页面和百度贴吧。不同的虚拟路由对应多个虚拟路由器实体。
主虚拟路由器需要定时发送VRRP通告报文,以通知备份组内的其他路由器自己工作正常。备虚拟路由器则启动定时器等待VRRP通告报文。
具体地,第一虚拟路由器构建VRRP通告报文,并将IPv6地址转换为伪IPv4地址加入到VRRP通告报文中。表1示出了VRRP通告报文的格式。
表1
其中,Version:协议版本号;
Type:VRRP报文的类型,该字段取值为1;
VirtualRtrID(VRID):虚拟路由器号(即备份组号),取值范围为1-255;
Priority:路由器在备份组中的优先级,取值范围为0-255,数值越大则表明优先级越高;
CountIPAddrs:备份组虚拟IP地址的个数,其中,一个备份组可以对应多个虚拟IP地址;
AuthType:认证类型,其中,0表示无认证;1表示简单字符认证;2表示MD5认证;
AdverInt:发送通告报文的时间间隔;
Checksum:16位校验和,用于检测VRRP通过报文中的数据破坏情况;
IPAddress:本分组虚拟IP地址表项,其中,所包含的地址数定义在CountIPAddrs中;
AuthenticationData:验证字,目前只用于简单字符认证,对于其他认证方式,该值为0。
在本发明的一个实施例中,IPv6地址具有如下约束条件:作为IPv6虚拟路由器的虚拟IPv6虚拟地址需要具有一个固定的前缀prefix::A.B.C.D/32。在这个前缀之外的IPv6地址不能作为数据中心的IPv6虚拟路由器的IPv6地址。
如果在同一个虚拟路由器中同时使用IPv4和IPv6虚拟地址,虚拟路由器实体(VRRPinstance)中的IP需要同时兼容IPv4地址和IPv6地址,因此,需要将此IP地址定义为如下形式:
IP地址需要具有以下约束条件:IPv4虚拟地址与IPv6虚拟地址的低32位必须保证唯一性。换言之,一个网络设备中的所有虚拟路由器的所有虚拟地址的低32位的值不能相同。
基于上述IPv6地址的约束条件,第一虚拟路由器构建的VRRP通告报文中包括IPv4地址和由IPv6地址的低32位填充的伪IPv4地址。具体地,第一虚拟路由器采用如下方式对VRRP通告报文中的ip_address进行填充。
ip_address=ipv6&0xFFFFFFFF(1)
上述公式是将IPv6地址的低32位(bit)填充到VRRP通告报文的虚拟IP地址中,即取IPv6地址的低32位作为伪IPv4地址。其中,IPv6地址的低32位与本网络内的IPv4地址不同。
步骤S102,第一网络实体设备将VRRP通告报文发送至交换机,交换机以组播形式向与交换机相连的第二网络实体设备发送VRRP通告报文。
在本发明的一个实施例中,交换机向第二网络实体设备发送VRRP通告报文时,统一使用IPv4组播地址:224.0.0.18。
在本发明的另一个实施例中,交换机向第二网络实体设备发送VRRP通告报文时,也可以统一使用IPv6组播地址:FF02:0:0:0:0:0:0:12。
步骤S103,第二网络实体设备根据VRRP通告报文的虚拟路由号VRID和伪IPv4地址查找对应的第二虚拟路由器。
第二网络实体设备通过对接收到的VRRP通告报文中的虚拟路由号VRID和伪IPv4地址与其上设置的虚拟路由器进行匹配,从而查找到与VRRP通告报文中的虚拟路由号VRID和伪IPv4地址对应的第二虚拟路由器。其中,第一虚拟路由器和第二虚拟路由器互为主备虚拟路由器。
例如:在第一网络实体设备上配置3个主虚拟路由,1为百度搜索页面,2为百度mps,3为百度视频,2个备用虚拟路由,百度贴吧和百度知道。相反地,第二网络实体设备上配置2个主虚拟路由,百度贴吧和百度知道,3个备用虚拟路由,1为百度搜索页面,2为百度mps,3为百度视频。
步骤S104,第二虚拟路由器接收VRRP报文,并进行相应处理。
具体地,第二网络实体设备中的第二虚拟路由器接收VRRP通告报文后,匹配所有的ip_address,并根据虚拟路由号VRID找到对应的虚拟路由器实体,然后根据该网络实体设备进行相关VRRP相关操作,例如进行主备选举等过程。
在本发明的一个实施例中,对同一个虚拟路由器实体中的所有的ip_address进行排序,从而可以更加快速的查找接收VRRP报文对应虚拟路由器实体。其中,上述排序步骤可以在0(1)时间复杂度内实现,从而使得查找过程更为简单,省时。
虚拟路由器可以根据自身的优先级确定自己在备份组中的角色。优先级高的路由器作为主虚拟路由器,优先级低的作为备虚拟路由器。其中,主虚拟路由器需要定时发送VRRP通告报文,以通知备份组内的其他路由器自己工作正常。备虚拟路由器则启动定时器等待VRRP通告报文。
VRRP协议中的主虚拟路由器和备虚拟路由器具有以下两种主备方式:
(1)非抢占方式:在选定好主虚拟路由器后,如果主虚拟路由器没有出现故障,则备份组中的路由器保持各自原来的主状态或备状态。换言之,及时被虚拟路由器随后被配置了比主虚拟路由器更高的优先级,也不能成为主虚拟路由器。如果主虚拟路由器发生故障,则备份组内的多个备虚拟路由器根据优先级选举优先级最高的作为新的主虚拟路由器,由新选举出的主虚拟路由器继续向网络内的主机提供路由服务。
在本发明的一个实施例中,第一虚拟路由器为主虚拟路由器,第二虚拟路由器为备虚拟路由器。
(2)抢占方式:当备用虚拟路由器在接收到VRRP通告报文后,将自身的优先级与通告报文中的优先级进行比较。如果备用虚拟路由器的优先级高于通告报文中的优先级,则该备用虚拟路由器自动成为主虚拟路由器,否则保持备用状态。
在本发明的一个实施例中,第二虚拟路由器在接收到VRRP通告报文之后,判断通告报文中的优先级(Priority的值)是否高于自身的优先级。如果判断高于自身的优先级,则第二虚拟路由器判断自身为备用虚拟路由器,第一虚拟路由器为主虚拟路由器,否则第二虚拟路由器判断自身为主虚拟路由器,第一虚拟路由器为备用虚拟路由器。
如果第二虚拟路由器为备虚拟路由器,则无需反馈任何报文,保持备用状态。如果备虚拟路由器在等待了预定时间后仍没有收到第一虚拟路由器的VRRP通告报文,则认为自己是主虚拟路由器,对外发送VRRP通告报文,重新进行主虚拟路由器的选举,以承担报文转发的功能。其中,预定时间可以为3个时间间隔,主虚拟路由器每隔一个时间间隔发送VRRP通告报文。
在本发明的一个实施例中,在第二虚拟路由器判断自身为主虚拟路由器之后,需要响应对应的所有虚拟IP地址的IPv4的ARP(AddressResolutionProtocol,地址解析协议)请求报文和/或IPv6的NS(NeighborSolicitation,邻居请求)报文,并向交换机主动发送IPv4的地址解析协议ARP通告报文和/或IPv6的NA(NeighborAdvertisement,邻居发现协议)通告报文,以使交换机获得第二虚拟路由器的MAC(MediaAccessControl,硬件地址)地址,并将第二虚拟路由器作为主虚拟路由器。
根据本发明实施例的基于虚拟路由器冗余VRRP协议扩展IPv6虚拟路由器的方法可以实现对VRRP协议的扩展,使得VRRP协议也可以支持IPv6虚拟路由器,从而可以同时混用IPv4和IPv6地址到同一个虚拟路由器,增加了数据中心部署的灵活性。从而可以实现快速开发项目需求。
下面参考图3描述根据本发明实施例的基于VRRP协议扩展IPv6虚拟路由器的系统300。
如图3所示,本发明实施例提供的基于VRRP协议扩展IPv6虚拟路由器的系统300包括第一网络实体设备310、第二网络实体设备320和交换机330,其中,交换机330分别与第一网络实体设备310和第二网络实体设备320相连。在第一网络实体设备310上具有第一虚拟路由器311,在第二网络实体设备320上具有第二虚拟路由器321。其中,第一虚拟路由器311和第二虚拟路由器321互为主备虚拟路由器。
第一虚拟路由器311用于构建VRRP通告报文,并将IPv6地址转换为伪IPv4地址加入至VRRP通告报文中。第一网络实体设备310用于将第一虚拟路由器311构建的VRRP通告报文发送至交换机330。交换机330用于以组播形式向第二网络实体设备320发送VRRP通告报文。第二网络实体设备320用于接收VRRP通告报文,并根据VRRP通告报文的虚拟路由号VRID和伪IPv4地址判断查找对应的第二虚拟路由器321,以及将VRRP通告报文发送给第二虚拟路由器321。第二虚拟路由器321用于接收VRRP通告报文,并进行相应处理。
在本发明的一个实施例中,第一虚拟路由器311为主虚拟路由器,第二虚拟路由器321为备虚拟路由器。
第一网络实体设备310和第二网络实体设备320可以为路由器和服务器,在一个网络实体设备上可以运行由多个虚拟路由器。在本发明的一个实施例中,在第一网络实体设备310上还具有第三虚拟路由器312,在第二网络实体设备320上还具有第四虚拟路由器322。其中,第三虚拟路由器312和第四虚拟路由器322互为主备虚拟路由器。例如:第四虚拟路由器322为主虚拟路由器,第三虚拟路由器312为备虚拟路由器。
主虚拟路由器需要定时发送VRRP通告报文,以通知备份组内的其他路由器自己工作正常。备虚拟路由器则启动定时器等待VRRP通告报文。
具体地,第一虚拟路由器311构建VRRP通告报文,并将IPv6地址转换为伪IPv4地址加入到VRRP通告报文中。在本发明的一个实施例中,IPv6地址具有如下约束条件:作为IPv6虚拟路由器的虚拟IPv6虚拟地址需要具有一个固定的前缀prefix::A.B.C.D/32。在这个前缀之外的IPv6地址不能作为数据中心的IPv6虚拟路由器的IPv6地址。
如果在同一个虚拟路由器中同时使用IPv4和IPv6虚拟地址,虚拟路由器实体(VRRPinstance)中的IP需要同时兼容IPv4地址和IPv6地址,且具有以下约束条件:IPv4虚拟地址与IPv6虚拟地址的低32位必须保证唯一性。换言之,一个网络设备中的所有虚拟路由器的所有虚拟地址的低32位的值不能相同。
基于上述IPv6地址的约束条件,第一虚拟路由器311构建的VRRP通告报文中包括IPv4地址和由IPv6地址的低32位填充的伪IPv4地址。具体地,第一虚拟路由器采用如下方式对VRRP通告报文中的ip_address进行填充。
ip_address=ipv6&0xFFFFFFFF(1)
上述公式是将IPv6地址的低32位(bit)填充到VRRP通告报文的虚拟IP地址中,即取IPv6地址的低32位作为伪IPv4地址。其中,IPv6地址的低32位与本网络内的IPv4地址不同。
第一网络实体设备310将VRRP通告报文发送至交换机330,交换机330以组播形式向与交换机330相连的第二网络实体设备320发送VRRP通告报文。
在本发明的一个实施例中,交换机330向第二网络实体设备320发送VRRP通告报文时,统一使用IPv4组播地址:224.0.0.18。
在本发明的另一个实施例中,交换机330向第二网络实体设备320发送VRRP通告报文时,也可以统一使用IPv6组播地址:FF02:0:0:0:0:0:0:12。
第二网络实体设备320接收来自交换机330的VRRP通告报文,根据VRRP通告报文的虚拟路由号VRID和伪IPv4地址查找对应的第二虚拟路由器321。其中,第一虚拟路由器311和第二虚拟路由器321互为主备虚拟路由器。
具体地,第二虚拟路由器321接收VRRP通告报文后,匹配所有的ip_address,并根据虚拟路由号VRID找到对应的虚拟路由器实体,然后根据该网络实体设备进行相关VRRP相关操作,例如进行主备选举等过程。
在本发明的一个实施例中,第二虚拟路由器321可以对同一个虚拟路由器实体中的所有的ip_address进行排序,从而可以更加快速的查找接收VRRP报文对应虚拟路由器实体。其中,上述排序过程可以在0(1)时间复杂度内实现,从而使得查找过程更为简单,省时。
虚拟路由器可以根据自身的优先级确定自己在备份组中的角色。优先级高的路由器作为主虚拟路由器,优先级低的作为备虚拟路由器。其中,主虚拟路由器需要定时发送VRRP通告报文,以通知备份组内的其他路由器自己工作正常。备虚拟路由器则启动定时器等待VRRP通告报文。
VRRP协议中的主虚拟路由器和备虚拟路由器具有以下两种主备方式:
(1)非抢占方式:在选定好主虚拟路由器后,如果主虚拟路由器没有出现故障,则备份组中的路由器保持各自原来的主状态或备状态。换言之,及时被虚拟路由器随后被配置了比主虚拟路由器更高的优先级,也不能成为主虚拟路由器。如果主虚拟路由器发生故障,则备份组内的多个备虚拟路由器根据优先级选举优先级最高的作为新的主虚拟路由器,由新选举出的主虚拟路由器继续向网络内的主机提供路由服务。
在本发明的一个实施例中,第一虚拟路由器311为主虚拟路由器,第二虚拟路由器321为备虚拟路由器。
(2)抢占方式:当备用虚拟路由器在接收到VRRP通告报文后,将自身的优先级与通告报文中的优先级进行比较。如果备用虚拟路由器的优先级高于通告报文中的优先级,则该备用虚拟路由器自动成为主虚拟路由器,否则保持备用状态。
在本发明的一个实施例中,第二虚拟路由器322在接收到VRRP通告报文之后,判断通告报文中的优先级(Priority的值)是否高于自身的优先级。如果判断高于自身的优先级,则第二虚拟路由器322判断自身为备用虚拟路由器,第一虚拟路由器311为主虚拟路由器。如果第二虚拟路由器322判断低于自身的优先级,则判断自身为主虚拟路由器,第一虚拟路由器311为备用虚拟路由器。
如果第二虚拟路由器321为备虚拟路由器,则无需反馈任何报文,保持备用状态。如果备虚拟路由器在等待了预定时间后仍没有收到第一虚拟路由器311的VRRP通告报文,则认为自己是主虚拟路由器,对外发送VRRP通告报文,重新进行主虚拟路由器的选举,以承担报文转发的功能。其中,预定时间可以为3个时间间隔,主虚拟路由器每隔一个时间间隔发送VRRP通告报文。
在本发明的一个实施例中,在第二虚拟路由器321判断自身为主虚拟路由器之后,需要响应对应的所有虚拟IP地址的IPv4的地址解析协议ARP请求和/或IPv6的邻居NS请求,并向交换机主动发送IPv4的地址解析协议ARP通告报文和/或IPv6的邻居NA通告,以使交换机获得第二虚拟路由器321的MAC地址,并将第二虚拟路由器321作为主虚拟路由器。
根据本发明实施例的基于虚拟路由器冗余VRRP协议扩展IPv6虚拟路由器的系统可以实现对VRRP协议的扩展,使得VRRP协议也可以支持IPv6虚拟路由器,从而可以同时混用IPv4和IPv6地址到同一个虚拟路由器,增加了数据中心部署的灵活性。从而可以实现快速开发项目需求。
下面参考图4描述根据本发明实施例的第一网络实体设备。
如图4所示。本发明实施例提供的第一网络实体设备中具有第一虚拟路由器。其中,第一虚拟路由器311包括构建模块3111、转换模块3112、添加模块3113和发送模块3114。其中,构建模块3111用于构建第一VRRP通告报文,转换模块3112用于将IPv6地址转换为伪IPv4地址,添加模块3113用于将伪IPv4地址添加至第一VRRP通告报文中;发送模块3114用于将添加伪IPv4地址的第一VRRP通告报文发送至与网络实体设备相连的交换机。
构建模块3111构建第一VRRP通告报文,然后由转换模块3112将IPv6地址转换为伪IPv4地址。添加模块3113将转换得到的伪IPv4地址加入到第一VRRP通告报文中。
在本发明的一个实施例中,IPv6地址具有如下约束条件:作为IPv6虚拟路由器的虚拟IPv6虚拟地址需要具有一个固定的前缀prefix::A.B.C.D/32。在这个前缀之外的IPv6地址不能作为数据中心的IPv6虚拟路由器的IPv6地址。
如果在同一个虚拟路由器中同时使用IPv4和IPv6虚拟地址,虚拟路由器实体(VRRPinstance)中的IP需要同时兼容IPv4地址和IPv6地址,且具有以下约束条件:IPv4虚拟地址与IPv6虚拟地址的低32位必须保证唯一性。换言之,一个网络设备中的所有虚拟路由器的所有虚拟地址的低32位的值不能相同。
基于上述IPv6地址的约束条件,第一VRRP通告报文中包括IPv4地址和由IPv6地址的低32位填充的伪IPv4地址。具体地,添加模块3113采用如下方式对VRRP通告报文中的ip_address进行填充。
ip_address=ipv6&0xFFFFFFFF(1)
上述公式是将IPv6地址的低32位(bit)填充到VRRP通告报文的虚拟IP地址中,即取IPv6地址的低32位作为伪IPv4地址。其中,IPv6地址的低32位与本网络内的IPv4地址不同。
发送模块3114将VRRP通告报文发送至交换机。交换机以组播形式向与交换机相连的第二网络实体设备发送第一VRRP通告报文。
在本发明的一个实施例中,第一虚拟路由器为主虚拟路由器,第二虚拟路由器为备虚拟路由器。
在本发明的一个实施例中,第一网络实体设备中还具有第三虚拟路由器。第二网络实体设备上还具有第四虚拟路由器。其中,第三虚拟路由器和第四虚拟路由器互为主备虚拟路由器。例如:第四虚拟路由器为主虚拟路由器,第五虚拟路由器为备虚拟路由器。
如图5所示,第三虚拟路由器包括:接收模块3121和获取模块3122。其中,接收模块3121用于接收第二网络实体设备的第四虚拟路由器通过交换机发送的第二VRRP通告报文。
在本发明的一个实施例中,第三虚拟路由器还包括判决模块3122和主备切换模块3123。其中,判决模块3122用于判断VRRP通告报文中的优先级是否低于自身的优先级。主备切换模块3123用于在判决模块3122判断VRRP通告报文中的优先级低于自身的优先级时,将第三虚拟路由器切换为主虚拟路由器。
判决模块3122判断第二VRRP通告报文中的优先级(Priority的值)是否高于自身的优先级。如果判决模块3122判断高于自身的优先级,则判断自身为备用虚拟路由器,第四虚拟路由器为主虚拟路由器。如果判决模块3122判断低于自身的优先级,则判断自身为主虚拟路由器,由主备切换模块3123切换为主虚拟路由器。
在本发明的一个实施例中,第三虚拟路由器还包括通告模块3124。当判断自身为主虚拟路由器后,需要响应对应的所有虚拟IP地址的IPv4的ARP请求报文和/或IPv6的NS请求,并向交换机主动发送IPv4的ARP通告和/或IPv6的NA通告,以使交换机获得第二虚拟路由器的MAC地址,并将第三虚拟路由器作为主虚拟路由器。
根据本发明实施例的第一网络实体设备可以实现对VRRP协议的扩展,使得VRRP协议也可以支持IPv6虚拟路由器,从而可以同时混用IPv4和IPv6地址到同一个虚拟路由器,增加了数据中心部署的灵活性。从而可以实现快速开发项目需求。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (17)
1.一种基于虚拟路由器冗余VRRP协议扩展IPv6虚拟路由器的方法,其特征在于,包括以下步骤:
第一网络实体设备上的第一虚拟路由器构建VRRP通告报文,并将IPv6地址转换为伪IPv4地址加入至所述VRRP通告报文中;
所述第一网络实体设备将所述VRRP通告报文发送至交换机,所述交换机以组播形式向与所述交换机相连的第二网络实体设备发送所述VRRP通告报文;以及
所述第二网络实体设备根据所述VRRP通告报文的虚拟路由号VRID和所述伪IPv4地址查找对应的第二虚拟路由器,并将所述VRRP通告报文发送至所述第二虚拟路由器。
2.如权利要求1所述的基于VRRP协议扩展IPv6虚拟路由器的方法,其特征在于,所述将IPv6地址转换为伪IPv4地址进一步包括:
取所述IPv6地址的低32位作为所述伪IPv4地址,其中,所述IPv6地址的低32位与本网络内的IPv4地址不同。
3.如权利要求2所述的基于VRRP协议扩展IPv6虚拟路由器的方法,其特征在于,所述IPv6地址具有固定的前缀。
4.如权利要求1所述的基于VRRP协议扩展IPv6虚拟路由器的方法,其特征在于,所述VRRP通告报文中还包括IPv4地址。
5.如权利要求1-4任一项所述的基于VRRP协议扩展IPv6虚拟路由器的方法,其特征在于,在所述第二虚拟路由器在接收到所述VRRP通告报文之后,还包括:
所述第二虚拟路由器判断所述VRRP通告报文中的优先级是否高于自身的优先级;
如果判断高于自身的优先级,则所述第二虚拟路由器判断自身为备用虚拟路由器,所述第一虚拟路由器为主虚拟路由器;以及
如果判断低于自身的优先级,则所述第二虚拟路由器判断自身为主虚拟路由器,所述第一虚拟路由器为备用虚拟路由器。
6.如权利要求5所述的基于VRRP协议扩展IPv6虚拟路由器的方法,其特征在于,在所述第二虚拟路由器判断自身为主虚拟路由器之后,还包括:
所述第二虚拟路由器向所述交换机主动发送IPv4的地址解析协议ARP通告和/或IPv6的邻居发现协议NA通告,以使所述交换机获得所述第二虚拟路由器的MAC地址,并将所述第二虚拟路由器作为主虚拟路由器。
7.一种基于VRRP协议扩展IPv6虚拟路由器的系统,其特征在于,包括第一网络实体设备、第二网络实体设备和分别与所述第一网络实体设备和第二网络实体设备分别相连的交换机,其中,所述第一网络实体设备上具有第一虚拟路由器,所述第二网络实体设备上具有第二虚拟路由器,所述第一虚拟路由器和所述第二虚拟路由器互为主备虚拟路由器,
所述第一虚拟路由器,用于构建VRRP通告报文,并将IPv6地址转换为伪IPv4地址加入至所述VRRP通告报文中;
所述第一网络实体设备,用于将所述第一虚拟路由器构建的VRRP通告报文发送至所述交换机;
所述交换机,用于以组播形式向第二网络实体设备发送所述VRRP通告报文;
所述第二网络实体设备,用于接收所述VRRP通告报文,并根据所述VRRP通告报文的虚拟路由号VRID和所述伪IPv4地址判断查找对应的第二虚拟路由器,以及将所述VRRP通告报文发送给所述第二虚拟路由器;
所述第二虚拟路由器,用于接收所述VRRP通告报文。
8.如权利要求7所述的基于VRRP协议扩展IPv6虚拟路由器的系统,其特征在于,其中,所述第一网络实体设备上还具有第三虚拟路由器,所述第二网络实体设备上还具有第四虚拟路由器,所述第三虚拟路由器和所述第四虚拟路由器互为主备虚拟路由器。
9.如权利要求7所述的基于VRRP协议扩展IPv6虚拟路由器的系统,其特征在于,所述第一虚拟路由器取所述IPv6地址的低32位作为所述伪IPv4地址,其中,所述IPv6地址的低32位与本网络内的IPv4地址不同。
10.如权利要求7所述的基于VRRP协议扩展IPv6虚拟路由器的系统,其特征在于,所述第二虚拟路由器还用于在所述VRRP通告报文中的优先级低于自身的优先级时,判断自身为主虚拟路由器,所述第一虚拟路由器为备用虚拟路由器。
11.如权利要求10所述的基于VRRP协议扩展IPv6虚拟路由器的系统,其特征在于,所述第二虚拟路由器还用于向交换机主动发送IPv4的ARP通告和/或IPv6的邻居发现协议NA通告,以使所述交换机获得所述第二虚拟路由器的MAC地址,并将所述第二虚拟路由器作为主虚拟路由器。
12.一种网络实体设备,其特征在于,其中,所述网络实体设备中包括第一网络实体设备和第二网络实体设备,其中,所述第一网络实体设备上具有第一虚拟路由器,所述第二网络实体设备上具有第二虚拟路由器,所述第一虚拟路由器和所述第二虚拟路由器互为主备虚拟路由器,所述第一虚拟路由器包括:
构建模块,用于构建第一VRRP通告报文;
转换模块,用于将IPv6地址转换为伪IPv4地址;
添加模块,用于将所述伪IPv4地址添加至所述第一VRRP通告报文中;以及
发送模块,用于将添加所述伪IPv4地址的所述第一VRRP通告报文发送至与所述网络实体设备相连的交换机。
13.如权利要求12所述的网络实体设备,其特征在于,所述转换模块取所述IPv6地址的低32位作为所述伪IPv4地址,其中,所述IPv6地址的低32位与本网络内的IPv4地址不同。
14.如权利要求12所述的网络实体设备,其特征在于,所述第一网络实体设备中还具有第三虚拟路由器,所述第二网络实体设备中还具有第四虚拟路由器,其中,所述第三虚拟路由器和所述第四虚拟路由器互为主备虚拟路由器。
15.如权利要求14所述的网络实体设备,其特征在于,所述第三虚拟路由器包括:
接收模块,用于接收所述第二网络实体设备的第四虚拟路由器通过所述交换机发送的第二VRRP通告报文。
16.如权利要求14所述的网络实体设备,其特征在于,所述第三虚拟路由器还包括:
判决模块,用于判断所述VRRP通告报文中的优先级是否低于自身的优先级;
主备切换模块,用于在所述判决模块判断所述VRRP通告报文中的优先级低于自身的优先级时,将所述第三虚拟路由器切换为主虚拟路由器。
17.如权利要求16所述的网络实体设备,其特征在于,所述第三虚拟路由器还包括:
通告模块,用于向所述交换机主动发送IPv4的ARP通告和/或IPv6的邻居发现协议NA通告,以使所述交换机获得所述第三虚拟路由器的MAC地址,并将所述第三虚拟路由器作为主虚拟路由器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110385471.5A CN103139077B (zh) | 2011-11-28 | 2011-11-28 | 扩展IPv6虚拟路由器的方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110385471.5A CN103139077B (zh) | 2011-11-28 | 2011-11-28 | 扩展IPv6虚拟路由器的方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103139077A CN103139077A (zh) | 2013-06-05 |
CN103139077B true CN103139077B (zh) | 2016-01-20 |
Family
ID=48498405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110385471.5A Active CN103139077B (zh) | 2011-11-28 | 2011-11-28 | 扩展IPv6虚拟路由器的方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103139077B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CZ306142B6 (cs) * | 2013-08-26 | 2016-08-17 | Microrisc S. R. O. | Způsob potvrzování zpráv a/nebo sběru dat komunikačních zařízení s paketovým přenosem zpráv v bezdrátových mesh sítích a způsob zpřístupnění tohoto potvrzování a sběru dat pro vytvoření generické platformy |
CN105227466B (zh) | 2015-08-20 | 2019-01-11 | 北京百度网讯科技有限公司 | 通信处理方法和装置 |
CN111131049B (zh) * | 2019-12-31 | 2021-08-27 | 苏州盛科通信股份有限公司 | 路由表项的处理方法及装置 |
CN115134285A (zh) * | 2021-03-25 | 2022-09-30 | 中兴通讯股份有限公司 | 路径跟踪方法、设备和存储介质 |
CN113194033B (zh) * | 2021-03-29 | 2022-04-01 | 新华三大数据技术有限公司 | 基于sdn段路由组网的报文转发方法、装置及存储介质 |
CN114760242B (zh) * | 2022-03-30 | 2024-04-09 | 深信服科技股份有限公司 | 虚拟路由器的迁移方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005086256A (ja) * | 2003-09-04 | 2005-03-31 | Kddi Corp | トンネルゲートウェイ装置 |
CN101316236A (zh) * | 2008-07-23 | 2008-12-03 | 杭州华三通信技术有限公司 | Vrrp备份组负载分担方法及路由器 |
CN101834831A (zh) * | 2009-03-13 | 2010-09-15 | 华为技术有限公司 | 一种实现nat设备冗余备份的方法、装置和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7088726B1 (en) * | 1996-07-04 | 2006-08-08 | Hitachi, Ltd. | Translator for IP networks, network system using the translator, and IP network coupling method therefor |
-
2011
- 2011-11-28 CN CN201110385471.5A patent/CN103139077B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005086256A (ja) * | 2003-09-04 | 2005-03-31 | Kddi Corp | トンネルゲートウェイ装置 |
CN101316236A (zh) * | 2008-07-23 | 2008-12-03 | 杭州华三通信技术有限公司 | Vrrp备份组负载分担方法及路由器 |
CN101834831A (zh) * | 2009-03-13 | 2010-09-15 | 华为技术有限公司 | 一种实现nat设备冗余备份的方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103139077A (zh) | 2013-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9369375B2 (en) | Link-layer level link aggregation autoconfiguration | |
US10257265B2 (en) | Redundancy network protocol system | |
CN103139077B (zh) | 扩展IPv6虚拟路由器的方法、系统及装置 | |
US9787586B2 (en) | Location-based network routing | |
US9385949B2 (en) | Routing controlled by subnet managers | |
EP2947907B1 (en) | Startup configuration method in base station, base station and server | |
US20110085560A1 (en) | System and Method for Implementing a Virtual Switch | |
US20050111352A1 (en) | Method and system for monitoring a network containing routers using a backup routing protocol | |
US9882802B2 (en) | Auto management of a virtual device context enabled network infrastructure | |
WO2014161408A1 (en) | Internet protocol address resolution | |
US20070081535A1 (en) | Method and system for implementing virtual router redundacy protocol on a resilient packet ring | |
US11374860B2 (en) | Method and apparatus for sending routing information for network nodes | |
US10447652B2 (en) | High availability bridging between layer 2 networks | |
CN105162704A (zh) | Overlay网络中组播复制的方法及装置 | |
US11736393B2 (en) | Leveraging multicast listener discovery for discovering hosts | |
US20130094514A1 (en) | Method and switch for sending packet | |
CN104919760A (zh) | 虚拟机箱系统控制协议 | |
CN108600070B (zh) | 指定转发者df选举方法及装置 | |
WO2018161795A1 (zh) | 一种路由优先级配置方法、设备以及控制器 | |
WO2010069261A1 (zh) | 边界网关协议路由处理方法、装置和系统 | |
CN103139067B (zh) | 基于vrrp协议扩展虚拟路由器数量的方法、系统和装置 | |
CN113381929A (zh) | 一种路由处理方法、网关设备及计算机存储介质 | |
CN108600075B (zh) | 一种故障处理方法及装置 | |
CN113973072A (zh) | 报文发送方法、设备及系统 | |
US20130238773A1 (en) | Synchronized and time aware l2 and l3 address learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |