APP下载

DHCP分析及其在模拟器中的仿真实验设计

2022-09-07廖伯勋

信息记录材料 2022年7期
关键词:中继IP地址模拟器

廖伯勋,罗 俊

(广州工商学院 广东 广州 510850)

0 引言

一台主机要与另一台主机进行通信,通常需要拥有一个IP地址。在小型的网络中,IP地址可以通过手工的方式来进行配置,当企业网络规模较大时,使用手工配置的方式工作量太大,同时容易出错,而且不好维护,故亟需一种自动配置IP地址的方式[1]。动态主机配置协议(dynamic host configuration protocol,DHCP)是应用最广泛的一种自动配置IP地址信息的协议。为了提高网络管理员的工作效率,本文提出通过华为模拟器对动态主机配置协议实验进行设计的一种方法。

1 DHCP的基本原理

DHCP协议基于服务器/客户端模式,工作在TCP/IP的应用层。DHCP在运输层使用UDP协议。服务器使用68号端口,客户端使用67号端口。其工作流程可分为4个阶段。

1.1 DHCP发现

DHCP的工作流程首先是由客户端来进行触发的。当一台主机将自身的网络适配器中的IP地址选项设置为自动获取时,该主机就成为一台DHCP客户端。DHCP客户端向本地网络发送DHCP发现报文,目的是在本地网络中找到一台DHCP服务器,进而进行后续的地址申请。DHCP发现报文为广播报文,将被二层交换机转发至其所连接的所有其他设备。

1.2 DHCP提供

当本地网络中的一台DHCP服务器接收到DHCP发现报文时,根据DHCP协议,DHCP服务器会发出DHCP提供报文。该报文中含有可以分发给DHCP客户端的IP地址信息,包括IP地址、子网掩码、默认网关、DNS服务器地址等信息。该报文既可以通过广播的方式来发送,也可以通过单播的方式来发送。至于DHCP服务器以何种方式发送DHCP提供报文,取决于DHCP客户端发送的DHCP发现报文中的broadcast字段中的值,若为0则DHCP提供报文以单播形式发送,若为1则DHCP提供报文以广播形式发送。

1.3 DHCP请求

当DHCP客户端接收到DHCP提供报文时,客户端并非立即使用该报文中的IP地址信息,而是先向DHCP服务器请求使用该IP地址信息。客户端已经收到地址信息,但不能直接使用,因为该网络中可能存在多台DHCP服务器。当网络中有多台DHCP服务器时,这些服务器都能收到客户端发来的DHCP发现报文,都会回复DHCP提供报文,这时客户端会收到来自多台DHCP服务器的IP地址信息。由于一台主机只能选择一个IP地址信息,于是必须进行取舍。DHCP客户端通过DHCP请求报文,选择最先收到的DHCP提供报文中的IP地址信息。DHCP请求报文以广播方式发送,目的是告知其选中的DHCP服务器,本客户端接受该DHCP服务器的IP地址信息,同时也告知其他DHCP服务器,请回收之前发给本客户端的IP地址信息。

1.4 DHCP确认

此报文为DHCP服务器对DHCP请求报文的响应报文。DHCP服务器正式将该IP地址信息分配给该客户端。

2 DHCP实验设计

2.1 华为模拟器简介

网络模拟器是使用软件的方式模拟真实网络设备的一种工具。通过网络模拟器,网络学习者可以搭建实验拓扑,对模拟的设备进行配置,并能对设备进行调试[2]。不同的数据通信设备厂家为了让客户能更容易掌握设备的使用,开发了自家的模拟器。华为模拟器eNSP是华为官方的网络模拟器,使用华为模拟器,可以方便地进行数据通信实验的模拟。本文使用华为模拟器来进行DHCP实验的仿真设计。

2.2 DHCP基础实验设计

本实验是DHCP协议的基本应用。在本实验中,DHCP服务器只为本地客户端提供IP地址信息。本实验的拓扑图见图1。

华为路由器支持两种地址池方式:接口地址池和全局地址池。下面就两种地址池方式分别进行实验。

2.2.1 接口地址池方式

(1)服务器配置。

[DHCP_Server]dhcp enable

[DHCP_Server]interface g0/0/1

[DHCP_Server-GigabitEthernet0/0/1]ip address 192.168.1.254 24

[DHCP_Server-GigabitEthernet0/0/1]dhcp select interface

[DHCP_Server-GigabitEthernet0/0/1]dhcp server dns-list 192.168.1.200

[DHCP_Server-GigabitEthernet0/0/1]dhcp server lease day 7

(2)交换机保持默认配置。

(3)客户端的配置。PC只需在“基础配置”标签页的“IPv4配置”中选择“DHCP”,即可成为一台DHCP客户端,并立即触发DHCP的工作过程。此时通过调用wireshark协议分析器,在DHCP客户端的Ethernet0/0/1接口进行抓包,在显示过滤器栏输入“bootp”,便可以直观地查看到DHCP交互过程的4个报文,见图2。

(4)验证。在DHCP客户端上使用ipconfig命令,查看到该客户端获得了192.168.1.253的IP地址信息(华为DHCP服务器默认从大到小分配IP)。

2.2.2 全局地址池方式

由于全局地址池方式的交换机配置和DHCP客户端的配置方式与接口地址池方式相同,此处不再赘述,仅给出DHCP服务器的配置。

[DHCP_Server]ip pool pool1

[DHCP_Server-ip-pool-pool1]network 192.168.1.0 mask 24

[DHCP_Server-ip-pool-pool1]gateway-list 192.168.1.254

[DHCP_Server-ip-pool-pool1]dns-list 192.168.1.200

[DHCP_Server-ip-pool-pool1]lease day 7

