在IoT中的TCP增强

本文内容节选自一篇系统性文献综述(Systematic Literature Review, SLR),标题为"TCP Performance Enhancement in IoT and MANET",由 Sultana Parween 和 Syed Zeeshan Hussain 撰写,发表在《International Journal of Computer Networks and Applications》(IJCNA)2023年7-8月第10卷第4期上。这篇综述的主要目的是使用SLR技术来检查和更好地理解近年来提出的多种用于提高物联网(IoT)和移动自组织网络(MANET)中TCP性能的方法。

以下内容来自该文4.1节。

由于IoT网络的大规模、动态和异构特性,这些网络中的TCP性能是一个复杂和困难的问题。IoT网络中大量的设备可能导致拥塞,这些设备的异构性可能导致不同的网络条件和通信需求。此外,IoT网络中设备的动态特性可能导致网络拓扑和路由路径频繁变化,从而可能影响TCP的性能。

研究概述
  • Tyagi et al. [46] 对Compound TCP进行了分析,以增强WiFi基础IoT网络中的架构,实现持续学习和最小化延迟。研究采用了跨层策略,并设计了多个智能接入点,使用认知协作技术提高所有工业4.0 WiFi网络的效率。

  • 网络拓扑结构 使用网格拓扑,利用曼哈顿距离度量,增强了网络的可扩展性和灵活性 [47]。网络建立后,数据包调度选择最优子流以最小化传输延迟,使用基于适应度的比例公平(FPF)调度。

  • Lim [48] 对uIP堆栈中实现的TCP拥塞控制(CC)方法进行了分析。在识别重传的必要性后,基本的uIP TCP协议根据预定的重传超时(RTO)调整重传定时器,然后开始重传过程。他们提出了一种新的重传定时器管理方法,使用了"弱RTT估计的CoCoA"、"具有变量限制的指数退避"和"抖动"。

  • Aljubayri et al. [49] 使用机会路由(OR)技术减少MPTCP中的延迟,通过最小化传输次数。广播技术在此路由模型中提高了数据传输的传递率和可靠性。

  • Dong et al. [50] 开发了一个集成的多路径调度器,旨在优化能源消耗,同时保持吞吐量,以促进能源保护。EE-MPTCP在家庭和商业IoT环境中都很有用。

  • Ji et al. [51] 将机器学习算法整合到多路径TCP(MPTCP)路径管理中,并引入了基于MPTCP的自动学习路径选择机制,称为ALPS-MPTCP。系统能够动态选择优质路径,同时传输数据。

  • Yang et al. [52] 提出了一种新的基于排列的数据封装技术,以解决在物联网环境中传统传输层协议常见的高延迟、降低的有效吞吐量和资源利用不足的问题。这种技术旨在实现数据包的无缝传输。排列基数据单元(PBDUs)可以用来传输额外的应用层数据。PBDUs与一个有效的元组相关联,该元组包含给定组内唯一数据包长度的排列。因此,对于物理通道中的特定数量的资源单元,吞吐量得到了显著提升。这种封装的最优配置,即PBDU大小的优化,已经以封闭形式写出,允许计算在有效吞吐量和延迟方面可实现的增益。

  • Zong et al. [53] 提出了一种改进的TCP机制,该机制集成了修订版的TCP Veno机制,并增强了TCP Hybla慢启动阶段的数据量,以减少长RTT的影响。这种方法可以区分不可预测的数据丢失和由于拥塞造成数据丢失。研究表明,所提出的TCP机制即使在随机数据包丢失发生时也能改善GEO卫星网络的性能。

  • Lin et al. [54] 通过在接入点(AP)实施适当的速率控制来增强TCP性能,以预测无线链路中的未来拥塞。他们通过分析这些关系来预测未来拥塞,并在该平台上整合了建模和速率控制模块。

  • Verma et al. [55] 提供了一种新颖的拥塞管理策略,该策略根据带宽和延迟的波动自适应地调整传输速率。所提出的方法保持恒定状态,以最小化数据包丢失并增加吞吐量。此外,该研究还提出了与广泛实施的TCP Cubic保持公平性的自适应方法。实验结果表明,新提出的TCP在协议间公平性和吞吐量方面都取得了优越的性能。

  • Park et al. [56] 研究了TCP在低功耗、多跳、多对一无线网络(LLNs)中的效率。TAiM方法利用LLN的独特特性,这些特性导致RTT更高且更波动,与有线或WiFi网络相比。TAiM系统通过仅在LLN边界路由器(LBR)上进行TCP通信干预来实现其目标。它通过精心操作通过的流的往返时间(RTT),在不干扰任何数据包或现有协议运行的情况下实现目标。实验结果表明,使用TAiM有助于TCP的公平和有效运行,同时保持整体吞吐量和端到端的兼容性。

  • Sun et al. [57] 提出了一种(TCP-SCTP)方法来分析网络流量并修改TCP方法。基于路径上的丢包率预测每条网络路径的状况,选择理想路径。这种技术提高了吞吐量和数据传输的可靠性,同时显著降低了因拥塞造成的延迟和丢包。

  • Leung et al. [58] 设计了一个智能TCP发送者模型,目的是区分拥塞相关和非拥塞相关问题。STS框架旨在减少预测成本,并确定定时器到期间隔的最佳设置。通过开发一种新的TCP变体,即TCP for non-congestive loss (TCP-NCL),实际展示了这个模型。TCP-NCL的部署仅需要对发送方TCP进行修改,从而有助于其在未来的广泛采用。模拟实验表明,TCP-NCL在面对拥塞损失时保持了可接受的响应性,同时对数据包重排序和非拥塞丢包表现出鲁棒性。

  • Gomez et al. [59] 检查了最常见的使用TCP的IoT应用程序,然后分析了TCP在IoT环境中的所谓问题。基于他们与IETF合作标准化TCP的工作,他们为其在IoT环境中的轻量级实现和正常功能提供了建议。尽管TCP在过去被低估,但最新发展表明,它可能很快在IoT网络中得到广泛使用。

  • Bhavadharini et al. [60] 开发了一个自适应争用窗口(ACW)方法,目的是通过减少MAC开销和重传,以及估计活动队列大小和竞争节点的能源水平来提高TCP性能。此外,MAC争用窗口根据节点的活动队列大小和节点的剩余能源水平动态调整。MAC争用窗口是动态调整TCP拥塞窗口的基础。该方法有效分配了媒体访问,并通过修改MAC ACW确保了增加的网络吞吐量,同时减少了冲突发生。模拟结果表明,所提出的方法提高了网络吞吐量,并同时减少了碰撞发生。

  • Pokhrel et al. [61] 为Wi-Fi中的复合TCP创建了一个完整的分析设计。该模型考虑了多个并发复合TCP连接的流和CC动态,以及由于接收设备信噪比不同而产生的MAC层动态。该模型可以准确预测各种信噪比的IoT设备在稳态吞吐量和TCP数据包丢失概率。它提供了一个简单的自适应控制方法,以提高公平性,而不影响整体效率。

  • Toprasert et al. [62] 提出了一个马尔可夫决策过程(MDP)来改进现有的拥塞避免策略。正在开发一种新的TCP CC机制,名为TCP-Siam,以提高性能。随着拥塞避免策略向更高级发展,TCP Siam使用考虑MDP状态的TCP-Illinois混合协议的变体进行部署。TCP-Siam通过在有线损连接的情况下,在数据包丢失时增加cwnd大小,提高了异构网络中的吞吐量、往返时间公平性和资源利用率。

  • Sari et al. [63] 研究了WLAN特性对IoT网络拓扑中TCP效率的影响,这些拓扑可能针对IoT用例进行了优化。他们使用不同的WLAN配置运行模拟,以估计在变化的数据丢失和媒体访问速率下TCP的吞吐量。

  • Li et al. [64] 研究了在拥塞避免状态下使用Q-learning进行TCP拥塞窗口(cwnd)自适应调整的方法。这种方法替代了传统的窗口变化机制,允许协议更快地响应先前观察到的网络条件。此外,它强调了构建探索空间时记忆的必要性,并提出了通过函数近似最小化这种开销的技术。深入的模拟分析显示,基于学习的这种方法比TCP New Reno策略取得了显著更高的成功率。

  • Vanzara et al. [65] 引入了一种新的TCP变体TCP Expo,用于高速网络和新兴应用领域。TCP Expo协议增加了三个补充参数:cwnd old、new和这两个参数的平均值(mid)。建议的操作分为两个独立的阶段:慢启动阶段和拥塞避免阶段。通过比较新旧版本的cwnd值,对TCP Expo在严重拥塞条件下的性能进行了分析。结果表明,所提出的方法能够在数据包丢失后迅速恢复cwnd和ssthresh值。

  • Gamess et al. [66] 开发了一些基准工具。本研究使用特定工具评估了在成本效益高的WiFi微处理器Espressif ESP8266上,TCP和UDP在IPv4和IPv6中的有效性,该模块具有完整的TCP/IP堆栈和微控制器功能。作者介绍了与ESP8266模块作为端点设备或接入点使用相关的单向延迟(OWD)和吞吐量的绩效指标。

  • Khan et al. [67] 研究了IoT中TCP数据包监控的有效性、在减轻IoT勒索软件攻击风险方面的有效性,以及在数据安全方面的有效性。

  • Cardwell et al. [68] 引入了TCP BBR算法,这是一种2016年提出的TCP协议算法。显然,BDP代表了TCP的最佳窗口大小。然而,大多数TCP算法并不优先考虑带宽延迟积(BDP)。用户会增加拥塞窗口的值,直到遇到数据包丢失,然后故意超过BDP。作者集中关注了两种限制传输性能的物理限制。必须考虑的两个因素是RTprop和BtlBw。在通信过程中,TCP BBR计算这两个估计值的乘积,从而得到BDP。所得到的BDP用于设置cwnd的大小,对应于估计的BDP。

  • Sari et al. [63] 研究了WLAN特性对IoT网络拓扑中TCP效率的影响,这些拓扑可能针对IoT用例进行了优化。他们使用不同的WLAN配置运行模拟,以估计在变化的数据丢失和媒体访问速率下TCP的吞吐量。

  • Li et al. [64] 研究了在拥塞避免状态下使用Q-learning进行TCP拥塞窗口(cwnd)自适应调整的方法。这种方法替代了传统的窗口变化机制,允许协议更快地响应先前观察到的网络条件。此外,它强调了构建探索空间时记忆的必要性,并提出了通过函数近似最小化这种开销的技术。深入的模拟分析显示,基于学习的这种方法比TCP New Reno策略取得了显著更高的成功率。

  • Vanzara et al. [65] 引入了一种新的TCP变体TCP Expo,用于高速网络和新兴应用领域。TCP Expo协议增加了三个补充参数:cwnd old、new和这两个参数的平均值(mid)。建议的操作分为两个独立的阶段:慢启动阶段和拥塞避免阶段。通过比较新旧版本的cwnd值,对TCP Expo在严重拥塞条件下的性能进行了分析。结果表明,所提出的方法能够在数据包丢失后迅速恢复cwnd和ssthresh值。

  • Gamess et al. [66] 开发了一些基准工具。本研究使用特定工具评估了在成本效益高的WiFi微处理器Espressif ESP8266上,TCP和UDP在IPv4和IPv6中的有效性,该模块具有完整的TCP/IP堆栈和微控制器功能。作者介绍了与ESP8266模块作为端点设备或接入点使用相关的单向延迟(OWD)和吞吐量的绩效指标。

  • Khan et al. [67] 研究了IoT中TCP数据包监控的有效性、在减轻IoT勒索软件攻击风险方面的有效性,以及在数据安全方面的有效性。

  • Cardwell et al. [68] 引入了TCP BBR算法,这是一种2016年提出的TCP协议算法。显然,BDP代表了TCP的最佳窗口大小。然而,大多数TCP算法并不优先考虑带宽延迟积(BDP)。用户会增加拥塞窗口的值,直到遇到数据包丢失,然后故意超过BDP。作者集中关注了两种限制传输性能的物理限制。必须考虑的两个因素是RTprop和BtlBw。在通信过程中,TCP BBR计算这两个估计值的乘积,从而得到BDP。所得到的BDP用于设置cwnd的大小,对应于估计的BDP。

