CN113381930B - 用于虚拟路由器冗余的组负载均衡 - Google Patents
用于虚拟路由器冗余的组负载均衡 Download PDFInfo
- Publication number
- CN113381930B CN113381930B CN202010476328.6A CN202010476328A CN113381930B CN 113381930 B CN113381930 B CN 113381930B CN 202010476328 A CN202010476328 A CN 202010476328A CN 113381930 B CN113381930 B CN 113381930B
- Authority
- CN
- China
- Prior art keywords
- vrrp
- router
- routers
- peer
- vrrp router
- 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
- 238000000034 method Methods 0.000 claims abstract description 104
- 230000004044 response Effects 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 description 57
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 208000036758 Postinfectious cerebellitis Diseases 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 238000009432 framing Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- GMYRVMSXMHEDTL-UHFFFAOYSA-M 1,1'-diethyl-2,2'-cyanine iodide Chemical compound [I-].C1=CC2=CC=CC=C2N(CC)C1=CC1=CC=C(C=CC=C2)C2=[N+]1CC GMYRVMSXMHEDTL-UHFFFAOYSA-M 0.000 description 1
- ABEXEQSGABRUHS-UHFFFAOYSA-N 16-methylheptadecyl 16-methylheptadecanoate Chemical compound CC(C)CCCCCCCCCCCCCCCOC(=O)CCCCCCCCCCCCCCC(C)C ABEXEQSGABRUHS-UHFFFAOYSA-N 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 241000764238 Isis Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 238000005417 image-selected in vivo spectroscopy Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012739 integrated shape imaging system Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/686—Types of network addresses using dual-stack hosts, e.g. in Internet protocol version 4 [IPv4]/Internet protocol version 6 [IPv6] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种计算机实现的方法,VRRP路由器和非暂态存储介质。所述方法包括:(a)由局域网LAN上的虚拟路由器冗余协议VRRP路由器接收组负载均衡标识符GLB ID值;(b)由VRRP路由器向LAN上的至少一个对等VRRP路由器发送GLB ID值,LAN上的VRRP路由器和至少一个对等VRRP路由器定义一组对等VRRP路由器;以及(c)响应于由VRRP路由器从LAN上的对等VRRP路由器接收到GLB ID值,(1)为该组对等VRRP路由器选择主机,以及(2)响应于VRRP路由器选择自己作为该组VRRP路由器的主机,(A)由VRRP路由器针对该组VRRP路由器调节VRRP路由器的优先级值,以及(B)由VRRP路由器向至少一个VRRP对等设备发送VRRP路由器是该组VRRP路由器的主机的通知。
Description
技术领域
§1背景技术
§1.1技术领域
本说明书涉及通信网络。更具体地,本说明书涉及对使用虚拟路由器实现冗余的通信网络的改进。
背景技术
§1.2背景信息
尽管虚拟路由器冗余协议(VRRP)被本领域技术人员很好地理解,但是为了读者的方便,下面将对其进行介绍。
§1.2.1虚拟路由器冗余协议(VRRP)
S.Nadas编辑的文档“用于IPv4和IPv6的虚拟路由器冗余协议(VRRP)版本3”的征 求意见稿5798(互联网工程任务组,2010年3月)(称为“RFC 5798”并且通过引用并入本文)指定了选举协议,该选举协议将虚拟路由器的责任动态地分配给局域网(LAN)上的VRRP路由器之一。控制与虚拟路由器相关联的互联网协议版本4(IPv4)或互联网协议版本6(IPv6)地址的VRRP路由器称为“主机”,并且主路由器将发送给这些IPv4或IPv6地址的分组(注意,IPvX可以表示IPv4或IPv6)进行转发。VRRP主路由器配置有虚拟IPv4或IPv6地址,并且VRRP“备用”路由器基于传输协议来推断所承载的虚拟地址的地址族。在VRRP路由器中,每个IPv4和IPv6地址族中的虚拟路由器是它们自己的域,并且不会重叠。
如果主路由器不可用,则用于选举主路由器的过程将在转发职责中提供动态故障转移。
对于IPv4,使用VRRP所得到的优势是可用性更高的默认路径,而无需在每个终端主机上配置动态路由或路由器发现协议。对于IPv6,使用VRRP所得到的优势是,与标准IPv6邻居发现机制相比,可以更快地切换到备用路由器。
§1.2.1.1用于IPv4的VRRP
IPv4终端主机可以使用多种方法来确定其朝向特定IPv4目的地的第一跳路由器。这些包括:运行(或监听)动态路由协议,诸如路由信息协议(参见例如G.Malkin的文档“RIP版本2”的征求意见稿2453(互联网工程任务组,1998年11月)(称为“RFC 2453并且通过引用并入本文”))或“开放最短路径优先(OSPF)版本2”(参见例如J.Moy的文档“OSPF版本2”的征 求意见稿2328(互联网工程任务组,1998年4月)(称为“RFC 2328”并且通过引用并入本文));运行ICMP路由器发现客户端(参见例如S.Deering编辑的文档“ICMP路由器发现消息”的征求意见稿1256(互联网工程任务组,1991年9月)(称为“RFC 1256”并且通过引用并入本文));或者使用静态地配置的默认路由。这些方法的问题将在下面解决。
由于多种原因,这些原因包括管理开销、处理开销、安全问题、或某些平台缺少协议实现,在每个终端主机上运行动态路由协议可能是不可行的。邻居或路由器发现协议可能需要网络上所有主机的积极参与,从而导致较大的计时器值以减少面对大量主机时的协议开销。这可能导致检测到丢失(即,废弃)邻居的时间大大延迟;这样的延迟可能会引入不可接受地长的“黑洞”时段。
静态地配置的默认路由的使用非常普遍;它使终端主机上的配置和处理开销最小化,并且几乎每个IPv4实现都支持它。这种操作模式很可能会作为动态主机配置协议保留(参见例如R.Droms的文档“动态主机配置协议”的征求意见稿2131(互联网工程任务组,1997年3月)(称为“部署RFC 2131”并且通过引用并入本文)),通常为终端主机IPv4地址和默认网关提供配置。但是,这会导致单点故障。默认路由器的丢失会导致灾难性事件,从而隔离所有无法检测到任何可用备用路径的终端主机。
虚拟路由器冗余协议(VRRP)旨在消除静态默认路由环境中固有的单点故障。VRRP指定一种选举协议,该协议可以将虚拟路由器的职责动态地分配给LAN上的VRRP路由器之一。控制与虚拟路由器相关联的IPv4地址的VRRP路由器称为主机,并且将发送给这些IPv4地址的分组进行转发。如果主机变为不可用,则选举过程将转发职责中的动态故障转移提供给备份。终端主机然后可以将LAN上的任何虚拟路由器的IPv4地址用作默认的第一跳路由器。使用VRRP所得到的优势是更高可用性的默认路径,而无需在每个终端主机上配置动态路由或路由器发现协议。
§1.2.1.2用于IPv6的VRRP
LAN上的IPv6主机通常将通过接收使用IPv6邻居发现(ND)协议而发送的路由器广告,来了解一个或多个默认路由器(参见例如T.Narten等人的“用于IP版本6(IPv6)的邻居发现”的征求意见稿4861(互联网工程任务组,2007年9月)(称为“RFC 4861”并且通过引用并入本文))。路由器广告以主机将要在几分钟内了解默认路由器的速率定期进行多播。它们的发送频率不足以依靠路由器广告的缺失来检测路由器故障。邻居发现(ND)包括一种称为邻居不可达性检测的机制,以检测邻居节点(路由器或主机)的故障或到邻居的转发路径。这是通过向邻居节点发送单播ND邻居请求消息来进行的。为了减少发送邻居请求的开销,仅将邻居请求发送给节点正在向其主动发送业务(traffic)的邻居,并且仅在没有肯定的迹象表明路由器已经启动一段时间后才发送。使用ND中的默认参数,主机将花费大约38秒的时间来了解路由器不可达,然后再切换到另一默认路由器。这种延迟对于用户来说将是非常明显的,并且会导致某些传输协议实现超时。尽管可以通过将参数改变为更具攻击性来加快ND不可达性检测(注意,当前下限为5秒),但是这将带来ND业务开销明显增加的弊端,尤其是在存在很多主机全部试图确定一个或多个路由器的可达性时。
与使用标准ND过程相比,用于IPv6的虚拟路由器冗余协议能够更快地切换到替代默认路由器。使用VRRP,备用路由器可以在大约三秒钟内(使用VRRP默认参数)接替发生故障的默认路由器。这一操作在无需与主机进行任何交互并且VRRP业务最少的情况下实现。
§1.2.1.3VRRP概述
VRRP指定了用于提供虚拟路由器功能的选举协议。VRRP消息传递使用IPv4或IPv6多播数据报来执行。因此,VRRP可以在支持IPvX多播的多种多址LAN技术上运行。VRRP虚拟路由器的每个链路都分配有一个公知的MAC地址(例如,IEEE 802 48位MAC地址)。在由主路由器发送的所有定期VRRP消息中,虚拟路由器MAC地址都用作源,以在扩展的LAN中启用网桥学习。
虚拟路由器由其虚拟路由器标识符(VRID)和一组IPv4或IPv6地址定义。VRRP路由器可以将虚拟路由器与其在接口上的真实地址相关联。每个虚拟路由器的范围仅限于单个LAN。可以针对VRRP路由器配置其他虚拟路由器映射和它愿意备份的虚拟路由器的优先级。VRID与其IPvX地址之间的映射将在LAN上的所有VRRP路由器之间进行协调。
对在不同LAN上使用具有不同地址映射的VRID进行重用没有限制,也没有针对一组IPv4地址和一组IPv6地址使用相同VRID号的限制;但是,这是两个不同的虚拟路由器。
为了使网络业务最小化,仅每个虚拟路由器的主机发送周期性的VRRP广告消息。除非具有更高优先级,否则备用路由器不会尝试抢占主机。除非可以使用更优选的路径,否则这可以消除服务中断。也可以在管理上禁止所有抢占尝试。唯一的例外是,VRRP路由器将始终成为与其拥有的地址相关联的任何虚拟路由器的主机。如果主机变为不可用,则最高优先级备份将在短暂的延迟之后转换为主机,从而以最小服务中断提供虚拟路由器职责的受控转换。
VRRP协议设计提供从(先前的)备份到(新的)主机的快速转换以减少或最小化服务中断,并且结合了减少协议复杂性的优化,同时保证了针对典型操作场景的受控的主机转换。优化使得选举协议具有最小的运行时状态要求、最小的活动协议状态以及单个消息类型和发送者。典型的操作方案被定义为两个冗余路由器和/或每个路由器之间的不同路径偏好。违反这些假定(即,两条以上的冗余路径,都具有相同的偏好)的副作用是,在主机选举期间可能会在短时间内转发重复分组。但是,典型的场景假定很可能涵盖了大多数部署,主路由器的丢失很少发生,并且主机选举收敛的预期持续时间很小(<<1秒)。因此,VRRP优化表示协议设计的显著简化,同时使得短暂的网络劣化的可能性不大。
§1.2.2VRRPv3的局限性
从前面应当理解,VRRP和VRRPv3用于在网络中提供路由器冗余。只有一个路由器充当主机,其余路由器可以充当备份。该机制具有以下缺点。例如,参考图1,路由器1-3和VLAN 10、VLAN 20和VLAN 30连接到交换机。对于所有VLAN,路由器1的VRRP优先级为200,路由器2的VRRP优先级为100,路由器3的VRRP优先级为100。由于路由器1具有最高VRRP优先级,因此它充当所有VLAN(VLAN 10、VLAN 20和VLAN 30)的主机。这是不幸的,因为路由器2和3可能具有任何VLAN未使用的可用容量。
提供路由器冗余的很多现代L2协议(例如,EVPN、MCLAG)还提供了用于主动-主动转发的内置机制以避免浪费网络资源。但是不幸的是,VRRP/VRRPv3没有提供任何内置的自动机制来实现业务负载均衡。不幸的是,自动负载均衡的这种缺乏可能导致网络资源的使用不足。
网络运营商可以使用VRRP组和优先级来手动配置VRRP路由器,以使得业务负载在VRRP路由器之间分配,因为不同的路由器可以充当不同VRRP组的主机。例如,RFC 5798的4.2节说明了一个示例配置,其中主机在两个虚拟路由器之间分配业务。这种配置如图2所示。第一路由器(RTR1)是VRID=1的主机,并且是VRID=2的备份,并且其地址为IPvXA。第二路由器(RTR2)是VRID=2的主机,并且是VRID=1的备份,并且其地址为IPvXB。
在图2的IPv4示例中(也就是说,在图2中的所有地方,IPvX都是IPv4),一半的主机已经通过RTR1的IPv4 A配置有静态路由,并且一半的主机正在使用RTR2的IPv4B。虚拟路由器VRID=1被配置为覆盖IPvX地址A。这种配置的网络部分演示了一种在两个路由器都可用时提供负载分担同时还提供完整冗余以增强鲁棒性的部署。
在图2的IPv6示例中(也就是说,在图2中的所有地方,IPvX都是IPv6),一半的主机已经通过RTR1的IPv6 A获知默认路由,并且一半的主机正在使用RTR2的IPv6B。在这种情况下,RTR2将声明自己为VRID=2的主机,而RTR1将充当备份。这种方案演示了一种在两个路由器都可用时提供负载分担同时还提供完整冗余以增强鲁棒性的部署。
不幸的是,诸如图2所示和RFC 5798的4.2节中描述的配置需要仔细的计划、熟练的实现和重新优化。因此,以更易于实现的方式在实现VRRP的网络部分中支持负载均衡将是非常有用的。
发明内容
与本说明书相一致的示例实施例以比RFC 5798的§4.2中描述的方法更容易实现的方式在实现VRRPv3的网络部分中支持负载均衡。这样的示例实施例可以通过以下方式来完成这一操作:(a)由局域网(LAN)上的虚拟路由器冗余协议(VRRP)路由器接收组负载均衡标识符(GLB ID)值;(b)由VRRP路由器向LAN上的至少一个对等VRRP路由器发送GLB ID值,VRRP路由器和LAN上的至少一个对等VRRP路由器定义一组对等VRRP路由器;以及(c)响应于VRRP路由器从LAN上的对等VRRP路由器接收到GLB ID值,(1)为该组对等VRRP路由器选择主机,以及(2)响应于VRRP路由器选择自己作为该组VRRP路由器的主机,(A)由VRRP路由器针对该组VRRP路由器调节VRRP路由器的优先级值,以及(B)由VRRP路由器向至少一个VRRP对等设备发送VRRP路由器是该组VRRP路由器的主机的通知。该方法可以由VRRP路由器执行。该方法可以被提供作为存储在非暂态计算机可读存储介质上的程序指令。
在一些示例方法中,GLB ID是在1到15之间的值。
在一些示例方法中,GLB ID以VRRPv3格式化的分组来发送。例如,GLB ID可以由VRRPv3格式化的分组的RSVD字段中的比特表示。
在一些示例方法中,由VRRP路由器针对该组VRRP路由器调节VRRP路由器的优先级值的动作包括增加优先级值(例如,至最大值)。
附图说明
图1是用于说明现有VRRPv3的示例网络;
图2是用于说明与RFC 5798相一致的静态地配置的负载均衡的示例网络;
图3是用于以与本说明书相一致的方式在实现VRRP的网络部分中支持负载均衡的示例方法的流程图;
图4是用于在运行虚拟路由器冗余协议(诸如例如VRRPv3)的路由器之间的消息中携带组负载均衡(GLB)标识符的示例数据结构;
图5示出了经由通信链路耦合的可以用作VRRP对等的两个数据转发系统;
图6是可以用作VRRP对等设备的路由器的框图;
图7是其中ASICS可以分布在分组转发组件中以划分分组转发责任的示例架构;
图8A和8B示出了图7的示例架构的操作的示例;
图9是用于在示例路由器中提供分组转发的示例方法的流程图;
图10是可以执行所描述的一个或多个过程和/或存储由这样的过程使用和/或生成的信息的示例性机器的框图;以及
图11是用于说明图3的示例方法300的操作的示例的示例网络。
具体实施方式
本公开可以涉及用于在实现VRRP的网络部分中支持负载均衡的新颖的方法、装置、消息格式和/或数据结构。呈现以下描述以使得本领域技术人员能够制造和使用所描述的实施例,并且在特定应用及其要求的上下文中提供。因此,示例实施例的以下描述提供了说明和描述,但并不意图是穷举性的或者将本公开限制为所公开的精确形式。对所公开的实施例的各种修改对于本领域技术人员将是很清楚的,并且下面阐述的一般原理可以应用于其他实施例和应用。例如,尽管可以参考流程图描述一系列动作,但是当一个动作的执行不依赖于另一动作的完成时,动作的顺序在其他实现中可以不同。此外,可以并行地执行非从属动作。除非明确地描述,否则在说明书中使用的任何要素、动作或指令都不应当被解释为对本说明书是关键或必要的。同样,如本文中使用的,冠词“一个(a)”旨在包括一个或多个项目。在仅意图一个项目的情况下,使用术语“一个(one)”或类似语言。因此,本公开内容不旨在限于所示的实施例,并且发明人将其发明视为所描述的任何可专利主题。
§4.1示例方法
图3是用于在实现VRRP(例如,VRRPv3)的网络部分中支持负载均衡的第一示例方法300的流程图。示例方法300(例如,经由用户接口,作为配置信息)接收组负载均衡标识符(GLB ID)值(框310)。该组负载均衡标识符值被发送给对等VRRP设备(例如,公共LAN上的其他VRRP路由器)(框320)。响应于不同事件的发生而执行示例方法300的不同分支(事件分支点330)。例如,在从对等接收到GLB ID值的情况下,示例方法300为该组对等VRRP路由器选择主机(框340)。如果运行示例方法300的设备是该组对等VRRP路由器的主机(决策350=“是”),则示例方法300调节运行方法300的VRRP路由器的优先级值(例如,将其增加到最大优先级值)(框360),并且发送关于它是该组对等VRRP路由器的主机的通知(框370)(回想一下,RFC 5798中只有主机发送广告)。另一方面,如果运行示例方法300的设备不是该组对等VRRP路由器的主机(决策550=“否”),则示例方法300分支回到事件分支点330。
返回事件分支点330,响应于其他VRRP事件的发生,在示例方法300分支回到事件分支点330之前,处理这样的事件(例如,根据RFC 5798)(框380)。
返回框340,可以使用不同的过程来为所标识的VRRP组选择主机。下面的第4.5节介绍了用于选择主机的一些可能(尽管非限制性)过程。
在示例方法300的至少一些实现中,基本配置和实现与RFC5798中提出的相一致。
由于每个路由器可以运行示例方法300,因此设置中的所有路由器将知道公共LAN上的其他VRRP路由器、它们的GLB-ID和VRRP组的数目(不同的LAN的数目)。在给定了这些信息的情况下,每个VRRP路由器都可以运行选择过程以选择一组或多组对等VRRP路由器,对于该一组或多组对等VRRP路由器而言,该每个VRRP路由器将要成为主机。每个VRRP路由器可以通过调节VRRP优先级使得其可以与原始配置的优先级不同来完成这一操作。路由器将以已调节优先级来启动VRRPv3广告,以宣布自己成为某些组的主机。
注意,添加或删除组(VRRP路由器所属的不同LAN的组)或者添加或删除VRRPv3路由器将自动触发负载均衡中的任何必要调节。因此,示例方法300提供了用于VRRP组负载均衡的内置机制。
从框320回想一下,示例方法将所接收的GLB ID值发送给其对等VRRP设备。参考图4,在下面的§4.2中描述用于携带该值的示例数据结构400。
§4.2示例数据结构
图4是用于在运行虚拟路由器冗余协议的对等路由器(例如,公共LAN上的VRRP路由器)(诸如VRRPv3)之间的消息中携带组负载均衡(GLB)标识符的示例数据结构400。图4的示例数据结构400与RFC 5798的§5.1中描述的VRRP分组格式非常相似,但是将GLB ID值携带在保留字段470中。
更具体地,IPv4字段或IPv6字段410可以对应于RFC 5798的§5.1.1和5.1.2中描述的字段。根据RFC 5798的5.2节,VRRP分组部分499可以包括4位版本字段420(例如,版本3)、4位类型字段430(例如,设置为1,指示VRRP广告)、8位VRID字段440(其标识用于生成和发送消息400的虚拟路由器)、8位优先级字段450(用于选择主路由器)、8位计数IPvX地址字段460(其指定示例消息400的字段495中包含的IPv4或IPv6地址的数目)、4位GLB ID字段470、12位最大广告间隔字段480(其指示广告之间的时间间隔(例如,以厘秒为单位))、16位校验和字段490(用于检测消息400中的数据校正)、以及与虚拟路由器495相关联的一个或多个IPvX地址。
再次参考4位GLB ID字段470,值0可以表明将使用非负载均衡模式,而15个非零值可以用于表示GLB ID。注意,VRID字段440不一定必须为此而双重使用,因为它不一定是唯一的(回想一下,根据RFC 5798,对在不同LAN上具有不同地址映射的VRID进行重用没有限制,也没有针对一组IPv4地址和一组IPv6地址使用相同VRID号的限制;但是,这是两个不同的虚拟路由器)。因此,与本说明书相一致的至少一些示例实施例在参与VRRP(例如,VRRPv3)设置的每个路由器上提出了新的GLB-ID配置,即非零数值。该GLB-ID信息可以被编码在在RFC 5798中提出的VRRPv3分组的RSVD字段中,并且被传播给其他VRRPv3路由器。一旦路由器从其他路由器接收到RSVD字段中的非零值,它将意识到需要在这些路由器之间执行组负载均衡。
§4.3示例装置
图5示出了经由通信链路530耦合的两个数据转发系统510和520。这些链路可以是物理链路或“无线”链路。数据转发系统510、520例如可以是路由器,并且可以是VRRP对等设备。如果数据转发系统510、520是示例路由器,则每个路由器可以包括控制组件(例如,路由引擎)514、524和转发组件512、522。每个数据转发系统510、520包括终止一个或多个通信链路530的一个或多个接口516、526。示例方法300(或其实例)可以在控制组件514、524中实现。
如上所述,并且参考图6,一些示例路由器600包括控制组件(例如,路由引擎)610和分组转发组件(例如,分组转发引擎)690。
控制组件610可以包括操作系统(OS)内核620、路由协议进程630、基于标签的转发协议进程640、接口进程650、用户接口(例如,命令行接口)进程660和机箱进程(chassisprocess)670,并且控制组件610可以存储路由表639、标签转发信息649和转发(例如,基于路由和/或基于标签的)表680。如图所示,路由协议进程630可以支持如下的路由协议,诸如路由信息协议(“RIP”)631、中间系统到中间系统协议(“IS-IS”)632、开放式最短路径优先协议(“OSPF”)633、增强型内部网关路由协议(“EIGRP”)634和边界网关协议(“BGP”)635(以及其他协议,诸如例如VRRPv3);并且基于标签的转发协议进程640可以支持如下的协议,诸如BGP 635、标签分发协议(“LDP”)641、资源保留协议(“RSVP”)642、以太网虚拟专用网(EVPN)643、第2层(L2)VPN 644和分段路由(SR)645。一个或多个组件(未示出)可以允许用户665与用户接口进程660交互。类似地,一个或多个组件(未示出)可以允许外部设备经由SNMP 685与路由器协议进程630、基于标签的转发协议进程640、接口进程650和机箱进程670中的一个或多个进行交互,并且这样的进程可以经由SNMP 685向外部设备发送信息。
分组转发组件690可以包括位于硬件组件(例如,ASIC、交换结构、光学器件等)691上的微内核692、接口进程693、分布式ASIC 694、机箱进程695和转发表(例如,基于路由和/或基于标签的表)696。
在图6的示例路由器600中,控制组件610处理如下的任务,诸如执行路由协议、执行基于标签的转发协议、控制分组处理等任务,这释放了分组转发组件690以快速转发所接收的分组。也就是说,所接收的控制分组(例如,路由协议分组和/或基于标签的转发协议分组)没有在分组转发组件690本身上被完全处理,而是被传递到控制组件610,从而减少了分组转发组件690必须进行的工作量并且释放分组转发组件690以有效地处理要转发的分组。因此,控制组件610主要负责运行路由协议(诸如例如VRRPv3)和/或基于标签的转发协议,维护路由表和/或标签转发信息,将转发表更新发送到分组转发组件690,以及执行系统管理。示例控制组件610可以处理路由协议分组(诸如例如VRRPv3),提供管理接口,提供配置管理,执行计费,以及提供警报。进程630、640、650、660和670可以是模块化的,并且可以与OS内核620进行交互。也就是说,几乎所有进程都直接与OS内核620进行通信。使用将进程彼此清晰地分开的模块化软件隔离了给定进程的问题,使得这样的问题不会影响正在运行的其他进程。此外,使用模块化软件有助于更轻松地扩展。
仍然参考图6,示例OS内核620可以合并用于外部程序调用和脚本功能的应用程序编程接口(API)系统。控制组件610可以基于运行来自于闪存的OS的Intel PCI平台,其中备用副本存储在路由器的硬盘上。OS内核620位于Intel PCI平台上,并且在Intel PCI平台与控制组件610的进程之间建立通信。OS内核620还确保分组转发组件690正在使用的转发表696与控制组件610中的那些表680同步。因此,除了向控制组件610软件进程提供底层基础结构之外,OS内核620还在控制组件610与分组转发组件690之间提供链路。
参考图6的路由协议进程630,该进程630提供平台内的路由和路由控制功能。在该示例中,提供了RIP 631、ISIS 632、OSPF 633和EIGRP 634(和BGP 635)协议。自然地,可以另外地或替代地提供其他路由协议(诸如例如VRRPv3)。类似地,基于标签的转发协议进程640提供标签转发功能和标签控制功能。在该示例中,提供了LDP 641、RSVP 642、EVPN 643、V2VPN 644和SR 645(和BGP 635)协议。自然地,可以另外地或替代地提供其他基于标签的转发协议(例如,MPLS等)。在示例路由器600中,路由表639由路由协议进程630产生,而标签转发信息649由基于标签的转发协议进程640产生。在一些示例实施例中,与本说明书相一致的示例方法300可以通过一个或多个路由协议进程630来执行。
仍然参考图6,接口进程650执行物理接口的配置和封装。
示例控制组件610可以提供几种管理路由器的方式。例如,控制组件610可以提供用户接口进程660,其允许系统操作员665通过配置、修改和监测来与系统交互。SNMP 685允许具有SNMP功能的系统与路由器平台进行通信。这也允许平台向外部代理提供必要的SNMP信息。例如,SNMP 685可以允许通过框架(诸如Hewlett-Packard的OpenView)从运行软件(诸如Hewlett-Packard的网络节点管理器(“HP-NNM”))的网络管理站来管理系统。分组的记账(通常称为业务统计)可以由控制组件610执行,从而避免减慢由分组转发组件690进行的业务转发。
尽管未示出,但是示例路由器600可以提供带外管理、用于串行控制台和远程管理访问的RS-232DB9端口、以及使用可移动PC卡的第三级存储。此外,尽管未示出,但是位于机箱前部的工艺接口(craft interface)提供路由器的内部工作情况的外部视图。它可以用作故障排除工具、监测工具或两者。工艺接口可以包括LED指示器、警报指示器、控制组件端口和/或显示屏。最后,工艺接口可以经由控制台端口、辅助端口和/或管理以太网端口提供与命令行接口(“CLI”)660的交互。
分组转发组件690负责尽可能快地正确地输出所接收的分组。如果转发表中没有针对给定目的地或给定标签的条目并且分组转发组件690自身不能执行转发,则分组转发组件690可以将绑定到该未知目的地的分组发送给控制组件610以进行处理。示例分组转发组件690被设计为执行第2层和第3层交换、路由查找和快速分组转发。
如图6所示,示例分组转发组件690具有位于硬件组件691上的嵌入式微内核692、接口进程693、分布式ASIC 694和机箱进程695,并且分组转发组件690存储转发(例如,基于路由和/或基于标签的)表696。微内核692与接口进程693和机箱进程695交互以监测和控制这些功能。接口进程692与控制组件610的OS内核620直接通信。该通信包括将异常分组和控制分组转发给控制组件610,接收要转发的分组,接收转发表更新,向控制组件610提供关于分组转发组件690的健康状况的信息,并且允许从控制组件610的用户接口(例如,CLI)进程660来配置接口。所存储的转发表696是静态的,直到从控制组件610接收到新的消息。接口进程693使用转发表696查找下一跳信息。接口进程693也与分布式ASIC 694直接通信。最后,机箱进程695可以直接与微内核692和分布式ASIC 694通信。
图7是ASICS在分组转发组件690中如何被分布以划分分组转发的职责的示例。如图7所示,分组转发组件690的ASIC可以分布在物理接口卡(PIC)710、柔性PIC集中器(FPC)720、中板或背板730和系统控制板740上(用于交换和/或转发)。交换结构也被示出为系统交换板(“SSB”)或交换和转发模块(“SFM”)750。每个PIC 710包括一个或多个PIC I/O管理器715。每个FPC 720包括一个或多个I/O管理器722,每个I/O管理器722具有相关联的存储器724。中板/背板730包括缓冲管理器735a、735b。最后,系统控制板740包括转发表744的实例和互联网处理器742(例如,回想图6的696)。
仍然参考图7,PIC 710包含接口端口。每个PIC 710可以被插入到FPC 720中。每个单独的PIC 710可以包含处理媒介特定功能(诸如成帧或封装)的ASIC。PIC 710的一些示例提供SDH/SONET、ATM、千兆以太网、快速以太网和/或DS3/E3接口端口。
FPC 720可以包含来自一个或多个PIC 710的信息,并且可以将来自PIC 710的信号携带到中板/背板730,如图7所示。
中板/背板730容纳线卡。当线卡从前面插入示例路由器的机箱时,线卡可以连接到中板/背板730。控制组件(例如,路由引擎)610可以从机箱的后部插入中板/背板730的后部。中板/背板730可以将电(或光)信号和电力携带到每个线卡和控制组件610。
系统控制板740可以执行转发查找。系统控制板740还可以将错误传送给路由引擎。此外,系统控制板740还可以基于其从传感器接收的信息来监测路由器的状况。如果检测到异常状况,则系统控制板740可以立即通知控制组件610。
参考图7、8A和8B,在一些示例性路由器中,PIC 710、710'中的每个包含至少一个I/O管理器ASIC 715,其负责诸如封装等媒介特定任务。分组在进出路由器时通过这些I/OASIC。PIC 710、710'上的I/O管理器ASIC 715负责在适当的时候管理至FPC 720、720'上的I/O管理器ASIC 722的连接,管理链路层成帧并且创建比特流,执行循环冗余检查(CRC),并且检测链路层错误并且生成警报。FPC 720包括另一I/O管理器ASIC 722。该ASIC 722从PIC710取得分组,并且将其分成(例如,74字节的)存储块。该FPC I/O管理器ASIC 722将这些块发送到第一分布式缓冲管理器(DBM)735a',解码封装和协议特定的信息,针对每个逻辑电路计数分组和字节,验证分组完整性,并且向分组应用服务等级(CoS)规则。此时,分组首先被写入存储器。更具体地,示例DBM ASIC 735a'管理所有FPC 720上的分组并且将其写入共享存储器724。并行地,第一DBM ASIC 735a'还提取关于分组的目的地的信息,并且将该与转发相关信息传递给互联网处理器742/742'。互联网处理器742/742'使用转发表744执行路由查找,并且将信息发送到第二DBM ASIC 735b'。互联网处理器ASIC 742/742'还收集异常分组(即,没有转发表条目的异常分组),并且将其发送到控制组件610。然后,第二DBMASIC 735b'获取该信息和74字节的块,并且将它们转发给出口FPC 720/720'(或在多播的情况下为多个出口FPC)的I/O管理器ASIC 722以进行重组。(因此,DBM ASIC 735a'和735b'负责管理分布在所有FPC 720/720'上的分组存储器724,从分组中提取转发相关信息,并且指示FPC将分组转发到何处)。
出口FPC 720/720'上的I/O管理器ASIC 722可以执行一些增值服务。除了增加生存时间(“TTL”)值并且重新封装分组以供PIC 710处理,它还可以应用服务等级(CoS)规则。为此,在将规则应用于分组之前,它可以对可用队列之一中指向该分组的指针进行排队,每个队列具有一部分链路带宽。排队可以基于各种规则。因此,出口FPC 720/720'上的I/O管理器ASIC 722可以负责从第二DBM ASIC 735b'接收块,增加TTL值,在应用CoS规则之前对指向分组的指针进行排队(如果需要),重新封装这些块,并且将封装后的分组发送到PICI/O管理器ASIC 715。
图9是用于在示例路由器中提供分组转发的示例方法900的流程图。当在入口(传入)端口或接口上接收到分组时,方法900的主要动作(事件910)被触发。该分组所服务的介质类型所需要类型的校验和校验以及帧校验被执行,并且将分组作为串行比特流输出(框920)。然后将分组解封装并且解析为(例如,64字节的)块(框930)。将分组写入缓冲存储器并且在互联网处理器上传递转发信息(框940)。然后,将所传递的转发信息用于在转发表中查找路由(框950)。注意,转发表通常可以处理单播分组(其)没有设置选项(例如,记帐)、以及多播分组(针对该多播分组,该转发表已经具有高速缓存条目)。因此,如果确定这些条件满足(决策960的“是”分支),则分组转发组件将找到下一跳和出口接口,并且经由出口接口将分组转发(或排队以进行转发)到下一跳(框970),之后方法900离开(节点990)。否则,如果这些条件不满足(决策960的“否”分支),则将转发信息发送给控制组件610以实现高级转发分辨率(框980),之后方法900离开(节点990)。
回到框970,可以对分组进行排队。实际上,如先前参考图7所述,可以对指向该分组的指针进行排队。分组本身可以保留在共享存储器中。因此,可以在不存在实际分组的情况下应用所有排队决策和CoS规则。当分组的指针到达该行的开头时,I/O管理器ASIC 722可以向第二DBM ASIC 735b发送对分组的请求。DBM ASIC 735从共享存储器中读取这些块,并且将其发送到FPC 720上的I/O管理器ASIC 722,I/O管理器ASIC 722然后将这些位序列化并且将它们发送到出口接口的媒介特定ASIC。出口PIC 710上的I/O管理器ASIC 715可以应用物理层成帧,执行CRC,并且通过链路发送比特流。
再次参考图9的框980以及图7,关于控制和异常分组的传送,系统控制板740处理几乎所有异常分组。例如,系统控制板740可以将异常分组传递到控制组件610。
尽管与本发明相一致的示例实施例可以在图5或6的示例路由器上实现,但是与本发明相一致的实施例可以在具有不同架构的通信网络节点(例如,路由器、交换机等)上实现。更一般地,与本发明相一致的实施例可以在如图10所示的示例系统1000上实现。
图10是可以执行所描述的一个或多个过程和/或存储由这样的过程使用和/或生成的信息的示例性机器1000的框图。示例性机器1000包括一个或多个处理器1010、一个或多个输入/输出接口单元1030、一个或多个存储设备1020、以及用于促进耦合元件之间的信息通信的一个或多个系统总线和/或网络1040。一个或多个输入设备1032和一个或多个输出设备1034可以与一个或多个输入/输出接口单元1030耦合。一个或多个处理器1010可以执行机器可执行指令(例如,在Linux操作系统上运行的C或C++)以实现本发明的一个或多个方面。机器可执行指令的至少一部分可以(临时或永久地)被存储在一个或多个存储设备1020上,和/或可以经由一个或多个输入接口单元1030从外部源被接收。机器可执行指令可以存储为各种软件模块,每个模块执行一个或多个操作。功能软件模块是本说明书的组件的示例。
在与本说明书相一致的一些实施例中,处理器1010可以是一个或多个微处理器和/或ASIC。总线1040可以包括系统总线。存储设备1020可以包括系统存储器,诸如只读存储器(ROM)和/或随机存取存储器(RAM)。存储设备1020还可以包括:用于从硬盘读取和向其写入的硬盘驱动器、用于从(例如,可移动)磁盘读取或向其写入的磁盘驱动器、用于从可移动(磁)光盘(诸如光盘或其他(磁)光介质)读取或向其写入的光盘驱动器、或固态非易失性存储装置。
也可以提供与本说明书相一致的一些示例实施例作为用于存储机器可执行指令的机器可读介质。机器可读介质可以是非暂态的,并且可以包括但不限于闪存、光盘、CD-ROM、DVD ROM、RAM、EPROM、EEPROM、磁卡或光卡、或者适合于存储电子指令的任何其他类型的机器可读介质。例如,与本说明书相一致的示例实施例可以作为计算机程序被下载,该计算机程序可以通过通信链路(例如,调制解调器或网络连接)从远程计算机(例如,服务器)被传输到请求计算机(例如,客户端)并且被存储在非暂态存储介质上。机器可读介质也可以称为处理器可读介质。
与本说明书相一致的示例实施例(或其组件或模块)可以用硬件实现,诸如一个或多个现场可编程门阵列(“FPGA”)、一个或多个集成电路(诸如ASIC)、一个或多个网络处理器等。替代地或另外,与本发明相一致的实施例(或其组件或模块)可以被实现为由处理器执行的所存储的程序指令。这样的硬件和/或软件可以被提供在寻址数据(例如,分组、小区等)转发设备(例如,交换机、路由器等)、膝上型计算机、台式计算机、服务器(例如,软件定义的网络控制器)、平板计算机、移动电话、或具有计算和联网功能的任何设备中。
§4.4示例方法的示例性操作
图11是用于说明图3的示例方法300的操作示例的示例网络。路由器1-3是在LAN上运行VRRP的对等。假定路由器1配置有为200的初始VRRP优先级和为10的GBL_ID,路由器2配置有为100的初始VRRP优先级和为20的GBL_ID,路由器3配置有为100的初始VRRP优先级和为30的GBL_ID。在交换VRRP分组(诸如图4所示的400)之后,假定运行选择过程的路由器1选择自己作为VLAN 10的主机,而不是VLAN 20或VLAN 30的主机。进一步假定运行选择过程的路由器2选择自己作为VLAN 20的主机,而不是VLAN 10或VLAN 30的主机。最后,假定运行选择过程的路由器3选择自己作为VLAN 30的主机,而不是VLAN 10或VLAN 20的主机。因此,路由器1将VLAN 10的优先级值调节为255,并且对其进行广告(回想一下,例如,图3的框360和370)。类似地,路由器2将VLAN 20的优先级值调节为255,并且然后对其进行广告,而路由器3将VLAN30的优先级值调节为255,并且然后对其进行广告。
将图11与图1进行比较,与如图1中使路由器1作为所有VLAN 10、VLAN 20和VLAN30的主机并且因此处理这三个VLAN的所有业务不同,使用与图11相一致的示例方法,路由器1是VLAN 10的主机,路由器2是VLAN 20的主机,路由器3是VLAN 30的主机,从而将来自这三个VLAN的业务负载分布在三个路由器上。
§4.5补充、替代和扩展
再次参考框440,可以使用先前指定的选择过程来选择所标识的VRRP组的主机。在一个示例中,可以基于每个VLAN来调节优先级值(例如,携带在示例消息400的字段450中)。作为一个示例,假定有两个路由器和20个VLAN。第一路由器可以是偶数编号的VLAN的主机(例如,通过将其优先级值调节为这样的VLAN的最大值),而第二路由器可以是奇数编号的VLAN的主机(例如,通过将其优先级值调节为这样的VLAN的最大值)。作为第二示例,可以基于循环(round robin)来选择作为VLAN的主机的路由器(例如,假定存在n个路由器,通过将每第n个VLAN的优先级值调节为每第n个VLAN的最大值)。
仍然参考框440,该本地主机选择过程可以在每次新的VRRP路由器上线时和/或每次VRRP路由器离开时执行。
§4.6结论
从前面应当理解,与前面的描述相一致的示例实施例可以使用在RFC5798中提出的VRRPv3,以实现IPv4和IPv6 VRRP路由器之间的自动组负载均衡,而无需任何计划或手动配置。
Claims (21)
1.一种计算机实现的方法,包括:
a)由局域网LAN上的虚拟路由器冗余协议VRRP路由器接收将与所述VRRP路由器相关联的组负载均衡标识符GLB ID值;
b)由所述VRRP路由器向所述LAN上的至少一个对等VRRP路由器发送所述GLB ID值,所述LAN上的所述VRRP路由器和所述至少一个对等VRRP路由器定义一组对等VRRP路由器;
c)由所述VRRP路由器从所述LAN上的对等VRRP路由器接收第二GLB ID值,所述第二GLBID值与所述对等VRRP路由器相关联,
d)针对至少两个虚拟局域网VLAN中的每个VLAN,为所述一组对等VRRP路由器选择主机,以及
e)针对所述至少两个VLAN中的给定VLAN,响应于所述VRRP路由器选择自己作为所述一组VRRP路由器的所述主机,
1)针对所述至少两个VLAN中的所述给定VLAN,由所述VRRP路由器针对所述一组VRRP路由器调节所述VRRP路由器的优先级值,以及
2)针对所述至少两个VLAN中的所述给定VLAN,由所述VRRP路由器向所述至少一个VRRP对等设备发送所述VRRP路由器是所述一组VRRP路由器的所述主机的通知。
2.根据权利要求1所述的计算机实现的方法,其中所述GLB ID是在1到15之间的值。
3.根据权利要求1所述的计算机实现的方法,其中所述GLB ID在VRRPv3格式化的分组中被发送。
4.根据权利要求3所述的计算机实现的方法,其中所述GLB ID由所述VRRPv3格式化的分组的RSVD字段中的比特表示。
5.根据权利要求1所述的计算机实现的方法,其中针对所述至少两个VLAN中的所述给定VLAN,由所述VRRP路由器针对所述一组VRRP路由器调节所述VRRP路由器的优先级值的动作包括:针对所述至少两个VLAN中的所述给定VLAN,增加所述优先级值。
6.根据权利要求1所述的计算机实现的方法,其中针对所述至少两个VLAN中的所述给定VLAN,由所述VRRP路由器针对所述一组VRRP路由器调节所述VRRP路由器的优先级值的动作包括:针对所述至少两个VLAN中的所述给定VLAN,将所述优先级值增加到最大值。
7.根据权利要求1所述的计算机实现的方法,其中针对所述至少两个虚拟局域网VLAN中的每个VLAN,为所述一组对等VRRP路由器选择主机的动作包括:针对每个VLAN,使用与每个VRRP路由器相关联的相应优先级值。
8.一种在局域网LAN上提供的虚拟路由器冗余协议VRRP路由器,所述VRRP路由器包括:
a)至少一个处理器;以及
b)非暂态存储介质,存储处理器可执行指令,所述处理器可执行指令在由所述至少一个处理器执行时引起所述至少一个处理器执行方法,所述方法包括:
1)由所述局域网LAN上的所述VRRP路由器接收将与所述VRRP路由器相关联的组负载均衡标识符GLB ID值,
2)由所述VRRP路由器向所述LAN上的至少一个对等VRRP路由器发送所述GLB ID值,所述LAN上的所述VRRP路由器和所述至少一个对等VRRP路由器定义一组对等VRRP路由器,
3)由所述VRRP路由器从所述LAN上的对等VRRP路由器接收第二GLB ID值,所述第二GLBID值与所述对等VRRP路由器相关联,
4)针对至少两个虚拟局域网VLAN中的每个VLAN,为所述一组对等VRRP路由器选择主机,以及
5)针对所述至少两个VLAN中的给定VLAN,响应于所述VRRP路由器选择自己作为所述一组VRRP路由器的所述主机,
针对所述至少两个VLAN中的所述给定VLAN,由所述VRRP路由器针对所述一组VRRP路由器调节所述VRRP路由器的优先级值,以及
针对所述至少两个VLAN中的所述给定VLAN,由所述VRRP路由器向所述至少一个VRRP对等设备发送所述VRRP路由器是所述一组VRRP路由器的所述主机的通知。
9.根据权利要求8所述的VRRP路由器,其中所述GLB ID是在1到15之间的值。
10.根据权利要求8所述的VRRP路由器,其中所述GLB ID在VRRPv3格式化的分组中被发送。
11.根据权利要求10所述的VRRP路由器,其中所述GLB ID由所述VRRPv3格式化的分组的RSVD字段中的比特表示。
12.根据权利要求8所述的VRRP路由器,其中针对所述至少两个VLAN中的所述给定VLAN,由所述VRRP路由器针对所述一组VRRP路由器调节所述VRRP路由器的优先级值的动作包括:针对所述至少两个VLAN中的所述给定VLAN,增加所述优先级值。
13.根据权利要求8所述的VRRP路由器,其中针对所述至少两个VLAN中的所述给定VLAN,由所述VRRP路由器针对所述一组VRRP路由器调节所述VRRP路由器的优先级值的动作包括:针对所述至少两个VLAN中的所述给定VLAN,将所述优先级值增加到最大值。
14.根据权利要求8所述的VRRP路由器,其中针对所述至少两个虚拟局域网VLAN中的每个VLAN,为所述一组对等VRRP路由器选择主机的动作包括:针对每个VLAN,使用与每个VRRP路由器相关联的相应优先级值。
15.一种存储处理器可执行指令的非暂态存储介质,所述处理器可执行指令在由局域网LAN上的虚拟路由器冗余协议VRRP路由器的至少一个处理器执行时引起所述至少一个处理器执行方法,所述方法包括:
a)由所述局域网LAN上的所述VRRP路由器接收将与所述VRRP路由器相关联的组负载均衡标识符GLB ID值,
b)由所述VRRP路由器向所述LAN上的至少一个对等VRRP路由器发送所述GLB ID值,所述LAN上的所述VRRP路由器和所述至少一个对等VRRP路由器定义一组对等VRRP路由器,
c)由所述VRRP路由器从所述LAN上的对等VRRP路由器接收第二GLB ID值,所述第二GLBID值与所述对等VRRP路由器相关联,
d)针对至少两个虚拟局域网VLAN中的每个VLAN,为所述一组对等VRRP路由器选择主机,以及
e)针对所述至少两个VLAN中的给定VLAN,响应于所述VRRP路由器选择自己作为所述一组VRRP路由器的所述主机,
针对所述至少两个VLAN中的所述给定VLAN,由所述VRRP路由器针对所述一组VRRP路由器调节所述VRRP路由器的优先级值,以及
针对所述至少两个VLAN中的所述给定VLAN,由所述VRRP路由器向所述至少一个VRRP对等设备发送所述VRRP路由器是所述一组VRRP路由器的所述主机的通知。
16.根据权利要求15所述的非暂态存储介质,其中所述GLB ID是在1到15之间的值。
17.根据权利要求15所述的非暂态存储介质,其中所述GLB ID在VRRPv3格式化的分组中被发送。
18.根据权利要求17所述的非暂态存储介质,其中所述GLB ID由所述VRRPv3格式化的分组的RSVD字段中的比特表示。
19.根据权利要求15所述的非暂态存储介质,其中针对所述至少两个VLAN中的所述给定VLAN,由所述VRRP路由器针对所述一组VRRP路由器调节所述VRRP路由器的优先级值的动作包括:针对所述至少两个VLAN中的所述给定VLAN,增加所述优先级值。
20.根据权利要求15所述的非暂态存储介质,其中针对所述至少两个VLAN中的所述给定VLAN,由所述VRRP路由器针对所述一组VRRP路由器调节所述VRRP路由器的优先级值的动作包括:针对所述至少两个VLAN中的所述给定VLAN,将所述优先级值增加到最大值。
21.根据权利要求15所述的非暂态存储介质,其中针对所述至少两个虚拟局域网VLAN中的每个VLAN,为所述一组对等VRRP路由器选择主机的动作包括:针对每个VLAN,使用与每个VRRP路由器相关联的相应优先级值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/813,574 | 2020-03-09 | ||
US16/813,574 US11025708B1 (en) | 2020-03-09 | 2020-03-09 | Group load balancing for virtual router redundancy |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113381930A CN113381930A (zh) | 2021-09-10 |
CN113381930B true CN113381930B (zh) | 2022-10-25 |
Family
ID=70975722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010476328.6A Active CN113381930B (zh) | 2020-03-09 | 2020-05-29 | 用于虚拟路由器冗余的组负载均衡 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11025708B1 (zh) |
EP (1) | EP3879765B1 (zh) |
CN (1) | CN113381930B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143051A (zh) * | 2010-10-27 | 2011-08-03 | 华为数字技术有限公司 | 虚拟路由冗余协议负载分担的方法和系统 |
CN104168193A (zh) * | 2014-08-12 | 2014-11-26 | 华为技术有限公司 | 一种虚拟路由器冗余协议故障检测的方法及路由设备 |
WO2017002017A1 (en) * | 2015-07-02 | 2017-01-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Fast convergence in vrrp with multipoint bidirectional forwarding detection |
CN107294845A (zh) * | 2017-07-31 | 2017-10-24 | 杭州迪普科技股份有限公司 | Vrrp负载均衡方法和装置 |
US10382329B1 (en) * | 2016-09-30 | 2019-08-13 | Juniper Networks, Inc. | Source MAC access controls in a virtual redundant router protocol environment |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9100274B1 (en) | 2012-08-14 | 2015-08-04 | Juniper Networks, Inc. | Enhanced virtual router redundancy protocol having inherit groups and advertisement count |
US20160080249A1 (en) * | 2014-09-17 | 2016-03-17 | Telefonaktiebolaget L M Ericsson (Publ) | Prevent vrrp master / master split in active / standby icr system |
US10326701B2 (en) * | 2016-08-17 | 2019-06-18 | Arris Enterprises Llc | Intelligent selection of a designated forwarder and a master router for router redundancy |
-
2020
- 2020-03-09 US US16/813,574 patent/US11025708B1/en active Active
- 2020-05-29 CN CN202010476328.6A patent/CN113381930B/zh active Active
- 2020-06-01 EP EP20177699.4A patent/EP3879765B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143051A (zh) * | 2010-10-27 | 2011-08-03 | 华为数字技术有限公司 | 虚拟路由冗余协议负载分担的方法和系统 |
CN104168193A (zh) * | 2014-08-12 | 2014-11-26 | 华为技术有限公司 | 一种虚拟路由器冗余协议故障检测的方法及路由设备 |
WO2017002017A1 (en) * | 2015-07-02 | 2017-01-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Fast convergence in vrrp with multipoint bidirectional forwarding detection |
US10382329B1 (en) * | 2016-09-30 | 2019-08-13 | Juniper Networks, Inc. | Source MAC access controls in a virtual redundant router protocol environment |
CN107294845A (zh) * | 2017-07-31 | 2017-10-24 | 杭州迪普科技股份有限公司 | Vrrp负载均衡方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US11025708B1 (en) | 2021-06-01 |
CN113381930A (zh) | 2021-09-10 |
EP3879765A1 (en) | 2021-09-15 |
EP3879765B1 (en) | 2023-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3573293B1 (en) | Reducing or eliminating routing microloops in networks having a clos topology, such as data center clos networks employing the exterior border gateway protocol (ebgp) for example | |
US11057243B2 (en) | Aliasing behavior for traffic to multihomed sites in ethernet virtual private network (EVPN) networks | |
US12034635B2 (en) | Using and processing per slice segment identifiers in a network employing segment routing | |
US10594592B1 (en) | Controlling advertisements, such as Border Gateway Protocol (“BGP”) updates, of multiple paths for a given address prefix | |
CN112565046B (zh) | 同步多播路由器能力 | |
US11349735B2 (en) | Faster fault-detection mechanism, for example using bidirectional forwarding detection (BFD), on network nodes and/or hosts multihomed using a link aggregation group (LAG) | |
EP3764606A1 (en) | Resilient multiprotocol label switching (mpls) rings using segment routing | |
US11057295B1 (en) | Loop avoidance and egress link protection with ethernet virtual private network (EVPN) fast reroute (FRR) | |
US11765077B1 (en) | Ping and traceroute in inter-autonomous system (AS) segment routing (SR) networks without requiring headend router or path monitoring system (PMS) controller knowledge of topology outside of origin AS | |
US11876706B2 (en) | Avoiding loops by preventing further fast reroute (FRR) after an earlier FRR | |
US11706193B2 (en) | Intelligent flow state synchronization to improve resiliency, availability, and/or performance of redundant network security devices | |
US11451478B1 (en) | Distributed tactical traffic engineering (TE) using loop free alternative (LFA), remote-LFA (R-LFA) and/or topology independent-LFA (TI-LFA) secondary paths | |
CN113381930B (zh) | 用于虚拟路由器冗余的组负载均衡 | |
US10728137B1 (en) | Protocol independent multicast (“PIM”) fault tolerant designated router (“DR”) election | |
EP4401364A1 (en) | Reducing convergence time and/or avoiding split-brain in multi-homed ethernet segment deployments, such as esi-lag deployments | |
US20250007834A1 (en) | Using udp port numbers for service delimiting, such as for delimiting virtual routing and forwarding instances in layer 3 tunnels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |