If you're using Windows XP Professional and you do work on both your home and your office computers, Remote Desktop can be a lifesaver - it's not unknown for me to be working on documentation at home and forget to connect to work to save the file on my office computer, for example.  Remote Desktop to the rescue - since I leave my primary home machine on 24x7 and it's connected via DSL, I just remote into the home box and grab the necessary files.  No fuss, no muss, and I have it here in time to hand off to the team for review.

However, what if, like my household, you have multiple machines, all of which need to be directly accessible via Remote Desktop from an external location, and you only have one IP address that points to your router? Since Remote Desktop by default looks at port 3389, you can't exactly set up port forwarding to point that single port to all of your machines.

There is an answer, or rather, two answers. Both of them are detailed in Microsoft Knowledge Base articles.

The first one is this:

Configuring the Remote Desktop Client to Connect to a Specific Port - this tells you how to get your client machine (in this case, the one you're on at work) to talk to a different Remote Desktop port than the default.  In some cases, this plus a little configuration on your home router may be all you need.  If your router's port forwarding option allows you to configure a public port plus a private port for each computer, all you need to do is set a different public port for each of the computers you want to access, and set the private port for each to 3389.

But what if your router doesn't expose a private port as well as a public port? No problem.  That's where this article comes into play: How to Change the Listening Port for Remote Desktop (caution! This involves registry editing, and is only recommended for experienced users!).  What you'll be doing is changing each of your home machines to listen to a different port for Remote Desktop connection requests.  Then configure your home router with the same port numbers forwarded to the appropriate machine (So if Machine X is listening for Remote Desktop connections on port 2222, port 2222 is forwarded to Machine X on the router).