Previous Contents Next

3   Indications

Votre programme utilisera la bibliothèque des sockets, en particulier la famille de sockets PF_INET et le mode non connecté SOCK_DGRAM. Il vous est rappelé qu'un serveur DHCP/BOOTP écoute sur un port n et qu'un client DHCP/BOOTP écoute sur le port n+1. En temps normal n vaut 67, mais pour que votre client non privilégié puisse obtenir une réponse n est fixé à 6767.

Cherchez sur Internet la structure d'un datagramme BOOTP. Pour remplir les champs, utilisez l'adresse MAC passée en paramètre à votre utilitaire et le PID du programme comme identifiant de la transaction. Ne considérez que les réponses UDP comportant le bon identifiant.

A quelle adresse IP la réponse BOOTP sera-t-elle envoyée ? Etudiez la signification des champs du paquet BOOTP pour trouver une parade à ce problème.

Que constatez-vous lorsque vous tentez d'envoyer le paquet BOOTP en diffusion IP (adresse 255.255.255.255) ? Pour contourner la difficulté, prévoyez un paramètre optionnel supplémentaire à l'utilitaire bootclient permettant d'envoyer la requête à un serveur particulier. Faites les tests avec la machine oleron.


Previous Contents Next