1、VRRP协议
为什么使用VRRP?
解决网关的单点故障
如何配置?
vrrp vrid 1 virtual-ip 192.168.1.254 //配置虚拟网关
vrrp vrid 1 priority 110 //设置优先级,默认100,范围1~254,越大越高
一、VRRP:
1、概述:
1)vrrp ,virtual router redundancy protocol ,虚拟路由器冗余协议。
2)该协议的主要作用,就是在多个真实的网关设备之间运行之后,形成一个“虚拟的网关”,
从而实现多个真实网关之间的“冗余备份”以及数据转发的负载均衡。

2、vrrp的版本
1)VRRP协议包括两个版本:VRRPv2和VRRPv3。
2)VRRPv2仅适用于IPv4网络,
3)VRRPv3适用于IPv4和IPv6两种网络。

3、VRRP组成员角色
1)主路由器:Master
2)备份路由器:(Backup)
3) 虚拟路由器 (Virtual)

二、VRRP应用场景:
1)当我们为了提高一个网络中的网关的健壮性,从而在同一个网络中部署多个网关设备的时候,
2)此时,我们需要在多个网关设备之间运行 VRRP,如果仅有 1个 网关设备,是不需要运行VRRP的。

三、VRRP工作原理:
1)VRRP在设备(接口)上运行之后,会形成一个虚拟的网关设备。会通过发送 VRRP 的报文,比较其中的参数,从而在多个真实的网关设备之间确定出不同的设备角色:
2)master - 主设备;有且只有1个;
3)backup - 备份设备;可以有很多;
4)一旦确定设备的master和backup的角色之后,就仅有master一直 周期性的发送 vrrp 报文,
5)如果backup 设备,在一定的时间内,没有收到 master 发送过来的 vrrp 报文,就认为master 设备出现了故障,从而进行设备角色的切换;
*发送周期:1s
*最大间隔:3s

6)用户终端设备在向网关(虚拟网关)发送数据的时候,其实是由 master 设备在进行处理。
7)当 master 设备故障以后,backup 设备才会变成 master ,继续为客户服务;
8)如果原先的 master 设备故障恢复了,那么备份的网关设备会再次变为 backup 状态;

四、VRRP报文及工作机制:
1、优先级
1)首先比较优先级优,数值越大越好;默认值是100;
2)优先级相同,其次比较接口IP地址,数值越大越好;(在模拟器做实验,现象不对,真机没问题)

2、VRRP报文的发送方式是 “组播” , 组播地址为:224.0.0.18 ;
3、VRRP报文是封装在IP头部后面的,协议号为 112 。
4、VRRP是公有的标准协议;还有一个类似的网关冗余协议 - HSRP,思科私有的。

案例1:VRRP工作原理


vrrp vrid 1 virtual-ip 192.168.1.254 //配置虚拟网关
vrrp vrid 1 priority 110 //设置优先级,默认100,范围1~254,越大越高

一、VRRP加密认证
1、认证模式:
1)明文认证:密码在传输过程中,是明文的;
2)密文认证:密码在传输过程中,是加密的;
为了vrrp报文的转发更加的安全,我们可以为VRRP配置认证。

二、VRRP认证配置命令:
1、在哪里配置?
1)在同一个网段中的所有启用了VRRP的协议的接口上;
2、配置什么命令?
#R1:
interface gi0/0/0
vrrp vrid 1 authentication-mode
md5 **** -> 传输过程中,会对密码进行加密;;
simple
plain **** -->传输过程中,不加密的密码;并且在设备上保存的时候,也是不加密的。
cipher **** -->传输过程中,是不加密的密码,但是在配置上保存的时候,是加密存储的;

三、VRRP同一个备份组内出现多个Master设备
1、两台设备无法ping通(备份设备收不到vrrp通告报文)
2、执行display vrrp protocol-information命令,检查用的vrrp版本是否一致,如不一致,在系统视图下执行vrrp version { v2 | v3 }更改为相同的版本
3、配置的虚拟IP地址不一致,请执行vrrp vrid XX virtual-ip X.X.X.X 命令更改为一致的虚拟IP地址
4、配置的通告报文发送间隔不一致,请执行vrrp vrid XX timer advertise XX 命令更改为一致的发送间隔。
5、配置的认证方式及认证字不一致,请执行vrrp vrid XX authentication-mode { simple { key | plain key | cipher cipher-key } | md5 md5-key }命令更改为一致的认证方式及认证字。

四、VRRP 状态
1、初始状态:(lnitialize)
1)VRRP不可用状态,什么都不干
2)设备故障或端口故障时会进入Initialize状态.

2、活动状态:(Master)
1)周期性发送VRRP通告报文,告诉备份设备,我是老大
2)响应客户机发来的ARP请求,转发流量。
3)如果收到比自己优先级大的报文,立即成为Backup。
4)如果收到与自己优先级相等的VRRP报文,比较接口IP地址,小于对端接口IP,立即成为Backup,大于对端IP地址,还是master

3、备份状态 (backup)
1)接收Master设备发送的VRRP通告报文,判断Master设备的是否正常。
2)对用户的ARP请求,不做响应。
3)如果收到比自己优先级小的报文时,默认立刻变成Mater

五、VRRP特性:
1、链路跟踪
1)即在内部网关接口上运行的 VRRP 协议,可以跟踪网关设备连接外部网络的链路的可用性。
2)如果外部链路不可用了,那么该设备就不能向外转发数据了。所以应该将自己从master设备变成backup设备,故:vrrp协议是通过“主动降低”自己的VRRP的优先级来实现的。
3)即一旦VRRP协议发现跟踪的接口的状态成为了 down,就会自动的降低自己发送的 vrrp 报文中所携带的优先级,降低到比网络中的 backup 角色的网关设备的优先级还要低,从而可以确保其他的backup 设备,成功的成为新的 “master” ,接管用户的数据包的转发。

六、VRRP链路跟踪配置:
1、在哪里配置?
1)仅仅在 主网关 上配置就可以了,不要在所有的网关上都配置;
2、配置什么命令?
#interface gi0/0/0 ----> 真实的网关接口;

vrrp vrid 1 track interface gi0/0/2 reduced 100
//即该接口上的 vrrp 协议,一直监控跟踪这 gi0/0/2这个连接外部网络的接口的状态。如果该接口的状态由现在的 up 变成了 down,该接口上发送出去的 vrrp 报文的优先级,就会由原来的 150 ,减少100,变成50 。从而对方设备(R1)就会变成 master,因为对方的优先级为100。
如果 gi0/0/2 接口从 down 恢复成了 up ,那么该接口发送的优先级又会变成 150 ,从而再次变为 master 设备。

3、验证命令:
[R2] display vrrp
GigabitEthernet0/0/0 | Virtual Router 1
State : Backup //当前的状态为 backup,不再是master;
Virtual IP : 192.168.10.250
Master IP : 192.168.10.254
PriorityRun : 50 //该设备当前使用的优先级为:50
PriorityConfig : 150 //该设备手动配置的优先级为:150
MasterPriority : 100 //当前master的优先级为:100;
Preempt : YES Delay Time : 0 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-0101
Check TTL : YES
Config type : normal-vrrp
Backup-forward : disabled
Track IF : GigabitEthernet0/0/2 Priority reduced : 100 // 跟踪接口 gi0/0/2 ;
IF state : DOWN // 接口的状态变成了 down ;

七、VRRP负载均衡
1、我们知道在多个运行VRRP的真实的网关中,同一个时刻,永远只能有一个设备成为master.
2、那么其他的设备呢,就只能是backup,所以在数据转发的角度来说的话,其实无论存在多少个设备,只有一个设备在干活。如此一来的话,其实整个网络中的设备利用率是非常低的。
3、这种情况下,仅仅是实现了网关设备的“冗余和备份”,那如果我们想继续提高设备的利用率的话,就得确保网络中的每个网段的网关,都均匀的分布在不同的真实的网关设备上,这样的话,多个真实的网关设备之间,既可以实现网关设备的冗余又可以确保在所有的设备都正常的情况下,都可以用来为不同的网段中的终端设备转发数据,既实现了设备的备份,又实现了数据转发的负载均衡。
4、具体,是如何来实现的?
1)其实就是依靠 VRRP 中的 vrid 这个概念。
2)即,我们可以通过这个“概念”,让一个真实的物理网关设备,同时参与到多个虚拟网关
设备中,就可以实现:让该设备在 vrid 1 是主设备,同时在其他的虚拟路由器 - vrid 2
中扮演的是备份设备。
3)所以,该设备仅仅会转发 vrid 1 所代表的那个网段中的主机发送的数据,不会转发 vrid 2 所表示的那个网段中的主机发送的数据。只有当 vrid 2 中的主网关故障以后,该设备才会转发。其实想实现这一点,也非常的简单。我们只要在每个真实的网关设备上,所配置几个接口,并且启用 VRRP,加入到不同的 vrrid 中,同时设置不同的优先级,实现主备网关的设置。

