Thursday 28 June 2012

Difference between siaddr/sname and ciaddr/yiaadr in DHCP (DORA Process)

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 or post in comments below.