4.7.7  VRRP路由

4.7.7 VRRP路由

1.VRRP路由概述

VRRP为Virtual Router Redundancy Protocol的缩写,意为虚拟路由冗余协议。简单来说,VRRP是一种容错协议,用于构建一个虚拟路由器,保证当主机的下一跳路由器坏掉时,可以及时的由另一台路由器来代替,从而保持通信的连续性和可靠性。VRRP是仅适用于IPv4的路由协议。

为了使VRRP工作,一个虚拟路由器拥有一个虚拟IP地址和一个虚拟MAC地址,当这个网络上的主机与虚拟路由器通信时,无需了解这个网络上物理路由器的任何信息。一个虚拟路由器由一个主路由器(Master)和若干个备份路由器(Backup)组成,主路由器实现真正的数据转发功能。当主路由器出现故障时,备份路由器成为新的主路由器,接替它的工作,这个过程大约在3s内完成。

根据图4-251所示的VRRP网络拓扑,路由器Switch A、Switch B的本身的IP地址分别为192.168.0.100,192.168.0.101。Switch A和Switch B分别为VLAN10和VLAN100两个子网创建两个虚拟路由器,这两个虚拟路由器拥有自己的虚拟IP地址分别为192.168.10.1,192.168.100.1,其 中192.168.10.1是VLAN10子网的虚拟网关IP地址,而192.168.100.1是VLAN100子网的虚拟网关IP地址。两个局域网内的主机仅仅知道各自虚拟路由器的虚拟网关IP地址,而并不知道具体的路由器Switch A、Switch B的本身的IP地址。网络内的主机之间就通过这个虚拟的路由器来进行通信。而对于这个虚拟路由器则需要进行如下工作:

978-7-111-37169-4-Chapter04-256.jpg

图4-251 VRRP网络拓扑

1)根据优先级的大小挑选主路由器,优先级最大的为主路由器,若优先级相同,则比较接口的IP地址,接口的IP地址大的就成为主路由器,由它提供实际的路由服务。这样可以根据需要组态,可有效分配路由器之间的负荷。一个虚拟路由器可以拥有一个或多个IP地址,由用户配置,如果虚拟IP地址与实际接口地址相同,则这个路由器就是IP地址拥有者(IP address owner),且成为主路由器(Master)。在SCALANCE X414-3E设置时,可以通过设置“Router is Master”选择一台路由器接口作为主路由器Master。

2)其他路由器作为备份路由器,随时监测主路由器的状态。当主路由器正常工作时,它会每隔一段时间(Advertisement Interval,SCALANCE X414-3E的VRRP的Adver-tisement Interval的默认时间为1s)发送一个VRRP组播报文,以通知组内的备份路由器,主路由器处于正常工作状态。当组内的备份路由器长时间(Mater Down Interval)没有接收到来自主路由器的报文,则将自己转为主路由器。当组内有多台备份路由器时,将有可能产生多个主路由器。这时每一个主路由器就会比较VRRP报文中的优先级(Priority)和自己本地的优先级,如果本地的优先级小于VRRP中的优先级,则将自己的状态转为备份路由器,否则保持自己的状态不变。SCALANCE X414-3E设置该模式为抢占模式(Pre-empt Mode)。通过这样一个过程,就会将优先级最大的路由器选成新的主路由器,完成VRRP的备份功能。

从上述分析可以看到,对于网络中的主机来说,它并没有做任何额外的工作,它对外的通信也不会因为一台路由器坏掉而受到影响。

目前,西门子高端工业以太网交换机中,仅有SCALANCE X414-3E交换机支持VRRP。

2.VRRP路由组态

本例网络拓扑由2台交换机SCALANCE X414-3E,分别称为Switch A和Switch B。Switch C和Switch D为SCALANCE X204-2,通过端口分别与Switch A和Switch B的Port9.1和Port10.1相连。PG/PC1、PG/PC2分别与Switch C和Switch D相连。相应的IP地址和参考SCALANCE X-400具体组态VLAN的方法,请参照4.4节VLAN组态。

