CCIE学习(59)―― 建立BGP表(三)

BGP 更新消息
一旦 BGP 表有了路由、路径和前缀,路由器需要将这些信息广播给邻接路由器。为此,路由器发送 BGP 更新消息。下面是更新消息的完整格式:
每条更新消息包含三个主要部分:
1) Withdrawn Routes (撤销路由)字段用来向邻接路由器通知失效的路由。
2) Path Attributes (路径属性)字段用来列出每条路由的 PA (如 NEXT_HOP AS_PATH )。
3) Prefix (前缀)和 Prefix Length (前缀长度)字段用来定义 NLRI
这其中,最核心的部分当属 PA ,所有共享同一组 PA 的前缀( NLRI )包含在更新消息的末尾。如果路由器需要广播 PA 设置不同的 NLRI ,那么需要不同的更新消息。
 
确定更新的内容
路由器基于 BGP 表的内容来确定更新消息的内容。路由器必须选择广播什么样的 BGP 表子集给每个邻接路由器。以下是选择的基本规则表:
iBGP/eBGP
不从BGP表选择的路由
两者
不是“最佳路由”的路由
两者
与外发 BGP 过滤语句中 deny 从句匹配的路由
iBGP
iBGP 学习的路由
eBGP
AS_PATH 中包含了邻接路由器 ASN 的路由
首先, BGP 只广播那些到特定子网( NLRI )确定为最佳路由的路由。如果需要在多条路径中选择最佳路由,这个过程可能非常繁琐,简单的过程可能有如下四步:
1) 选择最短 AS_PATH 的路由;
2) 如果 AS_PATH 长度一样,选择单个 eBGP 学习的路由(其优先级高于单个或多个 iBGP 学习的路由);
3) 再考虑到路由的 NEXT_HOP 最小 IGP metric 的路由;
4) 如果 metric 相等,选择 BGP RID 最小的 iBGP 学习的路由。
除此之外,最佳路由还对 NEXT_HOP 有要求,它必须是 0.0.0 .0 或由路由器当前路由表可达的。关于 NEXT_HOP ,在广播到 iBGP eBGP 时行为有所不同:
邻接路由器类型
广播路由的默认行为
可修改行为的命令
iBGP
不改变 NEXT_HOP
neighbor…next-hop-self
eBGP
NEXT_HOP 改为更新的源 IP 地址
neighbor…next-hop-unchanged
 
在更新消息里发送哪些 BGP 路由?
规则如下:
1) 只广播那些在 BGP 表中的最佳路由。
2) 对于 iBGP 邻接路由器,不广播那些由其他 iBGP 邻接路由器学习到的路径。
3) 对于 eBGP 邻接路由器,不广播那些 AS_PATH 已包括邻接路由器 AS 的路径。
4) 不广播那些抑制或阻止的路由。
5) 不广播那些根据配置过滤的路由。

你可能感兴趣的:(职场,Cisco,休闲,BGP)