八、VRRP负载均衡配置:
1、在哪里配置?
1)在真实网关的多个网关接口上;
2、配置什么命令?
R1#
interface gi0/0/0 // 该接口是 vlan 10 的真实网关;
ip address 192.168.10.254 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.10.250 // 作为 vlan 10 的备份网关;
interface gi0/0/1 // 该接口是 vlan 20 的真实网关;
ip address 192.168.20.254 255.255.255.0
vrrp vrid 2 virtual-ip 192.168.20.250
vrrp vrid 2 priority 150 // 作为 vlan 20 的主网关;

R2配置#
interface gi0/0/0 // 该接口是 vlan 10 的真实网关;
ip address 192.168.10.253 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.10.250 // 作为 vlan 10 的主网关;
vrrp vrid 1 priority 150
interface gi0/0/1 // 该接口是 vlan 20 的真实网关;
ip address 192.168.20.253 255.255.255.0
vrrp vrid 2 virtual-ip 192.168.20.250 // 作为 vlan 20 的备份网关;

案例1:配置浮动路由
1.1 问题
1)配置接口IP地址并配置浮动路由实现链路的冗余
2)验证浮动路由的效果
1.2 方案
使用eNSP搭建实验环境,如图-1所示。

图-1
1.3 步骤
实现此案例需要按照如下步骤进行。

  1. [R1]ip route-static 192.168.4.0 255.255.255.0 192.168.2.2
  2. [R1]ip route-static 192.168.4.0 255.255.255.0 192.168.3.2 preference 100
  3. [R2]ip route-static 192.168.1.0 255.255.255.0 192.168.2.1
  4. [R2]ip route-static 192.168.1.0 255.255.255.0 192.168.3.1 preference 100
    3)测试
    断开主链路,测试网络的连通性。

案例:VRRP负载均衡

[sw1]
vlan batch 10 20 //创建vlan
int Vlanif 1 //设置路由口
ip add 10.10.30.1 24
int g0/0/2
p l a

int g0/0/1 //设置trunk口,允许所有vlan通过
p l t
p t a v a

int g0/0/3 //设置心跳线,允许所有vlan通过
p l t
p t a v a

int Vlanif 10 //配置vrrp10
ip add 192.168.10.253 24 //设置接口ip
vrrp vrid 10 virtual-ip 192.168.10.254 //配置虚拟网关ip
vrrp vrid 10 priority 200 //配置优先级,默认100
vrrp vrid 10 track interface g/0/0/2 reduced 150 //设置端口跟踪,一旦0/0/2口断开,优先级降150
int Vlanif 20 //配置vrrp20
ip add 192.168.20.252 24
vrrp vrid 20 virtual-ip 192.168.20.254

ip route-static 0.0.0.0 0.0.0.0 10.10.30.2 //配置默认路由
//查看端口类型
dis port vlan
//查看vrrp信息
dis vrrp
//查看路由条目
dis ip routing-table

[sw2]
vlan batch 10 20 //创建vlan
int Vlanif 1 //设置路由口
ip add 10.10.40.1 24
int g0/0/2
p l a

int g0/0/1 //设置trunk口,允许所有vlan通过
p l t
p t a v a

int g0/0/3 //设置心跳线,允许所有vlan通过
p l t
p t a v a

int Vlanif 20 //配置vrrp20
ip add 192.168.20.253 24 //设置接口ip
vrrp vrid 20 virtual-ip 192.168.20.254 //配置虚拟网关ip
vrrp vrid 20 priority 200 //配置优先级,默认100
vrrp vrid 20 track interface g/0/0/2 reduced 150 //设置端口跟踪,一旦0/0/2口断开,优先级降150
int Vlanif 10 //配置vrrp10
ip add 192.168.10.252 24
vrrp vrid 10 virtual-ip 192.168.10.254

ip route-static 0.0.0.0 0.0.0.0 10.10.40.2

[sw3]
vlan batch 10 20
int e0/0/1 //端口加入vlan
p l a
p d v 10
……e0/0/2口加入vlan20……
port-group group-member e0/0/3 e0/0/4 //3口和4口设置trunk
p l t
p t a v a //允许所有vlan通过

