BGP——路由反射器
基础概念:
我们知道,在IBGP 2 设备收到IBGP 1设备传输过来的IBGP路由后,不会将此IBGP路由传递给其它的IBGP设备,所以当其它的IBGP设备需要获得此跳IBGP路由时,就需要与IBGP 1设备建立IBGP邻居关系。
在网络较大的情况下,使用IBGP全互联的话,就会很复杂,所以出现了路由反射器
路由反射器角色:
1.RR-----------路由反射器----允许把从IBGP对等体学来的路由反射到其它IBGP对等体设备
2.Client--------客户机--------与RR形成反射邻居关系的IBGP设备(在AS内只需要与RR直连)
3.Non-Client--非客户机------既不是RR也不是客户机的IBGP设备(在AS内部需要与RR之间、以及所有的非客户机之间仍然需要全互联)
4.Originator---始发者--------在AS内部始发路由的设备(Originator_ID属性用于防止集群内产生路由环路)
5.Cluster-------集群----------路由反射器与客户机的集合(Cluster_List属性用于防止集群间产生路由环路)
路由反射器原理:
1.RR从非客户机学到的路由,会反射给所有的客户机
2.RR从客户机学习到的路由,发布给所有的客户机和非客户机(除了发起此路由的客户机除外)
3.从EBGP对等体学习到的路由,发布给所有的非客户机和客户机
路由反射器的防环机制:
Originator_ID-----用于防止集群内产生路由环路
当一条路由第一次被RR反射的时候,RR将Originator_ID属性加入这条路由,标识这条路由的发起设备。如果一条路由中已经存在了Originator_ID属性,则RR将不会创建新的Originator_ID属性。
当设备接收到这条路由的时候,将比较收到的Originator ID和本地的Router ID,如果两个ID相同,则不接收此路由。
Cluster_List-------用于防止集群间产生路由环路---Cluster-ID就类似于OSPF中的Router-id
当一条路由第一次被RR反射的时候,RR会把本地Cluster ID添加到Cluster List的前面。如果没有Cluster_List属性,RR就创建一个。
当RR接收到一条更新路由时,RR会检查Cluster List。如果Cluster List中已经有本地Cluster ID,丢弃该路由;如果没有本地Cluster ID,将其加入Cluster List,然后反射该更新路由。
注意:
当一个网络中有多个RR(防止单点故障)时,可以通过此网络中的RR配置相同的集群ID(Cluster_ID)来减少各RR接收的路由数量
配置:
以下的配置只需要在RR上进行路由反射器的配置(客户机只需要配置与RR做IBGP邻居的配置)
对于客户机来说,客户机是不知道自己时客户机的,只有RR知道
Bgp as号
Peer reflect-client 配置自己为RR,并将指定的对等体最为Client
Peer ip地址 reflect-client 配置此对等体为客户机
reflector cluster-id _____ 配置集群ID
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix