「这是我参与2022首次更文挑战的第6天,活动详情查看:2022首次更文挑战」。
摘要
由于涉及多个参数,无线网络中链路层性能的优化是复杂的。实时网络管理和性能适应极具挑战性。在本文中,我们介绍了 CogMAC,一种能够在高度动态环境中调整网络性能的认知链路层方法。使用模拟和试验台测量获得的结果表明所提出的方法优于现有的非自适应技术。
关键词:认知链路层;认知优化;WLAN
1 引言
介质访问控制(MAC)协议的性能通常受到大量参数配置的影响,例如竞争窗口和重试限制。
由于无线环境的不断变化,这些参数的优化配置非常具有挑战性,因为它们依赖于网络条件,例如流量强度和信道错误率。事实上,网络的状态是动态变化的,而且通常很难保持准确的信息来支持 MAC 参数的正确配置。
不同的提议已经解决了影响无线局域网性能的不同问题。例如,一些提议侧重于争用窗口优化 [3、4、19],以平衡活动节点数量、访问延迟和冲突率之间的权衡。通常,小的争用窗口适用于少量节点并提供较短的中等访问延迟。相反,当活动节点数量较多时,较大的争用窗口会限制冲突率,但会导致介质访问延迟延长。
除了在发送方节点执行速率自适应同时在接收方评估信道质量 [1, 5] 之外,旨在实现最佳物理速率自适应的解决方案经常受到测量 SNR 和数据传输率之间的不稳定相关性的影响。
为了避免 IEEE 802.11 [10] 网络中隐藏终端引起的冲突,可以改变请求发送 (RTS)/清除发送 (CTS) 阈值 [18]。理想情况下,RTS/CTS 阈值应设置为隐藏终端引起的当前冲突率的函数。然而,这个指标很难推导出来。因此,RTS/CTS 的适应性被建议作为数据包传递比率[14]的函数或作为基于先前数据包历史的过程。
此外,可以在链路层 [4] 控制数据帧重传尝试的最大次数,以使无线信道适合 TCP 流量。
许多用于设置 MAC 参数的现有方法都集中在给定时间的单个参数上,并且依赖于网络节点通常不能直接获得的网络状态信息。在本文中,我们更进一步,提出了一种称为 CogMAC 的多链路层参数认知优化机制。 CogMAC 利用认知适应技术在运行时将链路层性能保持在最佳水平。通过调整 CSMA-CA 协议的参数来证明其有效性。认知的概念包括观察、学习和响应无线信道动态的能力。这种认知是通过不断监测网络性能、分析网络状况和调整链路层配置来实现的。
CogMAC 机制在 ns-2 模拟器 [15] 以及基于 Linux 的测试平台中实现。认知过程使用三个链路层配置参数:竞争窗口、重试限制和 RTS/CTS 阈值。模拟和实验结果都证实了所提出的认知适应策略的好处以及即使在高度动态的网络条件下也能保持链路层参数的最佳配置的能力。
本文的其余部分组织如下:第 2 节介绍相关工作。第 3 节通过描述认知适应的一般规则和提供所选链路层参数的认知调整的细节来介绍所提出方法的核心。第 5 节介绍了使用网络模拟器获得的模拟结果。第 6 节介绍了在基于 Linux 的测试平台上进行的实验。最后,第 7 节通过概述该主题未来研究的方向来总结本文。
2 相关工作
提出的新认知网络范式 [17] 的动机是需要有效管理日益复杂的通信网络。这种新范式背后的主要思想是一个认知过程,它可以感知网络状态、规划未来、做出决策并采取相应行动 [7]。本文介绍的工作使用认知通过观察、学习和根据网络变化采取行动来重新配置 MAC 层的参数。在本节中,我们回顾了最相关的认知网络方法。
[6] 中提出的工作介绍了一种使用模糊认知图在认知网络节点中实现推理的工具。主要思想是提供一种方法,使网络节点能够表示发生在其协议栈内部和整个网络中的复杂交互。
ADMA [2] 是一种分布式管理架构设计,用于将认知整合到 MANET 网络中。它允许网络节点重新配置自己以响应环境变化。 ADMA 架构不需要任何集中的实体来执行网络管理功能。每个节点都能够根据策略和收集的信息做出决策。使用 ns-2 模拟器实现和测试 ADMA 架构,并使用 VoIP 应用程序实现改进。
[16] 中提出的认知网络可重构平台提供了一种节点架构,该架构能够根据不同层的观察进行推理,并以整体方式调整从这些观察中学到的知识。认知循环动态地构建和调整网络节点的协议栈。认知引擎可以从节点中提取出来,这一过程使其适应各种网络技术。
3 认知链路层
CogMAC 是一种用于在动态网络环境中对多个链路层参数(例如重试限制或争用窗口)进行认知优化的技术。它不依赖于网络特征的显式知识。 CogMAC 被实现为与协议栈一起运行的认知平面。它与所有数据层接口并控制信息交换。
CogMAC 不断推断实现的性能和协议配置参数之间的依赖关系。有了这些信息,CogMAC 建立并维护了一个本地知识库,使其能够根据以前的性能经验做出决策。
对于每个配置的协议参数,CogMAC 选择一个最小 (Pmin) 值、一个最大 (Pmax) 值和一个默认 (Pdef) 值来定义参数的操作边界。每个配置参数的值,最初固定在 (Pdef) 定期更新,随机提供的值由 [Pmin, Pmax] 区间中定义的正态分布随机提供,平均值为 Pdef(图 1)。在每个循环结束时,Pdef 更新为可实现历史最佳性能的值。
这种配置允许维持系统性能以在最佳操作点运行,同时还允许它测试相邻值的充分性并对网络环境中的动态变化作出反应。
对于此类维护参数,值会定期采样,并且在每个采样间隔结束时,CogMAC 执行以下操作:性能监控、性能优化和系统配置,所有这些都将在下面进行描述。
性能监测对最后一个采样区间内收到的字节数进行统计,并计算出平均吞吐量值。然后计算出指数加权移动平均值(EWMA)值:
其中 表示当前的测量样本, 对应于 EWMA 的最后一个值, 是给新样本的权重。
介质访问延迟测量为数据包从传出队列中删除的时间与其传输开始的时间之间的差异。
性能优化是分析测量值并选择操作参数的最佳配置的阶段。在系统启动时,考虑到所收集测量的历史较短,CogMAC 配置决策可能与最佳设置不对应。然而,随着时间的推移,额外的性能测量值变得可用,并实现了收敛到最佳参数值。
当所有参数都分配有取自正态分布的新值时,系统配置就会发生。之后,正态分布的平均值被设置为与最佳经验性能相匹配。
4 802.11 链路层参数的认知设置
本文旨在使用 CogMAC 对 IEEE 802.11 链路层的参数进行动态运行时配置,如重试限制(retr)、竞争窗口(cw)和RTS/CTS阈值(rthr)。目标是最大化链路层吞吐量,同时确保各个节点所经历的介质访问延迟的界限。如果我们知道移动节点的确切数量、它们的流量需求和隐藏节点以及无线信道的错误率,这个目标很容易实现。不幸的是,这些信息很难获得和维护。然而,CogMAC 不需要任何明确的网络参数知识,它可以提供性能优化的手段,而无需来自网络的明确反馈。在下一节中,我们将详细描述 CogMAC 的操作。
参数 retr 限制在数据帧被静默丢弃之前在链路层尝试的重传,而不通知上层。参数 retr 影响上层所经历的比特和数据包错误率 BER 和 PER。
尽管它们可以补偿低信道错误率,但低 retr 值不会改变介质访问延迟。相反,较高的 retr 值适用于噪声信道,但代价是增加了介质访问延迟。
参数 cw 定义了由指数退避机制选择的初始竞争窗口的大小。每当一个站后退时,它会在区间 [0, cw - 1] 中选择一个随机时隙。然后,对于每次不成功的传输,cw 的值加倍。初始 cw 值的大小应由竞争介质访问的站数驱动,以避免不必要的冲突。通常,对于可能发生大量冲突的密集网络,建议使用较高的 cw 值,而在稀疏网络中应该较低,以避免不必要的介质访问延迟增加。
参数 rthr 定义了用于 RTS/CTS 数据包交换的链路层数据帧的最小大小,以减少由于隐藏节点引起的冲突的脆弱性。然而,由于隐藏节点引起的碰撞不能轻易地与其他类型的碰撞区分开来。此外,在隐藏节点产生的相同流量强度下,rthr 的值由常规网络节点的数量决定。
5 CogMAC 的性能评估
为了评估所提出的方法,我们在网络模拟器 (ns-2) [15] 中实现了 CogMAC 框架。接下来的小节提供了有关实施和获得的结果的更多详细信息。
5.1 仿真场景
CogMAC 功能被编码到 ns-2 模拟器的无线链路层(mac-802_11.h、mac-802_11 .cc)。
分配了两个四维数组来跟踪每个采样间隔结束时的链路层吞吐量性能和介质访问延迟。
为了计算介质访问延迟,数据包头结构扩展了一个时间戳字段,每次将数据包发送到链路层进行传输时都会填充该字段。使用这个时间戳,媒体访问延迟可以很容易地在传输开始时计算出来。获得的延迟值说明了一个节点花费在信道竞争上的时间,这个过程涉及等待来自其他节点的所有未决传输完成。
在系统配置阶段,ns-2 分配一个独立的随机生成器,该随机生成器为每个配置值使用不同的种子进行初始化。这样做是为了减少不同参数之间的任何潜在相关性。
图 2 概述了模拟的网络拓扑。接入网络遵循 IEEE 802.11 规范,而网络的其余部分是有线的。位于有线网络中的流量源节点 S 连接到桥接有线和无线部分的接入点 (AP)。在 R2 和 AP 之间放置一个容量为 10 Mb/s 且传播延迟为 340 ms 的瓶颈链路,以模拟广域网连接。链路 S-R1 和 R1-R2 遵循以太网标准,速率为 100 Mb/s,传播延迟为毫秒级。
网络的无线部分根据 IEEE 802.11b 规范配置,无线链路数据速率为 11 Mb/s,基本数据速率为 1 Mb/s,采用两射线地面链路传播模型。
移动节点的数量从 1 到 50 不等,每个移动节点只有一个流量流。移动节点均匀分布在 AP 的传输范围内。通过这种设置,所有移动节点都可以与 AP 通信,但位于 AP 对面的那些节点彼此隐藏。认知算法的实现动态改变 [1;7] 范围内的 retr、[8;64] 范围内的 cw 和 [0;1,500] 范围内的 rthr 的值,增量为 300字节。当 rthr 值为 0 时,RTS/CTS 阈值关闭,当 rthr 值为 1,500 字节时,RTS/CTS 阈值对所有传出的数据包启用。 Pdef 参数设置为 IEEE 802.11 标准 [10] 和大多数供应商推荐的默认值。表 1 总结了模拟中使用的 Pmin、Pmax 和 Pdef 值。
认知过程每隔 100 毫秒定期触发一次。周期的长度控制认知调谐的速度和平滑度。大周期导致认知过程的行为更稳定,应该在静态环境中使用,而较短的周期有利于快速适应,应该在高度动态的网络环境中使用。
以下部分给出的结果将 CogMAC 参数方法(参数设置)与使用典型默认值的操作进行了比较。在这些实验中使用等于 0.7 的标准偏差 (std) 和等于 0.5 的权重 (w)。
5.2 单个参数的优化
为了揭示所提出的认知适应的细节,我们首先关注一个只有一个参数retr 的场景的模拟。 retr的值从1到7不等,移动节点的数量从1到50不等。对于每个移动节点,建立一个源自S节点的FTP/TCP流。
图 3 显示了平均数据包访问延迟。在具有大量网络节点的情况下,访问延迟对于低retr值保持低并且对于高retr值增加。 CogMAC 将访问延迟保持在固定为 4 ms 的阈值内,这是大多数 VoIP 和多媒体应用程序的常用值 [8]。
获得的结果强调了所提出的方法对动态网络场景的适用性。当节点数量较多时,CogMAC 会减小值 retr 以保持延迟有界。对于稀疏网络,CogMAC 将其操作点移向高 retr 值以保证最佳吞吐量。
图 4 显示了在链路层针对不同的 retr 值测量的吞吐量。 CogMAC 在保证给定延迟范围的同时,为网络中的任意数量的节点实现了良好的性能。在少数情况下,其他 retr 值会导致图 4 中更高的吞吐量值。但是,这些情况违反了访问延迟界限(见图 3)。
上述实验证明了 CogMAC 在保持低于指定阈值的延迟的同时最大化吞吐量的能力。这使得 CogMAC 成为解决数据传输和多媒体应用问题的有希望的候选者。
图 5 显示了 CogMAC 为具有大量移动节点的场景选择每个 retr 值的标准化次数。正如预期的那样,由于指定的延迟界限,较小的 retr 值表明最佳配置。有时,也会选择接近最优值。
5.3 多参数优化
本节中,CogMAC 在算法调整多个参数时的有效性进行评估。具体来说,考虑了三个参数:retr、cw 和 rthr。
活动节点的数量和传输的数据包大小发生变化。模拟仅从 1 个移动节点开始。然后,在每 18 s 的模拟时间,10 个移动节点进入网络(总共最多 50 个节点)。在 100 秒的模拟时间后,数据包大小每 18 秒增加 330 个字节,持续时间为 210 秒。 CogMAC 的介质访问延迟阈值设置为 30 ms。执行改变网络节点的数量和数据包大小以强调 CogMAC 调整其操作参数以适应网络条件的不可预见变化的能力。
图 6 描述了平均访问延迟。当节点数量较少(25 s,11 个节点)时,访问延迟仍然很低。随着节点数量的增加,访问延迟也增加并稳定(100 s,50个节点),保持延迟有界。该图证实了 CogMAC 能够适应高度动态的网络条件并满足延迟要求。 CogMAC 不保证一定的吞吐量或延迟性能。相反,它测量现有性能并尝试调整操作参数,这在某些情况下可能会导致轻微违反所需的延迟阈值。
图 7 显示了测量的吞吐量。随着更多节点进入网络,吞吐量会降低,这是由于冲突数量增加造成的。尽管在 91 秒的模拟时间后达到了最大节点数(50 个节点,1,250 Kbps),但由于数据包大小的增加,MAC 吞吐量继续下降。
6 试验台实验
6.1 试验台结构
图 8 概述了用于评估 CogMAC 性能的基于 Linux 的测试平台的结构。有一个带有两台笔记本电脑的单元,连接到一个惯常的 802.11b/g 兼容接入点。 ath5k 设备驱动程序的一个版本经过专门修改以运行 CogMAC 功能。笔记本电脑 B 是一个普通的客户端,没有实现 CogMAC 功能。笔记本电脑 B 感知到不同的 IEEE 802.11 网络,从而对我们的实验造成干扰。此场景代表安装了 IEEE 802.11 接入网络的住宅环境。
图 9 显示了笔记本电脑 A 协议栈的一般组件,包括与 CogMAC 实现相关的模块。内核级实现可确保完整性以及所需的性能特征。
CogMAC 的实施分为两部分。第一部分负责性能监测、性能优化和适应。它是在 ath5k 驱动中编码的。第二部分负责运行时的变量配置和调整。它在用户空间中实现。
在 Linux 操作系统中,虚拟内存被划分为内核空间和用户空间。内核空间是为运行内核、内核扩展和大多数设备驱动保留的,而用户空间是由用户应用程序使用的。驻留在用户空间区域的程序不能与内核空间的程序通信。为了在用户空间的进程和内核空间的进程之间和内核空间中的进程间交换数据,基于 RAM 的文件系统在内核中实现。
内核模块形式的 CogMAC 实现提高了重新编译整个内核的要求。然而,一些参数必须在用户和内核空间之间实时交换。为了传递参数 Pmin、Pmax 和 Pdef 的初始配置,一个名为 sysctl [13] 的基于 RAM 的文件系统被扩展。这允许用户空间中的应用程序与内核交换数据,例如配置变量。扩展了结构“ctl_table”,并设置了一个“cogmac_table”子级来写入和读取参数。
“cogmac_table”填充了需要通过内核空间中的 CogMAC 机制从用户空间实时设置的参数。这些参数包括:
- CM_sample_interval
- CM_access_delay_threshold
- CM_retry_limit_mean
- CM_history_significance
- CM_enabled
此外,在 Linux 内核源代码树中进行了一些修改。 Linux SKB 结构存储与内核处理的数据包的表示相对应的信息,它被扩展为包含时间戳值。这个时间戳记录了数据包被驱动释放到硬件卡进行传输的时间。该信息随后用于计算信道访问延迟,包括分组排队、信道竞争、帧传输和可能的重传尝试所需的时间。此延迟由 t1 和 t2 之间的差异决定。后者在网络接口卡接收到来自接收器的传输帧的肯定链路级确认时被标记。
图 10 展示了 Linux 内核中 CogMAC 实现的细节。变量 t1 和 t2 用作时间戳。 t1 时间戳是在网络层将分配的 skb 结构进一步向下转发到所选网络接口的 MAC 层时记录的。然后,在数据包进入 MAC 层后,CogMAC 计算质量度量。目的是优化 MAC 层吞吐量,同时保持访问延迟有界。通过计算给定时间单位内成功传输的字节数来简单地计算吞吐量。当设备驱动程序从传输帧接收到一个肯定的链路级确认时获得延迟,此时时间戳 t2 被记录。该延迟是通过 t2 和 t1 之间的差值获得的。
分配一个五维数组 (6) 以跟踪每个采样间隔结束时的性能 (7)。三个维度用于存储 retr、cw 和 rthr 值,而第四个和第五个维度用于计算吞吐量和 MAC 延迟测量。
CogMAC 使用随机数生成器 (RNG) 在每个采样间隔结束时生成新的参数值。但是,Linux 内核没有提供正常分布的 RNG。此外,不支持 C 库例程或浮点数。为了克服这些限制,我们使用 Jain [12] 提出的正态分布表达式来计算正态分布而不是均匀分布。
Iperf 工具 [11] 用于流量生成和吞吐量测量。笔记本电脑 A 运行 iperf 客户端,而服务器驻留在笔记本电脑 B 中。每个实验的持续时间设置为 5 分钟。
6.2 实验结果
在试验台实验中,由于retr 对干扰敏感,因此特别注意retr 参数值的确定。其他两个参数 cw 和 rthr,只对网络中大量的客户节点敏感。
参数 retr 从 1 到 10 不等。膝上型电脑 A 用作 TCP 流量的来源,而膝上型电脑 B 是接收器(见图 8)。每个实验重复 10 次,并报告 95% 的置信区间。
CogMAC 行为由选定的性能指标和指定的延迟预算驱动。使用了三种不同的预算:300、400 和 1,000 毫秒。图 11、12、13 显示了在实验过程中选择每个 retr 值的次数。图 14 和 15 提供了对介质访问延迟和带宽变化的洞察。
正如预期的那样,对于 300 ms 的延迟预算,最佳 retr 值往往很小。在图 11 中,最大值为 2。访问延迟值接近于定义的界限,几乎没有违规(见图 14);然而,吞吐量很低,因为链路错误(没有通过少量重传来补偿)会降低 TCP 性能(见图 15)。
对于 400 ms 的延迟预算,最佳值已从 2 变为 3,并在 4 和 6 之间急剧下降(见图 12)。访问延迟值在定义的边界内(见图 14),而吞吐量由于链路层重传的高平均次数而增加(见图 15)。
对于 1,000 ms 的延迟预算,访问延迟总是低于界限值(见图 14)。这允许高 retr 值(参见图 13),这反过来又导致高 TCP 吞吐量(参见图 15)。
上述结果证实了 CogMAC 能够对不断变化的网络条件做出反应,因为它不断调整协议参数以匹配并实现最佳设置。
6.3 与模拟结果的比较
因为我们没有在测试台模拟实验中重现所有场景,所以只比较了一些场景的结果。
可以观察到 CogMAC 在模拟和实验中的类似行为。 CogMAC 可以在这两种情况下限制访问延迟(图 3、14)。 retr 值越低,在有干扰的环境中实现的吞吐量越低。这表明 CogMAC 很好地适应了目标参数值以适应这种干扰。例如,对于预算值 300、400 和 1,000 ms 的访问延迟(见图 14),CogMAC 分别选择 retr 值 2、3 和 10(见图 11、12、13)。在测试台(图 15)和模拟实验(图 4)中,retr 的低值限制了干扰环境中的吞吐量。
7 结论
本文提出了一种用于优化无线网络中链路层参数的认知方法。所提出的方法考虑了大量链路层参数,并且能够在不明确了解网络性能下降原因的情况下计算最佳设置值。
使用 ns-2 模拟器,使用 IEEE 802.11b 链路层及其控制参数(例如重试限制、争用窗口和 RTS/CTS 阈值)进行性能评估。通过仿真获得的结果在基于 IEEE 802.11g Linux 的测试平台实验中得到进一步证实。与采用固定链路层参数的设置相比,模拟和基于 Linux 的测试台实验都揭示了所提出的认知链路层的优势。
未来的工作将集中在与其他可用的链路层解决方案(包括自适应和非自适应)进行广泛比较,以真正确认所提出方法的优势。此外,所提出的认知机制将适用于移动网络中的节能。
参考文献
[1] Ancillotti, E., Bruno, R., & Conti, M. (2008). Experimentation and performance evaluation of rate adaptation algorithms in wireless mesh networks. In: Proceedings of the 5th ACM symposium on performance evaluation of wireless ad hoc, sensor,and ubiquitous networks (pp. 7—14). New York, NY: ACM.
[2] Ayari, M., Movahedi, Z., Pujolle, G., & Kamoun, F. (2009). Adma: Autonomous decentralized management architecture for manets: A simple self-configuring case study. In: Proceedings of the 2009 international conference on wireless communications and mobile computing: Connecting the world wirelessly (pp. 132—137). ACM.
[3] Bononi, L., Conti, M., & Gregori, E. (2004). Runtime optimization of IEEE 802.11 wireless LANs performance. IEEE Transactions on Parallel and Distributed Systems, 15(1), 66—80.
[4] Cali, F., Conti, M., & Gregori, E. (2000). Dynamic tuning of the IEEE 802.11 protocol to achieve a theoretical throughput limit. IEEE/ACM Transactions on Networking (TON), 8(6), 799.
[5] Choi, J., Na, J., Park, K., & Kim, C. (2007) Adaptive optimization of rate adaptation algorithms in multi-rate WLANs. In: Proceeding of IEEE ICNP. Citeseer.
[6] Facchini, C., & Granelli, F. (2009). Towards a model for quantitative reasoning in cognitive nodes. In: GLOBECOM Workshops, IEEE (pp. 1—6). IEEE.
[7] Fortuna, C., & Mohorcic, M. (2009). Trends in the development of communication networks: Cognitive networks. Computer Networks, 53(9), 1354—1376.
[8] Goode, B. (2002). Voice over internet protocol (VoIP). Proceedings of the IEEE, 90(9), 1495—1517.
[9] Gunes, M., Hecker, M., & Bouazizi, I. (2003). Influence of adaptive RTS/CTS retransmissions on TCP in wireless and ad-hocnetworks. In: Eighth IEEE international symposium on computers and communication (ISCC 2003) (pp. 855—860). IEEE.
[10] IEEE. (1999). Wireless lan medium access control (mac) and physical layer (phy) specifications. IEEE Standard 802.11.
[11] Iperf. Available at iperf.sourceforge.net/.
[12] Jain, R. (1991). The art of computer systems performance analysis: Techniques for experimental design, measurement, simulation, and modeling. New York: Wiley.
[13] Love, R. (2010). Linux kernel development (3rd ed.). Boston, MA: Addison-Wesley. ISBN-10: 0672329468, ISBN-13: 9780672329463.
[14] Mjidi, M., Chakraborty, D., Nakamura, N., Koide, K., Takeda, A., & Shiratori, N. (2008). A new dynamic scheme for efficient RTS threshold handling in wireless networks. In: Proceedings of the 22nd international conference on advanced information networking and applications (pp. 734—740). IEEE Computer Society.
[15] Ns2 network simulator. Available at www.isi.edu/nsnam/ns/.
[16] Sutton, P., Doyle, L., & Nolan, K. (2006). A reconfigurable platform for cognitive networks. In: 1st international conference on cognitive radio oriented wireless networks and communications, 2006 (pp. 1—5). Ieee.
[17] Thomas, R., DaSilva, L., & MacKenzie, A. (2005). Cognitive networks. In: New frontiers in dynamic spectrum access networks, DySPAN 2005 (pp. 352—360). IEEE.
[18] Tsertou, A., & Laurenson, D. (2008). Revisiting the hidden terminal problem in a csma/ca wireless network. IEEE Transactions on Mobile Computing, 7(7), 817—831.
[19] Xia, Q., & Hamdi, M. (2006). Contention window adjustment for IEEE 802.11 WLANs: A control-theoretic approach. In: IEEE international conference on communications, ICC’06, 9.