The network layer is responsible for host-to-host delivery of data packets. It provides packetizing, routing, and forwarding services. Packetizing involves encapsulating the transport layer payload with a network header at the source host and decapsulating it at the destination host. Routing determines the best path between source and destination hosts using routing protocols. Forwarding involves routers inspecting packet headers and sending packets to the next network along the path.