9.1. Maintaining Global-Scope Prefixes
A simple use of the Router Renumbering mechanism, and one which is
expected to to be common, is the maintenance of a set of global
prefixes with a subnet structure that matches that of the site's
site-local address assignments. In the steady state this would serve
to keep the Preferred and Valid lifetimes set to their desired
values. During a renumbering transition, similar Command messages
can add new prefixes and/or delete old ones. An outline of a
suitable Command message follows. Fields not listed are presumed set
to suitable values. This Command assumes all router interfaces to be
maintained already have site-local [AARCH] addresses.
IPv6 Header
Next Header = 58 (ICMPv6)
Source Address = (Management Station)
Destination Address = FF05::2 (All Routers, site-local scope)
ICMPv6/RR Header
Type = 138 (Router Renumbering), Code = 0 (Command)
Flags = 60 hex (R, A)
First (and only) PCO:
Match-Prefix Part
OpCode = 3 (SET-GLOBAL)
OpLength = 4 N + 3 (assuming N global prefixes)
Ordinal = 0 (arbitrary)
MatchLen = 10
MatchPrefix = FEC0::0
First Use-Prefix Part
UseLen = 48 (Length of TLA ID + RES + NLA ID [AARCH])
KeepLen = 16 (Length of SLA (subnet) ID [AARCH])
FlagMask, RAFlags, Lifetimes, V & P flags -- as desired
UsePrefix = First global /48 prefix
. . .
Nth Use-Prefix Part
UseLen = 48
KeepLen = 16
FlagMask, RAFlags, Lifetimes, V & P flags -- as desired
UsePrefix = Last global /48 prefix
This will cause N global prefixes to be set (or updated) on each
applicable interface. On each interface, the SLA ID (subnet) field
of each global prefix will be copied from the existing site-local
prefix.
9.2. Renumbering a Subnet
A subnet can be gracefully renumbered by setting the valid and
preferred timers on the old prefix to a short value and having them
run down, while concurrently adding adding the new prefix. Later,
the expired prefix is deleted. The first step is described by the
following RR Command.
IPv6 Header
Next Header = 58 (ICMPv6)
Source Address = (Management Station)
Destination Address = FF05::2 (All Routers, site-local scope)
ICMPv6/RR Header
Type = 138 (Router Renumbering), Code = 0 (Command)
Flags = 60 hex (R, A)
First (and only) PCO:
Match-Prefix Part
OpCode = 2 (CHANGE)
OpLength = 11 (reflects 2 Use-Prefix Parts)
Ordinal = 0 (arbitrary)
MatchLen = 64
MatchPrefix = Old /64 prefix
First Use-Prefix Part
UseLen = 0
KeepLen = 64 (this retains the old prefix value intact)
FlagMask = 0, RAFlags = 0
Valid Lifetime = 28800 seconds (8 hours)
Preferred Lifetime = 7200 seconds (2 hours)
V flag = 1, P flag = 1
UsePrefix = 0::0
Second Use-Prefix Part
UseLen = 64
KeepLen = 0
FlagMask = 0, RAFlags = 0
Lifetimes, V & P flags -- as desired
UsePrefix = New /64 prefix
The second step, deletion of the old prefix, can be done by an RR
Command with the same Match-Prefix Part (except for an OpLength
reduced from 11 to 3) and no Use-Prefix Parts. Any temptation to set
KeepLen = 64 in the second Use-Prefix Part above should be resisted,
as it would instruct the router to sidestep address configuration.
10. Acknowledgments
This protocol was designed by Matt Crawford based on an idea of
Robert Hinden and Geert Jan de Groot. Many members of the IPNG
Working Group contributed useful comments, in particular members of
the DIGITAL UNIX IPv6 team. Bill Sommerfeld provided helpful IPsec
expertise. Relentless browbeating by various IESG members may have
improved the final quality of this specification.
11. References
[AARCH] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC2373, July 1998.
[AH] Kent, S. and R. Atkinson, "IP Authentication Header", RFC
2402, November 1998.
[ANM] Isaacson, E. and H. B. Keller, "Analysis of Numerical
Methods", John Wiley & Sons, New York, 1966.
[ESP] Kent, S. and R. Atkinson, "IP Encapsulating Security
Payload (ESP)", RFC2406, November 1998.
[IANACON] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC2434,
October 1998.
[ICMPV6] Conta, A. and S. Deering, "Internet Control Message
Protocol (ICMPv6) for the Internet Protocol Version 6
(IPv6)", RFC2463, December 1998.
[IPSEC] Kent, S. and R. Atkinson, "Security Architecture for the
Internet Protocol", RFC2401, November 1998.
[IPV6] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC2460, December 1998.
[IPV6MIB] Haskin, D. and S. Onishi, "Management Information Base for
IP Version 6: Textual Conventions and General Group", RFC
2466, December 1998.
[KWORD] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC2119, March 1997.
[ND] Narten, T., Nordmark, E. and W. Simpson, "Neighbor
Discovery for IP Version 6 (IPv6)", RFC2461, December
1998.
[OSPFMIB] Baker, F. and R. Coltun, "OSPF Version 2 Management
Information Base", RFC1850, November 1995.
12. Author's Address
Matt Crawford
Fermilab MS 368
PO Box 500
Batavia, IL 60510
USA
Phone: +1 630 840 3461
EMail: crawdad@fnal.gov
Appendix -- Derivation of Reliability Estimates
If a population S of size k is repeatedly sampled with an efficiency
p, the expected number of members of S first discovered on the nth
sampling is
m = [1 - (1-p)^n] * k
The expected total number of members of S found in samples, including
duplicates, is
r = n * p * k
Taking the ratio of m to r cancels the unknown factor k and yields an
equation
[1 - (1-p)^n] / p = nm/r
which may be solved for p, which is then an estimator of the sampling
efficiency. (The statistical properties of the estimator will not be
examined here.) Under the substitution p = 1-q, this becomes the
first equation of Section 8.2.
With the estimator p in hand, and a count m of members of S
discovered after n samplings, we can compute the a posteriori
probability that the true size of S is m+j, for j >= 0. Let Hj
denote the hypothesis that the true size of S is m+j, and let R
denote the result that m members have been found in n samplings.
Then
P{R | Hj} = [(m+j)!/m!j!] * [1-(1-p)^n]^m * [(1-p)^n]^j
We are interested in P{H0 | R}, but to find it we need to assign a
priori values to P{Hj}. Let the size of S be exponentially
distributed
P{Hj} / P{H0} = h^(-j)
for arbitrary h in (0, 1). The value of h will be eliminated from
the result.
The Bayesian method yields
P{Hj | R} / P{H0 | R} = [(m+j)!/m!j!] * [h*(1-p)^n]^j
The reciprocal of the sum over j >= 0 of these ratios is
P{H0 | R} = [1-h*(1-p)^n] ^ (m+1)
and the confidence estimate of Section 8.2 is the h -> 1 limit of
this expression.
Full Copyright Statement
Copyright (C) The Internet Society (2000). 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 assigns.
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
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFCEditor function is currently provided by the
Internet Society.