下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

实例解读热备份HSRP技术

作者:课课家教育     来源: http://www.kokojia.com点击数:1534发布时间: 2018-01-04 09:30:35

标签: Cisco安全通信

软考,您想通过吗?一次通过才是硬道理

  什么是HSRP协议?在配置HSRP之前,有必要对HSRP协议进行了解。本文就来学习一些关于HSRP协议的基础概念以及配置的实例,有需要的朋友可以加入我们的学习哦!
  SRP(Hot Standby Router Protocol 热备份路由器协议)是Cisco的专有协议。HSRP把多台路由器组成一个“热备份组”,形成一个虚拟路由器。这个组内只有一个路由器是Active(活动)的,并由它来转发数据包,如果活动路由器发生了故障,备份路由器将成为活动路由器。从网络内的主机来看,网关并没有改变。
  实现HSRP的条件是系统中有多台路由器,它们组成一个“热等待组”,这个组形成一个虚拟路由器。在任一时刻,一个组内只有一个路由器是活动的,并由它来转发数据包,如果活动路由器发生了故障,将选择一个等待路由器来替代活动路由器,但是在本网络内的主机看来,虚拟路由器没有改变。所以主机仍然保持连接,没有受到故障的影响,这样就较好地解决了路由器切换的问题。
  为了减少网络的数据流量,在设置完活动路由器和等待路由器之后,只有活动路由器和等待路由器定时发送HSRP报文。如果活动路由器失效,等待路由器将接管成为活动路由器。如果等待路由器失效或者变成了活动路由器,将由另外的路由器被选为等待路由器。
  在实际的一个特定的局域网中,可能有多个热等待组并存或重叠。每个热等待组模仿一个虚拟路由器工作,它有一个Well-known-MAC地址和一个IP地址。该IP地址、组内路由器的接口地址、主机在同一个子网内,但是不能一样。当在一个局域网上有多个热等待组存在时,把主机分布到不同的热等待组,可以使负载得到分担。
  HSRP的工作过程
  HSRP路由器利用Hello包来互相监听各自的存在。当路由器长时间没有接收到Hello包时,就认为活动路由器故障,备份路由器就会成为活动路由器。HSRP协议利用优先级决定哪个路由器成为活动路由器。如果一个路由器的优先级比其它路由器的优先级高,则该路由器成为活动路由器。路由器的默认优先级是100。在一个组中,最多有一个活动路由器和一个备份路由器。HSRP路由器发送的组播(224.0.0.2)消息有以下三种:
  Hello:通知其它路由器发送者的HSRP优先级和状态信息,HSRP路由器默认每3秒发送一个Hello消息。
  Coup:当一个备用路由器变为一个活动路由器时发送一个Coup消息。
  Resign:当活动路由器要当机或者当有优先级更高的路由器发送Hello消息时,主动发送一个Resign消息。
  HSRP路由器的6中状态:
  1.Initial:HSRP启动时的状态,HSRP还没有运行,一般是在改变配置或端口刚刚启动时进入该状态。
  2.Learn:在该状态下,路由器还没有决定虚拟IP地址,也没有看到认证的、来自活动路由器的Hello报文。路由器仍在等待活动路由器发来的Hello报文。
  3.Listen:路由器已经得到了虚拟IP地址,但是它既不是活动路由器也不是等待路由器。它一直监听从活动路由器和等待路由器发来的Hello报文。
  4.Speak:在该状态下,路由器定期发送Hello报文,并且积极参加活动路由器或等待路由器的竞选。如果选出活动路由和等待路由,则变成监听状态(Listen)。而此时只有活动路由器和等待路由处于说话状态。
  5.Standby:处于该状态的路由器是下一个候选的活动路由器,它定时发送Hello报文。
  6.Active:处于活动状态的路由器承担转发数据包的任务,这些数据包是发给该组的虚拟MAC地址的。它定时发出Hello报文。
  HSRP的2个定时器:
  HSRP使用2个定时器:Hello间隔和Hold时间。默认Hello间隔是3秒,默认的Hold间隔是10秒。Hello间隔定义了两组路由器之间交换信息的频率。Hlod间隔定义了经过多长时间后,没有收到其它路由器的信息,则活动路由器或者备用路由器就会被宣告为失败。配置计时器并不是越小越好,虽然计时器越小则切换时间越短。计时器的配置需要和STP等的切换时间相一致。另外,Hold间隔最少应该是Hello间隔的3倍。
  HSRP协议数据包格式
  在热等待组内,路由器定时以不同类型的数据报文广播状态信息。该协议运行在UDP之上,端口号为1985,目的地址为多播地址224.0.0.2,TTL标记为1。数据包的源地址为发送方路由器的实际IP地址,而不是虚拟地址,这样可以用来标记不同的路由器。UDP的格式如图1所示。
  实例解读热备份HSRP技术_Cisco_安全_通信_课课家教育
