【EXata】1.2 EXata 协议栈

2023-05-16

1.2 EXata 协议栈

EXata 使用一个类似于 TCP/IP 网络协议栈的分层架构。在该架构中,数据在相邻层之间移动。EXata的协议栈从上到下包括应用层、传输层、网络层、链接(MAC)和物理层。

协议栈中的相邻层通过明确定义的 API 进行通信,一般来说,层间通信只发生在相邻层之间。例如,传输层协议可以从应用层和网络层协议中获取和传递数据,但不能与链接(MAC)层协议或物理层协议进行通信。这个关于只在相邻层之间进行通信的规则可以被程序员规避,如第4.11节所解释。

图1-1描述了EXata协议栈和各层的常规功能:

1.2.1 应用层

应用层负责 流量生成应用层路由。在应用层编写的协议依靠传输层将应用级数据从源头传送到目的地。因此,应用层协议在源节点将数据下传到传输层,并在目的节点接收来自传输层的数据。在 Exata 中实现的产生流量的应用层协议的例子是恒定比特率(CBR)、FTP Telnet。在 Exata 中实现的应用层路由协议的例子是 RIPBellman-Ford BGP

4.2 节提供了 Exata 中应用层协议的实现细节,并描述了如何开发一个自定义的应用层协议。

PS

  • Traffic generation可以指流量生成模型,通信网络中流量或数据源的模型。流量生成模型是通信网络(例如蜂窝网络或计算机网络)中的流量或数据源的随机模型。我们可以使用网络流量生成器(例如iperfbwping Mausezahn)通过测试平台网络中的网络流量测量来分析网络性能。流量生成器发送虚拟数据包,通常带有唯一的数据包标识符,从而可以跟踪网络中的数据包传递。(参考资料:Traffic generation model

1.2.2 传输层

传输层向应用层提供 端到端的数据传输 服务。编写在传输层的协议从应用层接收数据,在源节点依靠网络层进行数据转发,并从网络层接收数据,在目的节点将数据传递给应用层。传输层协议的例子包括 UDPTCPRSVP-TE

4.3 节提供了 EXata 中传输层协议的实现细节,并描述了如何开发一个自定义的传输层协议。

PS

  • End-to-end data transmission:端到端传输指的是在数据传输前,经过各种各样的交换设备,在两端设备问建立一条链路,就象它们是直接相连的一样,链路建立后,发送端就可以发送数据,直至数据发送完毕,接收端确认接收成功。(参考资料:什么是端到端,什么是点到点?)

1.2.3 网络层

网络层负责 数据转发排队/调度。互联网协议(IP)驻扎在这一层,负责数据包的转发。在源节点,网络层从传输层接收数据,并依靠链路(MAC)层进行逐个链路的数据传输。在目的地节点,网络层从链路(MAC)层接收数据,并将数据上传到传输层。

网络层还实现了某些类型的路由协议。在 EXata 中实现的网络层路由协议的例子是AODVDSROSPF DVMRP。在 EXata 中实现的排队/调度协议的例子有FIFOREDRIOWFQ WRR

4.4 节提供了 EXata 中网络层协议的实现细节,并描述了如何开发一个自定义的网络层协议。本节涉及以下类型的协议: 网络层单播路由协议、网络层多播路由协议、排队协议和调度器。

PS

  • Queuing:计算机网络分组在经过网络传输时,要经过许多的路由器。但分组在进入路由器后要先在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发,这就产生了排队时延。(参考资料:计算机网络:概述)

  • Scheduling:调度器,也被称为 排队规则。每个网络接口都会有一个调度器,默认的调度器是 FIFO。调度器会根据调度器的规则重新排列数据包进入队列的顺序。(参考资料:计算机网络基础 — Linux 流量控制)

1.2.4 链路(MAC)层

链路(MAC)层提供 逐个链路的传输。在发送端,链路(MAC)层从网络层接收数据,并将数据传递给物理层,以便在有线或无线通道上传输。在接收端,链路(MAC)层从物理层接收数据并将数据转发到网络层。在EXata中实施的链路(MAC)层协议的例子是 点对点IEEE 802.3IEEE 802.11 CSMA

4.5 节提供了 EXata 中 MAC 层协议的实现细节,并描述了如何开发一个自定义的MAC层协议。有线 和 无线MAC协议的程序都在这一节中涉及。

1.2.5 物理层

物理层负责传输和接收来自有线和无线通道的原始比特。在源节点,物理层从链路(MAC)层接收数据,并将数据发送到目的地节点的物理层。在目的地节点,物理层从源节点的物理层接收数据,并将数据传递给链路(MAC)层。

  • Note:对于有线网络,物理层代码(Physical Layer code)被纳入链路(MAC)层。

EXata 中实现的物理层协议的例子是 有线点对点链接IEEE 802.3 IEEE 802.11

4.6 节提供了 EXata 中物理层协议的实现细节,并描述了如何开发一个自定义的物理层协议。

1.2.6 通讯介质

通信介质在节点之间传输信号。它与节点上的物理层实体连接。EXata中的无线通信介质模型模拟信号在节点之间的传播,同时考虑到传播延迟和由于路径损失、消退和阴影造成的信号衰减。

EXata中,通信介质模型有三个组成部分:路径损耗模型、消退模型和阴影模型。EXata中的路径损失模型包括自由空间、双射线和不规则地形模型(ITM)。EXata实现了Ricean衰落模型。Rayleigh衰落 是 Ricean衰落 的一个特例。EXata为两种阴影模型提供了模型:常数和对数正态。

4.7 节提供了 Exata 中通信介质模型的实现细节,并描述了如何开发一个自定义的通信介质模型。

1.2.7 节点移动性

Exata 中,移动性模型与节点放置模型和地形模型一起工作,模拟节点的移动行为。Exata 中的节点移动性模型包括随机航点、群体移动性、行人移动性和基于文件的移动。

4.8 节详细描述了如何向 EXata 添加移动性模型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【EXata】1.2 EXata 协议栈 的相关文章

  • Install OpenCV+ Python in Ubuntu

    1 VMware安装ubuntu 不建议在Windows下学习 安装教程 Tip1 xff1a Ubuntu安装结束后无法正常联网 然后就是等待漫长的更新 Tip2 文件含有中文名 打开终端 export LANG 61 en US xdg
  • Tracking motion in video

    Tracking motion in video Download the source code to Ball Tracking with OpenCV
  • parse command line arguments

    parse command line arguments
  • 计算机网络

    计算机网络 一 计算机网络体系结构 二 物理层 三 数据链路层 四 网络层 五 运输层 六 应用层
  • 【c++初学】遇到问题:对xxx未定义的引用

    在编译的时候遇到了 未定义引用 root 64 czp span class token operator span PC span class token operator span span class token operator s
  • 在同一个浏览器上打开同一个网址只打开一个窗口的方法

    具体问题看图吧 xff0c 我自己也说不清楚 具体操作如下 xff1a target属性的功能之一是可以在同一个浏览器中只打开被标记相同的网页窗口 利用这一功能可以实现以上问题 target属性链接地址 xff1a http www w3s
  • esp32 Arduino IDE读取航模接收机SBUS信号

    库函数下载链接https download csdn net download qq 40925542 87207281 该库函数适用于具有多个串口的开发板 xff0c esp32中测试通过 xff0c 测试代码如下 xff1a inclu
  • curl 401 unauthorized解决

    用curl获取web信息时遇到了401unauthorized错误 用下面的命令解决了 xff1a span class token function curl span insecure anyauth u admin password
  • git自建服务器-借助蒲公英实现远程访问

    git自建服务器 借助蒲公英实现远程访问 本文涉及蒲公英组网 xff0c 这里大家可以参考蒲公英官网组网教程 使用的硬件 蒲公英x3a 路由器 xff1a 用于智能组网 xff0c 实现内网穿透vpn功能 xff1b orange pi3
  • sockaddr与sockaddr_in结构体简介

    span class token keyword struct span sockaddr span class token punctuation span span class token keyword unsigned span s
  • ROS入门(二)——创建功能包和工作空间

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 工作空间 xff08 workspace xff09 xff1f 二 创建工作空间 xff08 workspace xf
  • SpringBoot异常处理-SimpleMappingExceptionResolver(四)

    异常处理 SimpleMappingExceptionResolver 配置 SimpleMappingExceptionResolver 处理异常 在全局异常类中添加一个方法完成异常的同一处理 结果是只不返回参数 没有上一个博客方法好 但
  • Matplotlib三维绘图,这一篇就够了

    Matplotlib三维绘图 xff0c 这一篇就够了 1 效果图1 1 3D线效果图1 2 3D散点效果图1 3 3D随机颜色散点效果图1 4 3D散点不同mark点效果图1 5 3D线框效果图1 6 3D曲面不透明效果图1 7 3D曲面
  • C++编程永不过时的语言,原因何在?

    想要知道C 43 43 到底如何你首先要了解C 43 43 的特性 C 43 43 既保留了C语言的有效性 灵活性 便于移植等全部精华和特点 xff0c 又添加了面向对象编程的支持 xff0c 具有强大的编程功能 xff0c 可方便地构造出
  • px4ctrl代码解读-px4ctrl_node

    头文件 include lt ros ros h gt include 34 PX4CtrlFSM h 34 include lt signal h gt 1 初始化节点 ros init argc argv 34 px4ctrl 34 r
  • ZYNQ图像处理(1)——vdma_hdmi显示环境搭建

    1 引言 FPGA是一种现场可编程逻辑门阵列 xff0c 其并行的特点让其在图像处理 数字通信等领域有广泛的应用 FPGA缺点是不擅长流程控制 xff0c 对于IIC SPI等通信方式 xff0c 往往需要用到状态机 ZYNQ7000是赛灵
  • 大小端知识

    大端和小端 xff08 Big Endian和Little Endian xff09 xff1a 1 Little Endian就是低位字节排放在内存的低地址端 xff0c 高位字节排放在内存的高地址端 2 Big Endian就是高位字节
  • rplidarA3 QT调试记录

    使用软件和环境 xff1a rplidar A3 win10 32位 QT5 13 msvc2017 32位 先下载rplidar官方sdk xff0c http www slamtec com cn Support rplidar a s
  • cmake相关:sudo make install后的卸载

    sudo make install后的卸载 我们知道linux中一般的编译一个package的顺序是 span class token function git span clone package git span class token
  • Git教程-分支和tag管理

    转自 xff1a Ricky Fung xff08 http blog csdn net top code article details 52336221 xff09 1 列出所有本地分支 lt code class 61 34 hljs

随机推荐