DHCP协议是动态主机分配协议 (Dynamic Host Configuration Protocol)。
ARP协议是地址解析协议 (Address Resolution Protocol)。该协议将IP地址变换成物理地址。
下面是用Wireshark抓的数据包:
数据包的传送过程:
数据包NO.3:DHCP客户端第一次试图登陆到网络中时,它通过广播DHCPDISCOVER包请求DHCP服务器的IP地址信息。该包的源IP地址是0.0.0.0,而目的地址为255.255.255.255。(如果DHCP服务器的客户机不在同一物理子网上,BOOTP中继器代理将转发这个消息给DHCP服务器。)
数据包No.3:当 DHCP 服务器监听到客户端发出的 DHCP discover 广播后,它会从那些还没有租出的地址范围内,选择最前面的空置 IP ,连同其它 TCP/IP 设定,响应给客户端一个 DHCP OFFER 封包。(不止一个DHCP服务器能够响应 DHCP discover包,客户机将接受所受到的第一个 DHCP discover包,发送 DHCP discover包的DHCP服务器就将已提供的IP地址上锁,使它对任何其他的客户机都是不可用的,若客户未收到 DHCP discover报文,它将继续发送 DHCP discover消息,知道它从一台DHCP服务器接收到 DHCP OFFER消息。)
数据包No.5:因为所实验的客户机(windows8)支持IP V6 ,所以ICMP V6协议也开始工作。
数据包NO.6: 客户端向网络发送一个 ARP 封包,查询服务器物理地址
…….
数据包No.20:通过ARP协议,服务器端最终也获得了客户端的网络地址。
客户机就可以使用普通网络通信和连接至其他IP主机时用到的所有的Ip服务和应用,直到租期结束。
下面是客户机获取IP地址的图解:
客户机以广播的方式请求ip租约dhcp discover;
服务器提供ip租约dhcp offer;
客户端选择ip租约 dhcp request;
服务器确认ip租约 dhcp ack;
客户机使用申请的IP地址到达50%的租期之前,客户会发送另一份DHCPREQUEST,请求更新,请求DHCP服务器刷新租期;
DHCP响应则回应一个DHCPACK的数据报,则客户就得到新的租用协定,并将其计时器复位;
客户机也可以提前终止租用期,在这种情况下,它会发送一个DHCP release。
采用DHCP的必要性
(1)简化网络配置
采用DHCP自动分配IP地址后,管理员就无须为每一个客户手动配置IP地址了,从而减轻了网络管理员的负担。这在规模稍大的网络中感受特别明显。经常有计算机从一个子网移到另一个子网以及从网络中移出。手动配置或者重新配置数量巨大的计算机可鞥需要花很长时间,而IP主机配置过程中的错误可能导致该主机无法与网络中的其他主机通信。
(2)提高IP地址的利用率
DHCP客户端在断开网络连接后,可以释放原来使用的IP地址,继续分配给其他用户使用。这对于网络IP地址资源紧缺的网络环境特别有用。如一个公司使用了标准的C类局域网网段192.168.0.0,可能实际网络用户数要稍大于这样一个C类网段所能承受的用户数(254个),但其中可能有些部门通常会有较多用户不在公司上网,如果采用DHCP自动分配方式,就可以解决IP地址数不足的问题。
基本的DHCP模型
---参考《华为网络学院》《网管员必读—网路组建网》
DHCP详解