Internet DRAFT - draft-thubert-savi-ra-throttler
draft-thubert-savi-ra-throttler
SAVI P. Thubert, Ed.
Internet-Draft Cisco Systems
Intended status: Standards Track June 4, 2012
Expires: December 6, 2012
Throttling RAs on constrained interfaces
draft-thubert-savi-ra-throttler-01
Abstract
In a large switched topology with either many routers or routers that
transmit a high rate of multicast advertisements per router, as
suggested to support mobile nodes, the cost of distributing the many
resulting multicast messages to certain classes of devices might be
prohibitive. This is the case of a device that runs on batteries, or
a device that is reachable over a wireless interface. For this
device, it can be beneficial to filter a certain amount of multicast
messages such as the Router Advertisement while preserving the
functionality expected in the IPv6 Neighbor Discovery Protocol.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in RFC
2119 [RFC2119].
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 December 6, 2012.
Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the
Thubert Expires December 6, 2012 [Page 1]
Internet-Draft ra-throttler June 2012
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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Problem statement . . . . . . . . . . . . . . . . . . . . . . 5
3.1. Routers behavior . . . . . . . . . . . . . . . . . . . . . 5
3.2. Wireless Mobility domain . . . . . . . . . . . . . . . . . 5
4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. Throttling scope and period . . . . . . . . . . . . . . . 7
4.2. Pending Hosts List . . . . . . . . . . . . . . . . . . . . 7
4.3. Advertising Routers List . . . . . . . . . . . . . . . . . 8
4.4. RA with an Advertisement Interval Option . . . . . . . . . 8
4.5. Final RA . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.6. Throttling Policy . . . . . . . . . . . . . . . . . . . . 10
5. Manageability . . . . . . . . . . . . . . . . . . . . . . . . 11
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
7. Security Considerations . . . . . . . . . . . . . . . . . . . 11
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
9.1. Normative References . . . . . . . . . . . . . . . . . . . 11
9.2. Informative References . . . . . . . . . . . . . . . . . . 11
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 12
Thubert Expires December 6, 2012 [Page 2]
Internet-Draft ra-throttler June 2012
1. Introduction
The protection of the network is not necessarily a security function
such as the defense against a specific attack. It might also have to
do with other activities that include the control of multicast
storms, as provided to some extent by Multicast Listener Discovery
(MLD) Snooping [RFC4541], or of the overuse of the network that might
degrade the service for all users as provided for instance by Call
Admission Control [RFC5865].
In particular, the wireless edge of a large Layer 2 topology will
require some special protections to conserve the limited bandwidth
that is available over the radio medium, such protections certainly
involving the reduction of multicast operations.
MLD Snooping helps control the impact of multicast messages but:
It does not apply to the all-nodes link-scoped multicast address
(FF02::1) as defined in the IP Version 6 Addressing Architecture
[RFC4291].
MLD snooping is generally not implemented for link scope multicast
messages anyway.
If MLD snooping runs in instance as opposed to the Access Point
(AP) and if there is at least one listener associated to the AP
then the AP will still get the multicast and transmit it to all
the devices that are associated to the AP.
MLD snooping has the granularity of a group as opposed to a
binding table that has the granularity of a target - a host.
This document focusses on the protection against an excessive
bandwidth consumption by multicast IPv6 Neighbor Discovery (ND)
[RFC4861] Protocol (NDP) Router Advertisement (RA) messages over the
wireless edge of a switched network.
RA messages are link-scoped messages that provide the recipient node
with link information such as availability and characteristics of
routers that are present on the link and a list of prefixes that are
usable for IPv6 NDP Stateless Address Autoconfiguration (SLAAC)
[RFC4862].
RA messages coming from different routers may carry different
information, including information about the router itself, but also
different prefix lists and other information such as the period of
transmission [RFC6275].
Thubert Expires December 6, 2012 [Page 3]
Internet-Draft ra-throttler June 2012
In a number of cases, the fact that a node misses an RA does not
impact the node operation in a notable fashion, either because the
information is fully redundant with information that the node already
has (e.g. multiple RAs of a same content from a same router in rapid
sequence) or because the information is not critical to the node
(e.g. yet another router that is not preferable as default gateway).
In other cases, the loss of an RA is eventually recovered, but the
node will not operate optimally in the meantime and such a loss
should be avoided.
This document studies situations when an Ethernet Switch, an IEEE
802.11 Access Point, or a Control And Provisioning of Wireless Access
Points (CAPWAP) Access Controller (AC) [RFC5415] can, with no notable
effect, make the decision not to copy an RA message onto a port or a
set of ports, typically one or more ports that connect to an IEEE
802.11 wireless domain, the consequences of doing so and the eventual
recovery. In the remainder of this document, the term throttling
will refer to the decision not to copy a message over such ports, and
the layer 2 device in charge of making that decision will simply be
referred to as switch, whether it is a classical Ethernet switch or
any one of the sorts of devices listed above.
2. Terminology
The draft uses the following terminology:
Switch: A layer 2 device that distributes packets over one or more
ports. This broad definition includes but is not limited to
Ethernet and IEEE802.3 switches, CAPWAP Access Controllers and
IEEE 802.11 Access Points.
Throttling: The decision not to copy a given multicast message onto
a given port or a set of ports after the determination that the RA
would be redundant for most hosts across the port(s). A multicast
packet that is throttled over a given port might still be copied
for unicast delivery to selected hosts on a that port if it is
determined that they will benefit from receiving the RA. The
packet might still be passed on to other ports such as trunk
ports, for further switching along a VLAN for instance.
Throttled port: A port on the switch where throttling is active.
The port might be an access port that is directly connected to a
host, but it might also be a multipoint port, for instance if it
is connected to another switch such as an Access Point.
Thubert Expires December 6, 2012 [Page 4]
Internet-Draft ra-throttler June 2012
3. Problem statement
3.1. Routers behavior
Assuming that the solicitor's source address is not the unspecified
address, a router may choose to respond to an ND Router solicitation
(RS) with a unicast RA message directly to the soliciting host's
address. But it is common that the router aggregates multiple
requests and sends a single multicast response to the all-nodes
group. This RA is received by all the nodes on link, though a host
that did not issue an RS is probably not very interested in receiving
the solicited RA response message. Yet, in a wireless environment, a
host will usually issue an RS each time it reassociates, which can be
quite often if the host is as mobile as a smartphone.
A traditional (wireline) router will typically not rate limit its RA
emissions based on consistent RA messages received from other
routers, though such a behavior is required in the Routing Protocol
for Low Power and Lossy Networks (RPL) [I-D.ietf-roll-rpl] that is
specifically designed for constrained environments such as wireless
mesh networks. As a result, the number of RAs on a switched topology
increase roughly linearly with the number of deployed routers.
As it goes, the whole RA operation denotes an implicit expectation
that the cost for a multicast operation is not substantially
different from that of a unicast transmission and that the cost is
roughly similar on all segments of the link. Sadly, this is not true
in the case of a composite network with a switched Ethernet backbone
and an IEEE 802.11 Extended Service Set (ESS) wireless edge. The
situation is even worse if the edge is a mesh network, e.g. an IEEE
802.11S or a Low Power Lossy Network as described in
[I-D.phinney-roll-rpl-industrial-applicability] and
[I-D.thubert-lowpan-backbone-router]. In any case, a rate of RAs
that might appear acceptable on the backbone can rapidly become
excessive on the wireless edge.
3.2. Wireless Mobility domain
A number of (layer 3) Network-Based Localized Mobility Management
(NetLMM) techniques have been deployed that enable IP mobility
transparently to the host, that is without requiring the active
participation of the host in any mobility-related signaling. This is
achieved by hiding its mobility to the host and more specifically by
presenting the host with a consistent link appearance as it roams at
layer 3, in particular through tailored RA messages. An example of
such NetLMM solutions would be the adaption of Proxy Mobile IPv6
(PMIPv6) [RFC5213] within a proprietary mobility framework.
Thubert Expires December 6, 2012 [Page 5]
Internet-Draft ra-throttler June 2012
As a result, within a same radio environment (say an IEEE 802.11
Service Set Identification or SSID), some of the associated nodes may
be local nodes and some other nodes may be roaming devices that are
virtually part of some other link or VLAN in a remote location. If
all the associated nodes received a local RA announcing an local IPv6
prefix, roaming devices would detect their movement, form new
addresses and defeat the mobility functionality to the point that the
entire mobility domain would appear as one flat single IPv6 link.
To avoid that problem, a dedicated RA is unicast to each of the
associated devices as opposed to sent once as a layer 2 broadcast to
all devices in a single shot. A very common method consists in
rewriting the link layer multicast address in a frame that carries
the layer 3 multicast message onto a layer 2 unicast address. This
isolates which L3 multicast packet gets to which host, and more
importantly which multicast packet will not get to a given host for
whih it is not destined.
When a multicast packet is converted into multiple unicast frames by
a siwtch such as an Access Point or an Access Controller, a single
packet that is sent to the all-nodes group can consume a large amount
of bandwidth that is roughly a factor of the number of associated
devices, and disrupt sensitive applications such as voice over IEEE
802.11. The NDP assumption that a multicast does not cost more than
a unicast is severely broken. It results that the ND Protocol is not
really suited for the wireless medium, and that some tailoring is
required in instance to reduce the impact of the multicast messages,
in particular RA messages.
4. Operation
The NDP messages Router Advertisements are scoped to a link. They
are sent on a given IPv6 link (e.g. a Virtual Local Area Network) and
should be delivered only to IPv6 nodes that reside on that link. An
RA message can be transmitted over the medium either as unicast
response or as a multicast message that is sent to the link-scoped
all-nodes multicast address (FF02::1) as defined in [RFC4291], which
all IPv6 nodes on the link listen to.
If a Router Advertisement is sent to a unicast destination address,
instance MUST forward the packet to the destination device. But as
opposed to other ND Protocol operations such as the Duplicate Address
Detection (DAD) that occurs only when a node obtains or forms a new
address, multicast RAs are sent periodically and might be quite
frequent for the duration of the network activity. In that case,
instance MAY drop the multicast RA if it is redundant. The question
becomes to determine whether a multicast RA is redundant.
Thubert Expires December 6, 2012 [Page 6]
Internet-Draft ra-throttler June 2012
A switch might connect ports of different natures. Some ports may
need throttling of the RA messages, and some node. It is expected
that some mechanism is in place to determine which ports require
throttling, for instance a configured policy or an automatic
discovery.
4.1. Throttling scope and period
The scope of a throttling activity is a link (a VLAN). Within that
scope, some ports on instance are determined to be throttled, while
others are not. A throttling period is associated to that scope. A
policy dictates how many and under which conditions multicast RAs are
throttled. The policy is based on counters that count RAs per router
and counters that aggregate the numbers to the throttling scope (the
VLAN). The counters are reset at each throttling period.
NDP does not mandate that routers on a link expose the same prefixes.
It is possible that a router advertises a prefix that none of the
other routers does for instance. Or a router might advertise a
better preference for a given destination [RFC4291]. It is this
important that the throttling mechanism does not starve any given
router. instance SHOULD attempt to distribute fairly the amount of
RAs per source router, and to serve at least once any given router on
the link (VLAN) within a given period of time.
4.2. Pending Hosts List
A multicast RA that is the response to an RS is probably redundant
for all nodes that did not solicit the RA in the first place. But it
is certainly useful to nodes that issued an RS over a throttled port
since the last multicast RA happened. instance needs to keep track of
all those hosts as discovered through their RS messages, in an
abstract list referred to as the Pending Hosts List (PHL). There is
one PHL per link (that is, typically, per VLAN).
A host is anchored to a port on instance, a link layer address, and
eventually one or more VLAN identifier(s) depending on the
deployment. An IPv6 Link Local Address [RFC4291] might be available
to qualify the host. A PHL entry SHOULD contain all the anchor
parameter and MAY indicate additional information such as the host
Link Local Address.
instance SHOULD add a host to the PHL when it receives an RS from
that host over a throttled port, and upon a layer 2 trigger that
indicates that the port has flapped, typically an association or a
reassociation event in an Access Point or an Accesss Controller.
instance MAY remove a host from the PHL when a RA is forwarded to the
host, either as a unicast, a multicast, or a unicast copy of a
Thubert Expires December 6, 2012 [Page 7]
Internet-Draft ra-throttler June 2012
throttled multicast, and SHOULD remove the entry after a number or
RAs are forwarded, depending on the policy that applies to the host.
4.3. Advertising Routers List
The primary cause of RA redundancies is a router that sends multiple
identical RAs in a short sequence, for instance as stimulated by
hosts joining the link. instance identifies such redundancies by
keeping track of all the routers as discovered through RA messages,
and eventually of the content of those RA messages, in an abstract
list referred to as the Advertising Routers List (ARL). There is one
ARL per link (VLAN).
A router is anchored to a port on instance, a link layer address, and
eventually one or more VLAN identifier(s) depending on the
deployment. The router Link Local Address is found as the source
address of the RA. A ARL entry SHOULD contain all the anchor
parameters, the router Link Local Address, and a number of counters
that indicate the router activity over the last period and MAY
contain additional information from the RA such as a prefix list or
the router preferences [RFC4191]. The entry MUST also contain
counters that are necessary for the throttling operation, typically
the number of multicast RAs that where copied and the number that
were throttled during the current throttling period.
instance SHOULD add a router to the ARL when it receives an RA from
that router on any port that belong to that link (VLAN). instance
SHOULD remove the router from the ARL when the throttle period
elapses. instance MAY maintain a list of routers that were part of
the ARL for the previous period in an alternate list to keep
additional history and improve runtime performances.
4.4. RA with an Advertisement Interval Option
The Mobility Support in IPv6 (MIPv6) [RFC4191] section 7.3 introduces
the Advertisement Interval Option (AIO), used in RA messages to
advertise the interval at which the advertising router sends
unsolicited multicast Router Advertisements. When this option is
present, a switch SHOULD NOT interfere with a routers attempt to live
up to its claim that at least one RA message will be posted every
advertisement interval.
There is more than one way for instance to comply with this
requirement, as controlled by a policy that applies to the throttling
operation:
instance MAY never copy RAs from a given router that carry the AIO
over throttled ports.
Thubert Expires December 6, 2012 [Page 8]
Internet-Draft ra-throttler June 2012
Or instance MAY copy all RAs from a given router that carry the
AIO over throttled ports.
Alternatively, instance MAY monitor the timing of RA emissions
from a given router and refrain from throttling at least one RA
per advertisement interval from that router. It might then happen
that the router arms its timer on a message that instance
throttles later. In that case, the next RA that is not throttled
can be separated by substantially more time than one advertisement
interval though less than 2 intervals. This should not impact the
MIPv6 operation that does not take action until no RA is received
within two and a half advertisement intervals.
It can be noted that the advertisement interval that is used to
support mobility can be very short and load the radio medium quite
dramatically, depending on the available bandwidth on that medium.
The policy in place SHOULD probably make it so that RAs with too
short intervals are not copied on throttled ports unless no other
option is available. If mobile devices are expected on the wireless
link, then it might be preferred to block all routers advertising AIO
but one or two that would preferably use an acceptable interval.
4.5. Final RA
Section 6.2.5 of the Neighbor Discovery specification [RFC4861]
describe the router operation when it ceases to advertise on a given
interface. In particular, the router needs to transmit one or more
final (multicast) RA messages on the interface with a Router Lifetime
field of zero.
This information is critical to any host that utilizes the router
either as default gateway or more preferred gateway for a given
destination prefix since filtering out a final RA might leave such
host without connectivity till the host discovers that the router is
gone. A switch SHOULD NOT take actions that would prevent such a
host from receiving at least one final RA that indicates that a given
router ceases to be a available as a IPv6 gateway on the link (VLAN)
where throttling applies.
There is more than one way for instance to comply with that
requirement, as controlled by a policy that applies to the throttling
operation:
instance MAY never throttle an RA with a Router Lifetime field set
to zero.
Alternatively, instance MAY throttle further multicast final RAs
arrive immediately after a first final RA from a same router.
Thubert Expires December 6, 2012 [Page 9]
Internet-Draft ra-throttler June 2012
It can be noted that the advertisement interval that is used to
support mobility can be very short and load the system quite
dramatically. The policy in place should probably make it so that
RAs with short intervals are not copied on throttled ports unless no
other option is available.
4.6. Throttling Policy
An implementation SHOULD allow to configure a policy whereby the RA
throttling operation is based on the history of received RAs during
the current throttling period.
Suggested policy parameters per link (VLAN) include:
throttle-period: This is the duration of the throttling period. A
suggestion is to keep this value under the highest
MaxRtrAdvInterval used in the network. MaxRtrAdvInterval is
defined in [RFC4861] with a default of 600 seconds. The policy
that provides that parameter MAY apply to the link (VLAN) or
instance.
max-through: This is a maximum number of RAs that may pass before
for all routers during a throttling period. rAdvInterval is
defined in [RFC4861] with a default of 600 seconds. The policy
that provides that parameter MAY apply to the link (VLAN) or
instance. A suggested default is 1.
at-least: This is the minimum guaranteed number of RAs that pass
before the first RA is throttled for a given router. The policy
that provides that parameter MAY apply to an individual router, a
port, the link (VLAN) or instance. A suggested default is 1.
This parameter takes precedence over the max-through parameter
that is defined at the link (VLAN) level so as not to starve any
router.
at-most: This is a maximum number of RAs that may pass before for a
given router during a throttling period. The policy that provides
that parameter MAY apply to the router, the port, the link (VLAN)
or instance. A suggested default is 1.
interval-option: This parameter indicates the behaviour upon RAs
with the IAO as discussed in Section 4.4. The policy that
provides that parameter MAY apply to the router, the port, the
link (VLAN) or instance. A suggested default is never to copy RAs
with IAO on a throttled port.
Thubert Expires December 6, 2012 [Page 10]
Internet-Draft ra-throttler June 2012
5. Manageability
An implementation SHOULD allow the administrator to define one or
more throttling policies and to apply them on the relevant targets
(routers, ports, links and switch). The implementation should count
the number of RAs that passed and RAs that are throttled per target.
6. IANA Considerations
This specification does not require IANA action.
7. Security Considerations
This specification is not found to introduce new security threat.
8. Acknowledgements
The author wishes to thank Eric Levy-Abegnoli for his kind mentorship
all along this project.
9. References
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 4291, February 2006.
[RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
"Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
September 2007.
[RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
Address Autoconfiguration", RFC 4862, September 2007.
9.2. Informative References
[I-D.ietf-roll-rpl]
Brandt, A., Vasseur, J., Hui, J., Pister, K., Thubert, P.,
Levis, P., Struik, R., Kelsey, R., Clausen, T., and T.
Winter, "RPL: IPv6 Routing Protocol for Low power and
Lossy Networks", draft-ietf-roll-rpl-19 (work in
Thubert Expires December 6, 2012 [Page 11]
Internet-Draft ra-throttler June 2012
progress), March 2011.
[I-D.phinney-roll-rpl-industrial-applicability]
Phinney, T., Thubert, P., and R. Assimiti, "RPL
applicability in industrial networks",
draft-phinney-roll-rpl-industrial-applicability-00 (work
in progress), October 2011.
[I-D.thubert-lowpan-backbone-router]
Thubert, P., "LoWPAN Backbone Router",
draft-thubert-lowpan-backbone-router-00 (work in
progress), November 2007.
[RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and
More-Specific Routes", RFC 4191, November 2005.
[RFC4541] Christensen, M., Kimball, K., and F. Solensky,
"Considerations for Internet Group Management Protocol
(IGMP) and Multicast Listener Discovery (MLD) Snooping
Switches", RFC 4541, May 2006.
[RFC5213] Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K.,
and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008.
[RFC5415] Calhoun, P., Montemurro, M., and D. Stanley, "Control And
Provisioning of Wireless Access Points (CAPWAP) Protocol
Specification", RFC 5415, March 2009.
[RFC5865] Baker, F., Polk, J., and M. Dolly, "A Differentiated
Services Code Point (DSCP) for Capacity-Admitted Traffic",
RFC 5865, May 2010.
[RFC6275] Perkins, C., Johnson, D., and J. Arkko, "Mobility Support
in IPv6", RFC 6275, July 2011.
Thubert Expires December 6, 2012 [Page 12]
Internet-Draft ra-throttler June 2012
Author's Address
Pascal Thubert (editor)
Cisco Systems
Village d'Entreprises Green Side
400, Avenue de Roumanille
Batiment T3
Biot - Sophia Antipolis 06410
FRANCE
Phone: +33 497 23 26 34
Email: pthubert@cisco.com
Thubert Expires December 6, 2012 [Page 13]