DHCP协议称为动态主机配置协议。
DHCP作用:自动给网络中的主机分配IP地址。
DHCP地址池:比如一个地址池中有多个IP地址,可以分配给使用的用户。
DHCP作用域:IP、子网掩码、网关、DNS、租期。
DHCP协议端口:67,68端口(UDP协议)服务端是67,客户端是68。
优点:减少工作量,避免地址冲突,提高地址利用率。
四个步骤:
步骤一:客户机发送 dhcp discovery 广播包,客户机广播请求ip地址(包含客户机的mac地址)。
步骤二:服务器响应 dhcp offer 单播包 ,服务器提供ip地址,但是不提供子网掩码、网关等参数。(谁先给offer包,就先给谁提供ip地址)。
步骤三:客户机发 dhcp request 广播包,我准备使用这个ip地址,请把这个地址的子网掩码和网关发给我。客户机选择ip,对分配的IP地址进行确认。
步骤四:服务器发送 dhcp ack 单播包 ,ack表示确认的意思,服务器确定租约,并提供网卡详细参数ip、子网掩码、dns、网关、租期等。
在客户机发送discovery广播包,意味着网络中的所有主机都可以收到。而客户机是根据谁先给发送offer包,那么就选哪个,然后和选择了的服务器进行确认,还要和没有选择的服务器打一个招呼表示不使用这个IP地址了。
当租约到期,或者是不在使用这个IP了,那么就会发送一个dhcp release报文。
概念:
Wireshark数据包信息
在抓包的时候先释放本机的IP地址,然后重新获取IP地址。
ipconfig /release # 释放IP
ipconfig /renew # 重新获取IP
67是服务器所使用的端口,68是客户端使用的端口。
查看第一个数据包
第二个数据包
第三个数据包
第四个数据包
通过观察数据包,发现客户端在发送数据包的时候是以FF这样的广播MAC来进行二层广播的。
释放IP地址release的数据包
discovery数据包
offer数据包
request数据包
ack数据包
Option 1:用于指定客户端所在子网的子网掩码。
Option 3:用于指定默认网关的IP地址。
Option 6:用于指定DNS服务器的IP地址。
Option 12:用于指定客户端设备的主机名。
Option 15:用于指定本地域名。
Option 51:IP地址租约时间
Option 53:DHCP信息类型
Option 54:服务器标识
Option 58:更新时间值(用于指定客户端请求续约租约的时间间隔。)
Option 59:重新链接时间值(用于指定客户端请求重新绑定租约的时间间隔。)
Option 60:用于指定客户端设备的类型或厂商信息。
DHCP报文中的Options字段可以用来存放普通协议中没有定义的控制信息和参数。详见RFC2132 Options字段由Type,Length和Value三部分组成。
DHCP的NAK报文和Decline报文都是拒绝IP地址,它们有什么区别?