The Network Link Layer: 無線傳感器中Delay Tolerant Networks – DTNs 延遲容忍網絡

Delay Tolerant Networks – DTNs 延遲容忍網絡架構

  • 歸屬
  • Delay Tolerant Networks – DTNs 延遲容忍網絡
    • 應用實例
      • 例子 1:瑞典北部的薩米人 (Saami reindeer herders)
      • 例子 2:太平洋中的動物傳感網絡
  • DTNs路由方式——存儲&轉發
  • DTNs移動模型
    • Random walk 隨機游走
      • Gauss-Markov Mobility 高斯-馬爾可夫移動性
    • Random waypoint 隨機航點
  • Epidemic Routing(流行病路由)——DTNs框架下的路由協議
  • PRoPHET路由協議——DTNs框架下的流行病改進路由協議
    • 核心思想
    • 概率更新公式
    • 📊 與 Epidemic Routing 對比
    • PRoPHET 協議 — 傳遞性 (Transitivity)
      • 概率更新公式
    • PRoPHET 協議(以及 DTN 路由)中的“權衡 (Trade-off)”
      • 多復制 vs 少復制
      • 設置閾值 (Threshold) 轉發
      • 解決方案
    • 具體實例

歸屬

延遲容忍網絡不屬于Data-centric / Hierarchical / Geographical / QoS-based這 4 類里的任何一個。

Data-centric / Hierarchical / Geographical / QoS-based 默認網絡端到端連通、可以逐跳轉發;而 DTN 的前提恰好相反:長時延、間歇性連接,用 store–carry–forward(存-攜-轉) 的“機會式/容斷”路由范式。所以它通常被單列為 Delay/Disruption-Tolerant(Opportunistic)路由 一大類。

Delay Tolerant Networks – DTNs 延遲容忍網絡

DTN(Delay/Disruption Tolerant Networks,延遲/容斷網絡)是一類 能夠在高時延、大誤碼率、頻繁斷連、甚至無持續端到端路徑的環境下 仍然提供數據傳輸服務的網絡體系結構。

核心特征:
采用 store–carry–forward(存儲–攜帶–轉發) 的路由模式:
當節點之間沒有即時可用的鏈路時,節點會先將消息存儲在本地緩存中;
當未來遇到合適的轉發機會(例如節點移動到有連接的位置),再將消息轉發出去;
通過多次這樣的“存–攜–轉”,最終消息能夠到達目的地。

應用實例

DTN – 間歇性連接的 WSN(或自組織網絡),其中信息路由延遲是可以容忍的,→存儲和轉發

例子 1:瑞典北部的薩米人 (Saami reindeer herders)

環境:生活在北極圈附近,地廣人稀,通信設施不足。
做法:在 雪地摩托 上裝移動中繼,牧民移動時攜帶數據。
應用:牧民的電子郵件、網頁緩存等數據通過“存–攜–轉”的方式帶回網絡覆蓋區,再投遞。
👉 說明 DTN 可用于偏遠地區人群的基本通信服務。

例子 2:太平洋中的動物傳感網絡

環境:給 海豹、鯨魚等動物佩戴溫度/位置傳感器,幫助測量海洋溫度
問題:動物在大洋中移動,節點之間的連接是 間歇性的。
做法:利用動物偶爾相遇時交換/轉發數據,最終把數據帶到基站(sink)
👉 說明 DTN 可利用“節點移動+偶遇”來完成數據收集。

DTNs路由方式——存儲&轉發

類似于郵政服務→存儲和轉發,節點的移動性可以被利用

在這里插入圖片描述

DTNs移動模型

Random walk 隨機游走

節點選擇移動方向,介于 0 和 2π2π2π 之間,以及給定分布的速度; 例如,均勻、正態分布。
節點以該速度沿該方向(公式如下) 移動指定距離或一段時間。在此期間結束時,節點重復此過程。

在這里插入圖片描述

Gauss-Markov Mobility 高斯-馬爾可夫移動性

節點的速度和方向在第 nnn 時刻由前一時刻、均值以及隨機變量共同決定:

