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?


目录
相关文章
|
3月前
|
JavaScript 前端开发
nodejs process进程
nodejs process进程
31 0
|
5月前
|
运维 JavaScript Devops
阿里云云效操作报错合集之node.js构建时,报错:The build failed because the process exited too early.该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
6月前
|
JavaScript Unix API
Nodejs 第十四章(process)
Nodejs 第十四章(process)
61 0
node子进程(Child Process)获取硬盘分区
node子进程(Child Process)获取硬盘分区
61 0
|
JavaScript 前端开发 API
Node【Global全局对象】之【Process】
Node【Global全局对象】之【Process】
113 0
|
负载均衡 JavaScript 算法
Node.js入门之process模块、child_process模块、cluster模块
本文主要介绍node中跟进程相关的三个模块。process是node的全局模块,作用比较直观。可以通过它来获得node进程相关的信息,child_process主要用来创建子进程,可以有效解决node单线程效率不高的问题。cluster是node的集群模块,提供了开箱即用的进程创建功能。
425 0
node笔记记录37process之2
node笔记记录37process之2
57 0
node笔记记录37process之2
node笔记记录36process之1
node笔记记录36process之1
51 0
node笔记记录36process之1
|
JavaScript Unix 开发者
node环境中设置process环境变量
node环境中设置process环境变量
|
JavaScript 网络协议 Shell
在nodejs中创建child process
在nodejs中创建child process