基本BGP实验布署
基本知识:
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通了呢?
试试:
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阶段的一个小实验而已,加油!在这其实大多数是我本人的自学的实验小笔记,若有错误,请指正。