The protocol-independent interface module provides an interface that is independent of hardware
devices and network protocol. This is the interface module that is used by other kernel subsystems to
access the network without having a dependency on particular protocols or hardware. Finally, the
system call interface module restricts the exported routines that user process can access.
Network services include transmission and reception of data, network-independent support for message
routing, and network-independent support for application software. The following subsections present an
overview of the network stack and describe how various layers of the network stack are used to implement
network services.
For more information, see the TCP/IP Tutorial and Technical Overview IBM Redbook by Adolfo, John &
Roland. It is at the http://www.redbooks.ibm.com/abstracts/gg243376.html website.
5.4.1 Overview of the network protocol stack
The network protocol stack, which forms the carrier and pipeline of data from one host to another, is designed
in such a way that one can interact with different layers at desired level. This section describes the movement
of data through these stacked layers.
The physical layer and link layer work hand-in-hand. They consist of the network card and associated device
driver, most often Ethernet but also Token Ring, PPP (for dial-up connections), and others.
The next layer, the network layer, implements the Internet Protocol, which is the basis of all Internet
communications, along with related protocols, including Internet Control Message Protocol (ICMP).
70

Figure 5-17: Network subsystem and its interaction with other subsystems