博客
关于我
BGP边界网关协议及相关命令
阅读量:523 次
发布时间:2019-03-08

本文共 1830 字,大约阅读时间需要 6 分钟。

BGP边界网关协议全解析

BGP概述

边界网关协议(BGP, Border Gateway Protocol)是一种用于实现自治系统(AS)之间路由可达及选择最佳路由的矢量性协议。早期版本包括BGP-1、BGP-2和BGP-3,1994年开始使用BGP-4(RFC1771),而2006年之后,单播IPv4网络使用BGP-4(RFC4271),其他网络使用MP-BGP(RFC4760)。

BGP特点

  • 传输层协议:BGP使用TCP作为传输层协议,监听端口号为179,提高了协议的可靠性。
  • 外部路由协议:BGP用于AS之间的路由传递,非常注重稳定性。
  • 对等体逻辑连接:BGP对等体之间必须逻辑上连通,使用TCP连接,目標端口号为179,本地端口号可任意。
  • 对等体类型:BGP对等体与IGP对等体不同,BGP对等体是指使用TCP建立连接的两端,不需直连即可运行。
  • 路由控制:BGP仅负责路由控制,数据转发依赖于静态或IGP路由。
  • 地址类别域:支持无类别域间路由CIDR。
  • 路由更新优化:仅发送路由更新的路由,大幅减少路由信息的传播带宽。
  • 增强距离矢量:设计上有效避免了路由环路。
  • AS路径标记:携带AS_path信息,避免跨AS环路。
  • 内AS学习机制:学习路由后不会通告给内部BGP邻居,避免内AS环路。
  • 灵活路由策略:提供丰富的路由策略选项。
  • 路程衰减机制:通过路由衰减防止路由振荡,提高网络稳定性。
  • 协议扩展性:支持IPv4单/组播及NV6的扩展,主要通过TLV实现。
  • BGP分类

    BGP按运行方式分为EBGP和IBGP:

  • EBGP:用于不同AS之间的BGP,接收到EBGP对等体路由时,会将带有本地AS号的路由丢弃。
  • IBGP:用于同一AS内部的BGP,互不通告路由,同时建立全连接。
  • IBGP水平分割规则

    基于水平分割规则,内BGP学习到的路由不能直接传递给外BGP对等体。通常通过BGP联盟或路由反射器解决这种传输阻碍。

    BGP路由器ID

    BGP Router-ID为32位值,通常是IPv4地址形式。在BGP会话建立时发送的Open报文中携带。设备需配置唯一Router-ID,否则无法建立BGP连接。默认情况下,设备使用Loopback接口的IPv4地址,若无Loopback接口,则选取最大的Loopback地址(如10.0.0.1)作为Router-ID。

    BGP工作原理

    BGP对等体的建立、更新和删除涉及5种报文、6种状态机和9个原则。

    BGP报文

  • Open报文:TCP连接建立后发送的首表报文,协商BGP参数。
  • Update报文:交换路由信息。
  • Notification报文:报告BGP错误,中断连接。
  • Keepalive报文:维持BGP连接。
  • Route-refresh报文:在路由策略变化时刷新路由信息。
  • BGP状态机

    状态包括:

  • 空闲(Idle):拒绝连接请求。
  • 连接(Connect):TCP连接重传。
  • 主动(Active):持续尝试连接。
  • 发送Open(OpenSent):等待对等体响应。
  • 确认Open(OpenConfirm):处理对等体Open报文。
  • 已建立(Established):正常路由交换。
  • BGP交互原则

  • 将最优路由放入BGP路由表。
  • 从IBGP对等体获取的路由只发布给EBGP。
  • 从EBGP对等体获取的路由发布给所有对等体。
  • 多路径选择最优路由。
  • 只传递路程更新的路由。
  • 接收所有对等体发送的路由。
  • EBGP路线下一跳改变,IBGP路线下一跳不变。
  • EBGP路线TTL设为1,IBGP路线TTL为255。
  • 对等体建立注意事项

  • IBGP对等体:确保下一跳可达,特别是边界IBGP对等体需下一跳指向自己。
  • EBGP对等体:highest-hop JBGPmax-hop设置为2。
  • 回环接口:建议使用回环接口建立对等体,以提高稳定性。
  • 配置示例

    配置示例:

  • IP设置:配置各路由器的IP地址。
  • OSPF配置:在OSPF网络中配置区域和网络。
  • BGP配置
    [R1] bgp 100[R1-bgp] router-id 1.1.1.1[R1-bgp] peer 2.2.2.2 as-number 100 connect-interface LoopBack0[R1-bgp] peer 3.3.3.3 ...
  • EBGP处理:设置EBGP最大跳数及静态路由。
  • 通过以上配置,BGP设备可实现高效的路由交换和网络稳定性。

    转载地址:http://pkziz.baihongyu.com/

    你可能感兴趣的文章
    objective-c中的内存管理
    查看>>
    Objective-C之成魔之路【7-类、对象和方法】
    查看>>
    Objective-C享元模式(Flyweight)
    查看>>