• BGP路由技术理论


    BGP概述:自治系统之间进行路由学习及选路的协议

    1、 自治系统:运行同一种路由协议的路由器的集合

      a) 自治系统编号:1~65535

      b) 公有AS号:1~64511

      c) 私有AS号:64512~65535

    2、 动态路由分类:

      a) 按自治系统分类:IGPEGP

      1. IGP:自治系统内部的路由协议:作用:发现计算路由
      2. EGP:自治系统之间的路由协议:作用:控制路由的传播,选择最优路由

      b) 按协议类型分类:

      1. 距离矢量路由协议:RIPV1RIPV2BGPEIGRP
      2. 链路状态路由协议:OSPFISIS

    3、 BGP的概念

      a) 作用:在AS之间自动交换无环路由信息

      b) 解决自治系统之间的路由学习问题

    4、 BGP的特征

      a) 传输协议:TCP,端口号179

      b) BGP是外部路由协议,用在AS之间传递路由信息

      c) 是一种增强的路径矢量路由协议

      d) 拥有可靠的路由更新机制

      e) 具备丰富的metric度量方法

      f) 无环路协议设计

      g) 为路由条目附带多种属性信息

      h) 支持CIDR(无类别域间选路)

      i) 丰富的路由过滤和路由策略

      j) 无须周期性更新

      k) 路有更新时只发送增量路由

      l) 周期性发送keepalive报文,以保持TCP连通性

    BGP邻居关系

        发言者:运行BGP的路由器

        对等体:相互之间传递报文的speaker之间互称为对等体

      1、 BGP报文

        a) Open报文:第一个报文,用于建立连接关系

        b) Update报文:更新路由信息

        c) Notification报文:当BGP检测到错误时,发送报文返回idle状态,立即断开连接——不允许错误出现的一种路由协议

        d) Route-refresh:路由刷新

        e) Keepalive:保持连接,默认周期60s,保持180s

      2、 BGP状态机

        a) Idle状态:拒绝任何进入的连接请求,是BGP的初始状态,还没运行BGP

        b) Connect状态:连接状态,建立连接

        c) Active状态:尝试进行TCP连接,是BGP的中间状态

        d) Opensent状态:等待对等体的open报文,并对收到的open报文进行检查,没有问题,发送keepalive报文,并进入openconfirm状态,如果有错,则进入idle状态

        e) Openconfirm状态:等待keepalive或notification报文,

      1. 收到keepalive报文——进入established状态
      2. 收到notificaton报文——进入idle状态

        f) Established状态:BGP可以在对等体之间交换update、keepalive、route-refreshnotification报文

        BGP对等体双方都为established状态,BGP邻居关系才能成立

      3、 BGP数据库

        a) Ip路由表:全局路由数据库,包括所有最优的IP路由信息

        b) BGP路由表:BGP发言者通告的路由信息

        c) 邻居表:对等体邻居清单列表

        d) Adi-RIB-In:对等体宣告给本地发言者的未处理的路由信息库

        e) Adj-RIB-Out:本地发言者宣告给指定对等体的路由信息库

      4、 BGP邻居关系类型

        a) IBGP邻居:同一个AS内部的BGP邻居关系

        b) EBGP邻居:AS之间的BGP邻居关系

        c) AS号相同为IBGP邻居,AS号不同为EBGP邻居

        d) Display bgp peer:查看BGP邻居信息

    通告BGP路由的方法

      1、 network方式

        a) 可以将当前设备路由表中的路由(非BGP)发布到BGP路由表中,并通告给邻居

        b) Network的对象是路由条目

      2、 import方式

        a) 将所学习到的路由信息重分发到BGP路由表中,是BGP宣告路由的一种方式

        b) Import的对象是某种动态路由协议,而不是路由条目

      Display bgp routing-table  查看BGP路由表

    BGP对等体配置

      BGP设备会将最优路由加入BGP路由表,形成BGP路由,

      1、 EBGP多跳

        a) 默认BGPEBGP邻居之间的TTL值为1,所以要用EBGP多跳来解决非直连的邻居关系

        b) Peer  12.0.0.1  ebgp-max-hop  2

      2、 更新源建立邻居关系

        a) 使用环回接口建立BGP邻居的方法称为更新源建邻居

        b) Peer  3.3.3.3  connect-interface  lo 0

        c) 本地loopback接口先要让对等体可达,需要手动添加对等体环回接口的路由条目,或者IGP自动学习对方环回接口路由

    保证IBGP下一跳可达

      1、 AS内传播IBGP时,改变下一跳信息

      2、 Peer  34.1.1.4  next-hop-local

    BGP的属性

      1、 BGP属性的分类

        a) 公有必遵:所有BGP路由器都可以识别,且必须存在于update报文中

        b) 公认任意:所有BGP路由器都可以识别,但不要求必须存在于update消息中,可以根据具体情况决定是否添加到update消息中

        c) 可选过渡:BGP路由器可以选择是否在update消息中携带这种属性,接收的路由器如果不识别这种属性,可以转发给邻居路由器

        d) 可选非过渡:BGP路由器可以选择是否在update消息中携带这种属性,接收的路由器如果不识别这种属性,将丢弃这种属性。

      2、 BGP属性的介绍

        a) Origin(起源)属性:

      1. 公有必遵,作用:标记一条路由怎么成为BGP路由的
      2. IGP(i):优先级最高。Network注入
      3. EGP(e):优先级次之。通过EGP得到
      4. Incomplete(?):其他方式学习到(如:import-route引入)。

        b) AS-PATH(AS路径)属性:

      1. 按矢量顺序记录了某条路由从本地到目的地址所要经过的所有AS编号。
      2. 始发路由时:
        1. 通告给EBGP对等体时,在update报文中创建一个携带本地AS号的AS-PATH列表
        2. 通告给IBGP对等体时,在update报文中创建一个空的AS-PATH列表
      3. 转发路由时:
        1. 通告给EBGP时,会把本地AS编号添加在AS-PATH列表的最前面(最左面)
        2. 发布给IBGP时,不会改变AS-PATH的属性

        c) Next-hop(下一跳)属性:

      1. IGP下一跳描述的是下一个路由器,BGP下一跳描述的是下一个AS(不一定是直连设备地址)。
      2. IBGP对等体发布从EBGP对等体学来的路由时,不改变路由的信息的下一跳属性

        d) Local-pref属性:

      1. 标识BGP路由的优先级,判断流量离开AS时的最佳路由
      2. AS内,多条路由到目的地址,local-pref属性值越大越优先,默认值为100.
      3. 配置

        e) MED属性:

      1. 判断流量进入邻居AS时的最佳路由。
      2. 两个AS之间有多条路由时,MED值越小越优先,默认值为0.
      3. 配置

    BGP的选路原则

      1、 若去往目的网络的下一跳不可达,则可以忽略此路由

      2、 Preferred-value优先级以数值高的路由优先

      3、 Local-preference优先级以数值高的路由优先

      4、 聚合路由优先级高于非聚合路由

      5、 本地手动聚合路由的优先级高于本地自动聚合的路由

      6、 本地通过network命令引入的路由的优先级高于本地通过import-route命令引入的路由

      7、 AS路由长度最短(最少个数)的路由优先级高

      8、 比较origin属性,IGP优先级高于EGP,EGP优先级高于incomplete

      9、 比较MED优先级较小的路由

      10、 EBGP路由优先级高于IBGP

      11、 BGP优先选择到BGP下一跳的IGP度量低的路径

    当以上全部相同,则为等价路由,可以负载分担,当负载分担时,以下三条原则无效

      1、 比较cluster-list长度,短者优先

      2、 比较originator_ID(如果没有originator_ID,则比较router DI),选择数值较小的路径。

      3、 比较对等体的IP地址,选择IP地址数值最小的路径。

  • 相关阅读:
    STL"源码"剖析
    Excel如何进行SVN
    BootstrapTable+KnockoutJS
    WebApi 集成 Swagger
    Java Core和HeapDump
    深入分析 Java 中的中文编码问题(1)
    Java编码浅析(注意区分三个概念)(转)
    理解并解决GBK转UTF-8奇数中文乱码(转)
    Java实现敏感词过滤(转)
    Android MediaPlayer状态机
  • 原文地址:https://www.cnblogs.com/ccshi/p/13130248.html
Copyright © 2020-2023  润新知