文档库 最新最全的文档下载
当前位置:文档库 › DHCP工作过程的六个主要步骤

DHCP工作过程的六个主要步骤

DHCP工作过程的六个主要步骤
DHCP工作过程的六个主要步骤

DHCP工作过程的六个主要步骤

IT技术2012-06-13 浏览(26783)

对于学习DHCP来说,很重要的一部分就是对于DHCP工作过程的理解。那么首先DHCP 分为两个部分:一个是服务器端,另一个是客户端。所有客户机的IP地址设定资料都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配下来的IP地址。

DHCP服务器提供三种IP分配方式:自动分配(Automatic Allocation)、动态分配(Dynamic Allocation)和手动分配。自动分配是当DHCP客户端第一次成功地从DHCP服务器端分配到一个IP地址之后,就永远使用这个地址。动态分配是当DHCP客户端第一次从DHCP 服务器分配到IP地址后,并非永久地使用该地址,每次使用完后,DHCP客户端就得释放这个IP地址,以给其他客户端使用,而手动分配是由DHCP服务器管理员专门指定IP地址。

DHCP客户机在启动时,会搜寻网络中是否存在DHCP服务器。如果找到,则给DHCP服务器发送一个请求。DHCP服务器接到请求后,为DHCP客户机选择TCP/IP配置的参数,并把这些参数发送给客户端。如果已配置冲突检测设置,则DHCP 服务器在将租约中的地址提供给客户机之前会试用Ping测试作用域中每个可用地址的连通性。这可确保提供给客户的每个IP地址都没有被使用手动TCP/IP配置的另一台非DHCP 计算机使用。

根据客户端是否第一次登录网络,DHCP的工作形式会有所不同。客户端从DHCP服务器上获得IP地址的整个过程分为以下六个步骤:

DHCP工作过程1.寻找DHCP服务器

当DHCP客户端第一次登录网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务器,即向255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会介绍这个广播信息,但只有DHCP 服务器才会做出响应。

DHCP工作过程2.分配IP地址

在网络中接收到DHCP discover发现信息的DHCP服务器都会做出相应,它从尚未分配的IP 地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含分配的IP地址和其他设置的DHCP offer提供信息。

DHCP工作过程3.接受IP地址

DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息,然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP 地址的内容。

DHCP工作过程4.IP地址分配确认

当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户端可以使用它提供的IP地址。然后,DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除了DHCP客户机选中的服务器外,其他的DHCP服务器将收回曾经提供的IP地址。

DHCP工作过程5.重新登录

以后DHCP客户端每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认

信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时,则DHCP服务器给DHCP 客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCPdiscover发现信息来请求新的IP地址。

DHCP工作过程6.更新租约

DHCP 服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。

DHCP for IPv6原理及工作过程

DHCP for IPv6原理及工作过程一 1 DHCPv6概述 即插即用和自动配置是IPv6的一大优势,是目前研究的热点之一。与IPv4相对应,IPv6中的“被动”地址分配协议是动态主机配置协议DHCPv6。 DHCPv6(Dynamic Host Configuration Protocol for IPv6,支持IPv6的动态主机配置协议)是针对IPv6编址方案设计的,为主机分配IPv6前缀、IPv6地址和其他网络配置参数的协议。 与其他IPv6地址分配方式(手工配置、通过路由器公告消息中的网络前缀无状态自动配置等)相比,DHCPv6具有以下优点: 1.不仅可以分配IPv6地址,还可以分配IPv6前缀,便于全网络的自动配置和管理。 2.更好地控制地址的分配。通过DHCPv6不仅可以为主机分配的地址/前缀,还可以为特定主机分配特定的地址/前缀,以便于网络管理。 除了IPv6前缀、IPv6地址外,还可以为主机分配DNS服务器、域名等网络配置参数。 因为DHCPv6利用了IPv6协议某些内在增强功能,所以与DHCPv4有一些显著的不同,概述如下: 1.DHCP Client一经引导,就有了一个本地链路IP地址,DHCP Client可利用它与DHCP Server或DHCP Relay通信。 2.DHCP Client用组播地址与DHCP Server通信,而不是广播地址。 3.IPv6允许每个接口使用多个IP地址,所以DHCPv6在请求时可以提供多个地址。 4.没有BOOTP兼容性要求。 5.可以使用information-request/reply消息完成简单配置。 6.Client可以发送多个互不相关请求给同一或不同的Server。 7.Server使用reconfigure消息通知Client重配置网络参数。 2 DHCPv6协议的实现过程 2.1 DHCPv6地址/前缀分配过程

网络协议DHCP协议分析课程设计

课程设计(大作业)报告 课程名称:网络协议工程 设计题目:DHCP协议分析以及以下各层协议的工作机制院系:信息技术学院 班级:级计算机科学与技术2班设计者: 学号: 指导教师:洪孙焱 设计时间:2014.1.2—2014.1.6 信息技术学院

昆明学院课程设计(大作业)任务书

目录 一.题目分析 (1) 二.实验环境 (1) 三.实验原理 (2) DHCP 工作原理: (4) 四.实验流程 (5) 五.实验步骤 (6) 1、可能用到的网络协议有: (6) 2、划分VLAN (8) 3:用实验主机自动获取 IP 地址,捕获数据包并进行分析 (10) 六.协议分析 (13) 六.实验总结 (17) 七、参考文献 (17)

