一种应用于交换机的DHCP冲突检测方法
技术领域
本发明涉及网络技术领域,具体地讲,是涉及一种应用于交换机的DHCP冲突检测方法和装置。
背景技术
动态主机配置协议(Dynamic Host configuration protocol,简称为DHCP)的方式可以实现网络节点自动获取IP地址,在最大程度上避免IP地址冲突。在DHCP协议模型中两个最基本的组成部分:1)DHCP服务器,用于集中管理所有的IP网络配置参数,并负责处理DHCP客户端的DHCP请求,为客户端分配IP地址;2)DHCP客户端,用于向DHCP服务器申请IP地址。
现有DHCP冲突检测方案一般基于服务器-客户端模式,客户端(PC等终端设备)检测到有地址冲突,则请求DHCP服务器重新分配IP地址,两者的交互需要修改DHCP协议。而本方案基于IPstack网络管理协议,专门针对交换机和终端设备(例如PC、摄像头等)存在地址冲突进行自动检测并修改,勿需修改原有DHCP协议。
发明内容
本发明的目的在于提供一种应用于交换机的DHCP冲突检测方法,克服传统的地址冲突检测方法需要修改DHCP协议而增加额外开销和复杂度的缺陷,且不受网络拓扑结构限制,保证了交换机与终端设备都不存在地址冲突,从而更加高效简便地管理网络设备。
为了实现上述目的,本发明采用的技术方案如下:
一种应用于交换机的DHCP冲突检测方法,包括如下步骤:
(S1)生成当前网络的网络拓扑,包括至少一个交换机和至少两个终端设备;
(S2)通过指定交换机对所有交换机进行网络参数配置;
(S3)定期获取该网络中所有交换机和终端设备的配置信息;
(S4)地址冲突检测,如果存在地址冲突,则执行下一步,否则结束;
(S5)提供可选地址范围,重新分配地址。
进一步地,所述步骤(S1)中生成网络拓扑的过程如下:
(S101)初始化处理,获取各设备初始设定的信息,该信息包括管理分组以及交换机的管理状态、管理角色、优先级、IP地址和MAC地址;
(S102)各交换机基于IPstack协议进行交换机设备识别、交换机设备竞争和私有IP地址分配;
其中,管理角色包括Master和Slave。
进一步地,所述步骤(S2)中,指定交换机为管理角色被配置为Master的交换机,其他交换机的管理角色均被配置为Slave。
进一步地,所述步骤(S2)中,先对Master交换机进行配置,然后通过Master交换机对Slave交换机进行配置。
具体来讲,所述步骤(S2)中,通过Master交换机对Slave交换机进行配置的具体过程如下:
(S201)Master交换机将预先设置好的Slave交换机配置信息数据报文发送至对应的目的Slave交换机;
(S202)相应的Slave交换机按照接收到的配置信息数据报文配置自身的网络参数。
更进一步地,所述步骤(S3)中Master交换机通过网络中的信息报文,定期获取所有交换机和终端设备的相关信息;所述相关信息包括交换机之间的连接情况、端口连接情况、运行状态、DHCP地址池信息。
更进一步地,所述步骤(S4)中,地址冲突检测的具体过程如下:
(S401)Master交换机获取到Slave交换机的DHCP地址池信息和终端设备的地址信息;
(S402)对任意两个交换机或终端设备的地址池信息或地址信息进行比较;
(S403)判断是否冲突,若存在冲突,则跳转到步骤(S5),否则结束。
其中,为了准确地判断是否冲突的情况,所述步骤(S403)中判断为“不存在冲突”情况的必要条件如下:
其一,“交换机地址无冲突”的判定条件:两交换机的DHCP地址池范围无交集,且其网关地址不属于对方的地址池范围内;
其二,“终端设备地址无冲突”的判定条件:两终端设备的地址不同;
其三,“终端设备地址与交换机地址不冲突”的判定条件:终端设备地址属于该终端设备连接的交换机地址范围内。
更进一步地,所述步骤(S5)中,重新分配地址的具体过程如下:
(S501)确定待配置的地址信息和需要重新配置的目的设备;
(S502)在报文中封装地址信息和设备信息,发送到目的设备;
(S503)判断目的设备是否接收到报文,若是,则执行下一步,否则重复执行步骤(S503);
(S504)目的设备收到报文,检查其合法性后为其自身自动配置参数,并反馈结果;
其中,目的设备为交换机或终端设备。
基于上述应用于交换机的DHCP冲突检测方法,本发明还提供了实现上述方法的装置,包括依次连接的下述模块:
初始化模块,用于收集网络中各设备初始设定的信息;
拓扑生成模块,用于生成当前网络的网络拓扑;
设备配置模块,用于对交换机或终端设备进行配置;
地址检测模块,用于进行地址冲突检测;
地址修复模块,用于提供可选地址范围,重新分配地址。
与现有技术相比,本发明具有以下有益效果:
(1)本发明构思巧妙,通过在管理端的交换机进行配置,在无需修改DHCP协议的条件下实现了对网络中所有交换机和终端设备的DHCP冲突检测和修复,警示冲突、提示修复,并可重新分配地址,而且本发明基于IPstack协议生成网络拓扑,能够直观显示网络链路状态,便于操作,高效简单,具有广泛的应用前景,适合推广应用。
(2)本发明灵活性强,允许交换机手工指定DHCP范围及网关,统一分配交换机也可给下级设备提供可用地址范围,将有冲突的交换机进行配置,实现自动修复。
(3)本发明基于IPstack协议自动生成网络拓扑以直观显示网络链路状态,可以在拓扑图上任意切换到其他设备上进行配置操作,并且能够把地址信息分发到网络设备,免除重复配置的繁琐,完全能够高效、简单、快捷管理网络设备DHCP地址冲突的问题。
附图说明
图1为本发明的流程示意图。
图2为本发明-实施例的网络拓扑示意图。
图3为本发明中装置的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
实施例
如图1至图3所示,该DHCP冲突检测方法及装置,应用于交换机中,其中装置部分可以是软件、硬件或者软硬结合的单元,具体包括如下依次连接的模块:
初始化模块,用于收集网络中各设备初始设定的信息;
拓扑生成模块,用于生成当前网络的网络拓扑;
设备配置模块,用于对交换机或终端设备进行配置;
地址检测模块,用于进行地址冲突检测;
地址修复模块,用于提供可选地址范围,重新分配地址。
该应用于交换机的DHCP冲突检测方法,包括如下步骤:
(S1)生成当前网络的网络拓扑,包括至少一个交换机和至少两个终端设备;
(S101)初始化处理,获取各设备初始设定的信息,该信息包括管理分组以及交换机的管理状态、管理角色、优先级、IP地址和MAC地址;
(S102)各交换机基于IPstack协议进行交换机设备识别、交换机设备竞争和私有IP地址分配;其中,管理角色包括Master和Slave。
如图2所示,由拓扑生成模块生成的网络拓扑,该网络拓扑中包括Sw1~5共5个交换机设备,以及PC1~4共4个终端设备,其中,该网络中仅Sw1配置一个与外部网络连接的公有IP地址,Sw2和Sw3均与Sw1连接,Sw4和Sw5均与Sw3连接,PC1和PC2均连接Sw2,PC3连接Sw4,PC4连接Sw5;其中,Sw2为Master交换机,Sw1、Sw3、Sw4和Sw5均为Slave交换机。
(S2)通过指定交换机对所有交换机进行网络参数配置。
其中Sw2为指定交换机,即Master交换机,先对Sw2进行配置,可通过人工手动配置参数或通过预先设置自动导入配置参数,然后通过Sw2对其他Slave交换机进行配置,具体地,
(S201)Master交换机将预先设置好的Slave交换机配置信息数据报文发送至对应的目的Slave交换机;
(S202)相应的Slave交换机按照接收到的配置信息数据报文配置自身的网络参数。
实际运行的过程为设备配置模块将相应的配置参数通过Master交换机转发至Slave交换机,如Sw3,此时Sw2判定其自身为Master,发送切换请求Switch to报文到目的Slave交换机Sw3,并在本机建立NAT(地址转换)表,状态为等待接收;目的Slave交换机Sw3接收到Switch to报文,并发送Accept报文到Master交换机Sw2;Master交换机Sw2收到Accept报文后,更改NAT表,状态设为接收状态,即可传输相应的配置信息数据报文并进行其自身的网络参数配置;相应地,Sw3、Sw4和Sw5完成相应的参数配置。
将配置后的交换机地址记录在下述表1中,将配置后的终端设备地址记录到下述表2中:
表1交换机地址
设备编号 |
IP地址 |
子网掩码 |
PC1 |
192.168.1.6 |
255.255.255.0 |
PC2 |
192.168.1.6 |
255.255.255.0 |
PC3 |
192.168.1.15 |
255.255.255.0 |
PC4 |
192.168.1.45 |
255.255.255.0 |
表2终端设备地址。
(S3)定期获取该网络中所有交换机和终端设备的配置信息;
Master交换机通过网络中的信息报文,定期获取所有交换机和终端设备的相关信息;所述相关信息包括交换机之间的连接情况、端口连接情况、运行状态、DHCP地址池信息。
(S4)地址冲突检测,如果存在地址冲突,则执行下一步,否则结束。
(S401)Master交换机获取到Slave交换机的DHCP地址池信息和终端设备的地址信息;如Sw2获取到Sw3、Sw4和Sw5的地址池信息。
(S402)对任意两个交换机或终端设备的地址池信息或地址信息进行比较;其中,为了准确地判断是否冲突的情况,所述步骤(S403)中判断为“不存在冲突”情况的必要条件如下:
其一,“交换机地址无冲突”的判定条件:两交换机的DHCP地址池范围无交集,且其网关地址不属于对方的地址池范围内;
其二,“终端设备地址无冲突”的判定条件:两终端设备的地址不同;
其三,“终端设备地址与交换机地址不冲突”的判定条件:终端设备地址属于该终端设备连接的交换机地址范围内;
发现如下冲突:
①Sw2和Sw3两交换机地址池范围有交集,Sw3网关地址属于Sw2的地址池范围内;
②终端设备PC1和PC2的地址相同;
③终端设备PC4不属于所连接的交换机Sw5的地址池范围内。
(S403)判断是否冲突,若存在冲突,则跳转到步骤(S5),否则结束。
(S5)提供可选地址范围,重新分配地址。
(S501)确定待配置的地址信息和需要重新配置的目的设备;
(S502)在报文中封装地址信息和设备信息,发送到目的设备;
(S503)判断目的设备是否接收到报文,若是,则执行下一步,否则重复执行步骤(S503);
(S504)目的设备收到报文,检查其合法性后为其自身自动配置参数,并反馈结果;其中,目的设备为交换机或终端设备。
重新配置后的交换机地址如下表3所示,终端设备地址如下表4所示:
设备编号 |
地址池范围 |
IP地址 |
子网掩码 |
Sw1 |
192.168.1.2~192.168.1.254 |
192.168.1.1 |
255.255.255.0 |
Sw2 |
192.168.1.4~192.168.1.10 |
192.168.1.3 |
255.255.255.0 |
Sw3 |
192.168.1.12~192.168.1.100 |
192.168.1.11 |
255.255.255.0 |
Sw4 |
192.168.1.14~192.168.1.20 |
192.168.1.13 |
255.255.255.0 |
Sw5 |
192.168.1.22~192.1681.30 |
192.168.1.21 |
255.255.255.0 |
表3修复后的交换机地址
设备编号 |
IP地址 |
子网掩码 |
PC1 |
192.168.1.5 |
255.255.255.0 |
PC2 |
192.168.1.6 |
255.255.255.0 |
PC3 |
192.168.1.15 |
255.255.255.0 |
PC4 |
192.168.1.25 |
255.255.255.0 |
表4修复后的终端设备地址。
由此,可通过管理角色为Master的交换机对网络中的其他交换机或终端设备进行方便快捷的配置,并有效地避免网络地址冲突。
上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而作出的变化,均应属于本发明的保护范围之内。