Network Working Group                                F. Le Faucheur, Ed.
Internet-Draft                                                     Cisco
Intended status: BCP                                       March 9, 2009
Expires: September 10, 2009


                IP Router Alert Considerations and Usage
            draft-rahman-rtg-router-alert-considerations-01

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.  This document may contain material
   from IETF Documents or IETF Contributions published or made publicly
   available before November 10, 2008.  The person(s) controlling the
   copyright in some of this material may not have granted the IETF
   Trust the right to allow modifications of such material outside the
   IETF Standards Process.  Without obtaining an adequate license from
   the person(s) controlling the copyright in such materials, this
   document may not be modified outside the IETF Standards Process, and
   derivative works of it may not be created outside the IETF Standards
   Process, except to format it for publication as an RFC or to
   translate it into languages other than English.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on September 10, 2009.

Copyright Notice

   Copyright (c) 2009 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



Le Faucheur            Expires September 10, 2009               [Page 1]


Internet-Draft         Router Alert Considerations            March 2009


   Provisions Relating to IETF Documents in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.















































Le Faucheur            Expires September 10, 2009               [Page 2]


Internet-Draft         Router Alert Considerations            March 2009


Abstract

   The IP Router Alert Option is an IP option that alerts transit
   routers to more closely examine the contents of an IP packet.  RSVP,
   PGM, IGMP/MLD and MRD are some of the protocols which make use of the
   IP Router Alert option.  This document discusses security aspects and
   common practices around the use of the current IP Router Alert option
   and discusses consequences on the use of IP Router Alert by existing
   or new applications.  Common practices in IP Router Alert
   implementation facilitating router protection are also discussed.


Table of Contents

   1.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  4
     1.1.  Conventions Used in This Document  . . . . . . . . . . . .  4
   2.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Guidelines for use of Router Alert . . . . . . . . . . . . . .  7
     3.1.  Reliance on Router Alert by Applications . . . . . . . . .  7
     3.2.  When Consenting Adults Exchange IP Router Alert Packets  .  8
   4.  Example Protection Mechanisms in a Router Alert
       Implementation . . . . . . . . . . . . . . . . . . . . . . . . 10
     4.1.  Handling Packets Carrying the Router Alert Option  . . . . 10
     4.2.  Applying Rate Limiting . . . . . . . . . . . . . . . . . . 10
     4.3.  Router Alert in Congested Systems  . . . . . . . . . . . . 11
     4.4.  Handling Unknown Payload Protocols . . . . . . . . . . . . 11
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . . 12
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 13
   7.  Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 14
   8.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 15
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 16
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 16
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 16
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18

















Le Faucheur            Expires September 10, 2009               [Page 3]


Internet-Draft         Router Alert Considerations            March 2009


1.  Terminology

   For readability, this document uses the following loosely defined
   terms:

   o  Slow path : Software processing path for packets

   o  Fast path : ASIC/Hardware processing path for packets

1.1.  Conventions Used in This Document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].





































Le Faucheur            Expires September 10, 2009               [Page 4]


Internet-Draft         Router Alert Considerations            March 2009


2.  Introduction

   [RFC2113] and [RFC2711] respectively define the IPv4 and IPv6 Router
   Alert Option.  In this document, we collectively refer to those as
   the IP Router Alert.  RSVP ([RFC2205], [RFC3175], [RFC3209]), PGM
   ([RFC3208]), IGMP ([RFC2236] [RFC3376]), MLD ([RFC2710], [RFC3810])
   and MRD ([RFC4286]) are some of the protocols which make use of the
   IP Router Alert.  Those protocols are used to support critical
   elements of the Internet infrastructure (e.g.  RSVP-TE for traffic
   engineering within a service provider network) and as such they need
   to be protected.

   IP datagrams carrying the IP Router Alert are usually examined in a
   router's slow path and an excess of such datagrams can cause
   performance degradation or packet drops in a router's slow path.
   (Note that a router's slow path can potentially also be attacked with
   IP packets destined to one of the router's local IP addresses and
   requires corresponding security protection.)

   [RFC4081] and [RFC2711] mention the security risks associated with
   the use of the IP Router Alert: flooding a router with bogus IP
   datagrams which contain the IP Router Alert would cause a performance
   degradation of the router's slow path and can also lead to packet
   drops in the slow path.

   [RFC2113] specifies no mechanism for identifying different users of
   IP Router Alert.  As a result, many fast switching implementations of
   IP Router Alert punt most/all packets marked with IP Router Alert
   into the slow path.  Some IP Router Alert implementations may be able
   to take into account the IP PID [RFC0791] as a discriminator for the
   punting decision for different protocols using IP Router Alert.
   However, this still only allows very coarse triage among various
   protocols using IP Router Alert for two reasons.  First, the IP PID
   is the same when IP Router Alert is used for different applications
   of the same protocol (e.g., RSVP vs. RSVP-TE), or when IP Router
   Alert is used for different contexts of the same application (e.g.,
   different levels of RSVP aggregation [RFC3175]).  Thus, it is not
   possible to achieve the necessary triage in the fast path across IP
   Router Alert packets from different applications or from different
   contexts of an application.  Secondly, some protocols requiring
   punting may be carried over a transport protocol (e.g., TCP or UDP)
   possibly because they require the services of that transport protocol
   or perhaps because the protocol does not justify allocation of a
   scarce IP PID value.  Thus, considering the PID does not allow triage
   in the fast path of IP Router Alert packets from different protocols
   sharing the same transport protocol.  Therefore, It is generally not
   possible to ensure that only the IP Router Alert packets of interest
   are punted to the slow path while other IP Router Alert packets are



