DHCP
(仅作为个人笔记,如有雷同,请联系删除。。)
https://baike.baidu.com/item/DHCP/218195?fr=aladdin
DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。
1、 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
2、 DHCP协议采用客户端/服务器模型[ C/S模式 ],主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。DHCP具有以下功能:
- 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。
- DHCP应当可以给用户分配永久固定的IP地址。
- DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。
- DHCP服务器应当向现有的BOOTP客户端提供服务。
3、DHCP有三种机制分配IP地址:只有动态分配可以重复使用客户端不再需要的地址
-
自动分配方式(Automatic Allocation):DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
-
动态分配方式(Dynamic Allocation):DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。
-
手工分配方式(Manual Allocation):客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。
DHCP消息的格式是基于BOOTP(Bootstrap Protocol)消息格式的,这就要求设备具有BOOTP中继代理的功能,并能够与BOOTP客户端和DHCP服务器实现交互。BOOTP中继代理的功能,使得没有必要在每个物理网络都部署一个DHCP服务器。RFC 951和RFC 1542对BOOTP协议进行了详细描述。
4、封包格式:DHCP封包在传输层是采用UDP协议,而当 Client传送封包给 Server时,采用的是UDP 68 Port,从 Server传送给 Client则是使用UDP 67 Port。
OP:若是 client 送给 server 的封包,设为 1 ,反向则为 2。
HTYPE:硬件类别,Ethernet 为 1。
HLEN:硬件地址长度, Ethernet 为 6。
HOPS:若封包需经过 router 传送,每站加 1 ,若在同一网内,为 0。
TRANSACTION ID:DHCP request 时产生的数值,以作 DHCP reply 时的依据。
SECONDS:Client 端启动时间(秒)。
FLAGS:从 0 到 15 共 16 bits ,当 bit 为 1 时表示 server 将以广播方式传送封包给 client ,其余尚未使用。
ciaddr:要是 client 端想继续使用之前取得的IP 地址,则列于这里。
yiaddr:从 server 送回 client 的 DHCP OFFER 与 DHCPACK封包中,此栏填写分配给 client 的 IP 地址。
siaddr:若 client 需要透过网络开机,从 server 送出的 DHCP OFFER、DHCPACK、DHCPNACK封包中,此栏填写开机程序