A way to share a single IP address between multiple computers, in case not enough IP addresses are available. The idea is that you have one computer with a real-world IP addresses and a bunch of other computers with (local-only) 192.168.* addresses. Anytime a local computer needs something on the internet, it just asks the computer with the real IP to go get it, making it appear as if the request is coming from the computer with the real IP.

The IP Masquerading technology was created as a transparent version of a proxy. The difference lies in that with a proxy the program in question must be _aware_ that it is using a proxy-- it has to specifically go and ask that proxy for the thing it needs, either through a specific proxy port or (more often) through SOCKS. Each internet application has to specifically support proxies (unless you can get SOCKScap to work). This becomes a real pain in the ass. Under IP masquerading, meanwhile, the computers are totally unaware the IPmasq is sharing an IP with them-- they think the IPmasq is just another router, and are totally unaware that it's doing any weird IP translation tricks. The computer using the IPmasq does not need to know or support anything, and this makes things a lot easier to handle, and so you just set it up and never think about it again.

IP Masquerading is just a specific implementation of a class of technology called IP Forwarding. It is used in the linux networking services, and the macintosh program IPNetRouter.