计算机网络-BGP路由反射器与Cluster_List选路原则

一、优选Cluster_List最短的路由

Cluster_List是BGP路由属性之一,它在路由的AS_Path属性中用来标识路由经过的BGP路由反射器(Route Reflectors)集群列表。

1.1 路由反射器

在大型网络中,为了减少IBGP全互联的需求,可以使用路由反射器。路由反射器可以反射从对等体接收到的路由到其他对等体,而不需要这些对等体之间直接建立IBGP会话。

路由反射器可以视为采用C/S架构部署由几个部分组成:

  • 路由反射器(RR):一个或多个被指定为IBGP会话中心点的路由器,它们将从IBGP对等体学到的路由反射到其他IBGP对等体。
  • 客户机(Client):与RR形成反射邻居关系的IBGP设备。在AS内部,客户机只需要与RR直连,不需要与其他客户机建立IBGP连接。
  • 非客户机(Non-Client):既不是RR也不是客户机的IBGP设备。在AS内部,非客户机与RR之间以及所有非客户机之间必须建立全连接关系。

路由反射器

RR发布路由规则:

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

概况:非非不传原则,非客户端不会传给非客户端,不是服务器也不是客户端

1.2 Cluster_List选路

简单讲就是经过了一个RR,Cluster_List就会增加一个RR的标识,如果经过多个RR则 Cluster_List列表越长表示路由优先级越低。

路由反射器是为了减少AS内部IBGP全互联的需求的,所以意思就是可以通过IBGP全互联实现也可以通过路由反射器实现IBGP路由学习和转发。
示意图 拓扑图

拓扑修改:

# 基于目前拓扑,在AR3上配置对于AR2的本地转发
bgp 100
 ipv4-family unicast
 peer 2.2.2.2 next-hop-local

配置RR路由反射器:配置RR可以只在RR上指定客户端即可(单向)

# 因此只需要在AR1上指定AR3作为自己的客户端即可
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
  peer 2.2.2.2 enable
  peer 3.3.3.3 enable
  peer 3.3.3.3 reflect-client            # 简单一条命令指定

查看现象:

  • AR2学习到两条192.168.1.0/24路由,第一条是AR3通过IBGP全互联发送的,第二条是AR3作为路由反射器客户端反射给AR1的。
  • AR1作为RR会反射给客户端和非客户端,AR2会分别学习到路由反射器和IBGP的路由
  • IBGP全互联下没有经过RR,不存在Cluster_List属性,即被认为Cluster_List长度为0
  • 通过AR1反射的BGP路由其Cluster_List长度(1),所以R3通告的BGP路由为优选路由。
  • 路由反射器发送的路由不会修改nexthop等信息。

路由详细信息

综合比较通过IBGP学习到的路由Cluster_List长度为0,最短因此优先级越高。

如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子

本文由mdnice多平台发布

相关推荐
行則独善其身25 分钟前
计算机网络-BGP路由优选原则十
程序人生
潇潇说测试11 小时前
Python+requests+pytest+excel+allure 接口自动化测试实战
自动化测试·软件测试·python·功能测试·程序人生·excel·pytest
测试界柠檬15 小时前
JMeter接口自动化测试(数据驱动)
自动化测试·软件测试·功能测试·jmeter·程序人生·职场和发展
前端之虎陈随易17 小时前
Node.js全栈指南:浏览器显示一个网页
前端·javascript·程序人生·面试·职场和发展·node.js·编程
山水酒月2 天前
原来“山水博客“的分类也是可以拖动排序的
程序人生·考研·职场和发展·c#·学习方法·高考
WarghostWu2 天前
计算机人说学校-北京理工大学-计算机方向
程序人生·生活
WeiXiao_Hyy2 天前
从我邮毕业啦!!!
经验分享·笔记·程序人生
测试界吖吖2 天前
0基础学JMeter:如何开始简单的WEB压力测试(一)
自动化测试·软件测试·功能测试·jmeter·程序人生·职场和发展·压力测试
程序员曦曦3 天前
基于Jmeter的分布式压测环境搭建及简单压测实践
自动化测试·软件测试·分布式·功能测试·jmeter·程序人生·职场和发展
暮-夜染3 天前
志愿填报,院校优先还是专业优先?
经验分享·学习·程序人生·生活