ION(Interplanetary Overlay Network)是DTN(Delay-Tolerant Networking)网络协议栈的一种实现应用。

DTN模仿因特网的IP层为BP层,用来覆盖internet协议。

DTN协议栈如下图所示:

BP层就类似于IP层,包含了数据流动。多个BP endpoint可以驻留在一个计算机上,称为结点,就像多个套接字可以驻留在因特网中的同一计算机。

DTN协议栈结构具体分析:

ici(Interplanetary Communication Infrastructure):一套通用的库为其他包提供通用功能,ici支持在协议栈的多层实现安全性的安全策略组件机制。

ltp (Licklider Transmission Protocol):一个核心的DTN协议提供传输可靠性基于延迟容忍确认,超时和重传。 LTP规范在Internet RFC 5326中定义。

bp (Bundle Protocol):核心DTN协议,对永远不能保证连续端到端连接的网络提供延时数据转发,包括对延迟容忍动态路由的支持。 BP规范在Internet RFC 5050中定义

dgr (Datagram Retransmission):数据包重传,一种用于互联网的LTP的替代实现,配备TCP类似的算法拥塞控制,DGR使数据可靠地通过UDP传输,与TCP提供的相等可靠。

ams (Asynchronous Message Service):异步消息服务,一种应用程序层服务,不是DTN架构的一部分,但是利用底层DTN协议。AMS包括三个协议支持在网络内的简要消息的分发。

The core AAMS (Application AMS) protocol

The MAMS (Meta-AMS) protocol

The RAMS (Remote AMS) protocol

cfdp (CCSDS File Delivery Protocol):另一种应用程序,同样不是DTN的一部分,但利用DTN协议,CFDP以延迟容忍的方式执行分段,传输,接收,重组和递送文件

bss (Bundle Streaming Service):一个基于延迟容忍网络的高效数据流传输的系统

bss包包括(a)汇聚层协议(bssp),保留从未丢失的所有数据的有序到达路由,但确保所有数据最终到达目的地

(b)库用于构建延迟容忍流应用程序,从而实现低延迟呈现在提供时实时接收的流数据包括后来到达的整个流的快退/回放能力重传数据。

综合起来,包含在ION软件分发中的包构成了以下ION通信能力的特征:

1.通过延迟容忍网络(dtnet进行可靠的数据传输,即网络的其中任何节点可能永远不可能具有关于任何其他节点的详细当前状态可靠的信息

2.基于此功能,可靠的数据流,可靠的文件传递,可靠短消息分发给驻留在这样的多个接收者(订阅者)网络。

3.监控网络性能的设施

4.对节点故障的鲁棒性。
5.跨异构计算平台的可移植性。

6.高速,低开销

7.与异构底层通信基础设施的轻松集成,从互联网到专用航天器通信链路。

DTN设计的约束:

旨在在星际网络环境中运行的DTN实现 - 具体来说,在与地球分离的星际研究航天器和一个另一个广阔的距离 - 必须成功地在两个大类的设计约束中:链路约束和处理器约束。

链路约束:

显然,行星际飞行器之间的所有通信都是无线的。 并且,那些无线链路通常较慢并且通常是不对称的。

提供给车载无线电的电功率是有限的,天线是相对的小,所以信号弱。 这限制了可以传输数据的速度可理解地从星际飞船到地球,通常到某个速率的范围从256Kbps到6Mbps。也就是不对称性

处理器约束:

机器人星际航天器上的计算能力通常是完全不同于地球上的工程工作站。再次,飞行计算机必须操作在有限的可用电功率和有限质量余量内。但这些因素经常加剧深空的辐射环境。为了最小化计算中的错误和存储,飞行处理器必须经过辐射硬化,易失性存储器(通常为闪存)必须是耐辐射的。附加这些适应所需的工程需要时间并且不便宜,并且辐射强化航天器计算机市场相对较小;由于这些原因,处理技术的最新进展通常不可用行星际飞行器,因此飞行计算机总是比它们的地球 - 绑定对等。因此,每个处理周期的成本较高,处理器成本较高

ION结构如下图所示:

也就是说,BP和LTP调用sdr,zco,psm和platform提供的函数元素的ici包,除了由操作系统提供的功能本身; zco函数本身也调用sdr,psm和platform函数;

下图是ION数据流动图:

DTN-ION协议栈结构介绍相关推荐

  1. 开源双模蓝牙协议栈 代码结构介绍

    零. 概述 本文章主要讲下双模蓝牙协议栈的代码结构以及常用的一些配置选项 一. 声明 本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下: 第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产 ...

  2. pytorch学习笔记(九):PyTorch结构介绍

    PyTorch结构介绍 对PyTorch架构的粗浅理解,不能保证完全正确,但是希望可以从更高层次上对PyTorch上有个整体把握.水平有限,如有错误,欢迎指错,谢谢! 几个重要的类型 和数值相关的 T ...

  3. linux服务器都有注册表吗,NT服务器的注册表结构介绍

    NT服务器的注册表结构介绍 HKEY_CLASSES_ROOT:它包括与OLE和文件关联有关的信息.设置这一项的目的是提供和目前的Windows 3.x相兼容. HKEY_CURRENT_USER:它 ...

  4. 六十一、分析Springboot中的项目结构介绍

    @Author:Runsen 来源:尚硅谷 下面建议读者学习尚硅谷的B站的SpringBoot视频,我是学雷丰阳视频入门的. 具体链接如下:B站尚硅谷SpringBoot教程 文章目录 spring项 ...

  5. 【笔记】spring的注解回顾,springboot-restful项目结构介绍 springboot-freemarker ⼯程配置详解

    注解 学Spring boot有一阵子了,总结一下它的注解. @Controller :修饰class,⽤来创建处理http请求的对象 @RestController :Spring4之后加⼊的注解, ...

  6. Java-GUI编程实战之管理系统 Day3【学生管理系统GUI设计、学生管理系统增删改查、项目MVC结构介绍、Java技能图谱】

    视频.课件.源码[链接:https://pan.baidu.com/s/13ffqGDzH-DZib6-MFViW3Q 提取码:zjxs] Java-GUI编程实战之管理系统 Day1[项目开发流程. ...

  7. (第五篇)Linux操作系统基本结构介绍

    Linux操作系统基本结构介绍 Linux系统一般有4个主要部分:内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用 ...

  8. linux内核结构介绍

    参考:linux内核结构介绍.什么是shell 作者:丶PURSUING 发布时间: 2021-02-15 14:15:24 网址:https://blog.csdn.net/weixin_44742 ...

  9. .NET Core实战项目之CMS 第十三章 开发篇-在MVC项目结构介绍及应用第三方UI

    作为后端开发的我来说,前端表示真心玩不转,你如果让我微调一个位置的样式的话还行,但是让我写一个很漂亮的后台的话,真心做不到,所以我一般会选择套用一些开源UI模板来进行系统UI的设计.那如何套用呢?今天 ...

最新文章

  1. C++ 类模板的使用
  2. HTTP 内容编码,也就这 2 点需要知道 | 实用 HTTP
  3. 天才黑客 Flanker 疑因拒绝做黑客被拼多多强行辞退
  4. python编程语法-语法知识【Python核心编程】
  5. 【Linux 内核】进程管理 task_struct 结构体 ④ ( comm 字段 | 进程优先级字段 | cpus_ptr 字段 | mm、active_mm 字段 | fs 字段 )
  6. c语言sleep_编程代码:用C语言来实现下雪效果,这个冬天,雪花很美
  7. linux的目录proc pid,Linux /proc第一篇----/proc/pid记录了什么
  8. Angular服务http post传递key-value 到Springmvc控制器
  9. (cljs/run-at (JSVM. :all) 一次说白DataType、Record和Protocol) 1
  10. zoj 3620 Escape Time II dfs
  11. ①万字《详解canvas api画图》小白前端入门教程(建议收藏)
  12. 『解疑』vue修改html图标,tilte左边的图标(以图片格式作为图标)
  13. 嵌入式Linux应用学习(一)------QT控制LED设备硬件
  14. 在vue项目中使用骨架屏
  15. wordpress企业主题门户类企业类多用途主题
  16. Python-集合 字典-set dict fronzenset
  17. docker 保存 环境持久化_Docker深入浅出系列 | 容器数据持久化
  18. ssm物业管理系统的设计与实现毕业设计源码261632
  19. IJCAI 2022 | 用一行代码大幅提升零样本学习方法效果!南京理工牛津提出即插即用分类器模块...
  20. mysql8对gis的支持

热门文章

  1. FFMPEG实现带NAT特性IPTV的播放
  2. [NOI2014]魔法森林【LCT】
  3. 准备分享一个用python写自动抢鞋的程序
  4. 马斯克自动驾驶雄心“翻车”了!
  5. Machine learning(ML)常用的几类学习器及Python实现
  6. Python实现单向方差分析
  7. AI时代的视频云转码移动端化——更快、更好,更低,更广
  8. python turtle画熊猫人_使用Python的turtle画小猪乔治
  9. 基于Spring MVC + Spring + MyBatis的【图书信息管理系统(一)】
  10. svn导致桌面图标问号