课程设计(大作业)报告 一.题目分析 用协议分析工具分析DHCP以及以下各层协议的工作机制: 1、理解DHCP协议的基本原理; 2、了解DHCP的工作过程; 3、了解DHCP的基本命令格式; 4、了解DHCP以及以下各层协议的工作机制 二.实验环境 本实验中需要有一台开启 DHCP 服务的主机。锐捷的三层交换机 RG-S3750-24 即可以配置 DHCP 服务,本实验中使用锐捷的三层交换机作为 DHCP 服务器。实验拓扑图如图 所示: 实验拓扑图

三.实验原理 DHCP 是动。态主机分配协议(Dynamic Host Configuration Protocol)的缩写,它的前身是 BOOTP 协议。BOOTP 原本是用于无盘工作站连接的网络上:网络主机使用BOOTROM 而不是磁盘起动并连接上网络,需要通过 BOOTP 协议自动地为那些主机设定TCP/IP环境。但是 BOOTP 协议有一个缺点:在设定前必须事先获得客户端的 MAC 地址,而且,与 IP 地址的对应是静态的。即,BOOTP 非常缺乏“动态性”,不但配置起来非常麻烦,而且在有限的 IP 地址资源环境中,BOOTP 协议要求的地址一一对应关系会造成非常可观的浪费。DHCP 协议可以说是 BOOTP 协议的增强版本,提供了一种动态指定 IP 地址和配置参数的机制,使网络管理员能够集中管理和自动分配 IP 网络地址。当某台计算机移到网络中的其它位置时,能自动收到新的 IP 地址。DHCP 由两个部份组成:一个是服务器端,而另一个是客户端。所有的 IP 网络设定参数都由 DHCP 服务器集中管理,并负责处理客户端的 DHCP 请求;而客户端则会使用从服务器分配下来的 IP 环境数据。相对于 BOOTP,DHCP 透过“租约”的概念,有效且动态的分配客户端的 TCP/IP 环境设定,而且,作为兼容考虑,DHCP 也完全照顾了 BOOTP Client的需求。 DHCP 主要用于大型网络环境和配置 IP 比较困难的地方。有些 DHCP 服务器指定的配置参数和 IP 协议并不相关,但这并没有关系,它的配置参数使得网络上的计算机通信变得方便而容易实现了。DHCP 分配 IP 地址的租期从 1 分钟到 100 年不定,当租期到了的时候,服务器可以把这个 IP 地址分配给别的机器使用。 DHCP 报文格式:

DHCP定义和工作原理

DHCP定义 DHCP就是Dynamic Host Configuration Protocol的缩写,即动态主机设置协议,它是TCP/IP协议簇中得一种,主要作用是给网络中其他计算机动态分配IP地址。 DHCP的工作原理 整个过程: DHCP请求IP地址的过程 发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCPDISCOVER包,只有DHCP服务器才会响应。 提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中选择一个尚未分配的IP地址分配给客户端,向该客户端发送包含租借的IP地址和其他配置信息的DHCPOFFER包。 选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发送DHCPOFFER包,客户端从中随机挑选,然后以广播形式向各DHCP 服务器回应DHCPREQUEST包,宣告使用它挑中的DHCP服务器提供的地址,并正式请求该DHCP服务器分配地址。其它所有发送DHCPOFFER包的DHCP服务器接收到该数据包后,将释放已经OFFER(预分配)给客户端的IP地址。 如果发送给DHCP客户端的DHCPOFFER包中包含无效的配置参数,客户端会向服务器发送DHCPCLINE包拒绝接受已经分配的配置信息。 确认阶段,即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP 客户端回答的DHCPREQUEST包后,便向客户端发送包含它所提供的IP地址及其他配置信息的DHCPACK确认包。然后,DHCP客户端将接收并使用IP地址及其他TCP/IP配置参数。 DHCP客户端续租IP地址的过程 DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约。实际使用中,在IP地址租约期限达到一半时,DHCP客户端会自动向DHCP服务器发送DHCPREQUEST包,以完成IP租约的更新。如果此IP地址有效,则DHCP 服务器回应DHCPACK包,通知DHCP客户端已经获得新IP租约。 如果DHCP客户端续租地址时发送的DHCPREQUEST包中的IP地址与DHCP服务器当前分配给它的IP地址(仍在租期内)不一致,DHCP服务器将发送DHCPNAK消息给DHCP客户端。

抓包工具Wireshark分析DHCP协议

Wireshark分析DHCP协议 一,动态主机配置协议DHCP 1,DHCP简介 DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,是一个应用层协议。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP 协议给客户端分配IP,使得客户机能够利用这个IP上网。 DHCP的前身是BOOTP协议(Bootstrap Protocol),BOOTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BOOTP更加复杂,功能更强大。后面可以看到,在用Wireshark过滤显示DHCP包,需要输入过滤条件BOOTP,而不是DHCP,但或许是因为我使用的Wireshark版本是比较旧的1.12.9,没有在新版本中尝试过,也许可以输入DHCP让其只显示DHCP包。 2,DHCP的实现 DHCP的实现分为4步,分别是: 第一步:Client端在局域网内发起一个DHCP Discover包,目的是想发现能够给它提供IP的DHCP Server。 第二步:可用的DHCP Server接收到Discover包之后,通过发送DHCP Offer包给予Client端应答,意在告诉Client端它可以提供IP地址。

