In DHCP packet we have fields
"ciaddr" -> client IP address, "yiaddr"-> Your client IP address
What is difference between the two?
ciaddr : will be filled by client and is used only in BOUND,RENEW and REBINDING state
yiaddr :Filled by server and sent to client in DHCPOFFER and DHCPACK.
Similarly what is difference between "siaddr" :- Next server IP address and "sname" : optional host name ?
siaddr : used in boop protocol and it signifies TFTP server name
sname: optional fields used by clients to inform preference of tftp server for booting purpose.
I have not seen this field set by any client. Let me know who uses this field.
DHCP server puts his own address in "siaddr" by default. If you want to seperate DHCP server and TFTP server use option 66 in Windows 2003 DHCP server to specify the separate TFTP server name.
The DHCP server always use option 54 : DHCP server identifier to declare its own identity and ip address. It should not be confused with "siaddr" field.
Let me know your if you have any comments, on this my email id email@example.com or post in comments below.