[R1]
int g0/0/0 //配置接口ip
ip add 10.10.30.2 24
int g0/0/1
ip add 10.10.40.2 24
int g0/0/2
ip add 20.0.1.254 24
ip route-static 192.168.10.0 24 10.10.30.1 //配置去往10网络静态路由
ip route-static 192.168.10.0 24 10.10.40.1 preference 100 //配置去往10网络浮动路由
ip route-static 192.168.20.0 24 10.10.40.1 //配置去往20网络静态路由
ip route-static 192.168.20.0 24 10.10.30.1 preference 100 //配置去往20网络浮动路由

最后,测试通信,抓包验证流量方向。

注:配置vrrp,除了优先级不同,其他的完全一模一样;
1、VRRP的抢占功能&报文发送周期
dis vrrp
vrrp vrid 1 preempt-mode disable //禁用抢占功能,默认开启;
vrrp vrid 1 preempt timer delay 5s //修改抢占延时,默认0s;

vrrp vrid 1 timer ad 3 //修改报文发送周期为3s,默认1s

2、VRRP认证&常见故障
特点:认证模式和密码必须一致
vrrp vrid 1 auth md5 密码 //配置认证模式和密码,加密密码;在传输过程中加密;
认证模式:md5、simple
simple包含2种密码模式,
plain 特点:传输过程中不加密,在设备上存储也不加密
cipher 特点:传输过程不加密,设备上保存加密

Virtual MAC : 0000-5e00-010a //虚拟mac地址,00005e公有协议,0001是vrrp,0a是vrrp的id(也就是

10);

vrrp三种状态
初始状态
master状态:周期发送报文,确保master地位;
backup状态:接收报文,等待master挂掉;

3、端口跟踪
跟踪主设备的上行端口,一旦上行端口down掉,立马降低自身优先级;
接口up了,优先级恢复;
vrrp vrid 1 track interface G0/0/1 reduced 50 //跟踪g0/0/1口,一旦down掉减少50

4、VRRP负载均衡
配置完vrrp后,如果主设备永不宕机,那么备份设备永不干活————》线路浪费
方案:配置vrrp负载均衡
最少需要2个网络(vlan),设备更换为三层交换;
思路:
如vlan10和vlan20
vlan10在sw1里是master,在sw2里是backup,一切正常情况下由sw1处理vlan10的数据;
vlan20在sw1里是backup,在sw2里是master,一切正常情况下由sw2处理vlan20的数据;
配置思路:
1)配置二层功能(vlan,trunk)
2)配置三层交换的网关(vlanif)
3)在vlanif里配置vrrp
4)验证测试
注:先在这些sw上配置1个vlan的vrrp,之后再配置其他vlan的vrrp;

5、浮动路由
配置一条优先级低的静态路由,作为备份路由;
当主路由有效的时候,备份路由不会出现在路由表中;
路由条目优先级数值越大,优先级越低;
静态路由默认优先级60;
注:要做浮动路由,优先级>60就行;
配置:ip route-static 目标网络 子网掩码 下一跳 preference 优先级 //浮动路由
如:ip route 0.0.0.0 0.0.0.0 192.168.30.2 pre 80
总结:

  1. vrrp抢占&发送报文周期
  2. Vrrp认证&常见故障
  3. 端口跟踪
  4. Vrrp负载均衡
  5. 浮动路由

