Easy as 1, 2, 3...
- Subscribe to a DNS service
- Install a DNS updater on your local network
- Route incoming traffic to desired computer
Subscribe to a DNS service
A Domain Name Server, or DNS, maps IP (external) addresses to domain names. While it is possible to create your own DNS, its best to leave this to the pro's such as:
- DYN Remote access - This is what I use, $25 a year. You may provide your own domain name or select a sub-domain from one of there many domain's the own, (yourchoice.homedns.org). You're can route 31 different IPs.
- no-ip - Has a three verison that can route 3 IPs, and you must use their domain names. Pay for version is $19. I've never used them, but they are very popular.
- Amazon Route 53 - $0.50 per hosted zone / month for the first 25 hosted zones. Probably the cheapest route if you only need to route 1 IP.
You can't go wrong, just choose one and sign up! For more information on DNS see:
http://en.wikipedia.org/wiki/Domain_Name_System
Install a DNS updater on your local network
Each of the above DNS service providers will provide software you can install that will automatically send your external IP address to their servers. This tools work well although your computer must always be one in-order to send the updates.
I however, would strongly suggest using your router instead, they consume little power, are always on, and more reliable then a computer. Most routers will allow you to insert your dyn (or other services) username and password, and it will do the rest. Some ISPs provide routers/modems that are unable/unwilling to do this. If this is your (or anyone else's case) just comment and I'll include those instructions.
After your either enter your credentials on your router or install an update client, log into your DNS account on you provider of choice's website and verify it is all working.
Route incoming traffic to desired computer
Your home network most likely has a router which is responsible for router incoming/outgoing traffic through certain ports through the router's firewall. The basic steps are:
Determine required ports to forward. This is dependent upon the type of application, and who wrote the software, and how it is configured, but for mindcraft you need 25565. portforward.com provides resources for many applications.
Log into your router
Assign your computer a fixed IP address (you may use DHCP if it is capable of forwarding to a MAC address
Forward desired ports to IP / MAC address
Additional Resources
This answer is meant to provide a broad overview of the required major steps, not the nitty-griddy detail. The specific tasks described have been answered many times over in other forms. If you are not able to find information on specific tasks post a comment to this question and I'll link the appropriate guides.
Also make sure to check out:
http://portforward.com/softwareguides/minecraft/portforward-minecraft.htm