生成樹機制實驗

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.pswp.cn/web/66532.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66532.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66532.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據結構詳解——堆與二叉樹

? 目錄 樹的概念樹的表示方法二叉樹的概念特殊的二叉樹二叉樹的性質二叉樹的存儲結構順序存儲鏈式存儲 堆的概念與結構堆的性質堆的實現堆的初始化入堆堆的擴容向上調整算法出堆(最頂端元素)向下調整算法 二叉樹的實現二叉樹的創建二叉樹的銷毀二叉樹的…

【藍橋杯】43694.正則問題

題目描述 考慮一種簡單的正則表達式: 只由 x ( ) | 組成的正則表達式。 小明想求出這個正則表達式能接受的最長字符串的長度。 例如 ((xx|xxx)x|(x|xx))xx 能接受的最長字符串是: xxxxxx,長度是 6。 輸入描述 一個由 x()| 組成的正則表達式。…

mac m1下載maven安裝并配置環境變量

下載地址:Download Apache Maven – Maven 解壓到一個沒有中文和空格的文件夾 輸入pwd查看安裝路徑 輸入cd返回根目錄再輸入 code .zshrc 若顯示 command not found: code你可以通過以下步驟來安裝和配置 code 命令: 1. 確保你已經安裝了 Visual Studio…

【自己動手開發Webpack插件:開啟前端構建工具的個性化定制之旅】

在前端開發的世界里,Webpack無疑是構建工具中的“明星”。它強大的功能可以幫助我們高效地打包和管理前端資源。然而,有時候默認的Webpack功能可能無法完全滿足我們的特定需求,這時候就需要自定義Webpack插件來大展身手啦!今天&am…

移遠通信多模衛星通信模組BG95-S5獲得Skylo網絡認證,進一步拓展全球衛星物聯網市場

近日,全球領先的物聯網整體解決方案供應商移遠通信正式宣布,其支持“衛星蜂窩”多模式的高集成度NTN衛星通信模組BG95-S5已成功獲得NTN網絡運營商Skylo的網絡認證。BG95-S5也成為了獲得該認證的最新款移遠衛星通信模組。 BG95-S5模組順利獲得Skylo認證&a…

1.3.淺層神經網絡

目錄 1.3.淺層神經網絡 1.3.1 淺層神經網絡表示 1.3.2 單個樣本的向量化表示 1.3.4 激活函數的選擇 1.3.5 修改激活函數 1.3.5 練習??????? 1.3.淺層神經網絡 1.3.1 淺層神經網絡表示 之前已經說過神經網絡的結構了,在這不重復敘述。假設我們有如下…

StarRocks強大的實時數據分析

代碼倉庫:https://github.com/StarRocks/starrocks?tabreadme-ov-file StarRocks | A High-Performance Analytical Database 快速開始:StarRocks | StarRocks StarRocks 是一款高性能分析型數據倉庫,使用向量化、MPP 架構、CBO、智能物化…

2024年博客之星主題創作|貓頭虎分享AI技術洞察:2025年AI發展趨勢前瞻與展望

2025年AI發展趨勢前瞻:貓頭虎深度解析未來科技與商業機遇 摘要 2024年,AI技術迎來爆發式增長,AIGC、智能體、AIRPA、AI搜索、推理模型等技術不斷突破,AI應用場景持續擴展。2025年,AI將進入全新發展階段,W…

PG vs MySQL mvcc機制實現的異同

MVCC實現方法比較 MySQL 寫新數據時,把舊數據寫入回滾段中,其他人讀數據時,從回滾段中把舊的數據讀出來 PostgreSQL 寫新數據時,舊數據不刪除,直接插入新數據。 MVCC實現的原理 PG的MVCC實現原理 定義多版本的數據…

Android SystemUI——CarSystemBar視圖解析(十一)

