负载均衡模式下的虚拟转发器
扫描二维码
随时随地手机看文章
通过前面介绍的 Master 路由器虚拟 MAC 地址的分配功能实现了不同主机将流量发送给备份组中不同的路由器。但为了使备份组中的路由器能够转发主机发送的流量,还需要在路由器上创建虚拟转发器。每个虚拟转发器都对应备份组的一个虚拟 MAC 地址,负责转发目的 MAC 地址为该虚拟 MAC 地址的流量。
1.虚拟转发器的创建
虚拟转发器的创建过程如下:
(1)备份组中的路由器获取到 Master 路由器为其分配的虚拟 MAC 地址后,创建该 MAC 地址对应的虚拟转发器,该路由器称为此虚拟 MAC 地址对应的虚拟转发器的 VF Owner(VirtualForwarder Owner,虚拟转发器拥有者)。
(2)该路由器将虚拟转发器的信息通告给备份组内其他的路由器。
(3)备份组内的其他路由器接收到该路由器发送的虚拟转发器信息后,会在本地创建该虚拟MAC 地址对应的虚拟转发器。
由此可见,备份组中的路由器上不仅需要创建 Master 路由器为其分配的虚拟 MAC 地址对应的虚拟转发器,还需要创建其他路由器通告的虚拟MAC 地址对应的虚拟转发器。
2.虚拟转发器的权重和优先级
虚拟转发器的权重标识了路由器的转发能力。权重值越高,路由器的转发能力越强。当权重低于一定的值——失效下限时,路由器无法再为主机转发流量。
虚拟转发器的优先级用来决定虚拟转发器的状态:不同路由器上同一个虚拟 MAC 地址对应的虚拟转发器中,优先级最高的虚拟转发器处于 Active 状态,称为 AVF(Active Virtual Forwarder),负责转发流量;其他虚拟转发器处于 Listening 状态,称为 LVF(Listening Virtual Forwarder),监听AVF 的状态。虚拟转发器的优先级取值范围为 0~255,其中,255 保留给 VF Owner 使用。如果VF Owner 的权重高于或等于失效下限,则 VF Owner 的优先级为最高值 255。
设备根据虚拟转发器的权重计算虚拟转发器的优先级的规则如下:
如果权重高于或等于失效下限,且设备为 VF Owner,则虚拟转发器的优先级为最高值255。
如果权重高于或等于失效下限,且设备不是 VF Owner,则虚拟转发器的优先级为权重/(本地 AVF 的数目+1)。
如果权重低于失效下限,则虚拟转发器的优先级为 0。
3.虚拟转发器备份
备份组中不同路由器上同一个虚拟 MAC 地址对应的多个虚拟转发器之间形成备份关系。在如图 4-9所示的示例中,说明了备份组中每个路由器上的虚拟转发器信息及其备份关系。
图4-9 负载均衡模式下的虚拟转发器备份
在本示例中,Master 路由器 Router A 为自己、Router B、Router C 分配的虚拟 MAC 地址分别为 000fe2ff0011、000fe2ff0012和 000fe2ff0013。虚拟 MAC 地址对应的虚拟转发器分别为 VF1、VF 2 和 VF 3。在 Router A、Router B 和 Router C 上都创建了这三个虚拟转发器,并形成备份关系。例如,Router A、Router B 和 Router C 上的 VF 1 互相备份:
Router A 为 VF 1 的 VF Owner,Router A 上 VF 1 的虚拟转发器优先级为最高值255。因此,Router A 上的 VF 1 作为 AVF,负责转发目的 MAC 地址为虚拟 MAC 地址 000fe2ff0011的流量。
Router B 和 Router C 上 VF 1 的虚拟转发器优先级为:权重 255/(本地 AVF 数目+1)=127,低于 Router A 上 VF 1 的优先级。因此,Router B 和 Router C 上的 VF 1 作为LVF,监视 Router A 上 VF 1 的状态。
在 Router A 上的 VF 1 出现故障时,将从 Router B 和 Router C 上的 VF 1 中选举出虚拟转发器优先级最高的 LVF 作为 AVF,负责转发目的 MAC 地址为虚拟 MAC 地址 000fe2ff0011的流量。
【说明】虚拟转发器始终工作在抢占模式。对于不同路由器上互相备份的 LVF 和 AVF,如果LVF 接收到 AVF 发送的虚拟转发器信息中虚拟转发器优先级低于本地虚拟转发器优先级,则 LVF将会抢占成为 AVF。
4.虚拟转发器的定时器
虚拟转发器的 AVF 出现故障后,接替其工作的新的 AVF 将为该 VF 创建 Redirect Timer 和Timeout Timer 两个定时器。
Redirect Timer:VF 重定向定时器。该定时器超时前,Master 路由器还会采用该 VF 对应的虚拟 MAC 地址应答主机的 ARP/ND 请求;该定时器超时后,Master 路由器不再采用该VF 对应的虚拟 MAC 地址应答主机的 ARP/ND 请求。如果 VF Owner 在 Redirect Timer 超时前恢复,则 VF Owner 可以迅速参与流量的负载分担。
Timeout Timer:VF 生存定时器,即 AVF 接替 VF Owner 工作的期限。该定时器超时前,备份组中的路由器上都保留该 VF,AVF 负责转发目的 MAC 地址为该 VF 对应虚拟 MAC地址的报文;该定时器超时后,备份组中的路由器上都删除该 VF,不再转发目的 MAC地址为该 VF 对应虚拟 MAC 地址的报文。
5.虚拟转发器的监视功能
AVF 负责转发目的 MAC 地址为虚拟转发器 MAC 地址的流量,当 AVF 连接的上行链路出现故障时,如果不能及时通知 LVF 接替其工作,局域网中以此虚拟转发器 MAC 地址为网关 MAC 地址的主机将无法访问外部网络。
虚拟转发器的监视功能可以解决上述问题。利用NQA(Network Quality Analyzer,网络质量分析)、BFD(Bidirectional Forwarding Detection,双向转发检测)等监测 AVF 连接的上行链路的状态,并通过 Track 功能在虚拟转发器和 NQA/BFD 之间建立联动。当上行链路出现故障,Track 项的状态变为 Negative,虚拟转发器的权重将降低指定的数额,以便虚拟转发器优先级更高的路由器抢占成为 AVF,接替其转发流量。
虚拟转发器监视功能还可以用来在 LVF 上通过 Track 监视 AVF 的状态,当 AVF 出现故障时,工作在虚拟转发器快速切换模式的 LVF 能够迅速成为 AVF,以保证通信不会中断。