📄 rfc2281.txt
字号:
路由器的当前状态为把数据包转发到组的虚拟MAC地址。路由器周期地发送Hello消
息。除了极短暂的情况外,每个组中最多只能有一个处于激活状态的路由器。
5.4 时钟
每台路由器都要维护3个时钟,一个激活时钟,一个备份时钟,和一个Hello时钟。
激活时钟是用来监视活路由器的,在任何时候,只要路由器发现了从活路由器发过来的被
认证过的Hello消息,激活时钟就开始计时,直到到达Hello消息中所设定的Hold time值为
止。
备份时钟用于监视备份路由器。该时钟也是在路由器发现了从活路由器发过来的被认证过
的Hello消息,随时开始计时,直到到达Hello消息中所设定的Hold time值为止。
Hello时钟是在每一个Hellotime时间段终止一次。如果路由器是处于会话、备份或激活
状态下,它会在Hello 时钟停止时产生一个Hello消息。Hello消息必须是不稳定的。
5.5 事件
下面是在HSRP有限的状态机制下所能发生的事件
a - 在一个使能的端口上配置HSRP
b - 在一个端口上禁用HSRP,或这个端口被禁用。
c - 活时钟期满。活时钟从路由器收到从活路由器发送来的最后一个Hello消息开始计
时,时长为Hello消息中所设定的Holdtime值。
d - 备份时钟期满。备份时钟从路由器收到从活路由器发送来的最后一个Hello消息开
始计时,时长为Hello消息中所设定的Holdtime值。
e - Hello时钟期满。用于发送Hello消息的周期性时钟期满。
f - 收到一个发自一台处于对话状态路由器的高优先级Hello消息。
g - 收到一个发自活路由器的高优先级的Hello消息。
h - 收到一个来自活路由器的低优先级的Hello消息。
i - 收到一个来自活路由器的Resign消息。
j - 收到一个来自一台高优先级路由器的Coup消息。
k - 收到一个来自备份路由器的高优先级的Hello消息。
l - 收到一个来自备份了路由器的低优先级的Hello消息。
5. 6 操作
本节说明了这种状态机制中所要采取的一系列操作
A、 启动活时钟
如果这个动作是作为从活路由器接受到认证过的Hello消息的结果来发生的话,那
么活时钟要在Hello 消息中的Hold time域中设定。否则,活时钟将使用路由器当前的
Hold time值启动。
B、 启动备份时钟
如果这个动作是由于从备份路由器接受到认证过的Hello消息而导致发生的话,那
么备份时钟要在Hello 消息中的Hold time域中设定。否则,备份时钟将使用路由器当
前的Hold time值启动。
C、 终止活时钟
活时钟被终止。
D、 终止备份时钟
备份时钟被终止。
E、 学习参数
这个动作在接收到一个来自活路由器的一个已认证的消息时发生。如果这个组没有
手工配置虚IP地址,它就会从消息中学到一个虚IP地址。路由器也可能从消息中学习
Hello time 和Hold time 值。
F、 发送Hello消息
路由器以它当前的状态、Hellotime 和Holdtime值来发送Hello消息。
G、 发送Coup消息
路由器发送Coup消息包给活路由器,通知它发现了一个更高优先级的
路由器。
H、 发送Resign 消息
路由器发送Resign消息来允许其他路由器成为活路由器。
I、 发送无偿ARP消息
路由器通过广播ARP应答包来把组的虚IP地址和虚MAC地址广播出去。如同
ARP包一样,这个包使用虚拟MAC地址作为链路层包头中的源MAC地址。
5,7 状态过渡
下面的表格说明了这种状态机制的各状态间的转换过程。对于每个时间以及路由器所
处的每个状态来说,路由器必须执行前面已说明的一系列操作并转换为即定的状态。如果没有
操作被事先声明,也就不会有任何操作发生,如果没有声明任何状态改变,也不会有任何的状
态的改变。
下面表中所使用的符号是在5,6节的操作列表中所列出的一系列操作所对应的字母。状态
则是用在5,3节中的状态列表中个状态所对应的数字来表示。斜线(‘/’)是操作和状态的
分隔符。状态的转变可以是二选一的,这主要取决于外部状态。二选一的状态用‘|’来分隔。
详细情况请见附加说明
States
+-----+----------+----------+----------+----------+----------+----------+
| | 1 | 2 | 3 | 4 | 5 | 6 |
| | Initial | Learn | Listen | Speak | Standby | Active |
+-----+----------+----------+----------+----------+----------+----------+
|Event| |
+-----+----------+----------+----------+----------+----------+----------+
| a | AB/2|3+ | | | | | |
+-----+----------+----------+----------+----------+----------+----------+
| b | | CD/1 | CD/1 | CD/1 | CD/1 | CDH/1 |
+-----+----------+----------+----------+----------+----------+----------+
| c | | | AB/4 | | CDFI/6 | |
+-----+----------+----------+----------+----------+----------+----------+
| d | | | B/4 | D/5 | | |
+-----+----------+----------+----------+----------+----------+----------+
| e | | | | F | F | F |
+-----+----------+----------+----------+----------+----------+----------+
| f | | | | B/3 | B/3 | |
+-----+----------+----------+----------+----------+----------+----------+
| g | | EAB/3 | EA | EA | EA | AB/4 |
+-----+----------+----------+----------+----------+----------+----------+
| h | | EAB/3 | A|BGFI/6*| A|BGFI/6*| A|BGFI/6*| G |
+-----+----------+----------+----------+----------+----------+----------+
| i | | | AB/4 | A | CFI/6 | |
+-----+----------+----------+----------+----------+----------+----------+
| j | | | | | | ABH/4 |
+-----+----------+----------+----------+----------+----------+----------+
| k | | | B | B/3 | B/3 | B |
+-----+----------+----------+----------+----------+----------+----------+
| l | | | B/4 | D/5 | | B |
+-----+----------+----------+----------+----------+----------+----------+
说明
+ 如果配置了虚IP地址,应设为状态3(监听),如果没有设置虚IP地址,应设为状态2
(学习)。这两种情况都使用操作A和B
* 如果路由器被配置为优先占取,则采用操作B,G,F,和I,而且设为状态6(激活)。
如果路由器没有被设为优先占取,则采用操作A,并且没有状态变化。
6,对MAC地址的考虑
6. 1 概述
每个HSRP组都有一个众所周知的联合的虚拟MAC地址。在令牌环网络上,这些地址实
际上属于功能地址。下面这三个地址:0xC0 0x00 0x00 0x01 0x00 0x00, 0xC0 0x00 0x00
0x02 0x00 0x00, 以及 0xC0 0x00 0x00 0x04 0x00 0x00分别与组0,1,2相联系。
在其他媒质上,虚MAC地址为0x00 0x00 0x0C 0x07 0xAC XX,其中 XX代表HSRP的
组号。凡执行HSRP都要尽可能地使用这种公认的HSRP MAC地址作为该组的虚MAC地址。
活路由器必须接收和发送用于定义组的虚MAC地址的数据包。它在离开激活状态后则
必须停止发送或接受这种包。
当且仅当路由器处于激活状态下时,路由器必须使用组虚拟MAC地址作为它的Hello
消息包的源MAC地址。这对于处于学习状态的网桥来说是非常必要的,这样可以使网桥能
够断定这个虚MAC地址是处于哪个网段的。
对于每个组来说,都要有一个虚拟IP地址和一个虚拟MAC地址。这是个非常理想的情
况,因为这样使得ARP表处于一种最终状态,而不需要象HSRP活路由器那样随着活路由器
人选的改变而随时改变表中的数据。
另外,对于HSRP在网桥环境下工作时,网桥必须能够在虚MAC地址改变时很快地进行
自我刷新。虽然处于学习状态的网桥理论上能够作到这一点,但有些还是在这方面存在着
问题的。因此推荐只有真正处于学习状态的网桥才能使用HSRP。
虚MAC地址的改变可能会对那些与MAC地址捆绑的附加状态的环境产生负面的影响。
例如令牌环网络。如果源路由网桥正在使用的话,RIF将以虚MAC地址存在主机的RIF缓
存里。RIF指出了用于到达MAC地址的路径和最后的环。在路由器转为活路由器时,它们
将不会影响在带桥的环上的主机的RIF缓存。这也许会导致数据包被转发到上一级活路由
器的环上。
在这种环境下,一台路由器也许会使用它标准的MAC地址作为虚MAC地址。这种做法
是非常不被提倡的。在这种模式下,虚IP地址将会超时路由到不同的MAC地址,而最终会
在路由的终点产生问题,因为ARP表是假设了一个在MAC地址和IP地址见相对静态的关
系。而在这种情况下,只要当路由终点接受到一个进入激活状态的路由器所产生的毫无根
据的ARP应答时,则ARP表就会进行更新。
6.2 地址过滤器
正如前面所提到的,路由器正在以它们的组的MAC地址和IP地址仿效着一个虚路由
器。MAC地址理论上是由路由器的端口控制器的一个地址过滤器或MAC地址列表来提供
的。这对于路由器来说,在维护它们的主MAC地址时增加一个或多个虚MAC地址到它们的
控制器的MAC地址过滤器中是非常理想的。
不幸的是,有些端口控制器只支持一个unicastMAC地址的地址过滤器。或者说,在
令牌环网络中,那些应由HSRP所使用的功能性地址已经被其他协议所占用了。这种情况
下,这些路由器仍旧能够执行HSRP,但当路由器假设或放弃作为活路由器进行控制时,
HSRP必定改变端口的主MAC地址。
这就存在着一些潜在的问题,因为有些传输可能会希望使用路由器的主MAC地址。但
问题也许会因为路由器发送那些无端的ARP包来回答它没有运行HSRP的IP地址来减轻。
尽管如此,其他网络实体也应该在使用IP时通过刷新ARP表来反映路由器当前正使用的是
组的虚MAC地址,而不是它的主MAC地址。
有些协议也许因为端口主MAC地址的改变而不能与备份协议同时运行。举例说,
DECnet IV和HSRP就不会同时运行在同一台设备上。
6.3 ICMP重定向
当运行HSRP时,防止主机发现备份组中路由器的主MAC地址是非常重要的。因此应该
禁用任何可能把路由器的主MAC地址通知给主机的协议。所以,凡HSRP所涉及到的路由
器,即使它只有一个端口运行了HSRP,都不能在运行HSRP的端口发送ICMP重定向包。
6.4 ARP 代理
一般地说,主机在通过它们缺省路由的配置来学习HSRP的虚IP地址。这些主机把包
发送给虚IP地址用以达到它在局域网之外的目的地。在某些情况下,主机可能使用由ARP
代理来路由到局域网之外。这时,主机使用由ARP代理应答提供的MAC地址。如果ARP代
理应答说明了HSRP虚MAC地址,则HSRP功能将被保留。
如果一台HSRP路由器被配置为支持ARP代理的HSRP,那么这台路由器必须在它所产生
的任何ARP代理应答中说明HSRP虚MAC地址。ARP代理应答一定不要受HSRP状态机制的
约束。状态机制的约束可能会导致ARP代理应答的匮乏,因为这些ARP代理应答可能会受
到其他一些因素的限制,如水平分割原则。
7.安全上的考虑
这种协议没有提供安全方面的保证。消息中的认证域对于防止错误配置是非常有用
的。该协议很容易被局域网中的入侵者攻击,这可能会导致一个黑洞的产生和拒绝服务。
但从局域网外面是很难对该协议进行攻击的,因为大多数路由器不会转发到多播地址
(224.0.0.2)的数据包。
8. 参考
[1] Deering, S., "ICMP Router Discovery Messages", RFC 1256,
September 1991.
[2] United States Patent. Patent Number : 5,473,599. Standby Router
Protocol. Date of Patent: Dec. 5, 1995.
[3] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
9. 作者地址
Tony Li
Juniper Networks, Inc.
3260 Jay St.
Santa Clara, CA 95054
Phone: (408) 327-1900
EMail: tli@juniper.net
Bruce Cole
Juniper Networks, Inc.
3260 Jay St.
Santa Clara, CA 95054
Phone: (408) 327-1900
EMail: cole@juniper.net
Phil Morton
Cisco Systems
170 Tasman Dr.
San Jose, CA 95143
Phone: (408) 526-7632
EMail: pmorton@cisco.com
Dawn Li
Cisco Systems
170 Tasman Dr.
San Jose, CA 95143
Phone: (408) 527-2014
EMail: dawnli@cisco.com
10. 完全的版权说明
Copyright (C) The Internet Society (1998). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
RFC2281 Cisco Hot Standby Router Protocol (HSRP) Cisco热备份路由协议(HSRP
1
RFC文档中文翻译计划
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -