Jump to content

IP type-of-service (ToS) support; flexible ul speed limits


shipwreck

Recommended Posts

  • Replies 73
  • Created
  • Last Reply
  • 2 months later...

Please add DSCP feature.

fyi: some devices (Many ADSL modems and DSLAMs alike I've seen, wireless systems e.g. Canopy, Nextnet) can peek into IP packets at CPE and u-PE(user facing provider edge, i.e. dslam, basestation, switch, olt etc) and then do configuration based (re)prioritization/(re)classification/policing of the traffic flow, some ADSL equipment can even send it out through a diffrent VCI/VPI pair, just a clarification this all affects bandwidth utilization of OSI L1 between CPE and u-PE, that's where the bottleneck is, and is the network segment where the bandwidth is never enough. This is very useful e.g. an ADSL modem is connected at 8mbps down and 800kbps up, now if uTorrent is uploading at full speed, even a simple http request will have difficulty getting through, will make your web experience very unpleasant, but when you DSCP traffic from uTorent with a lower priority, CPE will drop/queue (vendor implementation and/or cpe configuration dependent) traffic from uTorrent, u-PE will have to do a little more but to the same effect on the traffic to uTorrent.

BTW, very nice client.

Link to comment
Share on other sites

  • 3 weeks later...

Good evening,

I'd like to say: I'd love to have this feature!!! Being able to set the TOS field on the packets would help a lot!

Anything else - trying to "guess" what is bittorrent and what isn't by parsing the packets (port, content, etc) - isn't perfect. And I'd really rather have this control over what this application is spitting out on my network (I love utorrent! don't get me wrong!) instead of trying to "back-guess" what the packet was supposed to be.

I hope this feature get implemented :-)

Link to comment
Share on other sites

We're already using SO_REUSEADDR otherwise you could only make *one* outbound connection with the same local endpoint. SO_REUSEADDR is for reusing the same local endpoint with different remote endpoints. If the local endpoint, remote endpoint and protocol (tcp) all match, SO_REUSEADDR has no effect.

"A socket is a 5 tuple (proto, local addr, local port, remote addr, remote port). SO_REUSEADDR just says that you can reuse local addresses. The 5 tuple still must be unique!"

http://www.unixguide.net/network/socketfaq/4.5.shtml

Regarding TOS: http://support.microsoft.com/kb/248611

Link to comment
Share on other sites

  • 3 months later...
  • 6 months later...

As I understand, DSCP (diffserv) wan't implemented too?

I simply need to classify traffic from one computer to bittorent and other. My router have no possibilities to check more than TCP headers.

How I can make ToS feature implemented?

Many words like already exists in this thread?

Say PLEASE many times?

Money?

I very want this feature.... what can I do instead of switching to another bittorent client?

Link to comment
Share on other sites

Now I have silent little white box (asus wl-500g).

And this MUCH better than buying computer, installing and tuning all router software including WiFi and packet sniffers, just to classify bittorent traffic (not all, only uncrypted one). Repeat in case of each user that wants ToS :)

