STP工作原理 一、 为什么需要STP? 广播风暴是二层网络中灾难性的故障,导致广播风暴的原因是“网络环路”,网络环路带来的问题包括:广播风暴、多帧拷贝、MAC地址表不稳定。 二、 什么是STP? STP中文是生成树协议,大家可以想像一下,网络拓扑非常类似一棵倒置的树,但区别就是自然界中的树是不会有环路的,而网络环路则非常常见,特别是大规模的网络; 所以STP的基本思想就是参照自然界中的树,通过一系列的运算来消除网络二层环路。 三、 STP工作原理的4个步骤 1. One root bridge per network (在网络中选择一台交换机,作为“根桥”) u 打个比方,你的网络中一共有20台支持STP的交换机,但“根桥”只能有1台,剩余的19台交换机都是“非根桥”; u 为了确定根桥究竟是哪一台交换机,交换机之间必须要进行一些信息的交流,这些信息被称为BPDU (Bridge Protocol Data Unit,桥协议数据单元) ,交换机每2秒发送一次BPDU; u BPDU中包括的信息较多,但根桥的选择只需要比较BID (桥ID) ,BID最小的交换机就是根桥; u BID由两个部分组成:桥优先级+桥MAC地址,注意桥优级默认相同都是32768; 2. One root port per nonroot bridge (在每一个“非根桥”上选择一个端口,作为“根端口”) u 对于每台非根桥,要选择一个端口用来连接到根桥,这就是“根端口”; u 根端口只存在于非根桥上; u 当非根桥有多个端口可以连接到根桥时,应该选择性能比较好的端口作为根端口,衡量性能好坏的依据是:首先比较Cost (开销) ,其次比较PID (端口ID) ; u 打个比方,用下面这个图来说明问题: SwitchX作为非根桥,需要选择一个端口 (也只能选择一个端口) 用来连接到SwitchZ(根桥),首先比较的是Cost,Cost根据带宽计算得到,注意Cost要累加: 通过Port0连接到根桥,Cost=19 通过Port1连接到根桥,Cost=100+19=119 但如果Cost相同,则需要进一步比较PID,PID由两个部分组成:端口优先级+端口号,由于端口优先级默认相同,因此换句话说,端口号越小的端口,将成为根端口;
3. One designated port per segment (在每一个网段上选择一个端口,作为“指定端口”) u 所谓的网段,可以理解为交换机之间相连的链路; u 在每一个网段上,只能选择一个指定端口; u 注意,根桥上的所有端口都是指定端口; u 打个比方,如下图: 上图共有3个网段,分别是X--Z,Y--Z,X--Y,其中前两个网段的指定端口非常容易选择,因为根桥上的端口就是指定端口; 但X--Y,这个网段的指定端口的选择,选择的依据是,首先比较Cost,其次比较BID; X到达根桥的Cost=19 Y到达根桥的Cost=19 由于Cost相同,需要比较BID,由于SwithX的BID比较小,因此位于SwitchX上的Port1成为此网段的指定端口。 4. Nondesignated ports are unused (“非指定端口”将被Block掉) 既不是根端口,也不是指定端口的其他端口,也就是非指定端口,将被Block! --End-- Leo 2008-4-21