基本BGP实验布署<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

基本知识:

BGP类型分为:EBGPIBGPEBGP就是在不同ASautonoous system)间的BGP,而IBGP就是在同一个AS内的BGP。有的时候也可以说是两台连接且运行BGP协议的设备所属关系。

BGP是路径矢量协议(path-vector, 可以从一个AS到另一个AS,在不同的AS中进行选路。在该协议中,是封装在TCP报文中,因而在BGP建立邻居时候,需要手工建立,而且非常可靠,其使用的是TCP的端口为:179

 

Helllo包: 试探建立邻居

Open包: 完整建立邻居

Keepaliove包: 维持邻居关系,默认每60S发送一次keepalive 包。

 

BGP中,有丰富的属性,也就是在用来衡量PATH的标准,也就是以前所说的metric值差不多。真正想学好BGP,建议大家去查看BGP手册,以及BGP的相关文档。即使不是官方,其实有很多IE的整理的笔记是非常好的。当然,我会跟大家一起去学习。

接下来作个实验:
R1配置:(R2R3R4类似)

interface Loopback0

 ip address 1.1.1.1 255.255.255.0     /*建立一个LO0口,用于测试以及在IBGP建立邻居时使用。*/

       

interface Serial0/0

 ip address 13.1.1.1 255.255.255.0

 clock rate 2000000

!        

interface Serial0/1

 ip address 12.1.1.1 255.255.255.0

 clock rate 2000000

!        

router ospf 110                        /* R1   启用OSPF,进程为110*/

log-adjacency-changes                  /* OSPF中,此命令默认打上的,当邻居状态变化时候,会弹出提示 */

 redistribute bgp 1 metric 6 subnets        /* BGP重分布在OSPF */

 network 1.1.1.0 0.0.0.255 area 0          /* 宣告OSPFNET */

 network 12.1.1.0 0.0.0.255 area 0

!        

router bgp 1                           /* 启用BGP,其AS1 */

 no synchronization                     /* 关闭同步, */

 bgp router-id 1.1.1.1                   /*BGPRID  */

 bgp log-neighbor-changes               /* BGP邻居状态变化时,会有提示信息 */

 redistribute connected metric 2           /* BGP中,分布直连路由,且metric2*/

 redistribute ospf 110 metric 3            /* OSPF学到的路由重分布到BGP */

 neighbor 12.1.1.2 remote-as 1            /* R2建立IBGP关系 */

 neighbor 12.1.1.2 update-source Loopback0 /* IBGP,建议使用环回口建立邻居*/

 neighbor 12.1.1.2 next-hop-self           /*告诉R2,路由更新源是R1自己*/

 neighbor 13.1.1.3 remote-as 3            /* R3建立EBGP关系 */

 no auto-summary                      /* 关闭自动汇总*/

!        

ip classless

ip route 0.0.0.0 0.0.0.0 13.1.1.3            /* 指定默认路由,下一跳指向R3 */

 

   这个时候,为什么不把R2 R3 R4 的配置show 出来,那是如果理解了都是一样的配置原理。

那么在完成配置之后,开始来查看相关信息吧:

1show  ip  bgp  neighbor

默认情况下,你可以看见两个邻居,一个是R3 另一个是R2

2bgp log-neighbor-changes

BGP连接成功时,你将看见如下类似的提示信息:

 

这是在BGP建立邻居的时的一个提示信息,也就是上述的实验中使用:

 bgp log-neighbor-changes 后的作用。

3show  ip  route当我们在IBGP中运行一个OSPF 后我们去看看路由表有没有条目:

这个表的信息,跟平常运行OSPF 的效果没有区别,不是说运行BGP了吗 ?怎么没有看见BGP学到条目啊?

等等 ,我们使用show  ip  bgp 看看:

确实在BGP的表中确实有从BGP学来的路由,那怎么没有看见写入路由表呢?

对了,BGP只是种路由协议,那么怎么把BGP导出来?记得redistribute ?在这个地方我们用双向重分布的方法来做。(R1)

redistribute connected metric 2         /* BGP中,重分布直连路由,且metric2*/

redistribute ospf 110 metric 3          * BGP中,重分OSPF路由,且metric3

router ospf 110

redistribute bgp 1 metric 6 subnets         /* OSPF中,重分布bgp,且metric6*/

 

  按照上述方法把R1R3重分布以后,那么我们可以来路由表的情况:

 
按照上述方法把R2R4重分布以后,那么我们可以来路由表的情况:
 
 
比较下,那么是不从R4学来,4.4.4.0/24的路由,当然在R2上也会有3.3.3.0/24的路由信息。
 

 

那么既然都学到了目标网路的路由了,是不是就可以PING通了呢?

试试:

<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />Ping 4.4.4.4 source 3.3.3.3

 
 
结果没有通,这是为什么呢

那是因为在尽管已经建立好了邻居,但没有通告R1 R3的路由,R2 R4的路由,所以 要写一条路由,我在这就写默认的路由。只要指向对方就行,我们可以假设,R1 R3之间还有很多设备,我们不管了,其实就是说,只要EBGP邻居通就行。

看看:
 

 

这样的话,你看多了一条默认路由,赶紧测试下吧:

Ping 4.4.4.4 source 3.3.3.3

 
 
通了,感觉很不容易吧,呵呵!

当然必要高兴,这只是NP阶段的一个小实验而已,加油!在这其实大多数是我本人的自学的实验小笔记,若有错误,请指正。