[JDEV] Q: oob and direct P2P communications

Daniel Veillard veillard at redhat.com
Thu Mar 29 02:43:05 CST 2001


On Wed, Mar 28, 2001 at 05:43:13PM -0800, Jens Alfke wrote:
> Not quite. HTTP requests can get out of firewalls, but not into them. 
> Same goes for NAT. So no one inside a firewall or NAT network can send 
> a file to someone outside, unless some kind of special proxying is done 
> somewhere. 

  Of course this is completely dependant on the actual firewall setup,
and also never forget that running HTTP on a port different than 80
is usually extremely simple ;-)

> Just to play devil's advocate: Why is it so crucial for file transfers 
> to be out of band, anyway? Jabber's architecture is similar to SMTP, 
> and people send each other large e-mail enclosures all the time. Why 
> can't I just send someone a file as a big CDATA element inside a 
> <message>?

  Scaling, since the server may have to keep them around and somewhat
acts as the bottleneck for the number of client you can support at once,
reducing the processing needed on the server to a minimum garanteed by
the protocol is a Really Good Thing. I think the same applies for the
500KB limitation for an xmlnode (can this value be confirmed ?).

> Actually, given limitations on XML element lengths and for 
> other reasons, it would probably be necessary to packetize the file 
> into smaller chunks (32kbytes?) which can each be sent in a separate 
> message with a sequence number. 

  Welcome to reinventing TCP on top of a different transport protocol.
My personal taste would be that if new middleware extensions were to
be build in the jabber framework they should incorporate optional
quality of service semantic, like ordering (total for a point to point
communication channel, causal or total for a group), because the
server is ultimately a better place to implement those IMHO. 

Daniel

-- 
Daniel Veillard      | Red Hat Network http://redhat.com/products/network/
veillard at redhat.com  | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/




More information about the JDev mailing list