admin管理员组文章数量:1641840
VRRP报文格式
VRRP协议的正常几作依赖于VRRP报文的正确收发。VRRP只定义了一种报文格式,即通告(Advertisement )报文,它被封装在IP报文,IP头部的协议号字段值为112,报文的目的IP地址是组播地址224.0.0.18。如下图所示,展示了VRRP报文格式:
字段的含义如下。
- 版本(Version ):对于VRRPv2来说,该字段的值恒为2。
- 类型(Type):VRRP只定义了通告报文这种报文类型,该字段的值恒为1。
- 虚拟路由器ID (VRID):虚拟路由器的标识符,取值范围是1~255,属于同一个VRRP组的路由器需使用相同的VRID。
- 优先级(Priority): 取值范围是0~255, 该值越大,则VRRP优先级越高,路由器也就越有可能成为Master。(缺省的VRRP优先级为100,HW)
- IP地址个数(Count IP Address): VRRP组中虚拟IP地址的个数。这个字段的值指示了该报文后续的“IP 地址”字段的个数。
- 认证类型(Authentication Type): VRRP报文的认证类型,有以下三种情况:
- 当该字段为0时,表示无认证(Non Authentication);
- 当该字段为1时,表示明文认证方式(Simple Text Password);
- 当该字段为2时,表示MD5认证方式(IP Authentication Header)。
- 通告间隔(Advertisement Interval):VRRP报文的发送时间间隔(单位为秒),,缺省情况下,VRRP 的报文发送时间间隔为1s。
- 校验和(Checksum):用于报文校验。
- IP地址(IP Address): VRRP虚拟IP地址。
- 认证数据(Authentication Data): VRRP认证数据,当VRRP明文认证或MD5认证被激活时,该字段则填充相应的数据。
VRRP状态机
VRRP定义了三种状态,RFC3768 (Virtual Router Redundancy Protocol)详细地描述了这些状态。
Initialize (初始状态)
- Initialize状态是VRRP的初始状态。在接口配置VRRP后,如果该接口是Down的(比如接口被关闭,或者没有连接任何线缆),那么该接口的VRRP状态将会停滞在Initalize。
- 当接口Up之后,如果其VRRP优先级为255 (这种情况发生在该接口的实际IP地址是VRRP虚拟IP地址的情况),那么接口的VRRP状态将由Initialize切换到Master,而如果接口的VRRP优先级不为255,则进入Backup状态。
Backup (备份状态)
处于Backup状态的路由器是VRRP组中的备份路由器,作为一台备份设备,它并不会参与数据转发工作,但是它会实时监控当前Master路由器的状态,并随时准备接替它的工作。Backup 路由器会进行如下工作:
- 对关于VRRP虚拟IP地址的ARP请求不予回应。
- 丢弃目的MAC地址为VRRP虚拟MAC地址的数据帧。
- 不接收目的IP地址为VRRP虚拟IP地址的数据包。
- 实时侦听Master路由器发送的VRRP报文,以便了解其工作状态。
- 当其收到一个VRRP报文时,有一下三种情况:
- 若该VRRP报文的优先级为0(意味着当前Master路由器希望主动放弃Master状态),则将Master_Down_Timer设置为Skew_Time。
- 若该VRRP报文的优先级不为0,则当抢占模式(Preempt Mode)未激活时,或者当VRRP报文中的优先级大于或等于本接口优先级时,将Master_Adver_Interval设置为VRRP报文中的Advertisement Interval字段值;并重置Master_Down_Timer,将Master_Down_Timer的时间设置为Master_Down_Interval。
- 若该VRRP报文的优先级不为0,则当抢占模式激活并且VRRP报文中的优先级小于本接口优先级时,忽略该VRRP报文,立即切换到Master状态。
- 当Master_Down_Timer超时(这意味着它认为当前的Master路由器已经失效),会有如下动作。
- 将接口的状态切换到Master
- 开始从接口发送自己的VRRP报文
- 从接口发送一个免费ARP Request (Gratuitous ARP Request)广播帧,该ARP Request携带了VRRP虚拟IP地址及虚拟MAC地址的绑定信息,用于刷新该接口所直连的广播域内的设备的ARP表、MAC地址表。
VRPP相关定时器
1 Master_Adver_Interval:Master路由器所发送VRRP报文中Advertisement Interval字段所填充的值,缺省时该值为1s。该时间间隔即Master路由器周期性发送VRRP报文的间隔。
2 Master_Down_Timer:Backup路由器将持续接收来自当前Master路由器的VRRP报文,每当报文到达时,Backup路由器上的Master_Down_Timer会被重置。如果一定时间内没有收到来自Master路由器的VRRP报文并导致Master_Down_Timer超时,那么Backup路由器将认为Master路由器己经失效。
3 Master_Down_Interval:一定时间没有收到来自Master路由器的VRRP报文后,Backup路由器可认为当前Master路由器已经失效。Master_Down_Interval = (3 * Master_Adver_Interval) +Skew_Time
4 Skew_Time:一个偏移时间,Skew_Time = ( ( 256 - VRRP优先级) * Master_Adver_Interval) / 256
Master(主状态)
处于Master状态的路由器是当前VRRP组的主路由器,它承担数据转发任务,Master路由器会进行如下工作:
- 当收到关于虚拟IP地址的ARP请求时,以虚拟MAC地址进行回应。
- 接收并转发目的MAC地址为虚拟MAC地址的报文。
- 周期性地发送VRRP报文,时间间隔缺省为1s。
- 当其收到一个VRRP报文时:
- 若该VRRP报文的优先级为0,则继续发送自己的报文。
- 若该VRRP报文的优先级不为0,并且比本接口的VRRP优先级值更小,则忽略该VRRP报文。
- 若该VRRP报文的优先级不为0,并且比本接口的VRRP优先级更大,或者VRRP优先级相等但是VRRP报文的源IP地址比本接口IP大,则将接口的状态切换到Backup。
版权声明:本文标题:VRRP报文格式和状态机 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1729328321a1196053.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论