protocol layering. This means designing specific network functionalities (such as flow
control, routing, medium access) in isolation from each other, and putting together the
complete system through limited interfaces between the layers performing these specific
tasks. The layers, which are in fact distributed systems with collaborating entities distributed
through the network [6, p. 20], are arranged in a vertical hierarchy. Each layer makes use of …