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

application listener discovery in the presence of stateful firewalls



everyone--

This is a continuation of a previous discussion under the subject "Re: The argument for writing a general purpose NAT for IPv6."
On Apr 26, 2007, at 14:35, Tony Hain wrote:
james woodyatt wrote:
I should also mention that my additional concern about applications
that haven't yet been developed is part of what has me champing for
an alternative to deploying ALG's everywhere.  It would be nice to
have a long-term solution that didn't require constant upgrades to
the middleware.
That was the point of IPv6.
Perhaps.  I'm not sure it *remains* the point.

From where I sit, it looks like we're all about restoring the Internet to a single, universal addressing realm. There does remain some politicking on the side about address space resource allocation-- but, that seems aimed more at promoting transition in the minds of those who don't comprehend the addressing realm issue. (I'm doubtful that a political campaign will work, because I think the intended audience is at least smart enough to understand that economists know a lot about the practical matters of allocating scarce resources.)
My biggest worry about IPv6 is that transition may be slowed or even  
halted because of the basic problem that applications which work over  
IPv4/NAT today can't be made to work over IPv6 too, without still  
deploying ALG's everywhere and/or developing the moral equivalent of  
UPnP IGD and NAT-PMP (minus the UNSAF aspect).
Again, take a look at m2m-x. My comment to them was to use IPsec for auth
between the client and the firewall for pinhole management, and to
specifically insert a local SIP proxy for cases where the enterprise does not want to allow the carrier to manage the firewall pinholes directly.
I've seen many proposals like this over the years.  I don't like them  
for three reasons:
  1) they're separate from the IETF standards that specify the  
requirements for
     IPv6 nodes and routers, and therefore likely to be available  
only on a
     limited subset of the Internet to a limited set of applications;

2) they require application layer protocols to participate in network layer
     signaling; and...

3) they don't permit peer-to-peer applications to work without relying on the
     availability of a third-party relay service.

In my humble opinion, this class of solutions represents a perversion of the Internet architecture-- though I recognize the IAB vigorously disagrees with this view.
I think applications shouldn't have to ask the network to see if they  
will be able to communicate before they begin communicating.  They  
should just attempt to communicate directly and offer users  
information to facilitate troubleshooting when communication fails  
for policy reasons.  These systems like m2m-x, ICE, STUN, etc. don't  
permit that-- instead, they require applications to communicate with  
a signaling rendezvous point to set up the network to allow  
communication to take place before they can initiate direct  
communications between user endpoints.  They're necessary evils where  
UNSAF methods are required for any communication to happen at all.   
They're an abomination in the absence of network address translation.
I do still think there is a huge, glaring, problem before the V6OPS
group, involving 1) unmanaged IPv6 networks subject to policy
enforcement by 2) unmanaged stateful packet filtering firewalls.
Whether that's really an open problem in the NAP draft, I'll leave to
others to decide.
You will have a very hard time with 'unmanaged' in most of the  
IETF, because
they are all technologists that understand how to manage, and most  
of them
build products for professional managers so they just can't get  
their minds
wrapped around the complexity that goes into masking the guts from  
the end
user. Never mind the logical disconnect between 'policy  
enforcement' as a
management function and the need to do that in an 'unmanaged' way.
I'm referring to unmanaged networks in the sense defined in section  
5.2 of RFC 2462, particularly with regard to the "OtherConfigFlag"  
conceptual variable:
OtherConfigFlag Copied from the O flag field (i.e., the "other
                       stateful configuration" flag) of the most
recently received Router Advertisement message.
                       The flag indicates whether or not information
other than addresses is to be obtained using the stateful autoconfiguration mechanism. It starts
                       out in a FALSE state.

In addition, when the value of the ManagedFlag is TRUE, the value of OtherConfigFlag is implicitely TRUE as well. It is not a valid configuration for a host to use stateful address autoconfiguration to request addresses only, without also accepting
                       other configuration
                       information.
At least with DHCP6, you can imagine defining some options for  
telling nodes on "managed" networks, i.e. those with OtherConfigFlag  
set TRUE, about firewalls that have to be signaled to make  
applications work.  If there is no configuration service, however, I  
don't see how nodes can discover firewalls to signal without either  
1) doing something really noisy, or 2) adding a new router  
advertisement option to help control the problem.  New router  
advertisement option definitions, I'm told, are a tough sell in IETF.
The point you make about conveying to IETF regulars the complexity  
of, the importance of, and the foresight required in choosing  
appropriate defaults for consumer-grade network appliances is well  
taken.  It's clear to me now that the IETF has applied less thought  
to making the Internet easier for ordinary people to use than to  
making the operation of Internet services easier for technocrats to  
manage.  Hopefully, it's not too late to do something about that.

--
j h woodyatt <jhw@apple.com>