BGP基本概念与配置示例

      BGP(边界网关协议)是互联网上一个核心的去中心化自治路由协议,它的目的是去中心化,以达到各个网络自治。

      BGP里面的核心概念包括:

       1) AS(Autonomous system):自治系统,指在一个(有时是多个)组织管辖下的所有IP网络和路由器的全体,它们对互联网执行共同的路由策略。也就是说,对于互联网来说,一个AS是一个独立的整体网络。而BGP实现的网络自治也是指各个AS自治。每个AS有自己唯一的编号。

       2) IGP(Interior Gateway Protocol):内部网关协议,在一个AS内部所使用的一种路由协议。一个AS内部也可以有多个路由器管理多个网络。各个路由器之间需要路由信息以知道子网络的可达信息。IGP就是用来管理这些路由。代表的实现有RIP和OSPF。

       3) EGP(Exterior Gateway Protocol):外部网关协议,在多个AS之间使用的一种路由协议,现在已经淘汰,被BGP取而代之。

       BGP分为IBGP(Interior BGP :同一个AS之间的连接)和EBGP(Exterior BGP:不同AS之间的BGP连接)。IGP的协议是针对同一个AS网络来设计的,一个自治网络的规模一般都不大,所以设计的时候就没有考虑大规模网络的情况。而当一个自治网络足够大时,OSPF存在性能瓶颈(后面会说明)。BGP本身就是为了在Internet工作,其设计就是为了满足大型网络的要求,所以大型私有IP网络内部可以使用IBGP。总的来说,这几类路由协议,小规模私有网络IGP,大规模私有网络IBGP,互联网EBGP。

       IBGP应用在AS内部,作为IGP的一种。一般的IGP,例如OSPF,EIGRP,用来在邻接路由器之间传递路由。而IBGP可以用来在edge router之间同步路由,edge router并不需要邻接。Edge router是指在AS边缘,用来连接其他AS的router,那么edge router肯定是运行了EBGP。同时这个edge router也会有对端AS的路由。通过IBGP,edge router会将学习到的对端AS的路由,传递给其他的edge router。这样,可以实现跨AS的连通。

       下面我们在HCL中搭建BGP的基本示例:

        该组网图中,划分了3个AS域,现在需要设置BGP使得Router D和Router E之间相互互通。

        1) 首先配置各个接口的ip地址,RouterA、RouterB、RouterC分别还需配置Loopback接口

            1.1.1.1/32、2.2.2.2/32、3.3.3.3/32

        2) 在as 200内部,配置ospf协议,使得各个节点之间可以互相通信:

        RouterA的ospf配置如下

        

        配置好ospf之后,查看ospf的路由表如下:

        

       3) 配置RouterD与RouterA、RouterC与RouterE的EBGP连接

           RouterD的bgp配置如下:

           

           此时RouterD暂时还不能和RouterE通信,因为RouterD的BGP路由中没有10.5.1.0/24网段的路由。

      4) 配置AS200内部的IBGP连接

          RouterA和RouterC属于AS200内部的边界路由器,通过IBGP协议,RouterA可以将AS100的路由传递到RouterC,RouterC再传递到AS300内部,这样AS100和AS300之间就互通了。

          与EBGP不同,IBGP对等体的两个路由器之间不要求物理直连,只要路由可达就行,因此可以直接配置RouterA与RouterC之间的IBGP连接,但为了防止路由环路,通过IBGP学习到的路由,不会传递到其它的IBGP,因此需要AS内部的Router两两相连,组成一个full-mesh的网络。Full-mesh的连接数与节点的关系是n*(n-1),连接数随着节点数的增加而迅速增加,这给配置和管理带来了问题。

          为了优化full-mesh网络问题,可以通过路由反射器来解决。这是一个特殊的IBGP Router,它会将学习到的IBGP路由,传递给所有连接的RR-client。因此AS中的路由器只需要和路由反射器建立连接即可,减少了连接个数。

         这里我们将RouterB作为路由反射器,配置如下:

         

         其中的peer 1.1.1.1 reflect-client 即将RouterA作为路由反射器的客户端。

      5) 在RouterA和RouterC的BGP中引入OSPF路由,这样使得对端的BGP Router可以访问到AS200内部:

          RouterA的配置如下:

          

          执行完成之后,查看RouterD的BGP路由表,发现已经学习到了10.3.1.0/24和10.4.1.0/24网段的路由:

          

          此时RouterD还没有10.5.1.0/24网段的路由,因此不能和RouterE通信,需要在RouterC中引入10.5.1.0/24网络路由,这样在AS200内部通过IBGP可以将10.5.1.0/24通告到各个Router,最后通过EBGP,RouterD也可以学习到该路由。

          

          如图所示,RouterD已经学习到了10.5.1.0/24网段的路由

          同样,在RouterD中引入10.2.1.0/24网段的路由,则RouterE也可以学习到10.2.1.0/24网段的路由:

          

         完成以上配置之后,RouterD和RouterE之间可以相互ping通:

         

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值