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获取一个IP地址,然后配置其TCP/IP软件使用此地址。当然,自动配置受到管理员的限制——由管理员决定是否允许每个DHCP服务器自动配置。

为是自动配置成为可能,DHCP服务器一开始就拥有网络管理员交给它管理的一组IP地址。管理员定义服务器操作的规则。DHCP客户机通过与服务器交换信息协商地址的使用。在交换中,服务器为客户机提供地址,客户机确认它已接受此地址。一旦客户机接收了一个地址,它就开始使用此地址用于通信。

不像静态地址分配为每个特定主机分配一个永久地址,动态地址分配是临时的。DHCP服务器将一个地址在有限时期内租给一个客户机。服务器在地址分配时指定租用期。在租用期间,服务器不会将同一个地址租给其他客户机。但在租用期结束时,客户机必须更新租期或停止使用地址。

一个租用期的最优时间与特定网络和特定主机的需求有关。对于一个变动很快的网络,为了保证地址能尽快的被再利用,租用期必须短,相反,对一个相对固定的网络,租用期应该长些。为了适应各种可能的环境,DHCP不指定租用期的固定长度,而是由协议让客户机申请某一个租用期,并由服务器通知客户机它认可的租用期。因此,管理员可决定应该给一个客户机分配地址多长时间。特别的,DHCP服务器保留一个不定值,允许像BOOTP分配的永久地址一样任意延长租用期。

客户机为了分配地址和服务器进行报文交换的过程如下:

1、客户机在其子网内广播一个DHCPDISCOVER报文,此报文中包含关于网络地址和租用期选项的值,如果客户机和服务器不在一个子网内,则BOOTP中继代理会把这个报文传给服务器。

2、每个收到这个报文的服务器广播一个包含可提供的网络地址和其他配置信息的DHCPOFFER报文。

3、客户机收到一个或多个服务器的DHCPOFFER报文后,根据一定的条件从中选出一个,并向选定的服务器发送DHCPREQUEST报文。在这个请求报文中必须包含一个服务器标识以指明被选中的服务器。如果客户机在定时器超时之前没有收到DHCPOFFER报文,则重发DHCPDISCOVER报文。

4、服务器在收到DHCPREQUEST报文后,如果可以满足请求报文中的请求则发回一个DHCPACK报文作为响应,如果不能满足请求则发回DHCPNAK报文作为响应。服务器在DHCPOFFER中提供给客户机的地址不能提供给另外一个客户机,但如果服务器没有收到客户机的DHCPREQUEST报文则可以把在DHCPOFFER中提供给客户机的地址提供给另外的客户机。

5、客户机在收到包含配置参数的DHCPACK报文后,对报文中提供的配置参数进行检查,同时进行配置,如果发现报文中有错误则客户机发送一个DHCPDECLINE报文并重新开始整个过程。如果客户机收到DHCPNAK报文则重新开始整个过程。

6、客户机可以通过向服务器发送DHCPRELEASE报文来释放地址。

2.1.2地址获取状态

当客户机使用DHCP获取其IP地址时,它处于六个状态之一。如图所示:

当客户机第一次启动时,它进入INITIALIZE(初始化)状态。为了开始获取一个IP地址,客户机先与本地网络上所有DHCP服务器联系,为此,客户机广播一个DHCPDISCOVER报文,并转移到SELECT(选择)状态。由于协议是对BOOTP的扩充,客户机在一个UDP数据报中发送DHCPDISCOVER报文,UDP

数据报中目的端口设为BOOTP端口(即端口67)。本地网上所有DHCP服务器接收报文,那些被设计成能响应特定客户机的服务器发送一个DHCPOFFER报文。因此,客户机可能收到零个或多个响应。

处于SELECT状态时,客户机从DHCP服务器收集DHCPOFFER响应。每个响应提供了用于客户机的配置信息,还有服务器可提供租用给客户机的一个IP

地址。客户机必须选择其中一个响应(如第一个到达的响应),并与服务器协商租用。为此,客户机发送给服务器一个DHCPREQUEST报文,并进入REQUEST 状态。服务器为确认已接受请求并开始租用,服务器响应发出一个DHCPACK报文。客户机收到确认后转移到BOUND(已绑定)状态,此时客户机可开始使用此地址。

