静网PWA视频评论

基于 eNSP 的 BGP 路由仿真实验设计

2023年11月15日

- txt下载

  摘 要:为确保每名学生的学习效果,不受物理设备的限制,学校利用华为模拟器 eNSP 展开了教学实验。文章结合企业 网络环境,利用华为模拟器 eNSP 仿真实现了 BGP 路由实验,并给出了详细的实验设计方法、网络拓扑结构和设备的部分配 置命令,同时对实验的结果进行了分析和验证。通过 BGP 路由仿真实验的设计和验证,能够帮助学生很好的理解和掌握 BGP 路由协议的工作机制和通告原则,进一步加深对 BGP 网络协议的领会,真正做到学以致用。
  Design of BGP Routing Simulation Experiment Based on eNSP
CHENG Ranran, LIU Hailong, ZHAO Yan
(Land to Air Communication Department, Air Force Communications NCO Academy, Dalian Liaoning 116000)
【Abstract】:In order to ensure that the learning effect of each student is not limited by physical equipment, the school conducted teaching experiments using Huawei emulator eNSP. In this paper, combined with the enterprise network environment, the BGP routing experiment is realized by using Huawei simulator eNSP simulation, and the detailed design method of the experiment, network topology structure and some configuration commands of the device are given, and the results of the experiment are analyzed and verified . Through the design and verification of the BGP routing simulation experiment, it can help students to understand and master the working mechanism and notification principles of the BGP routing protocol, further deepen the understanding of network protocols, and truly apply what you have learned.
【Key words】:eNSP;BGP routing protocol;notice principle;routing emulation
BGP (Border Gateway Protocol, 边界 网关路 由 协议 ) 是一个非常关键的路由协议,一般会用在大型企 业、国际出口和运营商等规模比较大的网络中,所以 采用的交换机、路由器等网络设备会比较多,投资相对 高。学校开展 BGP 的教学实践,若采用真实的交换机、 路由器等物理设备搭建网络环境将会耗费很多资金 [1]。 同时,学生要在真实的物理设备上做实验,不仅对时 间、场地、设备数量有要求,而且真正操作起来既费时 又麻烦。因此,对于计算机网络专业的学生来说有必要 借助 eNSP 仿真软件构建 BGP 相关实验环境进行实践 教学,供学生们学习和实践 [2]。在模拟器 eNSP 中搭建 网络实验环境,既可以节省实验成本,简化实验流程, 又可以达到和真实设备一样的效果,相比于采用真实设 备的优势更加凸显。
  1 BGP 协议介绍
BGP 是路径矢量路由协议,工作在不同的自治系 统 AS(Autonomous) 之间, 负责将选择的最优路由 发送到相应 AS 中,其他的任务便交给内部的网关协议 IGP(Interior gateway protocols)。IGP 工作在同一 个 AS 之中,主要用来完成邻居路由器之间传递路由条 目的任务,例如 OSPF、ISIS、RIP 等协议 [3]。
BGP 本身是传输层协议,运行在 TCP 协议之上 [4]。 两用户要通信的话,只有先完成 TCP 会话的建立,才 能确保报文传输的正确性,省去了差错控制与重传的机 制,进而简化了 BGP 的工作流程。因此, BGP 相比于 OSPF、RIP、ISIS 等协议更加的简单,更适合用于传 输业务网段路由。同时, BGP 采用了触发式路由更新, 并不用周期性的对整个路由表进行更新,从而节约了更新所需要的带宽 [5]。此外, BGP 还有很多路由属性,利 用它们可以综合评估出哪条才是最佳的路径。
  2 BGP 路由实验设计