第三步:Client端接收到Offer包之后,发送DHCP Request包请求分配IP。 第四步:DHCP Server发送ACK数据包,确认信息。 二,利用Wireshark抓取DHCP包 1,分析 要想抓取到DHCP包,先要保证有可用的DHCP服务器,然后将主机IP地址获取方式设置为自动获取。如果主机在抓包之前已经联网,需要先断开主机的网络连接,然后再连接网络。在cmd下使用命令ipconfig来完成网络断开与连接的过程:ipconfig /release 断开主机当前的网络连接 ipconfig /renew 请求连接网络 在cmd中可以使用ipconfig /?查看各参数的含义: (1)ipconfig /release 断开当前的网络连接,主机IP变为0.0.0.0,主机与网络断开,不能访问网络。 (2)ipconfig /renew 更新适配器信息,请求连接网络,这条命令结束之后,主机会获得一个可用的IP,再次接入网络。 2,开始抓包 实验环境:Win10,Wireshark1.12.9,有线连接

实验四使用sniffer分析DNS协议和DHCP协议

实验四使用sniffer分析DNS协议和DHCP协议 一、实验目的和要求 通过本实验,学生可以使用Windows 2003提供的DNS服务功能,进行域名解析,将域名解析成IP地址。 利用Windows 2003提供的DNS服务功能,创建DNS服务器,进行域名解析。 二、实验主要仪器和设备 硬件:服务器1台、工作站2台、交换机1台。 软件:windows 2003 server操作系统1套、其它Windows操作系统1套。 三、实验方法与步骤(需求分析、算法设计思路、流程图等) 在网络中,每一台主机都有一个唯一的32位二进制IP地址来标识,这是网络中主机之间进行通信的基础。这个32位二进制IP地址用四段十进制数来表示,各段之间用来[?]“.”分隔开来,如218.22.182.219,这些IP地址都是毫无记忆规律的。如果要求人们记住这些IP地址,那将是不可想象的。为了既方便人们记忆,又能实现主机之间的通信,DNS(Domain Name System,域名系统)就应运而生了。DNS域名系统主要实现Internet上主机的符号域名与IP地址之间的转换服务,也称名字服务或域名服务。 1、DNS系统 DNS采用的是有层次的名字空间,实行了分布式数据库系统,并采用了基于域的命名机制。它的主要作用是把一个主机域名或E-mail地址映射成一个32位的IP地址。DNS服务采用的是客户机/服务器模式,在客户机端发出DNS请求的程序称为域名解析器,在服务器端完成DNS响应的程序称为域名服务器。域名解析器为应用程序向域名服务器发出DNS请求,即DNS查询,域名服务器采用迭代查询或递归查询,将查询结果返回给域名解析器。 2、 DNS域名结构 DNS域名系统是一个层次化、基于域命名机制的命名系统,它是一个树状结构,它的形状像是一棵倒画的树,并使用分布式数据库实现。整个树状结构称为域名空间,其中的节点称为域。在每个域中,任何一台主机的域名都是唯一的。 在DNS域名系统中,树状的最顶端是根域,根域没有名字,用“.”来表示。根域下面划分出

DHCP协议详解

DHCP协议详解 DHCP的优缺点 DHCP服务优点不少:网络管理员可以验证IP地址和其它配置参数,而不用去检查每个主机;DHCP不会同时租借相同的IP地址给两台主机;DHCP管理员可以约束特定的计算机使用特定的IP地址;可以为每个DHCP作用域设置很多选项;客户机在不同子网间移动时不需要重新设置IP地址 但同时也存在不少缺点:DHCP不能发现网络上非DHCP客户机已经在使用的IP地址;当网络上存在多个DHCP服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址;DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP转发 工作流程 DHCP服务的工作过程是这样的: 1.发现阶段,即DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCP discover 发现信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP 服务器才会做出响应(如图1) 2.提供阶段,即DHCP服务器提供IP地址的阶段。在网络中接收到DHCP discover 发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCP

offer提供信息(如图2)。 3.选择阶段,即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCP offer提供信息,则DHCP客户机只接受第一个收到的DHCP offer提供信息,然后它就以广播方式回答一个DHCP request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP 服务器所提供的IP地址(如图3) 4.确认阶段,即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCP request请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的

dhcp的工作原理

1 引言 在传统的DHCP动态分配IP地址的方式中,同一VLAN的用户得到的IP地址所拥有的权限是完全相同的,网络管理者不能对同一LAN中特定的用户进行有效的控制。普通的DHCP中继代理(不支持Option82的)也不能够区分不同的客户端,从而无法结合DHCP动态分配IP地址的应用来控制客户端对网络资源的访问,给网络的安全控制提出了严峻的挑战。 利用DHCP的OPTOIN 82,通过与认证系统的配合,可以有效的动态的控制用户对网络特定资源的访问。 2 DHCP的工作原理 (1)寻找Server:当DHCP客户端第一次登录网络的时候,它会向网络广播一个DHCP DISCOVER数据包。 (2)提供IP租用地址:每个有空闲地址的DHCP服务器都发出DHCP OFFER包响应这个DHCP DISC0VER 包。 (3)接受IP租约:如果客户端收到网络上多台DHCP服务器的回应,就会挑选其中一个DHCP Offer而已(通常是最先抵达的那个),并且会向网络发送一个DHCP Request广播数据包,告诉所有DHCP服务器它将指定接受哪一台服务器提供IP地址。同时,客户端还会向网络发送一个ARP数据包,查询网络上面有没有其它机器使用该IP地址;如果发现该IP已经被占用,客户端则会送出一个DHCP DECLINE数据包给DHCP服务器,拒绝接受其DHCP Offer,并重新发送DHCP Discover信息。事实上,并不是所有DHCP客户端都会无条件接受DHCP服务器的Offer。客户端也可以用DHCP Request向服务器提出DHCP选择,而这些选择会以不同的号码填写在DHCP Option Field里面。换句话说,在DHCP服务器上面的设定,未必是客户端全都接受,客户端可以保留自己的一些TCP/IP设定。 (4)租约确认:当DHCP服务器接收到客户端的DHCP Request之后,会向客户端发出一个DHCP ACK 回应,以确认IP租约的正式生效,也就结束了一个完整的DHCP工作过程。 DHCP的工作流程如图1如示。 3 DHCP数据包格式

图解DHCP租约过程

DHCP租约过程 图解DHCP的4步租约过程 DHCP租约过程就是DHCP客户机动态获取IP地址的过程。 DHCP租约过程分为4步: ①客户机请求IP(客户机发DHCPDISCOVER广播包); ②服务器响应(服务器发DHCPOFFER广播包); ③客户机选择IP(客户机发DHCPREQUEST广播包); ④服务器确定租约(服务器发DHCPACK/DHCPNAK广播包)。 详解4步租约过程: 第1步:客户机请求IP 客户机请求IP也称为DHCPDISCOVER。 当一个DHCP客户机启动时,会自动将自己的IP地址配置成0.0.0.0,由于使用0.0.0.0不能进行正常通信,所以客户机就必须通过DHCP服务器来获取一个合法的地址。由于客户机不知道DHCP服务器的IP地址,所以它使用0.0.0.0的地址作为源地址,使用UDP68端口作为源端口,使用255.255.255.255作为目标地址,使用UDP67端口作为目的端口来广播请求IP地址信息(见图一)。广播信息中包含了DHCP客户机的MAC地址和计算机名,以便使DHCP 服务器能确定是哪个客户机发送的请求。 DHCP客户机总是试图重新租用它接收过的最后一个IP地址,这给网络带来一定的稳定性。图一:客户机请求IP

第2步:服务器响应 服务器响应也称为DHCPOFFER。 当DHCP服务器接收到客户机请求IP地址的信息时,它就在自己的IP地址池中查找是否有合法的IP地址提供给客户机。如果有,DHCP服务器就将此IP地址做上标记,加入到DHCPOF FER的消息中,然后DHCP服务器就广播一则包括下列信息的DHCPOFFER消息: DHCP客户机的MAC地址;DHCP服务器提供的合法IP地址;子网掩码;默认网关(路由);租约的期限;DHCP服务器的IP地址。 因为DHCP客户机还没有IP地址,所以DHCP服务器使用自己的IP地址作为源地址,使用U DP67端口作为源端口,使用255.255.255.255作为目标地址,使用UDP68端口作为目的端口来广播DHCPOFFER信息(见图二)。 图二:服务器响应

DHCP协议说明书

DHCP协议说明书 1 DHCP协议介绍 动态主机配置协议(Dynamic Host Configuration Protocol)属于应用层,是基于BOOTP(BOOTstrap Protocol)的,BOOTP和RARP类似,是用于相对静态的环境,其中每个主机都有一个永久的网络连接。管理人员创建一个BOOTP配置文件来定义每个主机的BOOTP参数。在计算机经常移动和实际计算机数目超过了可获得的IP主机地址时,这种只提供从主机标识到主机参数的静态映射就不适用了。为此制订了DHCP,它加入了自动分配可再利用的地址和附加的配置选项的能力。DHCP从两个方式上扩充了BOOTP,第一,DHCP可使计算机用一个消息获取它所需要的所有配置信息,即传送配置信息的协议;第二,DHCP允许计算机快速、动态的获取IP地址,即动态分配IP地址的机制。 DHCP建立在client-server模型上。其中指定的DHCP server分配网络地址并向动态配置的主机传送配置参数。只有当系统管理员明确的配置主机作为DHCP服务器时,主机才能作为服务器来工作。 DHCP支持三种类型的地址分配:自动分配方式中DHCP给主机指定一个永久的IP地址;动态分配方式中DHCP给主机指定一个有时间限制的IP地址,到时间或主机明确表示放弃这个地址时,这个地址可以被其他的主机使用;手工分配方式中主机的IP地址是由网络管理员指定的,DHCP只是把指定的IP地址告诉主机。在这三种方式中,只有动态分配的方式可以对已经分配给主机但现在此主机已经不用的IP地址重新加以利用。这样,在给一台临时连入网络的主机分配地址或者在一组不需要永久的IP地址的主机中共享一组有限的IP地址时,动态分配显得特别有用。当一台新主机要永久的接入一个网络时,而网络的IP地址非常有限,为了将来这台主机被淘汰时能回收IP地址,这种情况下动态分配也是一个很好的选择。 DHCP的消息格式是建立在BOOTP消息格式上的,这样可以利用BOOTP的中继代理功能来避免在每个物理网络都建立一个DHCP server,同时还允许现有的BOOTP client使用DHCP server。 2 DHCP的实现 2.1 客户机和服务器的报文交换 2.1.1动态分配地址 动态地址分配是DHCP的最重要和新颖的功能。不像BOOTP所用的静态地址分配,动态地址分配不是一对一的映射,而且服务器不需要预先知道客户机的身份。特别的,可配置DHCP服务器使得任意一个机器都可获取IP地址并开始通信。因此,DHCP使得设计自动配置的系统成为可能。一台计算机上网后,它使用

