HA 技术
- 1. VRRP 原理与配置
- 1.1 VRRP 技术概述
- 1.1.1 VRRP 基本概念
- 1.2 VRRP 技术原理
- 1.2.1 VRRP 状态机
- 1.2.2 VRRP 协议状态
- 1.2.3 VRRP 主备选举
- 1.2.4 VRRP 主备切换
- 1.2.5 VRRP 主备回切
- 1.3 VRRP 典型应用
- 1.3.1 VRRP 负载分担
- 1.3.2 VRRP 监视上行端口
- 1.3.3 VRRP 与 VFD 联动
- 1.3.4 VRRP 与 MSTP 联合应用
- 1.4 VRRP 配置命令
- 2. BFD 原理与配置
- 2.1 BFD 概述
- 2.2 BFD 工作原理
- 2.2.1 BFD 报文
- 2.2.2 BFD 会话
- 2.2.3 BFD 检测模式
- 2.2.4 BFD 检测时间
- 2.2.5 BFD Echo 功能
- 2.3 BFD 应用场景
- 2.3.1 静态路由 与 BFD 联动
- 2.3.2 OSPF 与 BFD 联动
- 3. DHCP原理与配置
- 3.1 背景
- 3.2 DHCP 工作原理与配置
1. VRRP 原理与配置
1.1 VRRP 技术概述
- Virtual Router Redundancy Protocol,虚拟路由器冗余协议
背景:
用户终端通常采用配置一个默认网关的形式访问外部网络;
如果默认网关down,那么用户流量中断;
可以通过部署多个网关的方式解决单点故障。
概述:
单网关问题----当网关故障/终端设备的上联三层接口故障----终端设备无法访问互联网/其他网络。
配置多网关问题----需要考虑路由器下联PC的接口
1.配置相同的ip地址,会造成网络冲突
2.配置不同的ip地址,PC无法做网关切换
作用:
既能实现网关的备份,又能解决多个网关互相冲突的问题,提高网络可靠性。
- VRRP 版本
VRRPv2 仅适用于 IPv4 网络;
VRRPv3 适用于 IPv4 和 IPv6 网络;
1.1.1 VRRP 基本概念
- VRRP 概述
通过把几台路由设备联合组成一台 虚拟的“路由设备”;
使用一定的机制保证当主机的下一跳路由设备出现故障时,及时将业务切换到备份路由设备,从而保持通讯的连续性和可靠性。
- 基本概念
1. VRRP 路由器
运行VRRP协议的路由器;
2. VRID
一个 VRRP组 由中的所有路由器使用相同的 VRID 进行标识;
同一个VRRP组的路由器之间交互VRRP协议报文并产生一台虚拟“路由器”;
VRID(Virtual Router Identifier,虚拟路由器标识符)
3. 虚拟路由器
VRRP 每一个组抽象出一台虚拟“路由器”(Virtual Router)
4. 虚拟 IP 地址及虚拟 MAC 地址
虚拟路由器拥有自己的IP地址以及MAC地址,其中IP地址由网络管理员在配置VRRP时指定;
虚拟MAC地址的格式是“0000-5e00-01xx”,其中xx为VRID。
5. Master 路由器
“Master路由器”在一个VRRP组中承担报文转发任务;
只有Master路由器才会响应针对虚拟IP地址的ARP Request;
Master路由器会以一定的时间间隔周期性地发送VRRP报文,以便通知同一个VRRP组中的Backup路由器关于自己的存活情况
6. Backup 路由器
备份路由器;
实时侦听 Master 路由器发送出来的 VRRP 报文,随时准备接替 Master路由器的工作。
7. Priority
优先级值是选举Master路由器和Backup路由器的依据;
优先级取值范围 0-255 ,值越大越优先;
值相等则比较接口IP地址大小,大者优先。
- VRRP 报文格式
VRRP 只有一种报文,Advertisement报文;
基于组播方式发送,只能在同一个广播域传递;
Advertisement报文的目的组播地址为224.0.0.18。
Advertisement 报文格式:
Ethernet Header + IP Header + VRRP Packet;
- VRRP 定时器
在VRRP协议工作过程中,VRRP定义了两个定时器:
ADVER_INTERVAL定时器:Master发送VRRP通告报文时间周期,缺省值为1秒。
MASTER_DOWN定时器:Backup设备监听该定时器超时后,会变为Master状态。
MASTER_DOWN定时器计算公式如下
MASTER_DOWN =(3* ADVER_INTERVAL)+ Skew_time(偏移时间)
Skew_Time=(256–Priority)/256
1.2 VRRP 技术原理
1.2.1 VRRP 状态机
- 状态机有三种转态
Initialize(初始状态)、Master(活动状态)、Backup(备份状态)。
1.2.2 VRRP 协议状态
- Master 状态
1. 定期(ADVER_INTERVAL)发送VRRP报文。
2. 以虚拟MAC地址响应对虚拟IP地址的ARP请求。
3. 转发目的MAC地址为虚拟MAC地址的IP报文。
4. 默认允许ping通虚拟IP地址。
5. 当多台设备同时为Master时,若设备收到与自己优先级相同的报文时,会进一步比较IP地址的大小。如果收到报文的源IP地址比自己大,则切换到Backup状态,否则保持Master状态。
- Backup 状态
1. 接收Master设备发送的VRRP报文,判断Master设备的状态是否正常。
2. 对虚拟IP地址的ARP请求,不做响应。
3. 丢弃目的MAC地址为虚拟MAC地址的IP报文。
4. 丢弃目的IP地址为虚拟IP地址的IP报文。
5. 如果收到优先级和自己相同或者比自己优先级大的报文时,重置MASTER_DOWN定时器,不进一步比较IP地址的大小。
1.2.3 VRRP 主备选举
- VRRP 优先级不相等时主备选举
初始创建时:
设备工作在Initialize状态;
收到接口Up的消息后,若此设备的优先级小于255,则会先切换至Backup状态,等待MASTER_DOWN定时器超时后再切换至Master状态。
优先级高的设备先启动时:
优先级高的设备先进入Master状态;
优先级低的设备收到高优先级的VRRP通告报文,自己仍处于Backup状态。
优先级低的先启动时:
优先级低的先由Backup状态切换为Master状态;
优先级高的设备收到优先级低的VRRP通告报文,重新进行选举,将优先级高的设备切换为Master状态。
- VRRP优先级相等时主备选举
1. 两台设备初始化后切换至 Backup状态 。
2. 优先级相同,R1 与 R2 的MASTER_DOWN定时器超时后,同时由 Backup状态 切换至 Master状态;
3. R1与R2交换VRRP报文,优先级一样,通过比较接口IP地址选举Master路由器。大者优先 - 配置为IP地址拥有者时主备选举
当接口IP地址为IP地址拥有者时,优先级自动成为255
1.2.4 VRRP 主备切换
- Master 主动退出 VRRP 组
Master 会发送优先级为0的通告报文,用来使Backup设备快速切换成Master设备;
不用等到MASTER_DOWN定时器超时,这个切换的时间称为Skew_time。
- Master设备或者链路故障
等到MASTER_DOWN定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master
1.2.5 VRRP 主备回切
- 大致流程
1. 正常情况下,Master 起作用;
2. Master down 了,网络重新选举,Backup 成为新的 Master;
3. R1 恢复,网络将重新进行VRRP主备选举,R1当选。
- VRRP 抢占模式:
抢占模式(默认激活):如果Backup路由器激活了抢占功能,那么当它发现Master路由器的优先级比自己更低时,它将立即切换至Master状态,成为新的Master路由器
非抢占模式:如果Backup路由器没有激活抢占功能,那么即使它发现Master路由器的优先级比自己更低,也只能依然保持Backup状态,直到Master路由器失效。
- 主备切换时间
开启抢占模式的VRRP备份组,当主备进行切换时,总共时长为:3xAdver_Interval+Skew_time+Delay_time;
- 状态不稳
在抢占模式下,当Master的设备状态不稳定或者网络质量差时,会导致VRRP备份组频繁切换,从而引发终端ARP表项频繁刷新,为缓解此问题,通常设置抢占延时定时器,通过MASTER_INTERVAL定时器超时时间加上延时时间,确定状态稳定后,再进行主备回切。
1.3 VRRP 典型应用
1.3.1 VRRP 负载分担
通过创建多个虚拟路由器,每个物理路由器在不同的VRRP组中扮演不同的角色,不同虚拟路由器的Virtual IP作为不同的内网网关地址可以实现流量转发负载分担。
1.3.2 VRRP 监视上行端口
VRRP可监视(Track)上行端口状态,当设备感知上行端口或者链路发生故障时,可主动降低VRRP优先级,从而保证上行链路正常的Backup设备能够通过选举切换为Master状态,指导报文转发。
- 如果未配置监视上行端口的问题
如果用户未配置VRRP监视上行端口,则当VRRP备份组中的Master设备R1的上行接口或者链路出现故障时,VRRP备份组无法感知,Master无法向外转发流量。但是由于主备不会发生切换,导致出现流量黑洞。
1.3.3 VRRP 与 VFD 联动
通过配置VRRP与BFD联动,当Backup设备通过BFD感知故障发生之后,不再等待Master_Down_Timer计时器超时而会在BFD检测周期结束后立即切换VRRP状态,此时可以实现毫秒级的主备切换。
1.3.4 VRRP 与 MSTP 联合应用
MSTP是将一个或多个VLAN映射到一个生成树的实例,若干个VLAN共用一个生成树,MSTP可以实现负载均衡。
VRRP配置网关可以灵活根据网络拓扑变化而自动切换,提高网络可靠性。
VRRP+MSTP可以在实现负载分担的同时保证网络冗余备份。
1.4 VRRP 配置命令
2. BFD 原理与配置
- 背景:
出现故障,需要快速定位。
随着网络应用的广泛部署,网络发生故障极大可能导致业务异常。为了减小链路、设备故障对业务的影响,提高网络的可靠性,网络设备需要尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务正常进行。
在三层网络中,静态路由本身没有故障检查机制,因此就需要一种通用的、标准的、介质无关的、协议无关的一种快速检测机制 --- BFD。
2.1 BFD 概述
- BFD
Bidirectional Forwarding Detection,双向转发检测;
BFD提供了一个通用的、标准化的、介质无关的、协议无关的快速故障检测机制,有以下两大优点:
对相邻转发引擎之间的通道提供轻负荷、快速故障检测。
用单一的机制对任何介质、任何协议层进行实时检测。
*BFD是一个简单的“Hello”协议。两个系统之间建立BFD会话通道,并周期性发送BFD检测报文,如果某个系统在规定的时间内没有收到对端的检测报文,则认为该通道的某个部分发生了故障。
- 简介
1. 通用的---在各种组网都适用
2. 标准化的---标准的 非私有的技术、适用于各种厂商
3. 介质无关--和底层的硬件无关
4. 协议无关--和协议也无关
BFD 本质 就是一个检测连通性的技术
1. 链路
2. IP 路由
2.2 BFD 工作原理
2.2.1 BFD 报文
- 报文结构
- 解析
1. Sta:BFD本地状态。
2. Detect Mult:检测超时倍数,用于检测方计算检测超时时间。
3. My Discriminator:BFD会话连接本地标识符(Local Discriminator) 。发送系统产生的一个唯一的、非0鉴别值,用来区分一个系统的多个BFD会话。
4. Your Discriminator:BFD会话连接远端标识符(Remote Discriminator) 。从远端系统接收到的鉴别值,这个域直接返回接收到的“My Discriminator”,如果不知道这个值就返回0。
5. Desired Min TX Interval:本地支持的最小BFD报文发送间隔。
6. Required Min RX Interval:本地支持的最小BFD报文接收间隔。
7. Required Min Echo RX Interval:本地支持的最小Echo报文接收间隔,单位为微秒(如果本地不支持Echo功能,则设置0)。
2.2.2 BFD 会话
- BFD 两种会话建立方式
1. 静态方式
静态建立BFD会话是指通过命令行手工配置BFD会话参数,包括配置本地标识符和远端标识符等,然后手工下发BFD会话建立请求。
2. 动态方式
动态建立BFD会话的本地标识符由触发创建BFD会话的系统动态分配,远端标识符从收到对端BFD消息的Local Discriminator的值学习而来。
静态和动态创建BFD会话的主要区别在于Local Discriminator和Remote Discriminator的配置方式不同。
- BFD 会话会话状态
四种状态:
Down、Init、Up 和 AdminDown
BFD会话过程中包含有三个状态:init和up两个用来建立会话,down用来断开会话。
2.2.3 BFD 检测模式
- 两种检测模式
1. 异步模式
系统之间相互周期性地发送BFD控制包,如果某个系统在检测时间内没有收到对端发来的BFD控制报文,就宣布会话为Down。
2. 查询模式
在需要验证连接性的情况下,系统连续发送多个BFD控制包,如果在检测时间内没有收到返回的报文就宣布会话为Down。
异步模式和查询模式的本质区别:检测的位置不同
异步模式:本地检测对方的BFD控制报文
查询模式:本地检测自己发送的BFD控制报文--对方需要返回
2.2.4 BFD 检测时间
- BFD会话检测时长由TX(Desired Min TX Interval),RX(Required Min RX Interval),DM(Detect Multi)三个参数决定。
异步模式:本地BFD报文实际检测时间=本地BFD报文实际接收时间间隔×对端配置的BFD检测倍数
查询模式:本地BFD报文实际检测时间 = 本地BFD报文实际接收时间间隔×本端配置的BFD检测倍数
2.2.5 BFD Echo 功能
- BFD 回声功能
本地发送BFD Echo报文,远端系统将报文环回的一种检测机制。
2.3 BFD 应用场景
2.3.1 静态路由 与 BFD 联动
- 静态路由自身没有检测机制,如果静态路由存在冗余路径,通过静态路由与BFD联动,当主用路径故障时,实现静态路由的快速切换
2.3.2 OSPF 与 BFD 联动
- OSPF在未绑定BFD的情况下,链路故障检测时间由协议Hello机制决定,通常是秒级。通过绑定BFD,可以实现毫秒级故障检测。
3. DHCP原理与配置
3.1 背景
- 手工配置网络参数存在以下问题
1. 灵活性差
2. 容易出错
3. IP地址资源利用率低
4. 工作量大
5. 人员素质要求高
3.2 DHCP 工作原理与配置
- DHCP客户端首次接入网络的工作原理
1. 发现阶段,即DHCP客户端发现DHCP服务器的阶段;
2. 提供阶段,即DHCP服务器提供网络配置信息的阶段;
3. 选择阶段,即DHCP客户端选择IP地址的阶段;
4. 确认阶段,即DHCP服务器确认所分配IP地址的阶段。