Le Faucheur            Expires September 10, 2009               [Page 5]


Internet-Draft         Router Alert Considerations            March 2009


   efficiently forwarded (i.e., in fast path).  This means that an
   operator will often have to choose between a mode where the routers
   ignore IP Router Alert and forwards all packets in fast path and a
   mode where the routers honor IP Router Alert but then punt to slow
   path all/most of the IP Router Alert packets including those that are
   not of interest to the router.

   [RFC2711] mentions that limiting, by rate or some other means, the
   use of IP Router Alert option is a way of protecting against a
   potential attack.  However, if rate limiting is used as a protection
   mechanism but if the granularity of the rate limiting is not fine
   enough to distinguish among IP Router Alert packet of interest from
   unwanted IP Router Alert packet, a IP Router Alert attack could still
   severely degrade operation of protocols of interest that depend on
   the use of IP Router Alert.  Section 4 discusses examples of
   protection mechanisms that may be available from a router
   implementation of the IP Router Alert.

   In some environments where it is not possible to accurately and
   reliably distinguish between IP Router Alert packets of interest and
   unwanted IP Router Alert packets, operators have resorted to actively
   protecting themselves against externally generated IP Router Alert
   packets in ways that result in end to end IP Router Alert packets
   being (occasionally or systematically) dropped and/or ignored on a
   segment.  The consequences of such practises on the use of IP Router
   Alert by existing or new applications are discussed in Section 3 of
   the present document.  Section 3 also discusses environments where IP
   Router Alert can be used effectively.

   The present document discusses considerations and practises based on
   the current specification of IP Router Alert ([RFC2113], [RFC2711]).
   Possible future enhancements to the specification of IP Router Alert
   (in view of reducing the security risks associated with the use of IP
   Router Alert) are outside the scope of this document.  A proposal for
   such enhancements can be found in [I-D.narayanan-rtg-router-alert-
   extension] .















Le Faucheur            Expires September 10, 2009               [Page 6]


Internet-Draft         Router Alert Considerations            March 2009


3.  Guidelines for use of Router Alert

3.1.  Reliance on Router Alert by Applications

   First, as mentioned earlier, some networks actively protect
   themselves against externally generated IP Router Alert packets.
   This may be by tunneling IP Router Alert packets
   [I-D.dasmith-mpls-ip-options] so that the IP Router Alert option is
   hidden through that network or it may be via mechanisms resulting in
   occasional (e.g., rate limiting) or systematic drop of IP Router
   Alert packets.

   Secondly, application protocols are often not carried directly on top
   of IP but rather are carried by a transport protocol such as UDP,
   TCP, or SCTP that in turns runs over IP.  In these cases, the
   application protocol is not visible in the IP header (that only
   contains information about the transport protocol) and could not be
   determined without further "deep packet" inspection.  In the event of
   the IP Router Alert option being used for an application protocol
   carried in a transport protocol, the intercepted IP packet would be
   delivered to the transport protocol for processing in accordance with
   [RFC2113] (as opposed to being delivered directly to the application
   protocol).  However, the behavior of the transport protocol in these
   circumstances is not defined, and may cause rejection of the packet
   for various reasons.

   As a consequence, in the general case of open networks, applications
   can not safely rely on IP Router Alert packets being visible to all
   nodes on the path today, and importantly can not even rely on IP
   Router Alert packets being transported end to end.

   [RFC2113] implies that the router may examine other fields of a
   received packet that contains the IP Router Alert option to decide
   whether that packet needs further processing, but no further advice
   is given.  Examination of other fields of the received IP packet that
   carries the IP Router Alert to help determine what to do with the
   packet would result in implementation-specific behavior that is
   unpredictable to the sender of the packet.  Therefore applications
   cannot depend on IP Router Alert interception involving inspection of
   fields in the packet outside the IP header.

   Thus, creating a new application or end-to-end protocol that depends
   on use of the current IP Router Alert ([RFC2113], [RFC2711]) is
   considered harmful and it is RECOMMENDED that such new application or
   protocol be developed without using IP Router Alert.  A different
   mechanism SHOULD be used in order to increase likelihood of operation
   of that application/protocol end-to-end and to decrease the risk of
   impacting existing protocols that use the IP Router Alert option.