On other side, adding one string to source will be nothing compared to other patches/features/changes to sources. Why not to do so? Why not to add only one field in advanced tab and one call for setsockopt? This will cost nothing to developers and will help very much to users. Why this thread lasts for years???? I cannot understand this.... :( May be, some religions do not allow using ToS marks?

I can build linux router, but I do not want to have big PC at home just NOT TO CHECK TOS. TOS is the way to do QoS simple and without additional problems, why not implement it?

What is THE REASON not to do so?

p.s. Oh, i'll go to kitchen and drink some vodka to relax a little :)

UPDATE: After spending one night with debugger I figured out that ToS feature IS IMPLEMENTED and it WAS IMPLEMENTED some time ago (at least in 1.7). Setting name is net.diffserv_codepoint. This option exists in Advanced settings, but disabled and not visible in list.

I patched unpacked EXE (70 00 61 00 FF FF FF FF 00 00 00-> 70 00 81 00 FF FF FF FF 00 00 00) and found this feature working fine. After exiting value was saved to settings.dat and I was able to use other version of uTorrent.exe (setting not visible but has effect in this case).

Value (-1 as default) can be assigned 0 to 15, making ToS value from 0x30 to 0x3F.

I have only one question after this all: Why are you fooling your users about this feature?(joke about installing separate PC with Linux for L7 parsing was especially cynic for me from my current point of view).

Link to comment
Share on other sites

  • 1 month later...

i would really really like ToS as well. i don't understand why the dev team (especially Firon) are refusing to implement such a simple (and useful) feature.

as far as i can tell, Firon, you're just being a douche.

Link to comment
Share on other sites

... I don't understand people asking this for a client. Never ever will I. In an embedded setting MAYBE, but that's only because there's no other POSSIBILITY of usage outside uT's control. uT only knows about YOU on YOUR MACHINE during the TIME it's running. It only rudimentarily knows now what your total activity on the machine is, and can also scale itself sometimes for using too much of your theoretical linespeed in the current 1.8 Betas.

Until such time uT is in embedded/firewall devices, this should be locked/trashed/stickied/highlighted/arrowed/FAQed ;)

If people weren't so flagrantly moronic I'm sure you'd get a nicer response from the admins here.

<me gives Firon a meaty bone> good guard hound.

Link to comment
Share on other sites

Let me try to explain my and probably the other people requesting this features situation.

My router is a Cisco which cannot (atleast fast enough) do deep packet inspection to detect BT. (this is impossible on encrypted sessions anyhow). So to be able to prioritize my outgoing internet-traffic to stop congestion I have to match all traffic that I want to give priority. (meaning a heck of a long access-list that I have to update everytime I try a new game / whatever)

If I had the possibility to mark all my BT traffic with a DSCP bit, well then I could just match on that and give it the lowest possible priority thus removing the administrative work of matching my important traffic.

Anyhow, I'm sad to say I have now switched to Azureus where this works just fine.

Link to comment
Share on other sites

If you use the advanced outgoing port, I suggest using an outgoing port RANGE as well...so you can download/upload multiple torrents to the same ip. Shouldn't be much harder to create rules for that on the Cisco router.

Then ALL uTorrent related traffic should be on uTorrent's incoming port or outgoing port range.

Link to comment
Share on other sites

  • 1 year later...
  • 3 months later...

Sorry to resurrect this thread, but I thought it better than making a new one. DSCP support for outbound traffic would make things a lot easier for me.

My router supports a few methods of QoS: IP/MAC, port, and DSCP. IP/MAC isn't fine grained enough for me because I often have torrents and a game server going at the same time, same machine. I shutdown the torrents when I game, but I'd like to have as little impact on the server as possible while others are using it (been throttling torrents lately). I have the ports for the server QoS'd to high, but I'd like my bittorrent on low along with FTP, behind web traffic at medium.

Trying to set up port-based QoS for uTorrent I've found that it is having issues with a range set in net.outgoing_port and net.outgoing_max_port. In TCPView, I see a few listening connections (on my forwarded port), and most at the first port in the outgoing range (im using a 100 port range starting at 27400, QoS'd at the router to low), but still a few connections establish at around 53-55000. Tracker updates are either showing up as actively refused, or with the error that "only one usage of each socket address is normally permitted" - If anyone wants more info on the error, ask away. If it matters, I'm on Windows 7 32bit.

DSCP flagging would sidestep all this and allow it to use whatever ports it feels like. But if the above issue can be addressed, I suppose I can live without DSCP. I see above someone claiming that they enabled the feature with a patched exe, but I'd like to see this legitimately added some day.

Link to comment
Share on other sites

hazmatt, is uTorrent's listening port inside the outgoing port range?

Tracker updates are being done via HTTP/HTTPS or UDP, so they may be trying to use standard web browser ephemeral ports...getting blocked...and then all trying to use the same outgoing port and conflicting.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...