Hi, maboko4711 !
At the first step a dhcp client uses a broadcast sending request to a dhcp server.
Afterwards both dhcp server and client use unicasts communicating with each other.
0.0.0.0 means an unknown address.
To be able to communicate with the dhcp server and to accept the dhcp offer the client should have a KNOWN ip address distinct from 0.0.0.0.
If the client and server reside in different ip networks (within different vlans) both should know the routes to each other.
Good luck,
Dmitry