Address Resolution Protocol (ARP) is used to discover the layer two hardware address of a host whose layer three network address is already known.
ARP requests are broadcast (because unicast requires that the destination host's hardware address be known.) ARP replies are unicast, because all relevant addresses are available for the replying destination host.
ARP is usually limited to a single broadcast domain, being dropped at layer three subnet boundaries. However, it is possible to configure routers to forward ARP requests to remote networks. This process is called proxy ARP.
ARP is defined in RFC 826.
Reference:
http://www.cisco.com/en/US/tech/tk648/tk361/technologies_tech_note09186a0080094adb.shtml