未来研究方向

  • 跨层优化:通过协议栈不同层之间的协作来提升整个网络的性能。在IoT中,可以通过整合路由和传输层协议来减少数据包丢失和延迟。

  • 自适应拥塞控制:由于对数据包丢失敏感,传统的拥塞控制算法(如TCP Reno和TCP New Reno)并不适合IoT和MANET环境。可以针对网络条件(如网络负载和链路质量)调整行为的自适应拥塞控制算法可以改善这些环境中的TCP性能。

  • 基于机器学习的途径:可以用于预测网络条件并相应地调整TCP性能。例如,强化学习算法可以训练TCP适应不断变化的网络条件并优化其性能。

  • 多路径TCP (MPTCP):允许TCP同时通过多个路径发送和接收数据。MPTCP可以通过利用多条路径来减少拥塞和增加吞吐量,在IoT和MANET中改善TCP性能。

  • 节能TCP:在节点通常由电池供电的IoT和MANET环境中,节能是关键考虑因素。节能TCP算法可以通过最小化不必要的传输并根据节点电池水平调整传输速率来降低能耗。

  • 安全感知TCP:在节点通常不可信且容易受到攻击的IoT和MANET环境中,安全是一个关键问题。安全感知TCP算法可以通过整合安全措施(如加密和认证)来确保数据传输的完整性和保密性。

这篇综述强调了未来研究应集中于开发适应性强、节能和安全的TCP算法,以便在高度动态和异构的网络环境中有效运作。

相关推荐
BingoGo14 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack14 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack4 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
gihigo19984 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
QQ5110082854 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php