【云计算 IT 基础知识】5.2.2 STP

muzilan 2016-05-27 09:18:54

5.2.2 STP


概念

生成树协议STP(Spanning Tree Protocol)是一种链路层协议(在IEEE802.1D文档中定 义),它利用STA(Spanning Tree Algorithm),在存在交换环路的网络中生成一个没有 环路的树形网络,避免由于环路的存在而造成广播风暴问题。STP将交换网络冗余的备 份链路从逻辑上断开,当主要链路出现故障时,能够自动的切换到备份链路(逻辑上接 通),保证数据的正常转发。

STP主要有两个功能:

l 在以太网络中创建一个以某台LAN switch的某个端口为根的生成树,避免环路。
l 在以太网络拓扑发生变化时,进行收敛保护,使所有交换机能对最佳路径的判断达成一致。

几个常见概念:

l 网桥:一种在链路层实现中继,常用于连接两个或更多个局域网的网络互连设备。 交换机具有网桥的功能。
l 根桥:网桥ID最小的网桥。网桥ID由网桥的优先级(2字节)和网桥的MAC(6字节)组成。任意时刻只能有一个根桥。
l 根端口:该端口到达根桥的路径是该端口所在网桥到达根桥的最佳(路径开销最小)路径。全网中只有根桥没有根端口。
l 指定网桥:每个网段到根桥最近(路径开销最小)的网桥。
l 指定端口:指定网桥到其所在网段的端口。
l 可选端口:非根端口和指定端口的端口。

TIPS
路径开销用来衡量到达目标位置的代价,其值是两点之间某条路径上所有链路开销的总和。IEEE给出了不同标准(速率)链路的路径开销。


特点

STP具有以下特点:
l 冗余:当一个链路或交换机故障时,会有另一个链路或交换机替代。
l 无环路:可避免产生广播风暴。
l 收敛时间长:当主要链路出现故障以后,从切换到备份链路需要50秒的时间。




原理

STP的基本原理是,通过在交换机之间定期传递BPDU(Bridge Protocol Data Unit)报文来对网络的拓扑、花费或优先级的变化做出及时的响应。该报文中包 了足够的信息来保证交换机完成生成树计算。

BPDU分为配置BPDU和拓扑变化通知BPDU两种类型。配置BPDU包 配置信息;拓扑变化通知BPDU在交换机检测到网络拓扑结构变化时发送。BPDU报文在直连的两个或多个网桥间交换,不能被转发。没有运行STP协议的网桥将把BPDU报文当作普通报文转发。

STP的实现过程主要分为以下几个环节:
1. 选择根桥。
根桥的选择如图5-6所示。


简单说明如下:
a. 各交换机最初均认为自己为根桥。
b. 各交换机均向与其直连的交换机(可能为多个)发送配置BPDU报文,告知对 端自己的网桥ID。
c. 各交换机收到配置BPDU报文(可能为多个)后,比较配置BPDU报文中网桥 ID和自己网桥ID的大小,并记录自己的网桥ID为其中较小的值。网桥ID小者被认为是根桥。图5-6中,A、B、C交换机认为A交换机为根桥,D交换机认为自 己为根桥。
d. 若仍存在多个网桥被认为是根桥,则重复发送配置BPDU报文,并进行比较和 记录。直至网络中只存在一个根桥。图5-6中,各交换机均认为A交换机为根桥。

网桥ID应为唯一的。若两个网桥具有相同的最小ID,则MAC地址小的网桥被选作根桥。

2. 选择根端口。

根据如下方式选择根端口:
a. 选择到根桥的路径开销最小的端口。
b. 当到根桥的路径开销相同时,选择最高优先级的端口。
c. 当到根桥的路径开销和端口优先级均相同时,选择端口号最小的端口。
根端口的选择如图5-7所示。



以B交换机的3个端口为例,根端口的选择简单说明如下:
l 端口1到A交换机的路径开销为:18(路径为B->A)
l 端口2到A交换机的路径开销为:4+3=7(路径为B->C->A)
l 端口3到A交换机的路径开销为:6+6+4+3=19(路径为B->D->B->C->A)
因此,将选择端口2作为B交换机的根端口。同理可选出C、D交换机各自的根端 口。由于A、B交换机间和C、D交换机间的端口均没有被选中,因此其对应的两条链路可以看成是冗余链路,会从逻辑上被断开。


以B交换机的3个端口为例,根端口的选择简单说明如下:
l 端口1到A交换机的路径开销为:18(路径为B->A)
l 端口2到A交换机的路径开销为:4+3=7(路径为B->C->A)
l 端口3到A交换机的路径开销为:6+6+4+3=19(路径为B->D->B->C->A)
因此,将选择端口2作为B交换机的根端口。同理可选出C、D交换机各自的根端口。由于A、B交换机间和C、D交换机间的端口均没有被选中,因此其对应的两条 链路可以看成是冗余链路,会从逻辑上被断开。

