Reference Manual

HOW TO diagnose performance and configuration problems.

NAT32 can normally forward packets at a rate much higher than most Internet connections can transfer them. Packet throughput depends on many things, including the speed of the communicating computers, the speed of the NAT32 computer, and the speed of the networks connecting the machines.

The following test setup can be used to measure NAT32 throughput:

In a sample setup, Computer 1 was a 300 MHz Celeron running an FTP Server. Computer 2 (running NAT32) was an 800 MHz AMD, and Computer 3 a 300 MHz Pentium running an FTP Client. All computers were connected via 100 Mbps Switched Ethernet. A 200 MB file was transferred between the FTP Server running on Computer 1 and the FTP Client running on Computer 3. The measured transfer rate was 20 Mbps.
The above test shows that when users report poor performance, NAT32 is not likely to be the cause, except in rare cases where administrators may have configured NAT32 or other networking components incorrectly.

DNS Server Problems

A common cause of poor performance (or even complete failure) is poor DNS Server performance. Unfortunately, the user often perceives this as a networking problem and dutifully reports that "the network is down" to the system administrator. This is because a faulty or overloaded DNS server will simply fail to respond to DNS requests from the user's Web Browser in a timely fashion, and Internet Explorer then displays an uninformative generic error message.

NAT32 has several commands with which you can quickly and easily view and modify DNS settings, and test the reachability and response time of any desired DNS Server on the Internet.

The commands are: ns, nsdetect setns, setd, wns, setwns

DNS Settings

DNS settings can also be modified and tested by clicking the NAT32 menu item Config and then DNS Settings... to open the DNS Settings dialog box.

The textboxes show the address of the DNS Server to which NAT32 is currently forwarding DNS requests arriving from private machines, and up to 2 backup server addresses which NAT32 will use if no responses arrive from the current DNS Server. The name of the Domain which Windows is currently using is also shown.

To test a Server, or to check the Domain Name for validity, click the adjacent Test... button.

A DNS request for the Domain Name or for microsoft.com will then be sent to the server, and the complete DNS response will be displayed, along with the time taken to perform the lookup.

DNS Test Results

Results are displayed in a NAT32 Kernel message box that lists all DNS Resource Records that the server returned.

Some common Resource Record types are:

A The IP address matching the listed name
MX The name and priority of a Mail Server for the domain
NS The name of an authoritative name server for the domain

The elapsed time is shown in milli-seconds and is the time taken to send the request and receive the response.

For optimum performance and reliability, you should always configure the Windows DNS settings on your machine to use the fastest and most reliable DNS server in your vicinity. Note that you need not necessarily use the DNS servers recommended by your ISP, particularly if those servers turn out to be slow and unreliable.

The Windows DNS settings are important because NAT32 reads them from the Registry each time it starts.

Client Configuration Checklist

The most common configuration problems on the NAT32 Client machines are:

  1. Failure to correctly configure the Windows TCP/IP protocol. Be sure you specify the correct NAT32 IP address (usually x.x.x.254) as the default gateway. Alternatively, if you are sure that the private interface on the NAT32 machine has been correctly configured under Windows, it is usually best to let the client machines auto-configure via NAT32's DHCP Server.
  2. Failure to specify a correct DNS Server address. Be sure you specify either the NAT32 IP address or at least one, known-good DNS Server address. Again, if you choose auto-configuration via DHCP, this problem should normally not arise.
  3. Incorrect Browser Proxy settings. Be sure that no proxy is specified, unless your ISP requires that you use one, in which case you should specify the name or IP address of your ISP's proxy. Never NAT32's IP address as the proxy unless you have special reasons to do so.

    Note: Windows Internet Explorer has separate proxy settings for each Dial-up Connection and for Local LAN Connections.

Poor Browser Performance

Over the past few years, web designers have increasingly turned to high-level software that automates many of the tedious tasks required to develop an effective web application. Unfortunately, such software often generates very complex, script-based pages that require much CPU time and memory in order to execute.

Users often perceive this as a networking problem, when in actual fact it is a system performance problem. The best solution is to reduce the overhead by not loading all portions of the web page in the first place. NAT32's DNS Resolver Daemon can be very effective in this case.

NAT32 uses a novel approach to providing dynamic content with minimal scripting overhead:

Instead of using complex Javascript code to generate dynamic content, use only simple Javascript code to fetch dynamic content from an integrated web server that understands shell commands written in C.

This approach reduces processor overhead by several orders of magnitude and browsers can render such pages very rapidly.

SEE ALSO

DNS Resolver, ns, nsdetect, setns, setd, wns, setwns, WebCombo