DHCP协议
● 动态主机配置协议(Dynamic Host Configuration Protocol, DHCP) 是一个用于局域网的网络协议,位于OSI模型的应用层,使用UDP协议工作,主要用于自动分配IP地址给用户,方便管理员进行统一管理。
● DHCP服务器端使用UDP 67 Port,客户端使用UDP 68 Port。
● DHCP运行分为四个基本过程,分别为 : 请求IP租约、提供IP租约、选择|P租约、确认IP租约
● 客户端在获得了一个IP地址以后,就可以发送一个ARP请求来避免由于DHCP服务器地址池重叠而引发的IP冲突。
封包格式
DHCP报文格式
| op | htype | hlen | hops |
|---|---|---|---|
| xid(4) | |||
| sexs(2) | flags(2) | ||
| ciaddr(4) | |||
| yiaddr(4) | |||
| siaddr(4) | |||
| giaddr(4) | |||
| chaddr(16) | |||
| sname(64) | |||
| file(128) | |||
| options(variable) |
OP:若是client送给server的封包,设为1,反向为2。
HTYPE:硬件类别,Ethernet(以太网) 为1.
HLEN:硬件地址长度,Ethernet 为6.
HOPS:若封包需经过路由器传送,每站加1 ,若在同一网内,为0。
TRANSACTION ID: DHCP REQUEST时产生的数值,以作DHCPREPLY时的依据。
SECONDS:Client 端启动时间(秒)。
FLAGS:从0到15共16 bitsH,最左一bit 为1时表示server将以广播方式传送封包给client,其余尚未使用。
ciaddr:要是client端想继续使用之前取得之IP地址,则列于这里。
yiaddr : 从server送回client之DHCP OFFER和DHCPACK封包中,此栏填写分配给client的IP地址。
siaddr : 若client需要透过网络开机,从server送出之DHCP OFFER、DHCPACK.DHCPNACK封包中,此栏填写开机程序代码所在server之地址。
giaddr : 若需跨网域进行DHCP发放,此栏为relay agent的地址,否则为0。
chaddr : Client 的硬件地址。
sname : Server 的名称字符串,以0x00结尾。
file : 若client需要透过网络开机,此栏将指出开机程序名称,稍后以TFTP传送。
