EBGP与IBGP
EBGP和IBGP都是路由协议BGP使用的术语。从理论上讲,两者之间的主要区别是EBGP在不同自治系统(AS)中的两个BGP路由器之间运行,而IBGP在同一个自治系统中运行在两个BGP路由器之间。在讨论EBGP和IBGP的区别之前,让我们对EBGP和IBGP有一个基本的了解。
什么是EBGP?
BGP在不同自治系统的路由器之间运行。默认情况下,在EBGP(在两个不同的AS中对等)中,IP TTL被设置为1,这意味着对等点被假定为直接连接。
在这种情况下,当数据包通过一个路由器时,TTL变为0,然后数据包将被丢弃。在两个邻居没有直接连接的情况下,例如,使用环回接口进行对等,或者当设备处于多个跃点之外时,我们需要添加命令“neighbor x.x.x.x ebgp multihop”
否则,BGP邻里关系将无法建立。此外,EBGP peer将公布它知道的或从它的对等机(无论是EBGP peer还是IBGP peer)学习到的所有最佳路由,IBGP则不是这样。
什么是IBGP?
在IBGP中,没有邻居必须直接连接的限制;但是,IBGP对等机不会将它从IBGP对等机学到的前缀通告给另一个IBGP对等机。此限制是为了避免与中的循环。为了澄清这一点,当一个路由被传递给EBGP对等点时,本地AS号将被添加到AS path中的前缀中,因此,如果我们接收到同一个包,并声明AS-in-AS路径,那么我们就知道这是一个循环,并且该包会被丢弃。但是,当路由通告给IBGP对等端时,本地AS号不会添加到AS path中,因为对等端与相同。
为了避免和中的循环,使用了两种方法。
1全网格拓扑:在这种情况下,所有的路由器在同一个,必须互相连接。例如,如果我们有N个路由器,那么我们必须有N(N-1)/2个IBGP会话。我们可以通过引入路由反射器来避免这种情况。
2使用路由反射器:这是一种解决全网格场景的替代方法。在这种情况下,IBGP会话是用一个中心点建立的。这个中心点称为路由反射器,其他IBGP路由器称为路由反射器客户端。
eBGP和iBGP有什么区别?1.EBGP是在两个不同的AS之间进行窥视,而IBGP是在同一个AS(自治系统)之间进行窥视。从eBGP对等点学习的路由将被通告给其他对等点(BGP或IBGP);但是,从IBGP对等点学习的路由不会被通告给其他IBGP对等点。默认情况下,EBGP对等点设置为TTL=1,这意味着假定相邻节点是直接连接的,IBGP则不是这样。我们可以使用命令“neighbor x.x.x.x EBGP multihop<;TTL>;”更改EBGP的这种行为。多跳仅用于EBGP中。EBGP航线的管理距离为20,而IBGP的管理距离为200.5。当路由播发到IBGP对等时,下一跳保持不变;但是,当它被播发到EBGP对等时,它将被更改默认值。这个IBGP的默认行为可以通过命令“neighbor x.x.x.x next hop self”来更改;这会在发布消息时将下一跳更改为本地路由。 |