The network layer controls the operation of the subnet. It determines what physical path the data takes based on the network conditions, the priority of service, and other factors.
The network layer provides the following functions:
Transfer of frames to a router if the network address of the destination does not indicate the network to which the computer is attached.
Control of subnet traffic to allow an intermediate system to instruct a sending station not to transmit its frames when the router's buffer fills up. If the router is busy, the network layer can instruct the sending station to use an alternate router.
Fragmentation of frames by a router when the size of a link to a downstream router's maximum transmission unit (MTU) is smaller than the frame size. The frame fragments are reassembled by the destination station.
Resolution of the logical computer address (on the network layer) with the physical network adapter address (on the data-link layer), if necessary.
The network layer at the transmitting computer must build its header in such a way that the network layers of the subnet's intermediate systems can recognize the header and use it to route the data to the destination address.
In the network layer and the layers below it, the peer protocols are between each computer and its immediate neighbor, which is often not the ultimate destination. The source and destination computers may be separated by many intermediate systems.
The network layer eliminates the need for higher layers to know anything about the data transmission or intermediate switching technologies used to connect systems. The network layer is responsible for establishing, maintaining, and terminating the connection to intermediate systems in the communication subnet.