博客
关于我
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/

    你可能感兴趣的文章
    Python在def函数中使用for循环
    查看>>
    Python在Conda环境中,但在Windows虚拟环境中没有激活
    查看>>
    python系列【仅供参考】:python pip 错误 ModuleNotFoundError: No module named pip._internal 解决办法
    查看>>
    python图像条状状噪声,使用PYTHON PIL从验证码图像中删除背景嘈杂的线条
    查看>>
    Python图像处理:从内存加载jpeg
    查看>>
    python固定后缀(名物化词汇)词频统计:抽取+统计+可视化
    查看>>
    python商品评论数据采集与分析可视化系统 Flask框架 requests爬虫 NLP情感分析 毕业设计 源码
    查看>>
    python商品数据分析可视化系统(带爬虫)京东销售数据分析 计算机毕业设计 源码下载
    查看>>
    python商品库存管理系统 django框架 商品网站 MySQL数据库 源码下载 计算机毕业设计
    查看>>
    Python哪个版本最稳定好用2023.10.19
    查看>>
    Python和黑客技术的渊源
    查看>>
    Python和RF编写接口自动化
    查看>>
    Python和RF编写web自动化
    查看>>
    python和js哪个难_【Python】记一次学习,Python 与 js 在实现闭包时的差异
    查看>>
    python和java哪个更值得学——来自知乎高赞回答
    查看>>
    python和c混合编程 github_在pycharm中使用git版本管理以及同步github的方法
    查看>>
    python命名空间更改_Python模块xml.etree.ElementTree自动修改xml命名空间键
    查看>>
    Python命名中尾随下划线有什么好处?
    查看>>
    Python启动脚本
    查看>>
    Python听写汇总结果
    查看>>