Advanced

Analysis of IPv6 Neighbor Discovery for Mobile and Wireless Networks

John, Jeena Rachel LU and Vigneswaran, Hariharasudhan LU (2015) In Series of Master Thesis EITM02 20151
Department of Electrical and Information Technology
Abstract
The majority of the current 3GPP and M2M networks use or will use IPv6 for accessing the internet. These IPv6 networks use Neighbor Discovery as defined in RFC 4861 to identify their neighbors on the link and see if they are active. The increase in the complexity of wireless networks and introduction of battery operated devices sets forth notable challenges to certain assumptions in the RFC 4861. The RFC 4861 is more suited for wired networks and its implementation in wireless networks makes it more inefficient.

This thesis work focuses on the energy efficient implementation of RFC 4861 using the protocols mentioned in draft-chakrabarti-nordmark-6man-efficient-nd-06. The draft suggests a method of registering all the nodes in the... (More)
The majority of the current 3GPP and M2M networks use or will use IPv6 for accessing the internet. These IPv6 networks use Neighbor Discovery as defined in RFC 4861 to identify their neighbors on the link and see if they are active. The increase in the complexity of wireless networks and introduction of battery operated devices sets forth notable challenges to certain assumptions in the RFC 4861. The RFC 4861 is more suited for wired networks and its implementation in wireless networks makes it more inefficient.

This thesis work focuses on the energy efficient implementation of RFC 4861 using the protocols mentioned in draft-chakrabarti-nordmark-6man-efficient-nd-06. The draft suggests a method of registering all the nodes in the network to their default router, so that the router takes care of all the basic neighbor discovery functionalities without disturbing the battery operated devices which are in sleepy mode. Alongside the legacy Neighbor Discovery, the optimizations proposed by the draft are implemented, on a RADVD based router and an Ubuntu host, to reduce redundant multicast signaling in mobile networks. These optimizations are theoretically analyzed to check if the draft is beneficial for the scalability and transient nature of the wireless networks. (Less)
Popular Abstract
Popular Science Report
With the rise of Internet of Things (IoT) and Machine to Machine communication (M2M) based networks, more and more wireless devices are communicating to each other and hence there is a need for IPv6 (Internet Protocol version 6) addressing. This new type of addressing forces us to make some design changes in the existing protocols.

Wireless devices are mostly mobile, battery operated (hence a power constraint exists) and can undergo several disconnections and reconnections while moving inside the network, whereas wired devices are less prone to network instabilities and almost always connected to a power source. Because of these differences, the protocols of wired devices are not always suitable for wireless... (More)
Popular Science Report
With the rise of Internet of Things (IoT) and Machine to Machine communication (M2M) based networks, more and more wireless devices are communicating to each other and hence there is a need for IPv6 (Internet Protocol version 6) addressing. This new type of addressing forces us to make some design changes in the existing protocols.

Wireless devices are mostly mobile, battery operated (hence a power constraint exists) and can undergo several disconnections and reconnections while moving inside the network, whereas wired devices are less prone to network instabilities and almost always connected to a power source. Because of these differences, the protocols of wired devices are not always suitable for wireless networks. Still today’s wireless devices often use protocols that were designed for wired devices and tend to be inefficient. This thesis work deals with one such protocol called Internet Control Message Protocol (ICMP), which is widely used to send control messages across the network between different nodes.

Neighbor Discovery Protocol (NDP) is a part of ICMPv6 that helps a node in the network identify its Neighbors on the other side of the link. Present generation wireless devices use the protocols defined in RFC 4861 (a common reference used by major communication companies while creating products) for Neighbor discovery. But this protocol proves to be inefficient by flooding the network with unwanted multicast control messages. Hence we analyze a modified version of the existing NDP against the legacy protocol.

