简介:一份面向毕业设计场景的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—R2 | 10.1.12.0/30 | 10.1.12.1 | 10.1.12.2 |
| R1—R3 | 10.1.13.0/30 | 10.1.13.1 | 10.1.13.2 |
| R1—R4 | 10.1.14.0/30 | 10.1.14.1 | 10.1.14.2 |
| R2—R3 | 10.1.23.0/30 | 10.1.23.1 | 10.1.23.2 |
| R2—R4 | 10.1.24.0/30 | 10.1.24.1 | 10.1.24.2 |
| R3—R4 | 10.1.34.0/30 | 10.1.34.1 | 10.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 peer | Established | 符合 |
| TE Policy状态 | display segment-routing mpls te policy | Active 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,三次输出确认无误后,再开始正式录制或展示。这个习惯帮我避免过太多次“现场才发现某台设备配置没保存”的尴尬。希望这些经验能帮你在答辩时少走弯路。
本文还有配套的精品资源,点击获取