Ascend Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: (ASCEND) Quake/QW and Pipeline 75 and NAT
This is probably the wrong place for this point, but I'll make it anyway.
I was the person who proposed UDP in the original TCP/IP design (in 1976),
and fought for it as a vehicle for connectionless protocols.
Connectionless protocols are very powerful, especially when there are more
than two end-points in a protocol, and when communication among the end
points is used to propagate state changes in an application-specific way.
UDP does NOT have 'connections'. It is NOT required, and was NEVER
intended that a UDP datagram must be part of a 'session' set up by some
kind of initial datagram from the person 'opening' the 'session'. That may
be a common use, but it is not the only use, and such a restriction was not
intended in the original design. It's a peculiar rewrite of history to say
(as one correspondent did) that Quake violates a rule of UDP by
transmitting addresses in data portions of datagrams. That rule is not a
UDP rule, but a NAT-compatibility limitation - a case where NAT does not
work. But NAT-compatibility is not a requirement for Internet protocols -
to the contrary, IP is an end-to-end protocol, and the IP spec says that
certain parts of the IP datagram are to be delivered unchanged (and that
includes the address fields). That NAT happens to work at all is a lucky
accident.
NAT requires that UDP be used in this restricted manner (requiring
connections) in order to detect new translations that it must do. In other
words, NAT precludes a wide variety of perfectly legitimate protocols.
IMHO, this makes NAT bad for the Internet. If you cannot conceive of the
Internet evolving and adding new multi-endpoint protocols, you may not
agree. But I hope some of you will join me in resisting the spread of NAT
by not using the feature, and by informing any ISPs or corporate sysops who
use NAT that NAT is a bad idea for the health of the net.
The spread of NAT (which Ascend and other vendors are encouraging, much to
my chagrin, and anger,) with its assumption that 'connections' are
maintained, is being used as a vehicle for stamping out protocols that are
PERFECTLY valid, and in many cases very good ideas. It may be possible to
make Quake's protocol NAT-compatible - and I suspect the market will do
that, because enough ISPs have decided to offer NAT-crippled service to
save a few bucks on subnet address space. But there are other protocols
(some yet to be invented) that make a lot of sense for their application,
but for which forcing NAT compatibility may be difficult, impossible, or
just plain suboptimal.
- David
++ Ascend Users Mailing List ++
To unsubscribe: send unsubscribe to ascend-users-request@bungi.com
To get FAQ'd: <http://www.nealis.net/ascend/faq>
Follow-Ups: