Internet DRAFT - draft-cpatel-ipv6-automated-policy-table-cfg

draft-cpatel-ipv6-automated-policy-table-cfg





IPv6 Working Group                                              C. Patel
Internet-Draft                                         All Play, No Work
Expires: February 16, 2004                                  Aug 18, 2003


          Automated config of address selection policy tables
            draft-cpatel-ipv6-automated-policy-table-cfg-00

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   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 February 16, 2004.

Copyright Notice

   Copyright (C) The Internet Society (2003). All Rights Reserved.

Abstract

   This document proposes a method to manage the address selection
   policy tables in network hosts using RA's (Router Advertisements).
   The aim is to provide an easy method to network operators to control
   the src/dest address used by the host in communication within, and
   outside of the site(s) in which the host resides. Control of the
   policy tables allows 1) the user to control the scope in which a host
   may operate, and 2) non-disruption of intra-site traffic during
   renumbering caused by change in the global prefix used by the site to
   connect to the Internet.

   A major impact of the last benefit would be to provide one less
   incentive to advertise routes to the stable network prefixes in the
   Internet.



Patel                  Expires February 16, 2004                [Page 1]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . .  5
   2.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Policy Table Entry (PTE) Option  . . . . . . . . . . . . . . .  6
   4.  Transmission rules in routers  . . . . . . . . . . . . . . . .  8
   5.  Processing rules in hosts  . . . . . . . . . . . . . . . . . .  9
   5.1 Verification . . . . . . . . . . . . . . . . . . . . . . . . .  9
   5.2 Processing . . . . . . . . . . . . . . . . . . . . . . . . . .  9
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 10
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 11
       References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
       Author's Address . . . . . . . . . . . . . . . . . . . . . . . 12
   A.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 13
   B.  Alternate Approaches . . . . . . . . . . . . . . . . . . . . . 14
   B.1 Sequence Numbers . . . . . . . . . . . . . . . . . . . . . . . 14
       Intellectual Property and Copyright Statements . . . . . . . . 16

































Patel                  Expires February 16, 2004                [Page 2]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


1. Introduction

   A plethora of scopes may exist within a network, and different users
   will use different definition of sites. Recent discussions on the
   IPv6 mailing lists also imply that it is futile for the IPv6 working
   group to predefine all the scopes (and embed them into addresses)
   which might be used by a user. The scope definitions are best left to
   the user. The IPv6 working group can provide tools to the user to
   help him/her define, and deploy the scopes.

   With the deprecation of site-local unicast addresses from the IPv6
   standard, the focus has now turned alternate mechanisms to replace
   site-locals. The replacement of site-locals have to fill the vacuum
   created by the deprecation. The key requirements are:

   1.  The addresses should be globally unique,

   2.  they should be provider independent, and

   3.  the user should somehow be discouraged from advertising routes to
       these prefixes onto the Internet so that the global routing
       tables are not polluted by unaggregated prefixes.

   In the remaining document we refer to such prefixes as stable prefix.

   One such addressing architecture conforming to the above requirements
   1, and 2 is documented in draft-hinden-ipv6-global-local-addr-02.txt
   [5].

   Solving requirement 3, needs an understanding of the reasons for
   advertising the prefix on the Internet. The main reason, in the
   opinion of the author, is to escape the perils of renumbering. No
   user wants disruption of intra-site traffic when the network is
   renumbered due to external events. For example, change in ISP.

   Thus, an implicit requirement, which arises from requirement 3, is
   that stable addressing should be used as much as possible for
   intra-site traffic (instead of global addresses). This should of
   course be done without doing any modification to applications.

   Modifying address selection policy tables [1] is one way to encourage
   the use of stable addresses vis-a-vs global address for intra-site
   traffic. The address selection mechanism specified in [RFC3484]
   allows for hooks which can modify the default address selection
   method. However, any static configuration method would not scale in
   large networks.

   The author would like to present a method to automate modification of



Patel                  Expires February 16, 2004                [Page 3]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


   the policy table (specified in [1]) using RA's.

   The policy table update procedure involves the following steps:

   1.  The router along with other parameters will also advertise the
       complete policy table in an RA.

       Sending the complete policy table in one RA would make the table
       update operation atomic, and avoid any complications caused by
       mis-sequencing or loss of a single RA if the updates were done
       using multiple RA's.

   2.  On reception of the RA, hosts would replace the existing policy
       table with the new table.





































Patel                  Expires February 16, 2004                [Page 4]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


2. Definitions

2.1 Requirements

   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 RFC 2119 [6].












































Patel                  Expires February 16, 2004                [Page 5]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


3. Policy Table Entry (PTE) Option



        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      |    Length     | Prefix Length |    Rsvd0      |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |   Precedence  |    Label      |     Reserved1                 |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |                                                               |
        +                            Reserved2                          +
        |                                                               |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |                                                               |
        +                                                               +
        |                                                               |
        +                             Prefix                            +
        |                                                               |
        +                                                               +
        |                                                               |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                                Figure 1

   Fields:

      Type: To be defined by IANA.

      Length: 4 (indicating a total length of 4*8 octets).

      Prefix Length: 8-bit unsigned integer. The number of leading bits
         in Prefix field that are valid. The values range from 0 to 128.

      Rsvd0: This field is unused.  It MUST be initialized to zero by
         the sender and MUST be ignored by the receiver.

      Precedence: 8 bit unsigned integer. This field indicates the
         precedence (as defined in RFC 3484[1]) associated with the
         prefix. The values range from 0 to 255.

      Label: 8 bit unsigned integer. This field indicates the label (as
         defined in RFC3484 [1]) associated with the prefix. The values
         range from 0 to 255.