2.1 网络结构设计
本实验模拟的是一个简单的企业网络场景,网络拓 扑如图 1 所示。该网络拓扑中有七个路由器,其中 R1、 R2、R3 和 R4 同属于一个自治系统 AS100.R5、R6 和 R7 分别属于自治系统 AS200、AS300 和 AS400.如果想 让整个公司不同地市内部网络都能够通信,则要在全部 的路由器上配置路由协议。要求每台路由器 BGP 的 ID 统一为各自的 loopback0 接口地址 ;R1、R2、R3 与 R4 建立稳定的 IBGP 邻居关系, R1 分别与 R5、R7 使用互 联地址建立 EBGP 邻居,R2 与 R6 使用 loopback0 接口 地址建立稳定的 EBGP 邻居 ;AS100 内 IGP 协议统一 采用 OSPF 协议, 且 R1、R2、R3 和 R4 的 loopback0 接口地址均通过 OSPF 发布。
2.2 网络数据规划
根据 BGP 网络拓扑图 1 上的参数信息,完成各路 由器接口 IP 地址的规划设计。其中各个路由器虚接口 Loopback0 的地址为 X.X.X.X/32.X 为各个路由器的序 号。虚接口 Loopback10、Loopback20 和 Loopback30 分别模拟企业的内部网络,它们的 IP 地址分别为 10.10. 10.1/24、 20.20.20.1/24 和 30.30.30.1/24.
2.3 网络设备数据配置
2.3.1 配置各路由器接口的 IP 地址
根据网络数据规划完成各个路由器设备接口的 IP 地址配置,各个路由器接口配置类似,以 R1 的两个接 口配置为例,具体配置如下 :
[R1]interface Eth0/0/0
[R1-Ethernet0/0/0]ip address 10.0.12.1 24
[R1-Ethernet0/0/0]q
[R1]interface LoopBack 0
[R1-LoopBack0]ip address 1.1.1.1 32
[R1-LoopBack0]q
2.3.2 部署单区域 OSPF 网络
在路由器 R1 上配置 OSPF 协议(R2、R3、R4 的配 置类似),具体配置如下 [6] :
[R1]ospf 1
[R1-ospf-1]area 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.13.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
2.3.3 配置 IBGP 连接
在路由器 R3 上配置 BGP 协议(R1、R2、R4 的配 置类似),具体配置如下 [7] :
[R3]bgp 100
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 1.1.1.1 as-number 100
[R3-bgp]peer 1 .1 .1 .1 connect-interface LoopBack0
[R3-bgp]peer 2.2.2.2 as-number 100
[R3-bgp]peer 2.2.2.2 connect-interface Loop Back0
2.3.4 配置 EBGP 连接
(1) 使用 loopback0 接口地址, 建立 EBGP 邻居, 以 R6 配置为例(R2 配置类似),具体配置如下 :
[R6]bgp 300
[R6-bgp]router-id 6.6.6.6
[R6-bgp]peer 2.2.2.2 as-number 100
[R6-bgp]peer 2.2.2.2 ebgp-max-hop 2
[R6-bgp]peer 2 .2 .2 .2 connect-interface LoopBack 0
#
ip route-static 2.2.2.2 255.255.255.255 10.0.26.2 #
(2)使用互联地址,建立 EBGP 邻居,以 R7 配置 为例(R1、R5 的配置类似),具体配置如下 :
[R7]bgp 400
[R7-bgp]router-id 7.7.7.7
[R7-bgp]peer 10.0.17.1 as-number 100 2.4 实验结果验证与分析
(1) BGP Speaker 只通告本地 BGP 路由表中最优 且有效的路由条目 [8]。
在 R1 和 R5 上分别使用 network 方式发布路由 10.10.10.0/24.查看路由的接收情况。
R1 的 BGP 路由表 :
[R1] dis bgp routing-table
由条目通告给对等体 R2.
(2)BGP Speaker 从它的 EBGP 邻居中所得到的 路由条目,将对其所有的 IBGP、EBGP 邻居通告。
R5 上的路由条目 10.10.10.0/24 保留,R1 上的路 由条目 10.10.10.0/24 删除,再来查看路由的接收情况。
R1 的 BGP 路由表 :
[R1]dis bgp rout
BGP Local router ID is l.1.1.1
Status codes: * - valid, > - best,d - damped, h - history,i - internal,s -suppressed,S - Stale Origin : i-IGP, e -EGP, ?- incomplete
Total Number of Routes: 1 NetworkNextHopMEDLocPrfPrefval Path/Ogn *>10.10.10.0/2410.0.15.500200i
R2 的 BGP 路由表 :
[R2]dis bgp rout
BGP Local router ID is 1.1.1.1
Status codes: * - valid,> - best,d - damped, h - history,i - internal,s - suppressed,S - Stale Origin : i - IGP, e - EGP,? - incomplete
BGP Local router ID is 2.2.2.2
Status codes: * - valid,> - best,d - damped, h - history,i - internal,s -suppressed,S - Stale Origin : i -IGP, e-EGP,?- incomplete
Total Number of Routes: 2 NetworkNextHopMEDLocPrfPrefval Path/ Ogn *>10.10.10.0/240.0.0.000 i * 10.0.15.500200i
R2 的 BGP 路由表 :
[R2]dis bgp rout
BGP Local router ID is 2.2.2.2
Status codes: * - valid,> - best,d - damped, h - history,i - internal,s - suppressed,S-Stale Origin : i-IGP,e - EGP,? - incomplete
Total Number of Routes: l NetworkNextHopMEDLocPrfPrefval Path/ Ogn *>i10.10.10.0/241.1.1.l01000i
由此可以看出,当 R1 的 BGP 路由表中有两条路径 可到达 10.10.10.0/24 时,R1 只会将自身采用的最优路
Total Number of Routes: l
NetworkNextHopMEDLocPrfPrefval Path/Ogn
i 10.10.10.0/2410.0.15.50100 0 200i
R7 的 BGP 路由表 :
[R7]dis bgp rout
BGP Local router ID is 7.7.7.7
Status codes: * - valid,> -best,d - damped, h - history,i - internal,s -suppressed,S - Stale Origin : i -IGP, e -EGP,?- incomplete
Total Number of Routes: 1 NetworkNextHopMEDLocPrfPrefval Path/Ogn *>10.10.10.0/2410.0.17.10100200i
由此可以看得出, R1 从 EBGP 邻居 R5 上获取的路 由条目 10.10.10.0/24 会传给它的 IBGP 邻居 R2 和 EBGP 邻居 R7.该路由条目传给 IBGP 邻居 R2 时路由的下一跳地址保持不变 ;而传给 EBGP 邻居 R7 时,路由的下 一跳地址会发生改变,变成了谁接收的路由器下一跳, 比如 R7 的 10.0.17.1.
(3)BGP Speaker 从它的 IBGP 邻居中所得到的路 由条目虽然不会通告给它的 IBGP 邻居(反射器除外), 但是会通告给它的 EBGP 邻居,前提是 IBGP 与 IGP 要同 步(华为默认同步关闭,对于华为设备只要下一跳可达, 从 IBGP 学习到的路由就会传递给它的 EBGP 邻居)。
在 R1 上使用 network 方式发布路由 30.30.30.0/24 之后,再去查看几个路由器上路由的情况。
R2 的 BGP 路由表 :
[R2]dis bgp rout
BGP Local router ID is 2.2.2.2
Status codes:* - valid,> - best,d - damped, h - history,i - internal,s - suppressed, S - Stale Origin : i - IGP, e-EGP,?- incomplete
Total Number of Routes: 2 NetworkNextHopMEDLocPrfPrefval Path/ ogn i 10.10.10.0/2410.0.15.501000200i *>i30.30.30.0/241.1.1.101000i
R4 的 BGP 路由表 :
[R4]dis bgp rout
[R4]
R6 的 BGP 路由表 :
[R6]dis bgp rout
BGP Local router ID is 6.6.6.6
Status codes:* - valid,> - best, d -damped, h - history,i - internal,s - suppressed,S - Stale Origin : i - IGP, e -EGP,? -incomplete
Total Number of Routes: l
NetworkNextHopMEDLocPrfPrefval Path/ Ogn
*>30.30.30.0/242.2.2.2 0 100i
由此可以看出, R2 从 IBGP 邻居 R1 上获得的路由 条目 30.30.30.0/24 并没有通告给它的 IBGP 邻居 R4. 却通告给了它的 EBGP 邻居 R6.并且下一跳的地址也 发生了改变,变成了 R2 与 EBGP 邻居 R6 的虚接口地 址 2.2.2.2.同时,我们也会发现在 R2 的 BGP 路由表中虽然有 AS200 中的路由条目 10.10.10.0/24. 但因为 下一跳地址 10.0.15.5 不可达, 它不是一条有效的路由, 所以在 R6 的 BGP 路由表中并没有看到 10.10.10.0/24 的 路由信息。这时我们可以在 R1 的 BGP 视图中加入 peer2.2.2.2 next-hop-local,再看 R2 的 BGP 路由表 : [R2]dis bgp routBGP Local router ID is 2.2.2.2Status codes: * - valid, > - best, d - damped, h - history,i - internal,s - suppressed,S - Stale origin : i -IGP, e -EGP, ?- incomplete
Total Number of Routes: 2 NetworkNextHopMEDLocPrfPrefval Path/oan *>i10.10.10.0/241.1.1.l01000200i *>i30.30.30.0/241.1.1.101000i由此我们会发现, 10.10.10.0/24 这条路由变成了 有效路由,下一跳地址为 R1 的 loopback0 接口地址, 变成了活跃路由,这时再来查看 R6 的 BGP 路由表 :
[R6]dis bap rout
BGP Local router ID is6.6.6.6
Status codes:* - valid, > - best, d - damped, h - history,i - internal,s - suppressed,S - Stale Origin : i -IGP,e -EGP,? - incomplete
Total Number of Routes: 2 NetworkNextHopMEDLocPrfPrefval Path/ogn *>10.10.10.0/242.2.2.20100 200i *>30.30.30.0/242.2.2.20100i
通过观察发现, R6 现在已经学到了 R5 上宣告的 10.10.10.0/24 这条路由信息。
如果在 R6 上发布 20.20.20.0/24 路由, 并在 R2 的 BGP 视 图 中加 入 peer 1.1.1.1 next-hop-local, 同样 在 R5 的 BGP 路由表中也可以学到 20.20.20.0/24 的路由信 息。这样 10.10.10.0/24 和 20.20.20.0/24 就可以互通了, 实现了不同自治域用户的跨域通信。为了验证 AS200 和 AS300 的内部网络是否能够正常通信,使用 ping 命令 来测试一下连通性 [9],测试结果如下 :
[R6]ping 10.10.10. 1
PING 10.10.10.1:56data bytes,press CTRL_Cto break
Reply from 10.10.10.1: bytes=56 Sequence=l
ttl=254 time=50 ms
Reply from 10.10.10.1: bytes=56 Sequence=2 ttl=254 time=70 ms
Reply from 10.10.10.1: bytes=56 Sequence=3 ttl=254 time=70 ms
Reply from 10.10.10.1: bytes=56 Sequence=4 ttl=254 time=40 ms
Reply from 10.10.10.1: bytes=56 Sequence=5 ttl=254 time=50 ms
---10.10.10.1 ping statistics ---
5packet(s)transmitted
5 packet(s) received
0.00%packet loss
round-trip min/avg /max=40/56/70 ms
由此可见, AS200 和 AS300 的内部网络之间能够正 常通信。
通过上面一系列命令的配置和结果分析,在该实验 网络拓扑中不同自治系统 AS 中的路由器之间能够实现 路由交换,说明已经成功运行了 BGP 协议,同时也验 证了 BGP 路由通告原则。
  3 结语