(1)、早期租用终止

当客户机使用一个分配的地址时,它保持处于绑定状态。如果客户机有辅助存储器,客户机可以存储分配给它的IP地址,并在再次重启动时申请同一个地址。但在某些情况下,处于绑定状态的客户机可能发现它不再需要一个IP地址了,此时,DHCP允许客户机终止租用,不再等待租用期过期。这在服务器可以提供的IP地址比连到网络的计算机数少时显得特别重要。如果客户机不再需要IP地址时及时终止租用,服务器就可以将此地址分配给其他客户机。为了提早终止租用,客户机发送一个DHCPRELEASE报文到服务器,释放地址是阻止客户机继续使用地址,所以,发送释放报文后,客户机必须不再使用此地址发送其他数据报。根

据状态转移图所示的,发出DHCPRELEASE报文的主机离开绑定状态,并且在使用IP地址前必须重新从初始化状态开始。

(2)、租用更新状态

当一个DHCP客户机获取地址时,它就转移到绑定状态。进入绑定状态以后,客户机设置三个定时器:控制租用更新、重新绑定和到期。一个DHCP服务器给客户机分配地址时,可为定时器指定确定的值;如果服务器未指定定时器值,客户机就使用默认值。第一个定时器的默认值通常是总租用期的一半。当第一个定时器到期,客户机必须尝试更新租用期。为请求更新,客户机发送一个DHCPREQUEST报文到获得租用处的服务器,转移到更新状态等待响应。DHCPREQUEST包含一个客户机正使用的IP地址,并请求服务机延长对此地址的租用。服务器可以用两种方式之一响应客户机的更新请求:指示客户机停止使用该地址或同意客户机继续使用此地址。如果服务器同意就发送DHCPACK,在DHCPACK中也可含有客户机定时器的新的数值。如果服务器不同意继续使用,它就发送一个DHCPNAK,使客户机立即停止地址的使用。客户机收到DHCPACK报文则返回到绑定状态继续使用地址,如果收到DHCPNAK就立即停止使用地址并返回初始化状态。

第二个定时器在客户机进入绑定状态后开始设置,默认值为总租用期的87.5%,客户机发送请求报文后保持在更新状态等待服务器的响应,如果在第二个定时器到期之前还没有收到服务器的响应,则第二个定时器到期时使客户机从更新状态转移到重新绑定状态,在转移时,客户机假定原来的服务器不可用,开始广播DHCPREQUEST报文到本地网上的任意服务器。可为客户机提供服务的任意服务器可能响应肯定(即延长租用),或否定(即拒绝继续使用地址)。如果客户机收到一个肯定响应,它就返回到绑定状态并重置两个定时器。如果客户机收到否定响应,它就转移到初始化状态,并且停止使用IP地址,在继续使用IP地址前必须重新获取一个新地址。

如果客户机在重新绑定状态广播请求报文后在第三个定时器超时前还没有从任何一个服务器收到响应,则客户机必须停止使用IP地址,返回到初始化状态,并开始申

请一个新地址。

2.1.3获取多重地址

一个多地址的机器连接到多个网络,当这种机器启动时,它可能需要为它的每个接口获取配置信息。DHCP报文只提供一个接口的有关信息,因此有多个接口的计算机必须分开处理每个接口。在向服务器发送请求报文时,多地址客户机应该在报文中包含一个识别特定接口的值(如一个唯一的硬件地址)以便服务器能区分一个多地址主机发出的多个请求,这一点在通过中继代理请求配置信息时显得尤其重要。

2.2 客户机和服务器的动作

2.2.1服务器的动作

DHCP服务器根据和客户机绑定的状态来处理收到的报文,服务器可以处理以下几种报文:DHCPDISCOVER、DHCPREQUEST、DHCPDECLINE和DHCPRELEASE。