sn=αsn?1+(1?α)sˉ+1?α2sxn?1s_n = \alpha s_{n-1} + (1-\alpha)\bar{s} + \sqrt{1-\alpha^2}\,s_{x_{n-1}} sn?=αsn?1?+(1?α)sˉ+1?α2?sxn?1??

dn=αdn?1+(1?α)dˉ+1?α2dxn?1d_n = \alpha d_{n-1} + (1-\alpha)\bar{d} + \sqrt{1-\alpha^2}\,d_{x_{n-1}} dn?=αdn?1?+(1?α)dˉ+1?α2?dxn?1??

其中:

  • sns_nsn? :第 nnn 時刻的速度
  • dnd_ndn? :第 nnn 時刻的方向
  • sˉ,dˉ\bar{s}, \bar{d}sˉ,dˉ :平均速度和平均方向
  • sxn?1,dxn?1s_{x_{n-1}}, d_{x_{n-1}}sxn?1??,dxn?1?? :來自高斯分布的隨機變量 (隨機性由此項產生)
  • α\alphaα :調節隨機性的參數(000 = 隨機游走,111 = 線性運動)

Random waypoint 隨機航點

每個節點選擇特定區域內的隨機點作為其目的地,節點以其選定的速度移動到其目的地。 當節點到達其目的地時,它會停止一段時間,之后它選擇一個新的目的地和速度并恢復移動
nnn 時刻節點的位置:

xn=xn?1+sn?1cos?(dn?1)x_n = x_{n-1} + s_{n-1}\cos(d_{n-1}) xn?=xn?1?+sn?1?cos(dn?1?)

yn=yn?1+sn?1sin?(dn?1)y_n = y_{n-1} + s_{n-1}\sin(d_{n-1}) yn?=yn?1?+sn?1?sin(dn?1?)
其中:

  • sn?1s_{n-1}sn?1? :第 n?1n-1n?1 時刻的速度
  • dn?1d_{n-1}dn?1? :第 n?1n-1n?1 時刻的方向 [0,2π][0,2π][0,2π]
  • x,yx,yx,y :坐標位置
    在這里插入圖片描述

Epidemic Routing(流行病路由)——DTNs框架下的路由協議

Based on the theory of epidemic algorithms 基于疫情算法理論
特征:
節點之間相遇時成對交換消息,最終將消息傳遞到目的地
假設隨機移動性模型

核心思想:像病毒傳播一樣,讓消息在節點相遇時被復制并擴散,直到傳到目的地。

當兩個節點相遇時:
交換 summary vector(各自存有哪些消息的索引)。
根據缺失情況請求和發送消息。

節點緩存(buffer)里保存消息。
在這里插入圖片描述
消息簡單結構:全網唯一ID用于識別節點,TTL(生存時間)保證消息不要過度泛濫。

在這里插入圖片描述
如果緩沖區和 TTL 足夠大,則消息會分布在整個網絡中,并且傳遞概率非常高。
如果 TTL = 1,則消息僅傳遞到目標(如果遇到)

PRoPHET路由協議——DTNs框架下的流行病改進路由協議

PRoPHET (Probabilistic Routing Protocol using History of Encounters and Transitivity)
PRoPHET 是一種 DTN 路由協議,改進自 Epidemic Routing。
它利用 節點歷史相遇信息轉遞性 (transitivity),計算消息的投遞概率,從而選擇性復制消息,減少資源消耗。

核心思想

  • 每個節點維護一個投遞概率表 P(a,b)P(a,b)P(a,b),表示 節點 aaa 把消息送到節點 bbb 的可能性
  • P(a,b)∈[0,1]P(a,b) \in [0,1]P(a,b)[0,1]
  • 當兩個節點相遇時,交換:
    • Summary Vector(消息摘要)
    • Delivery Predictability Vector(投遞概率信息)
  • 只把消息交給 投遞概率更高 的節點。

概率更新公式

當節點 aaa 與節點 bbb 相遇時,更新 P(a,b)P(a,b)P(a,b)

P(a,b)=P(a,b)old+(1?P(a,b)old)×PinitP_{(a,b)} = P_{(a,b)_{old}} + \big(1 - P_{(a,b)_{old}}\big) \times P_{init} P(a,b)?=P(a,b)old??+(1?P(a,b)old??)×Pinit?

