大家好,欢迎来到IT知识分享网。
感谢Apollyon_Lei为本文指出错误!
本文修改于:2018年4月12日
更多精彩内容,请见:http://www.16boke.com
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)使用UDP协议工作,采用67(DHCP服务器文)和68(DHCP客户端)两个端口号。546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务。
DHCP客户端向DHCP服务器发送的报文称之为DHCP请求报文,而DHCP服务器向DHCP客户端发送的报文称之为DHCP应答报文。
DHCP采用C/S(客户端/服务器)模式,可以为客户机自动分配IP地址、子网掩码以及缺省网关、DNS服务器的IP地址等,并能够提升地址的使用率。
相关术语:否定应答(称为NAK;或称为NACK;或称为Negative-Acknowledgment)翻译为否定应答或者非应答。这种协议消息在数字通信中被使用。其作用是作为一种确认数据收到的应答,但表明有小错误存在的一种消息信号。
1.DHCP报文种类
DHCP一共有8种报文,分别为DHCP Discover、DHCP Offer、DHCP Request、DHCP ACK、DHCP NAK、DHCP Release、DHCP Decline、DHCP Inform。各种类型报文的基本功能如下:
DHCP
报文类型 |
说明
|
DHCP Discover
|
DHCP
客户端在请求 IP 地址时并不知道 DHCP 服务器的位置,因此 DHCP 客户端会在本地网络内以 广播方式发送 Discover 请求报文,以发现网络中的 DHCP 服务器。所有收到 Discover 报文的 DHCP 服务 器都会发送应答报文, DHCP 客户端据此可以知道网络 中存在的 DHCP 服务器的位置。 |
DHCP Offer
|
DHCP
服务器收到 Discover 报文后,就会在所配置的 地址池中查找一个合适的 IP 地址,加上相应的租约期 限和其他配置信息(如网关、 DNS 服务器等),构造一 个 Offer 报文,发送给 DHCP 客户端,告知用户本服务 器可以为其提供 IP 地址。但这个报文只是告诉 DHCP 客户端可以提供 IP 地址,最终还需要客户端通过 ARP 来 检测该 IP 地址是否重复。 |
DHCP Request
|
DHCP
客户端可能会收到很多 Offer 请求报文,所以必 须在这些应答中选择一个。通常是选择第一个 Offer 应答 报文的服务器作为自己的目标服务器,并向该服务器发 送一个广播的 Request 请求报文,通告选择的服务器, 希望获得所分配的 IP 地址。另外, DHCP 客户端在成 功获取 IP 地址后,在地址使用租期达到50% 时,会向 DHCP 服务器发送单播 Request 请求报文请求续延租约, 如果没有收到 ACK 报文,在租期达到87.5% 时,会再次发送 广播的 Request 请求报文以请求续延租约。 |
DHCP ACK
|
DHCP
服务器收到 Request 请求报文后,根据 Request 报文 中携带的用户 MAC 来查找有没有相应的租约记录,如果有 则发送 ACK 应答报文,通知用户可以使用分配的 IP 地址。 |
DHCP NAK
|
如果
DHCP 服务器收到 Request 请求报文后,没有发现有相 应的租约记录或者由于某些原因无法正常分配 IP 地址,则向 DHCP 客户端发送 NAK 应答报文,通知用户无法分配合适的 IP 地址。 |
DHCP Release
|
当
DHCP 客户端不再需要使用分配 IP 地址时,就会主动向 DHCP 服务器发送 RELEASE 请求报文,告知服务器用户不 再需要分配 IP 地址,请求 DHCP 服务器释放对应的 IP 地址。 |
DHCP Decline
|
DHCP
客户端收到 DHCP 服务器 ACK 应答报文后,通过地址 冲突检测发现服务器分配的地址冲突或者由于其他原因导致 不能使用,则会向 DHCP 服务器发送 Decline 请求报文,通知 服务器所分配的 IP 地址不可用,以期获得新的 IP 地址。 |
DHCP Inform
|
DHCP
客户端如果需要从 DHCP 服务器端获取更为详细的配 置信息,则向 DHCP 服务器发送 Inform 请求报文; DHCP 服 务器在收到该报文后,将根据租约进行查找到相应的配置信 息后,向 DHCP 客户端发送 ACK 应答报文。目前基本上不用了。 |
DHCP服务的8种报文的格式是相同的,不同类型的报文只是报文中的某些字段取值不同。DHCP报文格式基于BOOTP的报文格式。下面是各字段的说明。
OP:报文的操作类型。分为请求报文和响应报文。1:请求报文,2:应答报文。即client送给server的封包,设为1,反之为2。
DHCP Discover、DHCP Request、DHCP Release、DHCP Inform和DHCP Decline。
DHCP Offer、DHCP ACK和DHCP NAK。
DHCP客户端的MAC地址类型。
MAC地址类型其实是指明网络类型
,Htype值为1时表示为最常见的以太网MAC地址类型。
DHCP客户端的MAC地址
长度。以太网MAC地址长度为6个字节,即以太网时Hlen值为6。
若数据包需经过router传送,每站加1,若在同一网内,为0。
)
DHCP客户端开始DHCP请求后所经过的时间。目前尚未使用,固定为0。)
尚未使用
。(即
从0-15bits,最左1bit为1时表示server将以广播方式传送封包给client。
)
Ciaddr:DHCP客户端的IP地址。仅在DHCP服务器发送的ACK报文中显示,在其他报文中均显示0,因为在得到DHCP服务器确认前,DHCP客户端是还没有分配到IP地址的。只有客户端是Bound、Renew、Rebinding状态,并且能响应ARP请求时,才能被填充。
用于bootstrap过程中的IP地址)
则显示为0。(
转发代理(网关)IP地址
)
可选项字段,长度可变,格式为”代码+长度+数据”。
代码 |
长度(字节)
|
说明
|
1
|
4
|
子网掩码
|
3
|
长度可变,必须是4个字节的倍数。
|
默认网关(可以是一个路由器IP地址列表)
|
6
|
长度可变,必须是4个字节的整数倍。
|
DNS服务器(可以是一个DNS服务器IP地址列表)
|
15
|
长度可变
|
域名称(主DNS服务器名称)
|
44
|
长度可变,必须是4个字节的整数倍。
|
WINS服务器(可以是一个WINS服务器IP列表)
|
51
|
4
|
有效租约期(以秒为单位)
|
53
|
1
|
报文类型
1: DHCP Discover 2: DHCP Offer 3: DHCP Request 4: DHCP Decline 5: DHCP ACK 6: DHCP NAK 7: DHCP Release 8: DHCP Inform |
58
|
4
|
续约时间
|
更多精彩内容,请见:http://www.16boke.com
关于更新租约:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24340.html