原创 DHCP,给我个IP !

2013-8-26 10:59 1522 24 27 分类: 消费电子

当我们重新启动电脑时,IP地址总是变动的。这是为什么呢?为什么每次开机自己的电脑都能被配置一个唯一的IP地址呢?我们的电脑是如何获得IP地址的呢?这其实完全是应用层的DHCP协议起作用的。

DHCP是一种使网络管理员能够集中管理和自动分配IP网络地址的通信协议。在IP网络中,每个连接Internet的设备都需要分配唯一的IP地址。DHCP使网络管理员能从中心结点监控和分配IP地址。当某台计算机移到网络中的其它位置时,也能自动收到新的IP地址。DHCP最大的亮点就是能够动态分配IP地址,当 DHCP客户端第一次从 DHCP服务器端租用到 IP 地址之后,并非永久的使用该地址,只要租约到期,客户端就得释放这个 IP 地址,以给其它工作站使用。当然,客户端可以比其它主机更优先的更新租约,再次续租这个IP地址或是租用其它的 IP 地址。通过较短的租期,动态分配显然比手动分配更加灵活,尤其是在计算机比IP地址多的环境中。当然 ,对于类似web服务器这些需要永久性IP地址的,DHCP同样能够为其分配静态地址。

那么DHCP是如何请求IP地址的呢?我们可以划分为以下几个阶段:

寻找Server

当 DHCP客户端第一次登录网络的时候,也就是客户发现本机上没有任何 IP 数据设定,它会以广播的方式向网络发出一个 DHCP DISCOVER封包。因为客户端还不知道自己属于哪一个网络,所以封包的来源地址会为 0.0.0.0 ,而目的地址则为 255.255.255.255 ,然后再附上 DHCP discover 的信息,向网络进行广播。如果DHCP服务器不再本网段,可以用DHCP Relay将此报文向其他网段广播。

提供IP租用地址

当DHCP服务器监听到客户端的DHCP DISCOVER报文后,从IP地址池中选择一个尚未分配的IP地址广播给客户端。向该客户端发送包含租借的IP地址和其他配置信息的DHCPOFFER包。

选择IP租用地址

当客户端收到一个IP租约提供时,它必须告诉所有其他的DHCP服务器它已经接受了一个租约提供。因此,该客户会以广播形式向各DHCP服务器回应一个DHCPREQUEST包,其中包含提供租约的服务器的IP。当其他DHCP服务器收到了该消息后,它们会收回已提供给客户的IP。然后它们把曾经给客户保留的那个地址重新放回到可用地址池中,这样,它们就可以为其他计算机分配这个地址。其实,在客户端回应DHCPREQUEST包的同时,客户端还会向网络发送一个 ARP封包,查询网络上面有没有其它机器使用该 IP 地址。如果发现该 IP 已经被占用,客户端则会送出一个DHCPDECLINE封包给 DHCP服务器,拒绝接受它的 DHCP OFEFR ,并重新发送 DHCP DISCOVER 报文。

IP租用地址确认

当DHCP服务器接收到DHCP客户端回答的DHCPREQUEST包后,便会向客户端发送包含它所提供的IP地址及其他配置信息的DHCPACK确认包。这时IP租约正式生效,客户端开始使用这个IP地址。

我们了解了DHCP请求IP地址的过程,那么,在具体的传输过程中,DHCP是怎样传送数据封包的呢?下面以4个表格详细介绍寻找Server,提供IP租用地址,选择IP租用地址,IP租用地址确认的数据封包传输过程。

DHCP1

 图 1   DHCP Discover

DHCP2

图 2   DHCP Offer

DHCP3

图3   DHCP Request

