BGP(三)联盟、反射器

背景:

在一个大型的AS当中受到iBGP水平分割(从iBGP的邻居接收到的路由不能再传递给其他的iBGP邻居)的影响,将会造成BGP的路由无法通过iBGP邻居接收。解决办法有三种:

  1. 成员自治区域系统内建立全互联的IBGP邻居
  2. 成员自治区域系统之间使用特殊的EBGP连接,我们称之为联盟EBGP
  3. 路由反射器
BGP联盟

BGP联盟是一种用于优化大型自治系统内部BGP连接的技术。通过将一个大型AS分割成多个子自治系统,BGP联盟能够降低内部IBGP连接的数量,同时对外表现为一个统一的AS。这种方法不仅减少了网络资源和CPU资源的消耗,还提高了网络的管理性。

BGP联盟的工作原理

在BGP联盟中,每个子自治系统内部需要建立全连接的IBGP关系,而子自治系统之间则通过特殊的EBGP连接进行通信。对外部AS来说,整个联盟看起来像是一个单一的AS,外部无法看到内部的子自治系统。联盟内部的路由器会保留外部的next_hop属性,同时在联盟内传递的路由的MED和Local Preference属性也会被保留。在联盟内部,成员AS号会被加入到AS_PATH中,但不会传递到联盟外部。联盟内的AS_PATH属性在选择最短路径时不会比较联盟AS号,而且在传出联盟时相关的属性会被自动删除。

AS-Path属性在联盟中的应用:

分类:

1:AS_SET,一个无序的AS号列表。

2:AS_SEQENCE,一个有序的AS号列表。

3:AS_CONFED_SET,BGP联盟中特有的AS_PATH类型,类似AS_SET,其列表中含有的AS号均属于BGP联盟中的AS号。

4:AS_CONFED_SEQUENCE,BGP联盟中特有AS_PATH类型,类似AS_SEQENCE,其列表中含有的AS号均属于BGP联盟中的AS号。

路由器反射器
路由反射器简介

在一个AS内,其中一台路由器作为路由反射器RR,其他路由器作为客户机,路由反射器在客户机之间反射路由信息,客户机之间不需要建立BGP连接。

反射器角色
  • 路由反射器RR:允许把从IBGP对等体学到的路由反射到其他IBGP对等体的BGP设备。
  • 客户机:与RR形成反射邻居关系的IBGP设备。在AS内部客户机只需要与RR直连。
  • 非客户机:既不是RR也不是客户机的IBGP设备。在AS内部非客户机与RR之间,以及所有的非客户机之间依然必须建立全连接关系。
  • 始发者:在AS内部始发路由的设备。Originator_ID属性用于防止集群内产生路由环路
  • 集群:路由反射器及其他客户机的集合。Cluster_List属性用于防止集群间产生路由环路

目的:让整个IBGP客户机能够获得相应的BGP路由条目

路由反射器工作原理:

从非客户机学到的路由,发布给所有客户机。(非非不互传)

从客户机学到的路由,发布给所有非客户机和客户机(发起此路由的客户机除外)。

从EBGP对等体学到的路由,发布给所有的非客户机和客户机。

RR场景下的路由防环

RR的设定使得IBGP水平分割原则失效,这就可能导致环路产生,为此RR会为BGP路由添加两个特殊的路径属性来避免出现环路:

  • Originator_ID
  • Cluster_List
  • Originator_lD、Cluster_List属性都属于可选非过渡类型。

1)Originator_lD

  • RR将一条BGP路由进行反射时会在反射出去的路由中增加Originator_ID,其值为本地AS中通告该路由的BGP路由器RouterID
  • 若AS内存在多个RR,则Originator_lD属性由第一个RR创建,并且不被后续的RR(若有)所更改。
  • 当BGP路由器收到一条携带Originator_D属性的IBGP路由,并且Originator_ID属性值与自身的RouterID相同,则它会忽略关于该条路由的更新。

2)路由器反射簇

  • 路由器反射簇包括反射器RR及其Client。一个AS内允许存在多个路由反射簇。
  • 每一个簇都有唯一的簇ID(Cluster_ID,缺省时为RR的BGP RouterID)
  • 当一条路由被反射器反射后,该RR的Cluster_ID就会被添加至路由的Cluster_list属性中。
  • 当RR收到一条携带Cluster_list属性的BGP路由,且该属性值中包含该簇的Cluster_ID时,RR认为该条路由存在环路,因此将忽略关于该条路由的更新。

3)Cluster_List

  • R2发送给R1的路由,经过R1反射给R3时除了添加Originator_ID之外还会添加ClusterList:10.0.1.1。
    R3再次反射给R4时,Cluster_List值为:10.0.3.3 10.0.1.1,
    R4再次反射给R1时Cluster_List值为:10.0.4.4 10.0.3.3 10.0.1.1
  • 当R4将路由反射给R1时,R1发现Cluster_List包含了自身Cluster_id,判断存在环路,从而忽略该路由更新。
反射器和联盟的对比

|-------------------|--------------------------------------------|
| 反射器 | 联盟 |
| 不需要更改现有的网络拓扑,兼容性好 | 需要修改逻辑拓扑 |
| 配置方便,客户机不知道自己是客户机 | 所有设备需要重新进行配置,且所有设备必须支持联盟功能 |
| 集群与集群之间仍然需要全连接 | 联盟之间的子AS之间是特殊的EBGP连接,不需要全连接,子AS内部是IBGP全连接。 |
| 在大型网络中应用广泛 | 同样适用于大型网络中,但应用较少 |

相关推荐
sunfove2 小时前
光网络的立交桥:光开关 (Optical Switch) 原理与主流技术解析
网络
Kevin Wang7275 小时前
欧拉系统服务部署注意事项
网络·windows
min1811234565 小时前
深度伪造内容的检测与溯源技术
大数据·网络·人工智能
汤愈韬5 小时前
NAT策略
网络协议·网络安全·security·huawei
汤愈韬5 小时前
Full Cone Nat
网络·网络协议·网络安全·security·huawei
zbtlink6 小时前
现在还需要带电池的路由器吗?是用来干嘛的?
网络·智能路由器
桌面运维家6 小时前
vDisk配置漂移怎么办?VOI/IDV架构故障快速修复
网络·架构
dalerkd6 小时前
忙里偷闲叙-谈谈最近两年
网络·安全·web安全
汤愈韬7 小时前
NAT ALG (应用层网关)
网络·网络协议·网络安全·security·huawei
运维栈记8 小时前
虚拟化网络的根基-网络命名空间
网络·docker·容器