
VRRP协议简介msn: yfydz_no1@hotmail.com来源: 参考资料: RFC37681. 简介VRRP(虚拟路由器冗余协议)协议是用于实现路由器冗余的协议,最新的协议在RFC3768中定义,原始定义为RFC2338. 已被废除,新协议已相对简化了某些功能. 2.协议描述2.1协议VRRP协议旨在消除在静态默认路由环境中默认路由器的单点故障导致的网络故障. 该协议旨在在发生故障时切换设备功能. 影响内部和外部数据通信,无需修改内部网络的网络参数. VRRP协议需要具有IP地址备份,优先级路由和路由器之间不必要的通信等功能. VRRP协议将两个或多个路由器设备虚拟化为一个设备,并在外部提供虚拟路由器IP(一个或多个). 在路由器组中,如果实际拥有外部IP的路由器正常工作,则为MASTER,通过算法选举生成,MASTER为虚拟路由器IP实现各种网络功能,例如ARP请求,ICMP和数据转发;其他设备不拥有IP,并且状态为BACKUP,除了接收MASTER的VRRP状态通知信息外,不执行外部网络功能.

当主机发生故障时,BACKUP将接管原始MASTER的网络功能. 在配置VRRP协议时,需要配置虚拟路由器ID(VRID)和每个路由器的优先级值. 使用VRID对路由器进行分组. 具有相同VRID值的路由器属于同一组. VRID是0到255之间的正整数;相同组中的路由器使用优先级值选举MASTER. 更高的优先级是MASTER. 优先级也是从0到255的正整数. VRRP协议使用多播数据来传输VRRP数据. VRRP数据使用特殊的虚拟源MAC地址而不是其自己的网卡的MAC地址来发送数据. VRRP运行时,只有MASTER路由器会定期发送VRRP通知信息,表明MASTER正常工作,并且虚拟路由器IP(组),BACKUP仅接收VRRP数据,不发送数据. 如果在一定时间内没有收到MASTER的公告信息,则每个BACKUP都将自己公告为MASTER,发送公告信息,并重新选择MASTER的选举状态. 2.2 MASTER的选择如果外部虚拟路由器IP是路由器本身配置的IP地址,则路由器将始终为MASTER;否则,如果没有虚拟IP,将进行MASTER选举,每个路由器将自己声明为MASTER,并发送VRRP通知信息. 如果从其他计算机接收到的通知信息的优先级高于其自身的优先级,它将返回到BACKUP状态;如果优先级相等,则将比较路由器的实际IP,并且IP值越大,优先级越高;但是如果虚拟路由器IP是路由器自身的IP,则外部路由器将始终为MASTER,并且此时的优先级值为255.

