路由与交换:生成树协议- -STP(基础)

生成树协议- -STP

1.冗余性与STP

冗余可以增加网络的可用性,但可能形成一个封闭的信息环路给通信系统带来毁灭性的影响,本章主要通过以下四方面介绍几余可能会给网络带来的问题和这类问题的解决方案
    1. 冗余链路
    2. STP的由来
    3. STP的术语
    4. 树的基本理论

1.1 冗余链路

冗余设备和链路解决网络的单点故障

几余给网络带来的常见隐患:
  1. 重复帧
  2. MAC地址震荡
  3. 广播风暴

重复帧

MAC地址震荡

广播风暴

2.1 STP 

  STP的作用:   在余链路的网络环境下
     1. 去除单点故障的同时保证每个节点可达:
      2. 打破网路中的逻辑环路,阻断广播帧的循环广播。

2.1.1STP的由来


    1. 第一代STP协议是由DEC公司的Radia Perlman开发
    2.IEEE协会在1990年,根据Perlman设计的算法,发布了第一人公共STP标准,该标准定义在           IEEE 802.1D中。

2.1.2 STP的工作原理


   1.根据一些规则判断出哪些端口能够转发数据,哪些端口不能转发数据
   2.不能转发数据的端门将它禁用起来                                                                                          3.实时监控冬个端口和链路的状态,当出现故障时,STP会启用一些被禁用的端口。

2.1.3 STP通过阻塞端口来打破环路:

2.1.4STP的术语
STP的工作流程


  1.STP识别端口;
  2.STP执行选举
  3.赢得选举的端口成为转发端口;
  4.剩下的端口自然就成为阻塞端口。

STP的角色


  1.根网桥: 也称为根交换机或根 (网) 桥;
  2.根端口: 负责转发数据
  3.指定端口: 负责转发数据:
  4.预备端口: 处于阻塞状态,不能转发数据

STP的选举范围


  整个交换网络:一个二层广播域:
  每台交换机: 二层广播域中的交换机个体
  每个网段: 以两个或两个以上的网卡为边界的一段物理链路。

  选举角色和选举范围:

选举范围的概念:

BPDU 桥协议数据单元


   STP是通过比较BPDU中携带的信息进行选举的:
   携带着桥ID、根桥ID、根路径开销等信息。
   BPDU: bridge protocol data unit 桥协议数据单元

BPDU的两种类型
  配置 BPDU(Configuration BPDU)
  拓扑变化通知 BPDU(TCN BPDU)

配置BPDU: 在初始形成STP树的过程中,各STP交换机都会周期性地 (缺省为
2秒) 主动产生并发送Configuration BPDU (配置BPDU) 。在STP树形成后的
稳定期,只有根桥才会周期性地 (缺省为2秒)主动产生并发送Configuration
BPDU:相应地,非根交换机会从自己的根端口周期性地接收到Configuration
BPDU,并立即被触发而产生自己的Configuration BPDU,且从自己的指定端口
发送出去。这一过程看起来就像是根发出的Configuration BPDU逐跳地“经过
了其他的交换机。
      拓扑变化通知BPDU: 拓扑变化通知BPDU (或简称TCN BPDU) 是非根交换机
通过根端口向根网桥方向发送的。当非根交换机检测到拓扑变化后,就会生成
个描述拓扑变化的TCN BPDU,并将其从自己的根端口发送出去

2.2树的基本理论

在图论中,图的概念:
   顶点 (Vertex) 的集合 (数学中用V(G)表示)
   边 (Edge) 的集合 (数学中用E(G)表示) ;
   它们之间的相互关系所构成的。

在这个概念中,十分值得说明的两点是,顶点也可以称为节点(
Node) ,而边集合中的每个元素都是顶点集中的二元子集。如果把上
述定义换成一种比较通俗的方式表达,可以将每张图理解为是由数量有
限的节点,和一些连接其中某两个节点的边所构成的,而图就是为了措
述这些点和边的相互关系。由此,读者应该可以意识到,图论中的图如
果应用到网络技术领域,就是网络的拓扑,其中顶点就是网络节点,而
边相则当于设备与设备之间的链路

