传输层是 OSI 第 4 层,在 TCP-IP 模型中以相同的名称识别。与物理层、数据链路层和网络层一样,该层也是物联网参考架构中基础设施层的一部分。在前面的教程中,讨论了物理和数据链路层协议以及网络层协议。
在本教程中,将讨论传输层协议。传输层也称为路由层,负责通过网络路由数据包。在这一层,执行数据包的排序、错误检测和数据包传送中的纠正。常用的传输层协议包括:
• TCP
• UDP
• DCCP
• SCTP
• RSVP
• DTLS
• TLS
• RPL
• CARP
• CORPL
• QUIC
• uIP
• ROLL
• Aeron
• CCN (以内容为中心的网络)
• NanoIP
• TSMP (时间同步网格协议)
• UDP
• DCCP
• SCTP
• RSVP
• DTLS
• TLS
• RPL
• CARP
• CORPL
• QUIC
• uIP
• ROLL
• Aeron
• CCN (以内容为中心的网络)
• NanoIP
• TSMP (时间同步网格协议)
TCP – 传输控制协议 (TCP) 是面向连接的重量级协议。它适用于可靠通信,因为在该协议中,当客户端通过 TCP 协议将数据包发送到服务器时会收到确认。如果数据包是通过 TCP 协议发送的,则必须保证数据在另一端发送。
该协议分三个阶段运行——连接建立、数据传输和连接关闭。TCP 连接由位于端点(物理)的互联网套接字管理,经历各种状态变化。
该协议的数据包开销非常大。TCP 从设备消耗更多功率并且开销大,因此它不适合环境受限的低功率设备。因此,UDP 更适合作为低开销的无连接协议。
UDP – 用户数据报协议是一种无连接协议,不能可靠地保证数据传输。但是,在可以承受数据传输过程中丢包的情况下,UDP 协议是向服务器发送数据的最佳协议。UDP协议是一种轻量级协议,适用于无线传感器网络通信。UDP 通常用于为实时性能专门调优的应用程序中。
DCCP – 数据报拥塞控制协议 (DCCP) 是一种面向消息的传输层协议。该协议比 TCP 协议更安全。与每个数据包具有单字节长 ID 的 TCP 相比,DCCP 中的数据包 ID 为 48 位长(6 字节)。这使得任何攻击者都很难破解数据包。该协议通常用于时间关键的数据传输,如媒体流和 VoIP。
SCTP – 流控制传输协议 (SCTP) 协议是一种面向消息的传输层协议,它使用拥塞控制在网络上可靠地传输数据。使用 4 次握手保护与 12 字节标头一起传输的数据。由于多宿主,数据被可靠地发送到目的地。
RSVP——资源预留协议(RSVP)是一种主要用于单播和组播数据传输的控制协议。它实际上不传输数据,但用于确保数据流的服务质量 (QoS)。
DTLS – 基于传输层安全 (TLS) 协议,数据报传输层安全 (DTLS) 是一种面向流的传输层协议。这是一种旨在防止消息伪造、篡改和窃听的安全协议。然而,大数据包大小、数据包重新排序和数据报丢失是该协议栈的一些主要缺点。
TLS – 传输层安全性 (TLS) 是一种使用对称加密来保护数据的安全协议。出于安全考虑,该协议现已被禁止使用。
RPL – IPv6 Routing Protocol for Low Power and Lossy Networks 是为 6LoWPAN 网络开发的传输层协议。该协议栈专为约束网络设计。该协议旨在处理未知的数据包丢失并最大限度地减少网络的能耗。该协议使用节点图(面向目标的有向无环图,DODAG)通过最佳路径路由数据,从而以最短的延迟交付数据。它还旨在解决目标端点无法到达或在路由数据包时不可用的情况。尽管如此,当端点醒来时,它还是设法传送了数据包。
节点可以通过向根设备发送 DODAG 信息请求 (DIS) 请求来加入网络,根设备通过 DAO 确认 (DAO-ACK) 确认节点包含在网络中进行响应。根决定了如何通过各个节点路由数据并将其传递到目标节点或端点。
不仅对于 6LoWPAN,RPL(或 Ripple)还可以与其他各种低功耗数据链路层协议一起使用。它基于IPv6标准,因此非常适合任何物联网应用。
CARP – 信道感知路由协议 (CARP) 是为水下网络开发的传输层协议。该协议非常适合物联网实现,因为该协议中的标头大小非常小。该协议跟踪数据通信历史以选择节点进行数据传输。该协议的重点仍然是建立高质量的链路,通过这些链路可以可靠和安全地传送数据包。数据传输发生在两个阶段——网络初始化和数据转发。在网络初始化阶段,汇聚节点(请求传感器数据的节点)向网络中的所有节点发送一个 HELLO 数据包。然后,在数据转发阶段,来自传感器的数据从一跳路由到另一跳,每一跳独立地路由数据。
CORPL – 认知 RPL (CORPL) 是为认知网络开发的 RPL 协议的扩展。它还基于面向目标的有向无环图 (DODAG) 拓扑结构,只需少量修改即可适应认知网络。在 CORPL 中,存在机会转发。有多个转发器(称为转发器集),可以从中选择最佳节点来转发数据。不仅父节点,每个节点都维护一个转发器集。节点通过发送目标广告对象 (DAO) 消息来传达其转发器集中的更改。
QUIC – 快速 UDP 互连 (QUIP) 是一个基于用户数据报协议的协议栈,具有使该协议与 TLS 协议一样安全的附加功能。它在源和目标之间使用一组多路复用连接,以便将延迟和数据丢失降至最低。
uIP – 它是一种开源 TCP-IP 协议栈,可用于微型 8 位和 16 位微控制器。
ROLL – Routing Over Low power and Lossy networks (ROLL) 是一种基于 RPL 的 IPv6 路由协议,专为低功耗和有损网络设计。
Aeron – Aeron 是为 UDP 单播和 UDP 多播设计的协议栈。它是一种高吞吐量和低延迟的通信协议,通常用于流式数据。
CCN – 内容中心网络 (CCN) 或信息中心网络 (ICN) 是一种为内容分发而设计的网络架构和协议栈。在此协议栈中,数据以命名数据包的形式传送,这些数据包保存在网络中任何可用的内存中。通过内容或信息的自动和应用中立缓存,该协议消除了任何应用层协议或服务传递数据的需要。
NanoIP – 基于 TCP-IP,NanoIP 是用于传感器和嵌入式设备的未开发协议栈。
TSMP – 时间同步网格协议 (TSMP) 是为微尘或传感器节点开发的协议栈。它用于无线传感器的联网,以便传感器可以在时隙中相互通信数据。它具有类似于时分复用的方法。