news 2026/10/21 8:16:44

H3C综合网络实验:SR-MPLS TE Policy设计及故障切换实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
H3C综合网络实验:SR-MPLS TE Policy设计及故障切换实战

简介:一份面向毕业设计场景的H3C综合网络实验资料,通过多种路由交换协议组网模拟中大型企业网络的转发流程,适合网络工程、计算机等相关专业学生完成综合性实验或毕设方案。内容围绕核心层、汇聚层、接入层展开,覆盖M-LAG、VRRP高冗余架构,以及AC集中管理AP、SR-MPLSTEPolicy等进阶主题。资料包共44个文件,以32份cfg设备配置为主,另含HCL工程文件、备份压缩包、README说明与拓扑图,整体约35.99MB,可直接导入HCL模拟器查看,也支持分批次启动设备调试。目前已有565人学习下载。借助多设备配置、拓扑图与说明文档,可系统理解分层组网与高可用性设计,也可作为大型网络实验排错和毕业设计撰写的参考。

1. 毕业设计开题:为什么综合网络实验最怕“配通了但说不清”

很多同学拿到“H3C综合网络实验”这个毕业设计题目时,第一反应是打开HCL模拟器,把设备连起来,照着网上教程敲OSPF、敲BGP,最后看到路由表里全是路由条目就以为大功告成。但真正的答辩现场,导师最常问的一句话是:“这条流量为什么走这条路?你策略配置的依据是什么?”一旦答不上来,整个实验就从“优秀设计”变成“配置搬运”。这套方案要解决的核心问题,就是把“配通”升级为“设计”——从拓扑分层、地址规划、路由协议选型,再到SR-MPLS TE Policy的流量调度,每一步都能讲出意图、能验证、能演示故障切换。适合正在选毕业设计题目的学生,也适合已经用HCL把设备点亮但卡在“怎么把实验写成设计”的开发者。

2. 总体架构设计:三层拓扑与互联细节的职责划分

2.1 拓扑分层:核心层、汇聚层、接入层各干什么

综合网络实验最容易犯的第一个设计错误,是所有路由器堆在一个平面里,没有层次。这套方案把整网划分成三个平面:核心层由两台P设备R1、R2组成,负责SR-MPLS骨干转发,不在核心设备上挂任何终端业务;汇聚层由R3、R4两台PE设备组成,既是SR-MPLS的边缘节点,也是业务网关和BGP路由反射的汇聚点;接入层由SW1、SW2和R5、R6组成,SW承载终端VLAN,R5、R6模拟两个分支机构的CE设备,把业务路由引入骨干。

这个三层结构最直接的好处是故障域隔离。接入层挂掉只影响该分支,汇聚层设备支持冗余切换,核心层只关心高速转发。拓扑互联采用“口字形”双链路设计:R1与R2之间一条链路构成核心内互联,R3同时上联R1和R2,R4也同时上联R1和R2,另外R3与R4之间再拉一条直连链路作为备份通道。这样一来,任意一条上联链路断开,业务流量都能通过另一条路径到达目的地,SR-MPLS TE Policy才有发挥空间。

2.2 设备角色与接口互联清单

设备角色规划上,R1、R2的Loopback0地址分别规划为10.255.0.1和10.255.0.2,作为SR的LSR ID和OSPF的Router ID;R3、R4的Loopback0规划为10.255.0.3和10.255.0.4。所有设备互联接口统一使用10.1.x.x网段,按“设备A-设备B”的顺序编码,接口地址规划如表所示。

互联链路接口网段R1侧地址R2/R3/R4侧地址
R1—R210.1.12.0/3010.1.12.110.1.12.2
R1—R310.1.13.0/3010.1.13.110.1.13.2
R1—R410.1.14.0/3010.1.14.110.1.14.2
R2—R310.1.23.0/3010.1.23.110.1.23.2
R2—R410.1.24.0/3010.1.24.110.1.24.2
R3—R410.1.34.0/3010.1.34.110.1.34.2

终端侧用两个VLAN模拟实际业务:VLAN 10划分给办公网段192.168.10.0/24,挂在SW1下,网关终结在R3的接口上;VLAN 20划分给生产网段192.168.20.0/24,挂在SW2下,网关终结在R4的接口上。R5、R6作为CE设备,分别接入R3、R4的另一个三层接口,通过BGP把分支路由通告进骨干。OSPF进程只跑在核心和汇聚层设备上,接入交换机全部做二层,保持配置面干净。

