拓扑信息
Hub-Spoke,即所有流量通过 Hub 进行中转,而 Spoke 不会进行通信;
补充说明:
1)针对 Hub-Spoke 组网,鉴于配置与其他方式相同,所以我们不再讨论具体配置;
2)我们将重点讨论 Hub-Spoke 组网将遇到的问题,及相关问题的解决方案;
配置 VRF 实例
在 Hub-PE 上,需要配置两个 VRF-Inst,否则如果不使用分离的 VRF-Inst,则 Spoke-CE1 与 Spoike-CE2 能够直接通信,流量将不再经过 Hub-CE 设备;
组网方案
针对 Hub-Spoke 组网,有以下方案:
1)BGP/BGP:Spoke-CE <=(BGP)=> Spoke-PE;Hub-PE <=(BGP)=> Hub-CE;
2)IGP/IGP:Spoke-CE <=(IGP)=> Spoke-PE;Hub-CE <=(IGP)=> Hub-PE;
3)IGP/BGP:Spoke-CE <=(IGP)=> Spoke-PE;Hub-CE <=(BGP)=> Hub-PE;
4)BGP/IGP:Spoke-CE <=(BGP)=> Spoke-PE;Hub-CE <=(IGP)=> Hub-PE;该方案是不可行的,后面将介绍原因;
组网方案:BGP + BGP
需要注意的问题:
BPG Loop
问题描述:路由传递,Spoke-PE1 => Hub-PE => Hub-CE => Hub-PE,两次经过 Hub-PE 设备,当第二次到达时,会触发 BGP AS-PATH 防环;
解决方案:修改 AS-PATH 属性,通过 peer <IP-ADDR> allow-as-loop 命令,允许单次防环;
补充说明:这里并不能使用 AS Number Substitution 替换,替换动作将替换 BGP Peer 的 AS Number,并不能解决环路问题;
组网方案:IGP + IGP
需要注意的问题:
IGP Loop
如果 Hub-CE 仅使用单个 OSPF 进程,怎会导致 Hub-PE 仅将路由保存到 LSD,但不会加表。这与防环机制有关;
所以,在 Hub-CE 中,我们会运行两个 OSPF 进程,并进行路由引入,进程变成外部路由后不会在出现环路;
后面,我们将会深入讨论细节问题。
单次引入
虽然 Hub-CE 上运行两个 OSPF 进程,但是仅需要单次引入:根据 RT 配置,路由总是来自 VPN_in 链路;
组网方案:IGP + BGP
需要注意的问题:
BPG Loop
与 BGP + BGP 类似,依旧需要处理 BGP AS-PATH 防环问题。
组网方案:BGP + IGP
该方案是不可行的,原因是 AS-PATH 丢失而引起不可避免的路由震荡问题:
1)当 Hub-PE 的 BGP import-route OSPF 时,此时路由没有 AS-PATH 属性;
2)与此同时,路由会传递给 Spoke-PE1 与 Spoke-PE2 设备;
3)然后,对于 Spoke-PE1 将收到来自 Spoke-CE1 与 Hub-PE 的相同路由;
4)但是,来自 Hub-PE 的路由没有 AS-PATH 而被优选;
5)然后,Spoke-PE1 开始向 Hub-PE 撤销该路由,并不断的传递撤销,造成路由震荡;