计算机网络-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多平台发布

相关推荐
郝学胜-神的一滴21 小时前
基于C++的词法分析器:使用正则表达式的实现
开发语言·c++·程序人生·正则表达式·stl
程序员曦曦1 天前
10:00开始面试,10:06就出来了,问的问题有点变态。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
郝学胜-神的一滴4 天前
C++中的`auto`与`std::any`:功能、区别与选择建议
开发语言·c++·程序人生·算法
草莓熊Lotso4 天前
《吃透 C++ 类和对象(中):构造函数与析构函数的核心逻辑》
c++·经验分享·笔记·程序人生·其他
碎像5 天前
uni-app实战教程 从0到1开发 画图软件 (学会画图)
前端·javascript·css·程序人生·uni-app
懂得节能嘛.6 天前
【GitHub小娱乐】GitHub个人主页ProFile美化
程序人生·github·娱乐
郝学胜-神的一滴6 天前
游戏引擎(Unreal Engine、Unity、Godot等)大对比:选择最适合你的工具
程序人生·unity·游戏引擎·godot·虚幻·unreal engine
爱转角码农7 天前
平时测试开发中积累并应用的提示词分享
功能测试·测试工具·程序人生·自动化
是乐谷8 天前
饿了么招java开发咯
java·开发语言·人工智能·程序人生·面试·职场和发展
架构师沉默10 天前
我用一个 Postgres 实现一整套后端架构!
java·spring boot·程序人生·架构·tdd