最近在寫一個生成各種網絡封包的功能子產品,其中寫到VRRP時,網上搜到的關于VRRP幀格式的描述,好多都是錯的,最後在清默網絡http://www.023wg.com/kkxpz/78.html搜到的才是正确的。
當然你也可以直接參考RFC文檔
VRRPv2 參見RFC3768,https://tools.ietf.org/html/rfc3768
VRRPv3 參見RFC5798,https://tools.ietf.org/html/rfc5798
以下關于VRRP幀格式的描述摘自http://www.023wg.com/kkxpz/78.html:
目前,VRRP協定包括兩個版本:
VRRPv2和VRRPv3。VRRPv2僅适用于IPv4網絡,VRRPv3适用于IPv4和IPv6兩種網絡。
基于不同的網絡類型,VRRP可以分為VRRP for IPv4和VRRP for IPv6(簡稱VRRP6)。
VRRP for IPv4支援VRRPv2和VRRPv3,而VRRP for IPv6僅支援VRRPv3。
VRRPv2封包結構:
VRRPv3封包結構
各字段的含義如下表1所示:
表1 VRRP封包字段含義 | ||
封包字段 | 含義 | |
VRRPv2 | VRRPv3 | |
Version | VRRP協定版本号,取值為2。 | VRRP協定版本号,取值為3。 |
Type | VRRP通告封包的類型,取值為1,表示Advertisement。 | VRRP通告封包的類型,取值為1,表示Advertisement。 |
Virtual Rtr ID(VRID) | 虛拟路由器ID,取值範圍是1~255。 | 虛拟路由器ID,取值範圍是1~255。 |
Priority | Master裝置在備份組中的優先級,取值範圍是0~255。0表示裝置停止參與VRRP備份組,用來使備份裝置盡快成為Master裝置,而不必等到計時器逾時;255則保留給IP位址擁有者。預設值是100。 | Master裝置在備份組中的優先級,取值範圍是0~255。0表示裝置停止參與VRRP備份組,用來使備份裝置盡快成為Master裝置,而不必等到計時器逾時;255則保留給IP位址擁有者。預設值是100。 |
Count IP Addrs/Count IPvX Addr | 備份組中虛拟IPv4位址的個數。 | 備份組中虛拟IPv4或虛拟IPv6位址的個數。 |
Auth Type | VRRP封包的認證類型。協定中指定了3種類型:
| - |
Adver Int/Max Adver Int | VRRP通告封包的發送時間間隔,機關是秒,預設值為1秒。 | VRRP通告封包的發送時間間隔,機關是厘秒,預設值為100厘秒(1秒)。 |
Checksum | 16位校驗和,用于檢測VRRP封包中的資料破壞情況。 | 16位校驗和,用于檢測VRRP封包中的資料破壞情況。 |
IP Address/IPvX Address(es) | VRRP備份組的虛拟IPv4位址,所包含的位址數定義在Count IP Addrs字段。 | VRRP備份組的虛拟IPv4位址或者虛拟IPv6位址,所包含的位址數定義在Count IPvX Addrs字段。 |
Authentication Data | VRRP封包的認證字。目前隻有明文認證和MD5認證才用到該部分,對于其它認證方式,一律填0。 | |
rsvd | VRRP封包的保留字段,必須設定為0。 |
由封包結構可以看出,VRRPv2和VRRPv3的主要差別為:
1、支援的網絡類型不同:
VRRPv3适用于IPv4和IPv6兩種網絡,而VRRPv2僅适用于IPv4網絡。
2、認證功能不同:
VRRPv3不支援認證功能,而VRRPv2支援認證功能。
VRRPv2版本保留封包的認證字段,是為了相容早期版本(RFC2338),VRRP認證并不能提高安全性。
發送通告封包的時間間隔的機關不同。VRRPv3支援的是厘秒級,而VRRPv2支援的是秒級。