`
simohayha
  • 浏览: 1401100 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

Spanning Tree Protocol介绍

阅读更多
Spanning Tree Protocol(STP)主要是用在网桥上,用来避免网络回路,并制造冗余连接(也就是保证网络的可靠性).

这里只是一个大概的介绍,具体的还是要去看IEEE 的 802.1D STP的文档。

先看下面的图:




我们可以看到在stp中,只有一个根节点,然后root port指的是将此网桥和root连接起来的那个端口,而designated port指的是在连接这个lan的端口中,距离root最近的那个port。

这里虚线部分就是没有激活的link,而对应的端口也是关闭的,这些连接其实就是冗余连接,当实线的某些连接不可用时,这些虚线部分的一些就会根据stp的算法进行激活。

而要实现stp的这些目标,就需要在各个网桥之间传递相应的帧(比如树的平衡,还有上面所说的情况等等).而这个帧就叫做bridge protocol data units(UPDUS).

在stp中,只有根节点才会生成BPDUS,而另外的节点只会接收BPDUS或者update它。

在stp中,每个端口都有状态,分别是下面5种:

disabled(关闭),blocking(端口启用,可是stp阻塞了它),listening(端口打开,但不能传输数据),learning(学习网桥地址被激活),forwarding(数据能被传输).

来看它的状态图:




这里要注意每个状态的转化都会启动一个相应的定时器。

每个网桥和端口的角色以及状态都依赖于一些设置的参数,这些参数都有默认值,可是也能通过用户控件来改变。

Bridge ID(网桥id),Port ID(端口id)。

而下面的几个参数是用来改变网桥和端口的优先级:

Port cost(端口的权重,值越小,权重越大),Timers(stp使用每个端口,每个网桥都有定时器).

下面来看参数的构成(这里是802.1t,他是改变了一些位的表示,相比于802.1D):




可以看到多了system id位,有了它就可以用4096个不同的网桥id来共享相同的mac地址,之前的话就需要4096个mac地址。这里要注意4096不是一个随机的数字,它表示了在802.1Q协议中最大的vlans数目。

802.1t的改变并没有影响stp,从他的观点来看,桥id就是一个8字节的值,端口id就一个2字节的值。它只是影响了用户空间的config工具。

下面来介绍BPDUs

BPDUS分为两种类型:

1 Configuration BPDU

主要用来防止回路。

2 Topology Change Notification (TCN) BPDU

当整个网络拓扑改变的时候,一个网桥发给根节点网桥 。比如在当前网络加入一个新的网桥。

来看他们帧的结构:




这里的protocol id和version字段是为了标示stp,rstp还有mstp这几个的区别(后两种都是stp协议的增强),其中后两种linux内核还没有实现。




通过上面的帧的结构那张图我们能看到一个configuration bpdu的所有域,这里重点看一下它的priority vector,它又4个字段组成:

Root Bridge ID, Root Path Cost, Bridge ID, and Port ID,而两个优先级向量之间的比较是每个字段依次比较的。也就是说通过这个我们就能确定根节点。

接下来看当一个网络拓扑改变后会发生什么事。





在上面的这个图中,a2和d1中的网络断掉了,此时a2将会连接到d2.

当改变后a2将会开启定时器然后发送tcn到d2,然后d2也会开启定时器,发送tcn到c1,当c1接收到tcn后,他会发送一个config bpdu with tca flag,当a2接收到这个帧后,就会关闭定时器,然后此次拓扑修改就完成。


最后我们来看一下当新加入一个网桥后,会出现的情况。

每一个新加入的网桥都会首先认为自己是根节点,因此它就会发送一个config bpdu,然后他也会接收到一个根节点传过来的bpdu,通过优先级向量的比较,当它的优先级低时,就会设置根节点为本身网络的根节点,而当他优先级高的时候,所有接收到它的bpdu的帧的端口也都修改相应的值。


我这里只是介绍了协议的大概,比如定时器一些都没有涉及,详细的介绍还是应该去看ieee的specifications和源码。

而另外的rstp和mstp都是思科提出来的,内核暂时还没有实现,因此这里就没有介绍。。









  • 大小: 54.7 KB
  • 大小: 20.8 KB
  • 大小: 34.9 KB
  • 大小: 36.5 KB
  • 大小: 24.8 KB
  • 大小: 97.4 KB
分享到:
评论

相关推荐

    Spanning Tree Protocol

    1. STP概述:STP(Spanning Tree Protocol)是一种二层链接管理协议,它通过在交换机或桥接器之间通过多条路径互连时防止环路的形成。STP实现了IEEE 802.1D标准算法,通过交换BPDU(Bridge Protocol Data Units,桥...

    RSTP(Rapid-Spanning Tree Protocol)源码

    快速生成树协议(Rapid Spanning Tree Protocol,简称RSTP)是STP(Spanning Tree Protocol)的一个增强版本,由IEEE 802.1D标准定义的STP发展而来,旨在解决网络中的环路问题,提高网络的收敛速度。在RSTP中,网络...

    Spanning.Tree.Protocol.pdf

    Spanning.Tree.Protocol.pdf

    DES-3226S配置Spanning tree

    **生成树协议(Spanning Tree Protocol, STP)**是一种用于局域网(LAN)的网络协议,旨在解决网络中的环路问题并确保网络的稳定运行。在DES-3226S这样的交换机上配置STP是确保网络拓扑无环、避免广播风暴和循环数据...

    spanning tree

    在STP的基础上,为了解决STP收敛速度慢的问题,出现了快速生成树协议(RSTP, Rapid Spanning Tree Protocol),这是IEEE 802.1w标准的一部分。RSTP提供了更快的收敛速度,减少了在网络发生故障后重新计算生成树并...

    spanning-tree详解

    **生成树协议(Spanning Tree Protocol)详解** 生成树协议(Spanning Tree Protocol,STP)是局域网(LAN)中的一种网络协议,它的主要目的是防止网络中的循环路径,这些循环路径可能导致广播风暴和数据包丢失。...

    STP(SPANNING TREE PROTOCOL 生成树协议)

    1. 设置STP模式:使用`config spanning-tree mode`命令,可以选择802.1d STP或802.1w RSTP模式。 2. 创建/删除STP域:通过`create stpd`和`delete stpd`命令可以创建或删除STP域,但默认的default STP域不可手动...

    Spanning-Tree Protocol

    全面扼要介绍Spanning-Tree的一个文档,条例比较清楚。

    RSTP(Rapid Spanning-Tree Protocol) 快速生成树协议.mmap.xmind

    自己整理了一下华为RSTP(Spanning Tree Protocol) 生成树协议资料以思维导图形式呈现,网络小白,初来乍到,请多指教

    spanning-tree_portfast.doc

    ### Spanning Tree Protocol (STP) 与 PortFast 特性详解 #### 一、Spanning Tree Protocol (STP) 概述 Spanning Tree Protocol(STP)是一种用于防止局域网(LAN)中出现环路的协议。在多交换机组成的网络环境中...

    swstp 快速生成树协议

    This chapter describes how to configure the Spanning Tree Protocol (STP) on port-based VLANs on the Catalyst 3560 switch. The switch can use either the per-VLAN spanning-tree plus (PVST+) protocol ...

    生成树协议flash

    Spanning Tree Protocol 生成树协议flash

    华硕GigaX2024网管型以太网交换机

    在网络可靠性方面,GigaX 2024支持Spanning Tree Protocol(STP),防止环路出现,增强网络稳定性。此外,它还提供了两种优先级级别的规则基础服务质量(QoS,Quality of Service),确保关键数据流的优先处理。最多...

    mstp、rstp.docx

    **MSTP (Multiple Spanning Tree Protocol) 和 RSTP ( Rapid Spanning Tree Protocol)** MSTP 和 RSTP 是两种用于 Ethernet 局域网的桥接协议,旨在防止环路并确保网络的稳定性和可靠性。它们是 STP(Spanning Tree...

    spanning_tree_gui.zip_The Network

    在计算机网络中,为了确保网络的稳定性和无环路运行,生成树协议(Spanning Tree Protocol, STP)扮演着至关重要的角色。STP是解决局域网(LAN)中循环路径问题的有效方法,它通过创建一个逻辑上的树形结构,从而...

    STP.zip_STP_packet tracer_tree

    Spanning tree protocol simulation using packet tracer.

    Catalyst 3550Multilayer Switch实验

    在本实验中,我们将了解Catalyst 3550Multilayer Switch的基本配置和操作,包括VLAN的配置、Spanning Tree Protocol的配置、Trunk的配置等。 一、VLAN的配置 在Catalyst 3550Multilayer Switch中,可以创建多个...

    配置 RSTP.doc

    生成树协议(Spanning Tree Protocol,STP)是一种解决网络环路问题的协议,它在交换网络中提供冗余备份链路,并且解决交换网络中的环路问题。生成树协议的特点是收敛时间长,需要花费大概 30~50 秒的时间。在许多...

    锐捷交换机RSTP配置试验

    生成树协议STP(Spanning Tree Protocol)是一种网络协议,用于防止网络中出现环路。STP的主要功能是通过选择一个根交换机,并将网络分割成多个树形结构,从而避免环路的产生。在本实验中,我们使用锐捷交换机S2126G...

Global site tag (gtag.js) - Google Analytics