IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> STP协议 与 STP树的生成 -> 正文阅读

[网络协议]STP协议 与 STP树的生成

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生成树的博文写得不错

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-01-24 11:18:35  更:2022-01-24 11:20:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/5 9:26:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码