[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
生成树协议(STP)
时间:
2019-04-22 21:04:57
阅读:
114
评论:
0
收藏:
0
[点我收藏+]
在企业的网络设计中,一般都会设计具有冗余的拓补结构。因为单一的链路会导致单点故障,提高故障发生的概率。越是大型的网络,对冗余性要求越高。但是,当网络具有冗余性之后,就会产生一些问题,比如:
1.广播风暴
当广播帧经过交换机时,交换机就会以指数的形式生成广播帧(交换机从除收到该广播帧之外的所有端口转发广播帧)。这种广播帧会越来越多,最后形成广播风暴,导致网络瘫痪。
这种广播风暴只有在物理环路消失时才可能停止。
2.多帧复制
指单播的数据帧被多次复制传送到接受端,很多协议都只需要每次传输一个副本。多帧复制会造成接收端收到数据帧的多个副本,不仅浪费接收端的主机资源,而且会导致上层协议在处理这些数据帧时无法选择,严重时还可能导致不可恢复的错误。
3.MAC地址表紊乱
会导致交换机通过两个接口学到相同的MAC地址,从而导致MAC地址表紊乱,影响数据包的转发。
虽然冗余链路会存在一些问题,但是环形的物理线路能够为网络提供备份线路,增强网络的可靠性,这在网络设计中是必要的。因此,就需要一种解决方法,一方面能够保证网络的可靠性,另一方面还要解决因为冗余链路所带来的一系列问题。
STP就是用来解决这个问题的。STP并不是断掉物理环路,而是在逻辑上断开环路,防止冗余链路的一些问题的发生。
STP(生成树协议)就是把一个环形的结构改变成一个树形的结构。
STP就是用来将物理上存在环路的网络,通过一种算法,在逻辑上阻塞一些端口来生成一个逻辑上的树形结构。
对于三台交换机构成环路的网络,在使用STP后,交换机SW2与SW3连接在链路上的一个端口被逻辑上阻塞,也就是这条线路不能传输数据了,当正常通信的线路发生故障时,被逻辑阻塞的线路将重新被激活,使得数据能从这条线上正常传输数据。
STP运行STA(生成树算法)的过程很复杂。大致分为三个步骤:
1.选择根网桥(交换机)
依据:
1.网桥是唯一的;
2.选择交换网络中网桥ID最小的交换机作为根网桥。
2.选择根端口
离根网桥最近的端口(在一个非根网桥上有且只有一个根端口)
选择根端口的依据:
1.到根网桥最低的路径成本;
2.直连的网桥ID最小;
3.直连的端口ID最小。
网桥到根网桥的路径上所有链路的成本之和
带宽与路径成本的关系
3.选择指定端口
为了消除环路形成的可能,STP进行最后的计算,在每一个网段上选择一个指定端口,选择指定端口的依据:
1.根路径成本较低;
2.所在交换机的网桥ID指较小;
3.端口ID值较小。
和选择根端口不同,在比较端口ID时,比较的是自身的端口ID值。
接下来我们简单的来看一下怎么查看生成树的状态
根网桥的两个端口都是指定端口,而非根端口!
交换机之间通过BPDU(桥协议数据单元)来交换网桥ID、根路径成本等信息。
BPDU包中包括:
1.根网桥ID;
2.根路径成本;
3.发送网桥ID;
4.端口ID;
5.及时器;
根网桥的选择是一个持续的、反复进行的过程,每2s触发一次,检查BPDU的根网桥ID是否发生了变化,网络中是否有网桥ID值更低的交换机加进来。
STP在交换机中自动运行,在交换机开机的时候可以看到,交换机的指示灯为×××的,并且大约30s的时间不能转发数据,这是交换机在做STP计算。
生成树的端口状态
(仅供参考)
生成树计时器
1.HEIIO时间:IEEE802.1d规定的默认时间为2s;
2.转发和延迟:默认值各为15s;
3.最大老化时间:默认值为20s。
典型的端口过渡:
1.从阻塞到侦听20s;
2.从侦听到学习15s;
3.从学习到转发15s。
(STP计时器的时间可以使用命令进行调整,一般情况不建议修改)
STP与VLAN的关系:
IEEE的CST:不考虑vlan,所有vlan公用一个生成树;
Cisco的PVST:每一个vlan都有一个生成树根;
Cisco的PVST+:增强每个vlan生成树;
IEEE的MST:多生成树。
接下来我们根据一个简单的小拓补实验,来讲解一下如何配置生成树:
1.Cisco的设备默认已经启用了生成树,(启用生成树的命令)
2.指定根网桥
3.如果在现实环境中,交换机某个接口连接的服务器,我们不可能让它30s之后在进行工作,可以配置速端口,命令
生成树的命令差不多就这些,以后如果用到别的会时时更新的!
愿我们共同学习,共同进步!
生成树协议(STP)
原文:https://blog.51cto.com/14157628/2382917
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!