Collaborative computing/Network layer
The network layer is the third layer in the seven-layer OSI model of computer networking. The network layer is responsible for packet forwarding including routing through intermediate routers. The network layer provides the functional and procedural means of transferring data from a source host to a destination host via one or more networks while maintaining the quality of service functions.
The network layer controls the operation of the subnet by selecting to send the packets and transferring packets between networks. A key design issue is determining how packets are routed from source to destination.
Routes can be determined statically or dynamically. If there's too much traffic on the subnet it can create data bottlenecks. Handling these congestions is also the job for the network layer, in conjunction with higher layers that adapt the load they place on the network.
The network layer also handles challenges when packets have to be send from one network to another. For example different addressing, different accepted packet sizes and different protocols so that heterogeneous networks can be interconnected.
Tanenbaum, A.S. (2010), pp. 43-44