动态主机配置协议DHCP

1.什么是DHCP

DHCP是一个应用层协议,能够让设备自动获取IP地址(以及其他重要网络资源,比如DNS服务器和路由网关的地址)。

2.DHCP头结构

偏移位 0-15 16-31
0 操作代码|硬件类型 硬件长度|跳数
32 事务id
64 消耗时间 标记
96 客户端IP地址
128 你的IP地址
160 服务器IP地址
196 网关IP地址
228+ 客户端硬件地址(16字节)
服务器主机地址(64字节)
启动文件(128字节)
选项
  • 操作代码(OpCode):用来指出这个数据包是DHCP请求还是DHCP回复。
  • 硬件类型(Hardware Type):硬件地址类型(10MB以太网、IEEE802等)。
  • 硬件长度(Hardware Length):硬件地址长度。
  • 跳数(Hops):中继代理用来帮助寻找DHCP服务器。
  • 事务ID(Transaction ID):用来匹配请求和响应的一个随机数。
  • 标记(Flags):DHCP客户端能够接受的流量类型(单播、广播以及其他)。
  • 客户端IP地址(Client IP Address):客户端的IP地址。
  • 你的IP地址(Your IP Address):DHCP服务器提供的IP地址。
  • 服务器IP地址(Server IP Address):DHCP服务器的IP地址。
  • 网关IP地址(Gateway IP Address):网络默认网关的IP地址。
  • 客户端硬件地址(Client Hardware Address):客户端的MAC地址。
  • 服务器主机名(Server Host Name):服务器的主机名(可选)。
  • 启动文件(Boot File):DHCP所使用的启动文件(可选)。
  • 选项(Options):用来对DHCP数据包进行扩展,以提供更多功能。

3.DHCP续租过程

续租过程在一个客户端和DHCP服务器之间进行,总共分四步:

第一步:客户端向DHCP服务器发送发现(Discover)数据包。

第二步:DHCP服务器向客户端发送提供(Offer)数据包。

第三步:客户端向DHCP服务器发送请求(Request)数据包。

第四步:DHCP服务器向客户端发送确认(Acknowledgement)数据包。

注意,租内续约只需要请求和确认两个步骤。