前面文章我們已經把 CarSystemBar 從啟動到構建視圖,再到將視圖添加到 Window 的流程分析完畢,我們知道默認情況下在車載系統中只顯示頂部欄和底部欄視圖的。這里我們在前面文章的基礎上以頂部欄為例具體解析其視圖的結構。 一、頂部欄解析 通過《CarSystemBar車載狀態欄》這…

51c~ONNX~合集1

我自己的原文哦~ https://blog.51cto.com/whaosoft/11608027 一、使用Pytorch進行簡單的自定義圖像分類 ~ONNX 推理 圖像分類是計算機視覺中的一項基本任務,涉及訓練模型將圖像分類為預定義類別。本文中,我們將探討如何使用 PyTorch 構建一個簡單的自定…

每打開一個chrome頁面都會【自動打開F12開發者模式】,原因是 使用HBuilderX會影響谷歌瀏覽器的瀏覽模式

打開 HBuilderX,點擊 運行 -> 運行到瀏覽器 -> 設置web服務器 -> 添加chrome瀏覽器安裝路徑 chrome谷歌瀏覽器插件 B站視頻下載助手插件: 參考地址:Chrome插件 - B站下載助手(輕松下載bilibili嗶哩嗶哩視頻&#xff09…

go語言之OOP特性和演示

一、OOP特性 Go語言中的OOP特性 結構體:在Go中,結構體用于定義復合類型,類似于其他語言中的類。它可以包含字段(屬性)和方法(行為)。方法:Go允許為任何自定義類型(包括…

USB3020任意波形發生器4路16位同步模擬量輸出卡1MS/s頻率 阿爾泰科技

信息社會的發展,在很大程度上取決于信息與信號處理技術的先進性。數字信號處理技術的出現改變了信息 與信號處理技術的整個面貌,而數據采集作為數字信號處理的必不可少的前期工作在整個數字系統中起到關鍵 性、乃至決定性的作用,其應用已經深…

ChatGPT大模型極簡應用開發-目錄

引言 要理解 ChatGPT,了解其背后的 Transformer 架構和 GPT 技術一路的演進則變得非常必要。 ChatGPT 背后的 LLM 技術使普通人能夠通過自然語言完成過去只能由程序員通過編程語言實現的任務,這是一場巨大的變革。然而,人類通常容易高估技術…

C++入門基礎篇:域、C++的輸入輸出、缺省參數、函數重載、引用、inline、nullptr

本篇文章是對C學習前期的一些基礎部分的學習分享,希望也能夠對你有所幫助。 那咱們廢話不多說,直接開始吧! 目錄 1.第一個C程序 2. 域 3. namespace 3.1 namespace的作用 3.2 namespace的定義 3.3 namespace使用說明 4.C的輸入和輸出…

RabbitMQ---TTL與死信

(一)TTL 1.TTL概念 TTL又叫過期時間 RabbitMQ可以對隊列和消息設置TTL,當消息到達過期時間還沒有被消費時就會自動刪除 注:這里我們說的對隊列設置TTL,是對隊列上的消息設置TTL并不是對隊列本身,不是說隊列過期時間…

先進制造aps專題二十七 西門子opcenter aps架構分析

歐美的商業aps,主要就是sap apo,西門子opcenter aps,達索quintiq 從技術的層面,西門子aps是不如sap apo的,但是西門子aps是西門子數字化工廠產品的核心,有很多特色,所以分析 西門子aps主要分計劃器和排產器兩個部分 計…

WPF如何跨線程更新界面

WPF如何跨線程更新界面 在WPF中,類似于WinForms,UI控件只能在UI線程(即主線程)上進行更新。WPF通過Dispatcher機制提供了跨線程更新UI的方式。由于WPF的界面基于Dispatcher線程模型,當你在非UI線程(例如后…

ingress-nginx代理tcp使其能外部訪問mysql

一、helm部署mysql主從復制 helm repo add bitnami https://charts.bitnami.com/bitnami helm repo updatehelm pull bitnami/mysql 解壓后編輯values.yaml文件,修改如下(storageclass已設置默認類) 117 ## param architecture MySQL archit…