DHCP协议分析

DHCP协议分析 DHCP协议封装 DHCP协议是基于UDP层之上的应用,DHCP CLIENT将采用端口号68,DHCP SERVER采用端口号67,其报文内容的封装如下所示: 链路层头 IP头 UDP头 DHCP报文 其中: 链路层头:承载报文的链路层信息头。 IP头:标准IP协议头,IPV4中长度为20bytes,包括SrcIp,DstIp等信息。 UDP头:8个bytes,包括SrcPort,DstPort,报文长度及UDP校验和等信息。 DHCP报文:具体的DHCP报文内容。 由于DHCP协议是让终端获取IP 地址的协议,所以终端是没有IP地址的。为了能够正常的收发DHCP报文,采取了如下措施: a)、链路层的封装必须是广播形式,即让在同一物理子网中的所有主机都能够收到这个报文,在Ethernet_II格式的网络中,是DstMac为全1。 b)、由于终端没有IP地址,IP头中的SrcIp规定填为全0。 c)、当终端发出DHCP请求报文,并不知道DHCP SERVER的IP地址,因此IP头中的DstIp填为有限的子网广播IP——全1,保证DHCP SERVER的IP协议栈不丢弃这个报文。 d)、上面的措施保证了DHCP SERVER能够收到终端的请求报文,但仅凭链路层和IP层信息,DHCP SERVER无法区分出DHCP报文,因此终端发出的DHCP请求报文的UDP层中的SrcPort为68,DstPort为67,即DHCPSERVER通过端口号67来判断一个报文是否是DHCP报文。

DHCP报文格式 op:报文的操作类型,分为请求报文和响应报文,1为请求报文;2为响应报文。具体的报文类型在option字段中标识。 htype:硬件地址类型。 hlen:硬件地址长度。系统目前只对以太网支持,硬件地址长度固定为6。 hops:DHCP 报文经过的DHCP 中继的数目。DHCP 请求报文每经过一个DHCP中继,该字段就会增加1。 xid:由客户端软件产生的随机数,用于匹配请求和应答报文。 secs:客户端进入IP 地址申请进程的时间或者更新IP 地址进程的时间;由客户端软件根据情况设定。目前没有使用,固定为0。 flags:标志字段。第一个比特为广播响应标识位,用来标识DHCP 服务器响应报文是采用单播还是广播方式发送,0 表示采用单播方式,1 表示采用广播方式。其余比特保留不用。 ciaddr:DHCP客户端的IP地址。 yiaddr:DHCP服务器分配给客户端的IP地址。 siaddr:DHCP客户端获取IP地址等信息的服务器IP地址。 giaddr:DHCP客户端发出请求报文后经过的第一个DHCP中继的IP地址。 chaddr:DHCP客户端的硬件地址。 sname:DHCP客户端获取IP地址等信息的服务器名称。 file:DHCP服务器为DHCP客户端指定的启动配置文件名称及路径信息。 options:可选变长选项字段,包含报文的类型、有效租期、DNS 服务器的IP地址、WINS服务器的IP地址等配置信息。

DHCP协议的工作过程

DHCP协议的工作过程 首先,DHCP客户端发送DHCPDISCOVER消息(IP地址租用申请),这个消息是通过广播方式发送出去的,所有网络中的DHCP服务器都将接收到这个消息。 随后,网络中的DHCP服务器会回应一个DHCPOFFER消息(IP地址租用提供),由于这个时候客户端还没有网络地址,所以DHCPOFFER也是通过广播的方式发送出去的。需要注意的是,由于网络中可能存在不止一台的DHCP服务器,所以,如果不考虑网络丢包的话,客户端将接收到不止一条的DHCPOFFER 消息。那么客户端会选择它接收到的第一条DHCPOFFER作为获取配置的服务器。 然后,向该服务器发送DHCPREQUEST消息。虽然这个时候客户端已经明确知道选择的DHCP服务器的地址所在,但仍将采用广播的方式发送DHCPREQUEST消息,这样做不仅可以通知选中的服务器向客户端分配IP地址,同时也可以通知其他没有选中的DHCP服务器不需要再响应它的请求。在DHCPREQUEST消息中将包含客户端申请的IP地址。 最后,DHCP服务器将回送DHCPACK的响应消息来通知客户端可以使用该IP地址,该确认里面包含了分配的IP地址和该地址的一个稳定期限的租约(默认是8天),并同时更新DHCP数据库。 当租约过了一半时(即4天),客户端将和设置它的TCP/IP配置的DHCP服务器更新租约。当租约过了85.7%时,如果客户端仍然无法与当初的DHCP服务器联系上,他将与其他DHCP服务器通信,如果网络中再没有任何DHCP服务器在运行时,该客户端停止使用该IP地址,并重新发送一个DHCPDISCOVER 消息,再一次重复整个过程。 DHCP工作时要求客户机和服务器进行交互,由客户端通过广播向服务器发起申请IP地址的请求,然后由服务器分配一个IP地址以及其他的TCP/IP设置信息。DHCPACK整个工作过程如图所示,可以分为以下步骤。 (1)IP地址租用申请(DHCPDISCOVER):DHCP客户机通过UDP68端口发送DHCPDISCOVER广播信息来查找DHCP服务器。网络上每一台安装了TCP/IP协议的主机 都会接收到这种广播信息,但只有DHCP服务器才会做出响应。DHCP客户机发送的 DHCPDISCOVER数据包的源地址是0.0.0.0,目标地址是255.255.255.255。 (2)IP地址租用提供(DHCPOFFER):当网络中的DHCP服务器接收到DHCPDISCOVER广播时,将确定是否可以用自己的数据库来为该请求提供服务。如果可以为该请求提供服务, DHCP服务器就从尚未出租的IP地址范围中选择最前面的空置IP,连同其他TCP/IP设定, 通过UDP 67端口以单播DHCPOFFER的形式为客户端提供IP配置信息。可能有多台DHCP 服务器收到DHCPDISCOVER广播,并且向DHCP客户端响应DHCPOFFER。客户接收到 的DHCPOFFER数据包中包含客户的MAC地址,后面跟着服务器能提供的IP地址、子 网掩码、租约期限以及DHCP服务器的IP地址。 (3)IP地址租用选择(DHCPREQUEST):DHCP客户端通常是接收第一个收到的DHCPOFFER 所提供的信息,并且会向网络发送一个DHCPREQUEST广播风暴,告诉所有DHCP服务器 它将接收哪一台服务器提供的IP地址。

