穷则变,变则通,通则久。
Underlay网络就像是SRv6的地基,但是在Nvidia Cumulus VX上跑SRv6好像有点不一样。
首先,我们之前测试用IS-IS跑Underlay网络没问题(付出总有回报,全国SRv6组网实验成功了!),测试用OSPF跑Underlay网络没问题(降低SR门槛:手把手用更熟悉的OSPF配置SR-MPLS L3VPN,并对比与IS-IS的差异)。
但是,对于Nvidia Cumulus VX来说,虽然他底层是基于FRR的(为SRv6实验铺路:手把手教你将Ubuntu中的FRR升级至最新v10.5稳定版),但是他的NVUE和FRR是割裂的。FRR明明支持IS-IS,NVUE不支持(从0到1搭建SRv6骨干网:IS-IS Underlay配置详解与MTU调优实战);FRR明明支持OSPFv3,NVUE还是不支持(NVUE不支持OSPFv3?别慌!教你一招搞定SRv6地基)。
虽然我们可以手工操作,移花接木,跑通Underlay网络。但是,NVUE的优先级就是比FRR更高,后面配置SRv6时肯定要吃亏。俗话说:顺天者昌,逆天者亡。与其斗智斗勇,不如顺势而为,用Cumulus更推荐的BGP协议来构建Underlay网络(告别OSPF!EVE-NG专业版+BGP Unnumbered打通Underlay的完整实战)。
在Cumulus上跑BGP,或者说是在IPv6环境中跑BGP,有个巨大的优势,那就是BGP Unnumbered。在传统网络设计中,即使我们可以做到有规则可寻,但管理成百上千个P2P物理链路的/126或/127地址,简直就是一场噩梦。
而BGP Unnumbered更为简单粗暴,物理链路接口不需要配置IPv6全球单播地址,也不需要配置ULA地址,仅仅依靠接口自动生成的fe80::链路本地地址,更无需感知对端接口地址,只要两端均配置了remote-as external且AS号不同,就可以实现插线即建立eBGP邻居会话,无招胜有招,配置极简到丧心病狂。
那我们今天就彻底抛弃FRR,尝试直接使用BGP Unnumbered来构建一张稳健的Underlay网络底座(使用IPv6下一跳通告IPv4网络层可达性信息(NLRI))。
组网拓扑沿用上个实验的拓扑,依旧是PE1-P1-PE2的三节点架构,这个典型的骨干网片段包含两个边缘路由器(PE)和一个核心路由器(P)。如下所示:
在规划网络方案时,推荐几条核心工程设计准则: