STP

一、STP的作用

       1、网桥与交换机
              都工作在第二层,网桥是交换机的前身,网桥基于软件来实现各种功能、端口密度低。只支持半双工。交换机基于硬件ASIC实现各种功能、端口密度高、支持全双工。
       2、单点链路故障(引入冗余)
       3、冗余二层网络中的问题(为什么要STP
              A、广播风暴
              BMAC表的不稳定
              C、重复的单播帧
              D、多重循环
       4STP的作用
              STP是一种循环避免的二层协议,网桥之间可以通过交换STP的消息,可以发现网络中的物理环路,根据STP的算法,逻辑上阻塞某些接口,建立一个免循环(loop-free)的逻辑拓扑,最终STP能够建立一个跨越整个二层交换网络的免循环的支叶树状结构。

 

二、STP术语

       1STP的协议包BPDU 数据结构
              Protocol identifier=00总是0
              Protocol version=00(STP的版本 802.1D0)
              BPDU type 00配置BPDU  80 TCN BPDU
              Flag0 TC:根网桥置位,表示拓扑发生变化。7 TCA:收到TCN的网桥置位表子ACK确认。1 proposal建议  23端口功能(指定备份根替代) 45当前端口状态(learning forwarding 6同意(agreement
               Root identifier根网桥ID
               Root path cost到达根网桥的STP开销。不同厂商、测量评定,link cost的值可能不能,可手工指定 10M=100  100M=19  1000M=4   10G=2   622M=6   155M=14在收BPDU的口加开销
               Sending bridge id发送网桥ID
               Port发送网桥端口ID
               Message age:消息寿命,从根网桥发出BPDU之后的秒数,每经过一个网桥都递减1,所以它本质上是到达根网桥的跳计数。
Information lifetime:最大寿命,网桥在将根网桥看作不可用之前保留根网桥ID的最大时间。
Root hello time:根网桥连续发送的BPDU之间的时间间隔
Forward delay:转发延迟,网桥在监听和学习状态所停留的时间间隔
       2、根网桥
              在交换网络中选举无环路拓扑的参考点与核心,具有最低网桥ID的交换机。
              网桥ID:优先级+MAC  字节数8=2+6
              优先级:0-65535缺省一半32768  MAC交换机背板MAC
              优先级=网桥优先级(4bit+Extended System ID12bit
              思科的网桥优先级带有扩展ID,作为VLANMST实例的惟一标识符.
              网桥优先级=4096的倍数+vlan ID 手工修改只能影响前面4bit
       3、根网桥的选举标准bridge id (演示)
              一个二层网络中,选举一个交换机作为根网桥,最小优先级,优先级相同,选最小MAC。具有抢占功能。
              Switch(config)#spanning-tree vlan 1 root primary 优先级-8K
Switch(config)#spanning-tree vlan 1 root secondary 优先级-4K
              Switch(config)#spanning-tree vlan 1 priority ?
             <0-61440>  bridge priority in increments of 4096

 

三、STP的工作过程

       1STP算法
              确定根网桥、确定到根网桥的最小开销、确定最小发送网桥ID、确定最小发送端口ID
       2、工作过程
              初始化,网桥工作时,所有活动端口都发送BPDU,如果端口从其他网桥收到BPDU比自身发送的更佳,本端口停止发送BPDU,并存储最佳的BPDU(20)maxage
              正常工作下,BPDU从根网桥出发,沿着所有活动路径(DP)到达网络中的每个网段,周期2秒,hello不正常时,如果停止从邻居收到最佳BPDU持续20秒,本地端口又会发送BPDU
       3STP的选举
              A、选择根网桥:最小BID为根
              B、每个非根网桥选择一个根端口
                     根端口:到根网桥最近的端口(开销最小)。收BPDU的接口选
              C、每个物理网段选择一个指定端口,发送最佳BPDU的端口为指定端口。根网桥上所有接口都为指定接口,发BPDU的接口选。
              D、其他端口,阻塞,逻辑阻塞,丢数据包,接收协议包。
(演示)三交换机互连。操作和选举,两交换机互连,操作和选举
(发BPDU的接口改优先级,收BPDU的接口改cost
       接口spanning-tree vlan n port-priority 128default)。16递增0-255
       Spanning-tree vlan n cost n

 

四、STP的端口状态

1port state
       Down/disable:没接设备或手工shutdown
       Blocking:只能接收BPDU
       Listening:收发BPDU,已确定活动拓扑,STP选举
LearningMAC学习,构建桥接MAC
       Forwarding:转发用户数据
2STP timer(端口状态切换时间)举例情景
       1hello time 2
       2max age 20=10hello周期
       3forwarding 15
              直接电信号丢失30s blocking(0)-listening(15)-learning(15)-forwarding
              间接,最佳BPDU超时。blocking(20)-listening(15)-learning(15)-forwarding
       3STP TCN
              TCN的作用,加速MAC地址表超时。
              Mac超时
              300s老化时间,直连电信号丢失,clear mac address-table dynamicTC300s—15s
              TCN的产生条件,端口的UP/DOWN。端口状态变为forwarding。端口状态变为forwardingLearning变为blockingdown
              由感知拓扑变化的交换机产生TCN,沿根端口路径上游交换机的中继到根网桥。上游交换机收到TCN则指定端口才会处理TCN,上游交换机在下一个配置BPDU的过程中设置TCA标记,从收到的TCN的指定port发送出去。发送TCN的交换机收到TCA置位的配置BPDU停止产生TCN,否则,仍以本地hello周期发送BPDU。根网桥收到TCN,则在新的配置BPDU中,TCATC都置为1TC置位的目的加速网桥MAC表超时(300s—15s)。TC置位的BPDU持续发送maxage+forwarding delay,缩短为15秒,不是清除整个表,只是加速MAC表超时。

 

五、STP高级特性
       1STP的模式
              全局spanning-tree mode PVST+(default)  Rapid  PVST  MST
                     Pvst+cisco基于802.1D基础上发展的,为了兼容802.1Q每个vlan一个STP实例,加入cisco一些私有特性
                     Cst(common spanning-tree) 所有vlan共用一个STP的实例。优点:CPU资源占用少,缺点:不能做负载均衡。
                     Rapid – pvst+ cisco私有,(RSTP)加快收敛2-3秒。
                     MST(国际标准)multi spanning-tree
                            多个vlan共用一个STP的实例
       禁用STP    no spanning-tree vlan x
       2STP做负载均衡。(PVST+
              网络中存在冗余链路,网络中存在多个vlan,网络中存在多个STP实例。操纵根网桥、 端口开销、端口优先级、发送网桥ID实现。
       3、调整STP的时间参数(不建议)
              全局spanning-tree vlan vlan-id hello-time seconds

                            spanning-tree vlan vlan-id forward-time seconds

                            spanning-tree vlan vlan-id max-age seconds

                     spanning-tree transmit hold-count value Configure the number of BPDUs that can besent before pausing for 1 second. For value, the range is 1 to 20; the default is 6.

       4portfast
              作用:优化边界端口,接终端设备的端口快速收敛。Portfast立刻到forwarding,端口状态变化不会导致TCN产生,端口STP仍在,当接收到BPDU会正常收敛,针对accessDHCPbootp802.1x
              接口下spanning-tree portfast
              防止接交换机改变STP拓扑结构.接交换机自动关闭。
              Sw1(config-if)#spanning-tree bpduguard enable
              Sw1(config)#spanning-tree portfast bpduguard default
       5uplinkfast
              作用:优化上联端口,使主备uplink立刻切换。典型应用在接入层交换机,自动跟踪根端口,使备份接口在2-3秒内收敛,变成forwarding。将交换机的优先级改为49152,使其不能成为根网桥,将其开销加3000 ,使其不能成为中继交换机,由此说明交换机只能成为未梢接入层交换机。
              Sw1(config)#spanning-tree uplinkfast
       6backbonefast
              作用:改进交换机之间间接链路失效,网络收敛的时间(50—30)理论时间.收到次佳BPDU立刻处理。注意问题:在所有交换机上都要配置
              Sw1(config)#spanning-tree backbonefast
              引入RLQ机制(root link query)。如果网段downB会发送次佳BPDUCC立刻处理,C沿根端口发送RLQ查询到AC在根端口收到回应,知道根的存在,C立刻停止maxage。打开原来的blocking口。B收到BPDU知道从C可以到达根。
       7root guard
              作用:配置该特性的端口不会成为根端口,从而保护了STP的拓扑,收到superior BPDU端口进入root-inconsistent状态,此状态不能收发数据。拿走交换机正常,重新使用shutdown    no shutdown.
              Sw1(config-if)#spanning-tree guard root
       8loop guard
              作用:跟踪非指定端口(root port  alt port)的BPDU活动,协议包收不到,端口不应被使用。BPDU丢失端口变为loop-inconsistent状态,blocking来防止循环。直到再收到BPDU,又可正常收敛。
              Sw1(config-if)#spanning-tree guard loop
       9UDLD单向链路检测
              作用:针对光纤链路检测单向链路故障造成的环路。定期发送UDLD hello包,三个周期没有收到UDLD的回应,则认为link出现单向故障。
              全局/接口:udld {aggressive/enable/disable}
                                          强占(errdisable 一般(只发syslog)
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章