• 基本知识

  • 什么是DHCP

  • 动态主机设置协议,即通过特定的服务给指定的终端按照一定规则去分配IP,

  • 使用UDP协议

  • 端口:客户端67 服务器 68

  • IP connected 
devices 
How does DHCP work? 
Request 
DHCP server 
access 
/ IPv6 
IP address 
Servers can be set up for redundancy 
or clustered among other network servers 
Network configuration 
parameters 
Default gateway 
Subnet mask 
DNS server

  • DHCP都能做什么

  1. 给客户端分配IP地址,同时保证IP在网内的唯一性
  2. 给指定的客户端分配固定IP地址(根据入网MAC)
  3. 服务端会自动维护地址池内地址状态,同时可以辨别网内手动添加的ip地址并标记
  4. 提供一些服务提供配置指引(AP设备上线,PXE装机等)

三个角色

  1. DHCP服务器
  • 可分配的地址范围(网段)
  • 需分配的子网掩码
  • 需分配的网关
  • 需分配的DNS1 DNS2
  • 地址租期
  • option字段(特殊配置)
  1. DHCP客户端
  2. DHCP中继
  • 当DHCP服务器与DHCP客户端不在同一个网段时会在网关设备上开启此配置

四个阶段

DHCP Discover:1阶段,发现阶段,客户端寻找dhcp server

DHCP Offer:2阶段,提供阶段,收到discover的服务器都回复给客户端一个offer,携带配置。

DHCP Request:3阶段,选择阶段,收到第一个offer后广播回复告诉所有server。

DHCP Ack:4阶段,确认阶段,DHCP服务器通知客户端可以使用之前分配的ip。

DHCP Discover (Pi") 
DHCP 
DHCP Request 
DHCP

一些命令

windows释放IP地址:ipconfig /release

windows重新获取ip:ipconfig /renew

 

报文类型

通过wireshark查看DHCP报文需要通过“bootparams"来筛选

  • DHCP DISCOVER:第一个报文,是请求IP地址和其它配置参数的广播报文
  • DHCP OFFER:DHCP DISCOVER的响应,是包含IP地址及配置的单播(或广播)报文
  • DHCP REQUEST:DHCP OFFER报文的响应,表示接受相关配置。客户端续延IP地址租期也使用该报文。
  • DHCP ACK :对DHCP REQUEST报文的确认报文。收到此报文才真正获得了IP地址和相关的配置信息。
  • DHCP DECLINE:发现分配的IP无法使用(如IP地址冲突时),将发出此报文通知服务器
  • DHCP NAK:对DHCP REQUEST报文的拒绝响应报文。收到此报文会重新开始新的DHCP过程。
  • DHCP RELEASE:主动释放分配的IP地址。当服务器收到此报文后则回收该IP地址。
  • DHCP INFORM:获得IP地址后,发送此报文请求获取服务器的其它一些网络配置信息,如DNS等。

扩展

  • 客户端会在租期过去50%后续约
  • 客户端如何判断offer中的地址是冲突的?

一般情况:客户端在接收分配的IP之前会发送一个ARP请求,由应答了就说明IP在用了

 

 

PXE(预执行环境)

多数用来给服务器或者PC机安装操作系统

  1. DHCP 服务器会给服务器一下信息
  2. IP地址
  3. PXE服务器地址
  4. 启动文件 ***.0

会使的DHCP Option 字段

  • Option 66 引导服务器主机名
  • Option 67 引导文件名
  • Option 60 服务器IP
  1. 客户端收到以上信息后回去下载指定的启动文件
  • 所以PXE服务往往还需要有一个TFTP服务器
  1. 客户端收到启动文件开始执行,这个启动文件会指示客户端向TFTP服务器请求一个配置信息***.cfg