﻿ cFosSpeed Documentation - Traffic Shaping for Filesharing (P2P) - cFos Software

Prioritize programs with cFosSpeed
Program list
Suggest new program

Traffic Shaping for Filesharing (P2P)

Thanks to cFosSpeed Traffic Shaping, you can finally use the full upstream bandwidth (with eMule, Kazaa or BitTorrent etc.) and make it available to other filenet users - without adversely affecting other Internet applications.

The problems with filesharing software

Running filesharing programs (like eMule, Kazaa or BitTorrent) will usually take up most if not all upstream channel bandwidth, which leaves the connection prone to high ping times. Not only does this mean filesharing communication itself will run slowly (source requests may take a full 1 or 2 seconds rather than just a few milliseconds), but it will also choke other Internet applications to a crawl. By the same token, download rates may plummet, since TCP ACKs are not being sent out in time. The browser will also become noticeably less responsive while surfing the Net.

A popular workaround offered by many filesharing programs is to put an artificial cap on the upload rate.

However, if you are simultaneously running a mail upload in addition to a filesharing upload, both will compete for available upstream bandwidth. How much bandwidth each of these uploads will eventually receive is basically left to happenstance. In some cases, this may even lead to termination of all TCP connections (TCP connection starving).

The solution: Traffic Shaping

cFos Traffic Shaping

The priority scheme integrated in cFos and cFosSpeed (re)organizes data packets in a manner that ensures maximum download rates for filesharing programs. In addition, cFos and cFosSpeed deprioritize filesharing data transfer. Now, this should not be taken to mean such traffic is artificially slowed or even altogether stalled. What it does mean, however, is that such data will be briefly delayed when more important data is being transmitted. Only this priority scheme makes it possible to have filesharing programs run at maximum transfer rates while still using the same connection for other applications at the same time.

For instance, if you have a filesharing program running in the background when surfing the Net, there will only be a brief, minimal slowdown in P2P traffic while a new page is being loaded. Likewise, when sending out longer e-mails, P2P upload rates may briefly drop somewhat while the mail is being transmitted. Once the mail is sent, all uploads will continue at full speed again. The only alternatives would be to postpone transmission of the mail "forever" or artificially limit transfer bandwidth for filesharing somehow. But this would also mean a loss of bandwidth even when no other application is using the same connection.

cFosSpeed is thus optimized for use with filesharing (p2p) software, allowing users to have such a program run in the background without noticing its regular Internet activity.

Therefore, we suggest setting Kazaa etc. to "unlimited upload" while deactivating the "speed sense" option, since cFosSpeed will already optimize Internet traffic anyway.

Icon skin

Since most users have their filesharing programs run 24 hours a day, cFosSpeed comes with its own icon skin for this, making it possible to keep track of the connection without needing to have a separate status window open at all times.


Quite a few users have one PC set aside specifically for filesharing and route P2P traffic (e.g., via Internet Connection Sharing) through a main computer directly hooked up to the Internet. In this case, the Layer-7 Protocol Detection integrated in cFos and cFosSpeed permits prioritization of the most important P2P networks like BitTorrent, eDonkey 2000 (eMule, etc.), Kazaa, Gnutella(2), Kademlia, and Direct Connect.

Prioritizing Programs:

Dialog for program prioritization

cFos and cFosSpeed also permit prioritizing programs by their name. Many of the most important programs have already been included in our program setting list. This way of prioritizing is especially useful when the Layer-7 detection cannot recognize and assign data properly (as would, for instance, be the case with encrypted P2P traffic).

DSL connection settings

Optimizing Connection Settings:
