ARP enables hosts on a network to dynamically map IP addresses to physical hardware addresses. Each host maintains an ARP cache containing IP to physical address mappings. When a host needs to send data to another host, it first checks its ARP cache for the mapping. If no mapping exists, the host broadcasts an ARP request containing the target IP address. The host with that IP address responds with its physical address, which the requesting host adds to its ARP cache. This process allows hosts to dynamically learn each other's physical addresses as needed for packet transmission.