基于CPT的DHCP实验设计研究

2018-04-25 07:23张璐璐吴丽杰
长春师范大学学报 2018年4期
关键词:网段IP地址网关

张璐璐,吴丽杰,鲁 玉

(安徽粮食工程职业学院,安徽合肥 230011)

1 DHCP简介

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),是基于TCP/IP协议簇的一种动态地址分配方案,是一个局域网的网络协议。它使用UDP协议工作,主要作用是集中的管理、分配IP地址,并能够提升地址的使用率。当连接到网络上的计算机启动时,DHCP能自动地为这台计算机配置有关的网络参数,如IP地址、子网掩码、网关和DNS等。这样,可把所有TCP/IP协议的配置信息集中存储到DHCP服务器上。集中的存储和管理能够避免IP地址的冲突,同时把管理员从繁重的手工配置劳动中解放出来。网络的规模越大,DHCP的优势就越明显。DHCP通常被应用于大型的局域网络环境中,采用C/S模型。当DHCP服务器接收到来自网络主机申请地址的请求信息时,才会向网络主机发送相关的地址配置信息[1]。

DHCP的工作过程分为4个阶段,如图1所示。

图1 单服务器DHCP工作过程流程图

第一阶段DHCP Discover,即DHCP Client寻找DHCP Server的阶段。客户机以广播方式发送DHCP Discover发现信息来寻找服务器。网络中每一台主机都会接收到这种广播信息,但只有服务器才会作出响应;第二阶段DHCP Offer,即DHCP Server提供地址信息的阶段。网络中DHCP Server接收到DHCP Discover发现信息会作出响应:它从未租用的地址中挑选一个分配给DHCP Client,并向DHCP Client发送包含出租地址和其他设置的DHCP Offer提供信息;第三阶段DHCP Request,即DHCP Client接受DHCP Server提供的地址信息的阶段。若多台DHCP Server向DHCP Client发来DHCP Offer提供信息,DHCP Client只接受首次收到的DHCP Offer提供信息,然后以广播方式回答一个DHCP Request请求信息,其中包含提供选定地址的DHCP Server的IP地址,从而能准确地被DHCP Server接受并回应;DHCP Ack,即DHCP Server向DHCP Client发送确认信息的阶段。当DHCP Server收到DHCP Client的DHCP Request请求信息之后,它便向DHCP Client发送DHCP Ack确认信息,其中包含它所提供的IP地址信息等,告知DHCP Client可使用次IP地址信息。最后DHCP Client将IP地址与网卡绑定,完成IP相关信息的租借过程。多服务器的DHCP工作过程如图2所示。

图2 多服务器的DHCP工作过程

2 CPT简介

思科包跟踪程序(Cisco Packet Tracer)属于思科公司的内部软件,它是一种能模拟网络环境从而帮助网络技术学习的模拟工具。针对网络技术的各个知识点,该软件不仅能模拟网络环境设计网络,还能配置网络设备,从而还原各种网络协议,更能依据网络设备的通讯情况来排除网络故障等,从而使得学习者得到实战级的锻炼。使用该软件可以学习IOS的多种配置、锻炼网络故障排查能力。该软件界面简洁,便于使用,用户只需要在用户图形界面上拖曳网络设备即可建立网络拓扑,且有实时和模拟两种状态,可提供静态或动态的数据包在网络中行进的详细过程,从而能观测网络实时运行情况。CPT作为网络仿真程序其功能强大,不仅有多种允许使用的网络设备,还可以几乎无限数量地创建网络,从而能鼓励、实践、发现和排除网络故障[2]。CPT允许模拟实验与网络行为,测试有多种可能性方案的问题,并要通过逐渐深入的学习网络技术,CPT提供的仿真、可视化、编辑、评估和协作的能力则更为重要,有利于对复杂的技术概念的理解和验证。

3 实验的设计及实现

本实验以华辰企业实际网络管理需求为背景,以双DHCP服务器的方式实现企业内部基本的网络信息的自动分配。实验以3台主机、2台对等服务器简单模拟企业环境,实现DHCP服务,完成3台主机的IP等信息的自动获取,并保证网络的稳定,继而满足企业内某一部门网络管理的需求。

