生成树原理和配置

STP生成树原理和配置
      STP生成树原理和配置
      STP(Spanning Tree
      Protocol)是生成树协议的英文缩写。该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。  STP的基本原理是,通过在交换机之间传递一种特殊的协议报文(在IEEE
      802.1D中这种协议报文被称为“配置消息”)来确定网络的拓扑结构。配置消息中包含了足够的信息来保证交换机完成生成树计算。
        生成树协议STP/RSTP
        1. 技术原理:
        STP的基本思想就是生成“一棵树”,树的根是一个称为根桥的交换机,根据设置不同,不同的交换机会被选为根桥,但任意时刻只能有一个根桥。由根桥开始,逐级形成一棵树,根桥定时发送配置报文,非根桥接收配置报文并转发,如果某台交换机能够从两个以上的端口接收到配置报文,则说明从该交换机到根有不止一条路径,便构成了循环回路,此时交换机根据端口的配置选出一个端口并把其他的端口阻塞,消除循环。当某个端口长时间不能接收到配置报文的时候,交换机认为端口的配置超时,网络拓扑可能已经改变,此时重新计算网络拓扑,重新生成一棵树。
      2. 功能介绍:
        生成树协议最主要的应用是为了避免局域网中的网络环回,解决成环以太网网络的“广播风暴”问题,从某种意义上说是一种网络保护技术,可以消除由于失误或者意外带来的循环连接。STP也提供了为网络提供备份连接的可能,可与SDH保护配合构成以太环网的双重保护。新型以太单板支持符合ITU-T
      802.1d标准的生成树协议STP及802.1w规定的快速生成树协议RSTP,收敛速度可达到1s。
        但是,由于协议机制本身的局限,STP保护速度慢(即使是1s的收敛速度也无法满足电信级的要求),如果在城域网内部运用STP技术,用户网络的动荡会引起运营商网络的动荡。目前在MSTP
      组成环网中,由于SDH保护倒换时间比STP协议收敛时间快的多,系统采用依然是SDH
      MS-SPRING或SNCP,一般倒换时间在50ms以内。但测试时部分以太网业务的倒换时间为0或小于几个毫秒,原因是内部具有较大缓存。SDH保护倒换动作对MAC层是不可见的。这两个层次的保护可以协调工作,设置一定的“拖延时间”(hold-off),一般不会出现多次倒换问题。
        生成树算法
        生成树协议运行生成树算法(STA)。生成树算法很复杂,但是其过程可以归纳为一下三个部分。
        (1)选择根网桥
        (2)选项根端口
        (3)选择指定端口
        选择根网桥的依据是交换机的网桥优先级,网桥优先级是用来衡量网桥在生成树算法中优先级的十进制数,取值范围是0~65535.默认值是32768,网桥ID是由网桥优先级和网桥MAC地址组成的。共有8个字节。
        选择根端口的依据是
        (1)到跟网桥的最低路径成本。
        根路径成本是两个网桥间的路径上所有链路的成本之和,也就是某个网桥到达根网桥的中间所有链路的路径成本之和,一条链路的带宽越大,他的传输成本就越低。
        (2)直连的网桥ID最小
        (3)端口ID最小
        选择指定端口的依据是:
        (1)根路径成本较低
        (2)所在的交换机网桥ID值最小
        (3)端口ID值最小
        STP生成树协议
        一、STP概述
        STP(生成树协议)是一个二层管理协议。在一个扩展的局域网中参与STP的所有交换机之间通过交换桥协议数据单元BPDU(Bridge
      Protocol Data
      Unit)来实现;为稳定的生成树拓扑结构选择一个根桥;为每个交换网段选择一台指定交换机;将冗余路径上的交换机置为Blocking,来消除网络中的环路。
        IEEE 802.1d是最早关于STP的标准,它提供了网络的动态冗余切换机制。STP使您能在网络设计中部署备份线路,并且保证:
        在主线路正常工作时,备份线路是关闭的。
        当主线路出现故障时自动使能备份线路,切换数据流。
        RSTP(Rapid Spanning Tree
      Protocol)是STP的扩展,其主要特点是增加了端口状态快速切换的机制,能够实现网络拓扑的快速转换。
        1.1 设置STP模式
        使用命令config spanning-tree mode可以设置STP模式为802.1d STP或者802.1w RSTP。
        1.2 配置STP
        交换机中默认存在一个default
      STP域。多域STP是扩展的802.1d,它允许在同一台交换设备上同时存在多个STP域,各个STP域都按照802.1d运行,各域之间互不影响。它提供了一种能够更为灵活和稳定网络环境,基本实现在VLAN中计算生成树。
        1.2.1 创建或删除STP
        利用命令create stpd和delete stpd可以创建或删除STP。
        缺省的default STP域不能手工创建和删除。
        1.2.2 使能或关闭STP
        交换机中STP缺省状态是关闭的。利用命令config stpd可以使能或关闭STP。
        1.2.3 使能或关闭指定STP的端口
        交换机中所有端口默认都是参与STP计算的。使用命令config stpd port可以使能或关闭指定的STP端口。
        1.2.4 配置STP的参数
        运行某个指定STP的STP协议后,可以根据具体的网络结构调整该STP的一些参数。交换机中可以调整以下的STP协议参数:
        Bridge Priority
        Hello Time
        Forward Delay
        Max Age
        另外每个端口上可以调整以下参数:
        Path Cost
        Port Priority
        表1-1 配置STP参数的常用命令
            config stpd forwarddelay
            配置根桥交换机端口状态切换的时间间隔
            config stpd hellotime
            配置根桥交换机发送BPDU的时间间隔
            config stpd maxage
            配置BPDU报文老化的最长时间间隔
            config stpd priority
            配置运行STP协议时本交换机的优先级
            config stpd port cost
            配置参与STP计算端口的路径开销
            config stpd port priority
            配置参与STP计算的端口的优先级
 
        1.2.5 显示STP状态
        利用命令show stpd可以查看STP的状态,包括:
        BridgeID
        Root BridgeID
        STP的各种配置的参数
        利用命令show stpd port可以显示端口的STP状态,包括:
        端口状态
        Designated port
        端口的各种配置参数
        一 VLAN与生成树
        在缺省的CISCO STP模式中,每个VLAN定义一个STP.
        IEEE802.1Q标准是在整个交换VLAN网络中使用一个STP,但并不排除在每个VLAN中实现STP.
        1 VLAN与生成树的关系
        >IEEE通用生成树(CST)
        >CISCO PER VLAN生成树(PVST)
        >带CST的CISCO PER VLAN生成树(PVST+)
        CST是IEEE解决运行虚拟局域网VLAN生成树的方法.CST定义,整个第2层交换网络所有实现了的VLAN,仅使用一个生成树实例.这个生成树实例运行在整个交换局域网上.
        PVST是解决在虚拟局域网上处理生成树的CISCO特有解决方案.PVST为每个虚拟局域网运行单独的生成树实例.一般情况下PVST要求在交换机之间的中继链路上运行CISCO的ISL.
        PVST+是CISCO解决在虚拟局域网上处理生成树问题的另一个方案.PVST+允许CST信息传给PVST,以便与其他厂商在VLAN上运行生成树的实现方法进行操作.
        2 按VLAN生成树(PVST)
        为每个VLAN建立一个独立的生成树实例(PVST).
        生成树算法计算整个交换型网络的最佳无环路径.
        PVST的优点:
        >生成树拓扑结构的总体规模减少.
        >改进了生成树的扩展性,并减少了收敛时间.
        >提供更快的收敛恢复能力和更高的可靠性.
        PVST的缺点:
        >为了维护针对每个VLAN而生成的生树,交换机的利用率会更高
        >为了支持各个VLAN的BPDU,需要占用更多的TRUNK链路带宽
        生成树仅可运行在64个VLAN上.
        3 公共生成树(CST)
        CST是IEEE在虚拟局域网上处理生成树的特有方法,这是一种VLAN解决方案,称为单一或者公共生成树.生成树协议运行在VLAN1即缺省的VLAN上.所有的交换机都举出同一个根网桥,并建立与该根网桥的关系.
        公共生成树不能针对每个VLAN来优化根网桥的位置.
        公共生成树优点:
        >最小数量的BPDU通信,带宽占用少.
        >交换机负载保持最小.
        公共生成树的缺点如下:
        >只用一个根网桥,这不能为所有的VLAN做到网桥的优化放置,导致对某些设备来说可能存在次优化路径.
        >为包括交换架构中的所有端口,生成树的拓扑结构较大,这就会导致较长的收敛时间和更频繁的重新配置.
        4 增强型的按VLAN生成树(PVST+)
        PVST+有以下特征:
        >它是CISCO发展的,可以与802.1Q公共生成树(CST)互操作.
        >通过ISL中继,PVST+与现存的CISCO交换机PVST协议向后兼容,同时,PVST+也通过802.1Q中继与CST连接互操作.
        >如果PVST区域和CST区域之间要互操作,一定要通过PVST+区域.
        --------------------------------------------------------------------------------
        二 生成树配置
        生成树配置涉及下面一些任务:
        >选举和维护一个根网桥.
        >通过配置一些生成树的参数来优化生成树.(如端口优先级 端口成本)
        >通过配置上行链路来减少生成树的收敛时间.
        2950交换机上生成树的缺省配置:
        >STP启用:缺省情况下VLAN1启用
        >STP模式:PVST+
        >交换机优先级:32768
        >STP端口优先级:128
        >STP路径成本:1000M:4 100M:19 10M:100
        >STP VLAN端口成本: (同上)
        >STP计时器:HELLO时间:2秒 转发延迟:15秒 最大老化时间:20秒
        1 启用生成树:
        switch(config)#spanning-tree vlan vlan-list
        步骤:
        switch#c onfig t
        switch(config)# spanning-tree vlan 10
        switch(config)#end
        switch#show spanning-tree summary/detail
        summary摘要  detail详细
        Bridge Identifier has priority 8912,address 0006.eb06.1741 (本地交换机网桥ID)
        desigated root has priority 8912,address 0006.eb06.1741    (根网桥ID)
        designated port is 7,path cost 0 (路径成本)
        times: hold1, topology change 35, notification 2
        hello 2, max age 20, forward delay 15 (根计时器)
        2 人为建立根网桥
        在生成树网络中,最重要的事情就是决定根网桥的位置.
        可以让交换机自己根据一定的原则来选择根网桥以及备份或从(secondary)根网桥,也可使用命令人为指定根网桥.
        PS:不要将接入层的交换机配置为根网桥.STP根网桥通常是汇聚层或者核心层的交换机.
        通过命令直接建立根网桥:
        spanning-tree vlan vlan-id root primary (网桥优先级被置为24576)
        步骤:
        switch#c onfig terminal
        switch(config)#spanning-tree vlan vlan-id root primary dianmeter
      net-diameter hello-time sec
        为VLAN配置根网桥、网络半径以及HELLO间隔
        ROOT关键字:指定这台交换机为根网桥
        diameter
      netdianmeter:该关键字指定在末端口主机任意两点之间的网段的最大数量.net-diameter的值是2-7.这个直径应该从根网桥开始计算,根网桥是1
        switch(config)#end
        switch#show spanning-tree vlan vlan-id detail
        让交换机返回缺省的配置,可以使用如下命令:
        no spanstree vlan vlan-id root
        2>修改网桥的优先级别:
        多数情况下做如下配置:
        spanning -tree vlan vlan-id root primary (主ROOT网桥优先级被置为24576)
        spanning-tree vlan vlan-id root secondary(备份ROOT网桥优先级被置为28672)
        修改网桥优先级:
        spanning-tree vlan vlan-id priority bridge-priority
        3 确定到根网桥的路径
        生成树协议依次用BPDU中这些不同域来确定根网桥的最佳路径:
        >根路径成本(ROOT PATH COST)
        >发送网桥ID(BRIDGE ID)
        >发送端口ID(PORT ID)
        从端口发出BPDU时,它会被施加一个端口成本,所有端口成本的总和就是根路径成本.生成树首先查看根路径成本,以确定哪些端口应该转发,哪些端口应该阻塞.报告最低路径成本的端口被选为转发端口.
        如果对多个端口来说,其中根路径成本相同,那么,生成树将查看网桥ID.报告有最低网桥ID的BPDU端口被允许进行转发,而其他所有端口被阻断.
        如果路径成本和发送网桥ID都相同(如在平行链路中),生成树将查看发送端口ID.端口ID值小的优先级高,将作为转发端口.
        4 修改端口成本
        如果想要改变某台交换机和根网桥之间的数据通路,就要仔细计算当前的路径成本,然后,改变所希望路径的端口成本.
        我们可以更改交换机端口的成本,端口成本更低的端口更容易被选为转发帧的端口.
        spanning-tree vlan vlan-id cost cost
        no spanning-tree vlan vlan-id cost(恢复默认成本)
        配置步骤:
        >1 config terminal   进入配置状态
        >2 interface interface-id  进入端口配置界面
        >3 spanning-tree vlan vlan-id cost cost值 为某个VLAN配置端口成本
        >4 end
        >5 show spanning-tree interface interface-id detail 查看配置
        >6 write
        5 修改端口优先级
        在根路径成本和发送网桥ID都相同的情况下,有最低优先级的端口将为vlan转发数据帧.
        对应基于CLI的命令的交换机,可能的端口优先级别范围为0~63,缺省为32.基于IOS的交换机端口的优先级别范围是0~255,缺省为128.
        spanning-tree vlan vlan-id port-priority priority值
        no spanning-tree vlan vlan-id port-priority
        1> config terminal  (进入配置模式)
        2> interface interface-id (进入端口配置模式)
        3> spanning-tree vlan vlan-id port-priority 值
        4> end
        5>show spanning-tree interface interface-id detail
        6>write
        --------------------------------------------------------------------------------
        6 修改生成树计时器
        使用缺省的STP计时器配置,从一条链路失效到另一条接替,需要花费50秒.这可能使网络存取被耽误,从而引起超时,不能阻止桥接回路的产生,还会对某些协议的应用产生不良影响,会引起连接、会话或数据的丢失。
        还有一种情况就是使用热备份路由选择协议(HSRP),将两台路由器连接到一台交换机上。某些情况下,缺省的STP的计时器值对于HSRP而言过长,会引起“活动”路由器的选择的错误。
        1 修改HELLO时间
        spanning-tree vlan vlan-id hello-time seconds
        可以修改每一个VLAN的Hello间隔(HELLO TIME),它的取值范围是 1~10秒
        2 修改转发延迟计时器
        转发延迟计时器(forward delay
      timer)确定一个端口在转换到学习状态之前处于侦听状态的时间,以及在学习状态转换到转发状态之前处于学习状态的时间。
        spanning-tree vlan vlan-id forward-time seconds
        PS:转发时间过长,会导致生成树的收敛过慢
        转发时间过短,可能会在拓扑改变的时候,引入暂时的路径回环。
        3 修改最大老化时间
        最大老化时间(MAX―AGE TIMER)规定了从一个具有指定端口的邻接交换机上所收到的BPDU报文的生存时间。
        如果非指定端口在最大老化时间内没有收到BPDU报文,该端口将进入listening状态,并接收交换机产生配置BPDU报文。
        修改命令:
        spanning-tree vlan vlan-id max-age seconds
        no spanning-tree vlan vlan-id max-age (恢复默认值)
        7 速端口的配置
        通过速端口,可以大大减少处于侦听和学习状态的时间,速端口几乎立刻进入转发状态。速端口将工作站或者服务器连接到网络的时间减至最短。
        PS:确定一个端口下面接的是终端的时候,方可启用速端口设置
        switch(config-if)#spanning-tree portfast
        switch(config-if)#no spanning-tree portfast(关闭速端口)
        查看端口的速端口状态:
        show spanning-tree interface interface-id detail
     

你可能感兴趣的:(职场,原理,生成树,休闲,三层)