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