Any message sent from one process to another must go through the underlying network. A process sends messages into, and receives messages from, the network through its socket. A socket is the interface between the application layer and the transport layer within a host. It is also referred to as the application-programming interface (API) between the application and the network, since the socket is the programming interface with which network applications are built in the Internet. The application developer has control of everything on the application-layer side of the socket but has little control of the transport-layer side of the socket. The only control that the application developer has on the transport-layer side is the choice of transport protocol and perhaps the ability to fix a few transport-layer parameters such as maximum buffer and maximum segment sizes. Once the application developer chooses a transport protocol, the application is built using the transport-layer services provided by that protocol. |
|
In addition to knowing the address of the host to which a message is destined, the sending host must also identify the receiving process running in the host because in general a hos t could be running many network applications. A destination port number serves this purpose. A list of well-known port numbers for all Internet standard protocols can be found at http://www.iana.org. When a developer creates a new network application, the application must be assigned a new port number. |