The chapter discusses the role and functions of the network layer in computer networks. The network layer is responsible for transmitting packets from the source to the destination by routing them through intermediate routers. It must understand the network topology and choose efficient paths through the network to avoid overloading some links and routers. The network layer provides end-to-end delivery of packets and shields the transport layer from the underlying network details. It can implement both connectionless and connection-oriented services. The chapter also covers routing algorithms, congestion control, and quality of service mechanisms at the network layer.