Internet DRAFT - draft-kella-6man-cache-invalid-purge

draft-kella-6man-cache-invalid-purge



6MAN Working Group                                           Kiran Kella
Internet-Draft                                            Broadcom, Inc.
Updates: 4861 (if approved)                            December 25, 2014
Intended status: Standards Track
Expires: June 10, 2015



                        Faster cleanup of invalid NCE
                    draft-kella-6man-cache-invalid-purge-02.txt

Abstract

   When an IPv6 address is moved or removed or when it becomes invalid
   on an interface of an IPv6 node, the old neighbor cache entry for
   this address on the neighboring nodes sharing the interface link
   continues to be used for data forwarding till the STALE entry time-
   out happens or till the neighbor unreachability detection algorithm
   runs in order to rediscover the correct link layer address or purge
   the incorrect neighbor cache entry. This document specifies a
   mechanism for the faster removal of invalid neighbor cache entries
   on the neighboring nodes. This document updates RFC 4861.

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 June 10, 2015.

Copyright Notice


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

Kiran Kella, et al.       Expires June 10, 2015                 [Page 1]

Internet-Draft        Faster cleanup of invalid NCE        December 2014

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Conventions used in this document . . . . . . . . . . . .   2
   2.  Proposed solution . . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Retransmission of unsolicited neighbor advertisement  . .   4
   3.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
   5.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     5.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
     5.2.  Informative References  . . . . . . . . . . . . . . . . .   4
   Author's Addresses  . . . . . . . . . . . . . . . . . . . . . . .   4

1.  Introduction

   When an IPv6 address is removed on a neighboring host or router node,
   the neighbor cache entry corresponding to that address continues to
   reside in the neighbor cache of the peer IPv6 nodes. As per
   [RFC4861], currently there is no notification to the peer nodes to
   flush those invalid neighbor cache entries from the cache.
   As a result, the invalid entry wastes the table space and possibly
   avoids a new valid entry from joining the network when the table is
   in full condition. Traffic destined to that invalid cache entry
   continues to get forwarded into a possible black hole for some time.
   In case of IPv6 address movement too, the traffic continues to get
   forwarded to the wrong node for some time.

   These conditions continue to exist till the STALE entry timeout
   (1200 seconds) happens or till the NUD runs for that address on the
   forwarding nodes in order to discover the new link layer address or
   purge the invalid entry when the NUD fails.

   To handle this situation some implementations choose to run NUD
   periodically on each neighbor to detect the neighbor unavailability
   at the earliest and update the table accordingly. But this approach
   increases the load on the CPU and is not scalable.

   The scenarios above do not include the case where an interface link
   goes down. In that case the NUD or STALE timeout has to recover the
   situation on the nodes as before.

   This document updates RFC 4861 to efficiently handle the above
   scenarios.

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





Kiran Kella, et al.       Expires June 10, 2015                 [Page 2]

Internet-Draft        Faster cleanup of invalid NCE        December 2014


2.  Proposed solution

   We need a way to immediately delete the invalid neighbor cache entry
   from the cache of all the neighboring routers or hosts whenever the
   IPv6 address is administratively unconfigured.

   The F-bit in the Reserved field space of the Neighbor Advertisment
   message is used to notify the neighboring nodes about the unavailabi-
   lity of the IPv6 address on the sender IPv6 node's link.

   Neighbor Advertisement Message Format in section 4.4 of RFC 4861:

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Type      |     Code      |          Checksum             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |R|S|O|F|                     Reserved                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                       Target Address                          +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Options ...
      +-+-+-+-+-+-+-+-+-+-+-+-

   ICMP Fields:

      F              Flush flag. When set, the F-bit indicates that the
                     advertisement is sent to notify other neighboring
                     nodes that have learnt the Target Address mentioned
                     in this advertisement in their neighbor table to
                     flush the corresponding neighbor entry. On
                     receiving the advertisement with F-flag set, the
                     implementations SHOULD flush the neighbor entry
                     from their neighbor cache if it exists.

   Implementations compliant to RFC 4861 ignore this F-bit as the
   unused fields in the Reserved field MUST be initialized to zero by
   the sender and MUST be ignored by the receiver.

   IPv6 nodes complying to this specification SHOULD send unsolicited
   multicast neighbor advertisement with F-bit set for the address that
   is no longer valid on the interface.
   Nodes processing the received unsolicited neighbor advertisement with
   F-bit set SHOULD delete the matching neighbor cache entry if it
   exists in the cache.


Kiran Kella, et al.       Expires June 10, 2015                 [Page 3]

Internet-Draft        Faster cleanup of invalid NCE        December 2014

2.1.  Retransmission of unsolicited neighbor advertisement

   Unsolicited neighbor advertisements are unreliable mechanism to
   propagate information unlike solicited neighbor advertisments.

   To increase the chances of the neighboring IPv6 node to flush the
   invalid entry when the network is under stress, the sending node MAY
   send multiple unsolicited neighbor advertisements at reasonably time
   spaced intervals.

3.  IANA Considerations

   This document does not require any IANA actions.

4.  Security Considerations

   This document does not present any additional security issues beyond
   those discussed in [RFC4861].


5.  References

5.1.  Normative References

   [RFC4861]  Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
              "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
              September 2007.

5.2.  Informative References

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

Author's Address

   Kiran Kella
   Broadcom India Pvt. Ltd,
   Building 9, Raheja Mind Space,
   Hitec City, Hyderabad - 500082,
   India

   Phone: +91 789 300 0334
   Email: kkiran@broadcom.com











Kiran Kella, et al.       Expires June 10, 2015                 [Page 4]