Node Joining Process in 6LoWPAN - ND, RPL

简介: https://ez.analog.com/docs/DOC-12488 In typical 6LoWPAN networks, the registration is normally referred to as the node joining process.

https://ez.analog.com/docs/DOC-12488

In typical 6LoWPAN networks, the registration is normally referred to as the node joining process.


The complete flow is as outlined below.

join_message_flow diagram_FAQ_21.png

The first step in the network registration is Neighbor Discovery (ND). This helps the node to determine the neighbors in the vicinity and to select the best parent available. The node will first transmit a RS (Router Solicitation) packet as a multicast to all the routers. On receiving the RS packet all the routers respond back with a RA (Router Advertisement) as a unicast to the node.

 

The RA packet will contain the following information:

  • Prefix Information (PIO) : The prefix of the IPv6 address
  • Context Option (CO) : The compression technique to be used.
  • Authoritative Border Router Option (ABRO): Border Router address

 refer to IETF RFC 6775: Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)


Upon receiving the RA, the node selects a router as its default router (based on first received RA) and derives the global IPv6 address based on the prefix option. The node then sends a Neighbor Solicitation (NS) as a unicast message to its default router. The NS will contain the Address Registration Option (ARO). This option will tell the router that the node is directly reachable and also the link layer address of the node.


The router will make an entry of the node in its Neighbor Cache and respond with a Neighbor Advertisement (NA) with the status of address registration. The following are the status of Address Registration that a Router can respond with:

 

0 -  Success

1 -  Duplicate Address

2 -  Neighbor Cache Full


The Node will send the ARO with a lifetime and will repeat the NUD (Neighbor Unreachability Detection) by sending periodic NS messages to its default router at regular intervals.


On receiving the Neighbor Advertisement (NA), the Neighbor Detection (ND) is complete and the node will have the address of the default router in its Neighbor Cache. Similarly the default router of the Node will have the Node’s address in its neighbor cache.


Upon completion of Neighbor Discovery, RPL is initialized and the network registration process will begin. The Node will now send a DODAG Information Solicitation (DIS) in response to which the router transmits a DODAG Information Object (DIO). The DIO contains the rank, metrics and PIO. The routers will keep broadcasting their DIOs in regular interval following a trickle timer. If a DIO is received from a router with better rank than the default router, the node re-registers itself with the new router (by sending NS). Once the DIO is received the upward path (to reach the border router) is established. In case of the AD6LoWPAN, the rank depends on the orbit of the Router.


The Node will now send a Destination Advertisement Object (DAO) to its default router to be forwarded to the Border Router (BR). The RPL uses Destination Advertisement Object (DAO) messages to establish Downward route to reach the Node.


On receiving the DAO, the border router responds with a DAO ACK. This packet is forwarded to the node from its parent. Subsequent to the node receiving the DAO ACK, it is considered that the network registration is completed.

 

This FAQ was generated from the following discussion: How does a 6LoWPAN device register to network?


目录
相关文章
|
7月前
node子进程(Child Process)获取硬盘分区
node子进程(Child Process)获取硬盘分区
32 0
|
11月前
|
JavaScript 前端开发 API
Node【Global全局对象】之【Process】
Node【Global全局对象】之【Process】
64 0
|
12月前
|
负载均衡 JavaScript 算法
Node.js入门之process模块、child_process模块、cluster模块
本文主要介绍node中跟进程相关的三个模块。process是node的全局模块,作用比较直观。可以通过它来获得node进程相关的信息,child_process主要用来创建子进程,可以有效解决node单线程效率不高的问题。cluster是node的集群模块,提供了开箱即用的进程创建功能。
346 0
node笔记记录37process之2
node笔记记录37process之2
42 0
node笔记记录37process之2
node笔记记录36process之1
node笔记记录36process之1
42 0
node笔记记录36process之1
|
JavaScript Unix 开发者
node环境中设置process环境变量
node环境中设置process环境变量
|
JavaScript Shell Linux
node.js入门 - 12.api:进程(process)
  虽然node对操作系统做了很多抽象的工作,但是你还是可以直接和他交互,比如和系统中已经存在的进程进行交互,创建工作子进程。node是一个用于事件循环的线程,但是你可以在这个事件循环之外创建其他的进程(线程)参与工作。
889 0
|
2月前
|
Web App开发 缓存 JavaScript
【安装指南】nodejs下载、安装与配置详细教程
这篇博文详细介绍了 Node.js 的下载、安装与配置过程,为初学者提供了清晰的指南。读者通过该教程可以轻松完成 Node.js 的安装,了解相关配置和基本操作。文章首先介绍了 Node.js 的背景和应用场景,随后详细说明了下载安装包、安装步骤以及配置环境变量的方法。作者用简洁明了的语言,配以步骤图示,使得读者能够轻松跟随教程完成操作。总的来说,这篇文章为初学者提供了一个友好的入门指南,使他们能够顺利开始使用 Node.js 进行开发。
179 1
【安装指南】nodejs下载、安装与配置详细教程