2.3 地址规划与协议设计的基本约束

地址规划是综合实验里最容易被忽略的“隐性评分点”。好的规划要让评委从IP地址一眼看出设备角色和网络位置。Loopback地址统一用10.255.0.x段,互联地址用/30掩码,业务地址用独立的192.168.x.x段,三套地址互不重叠。这样在答辩演示时,执行display ip routing-table,路由条目的下一跳和出接口能直接和拓扑图对上,不需要现场翻笔记解释。

OSPF进程规划上,整网规划为单个OSPF进程、所有设备都在骨干区域0中,理由是这个实验的规模只有6台路由设备,没必要为了“看起来复杂”硬拆多个区域。真正的设计深度体现在SR-MPLS和BGP策略上,而不是堆区域数量。每个互联接口使能OSPF时注意关闭接口的OSPF优先级干扰,保持网络类型为默认的广播型或点对点型,避免DR选举造成不必要的等待时间。所有Loopback接口使用network命令宣告进OSPF,保证SR标签分配有稳定的可达性基础。

3. 路由协议设计:OSPF与BGP的协同及路由控制策略

3.1 OSPF配置:先保证IGP层面全互通

SR-MPLS TE Policy依赖底层IGP计算可达路径,所以OSPF配置是整个实验的地基。核心配置思路是:每台设备开启OSPF进程1,Router ID手工指定为各自的Loopback0地址,所有互联接口和Loopback0接口加入区域0。以下是R1的基础配置,其他设备按同样模板替换IP即可。

# 全局配置 Loopback 和互联接口 interface LoopBack0 ip address 10.255.0.1 255.255.255.255 # interface GigabitEthernet0/0/0 ip address 10.1.12.1 255.255.255.252 ospf network-type p2p # # OSPF 进程配置 ospf 1 router-id 10.255.0.1 area 0.0.0.0 network 10.1.12.0 0.0.0.3 network 10.1.13.0 0.0.0.3 network 10.1.14.0 0.0.0.3 network 10.255.0.1 0.0.0.0

两个设计细节值得说明:一是互联接口配置成ospf network-type p2p,在HCL模拟环境中能避免以太网接口默认走广播型网络导致的DR/BDR选举,邻居建立速度更快,排错时看display ospf peer也直观;二是Loopback接口宣告用精确掩码0.0.0.0,保证每台设备的LSR ID在路由表中以32位主机路由出现,这是后续SR-MPLS标签正常分配的前提。配置完检查每一台设备的OSPF邻居状态,全部是Full则表示IGP层面已经收敛。

3.2 BGP配置:把分支路由通告进SR骨干

OSPF解决的是核心和汇聚设备之间的路由互通,而R5、R6模拟的分支机构业务路由需要通过BGP引入骨干网。这里有两个可选方案:一种是把R5、R6的直连业务段直接宣告进OSPF,由IGP承载;另一种是R5、R6与R3、R4建立EBGP邻居,业务路由通过BGP传递。后者更贴合真实网络的“IGP与BGP分离”原则,也方便在毕业设计中展示路由策略,所以采用EBGP方案。

在R3上配置与R5的EBGP邻居,同时把VLAN 10的直连网段通过network命令通告进BGP;R4同样与R6建EBGP邻居并通告VLAN 20网段。BGP配置示例如下。

# R3 上的 BGP 配置 bgp 65001 router-id 10.255.0.3 peer 10.1.35.2 as-number 65005 # ipv4-family unicast peer 10.1.35.2 enable network 192.168.10.0 255.255.255.0

这里自治域号按设备角色划分:核心域设备R1至R4使用65001,R5使用65005,R6使用65006。这样在展示BGP路由表时,从AS号就能看出路由来自哪个分支。R3把192.168.10.0/24通告给BGP后,R1、R2、R4等设备通过IBGP学习到该路由。实际配置时注意,IBGP邻居建议在R3和R4之间直接建立,而不是通过全互联,设备少的情况下全互联也可以,但直连IBGP邻居能少配两对会话。

3.3 路由控制:优先级调整与策略路由的边界

BR设备之间传递路由时容易出现的现象是:同一目的地从OSPF和BGP两个来源都能学到,默认情况下OSPF内部优先级高于BGP外部路由,这会导致流量走IGP路径而不是BGP通告的路径。在SR-MPLS实验里,我们希望业务流量严格按照TE Policy指定的隧道转发,所以需要控制BGP路由的优选。

