Le PC derrière fa0/1
enverrait une diffusion DHCPDISCOVER sur le sous-réseau auquel il appartient, pour découvrir le serveur DHCP. Pour que le fa0/2
y fa0/3
pour atteindre le serveur DHCP, il faudrait configurer un agent relais DHCP.
Dans les petits réseaux, où un seul sous-réseau IP est géré, les clients DHCP communiquent directement avec les serveurs DHCP. Cependant, les serveurs DHCP peuvent également fournir des adresses IP pour plusieurs sous-réseaux. Dans ce cas, un client DHCP qui n'a pas encore acquis d'adresse IP ne peut pas communiquer directement avec le serveur DHCP en utilisant le routage IP, car il ne possède pas d'adresse IP routable, ne connaît pas l'adresse de la couche de liaison d'un routeur et ne connaît pas l'adresse IP du serveur DHCP.
Afin de permettre aux clients DHCP situés sur des sous-réseaux qui ne sont pas directement desservis par des serveurs DHCP de communiquer avec ces derniers, des agents relais DHCP peuvent être installés sur ces sous-réseaux. Le client DHCP diffuse sur la liaison locale ; l'agent relais reçoit la diffusion et la transmet à un ou plusieurs serveurs DHCP par unicast. L'agent relais enregistre sa propre adresse IP dans le champ GIADDR du paquet DHCP. Le serveur DHCP utilise la valeur GIADDR pour déterminer le sous-réseau sur lequel l'agent relais a reçu la diffusion, et alloue une adresse IP sur ce sous-réseau. Lorsque le serveur DHCP répond au client, il envoie la réponse à l'adresse GIADDR, toujours en monodiffusion. L'agent relais retransmet ensuite la réponse sur le réseau local.
Dans cette situation, la communication entre l'agent relais et le serveur DHCP utilise généralement un port UDP source et destination de 67. Fuente