DHCP
DHCP是什么
- Dynamic Host Configruation Protocol : 动态主机配置协议。
- bootp协议:引导程序协议。它可以让无盘工作站从一个中心服务器上获得IP地址,为局域网中的无盘工作站分配动态IP地址,并不需要每个用户去设置静态IP地址。
- DHCP协议由 bootp协议发展而来,是BOOTP的增强版本,bootps代表服务端端口, bootpc代表客户端端口。
- DHCP服务使用:端口67(bootps) 68(bootpc) 。67是服务端端口,68是客户端端口。
DHCP好处
- 减小管理员的工作量
- 减小输入错误的可能
- 避免IP冲突
- 当网络更改IP地址段时,不需要重新配置每台计算机的IP
- 计算机移动不必重新配置IP
- 提高了IP地址的利用率
DHCP运行流程
1. 发现阶段:
client寻找server的过程,client发送DHCP Discovery,因为server对于client是未知的,所以client发出的DHCP Discovery报文是广播包,源地址为0.0.0.0,目的地址为255.255.255.255。网络上的所有支持TCP/IP的主机都会收到该DHCP Discovery报文,但是只有DHCP Server会响应该报文。
注意:客户端执行DHCP DISCOVER 后,如果没有server响应client的请求,客户端会随机使用169.254.0.0/16 网段中的一个IP 地址配置本机地址。
169.254.0.0/16是Windows的自动专有IP寻址范围,就是说,在无法通过DHCP获取IP地址时,由系统自动分配的IP地址段。
2. 提供阶段:
server响应请求:单播,发送offer包,对client做出响应。提供client网络相关的租约以供选择,其中server在收到client的请求后,会针对client的mac地址与本身的设置进行以下工作:
1. 到服务器的登录文件中寻找该用户之前曾经使用过的ip,若有,且该ip目前没有人使用,则为客户机提供此ip。
2. 若配置文件中有针对该mac提供额外的固定ip,且该ip没有被使用,则提供此ip给客户机
3. 如果没有符合以上两个条件,则随机从地址池中挑选有一个IP,给客户机,并记录到 leases 文件中。
3. 选择阶段
client发送ip请求,广播 request包,根据“就近原则”,最快收到的哪台server的回复