精通DHCP协议

精通DHCP协议 1.DHCP(动态主机配置协议)基本信息 2.DHCP协议概述 3.关于VLAN中DHCP域的问题 4.DHCP简介 5. DHCP协议 6. 如何建立DHCP服务器 7. DHCP协议详解(上) 8. DHCP协议详解(下) 1. DHCP(动态主机配置协议)基本信息 ■概要 动态主机配置协议(DHCP)是RFC1541(由RFC2131替代)定义的标准协议,该协议允许服务器向客户端动态分配IP地址和配置信息。通常,DHCP服务器至少给客户端提供以下基本信息: IP地址 子网掩码 默认网关 它还可以提供其它信息,如域名服务(DNS)服务器地址和WindowsInternet命名服务(WINS)服务器地址。系统管理员配置DHCP服务器分配给客户端的选项。 ■更多信息 以下Microsoft产品提供DHCP客户端功能: WindowsNTServer3.5、3.51和4.0 WindowsNTWorkstation3.5、3.51和4.0 Windows95 MicrosoftNetworkClient3.0forMS-DOS MicrosoftLANManagerClient2.2cforMS-DOS MicrosoftTCP/IP-32forWindowsforWorkgroups3.11、3.11a和3.11b DHCP客户端可以接收来自DHCP服务器的选项,而不同的DHCP客户端支持不同的这些选项。有关MicrosoftDHCP客户端所支持的特定DHCP选项的信息,请参见MicrosoftKnowledgeBase中以下文章: Q121005受客户端支持的DHCP选项 以下Microsoft服务器操作系统提供DHCP服务器功能: WindowsNTServer3.5 WindowsNTServer3.51 WindowsNTServer4.0 当客户端被配置为接收DHCP信息后首次初始化时,它将启动一个与服务器的对话。 以下是客户端和服务器之间对话的汇总表,后面是数据包级的过程说明:

实验7_使用Wireshark分析DHCP协议

实验七使用Wireshark分析DHCP协议 一、实验目的 分析DHCP协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。三、实验步骤 在有动态分配IP的实验环境下俘获分组,具体俘获步骤如下: 1、使用DHCP获取IP地址 (1)打开命令窗口,启动Wireshark。 (2)输入“ipconfig /release”。这条命令会释放主机目前的IP地址,此时,主机IP 地址会变为0.0.0.0 (3)然后输入“ipconfig /renew”命令。这条命令让主机获得一个网络配置,包括新的IP地址。 (4)等待,直到“ipconfig /renew”终止。然后再次输入“ipconfig /renew” 命令。 (5)当第二个命令“ipconfig /renew” 终止时,输入命令“ipconfig/release” 释放原来的已经分配的IP地址 (6)停止分组俘获。如图1所示: 图1:Wireshark俘获的分组

一个ipconfig renew 命令产生四个DHCP分组:a DHCP Discover packet, a DHCP Offer packet, a DHCP Request packet, and a DHCP ACK packet. 下面,对此分组进行分析: IPconfig 命令被用于显示机器的IP地址及修改IP地址的配置。当输入命ipconfig /release命令时,用来释放机器的当前IP地址。释放之后,该机没有有效的IP地址并在分组657中使用地址0.0.0.0作为源地址。 分组657是一个DHCP Discover(发现)报文,如图2所示。当一台没有IP地址的计算机申请IP地址时将发送该报文。DHCP Discovery报文被发送给特殊的广播地址:255.255.255.255,该地址将到达某个限定广播范围内所有在线的主机。理论上,255.255.255.255能够广播到整个因特网上,但实际上并不能实现,因为路由器为了阻止大量的请求淹没因特网,不会将这样的广播发送到本地网之外。 在DHCP Discover报文中,客户端包括自身的信息。特别是,它提供了自己的主机名和其以太网接口的物理地址。这些信息都被DHCP用来标识一个已知的客户端。DHCP 服务器可以使用这些信息实现一系列的策略,比如,分配与上次相同的IP地址,分配一个上次不同的IP地址,或要求客户端注册其物理层地址来获取IP地址。 图2 Discover报文

