Delay/disruption tolerant networking (DTN) 与deep-space communications中的数据存储问题

文章目录

  • 来源
  • abstract
  • intro
  • BP运行及Bundle节点概述
  • 具体细节
    • custody transfer

来源

https://www.pismin.com/10.1109/twc.2015.2394397

背景:考虑到深空通信的高时延和易发生中断的特性,为了保证通信的可靠性,DTN采用了捆绑协议 (BP) ,即利用存储转发以及 custody transfer机制,每个发送节点将文件保存在内存中(本文中为磁盘存储),直到下一个节点确认其成功接收。该过程中,高内存占用限制了其他 DTN 功能,该论文对DTN网络中内存的动态利用进行了建模。

abstract

延迟/中断容忍网络 (DTN) 被提议作为一种端到端网络架构,在压力通信环境中和/或通过压力通信环境提供文件传送服务。 DTN 的捆绑协议 (BP) 利用众所周知的存储转发机制以及托管传输选项,其中节点同意将文件保存在内存中(本文中为磁盘存储),直到下一个节点确认其成功接收。节点。内存占用的变化限制了其他 DTN 功能可用的内存量。表征文件传输期间 BP 的内存动态至关重要。在本文中,我们研究了典型的基于中继的深空通信系统中文件传输的 BP 操作中的内存变化动态和传输性能,该系统具有多个数据源节点、极长的信号传播延迟和有损数据具有对称和非对称信道速率的链路。建立分析模型来估计内存变化动态和表征深空 BP 传输的总文件传输时间(和有效吞吐量)。通过使用测试台运行文件传输实验来验证模型。

intro

延迟/中断容忍网络 (DTN) [1] 被提议作为一种端到端网络架构,在深空等充满挑战的网络环境中和/或通过该环境提供通信服务。它被美国国家航空航天局(NASA)认为是实施深空通信最合适的技术之一[2]。它还被作为地球轨道卫星通信和网络的替代解决方案引入[3]、[4]。 DTN 通信严重依赖捆绑协议 (BP) [5],该协议使用众所周知的存储转发方法和可选的托管传输来构建覆盖网络。在[6]中,Bezirgiannidis 等人。提出了一种使用接触图路由(CGR)计算算法来估计空间网络中捆绑包传递时间的方法。 BP 采用持久存储(本文中称为内存)来保留数据包,以承受端到端文件传输中可能遇到的链路中断和极长的链路延迟。通过这种方法,网络节点同意将称为捆绑包的 DTN 可变长度协议数据单元 (PDU) 存储在内存中,直到端到端路径中的下一个节点确认其成功接收。

与地面互联网相比,网络数据存储的内存消耗在深空通信中是一个特别重要的问题,因为空间资源的成本过高,并且数据包保留在存储中的时间间隔可能很长。可用内存可能不够充足,并且除了确保消息传递之外还需要用于多种用途。至关重要的是,用于网络数据存储的内存不会被数据单元占用超过必要的时间,也不会超过预期的时间。一条链路上的传输停止而另一条链路上的接收继续进行可能导致内存耗尽。这反过来可能会导致消息丢失,可能需要在原始源节点进行耗时的重传,这会降低整体网络性能,甚至可能威胁任务的成功。

考虑到 BP 包从内存中释放的限制以及 BP 对持久内存的高度依赖,在数据传输(特别是文件传输)中准确描述 BP 内存占用和释放的动态特征至关重要。未来的深空任务。在本文中,我们研究了在假设的基于中继的深空通信系统上使用 BP 进行文件传输的内存变化动态和传输性能,该系统的特点是多个数据源节点、极长的信号传播延迟和有损。具有对称和非对称通道速率的数据链路。建立了一个分析模型来估计深空 BP 传输带来的内存占用和释放的动态。还建立了模型来评估BP的传输性能,主要是文件传输时间和吞吐量。通过使用测试台运行文件传输实验来验证模型。这些是本文的主要贡献。

BP运行及Bundle节点概述

图1描绘了一般的BP架构和协议栈,表明了BP在标准协议栈中的位置。如图所示,BP 在子应用程序“捆绑”层运行,提供端到端数据交付服务,同时允许像 IP 一样跨高度异构网络进行互操作。 BP 使用“本机”互联网协议在组成的互联网(如图 1 中的网络 A 或网络 B)内提供通信服务。公共捆绑协议和特定低层协议套件之间的接口称为“汇聚层适配器”(共轭亚油酸)。通过 CLA,BP 在每个本地互联网首选数据传输协议之上运行。这使得 BP 变得灵活,允许驻留在不同类型网络中的节点互连。

捆绑节点(或简称 DTN“节点”)是可以在 DTN 中发送和/或接收 BP 捆绑的任何实体。图 1 还显示了束节点内 BP 处理组件的概念表示。如图所示,每个捆绑节点主要包含三个概念组件:“应用程序代理(AA)”、“捆绑协议代理(BPA)”和一组零个或多个“CLA”[5]。捆绑节点的 AA 利用 BP 服务来实现各种应用目的的通信。它构造、请求传输、接受交付并处理特定于应用程序的数据单元。