当服务器收到一个DHCPDISCOVER报文,它要为请求的客户机分配一个网络地址。如果没有可以分配的地址则发回一个DHCPNAK报文。如果有可以分配的地址,则这个地址可能是:客户机原来绑定的地址(这个地址必须在服务器可以分配的地址中);客户机申请的地址;服务器从可以分配的地址中选择的新地址。同时服务器还必须为客户机指定一个租用期,如果客户机在DHCPDISCOVER中没有指定租用期并且客户机已经分配了地址,服务器选择分配此地址时指定的租用期;如果客户机没有指定租用期并且客户机没有已经分配的地址,服务器选择一个缺省的租用期;如果客户机在DHCPDISCOVER中指定了租用期则服务器选择这个租用期或另外指定一个租用期。一旦地址和租用期确定了,服务器组建一个包含这些配置信息的DHCPOFFER报文发回。

当服务器收到一个DHCPREQUEST报文时,这个报文可能是客户机对DHCPOFFER的响应,也可能是客户机在地址的租用期快满时发送的来请求延长租用期的。如果报文里包含一个“Server Identifier”选项则是客户机对DHCPOFFER的响应,否则就是请求延长对已有地址的租用。

先考虑第一种情况,如果服务器是报文中“Server Identifier”选项指定的服务器,则服务器检查请求的参数是否能接受。如果请求可以接受则服务器纪录新的客户机绑定,并发送一个DHCPACK报文给客户机。如果请求不能接收则发送一个DHCPNAK报文。如果这个DHCPREQUEST报文是发送给另外的服务器的,客户机选择了另外的服务器来获得配置信息,则此服务器丢弃保留的此客户机的配置信息,并释放分配给此客户机的地址。

对于第二种情况,如果请求的参数和分配此地址时协商的参数一致或者现在请求的参数可以接受,服务器发送一个DHCPACK报文,否则发送一个DHCPNAK报文。如果在“客户机IP地址”字段中的地址和服务器纪录中的IP地址不符,则服务器发送一个DHCPNAK报文。

当服务器收到一个DHCPDECLINE报文时,说明客户机通过其他的方法发现服务器推荐的地址已经被使用了,此时服务器必须标记这个地址为已分配的,应该通知本地的系统管理员可能配置上有些错误。

当服务器收到一个DHCPRELEASE报文时,服务器标志此地址为未分配,同时服务器应该保留此客户机的初始化参数以便以后用来响应此客户机的请求。2.2.2客户机的动作

客户机可以处理从服务器收到的以下几种报文:DHCPOFFER、DHCPACK 和DHCPNAK。

在初始化状态,客户机组建一个DHCPDISCOVER报文,把其中的客户机IP

地址字段设为0x00000000。客户机还可以通过在此报文中加入参数请求选向来请求一些配置参数。在此报文中还包含客户机产生的一个随机数放到xid字段用来识别从服务器广播的响应。同时客户机纪录此时的本地时间以便以后计算租用期是否到期。如果客户机收到一个响应xid和发送的请求的xid不一致,客户机会不做任何处理丢弃这个报文。

客户机收集一段时间内的DHCPOFFER报文,根据一定的依据从中选一个,提取服务器标识选项字段中的服务器的IP地址,然后检查其中提供的地址是否已经被使用,如果是则向服务器发送DHCPDECLINE报文。

在重绑定状态,客户机发送一个DHCPREQUEST报文给服务器,其中客户机IP地址字段填上本机的地址。客户机可以通过在报文中加入请求参数标来请求其他具体的配置参数。客户机要产生一个随机数加入到xid字段以匹配请求和响应,同时要纪录此时本地的时间用来计算租用期是否到期。在报文中不能有Server Identifier选项,客户机以广播的方式发送这个报文。当客户机收到一个从服务器发回的匹配的DHCPACK报文,客户机就配置好了并转移到绑定状态,客户机用发送请求时纪录的时间和响应中指定的租用期的长度的和的方式来表示租用期到期的时间。

如果客户机知道DHCP服务器的地址,则无论是在初始化状态还是在重绑定状态,客户机都用这个地址发送DHCPDISCOVER或DHCPREQUEST报文而不用广播地址。如果没用收到响应,客户机就再利用广播地址发送请求。

3 DHCP的报文类型

DHCP使用BOOTP的报文格式,但修改了一些字段的内容和含义。DHCP报文格式如图所示:

络硬件类型和硬件地址的长度(如10MB以太网类型为1,地址长度为6)。跳数(HOPS)项被客户机置为0,当通过中继代理启动时被中继代理使用。事务ID(XID)

是客户机选择的随机数,被客户机和服务器用来联系客户机和服务器之间的请求

报文和响应报文。秒数字段报告客户机开始启动后消耗的时间秒数。客户机IP

地址字段和其后的各字段包含了最重要的信息。未获得最大程度的灵活性,客户

机尽量填写它所知道的信息并将剩余部分设为0。例如,客户机若知道它要获取

信息的某个服务器的名字或地址,它可能填写服务器IP地址或服务器主机名字

段。若这些字段非零,只有与名字或地址字段匹配的服务器才响应请求;若它们

为零,接收请求并能够提供服务的的任意服务器都将响应。已经知道自己IP地址

的客户机也可使用DHCP来获取启动文件信息,知道IP地址的客户机将地址置于

客户机IP地址字段中,不知道的置0。如果客户机的IP地址为0,服务器在你的IP

地址字段返回客户机的IP地址。服务器的IP地址字段时服务器在DHCPOFFER、DHCPACK和DHCPNAK中返回的下一步将用到的DHCP服务器的地址。中继代

理IP地址用在通过中继代理启动时指定中继代理的IP地址。启动文件名指定启动

的文件,在DHCPDISCOVER报文中为NULL或generic,在DHCPOFFER中为有效的、带有完整路径的文件名。

3.1 标志字段

报文中的标志字段的格式如下:

015

B必须为0

整个字段占16比特,其中,最左边比特被解释为广播请求,所有其它比特保

留作将来用,必须被客户机设置为0,服务器和中继代理忽略这些比特。客户机

在协议软件配置IP地址之前是不能收到单播的报文的,它通过在DHCPDISCOVER和DHCPREQUEST报文里把标志字段里的广播请求位置位来

向服务器或中继代理请求广播报文,服务器或中继代理收到这样的请求报文就会

用广播的方式发回回应。当客户机的协议软件配置了IP地址之后,它就可以收到

单播的报文了,此时它必须把广播请求位清零。

3.2 选项字段

报文中的选项字段是可变长的(除了选项0和选项255),最小长度是312个

字节,这样,DHCP报文的最小长度是576个字节,主机准备接收的最小的IP数据

报的长度。DHCP客户机可以通过“最大DHCP报文大小”来协商使用更大的DHCP

报文。选项字段格式如下:

081623代码长度数据

DHCP的选项字段和BOOTP的厂商特定区域字段的格式相同,并且DHCP理

解所有为BOOTP定义的厂商特定信息。其中,代码字段唯一的标识一个选项,

长度字段指定数据字段的长度,不包括代码字段和长度字段。

下图所示的是DHCP的报文类型选项:

081623(53)(1)(类型1-7)代码长度数据

3.3 选项过载

在DHCP报文头中,服务器主机名和启动文件名都占用较多的字节,如果一

个报文中的这两个字段有一个或两个不含信息,空间就浪费了。为了使DHCP服

务器将这两个字段用作其他选项,DHCP定义了一个选项过载(Option Overload)

的选项,如果出现过载选项,该选项就告诉接收者忽略服务器主机名和启动文件

字段的通常含义,转而察看字段中的选项。

网络协议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 报文格式:

抓包工具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,有线连接

DHCP协议报文

DHCP 协议概念 1.什么是DHCP DHCP是Dynamic Host Configuration Protoco的缩写,顾名思义就是动态主机地址配置协议,在一个完整的网络拓扑中应有DHCP CLIENT,DHCP SERVER两个端点。Client端存在与用户域中,通过DHCP协议,从server端获取动态的不固定的IP地址。DHCP server 通过租约概念负责给client端提供某一网段或多网段IP地址池中地址。当租约到期client 释放该地址以待server做再次分配,同时server端也担负分配DNS服务器地址,域名,网关地址的任务。 2.DHCP进行地址分配的四个阶段 1)第一个阶段寻找DHCP server。如果是DHCP客户端第一次登录该网络时,也就是客户端主机没有IP地址,等待分配。它会首先向网络以广播形式发送DHCP discover报文,目的是发现网络中存在的DHCP server,并请求给出回应。该报文的格式是:源mac是自身的mac地址,目的mac是ff:ff:ff:ff:ff:ff.源IP地址为0.0.0.0,而目的地址为255.255.255.255。经过测试windows操作系统环境中的DHCPdiscover等待时间为1秒,也就是当客户端将第一个DHCPdiscover报文送出去后,在等待1秒后没有得到网络中DHCPserver的回应,它就会进行第二次DHCP discover广播,若再次得不到回应,会进行三次广播,三次广播的间隔时间都不一样,分别是9秒、13秒、16秒。如果还是得不到服务端的回应,客户端会显示错误信息,宣告DHCPdiscover失败,在之后的动作中,系统会在5分钟后再次重复一次该过程。在该测试过程中,我抓取了相应的数据包以供参考。 2)端口源端68,目的端67 图1-DHCP discover数据包 该图中可以看出DHCP discover数据包二层源mac地址为源端口mac,目的mac为广播

实验四使用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协议的8种消息类型及功能

DHCP协议的8种消息类型及功能 1) 主机发送 DHCP Discover广播包在网络上寻找 DHCP 服务器; 2) DHCP 服务器向中继代理发送 DHCP Offer 单播数据包,中继代理向主机发送DHCP Offer广播数据包,包含 IP 地址、MAC 地址、域名信息以及地址租期; 3) 主机发送 DHCP Request 广播包,正式向服务器请求分配已提供的 IP 地址; 4) DHCP 服务器向中继代理发送 DHCP ACK 单播包,中继代理向主机发送DHCP ACK广播数据包,确认主机的请求。 说明:DHCP 客户端可以接收到多个 DHCP 服务器的 DHCP Offer 数据包,然后可能接受任何一个 DHCP Offer 数据包,但客户端通常只接受收到的第一个DHCP Offer 数据包。另外,DHCP 服务器 DHCP Offer中指定的地址不一定为最终分配的地址,通常情况下,DHCP 服务器会保留该地址直到客户端发出正式请求。 正式请求 DHCP 服务器分配地址 DHCP Request 采用广播包,是为了让其它所有发送 DHCP Offer数据包的 DHCP 服务器也能够接收到该数据包,然后释放已经 OFFER (预分配)给客户端的 IP 地址。 5)如果发送给 DHCP 客户端的 DHCP Offer信息包中包含无效的配置参数,客户端会向服务器发送 DHCP Decline信息包拒绝接受已经分配的配置信息。 6)当DHCP 客户端发送DHCP Request信息包,服务器拒绝响应DHCP ACK包时(DHCP服务器根据Request包中MAC地址查找IP地址分配表,未找到其分配的相应地址),DHCP 服务器会发送 DHCP NAK 消息给 DHCP 客户端,导致客户端重新发起地址请求过程。 7)DHCP客户机可向DHCP服务器发送DHCP Release消息放弃网络地址和取消现有租约 8)DHCP客户端可向DHCP服务器发送DHCP Inform消息只请求配置参数(客户机已经有了IP地址)

DHCP协议与配置

