1 / 98

HL-007 生成树协议

HL-007 生成树协议. ISSUE 1.1. 江西陶瓷工艺美术职业技术学院. 引入. STP/RSTP/MSTP 在二层网络上形成树状网络拓扑结构,避免环路。 二层网络环路将导致广播风暴(没有三层网络的 TTL 机制)和 MAC 地址学习错误。 STP 可以增强网络健壮性,避免单点故障,单链路故障。. 目录. 第一章 STP(802.1D) 协议原理 第二章 RSTP(802.1W) 协议原理 第三章 MSTP(802.1S) 协议原理 第四章 STP的相关配置 第五章 STP的保护措施. STP 协议原理. STP 协议简介 BPDU 报文结构

greg
Download Presentation

HL-007 生成树协议

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HL-007 生成树协议 ISSUE 1.1 江西陶瓷工艺美术职业技术学院

  2. 引入 • STP/RSTP/MSTP在二层网络上形成树状网络拓扑结构,避免环路。 • 二层网络环路将导致广播风暴(没有三层网络的TTL机制)和MAC地址学习错误。 • STP可以增强网络健壮性,避免单点故障,单链路故障。

  3. 目录 • 第一章 STP(802.1D)协议原理 • 第二章 RSTP(802.1W)协议原理 • 第三章 MSTP(802.1S)协议原理 • 第四章 STP的相关配置 • 第五章 STP的保护措施

  4. STP协议原理 • STP协议简介 • BPDU报文结构 • 如何确定根桥 • 如何计算STP Path Cost • 如何确定端口角色 • 端口的状态迁移及定时器 • MAC地址学习的生存周期 • STP的不足

  5. STP协议简介 • STP都做了些什么? • 1. STP在二层交换网络中选择一个根桥作为全部二层交换网络的逻辑中心(Root Bridge)。 • 2. STP为全网中每一个参与STP运算的交换机计算到达根桥的最短距离(Path Cost)。 • 3. 检测二层交换网络中存在的冗余链路,并把他们置于阻断/备份状态。 • 4. 检测拓扑结构的变化并根据情况计算新的生成树。

  6. Switch A BID =0001 DP DP RP – ROOT PORT AP DP Switch C BID =1045 Switch B BID =0050 RP DP – DESIGNATED PORT DP RP Switch D BID =0030 AP – ALTERNATE PORT STP协议简介 • STP协议的结果是什么? • 阻断了冗余链路,形成了以根桥为树根的树状拓扑结构。

  7. Switch A BID =0001 DP DP AP RP – ROOT PORT DP Switch C BID =1045 Switch B BID =0050 RP DP – DESIGNATED PORT DP Switch D BID =0030 AP RP STP协议简介 • 常用概念 • 根桥(Root Bridge)—桥ID最小的网桥。其中桥ID是由网桥的优先级和网桥的MAC组成。 • 根端口(Root Port)—这个端口到达根桥的路径是该端口所在网桥到达根桥的最佳路径。全网中只有根桥是没有根端口的。 • 指定端口(Designated Port)—每一个网段选择到根桥最近的网桥作为指定网桥,该网桥到这一网段的端口为指定端口。 • 可选端口(Alternated Port)—既不是指定端口,也不是根端口的端口。

  8. BPDU Switch C Switch B BPDU BPDU报文结构(1) • STP通过BPDU(Bridge Protocol Data Unit)报文来学习网络拓扑结构。 • BPDU报文的目标MAC地址为:01-80-C2-00-00-00. • BPDU报文在直连的两个网桥或多个网桥内交换,不能被转发。没有运行STP协议的网桥将把BPDU报文当作普通业务报文转发。

  9. BPDU报文结构(2) • DMA:目的MAC地址 • 目的地址是一个固定的桥的组播地址(0x0180c2000000) • SMA:源MAC地址 • 即发送该配置消息的桥MAC地址 • L/T:帧长 • LLC Header:固定的链路头 • Payload: BPDU数据 L/T DMA SMA LLC Header Payload 值 域 占用字节 2 协议ID 1 协议版本 1 BPDU类型 1 标志位 8 根桥ID 4 根路径开销 8 指定桥ID 2 指定端口ID 2 Message Age 2 Max Age 2 Hello Time 2 Forward Delay

  10. 如何确定根桥(1) • 根桥—BID(网桥ID)最小的网桥定为根桥。 • BID—网桥的优先级+网桥MAC。 • 网桥的优先级为可配置,缺省值为32768。 • 在缺省情况下,根桥将由MAC地址最小的网桥担任。

  11. I’m the Root Switch I’m the Root Switch I’m the Root Switch I’m the Root Switch Switch A BID =0001 Switch C BID =1045 Switch B BID =0050 Switch D BID =0030 如何确定根桥(2)

  12. I’m the Root Switch I’m the Root Switch I’m the Root Switch Switch A BID =0001 BPDU: Root Switch = 0050 BPDU: Root Switch = 0001 BPDU: Root Switch= 0001 BPDU: Root Switch= 1045 Switch C BID =1045 BPDU: Root Switch = 0050 Switch B BID =0050 BPDU: Root Switch = 0030 BPDU: Root Switch = 1045 BPDU: Root Switch = 1045 BPDU: Root Switch = 0050 BPDU: Root Switch= 0030 I’m the Root Switch Switch D BID =0030 如何确定根桥(3)

  13. Root Switch =0001 Root Switch = 0001 Switch A BID =0001 I’m the Root Switch I’m the Root Switch Switch C BID =1045 Switch B BID =0050 Switch D BID =0030 如何确定根桥(4)

  14. Root Switch = 0001 Root Switch =0001 Switch A BID =0001 I’m the Root Switch I’m the Root Switch BPDU: Root Switch = 0001 BPDU: Root Switch = 0001 BPDU: Root Switch= 0001 BPDU: Root Switch= 0001 BPDU: Root Switch = 0001 Switch C BID =1045 Switch B BID =0050 BPDU: Root Switch = 0001 BPDU: Root Switch = 0030 BPDU: Root Switch = 0001 BPDU: Root Switch = 0001 BPDU: Root Switch= 0030 Switch D BID =0030 如何确定根桥(5)

  15. Root Switch =0001 Root Switch = 0001 Switch A BID =0001 I’m the Root Switch Root Switch = 0001 Switch C BID =1045 Switch B BID =0050 Switch D BID =0030 如何确定根桥(6)

  16. 如何计算STP Path Cost • Path Cost的两种定义标准 Speed Link type 802.1D cost 802.1t cost 10Mbps Half Duplex 100 2,000,000 Full Duplex 95 1,999,999 Aggregated link 90 1,000,000 100Mbps Half Duplex 19 200,000 Full Duplex 18 199,999 Aggregated Link 15 100,000 1000Mbps Full Duplex 4 20,000 Aggregated Link 3 10,000

  17. 哪边更优? BPDU BPDU 如何决定BPDU配置消息的优劣 • 比较RID(Root Bridge ID),确定网络同步。 • RID相同,比较Path Cost(到根桥距离),越小越优。 • RID/Path Cost相同,比较指定桥的BID (Designated Bridge ID),越小越优。 • RID/Path Cost/DBID相同,比较指定端口的ID (Designated Port ID),越小越优。

  18. Switch A BID =0001 2 Gig Aggregated Path cost = 3 100M Path cost = 18 Switch C BID =1045 Switch B BID =0050 1 Gig Path Cost = 4 100M Path Cost = 18 1 Gig Path Cost = 4 Switch D BID =0030 BPDU交换过程

  19. I’m the Root Switch I’m the Root Switch I’m the Root Switch Switch A BID =0001 BPDU: Root Switch = 0050 Cost to Root = 0 BPDU: Root Switch = 0001 Cost to Root =0 BPDU: Root Switch= 0001 Cost to Root = 0 BPDU: Root Switch= 1045 Cost to root =0 BPDU: Root Switch = 0050Cost to Root = 0 Switch C BID =1045 Switch B BID =0050 BPDU: Root Switch = 1045 Cost to Root = 0 BPDU: Root Switch = 0030 Cost to Root = 0 BPDU: Root Switch = 1045 Cost to Root = 0 BPDU: Root Switch = 0050 Cost to Root = 0 BPDU: Root Switch= 0030 Cost to Root = 0 I’m the Root Switch Switch D BID =0030 BPDU交换过程

  20. I’m the Root SwitchLowest Cost to Root = 0 Root Switch is 0001 Lowest Cost to Root = 3 Root Switch is 0001 Lowest Cost to Root = 18 Switch A BID =0001 BPDU: Root Switch = 0001 Cost to Root = 18 BPDU: Root Switch = 0001 Cost to Root =0 BPDU: Root Switch= 0001 Cost to Root = 0 Cost to Root =3 BPDU: Root Switch= 0001 Cost to root = 3 Cost to Root =18 BPDU: Root Switch = 0001Cost to Root = 18 Switch C BID =1045 Switch B BID =0050 BPDU: Root Switch = 0001 Cost to Root = 3 BPDU: Root Switch = 0030 Cost to Root = 0 BPDU: Root Switch = 0001 Cost to Root = 3 BPDU: Root Switch = 0001 Cost to Root = 18 BPDU: Root Switch= 0030 Cost to Root = 0 I’m the Root Switch Lowest Cost to Root = 0 Switch D BID =0030 BPDU交换过程

  21. I’m the Root SwitchLowest Cost to Root = 0 Root Switch is 0001 Lowest Cost to Root = 3 Root Switch is 0001 Lowest Cost to Root = 7 Switch A BID =0001 BPDU: Root Switch = 0001 Cost to Root = 7 BPDU: Root Switch = 0001 Cost to Root =0 BPDU: Root Switch= 0001 Cost to Root = 0 BPDU: Root Switch= 0001 Cost to root = 3 Cost to Root =3 Cost to Root =18 BPDU: Root Switch = 0001Cost to Root = 7 Cost to Root =7 Switch C BID =1045 Switch B BID =0050 Cost to Root =22 BPDU: Root Switch = 0001 Cost to Root = 3 BPDU: Root Switch = 0001 Cost to Root = 21 BPDU: Root Switch = 0001 Cost to Root = 3 BPDU: Root Switch = 0001 Cost to Root = 7 Cost to Root =21 BPDU: Root Switch= 0001 Cost to Root = 21 Root Switch = 0001 Lowest Cost to Root = 21 Switch D BID =0030 Cost to Root =22 BPDU交换过程

  22. I’m the Root SwitchLowest Cost to Root = 0 Root Switch is 0001 Lowest Cost to Root = 7 Root Switch is 0001 Lowest Cost to Root = 3 Switch A BID =0001 BPDU: Root Switch = 0001 Cost to Root = 7 BPDU: Root Switch = 0001 Cost to Root =0 BPDU: Root Switch= 0001 Cost to Root = 0 BPDU: Root Switch= 0001 Cost to root = 3 Cost to Root =18 BPDU: Root Switch = 0001Cost to Root = 7 Cost to Root =3 Cost to Root =7 Switch C BID =1045 Switch B BID =0050 Cost to Root =11 BPDU: Root Switch = 0001 Cost to Root = 3 BPDU: Root Switch = 0001 Cost to Root = 11 BPDU: Root Switch = 0001 Cost to Root = 3 BPDU: Root Switch = 0001 Cost to Root = 7 Cost to Root =21 BPDU: Root Switch= 0001 Cost to Root = 11 Root Switch = 0001 Lowest Cost to Root = 11 Switch D BID =0030 Cost to Root =11 BPDU交换过程

  23. I’m the Root SwitchLowest Cost to Root = 0 Root Switch is 0001 Lowest Cost to Root = 3 Root Switch is 0001 Lowest Cost to Root = 7 Switch A BID =0001 BPDU: Root Switch = 0001 Cost to Root = 7 BPDU: Root Switch = 0001 Cost to Root =0 BPDU: Root Switch= 0001 Cost to Root = 0 BPDU: Root Switch= 0001 Cost to root = 3 Cost to Root =3 Cost to Root =18 BPDU: Root Switch = 0001Cost to Root = 18 Cost to Root =7 Switch C BID =1045 Switch B BID =0050 Cost to Root =22 Cost to Root =29 Cost to Root =15 BPDU: Root Switch = 0001 Cost to Root = 3 BPDU: Root Switch = 0001 Cost to Root = 11 BPDU: Root Switch = 0001 Cost to Root = 3 BPDU: Root Switch = 0001 Cost to Root = 7 Cost to Root =21 BPDU: Root Switch= 0001 Cost to Root = 11 Root Switch = 0001 Lowest Cost to Root = 11 Switch D BID =0030 Cost to Root =11 BPDU交换过程

  24. 确定网桥端口角色 • BPDU报文中总是携带网桥到根桥的最优值。 • 通过BPDU配置消息来决定端口的角色: • 根端口:网桥各个端口中到根桥最近的端口。 • 指定端口:网桥的端口发送的BPDU配置消息较接收的BPDU配置消息更优,则端口为指定端口。 • 可选端口:网桥的端口发送的BPDU配置消息较接收的BPDU配置消息更差,则端口为可选端口。

  25. Best cost to root is 7 Cost of this link to root is 18 (0+18) Result BLOCK LINK ALTERNATE PORT这个端口发送的BPDU比接收到的BPDU更差,被选为可选端口。 7>0 Root Switch is 0001Lowest Cost to Root = 7 BPDU: Root Switch = 0001 Cost to Root = 7 BPDU: Root Switch = 0001 Cost to Root =0 BPDU: Root Switch = 0001Cost to Root = 7 Cost to Root =18 AP ROOT PORT这个端口到根桥的距离为7,最近,被选为根端口。 Cost to Root =7 Switch B BID =0050 RP BPDU: Root Switch = 0001 Cost to Root = 3 DP Cost to Root =15 BPDU: Root Switch = 0001 Cost to Root = 7 BPDU: Root Switch= 0001 Cost to Root = 11 DESIGNATED PORT这个端口发送的BPDU比接收到的BPDU更优,被选为指定端口。7<11 确定网桥端口角色

  26. I’m the Root SwitchLowest Cost to Root = 0 Root Switch is 0001 Lowest Cost to Root = 3 Root Switch is 0001 Lowest Cost to Root = 7 Switch A BID =0001 DP BPDU: Root Switch = 0001 Cost to Root = 7 DP BPDU: Root Switch = 0001 Cost to Root =0 BPDU: Root Switch= 0001 Cost to Root = 0 RP – ROOT PORT Cost to Root =3 BPDU: Root Switch= 0001 Cost to root = 3 Cost to Root =18 BPDU: Root Switch = 0001Cost to Root = 7 Switch C BID =1045 Switch B BID =0050 RP DP Cost to Root =7 Cost to Root =11 Cost to Root =29 Cost to Root =15 BPDU: Root Switch = 0001 Cost to Root = 3 DP DP – DESIGNATED PORT BPDU: Root Switch = 0001 Cost to Root = 11 BPDU: Root Switch = 0001 Cost to Root = 3 BPDU: Root Switch = 0001 Cost to Root = 7 Cost to Root =21 Root Switch = 0001 Lowest Cost to Root = 11 BPDU: Root Switch= 0001 Cost to Root = 11 RP Switch D BID =0030 Cost to Root =11 确定阻断端口

  27. Switch A BID =0001 DP DP AP RP – ROOT PORT Switch C BID =1045 Switch B BID =0050 DP RP DP – DESIGNATED PORT DP AP RP Switch D BID =0030 确定阻断端口

  28. Switch A BID =0001 Both Roots Costs are =8BID-A < BID B DP DP PC = 4 PC = 8 BPDU: Root Switch = 0001Cost to Root = 4 RP Switch B BID =1045 Switch C BID =0050 PC = 4 BPDU: Root Switch = 0001 Cost to Root = 8 思考题 • 问题1:哪个端口将被阻断? • 问题2:如果所有的PathCost都相同,哪个端口将被阻断?

  29. MAC地址信息的生存期 • 拓扑结构改变会使站点在生成树中的相对位置发生移动,那么网桥原来学习到的MAC地址信息就可能变得不正确,所以学习的MAC地址信息也要有生存期,如果该时间内没有证明地址的正确,则抛弃这条地址信息。 • 在STP中有两个生存期: • 拓扑稳定的时候用较长的生存期. • 拓扑改变的时候用较短的生存期. • 网络拓扑发生改变的时候,并不是所有的网桥都能够发现这一变化,所以需要把拓扑改变的信息通知到整个网络。

  30. B4 物理段 D B1 物理段 E 物理段 B ROOT 物理段 A B3 物理段 C B2 站点的相对位置发生变化

  31. 值 域 占用字节 7 6 5 4 3 2 1 0 2 协议ID 1 协议版本 1 BPDU类型 1 标志位 8 根桥ID 4 根路径开销 8 指定桥ID 2 指定端口ID 2 Message Age 2 Max Age 2 Hello Time 2 Forward Delay 拓扑改变消息中标志位的使用 L/T DMA SMA LLC Header Payload Topology Change Topology Change Acknowledgment FLAG标志位中1至6位保留。

  32. ROOT 5 4 5 3 6 2 6 1 拓扑改变通知消息 拓扑改变应答消息 拓扑改变消息 拓扑改变消息的传播 • 拓扑改变的触发条件有两个: • 当Forwarding端口转变为其他状态时; • 某端口变为Forwarding状态,且交换机具备DP(交换机为非独立交换机)。 • 检测到拓扑变化的交换机以HelloTime为周期持续在根端口向外发送TCN报文,到接收到TCA为止。 • 收到TCN后,Root Bridge 发送的BPDU报文中的TC位将被置位,维持时间为ForwardDelay+MaxAge。

  33. 端口状态 端口能力 Disabled 不收发任何报文 不接收或转发数据,接收但不发送BPDU,不进行地址学习 Blocking 不接收或转发数据,接收并发送BPDU,不进行地址学习 Listening 不接收或转发数据,接收并发送BPDU,开始地址学习 Learning 接收并转发数据,接收并发送BPDU,进行地址学习 Forwarding STP端口状态

  34. Disabled (1) (2) (1,2) Listening (3) (5) (4) (1) (1,2) (4) Blocking Learning (2) (4) (5) Forwarding (1,2) 4)端口被选为备用端口(阻塞) 1)端口enabled 5)Forward Delay延时 2)端口disabled 3)端口被选为根端口或指定端口 STP端口状态迁移

  35. STP定时器 • STP定时器. • Hello Timer: 根桥生成BPDU配置消息的周期,缺省时间为2秒钟。 • Forward Delay: 配置消息传播到全网的最大时延。缺省为15秒钟。 • Message Age:从根桥生成BPDU配置消息开始,到当前时间为止配置消息的存活时间。 • Max Message Age:BPDU配置消息存活的最大时间。

  36. Forward Delay Timer Forward Delay Timer Power Up Blocking Listening Learning Forwarding Disabled STP的不足 • 缺省情况下一个端口从Blocking状态过渡到Forwarding状态至少需要30秒钟(两倍的Forward Delay)。对于一个拓扑不稳定网络,会导致网络的长时间中断。

  37. 目录 • 第一章 STP(802.1D)协议原理 • 第二章 RSTP(802.1W)协议原理 • 第三章 MSTP(802.1S)协议原理 • 第四章 STP的相关配置 • 第五章 STP的保护措施

  38. RSTP协议原理 • 新的端口角色和状态 • 新的BPDU报文结构 • RSTP的重大改进 • 新的拓扑变化通告机制 • 与802.1D的兼容 • RSTP的不足

  39. RSTP的端口状态

  40. DP DP RP RP AP DP BP Root Switch Switch Switch RSTP的端口角色 • Root Port—根端口 • Designated Port—指定端口 • Alternate Port—可选端口 • Backup Port—备份端口

  41. 值 域 占用字节 2 协议ID 1 协议版本 1 BPDU类型 1 标志位 8 根桥ID 4 根路径开销 8 指定桥ID 2 指定端口ID 2 Message Age 2 Max Age 2 Hello Time 2 Forward Delay RSTP的BPDU格式 L/T DMA SMA LLC Header Payload 7 6 5 4 3 2 1 0 Topology Change Proposal Learning 00 Unknow 01 Alternate/Backup 10 Root Port 11 Designated Port Forwarding Agreement Topology Change Ack 协议版本由0x00变为0x02

  42. TO ROOT TO ROOT LAN C LAN C F F 指定端口 指定端口 指定端口 指定端口 F F LAN A LAN B LAN A LAN B F 根端口 阻塞端口 F 根端口 阻塞端口 SwitchC SwitchC RSTP的重大改进一 • 如果旧的根端口已经进入阻塞状态,而且新根端口连接的对端交换机的指定端口处于Forwarding状态,在新拓扑结构中的根端口可以立刻进入转发状态。

  43. TO ROOT 根端口 阻塞端口 边缘端口 LAN A Forwarding RSTP的重大改进二 • 网络边缘的端口,即直接与终端相连,而不是和其它网桥相连的端口可以直接进入转发状态,不需要任何延时。

  44. Root Switch Root Switch P0 3. Agreement 1. Proposal P0: Designated Port P1: New Root Port P2: Alternated Port P3: Designated Port P4: Edge Port P1 Switch A P2 P4 P3 Switch B Switch C 2. Sync (unchanged) 2. Sync (unchanged) 2. Sync (Discarded) Switch D RSTP的重大改进三 • 增加了网桥之间的协商机制—Proposal/Agreement。指定端口可以通过与相连的网桥进行一次握手,快速进入转发状态。其中Proposal报文为正常的BPDU报文,且Proposal Bit位置位。Agreement报文为Proposal报文的拷贝,且以Agreement Bit代替Proposal Bit位置位。

  45. Root Switch 指定端口 1. Proposal 2. Agreement Switch A LAN A 指定端口 指定端口 Switch B Switch C 协商的扩散 非点到点链路 协商机制的要求 • 协商必须在点对点链路上进行(全双工链路) • 两种端口状态不受协商机制影响: • 可选端口(Alternated Port) • 边缘端口(Edge Port)

  46. RSTP的改进效果 • 第一种改进的效果:发现拓扑改变到恢复连通性的时间可达数毫秒,并且无需传递配置消息。 • 第二种改进的效果:边缘端口的状态变化不影响网络连通性,也不会造成回路,所以进入转发状态无需延时。 • 第三种改进的效果:网络连通性可以在交换两个配置消息的时间内恢复,即握手的延时;最坏情况下,握手从网络的一边开始,扩散到网络的另一边缘的网桥,网络连通性才能恢复。比如当网络直径为7的时候,要经过6次握手。

  47. Root Switch Root Switch TC TC TCN RSTP拓扑改变消息的传播 • 回顾一下STP的TCN传播-STP拓扑改变分为两部分: • 利用TCN BPDU将拓扑变化上报到根桥。 • 根桥通过将FLAG中的TC比特置位(持续时间Max Age), 通知所有其它交换机。

  48. Root Switch TC RSTP拓扑改变消息的传播 • 拓扑改变检测: • 只有非边缘端口转变为Forwarding状态时,产生拓扑改变。 • 检测到拓扑改变后的动作: • 在两倍Hello时间内向所有指定端口和根端口发送TC置位BPDU报文。 • 清除从以上端口学习的MAC地址。 • 拓扑改变传播: • 不再使用TCN报文。 • 报文传送更直接迅速。

  49. 802.1W 802.1W 802.1D 与802.1D相兼容 • 802.1W与802.1D相兼容: • RSTP的端口在三秒钟定时器后接收到STP的报文,则端口协议将切换到STP协议。 • 切换到STP协议的RSTP端口将丧失快速收敛特性。 • 出现STP与RSTP混用的情况,建议将STP设备放在网络边缘。

  50. VLAN 10,20 VLAN 10,20 RSTP协议的不足 • 802.1W与802.1D相比有了巨大的进步,他解决了交换网络的快速收敛问题。 • 但RSTP和STP还存在一个共同的不足,就是两种协议都是单生成树协议,不能形成基于VLAN的多生成树协议,在如右图所示的环境下不能实现链路的分担。

More Related