由于TCP/IP协议不适用于资源受限的嵌入式设备,IEFT提出了6lowpan协议栈,6lowpan框架如下:

图1

正如实现Zigbee协议的协议栈有z-stack、ember、Freakz一样,目前支持6lowpan的协议栈有Contiki、Tinyos。这里我们主要介绍Contiki系统。

Contiki系统内部集成了两种类型的网络协议栈:uIP和Rime。

Rime是一个独立、轻量级、专为LLN设计的协议栈,Rime本身提供了大量原语,能够实现单播、多播到复杂的多跳数据通信,Rime是一个完整的协议栈,就像Atmel LWMesh一样的小协议栈。在Rime中没有IP架构和协议的概念,所以,它既不基于IPv4,也不基于IPv6。实际中几乎没人使用Rime,因为使用Rime协议进行通信,就失去了Contiki设计的初衷了。

uIP是一个符合RFC规范的标准TCP/IP协议栈(和LWip类似),使得Contiki可以直接和Internet通信。uIP包括了IPv4和IPv6两个版本(注意,uIP是在sicalowpan的支持下实现IPv6的),支持TCP、UDP等协议,但在编译时只能选择其一,不可同时使用。

RPL是基于IPv6的多跳路由协议,使用了ICMPv6消息。Contiki中uIP和RPL的关系如下:

图2

uIP中已经实现了TCP通信,只是TCP和UDP相比,前者不适用WSN,所以一般情况下都是使用UDP通信。此外,RPL是基于IPv6实现的多跳路由,所以,IPv4时不能使用RPL协议。IPv4时可以调用uaodv实现多跳。下面是我认为的Contiki系统的完整框架:

图3

Contiki中的uaodv和Zigbee网络层中的AODV是不一样的。AODV的规范标准是RFC3561,该标准时针对IPv4。Zigbee网络层使用是修改后的AODV,不是完整的AODV标准因为RFC3561规定“AODV需要使用UDP来维护路由”,Zigbee网络做不到这一点,所以需要修改。但在Contiki系统中,uaodv借助uIP实现了标准的RFC3561,也就说,Contiki系统中应用的是标准规范的AODV协议。

对照图3和图1,你会发现,Contiki不但实现了6lowpan协议,而且要复杂的多,这主要是考虑到了实际的应用。关于Contiki系统框架,还有很多内容在本篇内容中没有涉及,比如MAC层又有NullMAC、什么MAC的。剩下的留在以后再说。

Contiki 系统框架相关推荐

  1. contiki makefile框架分析 contiki学习之一

    在linux下的工程编译,基本都可以使用makefile这个工具来完成.Contiki OS亦如此,下面分析contiki整个Makefile的框架,对makefile的具体内容暂不做分析.本文依赖于 ...

  2. 跨链(8)跨链双雄Cosmos“系统框架”

    1. 系统框架 Cosmos是tendermint团队推出的一个支持跨链交互的异构网络, 一个分布式的独立并行区块链公链. 1.1 核心模块 tendermint core 简称tendermint, ...

  3. 跨链(6)波卡Polkadot “系统框架”

    1. 系统框架 Polkadot是一种集成平行链和中继链的多层多链架构. 多层中继链 多个平行链 1.1 三种链角色 中继链(Relay chain) 主要通信枢纽,提供统一的共识和安全保障 平行链( ...

  4. usb 系统消息_4. Autoware 系统框架概揽

    Autoware 系统架构如下图所示,非常的简洁和清晰.包括传感(sensing),计算(computering)和执行(aucuation)三个部分.在计算部分,包括感知(perception),决 ...

  5. rola物联网框架_如何搭建一个物联网系统框架?

    下面将谈到几个关键问题: 设备如何接入网络? 设备间如何通信? 物联网数据的用途? 如何搭建起一个物联网系统框架呢?它的技术架构又是怎么样呢? 物联网终端软件系统架构? 物联网云平台系统架构? 1.物 ...

  6. android系统框架()

    Android系统框架介绍:   1.大体框架: -src目录: 主要是完成java代码的编写 -assets目录: 资源目录 -res目录: 存储图片,布局文件和字符串,菜单等文件 -bin目录: ...

  7. 基于EasyDarwin流媒体云平台的智能视频监控系统框架

    基于EasyDarwin流媒体云平台的智能视频监控系统框架 EasyDarwin云平台作为国内较有影响力的开源流媒体平台,集流媒体分发,录像,信令交互为一体,目前已经被广泛应用到监控互联网各个领域:从 ...

  8. IOT(5)---物联网系统框架介绍

    转载: https://blog.csdn.net/robert_tin 物联网系统框架介绍 下面将谈到几个关键问题: 设备如何接入网络? 设备间如何通信? 物联网数据的用途? 如何搭建起一个物联网系 ...

  9. Java电商秒杀系统性能优化(一)——电商秒杀系统框架回顾

    电商秒杀系统框架回顾 项目简介 外部依赖 框架回顾 项目要点 项目中存在的问题 小结 课程是免费的,课程地址如下:SpringBoot搭建电商秒杀项目,课程真的很棒,作者的思路很清晰,建议各位读者可以 ...

最新文章

  1. 上海沙龙 - 接口测试自动化经验分享
  2. net.sz.framework 框架 登录服务器架构 单服2 万 TPS(QPS)
  3. 内核模块相关命令:lsmod,depmod,modprob,modinfo,insmod,rmmod
  4. 微软面试题 单向链表找环
  5. UA MATH566 统计理论7 另一个例子:二项检验
  6. java运行安全_Java运行时环境
  7. 【物联网】 AR9344开发环境的搭建和编译固件
  8. leetcode1282. 用户分组(贪心算法)
  9. python中表示空类型的是_python中怎么表示空值
  10. 2021-2025年中国超本地服务行业市场供需与战略研究报告
  11. 最新 Python 爬虫利器!
  12. 计算机安装软件没有管理员权限设置,实用技巧:如何在win10中安装没有管理员权限的软件...
  13. 宏定义的大括号以及斜杠
  14. Python爬取必应壁纸
  15. python统计三国演义中人物出现的频次
  16. fm24c16c语言程序,铁电存储器FM24C16的页面写和任意字节读汇编程序
  17. sqlserver插入数据时如何忽略主键重复的数据
  18. ubuntu 装在ssd_如何在Ubuntu中调整SSD以提高性能
  19. ASP+Access的安全隐患及对策(转)
  20. Windows Phone开发中,减小(改变)Pivot控件PivotItem的Header(标题)字号

热门文章

  1. HDU4745 Two Rabbits(区间dp)
  2. pytorch中的register_parameter()和parameter()
  3. 顶尖学者介绍 | 抑郁领域研究Top1-5的大牛们都是谁?快来看!
  4. 智能工厂建设整体解决方案
  5. 由LG 的G2手机浅析国产旗舰机的方向
  6. 日本語を勉強するのは、楽しいです。
  7. Ubuntu虚拟机重启发现用时过长 stop job is running for Unattended Upgrades Shutdown (10s / 30 min)
  8. 微信小程序调用python分析图片_小帅丶干货之图像识别在微信小程序展示
  9. Android NDK jni开发,适当的给Android 代码加密
  10. 桌面我的额计算机丢了,电脑中毒后,桌面上的文件都不见了怎么办?