DHCP服务器的工作过程

DHCP服务器的工作过程: 一、客户机请求 IP(DHCPdiscover) 二、服务器响应(DHCPoffer) 三、客户机选择 IP(DHCPrequest) 四、服务器确认 IP租约(DHCPack/DHCPnak) 以下为详细过程: 一、客户机请求 IP(DHCPdiscover) 当客户机设置使用 DHCP协议获取 IP时,客户机将使用 0.0.0.0作为源地址,使用255.255.255.255作为目标地址来广播请求 IP地址的信息。广播信息中包含DHCP客户机的MAC地址和计算机名。 二、服务器响应(DHCPoffer) 由于是广播所以同一网段内的计算机都会“听”到!DHCP服务器当然也不例外。DHCP服务器“听”到后,它首先会针对该次请求的信息所携带的 MAC地址与 DHCP服务器本身的设置值进行对比。如果 DHCP服务器的设置中有针对该 MAC 提供的静态 IP(每次都给一个固定 IP),则提供给客户机相关的固定 IP与相关的网络参数;如果该信息的 MAC并不在 DHCP服务器的设置中,则 DHCP主机会选取当前网段内没有使用的IP给客户机使用!当然这里的响应,服务器也是采用255.255.255.255的广播,因为此时客户机还没 IP哦~这里有几个要注意的地方:

1、如果同一网段内有多台 DHCP服务器,那么客户机是看谁先响应,谁先响应就选择谁。 2、在 DHCP主机发给客户端的信息中,会附带一个“租约期限”信息,用来告诉客户机这个 IP能用多久! 三、客户机选择 IP(DHCPrequest) 当客户机接收到响应的信息之后,首先会以 ARP在网段内广播(ARP使用全 1的广播 MAC地址),以确定来自DHCP服务器的 IP 没被占用!如果该 IP被占用,那么客户机对于这次的 DHCP信息将不接受,而是再次发送 DHCP请求。若该 IP没有被占用,客户机则接受 DHCP服务器所给的网络参数。同时,客户机发出一个广播,通知所挑选的 DHCP服务器(有多台 DHCP服务器存在时),当然此时也是通知其它的 DHCP服务器,让这些 DHCP服务器将本预分配给客户机的 IP释放掉!(这里的概念一定要弄清楚!)注意,这一步客户机并还没有应用从 DHCP服务器获取到 IP哦!所以这一步源地址还是0.0.0.0,目标地址是 255.255.255.255。 四、服务器确认 IP租约(DHCPack/DHCPnak) 终于到最后一步了,DHCP服务器收到客户机选择 IP的广播后,则以 DHCPack消息的形式向客户机广播成功的确认。DHCPack包含:IP、掩码、网关、DNS等。 此时,当客户机收到 DHCP服务器的 DHCPack消息后,客户机便使用了 DHCP服务器所给的网络参数! 注意事项:

DHCP协议与抓包分析

