BGP路由反射器
文章目录
- BGP路由反射器
🏡作者主页:点击!
🤖Datacom专栏:点击!
⏰️创作时间:2025年05月07日12点07分
BGP路由反射器
路由反射器用于优化 IBGP 全互联架构
不能解决路由黑洞问题,只能优化IBGP邻居全互联,相当于是间接解决路由黑洞
反射器在反射路由的时候,也只会反射有效路由中的最优路由
路由反射器RR,用来解决IBGP水平分割,IBGP邻居只传递一跳的问题
很大程度上减少大型AS中IBGP对等关系的数量并简化相应的配置和维护工作
分为客户端和非客户端,一个反射器和它的客户端一起被称为 Cluster
- 从一个非客户端收到的路由,反射器会将它传给所有的客户端
- 从一个客户端收到的路由,反射器会将它传递给所有其他的客户端以及非客户端
- 从EBGP对等体那里收到的路由,反射器会将它传递给所有的客户端和非客户端,此时这里是没有反射的概念(正常的路由传递)
总结就是:从非客户机收到的BGP路由不会反射给非客户机,其他都是可用反射的----HCIE
RR本质上就是用于路由的反射,反射的时候本身不会对路由的属性做出任何修改----HCIE
RR的场景下,IBGP邻居关系的建立:----HCIE
- 客户端与反射器之间建立IBGP对等体关系
- 客户端之间无需建立IBGP对等体关系
- 非客户端和反射器建立的是IBGP对等体关系
- 如果存在多个反射器,反射器之间也要建立IBGP邻居关系
next-hop-local //将EBGP路由传递给IBGP邻居的时候,才会生效
RR路由反射器路由下一跳的特点:
- 当RR收到客户机路由时,反射给其他客户机以及非客户机的时候,下一跳不变
- 当RR收到客户机路由时,传递给EBGP邻居的时候,下一跳改变为本地
- 当RR收到EBGP邻居路由,传递给客户机和非客户机的时候,下一跳不变,通过 next-hop-local 修改
- 当RR收到非客户机路由,会反射给客户机的时候,下一跳属性不变
路由反射器的防环机制:----HCIE(两个属性都是为了防止环路的产生)
Origintor_id:看反射器是起源于谁的
- 该属性为可选非过渡
- 用于集群内的防环
- 由RR产生,携带了本地AS内该路由发送者的Router ID(哪台设备发给RR的路由就是谁的Router ID)
- 当RR把路由反射给IBGP设备的时候,会为这条路由器添加上一个起源ID(取值为始发路由器的Router ID)
- 当一台BGP路由器从IBGP邻居收到一条路由中的起源ID和自己的Router ID一致则不接收该路由
- 接受的时候不叫反射,所以在RR本地是看不到的,只有通过RR发出去的路由才叫做反射,这时候在能看见该属性
- RR收到了某条BGP路由,这条BGP路由携带 Originator ID,反射出去的时候不会进行修改,也不会再添加
- 当路由器将BGP路由传递给EBGP邻居的时候,将会把 Originator ID 属性剔除掉发送
- RR场景中,RR的作用是实现路由传递,在传递过程中,本身不会修改路由的下一跳为自身,RR不一定会参与路由的转发
- 当一台IBGP的设备将发布在底层IGP的Loopback接口重新在BGP里进行network,此时出现超网单播路由,在华为里默认是不会被优选的,思科可以通过命令实现
- bgp xxxx
ipv4-family unicast //进入IPv4协议簇
supernet unicast advertise enable //此命令用来配置BPG向对等体发送BGP超网单播路由
缺省情况下,BGP超网单播会被认为是无效路由,不会发布给其他对等体,不会下发到 IP 路由表cluster-list:路由器放到一个簇里面
该属性为可选非过渡
用于集群间的防环,防止多个集群引起的环路(此场景存在多个RR反射器)
由每个路由反射器产生,记录反射路由经过的集群
每个RR设备都有一个簇ID,具有相同簇ID的RR设备,与它们客户端的集合叫做一个簇
RR在反射路由的时候也会在路由的 Cluster List 中添加自己的 Cluster ID,这个簇ID默认取值是RR的Router-ID,当RR设备收到一条路由的时候,将会检查路由的Cluster List,如果该路由的 Cluster List 中包含自己的 Cluster ID 那么将忽略这条路由
集群内两个RR反射器的Cluster ID一样,互为备份
根本就是同一个区域,多个RR,用来防止路由回馈
# 簇列表 起源ID router-id 簇ID# 如果RR接收到一条BGP路由,簇列表中包含自身的簇ID,则不接受这条路由(Cluster-list防环)(只有RR才有簇ID) # 如果RR接收到一条BGP路由,簇列表中包含自身的Router-ID,RR正常接收,非RR设备不接受 # 如果RR接收到一条BGP路由,起源ID等于自身的Router-ID,那么就不接受(Originator 防环) # 如果RR接收到一条BGP路由,起源ID等于自身的簇ID,依然会正常接受路由(只有RR才有簇ID) # 如果客户机和非客户机,收到一条BGP路由,簇列表中包含自己的 Router-id,是会接受的(不精确)# 如果客户机和非客户机收到一条BGP路由,簇列表中包含自己的Router-id,则不接受这条路由(实验场景较为复杂)