一、实验原理概述
ensp的介绍
"ENSP"是华为企业级网络设备模拟器(Enterprise Network Simulation Platform)的缩写。它是华为公司提供的一款网络仿真软件,旨在帮助网络管理员和工程师在虚拟环境中规划、配置和测试企业级网络设备和拓扑。
以下是ENSP的一些主要介绍和功能:
- 网络拓扑模拟:ENSP允许用户在虚拟环境中构建复杂的企业级网络拓扑。用户可以添加和连接不同类型的虚拟设备,例如华为路由器、交换机、防火墙等,并设置它们之间的链路和端口属性。
- 设备模拟:ENSP提供华为企业级网络设备的模拟器,可以模拟华为的不同系列路由器和交换机。这样,用户可以在没有实际硬件设备的情况下,通过软件模拟真实设备的功能和特性。
- 配置和管理:用户可以通过ENSP对虚拟设备进行配置和管理。可以设置设备的接口、IP地址、路由协议、VLAN、安全特性等等,就像在真实设备上进行配置一样。
- 网络测试:ENSP支持模拟各种网络测试场景,如故障排除、负载均衡、链路聚合、网络性能测试等。用户可以在虚拟环境中模拟这些场景,以评估和优化网络的性能和稳定性。
- 学习和培训:ENSP是一个非常有用的教学工具,特别适合学生和网络工程师用于学习和实验华为设备的配置和操作。它可以提供一个安全的实验环境,让用户在不影响真实网络的情况下学习和实践。
- 版本支持:ENSP支持多种华为设备的模拟,包括不同型号和操作系统版本。这使得用户可以根据自己的需求选择合适的设备进行模拟和测试
ensp的安装
依次安装VirtualBox(版本5.2.26)、WinPcap(版本4.1.3)、Wireshark(版本:1.12.4)、ensp(版本:1.3.00.100)
二、实验要求
要求:
1、双点双向重发布
2、所有选路最佳
3、存在备份路径
三、实验步骤
按照实验要求配置所有IP地址
所有ip地址如实验要求中的图已经配置完毕
搭建基本的rip和ospf确保两个区域内部互通
注意R2的looback0接口宣告在rip中,R3的loopback0接口宣告在ospf中
目前的四个路由器的路由表如下:
<r1>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 14 Routes : 14
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.0/24 Direct 0 0 D 1.1.1.1 LoopBack0
1.1.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack0
1.1.1.255/32 Direct 0 0 D 127.0.0.1 LoopBack0
2.2.2.0/24 RIP 100 1 D 192.168.1.2 GigabitEthernet
0/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.1.0/24 Direct 0 0 D 192.168.1.1 GigabitEthernet
0/0/0
192.168.1.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
192.168.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
192.168.4.0/24 Direct 0 0 D 192.168.4.2 GigabitEthernet
0/0/1
192.168.4.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
192.168.4.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
<r2>disp ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 18 Routes : 18
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.0/24 RIP 100 1 D 192.168.1.1 GigabitEthernet
0/0/0
2.2.2.0/24 Direct 0 0 D 2.2.2.2 LoopBack0
2.2.2.2/32 Direct 0 0 D 127.0.0.1 LoopBack0
2.2.2.255/32 Direct 0 0 D 127.0.0.1 LoopBack0
3.3.3.3/32 OSPF 10 2 D 192.168.2.2 GigabitEthernet
0/0/1
4.4.4.4/32 OSPF 10 1 D 192.168.2.2 GigabitEthernet
0/0/1
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.1.0/24 Direct 0 0 D 192.168.1.2 GigabitEthernet
0/0/0
192.168.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
192.168.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
192.168.2.0/24 Direct 0 0 D 192.168.2.1 GigabitEthernet
0/0/1
192.168.2.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
192.168.2.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
192.168.3.0/24 OSPF 10 2 D 192.168.2.2 GigabitEthernet
0/0/1
192.168.4.0/24 RIP 100 1 D 192.168.1.1 GigabitEthernet
0/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
<r3>disp ip rou
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 18 Routes : 18
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.0/24 RIP 100 1 D 192.168.4.2 GigabitEthernet
0/0/0
2.2.2.0/24 RIP 100 2 D 192.168.4.2 GigabitEthernet
0/0/0
3.3.3.0/24 Direct 0 0 D 3.3.3.3 LoopBack0
3.3.3.3/32 Direct 0 0 D 127.0.0.1 LoopBack0
3.3.3.255/32 Direct 0 0 D 127.0.0.1 LoopBack0
4.4.4.4/32 OSPF 10 1 D 192.168.3.1 GigabitEthernet
0/0/1
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.1.0/24 RIP 100 1 D 192.168.4.2 GigabitEthernet
0/0/0
192.168.2.0/24 OSPF 10 2 D 192.168.3.1 GigabitEthernet
0/0/1
192.168.3.0/24 Direct 0 0 D 192.168.3.2 GigabitEthernet
0/0/1
192.168.3.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
192.168.3.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
192.168.4.0/24 Direct 0 0 D 192.168.4.1 GigabitEthernet
0/0/0
192.168.4.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
192.168.4.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
<r4>disp ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 14 Routes : 14
Destination/Mask Proto Pre Cost Flags NextHop Interface
3.3.3.3/32 OSPF 10 1 D 192.168.3.2 GigabitEthernet
0/0/0
4.4.4.0/24 Direct 0 0 D 4.4.4.4 LoopBack0
4.4.4.4/32 Direct 0 0 D 127.0.0.1 LoopBack0
4.4.4.255/32 Direct 0 0 D 127.0.0.1 LoopBack0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.2.0/24 Direct 0 0 D 192.168.2.2 GigabitEthernet
0/0/1
192.168.2.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
192.168.2.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
192.168.3.0/24 Direct 0 0 D 192.168.3.1 GigabitEthernet
0/0/0
192.168.3.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
192.168.3.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
由路由表可以看出两个区域内部各自全通
在R2和R3上分别做双向重发布
[r2]ospf 1
[r2-ospf-1]import-route rip
[r2-ospf-1]quit
[r2]rip
[r2-rip-1]import-route ospf
[r3]ospf 1
[r3-ospf-1]import-route rip
[r3-ospf-1]quit
[r3]rip
[r3-rip-1]import-route ospf
做完双向重发布后引发的问题
回顾双向重发布的定义:将A协议发布到B协议时,是将ASBR上所有通过A协议学习(会加入到路由表中,也就是说要重点关注负责重发布设备的路由表,重发布这个行为不会改变负责重发布设备的路由表)
认为可能出现的问题但实际上并不会出现的问题
R3在到达R1的环回时为什么没有选择走重发布进来的路由:对于重发布进来的路由在OSPF中传递时其优先级是150不是OSPF中的10,也就是说OSPF中有两种优先级,对域内路由的传递采用优先级10,对域外路由的传递采用优先级150,所以R3采用了从RIP学习到的优先级为100的路由
问题一、除了R3,其他三台路由器到R3的环回网段出现了两条路由,一个掩码是24,一个掩码是32
这个现象是由将R3的环回宣告到OSPF导致的,R3的环回网段在被OSPF区域的路由器学习时,采用的是1、2类LSA,其掩码是32位,所以R2在将R3的环回网段重发布到RIP区域时其掩码就是32位的,而R3自己在将环回网段重发布到RIP区域时是将自己在OSPF区域的直连路由发送到RIP区域,而直连路由的掩码是24位,这就导致到达R3环回的两条路由—24位和32位的路由在两个区域的所有路由器之间传播
解决方法:R3无论是往RIP区域发送路由还是往OSPF区域发送路由,掩码都统一位32位或24位
1》都发32位:将R3的环回IP地址的掩码改为32位,undo掉环回接口的ip地址并重新分配ip地址
2》都发24位:R3在向OSPF区域发送关于R3环回路由时其掩码为32位的根本原因是环回接口在OSPF的工作方式是点到点,只需将环回接口的ospf工作方式改为broadcast即可让R3的环回路由在OSPF区域时是24位的 [r3-LoopBack0]ospf network-type broadcast
问题二、RIP区域中的R1到OSPF区域的所有网段出现负载均衡,OSPF区域中的R4到RIP区域的所有网段也出现了负载均衡,导致选路不佳
由于重发布协议在重发布过程中不携带原有协议的度量值,而是在重发布起始位置添加种子度量,故在多点重发布相同路由时将导致选路不佳,这就导致192.168.1.0/24网段被R2重发布了一次又被R3重发布了一次,一旦路由条目到达OSPF区域,所有路由的度量值都是相同的导致R4认为到达192.168.1.0/24需要走两条路,实际上会绕远路。
解决方法:采用路由策略解决
1、解决R1到达R3采用负载均衡的问题:
使得R2在将R3的环回重发布到RIP时使其度量增加,使用前缀列表捕捉网络号3.3.3.0/24然后使用偏移列表为其增加度量
前缀列表专门设计用于抓取控制层面流量,即抓取网络号
偏移列表在cisco体系中算一种路由策略,在华为体系中不是路由策略;无论在华为还是思科设备总,偏移列表是距离矢量协议专用,用来修改度量;在cisco下只能用ACL为其服务;华为下,acl和前缀列表都可以;
配置命令:
[r2]ip ip-prefix prevent_r3_loopback permit 3.3.3.0 24 #捕捉网络号
[r2]interface g0/0/0 #进入控制流量的出接口
[r2-GigabitEthernet0/0/0]rip metricout ip-prefix prevent_r3_loopback 2 #捕捉到指定网络号时增加rip的起始跳数
可见R1到达R3的环回时不再走上路
2、解决R1到达192.168.3.0/24负载均衡的问题
[r2]ip ip-prefix prevent_three permit 192.168.3.0 24
[r2]interface g0/0/0
[r2-GigabitEthernet0/0/0]rip metricout ip-prefix prevent_three 2
可见R1到达192.168.3.0时也不再走上路
3、解决R1到达192.168.2.0/24负载均衡的问题
[r3]ip ip-prefix prevent_r2_r4 permit 192.168.2.0 24
[r3]interface g0/0/0
[r3-GigabitEthernet0/0/0]rip metricout ip-prefix prevent_r2_r4 2
可见R1到达192.168.2.0时也不再走下路
4、解决R4到达RIP区域负载均衡的问题
<r4>display ospf routing
OSPF Process 1 with Router ID 4.4.4.4
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
4.4.4.4/32 0 Stub 4.4.4.4 4.4.4.4 0.0.0.0
192.168.2.0/24 1 Transit 192.168.2.2 4.4.4.4 0.0.0.0
192.168.3.0/24 1 Transit 192.168.3.1 4.4.4.4 0.0.0.0
3.3.3.0/24 1 Stub 192.168.3.2 3.3.3.3 0.0.0.0
Routing for ASEs
Destination Cost Type Tag NextHop AdvRouter
1.1.1.0/24 1 Type2 1 192.168.2.1 2.2.2.2
1.1.1.0/24 1 Type2 1 192.168.3.2 3.3.3.3
2.2.2.0/24 1 Type2 1 192.168.2.1 2.2.2.2
2.2.2.0/24 1 Type2 1 192.168.3.2 3.3.3.3
192.168.1.0/24 1 Type2 1 192.168.2.1 2.2.2.2
192.168.1.0/24 1 Type2 1 192.168.3.2 3.3.3.3
192.168.4.0/24 1 Type2 1 192.168.2.1 2.2.2.2
192.168.4.0/24 1 Type2 1 192.168.3.2 3.3.3.3
Total Nets: 12
Intra Area: 4 Inter Area: 0 ASE: 8 NSSA: 0
通过查看R4上通过OSPF收到的LSA来看,由于Routing for ASEs表中所有目的网段的cost都是1,导致了采用负载均衡的策略,这是由于RIP的每个网段都被重发布了两次,一条被R2重发布了一次,一条被R3重发布了一次,重发布路由在进入OSPF区域时都是5类LSA且type为2,只有起始度量且起始度量相同,进一步导致R4认为去RIP内的所有网段都有两条路可以走,
OSPF协议中无法在ASBR的面向OSPF区域的出接口上调用对LSA限制的策略,因为OSPF采用拓扑更新,在同一个区域内不能限制拓扑的传递,不能影响数据库的同步,必须保证LSA从ASBR发进来,只是到了某个路由器,该路由器不将该ASBR中涉及的路由加表而已
解决方法:使用路由策略route-policy:
[r2]ip ip-prefix prevent_r1_r3 permit 192.168.4.0 24 #创建偏移列表捕捉来自指定网络号的控制流量
[r2]route-policy permit_r1_r3 permit node 10 #创建新的路由策略,且新建一个编号为10的条目,一张路由策略可以有多个条目,该条目的大动作是放行流量
[r2-route-policy]if-match ip-prefix prevent_r1_r3 # 在该条目上创建小动作,意思就是在放行流量的同时做一些修改
[r2-route-policy]apply cost 5 #这就是小动作当中具体执行的修改,意思是将cost值加5
[r2-route-policy]apply cost-type type-1 #一定要修改开销类型,否则看不出效果,在R4上输入display ospf routing的时候看到cost值就会变为5,而不是种子度量
此时的效果就是R2在讲192.168.4.0/24网段的路由传递给OSPF区域时会将cost值加大
对于R3也执行和R2相同的操作即可
对R2和R3都创建适当的路由策略后,R4到达RIP区域的路线就会达到最佳
问题三、R1和R2之间的线断连再上线后,R1到R2的环回会出现负载均衡(本应该通过RIP直接去),R3的路由表发生变化,R3到R1和R2之间的网段的路由加载了优先级为150的路由(本应加载从左边RIP学习到的路由,其优先级为100,150的路由是R2重发布到OSPF中的,凡是重发布进入OSPF的路由的优先级都是150)
断连后,所有路由器失去到达192.168.1.0/24的路由条目(OSPF的触发更新导致的),R3原本要到R2的环回网段需要走左边的RIP区域,因为这条路由的优先级为100优于右侧发布的优先级为150的路由,现在192.168.1.0/24断开了R3只能走右侧的OSPF区域,R3又将这条到达R2环回的路由重发布到R1上。然后断线又上线了,R2通过RIP的触发更新告诉R1要到自己的环回要通过新线过来,其跳数为1,但此时R1原来的那条通过R3重发布进来的路由的跳数也是1(OSPF发布到RIP区域的路由会抹掉原先的度量采用新的度量),所以构成了负载均衡。
R3到R1和R2之间的网段的路由加载了优先级为150的路由
在恢复连接之后,R3到达192.168.1.0/24网段本应该恢复正常,但仍然是负载均衡,此时需要将192.168.4.0/24网段断连重连即可
解决方法:同样要采用路由策略