(1)组态Switch A

通过IE浏览器打开Switch A的Web页面,输入用户名和密码,均为“admin”。在单击目录树“Switch”→“VLAN”,单击右侧的页面“New Entry”按钮,按照组态要求给对应的端口添加VLAN10和VLAN100,如图4-252所示。

978-7-111-37169-4-Chapter04-257.jpg

图4-252 添加VLAN10和VLAN100

依次单击目录树“Router”→“Subnets”,然后单击右侧的页面“New Entry”按钮,给VLAN10增加一个192.168.10.3/24的网关,单击“Set Values”按钮结束设置,如图4-253所示。

978-7-111-37169-4-Chapter04-258.jpg

图4-253 给VLAN10增加一个网关

按照同样的方式给VALN100增加一个192.168.100.2/24的网关,单击“Set Values”按钮结束设置,如图4-254所示。

978-7-111-37169-4-Chapter04-259.jpg

图4-254 给VLAN 100增加一个网关

结果如图4-255所示。

978-7-111-37169-4-Chapter04-260.jpg

图4-255 设置结果

依次单击目录树“Router”→“VRRP”→“Routers”,然后单击右侧的页面“New En-try”按钮。给192.168.10.∗网段(即VLAN10的子网)新建一个虚拟路由器10,即VLAN ID 10和VR ID 10。优先级(Priority)和发送VRRP报文时间间隔(Advertisement Interval)保持默认状态,如图4-256所示。单击“Set Values”按钮结束设置。可见虚拟MAC地址为00-00-5E-00-01-0A,其中0A就是VR ID=10的16进制。

978-7-111-37169-4-Chapter04-261.jpg

图4-256 新建一个虚拟路由器10

再次单击“New Entry”按钮。给192.168.100.∗(即VLAN100的子网)网段新建一个虚拟路由器100,即VLAN ID 100和VR ID 100。优先级(Priority)和发送VRRP报文时间间隔(Advertisement Interval)保持默认状态。单击“Set Values”按钮结束设置,如图4-257所示。可见虚拟MAC地址为00-00-5E-00-01-64,其中64就是VR ID=100的16进制。

978-7-111-37169-4-Chapter04-262.jpg

图4-257 新建一个虚拟路由路100

依次单击目录树“Router”→“VRRP”→“Addresses”,可见“Associated IP Addres-ses”。单击978-7-111-37169-4-Chapter04-263.jpg,给虚拟路由器10添加虚拟IP 192.168.10.1。单击“Set Values”按钮结束,如图4-258所示。

使用同样的方法,给虚拟路由器100添加虚拟IP 192.168.100.1,如图4-259所示。

(2)组态Switch B

通过IE浏览器打开Switch B的Web页面,输入用户名和密码,均为“admin”。再依次单击目录树“Switch”→“VLAN”,单击右侧的页面“New Entry”按钮,按照组态要求给对应的端口添加VLAN10和VLAN100,如图4-260所示。

978-7-111-37169-4-Chapter04-264.jpg

图4-258 给虚拟路由器10添加虚拟IP

978-7-111-37169-4-Chapter04-265.jpg

图4-259 给虚拟路由器100添加虚拟IP

978-7-111-37169-4-Chapter04-266.jpg

图4-260 添加VLAN10和VLAN100

依次单击目录树“Router”→“Subnets”,然后单击右侧的页面“New Entry”按钮,给VLAN10增加一个192.168.10.2/24的网关,单击“Set Values”按钮结束设置,如图4-261所示。

978-7-111-37169-4-Chapter04-267.jpg

图4-261 给VLAN10增加一个网关

接下来,按照同样的方式给VALN100增加一个192.168.100.3/24的网关,单击“Set Values”按钮结束设置,如图4-262所示。

978-7-111-37169-4-Chapter04-268.jpg

图4-262 给VLAN100增加一个网关

结果如图4-263所示。

