RPL基础知识点:
- RANK: 这里以RPL的树形结构(RPL不只有树形结构),RANK就代表了每个节点在树状网络中的每一层的“级别”。这点跟CTP很像,貌似RPL也借鉴了不少CTP协议方法。用了RANK就有效解决了数据环路问题。
- DIO(DODAG Information Object):包含节点自身信息,比如RANK、MAC地址什么,邻居只有收到了DIO以后才确定是否能给它。
- DAO(Destination Advertisement Object):这个包是为了数据下传用的,子节点传给父节点报告其距离等消息。
- DIS(DODAG Information Solicitation):征集DIO包用的。
RPL组网过程:
- 节点复位完成,首先发送DIS包,征集邻居节点信息,这点有点像ARP
- 邻居点接收到DIS开始发送DIO包。
- 收到DIO包的节点更新自身邻居表,并选择合适的节点发送数据包。
- 同时节点会向选中的父节点发送DAO包,告知其是子节点。
- 父节点更新了自身的路由表后,再向父节点的父节点发DAO,最后到达sink点后双向链路最终形成。
有人可能会问,一个点可能会收到很多节点的路由包,它如何选择呢?contiki里面两种仲裁机制:最短路径、etx。在rpl-conf.h第63行可以修改。
转发自:https://blog.csdn.net/China080824/article/details/47171103