生成树协议和 BPDU 数据包

2014-10-8 11:39| 发布者: 谢晓新| 查看: 3207| 评论: 0 |来自: csdn

 

STP - Spanning Tree Protocol 生成树协议 // IEEE 802.1D

BPDU - Bridge Packet Data Unit

生成树协议用于建立一个没有环路的拓扑。基本概念就是利用交换机之间互相交换BPDU数据包,使之甄别出冗余链接。

基本来讲,要经过几个程序:

1. Root Bridge Election - 选择根桥,以此为前提来分析之后的拓扑 // smaller priority <<< smaller MAC address

2. Root Port Election - 非根桥端口选择根端口 (拥有到达根桥的最优路径 & 根桥 root path cost = 0)

3. Designated Port Election - 非根桥之间的连接,选择Designated port // maller root path cost <<< smaller BPDU sender bridge ID // all rest port will be in blocked

STP定义了五种不同的端口状态:

  • disabled

  • listening

  • learning

  • blocking

  • forwarding

STP (802.1D) Port StateRSTP (802.1w) Port StateIs Port Included in Active Topology?Is Port Learning MAC Addresses?
DisabledDiscardingNoNo
BlockingDiscardingNoNo
ListeningDiscardingYesNo
LearningLearningYesYes
ForwardingForwardingYesYes

要点:

1 - root bridge has no root port, only designated port

2 - once converaged, root bridge generates BPDU, no-root bridge receive BPDU, then update info ( Bridge ID, path cost) then forward out via designated port.

3 - when topology change, non-bridge switch send TCN to root, then root update BPDU data field and send out BPDU to notify other switch topoloy has been changed.

================

在网上看到有人提问还有很清晰的回答,也解释了我的一些疑问。

Ques:

1- Does only Root bridge generate BPDU packet for whole stp domain or another swtiches in stp domain generate BPDU?

In 802.1d Spanning-Tree, only the Root Bridge was responsible creating/generating fresh BPDUs every Hello-Time (2-seconds by default). The Root Bridge would then transmit those new BPDUs on all of its Designated Ports. A downstream bridge that was directly-connected to the Root Bridge would receive those BPDUs on a port that might be either a Root Port or Blocking Port (if that downstream switch had an alternative path to the Root with a lower cumulative Cost).

----a. If a downstream bridge received those BPDUs on a Blocked Port, it would process the BPDU and then drop it. It could NOT forward that BPDU any further.

----b. If a downstream bridge received those BPDUs on a Root Port, it would process that BPDU, change the Sending Bridge-ID to it's own ID, update the "Root Cost" field, and then forward that BPDU out any Designated Ports it had.


2- Do Designated ports and Root ports on other switches recieve BPDU from peer switches ?

In 802.1d, if the Root Bridge temporarily stopped sending BPDUs for a few seconds (maybe because it's CPU was spiked at 100%, or it was having memory shortage issues, yada, yada, yada) then you would notice that there were NO BPDUs anywhere in the switched topology for that duration of time. In other words, if you (as a non-Root bridge) didn't receive a BPDU, you had nothing to send to anyone else.

3. Does any change(included disconnect cable or port shutdown) on switches of one STP domain result in STP process from scratch for election of root bridge and all phases for convergence of STP,as same as creating STP for first time ?

Ans: Root Bridge election will happen only when the existing root goes down. Any link disconnect / port shutdown will not trigger the election of root bridge again.

4. what does one switch do after receiving BPDU on portfast port?

Ans: It depends on where you have enabled portfast. when portfast is enabled globally, that port will lose its portfast status and would start operating as normal STP port. But when the portfast is enabled on the interface mode, then since LIS/LRN stages are bypassed on the portfast enabled port, you may be at a risk of causing loop.


5. what is minimum and maximum of STP convergence time ? Is it based on number of switch in STP domain?

Ans: Well this depends on the time of failure.. generally , STP convergence will start from disabled -> Listening -> Learning -> Forwarding / Blocking.

Listening is 15 sec, Learning is 15 sec. so convergence time is 30 seconds for a link to come in forwarding state. but this depends on the type of failure as well.

if it is an indirect link failure, it could be Max age (20)sec + Lis (15) sec + lear (15 ) sec = 50 sec delay.

When a link goes down / comes up, the switch generates TCN and send it on its root port towards the root bridge. all the switches towards the root will relay this towards the root bridge.

when the root bridge receives this , it sets the TCN Flag on its BPDU to "Yes" and send it across to all the switches downstream. so all the switches will set the CAM table aging timeout to forward delay (for the vlan's in which the failure was detected) and starts learning the CAM table again.

<
>
在培训行业极度市场化的今天,在网络工程师鱼目混珠的时代,帆联科技扎根技术的理念从来没有改变,帆联科技从不提倡短线功利性考证培训,严格要求教师和学员,要为自己的未来做出辛苦的努力。一分辛劳,一份收获。

联系我们

南宁市大学东路162号东盟财经广场1402

0771-3185755(服务时间:9:00-17:30)

admin@sail-lab.net

在线咨询新浪微博官方微信官方微信

部门热线

前   台:0771-3185755
培训部:15994437962
认证部:15994437962
技术部:15578317196

培训服务 考试认证 校企合作 联系电话0771-3185755 返回顶部
返回顶部