其中:

  • P(a,b)oldP_{(a,b)_{old}}P(a,b)old?? :舊的投遞概率
  • PinitP_{init}Pinit? :初始化常數,每次相遇時增加預測值
  • 相遇次數越多,P(a,b)P(a,b)P(a,b) 越大

📊 與 Epidemic Routing 對比

  • Epidemic:見面就復制 → 泛洪式擴散,消耗大
  • PRoPHET:基于概率選擇性復制 → 更高效

PRoPHET 協議 — 傳遞性 (Transitivity)

在 PRoPHET 協議中,如果節點 a 沒有直接遇到節點 c,但是它經常遇到節點 b,而節點 b 又經常遇到節點 c
那么可以認為 a 通過 b 也有一定概率把消息送到 c。這就是 傳遞性 (transitivity) 的思想。

概率更新公式

P(a,c)=P(a,c)old+(1?P(a,c)old)×P(a,b)×P(b,c)×βP_{(a,c)} = P_{(a,c)_{old}} + \Big(1 - P_{(a,c)_{old}}\Big) \times P_{(a,b)} \times P_{(b,c)} \times \beta P(a,c)?=P(a,c)old??+(1?P(a,c)old??)×P(a,b)?×P(b,c)?×β

其中:

  • P(a,c)oldP_{(a,c)_{old}}P(a,c)old?? :a 到 c 的舊投遞概率
  • P(a,b)P_{(a,b)}P(a,b)? :a 到 b 的投遞概率
  • P(b,c)P_{(b,c)}P(b,c)? :b 到 c 的投遞概率
  • β\betaβ :傳遞性衰減因子,0<β<10 < \beta < 10<β<1

b 是 a 的一個良好中繼 (relay):如果 a→b、b→c 的概率都高,那么 a→c 的概率也會增加。
衰減因子 β:避免因為多級傳遞導致概率無限放大。

總結: PRoPHET 協議利用 直接相遇、老化機制、傳遞性 三個更新規則,動態調整消息的投遞概率,從而比 Epidemic 路由更高效。

PRoPHET 協議(以及 DTN 路由)中的“權衡 (Trade-off)”

多復制 vs 少復制

如果 把消息轉發給多個節點(例如 a→b, a→d, a→e),消息最終到達目的地 c 的概率更大。
但問題是:消耗更大(帶寬、緩存、能耗)。
👉 這是 高投遞率 和 高開銷 的權衡。
在這里插入圖片描述

設置閾值 (Threshold) 轉發

選擇固定閾值,僅將消息轉發到目標具有傳遞可預測性>閾值的節點 →如果稍后遇到具有更高可預測性的節點怎么辦?
在這里插入圖片描述

解決方案

規則
當兩個節點相遇時,如果對方節點到目標的 投遞概率更高,就把消息轉發給對方。
如果緩沖區滿了,可以用隊列管理(比如 FIFO)丟掉舊消息。

在這里插入圖片描述

Time 1
節點 a 手里有一個要發給 c 的消息。它遇到了節點 g。
因為 P(g,c)>P(a,c)P(g,c) > P(a,c)P(g,c)>P(a,c)(g 到 c 的概率比 a 更高),所以 a 把消息轉給 g。

在這里插入圖片描述

Time 2
之后,a 又遇到了節點 e。
P(e,c)>P(a,c)P(e,c) > P(a,c)P(e,c)>P(a,c),所以 a 再把消息轉給 e。
而且 P(e,c)>P(g,c)P(e,c) > P(g,c)P(e,c)>P(g,c),所以 e 比 g 更適合作為中繼。
最終 e 把消息傳給 c。

具體實例

A 有一條消息給節點 D

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
P(A,D)<P(B,D)P(A,D) < P(B,D)P(A,D)<P(B,D)所以A發給D
P(B,D)<P(C,D)P(B,D) < P(C,D)P(B,D)<P(C,D)所以B發給C
C 發給D,完成

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/919182.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/919182.shtml
英文地址,請注明出處:http://en.pswp.cn/news/919182.shtml

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

相關文章

計算機視覺(opencv)實戰二——圖像邊界擴展cv2.copyMakeBorder()

