DHCP客户机动态申请IP地址的四个租约过程

DHCP客户机动态申请IP地址的四个租约过程,第1张

1.IP租用请求:

DHCP客户机初始化TCP/IP,通过UDP端口67向网络中发送一个DHCPDISCOVER广播包,请求租用IP地址。该广播包中的源IP地址为0.0.0.0,目标IP地址为255.255.255.255;包中还包含客户机的MAC地址和计算机名。

2.IP租用提供:

任何接收到DHCPDISCOVER广播包并且能够提供IP地址的DHCP服务器,都会通过UDP端口68给客户机回应一个DHCPOFFER广播包,提供一个IP地址。该广播包的源IP地址为DCHP服务器IP,目标IP地址为255.255.255.255;包中还包含提供的IP地址、子网掩码及租期等信息。

3.IP租用选择:

客户机从不止一台DHCP服务器接收到提供之后,会选择第一个收到的DHCPOFFER包,并向网络中广播一个DHCPREQUEST消息包,表明自己已经接受了一个DHCP服务器提供的IP地址。该广播包中包含所接受的IP地址和服务器的IP地址。

所有其他的DHCP服务器撤消它们的提供以便将IP地址提供给下一次IP租用请求。

4.IP租用确认:

被客户机选择的DHCP服务器在收DHCPREQUEST广播后,会广播返回给客户机一个DHCPACK消息包,表明已经接受客户机的选择,并将这一IP地址的合法租用以及其他的配置信息都放入该广播包发给客户机。

客户机在收到DHCPACK包,会使用该广播包中的信息来配置自己的TCP/IP,则租用过程完成,客户机可以在网络中通信。

DHCP客户机在发出IP租用请求的DHCPDISCOVER广播包后,将花费1秒钟的时间等待DHCP服务器的回应,如果1秒钟没有服务器的回应,它会将这一广播包重新广播四次(以2,4,8和16秒为间隔,加上1~1000毫秒之间随机长度的时间)。四次之后,如果仍未能收到服务器的回应,则运行Windows 2000的DHCP客户机将从169.254.0.0/16这个自动保留的私有IP地址(APIPA)中选用一个IP地址,而运行其他操作系统的DHCP客户机将无法获得IP地址。DHCP客户机仍然每隔5分钟重新广播一次,如果收到某个服务器的回应,则继续IP租用过程。

DHCP称为动态主机配置协议。DHCP服务允许工作站连接到网络并且自动获取一个IP地址。配置DHCP服务的服务器可以为每一个网络客户提供一个IP地址、子网掩码、缺省网关、一个WINS服务器的IP地址,以及一个DNS服务器的IP地址。

DHCP的工作原理:

DHCP是一个基于广播的协议,它的操作可以归结为四个阶段,这些阶段是IP租用请求、IP租用提供、IP租用选择、IP租用确认。

1、IP租用请求:在任何时候,客户计算机如果设置为自动获取IP地址,那么在它开机时,就会检查自己当前是否租用了一个IP地址,如果没有,它就向DCHP请求一个租用,由于该客户计算机并不知道DHCP服务器的地址,所以会用255.255.255.255作为目标地址,源地址使用0.0.0.0,在网络上广播一个DHCPDISCOVER消息,消息包含客户计算机的媒体访问控制(MAC)地址(网卡上内建的硬件地址)以及它的NetBIOS名字。

2、IP租用提供:当DHCP服务器接收到一个来自客户的IP租用请求时,它会根据自己的作用域地址池为该客户保留一个IP地址并且在网络上广播一个来实现,该消息包含客户的MAC地址、服务器所能提供的IP地址、子网掩码、租用期限,以及提供该租用的DHCP服务器本身的IP地址。

3、IP租用选择:如果子网还存在其它DHCP服务器,那么客户机在接受了某个DHCP服务器的DHCPOFFER消息后,它会广播一条包含提供租用的服务器的IP地址的DHCPREQUEST消息,在该子网中通告所有其它DHCP服务器它已经接受了一个地址的提供,其他DHCP服务器在接收到这条消息后,就会撤销为该客户提供的租用。然后把为该客户分配的租用地址返回到地址池中,该地址将可以重新作为一个有效地址提供给别的计算机使用。

4、IP租用确认: DHCP服务器接收到来自客户的DHCPREQUEST消息,它就开始配置过程的最后一个阶段,这个确认阶段由DHCP服务器发送一个DHCPACK包给客户,该包包括一个租用期限和客户所请求的所有其它配置信息,至此,完成TCP/IP配置。

DHCP服务常见问题的解决方案

