请选择 进入手机版 | 继续访问电脑版
查看: 848|回复: 0

[技术交流] 【WI-SUN】节点入网流程解析二

[复制链接]

42

主题

73

帖子

491

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
491
发表于 2020-4-18 13:53:15 | 显示全部楼层 |阅读模式
上回书说到,Node经过PA帧交互、身份认证、PC帧交互等一些列操作,终于成为了心仪的PAN中的一员。那么作为一个PAN的中的新人,他怎么找准自己的定位,找到自己与大BOSS- Board Router的联络途径呢?答案即将揭晓……
首先介绍一下WI-SUN的使用的网络架构为RPL(the IP routing protocol designed for low power and lossy networks),这是一种基于IP技术的低功耗无线局域网,结合了IEEE802.15.4和IPv6协议。
要组建一个RPL网络,需要3种RPL控制消息,它们是一种ICMPv6消息类型,下面介绍下这三种消息:
DIO(DODAG Information Object):包含节点自身信息,比如RANK、MAC地址什么,邻居只有收到了DIO以后才确定是否能选择它为父节点。
DAO(Destination Advertisement Object):这个包是为了数据下传用的,子节点传给父节点报告其距离等消息。
DIS(DODAG Information Solicitation):征集DIO包用的。
整个网络的建立大概流程为:
父节点发送DIO信息——>新节点收到多个DIO信息后选择其中一个作为自己父节点——>新节点向选定的父节点回复DAO信息——>父节点将DAO信息一直向上传递到Board Router。
通过DIO和DAO两个消息建立上行和下行路由。
下面详细介绍下这个过程:
步骤1:新节点发送DIS信息请求周围邻居节点发DIO消息。
步骤2:周围邻居节点收到DIS信息后,调整自己的Trickle定时器,以最快的速率开始发送DIO信息,DIO信息中就包含节点自身信息,比如RANK、MAC地址等。
步骤3:新节点收到一个或多个DIO信息,从这些DIO信息中选择最优的一个,当做自己的父节点。到此这个新节点的上行路由就确定了。以后它有任何需要发给Board Router的信息都先发给我它选定的这个父节点,由这个父节点帮忙向上传输。
上行路由确认了,这时新节点可以向上传输数据,但是Board Router 并不能找到这个新节点,不能主动跟这个新节点发数据,所以还需要建立下行的路由。
步骤4:新节点在选定自己的父节点后,会向这个父节点发送一个DAO消息,告诉父节点自己与它的距离等消息,父节点收到后会把这个DAO消息加上自己的信息,再发送给父节点的父节点,一直向上传输到Board Router,最终Board Router收到DAO消息后就能从中获取到这个新节点的路由信息了。至此下行路由也就确定了。
需要注意的是,WI-SUN的规范中采用RPL的非储存模式,所以所有的中继节点都是不会保存自己下面子节点的信息的,所以下行路由的信息都保存在Board Router中,意味着每次下行的数据,在数据包包头中就包含了这个数据的路径信息,所有中继节点都按照这个路径信息的指示向下一跳转发数据。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表