978-7-111-37169-4-Chapter04-269.jpg

图4-263 设置结果

依次单击目录树“Router”→“VRRP”→“Routers”,然后单击右侧的页面“New En-try”按钮。给192.168.10.∗网段(即VLAN10的子网)加入虚拟路由器10,即VLAN ID10和VR ID 10。优先级(Priority)和发送VRRP报文时间间隔(Advertisement Interval)保持默认状态,如图4-264所示。单击“Set Values”按钮结束设置。可见虚拟MAC地址为00-00-5E-00-01-0A,其中0A就是VRID=10的16进制。

978-7-111-37169-4-Chapter04-270.jpg

图4-264 加入虚拟路由器10

再次单击“New Entry”按钮,给192.168.100.∗网段(即VLAN100的子网)加入虚拟路由器100,即VLAN ID 100和VR ID 100,如图4-265所示。优先级(Priority)和发送VR-RP报文时间间隔(Advertisement Interval)保持默认状态,单击“Set Values”按钮结束设置。可见虚拟MAC地址为00-00-5E-00-01-64,其中64就是VRID=100的16进制。

978-7-111-37169-4-Chapter04-271.jpg

图4-265 加入虚拟路由器100

依次单击目录树“Router”→“VRRP”→“Addresses”,可见“Associated IP Addres-ses”。单击1010,给虚拟路由器10添加虚拟IP 192.168.10.1,单击“Set Values”按钮结束。如图4-266所示。

978-7-111-37169-4-Chapter04-272.jpg

图4-266 给虚拟路由器10添加虚拟IP

使用同样的方法,给虚拟路由器100添加虚拟IP 192.168.100.1,如图4-267所示。

978-7-111-37169-4-Chapter04-273.jpg

图4-267 给虚拟100添加虚拟IP

按照VRRP网络拓扑结构,相关的设备相连在一起。设置主机的IP地址和网关地址等等。观察路由器Switch A和Switch B的VRRP的结果。

在正常连接的情况下,PG/PC1仅能访问Switch A,依次单击目录树“Router”→“VR-RP”→“Routers”,查看VRRP结果如图4-268所示。根据如果虚拟路由器的优先级相同,IP地址大的接口成为为主路由器。所以虚拟IP 192.168.10.1的Master IP Address是192.168.10.3,这意味着对于VLAN10的虚拟路由器的主(Master)路由器是Switch A,Switch B是备份(Backup)路由器。虚拟IP 192.168.100.1的Master IP address是192.168.100.3,这意味着对于VLAN100的虚拟路由器的主(Master)路由器是Switch B,Switch A是备份(Backup)路由器。

978-7-111-37169-4-Chapter04-274.jpg

图4-268 查看VRRP结果(Switch A)

在正常连接的情况下,PG/PC2仅能访问Switch B,单击目录树“Router”→“VRRP”→“Routers”,虚拟IP 192.168.100.1的Master IP是192.168.100.3,对于VLAN100的虚拟路由器的主(Master)路由器是Switch B。而VLAN10的虚拟路由器的主路由器是Switch A,Switch B的VRRP结果如图4-269所示。

978-7-111-37169-4-Chapter04-275.jpg

图4-269 查看VRRP结果(Switch B)

此时PG/PC1和PG/PC2可以相互Ping通。

断开Switch A或B的电源,观察192.168.10.99去Ping 192.168.100.99的结果,容错的过程时间大约3s,如图4-270。

假设断开Switch B的电源,这时PG/PC2可以访问Switch A,单击目录树“Router”→“VRRP”→“Routers”。可见虚拟IP 192.168.100.1的Master IP则是192.168.100.2,对于VLAN100的虚拟路由器的主(Master)路由器则成为Switch A,如图4-271所示。

978-7-111-37169-4-Chapter04-276.jpg

图4-270 观察Ping结果

978-7-111-37169-4-Chapter04-277.jpg

图4-271 断开Switch B电源,VLAN100的主路由器成为Switch A