TCPMPL uses the BSD socket library interface for accessing the TCP/IP services. The other way to access the TCP/IP service is through System V TLI library calls. System V TLI library is a more generalized library that can handle many protocols than the BSD socket library. TCPMPL uses the BSD socket library as System V TLI is not supported on some of the UNIX platforms such as Linux. There is a client/server method of establishing a TCP connection. Typically, there will be a server running on a known IP address. The server will bind itself to a local IP address and a local TCP port. The server then tells the TCP to accept any connection coming to this tuple (local IP-addr, local TCP-port). The client must know the 2-tuple of the server and requests that TCP establish a connection to the remote process (foreign IP-addr, foreign TCP-port). The client will bind itself to a local IP address and a local TCP port. When the client gives the (TCP, local IP-addr, local TCP-port, foreign IP-addr, foreign TCP-port) to TCP, the five elements of a TCP connection are known. TCP attempts to make a connection with the remote process which is listening on the foreign TCP-port on the remote machine.