Network Layer Services
Network layer services could be explained in the following list :
- Guaranteed delivery
- Guaranteed delivery with bounded delay
- In-order packet delivery
- Guaranteed minimal bandwidth
- Guaranteed maximum jitter
- Security services
Before I explain you all the above mentioned services, I would like you to consider the following question:
- When the transport layer at a sending host transmits a packet into the network (that is, passes it down to the network layer at the sending host), can the transport layer rely on the network layer to deliver the packet to the destination?
- When multiple packets are sent, will they be delivered to the transport layer in the receiving host in the order in which they were sent?
- Will the amount of time between the sending of two sequential transmissions be the same as the amount of time between their reception?
- Will the network provide any feedback about congestion in the network? What is the abstract view (properties) of the channel connecting the transport layer in the sending and receiving hosts?
The answer to these questions and others are determined by the services provided by the network layer.
Let’s now discuss the services I mentioned at the beginning of the tutorial:
- Guaranteed Delivery : This service guarantees that the packet will eventually arrive at its destination.
- Guaranteed Delivery with Bounded Delay : This service not only guarantees delivery of the packet, but delivery within a specified host-to-host delay bound (for example, within 100 msec).
Furthermore, the following services could be provided to a flow of products between a given source and destination:
- In-order Packet Delivery : This service guarantees that packets arrive at the destination in the order that they were sent.
- Guaranteed Minimal Bandwidth : This network layer service emulates the behaviour of a transmission link of a specified bit rate (for example, 1 Mbps) between sending and receiving hosts. As long as the sending host transmits bits (as part of packets) at a rate below the specified bit rate, then no packet is lost and each packet arrives within a prespecified host-to-host delay (for example, within 40 msec).
- Guaranteed Maximum Jitter : This service guarantees that the amount of time between the transmission of two successive packets at the sender is equal to the amount of time between their receipt at the destination (or that this spacing changes by no more than some specified value).
- Security Services : Using a secret session key known only by a source and destination host, the network layer in the source host could encrypt the payloads of all datagrams being sent to the destination host. The network layer in the destination host would then be responsible for decrypting the payloads. With such a service, confidentiality would be provided to all transport-layer segments (TCP and UDP) between the source and destination hosts. In addition to confidentiality, the network layer could provide data integrity and source authentication services.
This is only a partial list of services that a network layer could provide – there are countless variations possible.
The internet’s network layer provides a single service, known as best-effort service. From the table shown below it might appear that best-effort service is a euphemism for no service at all.
With best-effort service, timing between packets is not guaranteed to be preserved, packets are not guaranteed to be received in the order in which they were sent, nor is the eventual delivery of transmitted packets guaranteed. Given this definition, a network that delivered no packets to the destination would satisfy the definition of best-effort delivery service.