APP下载

DHCP及其发展研究

2017-07-24张萌雨胡曦明

网络安全技术与应用 2017年7期
关键词:客户机IP地址路由器

◆张萌雨胡曦明,2 马 苗,2

(1.陕西师范大学计算机科学学院 陕西 710119;2.现代教学技术教育部重点实验室 陕西 710119)

DHCP及其发展研究

◆张萌雨1胡曦明1,2马 苗1,2

(1.陕西师范大学计算机科学学院 陕西 710119;2.现代教学技术教育部重点实验室 陕西 710119)

本文针对 DHCP(动态主机配置协议)的发展过程,研究了三个主要问题,为什么 RARP(反向地址解析协议)会被 BOOTP(引导程序协议)替代,BOOTP(引导程序协议)为什么要升级为DHCP,以及DHCP与DHCPv6的区别。研究表明,DHCP的发展背后离不开网络的扩张,对一系列相似协议的对比分析,可应用于计算机网络研究和协议设计。

DHCP;RARP;BOOTP;DHCPv6

0 引言

进入本世纪以来,Internet飞速发展,越来越多的设备接入互联网。设备在网络中要实现通信,就需要给每个接口配置一个IP地址、子网掩码和广播地址(IPv4)。多年来,已有很多方法可提供和获得这些配置信息,但基本上采用3种办法:手工获得信息,通过一个系统获得使用的网络服务,或使用某种算法自动确定。

本文主要研究动态主机配置协议(DHCP),它可以动态的为主机或路由器指定配置信息。从Internet创建到现在使用的一直是DHCP协议吗?如果不是,都使用过哪些协议呢?未来还会接着使用DHCP吗?

通过研究发现,在 DHCP的发展过程中使用过 RARP和BOOTP,在未来可能会大量推广使用DHCPv6。本文旨在深入了解分析DHCP及RARP、BOOTP、DHCP、DHCPv6这四个协议之间的区别和联系。

1 DHCP及其发展概述

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是大量应用于局域网中的流行的客户机/服务器协议,使用UDP协议工作。DHCP由两个主要部分组成:地址管理和配置数据交付。地址管理用于 IP地址的动态分配,并为客户机提供地址租用。配置数据交付包括DHCP协议的消息格式和状态机。

图1 DHCP协议操作过程

主要用途有:(1)给内部网络或网络服务供应商自动分配IP地址;(2)给用户或者内部网络管理员作为对所有计算机作中央管理的手段。DHCP服务器(协议操作过程如图1所示)可配置为提供三种地址分配:自动分配、动态分配和手动分配。三者之间的差异是地址分配是否基于客户机的身份,以及该地址是否可撤销或变更。最常用的方法是动态分配。客户机从服务器配置的地址池(通常为一个预定义的范围)中获取一个可撤销的IP地址。自动分配使用的相同方法,但地址不可撤销。在手动分配中,DHCP协议用于传输地址,但地址对于请求的客户机是不变的(即它不是由服务器维护的可分配池的一部分)。服务器和路由器常使用手工配置。

1.1 基于RARP的主机配置技术

在 DHCP之前使用过两种协议,一个是反向地址解析协议RARP(协议报文格式如所示),一个是 Internet引导程序协议BOOTP(协议的报文格式如图2和图3所示)。从使用时间上看,RARP早于BOOTP,且BOOTP在一开始只是提供了引导无盘系统获取IP地址的另外一个选择。那么为什么RARP会被BOOTP替代呢?

通过对协议报文以及协议操作过程的分析,总结除了以下三个主要原因:

图2 RARP报文格式

图3 BOOTP报文格式

一是根据和可以发现RARP请求和应答是特殊的以太网帧,BOOTP则是封装在UDP数据包之上,所以BOOTP服务器更易于实现;

二是RARP中IP地址是返回的唯一结果,BOOTP则还会返回除IP地址以外的其他信息;

三是RARP使用链路层广播,RARP请求不会被路由器转发,意味着在实际中每个网络都得设置一个RARP服务器。随着网络发展,RARP服务器搭建成为一个极大的负担。

1.2 关于RARP的一个假设

通过对上一节三个原因的分析发现BOOTP优于RARP的一个方面是BOOTP能穿越路由器,而RARP使用链路层广播则不能。如果在路由器中增加允许转发RARP请求的功能会怎样呢?

在实际网络中,一个路由器可以转发一个RARP请求到路由器连接的其他网络上的任何一台主机上,但由于RARP只使用链路地址,路由器一般不知道在其他的、没有连接在路由器上的网络中的主机链路层地址。所以,即使路由器可以转发RARP请求还是会被BOOTP替代。

1.3 基于BOOTP的主机配置技术

BOOTP替代RARP为设备提供配置信息,那么为什么BOOTP没有一直使用下去,而是出现了 DHCP呢。本文通过研究发现DHCP是基于BOOTP的,也就是说DHCP是BOOTP的升级版,那么为什么BOOTP要升级为DHCP呢?

在计算机网络发展初期,由于硬盘昂贵,无盘工作站被大量使用。这些没有硬盘的主机通过BOOTROM启动并初始化系统,再通过BOOTP协议由服务器为这些主机设定配置信息。但在早期的BOOTP协议里,设定BOOTP服务器前必须实现获得客户机的硬件地址,而且硬件地址与 IP地址是静态绑定的,即使无盘工作站并没有连接到网络上,IP地址也不能够被其他主机使用。

图4 BOOTP报文详细格式

图5 DHCP报文详细格式

其次,根据BOOTP和DHCP的报文格式(如图4和图5所示),可以发现BOOTP为客户机提供有限的配置信息,且没有提供一种机制来支持改变已提供的信息。随着网络发展,客户端主机发生变动,这意味着应提供灵活的重新分配其配置信息的机制。DHCP使用租用的概念扩展了BOOTP,动态地为客户机提供操作所需的所有信息。

1.4 面向IPv6的主机配置协议-DHCPv6

近十年来,Internet规模爆炸式增长,使用IP地址的Internet服务与应用设备数量迅猛增长,加快了 IPv4地址的消耗速度。截止2011年2月,全球可用IPv4地址的耗尽也限制了IP技术应用的进一步发展。IPv6的出现大大解决了问题,同时也引起了DHCP到DHCPv6的变化。值得注意的是,在IPv6中,DHCP不再是实现地址自动配置所必不可少的了。这两个协议之前的区别主要主要归类为以下两点:

1.4.1 配置区别

为了更加形象地了解DHCP与DHCPv6在具体配置时的区别,在Cisco Packet Tracer和华三模拟器两个虚拟机上配置了如图6所示的仿真实验。得出结论如表1所示。

图6 实验拓扑图

表1 实验结果

1.4.2 协议操作区别

图7 DHCP协议操作过程

图8 DHCPv6协议操作过程

从图7和图8中可以看出,DHCP和DHCPv6协议在操作过程中,对应部分相似,主要有以下三个区别:

(1)一台客户机是否启用DHCPv6,取决于这台主机接收的ICMPv6路由器通告中的配置选项。包括两个重要的位字段,M位(可管理地址配置标志)和O位(其他配置标志);

(2)DHCP采用广播方式,DHCPv6采用IPv6组播地址方式;

(3)检测冲突时,DHCP采用ARP或DAD,DHCPv6只采用DAD。

1.5 BOOTP、DHCP、DHCPv6的性能分析

相对于RARP来说,BOOTP、RARP和DHCPv6的联系显得更为紧密,对这三个协议的性能进行对比分析,主要得出以下四个结论:

(1)DHCP与BOOTP之间存在一定的兼容性,但在DHCPv6中没有保留BOOTP消息格式;

(2)BOOTP和DHCP主要消息存放在前面的字段中,BOOTP没有选项字段,DHCP选项则是用来携带DHCP需要而BOOTP中没有的字段,而DHCPv6则把最有意义的信息携带在选项中;

(3)IPv4主机的接口只可以有一个IP地址,而IPv6主机的每个接口通常有多个地址,用计时器来决定相应地址的使用时长和使用目的。这就决定了DHCP、DHCPv6在配置上的区别,DHCP定义租用期,而DHCPv6 定义首选和有效生命周期;

(4)端口使用不同,BOOTP和DHCP使用67、68号端口,DHCPv6则使用546、547号端口。

2 结论

本文对RARP、BOOTP、DHCP、DHCPv6之间的更迭进行了深入研究,得出了如下的结论。这四种协议的变化是网络发展的缩影,主要是为了适应不断扩张的网络的需求。

从RARP到BOOTP,使得网络中服务器的数量大大减少,达到了网络简化的效果。从BOOTP到DHCP,是移动终端大量使用的结果,也使得对网络的维护变得更加容易。而 DHCP到DHCPv6的变化,归因于IPv6地址的出现。

对同一类型协议的对比,有助于对DHCP协议的理解,使得对协议的学习变得更加系统化和结构化。可应用于对计算机网络的研究学习中,对于今后设计协议也有很大的帮助。

[1]Kevin R.Fall,W.Richard Stevens. 吴英,张玉,许昱玮.TCP/IP详解 卷1:协议[M].第二版.机械工业出版社,2016.

[2]彭小英.基于Windows Server 2008下的DHCP服务器的搭建[J].网络安全技术与应用,2015.

[3]张迎春.小型网络中 DHCP技术的应用探索[J].中国新通信,2016.

[4]余绍军.运用地址转换实现子网划分[J].网络安全技术与应用,2004.

[5]胡德昆,黄迪明,赖均.工业以太网自动IP地址服务解决方案[J].计算机工程,2005.

[6]邓荣.DHCPv6在Linux环境下的实现[J].电脑知识与技术,2016.

[7]高晓红,王超,杨佳.路由器DHCP协议配置在Packet Tracer环境下的仿真实现[J].电脑知识与技术,2014.

[8]王淼,李军.配置 IPv6环境中的服务器[J].中国数据通信,2003.

[9]赵立春,梁一平,林悦,梁健.搭建基于H3C的网络设备监控系统[J].电脑知识与技术,2012.

[10]朱迅,杨丽波.利用 DHCP中继代理实现多子网环境中的IP地址统一管理[J].网络安全技术与应用,2009.

中央高校基本科研业务费专项资金资助项目(GK201503065),现代教学技术教育部重点实验室开放课题资助项目(SYSK201501),陕西师范大学非师范拔尖创新人才培养计划2017年度项目。

猜你喜欢

客户机IP地址路由器
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
铁路远动系统几种组网方式IP地址的申请和设置
IP地址切换器(IPCFG)
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
瘦客户机:安全与便捷的选择
升腾瘦客户机借神码翱翔“云端”