生成树机制实验

ops/2025/1/18 9:10:53/

1 实验内容

1、基于已有代码,实现生成树运行机制,对于给定拓扑(four_node_ring.py),计算输出相应状态下的生成树拓扑

2、构造一个不少于7个节点,冗余链路不少于2条的拓扑,节点和端口的命名规则可参考four_node_ring.py,使用stp程序计算输出生成树拓扑

2 实验原理

一、生成树机制

通过禁止(block) 设备的相关端口,在有环路的网络中构造出一个总体开销最小的生成树拓扑,使得网络在连通的前提下,避免广播风暴。

二、生成树的唯一性

具有相同开销的生成树可能并不唯一,选择优先级最高的生成树作为唯一生成树。

    • 节点ID最小的点作为生成树的根节点
    • 每个节点选择到树的根节点优先级最高的路径
    • 优先级顺序:路径开销 > 所连接的节点ID大小 > 所连接的端口ID大小 > …
      • 路径开销路径开销等于路径上全部链路开销之和,链路开销与链路带宽相关,带宽越高,开销越小

三、生成树机制的基本原理

经过有限次的收发Config消息,网络中能够“选举”出唯一的根节点,即ID最小的节点;

除根节点外,每个节点选择通过自己的根端口连接到根节点,使得到根节点的路径开销最小;

为了保证新的Config消息能够扩散到其他节点,每个节点会通过指定端口发送Config消息;

生成树机制收敛后,每个网段内所有端口存储的配置都相同。

四、构建生成树拓扑的流程

1、初始化阶段:每个节点认为自己是根节点,并将自己的所有端口设定为指定端口,用于发送config消息

2、运行阶段:

(1)根节点通过hello定时器(2秒)周期发送Config消息

(2)处理config消息:当端口收到config消息时,将本端口的config与收到的config进行优先级比较。

      • 如果收到的config优先级高:
        • 说明该网段应该通过对方端口连接根节点,因此本端口为非指定端口(断开链路),本端口的config消息更新
        • 节点状态更新,从本节点中所有非指定端口中选举根端口,通过比较端口间config消息的优先级,选举config消息优先级最高的非指定端口为根端口
        • 更新节点其他端口的config消息,并通过指定端口发送出去

http://www.ppmy.cn/ops/151053.html

相关文章

STM32 FreeRTOS任务通知

目录 任务通知的简介 任务通知相关API函数介绍 任务通知的简介 任务通知是 FreeRTOS 中一种用于任务间通信的机制,它允许一个任务向其他任务发送简单的通知或信号,以实现任务间的同步和协作。任务通知通常用于替代二值信号量或事件标志组,提…

Autodl转发端口,在本地机器上运行Autodl服务器中的ipynb文件

通过 SSH 隧道将远程端口转发到本地机器 输入服务器示例的SSH指令和密码,将远程的6006端口代理到本地 在服务器终端,激活conda虚拟环境 conda activate posecnnexport PYOPENGL_PLATFORMegljupyter notebook --no-browser --port6006 --allow-root从…

android adb 无线连接 (wifi)

常见adb 命令 logcat install 安装 如果去公司忘记拿数据线了 可以使用wifi调试 adb 有一个提示 networking:connect HOST[:PORT] connect to a device via TCP/IP [default port5555]disconnect [HOST[:PORT]]disconnect from given TCP/IP device [default port55…

C语言之字符函数和字符串函数(上)

欢迎拜访:雾里看山-CSDN博客 本篇主题:C语言之字符函数和字符串函数(上) 发布时间:2025.1.17 隶属专栏:C语言 目录 求字符串长度strlen函数介绍函数使用函数实现 长度不受限制的字符串函数strcpy函数介绍函…

如何监控和防范小红书笔记详情API的安全风险?

流量监控与异常检测 请求频率监测: 建立一个系统来记录 API 的请求频率。可以通过在服务器端设置计数器或者使用专业的监控工具来实现。例如,对于每个 API 调用者(可以通过 API 密钥或者用户标识来区分),记录它们在单…

Nginx 之Rewrite 使用详解

文章目录 1. 概述2. Rewrite 指令 2.1 指令语法2.2 Flag 标记说明 3. Rewrite 与 Location 3.1 Location 分类3.2 Rewrite 和 Location 比较 4. Rewrite 实际场景 4.1 基于域名的跳转4.2 基于客户端 IP 访问跳转4.3 基于参数匹配的跳转4.4 基于目录下所有 PHP 文件跳转4.5 基于…

ToDesk设置临时密码和安全密码都可以当做连接密码使用

ToDesk 在各领域办公都已经是非常常见了 为了安全 ToDesk 设置了连接密码,想连接 需要输入远程码和连接密码 我们刚打开 系统默认给我们用的是临时密码,安全性确实很强 和定时Tokey一样,固定时间切换。 但是 如果我们要经常连接这个电脑&a…

2025年编程语言热度分析:Python领跑,Go与Rust崛起

TIOBE Index(TIOBE 编程语言指数)是一个衡量编程语言流行度的排名系统。它通过分析多种搜索引擎、在线编程社区、技术论坛、问答网站(如 Google、Bing、Yahoo、Wikipedia、Stack Overflow)等的搜索和讨论数据,评估不同…