【计算机网络】DHCP:动态主机配置协议

  DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作 中央管理的手段,在RFC 2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做“双机热备”的。

  DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、 Gateway地址(默认网关)与本地DNS服务器地址等信息,并能够提升地址的使用率。DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。

  

DHCP工作过程主要分为下面几步:

  1. 新到达的主机的首要任务是发现一个要与其交互的DHCP服务器。这可通过DHCP发现报文(DHCP discover message)来完成,客户机在UDP分组中向端口67发送该发现报文。但是这个数据给谁呢?该主机甚至不知道它所链接网络的IP地址,更不用说用于该网络的DHCP服务器地址了。在这种情况下,DHCP客户机生成包含DHCP发现报文的IP数据报,其中使用广播目的地址255.255.255.255并且使用“本主机”源地址0.0.0.0. DHCP客户机将该IP数据包传递给链路层,链路层将该帧广播到所有与该子网。

  2. DHCP服务器收到一个DHCP发现报文时,用一个DHCP提供报文(DHCP offer message)对客户机做出响应,仍然使用IP广播地址255.255.255.255。为什么还是使用广播地址呢?因为在子网中可能有多个DHCP服务器,这些DHCP服务器都会发出DHCP应答保温壶。客户机只选择其中的一个DHCP服务器的应答报文,一般是最先到达的那个。

  3. 客户机从一个或多个服务器中选择一个,并用DHCP请求报文(DHCP request message)对选中的服务器进行响应,DHCP Client会发出一个广播的DHCP Request报文,在选项字段中会加入选中的DHCP Server的IP地址和需要的IP地址。

  4. DHCP Server收到DHCP Request报文后,判断选项字段中的IP地址是否与自己的地址相同。如果不相同,DHCP Server不做任何处理只清除相应IP地址分配记录;如果相同,DHCP Server就会向DHCP Client响应一个DHCP ACK报文,并在选项字段中增加IP地址的使用租期信息。

  5. DHCP Client接收到DHCP ACK报文后,检查DHCP Server分配的IP地址是否能够使用。如果可以使用,则DHCP Client成功获得IP地址并根据IP地址使用租期自动启动续延过程;如果DHCP Client发现分配的IP地址已经被使用,则DHCP Client向DHCPServer发出DHCP Decline报文,通知DHCP Server禁用这个IP地址,然后DHCP Client开始新的地址申请过程。

  6. DHCP Client在成功获取IP地址后,随时可以通过发送DHCP Release报文释放自己的IP地址,DHCP Server收到DHCP Release报文后,会回收相应的IP地址并重新分配。 

  在使用租期超过50%时刻处,DHCP Client会以单播形式向DHCP Server发送DHCPRequest报文来续租IP地址。如果DHCP Client成功收到DHCP Server发送的DHCP ACK报文,则按相应时间延长IP地址租期;如果没有收到DHCP Server发送的DHCP ACK报文,则DHCP Client继续使用这个IP地址。

在使用租期超过87.5%时刻处,DHCP Client会以广播形式向DHCP Server发送DHCPRequest报文来续租IP地址。如果DHCP Client成功收到DHCP Server发送的DHCP ACK报文,则按相应时间延长IP地址租期;如果没有收到DHCP Server发送的DHCP ACK报文,则DHCP Client继续使用这个IP地址,直到IP地址使用租期到期时,DHCP Client才会向DHCP Server发送DHCP Release报文来释放这个IP地址,并开始新的IP地址申请过程。

  需要说明的是:DHCP客户端可以接收到多个DHCP服务器的DHCPOFFER数据包,然后可能接受任何一个DHCPOFFER数据包,但客户端通常只接受收到的第一个DHCPOFFER数据包。另外,DHCP服务器DHCPOFFER中指定[1] 的地址不一定为最终分配的地址,通常情况下,DHCP服务器会保留该地址直到客户端发出正式请求。

  正式请求DHCP服务器分配地址DHCPREQUEST采用广播包,是为了让其它所有发送DHCPOFFER数据包的DHCP服务器也能够接收到该数据包,然后释放已经OFFER(预分配)给客户端的IP地址。

  如果发送给DHCP客户端的地址已经被其他DHCP客户端使用,客户端会向服务器发送DHCPDECLINE信息包拒绝接受已经分配的地址信息。

在协商过程中,如果DHCP客户端发送的REQUEST消息中的地址信息不正确,如客户端已经迁移到新的子网或者租约已经过期,DHCP服务器会发送DHCPNAK消息给DHCP客户 端,让客户端重新发起地址请求过程。

  

参考资料:

  1. http://baike.baidu.com/item/DHCP

  2. 《计算机网络--自顶向下方法》

时间: 2024-10-13 00:18:44

【计算机网络】DHCP:动态主机配置协议的相关文章

