Files
NE_YuR/5_vrrp/vrrp.typ
2025-10-22 01:30:34 +08:00

191 lines
11 KiB
Typst
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#import "labtemplate.typ": *
#show: nudtlabpaper.with(title: "虚拟路由器冗余协议VRRP配置",
author: "程景愉",
id: "202302723005",
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虚拟路由器中的备用路由器当主路由器失效时备份路由器接管主路由器的工作。
- 路由器IDRouter ID路由器的唯一标识用于VRRP协议中的路由器选举。
== VRRP工作原理
=== 路由器选举
#para[
VRRP路由器选举是指在一个VRRP组中多台路由器通过VRRP协议选举出主路由器。VRRP备份组中的设备根据优先级选举出Master。选举规则比较优先级的大小优先级高者当选为Master设备。当两台设备优先级相同时如果已经存在Master则其保持Master身份无需继续选举如果不存在Master则继续比较接口IP地址大小接口IP地址较大的设备当选为Master设备。
]
=== 工作机理
#para[
主备切换过程Master设备通过发送免费RP报文将虚拟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没有在规定时间内接受到对端报文变成BackupBackup变为Master但是此时原Master又接受到了原Backup的通告这样会使他们的地位不断地发生变化导致网络震荡。我们可以配置抢占时间在Backup等待了定时器超时在等待delay超时仍然没有对方的通告时则宣告自己为Master。
]
= 实验环境
== 实验背景
#para[
本实验模拟企业网络场景。公司内员工所用电脑,如 PC-1、PC-2通过交换机LSW1 连接到公司网络LSW1 连接到公司出口网关路由器。为了提高网络的可靠性,公司使用两台路由器 R2 R3 作为双出口连接到外网路由器 RI。RI、R2、R3之间运行 OSPF 协议。在双网关的情况下,如果在 PC 上配置 R2 R3 的真实 IP地址作为网关当其中一台路由器故障时就需要手动更改 PC 的网关 IP若网络中有大量 PC 则需要耗费大量时间和人力去更改配置且会带来一定时间的断网影响。为了能够使故障所造成的断网影响达到最小化增强网络的可靠性网络管理员在R4 R3 之间部署 VRRP 协议,这样当任一网关发生故障时就能自动切换而无需更改 PC 的网关 IP 地址。
]
== 实验设备
#align(center)[#table(
columns: (auto, auto,auto),
rows:(1.5em,1.5em,2.5em),
inset: 10pt,
align: horizon+center,
table.header(
[*设备名称*], [*设备型号*], [*设备数量*]
),
"交换机", "华为S5735", "1",
"路由器", "华为R6120-S", "3",
"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地址为`172.16.1.1`设置PC2的IP地址为`172.16.1.2`,网关均为`172.16.1.254`
]
== 配置OSPF协议实现互通
=== 配置路由器IP地址
#para[
配置R1的G0/0/0口IP地址为`172.18.2.254/24`G0/0/1口IP地址为`172.16.3.254/24`配置R2的G0/0/0口IP地址为`172.16.2.100/24`G0/0/1口IP地址为`172.16.1.100/24`配置R3的G0/0/0口IP地址为`172.16.3.200/24`G0/0/1口IP地址为`172.16.1.200/24`
]
#figure(image("step1.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "配置R1的接口IP地址(1)")
#figure(image("step2.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "配置R1的接口IP地址(2)")
#figure(image("step3.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "配置R2的接口IP地址(1)")
#figure(image("step4.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "配置R2的接口IP地址(2)")
#figure(image("step5.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "配置R3的接口IP地址(1)")
#figure(image("step6.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "配置R3的接口IP地址(2)")
=== 配置OSPF协议
#para[
为R1R2R3配置OSPF协议实现三台路由器之间的互通。
]
#figure(image("step7.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "为R1配置OSPF协议")
#figure(image("step8.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "为R2配置OSPF协议")
#figure(image("step9.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "在R3查看OSPF邻居关系")
== 配置VRRP协议
#para[
在R2和R3的内网接口上配置VRRP。
]
#figure(image("step10.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "在 R2 (主网关) 上配置 VRRP (1)")
#figure(image("step11.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "在 R2 (主网关) 上配置 VRRP (2)")
#figure(image("step12.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "在 R3 (备网关) 上配置 VRRP (1)")
== 配置检验
#para[
使用`display vrrp`命令查看VRRP组的状态确认Master和Backup的状态。
在R2上执行`display vrrp`命令,显示如下:
]
#figure(image("step14.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "R2显示VRRP组状态")
#para[
可以看到R2的G0/0/1口为Master状态为Master优先级为120。
在R3上执行`display vrrp`命令,显示如下:
]
#figure(image("step13.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "R3显示VRRP组状态")
#para[
R3的G0/0/1口为Backup状态为Backup优先级为100。
此时使用`traceroute`命令检验PC1到R1的连通性显示如下
]
#figure(image("step15.jpg",format: "jpg",fit:"stretch",width: 55%),caption: "traceroute命令查看路由")<beforeoff>
#para[
@beforeoff 中显示从PC1到R1的路径为`172.16.2.1->172.16.1.200->172.18.2.254`经过的是R2。
现在对R2的G0/0/1口执行`shutdown`命令关闭该接口,再次使用`traceroute`命令检验连通性,显示如下:
]
#figure(image("step17.jpg",format: "jpg",fit:"stretch",width: 55%),caption: "断开后traceroute命令查看路由")<afteroff>
#para[
@afteroff 中显示从PC1到R1的路径出现变化VRRP协议生效实现了主备切换保证了网络的连通性。
]
#figure(image("step16.jpg",format: "jpg",fit:"stretch",width: 55%),caption: "断开后ping命令查看连通性")
#para[
最后再对R2的G0/0/1口添加track功能监控接口状态当接口恢复时自动切换回主路由器。
]
#figure(image("step18.jpg",format: "jpg",fit:"stretch",width: 50%),caption: "开启track功能监控接口状态")
#para[
至此VRRP协议配置完成PC1与PC2之间的通信实现了冗余备份。
]
= 实验总结
#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")