除了概念组件之外,捆绑节点还需要内存来存储数据。与基于 TCP/IP 的互联网不同,在基于 TCP/IP 的互联网中,路由器可以在传输后立即丢弃数据包,DTN 捆绑包存储在永久非易失性存储器(即磁盘存储)中,以实现延迟/中断容错,并且如果指定为“托管”,则不能传输后立即丢弃。仅当“托管”捆绑包的托管已被其他 DTN 节点接受或其应用程序指定的生命周期已过期时,才能被丢弃。可以重传托管捆绑包以从有损信道上的数据损坏中恢复,但托管该捆绑包并传输该捆绑包的节点不会重传数据,直到该捆绑包的重传计时器在收到相应确认之前到期。 (通常,捆绑包的重传计时器设置为通道单向发光时间的两倍,以最大程度地使用通道。)请注意,捆绑包或确认可能会在通道中丢失,从而导致重传。

捆绑节点的 CLA 代表 BPA 发送和接收捆绑。它使 BPA 能够与节点功能所在的接口网络进行交互。这允许 BPA 使用该“本机”网络协议的服务。 CLA 发送和接收数据包的方式受关联的本地互联网工作层的约束。因此,BPA 可以根据其转发的数据包的目的地来利用来自多个不同网络的 CLA。目前,基于 TCP 的 CLA(或简称 TCPCL)[7]、基于用户数据报协议(UDP)的 CLA(或简称 UDPCL)[8] 和 Licklider 传输协议(LTP)[9] CLA(或简称 LTPCL) )是 BP 下最广泛支持的 CLA。

LTP 旨在作为 BP 底层的可靠“汇聚层”协议,用于通过长距离深空射频链路进行数据传输,其特点是非常长的往返时间 (RTT) 和/或间歇性连接。由于本工作重点研究 BP 本身在深空的内存变化和可靠传输,其中传输可靠性由 BP 的保管传输机制提供,因此文件传输实验被配置为通过 UDPCL 在不可靠的 UDP/IP 堆栈上运行可靠的 BP ,即 BP/UDPCL/UDP/IP。可靠的BP与可靠的LTPCL一起配置会引入冗余功能,因此本研究不涉及LTPCL。

具体细节

custody transfer

在通信领域,“custody transfer” 可能指的是数据传输中的责任转移过程。这通常发生在网络或系统之间传输数据的过程中,其中一个实体将数据的控制权或责任转移给另一个实体。这种转移可能涉及数据包的传输、处理、存储或管理。

在通信网络中,例如在互联网服务提供商之间或在不同部门之间的数据传输中,“custody transfer” 可能指的是确保数据在传输过程中的完整性、安全性和可靠性的过程。这可能包括记录传输中的错误或丢失数据,并确保在数据到达目的地时能够验证其完整性和准确性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/705836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows安装fay数字人

创建虚拟环境 conda create -p D:\CondaEnvs\paystu python3.9下载所需资料 源代码 数字形象 将源代码和虚拟象形解压 再源代码文件夹下激活虚拟环境 conda activate D:\CondaEnvs\paystu安装依赖包 注意 会安装pytorch # conda install --yes --file requirements.txt pi…

jupyter notebook闪退解决,安美解决

jupyter notebook闪退 解决方法 打开这个目录 删除含有“~”开头的文件 解决

第十一届蓝桥杯省赛第一场C++ A/B组《解码》(c++)

1.题目说明 小明有一串很长的英文字母,可能包含大写和小写。 在这串字母中,有很多连续的是重复的。 小明想了一个办法将这串字母表达得更短:将连续的几个相同字母写成字母 出现次数的形式。 例如,连续的 5 个 a,即…

golang 装饰器模式详解

前言 我一直以来对golang的装饰器模式情有独衷,不是因为它酷,而是它带给我了太多的好处。首先我不想说太多的概念,熟记这些概念对我的编程来说一点用处没有。我只知道它给我带来了好处,下面谈谈我的理解。 这种模式可以很轻松地…

centos升级g++.v6.1.0版本

1.下载源码包 wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.gz tar -zxvf gcc-6.1.0.tar.gz cd gcc-6.1.0 2.打开 download_prerequisites 脚本 vim contrib/download_prerequisites 可以看到该文件就是执行一些下载指令,需要下载几个包&#xff0c…

顺序表的列题(力扣)和旋转数组

文章目录 一.删除有序数组中的重复项(取自力扣) 二.合并两个有序数组(取自力扣) 三.旋转数组(多解法) 前言 见面我们说到了顺序表今天来分享几个有关于顺序表的题目 一.删除有序数组中的重复项&#xff…

数据结构2月21日

双向链表: func函数&#xff1a; #include <stdio.h> #include <stdlib.h> …

【Flink精讲】Flink性能调优:内存调优

内存调优 内存模型 JVM 特定内存 JVM 本身使用的内存&#xff0c;包含 JVM 的 metaspace 和 over-head 1&#xff09; JVM metaspace&#xff1a; JVM 元空间 taskmanager.memory.jvm-metaspace.size&#xff0c;默认 256mb 2&#xff09; JVM over-head 执行开销&#xff1…

【web】云导航项目部署及环境搭建(复杂)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、项目介绍1.1项目环境架构LNMP1.2项目代码说明 二、项目环境搭建2.1 Nginx安装2.2 php安装2.3 nginx配置和php配置2.3.1 修改nginx文件2.3.2 修改vim /etc/p…

LeetCode--134

134. 加油站 在一条环路上有 n 个加油站&#xff0c;其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车&#xff0c;从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发&#xff0c;开始时油箱为空。 给定两个整数数组 …

Camera metadata设计与应用

前言 Android的Camera Metadata是一种数据结构&#xff0c;用于表示图像特征的参数&#xff0c;例如常见的曝光、AE、AWB、flash等参数。在新的Camera API2 / HAL3架构中&#xff0c;这种结构被用来在app-hal之间IPC传输&#xff0c;取代了原先的SetParameter()/GetParameter(…

【蓝桥杯单片机入门记录】动态数码管

目录 一、数码管动态显示概述 二、动态数码管原理图 &#xff08;1&#xff09;原理图 &#xff08;2&#xff09;动态数码管如何与芯片相连 &#xff08;3&#xff09;“此器件” ——>锁存器74HC573 三、动态数码管显示例程 &#xff08;1&#xff09;例程1&#xf…

独立站谷歌SEO外包与自建SEO团队:哪个更适合您的业务?

随着数字营销的崛起&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已成为企业提升在线可见度、吸引潜在客户的关键手段。面对独立站谷歌SEO外包服务和自建SEO团队两种选择&#xff0c;企业往往会感到困惑。本文将深入探讨这两种方式的优势与局限&#xff0c;帮助您做出明…

CentOS 7.9上编译wireshark 3.6

工作环境是Centos 7.9&#xff0c;原本是通过flathub安装的wireshark&#xff0c;但是在gnome的application installer上升级到wireshark 4.2.3之后就运行不起来了&#xff0c;flatpak run org.wireshark.Wireshark启动提示缺少qt6&#xff0c;查了一下wireshark新版是依赖qt6的…

<HarmonyOS第一课>运行Hello World

本课程是基于HarmonyOS 3.1/4.0版本的新技术和特性所推出的系列化课程&#xff0c;每个课程单元里面都包含视频、Codelab、文章和习题&#xff0c;帮助您快速掌握HarmonyOS的应用开发&#xff1b; 通过本章节的学习&#xff0c;您可以安装DevEco Studio开发工具&#xff0c;运行…

docker-集成测试搭建

dockerd守护进程 Dockerd&#xff08;Docker Daemon&#xff09;是 Docker 引擎的守护进程&#xff0c;是运行在后台的一个持续运行的进程&#xff0c;负责管理 Docker 容器、镜像、网络和存储等核心功能。它是 Docker 容器的守护进程&#xff0c;负责接收 Docker API 请求并管…

java面试:Seata 分布式事务

文章目录 引言I Seata 分布式事务1.1 Seata的整体架构1.2 使用 Seata 进行分布式事务管理的步骤1.3 配置Seata Server1.4 Seata分布式模式1.5 高可用II XA模式III TA模式3.1 TA的写隔离3.2 AT模式的优缺点3.3 实现AT模式IV TCC模式 (Try-Confirm-Cancel)补偿事务4.1 空回滚和拒…

Java应用通过jmx_exporter对外暴露jvm指标

示范代码 public class App {public static void main( String[] args ) throws InterruptedException {while(true){Thread.sleep(10000);System.out.println( "Hello World!" );}} } maven打包,生成test-prometheus-1.0-SNAPSHOT.jar 编写config.yaml lowercas…

RISC-V SoC + AI | 在全志 D1「哪吒」开发板上,跑个 ncnn 神经网络推理框架的 demo

引言 D1 是全志科技首款基于 RISC-V 指令集的 SoC&#xff0c;主核是来自阿里平头哥的 64 位的 玄铁 C906。「哪吒」开发板 是全志在线基于全志科技 D1 芯片定制的 AIoT 开发板&#xff0c;是目前还比较罕见的使用 RISC-V SoC 且可运行 GNU/Linux 操作系统的可量产开发板。 n…

Wireshark TS | Linux 系统对时问题

问题描述 节前业务运维同事提交了一个 case &#xff0c;说是部署在新业务区域的 Linux 服务器和老业务区域的 Linux 服务器无法对时&#xff0c;脚本里使用的是 clockdiff 命令&#xff0c;无法正常返回结果&#xff0c;而在老业务区域两台服务器之间执行命令就正常&#xff…