1.2. Network hardware Home Page Up One Level Index 1.4. Reference models

1.3. Network software

The first networks were designed with the hardware as the main concern and the software afterthought. This strategy no longer works. Network software is now highly structured.

To reduce their design complexity, most networks are organized as a series of layers or levels, each one built upon the one below it. The actual structure of layers differs from network to network.

Layer n on one machine carries on a conversation with layer n on another machine. The rules and conventions used in this conversation are known as layer n protocol (Fig. 1-9).


Fig. 1-9. Layers, protocols, and interfaces.

Data between layers n on different machines are not transferred directly. Each layer passes data and control information to the layer directly below it until the lowest layer is reached. Below layer 1 there is a physical medium through which actual communication occurs.

Between each pair of adjacent layers there is an interface. The interface defines which primitive operations and services the lower layer offers to the upper one.

A set of layers and protocols is called network architecture. A list of protocols used by a certain system, one protocol per layer, is called a protocol stack.

The peer process abstraction is crucial to all network design. Using it, the unmanageable task of designing the complete network can be broken into several smaller, manageable, design problems, namely the design of the individual layers.

Lower layers of the protocol hierarchy are frequently implemented in hardware or firmware.

1.3.1. Design Issues for the Layers

Some of the key design issues that cur in computer networking are present in several layers. The more important ones are:

1.3.2. Interfaces and Services

The function of each layer is to provide services to the layer above it. What a service is in more detail?

1.3.3. Some terminology

The active elements in each layer are called entities. An entity can be a software entity (such as a process), or a hardware entity (such as an intelligent I/O chip). Entities in the same layer on different machines are called peer entities.

The entities in layer n implement a service used by layer n+1. Layer n is the service provider for the layer n+1 being the service user. Layer n may use the services of layer n - 1 in order to provide its service.

Services are available at SAPs (Service Access Points). The layer n SAPs are the places, where layer n+1 can access the services offered. Each SAP has an address that uniquely identifies it.

At a typical interface, the layer n+1 entity passes an IDU (Interface Data Unit) to the layer n entity through the SAP. The IDU consists of an SDU (Service Data Unit) and some control information. The SDU is the information passed across the network to the peer entity and then up to layer n+1. The control information is needed to help the lower layer do its job (e.g. the number of bytes in the SDU) but is not part of the data itself.

In order to transfer SDU, the layer n entity may have to fragment it into several pieces, each of which is given a header and sent as a separate PDU (Protocol Data Unit) such as a packet. The PDU headers are used by the peer entities to carry out their peer protocol. They identify which PDU contain data and which contain control information, provide sequence numbers and counts, and so on.

1.3.4. Connection-oriented and Connectionless Services

Layers can offer two different types of service to the layers above them: connection-oriented and connectionless.

Connection-oriented service (modeled after the telephone system): to use it, the service user first establishes a connection, uses the connection, and then releases the connection. The essential aspect of a connection is that it acts like a tube: the sender pushes objects (bits) in at one end, and the receiver takes them out in the same order at the other end.

Connectionless service (modeled after the postal system): Each message carries the full destination address, and each one is routed through the system independent of all the others.

Quality of service - some services are reliable in the sense that they never lose data. Reliability is usually implemented by having the receiver acknowledge the receipt of each message. The acknowledgment process is often worth but introduces sometimes undesirable overheads and delays.

Reliable connection-oriented service has two minor variation:

Applications where delays introduced by acknowledgment are unacceptable:

The use of connectionless services:

1.2. Network hardware Home Page Up One Level Index 1.4. Reference models