STP详解(最新整理)_第1页
STP详解(最新整理)_第2页
STP详解(最新整理)_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、详解 stp802.1d 生成树协议 stp交换机通过 listen 端口上收到的数据帧的源地址来学习得到端口-mac 地址转发关系,建立 mac 表在收到未知目的 mac 的数据包时,会向本 vlan 内和 trunk 的所有端口发送,称为 unknown unicast floodingbridge loop 会造成广播风暴,造成交换机 mac 表不稳定生成树协议功能1. 发现环路。2. 保留一条最好的转发路径,将其他的转发路径阻塞掉(不转发流量)。3. 拓扑结构发生变化后,可以将原本阻塞的端口重新开放,确保连通性。交换机之间通过 bpdu 网桥协议数据单元建立生成树。protocol i

2、d ,标准 spt 协议号为 0 哦protocol versionmessage type,即 bpdu 类型,包括 configuration 配置 bpdu,拓扑变化通知 bpdu(只有前三个字段) flag,有两个字段 tca 和 tcncost of path,发出该 bpdu 的交换机(无论是自己发出的还是转发的)离 root 的 cost 距离bridge id,发出该 bpdu 的交换机的 bridge id=priority+macport id,发出该 bpdu 的交换机端口的 idbridge id,用来唯一的表示一台交换机,组成 bridge priority(2b)|

3、mac address(6b) ,默认为 32768。在 extended 的情况下(32768+vlan)使用 pvst(每个 vlan 会独立计算生成树)的话,结构不同:(注意 pvst 是 cisco 私有的协议) bridge priority(4bits) | extend system id(12bits,vlan id) | mac address(48bits,基准 mac 地址,所有 vlan 用同一个基准 mac 地址)*某个 vlan 的 bridge id 优先级 = 基准值 32768 +vlan idroot 的选择(记住 cisco 可是每个 vlan 来一个 r

4、oot 哦)1. 选择 root bridge,比较 bridge id 较小的为 root bridge。所以在没有配置过 bridge priority 时,mac 地址小的成为根(每个只有一个 root bridge)2. 刚启动的交换机认为自己是 root bridge,会发送 bpdu(每 2s 一个),其中包含自己的 bridge id3. 比较自己的 root id 和收到 bpdu 中的 bridge id,如果收到的 bpdu 的 bridge id 较小,则认可对方为 root4. 交换机在认可自己不是 root 后,不再发送自己的 bpdu,只会转发 root 的 bpd

5、u5. 交换机在使用 stp 下的五种状态:disable learning 15/shastening15/s( 转发延迟)forwarding| blocking (20/s 老化时间)当要指定 root 时,方法一,手工修改 bridge priority,但必须以 4096 为单位修改方法二,设置 spanning-tree vlan vlan-id root primary | secondary,通常把分布层交换机设为 rootpvst 端口角色分类root port, designated port, nondesignated port, disable port1. one

6、root bridge per network2. one root port per nonroot bridge,以 nonroot bridge 离 root 最近的端口位 root port3. one designated port per segment,交换机互联网段上离 root 距离最近的接口叫designated port,root 上的端口全是 designated port4. nondesignated ports are blocking距离 costofpath 和链路类型有关10gbps211gbps41100mbps191010mbps100100cost 是

7、交换机端口到根桥的距离总和端口角色确定:1. 在端口角色未定时,root 发送的 bpdu 交换机都会转发2. 一旦 stp 角色确定完成,bpdu 由 root 产生,从 designated port 出 root port 进,修改后再从 designated port 出。也可以从 blocking port 进,但不会被转发。( 所以 block 端口只接受不转发)root port 的选择先后比较从各端口收到的 bpdu 的 cost of path, bridge id, port id(= 端口优先级+端口序号)字段,小的为 root port交换机判断拓扑结构是否变化(即是否

8、进行生成树的切换)的根据是 bpdu 是否失效端口状态分类listening,会开始发送 bpdu,确定端口角色learning,从即将打开的端口学习 mac 地址,只学习,不转发。blockingforwardingstp 端口的状态1) disable(禁用):shutdown2) blocking(阻塞):20s3) listening(监听):15s4) learning(学习):15s5) forwarding(转发)tcn 拓扑变化通知 bpdu 的发送条件1. 接口 down2. 交换机已经有指定端口,但有另一个接口 uptcn 拓扑变化通知 bpdu 行为发现拓扑变化的交换机向

9、上游交换机发送 tcn 拓扑变化通知 bpdu(即从 root port 发送) 上游交换机收到后回以确认(bpdu 中的 flag 字段中 tca 置为 1),在向上游发送 tcn bpdu。直到达到 root bridge 后,由 root bridge 发送正常 bpdu 时 flag 字段 tcn=1,通知交换机把自己 mac 表的老化时间从默认的 300s 改为 15s(将错误地 mac 表项尽快老化),这样的 bpdu 会持续发送?sh spanning-tree vlan . briefcisco 又开发了 pvst(per vlan spanning tree)。802.1q

10、默认只能够计算 native vlan 的生成树,所有的 vlan 使用一棵生成树(称为共享生成树 cst) 而使用 pvst,每个 vlan 独立计算生成树,可以做负载均衡pvst+是能够兼容 cst 的portfast,:终端刚连上交换机时需要 30s 时间端口才能正常转发(需要经历 listening+learning 时间) portfast 端口是指交换机接终端设备,终端特指电脑为了防止在portfast 端口上接上了交换机而引起环路,可以使用bpduguard:如果端口设置为portfast 时,端口收到了 bpdu 时,交换机会自动将端口 down根端口:处于转发状态 指定端口:

11、dp,也是转发非指定端口:ndp,处于赌赛状态进站接口最远的为 down(选举根桥问题)rstp由于生成树切换时间很长,所以在 802.1d 的基础上开发了 802.1w 快速生成树协议,使得在不引起环路情况下能够快速切换。端口角色有所改变,将 stp 中的 nondesignated port 分成了 alternative port 和 backup port alternative port,可以认为 root port 的备用能够收到其他交换机的 bpdu 的 nondesignated port backup port,可以认为 designated port 的备用能够收到自己所在

12、的交换机所发的 bpdu(通常与该 segment 上的 designated port 在同一个交换机上,只是由于 port id 较小而成为 backup port)当交换机发现自己失去 root port 或者 segment 内失去 designated port 时,alternative port 和backup port 的角色会立刻切换 端口状态改为三种:discarding(=原来的 blocking + listening+ disable), learning, forwarding端口的类型分为 edge port 和 nonedge port(edge port 端口

13、只会连接 pc,一 up,立刻从 block 到forwarding,且端口 up,down 不会引起拓扑变化通知,类似于 portfast)但一旦 edge port 收到 bpdu,该端口马上会变成 nonedge port,进行生成树计算,发送拓扑变化通知(与 portfast 不同)链路类型,按双工类型分为 shared 和 p2p半双工的链路为 shared link(hub 接 pc 或交换机的端口是半双工的)全双工的链路为 p2p link(pc 直接连接交换机的端口是全双工的) 链路类型通常对 designated port 才关心,因为关系到同步rstp 的 bpdu 格式与

14、 stp 相同。只有协议类型字段和 flag 字段不同。(stp 中的 flag 字段只使用的头、尾 bit,rstp 还用了其他 bit 位,尤其是用于同步的 proposal 位和 agreement 位,见书 3-41)快速发现拓扑变化交换机每 2s 会生成和发送自己的 bpdu(次等 bpdu),哪怕没有收到 root bridge 的 bpdu。(不像 stp 中,只有 root bridge 会发送 bpdu。这样就不需要等待 20s,等待 bpdu 超时。)如果一个交换机 6s 内没有收到任何 bpdu,就认为发生了拓扑变化,重新计算生成树所以,rstp 中 bpdu 不只是 r

15、oot bridge 才发送,而更加类似与交换机之间的 keep alive 消息运用同步机制,进行快速切换交换机除了 edge port 外,所有端口都是屏蔽状态,成为到达同步状态1. 上游交换机发现拓扑变化,确定端口角色后,检查端口状态是否存在以下情况:角色是designated port,状态是 block,链路类型是 p2p2. 如果存在以上情况,上游交换机会发送 proposal bpdu,通知下游交换机做同步3. 下游交换机收到后将所有 nonedge port 置为 block 状态,除了收到此 proposal 的端口以外(即 sync 操作,目的是在同步期间避免环路的暂时产生

16、)4. 下游交换机回复一个 agreement5. 上游交换机收到 agreement 后,designated port 立刻从 block 状态切换到 forward 状态6. 下游交换机检查是否还需要再往下游同步拓扑变化通知stp 中拓扑变化通知的机制是先通知 root bridge,再由 root bridge 通知其他交换机更新 mac 地址表rstp 中触发拓扑变化通知的条件:nonedge port 从 block-forwardrstp 的拓扑变化通知的机制,不需要每个交换机等待 rootbridge 的通知并维持 tc 状态,而是 one- step 完成,rstp 是每个

17、vlan 计算一个生成树rstp 是向下兼容的,网络中只要有一台交换机只支持传统 stp,那么其他所有的交换机即使配置了 rstp也会自动使用传统 stpmstp 多生成树协议cst:所有 vlan 都使用 native vlan 计算所的生成树cisco pvst:每个 vlan 独立计算生成树。支持 isl 和 802.1q 的 trunk 类型(要注意 trunk 中的 vlan 限制)mstp:可以有多个生成树实例,既可以负载均衡,又不会像 pvst 因为 vlan 太多,造成过多的生成树计算,过多的 bpdu(cisco 交换机可以支持 16 个实例,其中 0 是 ist 内部生成树

18、协议,15 个用户自定义实例,默认情况下所有 vlan 属于实例 0)mstp 必须在 rstp 的基础上使用,同样向下兼容。mst region 区域:受统一管理的一组交换机,条件是必须有相同的三个参数:region name, revision number, vlan 和实例的对应关系的交换机,才在同一区域内在一个 region 内,用特殊的 mstp bpdu 来交换信息(mstp bpdu 是所有实例共用的),它的结构包含 ist bpdu 信息(和普通 bpdu 相同)和 m-record(表示各个实例的拓扑信息)。(region 内只有一个 bpdu)只有支持 mstp 的交换机

