Due to this address-space problem, ISPs provide home users with a single IP address per connection.
When we want to connect several computers using a normal connection, we give the computers in the internal network a "virtual" IP, which is in one of the ranges reserved for internal networks, and make one of the computers redirect the packets from the external interface to the correct owner in the internal network.
This process is called Masquerading. During this process, the destination and source addresses of the packets are translated, this is called NAT (Network Address Translation), and can be used for variety of other network magic.