BGP详解(一)协议及解决路由黑洞

BGP:边界网关协议,是一种运行于TCP的一种自制系统的路由协议。工作在AS与AS之间。路径矢量型路由协议(AS-BY-AS),单播建邻,默认无负载均衡。

AS号为两个字节:1-----65535     私有AS号:64512-----65535

协议应用范围:BGP、AS之间使用协议

协议更新中是否携带网络掩码:携带网络掩码

协议算法:无算法、规则、路径矢量型

协议封装:基于TCP封装   基于TCP179端口

使用BGP场景:

  1. 多个AS之间传递路由信息
  2. 希望控制AS键的路由策略
  3. 该AS是一个中转AS
  4. 路由条目很多

特性:

  1. 可靠更新:运行在TCP179端口(目标端口)上
  2. 增量、触发更新
  3. 周期性发送keepalive消息检测TCP的连通性,keepalive周期间隔60s
  4. 丰富的metrics(路径矢量)
  5. 能够适应巨型互联网络
  6. BGP支持认证和聚合(汇总)
  7. 可跨路由器建立邻居关系

BGP的四种数据包

1、open包   存在hold time和RID;用于邻居关系建立;默认收发一次即可

BGP详解(一)协议及解决路由黑洞_第1张图片

2、keepalive包   邻居间的保活    周期60s

BGP详解(一)协议及解决路由黑洞_第2张图片

3、update   更新包      目标网络号+属性

BGP详解(一)协议及解决路由黑洞_第3张图片

4、notification   报错包     错误信息出现时发送

BGP详解(一)协议及解决路由黑洞_第4张图片

BGP详解(一)协议及解决路由黑洞_第5张图片

基本配置:

直连的EBGP邻居关系建立

router bgp 1            //配置真实AS号,无多进程概念
 bgp router-id 1.1.1.1              //BGP的router-id
 neighbor 12.1.1.2 remote-as 234    //BGP建邻,对端IP地址和AS号

环回建立EBGP邻居关系:EBGP邻居关系间的数据包TTL值,默认为1;用环回建立EBGP邻居关系,就必须修改默认的TTL值

ip route 4.4.4.4 255.255.255.255 45.1.1.4     //BGP的前提是路由可达
router bgp 5
 bgp router-id 5.5.5.5        //router-id
 neighbor 4.4.4.4 remote-as 234      //对端地址和AS号
 neighbor 4.4.4.4 ebgp-multihop 255       //解决EBGP多跳问题
 neighbor 4.4.4.4 update-source Loopback0       //修改更新源(默认为相连的物理地址)

IBGP建立邻居关系:建议使用环回口建立

router bgp 234
 bgp router-id 4.4.4.4
 neighbor 2.2.2.2 remote-as 234
 neighbor 2.2.2.2 update-source Loopback0

向BGP中注入路由:network

R1(config)#router bgp 1
R1(config-router)#network 51.1.1.0 mask 255.255.255.0        //宣告的和路由表中的路由条目一样

BGP详解(一)协议及解决路由黑洞_第6张图片

*>   BGP的最优路由(继续传递给下一个BGP邻居,放进路由表)

导致不优路由的原因(同步、下一跳)两者必须同时满足,才能是最优路由

解决BGP路由不优的问题:1、重发布       2、静态       3、修改next-hop

router bgp 234
 synchronization                   //开启同步,默认关闭
 bgp router-id 2.2.2.2
 neighbor 4.4.4.4 remote-as 234
 neighbor 4.4.4.4 update-source Loopback0
 neighbor 4.4.4.4 next-hop-self                //修改传递给邻居4.4.4.4的下一跳为自己,优化传递的路由

路由表:控制层面可达,数据层面不可达

BGP详解(一)协议及解决路由黑洞_第7张图片

BGP详解(一)协议及解决路由黑洞_第8张图片

BGP数据层面的路由黑洞:

解决方法:

  1. 连接一条物理线路
  2. 重发布(只适用于实验环境)
  3. IBGP的FULL-MASH(IBGP中跑BGP)
  4. MPLS(主流解决方法)

IBGP的FULL-MASH方法:在R3上跑BGP

router bgp 234
 bgp router-id 3.3.3.3
 neighbor 2.2.2.2 remote-as 234
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 4.4.4.4 remote-as 234
 neighbor 4.4.4.4 update-source Loopback0

验证结果:

BGP详解(一)协议及解决路由黑洞_第9张图片

 

你可能感兴趣的:(路由与交换)