Network Setup Page

Overview

The Network Setup page allows you to adjust some one time settings for the program, as well as examine and possibly change the advanced settings

Appearance

Listen Port

This is the TCP/IP port number that is used when listening for incoming connections. Listening is required when you have Accept checked in the hosts page, when you are downloading and the remote host is behind a firewall (push), and when you are sharing files. The default port is 6346, but any number will suffice as long as it does not conflict with an existing service on your computer.

If you are behind a firewall, or you are using BearShare in an office or business environment, please consult your network administrator for the proper setting of this value.

Forced IP Address

If you check the box and enter an IP address, BearShare will report this IP address as the address for search results on files that you are sharing.

This can serve a number of purposes. If you want to increase your anonymity slightly, you could check the box and enter the private IP address 192.168.10.10. This address (among others) falls in the range of addresses reserved for private networks, and cannot be reached through the Internet. If you do this, your files can only be shared through push requests. BearShare does a good job of handling push requests when they come in; However, since the push message must pass through several hosts before it gets to you, a percentage of push requests will not make it.

If you are behind a NAT firewall (like Windows Connection Sharing) you may need to adjust this value to reflect the address of your proxy.

If you are behind a firewall, or you are using BearShare in an office or business environment, please consult your network administrator for the proper setting of this value.

Reverse Lookup

This checkbox enables or disables the feature of reverse DNS lookups. The reverse DNS lookup consults a local 'directory' to turn a dotted internet IP address (like 192.168.10.10) into a computer name. This feature works with Internet connections, and it also works in LAN environments. If you are in a LAN environment, BearShare will report the Windows Networking computer name as determined by the domain or the Network Control Panel settings.

When reverse lookups are enabled, IP addresses are translated for hosts, uploads, and downloads.

Message Throttling

When BearShare determines that hosts have reached a bandwidth barrier, these options reduce or temporarily disable the forwarding and routing of ping and pong messages, in an effort to reduce the surge in bandwidth being passed to the host.

Whether or not the options are turned on, BearShare will drop the connection to the host if the host is at the bandwidth barrier for a number of seconds equal to or greater than the bandwidthTimeout value in the settings file.

Show All Errors

If you are experiencing connection problems with hosts, uploads, or downloads, you can check these boxes, and BearShare will report all errors that come from the FreePeers agent.

When all error display is enabled, it is normal to see many error messages related to dropped hosts, reset connections, or aborted connections. If you have a specific problem, you may be able to diagnose it and correct it by viewing the error messages in the appropriate page.

Critical errors, and server errors, are always displayed. Server errors are displayed in the Hosts error list. When server errors are generated, the server indicator light will flash red.

Message Expiration

These settings control the time to live, and the maximum hop count of the messages that travel through the Gnutella network. It is normally not necessary to adjust these values.

In fact, raising these values can have a negative effect on your ability to perform searches, and the network in general. It can also cause greatly increased CPU utilization as your computer will be analyzing more queries than it would have otherwise.

BearShare, and most other well written Gnutella clients, adjusts the values of incoming messages to respect the TTL and Hops maximums, before they are forwarded to other hosts. So if you send a message with TTL=15 to another host, that host may decide to lower the TTL and adjust the hop count on your message anyway.

Routing Tables

Every Gnutella client implementation must keep a set of 'routing tables'. These tables hold the unqiue identifiers of messages that pass through each host. When the responses come back, the routing tables are consulted to determine on what connection the message should be forwarded.

These settings control the size, in messages, of each of the respective routing tables. Push routes store the unqiue identifiers of query hits. Since query hits currently make up a lower percentage of the messages passing through the Gnutella network, they are given less memory.

Additional routing table information is stored for each of your host connections, so maintaining a larger number of connections will require more memory.

The Statistics Page shows the age of the oldest duplicate, oldest routed, and oldest remembered message in each of the tables for the longest lived host. If the oldest remembered message is quite young even after the program has been running connected to the network for some time, consider increasing the number of entries in the routing tables. Adjustments made to the size of the routing tables take effect immediately, and do not disturb the contents of the tables unless the size is shrinking. You can view the effect of the routing table size on memory by looking in the Memory section of the Statistics Page.

In practice, the default values are sufficient to remember messages for over an hour. Empirical testing shows that the average duplicate or routed message is approximately 15 to 20 minutes.