生成树协议

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

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

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

二 .二层环路带来的问题
因为交换机对“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. PostgresSql更改字段位置后,数据库异常

    SQL server的studio有一个功能,可以随意拖拽表字段,更改其位置并使之重新排序,有同事问起,Postgres是否也可以.Postgres每个字段的顺序是在系统表pg_attribute里面 ...

  2. SystemVerilog Tutorial

    来自网站 1.网站说明-tutorial This SystemVerilog tutorial is written to help engineers with background in Ver ...

  3. Qt5 CMake项目简单模板

    cmake_minimum_required(VERSION 3.5) project(test VERSION 0.1 LANGUAGES CXX) set(CMAKE_INCLUDE_CURREN ...

  4. mybatis动态标签——where、if

    mapper接口 public interface EmpMapper { List<Emp> getEmp(Emp emp); } mapper.xml <?xml version ...

  5. JetBrains之全家桶破解

    JetBrains之全家桶破解(idea,rider....) 链接之....JETBRA.IN 打开上面的链接 随便点击下图中一个可用的链接,进入之后看下一步. 打开上一步的链接之后,下载下图中红框 ...

  6. null和undefine的区别

    null和undefine都是基本数据类型,两种类型都只有一个值. 区别: 1.undefined表示已经声明未定义,null表示的是一个空对象(null并不是空对象,js的typeof会将null判 ...

  7. SAP MD04屏幕显示增强

    需求 在看物料MRP结果的时候,业务人员想要看到工单批次,工单批次是我们这边工单下达后传输到其他系统,然后由其他系统回传回来的. 开发步骤 主要使用二代增强出口:M61X0002 创建增强项目 事务码 ...

  8. elements-plus 自动导入

    elements-plus 自动导入(官网推荐导入方式) 根据官网安装依赖 npm install -D unplugin-vue-components unplugin-auto-import 配置 ...

  9. 发送邮件找回密码采用outlook的 pop和smtp方式、qq邮箱smtp

    一.outlook的pop方式,并指定发送人邮箱地址: 需要引入dll:Microsoft.Office.Interop.Outlook Outlook.Application olApp = new ...

  10. react+routerv6搭建项目

    目标配置:React + Hook + React-router-v6 + Mobx + AntD: 1.创建项目 npx npx create-react-app 项目名称 2.安装sass环境,r ...