Patel                  Expires February 16, 2004                [Page 6]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


      Reserved1: This field is unused.  It MUST be initialized to zero
         by the sender and MUST be ignored by the receiver.

      Reserved2: This field is unused.  It MUST be initialized to zero
         by the sender and MUST be ignored by the receiver.

      Prefix: An IPv6 prefix. The Prefix Length field contains the
         number of valid leading bits in the prefix.  The bits in the
         prefix after the prefix length are reserved and MUST be
         initialized to zero by the sender and ignored by the receiver.









































Patel                  Expires February 16, 2004                [Page 7]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


4. Transmission rules in routers

   Routers MUST send the complete policy table in a single RA in the
   form of multiple PTE's.

   Among the other scenarios in which a router sends a RA (specified in
   RFC2461 [2] ), the router should send a RA with the policy table when
   there is an administrative trigger to do so.











































Patel                  Expires February 16, 2004                [Page 8]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


5. Processing rules in hosts

   All the PTE's in a RA should be verified before they are processed.

5.1 Verification

   The following rules are followed for the verification:

   1.  The host MUST ignore all the PTE's in an RA if there is a
       duplication of prefixes.

   2.  The host MUST ignore all the PTE's if there is no PTE which
       covers the default PTE (::/0).


5.2 Processing

   After all the PTE's are verified, the host should replace the current
   policy table with the new policy table. Existing connections MUST be
   unaffected.































Patel                  Expires February 16, 2004                [Page 9]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


6. IANA Considerations

   IANA is requested to allocate a code for used by the PTE option as
   defined in this document.















































Patel                  Expires February 16, 2004               [Page 10]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


7. Security Considerations

   This document does not introduce any more security concerns then what
   is documented in RFC 2461 [2] for RA.

   Since it is easy to spoof such messages within a network, mechanisms
   should be put in place to secure the Neighbor Discovery messages.












































Patel                  Expires February 16, 2004               [Page 11]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


References

   [1]  Draves, R., "Default Address Selection for Internet Protocol
        version 6 (IPv6)", RFC 3484, February 2003.

   [2]  Narten, T., Nordmark, E. and W. Simpson, "Neighbor Discovery for
        IP Version 6 (IPv6)", RFC 2461, December 1998.

   [3]  Hinden, R. and S. Deering, "Internet Protocol Version 6 (IPv6)
        Addressing Architecture", RFC 3513, April 2003.

   [4]  Moore, K., "Substitution of IPv6 Prefixes for Improved Address
        Stability", , August 2003.

   [5]  Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast
        Addresses", draft-hinden-ipv6-global-local-addr-02.txt , August
        2003.

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


Author's Address

   Chirayu Patel
   All Play, No Work
   101, Farah Court
   185 Defence Colony
   Indiranagar
   Bangalore, Karnataka  560038
   India

   Phone: +91-98452-88078
   EMail: chirayu@chirayu.org
   URI:   http://www.chirayu.org
















Patel                  Expires February 16, 2004               [Page 12]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


Appendix A. Acknowledgments

   The idea to develop mechanisms to encourage use of stable addresses
   is not new. One such proposal is by Keith Moore [4].















































Patel                  Expires February 16, 2004               [Page 13]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


Appendix B. Alternate Approaches

   The approach of sending the complete policy table in on RA is to make
   the process of updating simple. Splitting the Policy table updates in
   multiple messages requires that all the updates be processed in the
   same sequence in which they were transmitted even though the
   processing of each single update is idempotent (and hence can be
   retransmitted for reliability).

   This section describes the other options which were considered by the
   author, and the pros/cons of each approach.

B.1 Sequence Numbers

   Sending the complete Policy table would be expensive if the table is
   very large. Ideally the router should just sent updates to the policy
   table, and should send the complete policy table only in the cases
   where the router is not aware of the contents of the policy table in
   the hosts, and thus wants the hosts to flush the current policy
   table, and replace it with a new one.

   The presence of the following additional fields in the PTE option
   would be required.

   1.  Action. This action field would specify how the PTE option should
       be processed. It will have the values of:

          Add/Modify. If the entry is already present, modify it. If not
          present, add the entry.

          Delete. Delete the entry from the table.

          Flush table. Flush the present policy table, and then add the
          entry as specified in the PTE.

   2.  Sequence number. It is evident that the PTE option entries in the
       RA have to be processed in sequence, a sequence number field is
       required. The sequence number field will have the the value 0
       when the router boots, and it will be incremented in each PTE
       option across all the RA's which carry the policy table updates.

   The sequence number field increases the complexity of RA processing.
   It requires each host to keep track of the sequence number from each
   router it knows of, queue PTE's received out of turn, and, more
   importantly it requires the introduction of a mechanism to retrieve
   missing PTE's from the router in the event of loss of few RA's. One
   such mechanism would be to sent a RS (Router Solicitation) message
   with the "last processed sequence number".  message to the router so



Patel                  Expires February 16, 2004               [Page 14]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


   that it can send all the PTE's from "last sequence number" onward.


















































Patel                  Expires February 16, 2004               [Page 15]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights. Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11. Copies of
   claims of rights made available for publication and any assurances of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementors or users of this specification can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard. Please address the information to the IETF Executive
   Director.


Full Copyright Statement

   Copyright (C) The Internet Society (2003). All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works. However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assignees.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION



Patel                  Expires February 16, 2004               [Page 16]

Internet-Draft       Automated Cfg of Policy Tables             Aug 2003


   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.











































Patel                  Expires February 16, 2004               [Page 17]