It is used to build and maintain ARP tables.
It provides a method for segmenting and reassembling data packets.
It allows an administrator to devise an addressing scheme for the network.
It allows a router to share information about known networks with other routers.
It provides a procedure for encoding and decoding data into bits for packet forwarding.