In typical 6LoWPAN networks, the registration is normally referred to as the node joining process.
The complete flow is as outlined below.
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:
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?