STP协议

由于环路的存在,会导致

  1. 广播风暴
  2. 多帧复制
  3. mac地址震荡
STP协议应运而生

STP协议的原理

在一个具有环路的交换网络中,交换机会运行STP协议,自动生成一个没有环路的工作拓扑(工作的时候不存在回路)

这个无环工作拓扑又称作STP树(STP Tree)

其中,树的节点是 交换机,树的树枝是 链路

一个STP树只有一个根节点,其它节点到根节点的路径是唯一的,并且是最优的(感觉有那么一点哈夫曼树的影子了哈哈)

STP树是动态的,为什么,因为当网络拓扑中发生一些变化时(如:某条链路损坏)STP树,也会自动做出相应的变化

简而言之:具有环路的拓扑结构,会导致广播风暴、多帧复制、mac地址震荡,但是因为STP协议的存在,这些问题也得以解决!

STP树是如何生成的呢?(三步骤)

  1. 选举根桥(根交换机)
  2. 确定根端口 和 确定指定端口(指定端口是关于网段的)
  3. 阻塞 备用端口

选举根桥

判断对象:所有运行STP协议的交换机中选出一个

根桥(根交换机)是STP树的根节点,要生成STP树,就必须首先确定谁是根桥

根桥是整个交换网络的逻辑中心,但不一定是长久的,如果网络拓扑环境发生变化,根桥可能会变成其它交换机

运行了STP协议的交换机,可以称之为STP交换机,网络拓扑中的各个STP交换机之间会交换STP协议帧,这些协议帧里头的数据载荷是 BPDU(网桥协议数据单元)

BPDU是由交换机自己本身生产、接收、处理。和上层的网络层毫无关系!更别提终端的计算机了

STP交换机刚开始启动的时候,都会误认为自己就是根桥!并且在发送给别的交换机的BPDU中,会

宣告自己就是根桥(蜜汁自信)

一台交换机向其它交换机发出BPDU的同时,也会收到其它交换机发送过来的BPDU,这时候交换机就会

将 收到的BPDU那所谓宣告自己是根桥的交换机的BID 和 自己的BID 进行比较。交换机们不断地交互BPDU

,大家也都同时对 BID 进行比较 ,最终选出一台BID最小的交换机作为根桥

根桥确定后,其它没有成为根桥的交换机 称之为 非根桥

由于非根桥设备上(不是根桥的交换机)可能有多个端口 与 网络相连 ,为了保证 非根桥设备 到 根桥设备的 工作路径是最优 且 唯一! 就必须在非根桥设备的众多端口中 选出一个 “根端口“ ,根端口是 非根桥设备 跟 根桥设备进行报文交互的端口。 一台非根桥设备 只有一个 根端口。

(指定端口:DP;根端口:RP;备用端口:AP)

确定根端口

判断对象:非根网桥交换机上的不同端口之间

怎么确定根端口呢?

一个重要依据是 ” 根路径开销 “ 即:某个(非根桥的端口)交换机的端口 到 根桥 的路径开销(RPC)

根路径开销(RPC),和端口的转发速率有关

端口转发速率越大,则路径开销(RPC)越小!

当出现根路径开销(RPC)相同时,按照如下进行 选举 根端口

确定指定端口

即:在每一个物理网段的不同端口之间选举出一个指定端口。

上图可以简化成

显然只需要比较S2的 3、4 端口 的 PID,RSP相同和BID相同

假设3的PID比4的PID小,所以选举3为指定端口,其它的指定端口也是假设BID是最小的!

也就是说,所有端口都是使用下图的比较流程来 选举 指定端口

阻塞备用端口

判定对象:既非根端口又非指定端口的为备用端口

STP协议会对这些备用端口进行 逻辑阻塞

所谓 逻辑阻塞 ,就是这些备用端口不能转发由终端计算机产生并发送出来的帧,即用户数据帧!

虽然备用端口不能转发 用户数据帧,但是可以接受并处理 STP协议帧
与备用端口不同的是,根端口 和 指定端口 可以转发,接收,处理 STP协议帧、用户数据帧

参考:《华为HCIA》
我觉得这个博主关于STP生成树的博文写得不错

