Some of these terms are used interchangeably but strictly speaking, the suite is the definition of the communication protocols, and the stack is the software implementation of them.
[2] Imagine three computers: A, B, and C. A and B both have radio equipment and can communicate via the airwaves using a suitable network protocol (such as IEEE 802.11).
On this computer, the lower layer handlers will pass the packet up to the inter-network protocol, which, on recognizing that B is not the final destination, will again invoke lower-level functions.
The media-to-transport interface defines how transport protocol software makes use of particular media and hardware types and is associated with a device driver.
Examples of these interfaces include Berkeley sockets and System V STREAMS in Unix-like environments, and Winsock for Microsoft Windows.
An important feature of many communities of interoperability based on a common protocol stack is a spanning layer, a term coined by David Clark[3] Certain protocols are designed with the specific purpose of bridging differences at the lower layers, so that common agreements are not required there.