March 26, 2011
传统冗余技术
常用冗余技术
提高网络可靠性的方法是冗余,而冗余又可以分为链路冗余,设备冗余和模块冗余。模块上的冗余是底层硬件的问题只需要了解一些概念就好;更常用的是在设备之间运行一些冗余协议,网关可以在设备故障时自动切换到其他设备,并且这个过程对用户来说是透明的。
RPR 和 RPR+:路由处理器冗余,切换时间比较慢,分别是 2-4min 和 30-60s
SSO:状态化切换切换速度快,不会造成用户流量中断。
带 SSO 的 NSF:带状态化切换的不间断转发
在网关冗余的概念上让我们深入的理解交换的概念,交换是个二层概念,也就是说我发帧的时候只关心 mac 地址。
参照上图来解释 proxy-arp,前提是主机 R2 没有配网关地址。当 R2 要访问 R1 的环回口 lo 0 时会发送 arp 请求,交换机 S3 和 S4 收到 arp 请求发现自己有到达目的网段的路由,则都以自己的 mac 地址响应 R2,R2 会采纳最后接收的响应(假设是 S4)来填充 arp 表(这也是 arp 欺骗的关键所在),这样 R2 要到达 1.1.1.1 根据 arp 表封装二层地址,而 S4 在 R2 和 lo 0 之间转发数据,而主机完全感觉不到。这样优势是配置简单,路由器接口默认开启 proxy-arp,但问题是不能即使切换,因为当下联接口 down 了,arp 表的老化时间是 4h,那么终端要等待 4h 才能切换网关。如果上联链路 down 了,由于动态路由协议重新收敛,到达 1.1.1.1 的数据包会转发给 S3,这样 S4 会发送 ICMP 重定向报文给主机让其直接发送数据给 S3,可以直接切换。
路由器定期发送 hello 包,因为在每台终端设备上都要有配置来监听 hello 包,所以一般不会用。
虚拟地址
因为要在多台路由器之间切换,而且 ip 和 mac 地址不能改变,那么就需要指定一个虚拟的 ip 和 mac 地址来作为终端的下一跳,这里称之为 vip 和 vmac。vip 手工指定,位于同一网段即可,而 vmac 是自动生成 0000.0c07.ac
执行过程
通过将一组路由器划分到一个组中,然后从中选出一个活动路由器来作为网关,也就是只有活动路由器去相应终端对虚拟的 ARP 请求然后接收目的地址是虚拟 mac 的帧,如果活动路由器 down 了那么其他路由器会接替成为活动路由器,而且这个切换过程是透明的,只有少部分包丢失。
路由器状态
开启 HSRP 协议的路由器通过协商来决定谁是活动路由器谁是备份路由器,在这个协商的过程中路由器要经历 6 个状态最终达到稳定状态,具体状态及行为如下表:
路由器状态 行为 初始状态(init) 开启接口就进入这个状态 学习状态(learn) 不知道虚拟 ip 也没有收到 hello 包 监听状态(listen) 学习到虚拟 ip 但是还没选出活动路由器和备份路由器 发言状态(speak) 定期发送 hello 包,参与选举 备用状态(standby) 活动路由器的继任者,并发送 hello 包 活动状态(active) 响应虚拟 ip 和虚拟 mac 并转发,定期发 hello 包
增强特性
抢占:开启抢占功能,可以通过修改路由器的优先级以把活动路由器的角色抢占过来。
追踪:如果路由器的上行链路 down 了,而路由器在本地接口还继续发送 hello 包这样就是占着活动路由器的角色但是干不了活,而追踪可以跟踪某个或者某些接口当其在 down 下来以后路由器自动把自己的优先级降低以让其他路由器抢占活动路由器的角色。这时就要注意要让追踪工作就要配合抢占和优先级来配置。
多组实现相互备份
让一台路由器参与到多个组中,而且在不同组中担任不同的角色,这样可以实现相互备份。
因为 HSRP 是思科私有协议,就需要 VRRP 这样的业界标准提供多厂商的支持,两者的原理功能类似。
因为 VRRP 基本上与 HSRP 类似,这里只列举不同之处:
1)类比于 active 和 standby,VRRP 中有 master 和 backup 状态
2)可以使用接口的 ip 作为 vip,因为二层转发只看 mac 地址
3)只有 master 发 hello 包,周期为 1s,所以切换速度快
4)没有 track,所以上行链路 down 了就发 ICMP 重定向
5)hello 包组播地址:224.0.0.18
基本概述
与 HSRP 和 VRRP 不同之处是,前两种协议处于备份状态下的路由器都不能参与到转发工作中来,这样设备不能得到充分的利用,而 GLBP 可以让所有在一个组中的路由器都参与进来,而且其中的一台设备 down 了不会对终端用户造成影响,从整体上说 GLBP 是最有的解决方案。
执行过程
首先从所有在一个 GLBP 组中的路由器选举出来一个活动路由器称之为 AVG(活动虚拟网关),其他的路由器作为 AVF(活动虚拟转发器)。然后 AVG 给 AVF 分配虚拟的 mac 地址,只有 AVG 可以响应终端对虚拟网关地址的请求,并且根据一定算法来把 AVF 的虚拟 mac 地址响应给终端。二层交换只看 mac 地址,也就是说一个 ip 可以对应多个 mac 地址,这样就实现了冗余和负载均衡。
我是 xdays, 记录着我技术的成长,生活的点滴和感悟,能对你有所帮助那更好。