一文读懂keepalive的工作原理( 二 )

  • Count IP Addrs:VRRP通告报文中包含的IP地址数量,这个字段其实就是为一个VRRP虚拟路由器所分配的IP地址的数量,
  • Auth Type:认证类型字段,是一个8位的无符号整数,一个虚拟路由器只能使用一种认证类型,如果Backup路由器收到的通告报文中认证类型字段是未知的或和本地配置的不匹配,那么它将丢弃该数据包 。
  • 目前支持3种认证方式:无认证,简单字符,和MD5认证 。
  • Adver Int::此字段规定了Mater路由器向外发送VRRP通告报文的时间间隔,以秒为单位,取值范围是[1,255],若没有人工配置,缺省为1秒 。
  • Checksum:整个VRRP报文的校验和,计算过程中,将Checksum字段置为0,计算完成后将结果填入此字段 。若希望进一步了解Checksum的计算,可以查看RFC1071(CKSM) 。
  • IP Address:此字段存放3个VRRP虚拟路由器的虚拟IP地址,配置了几个就封装几个,在上面的cisco实例中我们配置了三个,那么VRRP通告报文就会封装3个 。
  • Authentication Data:RFC3768中规定,此字段只是为了向RFC2338兼容,在实际的封装时,全置为0.,接收方也会忽略此字段 。
  • 虚拟MAC地址组成方式是00-00-5E-00-01-{VRID},前三个字节00-00-5E是IANA组织分配的,接下来的两个字节00-01是为VRRP协议指定的,最后的VRID是虚拟路由器标识,取值范围[1,255]
    VRID虚拟路由器标识,在同一个VRRP组内的路由器必须有相同的VRID
    其他Keepalive内置了一个模块,可以通过配置文件操作内核,向ipvs添加规则,创建LVS 。这又是另一个关键组件,就不在本节讨论了 。
    keepalived进程keepalived启动时有3个进程:
    • 主进程,监控其他子进程
    • vrrp子进程,负责vrrp通信
    • checker子进程,检测服务状态;如果服务不可用,则通知vrrp子进程,发降级通告


    推荐阅读