I think we are getting into tensions because the Hinden/Haberman draft is trying to do two things: specify local addresses and specify a mechanism of ensuring uniqueness. I agree with the former; I don't think the latter is the right solution for all deployment spaces.
As tersely as possible, what is a local address? A local address is a unique* PI address with the additional property that it is invalid for use on the public internet and actively filtered by such. Key properties: (1) Because local addresses are unrouteable globally, they avoid the perceived aggregation problems of PI addresses. (2) Because local addresses are PI, they are independent of the presence or absence of PA addressing schemes and service providers. Property (2) of PI is attractive for 'local' communication in environments where PA addresses are unavailable or have unsatisfactory stability. Now, what about that 'uniqueness' property? Because of the possibility of merging, we agree uniqueness is good. However, the fundamental uniqueness requirement is that each "subnet" has a unique /64 prefix (notwithstanding that multiple "subnets" may exist on one physical media / interface). In some deployment scenarios, it will be desirable to allocate a unique /48 prefix to the entire network and manually or automatically subdivide (requires a prefix propagation mechanism). In others (specifically ad-hoc scenarios), it is more useful to allocate a unique /64 to each subnet. In the /48 case, the process is as follows: (1) I need to generate a unique /48 local prefix for my network, under which I will sub-allocate to specific routers. (2) I use a mechanism to generate a unique /48 prefix. (3) I propagate this prefix to all my routers, appending the sub-allocations as I go to create /64 subnets. Using the global registration method, step #2 involves contacting a registry. Using the 'random' method, step #2 involves running the algorithm. As mentioned, step #2 could also be implemented by some form of hash on a MAC or EUI-48/64. My point isn't to take issue with step 2, but to point out that the whole process is only one way of uniquely numbering subnets. Using a /48 in a configured network has the convenience of matching up with the /48 PA addresses usually allocated by ISPs, such that the 49-64 subnet numbering used for external addresses can be synchronised with the subnet numbering used for local addresses. Because the local addresses are not routeable outside the 'local' network, the bits between the top-level prefix designation (fc00::/7) and the /48 network division are unique, unaggregable noise. In an environment where independence is more important than aggregation it makes more sense to ignore the /48 division completely and number at (or closer to) the /64 level. If routers can uniquely generate /64 subnet prefixes then the need for prefix propagation (at the routing layer) is removed. The algorithm is then: (1) I need to generate a unique /64 prefix for each subnet. (2) I use a mechanism to generate a unique /64 for each subnet. Summary: I would like to see the 'unique-local-addressing' document leave some space for alternative generation methods. The easy (only?) way to ensure that alternative methods are cross-wise unique is to allocate a different prefix for each method, in much the same way as the global fc00::/8 and local fd00::/8 prefixes have been done. -- Andrew White -------------------------------------------------------------------- IETF IPng Working Group Mailing List IPng Home Page: http://playground.sun.com/ipng FTP archive: ftp://playground.sun.com/pub/ipng Direct all administrative requests to [EMAIL PROTECTED] --------------------------------------------------------------------
