The [[network layer]] provideprovides the functional and procedural means of transferring variable length [[data]] sequences (called datagrams) from one node to another connected to the same ''network.'' A network is a medium to which many nodes can be connected, on which every node has an ''address'' and which permits nodes connected to it to transfer messages to other nodes connected to it by merely providing the content of a message and the address of the destination node and letting the network find the way to deliver ("route") the message to the destination node. In addition to message [[routing]], the network may (or may not) implement message delivery by splitting the message into several fragments, delivering each fragment by a separate route and reassembling the fragments, report delivery errors, etc.
Datagram delivery at the network layer is ''not'' guaranteed to be ''reliable''.