查看: 5573|回复: 6

[经验分享] [高恪小知识]DHCP的基本实现原理

[复制链接]

101

主题

4332

帖子

4938

积分

高恪技术支持

Rank: 4

积分
4938

活跃会员热心达人推广达人内测达人方案之王突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2017-12-25 12:52:00 | 显示全部楼层 |阅读模式
高恪AK系列硬件AP隆重上市
注:原文来自于网络


DHCP的基本实现原理

DHCP是一个局域网的网络协议,使用UDP协议工作,用于给内部网络终端自动分配IP地址、掩码、DNS。

原理图

4.jpg

工作过程

1、发现阶段
        当 DHCP 客户端第一次登录网络的时候,也就是客户发现本机上没有任何 IP 数据设定,它会向网络发出一个 DHCP discover 封包。因为客户端还不知道自己属于哪一个网络,所以封包的来源地址会为 0.0.0.0 ,而目的地址则为 255.255.255.255 ,然后再附上 DHCP discover 的信息,向网络进行广播。 在 Windows 的预设情形下,DHCP discover 的等待时间预设为 1 秒,也就是当客户端将第一个 DHCP discover 封包送出去之后,在 1 秒之内没有得到响应的话,就会进行第二次 DHCP discover 广播。若一直得不到响应的情况下,客户端一共会有四次 DHCP discover 广播(包括第一次在内),除了第一次会等待 1 秒之外,其余三次的等待时间分别是 9、13、16 秒。如果都没有得到 DHCP 服务器的响应,客户端则会显示错误信息,宣告 DHCP discover 的失败。之后,基于使用者的选择,系统会继续在 5 分钟之后再重复一次 DHCP discover 的过程。

2、DHCP Server 提供阶段
      当 DHCP 服务器监听到客户端发出的 DHCP discover 广播后,它会从那些还没有租出的地址范围内,选择最前面的空置 IP ,连同其它 TCP/IP 设定,响应给客户端一个 DHCP offer 封包。 由于客户端在开始的时候还没有 IP 地址,所以在其 DHCP discover 封包内会带有其 MAC 地址信息,并且有一个 XID 编号来辨别该封包,DHCP 服务器响应的 DHCP offer 封包则会根据这些资料传递给要求租约的客户。根据服务器端的设定,DHCP offer 封包会包含一个租约期限的信息。

3、DHCP Client 选择阶段
如果客户端收到网络上多台 DHCP 服务器的响应,只会挑选其中一个 DHCP offer 而已(通常是最先抵达的那个),并且会向网络发送一个DHCP request广播封包,告诉所有 DHCP 服务器它将指定接受哪一台服务器提供的 IP 地址。 同时,客户端还会向网络发送一个 ARP 封包,查询网络上面有没有其它机器使用该 IP 地址;如果发现该 IP 已经被占用,客户端则会送出一个 DHCPDECLIENT 封包给 DHCP 服务器,拒绝接受其 DHCP offer ,并重新发送 DHCP discover 信息。 事实上,并不是所有 DHCP 客户端都会无条件接受 DHCP 服务器的 offer ,尤其这些主机安装有其它 TCP/IP 相关的客户软件。客户端也可以用 DHCP request 向服务器提出 DHCP 选择,而这些选择会以不同的号码填写在 DHCP Option Field 里面。换一句话说,在 DHCP 服务器上面的设定,未必是客户端全都接受,客户端可以保留自己的一些 TCP/IP 设定。而主动权永远在客户端这边。

4、DHCP Server确认阶段
       当 DHCP 服务器接收到客户端的 DHCP request 之后,会向客户端发出一个DHCPACK 响应,以确认 IP 租约的正式生效,也就结束了一个完整的 DHCP 工作过程。

DHCP续期

1、DHCP Client重新登录网络
当DHCP Client重新登录后,发送一个以包含之前DHCP Server分配的IP地址信息的DHCP Request报文,当DHCP Server收到该请求后,会尝试让DHCP客户端继续使用该IP地址。并回答一个ACK报文。
但是如果该IP地址无法再次分配给该DHCP Client后,DHCP回复一个NAK报文,当DHCP Client收到该NAK报文后,会重新发送DHCP Discovery报文来重新获取IP地址。

2、DHCP Client更新租约
DHCP获取到的IP地址都有一个租约,租约过期后,DHCP Server将回收该IP地址,所以如果DHCP Client如果想继续使用该IP地址,则必须更新器租约。更新的方式就是,当当前租约期限过了一半后,DHCP Client都会发送DHCP Renew报文来续约租期。

回复

使用道具 举报

72

主题

418

帖子

1612

积分

高恪VIP内测组

Rank: 6Rank: 6

积分
1612

内测达人

发表于 2017-12-25 13:31:51 | 显示全部楼层
高恪AK系列硬件AP隆重上市
ARP绑定后,个别设备没法自动连接,需要手动设置ip地址才能上网,怎么解决
回复 支持 反对

使用道具 举报

101

主题

4332

帖子

4938

积分

高恪技术支持

Rank: 4

积分
4938

活跃会员热心达人推广达人内测达人方案之王突出贡献优秀版主荣誉管理论坛元老

QQ
 楼主| 发表于 2017-12-25 13:37:19 | 显示全部楼层
bobogdst 发表于 2017-12-25 13:31
ARP绑定后,个别设备没法自动连接,需要手动设置ip地址才能上网,怎么解决 ...

ARP绑定后,试试将ARP表同步到dhcp的静态绑定上去试试?
回复 支持 反对

使用道具 举报

72

主题

418

帖子

1612

积分

高恪VIP内测组

Rank: 6Rank: 6

积分
1612

内测达人

发表于 2017-12-25 13:47:46 | 显示全部楼层
GOCLOUD小舒 发表于 2017-12-25 13:37
ARP绑定后,试试将ARP表同步到dhcp的静态绑定上去试试?

以后能不能做个教程呢?
ARP自动绑定ip这个功能还是蛮实用的
回复 支持 反对

使用道具 举报

101

主题

4332

帖子

4938

积分

高恪技术支持

Rank: 4

积分
4938

活跃会员热心达人推广达人内测达人方案之王突出贡献优秀版主荣誉管理论坛元老

QQ
 楼主| 发表于 2017-12-25 15:56:00 | 显示全部楼层
有的
回复

使用道具 举报

101

主题

4332

帖子

4938

积分

高恪技术支持

Rank: 4

积分
4938

活跃会员热心达人推广达人内测达人方案之王突出贡献优秀版主荣誉管理论坛元老

QQ
 楼主| 发表于 2017-12-25 15:56:31 | 显示全部楼层
本帖最后由 GOCLOUD小舒 于 2017-12-25 15:57 编辑
bobogdst 发表于 2017-12-25 13:47
以后能不能做个教程呢?
ARP自动绑定ip这个功能还是蛮实用的

有的,高恪小知识中是有的,看看是不是这个:http://www.gocloud.cn/bbs/forum.php?mod=viewthread&tid=1928
回复 支持 反对

使用道具 举报

2

主题

575

帖子

641

积分

固件达人

Rank: 4

积分
641
发表于 2018-3-4 12:36:35 | 显示全部楼层
很好很详细的教程。学习了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表