STP协议 与 STP树的生成相关推荐

  1. 生成树生成森林c语言中文网,生成树协议(STP)基本知识及实验(使用eNSP)

    1.基本知识--摘至<网络之路--交换专题> (1)生成树的作用:在链路层消除环路上可能出现的广播风暴. (2)生成树的工作由三部分组成:选举过程.拓扑计算.端口行为确定. 选举过程:在二 ...

  2. STP协议(生成树协议)

    1.STP协议概述 生成树协议(spanning tree protocol),是一种工作在OSI网络模型中第二层(数据链路层)的通信协议,是一种由交换机运行的,基本应用是防止交换机冗余链路产生的环路 ...

  3. 生成树协议(STP)原理与配置PVST+实现负载均衡

    交换网络环路的产生 在实际网络环境中,物理环路可以提高网络的可靠性,当一条线路断掉时,另一条线路仍然可以传输数据.但是,当交换机收到广播请求时,交换机就根据转发原理(交换机从除收到该广播帧之外的所有端 ...

  4. LLDP协议、STP协议 笔记

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

  5. 华为交换机 STP 协议

    一.STP简介 以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路.但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚 ...

  6. MSTP和STP协议详解

    STP: STP - Spanning Tree Protocol(生成树协议) 1.逻辑上断开环路,防止广播风暴的产生 2.当线路故障时,阻塞接口被激活,恢复通信,起到备份作用 交换网络环路的产生: ...

  7. 网络协议分析-生成树协议(STP)分析

    目录 一.生成树协议(英语:Spanning Tree Protocol,STP) 二.包结构 1.BPDU消息格式: 2. DMA 3. SMA 4. L/T 5. LLC Header 6. Pa ...

  8. 交换机生成树协议(STP)

    STP STP:生成协议(Spanning-tree-protocol) STP产生的背景: 为了提高网络可靠性,交换网络中通常会使用冗余链路,然而,冗余链路会给交换网络带来环路风险,并且导致广播风暴 ...

  9. 以前的学习笔记整理:第二层交换和生成树协议(STP)

    Talen Hao LINUX 学习笔记系列■■■■■ 第8章 第二层交换和生成树协议(STP) 系统:cisco 一:打开cisco交换机管理功能(即管理VLAN) 进入接口模式vlan 1: Sw ...

最新文章

  1. Hooq 登陆新加坡,“亚洲版 Netflix ”要与对标公司抢夺东南亚视频市场
  2. 你负责人工智能哪部分?人工那部分:知识图谱的构建主要靠人工还是机器?...
  3. Ribbon负载均衡策略配置
  4. Spring @Transactional踩坑记
  5. 再问数据中台 - 数据中台和业务中台服务有什么区别 应该如何去界定和划分?
  6. vue中router-link绑定click失效
  7. 安卓学习笔记04:安卓平台架构
  8. html加css绘制oprea的logo,拾人牙慧 – CSS3实现Opera浏览器的logo
  9. 孔维滢201771010110《面向对象程序设计(java)》第一周学习总结
  10. 开发者最讨厌的编程语言:Perl 名列第一,PHP、Objective-C 和 Ruby 都在其中
  11. cts测试终于全测了一遍了
  12. 自学python能干些什么副业-她把摄影当副业:月薪3000,副业收入上万
  13. 小苹果 html,定时轮播.html
  14. 8.6 归纳式迁移学习
  15. 400多款微信公众号小游戏源码集合源码
  16. html+css+js制作520表白网页,全屏的爱心和表白语网页动画代码,浪漫的520爱心表白动画特效。...
  17. 隔壁老王都找我要的33款开源爬虫框架,《记得收藏哦!不然看着看着就不见了》
  18. Go语言核心之美-必读
  19. iphone4s在ios7下解决卡顿问题
  20. 数字图像处理——红眼去除(Python)

热门文章

  1. python制作九宫图
  2. 苹果 APNs 介绍
  3. Malloc源码解读三——Bins与Arena
  4. c++system函数
  5. 正大国际期货:若想期货交易持续盈利务必牢记333仓位控制法
  6. 生成组合对象的算法——Johnson-Trotter算法的python实现
  7. 大数据的几个特点(4V)
  8. linux:线程同步的5种方法
  9. 微信运动的刷步思路+云部署
  10. dpi和css,DPI和像素、厘米、英寸之间的关系和换算及CSS中的长度单位、位深度、ppi...