3.1 实验介绍

通过思科仿真软件CPT,只需要一台计算机便可模拟出实验所需要的环境和设备。需要模拟出:两台服务器Cisco Server,充当DHCP Server;一台交换机Cisco2950,组建局域网;三台PC,作为测试终端DHCP Client1-3。图3为此次实验环境的拓扑示意。

图3 多服务器的DHCP实现

该实验的IP均在192.168.1.0/24网段内,其中DHCP Server1固定IP为192.168.1.2,开始IP地址:192.168.1.6;DHCP Server2固定IP为192.168.1.3,开始IP地址:192.168.1.200,其中DHCP Server1服务配置页面如图4所示。

图4 DHCP Server中服务配置

对于DHCP Client1-3只需要在桌面系统的IP地址配置中选择自动获取即可自动获取IP地址等信息。当DHCP Server1掉线或有误时,DHCP Server2亦可完成IP地址信息的自动分配,确保了网络的稳定性。

删除DHCP Server1在网络中的连线,模拟DHCP Server1故障中断。原来已经从DHCP Server1中获取地址信息的DHCP Client,在DHCP租约时间到期50%前不会改变,之后DHCP Client便会向为DHCP Server1发送更新请求,如果更新失败,暂时不采取任何措施。在当前租约期限过去87.5%时,客户机再次尝试更新,如果更新失败,则DHCP Client将广播DHCP Request包,接受DHCP Server2的租约[3]。图5为删除DHCP Server1在网络中的连线后,DHCP Server2单独服务,DHCP Client1的信息自动获取情况。

图5 单个服务器下Client1的信息获取

对于DHCP Server1和DHCP Server2的配置,需要做以下说明:DHCP Server1、DHCP Server2的DHCP服务配置在实际网络环境中应完全相同,实验中地址池及DNS服务器配置不同是为了方便客户端验证使用了哪个DHCP Server;为了避免IP冲突,应把DHCP Server以及网关的IP地址从地址池中排除,但DHCP Server有检测机制,可以排除已使用的IP地址。

图6 路由器作DHCP Server

3.2 实验改进

在实际的网络运维中,情况更为复杂。例如,自动分配的IP地址序列往往不能连续,需要剔除特殊的IP地址,网络拓扑示例如图6所示。网络划分为多个网段,DHCP需要跨网段提供服务,即DHCP Relay,网络拓扑如图7所示。这些或者更为复杂的情况下,DHCP服务往往是由路由器或三层交换机来提供。

3.2.1 路由器提供DHCP服务

华辰企业某部门内部使用Cisco 2811作为IOS DHCP Server,它和内网相连的fastethernet0端口的IP地址为172.25.1.1/24,二层交换机采用Cisco 2950。如图6所示,连接各个网络设备与计算机设备,配置设备及端口的地址和默认网关,并将测试主机设置为IP配置自动获取。其中用作DHCP Server的Cisco 2811路由器Route1的主要配置命令如下:

Router1#configure terminal

Router1(config)#service dhcp //开启DHCP服务

Router1(config)#ip dhcp pool 172.25.1.0/24 //定义DHCP地址池

Router1(config)#network 172.25.1.0 255.255.255.0 // 用network命令来定义网络地址的范围

Router1(config)#default-router 172.25.1.1 //定义要分配的网关地址

Router1(config)#exit

Router1#ip dhcp excluded-address 172.25.1.1 172.25.1.50 //该范围内的ip地址不能分配给客户端

Router1#ip dhcp excluded-address 172.25.1.66 //单个ip地址不能分配给客户端

Router1#show ip dhcp binding//查看DHCP客户机地址分配情况

IP address Client-ID/ Lease expiration Type

Hardware address

172.25.1.51 0060.70D8.2667 --

在实验中可能出现DHCP Client从 DHCP Server动态获取的地址信息与其他主机地址相冲突的现象。这多是因为在网络上有主机手动配置了IP地址。具体修正方法为:断开故障DHCP Client的网线,在另一台客户机上执行ping命令,并设置较长的超时时间,用以检测网络中是否存在该地址信息的主机;在DHCP Server上执行ip dhcp excluded-address命令,禁止该地址参与动态分配;连接好故障DHCP Client的网线,将故障DHCP Client释放并重新获取IP地址。DHCP Client分别执行ipconfig/release和ipconfig/renew命令即可。

