一个交换机就是一个透明网桥,它对用户终端是透明的,它转发帧和广播,以及学习终端的MAC 地址 交换机实际使用的三种交换技术: 存储转发(Store-and-forward) – 接收到整个数据帧并效验后转发 立即转发(Cut-through) – 接收到目的MAC 地址就开始转发 无碎片(FragmentFree) – 接收到数据帧的前64 位,只要不是碎片就转发 如果一台交换机收到一个单播帧,如果这个帧的目的地址未知,则该交换机广播这个帧 为了二层交换网络的稳定,通常采用冗余,而冗余会产生桥接环路(广播风暴),STP(生成树协议)就是用来发现和消除环路,它用标准的802.1D 协议,阻碍冗余链路 Bridge-ID 网桥ID 共8 个字节,有两部分组成: 1. 2 个字节的优先级域:优先级低的为根桥,缺省优先级为32768,即0x8000。缺省地,所有Cisco 交换机地优先级是相同的。 2. 6 个字节MAC 地址域:即交换机或网桥的MAC 地址。所以缺省情况下,具有最低MAC 地址的交换机将成为根桥。全局下用spanning-tree vlan 200 priority 23423 修改该交换机对一个特定VLAN 的优先级 选择根桥(Root Bridge) 1. 自动选择:STP 自动选择具有最低BID 的交换机为根桥。 2. 手工确定:原则是靠近网络的中心。所以一般根桥设在一台分布层的交换机而不是接入层交换机。建议手工设置来确定根桥。//手工修改priority 确定到根桥的最佳路径 STP 协议利用BPDU 中三个Field――路径开销、网桥ID、端口优先级/端口ID 来确定到根桥的最佳路径顺序: 1. 路径开销:所有端口开销的综合为路径开销,路径开销低的端口为转发端口。 2. 网桥ID:同一个交换机上有两条链路达到根桥(如平行链路),那么最佳路径就由下面的端口优先级或端口ID 决定了。 3. 端口优先级/端口ID:端口优先级范围0~63,缺省值32,具有低优先级的端口将转发数据。如果端口优先级相同,端口ID 则是决定因素,低端口ID 将转发数据。 网桥优先级 STP要求每个网桥分配一个唯一的标识(BID.Bridge ID),BID通常由优先级(2bytes)和网桥MAC地址(6bytes)构成。根据IEEE802.1d规定,优先级值为0-65535,缺省的优先级为32768(0x8000)。
BID的比较方式如下,假设(s,t)和(u,v)分别为两个BID,数对中的第一个值为优先级,第二个值为MAC地址,则比较规则如下 If s < u then ( s,t ) < ( u,v ) If ( s = u )&&( t < v ) then ( s,t ) < ( u,v ) BID值越小的网桥,其优先级越高 BPDU:Bridge Protocol Data Unit 生成树协议用BPDU (Bridge Protocol Data Units)进行信息的传递,它是一个二层的帧,用组播帧发送配置信息,选举根交换机,查找环路存在的位置 BPDU 有2 种类型 Configuration-BPDU 配置BPDU,包括STP 参数 TCN-BPDU 拓扑变更通告BPDU BPDU 有三个计时器用来避免整个网络BPDU 信息不同步而发生环路 Hello Time (默认2s) – 多少时间发送一次 Max Age (默认20s) – 当交换机收到一个BPDU 后,多长时间内有效 Forward Delay (默认15s) – 端口状态改变后,在监听和学习状态下分别停留的时间 当网络稳定下来后,所有BPDU 计时器都是从根交换机学来的,整个网络计时器一致 全局下用spanning-tree vlan 2 hello-time/forward-time/max-age 改变特定VLAN 中STP 计时器 BPDU 的偏移指BPDU 应该收到的时间和实际收到的时间不一致,这时交换机会产生日志消息,如果很多BPDU 都偏移,那么日志消息也会很多,会消耗CPU 和内存 如果一个稳定的网络加入一台交换机,该交换机的优先级很小,那么新加入的交换机就会抢掉根交换机的位置,那么在连接新加入的交换机的交换机端口上用spanning-tree guard root 保护原有的根交换机,把这个端口自动阻塞,用show spanning-tree inconsistentports 查看因为根保护而被阻塞的端口 STP 默认的路径代价:10Mbps >> 100; 100Mbps >> 19; 1Gbps >> 4; 10Gbps >> 2 STP 用目标交换机到根交换机的所有经过链路代价之和 端口下用spanning-tree cost 20 改变 STP 的决策: 1,先选出根交换机 2,其他交换机计算到达根交换机路径最短的端口是根端口,如果最短路经不止一条,就用端口编号小的(例:F0/1> F0/2) 3,每一个网段有且只有一个指定端口,即离根交换机路径最小的端口,如果多个端口路径一样,则用BID 最小的换机上的端口 4,其他既不是根端口也不是指定端口的端口阻塞 STP 端口状态: Disable – 被关闭的端口 Blocking – 初始状态或是被STP 阻塞状态,该状态停留Max Age,始终只能收到BPDU,如果Max Age 都没有收到BPDU, 就转到Listening 状态 Listening – 收发BPDU,以确信在传输数据帧时网络无环路,停留Forward Delay Learning – 收发BPDU,学习MAC 地址,但不转发数据帧,停留Forward Delay Forwarding – 除非不存在环路,并且确定它是到达根交换机的最佳路径,不然永远不会进入该状态
|