Ports may be viewed as attachment points for network
connections. If an application wants to offer a certain service,
it attaches itself to a port and waits for clients (this is also
called listening on the port). A client that wants to use this
service allocates a port on its local host, and connects to the
server's port on the remote host. An important property of ports
is that once a connection has been established between the
client and the server, another copy of the server may attach to
the server port and listen for more clients. This permits, for
instance, several concurrent remote logins to the same host, all
using the same port 513. TCP is able to tell these connections
from each other, because they all come from different ports or
hosts. For example, if you twice log into quark from erdos, then
the first rlogin client will use the local port 1023, and the
second one will use port 1022. Both however, will connect to the
same port 513 on quark. This example shows the use of ports as
rendezvous points