client-server

Al B. Snell alaric@alaric-snell.com
Fri, 22 Dec 2000 19:25:03 +0000 (GMT)


On Fri, 22 Dec 2000 linas@linas.org wrote:

> > You're missing the point - HTTP is slow! It doesn't load the server, it's
> > just slow!
> 
> Its not slower than rpc, corba, ftp, nfs or sendmail.  

Is so.

HTTP:

1) TCP 3 way handshake
2) Send request packet
3) Receive request ack
4) Receive reply packet(s) and send ACKs
5) TCP teardown, or return to step 2 for persistent connections

RPC over UDP:

1) Optionally send portmap request and wait for reply
2) Send request and wait for reply
3) Return to step 2 for further requests

(one or two round trip times)

RPC over TCP:

1) Optionally send portmap request and wait for reply
2) 3 way TCP handshake
3) Send request packet
4) Receive request ACK
5) Receive reply packets and send ACKs
6) Return to step 3

Now, RPC over TCP has similar packet-latency as HTTP so long as HTTP is
using persistent connections; but that doesn't increase much if you use
secure RPC which is much more lightweight than SSL.

I would suggest making good use of RPC over UDP - the connection should
start off with UDP, and only make TCP connections when "transactions" are
being performed. UDP will be fine for reading data, since if a packet gets
lost, a retransmit will have no idempotency problems... TCP will implement
the retransmit in a much bulkier way. RPC over UDP is as fast as an
Internet protocol can *ever* get.

> 
> --linas
> 

ABS

-- 
                               Alaric B. Snell
 http://www.alaric-snell.com/  http://RFC.net/  http://www.warhead.org.uk/
   Any sufficiently advanced technology can be emulated in software