网络安全-弹性交换网络2
弹性交换网络
STP协议概述
单点故障
PC之间的互通链路仅仅存在1个
- 任何一条链路出现问题,PC之间都会无法通信
解决方案
提高网络可靠性
- 增加冗余/备份链路
产生新的问题
增加备份链路后交换网络上产生二层环路
PC1访问PC2,PC1知道PC2的IP地址,但是不知识PC2的MAC地址
PC1会发送ARP广播(目的MAC为全FFFF数据)
环路导致广播风暴
- 交换机收到广播帧后,会从除接收端口外的其他所有接口广播
- 广播帧在交换机之间一直循环下去,众多的广播帧最终形成广播风暴
广播风暴导致网络瘫痪
- 广播帧增多形成广播风暴,从而导致链路拥塞,并极大消耗设备资源,最终导致网络拥塞不可用,还会导致设备宕机不可用
STP概述
STP:生成树协议 (IEEE802.1d)
- STP:Spanning Tree Protocol(生成树协议)
- 通过阻塞某个接口在逻辑上断开环路,防止广播风暴,破除二层环路
- 当主线路故障,阻塞接口被激活,主线路恢复,备份线路再次被阻塞
- 交换机之间通过周期性的发送BPDU报文,来实现STP的功能
BPDU:桥协议数据单元
- Bridge Protocol Data Unit ,桥协议数据单元,即STP协议的报文
- 也称二层的”心跳报文”,周期性发送,默认每2秒发送1次
- 组播发送,组播MAC地址为:01-80-C2-00-00-00
STP工作原理
STP工作原理
步骤一:选举根交换机
步骤二:在每个非根交换机上选举一个根端口
步骤三:在每条链路上选举一个指定端口
步骤四:阻塞非根端口、非指定端口
选举根交换机
根网桥(根交换机)
- STP引入了根桥(Root Bridge)概念
- 在一个STP网络中,根桥只有一个
- STP初始化时,所有的交换机都认为自己是”根交换机”
- 交换机之间通过比较BID的来确定根交换机,BID值小的为根交换机
网桥ID(BID)
- STP协议为交换机取的名字,用于在交换网络中唯一标识该设备
- BID是优先级与MAC地址组成,BID值越小越优先
- BID优先级取值范围:0~61440、默认值是:32768
- BID优先级步长值:4096 (0或4096的倍数)
通常根据BID优先级,选择根交换机
- BID值小的为根交换机,首先比较优先级,优先级小的为根交换机
- 如果优先级一致,则MAC地址小的为根交换机
STP配置命令
1 | 1.启动或关闭交换机的STP功能,默认情况下交换机的STP功能处于开启状态 |
选举根端口和指定端口
选举根端口
根端口定律
- 非根交换机中有且只有一个根端口
选举根端口原则
- 非根交换机到根交换机的根路径开销值最小的端口(此端口到根的路径成本之和最低)如果根路径开销值相同,则比较对端交换机的BID,越小越优
- 如果对端BID也相同,则比较对端的PID,越小越优(PID由端口优先级和端口号组成优先级取值范围:0~240、步长值为16、端口优先级默认为128,所以端口号小PID就小)
路径开销(路径成本):Cost
- 交换机的每一个端口都有一个路径开销-Cost值
- 交换机端口Cost值和端口带宽有关,带宽越高,Cost值越小
- 默认情况下千兆端口开销为20000
- 默认情况下百兆端口开销为200000
在非根网桥SW2/SW3上,选择一个根端口(RP)
- 到根交换机的根路径开销值最小的端口,即根端口
- SW2/SW3的根端口为G0/0/1
选举指定端口
指定端口定律
- 在每条链路上选择一个指定端口
- 根交换机的接口全是指定端口
选举指定端口原则
- 一条链路上,到根交换机的根路径开销值最小的端口,即指定端口
- 如果根路径开销相同,则比较接口所在交换机的BID,越小越优
- 如果交换机的BID也相同,则比较PID,越小越优
BPDU
BPDU
BPDU的4个关键字段,用于选举交换机角色和端口角色
BPDU报文字段 | 字段作用 |
---|---|
协议ID | |
协议版本号 | |
报文类型 | |
拓扑变化标志 | |
根网桥ID | 当前根桥的BID |
根路径开销 | 本端口累计到根桥的开销值(Cost) |
发送网桥ID | 本交换设备的BID |
端口ID | 发送该BPDU报文的端口ID(PID) |
报文老化时间 | |
消息老化时间 | |
发送报文间隔时间 | |
转发延迟时间 |
BPDU类型
- 配置 BPDU
- 拓扑变更BPDU
STP的收敛
STP端口的5种状态
状态 | 用途 |
---|---|
禁用(Disabled) | 强制关闭,没有启用STP协议 |
阻塞(Blocking) | 只接收BPDU,不能发送BPDU |
侦听(Listening) | 比较BPDU,确定交换机角色和端口角色 |
学习(Learning) | 基于端口上收到的数据帧,学习MAC地址表 |
转发(Forwarding) | 端口的最终完美状态,发送和接收用户数据 |
STP的3种计时器,用于维护STP
- Hello时间:端口发送BPDU报文的时间间隔,默认是2s
- 转发延迟(Forward delay):端口从侦听到学习状态,分别停留的时间,15s
- 最大老化时间(Max Age):一个端口最大的”没有接收BPDU”的时间间隔,20s
STP的收敛时间为:30~50s,非常慢
- 根交换机故障,STP的收敛时间约50秒
- 链路故障:STP的收敛时间约30~50秒
MSTP工作原理及配置
STP回顾
弊端
- 收敛时间慢:30s~50s
- 设备利用率低
方案
- RSTP,快速生成树协议
- MSTP,多生成树协议
RSTP概述
RSTP:快速生成树协议
- 公有协议:IEEE802.1w
- STP的基础上优化而来
- 实现网络的快速收敛,降低网络故障时间,提高数据转发的效率
RSTP对STP的改进
- 增加了2种端口角色(AP和BP)
- Backup Port(备份端口)主要是由于Designated Port的故障而触发的。当Designated Port发生故障时,Backup Port会立即开始转发数据
- Alternate Port(备用端口)网络拓扑发生变化时触发状态转换,并转变为指定(designated)端口或根(root)端口,从而提供冗余路径
- 减少了3个端口状态(阻塞、学习、转发合为一种)
- 引入了让指定端口尽快进入转发状态的机制(P/A机制)
RSTP的不足
- RSTP和STP有一个共同缺陷:局域网内所有的VLAN共享一颗生成树
- 所有的VLAN的数据转发路径是相同的
- 交换机之间的多个链路,只能实现备份的作用,永远只会使用其中的主链路转发数据,无法实现VLAN数据流的负载均衡,从而无法提高设备利用率,还有可能造成部分VLAN的数据流无法转发。
MSTP概述
MSTP,即Multiple STP,多生成树协议
- RSTP的基础上优化而来
- MSTP网络中,引入了域的概念,称为MST域
- 每个MST域中包含一个或多个”生成树”称之为”实例”
- 引入了实例”instance”的概念,实现VLAN数据流的负载均衡
- 默认情况下,所有的VLAN都属于同一个默认的实例 – instance 0
- 可以基于需求,将不同的VLAN分配到不同的实例中
- 不同的实例,就是不同的生成树,就对应着多个不同的根桥
配置思路
每个交换机创建相同的VLAN
交换机之间的链路配置为 Trunk,允许所有的VLAN通过
交换机启用STP协议,配置模式为MSTP
交换机指定MST域的域名、实例和vlan的对应关系
交换机上激活MST域的配置
验证与测试MST域的配置
同一个MST域的交换机配置特点:
- 都启动了MSTP
- 域名配置相同
- 实例配置相同
MSTP负载均衡
MSTP负载均衡
STP/RSTP的弊端
- 所有的VLAN共用一个”生成树”,防止环路的同时只能确保一半的设备得到利用,另外一半的设备仅仅用作”备份”,无法提高设备的利用率
MSTP负载均衡
- 不同的VLAN关联到不同的实例
- 不同的实例的根交换机放置在不同的交换机上
- 不同的VLAN通过不同的根交换机进行数据的转发,从而确保提高设备的利用率,同时设备之间还能实现备份
需求描述
PC1属于VLAN10,IP地址为192.168.10.1/24,网关为192.168.10.254
PC2属于VLAN20,IP地址为192.168.20.1/24,网关为192.168.20.254
确保PC1与PC2互通
合理配置MSTP,确保PC1与PC2之间的互通路径是最优的
配置命令
1 | 1.S1、S2、S3创建vlan并配置连接交换机的端口为trunk |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Nicopilot!