[DHCP_Server-GigabitEthernet0/0/1]dhcp select global

2.3 DHCP中继实验设计

在规模较大的企业网的交换区块中,PC按部门被划分到不同的虚拟局域网中,通常为其配置不同的网段IP。为了节省经费,通常仅设置一台DHCP服务器,该服务器需要为不同部门的主机分配不同网段的IP地址。在这种环境下,若仍按上一实验进行配置,则DHCP服务器接收到DHCP发现报文时,将无法分辨该报文来自哪个部门,从而无法确定应从哪个地址池中分配IP地址。为了解决这个问题,需要部署DHCP中继。当DHCP中继设备接收到下游主机提交的DHCP发现报文或请求报文时,会转发给上游的DHCP服务器处理;当DHCP中继设备接收到上游DHCP服务器发来的DHCP提供报文或确认报文时,会转发给下游的主机[3]。DHCP中继实验只能使用全局地址池的方式来实现。本实验的拓扑图见图3。

销售部PC属于VLAN10,财务部PC属于VLAN20。DHCP服务器上创建两个地址池pool10和pool20。DHCP中继仍然由S3700充当,此时需使用S3700的三层功能,分别创建VLANIF10接口和VLANIF20接口。当DHCP中继接收到销售部PC发来的DHCP发现报文时,发现该报文来自VLAN10,于是将该广播报文转为单播报文发送给DHCP服务器。该单播报文的源IP地址为VLANIF10的地址,目的IP地址为DHCP服务器的地址。DHCP服务器接收到DHCP中继转发过来的DHCP发现报文,根据报文中的源IP地址从全局地址池pool10中,选择一个当前可分配的IP地址,封装成DHCP提供报文,回复给DHCP中继,再由DHCP中继转发给销售部PC[4]。后续的DHCP请求和DHCP确认报文同样经过DHCP中继进行转发。该实验配置如下。

2.3.1 DHCP服务器配置

[DHCP_Server]ip pool pool_10

[DHCP_Server-ip-pool-pool_10]network 192.168.10.0 mask 24

[DHCP_Server-ip-pool-pool_10]gateway-list 192.168.10.254

[DHCP_Server-ip-pool-pool_10]dns-list 192.168.10.200

[DHCP_Server-ip-pool-pool_10]lease day 7

[DHCP_Server]ip pool pool_20

[DHCP_Server-ip-pool-pool_20]network 192.168.20.0 mask 24

[DHCP_Server-ip-pool-pool_20]gateway-list 192.168.20.254

[DHCP_Server-ip-pool-pool_20]dns-list 192.168.20.200

[DHCP_Server-ip-pool-pool_20]lease day 7

[DHCP_Server]int g0/0/1

[DHCP_Server-GigabitEthernet0/0/1]ip address 12.1.1.2 24

[DHCP_Server-GigabitEthernet0/0/1]dhcp select global

//注意DHCP服务需配置默认路由指向DHCP中继,否则DHCP提供和DHCP确认报文将由于路由不通而无法正常发送。

[DHCP_Server]ip route-static 0.0.0.0 0.0.0.0 12.1.1.1

2.3.2 DHCP中继配置

[DHCP_Relay]vlan batch 10 20

[DHCP_Relay]interface e0/0/1

[DHCP_Relay-Ethernet0/0/1]port link-type access

[DHCP_Relay-Ethernet0/0/1]port default vlan 10

[DHCP_Relay]interface e0/0/2

[DHCP_Relay-Ethernet0/0/2]port link-type access

[DHCP_Relay-Ethernet0/0/2]port default vlan 20

[DHCP_Relay]interface vlan 10

[DHCP_Relay-Vlanif10]ip address 192.168.10.254 24

[DHCP_Relay-Vlanif10]dhcp select relay

[DHCP_Relay-Vlanif10]dhcp relay server-ip 12.1.1.2

[DHCP_Relay]interface vlan 20

[DHCP_Relay-Vlanif20]ip address 192.168.20.254 24

[DHCP_Relay-Vlanif20]dhcp select relay

[DHCP_Relay-Vlanif20]dhcp relay server-ip 12.1.1.2

[DHCP_Relay]interface vlan 1

[DHCP_Relay-Vlanif1]ip address 12.1.1.1 24

配置完成后,财务部PC启动DHCP时,在交换机的GE0/0/1接口启动wireshark进行抓包,可以抓取到交换机作为DHCP中继与DHCP服务器交互的数据包。如图4所示,DHCP Discover报文的源IP地址为交换机VLANIF20接口的IP地址,目的IP地址为DHCP服务器的IP地址,该报文为单播报文。证实了DHCP中继将客户端发送的DHCP Discover广播报文转换为单播报文,发送给DHCP服务器。同样地,后续的DHCP Offer、DHCP Request和DHCP Ack报文都是DHCP中继与DHCP服务器之间通信的单播报文。

销售部PC获得的IP地址信息见图5。

财务部获得的IP地址信息见图6。

3 结语

本文使用华为模拟器搭建仿真环境,对DHCP基础实验和DHCP中继实验进行了设计,通过调试达到了预期的效果,并给出了具体实验流程和配置命令[5]。通过这些实验,网络学习者能更深入地理解DHCP协议的工作原理和应用场景,提高自身的实践技能。

猜你喜欢

中继IP地址模拟器
了不起的安检模拟器
盲盒模拟器
划船模拟器
基于非专用中继节点的双跳中继用频规划*
“鹊桥号”成功发射
Link—16中继时隙自适应调整分配技术研究
公安网络中IP地址智能管理的研究与思考
《IP地址及其管理》教学设计
计算机的网络身份IP地址