This is my study note of DHCP.
DHCP简介
1
| DHCP,动态主机配置协议,是一个应用层协议。DHCP前身是BOOTP,在Linux的网卡配置中也能看到显示的是BOOTP,DHCP引进一个bootp没有的概念:租约。bootp分配的地址是永久的,而dhcp分配的地址是可以有期限的。
|
DCHP的作用及特点
- 自动分配IP、子网掩码、网关、DNS
- 客户端使用端口为68,服务端使用端口67
- DHCP一般不为服务器分配IP,因为它们需要使用固定IP
- DHCP服务器和客户端需要在同一个局域网内
三种分配方式
- 自动分配
1
| 自动分配是当DHCP客户端第一次成功地从DHCP服务器端分配到一个IP地址之后,就永远使用这个地址。
|
- 动态分配
1
| 动态分配是当DHCP客户端第一次从DHCP服务器分配到IP地址后,并非永久地使用该地址,每次使用完后,DHCP客户端就得释放这个IP地址,以给其他客户端使用。
|
- 手动分配
1
| 手动分配是由DHCP服务器管理员专门为客户端指定IP地址。
|
DHCP协议中的报文
1 2 3 4 5 6 7 8
| DHCP DISCOVER :客户端开始DHCP过程发送的包,是DHCP协议的开始 DHCP OFFER :服务器接收到DHCP DISCOVER之后做出的响应,它包括了给予客户端的IP(yiaddr)、客户端的MAC地址、租约过期时间、服务器的识别符以及其他信息 DHCP REQUEST :客户端对于服务器发出的DHCP OFFER所做出的响应。在续约租期的时候同样会使用。 DHCP ACK :服务器在接收到客户端发来的DHCP REQUEST之后发出的成功确认的报文。在建立连接的时候,客户端在接收到这个报文之后才会确认分配给它的IP和其他信息可以被允许使用。 DHCP NAK :DHCP ACK的相反的报文,表示服务器拒绝了客户端的请求。 DHCP RELEASE :一般出现在客户端关机、下线等状况。这个报文将会使DHCP服务器释放发出此报文的客户端的IP地址 DHCP INFORM :客户端发出的向服务器请求一些信息的报文 DHCP DECLINE :当客户端发现服务器分配的IP地址无法使用(如IP地址冲突时),将发出此报文,通知服务器禁止使用该IP地址。
|
DHCP工作流程
探索阶段
1
| 当DHCP客户端第一次登入网络时,通过广播的方式发送discover报文发现DHCP服务器,即发送255.255.255.255广播信息,每一台安装了TCP/IP协议的主机接收到这个广播信息,只有DHCP服务器会响应。
|
提供阶段
1
| DHCP服务器对discover进行响应,从未分配的IP地址中分出一个给DHCP客户机,向客户机发送一个包含IP地址和其他设置的DHCP offer信息,返回信息也是广播的方式。
|
选择阶段
1
| DHCP客户端接收到第一个offer信息后,以广播的方式回答一个DHCP reques请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容。
|
确认阶段
1
| 当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,确认租约,并指定租约时长。
|
续租
1
| DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限到达租约的50%时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。
|