OpenCV copyMakeBorder() 圖像邊界擴展詳解與實戰在圖像處理和計算機視覺中&#xff0c;有時需要在原始圖像的四周增加邊界&#xff08;Padding&#xff09;。這種操作在很多場景中都有應用&#xff0c;比如&#xff1a;卷積神經網絡&#xff08;CNN&#xff09;中的圖像預處理…

ansible管理變量和事實

ansible管理變量和事實與實施任務控制 在 Ansible 中&#xff0c;變量和事實&#xff08;Facts&#xff09;就像給劇本&#xff08;Playbook&#xff09;配備的 “信息工具箱”&#xff0c;讓你的自動化配置管理更靈活、更智能。 變量&#xff1a;提前準備的 “預設信息” 變…

STM32--寄存器與標準庫函數--基本定時器

目錄 前言 基本定時器概念 定時時間 定時器時鐘確定 倍頻鎖相環被正確配置為168MHz 定時器的庫函數操作 代碼 定時器的寄存器操作 代碼 寄存器 后言 前言 使用平臺:STM32F407ZET6 使用數據手冊&#xff1a;STM32F407數據手冊.pdf 使用參考手冊&…

PCA 實現多向量壓縮:首個主成分的深層意義

PCA 實現多向量壓縮 第一個主成分(components_[0])正是數據協方差矩陣中最大特征值對應的特征向量。 ,layer_attention_vector[layer] 被賦值為 pca.components_[0],這確實是一個特征向量,具體來說是 PCA 分解得到的第一個主成分(主特征向量)。 關于它的維度: 假設 c…

網絡常識-DNS如何解析

DNS&#xff08;Domain Name System&#xff0c;域名系統&#xff09;是互聯網的“地址簿”&#xff0c;負責將人類易記的域名&#xff08;如www.example.com&#xff09;轉換為計算機可識別的IP地址&#xff08;如192.168.1.1&#xff09;。其工作流程可以簡單理解為“從域名到…

Java中 23 種設計模式介紹,附帶示例

文章目錄設計模式六大原則設計模式分類1、創建型模式&#xff08;Creational Patterns&#xff09;2、結構型模式&#xff08;Structural Patterns&#xff09;3、行為型模式&#xff08;Behavioral Patterns&#xff09;一、創建型模式&#xff08;Creational Patterns&#x…

嵌入式開發入門——電子元器件~電磁繼電器、蜂鳴器

文章目錄電磁繼電器定義關鍵參數實物蜂鳴器實物內部結構分類關鍵參數電磁繼電器 定義 概述&#xff1a;電磁繼電器是利用電磁感應原理職稱的一種電磁開關&#xff0c;他能通過&#xff1a;低電壓、低電流的電路&#xff0c;來控制高電壓、高電流的電路。 關鍵參數 線圈電壓…

ROS2基礎

1.helloworld案例1.創建功能包&#xff08;C&#xff09;終端下&#xff0c;進入ws00_helloworld/src目錄&#xff0c;使用如下指令創建一個C 功能包:ros2 pkg create pkg01_helloworld_cpp --build-type ament_cmake --dependencies rclcpp --node-name helloworld執行完畢&a…

Python爬蟲實戰:研究pygalmesh,構建Thingiverse平臺三維網格數據處理系統

1. 引言 1.1 研究背景 在數字化浪潮席卷全球的當下,三維建模技術已成為連接虛擬與現實的核心紐帶,廣泛滲透于工程設計、地理信息系統(GIS)、虛擬現實(VR)、增強現實(AR)、醫學影像等關鍵領域。例如,在建筑工程中,BIM(建筑信息模型)技術依賴高精度三維網格實現施工…

開發者說 | EmbodiedGen:為具身智能打造可交互3D世界生成引擎

概述 具身智能的發展離不開高質量、多樣化的可交互3D仿真環境。為突破傳統構建方式的瓶頸&#xff0c;我們提出了EmbodiedGen&#xff0c;一個基于生成式AI技術的自動化3D世界生成引擎&#xff0c;助力低成本、高效率地創建真實且可交互的3D場景。用戶僅需輸入任務定義或場景圖…

GitHub Copilot:AI編程助手的架構演進與真實世界影響

