Contiki之MAC协议:MAC协议架构
来源:互联网 发布:通州淘宝城在哪个位置 编辑:程序博客网 时间:2024/06/05 07:21
通过前面的学习,我们已经知道,Rime协议栈中的子协议都直接或者间接地运行在匿名广播abc之上,当他妈需要发送消息的时候,最终会调用到abc_send,而abc_send会调用Rime协议栈的接口rime_output,然后经过链路安全层llsec,最终调用mac层协议,最终通过无线收发器将数据包发送出去。
相对应的代码主要位于contiki/core/net/mac
目录下。
这里的框架只是我按照Contiki中的代码调用逻辑抽象出来的,从上到下依次是RIME子层,LLSEC子层,MAC子层,RDC子层,FRAMER子层,RADIO子层。如果与OSI七层模型做一个对比,我们可以将LLSEC子层、MAC子层、RDC子层、FRAMER子层都归结于MAC协议,我们将分别简要介绍这几层。
LLSEC层
LLSEC的全称是Link layer security,即链路层安全。在Contiki中,该层对应的默认驱动定义为
#define NETSTACK_LLSEC nullsec_driver
。但是其实该驱动并没有做链路层安全处理,而只是简单地提供了该层的接口。 相关代码位于
contiki/core/net/llsec
目录下。MAC层
MAC的全称是Media Access Control,即媒体访问控制。该层主要负责节点公平地竞争无线信道,比如实现CSMA算法。Contiki中实现了多种MAC协议,包括contikimac,cxmac,sicslowmac,tsch以及nullmac,默认配置的协议是contikimac。
我们今后主要关注文件csma.[ch]
。
RDC层
RDC的全称是Radio Duty Cycling,Contiki实现该层的目的是节能。通常在一个节点中,无线收发器是最消耗电能的设备之一,需要达到节能的目的,当然得关闭无线收发器。RDC层就负责周期性地关闭无线收发器,但为了接收数据,同时又周期性地唤醒无线收发器。
我们今后主要关注文件contikimac.[ch]
。
FRAMER层
FRAMER层在数据包前面加上帧头,负责将数据包封装成帧。
我们今后主要关注文件frame802154.[ch]
和frame-802154.[ch]
。
RADIO层
RADIO层应该属于OSI七层模型中的物理层,负责将
1 0
- Contiki之MAC协议:MAC协议架构
- Contiki之MAC协议:802.15.4帧frame
- MAC协议之CRC校验码
- contiki MAC
- contiki MAC
- guide you changing RDC and MAC protocols for a contiki project(如何在contiki工程中修改默认的rdc,mac协议))
- Zigbee Mac 层协议
- 802.11的 MAC协议
- mac 协议的 类型
- WSN MAC协议总结
- S-MAC协议
- T-MAC协议
- Contiki协议栈
- Contiki协议栈
- Contiki协议栈学习计划
- SSL记录协议中的MAC
- 无线传感网MAC协议
- 基于竞争的MAC协议
- c++小技巧,宏定义工厂函数
- Contiki协议栈Rime:实验ibc和abc相互通信
- 第13周项目(2)-动物这样叫
- iOS中程序启动的完整过程
- 我的第一篇博客
- Contiki之MAC协议:MAC协议架构
- iOS中UIWindow的获得
- Java 加密解密之对称加密算法DES
- java中常见的查找方式
- Android点击除EditText外地方隐藏软键
- Android中adapter调用notifyDataSetChanged无效原因总结
- Does Java pass by reference or pass by value?
- Java 加密解密之对称加密算法DESede
- Levmar 配置