1.2 EXata 协议栈
EXata 使用一个类似于 TCP/IP 网络协议栈的分层架构。在该架构中,数据在相邻层之间移动。EXata的协议栈从上到下包括应用层、传输层、网络层、链接(MAC)和物理层。
协议栈中的相邻层通过明确定义的 API 进行通信,一般来说,层间通信只发生在相邻层之间。例如,传输层协议可以从应用层和网络层协议中获取和传递数据,但不能与链接(MAC)层协议或物理层协议进行通信。这个关于只在相邻层之间进行通信的规则可以被程序员规避,如第4.11节所解释。
图1-1描述了EXata协议栈和各层的常规功能:
1.2.1 应用层
应用层负责 流量生成 和 应用层路由。在应用层编写的协议依靠传输层将应用级数据从源头传送到目的地。因此,应用层协议在源节点将数据下传到传输层,并在目的节点接收来自传输层的数据。在 Exata 中实现的产生流量的应用层协议的例子是恒定比特率(CBR)、FTP 和 Telnet。在 Exata 中实现的应用层路由协议的例子是 RIP、Bellman-Ford 和 BGP。 第 4.2 节提供了 Exata 中应用层协议的实现细节,并描述了如何开发一个自定义的应用层协议。 |
PS:
- Traffic generation:可以指流量生成模型,通信网络中流量或数据源的模型。流量生成模型是通信网络(例如蜂窝网络或计算机网络)中的流量或数据源的随机模型。我们可以使用网络流量生成器(例如iperf、bwping 和 Mausezahn)通过测试平台网络中的网络流量测量来分析网络性能。流量生成器发送虚拟数据包,通常带有唯一的数据包标识符,从而可以跟踪网络中的数据包传递。(参考资料:Traffic generation model)
|
1.2.2 传输层
传输层向应用层提供 端到端的数据传输 服务。编写在传输层的协议从应用层接收数据,在源节点依靠网络层进行数据转发,并从网络层接收数据,在目的节点将数据传递给应用层。传输层协议的例子包括 UDP、TCP和 RSVP-TE。 第 4.3 节提供了 EXata 中传输层协议的实现细节,并描述了如何开发一个自定义的传输层协议。 |
PS:
- End-to-end data transmission:端到端传输指的是在数据传输前,经过各种各样的交换设备,在两端设备问建立一条链路,就象它们是直接相连的一样,链路建立后,发送端就可以发送数据,直至数据发送完毕,接收端确认接收成功。(参考资料:什么是端到端,什么是点到点?)
|
1.2.3 网络层
网络层负责 数据转发和 排队/调度。互联网协议(IP)驻扎在这一层,负责数据包的转发。在源节点,网络层从传输层接收数据,并依靠链路(MAC)层进行逐个链路的数据传输。在目的地节点,网络层从链路(MAC)层接收数据,并将数据上传到传输层。 网络层还实现了某些类型的路由协议。在 EXata 中实现的网络层路由协议的例子是AODV、DSR、OSPF 和 DVMRP。在 EXata 中实现的排队/调度协议的例子有FIFO、RED、RIO、WFQ 和 WRR。 第 4.4 节提供了 EXata 中网络层协议的实现细节,并描述了如何开发一个自定义的网络层协议。本节涉及以下类型的协议: 网络层单播路由协议、网络层多播路由协议、排队协议和调度器。 |
PS:
- Queuing:计算机网络分组在经过网络传输时,要经过许多的路由器。但分组在进入路由器后要先在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发,这就产生了排队时延。(参考资料:计算机网络:概述)
- Scheduling:调度器,也被称为 排队规则。每个网络接口都会有一个调度器,默认的调度器是 FIFO。调度器会根据调度器的规则重新排列数据包进入队列的顺序。(参考资料:计算机网络基础 — Linux 流量控制)
|
1.2.4 链路(MAC)层
链路(MAC)层提供 逐个链路的传输。在发送端,链路(MAC)层从网络层接收数据,并将数据传递给物理层,以便在有线或无线通道上传输。在接收端,链路(MAC)层从物理层接收数据并将数据转发到网络层。在EXata中实施的链路(MAC)层协议的例子是 点对点、IEEE 802.3、IEEE 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(使用前将#替换为@)