Network Address Translation.
A good start to hiding multiple desktops behind a hardware router or linux box configured as a router/firewall that has a single, public IP Address.
See Linux Router Project on the Linux Documentation Project page.