1、根据客户计算机的IP租用原理可以知道,在一个子网内,如果存在多台DHCP服务器来提供地址配置信息,这是不违反请求、分配原则的,因为只要中有一台客户计算机在该子网中提出IP地址租约请求,由于请求是广播形式的,所以在子网中可以有任意数量的特定DHCP服务器响应一个IP租用请求,而客户请求后选中的是这些任意特定DHCP服务器中的某一台,这个选择具有随机性,但有一点要注意的是客户只能为每一张网络接口卡接受一个租用提供,上面所谓特定的DHCP服务器是指那些经过系统授权的DHCP服务器,而非授权的DHCP服务器将无法在网络中提供正常的地址分配服务,这一点非常重要,因为这样一来客户机器将只会在管理员设定的地址范围中取得地址,Windows 2000操作系统的这一新增功能,通过对DHCP服务器进行认证避免了非法DHCP服务器分配非法IP地址造成的IP地址冲突,在实际应用中,客户机器获取非法的地址经常是造成网络瘫痪和无法正常通讯的一大原因。综合上面的分析可以做出第一个问题的结论:在一个子网中可以存在多台DHCP服务器来提供地址分配,但能够作为地址提供的不是任意的DHCP服务器,而应该是经过系统认证的那些,客户机请求地址时最终从那一台经过认证机器中获取时随机的。此外,从另一个角度看,在相同子网上使用多个 DHCP 服务器,将为它所服务的 DHCP 客户机提供更强的容错能力,如下图所示,在一个子网内(网络号为192.168.1.0 掩码为255.255.255.0)共用两个 DHCP 服务器,其中的DHCP服务器1不可用的话,DHCP服务器2可以取代它并继续租用新的地址或续订现有客户机。可以建议采用的解决方案是使用 80/20 规则来划分两个 DHCP 服务器之间的作用域地址,具体做法可以是将服务器 1 配置成可使用大多数地址(约 80%),服务器 2 可以配置成让客户机使用其他地址(约 20%)。

2、如果在一个网络中存在多个子网,而多个子网的主机都需要DHCP服务器来提供地址配置信息,那么我们可以采用的方法是在每一个子网中安装一台DHCP服务器,让它们来为各个子网分配IP地址,但从节约资源利用出发,我们一般情况下不这样做,可以采取在一个子网中安装DHCP服务器,让它来为多个子网分配IP地址,实现多子网地址分配可以借助DHCP的中继代理功能实现,而作为中继代理的设备可以是一台提供中继代理程序的Windows2000服务器或是一个符合RFC1542规定的路由器,具备 DHCP/ BOOTP Relay Agent 的功能(DHCP relay agent能够把 DHCP/BOOTP 广播信息从一个网段转播到另一个网段上)。以管理的局域网分为三个子网,用Win2000服务器连接。

下面是实现跨子网使用DHCP服务器的具体解决方案:

(1)安装DHCP中继代理程序:在Windows2000服务器的“路由和远程访问”窗口中,依次展开“本地服务器→IP路由选择→常规”选项,右键点击“常规”选项,在弹出的菜单中选择“新增路由协议”,然后在“新路由协议”窗口中选择“DHCP中继代理程序”,接着点击“确定”按钮。

(2)指定DHCP服务器:右键点击刚刚添加的“DHCP中继代理程序”选项,在弹出菜单中选择“属性”,进入“DHCP中继代理程序属性”对话框,在“常规”标签页的“服务器地址”栏中输入子网1中DHCP服务器的IP地址:192.168.1.2,然后点击“添加”按钮,最后点击“确定”按钮关闭该对话框。

(3)配置访问接口:右键点击“DHCP中继代理程序”选项,在弹出菜单中选择“新增接口”,然后在“DHCP中继代理程序的新接口”对话框中的“接口”列表框中选中可以访问子网1中的DHCP服务器的接口,这里新增的接口应该是接口二和接口三,接着点击“确定”按钮。然后在弹出的“DHCP中继站属性”对话框中,选中“中继DHCP数据包”选项,这样就启用了它的中继功能,最后点击“确定”按钮。

(4)DHCP服务器中配置一个超级作用域,其中包含三个普通作用域,作用域地址范围可以分别设置为192.168.1.10~192.168.1.254(分配给子网1的PC使用);192.168.2.10~192.168.2.254(分配给子网2的PC使用);192.168.3.10~192.168.3.254(分配给子网3的PC使用),必须记住DHCP只能为每一个子网分配一个范围。

完成以上配置后,子网2和子网3中的DHCP客户机PC2及PC3就可以通过主机A的DHCP中继代理程序访问子网1中的DHCP服务器。

