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=αsn1+(1α)sˉ+1α2sxn1

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=αdn1+(1α)dˉ+1α2dxn1

其中:

  • 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}}sxn1,dxn1 :来自高斯分布的随机变量 (随机性由此项产生)
  • α\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=xn1+sn1cos(dn1)

yn=yn−1+sn−1sin⁡(dn−1)y_n = y_{n-1} + s_{n-1}\sin(d_{n-1}) yn=yn1+sn1sin(dn1)
其中:

  • sn−1s_{n-1}sn1 :第 n−1n-1n1 时刻的速度
  • dn−1d_{n-1}dn1 :第 n−1n-1n1 时刻的方向 [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+(1P(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+(1P(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;深度学习训…