The model divides the functions of a protocol into a series of layers. Each layer has the property that it only uses the functions of the layer below, and only exports functionality to the layer above. A system that implements protocol behaviour consisting of a series of these layers is known as a 'protocol stack' or 'stack'. Protocol stacks can be implemented either in hardware or software, or a mixture of both. Typically, only the lower layers are implemented in hardware, with the higher layers being implemented in software.
Usually, the implementation of a protocol is layered in a similar way to the protocol design, with the possible exception of a 'fast path' where the commonest transaction allowed by the system may be implemented as a single component encompassing aspects of several layers.
This logical separation of layers makes reasoning about the behaviour of protocol stacks much easier, allowing the design of elaborate but highly reliable protocol stacks. Each layer performs services for the next higher layer, and makes requests of the next lower layer. An implementation several OSI layers is often referred to as a stack (as in TCP/IP stack).
| Layer |
Misc. Examples |
TCP/IP suite |
AppleTalk suite |
OSI suite |
IPX suite |
SNA |
| 7 - Application |
|
HTTP, SMTP, SNMP, FTP, Telnet, RIP, OSPF, BGP |
AFP, PAP |
FTAM, X.400, X.500, DAP |
RIP |
APPC |
| 6 - Presentation |
TDI |
XDR, SNMP, FTP, Telnet, SMTP |
AFP, PAP |
| 5 - Session |
| Named Pipes, NetBIOS |
|
ASP, ADSP, ZIP |
|
NWLink |
DLC? |
| 4 - Transport |
NetBEUI |
TCP, UDP
| ATP, NBP, AEP, RTMP |
|
SPX |
| 3 - Network |
NetBEUI |
IP, ICMP |
DDP |
|
IPX |
|
| 2 - Data Link |
Ethernet, Token Ring, FDDI, PPP, HDLC, Frame Relay, ATM, Fibre Channel |
|
LocalTalk, TokenTalk, EtherTalk |
Token Bus |
802.3 framing, Ethernet II framing |
SDLC |
| 1 - Physical |
RS-232, V.35, V.34, ISDN, 10BASE-T, StarLAN |
|
Localtalk on shielded, Localtalk on unshielded ("phone talk") |
|
|
Twinax |