Connected: An Internet Encyclopedia
4. Chicken / Egg Issues
Up:
Connected: An Internet Encyclopedia
Up:
Requests For Comments
Up:
RFC 951
Prev: 3. Packet Format
Next: 5. Client Use of ARP
4. Chicken / Egg Issues
4. Chicken / Egg Issues
   How can the server send an IP datagram to the client, if the client
   doesnt know its own IP address (yet)?  Whenever a bootreply is being
   sent, the transmitting machine performs the following operations:
      -  If the client knows its own IP address ('ciaddr' field is
      nonzero), then the IP can be sent 'as normal', since the client
      will respond to ARPs [5].
      
 -  If the client does not yet know its IP address (ciaddr zero),
      then the client cannot respond to ARPs sent by the transmitter of
      the bootreply.  There are two options:
         -  If the transmitter has the necessary kernel or driver hooks
         to 'manually' construct an ARP address cache entry, then it can
         fill in an entry using the 'chaddr' and 'yiaddr' fields.  Of
         course, this entry should have a timeout on it, just like any
         other entry made by the normal ARP code itself.  The
         transmitter of the bootreply can then simply send the bootreply
         to the client's IP address.  UNIX (4.2 BSD) has this
         capability.
         
 -  If the transmitter lacks these kernel hooks, it can simply
         send the bootreply to the IP broadcast address on the
         appropriate interface.  This is only one additional broadcast
         over the previous case.
 
 
Next: 5. Client Use of ARP
Connected: An Internet Encyclopedia
4. Chicken / Egg Issues