Bandwidth settings

limits and transfers

The bandwidth settings are on upper part of the page http://127.0.0.1:7657/config.jsp which will appear after hitting the Configuration link in leftern status console menu.

It looks like:
bandwidth

Setup your bandwidth wisely - I2P will use a lot of bandwidth if you do not limit it.
Know your linespeed! Your linespeed is shown on your dsl or cable modem information page or in your contract with your internet provider.

Note to following terms: I use old ones, I do not like the SI terms. But for your convienience I tell you:
Mbit = MiBit
kbit = KiBit
kbyte = KiByte

To calculate those values, just devide the Mbit value by 8 and you get the MByte value. And 1024 kByte are 1 MByte.

Most common terms for internet lines are:

64 kbit roughly 8 kbyte/sec 0.008 MB/sec
512 kbit roughly 50 kbyte/sec 0.050 MB/sec
1 Mbit roughly 10 kbyte/sec 0.1 MB/sec
10 Mbit roughly 1100 kbyte/sec 1 MB/sec
100 Mbit roughly 11000 kbyte/sec 11 MB/sec

For german DSL:
1000er roughly 100kb/sec 0.1 MB/sec
12000er roughly 200kb/sec 0.2 MB/sec
6000er roughly 600kb/sec 0.6 MB/sec
16000er roughly 1600kb/sec 1.6 MB/sec
50000er roughly 5000kb/sec 5 MB/sec

Set your bandwidth limits slightly under your line speed. This will not kill your line while heavy I2P usage.
This setting for bandwidth is the first and last limiter after/ahead of your internet line.
All I2P based traffic is limited by this setting. This includes the usual overhead, all data send/received by all I2P applications running on that router and the traffic routed for other routers (participating tunnels). Most of those applications got their own bandwidth limiter, but this one is the general one for everything together on your node!

The settings for bandwidth share describes how much of your bandwidth will be maximum allowed to be shared for participating tunnels (traffic that does not end or origin at your I2P router).
In default setup own traffic (data that ends or origins at your router, e.g. if you visit eepsites or use torrents via I2P) will be preferred over shared bandwidth. It will cut down the shared bandwidth as long as you need the traffic local. But to always get a nice speed for own traffic and be nice to the I2P net, I prefer the setting of share like this:
100% if lowest bandwidth setting is >1024kb/sec
>80% if lowest bandwidth setting is >30kb/sec
>50% if lowest bandwidth setting is >16kb/sec

There is no shared bandwidth under 16kb/sec.
This way it will left enough space for the I2P net not to kill participating tunnels if you need more bandwidth than usual.

Remember: I2P is a self containing network, all traffic produced by I2P must be routed via I2P routers. If you do not share any bandwidth, the others I2P routers need to take up that load! There are NO dedicated fast routing servers provided by the I2P team - the users itself are building the network. The more bandwidth is shared by single routers, the faster single transfers will happen!

Be careful with your traffic allotment of your provider - I2P will produce a lot of traffic if you will not limit it. Two ways to limit the bandwidth are included into I2P: One way is desribed above, the other one is by limiting the amount of participating tunnels your router accepts.
I2P prefers tunnels over bandwidth - if needed I2P will build up more tunnels and reduce bandwidth on existant tunnels. If no tunnels can be built, users will not be able to setup a new destination and participate in I2P.
To maintain a good experience for all users on I2P we need to cope with allowing enough tunnels to be build and let those tunnels get enough bandwidth.

Limit your participating tunnels on the configadvanced.jsp page with adding the line:
router.maxParticipatingTunnels=500
Set the number to one of these values:

participating tunnels resulting bandwidth
3 2500 1500 kb/sec - high value with high CPU load!
1500 900 kb/sec
800 500 kb/sec
500 300kb/sec
200 150 kb/sec
150 70 kb/sec

Notice: even failed tunnel requests will result in a participating tunnel. Which resuluts in far more participating tunnels unused than used if the network is under load.

It is wise to first limit the bandwidth and afterwards the participating tunnels, e.g. set some more participating tunnels and let I2P reach the bandwidth limit instead of the participating tunnels limit.

If you set your bandwidth limit higher than 1 MB/sec and participating tunnels over 3000 I2P will hardly reach your limits. I2P tries to spread the load upon a lot of capable routers and not to let one router get all tunnels (out for security and reliability reasons).