STP协议的作用:

第一, 可以避免网络环路和广播风暴。

  二层数据包是没有TTL(time to live)的,如果不加以限制,可能会无限的传播下去。二层设备间如果存在环路,大量的广播包就可能导致广播风暴,导致网络瘫痪。  

这里需要理解广播包和二层设备是如何对广播包进行处理的。广播包又分为二层广播包和三层广播包,二层广播包基于特定mac段,三层广播包基于特定IP段。二层设备收到广播报后,会将该数据包从除了接收端口外的其他端口洪泛出去。

第二,可以增强网络的健壮性,正在工作的链路出现故障时,可以使用备份链路,以保证业务的正常

STP工作的主要步骤:

第一步,根据优先级最小的原则,在全网的交换机中选出一个根桥。

第二步,每个交换机上离根桥最近的端口选为根端口,每个网段上距离根桥最近的端口选为指定端口。

第三步,非根桥上的端口中除了根端口和指定端口外的端口都将被阻塞,保证网络不会成环。

第四步,检测到网络拓扑发生变化时,重新计算并生成新的树结构。

STP协议又可以分为:STP,RSTP,MSTP。

下面是STP工作各步骤的详细解释:

第一步,如何选择根桥。

交换机的优先级和交换机的mac地址之和最小的将选为根桥。交换机的优先级默认值是32768,但是也是可以设置的,可以将性能较好的交换机优   先级调低,指定其作为根桥。

各交换机都假设自己为根桥,发送BPDU数据包,包含了优先级和mac地址的信息,通过比较,交换机之间都知道了哪个交换机是根桥。

第二步,选取根端口和指定端口。

根端口和指定端口的选取也是基于优先级的,依据如下:

1.首先比较path cost,越小越好。一般是网络传输速率越快,path cost越小。

2.path cost相同,比较优先级和mac地址,和根桥的选取相同。

3.以上都相等,比较端口ID,越小越优。

STP协议的更多相关文章

  1. OSI模型第二层数据链路层-STP协议

    1.stp协议的由来. 在二层网络中,交换机起到了很重要的作用,如果有一台交换机出现故障会影响网络的使用,为了避免存在单点故障,在实际的二层链路中会采用链路冗余,也就是采用交换设备之间多条联络连接,即 ...

  2. 二层协议--STP协议总结

    生成树协议的技术实现与配置注意点 一.stp协议的用途 二.stp协议的运行机制 三.stp协议规范

  3. LLDP协议、STP协议 笔记

    参考: 数据链路层学习之LLDP 生成树协议 LLDP协议.STP协议 笔记 LLDP 提出背景: 随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加 ...

  4. STP协议树配置

    STP协议树作用 为了提高网络可靠性,交换网络中通常会使用冗余链路. 然而,冗余链路会给交换网络带来环路风险 并导致广播风暴以及MAC地址表不稳定等问题进而会影响到用户的通信质量. 生成树协议STP( ...

  5. [转载]交换机STP协议

    注:之前做一个项目,测试部使用2个公司的交换机,H3C和H公司的,H公司的交换机是OEM H3C的交换机,正常来说两者使用没有区别. 但是使用中发现,如果设备的多个对外业务网口连接的交换机的聚合网口, ...

  6. STP协议与MSTP协议

    STP协议与MSTP协议 目录 一.STP概述 1.1.交换网络环路的产生 1.2.STP简介 二.生成树算法 2.1.生成树算法的步骤 2.2.网桥 ID 2.3.选择根端口 2.4.选择指定端口 ...

  7. STP生成树协议

    STP主要作用 1.消除环路:通过阻断冗余链路来消除网络中可能存在的链路 2.链路备份:当活动那个路径发生故障时,激活备份链路,及时恢复网络连通性. 根桥选举 每个交换机启动STP后,都认为自己是根桥 ...

  8. 生成树协议(STP)

    首先了解一下环路问题: 两个交换机将两个局域网同时连接起来的时候,不幸地出现了环路: 这两个交换机还是都能够收到广播包的.交换机 A 一开始是不知道机器 2 在哪个局域网的,所以它会把广播消息放到局域 ...

  9. CCNA 之 九 STP生成树协议

    STP生成树 在上一次实验中,使用了单臂路由是两个不同的VLAN之间进行通信,而单臂路由的这种网络拓扑,当一条链路或者路由设备出现故障的时候,整个网络就会瘫痪. 称此网络为:不健壮的,无冗余的网络环境 ...

随机推荐

  1. UVA424高精度加法

    One of the first users of BIT's new supercomputer was Chip Diller. He extended his exploration of po ...

  2. JAVA多线程之CountDownLatch

    前序: 上周测试给开发的同事所开发的模块提出了一个bug,并且还是偶现. 经过仔细查看代码,发现是在业务中启用了多线程,2个线程同时跑,但是新启动的2个线程必须保证一个完成之后另一个再继续运行,才能消 ...

  3. Django App(二) Connect Mysql & defualt App admin

    这一篇接着上一篇polls App自动创建admin app.     1.安装数据库 这里的内容从官网看越看越像 EntityFramework的内容.Python支持SQLite,MySql,Or ...

  4. Android 通知 相关api记录

    记录帖 通知(Notification) 的API 1.使用getSystemService()方法获取系统服务,参数接收一个字符串来确定获取具体的服务,使用通知传入Content.NOTIFICAT ...

  5. Java-String.intern的深入研究

    When---什么时候需要了解String的intern方法: 面试的时候(蜜汁尴尬)!虽然不想承认,不过面试的时候经常碰到这种高逼格的问题来考察我们是否真正理解了String的不可变性.String ...

  6. 修改nopCommerce中的实体

                               对已有实体增加一个属性(对Category增加一个SomeNewProperty)   最近在研究nopcommerce,这里是对官网上文档的学习 ...

  7. 修改DeDe标签Pagelist分页样式,自定义分页样式

    我们在用dede仿站的时候,调用文章列表页的分页时,我们会用到: {dede:pagelist listitem="info,index,end,pre,next,pageno" ...

  8. [转载]利用memcached在多台服务器之间共享PHP的session数据

    原文地址:利用memcached在多台服务器之间共享PHP的session数据作者:a1049709658 最近我的几篇文章都是是最近项目的一点心得^^ 这个项目一开始就设计的"很大&quo ...

  9. destoon框架二次开发【整理】

    =========================================================== destoon使用中的一些心得   ====================== ...

  10. NSMutableArray 记住取不到时要进行强转

    NSMutableArray  记住取不到时要进行强转