1.DHCP协议简介:DHCP,全称是Dynamic Host Configuration Protocol,中文名为动态主 机配置协议,它的前身是BOOTP,他工作在OSI的应用层,是一种帮助计算机从指定的DHCP服务器获取它们的配置信息的自举协议【DHCP工作在三层,但是它也有二层协议的部分,使用udp协议,客户机使用端口为68,服务器使用端口为67】 DHCP使用客户端/服务器模式,请求配置信息的计算机叫做DHCP客户端,而提供信息的叫做DHCP的服务器。DHCP为客户端分配地址的方法有三种:手工配置,自动配置,动态配置 DHCP最重要的功能就是动态分配,除了IP地址,DHCP分组还为客户端提供其他的配置信息,比如子网掩码,这使得客户端无需用户手动就能自动配置网络 2.DHCP的工作流程: (1)DHCP Discover阶段:DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCP Discover发现信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应【广播】 (2)DHCP Offers阶段:在网络中接收到DHCP discover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCP offer提供信息【单播】 (3)DHCP Request阶段:如果有多台DHCP服务器向DHCP客户机发来的DHCP offer 提供信息,则DHCP客户机只接受第一个收到的DHCP offer提供信息,然后它就以广播方式回答一个DHCP request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,它将选择某台DHCP服务器所提供的IP地址,并确认以网络中并没有其他客户机使用该IP地址【广播】 (4)DHCP ACK(NACK)阶段:当DHCP服务器收到DHCP客户机回答的DHCP request 请求信息之后,它便向DHCP客户机发送一个包含它提供的IP地址和其他设置的DHCP ACK确认信息,告诉DHCP客户机可以使用它所提供的IP地址,然后DHCP 客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址【单播】 重新登录:以后DHCP客户机每次重新登陆网络时,就不需要再发送DHCP Discover 发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,他会尝试让DHCP客户机使用原来的IP地址,并回答一个DHCP ACK确认信息。如果此IP地址已无法在分配给原来的DHCP客户机使用时(比如此IP地址已分配给其他DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCP NACK否认信息,当原来的DHCP客户机收到此DHCP NACK否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址

DHCP服务器的实现过程

DHCP服务器的实现过程 1、安装DHCP服务: 【步骤1】执行"开始/设置/控制面版"命令,打开添加删除程序 【步骤2】在“添加删除程序”窗口左侧单击“添加删除WINDOWS 组件”项,打开“WINDOWS组件向导”对话框 【步骤3】在"WINDOWS组件向导”对话框,选中“网络服务”,单击“详细信息”按钮,打开网络服务对话框。选中“动态主机配置协议(DHCP)对话框”左侧的复选框,并确定,单击“下一步”按钮,进行文件复制和安装操作。 【步骤4】安装确认:安装完毕。 2、配置 【步骤1】使用控制面板里的DHCP管理工具进行配置:执行“开始/程序/管理工具/DHCP",打开DHCP控制台窗口。 【步骤2】双击服务器图标 【步骤3】右键单击服务器可打开快捷菜单(操作菜单的命令),选择“新建作用域”操作命令:打开新建作用域向导,单击下一步,配置作用域名称:https://www.wendangku.net/doc/e18193463.html, 【步骤4】指定IP地址范围:单击下一步,在IP地址范围内,输入准备分配给客户机的IP地址范围的起始地址192.168.101.1和结束地址192.168.101.101,设置好相应的子网掩码后单击“下一步”。 【步骤5】添加排除地址范围:192.168.101.5—192.168.101.6单击“下一步”。

【步骤7】配置DHCP选项:添加服务器的IP地址:192.168.101.1 【步骤8】激活(启动)作用域 3、DHCP客户机的配置与测试 【步骤1】DHCP客户机的配置:在桌面上,打开“集成网卡属性”对话框 【步骤2】在“集成网卡属性”对话框中选择“Internet 协议(TCP/IP)”,再选择“属性”,在打开的“Internet 协议(TCP/IP)属性”对话框中,选择“自动获取IP地址”选项和“自动获得DNS服务器地址”选项【步骤3】DHCP客户机端的测试:DHCP 客户机检查获得IP地址及其他选项的方法: 在命令提示符方式下,利用IPCONFIG命令检查IP地址的获得:利用“ipconfig/all”命令查看详细的IP设置(包括网卡的物理地址)

实验八 DHCP 协议分析

Q1.DHCP 消息是通过TCP 还是UDP 发送的? 答:UDP。 Q2.请记录前四个DHCP包Discover/Offer/Request/ACK由客户端发送出去的时间。对每一个包,指出源与目标端口号,端口号与上述实验例子中给出的67,68 端口一致么? 答: Q3.你主机的链路层(以太网)地址是什么? 答:由Q1截图可知:00:09:73:60:02:44。 Q4. Discover与Request 包之间依靠什么值的不同来加以区分? 答:通过对比两个包的DHCP协议部分,发现Discover包有Option 116:DHCP Auto-Configuration,Request包有Option 54:Server identifier和Option 81:FQDN。

Q5.Transaction-Id 的值在这前四个DHCP 消息中是多少?在第二组Request/ACK DHCP 消息中又是多少?这个字段的目的是什么? 答:前四个都是0x951b8338,第二组Request/ACK DHCP消息中是0x0b284d96。 这个字段的目的是为了区分每组DHCP 的数据。 Q6. 一个主机通过DHCP 来获取IP 地址,但这个地址直到四条消息交换的最后才被确定。既然在此之前IP 地址都没有被设置,那么在获得IP 租用前,客户端IP 数据包使用的是什么值?在这四条消息中对每一个封装的IP 数据包指出它的源和目标IP 地址。 答:在获得IP 租用前,客户端使用0.0.0.0 作为未知IP。

Q7.你的DHCP 服务器的IP 地址是什么? 答:192.168.0.1 Q8.在DHCP Offer消息中如何看出DHCP服务器的IP地址?指出哪个DHCP消息包含了提供给你的IP 地址。 答:Option 54:Server Identifier看到DHCP服务器的IP地址,Your(client)IP address可以看到提供给你的IP 地址。 Q9.在上面的例图中主机和DHCP服务器之间不存在一个中继代理。这是由哪个值表现出来的?在你的实验中是否有中继代理? 答:没有中继代理,因为DHCP服务器和发送Offer包的IP地址一样。 Q10.说明DHCP Offer消息中的网关和掩码条目的作用。 答:供DHCP客户在最后收到ACK后启用IP配置时设置掩码和网关。 Q11.主机在DHCP Request消息里请求被提供一个IP地址,你获得了什么地址? 答:192.168.0.7 Q12.说明租用时间的作用。在你的实验中租用时间是多少? 答:租用期是DHCP得到的IP的有效使用期,当有效期过后,DHCP服务器回收该IP地址,有利于IP地址的充分利用。租用时间从ACK包中Option 51:IP Address Lease Time获得(关于租用时间为何显示如图,据说是因为sygate代理没设置好引起的)。 Q13.DHCP Release消息的作用是什么?DHCP服务器是否对收到的客户DHCP Release请求给出一个确认?如果客户的DHCP Release消息丢失会如何? 答:为了释放租用的IP地址;没有;服务器会在其租用时间超出后将其IP停用。 Q14.在你的Ethereal 窗口中删除“bootp”过滤字。在DHCP 包交换的过程中是否有收发ARP 包?如果有,解释这些ARP 包的用途。 答:有,通过广播查询IP是否冲突。 参考数据:bootp-1

相关文档