树 (Tree)的定义


  图的一种;
  无环;
  连通。
树 (Tree)是图的一种,指的是无环连通图。在树的定义中有两个关键要素
  一是无环,二是连诵。

森林:无环不连通的图

无环且连通的图叫树,而五环但不连通的图叫森林。上图G就是个森林。

生成 (spanning) 树:图Gn含如下特点
  图Gn中的每个顶点集合中的元素都是图G顶点集合中的元素
  图Gn中的每个边集合中的元素都是图G边集合中的元素
  图Gn和图G的顶点集合相同
  生成子图Gn是树。

顶点可以理解为网络节点,边可以理解为链路。那么,一个网络拓扑
的生成树,就是一个包含该拓扑中所有网络节点的无环连通拓扑。除
非该图本身就是树,否则图的生成树往往是不唯一的。

生成树:

   图G2和图G;都是图G的生成树。实际上,在任
   图G显然就是网络的简化图,而图G1、
   何一个稍大或者结构稍显复杂的图中,
   生成树的数量就有可能极为庞大。

  根 (Root)


  树可以想象成从某一个顶点开始进行分枝,那么这个顶点为根   树的每一个节点都可以作为根。

   STP原理

    STP的工作流程


        根网桥的选举
        根端口的角色
        指定端口的角色
        阻塞剩余端口
        STP端门状态机
        STP的配置
        调节STP计时器参数

