承接上回:HCIA-Datacom跟官方路线学习-CSDN博客
接着前面第六章,通过VLAN技术, 可以将物理的局域网划分成多个广播域, 实现同一VLAN内的网络设备可以直接进行二层通信, 不同VLAN内的设备不可以直接进行二层通信。
第七章 生成树
在以太网交换网络会使用冗余链路, 但是使用冗余链路会在交换网络上产生环路。为解决交换网络中的环路问题, 提出了生成树协议STP( Spanning Tree Protocol) 。需要注意,生成树协议只对二层交换网起作用,在三层以太网中,由于传递TTL值减一的特性,是不会一直出现环路问题。所以生成树协议解决的主要层面还是在二层以太网中。
学习目标:▫ 描述园区交换网络中的二层环路产生原因及引发的问题。▫ 描述STP的基本概念与工作原理。▫ 区分STP与RSTP,并能够描述RSTP对STP的改进。▫ 完成STP的基础配置。▫ 了解除了生成树之外的其他消除交换网络二层环路的方法。
1. 生成树技术概述
2. STP的基本概念及工作原理
3. STP的基础配置
4. RSTP对STP的改进
5. 生成树技术进阶
常见环路主要分为二层环路和三层环路。
▫ 二层环路主要因为网络中部署了二层冗余环境,或人为的误接线缆导致,可以通过借助特定的协议或机制实现二层防环;
▫ 三层环路主要因为路由环路,可以通过动态路由协议防环和IP报文头部中的TTL字段用于防止报文被无止尽地转发。
在STP网络中,桥优先级是可以配置的,取值范围是0~ 65535,默认值为32768,可以修改但是修改值必须为4096的倍数。优先级最高的设备(数值越小越优先)会被选举为根桥。如果优先级相同,则会比较MAC地址, MAC地址越小则越优先。
在命令配置里面,如果手动选为根桥,它的优先级为0,且此优先级不能修改。如果选为备份根桥,它的优先级为4096,且此优先级不能修改。而其它情况,缺省下是32768。而且如果是在接口模式下,设置优先级的命令:stp priority priority。此时,默认是128。
根桥,略,就是根据桥ID选出来的。
Cost:交换机的每个端口都有一个端口开销( Port Cost)参数,此参数表示该端口在STP中的开销值。默认情况下端口的开销和端口的带宽有关,带宽越高,开销越小。缺省情况下,华为交换机使用IEEE 802.1t标准来计算路径开销。
RPC(最短路径开销),路径开销,该路径上所有接收BPDU端口的端口开销总和(即BPDU的入方向端口)。非根桥通过对比多条路径的路径开销,选出到达根桥的最短路径,这条最短路径的路径开销被称为RPC,并生成无环树状网络。根桥的根路径开销是0。
运行STP交换机的每个端口都有一个端口ID,端口ID由端口优先级和端口号构成。端口优先级取值范围是0到240,步长为16,即取值必须为16的整数倍。缺省情况下,端口优先级是128。 端口ID可以用来确定端口角色。
配置BPDU包含了桥ID、路径开销和端口ID等参数。
STP操作:
1. 选举一个根桥。
2. 每个非根交换机选举一个根端口。
3. 每个网段选举一个指定端口。
4. 阻塞非根、非指定端口。
• STP中定义了三种端口角色:指定端口,根端口和预备端口(阻塞端口)。
▫ 指定端口是交换机向所连网段转发配置BPDU的端口,每个网段有且只能有一个指定端口。一般情况下,根桥的每个端口总是指定端口。
▫ 根端口是非根交换机去往根桥路径最优的端口。在一个运行STP协议的交换机上最多只有一个根端口,但根桥上没有根端口。
▫ 如果一个端口既不是指定端口也不是根端口,则此端口为预备端口。预备端口将被阻塞。
交换机在刚启动时都认为自己是根桥,互相发送配置BPDU进行STP运算
STP的计算过程:
首先,选举根桥。需要注意:为了确保交换网络的稳定, 建议提前规划STP组网, 并将规划为根桥的交换机的桥优先级设置为最小值0。根桥的角色可抢占。
然后,在每台非根桥(交换机)上选举一个根接口(根端口)。用处:在网络收敛后,根端口将不断的收到来自根桥的BPDU。它保证了交换机与根桥之间工作路径的唯一性和最优性。
需要注意:它的选举原则,不一定是要端口朝向根桥的才是根端口!!
选举根端口的原则:最先比较路径开销,再比较接收过来的BPDU的BID和PID,若相同就比较自己的接口ID(PID)。
1. 交换机有多个端口接入网络,各个端口都会收到BPDU报文,报文中会携带“ RootID、 RPC、 BID、 PID”等关键字段,端口会针对这些字段进行PK。
2. 首先比较根路径开销( RPC), STP协议把根路径开销作为确定根端口的重要依据。 RPC值越小,越优选,因此交换机会选RPC最小的端口作为根端口。
3. 当RPC相同时,比较上行交换机的BID, 即比较交换机各个端口收到的BPDU中的BID,值越小,越优选,因此交换机会选上行设备BID最小的端口作为根端口。
4. 当上行交换机BID相同时,比较上行交换机的PID, 即比较交换机各个端口收到的BPDU中的PID,值越小,越优先,因此交换机会选上行设备PID最小的端口作为根端口。
5. 当上行交换机的PID相同时,则比较本地交换机的PID,即比较本端交换机各个端口各自的PID,值越小,越优先,因此交换机会选端口PID最小的端口作为根端口。
按我的理解是: BID就是交换机的MAC地址,PID就是交换机对应接口的接口号。
最后,在每条链路上选举一个指定接口。
选举过程:指定端口也是通过比较RPC来确定的,选择RPC最小的作为指定端口,如果RPC相同,则比较BID和PID。需要注意,指定接口再链路上举行。一条链路只存在一个指定接口。
最最后,非指定接口被阻塞。注意:
▫ 非指定端口可以接收并处理BPDU。但不能发送BPDU,也不能转发数据帧。
▫ 根端口和指定端口既可以接收和发送BPDU,也可以转发用户数据帧。
上图搞错了,禁用状态是端口没开启。上面那个应该是从阻塞状态到侦听状态是20s。
需要注意,如果是物理链路故障(一般指接口状态关闭down):端口状态变化过程:
▫ 备用端口会从Blocking状态,迁移到Listening-Learning-Forwarding状态。
▫ 收敛时间:直连链路故障,备用端口会经过30s后恢复转发状态。
它不用像根桥一样重新选举根桥。所以只经过两个Forward Delays时间就能进入转发状态。
如果是非物理链路故障(就是接口状态是up,但是其它原因导致的):
预备端口20s后会从Blocking状态进入到Listening状态,再进入Learning状态,最终进入到Forwarding状态,进行用户流量的转发。需要50s的时间才能恢复转发状态。
因为是非接口问题,所以非根桥会一直等待根桥发送BPDU,就会等待最大MAX Age(20s)。
再来看STP生成树中,链路发生变化的问题:
大概意思就是,sw1到sw3的链路发生问题,重新选举了根桥和路径,但此时sw1的MAC地址表,由于绑定的接口还是GE0/0/3。所以他还是会从g0/0/3出去。而这种情况就需要等待MAC地址表老化300s后自动更新了,才会改变。这种情况,怎么缩短这个时间。
解决:拓扑变化过程中,根桥通过TCN BPDU报文获知生成树拓扑里发生了故障。根桥生成TC用来通知其他交换机加速老化现有的MAC地址表项。过程,省略,只需要知道,这个过程最多15s。
STP基本配置命令:省。
STP介绍就到这里了。但是STP也存在一定的缺陷,因为STP拓扑收敛慢。而在日常使用的时候,等50s的恢复时间肯定不现实,于是后面提出了RSTP协议。
RSTP对比STP:
RSTP的接口角色共有4种:根接口、指定接口(共有)、预备接口和备份接口
Alternate(预备)接口提供了从指定桥到根的另一条可切换路径,作为根接口的备份接口。
Backup(备份)接口作为指定接口的备份,提供了另一条从根桥到相应网段的备份通路。
RST也多了边缘端口,一般与用户终端设备直接连接,可以由Disabled状态直接转到Forwarding状态。
RSTP的状态规范把原来的5种状态缩减为3种。
▫ 如果不转发用户流量也不学习MAC地址,那么接口状态就是Discarding状态。
▫ 如果不转发用户流量但是学习MAC地址,那么接口状态就是Learning状态。
▫ 如果既转发用户流量又学习MAC地址,那么接口状态就是Forwarding状态。
STP/RSTP的缺陷:所有的VLAN共享一棵生成树。
虽然说STP/RSTP实现了网络拓扑快速收敛,但RSTP和STP还存在同一个缺陷:由于局域网内所有的VLAN共享一棵生成树, 因此无法在VLAN间实现数据流量的负载均衡, 链路被阻塞后将不承载任何流量, 还有可能造成部分VLAN的报文无法转发。就是阻塞后不在使用此链路造成带宽浪费。
解决:
方式一:华为公司提出了VBST( VLAN-Based Spanning Tree) 生成树解决方案。 该解决方案中, 生成树的形成是基于VLAN的, 不同VLAN间可形成相互独立的生成树, 不同VLAN内的流量沿着各自的生成树转发, 进而可实现流量的负载分担。
优缺点:
• 企业网中部署VBST:
▫ 可消除网络中可能存在的通信环路。
▫ 可实现链路的复用和流量的负载分担,进而有效地提高链路带宽的利用率。
▫ 配置和维护简单,进而可降低配置和维护成本。
• 但是如果网络中VLAN的数量较多,为每个VLAN执行独立的生成树计算将耗费交换机大量的资源。
方式二:为了弥补STP和RSTP的缺陷, IEEE于2002年发布的802.1s标准定义了MSTP。• MSTP兼容STP和RSTP, 既可以快速收敛, 又提供了数据转发的多个冗余路径, 在数据转发过程中实现VLAN数据的负载均衡。但是MSTP其实并不能保证流量是均分到每一根链路上的。于是后面提出了聚合链路的技术。
小结:在以太网交换网中部署生成树协议后, 如果网络中出现环路, 生成树协议通过拓扑计算, 可实现:
▫ 消除环路:通过阻塞冗余链路消除网络中可能存在的网络通信环路。
▫ 链路备份:当前活动的路径发生故障时, 激活冗余备份链路, 恢复网络连通性。
但是不能实现,链路负载和链路的复用。需要用到其它的有些技术。
第八章 以太网链路聚合与交换机堆叠、集群
传统解决方案通过升级设备方式提高网络带宽, 同时通过部署冗余链路并辅以STP( Spanning Tree Protocol, 生成树协议) 协议实现高可靠。 传统解决方案存在灵活度低、故障恢复时间长、 配置复杂等缺点。本章节将介绍通过链路聚合技术与堆叠、 集群技术实现网络带宽提升与高可靠性保障。
学习目标:
▫ 了解链路聚合的作用
▫ 了解链路聚合的分类
▫ 理解LACP模式的链路聚合协商过程
▫ 了解iStack和CSS的优点与原理
▫ 了解链路聚合与堆叠技术常见应用与组网
1. 网络可靠性需求
2. 链路聚合技术原理与配置
3. 堆叠/集群概述
其实,推出这个技术的原因是因为,生成树虽然说也可以提高带宽,但主要问题是解决环路问题,而且生成树是通过阻塞一个端口,而一旦阻塞端口的话,就会造成链路浪费。后面提出的MSTP虽然说能实现一些负载均衡,但实际上并不能保证流量是均分到每一根链路上。于是提出了链路聚合技术。(但是,其实,现在的链路聚合技术是基于流的链路聚合,它其实也并不能保证流量均匀分布。)
网络可靠性需求:
• 网络的可靠性指当设备或者链路出现单点或者多点故障时保证网络服务不间断的能力。
• 网络的可靠性可以从单板、 设备、 链路多个层面实现
以太网链路聚合Eth-Trunk:简称链路聚合, 通过将多个物理接口捆绑成为一个逻辑接口,可以在不进行硬件升级的条件下, 达到增加链路带宽的目的
一个聚合组内要求成员接口以下参数相同:
▫ 接口速率
▫ 双工模式
▫ VLAN配置:接口类型都是Trunk或者Access,如果为Access接口的default VLAN需要一致,如果为Trunk接口,接口放通的VLAN、缺省VLAN需要一致。
手工模式的缺陷:• 为了使链路聚合接口正常工作, 必须保证本端链路聚合接口中所有成员接口的对端接口:
▫ 属于同一设备
▫ 加入同一链路聚合接口
• 手工模式下, 设备间没有报文交互, 因此只能通过管理员人工确认
• 手动模式下, 设备只能通过物理层状态判断对端接口是否正常工作。
系统(设备)优先级:默认32768,越小越优,通常保持默认。当优先级一致时LACP会通过比较MAC地址选择主动端,MAC地址越小越优。第一步:通过设备优先级确认主动端和被动端。
接口LACP优先级:默认为32768,越小越优, 通常保持默认,当优先级一致时LACP会通过接口编号选择活动接口,越小越优。第二步:在主动端上选择活动接口,依据是接口优先级。
最大活动接口数 :可以通过设置接口的最大活动数和最小活动数。这样就能实现,冗余备份。这样当活动链路超出最大活动接口数,就会自动阻塞非活动接口数。当活动链路出现问题,就会打开其它设置为非活动链路的接口。
链路选举,略。前面讲了,就两步。
使用场景:
交换机与堆叠系统:堆叠系统使得两台交换机成为一台逻辑上的设备, 交换机与堆叠系统通过链路聚合互联可以组建高可靠、 无环的网络。
防火墙双机热备心跳线:防火墙双机热备组网中使用心跳线来检测对端设备的状态,为防止单端口、 单链路故障导致的状态监测错误可以部署Eth-Trunk, 使用Eth-Trunk作为检测状态的心跳线。
• 堆叠( iStack) :多台支持堆叠特性的交换机通过堆叠线缆连接在一起, 从逻辑上变成一台交换设备,作为一个整体参与数据转发。
• 集群( CSS):将两台支持集群特性的交换机设备组合在一起, 从逻辑上组合成一台交换设备。
• 集群只支持两台设备, 一般框式交换机支持CSS, 盒式设备支持iStack。
优点:• 跨设备的链路聚合,物理上的无环网络,无需再部署STP。
• 链路聚合中的链路全部有效使用,链路利用率100%。
应用场景:• 扩展带宽、冗余备份。
• 两台设备组成集群, 虚拟成单一的逻辑设备。 简化后的组网不再需要使用MSTP、 VRRP等协议,简化了网络配置, 同时依靠跨设备的链路聚合, 实现快速收敛, 提高了可靠性。
CSS、 iStack有何优势?
简化网络管理、提高网络可靠性、能够充分利用网络链路带宽、使用跨设备的Eth-Trunk可以构建物理上无环的网络。
本章总结:
• 为提高链路可靠性、 链路利用率、 链路带宽可以使用链路聚合技术, 按照聚合方式不同可以分为静态聚合和LACP模式聚合。
• LACP模式采用报文协商(LACPDU), 可以实现活动链路的备份, 在链路出现故障时将备份链路选举为活动链路继续参与转发。
• 为保证报文到达的顺序, 链路聚合的负载分担采用基于流的形式。
• 使用iStack、 CSS技术可以简化网络管理、 简化网络结构、 提高网络可靠性。
字数:6022。在开一章作为第三部分。主要是生成树的原理和生成树有关的术语比较多而复杂。需要多加理解。
下一部分: