HCIP(十一)---BGP的特点、数据包、工作过程、路由黑洞、防环机制

BGP:边界网关路由协议

  • BGP协议为不同AS间共享路由,工作时隔离两个AS的内部网络,形成一个独立的交互空间;且同时可以实施强大的策略来干涉选路;

特点

  • 可控性

    BGP协议不是路由的产生者,仅为搬运者,且AS间正常应该存在大量的链路来保障稳定性;故BGP协议传递的路由条目很难默认最佳选路;–需要管理员对路由进行大量的策略来干涉选路;

  • 可靠性
    为了避免对设备资源的占用选择了增量更新—仅触发、无周期
    EGP基于TCP 179端口工作
    TCP 仅基于单播通信 BGP协议需要单播建立邻居关系(手工指定邻居的ip地址)
    BGP可以非直连建邻(peer),BGP承载于IGP之上;//要建立BDP必须要先能PING通

  • AS-BY-AS

数据包

首先通过TCP的三次握手来寻找到邻居;
Open        仅负责邻居关系的建立,正常进收发一次即可;携带route-id,hold time 默认3min
Keeplive    保活    周期1min查询邻居关系是否存在;实际保活TCP会话;
Update      携带路由条目     目标网络号+各种属性
Notification   出现错误数据时收发;

工作过程

  • 管理员定义邻居的ip地址,前提要求对邻居ip可达; — IGP可达
  • 启动BGP协议后,先目标端口为179进行TCP的三次握手来建立TCP的会话;
  • 会话建立后,收发open报文来建立邻居关系,生成邻居表;
  • 邻居关系建立后,邻居间使用update 共享路由条目,在收发了路由信息后,本地生成BGP表;
  • Bgp表中装载本地发出及接收到的所有路由条目;
  • 之后路由器将BGP表中的最优路径(不一定是最佳选路,仅为BGP参数最佳)加载于路由表中;
  • 收敛完成!仅keeplive周期保活即可;

路由黑洞
在这里插入图片描述

  • 如上图所示,R3,R4未跑BGP,其他路由器都跑了BGP。

    过程:R1上的环回,先与R2建立TCP三次会话,通过单播把流量传递给R2,然后R2同样也把流量通过单播传递给R5,这一过程经过R3、R4,但只是经过而已,并未把流量传递给R3、R4,所以当R5要去找R1上的环回时就会把流量传递给R3、R4,但是R3、R4路由表上没有该流量,所以就丢弃,这就形成了路由黑洞

  • 由于bgp协议可以非直连建立邻居关系,故若两台BGP邻居间存在未运行BGP协议的路由时;可能出现路由条目可以在控制层面正常单播传递,但数据层面流量经过未运行BGP协议的设备时,无法通行;控制层面可达,数据层面不可达;

  • 解决办法

1、	物理或逻辑链路全连
2、	全连的BGP邻居关系,所有设备运行bgp;////没钱,这两天上课先用
3、	将BGP路由条目重发布到IGP协议中(不建议用,只适合在LAB中)
4、	最佳方案---MPLS  多协议标签交换

防环机制–水平分割
1)EBGP水平分割–防止EBGP环路

  • 利用BGP条目中的as-path 属性,该属性将记录所有经过的AS编号;接收到的路由条目中若as-path中存在本地的AS号,将拒绝接收;

2)IBGP水平分割–防止IBGP环路
在这里插入图片描述

  • 过程:BGP具有非直连的能力,如上图,当R1要pingR3时,需先把流量交给R2,但是R2会把流量给R1,这样就会一直形成环路
    IBGP水平分割— 从一个IBGP邻居处学习到的路由条目不得传递给本地其他IBGP邻居;
  • 因为BGP协议具有非直连建立邻居的能力,故在一个AS内部只要设备运行BGP协议,那么其必然存在EBGP邻居关系(一定连接了其他的AS);IBGP水平分割规则将导致在一个AS内部所有运行了BGP协议的路由器间,均需要建立IBGP邻居关系,才能正常传递路由条目—建立邻居关系的配置成指数增长;
发布了49 篇原创文章 · 获赞 4 · 访问量 875

猜你喜欢

转载自blog.csdn.net/weixin_45404784/article/details/105251068