# Network layer

In the seven-layer OSI model of computer networking, the network layer is layer 3. The network layer is responsible for packet forwarding including routing through intermediate routers.

## Functions

The network layer provides the means of transferring variable-length network packets from a source to a destination host via one or more networks. Within the service layering semantics of the OSI (Open Systems Interconnection) network architecture, the network layer responds to service requests from the transport layer and issues service requests to the data link layer.
Functions of the network layer include:

### Connectionless communication

    For example, Internet Protocol is connectionless, in that a data packet can travel from a sender to a recipient without the recipient having to send an acknowledgement. Connection-oriented protocols exist at other, higher layers of the OSI model.

### Host addressing

    Every host in the network must have a unique address that determines where it is. This address is normally assigned from a hierarchical system. For example, you can be:
    "Fred Murphy" to people in your house,
    "Fred Murphy, 1 Main Street" to Dubliners,
    "Fred Murphy, 1 Main Street, Dublin" to people in Ireland,
    "Fred Murphy, 1 Main Street, Dublin, Ireland" to people anywhere in the world.
    On the Internet, addresses are known as IP addresses (Internet Protocol).

### Message forwarding

    Since many networks are partitioned into subnetworks and connect to other networks for wide-area communications, networks use specialized hosts, called gateways or routers, to forward packets between networks.

## Relation to TCP/IP model

The TCP/IP model describes the protocols used by the Internet. The TCP/IP model has a layer called the Internet layer, located above the link layer. In many textbooks and other secondary references, the TCP/IP Internet layer is equated with the OSI network layer. However, this comparison is misleading, as the allowed characteristics of protocols (e.g., whether they are connection-oriented or connection-less) placed into these layers are different in the two models. The TCP/IP Internet layer is in fact only a subset of functionality of the network layer. It describes only one type of network architecture, the Internet.

## Fragmentation of Internet Protocol packets

The network layer is responsible for fragmentation and reassembly for IPv4 packets that are larger than the smallest MTU of all the intermediate links on the packet's path to its destination. It is the function of routers to fragment packets if needed, and of hosts to reassemble them if received.
Conversely, IPv6 packets are not fragmented during forwarding, but the MTU supported by a specific path must still be established, to avoid packet loss. For this, Path MTU discovery is used between endpoints, which makes it part of the Transport layer, instead of this layer.

## Protocols

The following are examples of protocols operating at the network layer.
* CLNS, Connectionless-mode Network Service
* DDP, Datagram Delivery Protocol
* EGP, Exterior Gateway Protocol
* EIGRP, Enhanced Interior Gateway Routing Protocol
* ICMP, Internet Control Message Protocol
* IGMP, Internet Group Management Protocol
* IPsec, Internet Protocol Security
* IPv4/IPv6, Internet Protocol
* IPX, Internetwork Packet Exchange
* LLARP, Low Latency Anonymous Routing Protocol
* OSPF, Open Shortest Path First
* PIM, Protocol Independent Multicast
* RIP, Routing Information Protocol