Re: Architectural Considerations section in specs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



While I  enjoy seeing the IPv6 guys  arguing with each other,  I don't think
that anyone is deliberately spreading incorrect information here. 

There seems to be general  agreement that there are multi-party applications
in which A needs to  tell B to talk to C.  Thus A needs  to have some way to
unique identify C to B. 

However,  because   of  communications  policy   restrictions,  neither  the
application  layer nor  the network  layer can  know whether  B  is actually
allowed to  talk to C.   So it seems  that these applications can  only work
when  deployed  within  a  policy  domain.  (Policy  domain  boundaries  are
generally marked  by such things  as firewall and security  gateways, things
which  are  hated  by  the  purists because  they  eliminate  communications
transparency.)  The fact that  A gives B an address of C  rather than a name
of  C  doesn't seem  relevant  at  all; after  all,  names  just resolve  to
addresses;  I think the  name vs.  address issue  is a  red herring  in this
context. 

The existence of policy domains seems to restrict the applicability of these
multi-party referring applications, especially as  the app itself has no way
of knowing whether it is crossing policy domain boundaries.  

So  what does  this  have to  do  with site-local  addresses?   I think  two
arguments have been made.

1. Because site-local  addresses are  ambiguous, if  A passes  a site-local
   address to B, B may not be able to use it to talk to C. 

   I  think the reply  that has  been made  to this  is that  the site-local
   addresses have to  be unambiguous within a particular  policy domain, and
   it is a  management function to ensure that this is  the case.  Since the
   apps in  questions are applicable only  within a policy  domain, the fact
   that the  addresses are ambiguous  outside that domain doesn't  makes the
   apps any less useful than they already are. 

2. A system  with a site-local address is likely to  have other addresses as
   well, and it is  a bad thing for a system to  have more than one address,
   because the apps have no way of knowing which address is the right one to
   distribute. 

   I think the reply to this is  that this horse escaped from the barn about
   20 years  ago, and  anyway, choice of  address is a  management function.
   That  is, the app  needs to  be told  through some  sort of  config which
   addresses to use when.

It's been claimed that if non-ambiguous addresses are used, at least the app
can tell when  communication is being prevented due  to policy restrictions,
as it  will receive ICMP  messages with appropriate  diagnostic information.
Unfortunately, this  presumes more from  the network layer than  the network
layer actually  provides.  ICMP messages  may be generated due  to transient
problems, they may  fail to be generated at all  (for "security reasons", or
due to limitations on the rate  of ICMP generation), they may be dropped in
the network,  etc.  When communication fails,  there is no  reliable way for
the endsystems to determine why it has failed. 

So I  don't really  think the  case against site-locals  has been  made here
(which is  not to say that  there isn't a  case against them based  on other
considerations). 

I think the  underlying problem is that our  comms architecture doesn't take
the policy restrictions  into account at all, and folks  tend to assume that
this needs  to be accounted for  at some other  layer than the one  they are
most interested in.  This generates  frustration, and creates a high heat to
light ratio.   Usually everyone blames  it on NAT,  so it's nice to  see the
same issue come up in an IPv6 non-NAT context. 



[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Fedora Users]