通常的做法是配置路由策略,为来自BGP的特定路由设置更高的优先级,或者在TE Policy的引流入方式上做文章——把业务流量通过静态路由直接指向TE Policy隧道接口,让隧道显式决定转发路径,而不是依赖IGP最短路径。我一般会在R3和R4上配置一条静态路由,目的地址是对端业务网段,下一跳指向TE Policy隧道,同时把该静态路由的优先级调高,确保它覆盖OSPF计算出的路径。这个方案在答辩时可以清楚地讲出意图:IGP负责底层SR标签转发,BGP负责业务路由传递,TE Policy负责流量调度,三者各司其职。

4. SR-MPLS TE Policy设计:流量调度与链路故障切换

4.1 SR基础配置:OSPF进程内使能Segment Routing

SR-MPLS的核心思路是把路径信息编码在标签栈里,由源节点压入标签栈,中间节点按标签转发。第一步是全局使能SR并指定LSR ID,然后在OSPF进程中开启SR扩展。H3C设备上的基础配置如下。

# 全局使能 Segment Routing segment-routing mpls lsr-id 10.255.0.1 # # 在 OSPF 进程内关联 SR ospf 1 router-id 10.255.0.1 segment-routing mpls enable

每台设备都需要在segment-routing mpls视图下配置lsr-id,值等于自己的Loopback0地址。OSPF进程内执行segment-routing mpls enable后,路由器会为Loopback0的32位主机路由分配Prefix Label,同时通过OSPF的SR扩展在域内泛洪标签信息。检查是否生效,执行display segment-routing mpls查看本地的标签分配表,执行display ospf sr-mpls查看OSPF邻居的SR能力协商结果。

有没有“配了SR但路由器不分配标签”的情况?有,最常见的原因是OSPF进程内漏配了segment-routing mpls enable,或者Loopback0地址没有被精确宣告为32位路由。如果发现某台设备没有为对端Loopback分配标签,先排查这两点,比重启设备高效得多。

4.2 TE Policy核心配置:显式路径与Color+Preference选路

TE Policy是SR-MPLS里负责“流量走哪条路”的机制。这个实验设计了两个TE Policy,对应两条不同的转发路径:Policy A从R3到R4,显式路径规划为R3—R1—R2—R4,模拟高带宽主路径;Policy B从R3到R4,显式路径规划为R3—R4直连,模拟低时延备份路径。TE Policy通过Color值区分业务属性,通过Preference决定主备关系,配置如下。

# R3 上配置 TE Policy 主路径 segment-routing mpls te policy policy_a color 100 candidate-path preference 100 explicit-path name to_r4_via_core # # 定义显式路径: 经过 R1 和 R2 segment-routing mpls explicit-path to_r4_via_core nexthop 10.1.13.2 nexthop 10.1.12.2 nexthop 10.1.24.2

显式路径中每一跳nexthop的地址是关键。第一个nexthop必须是R3直连R1的接口地址10.1.13.2,第二个nexthop是R1上连接R2的接口地址10.1.12.2,第三个nexthop是R2上连接R4的接口地址10.1.24.2。配置顺序必须严格按照物理链路顺序排列,否则刷新TE Policy时会报路径不可达。Color 100用于标识该策略承载的业务类别,Preference 100表示主路径,备份路径的Preference设置为50,控制器或源节点在比较候选路径时优先选择Preference值更大的路径。

4.3 业务引流与故障切换的验证闭环

TE Policy建好之后,如果不做引流,流量依然走普通IP转发。H3C设备上常用两种引流方式:一种是auto-route自动引流,在TE Policy视图下配置auto-route advertise,让OSPF把TE Policy当作出接口自动发布到路由表;另一种是静态路由指定隧道,适合精确控制特定业务网段。这个实验的业务网段只有两个,用静态路由指向TE Policy更可控,也方便答辩演示。

# R3 上配置静态路由将办公业务引入 TE Policy ip route-static 192.168.20.0 255.255.255.0 tunnel TEpolicy1 preference 5

下一跳指向te policy名称对应的隧道接口,preference设置为5,比OSPF默认的10更低,确保业务流量必定进入TE Policy隧道。配置完成后,执行display segment-routing mpls te policy查看Policy状态,看到up且Ingress和Egress节点正确,再执行display mpls lsp查看标签栈信息,应该能看到三层标签:外层为SR Prefix标签,中间层为显式路径各节点的Prefix标签,内层为业务标签。

