|The network layer is concerned with controlling
the operation of the subnet. A key design issue is determining
how packets are routed from source to destination. Routes
could be based on static tables that are "wired
into" the network and rarely changed. They could also be
determined at the start of each conversation, for example a
terminal session. Finally, they could be highly dynamic, being
determined anew for each packet, to reflect the current
If too many packets are present in the subnet at the same
time, they will get in each other's way, forming bottlenecks.
The control of such congestion also belongs to the network
Since the operators of the subnet may well expect
remuneration for their efforts, there is often some accounting
function built into the network layer. At the very least, the
software must count how many packets or characters or bits are
sent by each customer, to produce billing information. When a
packet crosses a national border, with different rates on each
side, the accounting can become complicated.
When a packet has to travel from one network to another to
get to its destination, many problems can arise. The
addressing used by the second network may be different from
the first one. The second one may not accept the packet at all
because it is too large. The protocols may differ, and so on.
It is up to the network layer to overcome all these problems
to allow heterogeneous networks to be interconnected.
In broadcast networks, the routing problem is simple, so
the network layer is often thin or even nonexistent.
Example : X.25 Connection Establishment