The BSD Sockets Architecture
Thousands of network protocols (at different layer level)
When an application sends a packet, the host must make sure that it gets sent
to the right destination, and when a host receives a packet, it must make sure
that it is delivered to the correct application. To achieve these two tasks,
most hosts on the Internet use the Berkeley Software Distribution (BSD) Sockets
network architecture to keep track of applications and network connections.
This architecture first gained wide acceptance in the Unix operating system,
but today, it is implemented on virtually all of the major commercial operating
systems on the market. The WinSock library used on Microsoft Windows 3.1/95/NT
platforms is a derivative of the BSD interfaces [Quinn/Shute95].