Here are some useful tips from someone who spent six months attempting to figure out how to host:
1. Sometimes your router's firewall must be "DISABLED" so that port forwarding will take effect.
2. Sometimes you have a DSL modem which is actually acting as a router which has a firewall in it, yet another router is hooked up to the DSL modem which is a router in itself. Since the DSL modem is a router, it has its own firewall, so un-plug your computer from the current router, plug it directly into the DSL modem, go to: Start>All Programs>Accessories>Command Prompt
Type in: ipconfig
Press Enter, now, the IP address located next to: Default Gateway should be copied and placed in the address bar of your internet browser. Such as this:
Just make sure it doesn't read the same address.
Now, make sure that ports 2000-6000 on both UDP and TCP are forwarded to your computer's name (Or IP address, which is too located in the "ipconfig" from "Command Prompt".) or to your router. Now this should clear up the DSL modem. Alright, un-plug yourself from the DSL modem and back into the router you are using.
Now confirm that ports 2000-6000 on both UDP and TCP are being forwarded to your computer's name or your computer's IP address. NOTE: Since you just un-plugged from your DSL modem and re-entered into your DSL router, your IP address has changed. So open Command Prompt (Start>All Programs>Accessories>Command Prompt) again and run: ipconfig
Now, make sure that the ports are being forwarded to the IP address listed in Command Prompt.
Remember, these are tips, not resolutions to your problems, I hope this helped you out.