dhcp是什么?

动态主机分配协议,用于动态分配ip地址

为什么使用dhcp?

减少工作量

减少输入错误

避免ip冲突

动态分配ip

提高ip地址利用率

不用重复配置ip信息

dhcp怎么样工作?

实现方法

当一台dhcp客服端启动时,该客户端将在网络中请求ip地址,当dhcp服务器收到申请ip地址请求后,将从可用的地址中选择一个提供dhcp客户端

dhcp的一些特性

dhcp租约

一.租约产生

1.客户端请求租约

dhcp client 在网络中广播dhcp discover包(使用udp端口为67,源ip 0.0.0.0 目标ip 255.255.255.255,包含client的mac地址、计算机名),以便dhcp server接收dhcp discover包后确认发送方

2.客户端响应

dhcp server收到client请求ip地址信息时,开始在自己的ip地址库中查找可用ip地址,如果有,dhcp server广播一个dhcp offer包(使用udp端口为68,源地址dhcp server的ip、目标ip地址255.255.255.255)

1.dhcp client的mac地址

2.dhcp server提供的合法ip地址

3.子网掩码

4.租约期限

5.dhcp server ip地址

windows分配ip从头开始

linux分配ip从尾开始

3.客户端选择

dhcp client从接收的第一个dhcp offer包中选择ip地址,并发送dhcp Request包广播(使用udp端口为67,源ip 0.0.0.0,目的ip255.255.255.255),表明使用ip地址的提供服务器

4.服务器确认

dhcp server收到dhcpRequest包后,会以dhcpACK包向客户端广播确认成功(udp端口为68,源ip是dhcp server 的ip,目的ip 255.255.255.255),当客户端收到dhcp ACK后,会使用得到的ip地址,至此整个租约结束!!!

二.租约更新

client重启或租约到50%,就要重新更新租约,这时就直接向提供租约的dhcp server发送dhcpRequest包,要求更新地址租约,dhcp client收到请求,发送dhcpACK给客户端,以更新客户端租约,如果无法通信,会在87.5%重新进行租约更新,这是是给网络上所有dhcp server广播以更新租约,dhcp server响应客户端请求,客户端会使用该服务器地址信息更新现有租约。如果依旧无法更新,client将无法使用租约ip

三.中继代理(跨子网的dhcp)

1.dhcp客户端广播dhcp discovery包

2.dhcp中继代理将dhcpdiscover包以单播转发到dhcp服务器

3.dhcp服务器以单播发送dhcpoffer包给dhcp中继代理

4.dhcp中继代理广播dhcpoffer包

5.dhcp客户端广播dhcpRequest包

6.dhcp中继代理以单播发送dhcpACK包给dhcp中继代理

7.dhcp server以单播发送dhcpACK包给dhcp中继代理

8.dhcp中继代理广播dhcpACK包