3.选择指定网桥。
根据如下方式选择指定网桥:
a. 选择到根桥的路径开销最小的网桥。
b. 当到根桥的路径开销相同时,选择最高优先级的网桥。
以图5-7为例,对于B交换机和D交换机之间的网段,指定网桥的选择简单说明如下:
l B交换机到A交换机的路径开销为:4+3=7(路径为B->C->A)
l D交换机到A交换机的路径开销为:6+4+3=13(路径为D->B->C->A) 因此,将选择B交换机作为B交换机和D交换机之间网段的指定网桥。

4.选择指定端口。
根据如下方式选择指定端口:
a. 选择指定网桥到其所在的网段的端口。
b. 当指定网桥到其所在的网段有多个端口时,选择端口号最小的端口。
仍以图5-7为例,对于B交换机和D交换机之间的网段,由于B交换机与该网段之间仅有端口3这一个端口,因此端口3为指定端口。

在正常稳定状态下,根桥定期发送配置BPDU以保证拓扑信息不超时。当某个端口长时间不能接收到配置BPDU报文的时候,交换机认为端口的配置超时,网络拓扑可能已经 改变,此时重新计算网络拓扑,重新生成一棵树。拓扑改变消息的传播如图5-8所示。



简单说明如下:
1. D交换机检测到其与F交换机间的链路断开,则发送拓扑改变通知BPDU给B交换机。
2. B交换机向D交换机回送拓扑改变确认消息(配置BPDU),其中拓扑变化标志位被 置位。
3. B交换机发送拓扑改变通知BPDU给A交换机。
4. A交换机向B交换机回送拓扑改变确认消息。
5. A交换机向B、C交换机重复发送一段时间拓扑改变消息(配置BPDU),其中拓扑 变化标志位被置位。
6. B交换机向D、E交换机发送拓扑改变消息。
...全文
1260 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_31278223 2017-02-28
  • 打赏
  • 举报
回复
引用 9楼whcdota 的回复:
几年前学过点NA,这个开销是指管理距离AD的值吗?
是链路带宽
muzilan 2016-06-23
  • 打赏
  • 举报
回复
引用 10 楼 zhao4zhong1 的回复:
“咱们小区通往小学北门的那条路因市政施工断路了,请家长、老师和同学绕行小学东门。恢复时间另行通知。” 请转发。
生动形象
muzilan 2016-06-23
  • 打赏
  • 举报
回复
引用 9 楼 whcdota 的回复:
几年前学过点NA,这个开销是指管理距离AD的值吗?
我也在学习,我觉得不是。你可以参考下面这个文章 http://blog.sina.com.cn/s/blog_9950926401016qfp.html
MrBai_2511 2016-06-02
  • 打赏
  • 举报
回复
mark 多谢楼主分享
赵4老师 2016-06-01
  • 打赏
  • 举报
回复
“咱们小区通往小学北门的那条路因市政施工断路了,请家长、老师和同学绕行小学东门。恢复时间另行通知。” 请转发。
qq_24414899 2016-06-01
  • 打赏
  • 举报
回复
whcdota 2016-05-31
  • 打赏
  • 举报
回复
几年前学过点NA,这个开销是指管理距离AD的值吗?
muzilan 2016-05-30
  • 打赏
  • 举报
回复
引用 6 楼 zhao4zhong1 的回复:
引用 7 楼 Tcc2016 的回复:
虚拟交换机。。
虚拟交换机咋了?
Tcc2016 2016-05-30
  • 打赏
  • 举报
回复
虚拟交换机。。
赵4老师 2016-05-30
  • 打赏
  • 举报
回复
muzilan 2016-05-29
  • 打赏
  • 举报
回复
引用 3 楼 line_us 的回复:
一种链路层协议(在IEEE802.1D文档中定 义)
muzilan 2016-05-29
  • 打赏
  • 举报
回复
引用 2 楼 f0075155 的回复:
看来是该给楼主配一位程序员鼓励师兼贴身保镖了
我本来就兼具程序员+鼓励师,可以来个保镖
line_us 2016-05-28
  • 打赏
  • 举报
回复
一种链路层协议(在IEEE802.1D文档中定 义)
f0075155 2016-05-28
  • 打赏
  • 举报
回复
看来是该给楼主配一位程序员鼓励师兼贴身保镖了
nettman 2016-05-28
  • 打赏
  • 举报
回复

448

社区成员

发帖
与我相关
我的任务
社区描述
云计算开发
社区管理员
  • 云计算
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