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

    你可能感兴趣的文章
    Problem N HDU 2612 Find a way (两次BFS求最值)
    查看>>
    Process /usr/libexec/gdu-notification-daemon was killed by signal 6 (SIGABRT)
    查看>>
    process.env.VUE_APP_BASE_API 获取不到
    查看>>
    Process.run() 和 Process.start() 之间的区别
    查看>>
    Processes
    查看>>
    Processing通过编程实现艺术设计_实现艺术和现实的交互---数据设计分析002
    查看>>
    ProcessOnLoading
    查看>>
    SpringBoot中集成screw(螺丝钉)实现数据库表结构文档生成
    查看>>
    PROFINET 模拟器使用教程
    查看>>
    Program type already present: android.support.v4.widget.EdgeEffectCompat
    查看>>
    PyTorch中文版官方教程来啦(附下载)
    查看>>
    Progress Kemp LoadMaster 远程命令执行漏洞复现(CVE-2024-1212)
    查看>>
    Project configuration is not up-to-date with pom.xml. Run Maven->Update Project
    查看>>
    Project Euler 15 Lattice paths
    查看>>
    Project Euler 48 Self powers( 大数求余 )
    查看>>
    Project Euler Problem 12: Highly divisible triangular number
    查看>>
    ProjectEuler 2
    查看>>
    projection介绍及EPSG:4326和EPSG:3857的投射转换
    查看>>
    project打开文件时,显示无法识别此文件格式?
    查看>>
    Prometheus + Grafana on Kubernetes部署
    查看>>