物联网网络与传输层技术解析
1. TCP与6LoWPAN的挑战
1.1 TCP在6LoWPAN中的问题
TCP是一种面向连接的传输协议,能实现可靠的数据传输。然而,在6LoWPAN环境下,TCP存在诸多问题。
首先,TCP需要一定的计算复杂度,这对于嵌入式设备来说可能无法满足。而且,TCP的重传机制会导致额外的端到端延迟。在物联网(IoT)中,低功耗局域网(LLNs)容易出现数据包丢失的情况,重传现象较为常见。重传会增加网络流量,在网络容量有限的情况下,容易引发冲突,进而导致更多的数据包丢失,最终造成应用层数据包丢失的增加。
其次,TCP假设数据包丢失是由于中间设备(如路由器)队列满而丢弃数据包导致的拥塞。但在IoT中,数据包丢失大多是因为低信噪比(SNR)环境下信号受到噪声严重干扰。对于低流量场景,TCP会降低传输速率以应对拥塞,但在很多情况下,快速重传提供类似前向纠错(FEC)的机制来克服信道引入的丢失更为合适。
1.2 Nagle算法的影响
在实时传感应用中,流量需要尽快发送。但TCP的Nagle算法会缓冲数据包有效载荷,直到有足够的数据才发送数据报,这会增加延迟,影响实时性能,甚至导致应用层数据包丢失。不过,一些应用可以在其TCP栈中禁用Nagle算法来提高实时性能。6LoWPAN并不依赖TCP进行会话管理,TCP仅支持未压缩的流量。
1.3 示例计算
考虑一个传感器,每20ms直接通过TCP流传输3字节的读数(无会话/应用层协议)。当Nagle算法启用且缓冲60字节后再传输时,计算如下:
- 需缓冲的消息数量 (N = \frac{60 \text{
超级会员免费看
订阅专栏 解锁全文
495

被折叠的 条评论
为什么被折叠?



