路由-BGP-基础

一、基本特性

EGP(外部网关协议)是一种在不同自治系统之间交换路由信息的路由协议。BGP就是一种EGP,并且它是一项非常强健且具有可扩展性的路由协议;BGP是Internet中使用的路由协议。
使用BGP的主要目标是提供一个域间路由系统,保证在自治系统之间交换无环的路由信息。BGP路由器会交换有关目的网络的路径信息。
路由-BGP-基础_第1张图片
BGP提供的域间路由实现了自治系统之间的连接, BGP的域间路由通常需要基于一系列策略,而不仅仅是底层基础设施的技术特征。BGP的这种性能使它与IGP区分开来,IGP只专注于找到两点之间最优的(通常是最快的)路由,而不考虑路由策略。
BGP并不使用带宽来选择最优路径。 BGP是基于策略的路由协议,使自治系统能够使用多种BGP属性来控制流量。运行BGP的路由器之间会交换 网络可达性信息,这些信息称为路径矢量或属性,其中包括为了到达某个目的地网络,数据包应该穿越的所有BGP自治系统号列表。在使用BGP时,工程师可以通过调整这些路径属性,完全地利用所有带宽。
 
AS自治系统:一组被统一管理的路由器。一个AS相当于一个ISP,一个ISP可看成一个大的路由器。
AS范围1~65535
公有:1~64511
私有:64512~65535
路由-BGP-基础_第2张图片
 
对等体peer分为:
IBGP peer  (internal)
EBGP peer(external)
路由-BGP-基础_第3张图片    
 
 
路由-BGP-基础_第4张图片
 
 

二、AS内部基本部署

路由-BGP-基础_第5张图片
 
R02(config)#router ospf 100
R02(config-router)#router-id 2.2.2.2
R02(config-router)#network 2.2.2.2 0.0.0.0 area 0
R02(config-router)#network 23.1.1.0 0.0.0.255 area 0
 
R02(config)#router bgp 23
R02(config-router)#no auto-summary
R02(config-router)#no synchronization
R02(config-router)#bgp router-id 2.2.2.2
R02(config-router)#network 2.2.2.2 mask 255.255.255.255
R02(config-router)#neighbor 3.3.3.3 remote-as 23
R02(config-router)#neighbor 3.3.3.3 update-source loopback 0
 
R03(config)#router ospf 100
R03(config-router)#router-id 3.3.3.3
R03(config-router)#network 3.3.3.3 0.0.0.0 area 0
R03(config-router)#network 23.1.1.0 0.0.0.255 area 0
 
R03(config)#router bgp 23
R03(config-router)#no auto-summary
R03(config-router)#no synchronization
R03(config-router)#bgp router-id 3.3.3.3
R03(config-router)#network 3.3.3.3 mask 255.255.255.255
R03(config-router)#neighbor 2.2.2.2 remote-as 23
R03(config-router)#neighbor 2.2.2.2 update-source loopback 0
 
router bgp 100
 no    auto-summary           //关闭路由汇总
 no    synchronization        //关闭路由同步
 bgp    router-id    2.2.2.2  //指定BGP RID
network    2.2.2.2    mask    255.255.255.255     // 只需要通告本机上loopback的路由,不需要通告接口路由信息;注意使用 正掩码
通过直连接口建立邻居:
neighbor    23.1.1.3    remote-as    23          //指定BGP邻居,链路对端ip地址和 对端AS号
通过LOOPBACK口建立邻居:
neighbor    3.3.3.3           remote-as    23      //指定BGP邻居,链路对端ip地址和 本地AS号
neighbor    3.3.3.3           update-source      Loopback1     //使用指定 本地 loopback口做邻居,修改本地更新源。
AS部署BGP的基础是, 首先在路由器上部署IGP协议,例如OSPF。注意在ospf配置通告路由network时,AS内部时 不要通告AS间连接链路的路由
 
neighbor 说明:由于BGP基于TCP协议,所以邻居建立必须单播指定;
network 说明:BGP里面的Network命令仅仅用于路由通告,没有邻居建立的功能,而IGP里面的network命令除了建立邻居,还通告了路由.
 
Show run | s r b  查看BGP配置
Show ip bgp summary/neighbor  查看BGP邻居表简要<详细>
Show ip bgp  查看BGP拓扑表/数据库
Show ip route bgp 查看BGP路由
路由-BGP-基础_第6张图片
路由-BGP-基础_第7张图片
 

三、路由分组

Clear ip bgp * //硬清除
Clear ip bgp * soft  //软清除
 
路由-BGP-基础_第8张图片
 
①  源地址和目的地址ip都改为了loopback口的地址
②  TCP上次握手建立邻居
③  BGP分组:
open  message:只在第一次初始状态下邻居建立时出现
 
路由-BGP-基础_第9张图片
 
 
keeplive  message:用户实现可靠确认邻居维持。60秒/次
 
路由-BGP-基础_第10张图片
update message:用户承载及传递路由条目及路径属性。
路由-BGP-基础_第11张图片
notification  message:用户对BGP的错路进程进行纠错。
 

四、EBGP邻居建立

EBGP基于loopback口建立邻居:
①  通过静态路由指向给对方环回口;
R01(config)#ip route 2.2.2.2 255.255.255.255 12.1.1.2
R02(config)#ip route 1.1.1.1 255.255.255.255 12.1.1.1
②  基于静态路由的连通性,建立BGP邻居;
③  EBGP数据包头部的TTL值为1,但是邻居指向对方loopback口,需要两跳,所以需要修改TTL值使大于1。开启“EBGP多跳multi-hop”
 
R01(config)#router bgp 100
R01(config-router)#no auto-summary
R01(config-router)#no synchronization
R01(config-router)#bgp router-id 1.1.1.1
R01(config-router)#network 1.1.1.1 mask 255.255.255.255
R01(config-router)#neighbor 2.2.2.2 remote-as 23
R01(config-router)#neighbor 2.2.2.2 update-source loopback 0
 
02(config)#router bgp 23
R02(config-router)#neighbor 1.1.1.1 remote-as 100
R02(config-router)#neighbor 1.1.1.1 update-source loopback 0
 
此时:
路由-BGP-基础_第12张图片
发现R1和R2之间的邻居状态为“Idle”
所以需要 开启“EBGP多跳multi-hop”
R01(config-router)# neighbor    2.2.2.2    ebgp-multihop 2   //将TTL值改为2
R02(config-router)# neighbor    1.1.1.1    ebgp-multihop 2  //将TTL值改为2
此时BGP邻居建立:
路由-BGP-基础_第13张图片
 
邻居建立状态过程:
路由-BGP-基础_第14张图片 路由-BGP-基础_第15张图片
    
 
路由-BGP-基础_第16张图片
 
 
 
 
 
 
 

你可能感兴趣的:(网络路由,网络)