1. 前置知识
-
STP(Spanning Tree Protocol)
是一种网络协议,它可以避免在具有冗余链路的网络拓扑中发生环路,从而避免广播风暴和数据包的重复发送,保证网络拓扑的正确性和稳定性。当网络中有多条路径到达同一个目的地时,就可能会出现环路,如果不采取措施,数据包就会在环路中不断地循环转发,形成广播风暴,导致网络拥塞和性能下降,甚至会导致网络瘫痪。为了避免这种情况,STP协议通过选择一条主路径(Root Port)并关闭其他路径(Blocked Port),形成一颗不带环路的树状拓扑结构,从而保证数据包在网络中的正确传输。
STP协议的工作过程主要包括以下步骤:
选举根节点:网络中选举一个节点作为根节点,并确定所有节点到根节点的最短路径。
选举根端口:每个节点选举一个根端口,即到根节点的最短路径所连通的端口,其他端口将被关闭。
选举设计端口:在非根节点中,选举一个到根节点路径最短的端口作为设计端口,其他端口将被关闭。
建立端口状态:根据选举结果,将端口设置为根端口、设计端口或者阻塞端口,从而形成一个不带环路的树状拓扑结构。
通过STP协议的运作,可以实现在具有冗余链路的网络拓扑中避免环路,确保数据包的正确传输,提高网络的可靠性和稳定性。
-
undo info-center enable"用于在华为网络设备上禁用信息中心功能。
-
dis mac-address 交换机系统识图使用,功能显示mac地址表
实验原理
场景:
-
三台PC机分别连接到一台交换机上
-
PC1 IP地址为172.168.1.1, PC2 IP地址为172.168.1.2, PC3 IP地址为172.168.1.3
-
子网掩码均为24位,分别连接1/2/3号交换机端口
操作过程:
- 通过PC1 ping PC2,PC1不知道PC2的MAC地址,因此不能发ICMP包,而是发起ARP request包。
- 交换机接收到ARP request协议包,因为目的MAC地址是全F是广播,会采用BUM(Broadcast Unknown Multicast)泛洪除1号端口以外的所有端口(即2/3号端口)发送该ARP包。
- PC2收到该ARP包,回应ARP replay包附上自己的MAC地址,交换机帮助转发该包到PC1。(PC1第一次发送ARP request到SW时,SW已经学习了PC1的MAC地址,且本次ARP replay包中目的MAC是PC1的MAC 所以是单播)
- PC1得到了PC2的MAC地址,发起ICMP协议包,交换机学习存储PC1和PC2的MAC地址和端口。(存储源MAC地址和对应端口)
- 此时通过MAC表查到PC2的MAC地址对应2号端口,交换机直接单播该包到2号端口。
总结:
- 交换机会在接收到ARP包时进行广播,将该包发送到所有端口(除了发送方所在的端口)。
- PC2收到ARP请求包后会回应ARP replay包附上自己的MAC地址,这样PC1就能获得PC2的MAC地址了。
- 交换机在学习到MAC地址和端口的映射关系后,可以直接单播到目标主机所在的端口,避免了不必要的广播。
- PC3对于非自己的ARP request包不会回,但会处理。
实验截图
SW的MAC表
SW端口1抓包
SW端口2抓包
SW端口3抓包