[OpenAFS] Re: tcp or udp?

Adam Megacz megacz@cs.berkeley.edu
Wed, 01 Feb 2006 08:59:37 -0800


"ENEM | Hans Melgers" <hans@enem.nl> writes:
> We have quite some problems because of poor udp support in adsl routers

Just curious, are you referring to the fact that these devices delete
the internal-ip/external-port mappings more quickly than callbacks expire?

The Asterisk IAX protocol deals with this by using a "ping pong ball"
packet, although I suppose that's more tolerable when you consider the
fact that it's designed as a media transport, so those sorts of
transfers are negligible compared to the bulk data.


> and blocked ports in firewalls. 

My personal experience is that most places blocking UDP are also
blocking TCP and forcing users to use an HTTP proxy for all internet
access.  I'm actually interested in knowing about the prevalence of
anything that falls in-between (NATted TCP but no UDP).  I know it's
possible, of course; are there any network devices that do this by
default, or is it usually the case that networks configured this way
are setup this way deliberately?

I know it sounds like a hideous idea, but if AFS-over-TCP ever
happens, I think tunnelling it inside HTTP would be a pretty useful
hack.

Given the way that most NATs work, it's actually possible to do
something called "unreliable TCP".  I've never seen this mentioned
before, but I can't be the first person to think of it.  The idea is
that you "speak TCP" but always ACK all packets periodically,
regardless of whether or not you got them -- the NAT can't tell the
difference.  So you get UDP-type performance with TCP-type
compatability.  With many NATs you wouldn't even need to bother with
the ACKs at all.

  - a