5.1、生成树协议stp

news/2024/10/20 21:31:18/

一、广播风暴

广播风暴(Broadcast Storm)是网络中的一种现象,通常发生在局域网(LAN)中。当网络中的交换机或路由器配置错误,或环路没有被有效控制时,广播帧会在网络中无限制地传播,导致网络带宽被大量占用,最终可能导致网络瘫痪。

广播风暴的主要原因包括:

  1. 环路(Looping):如果网络中的设备没有正确配置生成树协议(STP),环路会产生大量的广播帧在网络中循环。
  2. 网络设备故障:交换机或路由器的硬件或软件故障可能导致广播风暴。
  3. 错误配置:不当的VLAN配置、冗余链路配置或网络设备的错误设置可能引发广播风暴。

预防措施包括:

  • 启用生成树协议(STP):避免环路的产生。
  • 设置广播风暴控制:一些交换机提供广播风暴控制功能,限制广播流量的上限。
  • 合理配置VLAN:减少广播域的大小,从而降低广播流量对网络的影响。

二、stp

计算机网络中的树型结构的最大特点就是没有环路,stp主要的工作原理就是把有环路的网络“切断”,生成一个没有环路的树型网络结构。其中,起冗余链路作用的并不会真正断开,此外还要确定多条路径要留那一条。

根据参数的设置,不同的交换机会被选为根桥,需要注意的是:任意时刻只能有一个根桥。从根开始逐级生成一颗“树”。

根交换机会定时发送配置数据包,非根桥收到配置数据包并转发,如果某台交换机能从两个以上的端口收到配置数据包,表明到这个交换机的路径不少于1条,这样就构成循环,需要切断。如果一台交换机长时间收不到配置数据包时,交换机就认为该端口配置超时,网络的结构有改变了,这个时候就会重新计算生一课新树。

生成树协议(Spanning Tree Protocol, STP)是一种网络协议,用于以太网网络中防止环路(loops)的产生。环路可能会导致广播风暴、网络拥塞以及数据包的重复传输。STP的主要功能是识别并禁用多余的路径,确保网络中只存在一条无环路的路径,保证数据帧能够正常传输。

工作原理

STP的工作原理:

  1. 根桥(Root Bridge)的选举

    • STP通过在网络设备之间进行BPDU(Bridge Protocol Data Unit)报文的交换来选举出一个根桥。根桥是网络中的参考点,具有最低桥优先级(Bridge Priority)的交换机会被选为根桥。
  2. 计算最短路径

    • 其他交换机会根据到达根桥的最短路径来计算各自的根路径代价(Root Path Cost)。交换机会将路径代价最低的接口设为根端口(Root Port),并保持这条路径激活。
  3. 指定端口(Designated Port)和阻塞端口(Blocked Port)

    • 在每个网络段上,代价最低的端口被指定为指定端口,用于转发流量。其他多余的端口则被设置为阻塞状态,以防止环路的形成。
  4. 阻塞和转发状态

    • 被选为根端口和指定端口的接口处于转发状态,允许流量通过。而被阻塞的端口则不会转发流量,只用于监听BPDU报文,以确保一旦网络拓扑发生变化(例如设备故障或新设备加入),STP能够动态调整,并重新配置网络路径。

STP的变种

  • 快速生成树协议(Rapid Spanning Tree Protocol, RSTP):RSTP是STP的增强版本,主要改进在于收敛速度更快,当网络拓扑发生变化时可以更快地调整路径。
  • 多实例生成树协议(Multiple Spanning Tree Protocol, MSTP):MSTP允许在同一个网络中运行多个生成树实例,以支持VLAN和更复杂的网络结构。

选取根桥的原则,根桥必须拥有最低的优先权ID和MAC地址。cisco交换机默认id值为32768,优先权id值范围为1~65 536。优先权数值相同,将由mac地址大小来决定,那个低就选那个。

stp下交换机端口的不同状态属性

在生成树协议(STP)中,交换机端口可以处于以下几种不同的状态,每种状态都有特定的属性和功能。这些状态用于确保网络中没有环路,同时维护网络的连通性。以下是STP下交换机端口的不同状态及其属性:

1. 阻塞状态(Blocking)

  • 功能:端口不转发数据帧,也不学习MAC地址,只接收并处理BPDU(Bridge Protocol Data Unit)报文。
  • 属性
    • 端口不会参与数据帧的转发。
    • 主要用于防止环路的形成。
    • 端口在这个状态下会等待生成树协议确定是否需要转换为其他状态。

2. 监听状态(Listening)

  • 功能:端口不转发数据帧,也不学习MAC地址,但它会监听网络中的BPDU报文,等待STP确认网络拓扑。
  • 属性
    • 端口从阻塞状态转换到监听状态,以准备可能的状态变更。
    • 端口开始参与生成树计算,但仍然不转发数据帧。

3. 学习状态(Learning)

  • 功能:端口不转发数据帧,但开始学习源MAC地址,将其添加到MAC地址表中。
  • 属性
    • 端口继续处理和发送BPDU报文。
    • 开始学习数据帧的源MAC地址,构建MAC地址表。
    • 准备进入转发状态。

4. 转发状态(Forwarding)

  • 功能:端口正常转发数据帧,处理BPDU,并学习MAC地址。
  • 属性
    • 端口处于正常工作状态,参与数据帧的转发。
    • 继续学习MAC地址并更新MAC地址表。
    • 发送和接收BPDU报文,维持生成树的网络拓扑。

5. 禁用状态(Disabled)

  • 功能:端口不参与生成树协议的计算,也不转发数据帧。
  • 属性
    • 端口处于关闭状态,完全不参与网络通信。
    • 这个状态通常是由于管理员手动禁用端口,或端口本身出现故障。

状态转换的顺序

  • 当一个端口启用并连接到网络时,它通常从阻塞状态开始,然后依次经过监听状态学习状态,最终到达转发状态。如果生成树协议检测到环路,端口会回到阻塞状态,以防止网络中的环路。

http://www.ppmy.cn/news/1511672.html

相关文章

26 slave写入数据解决与GTIDS主从复制搭建

上午 1、web01与web02服务器搭建 ip:10.0.0.11 systemctl stop filewalld systemctl disable firewalld setenforce 0 vim /etc/selinux/config SELINUXdisabled yum -y install nginx echo "web----------01" > /usr/share/nginx/html/index.html nginx…

linux 常用工具

http负载测试工具 vegeta echo “GET http://${VSIP}/” | /root/adauto/vegeta attack -rate200 -duration600s -keepalivefalse -laddr ${ClientIP2} wrk 发包工具 hyenae hyenae -I 6 -a icmp-echo -A 4 -s %-112.122.99.31 -d 80:61:5f:1a:f1:10-112.122.99.247 py库 s…

Vite 与 Vue:分开的发展路径

目录 Vue 的角色 Vite 的崛起 Vite 的特点 Vite 与 Vue 的合作 设计理念 技术优势 使用场景 生态系统 未来方向 在前端开发的领域,Vue 和 Vite 常常被提及。然而,尽管它们有着共同的起源,它们的功能和目标却是独立的。在这篇博客中&…

前端宝典之六:React源码解析之lane模型

本文主要内容: 介绍lane模型 一、 lane模型 lane模型就是react优先级的机制,可以用来 可以表示优先级的不同可能同时存在几个同优先级的更新,所以还得能表示批的概念方便进行优先级相关计算 1、表示优先级不同 lane模型使用31位的二进制…

机器学习(5)--正则化之L1和L2正则化

文章目录 正则化一、正则化的基本原理二、L1正则化(Lasso)三、L2正则化(Ridge)四、L1与L2正则化的比较 总结 正则化 正则化是一种在机器学习和深度学习中常用的技术手段,旨在提高模型的泛化能力,减少过拟合…

仿RabbitMq实现简易消息队列正式篇(消费者篇)

TOC消费者管理模块 客户端由两种:发布消息,订阅消息 因此订阅了指定队列消息的客户端才是一个消费者。 消费者数据存在的意义:当指定队列有了消息以后,就需要将消息推送给这个消费者客户端(推送的时候就需要找到这个…

数据结构与算法 - 双指针

一、移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12]输出: [1,3,12,0,0]示例 2: 输入: nums …

HTTP/1.1

目录 一、比较HTTP/1.0的优点 二、请求报文 1.请求报文 (1)格式 2.get请求 (1)请求行 (2)请求头 (3)请求体 3.post请求 (1)请求行 (2&…