This layer is responsible to establish session and datagram communication services for the application layer. It uses mainly TCP and UDP.
TCP in short, provides a connection between hosts with sessions. The packets sent are synchronized on both hosts and the communication should be error-free but takes more time than UDP.
UDP on the other hand is faster, but less error-free. It doesn’t use sessions and the applications using it are responsible for acknowledging the correct reception of the data.
This video gives you a nice explanation:
This layer accomplishes most of the work in establishing the ability to exchange information between hosts. It is responsible for routing, IP addressing, and packaging.
The following is a list of the three standard protocols on this layer:
|Internet Protocol (IP)||
|Address Resolution Protocol (ARP)||Responsible for resolving IP addresses to Network Interface layer addresses (mostly MAC)|
|Internet Control Message Protocol (ICMP)||Provides maintenance and reporting functions (Ping uses it)|
Places and removes packets on the physical network through communication with the network adapters in the host. This layer makes TCP/IP indipendent of the type of network topology. It can also communicate with more than one network topology at a time. So it can be used in any environement. Which makes the internet possible, I think.