In Computer Networking,the Network layer’s primary functionality is end-to-end routing of packets, from the source computer to the destination computer, through the use of next hop routing strategy.
For achieving end to end communication, specifically it supports three features, namely
- Logical Addressing
Forwarding is nothing but packet switching. Whenever a communicating node receives an IP packet through one of its input interfaces, the process of selecting an appropriate output interface to transmit the packet based on the node’s routing table and the packet’s destination IP address is called forwarding. The process of forwarding is usually done completely using dedicated hardware at line speed, so as to send out the packet quickly. The path taken by a forwarded packet inside a router, along with the hardware used, is termed as the fast path.
Routing is the process of calculating the best next hop node or route, for reaching different destination networks/sub-networks from a given node, and storing it in tables known as routing tables. The fast path forwarding process uses these routes for packet forwarding decisions. Routers exchange their reachability and network topology information among themselves, using specific routing protocols like RIP, OSPF, BGP etc. to calculate best routes to different networks. Routing protocol processes usually run on a different and slower processor than that used by forwarding processes and they could also be implemented in software. The list of routing protocol processes are together termed as the control path or control plane, as they control the actual path taken by data packets.
Logical Addressing (IP addresses)
Network layer is also responsible for defining the rules and structure related to IP addresses. IP addresses are unique end point identifiers for network interfaces of communicating nodes. Each communicating node on the public Internet needs to have at least one public IP address in order to successfully communicate with other computers on the Internet. Networking layer is responsible for IP address formats (e.g. 4 byte IPV4 address, 16 byte IPV6 address), defining the scope of IP addresses like public or private, defining different types of addresses like unicast, multicast, broadcast, defining the rules for partitioning networks into smaller networks (subnets), defining rules for aggregating networks into bigger networks (supernetting) etc.
Other features of Networking Layer
In addition to forwarding, routing and logical addressing, network layer also supports functionalities like packet fragmentation/reassembly, multicasting, broadcasting, network layer error reporting (ICMP), Security (IPSec), QOS etc.
Network Layer positioning :
In the Internet, IP is the primary Network layer routed protocol (data carrying protocol), while there are a wide variety of routing protocols like RIP, OSPF, BGP, ISIS etc.