本文由「大千AI助手」原創發布&#xff0c;專注用真話講AI&#xff0c;回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我&#xff0c;一起撕掉過度包裝&#xff0c;學習真實的AI技術&#xff01; 1. 技術背景與核心架構 GitHub Copilot 是由 GitHub 與 OpenAI 聯合開…

PDF OCR + 大模型:讓文檔理解不止停留在識字

在企業數字化的實際場景中&#xff0c;PDF OCR 已經很普遍了&#xff1a;從掃描件提取文本、表格到生成可搜索 PDF。但這類技術往往停留在"把圖片變成文字"&#xff0c;對文檔背后的語義、邏輯、業務價值理解不足。 而當 OCR 遇上大語言模型&#xff08;LLM&#xff…

半敏捷衛星觀測調度系統的設計與實現

半敏捷衛星觀測調度系統的設計與實現 摘要 本文詳細闡述了一個基于Python的半敏捷衛星觀測調度系統的設計與實現過程。系統針對半敏捷衛星特有的機動能力限制&#xff0c;綜合考慮了地面目標觀測需求、衛星資源約束、能源管理等多重因素&#xff0c;提出了一種混合啟發式算法解…

軟件測試中,常用的抓包工具有哪些?抓包的原理是什么?

回答重點在軟件測試中&#xff0c;常用的抓包工具主要有&#xff1a;1&#xff09;Fiddler2&#xff09;Wireshark3&#xff09;Charles4&#xff09;Postman&#xff08;它的攔截器功能也可以用于抓包&#xff09;5&#xff09;tcpdump抓包的原理大致是通過安裝在本地的抓包工…

Cesium學習(二)-地形可視化處理

Cesium地形可視化是其核心功能之一&#xff0c;允許開發者在3D地球中展示真實的地形數據。以下是關于Cesium地形可視化的詳細處理方法&#xff1a; 文章目錄1. 啟用地形可視化基本地形加載自定義地形提供者2. 地形相關操作地形高度采樣地形夸張效果3. 地形可視化設置地形照明效…

《告別 if-else 迷宮:Python 策略模式 (Strategy Pattern) 的優雅之道》

《告別 if-else 迷宮:Python 策略模式 (Strategy Pattern) 的優雅之道》 大家好,我是你的朋友,一位與 Python 代碼相伴多年的開發者。在我們的編程生涯中,幾乎都曾與一種“代碼怪獸”搏斗過,它就是那冗長、復雜、牽一發而動全身的 if-elif-else 結構。 每當一個新的需求…

Redis--day7--黑馬點評--優惠券秒殺

&#xff08;以下內容全部來自上述課程&#xff09;優惠券秒殺 1. 全局唯一ID 每個店鋪都可以發布優惠券:當用戶搶購時&#xff0c;就會生成訂單并保存到tb voucher order這張表中&#xff0c;而訂單表如果使用數據庫自增ID就存在一些問題: id的規律性太明顯受單表數據量的限制…

Vue 與 React 深度對比:設計哲學、技術差異與應用場景

一、核心設計理念對比 特性 Vue React 設計目標 漸進式框架,降低學習曲線 構建大型應用,保持靈活性 設計哲學 “約定優于配置” “配置優于約定” 核心思想 響應式數據綁定 函數式編程 + 虛擬DOM 模板語言 HTML-based 模板 JSX(JavaScript XML) 狀態管理 內置響應式系統 依…

軟件開發 - foreground 與 background

foreground 與 background 1、foreground詞性含義n.前景&#xff1b;最突出的位置.v使突出&#xff1b;強調# 例詞in the 【foreground】&#xff08;在最顯眼的位置&#xff09;【foreground】 task&#xff08;前臺任務&#xff09;【foreground】 color&#xff08;前景色&a…

深度學習——03 神經網絡(2)-損失函數

2 損失函數 2.1 概述作用&#xff1a;衡量模型預測結果&#xff08;y^\hat{y}y^?&#xff09;和真實標簽&#xff08;yyy&#xff09;的差異&#xff0c;差異越大&#xff0c;說明模型參數“質量越差”&#xff08;需要調整&#xff09;&#xff1b;本質&#xff1a;深度學習訓…