RFC 4861 based ‘legacy NDP’ works based on multicasting. Every IPv6 host is a part of several solicited node multicast groups. All nodes with the same last 24 IPv6 address bits belong to the same solicited node multicast group. NDP is also performed based on 4 major control message packets namely, Router Solicitation (RS), Router Advertisement (RA), Neighbor Solicitation (NS) and Neighbor Advertisement (NA). RA is the packet from the router which contains all the information about the network and the router. It is flooded periodically through an all node multicast group to all IPv6 nodes.

When a node wants a particular router to send some information about the network immediately without waiting for periodic RAs, it sends an RS. Neighbor Advertisement is used by a node to send information about itself to other nodes in the network. Neighbor Solicitation, as name suggests, is used by a particular node to request for information about another node.

Consider the case of a network with a host and a router, and a new node enters the network. It sends out RS to the all routers multicast group, and the router responds with an RA. The new host reads the information about the network and begins address configuration. Stateless Address Auto Configuration (SLAAC) is the most suitable method of address configuration for M2M networks. Hence according to SLAAC, the new host chooses an IP address and checks if the address has already been used by some other host. This process is called as Duplicate Address Detection (DAD) and is carried out by sending out NS for that chosen IP address at the solicited node multicast group address. This means that the new host asks information about a node with that IP address, which may or may not exist at all. If a reply comes, it means that there is a node using this address. If a reply does not come, then it is free to choose the address. The response NA in case of a duplicate address, will be broadcast to all IPv6 nodes. A NS-NA pair is also used to resolve each other’s IP addresses against their MAC addresses.

One of the major reasons why this method seems to be inefficient is that current wireless devices are programmed to be in sleep modes when not in use. The flow of control messages to unrelated nodes (because of multicast) will only lead to disrupted sleep. Consider a host A in the network which is in sleep mode, and has an IP address aaaa::aaaa:aaaa:a. When a new host arrives and wants to register itself with an address of aaaa::baaa:aaaa:a, it sends out NS to the multicast group of A (because A has the same last 24 bits). When a packet reaches A, it wakes up from sleep mode, reads the message and identifies that this message was not destined to it. If there was another host in the group which used the same IP address, then host A will also receive another NA, which again is not of any use. Hence this protocol proves to be inefficient.

The new proposed protocol works with an efficient implementation of the NDP. It introduces a concept of registering a host with a router. And the router sends out NS and NA instead of the host. Hence each router’s NCE will be the source of information for those hosts which are registered to that router. If a node will request for details about another host, the details will either be fetched from that router’s NCE or the NS will be forwarded to that particular host instead of being multicast. The router to whom the destination host is registered will then send NAs on behalf of its host. Hence in this protocol, the router performs more work and the host less, allowing the host to stay in sleep modes without any problems.

The analysis of the two protocols begins with their implementation. We decided to test the working of the two protocols at two specific case scenarios: when several hosts join the network and when the channel links are unsteady. Both protocols were implemented and compared. The implementation of the legacy NDP began with a router and a host system. We used an Ubuntu PC (which generally works as a host) as a router. RADVD is an open source software that helps to generate RAs and Wireshark the software used to analyze packets in the network. To make a host work as a router, the following changes were made:

1. Turn on forwarding in the PC
2. Configure the router with a static IP address
3. Configure the interfaces and add corresponding routing information
4. Install RADVD and include all the network parameters in the config file
5. Turn on Wireshark
6. Turn on RADVD

Once all these steps are done in order, the RADVD sends out periodic RAs that can be viewed on the Wireshark. When the host is connected to the network, the entire process of address configuration and DAD can be identified. When pinged, the address resolution process can also be verified.
To implement the new protocol, we downloaded the source code of the open source RADVD from GitHub and change the packet formats of the RA, NS and NA.

