您的位置:首页 > 其它

Rime协议学习笔记:(一)Rime协议概述

2016-11-20 23:28 190 查看
主要参考contiki之父Adam Dunkels的论文:AnAdaptive Communication Architecture for Wireless Sensor Networks

1 Rime背景

          随着传感器网络的移动对增加的异质性,链路层的数量、MAC协议和底层的传输机制增加。系统开发人员必须适应他们的应用程序和系统,以适应广泛的基本协议和机制。然而,现有的传感器网络的通信体系结构是不适合这种异质性,因此系统开发者必须重新开发系统为每个底层通信协议或机制。为了解决这种情况下,我们提出了一个通信架构,适应广泛的底层通信机制,从的传输层的传输层,而不需要任何更改应用程序或协议。

2 Rime协议栈



abc: anonymous broadcast,匿名广播,它仅通过射频驱动发送数据包和接收所有的数据包,并将他们送至上层;

broadcast: 标识广播,它为发出的数据包添加了发送者地址,然后传递给abc模块;

unicast: 这个模块添加给数据包添加一个目标地址,再传递给broadcast模块。在接收端,如果数据包的目标地址和当前节点地址不符,该数据包将为丢弃。

stunicast: 当要求发送数据包至某个节点,它将在给定的时间周期内反复发送,直到要求停止。

runicast: 可信单播,它使用stunicast模块发送数据包,并等待确认报文,收到后停止持续重发数据包。为了防止无限次发送,必须指定一个最大重发次数。

polite和ipolite:这两个模块几乎相同,当一个数据包必须在给定的时间帧内被发送,模块在到达时间的一半时,检查是否收到的数据包与它准备发送的相同。如果收到了,这个数据包将不被发送,否则发送。这是一个有效的泛洪技术,可以避免没必要的重发。

multihop: 这个模块要求一个路由表功能,当将要发送数据时它会请求路由表提供下一跳,并且使用unicast发送。当它收到一个数据包,如果本身即为目标节点就将数据包传至上层,否则再次请求路由表提供下一跳并转发。

3 使用Rime通信



       图中表示应用可以直接使用Rime协议栈通信,也可以在Rime协议栈上使用mesh路由协议通信。不管怎么通信,每个通信路径都是用自己的逻辑信道。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: