In bootp protocol client puts all 0 in source IP and broadcast the packet.Then relay agent encapsulate that in a unicast packet and send to boot p server.
How does boot p server know the Mac address of the client to which it is assigning the address ?