March 13, 2010 Leave a comment
Finally, the newest DC++ 0.760 introduced a function what’s become a prerequisite for every p2p application over the years. Yes, it is the bandwith or transfer rate limiting capability and is a very useful thing, a tool in the user’s hands to arrange the bandwith usage between running applications or computers reside in the same local network.
As DC++ 0.760 brings many exciting new features, I wanted to go to details about other interesting things first. But as we heard that some uniformed hub owners already started to ban the newest DC++ version in their hubs, I thought its better to discuss the limiter topic asap, to try to show that its really not the evil thing to be afraid of…
Beside the reasons above, bandwith limiting possibility is a vital need for those who has asynchronous connections (eg. xDSL) where uploads near the speed of the maximum upload bandwith of the connection can badly affect the speeds of the downloads, no matter how much larger your download connection is. This can render the connection unusable for other applications (even for web browsers) while DC++ is running.
This means that allowing a slight limit of the upload bandwith to the user is desirable and it enhaces the user experience. The question is what can be done against abuse or misuse of this function.
In fact, its not a matter of absence or existence of the bandwith limiting function on various DC clients. If someone wants to abusively limit his/her uploads, it can be done by various ways like using fake DC clients or running external bandwith management applications either on the host computer or in the gateway device (router, etc…). Even there is at least one official DC client (BCDC++) which has bandwith limiting possibility for a long time without showing the usage of the upload limiter in any way.
So the only thing we can do is to trust the network members with a hope that vast majority of them are’nt abusers. Its clear that banning certain groups of users when there are numerous possible ways still open to use bandwith limiting is not a particularly smart practice to say the least…
Its important to know that unlike other clients, DC++ 0.760 shows the value of the used upload bandwith limiter in both ADC and NMDC hubs. Its not in the DC++ tag, but in case of both protocol, the value is shown in the same place, in the connection coloumn (CO field).
In ADC, when the limiter is enabled the CO field is changed to the limiter value and shown the same way as the line speed before.
In NMDC, as the connection value is sent as a string, we carefully chose a format that differs from anything that DC++ ever shown in the connection column, thus we made the bandwith limiter usage clearly detectable for hub owners. The upload limiter value is shown in KiB/s, and includes the unit in latin letters (for example : 32 KiB/s).
We all know that the (current) nature of the DC network doesn’t let us control the up/download ratio of the users. This is bad but there’s a hope that we’ll have a ratio control extension for ADC soon, so then hub owners will be able to regulate their users upon their ratio as they wish. Until then, everybody should be patient…