Firewalls monitor traffic coming and going from your computer. Hardware firewalls (a router for example) filter incoming traffic but cannot do a good job on outbound traffic because they don't know a good program from a bad one. Software firewalls can determine, with your help, good from bad programs. It is essential to have a software firewall even if you have a hardware firewall.
For dial-up service a software firewall is the only way to go since a router cannot be used.
Software firewalls typically have a preset list of good programs that are installed. When a request from a program is not in the firewall's white (good) list, it asks whether it should allow the program to communicate with the internet and you usually answer yes (unless you do not know the program that initiated the request).
Install a Firewall on Every Computer
Even if you have a hardware firewall between your PC or network and the Internet, you should still install a software firewall. Although a hardware firewall can be set to block or allow all packets passing in and out of the computer, for example, it doesn't know which application initiated the communication on your system. A software firewall routinely queries you to confirm whether it should let an application communicate over a given port , so you can tell it that a recognized program is allowed to use the port but a bad one isn't.
Use a Bidirectional Firewall
The firewall in Windows XP is better than nothing, but not much better. Window's firewall only analyzes incoming traffic, not outgoing. Turn off XP's firewall and use a 3rd party firewall to monitor and control both inbound and outbound network traffic, allowing them to block nefarious connections initiated on your PC.