网桥
目前使用得最多的网桥是透明网桥。透明网桥是指网桥的存在对于各个LAN上的主机是透明的(即:由网桥来决定路由选择,而LAN上的主机不管路由选择)。透明网桥是一种即插即用设备,其标准是 IEEE 802.1D。
生成树算法
https://www.cnblogs.com/yunjisuanchengzhanglu/p/16587278.html
一、核心问题:网络环路的产生与危害(必懂基础)
1. 环路产生场景
为避免单链路故障导致网络中断,实际部署中会给交换机之间配置冗余链路(如两台交换机A、B之间同时连接两条线缆),但这会直接形成物理环路。
2. 环路危害的具体过程(原文案例拆解)
假设场景:交换机A(0/3口连MAC=11的客户端)、交换机B(0/3口连MAC=22的客户端),A的0/1口与B的0/2口、A的0/2口与B的0/1口分别相连(双链路冗余)。当11给22发送数据时:
- 交换机A的MAC地址表中无22的记录,因此将数据广播到所有端口(包括0/1和0/2);
- 交换机B通过0/2口收到数据,MAC表无22,也广播到所有端口(包括0/1),数据从B的0/1口传回A的0/2口,此时A更新MAC表:11对应0/2口;
- 同时,A的0/2口发送的数据被B的0/1口接收,B广播后,数据又从B的0/2口传回A的0/1口,A再更新MAC表:11对应0/1口;
- 数据在两条链路间无限循环,形成双向广播环,产生海量无效流量(广播风暴),最终导致交换机CPU占用率100%、死机。
3. 核心结论
物理冗余是保障网络可靠性的必要手段,但必须通过技术解决环路问题——STP正是为此设计。
二、STP核心定位与工作原理(核心逻辑)
1. 定义
STP(Spanning-Tree Protocol,生成树协议):通过逻辑手段断开环路,同时保留物理冗余链路,实现“无环通信+故障自动恢复”。
2. 工作原理(原文三交换机案例细化)
假设场景:SWA、SWB、SWC两两相连(形成物理环路),STP的工作过程:
- 第一步:逻辑断环。STP会自动选中某条链路的一个端口,将其设置为“阻塞状态”(逻辑down,物理链路未断),比如将SWC的0/1口(连接SWA的端口)阻塞,此时网络从“环形”变为“树形”(无环);
- 第二步:冗余恢复。若主链路(如SWA与SWB之间的链路)故障,STP会检测到拓扑变化,自动激活之前阻塞的端口(SWC的0/1口),让数据通过SWA→SWC→SWB的路径传输,无需人工干预,保障通信不中断。
3. 核心目标
- 逻辑上消除网络环路,避免广播风暴;
- 物理上保留冗余链路,实现故障自动切换。
三、STP算法:无环拓扑构建三步法(重点+难点)
STP的核心是通过算法确定“哪条链路的哪个端口需要阻塞”,三步流程环环相扣,每一步都有明确的优先级规则:
第一步:选择根网桥(Root Bridge)—— 整个网络的“核心交换机”
- 核心依据:交换机唯一标识符BID(Bridge ID,网桥ID);
- BID结构:
2字节优先级 + 6字节MAC地址(优先级占比更高,先比优先级,再比MAC); - 优先级规则(华为设备):
- 取值范围:0~61440,默认值32768;
- 配置要求:必须是16的整数倍(如4096、8192、12288),最小值为4096;
- 选择逻辑:BID最小的交换机成为根网桥;
- 实例: | 交换机 | 优先级 | MAC地址 | BID(组合后) | 是否为根网桥 | |——–|——–|—————|—————|————–| | SWA | 4096 | 000D.2800.B100 | 4096+000D… | 是(BID最小) | | SWB | 32768 | 000D.2800.B101 | 32768+000D… | 否 | | SWC | 32768 | 000D.2800.B102 | 32768+000D… | 否(MAC更大) |
第二步:选择根端口(Root Port)—— 非根网桥上“最靠近根网桥”的端口
- 核心定义:根端口仅存在于非根网桥上,用于接收来自根网桥的BPDU信息,是该交换机到根网桥“最优路径”的端口;
- 选择优先级(按顺序判断,前一项有结果则不看后一项):
- 根路径成本最低:非根网桥到根网桥的所有链路成本之和(带宽越高,成本越低,原文成本表如下);
| 链路带宽(Mbit/s) | 路径成本 | 常见场景 |
|——————–|———-|—————-|
| 10 | 100 | 早期低速以太网 |
| 100 | 19 | 百兆以太网(常用) |
| 1000 | 4 | 千兆以太网(常用) |
| 10000 | 2 | 万兆以太网 |
- 实例:SWC到SWA有两条路径:SWC→SWA(100M,成本19)、SWC→SWB→SWA(100M+100M,成本38),因此SWC连接SWA的端口为根端口;
- 发送方BID最小:若两条路径成本相同(如SWB有两个端口都连SWA,成本均为19),则比较发送方(SWA)的BID(此处相同,需下一步);
- 发送方端口优先级最低:端口优先级(PID的前8位)取值0~240,默认128,数值越小越优;
- 发送方端口ID最小:端口ID=端口优先级+端口编号(如E0/0/1的ID为128.1,E0/0/2为128.2),数值越小越优;
- 根路径成本最低:非根网桥到根网桥的所有链路成本之和(带宽越高,成本越低,原文成本表如下);
| 链路带宽(Mbit/s) | 路径成本 | 常见场景 |
|——————–|———-|—————-|
| 10 | 100 | 早期低速以太网 |
| 100 | 19 | 百兆以太网(常用) |
| 1000 | 4 | 千兆以太网(常用) |
| 10000 | 2 | 万兆以太网 |
- 总结:根端口是“非根网桥到根网桥最优路径的入口”。
第三步:选择指定端口(Designated Port)—— 每条链路“负责转发数据”的端口
- 核心定义:每条链路(两台交换机之间的连接)必须有且仅有一个指定端口(转发数据),另一个端口若未被选为根端口或指定端口,则被设为“阻塞端口”;
- 选择范围:
- 根网桥上的所有端口都是指定端口(根网桥是数据分发核心,所有端口都需转发);
- 非根网桥上需按规则选择指定端口;
- 选择优先级(与根端口选择逻辑一致,按顺序判断):
- BPDU中的根网桥ID最小(通常相同,因根网桥唯一);
- 到达根网桥的路径成本最低;
- 发送方BID最小;
- 发送方MAC地址最小(本质是端口PID最小);
- 实例:SWB与SWC之间的链路,SWB的端口到根网桥SWA的成本是19,SWC的端口到SWA的成本是19,此时比较发送方BID(SWB的BID小于SWC),因此SWB的端口为指定端口,SWC的端口被阻塞。
算法最终效果
所有链路仅保留“根网桥→根端口→指定端口”的转发路径,阻塞多余端口,形成无环拓扑;同时阻塞的端口作为冗余,等待主链路故障时激活。
四、BPDU:STP的“信息传递工具”(关键支撑)
1. 定义与核心作用
BPDU(Bridge Protocol Data Unit,桥接协议数据单元):交换机之间交换STP关键信息的“载体”,所有STP算法的判断(根网桥、根端口、指定端口选择)都依赖BPDU中的数据。
2. 核心特性
- 传输方式:组播发送,固定组播地址为
01-80-C2-00-00-00(所有交换机都监听该地址,确保信息互通); - 发送周期:默认每2秒发送一次,用于维持STP拓扑稳定(若某交换机长时间未收到BPDU,会认为链路故障);
- 生命周期:BPDU包含
Message Age(消息年龄)字段,每经过一个交换机,该值+1;当Message Age > Max Age(20秒),非根网桥会丢弃该BPDU(避免过时信息影响拓扑)。
3. 两种类型(原文重点)
| 类型 | 作用 | 适用场景 | |———————|—————————————|—————————| | 配置BPDU(Configuration BPDU) | 传递STP算法所需信息(BID、路径成本等),用于生成树计算 | 正常拓扑稳定时 | | 拓扑变更通告BPDU(TCN BPDU) | 当网络拓扑变化(如链路故障、端口状态变更)时,通知其他交换机 | 链路故障、端口激活/阻塞时 |
五、STP关键补充:端口状态、计时器、配置(实用知识点)
1. 五种端口状态(原文核心,附对比表)
STP端口的状态决定了其功能,最终仅保留“转发/阻塞/禁用”三种稳定状态,“侦听/学习”为中间过渡态:
| 端口状态 | 收发BPDU | 学习MAC地址 | 转发数据 | 核心作用 | 稳定态/过渡态 |
|---|---|---|---|---|---|
| 禁用状态(Disable) | 否 | 否 | 否 | 端口未启用(人工关闭) | 稳定态 |
| 阻塞状态(Discarding) | 是(仅接收) | 否 | 否 | 逻辑断环,冗余备份 | 稳定态 |
| 侦听状态(Listening) | 是 | 否 | 否 | 接收BPDU,判断拓扑角色 | 过渡态 |
| 学习状态(Learning) | 是 | 是 | 否 | 学习MAC地址,准备转发数据 | 过渡态 |
| 转发状态(Forwarding) | 是 | 是 | 是 | 正常转发数据,参与通信 | 稳定态 |
2. 计时器与端口收敛时间(原文重点)
STP端口从“阻塞态”切换到“转发态”需经历完整的过渡过程,总耗时50秒,由三个计时器控制:
Max Age(20秒):阻塞态持续时间(确认主链路确实故障,避免误切换);Forward Delay(15秒):侦听态和学习态各持续15秒(侦听态确认拓扑无环,学习态缓存MAC地址,避免转发时广播风暴);- 收敛时间:阻塞→侦听(20秒)→学习(15秒)→转发(15秒),共50秒(普通STP的固有特性,快速STP可优化)。
3. STP配置与模式(原文实用内容)
- 默认状态:交换机启动后,STP自动运行(默认普通STP模式),自动选举根网桥、根端口;
- 手动配置(华为交换机示例):
- 手动指定根网桥:
stp root primary(优先级自动设为0,最高优先级)或stp priority 4096(自定义优先级,需为16的倍数); - 配置端口优先级:
stp port priority 64(端口优先级,需为16的倍数,0~240);
- 手动指定根网桥:
- 三种STP模式(原文提及,补充差异): | 模式 | 特点 | 适用场景 | |————|—————————————|—————————| | 普通STP | 收敛慢(50秒),仅支持单生成树 | 简单小型网络 | | 快速STP(RSTP) | 收敛快(秒级),兼容STP | 中大型网络(需快速恢复) | | 多生成树(MSTP) | 支持多VLAN独立生成树,灵活分配带宽 | 复杂企业网络(多VLAN场景)|
4. 交换机端口编号规则(避免混淆)
- 思科交换机:
模块号/端口号(如E0/1:第0模块第1端口;G1/2:第1模块第2千兆端口); - 华为交换机:
板卡号/模块号/端口号(如E0/0/1:第0板卡第0模块第1端口;E1/0/3:第1板卡第0模块第3端口)。
六、应用实例解析(原文案例简化,便于理解)
实例一:四交换机环形拓扑(均为默认优先级32768)
- 拓扑:SWA(MAC=000D.2800.B100)、SWB(MAC=000D.2805.C100)、SWC(MAC=000D.2810.D100)、SWD(MAC=000D.2811.E100)两两相连;
- 分析步骤:
- 选根网桥:优先级相同,比较MAC地址,SWA的MAC最小→根网桥;
- 选根端口:SWB、SWC、SWD的根端口均为“直接连接上一级交换机、到SWA路径成本最低”的端口(如SWB的根端口是连SWA的端口,成本19);
- 选指定端口:根网桥SWA的所有端口为指定端口;非根网桥之间的链路,按BID、端口ID选择指定端口(如SWB与SWC之间,SWB的端口为指定端口,SWC的对应端口阻塞);
- 最终效果:SWC与SWD之间、SWB与SWC之间各有一个端口阻塞,形成无环拓扑,冗余链路待命。
七、学习重点梳理(备考/实操核心)
- 核心逻辑:STP=“逻辑断环+物理冗余”,解决“环路危害”与“可靠性需求”的矛盾;
- 算法三步法:根网桥(BID最小)→根端口(最优路径)→指定端口(每条链路一个),优先级规则必须牢记;
- BPDU的作用:STP的“通信工具”,所有判断依赖BPDU数据;
- 关键数值:优先级(16的倍数)、路径成本(100M=19)、计时器(Max Age=20s,Forward Delay=15s)、收敛时间=50s;
- 端口状态:阻塞态(接收BPDU)、转发态(全功能)、过渡态(侦听/学习)的区别。
优点
扩大网络的物理范围:每个LAN的范围都有限制,使用网桥可突破限制。 提高网络的可靠性:网桥能隔离一个LAN的故障,使之不会扩展到其它LAN。 有助于安全保密:可根据需要将某些部分隔离开来,以防信息被窃。 可以互连不同的LAN
缺点
存储转发增加了时延; 在MAC子层并没有流量控制功能; 具有不同MAC子层的网段桥接在一起时时延更大; 网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴。
中继器
中继器工作在物理层,用于互连两个相同类型的网段(例如:两个以太网段),主要功能是延伸网段和改变传输媒体,从而实现信息的转发。
集线器
集线器作为以太网的集中连接点,它放大接收到的信号并进行广播传输,无过滤、路径检测和交换功能,不同速率的集线器不能级联。Hub是一个共享设备,其实质是一个多端口中继器。
交换机
交换机,也称为交换式集线器,是简化(典型)的网桥,一般用于互连计算机。
路由器
路由器工作在网络层,互连两个或多个独立的相同类型或不同类型的网络:局域网与广域网的互连,局域网与局域网的互连。路由器的主要功能就是进行路由选择。
网关
此设备属于网络层以上的互连设备,用于实现不同协议的网络间的通信。主要有:传输层网关(用于互连两个分别使用不同面向连接传输层协议的计算机)、应用层网关(用于信息格式的转换,例如:电子邮件网关)。