DHCP基本知识点 1 DHCP协议在RFC2131种定义,使用udp协议进行数据报传递,使用的端口是67以及68。 2 DHCP最常见的应用是,自动给终端设备分配ip地址,掩码,默认网关,但是DHCP 也同样可以给终端设备自动配置其他options,比如DNS se rver, 域名(比如 https://www.360docs.net/doc/764673094.html,),time zones, NTP servers 以及其他的配置内容,更有些厂家,利用自己开发的第3放软件,把自己的一些配置信息,利用dhcp协议来实现对终端设备的自动配置。 3 DHCP服务的系统最基本的构架是 client/server模式,并且如果client 和server 不再同一个2层网络内(即广播可以到达的网络范围),则必须要有能够透过广播报文的中继设备,或者能把广播报文转化成单播报文的设备(cisco的ios就引经了这种功能) There are three distinct element types in a DHCP network. There must be a client and a server. If these two elements are not on the same Layer 2 network, there also must be a proxy, which usually runs on the router. The proxy is needed because the client device initially doesn't know its own IP address, so it must send out a Layer 2 broadcast to find a server that has this information. The router must relay these broadcasts to the DHCP server, then forward the responses back to the correct Layer 2 address so that the right end device gets the right configuration information. 4 CISCO的路由器(IOS12.0 T1以后),可以配置为dhcp的中继设备,DHCP的客户端设备,也可以配置为DHCP的服务器。 5 同一个网段DHCP服务器可以有多个,这不会影响终端设备从服务器获取配置信息,终端设备以接受到的第一组配置信息为准。以后又服务器段返回的DHCP配置信息被抛弃。 . Most DHCP networks of any size include two or more DHCP servers for redundancy. The end devices typically just need to talk to a DHCP server at startup time, but they will not work at all without it. So redundancy is important. This also means that it is not unusual for an end device to see several responses to a DHCP request. It will generally just use the first response. However, this also underscores the importance of ensuring that all of the DHCP servers distribute the same information. Their databases of end device configuration parameters must be synchronized. 6 DHCP 服务器往往遵守先来先服务的规则(first-come, first-served),或者说他能够建立一个IP地址和终端设备MAC地址之间的映射表(或者叫做database),由此可以保证特定的终端(也就是特定的MAC)每次开机后都能够获得此相同的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协议概述 来源:中国协议分析网作者:编辑:电脑农民浏览: 人次 经过了前面的学习,相信您不再认为设定与管理TCP/IP网路是件轻松的事情。要成功的将您的网路用TCP/IP连接起来,您就得为每台电脑设定IP、mask、gateway、等等繁琐的事情。要是您想管理好一个比较大的网路﹐或是电脑节点经常改变(如手提电脑或拨接)﹐这样的工作可以说是非常令人讨厌的﹐而且出错的机会也比较多。要是,万一日后要进行IP重新规划﹐其工作量也是相当惊人的。 面对这些情形﹐DHCP可以说您的菩萨了﹕它不但救苦救难﹐而且神通广大。 什么是DHCP? DHCP是DynamicHostConfigurationProtocol之缩写﹐它的前身是BOOTP。BOOTP原本是用于无磁碟主机连接的网路上面的﹕网路主机使用BOOTROM而不是磁碟起动并连接上网路﹐BOOTP则可以自动地为那些主机设定TCP/IP环境。但BOOTP有一个缺点:您在设定前须事先获得客户端的硬体位址,而且,与IP的对应是静态的。换而言之,BOOTP非常缺乏"动态性",若在有限的IP资源环境中,BOOTP的一对一对应会造成非常可观的浪费。 DHCP可以说是BOOTP的增强版本﹐它分为两个部份﹕一个是伺服器端﹐而另一个是客户端。所有的IP网路设定资料都由DHCP伺服器集中管理﹐并负责处理客户端的DHCP要求﹔而客户端则会使用从伺服器分配下来的IP环境资料。比较起BOOTP,DHCP透过"租约"的概念,有效且动态的分配客户端的TCP/IP设定,而且,作为兼容考量,DHCP也完全照顾了BOOTPClient的需求。 DHCP的分配形式 首先﹐必须至少有一台DHCP工作在网路上面﹐它会监听网路的DHCP请求﹐并与客户端搓商TCP/IP的设定环境。它提供两种IP定位方式﹕ AutomaticAllocation 自动分配﹐其情形是﹕一旦DHCP客户端第一次成功的从DHCP伺服器端租用到IP位址之后﹐就永远使用这个位址。 DynamicAllocation 动态分配﹐当DHCP第一次从HDCP伺服器端租用到IP位址之后﹐并非永久的使用该位址﹐只要租约到期﹐客户端就得释放(release)这个IP位址﹐以给其它工作站使用。当然﹐客户端可以比其它主机更优先的延续(renew)租约﹐或是租用其它的IP位址。 动态分配显然比自动分配更加灵活﹐尤其是当您的实际IP位址不足的时候﹐例如﹕您是一家ISP﹐只能提供200个IP位址用来给拨接客户﹐但并不意味着您的客户最多只能有200个。因为要知道﹐您的客户们不可能全部同一时间上网的﹐除了他们各自的行为习惯的不同﹐ 也有可能是电话线路的限制。这样﹐您就可以将这200个位址﹐轮流的租用给拨接上来的客户使用了。这也是为什么当您查看IP位址的时候﹐会因每次拨接而不同的原因了(除非您申请的是一个固定IP﹐通常的ISP都可以满足这样的要求﹐这或许要另外收费)。当然﹐ISP不一定使用DHCP来分配位址﹐但这个概念和使用IPPool的原理是一样的。 DHCP除了能动态的设定IP位址之外﹐还可以将一些IP保留下来给一些特殊用途的机器使用﹐它可以按照硬体位址来固定的分配IP位址﹐这样可以给您更大的设计空间。同时﹐DHCP还可以帮客户端指定router﹑netmask﹑DNS Server﹑WINS Server﹑等等项目﹐您在客

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协议的功能及运行方式

姓名:XXX 学号:XXXX 班级:XXXX

DHCP(Dynamic Host Configuration Protocol)协议是在Bootstrap Protocol(BOOTP)的基础上提出,其作用是在TCP/IP网络中向Internet主机提供配置信息。DHCP采用客户端/服务器通信模式,由DHCP客户端向DHCP服务器提出配置申请(包括IP地址、子网掩码、缺省网关等参数),服务器根据路由策略返回相应配置信息,DHCP报文采用UDP进行封装,使用两个知名端口:服务器为67,客户端为68。 DHCP提供的服务 ●配置参数的存储 DHCP要提供的第一个服务就是能够为客户端的参数配置提供持久稳固的存储,该模型中,为每个客户端存储了一个key-value对,如IP子网号和客户端标识组成一个key,value 则包好了客户端要配置参数的内容。 ●动态分配网络参数 DHCP要提供的第二个功能就是为客户端分配一个暂时的或者永久的IP地址。客户端向服务器请求在一段时间内租用一个地址,服务器则分配给客户端一个地址,并规定了该地址的租用时间,我们称这个时间为“租期”(lease)。客户端可以通过与服务器的交互延长其租期,可以请求释放地址,结束与服务器的租约。 在某些环境中,由于地址的缺乏,需要重新分配网络地址,分配机制就是使用已经到租期的地址。服务器应该利用在配置信息库中的任何可用的信息来选择一个重新使用的地址,比如,选择最近分配过的地址。由于需要一致性检查,DHCP服务器在分配地址时需要保证要分配的地址没有被使用,一般可以在分配地址之前,发送一个ICMP ECHO报文,目的地址就是要分配的IP地址。这样,如果有客户端回应了该ICMP ECHO报文,则标识该地址已经被使用;但是,即使没有客户端回应,也不能代表该地址没有被分配,因为客户端可能开启了防火墙,防止ICMP包的进入。不仅服务器需要检查,客户端也应该检查该地址是否被使用,可以在收到分配的地址后,发送一个免费的ARP,如果有客户端回应这个ARP,则表示本地子网有已经分配了该IP的客户端,如果没有回应该ARP,则标识该地址本地子网未使用。一般来讲,开启了防火墙的客户端是不会阻挡ARP的,所以这种探测方法较好。 3 DHCP工作原理 DHCP IP地址分配策略 对于IP地址的占用时间,不同主机有不同的需求:对于服务器,可能需要长期使用确定的IP地址;对于某些主机,可能需要长期使用某个动态分配的IP地址;而某些个人则可能只

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协议 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信息后首次初始化时,它将启动一个与服务器的对话。 以下是客户端和服务器之间对话的汇总表,后面是数据包级的过程说明:

dhcp协议的ip地址动态获取过程

竭诚为您提供优质文档/双击可除dhcp协议的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) (2) (3)ip地址租用申请(dhcpdiscoVeR):dhcp客户机通过udp68端口发送dhcpdiscoVeR广播信息来查找dhcp服务器。网络上每一台安装了tcp/ip协议的主机都会接收到这种广播信息,但只有dhcp服务器才会做出响应。dhcp客户机发送的dhcpdiscoVeR数据包的源地址是0.0.0.0,目标

实验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协议与抓包分析

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地址

相关文档
最新文档