Subject: Re: Delegation callbacks proposal

From: Jim Rees <[email-masked]>
Date: Sun, 02 Sep 2001 18:50:36 -0400

So, the implication of requiring bi-directional RPC is
  no NFSv4/UDP, or at least, no NFSv4/UDP that uses
  stateid or seqid generating RPCs.

I tried to bring this subject up in Santa Clara last year but was told the
same thing.  To which I will now make the same response.  AFS works through
NATs, and I believe it does so by using bi-directional rpc.  So we have an
existence proof that this is possible.  I see no reason why a client must
use different source ports on successive RPCs to the same server.  As for
clients requiring a pool of udp ports, only one need be bi-directional.

I hate NAT as much as the next guy, but I don't think we should make it
impossible for the protocol to work through a NAT.

How about we leave the clientid in there, but allow the client some way to
specify that the server should send callbacks back to the source rather than
to the given clientid?  That way it would be possible to build a client that
works through a NAT, but clients that don't want to work through a NAT don't
have to.

---

From: Ric Werme <[email-masked]>
Date: Sun, 02 Sep 2001 19:20:31 -0400

Jim notes:

> use different source ports on successive RPCs to the same server.

You will be pleased to hear that there is an existance proof in NFS space
re. a single port.  As Tru64 systems scaled, we ran into more and more
occasions when the system ran out of privileged port numbers because NFS
and "lesser" protocols had the entire name space tied up.  (Doing Email over
NFS and sendmail's .forward checks over NFS can be interesting when certain
systems are down.)

Since we already shared a TCP connection among all users of a NFS mount, it
seemed to me that was proof enough to be sure we could do it with UDP too.
So we now use a single port for all NFS client calls and the admin folks
hardly pester me at all anymore.  Instead of multiplexing on ports 512-1023,
we now multiplex on the XID, so that's 23 bits of room to go before we have
to bind XID counters to each server.  :-)

	-Ric Werme

-- 
[email-masked]           | http://people.ne.mediaone.net/werme