3.2.2 DHCP中继服务

由DHCP工作过程可知,DHCP Discover、DHCP Offer等各类报文信息均采用广播的方式发送。所以一般DHCP服务,即动态IP地址的分配只适用于DHCP Server和DHCP Client均处于同一个子网。如果网络环境中有多个子网的存在,仅为了动态主机配置,就需要在每个网段上均设置DHCP Server,这将会造成极大的资源浪费。DHCP中继能很好地解决这一问题:DHCP Client通过DHCP Relay与各个网段的DHCP Server进行通信,最终获取地址信息[4]。如是,多个子网的DHCP Client可使用同一DHCP Server,既节省成本,又便于集中管理。DHCP Relay的原理:当DHCP服务需要跨越不同网络时,使用DHCP Relay可实现DHCP Client从不同网段的DHCP Server获取IP地址。DHCP Relay在接收到DHCP Client发出的广播DHCP消息后,会重新生成一个单播DHCP消息并直接转发至远程网段的DHCP Server处。

华辰公司需要配置DHCP Server使内网中多个网段的主机能主动获取IP地址等信息,要求把路由器配置为DHCP Server,并使用三层交换机来实现DHCP Relay功能。如图7所示,DHCP Server采用Cisco 2620xm,DHCP中继采用Cisco 3560,接入层交换机采用Cisco 2950。两台服务器主机分别提供DNS及FTP服务,PCA和PCB是用来测试各种服务的客户端。

图7 路由器实现DHCP Relay

如图7所示,连接各个网络设备与计算机设备,配置设备及端口的地址和默认网关,并将测试主机设置为IP配置自动获取;在三层交换机L3-Switch和二层交换机SWA上分别划分VLAN10和VLAN20两个VLAN;在交换机之间建立TRUNK链路,使两设备VLAN10和VLAN20间可以互通;把两设备中对应的端口分别加入到VLAN10和VLAN20中[5];在路由器DCHP-Server上设置静态路由,配置各网段的下一跳路由,在DHCP Relay(L3-Switch)上设置静态路由,配置各网段的下一跳路由;在DCHP-Server上配置DHCP服务,参数分配如下:名称VLAN10-DHCP,动态地址172.16.10.0网段,租期3小时,网关172.16.10.254,DNS 8.8.8.8;名称VLAN20-DHCP,动态地址172.16.20.0网段,租期5小时,网关172.16.20.254,DNS 8.8.8.8。最后启用DHCP Relay(L3-Switch)的DHCP服务,指定DHCP服务器的地址;在DHCP Client(PCA与PCB)上测试DCHP的服务,在DHCP-Serve上查看地址绑定信息。其中各主要设备的配置命令如下:

(1)路由器DCHP-Server的主配命令

DHCP-Server(config)#service dhcp //开启DHCP服务

DHCP-Server(config)#ip dhcp pool VLAN10-DHCP //创建一个名为VLAN10-DHCP的DHCP地址池

DHCP-Server(dhcp-config)#network 172.16.10.0 255.255.255.0 //指定VLAN10-DHCP地址池的网络号和掩码

DHCP-Server(dhcp-config)#default-router 172.16.10.254 //为VLAN10-DHCP客户指定缺省的默认路由器,即PC中的网关

DHCP-Server(dhcp-config)#dns-server 8.8.8.8 //为VLAN10-DHCP客户指定DNS服务器的IP

DHCP-Server(dhcp-config)#lease 0 3 0 // 指定VLAN10-DHCP客户的持续时间为3小时

DHCP-Server(dhcp-config)#exit

DHCP-Server(config)#

DHCP-Server(config)#service dhcp //开启DHCP服务

DHCP-Server(config)#ip dhcp pool VLAN20-DHCP //创建一个名为VLAN20-DHCP的DHCP地址池

DHCP-Server(dhcp-config)#network 172.16.20.0 255.255.255.0 //指定VLAN20-DHCP地址池的网络号和掩码

DHCP-Server(dhcp-config)#default-router 172.16.20.254 //为VLAN20-DHCP客户指定缺省的默认路由器,即PC中的网关

DHCP-Server(dhcp-config)#dns-server 8.8.8.8 //为VLAN20-DHCP客户指定DNS服务器的IP

DHCP-Server(dhcp-config)#lease 0 5 0 // 指定VLAN20-DHCP客户的持续时间为5小时

DHCP-Server(dhcp-config)#exit

DHCP-Server(config)#

DHCP-Server(config)#ip dhcp excluded-address 172.16.10.254 //保留VLAN10-DHCP中地址172.16.10.254不分配

DHCP-Server(config)#ip dhcp excluded-address 172.16.10.2//保留VLAN10-DHCP中地址172.16.10.2不分配

DHCP-Server(config)#ip dhcp excluded-address 172.16.20.254//保留VLAN20-DHCP中地址172.16.20.254不分配

(2)三层交换机DCHP中继的主配命令

L3-Switch(config)#service dhcp //开启DHCP服务

L3-Switch(config)#ip help-address 10.1.1.1 //指定DHCP Server的地址,表示会向该服务器发送DHCP请求包

该实验的自动分配结果可在路由器DHCP-Server上进行查看:

DHCP-Server#show ip dhcp binding

IP address Client-ID/ Lease expiration Type

Hardware address

172.16.10.1 00D0.BA8C.4EC6 -- Automatic

172.16.20.1 0030.F256.2150 -- Automatic

实验配置的注意事项:DCHP Server配置时,应设置网关和DNS,这样可以保证正常访问外网,还应排除固定地址,以防止IP冲突引起网络的不稳定;配置完成后应先在PCA与PCB上测试DCHP的服务,然后才能在DCHP Server中查看到绑定的信息。

实验中可能出现客户端无法通过DHCP Relay获得地址信息的现象。这多是因为DHCP Relay或DHCP Server的配置有误[6]。具体修正方法为:检查DHCP Server和DHCP Relay是否开启DHCP服务;检查DHCP Server是否已经配置了对应于DHCP Client所在网段的地址池;检查DHCP Relay和DHCP Server是否已经配置有相互可达的路由;检查DHCP Relay是否在接口(连接DHCP Client所在网段)上配置有正确的DHCP Server。

4 结语

在实际情况中,网络管理较多使用WINDOWS或LINUX平台搭建DHCP服务器,但是在WINDOWS或LINUX平台上搭建DHCP服务器会涉及服务集群、数据同步等较为复杂的系统问题,还会涉及服务器型号兼容、硬件配置等环境问题。由于在网络中Cisco设备有较为普遍的使用,采用Cisco IOS配置DHCP Server提供DHCP服务,无需以上问题的困扰,且配置简单,冗余原理、中继原理清晰,具有更高的稳定性。本文通过思科软件CPT模拟了DHCP服务在不同环境中的多个实验,充分展示了DHCP服务的原理及配置方式。为了更加贴合无线网络遍及的现实环境,后续还可以考虑采用无线路由和无线AP来提供DHCP服务。

[参考文献]

[1]Mark A Dye.思科网络学院教程CCNA Exploration:网络基础知识[M].北京:人民邮电出版社,2010.

[2]薛琴.基于Packet Tracer的计算机网络仿真实验教学[J].实验室研究与探索,2010(2):57-59.

[3]杨功元.Packet Tracer使用指南及实验实训教程[M].北京:电子工业出版社,2012.

[4]刘晓辉.网络设备规划、配置与管理大全[M].北京:电子工业出版社,2009.

[5]张璐璐,吴月勤,张婷.基于稀疏表示的图像复原问题模型研究[J].长春师范大学学报,2017(2):17-22.

[6]谢希仁.计算机网络[M].北京:电子工业出版社,2013.

猜你喜欢
网段IP地址网关
铁路远动系统几种组网方式IP地址的申请和设置
单位遭遇蠕虫类病毒攻击
信号系统网关设备的优化
网上邻居跨网段访问故障
IP地址切换器(IPCFG)
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
LTE Small Cell网关及虚拟网关技术研究
Onvif双网段开发在视频监控系统中的应用
应对气候变化需要打通“网关”