Le Faucheur            Expires September 10, 2009               [Page 7]


Internet-Draft         Router Alert Considerations            March 2009


3.2.  When Consenting Adults Exchange IP Router Alert Packets

   In some controlled environments, the network administrator can
   determine that IP Router Alert packets will only be received from
   trusted well-behaved devices or can establish that the protection
   mechanisms discussed in the present document against the plausible
   RAO-based DoS attacks (e.g., RAO filtering and rate-limiting) are
   sufficient.  In that case, an application relying on exchange and
   handling of RAO packets (e.g., RSVP) may be safely deployed within
   the controlled network.  In other words, a network that feels
   appropriately protected against the risks associated with his
   environment, may decide to freely and openly partake in IP Router
   Alert message exchange with consenting entities.  A private
   enterprise network firewalled from the Internet and using RSVP for
   voice and video reservation/admission control may be an example of
   such controlled environment.

   In some environments, the network administrator can reliably ensure
   that router alert packets from any untrusted device (e.g., from
   external routers) are prevented from entering a trusted area (e.g.,
   the internal routers).  For example, this may be achieved by ensuring
   that routers straddling the trust boundary (e.g., edge routers)
   always encapsulate those packets (without setting IP Router Alert -or
   equivalent- in the encapsulating header) through the trusted area (as
   discussed in [I-D.dasmith-mpls-ip-options]).  In such environments,
   the risks of DOS attacks through the IP Router Alert vector is
   removed in the trusted area (or greatly reduced) even if IP Router
   Alert is used inside the trusted area (say for RSVP-TE).  Thus an
   application relying on IP Router Alert may be safely deployed within
   the trusted area.  In other words, the network protects itself from
   the risks of partaking in IP Router Alert exchange with strangers but
   feels free to exchange IP Router Alert messages among trusted
   parties.  A Service Provider running RSVP-TE within his network may
   be an example of such protected environment.

   When a controlled environment requires RAO packet exchange across his
   routers for some application (e.g., RSVP) and transits via a Service
   Provider network (that is not part of the controlled environment),
   the administrator of the controlled environment needs to ensure with
   the Service Provider that the IP Router Alert messages will not be
   dropped when transiting the Service Provider network.  In other
   words, the network ought to ensure that another network that needs to
   be involved in the exchange of IP Router Alert packets is consenting.

   [Editor's Note: the authors of this document are seeking feedback on
   the recommendations suggested below]

   Since some existing applications would benefit from end-to-end



Le Faucheur            Expires September 10, 2009               [Page 8]


Internet-Draft         Router Alert Considerations            March 2009


   transport of IP Router Alert packets, it is RECOMMENDED that a
   Service Provider protects his network from attacks based on IP Router
   Alert using mechanisms that avoid (or at least minimize) dropping of
   end to end IP Router Alert packets (other than those involved in the
   attack).  For example, if the Service Provider does not run any
   protocol depending on IP Router Alert within his network, he may
   elect to simply turn-off punting of IP Router Alert packet on his
   routers; this will ensure that end-to-end IP Router Alert packet
   transit transparently and safely through his network.  As another
   example, using protection mechanisms such as those described in
   Section 4 a Service Provider can protect the operation of a protocol
   depending on IP Router Alert within his network (e.g., RSVP-TE) while
   at the same time transporting IP Router Alert packets carrying
   another protocol that may be used end to end.  As yet another
   example, using mechanisms such as those discussed in
   [I-D.dasmith-mpls-ip-options] a Service Provider can safely protect
   the operation of a protocol depending on IP Router Alert within his
   network (e.g., RSVP-TE) while at the same time safely transporting IP
   Router Alert packets carrying another protocol that may be used end
   to end (e.g., IPv4/IPv6 RSVP).

   As a last resort, if the Service Provider does not have any means to
   safely transport end to end IP Router Alert packets over his network,
   it is RECOMMENDED that, rather than dropping those packets, the
   Service Provider forwards these packets through his network after
   removing the IP Router Alert option from the IP header on ingress/
   receipt of the packet.  This ensures that the packet will, at least,
   make it through the Service Provider network allowing the packet to
   be potentially intercepted on the other side via other means than the
   IP Router Alert.

   Where the Service Provider does not ensure reliable transport of IP
   Router Alert packets (i.e., those are systematically or likely
   dropped) for an end to end protocol of interest to a user, the user
   can consider removing the IP Router Alert option from the IP header
   before sending the packet to the Service Provider and may then
   intercept the packet on the other side using some other interception
   technique (and then possibly restore the IP Router alert option).













