dcdev mailing list

Direct Connect developers, 2003 to 2005
← All threads

Suggestions

7 messages · eric, Fredrik Tolf, Ben White, Jernej SimonÄ�iÄ�
9 January 2004, 06:41eric <[email protected]>
Hi everybody,

For this new year, I have 2 little suggestions for the new protocol. It should be interested to have a protocol which can be encapsulated in HTTP protocol.
* Some users have a net connection at work (who does not have one ? :) ) but they must go through a web proxy (apache, ...) to reach the net (like me@work) and most of the time, on these proxies, the command CONNECT is disabled, only GET and PUT are usable. It is interesting to reach such users because they may have big network connections (companies have money to pay big one :) ) and most of the time, this type of connection is less loaded during night (local time).

[Note: I have tested this at work with bittorrent and it is far better than my home connection ;) ]

* Another suggestion linked to the previous one. Why not using HTTP protocol as user-to-user protocol ? it provides everything we need and can go through all proxies. Perhaps we can only use a subset of HTTP protocol because there is things we don't need.

Eric
DCTC/dchub

10 January 2004, 02:59Fredrik Tolf <[email protected]>
to Direct Connect developers
Jernej Simon?i? writes:
> On Saturday, January 10, 2004, 0:19:54, Fredrik Tolf wrote:
> > > While that is a very interesting thought, I wouldn't bet that it would
> > work. Admittedly, I'm no HTTP expert, but as far as I understand it,
> > HTTP (especially when connected through restricting proxies) is
> > probably too sequential for the kind of duplex connection that a DC
> > implementation requires.
> > With HTTP/1.1, you can do multiple requests on 1 connection - send
> first request, get data, send the next one etc

Yes, that was precisely what I meant with "sequential". I would
imagine that many proxies will enforce it very strictly.

> (it is also possible to send multiple requests at once, however
> this is still uncommon).

I haven't heard of this, though. Do you have more info on that?

Fredrik Tolf

10 January 2004, 04:32Ben White <[email protected]>
to "Direct Connect developers" <[email protected]>
You can make direct outgoing connections with an http proxy with no
modifications to the protocol required.
This works very similar to a socks proxy.

Ben

----- Original Message ----- From: "Jernej Simoncic" <[email protected]>
To: "Fredrik Tolf on [dcdev]" <[email protected]>
Sent: Friday, January 09, 2004 6:34 PM
Subject: [dcdev] Re: Suggestions

On Saturday, January 10, 2004, 0:19:54, Fredrik Tolf wrote:

> While that is a very interesting thought, I wouldn't bet that it would
> work. Admittedly, I'm no HTTP expert, but as far as I understand it,
> HTTP (especially when connected through restricting proxies) is
> probably too sequential for the kind of duplex connection that a DC
> implementation requires.

With HTTP/1.1, you can do multiple requests on 1 connection - send first
request, get data, send the next one etc (it is also possible to send
multiple requests at once, however this is still uncommon).

--=20



----------------------------------------------------------------------------
----


10 January 2004, 07:20eric <[email protected]>
to Direct Connect developers <[email protected]>, "Ben White" <[email protected]>
On Saturday 10 January 2004 04:32, Ben White wrote:
You can make direct outgoing connections with an http proxy with no
modifications to the protocol required.
This works very similar to a socks proxy.

Yes (except only TCP is allowed), using the CONNECT command but most of the time, this command is disabled.
Eric

10 January 2004, 07:23eric <[email protected]>
to Direct Connect developers <[email protected]>, Fredrik Tolf <[email protected]>

I would also imagine that some proxies let connections time out and
forcibly close the connection if the entire "page" hasn't been
recieved in a specified time. Since a DC implementation would keep the
connections open indefinitely, that is a problem.

I am not sure about this. I have seen some interactive forums running with simple HTTP and having bi-directionnal communication over a single HTTP connection without timeout on it (at least during the 12 hours I am watching it).

Eric

10 January 2004, 12:19Fredrik Tolf <[email protected]>
to Direct Connect developers
eric writes:
> For this new year, I have 2 little suggestions for the new
> protocol. It should be interested to have a protocol which can be
> encapsulated in HTTP protocol.
> > * Some users have a net connection at work (who does not have one ?
> :) ) but they must go through a web proxy (apache, ...) to reach
> the net (like me@work) and most of the time, on these proxies, the
> command CONNECT is disabled, only GET and PUT are usable. It is
> interesting to reach such users because they may have big network
> connections (companies have money to pay big one :) ) and most of
> the time, this type of connection is less loaded during night
> (local time).

While that is a very interesting thought, I wouldn't bet that it would
work. Admittedly, I'm no HTTP expert, but as far as I understand it,
HTTP (especially when connected through restricting proxies) is
probably too sequential for the kind of duplex connection that a DC
implementation requires.

Possibly, if anything, you could set up two connections (ie. have the
client connect twice), and let those two act as two simplex
connections.

I would also imagine that some proxies let connections time out and
forcibly close the connection if the entire "page" hasn't been
recieved in a specified time. Since a DC implementation would keep the
connections open indefinitely, that is a problem.

> * Another suggestion linked to the previous one. Why not using HTTP
> protocol as user-to-user protocol ? it provides everything we need
> and can go through all proxies. Perhaps we can only use a subset of
> HTTP protocol because there is things we don't need.

That is IMHO a far more interesting option. As you say, it fits in
very well with the needs of a user-to-user protocol. Also, the HEAD
request happens to fit very well with just getting info on a file.

The problem, if anything, is that HTTP is a _huge_ definition. It
would have to be very well defined which subset of HTTP that has to be
implemented by all nodes.

Also, not that it's actually such big a deal, but if we don't use a
strict HTTP implementation for the hub<->client protocol, I don't
really think that it looks very nice having two different protocols
for one program. It would be nicer to use the same protocol both for
the hub<->client and the client<->client protocol.

Still, HTTP for the client<->client protocol is a very interesting
thought. I'd like more people to have their say.

Fredrik Tolf

10 January 2004, 12:34Jernej SimonÄ�iÄ� <[email protected]>
to "Fredrik Tolf on [dcdev]" <[email protected]>
On Saturday, January 10, 2004, 0:19:54, Fredrik Tolf wrote:

While that is a very interesting thought, I wouldn't bet that it would
work. Admittedly, I'm no HTTP expert, but as far as I understand it,
HTTP (especially when connected through restricting proxies) is
probably too sequential for the kind of duplex connection that a DC
implementation requires.

With HTTP/1.1, you can do multiple requests on 1 connection - send first
request, get data, send the next one etc (it is also possible to send
multiple requests at once, however this is still uncommon).

-- 
begin  .sig
< Jernej Simoncic >< http://deepthought.ena.si/ >

The secret of success is sincerity. Once you can fake that, you've got it made.
      -- Glyme's Formula for Success
end