故障切换演示是整个实验的加分项。在R3上把连接R1的接口shutdown,主路径失效,TE Policy会在毫秒级切换到Preference较低但路径可达的备份策略上,业务流量转向R3—R4直连链路继续转发。执行display segment-routing mpls te policy时能看到Active Path从主路径变为备份路径,状态依然为up,此时ping业务地址不丢包或仅丢1至2个包。

5. 常见问题与排查:HCL环境里最容易翻车的5个点

5.1 设备启动失败与配置丢失

现象:HCL中启动超过6台设备,部分路由器启动时间极长,出现“启动失败”或控制台无法登录的提示,重启后之前敲的配置全部丢失。原因是HCL作为模拟环境,对宿主机内存和CPU占用较高,批量启动时资源竞争导致进程异常退出。解决方法是分批次启动设备,先启动核心层的R1、R2,等待两台设备完全启动后再启动汇聚层,最后启动接入层;每完成一台设备的配置,立即执行save,并把配置文件通过HCL的“导出配置”功能备份到宿主机目录。这个习惯能避免“配置了两个小时,一次重启全没了”的悲剧。

5.2 OSPF邻居建立不起来

现象:display ospf peer显示邻居状态卡在Init或ExStart,反复震荡,甚至看不到邻居。原因多半是接口地址不在同一个网段,或者区域号配置不一致。HCL环境里还容易遇到的问题是两个互联接口的MTU不一致,导致OSPF数据库描述包交互失败。解决方法是先ping对端接口地址确认二层可达,然后检查两端的network命令是否精确匹配接口地址,再看两端接口的mtu是否一致,最后确认area号完全相同。按顺序排查基本能定位,不用盲目重启OSPF进程。

5.3 SR-MPLS标签不分配

现象:segment-routing mpls已经使能,但display segment-routing mpls中看不到其他设备Loopback的标签条目,或者标签值为空。最常见的原因是OSPF进程下没有执行segment-routing mpls enable,SR的使能必须同时完成全局视图和OSPF进程两个层面。另一个隐蔽原因是Loopback地址在OSPF中被宣告成了非32位掩码,比如用network 10.255.0.1 0.0.0.255宣告,导致OSPF把Loopback当成非主机路由处理,SR无法分配Prefix标签。解决方法是把Loopback的宣告掩码改为0.0.0.0精确匹配,然后逐台执行display ospf sr-mpls router查看SR能力协商状态。

5.4 BGP路由学到了但业务不通

现象:display bgp routing-table能看到对端业务路由,但ping不通。原因通常是业务流量回来时走到了另一条路径,而那一侧没有配置相应的TE Policy引流。比如R3把办公网段192.168.10.0通过TE Policy发往R4,但R4到192.168.10.0的回程流量走了普通IP转发,绕过隧道,导致来回路径不一致,部分报文被丢弃。解决方法是检查R4上是否有指向192.168.10.0的静态路由或TE Policy,确保双向流量都被引流。这个对称引流的设计点,在答辩时讲出来反而是加分项,说明你理解了隧道流量的方向性问题。

5.5 TE Policy状态为Down或路径不可达

现象:TE Policy配置完成后状态一直是Down,display segment-routing mpls te policy显示Candidate Path的State为Not Usable。原因通常是显式路径中定义的nexthop地址不是直连地址,或者nexthop顺序反了。显式路径的每一跳必须是设备上的真实直连接口地址,不能填写对端设备的Loopback地址,因为TE Policy路径计算依赖IGP路由,非直连地址无法在本地路由表中找到对应出接口。解决方法是暂时把显式路径切换为动态路径配置,先让Policy Up起来,再逐步替换为静态显式路径,这样可以快速判断是配置问题还是路径计算问题。

6. 验收与答辩:三层验收清单与演示技巧

验收这个实验不能只看“ping通”,要从三个维度做记录。功能验收:业务网段双向互通、链路故障切换不中断、恢复后自动回切;协议验收:OSPF邻居全Full、BGP会话全Established、SR-MPLS前缀标签分配完整;文档验收:拓扑图、地址规划表、配置文件备份、测试记录表四件套齐全。我一般会把测试记录做成下面的表格,每行写一条测试项、执行命令、期望结果、实际结果,附上时间戳。

测试项执行命令期望结果实际结果
IGP收敛display ospf peer所有邻居Full全部Full
BGP会话display bgp peerEstablished符合
TE Policy状态display segment-routing mpls te policyActive Path为主路径符合
故障切换shutdown R3—R1接口备份路径接管,丢包≤2符合
业务互通ping 192.168.20.1 source 192.168.10.1连续通符合

答辩演示有个顺序上的技巧:先演示业务互通,再演示故障切换。很多同学上去就拔线,结果主路径本就不通,切换效果自然无从谈起。正确的顺序是先用ping和display命令展示业务正常,然后当着评委的面shutdown一个接口,再执行ping,让评委亲眼看到丢包或毫秒级恢复,最后用display segment-routing mpls te policy展示Active Path已切换。这个“先证明正常、再制造故障、最后证明恢复”的三步演示,比任何口头解释都有说服力。

至于“为什么这么设计”这类追问,准备好三个答案:为什么用SR-MPLS不用传统LDP,关键在于SR无需为每条路径维护LSP状态,标签由IGP自动分发,TE Policy只定义路径不维护逐跳状态;为什么两台核心设备不跑VRRP,因为SR-MPLS层面的链路冗余由TE Policy主备路径实现,VRRP是网关层面的冗余机制,解决的不是同一个问题;为什么业务网关放在汇聚层而不是核心层,因为核心层只承载转发,网关放在汇聚层可以隔离故障域。这三个问题答好,整个毕业设计的逻辑就闭环了。

演示前最后一遍检查的清单,我自己的习惯是固定的:从头到尾执行一次display ospf peer、display bgp peer、display segment-routing mpls te policy,三次输出确认无误后,再开始正式录制或展示。这个习惯帮我避免过太多次“现场才发现某台设备配置没保存”的尴尬。希望这些经验能帮你在答辩时少走弯路。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/21 8:16:25

汽车电子整流检波电路设计:从原理到EMC整改实践

简介:面向汽车电子电器与电磁兼容(EMC)领域的整流检波电路专业参考文档《几种典型的整流检波电路.pdf》,系统梳理半波整流、全波整流、桥式整流三种典型整流电路,以及包络检波、同步检波等常用检波电路的原理、特点与适…

作者头像 李华
网站建设 2026/10/21 8:15:34

老Flash联机Demo拆解:TCP长连接与select模型实战

简介:这一压缩包汇集了Flash游戏客户端与配套服务器源码,并以PPT讲解双方交互的数据包格式,适合正在学习网络编程、TCP通信及select I/O多路复用模型的开发者参考,尤其对想要理解传统浏览器端游戏如何与后端服务交互的读者十分实用…

作者头像 李华
网站建设 2026/10/21 8:15:06

STM32 的 I2C 卡死在 BUSY:从机按住 SDA 的成因与恢复时序

去年给实验室的环境监测节点加了一块 0.96 寸 OLED,和温湿度传感器共用 I2C1。台面上调试一切正常,放到窗边连续跑了几天后,早上来发现串口没输出了,程序停在 OLED 刷新的 HAL_I2C_Master_Transmit 里面。看门狗复位之后又能跑&am…

作者头像 李华
网站建设 2026/10/21 8:15:01

相邻登录间距超过n天:指标定义、SQL实现与风控运营实战

前些天处理一个登录风控需求时,产品那边扔过来一句话:"相邻登录间距超过n天要报警"。我当时一愣——这个指标听起来简单,无非是算两次登录之间的时间差,但真要落地上线,从阈值怎么定、日志怎么清洗&#xff…

作者头像 李华
网站建设 2026/10/21 8:14:37

assimp配置全攻略:从源码编译到CMake链接与模型加载

1. 配置前的必要功课:搞懂assimp是什么、解决什么问题到了第十二课,图形学相关的项目基本已经跑起来了,但很多人会在迎来第一个“带模型的场景”时卡住:手里的代码只会画三角形、画立方体,一旦想把一张带贴图的OBJ文件…

作者头像 李华
网站建设 2026/10/21 8:14:30

整数溢出原理与PWN利用实战:从类型转换到栈溢出绕过

1. 从入门到放弃的边缘:为什么int_overflow是PWN入门必学我最早见整数溢出这个玩意,是在第一次刷某平台的PWN入门题时。当时我对漏洞的认知还停留在“缓冲区溢出就是一直往栈里塞东西塞到返回地址被打爆”,结果一道挂名int_overflow的题直接把…

作者头像 李华