一. 冗余和负载

1. 冗余

冗余就是备份

我们看一下这个图:

这两个主机想要访问外网,默认路线是走二层SW,R1然后到外网,如果R1坏了,就会启用R2。这就是冗余,这是一个自动的过程

我们本篇文章讲的就是冗余。

2. 负载

负载就是分摊工作

还是上面那个图,刚才是主机1和主机2同时经过一个路由器,我们现在这样,主机1走R1,主机2走R2,这样每一台路由器都分摊了一部分工作。

这就是负载

二. HSRP概念

我们知道,主机向外通信的时候,一点有IP地址,子网掩码和网关,网关就是和主机直连的路由器,那么现在这张图,主机1的网关是哪个?

如果是R1的话,那么R1的IP地址就是主机1的网关。那如果R1坏了的话,根据冗余,我们的流量就会从R2走,那意味着,主机1的网关还要重新配置成R2的IP,非常不灵活,我们想要的是让它自动切换。

HSRP是在两个路由器中间加了一个虚拟路由器的概念,

我们讲主机的网关配置未虚拟路由器R3的IP。

R1和R2有两种状态,活跃和非活跃。好的就是活跃,坏了就是非活跃。

当R1和R2都是活跃的时候,用默认的,会把数据转发给R1。当R1坏了,状态变为非活跃,R2是活跃,R3就会把数据转发给R2。

1. HSRP组中成员

(1) 活跃路由器

活跃路由器是专门来转发数据包的

活跃路由器会向整个组中不断的发送hello消息,来保持活跃状态。

意思就是说,他会向组一直发送HSRP消息,告诉组,他还没挂,还能干活。你备份路由器想启用,没门。

既然是发送消息,那肯定有一个超时时间。假如超时时间是2秒,备份路由器有2秒没收到来自活跃路由器的消息,他就会判定,活跃路由器挂掉了,然后它启用。

(2) 备份路由器

备份路由器承担备份角色,专门去监听。

他也会承担一部分传输hello消息的报文,即不仅仅活跃路由器会向备份路由器发报文,备份路由器也会向活跃路由器发。

备份路由器:”哥们,我还活着,你挂没挂?“

活跃路由器:”我还活着!“

就是这么个意思。如果活跃路由器挂了。

备份路由器:”哥们,我还活着,你挂没挂?“

活跃路由器:”……“

备份路由器:”你不回复我,我就当你挂了哈“

然后备份路由器启用

(3) 虚拟路由器

虚拟路由器就是作为主机设备的网关。

在这里,根据我们的路由器的工作原理,主机想要不同网络,他会将数据交给自己的路由器,那他是不是就得请求路由器的MAC地址。

那么这个虚拟路由器要不要MAC地址,那肯定需要的。

在这个网络中,我们抓一下包

这里就有MAC地址,是先请求网关MAC地址,再把数据发给网关

所以理论上,虚拟路由器也一定有虚拟MAC地址。

(4) 其他路由器

2. 虚拟MAC地址

我们知道,MAC地址是设备出场时厂商固化在设备上的。你这个路由器都是假的,那你的MAC也是假的。

我们知道,MAC地址是由48位二进制组成,前面24位是厂商编码,后面24是序列号。

在虚拟MAC地址中,前面24我们不管,后面24位是由虚拟MAC地址的固定值(07AC),加上HSRP的组号(16进制的两位表示)。

假设组号是1,那么MAC地址就是 07AC01;组号是50,MAC地址是 07AC32

3. HSRP消息

他发送的消息采用的是UDP协议,端口号是1985

采用组播方式发送,组播地址:224.0.0.2

生命周期 TTL=1

三. 工作原理

具体工作

如下图所示,主机需要访问外网172.16.3.127,发现不是同一网络,会将数据交给自己的网关。在这里,主机配置的网关为HSRP组中的虚拟路由器。

虚拟路由收到了数据后,根据HSRP组中的机制(组中路由器的优先级来决定谁是活跃路由器,谁是备份路由器),将数据交给活跃路由器进行转发,活跃路由器再根据自身的路由表进行转发数据。

所以在后面配置的时候就有思路了。

  • 设置组号,用来决定虚拟路由器的MAC地址
  • 设置优先级,确定活跃路由器,高的为活跃路由器
  • 占先,网络中已经存在活跃路由器后,当优先级比较高的路由器想要作为活跃路由器,需要配置占先。占先一般是配置在优先级比较高的路由器上
  • 端口跟踪。这个用于路由器没坏,线路坏了的时候,就可以设置端口跟踪。
  • 查看命令

四. HSRP状态与计时器

1. 状态

(1) 初始状态

当刚给端口配置IP地址的时候,端口开启就进入了初始状态

(2) 学习状态

该组员未设定虚拟IP 地址,并等待从本组活动路由器发出的认证的 Hello 报文中学习得到自己的虚拟IP 地址

(3) 监听状态

该组员已得知或设置了虚拟 P 地址,通过监听 Hello 报文监视 活动/备份路由器,一旦发现 活动/备份路由器 长时间未发送Hello 报文,则进入发言 (speak) 状态,开始竞选

(4) 发言状态

参加竞选 活动/备份路由器 的组员所处的状态,通过发送 Hello 报文使竟选者间相互比较、竞争

(5) 备份状态

组内备份路由所处的状态。备份组员监视活动路由器,准备随时在活动路由器坏掉时接替活动路由器,备份路由器也周期性发送 Hello 报文告诉其他组员自己没有坏掉

(6) 活跃状态

组内活动路由器,即负责虚拟路由留实际路由工作的组员所处的状态。活动路由器周期性发送 Hello 报文告诉其他组员自己没有坏掉

2. 计时器

hello 报文间隔时间,默认是3秒

保持时间10秒,即多久时间来看我是否坏掉

五. 配置

我们这里把三层交换机当路由器用

这样的一个网络

PC0访问PC1

我们需要把这两个三层交换机配置为一个HSRP组

我们分配一下网段和IP地址

我们先设置三层交换机

在配置IP的时候有一个问题,在哪里配?

正常的话就是直接配接口IP是吧。

我们这里是一个VLAN,如果是两个VLAN的话,你这就有问题了。

所以我们应该是在默认VLAN里创建虚接口再配置IP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
三层交换机0
en
conf t
ip routing
int vlan 1
ip add 192.168.10.254 255.255.255.0
no shutdown
exit

三层交换机1
en
conf t
ip routing
int vlan 1
ip add 192.168.10.253 255.255.255.0
no shutdown
exit

三层交换机配置好后,我们就要去配置HSRP

我们在VLAN 1创建的IP,那么我们就要在VLAN 1中创建。

1
2
3
4
5
6
7
8
9
三层交换机0
int vlan 1
standby 33 ip 192.168.10.250 // 设置组号为33(0~255),虚拟IP地址设置为192.168.10.250,这就是主机的网关
standby 33 priority 200 // 该组号的组的优先级为200(0~255)

三层交换机1
int vlan 1
standby 33 ip 192.168.10.250
standby 33 priority 100

我们看一下结果

三层交换机0从监听变成发言,备份变成活跃。

我们现在想要再把三层交换机1配置为活跃。

我们需要设置优先级,还要配置占先

1
2
3
三层交换机1
standby 33 priority 210
standby 33 preempt

可以看到,变成了活跃,另一台会变成备份