370 likes | 545 Views
DP500025 BGP 反射与联盟. ISSUE 1.0. 前 言. 在 AS 内部,为保证 IBGP 对等体之间的连通性,需要在 IBGP 对等体之间建立全连接关系。当 IBGP 对等体数目很多时,建立全连接网的开销很大。使用路由反射器或者联盟,可以解决这个问题。在大规模的 AS 中,它们可以被同时使用。. 参考资料. RFC 2796 (BGP Route Reflection - An Alternative to Full Mesh IBGP) RFC 3065 (Autonomous System Confederations for BGP).
E N D
DP500025 BGP反射与联盟 ISSUE 1.0
前 言 在AS 内部,为保证IBGP 对等体之间的连通性,需要在IBGP 对等体之间建立全连接关系。当IBGP 对等体数目很多时,建立全连接网的开销很大。使用路由反射器或者联盟,可以解决这个问题。在大规模的AS 中,它们可以被同时使用。
参考资料 • RFC 2796 (BGP Route Reflection - An Alternative to Full Mesh IBGP) • RFC 3065 (Autonomous System Confederations for BGP)
目 标 学习完此课程,您将会: • 知道BGP反射器的工作原理 • 知道BGP联盟的工作原理
内容介绍 第1章 路由反射/联盟简介 第2章 BGP路由反射 第3章 BGP联盟
IBGP扩展性的问题 BGP的环路防止机制 • BGP是怎样防止环路的? • EBGP • 通过AS-Path属性,丢弃从EBGP对等体接收到的包含自身AS号的任何更新信息 • IBGP • IBGP宣告者不会宣告任何更新信息给该IBGP对等体
IBGP扩展性的问题 IBGP全互连 • IBGP环路防止机制带来的问题 • 为保证更新信息可以到达所有IBGP对等体 • IBGP Speaker与IBGP Speaker之间的全互连 • 从而又带来IBGP会话数n(n-1)/2的问题 • 解决方案: • 路由反射 (RFC2796) • 联盟 (RFC3065)
路由反射 (RFC 2796) 对指定路由器放松IBGP环路防止机制,允许宣告IBGP更新信息到该IBGP对等体 联盟 ( RFC 3065) 对于大的AS分成若干小的AS,而小AS之间建立EBGP对等体关系 IBGP扩展问题解决方案
BGP路由反射 路由反射器 (Route Reflector) Client RR EBGP AS 100 IBGP Client Client AS 101 AS 102
BGP联盟 EBGP 联盟 (Confederation) IBGP EBGP_Confed AS 1001 AS 100 AS 1003 AS 101 AS 1002
内容介绍 第1章 路由反射/联盟简介 第2章 BGP路由反射 第3章 BGP联盟
内容介绍 • 第2章 BGP路由反射 • 2.1 路由反射宣告原则 • 2.2 路由反射簇 • 2.3 路由反射环路防止机制
路由反射宣告原则 Cluster 对等体的不同角色 • 一个AS内的IBGP对等体可以被分为: • 客户对等体 (Client Peers) • 指定路由反射的对等体 • 非客户对等体 (Non-Client Peers) • 非指定路由反射的对等体 • 反射路由器 (Route Reflector) • 负责反射路由信息的对等体 Client Client RR Non-Client Non-Client IBGP
路由反射宣告原则 对等体之间的关系 • Client只需维护与RR之间的IBGP会话 • RR与RR之间需要建立IBGP的全互连 • Non-Client与Non-Client之间需要建立IBGP全互连
路由反射宣告原则 Cluster 宣告三步曲 • 第一步:按照BGP的基本选路原则,选出最佳路由 • 第二步:路由来自Non-Client IBGP对等体 • 只反射到所有Client对等体 Client Client RR Non-Client Non-Client IBGP
路由反射宣告原则 Cluster 宣告三步曲 (续) • 第三步:路由来自Client IBGP对等体 • 反射到所有Client对等体以及Non-Client对等体 Client Client RR Non-Client Non-Client IBGP
路由反射宣告原则 RR之间的反射 • 由于RR相互之间也存在着Client与Non-Client关系 • RR与RR之间如果是Non-Client关系,则各RR之间需要IBGP全连接 RR RR Client Client Client RR RR IBGP
内容介绍 • 第2章 BGP路由反射 • 2.1 路由反射宣告原则 • 2.2 路由反射簇 • 2.3 路由反射环路防止机制
路由反射簇 簇 (Cluster) • 当一个AS内存在多台RR为Client提供冗余时,RR间的路由更新很有可能会造成环路,为防止该现象,引入了Cluster RR RR Cluster Client Cluster Client Client RR RR IBGP
路由反射簇 簇 (Cluster) • 通过4字节的Cluster_ID来标识Cluster,通常会使用LoopBack地址作为Cluster_ID • 一个Cluster里可以包括一个或多个RR;一个Client可以同时属于多个Cluster RR RR Cluster 10.1.1.2 Client Cluster 10.1.1.1 Client Client RR RR IBGP
路由反射簇 簇 (Cluster) • 拥有相同Cluster_ID的路由更新会被丢弃 RR RR Cluster 10.1.1.2 Client Cluster 10.1.1.1 Client Client RR RR IBGP
路由反射簇 层次化路由反射 2级RR 1级RR/Client Client
内容介绍 • 第2章 BGP路由反射 • 2.1 路由反射宣告原则 • 2.2 路由反射簇 • 2.3 路由反射环路防止机制
路由反射环路防止机制 Originator_ID • Originator_ID是一个可选,非过度属性,属性类型为9 • 由第一个反射器创建,并且不被后续的反射器所更改 • 是一个32bit长的数值,并且只应该从IBGP里接收到 • 是以下这些路由器的Router ID • 本地AS始发路由:BGP宣告者的Router ID • 非本地AS始发路由:本地AS的边界路由器的Router ID • 反射器会丢弃Originator_ID与Router_ID一样的路由更新信息
路由反射环路防止机制 Cluster_List • Cluster_List是一个可选,非过度属性,属性类型为10 • 记录路由所经过的所有Cluster_ID列表,并把最新的Cluster_ID添加到Cluster_List的前面 • 如果在Cluster_List里发现存在与本地Cluster_ID,则反射器丢弃该路由更新
内容介绍 第1章 路由反射/联盟简介 第2章 BGP路由反射 第3章 BGP联盟
内容介绍 • 第3章 BGP联盟 • 3.1 联盟的简介 • 3.2 联盟AS-Path • 3.3 联盟的操作过程
联盟AS AS 1001 成员AS AS 1003 AS 1002 EBGP_Confed 联盟的简介 联盟术语 AS 100 EBGP AS 101 IBGP
内容介绍 • 第3章 BGP联盟 • 3.1 联盟的简介 • 3.2 联盟AS-Path • 3.3 联盟的操作过程
数值 类型 =======||================= AS_SET AS_SEQUENCE AS_CONFED_SEQUENCE AS_CONFED_SET 1 2 3 4 联盟AS-Path AS_Confed_Sequence / AS_Confed_Set • AS-Path共有四种类型:
联盟AS-Path AS_Confed_Sequence / AS_Confed_Set (续) • AS_SET • 一系列无序的AS号的组合 • AS_SEQUENCE • 一系列有序的AS号的组合 • AS_CONFED_SEQUENCE • 一系列有序的联盟成员AS号的组合 • AS_CONFED_SET • 一系列无序的联盟成员AS号的组合
内容介绍 • 第3章 BGP联盟 • 3.1 联盟的简介 • 3.2 联盟AS-Path • 3.3 联盟的操作过程
AS 1001 AS:(1003),101 AS:(1001,1003),101 AS 1003 AS:101 AS 1002 EBGP_Confed 联盟的操作过程 AS-Path的变化 AS 100 EBGP AS 101 IBGP
AS 1001 AS:(1002, 1001) AS:(1002) AS: 空 AS 1003 AS:100 AS 1002 EBGP_Confed 联盟的操作过程 AS-Path的变化 AS 100 EBGP AS 101 IBGP
问题 • 请回顾BGP反射器的宣告原则? • BGP联盟的AS-Path变化?
BGP反射器与联盟主要解决的问题? • BGP反射器的工作原理 • BGP联盟中AS-Path的变化 小结