VRRP协议 学习笔记相关推荐

  1. Servlet和HTTP请求协议-学习笔记02【Servlet_体系结构与urlpartten配置、HTTP请求协议】

    Java后端 学习路线 笔记汇总表[黑马程序员] Servlet和HTTP请求协议-学习笔记01[Servlet_快速入门-生命周期方法.Servlet_3.0注解配置.IDEA与tomcat相关配置 ...

  2. Servlet和HTTP请求协议-学习笔记01【Servlet_快速入门-生命周期方法、Servlet_3.0注解配置、IDEA与tomcat相关配置】

    Java后端 学习路线 笔记汇总表[黑马程序员] Servlet和HTTP请求协议-学习笔记01[Servlet_快速入门-生命周期方法.Servlet_3.0注解配置.IDEA与tomcat相关配置 ...

  3. POP3协议学习笔记

    今日得闲,于是将POP3的学习笔记也整理出来! 互联网上的TCP/IP,POP3/SMTP等资料多如牛毛,这里只是自己一点点心得,另外对于各位网络方面的大牛请安静的路过,我可不喜欢在关公面前耍大刀.. ...

  4. CoAP协议学习笔记 1.3 用UDP工具来调试CoAP

    1 前言 CoAP的调试,目前没找到好用的工具,网上说的火狐插件现在也不能用了,多希望手头的TCP/UDP网络调试工具就可以支持. 既然CoAP是基于UDP来组包的,那肯定是可以实现. 所以这篇文章给 ...

  5. 网络协议学习笔记 · 22

    IPv6 · 流媒体 · 即时通讯 · 缓存 · 网络爬虫 VPN 作用 VPN与代理的区别 实现原理(隧道协议) 网络爬虫 简易实例 robots.txt 无线网络 缓存(Cache) 响应头 请求 ...

  6. CoAP协议学习笔记 1.2 一张表了解 CoAP 协议

    1 前言 对于CoAP协议的学习,这份100多页的文档肯定没法背下来.我们只需把协议当作工具书,大体知道主体的内容,在遇到细节问题时再去具体章节找问题. 本篇笔记中先对 CoAP 协议内容做个基础了解 ...

  7. CoAP协议学习笔记 3.1 CoAP协议翻译 加密基础介绍

    CoAP协议学习笔记可点此查看. 1 前言 在之前的学习中,没有过多关注加密.但实际部分厂家的IoT平台(阿里云.OneNET)已经启用了相关安全处理,有必要深入学习下. 在 CoAP 协议 RFC7 ...

  8. BGP协议学习笔记——BGP基础

    BGP协议学习笔记--BGP基础(BGP概念.BGP报文.BGP状态机.BGP关系建立.BGP路由通告) 说明:本文学习笔记整理自网络.华为公开产品文档.华为公开PPT及部分的自我理解 一.BGP简介 ...

  9. 极客HTTP协议学习笔记破冰篇(1-7)

    极客HTTP协议学习笔记破冰篇(1-7) 前言 各篇章笔记链接 一.学习笔记 1.HTTP的前世今生 2.HTTP是什么 3.与HTTP相关的各种概念(上) 4.与HTTP相关的各种概念(下) 5.常 ...

  10. UDT协议学习笔记(一)UDT概述

    UDT协议学习笔记(一)UDT概述 本人近来就职于国内某著名互联网血汗工厂,从事分布式后台相关的工作,最近的项目主要是网络相关.我们有许多海外的proxy节点,为了加速海外proxy与国内某机房的通信 ...

最新文章

  1. Gradle Build Tool
  2. 033_CSS相对定位
  3. pythonmainoffset_python之(22)基础总结(5)
  4. 模式的秘密-观察者模式(二)
  5. 两个或者多个图片上下之间有空隙
  6. SAP CRM WebClient UI和Hybris的controller是如何被调用的
  7. php面试题接口方面,php面试题6 - osc_xb4v1nhl的个人空间 - OSCHINA - 中文开源技术交流社区...
  8. 小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)
  9. 中学编程_您可以从30岁的第一次编程采访中学到什么
  10. 使用Maven导出war包
  11. 优雅的校验参数-javax.validation
  12. Sql Server 2005 开发版亲测可用下载地址
  13. Linux内核学习路径
  14. HGET key field
  15. linux下的timerfd机制
  16. java -- Big Endian and Little Endian 大端和小端概念讲解及如何转换
  17. 测试用例优先级与三轮测试的结合
  18. android 点击状态栏,“点击状态栏回到顶部”功能的消失原因和实现
  19. 判断苹果手机系统版本 判断手机浏览器信息
  20. nvm安装与使用详解(Window11)

热门文章

  1. DCMP2.0项目总结_页面
  2. 服务器efi找不到硬盘,uefi启动找不到硬盘怎么办
  3. python自动翻译pdf_python pdf一键翻译脚本
  4. 2w 字长文带你搞懂 Linux 命令行
  5. 触摸世界:10年前我写下这些诗歌,10年后我也不讨厌它们
  6. restful风格个人理解
  7. 2种方式!带你快速实现前端截图
  8. 区块链开发金融交易平台
  9. 【C语言学习教程---1】VC++6.0的安装和创建简单C语言工程文件教程
  10. 我Linux桌面上的卡通MM真的很像ZPR吗?