DHCP动态主机配置协议

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)功能 :集中的管理.自动分配IP地址动态的获得IP地址.Gateway地址.DNS服务器地址... 实验具体操作 服务端:安装dhcp 查找配置文件实例文档删除原先的配置,复制过去并改名为dhcpd.confvim编辑 配置文件dhcpd.conf删除27,28行35行之后全删除 编辑分配 IP地址池 subnet 172.25.254.0 netmask 255.255.255.0 { --->

DHCP 动态主机配置协议   Dynamic Host Configuration Protocol

局域网的 网络协议,使用 UDP协议工作, 主要有两个用途:给内部网络或 网络服务供应商自动分配 IP地址,给用户或者内部 网络管理员作为对所有 计算机作中央管理的手段,端口:udp 67:服务器端 :udp 68:客户端 DHCP具有以下功能: 1. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用. 2. DHCP应当可以给用户分配永久固定的IP地址. 3. DHCP应当可以同用其他方法获得IP地址的 主机共存(如手工配置IP地址的主机). 4. DHCP 服务器应当向现有的BOOT

第9章 应用层(2)_动态主机配置协议(DHCP)

2. 动态主机配置协议(DHCP) 2.1 静态地址和动态地址的应用场景 (1)静态地址应用场景 ①IP地址不经常更改的设备(如服务器地址) ②使用有规律的IP地址以便于管理(如学校机房为方便教师管理学生) (2)动态地址应用场景 ①网络中的计算机不固定(如学生在不同教室上课,如果让学生自己指定IP很可能发生地址冲突) ②无线设备最好使用动态IP(这样,移动到哪里都无需进行网络设置,只要输入无线连接密码即可) ③ADSL拨号上网通常也使用自动获得IP.ISP运营商为拨号上网的用户自动分配上网使用

动态主机配置协议DHCP

一.什么是DHCP DHCP,动态主机配置协议,提供一种称为“即插即用连网”的机制,允许一台计算机加入新的网络和获取IP地址而不用手工配置. 二.DHCP工作原理和工作流程 DHCP服务器被动打开UDP端口67,等待客户端发来的报文. DHCP客户从UDP端口68广播发送发现报文(目的IP地址置为全1,源IP地址设为全 0). 3. 只有DHCP服务器对此报文进行回答.凡收到DHCP发现报文的DHCP服务器都发出 DHCP提供报文,因此DHCP客户可能收到多个DHCP提供报文.DHCP服务器先在

DHCP服务器——动态主机配置协议

主配置文件:/etc/dhcp/dhcpd.conf 几乎为空参考模板:/usr/share/doc/dhcp-4.2.5/dhcpd.conf.sampleIP信息以及相关租期信息:/var/lib/dhcpd/dhcpd.leases 1.安装软件yum -y install dhcp2.修改配置文件,可将模板文件内容复制到配置文件做修改操作vi /etc/dhcp/dhcpd.conf配置文件分为 全局设置 子网定义 主机定义 全局设置如下: 子网定义如下: 主机定义如下: 3.配置完成自

DHCP(动态主机配置协议)实验:

注意:以下四个实验,均要注意防火墙和Selinux对服务的影响: 1.简单的DHCP服务搭建 实验环境:两台虚拟机,使用桥接模式 DHCP服务器端IP地址: 安装软件: 修改配置文件: 客户端验证:(客户端的网卡配置成dhcp自动获取模式) 2.IP地址保留实验: 修改配置文件: 客户端验证: 3.超级域实验: 修改配置文件: 客户端验证: 4.DHCP中继代理实验: 说明:需要三台虚拟机:(一台DHCP服务器.一台作中继及路由转发,一台做客户机) 其中中继代理服务器需要添加两块网卡,实验环境D

DHCP 动态主机的简单配置

 dhcp :维基百科的介绍 动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途: 给内部网络或网络服务供应商自动分配IP地址给用户 给内部网络管理员作为对所有电脑作中央管理的手段 补充一句:服务端UDP67口,客户端:UDP68口. 原理 动态主机设置协议(DHCP)是一种使网络管理员能够集中管理和自动分配IP网络地址的通信协议.在IP网络中,每个连接Internet的设备都 需要分配

跨网段实现DHCP动态IP的自动分配(DHCP中继)

一. DHCP:动态主机配置协议 1. 作用:实现企业大量主机IP的动态配置和集中管理.减少工作量,减少人为配置错误. 2. DHCP工作原理: a) 发现阶段---发送DHCP discover 报文 b) 提供阶段---服务器回应offer c) 选择阶段----发送request请求 报文 d) 确认阶段---服务器回应 ack确认 二.DHCP中继:当DHCP客户端 与 DHCP 服务器不在同一个网段的时候,我们需要配置 DHCP 中继 DHCP中继实例 实验准备: 设备:路由器一台 三

使用DHCP动态配置主机地址

前言: DHCP(Dynamic Host Configuration Protocol)动态主机配置协议,在网络中架设一台专用的DHCP服务器,负责集中分配各种网络地址参数. DHCP协议相关的数据包:RARP→discovery→offer→request→ack 实验环境:Centos6.5,配置好本地yum仓库 Server:192.168.1.1 Client1:DHCP获得地址 client2:获得DHCP保留地址192.168.1.10 服务端配置:↓↓ [[email prote