Le Faucheur            Expires September 10, 2009               [Page 9]


Internet-Draft         Router Alert Considerations            March 2009


4.  Example Protection Mechanisms in a Router Alert Implementation

   Implementations of IP Router Alert on routers generally include
   mechanisms for protection against the associated security risk.  This
   section provides examples of behaviors that may be supported by
   router implementations to help protect the router.

   [Editor's Note: the authors of this document are seeking feedback
   about whether such mechanisms (or a subset/superset of those) ought
   to be elevated to BCP requirements, recommendations and options
   instead of simply described as examples.]

4.1.  Handling Packets Carrying the Router Alert Option

   o  a router implementation may elect to perform packet inspection to
      see whether they carry the IP Router Alert option in the "fast
      path".  This avoids punting all packets to the slow path when the
      router is interested in some IP Router Alert packets.

   o  a router implementation may elect to not send to the "slow path"
      IP packets carrying the IP Router Alert option unless IP Router
      Alert interception is explicitly enabled on the router (or
      interface).  This avoids punting any IP Router Alert packet when
      the router is not interested in any of those.

   o  a router implementation may elect to not send to the "slow path"
      IP packets carrying the IP Router Alert option unless there is at
      least one protocol explicitly enabled on the router (or interface)
      which is defined to use the IP Router Alert option.  This avoids
      punting any IP Router Alert packet when the router is not
      interested in any of those.

   o  a router implementation may elect to allow configuration of which
      protocol is "of interest" for the IP Router Alert option
      interception (on router or interface level).  The router
      implementation may then elect to not send packets carrying the
      Router Alert option to the "slow path" unless the payload protocol
      carried in the packet (as identified by the Protocol ID) is
      configured as "protocol of interest".  This avoids punting IP
      Router Alert packet carrying a protocol in which the router is not
      interested.

4.2.  Applying Rate Limiting

   o  a router implementation may elect to support (in the fast path)
      rate limiting of the number of IP Router Alert IP datagrams (e.g.,
      at router or interface level) which go to the "slow path".  The
      benefits of rate limiting is described in [RFC2711].



Le Faucheur            Expires September 10, 2009              [Page 10]


Internet-Draft         Router Alert Considerations            March 2009


   o  a router implementation may elect to support (in the fast path)
      separate rate limiting per payload protocol.  This allows one
      protocol relying on IP Router Alert to be protected from DOS
      attacks using IP Router Alert with a different protocol.

4.3.  Router Alert in Congested Systems

   o  a router implementation may elect to support selective dropping of
      packets carrying the IP Router Alert option (rather than pass them
      to the "slow path") in preference to dropping other control plane
      packets, in the face of control plane congestion.  This protects
      other control plane protocols from IP Router Alert attacks.

4.4.  Handling Unknown Payload Protocols

   If an IP packet contains the IP Router Alert option, but the payload
   protocol is not explicitly identified as a Payload of interest by the
   router examining the packet, the behavior is not defined by
   [RFC2113].  However, the definition of RSVP in [RFC2205] assumes that
   the packet will be forwarded using normal forwarding based on the
   destination IP address.

   o  a router implementation may elect to forward within the "fast
      path" (subject to all normal policies and forwarding rules) a
      packet carrying the IP Router Alert option containing a payload
      that is not a payload of interest to that router.  The "not
      passing" behavior protects the router from DOS attacks using IP
      Router Alert packets of a protocol unknown to the router.  The
      "forwarding" behavior contributes to transparent end to end
      transport of IP Router Alert packets (e.g., to facilitate their
      use by end to end application).




















Le Faucheur            Expires September 10, 2009              [Page 11]


Internet-Draft         Router Alert Considerations            March 2009


