BGP路径属性与路由反射器

前言

IBGP水平分割规则用于防止AS内部产生环路,在很大程度上杜绝了IBGP路由产生环路的可能性,但是同时也带来了新的问题:BGP路由在AS内部只能传递一跳,如果建立IBGP对等体全互联模型又会加重设备的负担。

BGP 路径属性


AS_Path





Origin




Local_Preference

Local_Preference为缺省值100

Community







R3上通过aggregate命令将BGP路由10.0.1.0/24、10.0.2.0/24、10.0.3.0/24、10.0.4.0/24聚合成了10.0.0.0/16,并使用detail-suppressed抑制了明细路由的对外发布,R3只会将聚合后的BGP路由传递给R4,而不传递聚合前的明细路由。

Atomic_Aggregate是一个公认自由决定属性,它只相当于一种预警标记,而并不承载任何信息。当路由器收到一条BGP路由更新且发现该条路由携带Atomic_Aggregate属性时,它便知道该条路由可能出现了路径属性的丢失,此时该路由器把这条路由再通告给其他对等体时,需保留路由的Atomic_Aggregate属性。另外,收到该路由更新的路由器不能将这条路由再度明细化。

另一个重要的属性是Aggregator,这是一个可选传递属性,当路由聚合被执行时,执行路由聚合操作的路由器可以为该聚合路由添加Aggregator属性,并在该属性中记录本地AS号及自己的Router-ID,因此Aggregator属性用于标记路由聚合行为发生在哪个AS及哪台BGP路由器上

BGP 路由反射器

IBGP(Internal BGP)是BGP(Border Gateway Protocol,边界网关协议)的一种运行方式,它用于同一自治系统(AS)内部的路由器之间交换路由信息。在IBGP中,所有参与的路由器通常需要建立全连接(Full-mesh)的关系,这意味着每个路由器都需要与自治系统内的其他所有路由器建立BGP会话。

EBGP (External Border Gateway Protocol)是BGP协议的一种形式,用于在不同的自治系统(AS)之间进行路由信息的交换。当两台BGP路由器位于不同的AS时,它们之间的邻居关系就是EBGP邻居关系。

在 BGP 中,**路由反射器(Route Reflector,RR)**是一种优化 IBGP 配置的方法,主要用于减少全网中 BGP 对等体(Peer)的数量,简化网络的路由更新机制。

背景和问题

在大型网络中,BGP 的对等体关系会成指数级增长。如果一个 AS 中有 5 台路由器,每台路由器之间都要建立对等体关系,按照 IBGP 的全互连规则,需要建立 (5 \times (5 - 1) / 2 = 10) 个对等关系;如果有 50 台路由器,就需要 1225 个对等关系。这种方式不仅难以维护,而且占用大量资源。

路由反射器的出现就是为了解决这个问题。它允许 AS 内的路由器不需要全互连,而是通过一个或多个 RR 路由器反射路由信息。

路由反射器的工作原理和规则

在使用 RR 的拓扑中,有三类路由器角色:

  1. RR(路由反射器):负责接收和转发路由信息。
  2. Client(客户机):与 RR 相连的路由器。Client 之间不需要直接建立 IBGP 对等关系。
  3. Non-Client(非客户机):与 RR 相连但不是 RR 客户的路由器。RR 只会在 Client 和 Non-Client 之间转发路由信息。

RR 遵循以下反射规则:

  • 来自 Client 的路由:可以反射给其他 Client 和 Non-Client。
  • 来自 Non-Client 的路由:只会反射给 Client,不会发给其他 Non-Client。
  • 来自 RR 自己学习的路由:可以传给所有对等体。

IBGP(Internal Border Gateway Protocol,内部边界网关协议)的水平分割原则是一种防止路由环路的机制。当一个IBGP对等体从另一个IBGP对等体接收到路由信息时,它不会将这些信息再传递给其他IBGP对等体。这个原则的目的是为了防止在自治系统内部形成路由环路,因为IBGP对等体之间不会改变AS_PATH属性,从而无法通过AS_PATH来检测和防止环路。


相关推荐
卓怡学长15 分钟前
w204基于springbo旅行社签证代理服务系统
java·spring boot·spring·intellij-idea
泡海椒17 分钟前
趋势分析报表:jquick-pdf折线图PDF生成实战
java·大数据·运维·服务器·前端·pdf
qq_3945620017 分钟前
【在Linux上升级nginx】
linux·服务器·nginx
nvd1119 分钟前
从存算一体到现代湖仓:对标传统关系型数据库透视 Bucket + Iceberg + Trino 的物理本质
数据库·bigdata
Json____25 分钟前
家居装修 AI 智能咨询助手:让装修咨询从“大海捞针“变成“一问即答“
java·后端·vue3·it学习·wwwoop.com
vipxieliang31 分钟前
ValidX 在微服务架构中的验证策略
java·spring boot
用户0942485680331 分钟前
第18章:ConcurrentHashMap与并发容器实战
java·jvm
JosieBook31 分钟前
【数据库】MySQL 实战精通系列 · 第8篇:慢查询治理与性能优化实战
数据库·mysql·性能优化
丸子君君33 分钟前
【以麒麟服务器时间为准,定时请求时间同步】
运维·服务器·单片机
小羊没烦恼!42 分钟前
在Scrum中实施敏捷建模
java·开发语言·windows·算法·c#