簡單拓撲發現實現過程及其物聯網應用設想

2021-07-05 04:06:45 字數 943 閱讀 3692

拓撲有很多種,比如鏈式、星形、環形、環交環、環切環。其中環是應該避免出現,為什麼呢?

1)資料幀在環形拓撲中一直**,增加頻寬、cpu的負擔,借用網路術語——廣播風暴。

2)和1)類似,資料幀會被重複**,裝置就會重複執行,裝置就會進入非正常的狀態。

3)容易導致拓撲表中id一直處於變化,不穩定。

所以說白了就是如何,如何向各式各樣的拓撲簡化成乙個鏈式的。

一、鄰居協議

每台裝置都會採集和自己直連的裝置,形成乙個鄰居表,表裡記錄的資訊主要包括,與裝置埠相對應的鄰居裝置埠與id。

二、拓撲協議

待到鄰居協議完成後,裝置開始建立拓撲表。

裝置首先會根據自己的鄰居表,將鄰居表中的裝置都新增到拓撲表中;

然後按照鄰居表依次查詢相應的鄰居裝置,即傳送查詢幀;

鄰居裝置收到查詢幀後,會將自己鄰居表反饋回去;

裝置收到鄰居表後,查詢接收到的鄰居表中,是否有新裝置(即未新增在拓撲表中的裝置),如果有則新增,否則忽略。

以此類推,直到網路上所有裝置都新增到拓撲表中;此時任何形狀的網路都會變成乙個鏈式的拓撲。相對來說這種思路比較簡單,實現也容易,可以推廣使用。

在物聯網中應該有用武之地,現在智慧型家居已經從理論應用到實際之中,看看漫天的新聞,不難想象以後您家裡的乙個燈泡乙個開關,都會被鏈結到網路之中,而且功能肯定會有很大的提公升,比如燈泡的顏色控制,亮度控制,定時,聲控還是光空等等,家裡的任何一樣東西的功能都被發揮到了極致。他們之間如何進行互聯,如何進行控制,上午提到鄰居拓撲發現協議是乙個比較不錯的選擇。

完全可以把家裡的整個拓撲對映到網路中,每個家庭以拓撲表為模型,推而廣之,家庭與家庭之間有形成一種拓撲關係,最終整個世界其實就是乙個超級拓撲表。越扯越遠了。

歡迎**[email protected]

管道及其簡單實現

管道也叫管道檔案,是檔案的一種。其中分為有名管道和無名管道,有名管道 可以在任意兩個程序間通訊 無名管道 只能在父子程序間通訊。管道的通訊方式是半雙工的,那麼什麼是半雙工呢?就像收音機 印表機一樣。那既然有半雙工,當然也會有全雙工,全雙工就向 一樣雙方都可以進行通話。管道分為讀端和寫端,顧名思義,寫...

簡單AOP實現過程

切面類實現 aspect public class logaspects before在目標方法之前切入 切入點表示式 指定在哪個方法切入 before pointcut public void logstart joinpoint joinpoint after com.atguigu.aop.l...

簡單的Future模式及其實現

future模式是乙個多執行緒的設計模式,以下乙個簡單的實現例子。實現的原理有點類似訂蛋糕,你去商店定做蛋糕時,並不能直接拿到蛋糕,而是拿到購物小票之類的,你需要等蛋糕製作完成後,再來取。在這期間你可以去做其他的事情,而不必在蛋糕店等待蛋糕的製作。這和單獨開乙個執行緒沒有什麼區別,具體有什麼好處我目...