拓扑,两台终端连接至同一台交换机,交换机为2层交换机,默认VLAN1 。使用PC1 ping PC2
查看交换机mac地址表
dis mac-address
PC1的MAC(5489-9821-0EA9)映射在交换机的G0/0/24端口
PC2的MAC(5489-98e1-0a25)映射在交换机的G0/0/23端口
有了这个映射条目 ,交换机就可以把接收的帧相互进行转发
此处还涉及到两个概念,一个叫广播,一个叫单播。所谓广播,既广而播之,单播为定向。
交换机加电,加载IOS后,MAC条目都为空。当PC1 ping PC2 时,交换机端口接收到包后就会发起广播,寻找PC2的MAC地址。我们在PC2就会看到广播包,PC2将信息返给交换机。通过这样一个问寻,就建立起了MAC地址列表。PC1 与 PC2 在以后的通信过程中就可以直接看到对方,而无需再进行广播。
二层交换中会涉及到一个非常通用的概念,环路。即交换机产生了环路,环路会导致MAC学习混乱以及广播风暴产生 ,导致网络不可用。终其原理就是会在不同的端口学习到同一个MAC地址,导致交换机无法正常处理,就会反复的学习。无法到达终态,非常吃资源。
拓扑
两台交换机关闭STP,模拟环路。
sys
stp diable
在console界面,最显著特征就是会有mac flapping提示,表示有环路存在
RSTP 是STP的加版 ,需要设置主根。将SW01设置为主根
sw1配置如下:
stp enable
stp mode rstp
stp root primary
sw2 sw3都开启生成树
stp enable
stp mode rstp
sw01 为主根
sw01,02,03 的端口状态如下,sw02端口有阻塞,如果环路中其它端口发生了变化 ,down掉,sw02的端口就会放开,保证链路的畅通。
1、BPDU,桥接协议数据单元 ,用于存储生成树信息,并通过组播在交换机之间传递。BPDU传递的时间间隔默认为2S
2、Bridge ID,用于选举根交换机,由桥优先级和MAC组成。可配范围:0-65535
-------[CIST Global Info][Mode RSTP]-------
CIST Bridge :0 .4c1f-cc05-4633
BID的规则 ,优先比较桥ID,桥ID越小优先级越高。如果优先级相同,则次比MAC地址,值越小优先级越高。
Port Cost,端口开销,华为说法,数据从端口发出时的开销,接收无开销。带宽越高,开销越小,带宽与开销成反比。开销值可以自定义(实验可以,但实际环境不建议,根据实际情况来决定)
3、Root Port,根端口,离根交换机最近的端口,到根路径开销最小。
根路径开销(root path cost),非根交换机到根交换机最小开销路径
4、Desinged Port,转发根交换机数据的端口
5、Alternate Port, 预备后补端口,实际上就是已经没有实际数据转发的端口,阻塞端口
Forwarding 转发状态 ,正常学习MAC,正常的端口状态
Learning 只处理bpdu,不转发流量,但正常学习MAC
Discarding 丢弃状态,不转发数据流量 ,只接收bpdu信息
stp现在没有用的,5种端口状态基本了解即可
前提: 所有交换机的链路都相同,链路的带宽一致。
1>根桥选举
在SW01上执行了,stp root primary ,根优先级便设置为了0。优先级最高,那必定产生两个DP端口。
2>RP端口选举
根据RP端口定义,到根路径开销最小非根交换机的端口为root port。通过拓扑,我们可以查看到SW02的G0/0/1到根交换机的开销最小(直连) SW03的G0/0/2到根交换机的开销最小,选举为根端口。
3>选举指定端口、阻塞端口
现在只剩下最后一段链路,SW2和SW3。端口抓包ROOT PATH COST都一样,此处使用了20000的值。那比较桥ID,SW3的梆ID最小。优先级高选举为DP端口,另一侧则为ALER端口(discarding)
技巧:
根端口的选择:把自己放到非根桥交换机的位置,沿着每个端口可到达根桥,累加途经的带宽开销,开销最小的那个端口胜出,即是根端口。
指定端口的选择:把自己放在链路的中点,从链路的中点开始沿着两个不同方向的端口到达根桥,累计途经的带宽开销,开销最小的那个端口胜出,即是指定端口。
原文:https://blog.51cto.com/keep11/2758997