ebgp与ibgp互通 ebgp和ibgp的区别_路由表

实验要求:as123(ibgp)使用环回口,as400与as123,(ebgp)使用物理接口

做邻居实现r1能够ping通r5

方法:IBGP邻居全互联

1.做邻居

            内部的ibgp需要用环回口,使用两条命令,物理接口用一条命令

  1. 用物理接口  neighbor x.x.x.x remote as   AS(邻居的as号)
  2. 用环回口   neighbor  x.x.x.x remote as AS(邻居的as)

     Neighbor  x.x.x.x update-source  lo 0

查看邻居的命令:sh ip bgp summary

在r1上进行路由宣告环回口网段,

ebgp与ibgp互通 ebgp和ibgp的区别_网络_02

一个路由器从EBGP nei学来的路由信息传输给邻居IBGP nei下一跳是不会变的,所以传给直连的ibgp    r2路由器时,

下一跳地址没有变,

ebgp与ibgp互通 ebgp和ibgp的区别_网络_03

根据显示*>表示最优,最优的条件是

如果从ibgp邻居学到的一条路由,要想优化,有两个条件.

(1)下一跳可达。

(2)同步

 对于一个路由器而言,从IBGP邻居学来的信息不能用,必须等到通过它的IGP邻居也学来了,才可以用。这就叫做BGP的同步

(如果都是全互联的网络,而且全都是IBGP nei ,不需要同步)

既然不用管同步那就只看下一跳。

r2的下一跳不会变,因为是EBGP传过来的,现在查看r3

ebgp与ibgp互通 ebgp和ibgp的区别_路由表_04

由图可知,r3上没有最优只有一个*号

>的含义:

1)这条路由有可能被传递

2)这条路由有可能被放到路由表中

因为在ibgp中,传递中下一跳地址不会自动改变仍然是从ebgp传过来的地址,所以需要手动指定。就可以实现最优

指定的时候在r2路由器上

ebgp与ibgp互通 ebgp和ibgp的区别_ebgp与ibgp互通_05

在r3路由器上进行查看

ebgp与ibgp互通 ebgp和ibgp的区别_路由表_06

现在最优已经传递到r3,无法继续进行往下传,因为路由器水平分割,为了防止环路。

IBGP水平分割:我从IBGP   nei  收到的bgp路由信息,我不会再传给我的IBGP  nei

不管是原来的IBGP  nei还是其他的IBGP nei

(也是BGP防止环路的一种方法)

以为r3是通过r2的ibgp nei传过来的所以会有水平分割,r3的下一跳为2.2.2.2避免环路不能返回。

但因为水平分割的原因无法传递路由到达r4.

ibgp之间可以指定邻居,互相指定r2和r4为邻居

ebgp与ibgp互通 ebgp和ibgp的区别_网络_07

查看邻居:

ebgp与ibgp互通 ebgp和ibgp的区别_ebgp与ibgp互通_08

成为邻居后,r4可以学到r2传递的路由但不是最优,

因为下一跳不对的原因,应该手动指定,在r2上指定下一跳为我自己,

ebgp与ibgp互通 ebgp和ibgp的区别_ebgp与ibgp互通_09

ebgp与ibgp互通 ebgp和ibgp的区别_ebgp与ibgp互通_10

此时路由就可以单向传递到r5,

ebgp与ibgp互通 ebgp和ibgp的区别_网络_11

然后宣告r5,返回的思路和原来的相同

得出

ebgp与ibgp互通 ebgp和ibgp的区别_网络_12

看一下路由表

ebgp与ibgp互通 ebgp和ibgp的区别_网络_13

路由表中有5.5.5.5的路由

此时带上源环回地址就可以ping通

ebgp与ibgp互通 ebgp和ibgp的区别_ebgp与ibgp互通_14