文档库 最新最全的文档下载
当前位置:文档库 › dhcp option82

dhcp option82

dhcp option82
dhcp option82

option 82是dhcp报文中的中继代理信息选项(relay agent information option)。当dhcp client发送请求报文到dhcp server时,若需要经过dhcp中继,则由dhcp中继将option 82添加到请求报文中。option 82包含很多sub-option,本文中的option 82只支持sub-option 1、sub-option 2和sub-option 5。sub-option 1中定义了代理电路id(即circuit id),sub-option 2中定义了代理远程id(即remote id),sub-option 5为链路选择(link selection)子项,该选项中包含了dhcp中继添加的ip地址。

option 82实现了dhcp客户端和dhcp中继设备的地址信息在dhcp服务器上的记录,与其他软件配合使用可以实现dhcp分配的限制和计费功能。

1. 概念介绍

option

dhcp报文中的一个选项,该选项在dhcp报文中为可变长的字段,option选项中包含了部分租约信息、报文类型等。option选项中最多可以包括255个option,最少为1个option。

option 82

option 82又称为中继代理信息选项(relay agent information option),是dhcp报文中option内容的一部分。rfc3046中定义了option 82,其位置在option 255之前而在其他option之后。option 82中可以包含最多255个sub-option,若定义了option 82,至少要定义一个sub-option。目前option 82中常用的sub-option 1、sub-option 2和sub-option 5。

sub-option 1

sub-option 1是option 82的一个子选项,为代理电路id(即circuit id)子项。子选项通常在dhcp中继设备上配置,定义了在传输报文的时候要携带dhcp 客户端所连接交换机端口的vlan-id及二层端口号。通常sub-option 1与sub-option 2子选项要共同使用来标识dhcp源端的信息。

sub-option 2

sub-option 2也是option 82的一个子选项,为代理远程id(即remote id)子项。该子选项也通常在dhcp中继设备上配置,定义了在传输报文的时候要携带中继设备的mac地址信息。通常与sub-option 1子选项要共同使用来标识dhcp源端的信息。

sub-option 5

sub-option 5也是option 82的一个子选项。为链路选择(link selection)子项,该选项中包含了dhcp中继添加的ip地址。这样dhcp server在分配ip地址给dhcp客户端的时候就可以分配与该地址同网段的ip地址。

2. option 82报文组成

在dhcp报文中有一个options字段,该字段可以为空,也可以为某一个特性的option,option 82就是其中的一种option,可以有多个sub-option 组成。

code:标识了中继代理信息选项的序号。本报文中序号为82,即option 82。option 82 在其他option之后,在option 255 之前。

len:为代理信息域(agent information field)的长度。

agent information field:代理信息域。在该字段中指定了使用的sub-option。

sub-option报文结构

subopt:子选项序号,本报文中为sub-option 1、sub-option 2和sub-option 5。各子选项含义如下:

1表示代理电路id(circuit id)子项

2表示代理远程id(remote id)子项

5表示链路选择(link selection)子项

len:标识sub-option value域的长度。

sub-option value:sub-option的值。例如sub-option 1对应的值为circuit id。

3. 标准模式与华为固网模式

dhcp relay支持option 82,在收到从client到server的请求报文中添加option 82,以标识用户的位置信息。现在只添加sub-option 1和sub-option 2,不添加sub-option5。在标准模式,sub-option 1是接收报文的二层端口号和vlan号,sub-option 2是接收报文设备的mac地址。

为了更加精确地定位用户位置信息,我司针对dslam应用提出ip dslam用户物理位置定位解决方案,定义了dhcp option 82的华为固网模式,其中option 82的sub-option1表示“节点标识+框号/槽号/子槽/端口号+vlan”;sub-option2没有改变,表示的是的relay系统mac地址;sub-option5 relay不添加。

option 82的sub-option1中的节点标识为字符串,缺省可以采用设备的管理接口mac地址,形如:00-e0-fc-0d-dc-ec。为了提高维护的方便性,也允许网络管理者通过配置修改用户节点标识,可以选择是用relay的桥mac或设备名(通过sysname配置的),也可以由用户自行输入字符串。

华为固网模式option 82中sub-option 1的标识格式:

accessnodeidentifier eth frame/slot/subslot/port:vlan

对各段的解释如下:

accessnodeidentifier:接入节点标识,长度不超过50个字符的字符串,缺省为桥mac

frame:框号,不支持的为0

eth:以太端口类型

slot:槽号

subslot:子槽号

port:端口号

vlan:vlan标识

4. 相关规范

与dhcp中继支持option 82相关的协议规范有:

rfc2131 dynamic host configuration protocol

rfc3046 dhcp relay agent information option

5. dhcp 中继支持option 82工作机制

dhcp客户端通过dhcp中继从dhcp服务器获取ip地址的过程与同网段的dhcp获取过程完全相同,都要经历发现、提供、选择和确认四个阶段,详细的过程请参考本手册“网络层协议”的dhcp部分。这里将只介绍dhcp中继支持option 82时的工作机制,具体如下:

dhcp客户端在初始化时以广播的形式发送请求报文;

若本地网络存在dhcp服务器,则客户端可以直接从该服务器获取ip地址。

若本地网络没有dhcp服务器,则与本网络相连的dhcp中继设备对该广播报文进行相应的处理。dhcp中继设备将检查报文中是否已有option 82选项,进行相应的处理。

如果报文中已有option 82,设备按照配置的策略对该报文进行处理(丢弃、用中继设备本身的option 82项替代报文中原有的option 82项或保持报文原有的option 82项),然后将请求报文转发给dhcp服务器。

若请求报文中没有option 82选项,则dhcp中继设备将option 82选项添加到报文中后转发给dhcp服务器。此时,请求报文中将包含了dhcp客户端所连接的交换机端口的mac地址、所属的vlan以及dhcp中继设备本身的mac地址。

dhcp服务器收到dhcp中继设备转发的dhcp请求报文后,将记录报文中option选项所携带的信息,然后将带着dhcp配置信息以及option 82信息的报文发给dhcp中继。

dhcp中继收到dhcp服务器的返回报文后将剥离报文中的option 82信息,然后将带有dhcp配置信息的报文转发给dhcp客户端。

dhcp客户端发送的请求报文有四种,分别为dhcp_discover报文、dhcp_request报文、dhcp_release报文和dhcp_inform报文,dhcp中继设备将在四种报文中都添加option 82选项,因为不同厂商生产的dhcp服务器设备对请求报文的处理机制不同,有些设备处理dhcp_discover报文中的option 82信息,而有些处理dhcp_request报文中的option 82信息。

网络协议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,有线连接

实验四使用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协议说明书

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

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 协议分析

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

相关文档