RE: RES: ReN: IPv6 tranisition issues

"Brian Zill" <[email protected]> Tue, 7 Jan 2003 23:58:07 -0800
Newsgroups gmane.ietf.ngtrans
Message-ID <CB7153628BD3724096258CBFD70AA891066F25A9@red-msg-04.redmond.corp.microsoft.com>
> Keith Moore SHOULD have written:
> 
> NAT breaks Unix applications but not Windows applications.

Er, no.  There is nothing magical about your choice of operating system
with regards to Internet architecture.  Maybe you've been lucky with the
particular applications you use, but I can guarantee you that there are
both Unix and Windows applications (and versions of the same application
for the different platforms) that do not work through a NAT.  It's the
functionality of the app, not the platform on which it runs, that
matters here.

> My opinion: the original purpose of TCP port numbers and UDP 
> port numbers was to allow more than one process or user to 
> share the same connection or other resource.

> LIkewise, NAT essentially does the same thing on the other 
> end by allowing a LAN or other subnet to pretend to be a 
> single timesharing machine with only ONE IPv4 address.

NAT is not equivalent to how a node may multiplex the use of one IP
address among multiple data streams via the disambiguating port numbers.
NATs create a new private address space and expose it to applications as
if it were their real address.  If apps pass their (private) view of
their address around in the data stream to other nodes (which may be
outside of the private space, or worse, in a different instantiation of
the same private space), bad things happen.  Yes, some NATs try to
mitigate these problems by recognizing packets from such apps and
modifying the data stream -- but this is prone to error.  Also, the NAT
needs to know about every such app, making it hard to deploy new apps.
There are various other NAT traversal strategies out there, but none
fully solve the problem.  My opinion: the right way to fix the problems
caused by NAT is to deploy IPv6 and thus restore the Internet to the
state it was before NATs broke it.

--Brian