参考答案1
BGP 防止路由环路的机制,我通过以下两个层面回答
1、在AS内部防止路由环路 (IBGP邻居之间防止环路)
默认机制: IBGP水平分割,但是IBGP水平分割虽然能够防止环路,但是也会导致BGP路由在一个AS内部无法传递
所以,在企业中我们在AS内部防止路由环路通常使用两种方法:
1) 部署路由反射器,使用路由反射器的两个路径属性,始发者ID和簇列表来防止一个AS内部的路由环路
Originator_ID: 始发者ID, 在一个路由反射簇中防止路由环路
Cluster_List :簇列表,在反射簇和反射簇之间防止路由环路
2)部署BGP联盟:在公共AS内设置子AS号,要求每一个子AS号内不能超过2台路由器,这个解决方案配置繁琐,而且会改变网络现有结构,后期运维困难,所以不建议使用。
2、在AS和AS之间防止路由环路 (EBGP邻居之间防止环路)
使用路径属性AS_Path 防止EBGP邻居之间的路由环路: BGP路由器接收路由时,如果发现此路由的AS_Path属性中包含自己的AS号,则丢弃该路由。
总结:
IBGP邻居之间防止路由环路: 使用路由反射器的 始发者ID属性 和簇列表属性
EBGP邻居之间防止路由环路: 使用AS_Path路径属性
答题人:高昌勇
参考答案2
BGP(边界网关协议)通过多种防环机制来确保路由信息的正确性和稳定性,避免路由环路的发生。以下是BGP主要的防环机制:
一、AS_PATH属性防环
原理:AS_PATH是BGP路由信息中的一个重要属性,用于记录路由经过的所有自治系统(AS)的编号。当BGP路由器接收到一条路由更新时,会检查AS_PATH属性。
防环机制:如果AS_PATH中已包含本AS编号,说明路由已经经过本AS,存在环路风险,因此BGP路由器会丢弃该路由更新,从而防止路由环路。
二、IBGP水平分割防环
原理:IBGP(内部BGP)水平分割是指IBGP邻居之间不会通告从其他IBGP邻居学习到的路由。
防环机制:这种机制避免了IBGP路由在AS内部形成环路。例如,在一个AS内,如果两台路由器通过IBGP建立了邻居关系,它们之间不会相互通告从其他IBGP邻居学习到的路由信息。
三、路由反射器防环
原理:路由反射器(RR)是一种用于优化IBGP路由传播的技术。它打破了IBGP水平分割的限制,允许路由反射器将从一个IBGP邻居学习到的路由通告给其他IBGP邻居。
防环机制:为了避免路由环路,路由反射器引入了Originator_ID和Cluster_List两个属性。Originator_ID用于标识路由的始发者,Cluster_List用于记录路由经过的路由反射器集群。当路由反射器接收到一条路由时,会检查这两个属性,如果发现路由已经经过本集群或始发者是自己,则丢弃该路由,从而防止路由环路。
四、EBGP防环
原理:EBGP(外部BGP)是运行在不同AS之间的BGP协议。由于EBGP邻居之间通常通过物理或逻辑上的直接连接建立邻居关系,因此EBGP本身具有天然的防环特性。
防环机制:EBGP路由器不会将从一个EBGP邻居学习到的路由通告给另一个EBGP邻居(除非通过路由策略进行特殊配置),从而避免了EBGP路由在AS之间形成环路。
五、BGP路由策略防环
原理:BGP支持丰富的路由策略,如路由过滤、路由重分发等。通过合理配置路由策略,可以进一步防止路由环路的发生。
防环机制:例如,可以使用路由过滤策略来限制某些路由的通告范围,避免不必要的路由传播;或者使用路由重分发策略来将其他路由协议的路由引入BGP时,进行严格的路由筛选和验证,确保引入的路由不会形成环路。
答题人:胡新亮