BGP简介

BGP 的概念定义

BGP 的概念

边界网关协议(Border Gateway Protocol,BGP)

  • 一种用于在不同自治系统(AS)之间交换路由信息的动态路由协议。
  • 互联网的核心路由协议之一,确保了全球网络的互联性和可达性。
  • 与内部网关协议(IGP)不同,BGP 主要处理 AS 间的路由。
  • 跨越多个 AS:负责在不同的网络域之间传递路由。
  • 路由信息交换:包括网络前缀和相关的路径属性。
  • 决策机制:根据各种因素决定最佳路由路径。
  • 策略控制:允许网络管理员定义路由策略,以满足特定需求。
  • 大规模网络适应:能够应对庞大而复杂的互联网拓扑。
  • 高可靠性要求:保障网络的稳定运行和路由的准确性。
  • 动态更新:实时适应网络的变化和拓扑调整。

BGP 的工作原理

  • 邻居建立
    • BGP 路由器会与其他 BGP 路由器建立邻居关系,分为 EBGP(外部邻居,位于不同 AS)和 IBGP(内部邻居,位于同一 AS 内)。
  • 路由通告
    • 路由器向邻居通告本地 AS 所知道的网络路由信息,包括网络前缀和相关属性。
  • 路径属性
    • 如 AS_PATH(记录经过的 AS 序列)、NEXT_HOP(下一跳地址)、LOCAL_PREF(本地优先级)等,这些属性用于路由决策。
  • 路由选择
    • 根据路径属性和策略,比较多条到达同一目的地的路由,选择最优路由。
    • 可能基于最短 AS_PATH、最高 LOCAL_PREF 等规则。
  • 更新机制
    • 当网络状态发生变化(如链路故障、路由新增等)时,及时发送更新消息以调整路由。
  • 路由反射
    • 在大型 AS 中,通过路由反射器来减少 IBGP 邻居关系的数量,提高扩展性。
  • 策略应用
    • 网络管理员可以通过配置来应用各种路由策略,如限制某些路由的传播、引导流量走向等。
  • 收敛过程
    • 确保整个网络的路由信息逐渐同步和稳定,以实现高效的数据传输。

BGP 的关键特点

BGP 的邻居关系

  • EBGP 邻居关系
    • 指位于不同自治系统的 BGP 路由器之间建立的邻居关系。
    • 通常通过直接连接的物理链路建立。
    • 消息传递跨越 AS 边界。
  • IBGP 邻居关系
    • 存在于同一自治系统内的 BGP 路由器之间。
    • 可以通过多种方式建立,如直接连接或通过内部网络。
    • 与 EBGP 相比,有一些特殊的规则和考虑因素,比如需要全互联或使用路由反射器等技术来避免路由环路问题。
    • IBGP 邻居之间传递的路由信息不会更改其 AS_PATH 属性。
  • 邻居建立过程
    • 包括交换 Open 消息以协商参数,如 BGP 版本、AS 号等。
    • 互相验证身份和能力。
    • 成功建立后,进入稳定的邻居状态,开始交换路由信息。
  • 邻居状态转换
    • 如从Idle 状态到 Connect 状态,再到 OpenSent、OpenConfirm 等状态,最终到达 Established 状态。
    • 不同状态表示邻居关系的不同阶段和进展情况。
  • 邻居维护
    • 通过定期发送 Keepalive 消息来维持邻居的活性。
    • 若长时间未收到对方消息,则可能认为邻居失效。

