路径属性分类
1. 公认属性(所有 BGP 路由器都能识别)
(1) 公认必遵
a) AS path
b)Origin
c) Next hop
(2) 公认任意
a) local preference
b)atomic aggregate
2. 可选属性(不需要所有 BGP 都可识别)
(1) 可选过渡
a) Community
b) aggregate
(2) 可选非过渡
a) MED
b)Cluster-list
c) Originator-id
AS Path: AS 路径列表
1. AS Path 记录了路由经过的 AS 号码,在路由离开一个 AS 时,会把 AS 号添加到 AS Path
列表中
2. AS Path 可以用于 AS 间防环,BGP 路由器不会接收 AS Path 中有本 AS 号码的路由
3. AS Path 可以影响路由优选,一般会选 AS Path 短的( 即 AS Path 中 AS 号码个数较少的)
`
AS Path 类型
1. AS_ _Seqence: 有序列表, AS 号码按照经过的先后顺序排列在 AS Path 中,默认为此类型
2. AS_ Set: 无序列表,做了路由聚合后为此类型,不能根据 AS Path 判断路由经过的 AS 顺
序
Origin:路由起源,标识一条路由是如何进入到 BGP 路由表中的
1.IGP:标识符是 i,通过 network 命令产生的路由
2.Incomplete:标识符是?,通过 import 命令引入的路由
3.EGP:标识符是 e,从 EGP 学习到的路由
4.起源属性可以影响路由优选,一般|>E>?
NextHop:下一跳
1. BGP 路由器把路由通告给 EBGP 邻居时,会把下一跳改成自己更新源地址
2. BGP 路由器从 EBGP 邻居收到路由,传给 IBGP 邻居时,不更改下一跳
3. BGP 更新路由给邻居时,如果路由的下一跳和邻居属于同一网段,则不改下一跳
4.修改下一跳:指定某个 IBGP peer 设置下一跳本地
Local Prefrence:给本 AS 内路由器找到离开本 AS 的最佳路径
1.只能在本 AS 内传递,无法传递给其他 AS ,
2. -般部署在本 AS 的边界路由器,进入本 AS 的路由会被设置相应的本地优先级,后续 AS
内的路由器通过不同的本地优先级选择数据的出口
3. 本地优先级值大优先,默认值 100 .
Conmunity:团体属性,分为公认团体属性和自定义团体属性
1. 自定义团体属性:一个 AA:NN 的数值,可以对路由打上标记,进行分类,后续根据标记
对不同种类的路由实现不同的控制
2. 公认团体属性:总共 4 种,每种具有- -个单独的特性
a. internet: 拥有此属性的路由可以被通告给所有邻居
b. No_ advertise: 拥有此属性的路由不会通告给任何邻居
c. No_ Export: 拥有此属性的路由不会通告给其他 AS
d. No_ _Export_ Subconfed: 拥有此属性的路由既不会通告给其他 AS,也不会通告给其他子
AS
MED:给外部 AS 指明进入本 AS 的最佳路径
1.只能在相邻的 AS 传递
2.一般部署在本 AS 的边界路由器,离开本 AS 的路由会被设置相应的 MED,后续其他 AS 内
的路由器通过不同的 MED 值选择数据的入口
3. MED 值小优先,默认值 0
Preferred-Value:权重值
1.只在本路由器有效,不会传递给其他邻居
2.用于在本路由器选路时控制路由优选,体现了管理员的意志
3.默认值 0,取值范围 0-65535
RR:路由反射器
背景:为了解决 IBGP 水平分割导致部分路由器无法学习路由的问题,我们使用全互联。但
是全互联会导致设备间 TCP 连接以及 BGP 对等体过多,耗费设备性能。我们可以 RR 解决
RR 的作用:在避免环路的情况下,打破水平分割,让 AS 内地路由器都能学习路由
RR 的角色
1. RR:需要指定一个路由器配置为 RR
2.客户端:需要在 RR 上指定某个设备是客户端,客户端自己并不知情
3.非客户端
RR 反射路由的规则:从非客户端收到的路由不会反射给非客户端
RR 的防环机制
1. Originator ID:起源者 ID,防止簇内环路,第一 1 个 RR 反射路由时会给路由加上起源者 ID,
是本 AS 内通告此路由设备的 RID。
防环:后续路由器收到路由时如果起源者 ID 等于自己的 RID,则不接收路由
2. Cluster List:簇列表,RR 在反射路由时会给簇列表中加上本簇的簇 ID,缺省为 RR 的 RID
防环: RR 收到路由时,如果簇列表中有本簇的簇 ID,则不接收此路由
RSTP
STP 的不足
1.端口状态比较复杂,不利于管理
2.端口角色没有划分细致
3.被动依赖计时器进行状态迁移,导致网络收敛慢
4.拓扑变更过程比较复杂
5.只有根桥发送配置 BPDU,会导致网络中的 STP 计算极度依赖于根桥
STP 收敛场景
1. 初始化:二层网络初始化时,需要计算 STP,确定端口角色,为了防止临时环路,根端口
和指定端口需要 30s 进入转发状态,导致网络初始化需要 30s
2. 终端设备接入 STP 网络:终端接入 STP 网络后,接入设备的接口需要 30s 进入转发状态,
导致终端需要 30s 才能访问网络
3. 直连链路故障(阻塞端口所在设备的直连链路产生故障)直连链路发送故障后,阻塞端口
需要切换成根端口,从阻塞状态进入转发状态,需要 30s
4. 非直连链路故障(阻塞端口所在设备的非直连链路产生故障)
非直连链路发送故障后,故障交换机无法收到根桥的配置 BPDU,等待 20s 老化
BPDU,认为自己是根桥,发送 BPDU,对端设备会收到来自根桥和故障设备的 BPDU,经过比较
后,认为根桥更优,AP 口变成 DP 后,从 Blocking---> Listening,朝故障设备转发根桥的
BPDU,进而等待 30s 进入 Forwarding 状态,20+30 = 50s
RSTP 的改进
1.端口角色从三种变成四种,对堵塞端口进行细致划分,分成 AP(堵塞端口)和 BP(预备
端口)
a. AP:收到其他设备发送的 BPDU 的堵塞端口
b.BP:收到自己发送的 BPDU 的堵塞端口
2.端口角色从五种变成三种 2·
a. discarding: 不转发流量,不学习 MAC 地址
b. learning:不转发流量,但学习 MAC 地址
C. forwarding:转发流量,学习 MAC 地址
3. BPDU 报文发生改变
a. STP 里有配置 BPDU 和 TCN BPDU,RSTP 只有 RST BPDU
b. STP 配置 BPDU Type 是 0,RST BPDU Type 是 2
C. STP 的 Flag 只用了 2 个 bit, RSTP 把 8 个比特全用上了
4.配置 BPDU 的改进
a.每台设备按照 Hello 时间的周期,自主发送 RST BPDU 报文
b.端口在 3 个 hello 时间内没有收到根桥的 BPDU,认为邻居故障
c.端口收到次优 BPDU 后,立即丢弃,并回复对方更优的 BPDU
5.端口快速切换
a.保证网络无环路的情况下,根端口故障后,AP 可以直接切换成 RP,并跳过转发时延
b.保证网络无环路的情况下,指定端口故障后,BP 可以直接切换成 DP,并跳过转发时延
AP 可以切换成 RP
BP 可以切换 DP·
5. P/A 机制:阻塞下游接口,让本链路上的接口跳过转发时延,直接进入转发状态
a.根桥 SW1 的 DP 首先发送 P 置位 BPDU
b. SW2 的 RP 收到 P 置位报文后,阻塞下游接口,回复 A 置位的 BPDU,并且 RP 口进入转
发状态
C.根桥 SW1 收到 A 置位报文后,DP 口立即进入转发状态
d. P/A 协商继续往下游蔓延,直到堵塞端口所在链路,不会进行 P/A,需要等待 30s
7. 拓扑变更机制发送改变:当-个接口进入转发状态,才认为是拓扑发生变更
a.交换机感知到拓扑发生改变后,启动- -个 TC Time 定时器(2 个 Hello) , 在这 4s 内,会
做两件事情·
i.清除掉感知到链路故障的那个接口学习的 MAC 地址
ii.朝外泛洪 TC 消息(TC 置位的 BPDU),告知其他设备网络出现拓扑变更
b.收到 TC 消息的交换机会清除掉除了收到 TC 报文以外其他接的 MAC 地址,并继续泛洪
TC
8. 边缘端口:被配置为边缘端的接口不参与 STP 计算,直接进入转发状态
一般交换机连接终端的接口需 要配置成边缘端口
如果边缘端口收到 BPDU 后,会丧失边缘端口属性,重新参与 STP 计算
9.保护机制: STP 中没有太考虑安全角度,有一-些漏洞,RSTP 增加了保护机制避免被攻击
a. BPDU 保护
i.正常情况下,边缘端口不会收到 BPDU,如果有人伪造 BPDU 发给边缘端口,会导致
边缘端口参与 STP 计算,导致网络震荡
ii.交换机启用了BPDU报文后,如果边缘端口收到BPDU,直接error-down, 产生告警,
error-down 需要管理员手工恢复
b.根保护:保护根桥地位不被抢占
i.网络中,根桥如果收到更高优先级的 BPDU,会丢失根桥地位,导致网络重新计算,出
现网络震荡
ii.此时可以配置根保护,配置了根报文的 DP 如果收到更优的 BPDU,会丢弃报文,
并进入 discarding 状态,在 2 个 Forwarding 时间内, 如果没有收到更优的 BPDU,会恢复
C.环路报文:启用了环路保护后,如果收不到上游的 BPDU,则接口切换成 DP,并进入
Discarding
d. TC-BPDU 保护:配置了 TC-BPDU 报文后,可以设置一个阈值,指定单位时间内处理 TC
报文的次数通过这个阈值,控制处理 TC 的频率,让网络不要太频繁的进行拓扑变更
MSTP 简介
IEEE 发布的 802.1S 标准,弥补了 RSTP/STP 的缺陷,可以快速收敛并建立多颗生成树
RSTP/STP 的缺点
1.阻塞链路无法转发流量,导致不同 VLAN 的流量无法负载分担
2.阻塞链路无法转发流量,导致部分流量走的是次优路径
MSTP 的核心思想:在 MSTP 网络中建立多颗生成树
1.每个设备在不同的生成树中有不同的角色
2.设备的接口在不同的生成树中有不同的端口角色及状态
3.一个 MSTP 可以有多个实例,一个实例可以映射多个 VLAN
MSTP 概述
1.一个 MSTP 网络可以划分为多个 MSTP 域
2.每个 MSTP 域之间有多个实例,每个实例都是单独的生成树,单独计算,互不影响
3.每个实例里面可以有多个 VLAN,多个 VLAN 共享一条转发路径
MSTP 名词解释
VLAN 映射表:多个 VLAN 和一个实例的映射关系
MSTI:多生成树实例,一个 MSTP 域内可以有多个实例,每个实例都是一个 MSTI
CST:公共生成树,每个 MSTP 域看作一个交换机,这些"交换机”之间计算出来的树叫 CST
IST:每个域内实例 lD 为 0 的 MSTI 是 IST,所以 IST 是一种特殊的 MSTI
CIST:公共内部生成树,CIST =每个域的 IST+ CST
SST:单生成树,有两种场景
1. MSTP 和 RSTP/STP 设备相连,向下兼容,只有一-颗生成树,叫做 SST
2. MSTP 域内只有一个设备,这个设备计算出来的树叫做 SST
MSTP 设备角色
总根: CIST 的根,所有设备桥 ID 最小的成为总根
域根: MSTI 的根,分为 IST 域根和普通的 MSTI 域根,普通 MSTI 域根按照 RSTP 方式选举根
桥
主桥: IST 域根就是主桥,主桥是 IST 中离总根最近的
·
如何判断互联的设备是否处于同一个 MSTP 域
MSTP 三要素相同,则认为是同一-个域
1.域名
2.修订级别
3. VLAN 映射表
MSTP 端口角色: DP,RP,AP, BP,EP,MP 新增两个
1. Master: 主端口,CST 的根端口是 MSTI 的主端口,用于 MSTI 访问其他域
2.域边缘端口:连接到其他 MSTP 域的接口,只是一个逻辑意义,可以认为是域间端口
CIST 拓扑计算
1.确定总根,即确定总根所在域的域间端口为 DP
2. CST 中“非根交换机”选一个 RP, 每个域间链路选一个 DP, 剩下的是堵塞端口(AP, BP)
3.在确定总根的同时,每个域的 IST 都确定了主桥,即确定主桥的域内接口都是 DP
4. IST 中非根交换机选一个 RP, 每个链路选一个 DP, 剩下的是堵塞端口(AP, BP)
MSTI 拓扑计算
1.确定域根.
2.每个非域根设备选一个 RP
3.每个 MSTI 中的链路选一个 DP
4.剩下的是堵塞端口(AP/BP)