vrrp report initialized
This commit is contained in:
200
5_vrrp/vrrp.typ
Normal file
200
5_vrrp/vrrp.typ
Normal file
@ -0,0 +1,200 @@
|
||||
#import "labtemplate.typ": *
|
||||
#show: nudtlabpaper.with(title: "虚拟路由器冗余协议(VRRP)配置",
|
||||
author: "程景愉",
|
||||
id: "202202001046",
|
||||
training_type: "无军籍",
|
||||
grade: "2023",
|
||||
major: "网络工程",
|
||||
department: "计算机学院",
|
||||
advisor: "张军",
|
||||
jobtitle: "工程师",
|
||||
lab: "306-707",
|
||||
date: "2025.09.26",
|
||||
header_str: "《网络工程》实验报告",
|
||||
)
|
||||
#set page(header: [
|
||||
#set par(spacing: 6pt)
|
||||
#align(center)[#text(size: 11pt)[《网络工程》实验报告]]
|
||||
#v(-0.3em)
|
||||
#line(length: 100%, stroke: (thickness: 1pt))
|
||||
],)
|
||||
|
||||
#show heading: it => box(width: 100%)[
|
||||
#v(0.50em)
|
||||
#set text(font: hei)
|
||||
#it.body
|
||||
]
|
||||
|
||||
#outline(title: "目录",depth: 3, indent: 1em)
|
||||
// #pagebreak()
|
||||
#outline(
|
||||
title: [图目录],
|
||||
target: figure.where(kind: image),
|
||||
)
|
||||
|
||||
#show heading: it => box(width: 100%)[
|
||||
#v(0.50em)
|
||||
#set text(font: hei)
|
||||
#counter(heading).display()
|
||||
// #h(0.5em)
|
||||
#it.body
|
||||
]
|
||||
#set enum(indent: 0.5em,body-indent: 0.5em,)
|
||||
#pagebreak()
|
||||
|
||||
= 实验目的
|
||||
1. 了解虚拟路由器冗余协议(VRRP)的基本概念;
|
||||
2. 掌握VRRP协议的工作原理;
|
||||
3. 掌握VRRP协议的配置方法。
|
||||
#para[
|
||||
通过本实验,我将学习虚拟路由器冗余协议(VRRP)的基本概念,理解其在提高网络可靠性和可用性方面的重要作用,并熟悉其工作机制,包括虚拟路由器角色的划分、主备切换的触发条件及优先级的配置影响。同时,通过实际配置VRRP协议,我将掌握相关命令和参数的设置方法,了解如何根据网络需求优化配置以确保高效稳定的运行。实验还将通过模拟网络故障场景,验证VRRP在主路由器失效情况下的自动切换能力和高可用特性,帮助深入理解冗余技术的应用价值。此外,实验还将增强对冗余协议(如HSRP、GLBP)与负载均衡技术异同点的认识,为在实际网络环境中应用和维护相关技术奠定基础。
|
||||
]
|
||||
= 实验原理
|
||||
== VRRP概述
|
||||
#para[
|
||||
单网关、多网关这两种设计方案都要有各自的缺点。单网关缺陷:当路由器的网关接口发生故障时会导致无法与本网段下的所有主机正常通信。多网关缺陷:主机的网关只可以有一个,如果存在多个网关会导致IP地址冲突,无法正常寻址。
|
||||
]
|
||||
#para[
|
||||
而虚拟路由器冗余协议(Virtual Router Redundancy Protocol,简称VRRP)能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的冗余备份,提高网络的可靠性和可用性。
|
||||
]
|
||||
== VRRP术语
|
||||
- 虚拟路由器(Virtual Router):由多台路由器组成的一个虚拟路由器,提供默认网关服务。
|
||||
- 主路由器(Master Router):虚拟路由器中的主要路由器,提供默认网关服务。
|
||||
- 备份路由器(Backup Router):虚拟路由器中的备用路由器,当主路由器失效时,备份路由器接管主路由器的工作。
|
||||
- 路由器ID(Router ID):路由器的唯一标识,用于VRRP协议中的路由器选举。
|
||||
== VRRP工作原理
|
||||
=== 路由器选举
|
||||
#para[
|
||||
VRRP路由器选举是指在一个VRRP组中,多台路由器通过VRRP协议选举出主路由器。VRRP备份组中的设备根据优先级选举出Master。选举规则:比较优先级的大小,优先级高者当选为Master设备。当两台设备优先级相同时,如果已经存在Master,则其保持Master身份,无需继续选举;如果不存在Master,则继续比较接口IP地址大小,接口IP地址较大的设备当选为Master设备。
|
||||
]
|
||||
=== 工作机理
|
||||
#para[
|
||||
主备切换过程:Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。Master和Backup中会以Advertisement_Interval(一般是1秒)的时间互相发送通告报文,当Backup设备在Master_Down_Interval定时器超时后没有收到对方的通告,可认为已经Master设备发生故障。还有一种情况是Master主动弃置地位,Master发送优先级为0的通告报文,不用等定时器超时,经过Skew_Time的时间Backup主动成为Master。注意:
|
||||
]
|
||||
$ "Master_Down_Interval"=3×"Advertisement_Interval" plus "Skew_Time" $ $ "Skew_Time"=(256-"Backup设备的优先级")/256 $P.S. 单位均为秒。
|
||||
#para[
|
||||
恢复过程:当原Master的故障已经恢复会触发抢占机制,抢占时间为0,即现Master地位变为Backup。
|
||||
]
|
||||
#para[
|
||||
此外,如果虚拟路由器都在互发通告时,由于网络拥塞,使得Master没有在规定时间内接受到对端报文,变成Backup,Backup变为Master,但是此时,原Master又接受到了原Backup的通告,这样会使他们的地位不断地发生变化,导致网络震荡。我们可以配置抢占时间,在Backup等待了定时器超时,在等待delay超时仍然没有对方的通告时,则宣告自己为Master。
|
||||
]
|
||||
= 实验环境
|
||||
== 实验背景
|
||||
#para[
|
||||
学校经费充足,在网工系学生寝室楼与网安系学生寝室楼之布置了许多路由器。但是这些路由器的供电来自不同线路,其中的某几条线路与附近的超算中心相连。超算高负载运行的时候,路由器供电电压会受影响,导致运行不稳定甚至关机。网工系的学生为了能与网安系学生正常、稳定地开展线上视频学术研讨会议,决定在宿舍间路由器集群上配置VRRP协议,实现虚拟路由器冗余备份。
|
||||
]
|
||||
== 实验设备
|
||||
#align(center)[#table(
|
||||
columns: (auto, auto,auto),
|
||||
rows:(1.5em,1.5em,2.5em),
|
||||
inset: 10pt,
|
||||
align: horizon+center,
|
||||
table.header(
|
||||
[*设备名称*], [*设备型号*], [*设备数量*]
|
||||
),
|
||||
"交换机", "华为S5735", "2",
|
||||
"路由器", "华为AR6120-S", "2",
|
||||
"PC", "联想启天M410
|
||||
Windows 10", "2",
|
||||
)]
|
||||
#para[
|
||||
另有网线若干,控制线2条。
|
||||
]
|
||||
= 实验步骤及结果
|
||||
== 实验拓扑
|
||||
#para[
|
||||
按实验背景,绘制拓扑图如下:
|
||||
]
|
||||
#figure(image("实验拓扑.png",format: "png",fit:"stretch",width: 100%),caption: "实验拓扑图")
|
||||
== 按照拓扑图接线
|
||||
#para[
|
||||
按照拓扑图接线。
|
||||
]
|
||||
#figure(image("机柜背面连线.jpg",format: "jpg",fit:"stretch",width: 100%),caption: "机柜正面接线图")
|
||||
#figure(image("机柜正面连线.jpg",format: "jpg",fit:"stretch",width: 100%),caption: "机柜背面接线图")
|
||||
== 配置PC
|
||||
#para[
|
||||
设置网工系寝室楼PC1的IP地址为`192.168.10.10`,网关为`192.168.10.111`;设置网安系寝室楼PC2的IP地址为`192.168.20.2`,网关为`192.168.20.111`。
|
||||
]
|
||||
== 配置OSPF协议实现互通
|
||||
=== 配置路由器IP地址
|
||||
#para[
|
||||
配置AR1的G0/0/0口IP地址为`192.168.10.1/24`,G0/0/1口IP地址为`192.168.20.1/24`;配置AR2的G0/0/0口IP地址为`192.168.10.3/24`,G0/0/1口IP地址为`192.168.20.3/24`。
|
||||
]
|
||||
#figure(image("上_ip.png",format: "png",fit:"stretch",width: 70%),caption: "配置AR1的接口IP地址")
|
||||
#figure(image("下_ip.png",format: "png",fit:"stretch",width: 70%),caption: "配置AR2的接口IP地址")
|
||||
=== 配置OSPF协议
|
||||
#para[
|
||||
配置AR1的G0/0/0口和G0/0/1口为OSPF区域0的接口;配置AR2的G0/0/0口和G0/0/1口为OSPF区域0的接口。
|
||||
]
|
||||
#figure(image("上_ospf.png",format: "png",fit:"stretch",width: 70%),caption: "为AR1配置OSPF协议")
|
||||
#figure(image("下_ospf.png",format: "png",fit:"stretch",width: 100%),caption: "为AR2配置OSPF协议")
|
||||
== 配置VRRP协议
|
||||
#para[
|
||||
配置AR1的G0/0/0口为VRRP组1的Master,优先级为120,并配置抢占延迟时间为5秒(实际推荐20秒);配置AR2的G0/0/0口为VRRP组1的Backup,优先级缺省为100。
|
||||
]
|
||||
#figure(image("上_vrrp.png",format: "png",fit:"stretch",width: 100%),caption: "配置AR1")
|
||||
#figure(image("下_vrrp.png",format: "png",fit:"stretch",width: 100%),caption: "配置AR2")
|
||||
== 配置检验
|
||||
#para[
|
||||
使用`display vrrp`命令查看VRRP组的状态,确认Master和Backup的状态。
|
||||
在AR1上执行`display vrrp`命令,显示如下:
|
||||
]
|
||||
#figure(image("上_disp_vrrp_断开接口前.png",format: "png",fit:"stretch",width: 55%),caption: "AR1显示VRRP组状态")
|
||||
#para[
|
||||
可以看到AR1的G0/0/0口为Master,状态为Master,优先级为120。
|
||||
在AR2上执行`display vrrp`命令,显示如下:
|
||||
]
|
||||
#figure(image("下_disp_vrrp_断开接口前.png",format: "png",fit:"stretch",width: 55%),caption: "AR2显示VRRP组状态")
|
||||
#para[
|
||||
AR2的G0/0/0口为Backup,状态为Backup,优先级为100。
|
||||
此时使用`traceroute`命令检验网工系寝室楼PC1到网安系寝室楼PC2的连通性,显示如下:
|
||||
]
|
||||
#figure(image("断开前ping.png",format: "png",fit:"stretch",width: 55%),caption: "traceroute命令查看路由")<beforeoff>
|
||||
#para[
|
||||
@beforeoff 中显示从PC1到PC2的路径为`192.168.10.2->192.168.10.1->192.168.20.2`,经过的是AR1。
|
||||
现在对AR1的G0/0/0口执行`shutdown`命令关闭该接口:
|
||||
]
|
||||
#figure(image("上_shutdown.png",format: "png",fit:"stretch",width: 50%),caption: "关闭AR1的G0/0/0口")
|
||||
#para[
|
||||
再次使用`traceroute`命令检验连通性,显示如下:
|
||||
]
|
||||
#figure(image("断开后ping.png",format: "png",fit:"stretch",width: 55%),caption: "断开后traceroute命令查看路由")<afteroff>
|
||||
#para[
|
||||
@afteroff 中显示从PC1到PC2的路径为`192.168.10.2->192.168.10.3->192.168.20.2`,经过的是AR2。
|
||||
这时在AR1上执行`display vrrp`命令,显示如下:
|
||||
]
|
||||
#figure(image("上_disp_vrrp_断开接口后.png",format: "png",fit:"stretch",width: 50%),caption: "AR1显示VRRP组状态")
|
||||
#para[
|
||||
可以看到AR1的G0/0/0口状态为Backup。
|
||||
]
|
||||
|
||||
#para[
|
||||
最后,再次对AR1的G0/0/0口执行`undo shutdown`命令开启该接口:
|
||||
]
|
||||
#figure(image("上_undo_shutdown.png",format: "png",fit:"stretch",width: 50%),caption: "开启AR1的G0/0/0口")
|
||||
#para[
|
||||
在AR1上执行`display vrrp`命令,显示如下:
|
||||
]
|
||||
#figure(image("上_disp_vrrp_重新打开接口后.png",format: "png",fit:"stretch",width: 50%),caption: "恢复接口状态后AR1显示VRRP组状态")
|
||||
#para[
|
||||
可以看到AR1的G0/0/0口状态为Master,即主备备份状态恢复。
|
||||
]
|
||||
|
||||
#para[
|
||||
至此,VRRP协议配置完成,网工系与网安系之间的通信实现了冗余备份,学生们能够通过稳定的线上视频学术研讨会进行学术交流,可以不受超算马力全开对路由器电力资源造成的影响。
|
||||
]
|
||||
= 实验总结
|
||||
#para[
|
||||
通过本次实验,我了解了虚拟路由器冗余协议(VRRP)的基本概念和工作原理,掌握了VRRP协议的配置方法。VRRP协议通过将多台路由器虚拟成一个虚拟路由器,提供默认网关服务,实现了网关的冗余备份,提高了网络的可靠性和可用性。在实验中,我按照实验步骤,配置了VRRP协议,通过检验,确认了Master和Backup的状态,验证了主备切换的过程,实现了网络的冗余备份。通过本次实验,我不仅掌握了VRRP协议的配置方法,还加深了对冗余技术的应用价值的理解,为今后在实际网络环境中应用和维护相关技术打下了基础。
|
||||
]
|
||||
|
||||
#show heading: it => box(width: 100%)[
|
||||
#v(0.50em)
|
||||
#set text(font: hei)
|
||||
// #counter(heading).display()
|
||||
// #h(0.5em)
|
||||
#it.body
|
||||
]
|
||||
#pagebreak()
|
||||
#bibliography("ref.yml",full: true,title: "参考文献",style:"gb-7714-2015-numeric")
|
||||
Reference in New Issue
Block a user