BGP 的路由属性

  • Weight(权重):Cisco 私有属性,是选路属性,可选非传递。当路由器有多个到达目标路径时(无视邻居关系),选择 weight 值大的一方到达(默认为空,越大越好)。weight 值只影响本路由器,其他路由器不识别该属性会丢弃该属性,默认本路由产生的路由条目的 weight 值为32768,学习到的路由条目权重值为0。
  • Origin(起源):选路属性,公认必尊,可以识别路由的起源,network 宣告的路由起源标志 i(0),重发布的路由起源标识为(3),EBGP 给的路由起源为 e(2),i>e>? ,i 和?可以修改,e 不能修改,默认传递过程中不修改。
  • AS-Path(AS 路径):记录路由经过的 AS 路径(不包括自己),顺序是最近进过的 AS 排在后面,一个 AS 拒绝接收携带自己 AS 号的路由,可以用来防环,选路,越短越好。
  • Next-hop(下一跳):用于提供可达性。IBGP 传递的 next-hop 不会被修改,为0时候会修改自己为更新源地址;EBGP 传递的 next-hop 会被修改,修改为自己的更新源地址。
  • Local-pref(本地优先级):选路属性,越大越好,用于在两个或者两个以上 AS 出口的选择,只能在 IBGP 之间传递,不能再 EBGP 之间传递。
  • MED(metric 度量值):可选非传递,选路属性,用于选路,一般用于 AS 有两个或者两个以上入口时,其他 AS 选择哪个入口进入本 AS。MED 只能用于两个 AS 之间的选路,可以在两个 AS 之间传递,超过两个 AS 该参数无效,可以打开多 AS 的 MED 比较。
  • Atomic-aggregate(汇总):可选非传递属性,用于通告路由接受者该路由是经过聚合的。
  • Aggregator(聚合者):可选传递属性,是 ATOMIC_AGGREGATE 属性的补充,包含了发起路由聚合的 AS 号码和形成聚合路由的 BGP 发布者的 IP 地址。
  • Community(团体):可选传递属性,用于标识具有相同特征的 BGP 路由,使路由策略的应用更加灵活,同时降低了维护管理的难度。
  • Originator_ID(发起者 ID):可选非传递属性,用于标识路由反射器,是可选非过渡属性。为了防止引入路由反射器之后出现环路,增加 ORIGINATOR_ID 这个属性来标识,反射器在发布路由时加入 ORIGINATOR_ID,当反射器收到的路由信息中的 ORIGINATOR_ID 就是自己的 ROUTER_ID 时,就可以发现路由环路的出现,将该路由丢弃,不再转发。
  • Cluster_List(簇列表):可选非传递属性,用于标识路由反射器组,是可选非过渡属性。CLUSTER_LIST 属性也是用来防止环路,在路由经过路由反射器时路由反射器会将自己的 CLUSTER_ID 添加到路由携带的 CLUSTER_LIST 中,当路由反射器发现接收的路由的 CLUSTER_LIST 中包含有自己的 CLUSTER_ID,则将该路由丢弃,不再转发。

BGP、OSPF 和 RIP 区别

BGP(Border Gateway Protocol)

  • 主要用于不同自治系统(AS)之间的路由交换,是一种域间路由协议。
  • 着重于控制路由策略和大规模网络的互联。
  • 路由信息相对复杂,包含大量的路径属性。

OSPF(Open Shortest Path First)

  • 是一种内部网关协议(IGP),用于单个 AS 内。
  • 基于链路状态,能快速收敛。
  • 对网络拓扑有清晰的认识,能进行更精确的路由计算。

RIP(Routing Information Protocol)

  • 也是 IGP。
  • 相对简单,使用跳数作为度量。
  • 收敛速度较慢,不太适用于大型复杂网络。
比较项目 BGP OSPF RIP
应用范围 AS 间 AS 内 AS 内
路由度量 多种属性 开销等 跳数
收敛速度 较慢 较慢
网络规模 大型网络 中大型网络 小型网络
路由信息复杂度 复杂 较复杂 简单
相关推荐
运维小欣4 分钟前
智能体选型实战指南
运维·人工智能
yy55278 分钟前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ1 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔3 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密3 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
我想走路带风3 小时前
c++工具转向网络底层工具
网络
dashizhi20153 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑
皙然3 小时前
深入理解TCP流量控制
网络·网络协议·tcp/ip
卷福同学3 小时前
【养虾日记】QClaw操作浏览器自动化发文
运维·人工智能·程序人生·自动化
网教盟人才服务平台4 小时前
2026数字中国创新大赛-数字安全赛道全面启动!
网络·安全