STP工作的第一步:    选举根网桥
每个STP网终中都有且只有一台根网桥 (亦称根交换机作为根网桥的这台交换机就是STP所构建的生成树的根选举范围为整个交换网络

STP协议构建的生成树就是典型的有根树

STP工作的第二步:     选举根端口
非根交换机会在自己的所有端口之间,选择出距离根网桥最近的端口;选举范围为每个交换机 (除根交换机)

STP工作的第三步:     选举指定端口
位于同一网段中的所有端口之间选择出一个距离根网桥最近的端口;
  选举范围为每个网段。

由于现在大多环境中一个网段”的范围与两个直连端口的范围等同,因此在我们接下来的实验环境中,可以理解为在直连的两个端口之间选择出一个距离根网桥最近的端口为指定端口。

STP工作的第四步:    阻塞预备端口
在选出了根端口和指定端口后,STP会把那些既不是根端口,也不是指定端口的其他所有端口置于阻塞状态

根网桥的选举:

      参选者: 在一个STP网络中,默认所有交换机都会参与根网桥的选举;
      选举原则: 在选举根网桥时,交换机之间相互对比的参数是“桥ID”

  桥ID的定义


     优先级: 16 bit字段,默认为32768
      MAC地址: 48 bit字段,交换机的硬件MAC地址
     由优先级和MAC地址组成一个64 bit的字段

    优先级小者优先成为根,如果优先级一样则比MAC地址数字小的优先。

  选举根网桥:

根网桥的选举结果

根网桥的选举规则 

                                                                                                                    
首先,比优先级,优先级小者优先
其次,比MAC地址,MAC地址小者优先。

根端口(RP)的选举


   选举的范围是每台非根交换机:
   参选者的是这台非根交换机上所有启用的端口。

根端口 (RP)的选举原则


   首先,选择根路径开销 (Root Path Cost,RPC) 最低的端口;
   其次,若有多个端口的RPC相等,选择对端桥ID最低的端口:
   最后,若有多个端口的对端桥ID相等,选择对端端口ID最低的端口。

步骤一选举根端口(案例) :

步骤二选举根端口(案例)

步骤三选举根端口(案例)

指定端口 (DP)的选举


   选举的范围是每个网段:
   参选者的是同处于这个网段中的所有端口 (不包括已经被选举为根端口的端口)。

指定端口 (DP)的选举原则


   首先,选择根路径开销 (Root Path Cost,RPC) 最低的端口;
   其次,若有多个端口的RPC相等,选择桥ID最低的端口,
   最后,若有多个端口的桥ID相等,选择端口ID最低的端口。

选举指定端口(案例)

阻塞剩余端口(案例)

交换机端口角色归纳


根端口: 非根桥上距离根桥最近的端口,处于转发状态
指定端口: 每一个网段中距离根桥最近的端口,处于转发状态
预备端口: 落选的端口,处于监听的状态

交换机端口角色对比:

STP五种状态

阻塞状态 (Discarding):
这是一种稳定状态,阻塞状态表示如果这个端口进入转发状态的话, STP域中就会出现交换环路。这时端口接收并处理BPDU,不发送BPDU,不学习MAC地址表,不转发数据;
侦听状态 (Listening):                                                                                                                         这是一种过渡状态,这时端口接收并发送BPDU,参与STP计算,不学习MAC地址表,不转发据
学习状态(Learning):                                                                                                                          这是一种过渡状态,这时端口接收并发送BPDU,参与STP计算,学MAC地址表,不转发数据;
转发状态 (Forwarding) :                                                                                                                  这是一种稳定状态,也是根端口和指定端口的最终状态。这时端口接收并发送BPDU,参与STP计算,学习MAC地址表,转发数据:
未启用 (Disabled):                                                                                                                               这其实并不能严格算是STP端口状态,这种状态表示端口还未启用,因此并不参与STP。这时端口不接收和发送BPDU,不参与STP计算,不学习MAC地址表,不转发数据。

STP端口的状态机:

     编号1表示端口初始化事件。未启用状态从严格意义上来说并不是STP端口状态,因为这时端口还未启用: 也就是未连接线缆,使端口处于“未连接”状态;或者管理员在端口应用了shutdown命令,使端口处于“管理关闭”状态。当管理员为端口连接上了线缆且应用了undo shutdown命令之后,端口会立即进入第一个真正意义上的STP状态: 阻塞状态
     编号2表示的事件是: 端口被选为根端口或指定端口。换句话说,如果端口因落选而成为预备端口的话,它就会稳定在阻塞状态,而不会继续进行STP状态的迁移。只有当端口被选为根端口或指定端口,"才有资格最终进入转发状态,但在此之前它还需要经历两个过渡状态侦听和学习。一旦端口被选为根端口或指定端口,它就会立即进入侦听状态;
    编号3表示的事件是转发延迟 (Forward Delay) 计时器超时。这种状态在图中出现了2次,即从侦听过渡到学习,以及从学习过渡到转发。转发延迟计时器默认为15秒,端口一旦进入到侦听状态 (或学习状态) ,必须等待15秒才能过渡到学习状态(或转发状态)
     编号4表示的事件是: 端口不再是根端口或指定端口。也就是说,端口失去了转发资格,应该被阻塞。一旦出现这种情况,端口的STP状态会立即迁移到阻塞状态。编号4在状态机中出现了3次,表示当端口处于侦听、学习或转发状态时,都有可能因为网络环境的变化使端口的STP角色从根端口或指定端口变为预备端口,并立即进入阻塞状态

转发延迟超时事件


以时间作为是否迁移到下一状态的评判标准,其他事件只要发
生,端口会立即切换STP状态
确保了当网络中STP端口状态发生变化时,不会产生临时环路。

STP端口状态机:

STP的配置拓扑:

启用STP并修改优先级值:

查看STP根网桥:

查看STP端口角色:

查看端口开销:

调节STP计时器参数

转发延迟的配置方法:
[SWA]stp timer forward-delay 2000

配置STP计时器值:
[SWA]stp timer hello 300
[SWA]stp timer max-age 3000

SWD上查看STP信息:

个计时器需满足的条件:
   2x (转发延迟-1秒) > MaxAge
   MaxAge > 2x (Hello时间+1秒

指定STP网络直径:
   [SWA]stp bridge-diameter 2

SWA上查看STP信息:

SWD上查看STP信息:

  • 21
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幻觉的信仰*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值