Lafeng / deblocus

An Excellent Proxy.
MIT License
185 stars 42 forks source link

dynamic port #11

Closed ghost closed 9 years ago

ghost commented 9 years ago

Is it possible to use one port for negotiation and another dynamic (switching within a port range set on server) port for data?

spance commented 9 years ago

It's logically feasible, but I think that should be unnecessary.one port listening has worked finely for mixed control tunnel and data tunnel communications.What do you think the necessity of the dynamic ports serving?

spance commented 9 years ago

And I have working at merging the control tunnel into data tunnel, then could reduce one connection between c/s. Another feature fast-open was also in progress, will make the many small request send to server immediately without confirming, will be aware of the fast responding.

ghost commented 9 years ago

As an alternative choice to avoid bandwidth throttling. GFW throttles my traffic (I guess, or it could be interfering the control tunnel) to proxy server and changing the port helped. PS: What caused this? -> queue.go:291] Write edge(a.b.c.d:443) error(WSASend tcp 127.0.0.1:1080: An established connection was aborted by the software in your host machine.).

spance commented 9 years ago

Popularly the bandwidth throttling that was not caused by some special ports or some special protocols, may be the international link is very busy or your ISP enabled QOS, that will give rise to increasing packet lost rate, then will be aware of the throughput is slow down. But, we could adjust kernel/tcp congestion control algorithm and configuration to make up the lost packets resend as soon as possible, perhaps you will find out a few accelerating solutions in the tcp transmission scheme. Don't worry about Write edge error that is a normally warning, such as the local connection was closed suddenly but the peer is sending data to the local connection, then will caused that warning.