首页 > 解决方案 > BGP:最长前缀与最短路径

问题描述

假设自治系统 AS0 从其对等体接收到以下两个公告:

AS1:42.0.0.0/8,路径长度为 10

AS2:42.0.0.0/16,路径长度为 20

现在,目标地址为 42.0.0.1 的数据包将被 AS0 路由到哪里?

到 AS1 是因为它有更短的路径,还是到 AS2 因为它有更长的前缀?

标签: routingshortest-pathbgplongest-prefix

解决方案


就BGP而言:

  • 它们是两个不同的目的地前缀。
  • BGP 只有一个目标前缀 42.0.0.0/ 8的候选路由(路径) ,因此只有一个可供选择的路由,它会自动赢得最佳路径选择,并将安装在转发表(FIB)中。
  • 类似地,BGP 只有一条目标前缀 42.0.0.0/ 16的候选路由(路径) ,因此只有一条可供选择的路由,它会自动赢得最佳路径选择,并将安装在转发表(FIB)中。
  • 因此,我们最终在转发表 (FIB) 中有两条路由: 42.0.0.0/ 8和 42.0.0.0/ 16
  • 当数据包到达并且需要在转发平面中做出转发决策时,转发硬件将始终选择最具体的路由。请注意,此时 BGP 已经不存在了。
  • 例如,目标地址为 42.0.0.1 的数据包将使用路由 42.0.0.0/ 16,目标地址为 42.1.0.1 的数据包将使用路由 42.0.0.0/ 8

推荐阅读