当前位置: 首页 > web >正文

BGP知识点总结

一、BGP 基本概念​

BGP(Border Gateway Protocol,边界网关协议)是一种外部网关协议(EGP),主要用于在不同自治系统(AS)之间交换路由信息。与 OSPF、RIP 等内部网关协议(IGP)不同,BGP 更注重路由的可达性和策略控制,而非快速收敛或最小跳数。​

核心特点:​

  • 路径矢量协议:通过携带 AS 路径(AS Path)等属性判断路由优劣,避免环路。​
  • 无类别路由协议:支持 CIDR(无类别域间路由),传递路由时携带子网掩码。​
  • TCP 传输:使用 TCP 端口 179 建立邻居关系,保证数据传输的可靠性。​
  • 增量更新:仅在路由信息变化时发送更新,减少带宽占用。​

二、BGP 工作原理​

1. 邻居关系建立​

BGP 邻居(Peer)需手动配置,分为两种类型:​

  • IBGP(内部 BGP):同一 AS 内的 BGP 路由器之间的邻居关系,要求逻辑上直连(通常通过 IGP 保证可达)。​
  • EBGP(外部 BGP):不同 AS 之间的 BGP 路由器之间的邻居关系,通常为物理直连。​

建立过程:​

  1. 发送 TCP 连接请求,建立三次握手。​
  2. 交换 OPEN 消息,协商 BGP 版本、AS 号、保持时间等参数。​
  3. 发送 KEEPALIVE 消息确认邻居关系,进入 Established 状态。​

2. 路由传递与选路​

BGP 通过 UPDATE 消息传递路由条目,包含网络层可达信息(NLRI) 和路径属性(PA)。选路时按优先级评估路径属性,核心属性包括:​

  • Weight(权重):Cisco 私有属性,本地有效,值越大越优先。​
  • Local Preference(本地优先级):IBGP 内传递,值越大越优先,默认 100。​
  • Origin(起源):标记路由来源,优先级:IGP(i)> EGP(e)> Incomplete(?)。​
  • AS Path(AS 路径):记录路由经过的 AS 号,长度越短越优先,同时用于防环。​
  • Next Hop(下一跳):指示到达目标网络的下一跳地址。​
  • MED(多出口鉴别器):向 EBGP 邻居传递,值越小越优先,默认不传递。​

三、BGP 消息类型​

BGP 共定义 4 种消息类型,均通过 TCP 传输:​

  1. OPEN:建立邻居关系时交换,包含版本、AS 号、路由器 ID 等关键信息。​
  1. KEEPALIVE:维护邻居关系,周期为保持时间的 1/3(默认 60 秒发送一次,保持时间 180 秒)。​
  1. UPDATE:传递路由信息,可包含可达路由(NLRI)和不可达路由(撤销路由)。​
  1. NOTIFICATION:当检测到错误时发送,如版本不匹配、AS 号错误等,发送后断开邻居关系。​

四、BGP 防环机制​

BGP 通过多层机制防止路由环路:​

  • EBGP 防环:接收路由时检查 AS Path,若包含本地 AS 号则丢弃。​
  • IBGP 防环:默认不将从 IBGP 邻居学到的路由传递给其他 IBGP 邻居(需通过路由反射器或联邦解决)。​

五、常见应用场景​

  1. ISP 之间路由交换:互联网骨干网依赖 BGP 连接不同 AS,实现全球路由互通。​
  1. 企业多出口选路:通过 BGP 与多个 ISP 建立连接,利用本地优先级、MED 等属性控制出 / 入站流量。​
  1. 路由过滤与策略:通过路由映射(Route-map)、前缀列表(Prefix-list)等工具过滤路由或修改属性,满足业务需求。​

六、实战配置要点​

  1. 基本配置步骤:​
  • 启用 BGP 进程,指定本地 AS 号。​
  • 配置邻居 IP 及远程 AS 号(IBGP/EBGP)。​
  • 宣告本地网络(或通过 redistribution 引入 IGP 路由)。​
  • 关键命令示例):​
router bgp 65001​neighbor 10.1.1.2 remote-as 65002      配置EBGP邻居​neighbor 192.168.1.1 remote-as 65001    配置IBGP邻居​network 10.0.0.0 mask 255.255.255.0    宣告本地网络​

​总结​

  BGP 是互联网的 “交通警察”,其设计聚焦于大规模网络的路由控制和策略灵活性。掌握 BGP 的工作原理、属性选路及配置技巧,是构建和维护大型网络的核心能力。实际应用中需结合业务需求合理设计策略,避免路由环路和选路异常。​

http://www.xdnf.cn/news/17611.html

相关文章:

  • MACBOOK M1安装达梦8数据库
  • 机器学习实战·第三章 分类(1)
  • 组合期权:对角价差
  • Python描述符进阶:自定义文档与属性删除的艺术
  • 2025年全国青少年信息素养大赛Scratch编程践挑战赛-小高组-初赛-模拟题
  • P3232 [HNOI2013] 游走,solution
  • redis 全局命令、数据结构和内部编码、单线程架构
  • 深入理解C语言一维数组的本质:数组名、指针常量与访问细节
  • 250810-OpenWebUI集成Dify应用
  • uboot使用指南
  • 分布微服务电商订单系统Rust编码开发[下]
  • MySQL的逻辑架构和SQL执行的流程:
  • Stream流应用
  • MPLS特性之PHP(Penultimate Hop Popping)
  • afsim2.9_使用QtCreator和VSCode编译
  • 【杂谈】-智能代理+可观察性:构建下一代复杂系统监控体系
  • 《解锁 C++ 起源与核心:命名空间用法 + 版本演进全知道》
  • AUTOSAR进阶图解==>AUTOSAR_ASWS_TransformerGeneral
  • 关于linux操作系统下的文件操作方法:
  • ThinkPHP8学习篇(二):路由
  • 20250810 | 深度学习入门笔记1
  • 从色彩心理学看嵌入式设备UI设计:原则、挑战与实践
  • C语言-动态内存分配函数、变量属性(全局、局部、静态、只读)、C语言内存结构;
  • go加速配置(下载第三方库)
  • [0CTF 2016]piapiapia
  • 【秋招笔试】2025.08.09美团秋招研发岗机考真题-第二题
  • 在Mac上搭建本地AI工作流:Dify与DeepSeek的完美结合
  • 【2025CVPR-图象分类方向】ProAPO:视觉分类的渐进式自动提示优化
  • 【MySQL——第三章 :MySQL库表操作】
  • STM32 DMAMUX 平台驱动程序注册