操作码
  版本: 指示HSPR的版本信息。
  操作码: 用来描述数据包中报文的类型,可能的值为0、1和2,如表1所示。
  状态: 描述发出该报文的路由器的当前状态。在一个热等待组内的所有路由器都运行着这样的状态机,有以下6种状态,见表2。
  呼叫时间: 只在呼叫报文中有意义,表示路由器定时发送呼叫报文的间隔时间,以秒为单位。如果该参数没有在路由器上配置,它可能要从活动路由器上学习获得。如果没有配置也没有学习,那么建议使用缺省值3。
  保持时间: 只在呼叫报文中有意义,被接收路由器用来判断该呼叫报文是否合法,单位为秒,其值至少是呼叫时间的3倍。如果该参数没有配置,也同样可以从活动路由器上学习。活动路由器不能从等待路由器学习呼叫时间和保持时间,它只能继续使用从先前的活动路由器学习来的该值。建议的缺省值为10。
  优先级: 该参数用来选择活动和等待路由器,2个具有不同优先级的路由器,优先级高的将成为活动路由器。2个具有相同优先级的路由器,IP地址高的将成为活动路由器。
  组: 用来标记路由器所在的热等待组。对令牌环类型的网络,合法的值是0、1和2,对于其他类型的网络,合法值是0~255。
  认证码: 包括8个明文的字符作为密码,如果没有配置,缺省值为0×63 0×69 0×73 0×63 0×6F 0×00 0×00 0×00。
  虚拟IP地址: 4个8位组,用来指定本热等待组的虚拟IP地址,它可以是从活动路由器的呼叫报文中学习来的。如果没有配置该地址,并且呼叫报文是需要认识的,那么只能通过活动路由器学习。
  HSRP中路由器的状态及状态转换
  在热等待组中,每个路由器运行着一个简单的状态机,通过当前的状态和事件的触发,而转换成不同的状态。其中包括以下状态。
  1.初始状态 HSRP启动时的状态,HSRP还没有运行,一般是在改变配置或端口刚刚启动时进入该状态。
  2.学习状态 在该状态下,路由器还没有决定虚拟IP地址,也没有看到认证的、来自活动路由器的HELLO报文。路由器仍在等待活动路由器发来的HELLO报文。
  3.监听状态 路由器已经得到了虚拟IP地址,但是它既不是活动路由器也不是等待路由器。它一直监听从活动路由器和等待路由器发来的HELLO报文。
  4.说话状态 在该状态下,路由器定期发送HELLO报文,并且积极参加活动路由器或等待路由器的竞选。
  5.等待状态 处于该状态的路由器是下一个候选的活动路由器,它定时发送HELLO报文。
  6.活动状态 处于活动状态的路由器承担转发数据包的任务,这些数据包是发给该组的虚拟MAC地址的。它定时发出HELLO报文。
  另外,每一个路由器都有3个计时器,即活动计时器、等待计时器和呼叫计时器。
  状态的变化都是由事件引起的,不同的事件作用于不同的状态在就会产生不同的动作,如启动计时器、发报文等。
  使用HSRP有什么优点?
  路由设备的切换对主机就是透明的。 HSRP向主机提供了默认网关的冗余,减少了主机维护路由表的任务。 通过多个热备份组,路由器可以提供冗余备份,并在不同的IP子网上实现负载分担。 较好的解决了路由器切换的问题。通过一组路由器的协同工作,这个组形成一个虚拟路由器,配置有一个虚拟IP地址和MAC地址。 因为:从末端主机的角度来看,虚拟路由器就是一台有IP,有MAC的路由器,因为是虚拟的,所以这个虚拟的路由器一直存在,不会受到单台路由器故障的影响,整个路由器组中如果当前活动的路由器发生故障,那么会自动切换到另一台备份的路由器上,而末端主机是感觉不到真实的网关的跳动的(虚拟网关一直不变),不会受到故障的影响而影响了通信
  HSRP的配置实例
  某校园网规模比较大,上网的主机相对比较多,共分配有16个C类地址。为了保证数据安全和广播风暴,提高网络性能,将校园网划分成60个子网。在网络中心采用Cisco系统公司的Catalyst 5509作为中心交换机,并且带有RSM作为VLAN间的路由器,另外使用一个Cisco 7000系列的路由器和RSM。它们都支持VLAN以及VLAN上的HSRP。如下图所示。
  HSRP的配置实例
  在每一个虚拟局域网内都有一个HSRP组,从逻辑上讲,Cisco 7010和Cisco 5509的RSM在每个虚拟局域网上都有局域网接口,并且都配置有IP地址,同时配置一个虚拟地址,该地址作为在该虚拟局域网内所有主机的网关。下面以VLAN 9为例,RSM中VLAN 9的配置如下:
  ---- interface Vlan9
  ---- description surportcenter
  ---- ip address 202.120.95.66 255.255.255.224
  该路由器在该VLAN9上的接口的IP地址以及掩码
  no ip redirects
  no ip directed-broadcast
  no ip route-cache cef
  standby 9 timers 3 250
  定义热等待组号为9,每3秒交换一次hello信息,250没有收到hello信息就开切换
  standby 150 priority 110
  定义路由器的权值,值越大,成为活动路由器的希望越大
  standby 9 preempt
  Enable该组的HSRP抢占功能,谁的权值大就可以立即成为活动路由器
  standby 9 ip 202.120.95.65
  该组的虚拟IP地址,作为该VLAN中主机的网关地址
  Cisco 7010路由器中接口的配置如下:
  interface FastEthernet0/0.9
  description surportcenter
  ip address 202.120.95.67 255.255.255.224
  cisco7010在VLAN9上的接口的IP地址以及掩码,该地址和RSM中的地址必须属于同一个子网,并且不同
  no ip redirects
  encapsulation is l 9
  所使用的虚拟局域网协议
  standby 9 timers 3 250
  和在RSM中的含义一样,并且必须相同
  standby 9 priority 100
  比在RSM中的值小,所以RSM在该VLAN中为活动的
  standby 9 preempt
  和在RSM中含义一样
  standby 9 ip 202.120.95.65
  该组的虚拟IP地址,必须和RSM中一样
  为了达到负载均衡的目的,应该使Cisco 5509 RSM和Cisco 7010承担大致相同的负载,我们的方法是,在RSM中,VLAN 1到VLAN 30的权值为110,VLAN 31到VLAN 60的权值为100; 相反,在Cisco 7010中,VLAN 1到VLAN 30的权值为100,VLAN 31到VLAN 60的权值为100。这样,在正常情况下,Cisco 5509的RSM负责VLAN 1到VLAN 30的路由,Cisco 7010负责VLAN 31到VLAN 60的路由。如果有一方出现了故障,将由另一个来负载全部的路由工作。
  HSRP存在的问题
  对于在HSRP协议,最大的问题是没有提供安全防护,在一个局域网内部,通过发送虚假的UDP多播数据包很容易对局域网中的路由器实施攻击,导致数据包黑洞(Packet Black Hole)和拒绝服务攻击(Denial-of-Service Attack)。一般无法从一个局域网的外部实施攻击,因为大多数路由器都不转发目的地址为所有路由器的多播地址(224.0.0.2)。
  HSRP只是实现了路由器的平滑切换,使用户感觉不到这种切换,保证了网络的稳定性。但是,一个HSRP组内的路由器不能互通它们的其他网络配置信息,例如访问控制列表等。所以在管理实施管理时,为了保证一致性,必须对它们进行相同的修改,增加了管理的复杂性,这也许是为了提高性能而付出的代价吧。

赞(29)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程