DHCP4

                   图 4   DHCP Ack

        当然,一旦 DHCP客户端成功地从服务器那里取得 DHCP 租约之后,在租约未失效之前,就无需一次次的发送 DHCP discover 信息了,而会直接使用已经租用到的 IP 地址向之前的 DHCP服务器发出 DHCP request 信息。当客户机重新启动或者是租期到达50%时,就需要重新更新租约,客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有地址租约。如果DHCP服务器收到请求,它将发送DHCP确认信息给客户机,更新租约。如果客户机无法联系到服务器,客户机仍然可以使用原来的IP地址,一直等到租期到达87.5%时,它将向网络中的所有DHCP服务器广播DHCP Request包,以更新现有租约。如果服务器仍然无法更新租约并且租约到期,客户机将放弃正在使用的IP地址,开始新的请求IP地址租约的过程。如果客户端在正常使用租期内的IP地址时不想使用了怎么办呢?只需向DHCP服务器发送DHCPRELEASE包就可释放此IP地址,同时将IP地址设为0.0.0.0。

通过对DHCP的简单了解,你一定清楚了DHCP是怎么分配IP的了,正是DHCP的完美运行,才确保我们在如此巨大的IP库中能够找到唯一的、适合自己电脑TCP/IP设定的IP地址。

感谢阅读!

更多信息与我们交流:

WIZnet邮箱:wiznetbj@wiznet.co.kr

WIZnet主页:http://www.wiznet.co.kr

WIZnet企业微博:http://e.weibo.com/wiznet2012

 

文章评论3条评论)

登录后参与讨论

用户1315892 2013-9-2 11:20

每个连接Internet的设备都需要分配唯一的IP地址。(...)DHCP使网络管理员能从中心结点监控和分配IP地址/// 如果加上,[由于固定的IP地址代价高,且资源紧缺,所以大部分用户使用临时分配的动态的IP地址。] 更好些。

用户1315892 2013-9-2 10:57

挺好,介绍一下你们的芯片啊。

用户1647523 2013-8-26 11:02

DHCP是一种使网络管理员能够集中管理和自动分配IP网络地址的通信协议。在IP网络中,每个连接Internet的设备都需要分配唯一的IP地址。DHCP使网络管理员能从中心结点监控和分配IP地址。当某台计算机移到网络中的其它位置时,也能自动收到新的IP地址。
相关推荐阅读
用户1647523 2018-01-09 16:09
教你如何通过MCU配置S2E为TCP Client的工作模式
在上两篇文章中分别讲述了通过MCU配置S2E为UDP、TCP Server的工作模式”,相信小伙伴们已经对S2E的基本功能了解了一些,现在就让我们再接再厉、更上一层楼吧:首先我们先了解一下MCU与S2...
用户1647523 2018-01-09 15:53
教你如何通过MCU配置S2E为TCP Server的工作模式
在上一篇文章中讲了“如何通过MCU配置S2E为UDP模式”,相信小伙伴们已经了解了S2E的基本功能,在这一篇中,我们再接再厉,继续学习一下“如何通过MCU配置S2E为TCP Server的工作模式”,...
用户1647523 2018-01-09 14:44
教你如何通过MCU将S2E配置为UDP的工作模式
​​W5500S2E-S1是一款工业级串口转以太网模块,支持TCP Server、TCP Client和UDP三种工作模式,串口波特率最高可达1.152Mbps,并提供配套的上位机配置软件,也可通过网...
用户1647523 2015-12-09 13:53
第四届韩合集成电路技术交流会成功举办
2015年12月2日,第四届韩合集成电路技术交流会在WESTIN酒店深圳世界之窗店顺利举办。本届交流会与会嘉宾主要是韩合集成电路项目的主要领导、驻在深圳的9家韩合IC企业以及相关企业代表,主要围绕...
用户1647523 2015-12-09 13:46
第四届韩合集成电路技术交流会成功举办
2015年12月2日,第四届韩合集成电路技术交流会在WESTIN酒店深圳世界之窗店顺利举办。本届交流会与会嘉宾主要是韩合集成电路项目的主要领导、驻在深圳的9家韩合IC企业以及相关企业代表,主要围绕...
用户1647523 2015-10-16 14:47
WIZnet芯片在智能家居市场的应用
2014年是智能家居和可穿戴设备集中发力的一年。传统家电厂商、互联网企业和智能终端企业都虎视眈眈的盯着这个巨大的蛋糕,初创企业也借助各种众筹平台将自己的新奇创意转换为实际产品并推进市场,各种智能家...
我要评论
3
24
关闭 站长推荐上一条 /2 下一条