1.开发背景
DHCP,全称Dynamic Host Configuration Protocol,中文名,动态主机配置协议,前身为BOOTP协议,它工作在OSI的应用层,是一种帮助计算机从指定的DHCP服务器获取它们的配置信息的自举协议。
本次开发的目的是为了熟悉DHCP服务器工作的流程,并且设计出一款家庭应用范围级别的程序。
2.设计方案
2.1协议工作原理
先借用一张流程图展示协议运作的整个过程。
从上图可得知,DHCP工作的流程是相对来说比较简单的,总的来说,
第一步 客户端发广播discover报文寻找能提供IP的服务器;
第二步 服务器给出响应,这里和FIFO(先到先服务的原则)规则一样,客户端接收到响应最快的服务器的offer;
第三步 客户端选择服务器,广播request,请求服务器确认;
第四步 服务器解析返回的request,查看DHCP服务器是否为本机,以此来回复ACK或者NAK报文。
下面在贴上报文的格式,一一对其字段做解释。
op:操作码,1为请求,2为回复
htype:硬件类型 1为以太网