When the router works as a NEAR (Neighbor Discovery Efficiency Aware Router), the host has to understand that it should not use legacy NDP anymore and must act as an Efficiency Aware host (EAH). This information comes with the RA in the form of a flag. When this is done, the host sends an NS in the form of registration request. The details of the host go in the Address Resolution Option (ARO) of the NS. The router responds with an NA which is the acknowledgement for the registration request. Now the host can enter into sleep mode and the router will send control packets to it only when required. When the registration expires, a new registration process has to be setup or a de-registration process has to happen by setting the ARO option in the NS to 0.

To implement the changes in the host side, we downloaded the source code for Linux from GitHub and led the decoder side. The process ends by making all the necessary code changes, recompiling a new Kernel and installing the new version of Linux on the hosts. However, the complete reprogramming of the kernel is not handled in this thesis work. But the entire plan for the programming and the rest of the implementation is included in this report. The theoretical analysis of the protocols is also included in this report.

This report concludes with a general analysis of the whole protocol. The whole protocol which was completely decentralized has a certain degree of centralized control now. As with all systems, centralization introduces better control but there is always a problem of device failure which can completely collapse the system. The protocol also provides solutions for router failure and recovery and hence the system is a good compromise between centralized and decentralized systems.

If properly implemented, there will be an increase in the network efficiency (inversely proportional to the number of control packets for every single data point). This thesis ends with the theoretical analysis. A proper implementation followed by a practical analysis would be a natural future amendment to the project (Less)
Please use this url to cite or link to this publication:
author
John, Jeena Rachel LU and Vigneswaran, Hariharasudhan LU
supervisor
organization
course
EITM02 20151
year
type
H2 - Master's Degree (Two Years)
subject
keywords
Linux, Radvd, NDP, IPv6, 802.11, Wireshark, Virtual Box, DAD, NEAR
publication/series
Series of Master Thesis
report number
LU/LTH-EIT 2015-473
language
English
additional info
This thesis work was performed by Hariharasudhan Vigneswaran and Jeena Rachel John. The initial parts of the project were worked upon together by both the member of the team. This includes literature survey of a few internet drafts and the RFC 4861, implementation of the legacy NDP and planning for the documentation. The second half of the thesis was forked into two. The implementation of the efficient ND as per the draft was performed by Hari which includes the implementation plan and procedure for the modified protocol. The theoretical analysis of the draft was performed by Jeena which gives a clear idea of the empirical results of legacy NDP for a basic wireless network and a theoretical evaluation of these results for the draft NDP.
id
8229528
date added to LUP
2015-11-26 14:06:11
date last changed
2015-11-26 14:06:11
@misc{8229528,
  abstract     = {The majority of the current 3GPP and M2M networks use or will use IPv6 for accessing the internet. These IPv6 networks use Neighbor Discovery as defined in RFC 4861 to identify their neighbors on the link and see if they are active. The increase in the complexity of wireless networks and introduction of battery operated devices sets forth notable challenges to certain assumptions in the RFC 4861. The RFC 4861 is more suited for wired networks and its implementation in wireless networks makes it more inefficient.

This thesis work focuses on the energy efficient implementation of RFC 4861 using the protocols mentioned in draft-chakrabarti-nordmark-6man-efficient-nd-06. The draft suggests a method of registering all the nodes in the network to their default router, so that the router takes care of all the basic neighbor discovery functionalities without disturbing the battery operated devices which are in sleepy mode. Alongside the legacy Neighbor Discovery, the optimizations proposed by the draft are implemented, on a RADVD based router and an Ubuntu host, to reduce redundant multicast signaling in mobile networks. These optimizations are theoretically analyzed to check if the draft is beneficial for the scalability and transient nature of the wireless networks.},
  author       = {John, Jeena Rachel and Vigneswaran, Hariharasudhan},
  keyword      = {Linux,Radvd,NDP,IPv6,802.11,Wireshark,Virtual Box,DAD,NEAR},
  language     = {eng},
  note         = {Student Paper},
  series       = {Series of Master Thesis},
  title        = {Analysis of IPv6 Neighbor Discovery for Mobile and Wireless Networks},
  year         = {2015},
}