3、解决了单台DHCP服务器为多个子网分配IP地址后,我们还要搞清楚的一个问题是,如果某一个子网的PC如子网2中的PC2或子网3中的PC3发出地址请求信息后,主机A可以作为中继代理对他们的请求传达子网1中的DHCP服务器,但该DHCP服务器如何可以确定并准确地将作用域192.168.2.0网段的地址分给PC2而把作用域192.168.3.0网段的地址分给PC3呢?这个是多数学生可能存在的疑问,要搞清楚这个问题,可以参考以下的原理分析来找答案:以子网2中的主机PC2为例,DHCP 客户机PC2在子网2 上广播 DHCP/BOOTP discover 消息 (DHCPDISCOVER),广播是将消息以 UDP (User Datagram Protocol)数据包的形式通过 67 端口发出,当中继代理(relay agent)主机A接收到这个消息后,它检查包含在这个消息报头中的网关IP 地址,如果网关IP 地址为 0.0.0.0 ,则用 relay agent主机A的接口二的IP地址192.168.2.1替换它,然后将其转发到 DHCP 服务器所在的子网1上(主机A还担任路由器功能)。当在子网1中的 DHCP服务器收到这个消息后,它开始检查消息中的网关IP地址,然后判断该网关地址是否包含在DHCP的某一个作用域范围内,从而决定它是否可以使用相应的作用域的地址来提供IP地址租约,当然,本例中DHCP服务器将会从作用域192.168.2.10~192.168.2.254选取一个地址来配置PC2;也就是说DHCP客户机的请求地址消息中的网关IP地址 (GIADDR) 将是DHCP服务器用来确定从那个DHCP 范围中挑选IP地址来配置客户机的依据。

4、如果DHCP客户机无法找到DHCP服务器,则它从微软保留的 B 类网段 169.254.0.0 中挑选一个 IP 地址作为自己的 IP 地址,子网掩码为 255.255.0.0 ,所挑选的地址由DHCP客户机利用ARP 广播来确定自己所挑选的 IP 地址是否已被网络上的其它设备使用,如果该 IP 地址已被使用,那么客户机会再挑选另一个IP地址重新进行测试,而且最多可以重试十个IP 地址,直到成功获取配置。在此之后,客户机会在后台继续每隔 5 分钟尝试与DHCP服务器进行通信,一旦与服务器取得联络,则客户机放弃自动设置的 IP 地址,而使用服务器分配的 IP 地址和其它配制信息。所以当你在某一天发现你的PC的IP地址是个B类的地址169.254.0.0/16网段的地址时,你就应该知道那是怎么一回事了吧。

至此,我们分析了几个关于DHCP服务的应用方面的疑难问题,并且给出了相应的解决方案,对于DHCP服务在教学中我们还遇到许多一些其他问题,比如说DHCP服务器本身的地址是否一定要由管理员静态指定,设置为自动获取将会有什么后果?为什么把客户机器向DHCP服务器请求地址称为地址租用,租用时间的长短对网络中IP地址的管理与应用有哪些帮助?如何可以使用DHCP服务让一个自动获取IP的主机能在任何时候都能取得指定的一个固定地址?这些问题都要求教师在教学当中要认真地去探究该服务的每一个细节的知识点,才可以对该知识点的原理以及在实际中的应用进行透彻的讲授,也是我们熟练掌握和使用DHCP服务的前提。

WINDOWS 下的DHCP:

DHCP(dynamic host configure protocol)是动态主机配置的缩写,用于向网络中的计算机动态分配IP以及简单的TCP/IP信息。

什么是DHCP?

DHCP是用于简化IP配置管理的TCP/IP标准,对客户机动态非配TCP/IP信息。

使用DHCP的理由

1:减小管理员的工作量

2:减小输入错误的可能

3:避免IP冲突

4:当网络改变IP地址段时,不需要对每台PC重新分配IP地址

5:计算机移动不需要重新配置ip地址

6:提高IP地址的利用率

DHCP的工作原理(四次广播)

第一步:客户机请求IP租约

客户机广播一个DHCPdiscover包请求IP地址,DHCPdiscover包的原地址是0.0.0.0(因为这个时候还没有IP)目标地址255.255.255.255(不知道那台机DHCP服务器,所以广播)MAC地址是自己的。

第二步:服务器响应

当DHCP服务器接收到客户机请求IP地址的信息时,就在自己的IP地址库中查找是否有合法的IP地址提供给客户机,如果有,就将此IP地址做上标记,广播一个DHCPpoffer包,DHCPpoffer包中包含:

1,DHCP客户机的MAC地址,用来正确标识客户机。

2,DHCP服务器提供的合法IP地址,子网掩码。

3,租约期限。

4,服务器标识

第三步:客户机选择IP地址

客户机接收到第一个DHCPpoffer包中选择IP,并将DHCPrequest包广播到所有DHCP服务器(因为可能一个环境中有多台DHCP服务器)表明它接受提供的内容。

第四步:服务器确认IP租约

DHCP租约过程中第四步也是最后一步为服务器确认IP地址租约,也称为DHCPACK/DHCPNAK.