19、才能够识别 mstp bpdu。如果要出 region,发出的是一个正常的 bpdu。(即 ist bpdu 部分。所以说外部只能和 region 内的ist 内部生成树实例交互,且只有外部交换机只有 native vlan 的 bpdu 能进入 region 内,因为 mstp 是ieee 标准的,不支持 pvst)bridge id:优先级 |实例号(12bits) | mac 地址端口角色:root port , designated port, alternative port, boundary portist 内部生成树实例,作用,使 mst region 内与外部其他交换机交换

20、bpdu,建立一棵共同的生成树。*(对于 region 的实例 0 内的 vlan 来说,root bridge 要不在 region 内,要不在 region 外,且对于内部交换机来说,不是独立计算生成树的,而是把 mst region 实例 0 作为一个整体进行计算的,即 region 作为一个大的交换机参与生成树计算。而对于其他实例内的 vlan 来说,有可能在 region 内计算出一个root,又在region 外计算出一个root(因为这些vlan 的mstbpdu 信息不能被外部获得),但实际上 region 外的 vlan 拓扑只能和 region 内实例 0 的拓扑相连)ms

21、t 域内只有一个bpdu(bpdu 中的root id 是相同的),所以当boundary port 向外转发bpdu 时,所有的 bpdu 也是相同的,因此在外界计算生成树的时候看来 mst 域就好像一个大的虚拟交换机。mst 是 ieee 的标准,所以只能与 cst 共同使用,而不能与 cisco 私有的 pvst 共同使用。域外的 bpdu, 只有 native vlan 的 bpdu 才能传入域内由于只有 ist 的 bpdu 能够发送到域以外,即 mst 域内只有 ist 的拓扑信息能够被域外的交换机感知, 所以域外交换机任何 vlan 的生成树都只会和 ist 相连。(即,域外所有

22、 vlan 的生成树的 mst 域部分都是相同的,使用内部生成树 ist)(可以想象,如果域内 vlan2 属于 mst 0,那么域外的 vlan 1、2、3等生成树都会与 ist 相连)对属于 mst 0 的 vlan 来说,root bridge 的选举范围是“域内+域外”。而对属于其他 mst 实例的 vlan来说,有可能产生域内一个 root bridge,域外一个 root bridge 的情况?。总的来说,可以理解为 mst 0 的生成树是全局的,而其他 mst 实例的生成树是域内局部的? 建议,把所有 vlan 的跟都放在 region 内或者 region 外?不同 regio

23、n 间的交互也是利用 ist。配置:#spanning-tree mode mst# spanning-tree mst config mst# name namemst# revision numbermst# instance inst vlan rangemst# spanning-tree mst instance-number root primary | secondarysh spanning-tree mst instance-numberif#spanning-tree mst pre-standard /支持 ios 12.2(25)以前的非标准 mstpstp 安全机制针

24、对 portfast 的技术(防止在 portfast 端口上接上交换机)1. bpdu guard:当在 portfast 端口上收到 bpdu,端口将直接自动出错关闭 err- diaable#spanning-tree portfast bpduguard2. bpdu filter:在不同模式下激活作用不同#spanning-tree portfast bpdufilter default /在全局模式下配置的话,portfast 端口一旦收到bpdu,该端口就不再是 portfast 端口if# spanning-tree bpdufilter enable /在接口模式下激活的话,

25、portfast 端口忽视任何收到的 bpdu,且不发送任何 bpdu,即无法检测环路存在3. root guard: 保护现有 root bridge 位置。如果交换机已经知道 root bridge,但有在启用root guard 的端口上收到优先级更高的 bpdu,则会将该端口置于 inconsistency 根不一致状态。root guard 应该再有可能连接外部的端口上启用if# spanning-tree guard rooterrordiable recovery cause time /对于而造成的 errordiable,每过 time 秒自动清除errordisable 打

26、开端口环路保护技术:1. 非双向链路(如光纤收发中的一路损坏),会引起环路。可使用非双向链路检测 udld(这是一种物理层技术,交换机默认会在光纤口上启用该技术),非双向链路出现时会出错关闭(处理针对物理故障)nortmal mode,会反复尝试多次检测才出错关闭aggressive mode,一旦检测到马上出错关闭# udld enable /全局模式下激活 udld,会在所有光纤接口上激活if# udld enable /对非光纤接口,要在接口模式下激活if# udld disable /对于光纤接口,如此关闭 udldif# no udld enable /对于非光纤接口,如此关闭 udld2. 交换机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论