STP相关资料
网桥是如何出现的? 网桥出现之前,广泛应用的是集线器(多端口的转发器),并采用CSMA/CD机制。CSMA/CD是一种分布式介质访问控制协议,网络中的各个节点都能独立地决定数据帧的发送与接收。每个节点在发送数据帧之前,首先要进行载波监听,只有介质空闲时,才允许发送帧。这时,如果两个以上的节点同时监听到介质空闲并发送帧,则会产生冲突现象,这使发送的帧都成为无效帧,发送随即宣告失败。每个节点胆册必须有能力随时检测冲突是否发生,一旦发生冲突,则应停止发送,以免介质带宽因传送无效帧而被白白浪费,然后随机延时一段时间后,再重新争用介质,重发送帧。这样的效率太低。人们急切的需要一个可以提高效率的设备,因此,网桥出现了。
总共产生了多少种网桥? 由于侧重点不同,总共产生了两种网桥,一种是透明网桥,一种是源路由网桥。透明网桥容易安装,但网络资源的利用不充分。源路由(source route)网桥在发送帧时将详细的路由信息放在帧的首部中。源站以广播方式向欲通信的目的站发送一个发现帧,每个发现帧都记录所经过的路由。发现帧到达目的站时就沿各自的路由返回源站。源站在得知这些路由后,从所有可能的路由中选择出一个最佳路由。凡从该源站向该目的站发送的帧的首部,都必须携带源站所确定的这一路由信息,由于过于复杂,所以未成为标准,作为一个附加特性,主要用在令牌环网络中。为什么网桥要叫做透明网桥? 因为对于用的人来说,啥都不用做,插上电源和网线就行,暗随原有网络也看不见它。
生成树协议是如何工作的? 1.当路由器打开的时候,所有的端口都处于Listening状态,每个网桥都会认为自己是根网桥,然后都每隔两秒就向外发送一次自己的BPDU,如果收到的BPDU的BID比自己的小,则停止转发自己的BPDU,开始转发更优的BPDU,如果比自己的BID大或者和自己的BID相等,则丢弃该BPDU。等到都扩散完毕之后开始各项的选举,这时候每个BID最小的网桥成了根网桥,各个网桥通过收到的BPDU来确定根端口和指定端口。首先看COST值,然后再看邻居的BID,再然后看对端端口的PID,指定端口也首先看COST,然后看两端网桥的BID。剩下的成为非指定端口,转到blocking状态。这个状态总共持续15s(转发延迟),之后进入learning状态。 这里有个网络直径的概念,默认是7,在15秒之内BPDU差不多可以传给每一个网桥,这个数值不建议随便改,改大了的话会使收敛时间变久,改小的话虽然可以缩短收敛时间,但是如果数值小雨网络的实际规模,会使BPDU的传播不完全,后果不堪设想。 3.进入Learning状态之后,填写MAC地址表,经过15s(转发延迟)之后进入Forwarding状态。 4.进入Forwarding状态之后,开始转发数据,并且同时接受转发来自于根的BPDU,维护拓扑。这时只有根网桥发BPDU,其他网桥都只是转发BPDU。 5.当一个新的网桥加入的时候,端口状态是Learning,新的交换机认为自己是根网桥开始发送BPDU,也接收对端的BPDU,然后进行进行进一步的竞选,若竞选成功,则网络格局就重新变化了,造成网络断开,若竞选失败则计算根端口指定端口和非指定端口。(30s可以完成) 6.若拓扑中有线路断开,则分为两种情况(TCN从根端口向上传,从指定端口向下传,并且需要一层层的确认)
以以下例子为例我们来说: (1)断开SW1和SW3的网络 1)交换机SW1和SW3检测到链路出现故障,SW3删除从F0/23口收到的“最佳”BPDU信息。 2)交换机SW3将向根网桥发送TCN BPDU,但是SW3的根端口处于Down状态,所以无法发送;SW1为根网桥所以不需要发送TCN BPDU信息。 3)交换机SW1从F0/24口发送一条设置了TCN位的BPDU信息,收到BPDU信息后交换机将进行转发,保证网络中所有交换机都知道拓扑发生了变化。 4)交换机SW2和SW3都会接收到SW1发送的BPDU;交换机SW3只从F0/24口收到根网桥的信息,而此信息是从根网桥收到的“最佳”BPDU,所以STP重新计算此端口最终将成为根端口。在成为根端口前需要经历监听状态、学习状态和转发状态,默认情况下大约会花费30秒左右。(当链路断开时,如果从非指定端口收到最优BPDU,则把非指定端口切换到Listening状态,重新选举根端口) (2)断开SW1和SW2的网络 1)交换机SW1和SW2检查到链路出现故障,SW2删除从F0/24口收到的“最佳”BPDU信息。 2)交换机SW2将向根网桥发送TCN BPDU;SW1为根网桥所以不需要发送TCN BPDU信息。 3)交换机SW1从F0/23口发送一条设置了TCN位的BPDU信息,收到BPDU信息后交换机将进行转发,保证网络中所有交换机都知道拓扑发生了变化。但是SW3的F0/24口处于阻塞状态,其只接收BPDU不发送BPDU,所以SW2不会收到SW1的BPDU信息。 4)交换机SW2无法收到任何BPDU信息,而其知道拓扑发生变化,所以STP重新计算认为自己是根网桥向外发送BPDU,而SW3的F0/24口还保留这“最佳”的BPDU信息,所以SW3从F0/24收到的PDU不是“最佳”BPDU。经过20秒后SW3的F0/24端口的“最佳”BPDU信息被删除,这时在收到SW2的BPDU信息后更新BPDU信息,进行STP选举过程。在成为指定端口前需要经历监听状态、学习状态和转发状态,再加上最大老化时间,默认情况下大约会花费50秒左右。
生成树协议在交换中的应用是十分广的,有什么想问的可以留言。
希望懂网络的可以互相交流学习。