2.3协议状态机VRRP协议状态相对简单. 共有三种状态: 初始化,主机和备份计算机. 1. 2. 3. 4. 5. 6. 7. 7. 9. 9. 11. 11.复制代码+ --------------- + + ----- ----> | | | | | | | + ------ | | | V初始化| <------------- + | | ----------+ | | V | | | | | + --------------- ++ --------------- + | | 硕士+-------------- + |备份| || ----------------------> | | || <--- ------------------- | + --------------- ++ ------------ --- +初始化: 路由器启动时,如果路由器的优先级为255(优先级最高的路由器(具有路由器地址),需要发送VRRP通告信息和广播ARP信息以通告与路由器IP地址相对应的MAC地址是路由虚拟MAC,设置通知信息计时器以准备发送定期备份VRRP通知信息,并切换为MASTER状态;否则进入BACKUP状态,设置计时器以检查计时以检查是否收到MASTER通知信息.

主机: 处于主机状态的路由器应完成以下功能: 设置定时器通知定时器;使用VRRP虚拟MAC地址响应路由器IP地址的ARP请求;转发目的MAC为VRRP虚拟MAC的数据报文;的所有者将接受数据包,该数据包的目标地址是虚拟路由器的IP地址,否则将被丢弃;当接收到关闭事件时,将删除定时器通知定时器,并将优先级为0的通知报文发送到初始化状态;如果定时通知是定时的,设备超时时发送VRRP通知信息;当接收到VRRP通知信息时,如果优先级为0,则发送VRRP通知信息. 否则判断数据优先级是否高于本机或等于本机的实际IP地址大于本地实际IP,设置定时器通知定时器,复位主机超时定时器,并进入BACKUP状态. 否则,丢弃该通知包;备用: 路由器处于备用状态应实现以下功能: 设置主机超时定时器;无法响应虚拟路由器IP ARP请求信息;全部丢弃虚拟路由器的MAC地址是虚拟路由器的MAC地址的数据包;不接受所有以虚拟路由器的IP为目的的数据包;当接收到关闭事件时,删除主机超时定时器并转移初始化状态;当主机超时定时器超时时,向其发送VRRP通告信息,广播ARP地址信息,并转为MASTER状态. 当接收到VRRP通告信息时,如果优先级为0,则表示进入MASTER选举. 否则判断数据优先级是否高于机器,如果优先级高,则确认MASTER有效,复位主机超时定时器;否则,丢弃该通知包; 2.4 ARP查询处理当内部主机通过ARP查询虚拟路由器IP地址对应的MAC地址时,MASTER路由器返回的MAC地址是虚拟VRRP MAC地址,而不是实际网卡的MAC地址,因此当路由器切换时,内部网络机器将不知道;并且当路由器重新启动时,它无法主动发送本地网卡的实际MAC地址.

如果虚拟路由器启用了ARP代理(proxy_arp)功能,则代理ARP响应还将响应VRRP虚拟MAC地址; 2.5 VRRP应用示例1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.VRID = 1 + ---------- -+ | Rtr1 | + ----------- + | Rtr2 || (MR VRID = 1)| | (BR VRID = 2)| + ----------- + | (BR VRID = 1)| | (MR VRID = 2)| + ----------- + VRID = 2IP A ----------> * | | * <---------- IP B | | ----------- ------- + ------------ + ----- + -------- +- ----- + ----- --- +-^ | (IP A)| +-+-+ | H1 | ^ | (IP A)| +-+-+ | H2 | ^ | (IP B)| +-+-+ | H3 | ^ | (IP B)| +-+-+ | H4 | + ----- ++ ----- ++-+-++-+-+ 17. 18. 19. 20. 21. 22. 23.复制代码图例: --- + --- + --- + -H MR BR *(IP)= = = = = =以太网,令牌环或FDDI主机计算机主路由器备份路由器IP地址主机的默认路由器这是VRRP常用的拓扑. 两个路由器运行VRRP互相备份. 路由器1作为VRID组1的主服务器,IP地址A,VRID组2的备份,路由器2 MASTER作为VRID组2,IP地址B,VRID 1 BACKUP,内部网络中某些计算机的默认网关地址为IP. 地址A,其中一些是IP地址B. 通常,以A为网关的数据将流向路由器1,以B为网关的数据将流向路由器2. 如果一台路由器发生故障,所有数据将流向路由器2. 其他路由器.
3. 协议定义3.1以太网源MAC地址必须为虚拟MAC地址: 00-00-5E-00-01- {VRID},VRID为虚拟路由器ID值,十六进制格式,因此在同一网段中最多255个VRRP路由器;目的MAC是组播类型的MAC. 从这里可以看出,VRID非常重要. 3.2 IP报头参数VRRP报文的源地址是本地地址,目的地址必须是224.0.0.18,即组播地址. IP协议号为112; IP数据包的TTL值必须为255. 3.3 VRRP协议数据格式1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.复制代码0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+ -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -+-+-+ |版本|类型虚拟Rtr ID |优先|计算IP地址| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+ |验证类型| Adver Int |校验和+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+ | IP地址(1)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+ | | | ... | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+ | IP地址(n)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+ |验证数据(1)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+ |验证数据(2)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+其中: version: 版本,4位数字,在RFC3768中定义为2;类型: 类型,4位,目前仅定义一种类型: 广告数据,值为1;虚拟Rtr ID: 虚拟路由器ID,8位优先级: 8位vrrp协议号,具有冗余IP地址设备的优先级为255;设备的优先级为255. IP地址计数: VRRP报文中的IP地址数量,8位;认证类型: 认证类型,为8位,RFC3768中的认证功能已被取消,该字段的值定义为0(不认证),仅与旧版本兼容为1、2. Adver Int: 发送通知包的时间间隔,为8位,单位为秒,缺省值为1秒;校验和: 校验和,为16位,校验数据范围仅为VRRP数据,即从VRRP版本字段开始的数据不包括IP报头; IP地址: 与虚拟路由器关联的IP地址,该数字由Count IP Addrs Authentication Data确定. RFC3768仅出于与旧版本的兼容性而定义此字段,必须将其设置为0.
3.4接收数据时,在接收VRRP数据包时必须检查以下验证. 不满意的数据包将被丢弃: -TTL必须为255; -VRRP版本号必须为2;-数据包中的数据字段必须完整;-校验和必须正确;-必须验证在接收的网络上配置了VRID值卡,并且本地路由器不是路由IP地址的所有者-必须验证VVRP身份验证类型和配置是否一致; 4.结论已经实现了VRRP路由器IP地址的冗余功能可防止由于单点故障而导致的网络故障. VRRP本身采用热备份的形式,但是路由器可以通过相互进行热备份来平衡. 新版本的VRRP简化了身份验证过程. 实际上,不再执行数据身份验证. 这是因为在实际应用中vrrp协议号,身份验证通常会变成异常情况,从而导致同时使用多个MASTER.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-207855-1.html
奋斗
老家台湾的
还是蒋委员长说的对