Now I've never thought of how this happens but I would believe you are correct. When the TCP/IP Stack is initialized the basic default routes get added to the routing table. These routes are known once the system is booted. During DHCP the system uses the broadcast address (255.255.255.255) to find the DHCP server. The DHCP server is programed to answer a DHCP broadcast...
Remembering back to my MCSE days....
ROSA
Request - Broadcast sent with MAC address. The client tries to get it's last address. If it is not available, the DHCP server will send a NACK signal.
Offer - All offered IP Addresses are unavailable when the DHCP server offers them until they are rejected.
Selection - The client broadcasts it's selected choice.
Acknowledgement - Any offered IP Addresses not selected are freed to be used again.
When booting, there will be four attempts to get a DHCP address at 9, 13, and 16 second intervals. Once the lease is obtained at one half the lease period the client will try to renew the lease with the original DHCP server and will continue until the lease term is seven eights complete. At 7/8th completion, the client will attempt the renew process with any DHCP server. If the lease is not renewed and a new lease is not obtained, at the end of the lease period, TCP/IP communications cease from the client.
Once the system obtains the IP Address, then the routing table is updated all the time. Typing "Route Print" on a Windows system will give you the complete routing table...
Destination netmask gateway interface metric
0.0.0.0 0.0.0.0 172.16.4.1 172.16.4.83 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
172.16.4.83 255.255.255.255 127.0.0.1 127.0.0.1 1
224.0.0.0 224.0.0.0 172.16.4.83 172.16.4.83 1
255.255.255.255 255.255.255.255 172.16.4.83 172.16.4.83 1
Above (I believe) would be the routing table just after the system obtains an IP Address, notice the IP Address of my system is 172.16.4.83.
Hope this clears the fog a little. david e
*end users are just like computers, some you can work with...others just need a simple reBOOTing to fix their problems.*