本文采用华为模拟器 eNSP 仿真软件构建了 BGP 动态路由的实验环境,有效解决了 BGP 路由协议在教 学过程中实验环境难以搭建的问题,同时也解决了常规 课程实践实验设备数量不充足、时间安排不灵活、场地使用受限等问题 [10]。学生通过构建网络拓扑, 完成实 验 BGP 路由配置命令,深入分析 BGP 实验结果,既掌 握了 BGP 路由协议的配置流程和工作机制,又加深了 对 BGP 路由通告原则的理解,极大的激发了学习兴趣, 为进一步学习 BGP 协议相关内容奠定了一定的基础。
  参考文献
[1] 廖浩霖.利用eNSP构建虚拟的网路技术实验室[J].电脑知识 与技术,2014.32(10):72-74.
[2] 唐灯平,凌兴宏,魏慧.新工科背景下的计算机网络类课程实 践教学模式探索[J].计算机教育,2019(1):72-75.
[3] 李丙春.路由与交换技术[M].北京:电子工业出版社,2016. [4] Jeff Doyle.TCP/IP路由技术第2卷[M].2版.北京:人民邮电 出版社,2017.
[5] 朱仕耿.HCNP路由交换学习指南[M].北京:人民邮电出版 社,2021.
[6] 谢水珍,武良丹.基于eNSP的OSPF教学设计[J].信息技术与 信息化,2019(2):133-135.
[7] 叶涛,王思齐,杨建彪.基于eNSP的大规模路由综合设计与仿 真实验[J].实验室研究与探索,2019.38(4):109-114.
[8] 华为技术有限公司.HCNP路由交换实验指南[M].北京:人 民邮电出版社,2014.
[9] 叶涛,刘昕,昝风彪.网络互联与路由技术实验指导书[M].北 京:知识产权出版社,2017.
[10] 王俊波,陈晓燕.基于eNSP平台的网络课程设计与应用[J]. 信息与电脑(理论版),2020.32(1):95-97.

收藏

相关推荐

清纯唯美图片大全

字典网 - 试题库 - 元问答 - 繁體 - 顶部

Copyright © cnj8 All Rights Reserved.