Home

A free C++ BitTorrent/HTTP/FTP Download Client

bitcomet_client_issues_and_possible_solutions
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
bitcomet_client_issues_and_possible_solutions [2012/08/09 15:17]
greywizard [When BitComet is running my router/modem reboots itself or freezes. Why is this happening and what can I do to fix this?] - Added point nr.4 in list
bitcomet_client_issues_and_possible_solutions [2015/08/15 04:21] (current)
Line 179: Line 179:
 You can and must impose an upper limit on the global upload bandwidth that BitComet is allowed to use. The limit must be large enough to permit good upload speed for each task you are running, yet small enough that other applications have enough bandwidth to get their jobs done. You can and must impose an upper limit on the global upload bandwidth that BitComet is allowed to use. The limit must be large enough to permit good upload speed for each task you are running, yet small enough that other applications have enough bandwidth to get their jobs done.
  
-Practically, this means you must find out what your actual upstream bandwidth is, and then set your Global Maximum Upload Bandwidth in BC to about 80% of that maximum. (Don't rely on what your internet service provider told you your speed was: test it, with nothing else using any part of it, at [[http://www.speedtest.net/|speedtest.net]] or a service fairly nearby, and do it at different times of day and night on different days, to get a reliable average value.)+Practically, this means you must find out what your actual upstream bandwidth is, and then set your Global Maximum Upload Bandwidth in BC to about 80% of that maximum. (Don't rely on what your internet service provider told you your speed was: test it, with nothing else using any part of it, at [[http://www.speedtest.net/|speedtest.net]] or a service fairly nearby, and do it at different times of day and night on different days, to get a reliable average value.) You will need to make sure you transform K**b** in K**B** (a division by 8 will pretty much cover it), then multiply it with 0.8 and input the result on the [[bitcomet_options#connection|BitComet Options --> Connection]] page, in the "//Global Max Upload Rate//" box.
  
 When you aren't using any other applications, you still **can't** leave your GMUB unlimited, because BitComet will even interfere with itself, dropping packets in the same way. You can increase the rate, but remember to decrease it again when you want to do other things.\\ <html><br /></html>    When you aren't using any other applications, you still **can't** leave your GMUB unlimited, because BitComet will even interfere with itself, dropping packets in the same way. You can increase the rate, but remember to decrease it again when you want to do other things.\\ <html><br /></html>   
Line 207: Line 207:
 The main issue here, is related to a technology employed by your router/modem, called NAT (Network Address Translation). The main issue here, is related to a technology employed by your router/modem, called NAT (Network Address Translation).
 In short, what this does for you is allowing you to use multiple devices in your personal home LAN (Local Area Network), while having/paying only for one single public IP address to connect to the global network known as the Internet.\\  In short, what this does for you is allowing you to use multiple devices in your personal home LAN (Local Area Network), while having/paying only for one single public IP address to connect to the global network known as the Internet.\\ 
-NAT does this by translating the private IP addresses used by the devices in your LAN (PCs, servers, etc.) to the public IP address (which your ISP assigns to you), for all the outgoing traffic of your network, and vice-versa, translating the public IP to the private IP addresses each device on your LAN uses, for all incoming traffic going to any of your local devices.+NAT does this by translating the private IP addresses used by the devices in your LAN (PCs, servers, etc.) to the public IP address (which your ISP assigns to you), for all the outgoing traffic of your network, and vice-verse, translating the public IP to the private IP addresses each device on your LAN uses, for all incoming traffic going to any of your local devices.
  
 It doesn't matter if you have only one PC connected to the router, it doesn't care about that. As long as NAT is enabled it will do it's job and translate addresses. It doesn't matter if you have only one PC connected to the router, it doesn't care about that. As long as NAT is enabled it will do it's job and translate addresses.
Line 213: Line 213:
 The NAT process does that by using a //NAT session table// which keeps tabs of which port is mapped to which local IP address, so that it may forward incoming reply traffic to the proper local device on the LAN. The NAT process does that by using a //NAT session table// which keeps tabs of which port is mapped to which local IP address, so that it may forward incoming reply traffic to the proper local device on the LAN.
  
-As you may have guessed, this NAT table is hosted into the router's memory and as we all know, memory is a limited and expensive resource. Depending on the brand and the model of your router/modem, your equipment will be able to hold various maximum numbers of simultaneous entries depending on the amount of memory alloted to it.+As you may have guessed, this NAT table is hosted into the router's memory and as we all know, memory is a limited and expensive resource. Depending on the brand and the model of your router/modem, your equipment will be able to hold various maximum numbers of simultaneous entries depending on the amount of memory allotted to it.
  
 While better equipments have no problem in handling the great number of connections initiated by a BitTorrent client, others do. This isn't to say that the respective device is a bad one per se (it will probably work OK in most other situations), it's just not fit for handling BitTorrent traffic. While better equipments have no problem in handling the great number of connections initiated by a BitTorrent client, others do. This isn't to say that the respective device is a bad one per se (it will probably work OK in most other situations), it's just not fit for handling BitTorrent traffic.
Line 232: Line 232:
    - Next, set the //network.max_connections// option to a conservative value such as 200, for starters. This will limit the number of simultaneous TCP connections maintained by BitComet, to whatever value you set for this option, and in turn reduce the number of entries which BitComet may place in the NAT table, by the use of TCP connections.    - Next, set the //network.max_connections// option to a conservative value such as 200, for starters. This will limit the number of simultaneous TCP connections maintained by BitComet, to whatever value you set for this option, and in turn reduce the number of entries which BitComet may place in the NAT table, by the use of TCP connections.
   - (Optional) If you're using Windows XP, you may also want to set the number of maximum embryonic connections allowed by Windows to something a little higher than the default 10 (by using the [[bitcomet_options#tcp_ip_limit|TCP/IP Limit]] option in BitComet to set it at something like 20) and then make sure that the //network.max_connecting_connections// option is set to something lower than that (the default 10 should be OK).   - (Optional) If you're using Windows XP, you may also want to set the number of maximum embryonic connections allowed by Windows to something a little higher than the default 10 (by using the [[bitcomet_options#tcp_ip_limit|TCP/IP Limit]] option in BitComet to set it at something like 20) and then make sure that the //network.max_connecting_connections// option is set to something lower than that (the default 10 should be OK).
-  - Another thing you might want to watch out for is the number of simultaneous running tasks BitComet has since incoming TCP connections and UDP traffic for each additional task cannot be stopped before the router so each different IP source will create a new entry in the NAT table. Starting out with 1-2 running tasks in total (both downloading and seeding) might be a good place to begin, along with all the above measures if you encounter this type of issue. +  - Another thing you might want to watch out for is the number of simultaneous running tasks BitComet hassince incoming TCP connections and UDP traffic for each additional task cannot be stopped before reaching the router so each different IP source will create a new entry in the NAT table. Starting out with 1-2 running tasks in total (both downloading and seeding) might be a good place to begin, along with all the above measures if you encounter this type of issue. 
-  - If after doing all the above your problem still isn't solved, then it means that the culprit here is probably the UDP transport protocol. BitComet may communicate with very large number of different IPs using UDP, on account of DHT messages which use UDP as a transport protocol as well as Torrent Exchange. Each UDP datagram outgoing towards a different IP address will create a new entry in the NAT table of your router, so it can easily become cluttered simply on account of UDP traffic.\\ +  - If after doing all the above your problem still isn't solved, then it means that the culprit here is probably the UDP transport protocol. BitComet may communicate with very large number of different IPs using UDP, on account of DHT and Torrent Exchange messages which use UDP as a transport protocol. Each UDP datagram outgoing towards a different IP address will create a new entry in the NAT table of your router as well as each new IP address sending a datagram towards you, so your router's NAT table can easily become cluttered simply on account of UDP traffic even though the traffic volume in itself may not be very high, necessarily.\\ 
 An option in BitComet, that you can use to contain this effect, is //network.max_udp_pkt_per_sec// which will limit the maximum number of UDP datagrams which BitComet may send per second. Setting this value to a conservative value, such as 5 will limit the max number of new entries which BitComet can create through UDP, in the NAT table of your router, to 300 new entries per minute. An option in BitComet, that you can use to contain this effect, is //network.max_udp_pkt_per_sec// which will limit the maximum number of UDP datagrams which BitComet may send per second. Setting this value to a conservative value, such as 5 will limit the max number of new entries which BitComet can create through UDP, in the NAT table of your router, to 300 new entries per minute.
 Summed with the 200 you set for TCP, this will give a max number of 500 entries BitComet can place any minute in the NAT table, on behalf of outgoing traffic. Summed with the 200 you set for TCP, this will give a max number of 500 entries BitComet can place any minute in the NAT table, on behalf of outgoing traffic.
 
bitcomet_client_issues_and_possible_solutions.1344525433.txt.gz · Last modified: 2015/08/15 04:21 (external edit)
[unknown button type]
 
Recent changes RSS feed Driven by DokuWiki