DHCP协议工作过程

协议分析-DHCP协议解码详解【DHCP协议简介】

DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 BOOTP,它工作在OSI的应用层,是一种帮助计算机从指定的DHCP服务器获取它们的配置信息的自举协议。

DHCP使用客户端/服务器模式,请求配置信息的计算机叫做DHCP客户端,而提供信息的叫做DHCP的服务器。DHCP为客户端分配地址的方法有三种:手工配置、自动配置、动态配置。

DHCP最重要的功能就是动态分配。除了IP地址,DHCP分组还为客户端提供其他的配置信息,比如子网掩码。这使得客户端无需用户动手就能自动配置连接网络。

【DHCP的工作流程】

发现阶段,即DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCP discover发现信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应。

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

选择阶段,即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCP offer提供信息,则DHCP客户机只接受第一个收到的DHCP offer提供信息,然后它就以广播方式回答一个DHCP request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址。

确认阶段,即DHCP服务器确认所提供的IP地址的阶段。当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客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。【DHCP的报文格式】

我们来介绍一下DHCP的报文格式,如图1,

(图1 DHCP的报文格式)

OP:若是client送给server的封包,设为1,反向为2;

Htype:硬件类别,ethernet为1;

Hlen:硬件长度,ethernet为6;

Hops:若数据包需经过router传送,每站加1,若在同一网内,为0;Transaction ID:事务ID,是个随机数,用于客户和服务器之间匹配请求和相应消息;

Seconds:由用户指定的时间,指开始地址获取和更新进行后的时间;Flags:从0-15bits,最左一bit为1时表示server将以广播方式传送封包给client,其余尚未使用;

Ciaddr:用户IP地址;

Yiaddr:服务器分配给客户的IP地址;

Siaddr:用于bootstrap过程中的IP地址;(服务器的IP地址)Giaddr:转发代理(网关)IP地址;

Chaddr:client的硬件地址;

Sname:可选server的名称,以0x00结尾;

File:启动文件名;

Options:,厂商标识,可选的参数字段

【抓包分析】

此次用的软件是:wireshark(在宿舍内)

1.发现阶段:

2.提供阶段:

3.选择阶段

4.确认阶段:

【总结】

环境分析:根据上述内容,我的pc获取到ip地址是有经过代理的。而且是只经过一个路由器代理,即是网关。

实验说明:此次实验仅分析pc到网关这个广播域的包走向过程,网关和dhcp服务器之间这里没做分析。

此时实验让自己更加理解了dhcp的获取过程,还熟悉了抓包软件的使用。

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,有线连接

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/806731890.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的工作原理

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客户端发送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租约过程 图解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协议概述 来源:中国协议分析网作者:编辑:电脑农民浏览: 人次 经过了前面的学习,相信您不再认为设定与管理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信息后首次初始化时,它将启动一个与服务器的对话。 以下是客户端和服务器之间对话的汇总表,后面是数据包级的过程说明:

相关文档
最新文档