生成树协议学习要点全记录

园区网需要线路冗余——冗余线路会导致故障:ARP解析导致问题,之后如果发广播数据则会形成广播风暴——必须有一种机制让一条线路逻辑上处于断开以避免成环——生成树协议出现!

  1.STP(802.1D):该协议执行STA(生成树算法),以避免成环。

  术语:网桥标示符(优先级+mac地址),生成树路径开销(带宽越高开销越小),桥协议数据单元

  桥协议数据单元(BPDU),默认两秒发送 <script src="http://www.net130.com/CMS/JS/newsad.js" language="javascript" type="text/javascript"></script> 一次(可配置成1到10秒间的任意一值),多播目标地址是0180C2000000,BPDU数据中包括的比较参数有:根id,开销,桥id,端口id.BPDU是由根发出的,叫做配置BPDU,其他交换机接收并作出转发!

  生成树接口状态:阻塞——监听——学习——转发

  阻塞是由生成树协议算法决定哪些端口是阻塞状态的,阻塞状态还是会监听BPDU,只是不再参与数据转发了;从阻塞到监听这个过程是等待BPDU 的过程,协议设计的时候只是为了等待3个BPDU经历最长路径(七段链路)传递的过程,经历的时间是20s(2x7+2x3=20),而如今经历这20s 只是为了等待链路状态稳定下来,当阻塞状态经历20s都没有收到BPDU则转向监听状态,监听状态是选根和决定各端口类型的状态;从监听到学习需要经历 15s的时间,处于学习状态的端口可以学习流入帧的MAC地址了,不过还不能转发数据帧;从学习到转发还要经历15s的时间,处于转发状态的端口才能转发 数据帧。

  STP的操作过程:选:a.根(树的源端)

  b.根端口(执行收动作)

  c.指派端口(执行发动作)

  d.非指派端口(阻塞状态)

  比:a.根id

  b.开销

  c.发方桥id

  d.端口id

  STP拓扑变更:a.感知的交换机发出TC BPDU到传递根,根回应TCA(这样一个交互过程不是在根和感知交换机之间,而是之间传递的每段链路都有);

b.根做出BPDU的重新配置;

  c.根发出配置BPDU通告。

  2.pvst 每vlan生成树(cisco only)

  概念,即为每一个vlan维持一个生成树。

  优点,可以做负载平衡且又能相互备份。

  缺点,由于维持的树过多,会影响交换机性能。

  配置:(cisco交换机默认就是pvst)

  (config)#spanning-tree vlan xx priority xx

  (config)#spanning-tree vlan xx maxage xx

  (config)#spanning-tree vlan xx priority xx di (调整直径,能按比例调制所有的时间)

  (config)#spanning-tree vlan xx root (强制制定根)

  所有的STP时间要保持与root bridge一致,所以要更改时间只需在root上更改即可!

  #sh spanning-tree vlan xx (detail)

  #sh spanning-tree int x (detail)

  3.rstp 快速生成树协议(802.1w)

  rstp相当于一种握手机制,是主动的,而stp是被动等待通告。

  端口分类:p to p,可以做握手机制(全双工则是该类)

  共享,不可以做握手,只能通过老的机制收发(半双工则是该类)

  又分成:边界端口,不接收bpdu,不参与stp,不用感知top,也没有必要感知

  非边界端口,收bpdu,参与stp,top是它需要参与感知的

  对于以上的分类而言,p to p握手机制可以快速的协商收敛,而设定边界(如接pc的端口)可以免除参与stp.
端口状态:丢弃(相当于stp中的阻塞和监听)——学习——转发

  以前的非指派端口成为现在的:预备端口 & 备份端口

  预备端口,bpdu来自别人,用来备份根端口;

  备份端口,bpdu来自自己,用来备份指派端口。

  4.mst 多生成树(802.1s)

  主要是设置了生成树实例,再与每个vlan做映射,将vlan映射到所属树中,比pvst减少了生成树个数,加快了收敛,降低了设备资源使用率,同时仍然可以做负载平衡和相互备份。

  配置:step 1: spanning-tree mode mst

  step 2: spanning-tree mst config

  step 3: name 名

  step 4: revision 号

  step 5: instance 号 vlan vlan-range

  (config-mst)#sh current 显示已有的配置

  (config-mst)#sh pending 显示未提交的配置

  #sh spanning-tree mst config

  #sh spanning-tree mst (int)

  5.802.1D的增强

  (1)portfast:配置在2层接入端口,能使其立即进入转发状态,而不用经历监听和学习状态(因为抑制了TCN,不通告top变更),提高了可用性,还可以防止如端口接了pc造成dhcp超时这样一种问题。

  配置:(config-if)#spanning-tree portfast

  (config)#spanning-tree default

  (2)uplinkfast:配置在上行接入汇聚SW的端口,能使交换机端口即刻进入转发状态,不经过监听和学习。

  原理:抑制TCN,使用伪多播帧连接根,通告链路故障MAC地址,进而便于上游交换机能够将MAC地址表从发生故障的链路立即移动到新端口。

  (config)#spanning-tree uplinkfast

  vlan优先级配置过这不能再开启uplinkfast,这个命令影响的是所有的vlan.

  (3)backbonefast:用于核心中,收敛能从50s降到30s,但用的少,因为核心都是跑的路由,靠路由收敛了。

  提高生成树的弹性:BPDU防护:防止交换设备接到portfast口,引起环路,如果接上了,使其进入err状态; (config)#spanning-tree portfast bpduguard

  BPDU过滤:用于过滤接终端interface发bpdu影响终端设备; (config)tfast bpdufilter default (全局启用,有在接口上的命令)

  BPDU时滞:核心交换机上使用的技术,防止交换机过忙无法正常发bpdu,如果出现这种情况,通告snmp引起网管的戒备;

  根保护:抵制新接入的交换机因为priority高而成为根; (config)#spanning-tree guard root

  loop防护:该技术不能与根保护一起用。

  如果同时配置BPDU防护和BPDU过滤,过滤生效。


出处:bbs.net130.com

你可能感兴趣的:(学习)