A method and application programming interface for using multiple network
addresses on a common physical layer. The host protocol stack supports
multiple Internet Protocol interfaces. When a process makes a function
call to create a new socket, a new IP address is associated with the
socket. Each socket is then bound to an IP address that is distinct from
the IP addresses bound to other sockets. This is in contrast to
conventional sockets that are bound to a common IP address. In this
manner, each process may be associated with a unique IP address. Such a
configuration may useful in Internet telephony where each call process
receives a unique private IP address in a virtual private network.