DHCP服务器的配置

DHCP服务器的要求

1,DHCP服务器要求在windows server 2003 的计算机上运行,(当然也可以在windows 2000或NT得计算机上运行,但本文主要介绍的是在windows server 2003 上运行的配置)

2,DHCP服务器要有一个静态的IP地址、子网掩码和其他的TCP/IP信息

3,要安装DHCP服务

4,使用活动目录服务必须授权DHCP服务器

5,建立作用域并激活。

实验步骤:

1,配置自己的IP地址,(静态)

2,在"添加删除程序"选择"添加/删除组件",在框中选中"网络服务"(但不要打钩),点下面的"详细信息"里面的"动态分配主机协议"(DHCP打钩)然后"确定","下一步"

3,“在开始菜单”“管理工具”里面选中“DHCP”,打开后“新建作用域”

4,客户机上运行CMD进入命令行模式:输入ipconfig /release

清空IP信息。然后输入ipconfig /renew 获取IP信息。(注意客户机必须是动态获取IP地址)

LIUNX中DHCP工作原理及配置过程详解

DHCP服务配置

DHCP服务占67号端口,DHCP的前身是bootps这个协议。

可以通过这个命令证明:#cat /etc/services | grep bootps

bootps 67/tcp

#BOOTP servier

bootps 67/udp

DHCP全称是动态主机配置协议(Dynamic Host Configuration Protocol),是由IETF(Internet网络工

程师任务小组)设计的,详尽的协议内容在RFC文档rfc2131和rfc1541里。它是用来自动给客户机分配

TCP/IP信息的网络协议。每个DHCP客户都连接到中央位置的DHCP服务器,该服务器会返回包括IP地址、网

关和DNS服务器信息的客户网络配置。

DHCP的工作过程

(1)IP租用请求:DHCP客户机启动计算机后,通过UDP端口67广播一个DHCPDISCOVER信息包,向网络上的任

意一个DHCP服务器请求提供IP租约。

(2)IP租用提供:网络上所有的DHCP服务器均会收到此信息包,每台DHCP服务器通过UDP端口68给DHCP客户

机回应一个DHCPOFFER广播包,提供一个IP地址。

(3)IP租用选择:客户机从不止一台DHCP服务器接收到提供之后,会选择第一个收到的DHCPOFFER包,并向

网络中广播一个DHCPREQUEST消息包,表明自己已经接受了一个DHCP服务器提供的IP地址。该广播包中包

含所接受的IP地址和服务器的IP地址。

(4)IP租用确认:被客户机选择的DHCP服务器在收到DHCPREQUEST广播后,公广播返回给客户机一个

DHCPACK消息包,表明已经接受客户机的选择,并将这一IP地址的合法租用以及其他的配置信息都放入该

广播包发给客户机。

客户机在收到DHCPACK包后,会使用该广播包中的信息来配置自己的TCP/IP,则租用过程完成,客户

机可以在网络中通信。

/usr/sbin/dhcpd

//dhcp执行文件

/var/lib/dhcp/dhcpd.leases

//dhcp租约文件

DHCP配置文件

Linux默认是没有dhcpd.conf文件的,需要我们自己到/usr/share/doc/dhcp-3.0p12文件夹下把

dhcp.conf.sample模板文件拷贝到/etc文件夹下起名叫dhcpd.conf

#cp /usr/share/doc/dhcp-3.0p12/dhcp.conf.sample /etc/dhcpd.conf

#vi /etc/dhcpd.conf

//打开/etc/dhcpd.conf文件

ddns-update-style interim

//配置使用过渡性DHCP-DNS互动更新模式

ignore client-updates

//忽略客户端更新

subnet 192.168.0.0 netmask 255.255.255.0 {

//subnet后面必须跟网段,设置您要对哪个网段提

供dhcp提供,注意DHCP服务器IP地址必须和该网段相符,否则DHCP服务不能启动

option routers

192.168.0.1

//为DHCP客户指定默认网关(gateway)

option subnet-mask 255.255.255.0

//为DHCP客户指定子网掩码

(netmask)

option nis-domain "domain.org"

//为DHCP客户设置NIS域

option domain-name "domain.org"

//为DHCP客户设置DNS域

option domain-name-servers 192.168.1.1

//为DHCP客户设置DNS服务器地址

option time-offset -18000

//设置与枨林威治时间的偏移时间(s)

range dynamic-bootp 192.168.0.128 192.168.0.255

//设置地址池,为DHCP客户分配IP

地址的地址段,客户可以分到该段内的任意地址;建议把192.168.0.255改为192.0.168.254,因为客户机<


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/768679.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-20
下一篇2023-08-20

发表评论

登录后才能评论

评论列表(0条)

    保存