当前位置:文档之家› DHCP协议报文

DHCP协议报文

DHCP 协议概念

1.什么是DHCP

DHCP是Dynamic Host Configuration Protoco的缩写,顾名思义就是动态主机地址配置协议,在一个完整的网络拓扑中应有DHCP CLIENT,DHCP SERVER两个端点。Client端存在与用户域中,通过DHCP协议,从server端获取动态的不固定的IP地址。DHCP server 通过租约概念负责给client端提供某一网段或多网段IP地址池中地址。当租约到期client 释放该地址以待server做再次分配,同时server端也担负分配DNS服务器地址,域名,网关地址的任务。

2.DHCP进行地址分配的四个阶段

1)第一个阶段寻找DHCP server。如果是DHCP客户端第一次登录该网络时,也就是客户端主机没有IP地址,等待分配。它会首先向网络以广播形式发送DHCP discover报文,目的是发现网络中存在的DHCP server,并请求给出回应。该报文的格式是:源mac是自身的mac地址,目的mac是ff:ff:ff:ff:ff:ff.源IP地址为0.0.0.0,而目的地址为255.255.255.255。经过测试windows操作系统环境中的DHCPdiscover等待时间为1秒,也就是当客户端将第一个DHCPdiscover报文送出去后,在等待1秒后没有得到网络中DHCPserver的回应,它就会进行第二次DHCP discover广播,若再次得不到回应,会进行三次广播,三次广播的间隔时间都不一样,分别是9秒、13秒、16秒。如果还是得不到服务端的回应,客户端会显示错误信息,宣告DHCPdiscover失败,在之后的动作中,系统会在5分钟后再次重复一次该过程。在该测试过程中,我抓取了相应的数据包以供参考。

2)端口源端68,目的端67

图1-DHCP discover数据包

该图中可以看出DHCP discover数据包二层源mac地址为源端口mac,目的mac为广播

地址ff:ff:ff:ff:ff:ff. 三层源地址为0.0.0.0。目的地址为广播地址255.255.255.255

信息类型

接下来分析一下bootstrap protocol的报文内容。图1中的详细描述具体如下

Boot record type为1时表示是Client的请求,为2时表示是Server的应答。

Hardware address typeClient 的网络硬件地址类型,1表示Client 的网络硬件是10MB 的以太网类型.

Hardware address lengthClient 的网络硬件地址长度,6表示Client 的网络硬件地址长度是6bytes(即以太网类型的6bytes的MAC地址)。

HOPS跳数,表示当前的DHCP报文经过的DHCP RELAY(中继)的数目,每经过一个DHCP中继,此字段就会加1,此字段的作用是限制DHCP报文不要经过太多的DHCP RELAY,协议规定,当“hops”大于4(现在也有规定为16)时,这个DHCP报文就不能再进行处理,而是丢弃。

Transaction id事务ID,Client每次发送DHCP请求报文时选择的随机数,用来匹配server 的响应报文是对哪个请求报文的响应。Client会丢弃“ID”不匹配的响应报文。

Bootp flags标志,在BOOTP中此字段是保留不用的,在DHCP协议中也只使用了其左边的最高位。

Client IPaddress客户机IP地址

your (Client) IP address server分配给client的IP地址

Next Server IP address服务器IP地址

Relay AgentDHCP中继代理IP地址

Client MAC address客户机硬件地址MAC

Server Host name not givne服务器的主机名

Boot file name not given的启动配置文件名

3)第二阶段向client端提供IP地址,当DHCP服务器监听到客户端发出的Dhcpdiscover 广播后,它会从那些还没有租出的地址池内,选择最前面的的空置IP ,连同其它TCP/IP 设定,回应给客户端一个DHCPOFFER 封包。由于客户端在开始的时候还没有IP 位址,所以在其Dhcpdiscover 封包内会带有其MAC 位址信息,并且有一个XID 编号来辨别该封包,DHCP服务器回应的Dhcpoffer 封包则会根据这些资料传递给要求租约的客户。根据服务器端的设定,Dhcpoffer 封包会包含一个租约期限的信息,当客户端到了这个期限,会释放出IP,进行相同步骤的再次申请.DHCP offer包内容如图-2所示:

图2-DHCP offer数据包

在DHCP offer包中我们可以获得以下的信息:信息类型为应答广播信息,客户端IP地址为0.0.0.0.通过DHCP discover请求申请后,服务器端分配的IP地址为176.10.1.12.DHCP服务器的IP地址为176.10.1.254.租约时间为1个小时,当过去租约时间50%的时候服务端会发信息至客户端确认是否续约.

Client IP address =0.0.0.0(0.0.0.0)表示客户机还没有使用该地址

Your(Client) IP address =176.10.1.12(176.10.1.12)表示DHCP Server分配给该客户机的IP地址

next Server IP address=176.10.1.254(176.10.1.254)它标示了客户机下一次发出DHCPRequest 报文时,哪个DHCP Server会发出回应

DHCP Message Typee=DHCP Offer表示这是一个对DHCPDiscover的回应报文

Subnet Mask=255.255.0.0表示分配的IP地址子网掩码为16位

Renewal time value=30 minutes表示服务端向客户端询问是否继续续约的时间为30分钟

Ip address lease time=1 hour 表示租期是1小时

Server identifier=176.10.1.254表示服务器的IP地址为176.10.1.254

Router=176.10.1.210表示它的路由网关是176.10.1.210.

相关主题