| |
|
开发:
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协议由于环路的存在,会导致
STP协议应运而生STP协议的原理在一个具有环路的交换网络中,交换机会运行STP协议,自动生成一个没有环路的工作拓扑(工作的时候不存在回路) 这个无环工作拓扑又称作STP树(STP Tree) 其中,树的节点是 交换机,树的树枝是 链路 一个STP树只有一个根节点,其它节点到根节点的路径是唯一的,并且是最优的(感觉有那么一点哈夫曼树的影子了哈哈) STP树是动态的,为什么,因为当网络拓扑中发生一些变化时(如:某条链路损坏)STP树,也会自动做出相应的变化 简而言之:具有环路的拓扑结构,会导致广播风暴、多帧复制、mac地址震荡,但是因为STP协议的存在,这些问题也得以解决! STP树是如何生成的呢?(三步骤)
选举根桥判断对象:所有运行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》 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/26 10:41:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |