生成树协议

.技术背景
一个缺乏冗余性设计的网络:任何一个网络节点出现故障,会造成单链路故障、单设备故障,使整个网络瘫痪。

引入冗余性的同时也引入了二层环路:网络的冗余性增强了,但是却出现了二层环路。

常见的二层环路的原因有:错误地连接设备之间的互联线缆、配置错误等。

二 .二层环路带来的问题
因为交换机对“BUM帧(Broadcast,Unknown unicast,Multicast)指定广播、未知单播及组播帧”,会进行泛洪行为,一旦在环路中进行泛洪,那么数据帧就会被复制多份,然后在环路中进行着无限制的泛洪,就会形成以下一系列的问题:

1 广播风暴:短时间内会出现大量数据帧在环路中无限制的泛洪。

2 重复帧拷贝:在广播风暴的同时还会将数据帧重复拷贝多份,不停的防洪。

3 MAC地址漂移:当一台交换机的环路相关的端口,因为收到了被重复拷贝的数据帧,导致MAC地址表中环路相关端口和MAC的对应关系会不停的来回快速切换,导致以此为目标MAC的数据帧找不到去路。

三. 生成树协议
在网络中部署生成树后,交换机之间会进行生成树协议报文的交互并进行无环拓扑计算,最终将网络中的某个(或某些)接口进行阻塞(Block),从而打破环路。

交换机上运行的生成树协议会持续监控网络的拓扑结构,当网络拓扑结构发生变化时,生成树能感知到这些变化,并且自动做出调整。

因此,生成树能够动态响应网络拓扑变化调整阻塞接口,既能解决二层环路问题,也能为网络的冗余性提供一种方案。

查看生成树的简要信息命令:display stp brief

四 .STP的基本概念
1 桥ID(Bridge ID,BID)
IEEE802.1D标准中规定BID由16位的桥优先级(BridgePriority)与桥MAC地址构成,优先级默认为32768。

每一台运行STP的交换机都拥有一个唯一的BID。

BID桥优先级占据高16bit,其余的低48bit是桥MAC地址。

在STP网络中,BID最小的设备会被选举为根桥。

注:此处网桥(Bridge ),或者桥也就是交换机。

相关命令
修改优先级命令:stp priority 0 \\优先级必须是4096的倍数

修改优先级为0:stp root primary \\树根

修改优先级为4096:stp root secondary \\次级根

查看生成树信息命令:display stp

查看接口信息命令:display interface

2 根桥(Root Bridge)
STP的主要作用之一是在整个交换网络中计算出一棵无环的“树”(STP树)。

根桥是一个STP交换网络中的“树根”。

STP开始工作后,会在交换网络中选举一个根桥,根桥是生成树进行拓扑计算的重要“参考点”,是STP计算得出的无环拓扑的“树根”。

在STP网络中,桥ID最小的设备会被选举为根桥。

在BID的比较过程中,首先比较桥优先级,优先级的值越小,则越优先,拥有最小优先级值的交换机会成为根桥;如果优先级相等,那么再比较MAC地址,拥有最小MAC地址的交换机会成为根桥。

3 Cost(开销)
每一个激活了STP的接口都维护着一个Cost值,接口的Cost主要用于计算根路径开销,也就是到达根的开销。

接口的缺省Cost除了与其速率、工作模式有关,还与交换机使用的STPCost计算方法有关。

接口带宽越大,则Cost值越小。

用户也可以根据需要通过命令调整接口的Cost。

COST计算方法

4 RPC(根路径开销,Root Path Cost)
在STP的拓扑计算过程中,一个非常重要的环节就是“丈量”交换机某个接口到根桥的“成本”,也即RPC。

一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有入方向接口的Cost累加。

5 Port ID(PID,接口ID)
运行STP的交换机使用接口ID来标识每个接口,接口ID主要用于在特定场景下选举指定接口。

接口ID由两部分构成的,高4bit是接口优先级,低12bit是接口编号。

激活STP的接口会维护一个缺省的接口优先级,在华为交换机上,该值为128。用户可以根据实际需要,通过命令修改该优先级。

6 BPDU(Bridge Protocol Data Unit,网桥协议数据单元)
BPDU是STP能够正常工作的根本。BPDU是STP的协议报文。每隔2秒发出一个BPDU。

STP交换机之间会交互BPDU报文,这些BPDU报文携带着一些重要信息,正是基于这些信息,STP才能够顺利工作。

BPDU分为两种类型:
配置BPDU(ConfigurationBPDU)
TCNBPDU(TopologyChangeNotificationBPDU)

配置BPDU是STP进行拓扑计算的关键;

TCNBPDU只在网络拓扑发生变更时才会被触发。

BPDU报文的数据链路层是802.3以太。

STP协议-基础的更多相关文章

  1. STP协议与MSTP协议

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

  2. TCP/IP协议基础(转)

    转自 http://www.chinaunix.net 作者:Bernardus160  发表于:2003-12-03 17:33:15 TCP/IP协议基础 -------------------- ...

  3. 小白日记27:kali渗透测试之Web渗透-Http协议基础,WEB

    Http协议基础 Web技术发展[http://www.cnblogs.com/ProgrammerGE/articles/1824657.html] 静态WEB[网页] 动态WEB 属于一种应用程序 ...

  4. HTTP协议基础与实验

    一. HTTP协议(Hypetext Transfer Protoacal,超文本传输协议) HTTP协议规定了Web基本的运作过程,以及Web服务器之间的通信细节. Http协议采用客户端/服务器端 ...

  5. udp协议基础(转自疯狂java讲义)

    第17章  网络编程 17.4  基于UDP协议的网络编程 UDP协议是一种不可靠的网络协议,它在通信实例的两端各建立一个Socket,但这两个Socket之间并没有虚拟链路,这两个Socket只是发 ...

  6. UART串口协议基础1

    Louis kaly.liu@163.com 串口协议基础 1 串口概述 串口由收发器组成.发送器是通过TxD引脚发送串行数据,接收器是通过RxD引脚接收串行数据. 发送器和接收器都利用了一个移位寄存 ...

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

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

  8. 接口测试培训:HTTP协议基础

    接口测试培训:HTTP协议基础   引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展. ...

  9. STP协议

    STP协议的作用: 第一, 可以避免网络环路和广播风暴. 二层数据包是没有TTL(time to live)的,如果不加以限制,可能会无限的传播下去.二层设备间如果存在环路,大量的广播包就可能导致广播 ...

  10. 【RL-TCPnet网络教程】第41章 HTTP超文本传输协议基础知识

    第41章      HTTP超文本传输协议基础知识 本章节为大家讲解HTTP(HyperText Transfer Protocol,超文本传输协议),从本章节开始,正式进入嵌入式Web的设计和学习. ...

随机推荐

  1. SAP 登录文件路径

    链接文件地址C:\Users\Administrator\AppData\Roaming\SAP\Common 复制:Common文件夹所有文件替换

  2. RTFormer: Efficient Design for Real-Time Semantic Segmentation with Transformer概述

    0.前言 相关资料: arxiv github 论文解读 论文基本信息: 发表时间:NeurlPS2022(2022.10.13) 1.摘要 最近,基于Transformer的网络在语义分割方面取得了 ...

  3. QP之QEP事件分配流程分析

    *********************************1*********************************** QActive *AO_Blinky = &l_bl ...

  4. ALBERT论文简读

    问题描述 预训练自然语言表征时,增加模型的参数量通常可以是模型在下有任务中性能提升.但是这种做法对硬件设备的要求较高(当下的各种SOTA模型动辄数亿甚至数十亿个参数,倘若要扩大模型规模,这个内存问题是 ...

  5. ES6的总结的一些数组、字符串方法

    1.数组的方法 unshift() 数组头部添加内容 push() 数组尾部添加内容 pop() 数组尾部删除内容 shift() 数组头部删除内容 sort() 数组排序 a-b 升序 b-a 降序 ...

  6. JAVA的注释和变量名称

    1.注释 (1)单行注释为//..... 例://这是一行注释 (2)多行注释是/*.......... .............*/ 例:/*我是第一行注释 我是第二行注释 我是第三行注释*/ ( ...

  7. 安全测试-WEB安全渗透测试基础知识(三)

    1.3. 域名系统 1.3.1. 域名系统工作原理 DNS解析过程是递归查询的,具体过程如下: 用户要访问域名www.example.com时,先查看本机hosts是否有记录或者本机是否有DNS缓存, ...

  8. SpringCloud之配置中心(config)的使用

    配置中心的作用就在于可以在项目启动时加载远程或本地的配置文件,将配置文件集中管理 springboot版本: 2.1.6.RELEASE springcloud版本: Finchley.RELEASE ...

  9. MAC系统连接Windows共享文件的方法:

    MAC系统连接Windows共享文件的方法: 1.首先先确认Windows系统下已开启共享.并且两台电脑之间局域网已通. 2.苹果MAC系统,点击桌面.打开顶部菜单 "前往". 3 ...

  10. MySQL Galera cluster 集群常用参数说明

    1.wsrep_local_state_uuid: 与集群的wsrep_cluster_state_uuid一致 root@[(none)]> show status like '%wsrep_ ...