Linux Kernel Architecture

(Jacob Rumans) #1

Chapter 12: Networks


The network layer is also responsible for additional connection details such as splitting the
data to be transported into packets of a specificsize. This is necessary because the computers
along the route may have different maximum limits to the size of the data packets they can
accept. When data are sent, the data stream is split into packets that are reassembled upon
receipt. This is done so that higher-level protocols can operate transparently with data units
of a guaranteed size without having to bother with the specific properties of the Internet or
network layer.
The network layer also assigns unique addresses within the network so that computers can talk
to each other (these are not the same as the abovementioned hardware addresses because net-
works are usually made up of physical subnets).
In the Internet, the network layer is implemented by means of the Internet Protocol (IP), which
comes in two versions (v4 and v6). At the moment, most connections are handled by IPv4, but
IPv6 will replace it in the future.^2 When I speak of IP connections below, I always mean IPv4
connections.
IP uses addresses formatted like this —192.168.1.8or62.26.212.10— to address comput-
ers. These addresses are assigned by official registration authorities or providers (sometimes
dynamically) or can be freely selected (within defined private ranges).
IP allows networks to be divided flexibly intosubnetson the address level by supporting various
address categories, which, depending on requirements, hold tens of millions of computers and
more. However, it is not my intention to deal with this topic in detail. See the wealth of literature
on network and system administration, for example, [Ste00] and [Fri02].
❑ In both models, the fourth layer is thetransport layer. Its task is to regulate data transport
between applications running on two linked computers. It is not sufficient to establish
communication between the computers themselves; it is also necessary to set up a connection
between the client and the server application, and this presupposes, of course, that there is an
existing link between the computers. In the Internet, TCP (Transmission Control Protocol)orUDP
(User Datagram Protocol) is used for this purpose. Each application interested in data in the IP
layer uses a uniqueport numberthat uniquely identifies it on the target system. Typically, port 80
is used for web servers. Browser clients must send requests to this address to obtain the desired
data. (Naturally, the client must also have a unique port number so that the web server can
respond to the request, but this port number is generated dynamically.) To fully define a port
address, the port number is usually appended to the IP address after a colon; for example, a web
server on the computer with the address192.168.1.8is uniquely identifiable by the address
192.168.1.8:80.
An additional task of this layer can (but need not) be the provision of a reliable connection over
which data are transmitted in a given sequence. The above feature and the TCP protocol are
discussed in Section 12.9.2.
❑ The application layer in the TCP/IP reference model is represented by layers 5 to 7 (session
layer, presentation layer, and application layer) of the OSI model. As the name suggests, this
layer represents the application view of a network connection. Once a communication con-
nection has been established between two applications, this layer is responsible for the actual
contents to be transferred. After all, web servers communicate with their clients differently than
mail servers.

(^2) The move to IPv6 should have already have taken place, but this isvery slow in happening, particularly in the academic and com-
mercial sectors. Perhaps the impending exhaustion of IPv4 address space will act as a spur.

Free download pdf