Internet DRAFT - draft-sood-6man-nd-signalling-n-dad-test
draft-sood-6man-nd-signalling-n-dad-test
6man WG A. Sood
Internet-Draft North Carolina State University
Intended status: Informational March 9, 2015
Expires: September 10, 2015
Test result analysis of IPv6 Neighbor Discovery in a simple Wireless
network
draft-sood-6man-nd-signalling-n-dad-test-00
Abstract
IPv6 WG is looking into various Neighbor Discovery (ND) optimization
techniques. This document describes several test cases and test
results on IPv6 ND number of messages, power usages using simple WiFi
configuration and wireless phones as hosts.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 10, 2015.
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Sood Expires September 10, 2015 [Page 1]
Internet-Draft IPV6-ND March 2015
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. IPv6 Stateless Address Auto-configuration . . . . . . . . . . 3
3. Sleep and Wakeup . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Current Mechanisms in Sleep and Wakeup . . . . . . . . . . 5
3.2. Issues with the current mechanism . . . . . . . . . . . . 5
4. Experimental Setup . . . . . . . . . . . . . . . . . . . . . . 5
5. Test Case Scenarios . . . . . . . . . . . . . . . . . . . . . 7
6. Test Case Results . . . . . . . . . . . . . . . . . . . . . . 8
6.1. IPv6 ND Implementation Behavior . . . . . . . . . . . . . 8
6.2. Number of multicast messages . . . . . . . . . . . . . . . 9
7. Results Analysis . . . . . . . . . . . . . . . . . . . . . . . 12
8. Security Considerations . . . . . . . . . . . . . . . . . . . 12
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
10. Changelog . . . . . . . . . . . . . . . . . . . . . . . . . . 12
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
12.1. Normative References . . . . . . . . . . . . . . . . . . . 12
12.2. Informative References . . . . . . . . . . . . . . . . . . 13
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 14
Sood Expires September 10, 2015 [Page 2]
Internet-Draft IPV6-ND March 2015
1. Introduction
This document presents the test result analysis of several IPv6 ND
test cases in a simple wireless network. Multiple test cases are
performed on two different IPv6 ND implementations to show anomalies
due to different power saving technique implementations on wireless
devices.
IPv6 ND involves link-local discovery and address auto-configuration
using multicast solicitation and advertisement messages. It provides
a number of functionalities using link-local operations and, eases
the configuration task for the administrator [SLAAC]. However, to
increase the efficiency of the battery system, the power consumption
due to the number of multicast messages exchanged in IPv6 ND process
should be kept at minimum as per
[I-D.vyncke-6man-mcast-not-efficient].
Several power saving techniques based on the sleep and wakeup
interval of a device have been proposed. These techniques optimize
the power by scheduling the node between cycles of sleep and wakeup
[SOW]. It is the lack of any standardized technique that the devices
from various manufacturers function differently and, pose challenges
to automated management protocols like IPv6 ND [ND] and Stateless
Address Auto-configuration (SLAAC) [SLAAC].
In this document, we present the test result analysis of different ND
test cases using a simple wireless network.The difference in behavior
comes from the implementation of the power saving techniques. We
further show by analysis the difference in the number of ND messages
exchanged between the devices due to different power saving
techniques.
Section 2 describes the IPv6 SLAAC mechanism. Section 3 describes
the current mechanism in sleep and wake up and the issues associated
with it. Section 4 describes the experimental setup used. Section 5
describes the various test case scenarios and their expected
behavior. Sections 6 presents the test case results regarding IPv6
ND implementation behavior and the number of multicast messages
exchanged in different scenarios.
2. IPv6 Stateless Address Auto-configuration
In IPv6 SLAAC, the host generates a link-local address on system
startup, and global addresses using the IPv6 prefix advertised by the
routers on the same link. The host either listens to multicast
router advertisement (RA) or sends multicast router solicitation (RS)
messages. The link-local address and global IPv6 addresses remain
Sood Expires September 10, 2015 [Page 3]
Internet-Draft IPV6-ND March 2015
tentative unless they are verified to be unique by Duplicate Address
Detection (DAD) algorithm. In DAD, a node checks the uniqueness of
the IPv6 address by sending a neighbor solicitation (NS) message to
the tentative IPv6 address as the destination address. The address
gets assigned to an interface only if no other node responds to the
NS message.
A general sequence of messages exchanged between the IPv6 host and
the router is as shown below.
IPv6 Host IPv6 Router
+ +
| |
| Router Advertisement |
All Nodes |<---------------------------+ Router Link
MC Address | | Local Address
| Router Solicitation |
Node Link +--------------------------->| All Routers
Local Address| | MC Address
| Router Advertisement |
All Nodes |<---------------------------+ Router Link
MC Address | | Local Address
| Multicast Listener Report |
Node Link +--------------------------->| All MLDv2-capable
Local Address| | Routers
| DAD |
+--------------------------->|
Unspecified | | Solicited Node
Address | DAD | MC Address
+--------------------------->|
| |
| |
+ +
Figure 1: Sequence of messages exchanged between IPv6 host and router
3. Sleep and Wakeup
The current increase in mobile services require efficient use of the
battery power. The battery power usually lasts from few hours to few
days. A number of power saving techniques are proposed to make the
protocols energy efficient and thus increase the battery life [CO-PS]
[CO-NODE]. These power saving techniques improve the energy
consumption by optimizing the sleep and wake up pattern of the mobile
host.
Sood Expires September 10, 2015 [Page 4]
Internet-Draft IPV6-ND March 2015
In this section, we present the current mechanisms in IPv6 for
handling sleep and wake up and the issues related to it.
3.1. Current Mechanisms in Sleep and Wakeup
IPv6 ND [ND] does not provide any recommendations for handling sleep
and wake up in mobile hosts. The general mechanism of the neighbor
discovery and address auto-configuration require the destination host
in the listening state. This idea of an "always on" host contrasts
with the techniques used for power saving where the host has cycles
of sleep and wake up time. During the sleep time, few power saving
techniques keep the host listening to the incoming multicast messages
while others completely shuts off all communication and goes to
complete sleep.
[6LOWPAN-ND]suggest optimizations to ND by avoiding multicast
messages except during system bootup or when the routers become
unreachable.
3.2. Issues with the current mechanism
The non-standardization of the power saving techniques pose
challenges to the current mechanisms in sleep and wake up for
automatic IPv6 ND and SLAAC. These protocols function differently
with power saving techniques which lead to serious security issues.
Therefore [EFF-ND] suggest modifications to the legacy IPv6 ND for
handling energy efficiency in a multicast network domain.
Issues in legacy IPv6 ND due to the power saving techniques depend on
the below scenarios:
o Sleep and wake up interval
o Sleep and wake up pattern
o Reachability to the routers on the same link
o Address binding while in sleep mode and after wake up
o Connectivity to other hosts while in sleep mode and after wake up
In the subsequent section, we present various experimental results to
show the deficiencies of the current mechanism for handling sleep and
wake up.
4. Experimental Setup
The experimental setup used is as shown in Figure 2. A Linux machine
running Ubuntu 14.04 LTS is configured as an IPv6 router. IPv6 ND
functionality is provided by the router advertisement daemon (radvd)
in Linux router. Following are the minimal router configuration
related to radvd and interfaces.
Sood Expires September 10, 2015 [Page 5]
Internet-Draft IPV6-ND March 2015
o radvd configuration
interface eth0
{
AdvSendAdvert on;
prefix 2001:db8:5::/64
{
AdvOnLink on;
AdvAutonomous on;
};
};
o Interface configuration
The eth0 interface on the IPv6 router is configured as below.
auto eth0
iface eth0 inet6 static
address 2001:db8:5::1
netmask 64
IPv6 forwarding is enabled in the sysctl.conf by setting
net.ipv6.conf.all.forwarding to 1.
The router connects via its eth0 interface to the WAN port of the
access point (AP). The configuration of the AP is manufacturer
specific and should be done to allow IPv6 traffic to pass through it.
The two IPv6 enabled wireless mobile stations (MS) namely MS A and MS
B, connects to the AP via 802.11 wireless links; and the IPv6 Linux
host connects to the AP via its Ethernet interface.
+------------+
| Router |
+------+-----+
|
+-------+------+
| Access Point |
+-------+------+
|
+------------------------+
| | |
+---+--+ +--+---+ +-----+-----+
| MS A | | MS B | | Linux Host|
+------+ +------+ +-----------+
Figure 2: Experimental Setup
Sood Expires September 10, 2015 [Page 6]
Internet-Draft IPV6-ND March 2015
5. Test Case Scenarios
The various test scenarios along with their expected behavior are
discussed below:
Messages exchanged between the router and the MS on boot up:
When a MS boots up, it either solicits the router using multicast
RS or listens to its multicast RA. The number of IPv6 addresses
configured on the interface depends on the specific IPv6
implementations. The addresses are either global IPv6 privacy
addresses, EUI-64 format addresses or both. The router also sends
Multicast Listener Report messages to discover the presence of
multicast listeners on the attached links [MLDv2].
Address binding when the MS is in sleep state:
The behavior of the MS in this scenario depends on the specific
implementation of the power saving technique. MS either listens
to the incoming messages in partial sleep state or shuts off all
communication and goes to complete sleep.
Address binding when the MS wakes up:
When the MS wakes up, it checks for the uniqueness of the IPv6
address configured on its interfaces. The specific behavior in
this scenario depends on the power saving technique used. If the
MS continuously listens to the incoming multicast messages in
partial sleep state, it still holds the interface IPv6 address.
On the other hand, if the MS goes to complete sleep, it may or may
not hold its configured IPv6 address.
Communication when the MS wakes up:
In this case, two scenarios are possible.
(1) Unique IPv6 address - An IPv6 host has unique IPv6 address in
the network. Therefore, the host receives its intended
communication.
(2) Duplicate IPv6 address - Two or more IPv6 hosts have same IP
address in the network. Communication to these hosts depends
upon the latest neighbor cache entries at the router. The
host corresponding to the latest neighbor cache entry at
router continues to receive the communication.
Number of multicast messages sent in the network
According to [ND], MinRtrAdvInterval is the minimum time allowed
between sending unsolicited multicast RA from the interface, in
seconds, and, MaxRtrAdvInterval is the maximum time allowed
between sending unsolicited multicast RA from the interface, in
seconds.
Sood Expires September 10, 2015 [Page 7]
Internet-Draft IPV6-ND March 2015
In this scenario, we have three different types of observation
based on different values of MinRtrInterval, MaxRtrInterval,
and AdvDefaultLifetime.
6. Test Case Results
In this section, we present the experimental results of
different IPv6 ND implementation behavior. Next we present the
detailed analysis of the number of multicast messages exchanged in
different scenarios.
6.1. IPv6 ND Implementation Behavior
Based on the above test scenarios, below are the observations on the
two IPv6 ND implementations.
Messages exchanged between the router and the MS on boot up:
(1) The number of messages exchanged between the router and the
MS are tabulated below:
+------------------------------+------+------+
| Type Of Message | MS A | MS B |
+------------------------------+------+------+
| Router Solicitation | 1 | 1 |
| Router Advertisement | 1 | 1 |
| Neighbor Solicitation | 3 | 2 |
| Neighbor Advertisement | 0 | 0 |
| Multicast Listener Report | 4 | 2 |
| ---------------------------- | ---- | ---- |
| Total Number of messages | 9 | 6 |
+------------------------------+------+------+
Table 1: Number of multicast messages exchanged during boot
up
(2) MS A on boot up generates two global IPv6 privacy addresses
using the prefix advertised by the router. It also generates
a link-local IPv6 address. MS A performs DAD for all the
three IPv6 addresses.
Sood Expires September 10, 2015 [Page 8]
Internet-Draft IPV6-ND March 2015
(3) MS B on boot up generates two global addresses: an EUI-64
format address and the other as IPv6 privacy address using
the prefix advertised by the router. It also generates a
link-local address. It performs DAD only for the two global
IPv6 addresses.
(4) The difference in the total number of messages is attributed
to the difference in MLDv2 and NS messages. The number of
MLDv2 messages exchanged depends upon the implementation.
Also, MS B does not send NS message to check the uniqueness
of the link local address.
Address binding when the MS is in sleep state:
(1) When MS A goes to sleep, any attempt to assign its global
IPv6 address to the Linux host fails. This is because MS A
keeps listening to the NS message from the Linux host during
the DAD procedure and responds with NA message.
(2) When MS B goes to sleep, any attempt to assign its global
IPv6 address to the Linux host succeeds. While asleep, MS B
shuts off all communication. Any communication to MS B goes
to the Linux host configured with MS B's global IPv6 address.
Address binding when the MS wakes up:
Both MS A and MS B does not perform DAD on wake up.
(1) MS A continuously listens to incoming messages while asleep,
and thus do not need to perform DAD.
(2) MS B too does not check for the uniqueness of its IPv6
address via DAD in spite of coming out of complete sleep
state.
Communication when the MS wakes up:
(1) MS A always keeps listening to incoming messages, so it's
IPv6 address cannot be assigned to any other IPv6 host.
(2) In this scenario, the Linux host is assigned the IPv6 address
of MS B which is in sleep state. All messages destined for
MS B now goes to the Linux host. The Linux host continues to
receive the messages until its entry lasts in the router
neighbor cache. Once the router cache is flushed, either by
manual intervention or by router boot up, the router solicits
the solicited-node multicast address for link-layer address
resolution. Linux host replies before MS B to this RA
message. Since MS B entry is latest in the router cache, it
again becomes the destination for all the messages.
6.2. Number of multicast messages
Below are the observations based on the number of multicast messages
sent in the network.
Sood Expires September 10, 2015 [Page 9]
Internet-Draft IPV6-ND March 2015
Number of multicast RA messages sent in the network
The number of RA messages exchanged between the MS and the router
for a duration of 5, 10, and 15 minutes are tabulated below:
+-------------+------------+------------+-------------+-------------+
| Time | Min/Max | Min/Max | Min/Max | Min/Max |
| Duration | 30/70 | 30/150 | 30/300 | 30/600 |
+-------------+------------+------------+-------------+-------------+
| 5 minutes | 8 | 4 | 4 | 3 |
| 10 minutes | 15 | 6 | 5 | 3 |
| 15 minutes | 18 | 13 | 8 | 4 |
+-------------+------------+------------+-------------+-------------+
Table 2: Number of RA messages exchanged
From the above table, we observe, as the difference between
MinRtrAdvInterval and MaxRtrAdvInterval increases, the number of
RA messages sent in the network reduces.
Total number of multicast messages sent in the network
The number of multicast messages exchanged between the MS and the
router for a duration of 5, 10, and 15 minutes are tabulated below:
+-------------+------------+------------+-------------+-------------+
| Time | Min/Max | Min/Max | Min/Max | Min/Max |
| Duration | 30/70 | 30/150 | 30/300 | 30/600 |
+-------------+------------+------------+-------------+-------------+
| 5 minutes | 14 | 11 | 10 | 8 |
| 10 minutes | 21 | 11 | 12 | 10 |
| 15 minutes | 24 | 20 | 15 | 9 |
+-------------+------------+------------+-------------+-------------+
Table 3: Total number of multicast Messages exchanged
From the above table, we observe, as the difference between
MinRtrAdvInterval and MaxRtrAdvInterval increases, the total
number of messages sent in the network reduces.
Number of RA messages vs AdvDefaultLifetime
In this case, the number of RA messages exchanged between the
MS and the router are observed with respect to AdvDefaultLifetime.
AdvDefaultLifetime defines the lifetime of the router as a default
router, and is measured in seconds.
The number of RA messages is measured with different values of
AdvDefaultLifetime, MinRtrInterval and MaxRtrInterval for a
duration of 5, 10, and 15 minutes and are tabulated below:
Sood Expires September 10, 2015 [Page 10]
Internet-Draft IPV6-ND March 2015
+--------------------+---------+--------------+
| AdvDefaultLifetime | Min/Max | Number of RA |
+--------------------+---------+--------------+
| 150 | 30/50 | 13 |
| 450 | 30/150 | 9 |
| 900 | 30/300 | 11 |
| 1800 | 30/600 | 9 |
| 2700 | 30/900 | 9 |
| 3600 | 30/1200 | 10 |
| 4500 | 30/1500 | 10 |
| 5400 | 30/1800 | 9 |
+--------------------+---------+--------------+
Table 4: Number of RA Messages vs AdvDefaultLifetime (5 minutes)
+--------------------+---------+--------------+
| AdvDefaultLifetime | Min/Max | Number of RA |
+--------------------+---------+--------------+
| 150 | 30/50 | 28 |
| 450 | 30/150 | 20 |
| 900 | 30/300 | 23 |
| 1800 | 30/600 | 21 |
| 2700 | 30/900 | 19 |
| 3600 | 30/1200 | 21 |
| 4500 | 30/1500 | 21 |
| 5400 | 30/1800 | 24 |
+--------------------+---------+--------------+
Table 5: Number of RA Messages vs AdvDefaultLifetime (10 minutes)
+--------------------+---------+--------------+
| AdvDefaultLifetime | Min/Max | Number of RA |
+--------------------+---------+--------------+
| 150 | 30/50 | 41 |
| 450 | 30/150 | 33 |
| 900 | 30/300 | 35 |
| 1800 | 30/600 | 29 |
| 2700 | 30/900 | 34 |
| 3600 | 30/1200 | 33 |
| 4500 | 30/1500 | 32 |
| 5400 | 30/1800 | 34 |
+--------------------+---------+--------------+
Table 6: Number of RA Messages vs AdvDefaultLifetime (15 minutes)
Sood Expires September 10, 2015 [Page 11]
Internet-Draft IPV6-ND March 2015
The frequency of messages depends upon the difference between
MaxRtrAdvInterval and MinRtrAdvInterval. From the above tables,
we observe, almost the same number of RA messages are sent by the
router as for both high and low frequency cases. Only when the
frequency is very high (for example MinRtrAdvInterval = 30 seconds
and MaxRtrAdvInterval = 50 seconds), there is a surge in the
number of RA messages.
7. Results Analysis
From the above test case analysis, we observe that considerable
number of unsolicited RA messages are generated and those can be
minimized. Also, in order to cope with battery power and IPv6 ND
SLAAC behavior, implementations are coming up with independent
solutions which can create serious security and reliability issues
when the traffic of a sleeping host goes to another host configured
with same IPv6 address. We also observe that the number of multicast
messages are different in the two IPv6 ND implementations. These
anomalies depends on vendors IPv6 implementation and the power saving
techniques. In the next step, we target to test [EFF-ND] enhanced
mode approach to observe the realiability and multicast message
exchanges among multiple implementations.
8. Security Considerations
9. IANA Considerations
This memo includes no request to IANA.
10. Changelog
11. Acknowledgements
The author would like to thank Samita Chakrabarti for her valuable
suggestions and insight on this work.
12. References
12.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Sood Expires September 10, 2015 [Page 12]
Internet-Draft IPV6-ND March 2015
[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 2434,
October 1998.
[EFF-ND] Chakrabarti, S., Nordmark, E., Thubert, P., and M.
Wasserman, "IPv6 Neighbor Discovery Optimizations for
Wired and Wireless Networks",
draft-chakrabarti-nordmark-6man-efficient-nd-06 (work in
progress), February 2014.
[6LOWPAN-ND]
Shelby, Z., Chakrabarti, S., Nordmark, E., and C. Bormann,
"ND Optimizations for 6LoWPAN", RFC 6775, November 2012.
[ND] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
"Neighbor Discovery for IP version 6", RFC 4861,
September 2007.
[SLAAC] Narten, T., Thomson, S., and T. Jinmei, "IPv6 Stateless
Address Autoconfiguration", RFC 4862, September 2007.
[SOW] Tschofenig, H. and J. Arkko, "Report from the Smart Object
Workshop", RFC 6574 , April 2012.
12.2. Informative References
[IPV6] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6), Specification", RFC 2460, December 1998.
[I-D.vyncke-6man-mcast-not-efficient]
Vyncke, E., Thubert, P., Levy-Abegnoli, E., and A.
Yourtchenko, "Why Network-Layer Multicast is Not Always
Efficient At Datalink Layer",
draft-vyncke-6man-mcast-not-efficient-01 (work in
progress), February 2014.
[CO-PS] Cao, Z., Gomez, C., Kovatsch, M., Tian, H., and X. He,
"Energy Efficient Implementation of IETF Constrained
Protocol Suite", draft-ietf-lwig-energy-efficient-01 (work
in progress), October 2014.
[CO-NODE] Bormann, C., Ersue, M., and A. Keranen, "Terminology for
Constrained-Node Networks", RFC 7228, May 2014.
[MLDv2] Vida, R. and L. Costa Eds, "Multicast Listener Discovery
Version 2 (MLDv2) for IPv6", RFC 3810, June 2004.
Sood Expires September 10, 2015 [Page 13]
Internet-Draft IPV6-ND March 2015
Author's Address
Ankur Sood
North Carolina State University
Raleigh, NC
USA
Email: asood2@ncsu.edu
Sood Expires September 10, 2015 [Page 14]