(Routing Principles, Routing and Overview, DVR and LSR) The independence of the network layer from the underlying data link layer is a key principle of the network layer. It ensures that the network layer can be used to allow hosts attached to different types of datalink layers to exchange packets through intermediate routers. Furthermore, this allows the data link layers and the network layer to evolve independently from each other. This enables the network layer to be easily adapted to a new datalink layer every time a new datalink layer is invented.
There are two types of service that can be provided by the network layer :
- an unreliable connectionless service
- a connection-oriented, reliable or unreliable, service
Connection-oriented services have been popular with technologies such as X.25 and ATM or frame-relay, but nowadays most networks use an unreliable connectionless service.
Organisation of the network layer
There are two possible internal organizations of the network layer :
- virtual circuits
The internal organization of the network is orthogonal to the service that it provides, but most of the time a datagram organization is used to provide a connectionless service while a virtual circuit organization is used in networks that provide a connection-oriented service.
The first and most popular organization of the network layer is the datagram organization. This organization is inspired by the organization of the postal service. Each host is identified by a network layer address. To send information to a remote host, a host creates a packet that contains :
- the network layer address of the destination host
- its own network layer address
- the information to be sent
The network layer limits the maximum packet size. Thus, the information must have been divided in packets by the transport layer before being passed to the network layer.
(Routing Principles, Routing and Overview, DVR and LSR)To understand the datagram organization, let us consider the figure below. A network layer address, represented by a letter, has been assigned to each host and router. To send some information to host J, host A creates a packet containing its own address, the destination address and the information to be exchanged.
A simple internetwork
(Routing Principles, Routing and Overview, DVR and LSR) With the datagram organization, routers use hop-by-hop forwarding. This means that when a router receives a packet that is not destined to itself, it looks up the destination address of the packet in its routing table. A routing table is a data structure that maps each destination address (or set of destination addresses) to the outgoing interface over which a packet destined to this address must be forwarded to reach its final destination.
(Routing Principles, Routing and Overview, DVR and LSR)The main constraint imposed on the routing tables is that they must allow any host in the network to reach any other host. This implies that each router must know a route towards each destination, but also that the paths composed from the information stored in the routing tables must not contain loops. Otherwise, some destinations would be unreachable.
In the example above, host A sends its packet to router R1. R1 consults its routing table and forwards the packet towards R2. Based on its own routing table, R2decides to forward the packet to R5 that can deliver it to its destination.
To allow hosts to exchange packets, a network relies on two different types of protocols and mechanisms. First, there must be a precise definition of the format of the packets that are sent by hosts and processed by routers. Second, the algorithm used by the routers to forward these packets must be defined. This protocol and this algorithm are part of the data plane of the network layer. The data plane contains all the protocols and algorithms that are used by hosts and routers to create and process the packets that contain user data.
(Routing Principles, Routing and Overview, DVR and LSR)The data plane, and in particular the forwarding algorithm used by the routers, depends on the routing tables that are maintained on each router. These routing tables can be maintained by using various techniques (manual configuration, distributed protocols, centralized computation, etc). These techniques are part of the control plane of the network layer. The control plane contains all the protocols and mechanisms that are used to compute and install routing tables on the routers.
The datagram organization has been very popular in computer networks. Datagram based network layers include IPv4 and IPv6 in the global Internet, CLNP defined by the ISO, IPX defined by Novell or XNS defined by Xerox [Perlman2000].