To be able to connect to computers or servers on the internet, you will have to be able to reach that computers IP address. You might want to connect to your home computer from anywhere in the world, but the IP your ISP gives you changes from time to time.
This is quite common and, unless you constantly carry a note with your IP, you won't be able to make use of your home computer.
I myself run various services that are remotely available from my home desktop computer: FTP server, VNC server, MySQL, Torrent interface and there are many more soon to come.
To bypass the problem of a variable IP, you will need to use a service like DynDNS. There are many other free service provider out there, I just happen to chose this one.
DynDNS is a free service that, upon updating through their API or interface, makes a record of your IP address and routes that to a URL that you can access through the internet.
Step 1: Simply create an account!
Firewalls and / or routers:
Most commonly people have a router these days. A router acts like a firewall and will not let incoming transfers through, unless it specifically has been set-up to do so and to a specific internal IP. In some cases you can also use the DMZ (DeMilitarised Zone) of the router / firewall. The DMZ will channel all incoming requests through to set IP as if the machine would be connected straight to your external IP. This is not recommended unless you use a software firewall in addition to protect yourself.
Use NAT (Network Address Translation) or how it is called in my router 'Application Sharing' to map the incoming requests from any port to a specific internal IP and port. In most cases FTP will run on 21, for example. VNC will run on 5901...
If you use a software firewall, open the same ports on your software firewall. In the Windoze firewall, you have to use 'Exceptions', I think (although I haven't done this in a while).
Step 2: Punch holes in your firewall
Now the last step: You will have to auto-update the DynDNS site from time to time. Most of the newer routers have a feature build in to update Dynamic DNS. You simply select your DynDNS service and add your username and password. Otherwise, you might need to install a programme that will make these updates for you.
There is a list of update tools on the DynDNS website here.
Step 3: Add service to auto update your IP with dynamic DNS host