spin協定

SPIN(sensor protocol for information via negotiation)是一種以數據為中心的自適應通信路由協定。它通過使用節點間的協商制度和資源自適應機制,解決了傳統協定所存在的內爆,重疊以及盲目使用資源問題。 SPIN協定有 3 種數據包類型,即 ADV、REQ和 DATA。ADV用於元數據的廣播,REQ用於請求傳送數據,DATA為感測器採集的數據包。

協定簡介

SPIN(sensor protocol for information via negotiation)是一種以數據為中心的自適應通信路由協定。它通過使用節點間的協商制度和資源自適應機制,解決了傳統協定所存在的內爆,重疊以及盲目使用資源問題。 SPIN協定有 3 種數據包類型,即 ADV、REQ和 DATA。ADV用於元數據的廣播,REQ用於請求傳送數據,DATA為感測器採集的數據包。

基本原理

感測器節點採用SPIN協定互動的基本過程:

(1)結點A採集到數據m。向外廣播帶有m元數據(元數據指數據的屬性)的adv數據包。

(2)鄰居結點B收到A的adv數據包,根據其攜帶的元數據判斷自身是否需要數據m。如果不需要,則銷毀adv數據包。需要則生成相應的req數據包,向外廣播。

(3)結點A收到B的req數據包請求,生成相應的data數據包相外廣播。

(4)結點B收到A的data數據包,進行數據m的存儲。

(5)結點B繼續向外廣播帶有m元數據的adv數據包,從而數據m在網路中被傳遞。

每個結點都擁有一個唯一的地址,稱為結點的自身地址。當結點A自身隨機採集到有效數據m的時候,A立即生成與數據m相匹配的元數據,並將元數據和自身的地址封裝成adv數據包,將其向外廣播。

當A的鄰居結點B收到adv數據包後,它首先提取adv數據包的元數據域,查看其元數據是否為自身需要的數據屬性,如果不需要,則銷毀adv數據包;如果需要,則提取adv數據包中的A結點的地址作為目的地址,將其和元數據以及自身地址封裝成相應的req數據包向外廣播。

這樣結點A又收到了req數據包。首先,A要提取req數據包中的目的地址,判斷其是否和自身的地址相同。不相同則表示此req不是自身需要的,則銷毀req數據包。相同則表明此數據包是發給自身的。提取其源地址作為目的地址,提取其元數據域,找到與元數據相匹配的自身數據一同封裝生成相應的data包向外廣播。

鄰居結點B收到data包之後,也同樣的通過檢查其目的地址來判斷其是否為自身所需要的data包。相符則存儲數據,否則銷毀數據包。當數據真正的存儲到了B結點之後,也就完成了一個數據的轉移。此時,結點B可以傳送adv數據包,通知其他鄰居結點,結點B擁有這個數據,從而達到將數據傳播出去的目的。

相關詞條

相關搜尋

熱門詞條

聯絡我們