5.  Security Considerations

   This document discusses security risks associated with current usage
   of the IP Router Alert Option and associated practices.















































Le Faucheur            Expires September 10, 2009              [Page 12]


Internet-Draft         Router Alert Considerations            March 2009


6.  IANA Considerations

   None.
















































Le Faucheur            Expires September 10, 2009              [Page 13]


Internet-Draft         Router Alert Considerations            March 2009


7.  Contributors

   The contributors to this document (in addition to the editors) are:

   o  Reshad Rahman:

      *  Cisco Systems

      *  rrahman@cisco.com

   o  David Ward:

      *  Cisco Systems

      *  wardd@cisco.com

   o  Ashok Narayanan:

      *  Cisco Systems

      *  ashokn@cisco.com

   o  Adrian Farrell:

      *  OldDog Consulting

      *  adrian@olddog.co.uk

   o  Tony Li:

      *  tony.li@tony.li




















Le Faucheur            Expires September 10, 2009              [Page 14]


Internet-Draft         Router Alert Considerations            March 2009


8.  Acknowledgments

   We would like to thank Dave Oran, Magnus Westerlund, John Scudder,
   Ron Bonica, Ross Callon and Alfred Hines for their comments.















































Le Faucheur            Expires September 10, 2009              [Page 15]


Internet-Draft         Router Alert Considerations            March 2009


9.  References

9.1.  Normative References

   [RFC0791]  Postel, J., "Internet Protocol", STD 5, RFC 791,
              September 1981.

   [RFC2113]  Katz, D., "IP Router Alert Option", RFC 2113,
              February 1997.

   [RFC2711]  Partridge, C. and A. Jackson, "IPv6 Router Alert Option",
              RFC 2711, October 1999.

9.2.  Informative References

   [I-D.dasmith-mpls-ip-options]
              Jaeger, W., Mullooly, J., Scholl, T., and D. Smith,
              "Requirements for Label Edge Router Forwarding of IPv4
              Option Packets", draft-dasmith-mpls-ip-options-01 (work in
              progress), October 2008.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2205]  Braden, B., Zhang, L., Berson, S., Herzog, S., and S.
              Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
              Functional Specification", RFC 2205, September 1997.

   [RFC2236]  Fenner, W., "Internet Group Management Protocol, Version
              2", RFC 2236, November 1997.

   [RFC2710]  Deering, S., Fenner, W., and B. Haberman, "Multicast
              Listener Discovery (MLD) for IPv6", RFC 2710,
              October 1999.

   [RFC3175]  Baker, F., Iturralde, C., Le Faucheur, F., and B. Davie,
              "Aggregation of RSVP for IPv4 and IPv6 Reservations",
              RFC 3175, September 2001.

   [RFC3208]  Speakman, T., Crowcroft, J., Gemmell, J., Farinacci, D.,
              Lin, S., Leshchiner, D., Luby, M., Montgomery, T., Rizzo,
              L., Tweedly, A., Bhaskar, N., Edmonstone, R.,
              Sumanasekera, R., and L. Vicisano, "PGM Reliable Transport
              Protocol Specification", RFC 3208, December 2001.

   [RFC3209]  Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
              and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
              Tunnels", RFC 3209, December 2001.



Le Faucheur            Expires September 10, 2009              [Page 16]


Internet-Draft         Router Alert Considerations            March 2009


   [RFC3376]  Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A.
              Thyagarajan, "Internet Group Management Protocol, Version
              3", RFC 3376, October 2002.

   [RFC3810]  Vida, R. and L. Costa, "Multicast Listener Discovery
              Version 2 (MLDv2) for IPv6", RFC 3810, June 2004.

   [RFC4081]  Tschofenig, H. and D. Kroeselberg, "Security Threats for
              Next Steps in Signaling (NSIS)", RFC 4081, June 2005.

   [RFC4286]  Haberman, B. and J. Martin, "Multicast Router Discovery",
              RFC 4286, December 2005.

   [RFC5350]  Manner, J. and A. McDonald, "IANA Considerations for the
              IPv4 and IPv6 Router Alert Options", RFC 5350,
              September 2008.



































Le Faucheur            Expires September 10, 2009              [Page 17]


Internet-Draft         Router Alert Considerations            March 2009


Author's Address

   Francois Le Faucheur (editor)
   Cisco Systems
   Greenside, 400 Avenue de Roumanille
   Sophia Antipolis  06410
   France

   Phone: +33 4 97 23 26 19
   Email: flefauch@cisco.com









































Le Faucheur            Expires September 10, 2009              [Page 18]