DHCP协议的功能及运行方式3.docx
- 文档编号:1947428
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:9
- 大小:62.54KB
DHCP协议的功能及运行方式3.docx
《DHCP协议的功能及运行方式3.docx》由会员分享,可在线阅读,更多相关《DHCP协议的功能及运行方式3.docx(9页珍藏版)》请在冰点文库上搜索。
DHCP协议的功能及运行方式3
姓名:
XXX
学号:
XXXX
班级:
XXXX
正如我们前面看到的当使用TCP/IP协定的时候如果要电脑之间能够直接传递信息就必须使用相同的NetID和不同的HostID。
这样您就得为每台电脑设定IP以及管理好纪录。
要是您想管理好一个比较大的网路或是电脑节点经常改变(如拨接网路)这样的工作可以说是非常令人烦厌的而且出错的机会也比较多。
另外如果在进行IP重新规划的时候其工作量也是相当惊人的。
下面就让我们一起揭开DHCP的神秘面纱。
DHCP是DynamicHostConfigurationProtocol之缩写它的前身是BOOTP。
BOOTP原本是用於无磁碟主机连接的网路上面的网路主机使用BOOTROM而不是磁碟起动并连接上网路BOOTP则可以自动地为那些主机设定TCP/IP环境。
DHCP的分组格式如图所示。
DHCP的分组格式
DHCP的各类报文均被封装在UDP数据报中。
由于DHCP报文的选项字段是可变长的,所以DHCP报文的长度没有固定值,但最小长度是548字节。
DHCP可以说是BOOTP的增强版本它分为两个部份一个是伺服器端而另一个是客户端。
所有的IP网路设定资料都由DHCP伺服器集中管理并负责处理客户端的HDCP要求而客户端则会使用从伺服器分配下来的IP环境资料。
DHCP的功能:
首先必须有一台DHCP工作在网路上面它会监听网路的DHCP请求它提供两种IP定位方式
AutomaticAllocation
自动分配其情形是一旦DHCP客户端第一次成功的从DHCP伺服器端租用到IP位址之後就永远使用这个位址。
DynamicAllocation
动态分配当DHCP第一次从HDCP伺服器端租用到IP位址之後并非永久的使用该位址只要租约到期客户端就得释放(release)这个IP位址以给其它工作站使用。
当然客户端也可以延续(renew)租约或是租用其它的IP位址。
动态分配显然比自动分配更加灵活尤其是当您的实际IP位址不足的时候例如您是一家ISP只能提供200个IP位址用来给拨接客户但并不意味着您的客户最多只能有200个。
因为要知道您的客户们不可能全部同一时间上网的除了他们各自的行为习惯的不同也有可能是电话线路的限制。
这样您就可以将这200个地址轮流的租用给拨接上来的客户使用了。
这也是为什麽当您用winipcfg来查看您的IP地址的时候会因每次接拨而不同的原因了(除非您申请的是一个固定IP通常的ISP都可以满足这样的要求当然可能要另外收费啦)。
当然ISP不一定使用DHCP来分配地址但和使用IPPool的原理是一样的。
DHCP除了能动态的设定IP位址之外还可以将一些IP保留下来给一些特殊用途的机器使用也可以按照MAC地址来分配固定的IP地址这样可以给您更大的设计空间。
同时DHCP还可以帮客户端指定网路网关routerNetMaskDNS伺服器WINS伺服器等等项目您在客户端上面除了将DHCP选项打勾之外几乎无需做任何的IP环境设定。
DHCP的工作形式
第一次登录之后﹕
一旦DHCP客户端成功地从服务器哪里取得DHCP租约之后,除非其租约已经失效并且IP地址也重新设定回0.0.0.0﹐否则就无需再发送DHCPdiscover信息了﹐而会直接使用已经租用到的IP地址向之前之DHCP服务器发出DHCPrequest信息﹐DHCP服务器会尽量让客户端使用原来的IP地址﹐如果没问题的话﹐直接响应DHCPack来确认则可。
如果该地址已经失效或已经被其它机器使用了﹐服务器则会响应一个DHCPNACK封包给客户端﹐要求其从新执行DHCPdiscover。
至于IP的租约期限却是非常考究的﹐并非如我们租房子那样简单﹐以NT为例子﹕DHCP工作站除了在开机的时候发出DHCPrequest请求之外﹐在租约期限一半的时候也会发出DHCPrequest﹐如果此时得不到DHCP服务器的确认的话﹐工作站还可以继续使用该IP﹔然后在剩下的租约期限的再一半的时候(即租约的75%)﹐还得不到确认的话﹐那么工作站就不能拥有这个IP了。
至于为什么不是到租约期限完全结束才放弃IP呢﹖﹐对不起﹐小弟也是不学无术之人﹐没有去深究了﹐只知道要回答MCSE题目的时候﹐您一定要记得NT是这么工作的就是了。
要是您想退租,可以随时送出DHCPLEREASE命令解约﹐就算您的租约在前一秒钟才获得的。
跨网络的DHCP运作
从前面描述的过程中,我们不难发现:
DHCDISCOVER是以广播方式进行的,其情形只能在同一网络之内进行﹐因为router是不会将广播传送出去的。
但如果DHCP服务器安设在其它的网络上面呢﹖由于DHCP客户端还没有IP环境设定﹐所以也不知道Router地址﹐而且有些Router也不会将DHCP广播封包传递出去﹐因此这情形下DHCPDISCOVER是永远没办法抵达DHCP服务器那端的,当然也不会发生OFFER及其它动作了。
要解决这个问题,我们可以用DHCPAgent(或DHCPProxy)主机来接管客户的DHCP请求﹐然后将此请求传递给真正的DHCP服务器﹐然后将服务器的回复传给客户。
这里﹐Proxy主机必须自己具有路由能力,且能将双方的封包互传对方。
若不使用Proxy,您也可以在每一个网络之中安装DHCP服务器﹐但这样的话﹐一来设备成本会增加﹐而且﹐管理上面也比较分散。
当然喽﹐如果在一个十分大型的网络中﹐这样的均衡式架构还是可取的。
端视您的实际情况而定了。
(1)寻找Server:
当DHCP客户端第一次登录网络的时候,它会向网络广播一个DHCPDISCOVER数据包。
(2)提供IP租用地址:
每个有空闲地址的DHCP服务器都发出DHCPOFFER包响应这个DHCPDISC0VER包。
(3)接受IP租约:
如果客户端收到网络上多台DHCP服务器的回应,就会挑选其中一个DHCPOffer而已(通常是最先抵达的那个),并且会向网络发送一个DHCPRequest广播数据包,告诉所有DHCP服务器它将指定接受哪一台服务器提供IP地址。
同时,客户端还会向网络发送一个ARP数据包,查询网络上面有没有其它机器使用该IP地址;如果发现该IP已经被占用,客户端则会送出一个DHCPDECLINE数据包给DHCP服务器,拒绝接受其DHCPOffer,并重新发送DHCPDiscover信息。
事实上,并不是所有DHCP客户端都会无条件接受DHCP服务器的Offer。
客户端也可以用DHCPRequest向服务器提出DHCP选择,而这些选择会以不同的号码填写在DHCPOptionField里面。
换句话说,在DHCP服务器上面的设定,未必是客户端全都接受,客户端可以保留自己的一些TCP/IP设定。
(4)租约确认:
当DHCP服务器接收到客户端的DHCP Request之后,会向客户端发出一个DHCPACK回应,以确认IP租约的正式生效,也就结束了一个完整的DHCP工作过程。
DHCP的工作流程如图1如示。
DHCP数据包格式
(1)OPTION字段:
允许厂商定义选项(Vendor-SpecificArea),以提供更多的设定信息(如:
Netmask、Gateway、DNS等等)。
其长度可变,同时可携带多个选项,每一选项之第一个byte为资讯代码,其后一个byte为该项资料长度,最后为项目内容。
(2)DHCPOption82:
当DHCPRelayAgent将客户端的DHCP包转发到DHCP服务器时,可以插入一些选项信息,以便DHCP服务器能更精确的得知PC客户端的信息,从而能更灵活按相应策略分配IP地址和IP地址需要的租约时间。
该选项信息的选项号为82,故又称为Option82,相关标准文档为RFC3046。
Option82是对DHCP选项的扩展应用,这个新的选项被称为:
DHCPrelayagentinformationoption(中继代理信息选项),当向一个DHCP中继代理传输客户端发起的DHCP请求时被中继代理嵌入到客户端的DHCP报文中,当服务器识别到中继代理信息选项后就会根据选项中的信息执行IP地址的分配和策略的实施。
DHCP服务器将发给用户的响应数据包首先发送给中继代理,然后由中继代理将选项字段剥去后发送给客户端。
“中继信息”选项被定义为一个包含一个或多个“子选项”的单独的DHCP选项,并传送可被中继代理识别的信息。
Option82选项如同一个“容器”选项,为中继代理分配的特定的子选项在DHCP报文中提供了数据空间。
(3)Option82选项格式:
其中,可填充的子选项个数最大为255个。
在初期的子选项中定义了用来标识源发送端链路的“CircuitID”和向远程高速调制解调器提供的信任标识“REMOTEID”。
通过将DHCPOption82选项与实际的认证系统向结合,认证系统能够使用Option82的CircuitID和RemoteID子选项按不同的用户权限给用户分配不同的IP地址,一方面能更精确的进行IP地址管理,另一方面可以让交换机或路由器进行“源IP地址”的策略路由,从而最终达到不同IP地址有不同的路由规则、不同的上网权限的目的。
DHCPIP地址分配策略
对于IP地址的占用时间,不同主机有不同的需求:
对于服务器,可能需要长期使用确定的IP地址;对于某些主机,可能需要长期使用某个动态分配的IP地址;而某些个人则可能只在需要时分配一个临时的IP地址就可以了。
针对这些不同的需求,DHCP服务器提供三种IP地址分配策略。
手工分配地址:
由管理员为少数特定主机(如WWW服务器等)配置固定的IP地址,即将客户端的MAC地址与某个IP地址绑定。
当此MAC地址的客户端申请DHCP地址时,服务器根据客户端MAC地址寻找到对应的固定IP地址分配给客户端。
自动分配地址:
为首次连接到网络的某些主机分配固定IP地址,该地址将长期由该主机使用。
动态分配地址:
以“租借”的方式将某个地址分配给客户端主机,使用期限到期后,客户端需要重新申请地址。
绝大多数客户端主机得到的是这种动态分配的地址。
客户端与服务器的协议交互
申请一个新地址
下面是客户端和服务器端进行协议交互的过程,图7给出了交互图。
本节给出的是完整的交互过程,如果客户端已经知道了自己的IP地址,则其中某些过程可以省略。
1、客户端主机接入网络后,需要申请一个地址才能使用网络,它会在本地子网内广播一个DHCPDISCOVER消息,该消息中可以包括一些选项,要求获得指定的网络地址和租期等。
2、DHCP服务器收到DHCPDISCOVER消息后,回应一个DHCPOFFER消息。
3、通常为了保证网络的可靠性,一个子网内会有两个或者多个DHCP服务器互相备份。
客户端发送的DHCPDISCOVER消息是广播报文,因此子网内所有的DHCP服务器都会收到该报文,并且每个服务器都会回应一个DHCPOFFER消息。
这样,客户端就可能收到多个DHCPOFFER消息,在收到消息后,会根据DHCPOFFER消息中的配置参数来选择其中一个服务器作为回应。
客户端回应的消息是DHCPREQUEST消息,它和DHCPDISCOVER一样是广播报文,其中消息中必须带有Serveridentifier选项以指定所选择的DHCP服务器,一些客户端期望服务器分配的参数也可以包含在消息中。
DHCPREQUEST消息中的RequestIPaddress选项的值必须和接收的DHCPOFFER消息中yiaddr的值相同。
也就是,服务器准备分配给客户端的IP地址必须是客户端请求的IP,客户端不能请求的其他IP地址。
DHCPREQUEST是广播报文,当DHCP服务器不在本地子网时,需要通过DHCP/BOOTP中继代理relay到服务器。
DHCP客户端如何在一定的时间内没有收到DHCPOFFER,并重传DHCPDISCOVER报文。
重复使用以前分配的地址
如果客户端保存了之前分配的IP地址,并且希望再次使用该地址时,其交互过程同新申请地址的交互过程类似,不过某些过程可以省略而已。
时间值的解释与表达
在DHCP协议中,客户端动态获得的网络地址的租期是一个用秒为单位表示的时间段。
时间值0xffffffff表示无限期。
由于客户端和服务器通常没有同步时钟,所以在DHCP消息中,租期是用相对时间表示的,以客户端的本地时间作为租期的开始参考点。
相对时间用一个32位的字表示,单位为秒,比如租期为6小时,就表示为0x00005460。
32位字大约可以表示0到100年。
上面描述的关于租期解释的算法认为客户端和服务器的时钟之间的偏移是不变的。
如果两者之间存在漂移,则服务器可能先于客户端认为该客户的租期已到期。
为了弥补这个时间差,服务器返回给客户端的租期可以比它本地数据库中保存的租期短一些。
外部配置网络地址后的客户端获取其他参数
客户端如果通过其他方式获取了地址后(可以手工配置地址),可以通过DHCPINFORM消息来获取其他的配置参数。
服务器在收到一个DHCPINFORM消息后,构建一个DHCPACK消息,其中包含一些配置参数,但不包括分配网络地址,检查现有的绑定,消息中也不填充yiaddr字段或者租期等参数。
DHCP服务器从DHCPINFORM消息中取出ciaddr的地址,并以该地址回应客户端DHCPACK消息。
DHCP服务器收到DHCPINFORM消息后,应该检查网络地址的一致性,但是对租期不能检查。
服务器构建一个DHCPACK消息,包含有请求客户端的配置参数,并直接发送给客户端。
DHCP协议中的客户端参数
客户端在请求地址时,都需要请求一些参数,但并不是所有的客户端都需要初始化在附录1中列出的所有参数,目前有两种方法可以减少从服务器到客户端的参数数目。
第一种方法,主机的大部分参数都有默认的参数,如果客户端没有从服务器接收到参数配置,则使用默认值。
客户端使用DHCP的时机
客户端在本地网络参数发生变化时,应该重新获取或者验证自己的IP地址和网络参数,比如在客户端重启或者与网络失去一段联系后,本地网络参数可能在用户未知的情况下发生改变。
如果客户机知道之前的IP地址,并无法连接到本地DHCP服务器,它可以继续使用这个地址,直到租期过期为止。
在连接到DHCP服务器之前,租期失效,则客户端应立即放弃使用该地址,并通知本地用户。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DHCP 协议 功能 运行 方式