计算机网络-BGP路由优选原则七

一、优选从EBGP对等体学来的路由

优选从EBGP对等体学来的路由(EBGP路由优先级高于IBGP路由)。

在保证前面的选路策略一致情况下,从EBGP和IBGP同时学习到路由,优选EBGP路由。

简单说就是如果同时通过IBGP和EBGP学习到相同路由,在前面的选路规则一致的情况下,优先选择EBGP学习到的路由,原因如下:

  • 自治系统内部一致性:IBGP是在同一自治系统内部运行的BGP,它保证了自治系统内部的路由一致性。当路由信息在自治系统内部传播时,IBGP确保所有路由器都有相同的路由视图。
  • EBGP作为入口点:EBGP用于连接不同的自治系统。当一个自治系统需要从外部接收路由时,EBGP提供了一个明确的入口点。这意味着通过EBGP学习到的路由被认为是从外部进入自治系统的,因此具有更高的优先级。
  • 路由来源的可信度:EBGP路由通常来自外部的邻居,这些邻居可能是更接近最终目的地的自治系统。因此,通过EBGP学习到的路由可能代表了更短的路径或更优的路径。
  • 防止路由循环:BGP的设计原则之一是防止路由循环。EBGP路由由于来自外部,因此不太可能在自治系统内部形成循环。而IBGP路由由于在自治系统内部传播,如果不当配置,可能会增加路由循环的风险。

二、实例配置

AR3从AR5直连EBGP邻居学习到192.168.1.0/24。这里假设从AR1这个IBGP也学习到了192.168.1.0/24,通过路由策略保证前六条选路规则一致,检验EBGP优于IBGP。

复制代码
# AR1配置

# 在AR1配置一条静态路由指向NULL0,代表本地已经存在的路由,可以注入BGP路由表了
ip route-static 192.168.1.0 255.255.255.0 NULL0


# 前缀列表
ip ip-prefix AR3 index 1 permit 192.168.1.0 24

# 配置路由策略
route-policy AR3 permit node 10 
 if-match ip-prefix AR3 
 apply as-path 500 additive   # 默认IBGP通告的路由AS-Path为空nil,所以要增加一个AS-path属性保持前面的选路规则一致
#
route-policy AR3 permit node 20 

# 
bgp 100
 peer 2.2.2.2 as-number 100 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  network 192.168.1.0 
  peer 2.2.2.2 enable
  peer 3.3.3.3 enable
  peer 3.3.3.3 route-policy AR3 export       # 在向AR3通告路由的出方向应用路由策略

AR3上查看路由。

这里设置了AS-Path,保证下一跳可达、路由优先级、MED、AS-Path、Origin等都一致,虽然这里IBGP多了一个本地优先级,但是最终优选不是通过这个值决定,而是对等体类型来确定的。

总结:在前面的BGP优选原则一致的情况下,EBGP对等体学习的路由优于IBGP对等体发布的路由。

本文由mdnice多平台发布

相关推荐
岩中竹1 天前
力扣热题100题解(c++)—矩阵
数据结构·c++·程序人生·算法·leetcode·矩阵
程序猿chen2 天前
JVM考古现场(二十五):逆熵者·时间晶体的永恒之战(进阶篇)
java·jvm·git·后端·程序人生·java-ee·改行学it
程序猿chen3 天前
JVM考古现场(二十四):逆熵者·时间晶体的永恒之战
java·jvm·git·后端·程序人生·java-ee·改行学it
lkbhua莱克瓦243 天前
用c语言实现——一个带头节点的链队列,支持用户输入交互界面、初始化、入队、出队、查找、判空判满、显示队列、遍历计算长度等功能
c语言·数据结构·程序人生·算法·链表·交互·学习方法
Sherlock Ma4 天前
CSS零基础入门笔记:狂神版
前端·css·程序人生·跳槽·css3·学习方法·改行学it
Tiger Z5 天前
R 语言科研绘图 --- 饼状图-汇总
开发语言·人工智能·程序人生·r语言·贴图
程序猿chen6 天前
《JVM考古现场(二十三):归零者·重启奇点的终极奥义》
java·jvm·git·后端·程序人生·java-ee·改行学it
灏瀚星空8 天前
AI 模型高效化:推理加速与训练优化的技术原理与理论解析
开发语言·人工智能·深度学习·程序人生·机器人·智慧城市·量子计算
七七知享9 天前
Python深度学习实现验证码识别全攻略
开发语言·python·深度学习·程序人生·程序员·开发·验证码
七七知享9 天前
开启 Python 编程之旅:基础入门实战班全解析
开发语言·python·程序人生·程序员·零基础·实战