推导纯ALOHA协议的效率
在日语中,“Aloha”通常表示“你好”。它工作在OSI模型的MAC层。多路访问协议是一组用于避免串扰并实现高效传输的协议。当数据在没有特定信道的主机之间传输时,可能会存在数据冲突和串扰的较高可能性。在这种情况下,使用ALOHA(一种随机访问协议)可以提高效率。
计算机系统中的ALOHA
ALOHA是一种多路访问协议。使用此协议,来自不同节点的任意数量的数据流都可通过传输信道发送。在ALOHA协议中,每个数据都在不检查传输介质是否繁忙的情况下发送。如果两个以上的数据尝试占用相同的信道,则会发生冲突,并且过程停止并重新传输到主机。
ALOHA协议指南
任何主机站都可以随时将数据发送到传输信道。通过使用多个信道,数据包的冲突和丢失很容易发生。数据启动(即载波侦听)所需的时间为零,因为数据是在没有任何检查过程的情况下传输的。此协议中也不提供冲突检测,并且帧在特定时间段后重新传输。
ALOHA的类型
ALOHA协议主要有两种类型:
1. 分时ALOHA
与ALOHA协议类似,任何站点都可以在传输信道上发送数据,但仅限于分配的时间段内。因此,它遵循离散时间并全局同步。
2. 纯ALOHA
当主机需要在站点进行数据传输时,它可以在任何时间进行。数据传输一次后,站点等待一段时间以获取接收端发来的确认。此方法用于避免数据冲突。在数据传输过程中可能存在两种情况:
数据已接收 - 它在给定时间内等待接收方响应,如果未收到,则再次等待随机时间(称为回退时间)以获取响应。
数据丢失 - 如果仍然未收到确认,则站点认为数据包可能已丢失,并再次重新传输数据包。
纯ALOHA的回退时间
此策略在纯ALOHA协议中起着至关重要的作用。当未收到数据包确认时,站点会等待更长一段随机时间,或者等待时间称为回退策略。
回退时间 (Tb) = k * RTT(往返时间)
其中k是站点选择的数字,一个RTT等于一个时隙。
纯ALOHA的易损时间
易损时间是发生数据包冲突的时间。如果第一个帧“A”在任何特定时间t发送,在数据完全传输之前,并且其他帧“B”在帧“A”完成之前开始,则会导致冲突。
发生冲突时的易损时间 (Vt) = 2 * Tt
其中Tt是帧的传输时间。
易损时间也称为传播时间或从站点传输完整数据包所花费的总时间。
$$\mathrm{易损时间\:=\:\frac{(消息长度)}{(传输信道带宽)}}$$
纯ALOHA的信道吞吐量
这里“G”是帧传输时间段内通过信道传输的平均帧数。当数据包成功或完整地传输到接收端时,数据包的概率如下所示:
最大效率
为了找到站点在数据包传输期间的最大效率,让我们取传输的平均帧数为1和1/2。
成功纯ALOHA的吞吐量或效率,$\mathrm{S\:=\:G\:*e^{-2G}}$
要消除指数,对两边关于G进行微分:
$$\mathrm{\frac{\partial\:S}{\partial\:G}\:=1.(0)(e^{-2G})}$$
$$\mathrm{\frac{\partial\:S}{\partial\:G}\:=\:0}$$
因此,当G=1/2时出现最大效率,并将G值代入吞吐量方程。
$$\mathrm{S\:=\:\frac{1}{2}\:*e^{-2(\frac{1}{2})}}$$ [因为e^(-1)的值为0.367879]
$$\mathrm{S\:=\:\frac{1}{2}\:*e^{(-1)}}$$
$$\mathrm{S\:=\:\frac{1}{2}\:*\:0.367879}$$
$$\mathrm{S= 0.1839395}$$
纯ALOHA的效率百分比为18.39%,由于冲突次数过多,因此非常低。
结论
在计算机网络中,访问控制是在传输过程中控制站点的过程。ALOHA是一种随机访问协议,由两种类型组成。其中,由于纯ALOHA的简单性和易于实现,因此比分时ALOHA具有更多优势。分时ALOHA中的数据包冲突次数少,而纯ALOHA中的冲突次数多。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP