一种智能配置邻居交换机网络管理地址的方法
技术领域
本发明涉及以太网技术领域,尤其涉及一种智能配置邻居交换机网络管理地址的方法。
背景技术
在网络智能化过程中必然需要针对网管型交换机进行智能配置,最基本的要求是需要针对网管型交换机进行网络地址配置的智能配置,使得整个网络中各个网管型交换机的网络地址符合设计预期,并且必须是需要将交换机设置为全网唯一的静态网络地址。本发明所提及的方法、数据,通过链路层发现协议,查找邻居技术、远程访问管理控制交换机等技术,实现“邻居交换机”的静态网路地址智能动态配置技术,为网络智能化奠定技术基础,使得在现有网管型交换机基础上,能够快速完成网络智能化的进一步研发,提高网络智能化步伐。同时由于采用了现有的网管型交换机的既有技术,因此在网络智能化改造过程中,能够大大降低交换机改造的成本,加速网络智能化技术的应用与发展。
目前,在网络化、数字化、智能化等发展的大背景下,网络交换机的自动配置需求原来越迫切紧急,要求也越来越高。相应地在网络化智能化的发展要求下,对于网络的智能化程度要求越来越高。
现有的针对网络的配置,常见的方法是:手动人工配置为静态网络地址,或者通过DHCP服务器将动态网络地址分配给邻居交换机;然而,该两种方法均存在一定的缺陷:
1、采用手动人工方式配置网络的管理地址,在当前以及未来,人工成本越来越高,因此该方式存在部署维护成本高,效率低下,而且还有可能因为人的失误导致配置冲突、错等缺陷。
2、采用DHCP服务器自动分配网络地址的方式来配置网络的管理地址的话,无法做到不需要人工干预情况下拓扑结构中特定节点上的交换机的网络地址符合设计预期,采用该方式存在以下缺陷:
(1)同一个网络中同时有两台甚至多台DHCP服务器的情况下,那么存在极大的网络地址冲突风险,可能导致该邻居交换机的网络地址不是全网唯一的网络地址;
(2)如果在网络中混入了获取网络地址方式为静态获取方式的情况下,DHCP服务器无法避免冲突,也无法设置该邻居交换机的地址;
(3)无法自动实现某邻居交换机的网络地址设置为静态网络;
(4)如果DHCP服务器停止服务的话,那么该邻居交换机的网络地址就无法获取并配置。
发明内容
为了解决上述解决网络中邻居交换机的静态网络智能配置的技术问题,本发明提供了一种方法及需要用到的数据,能够有效自动配置某一个邻居交换机的静态网络地址,且其静态网络地址在整个网络中具有唯一性特点。该邻居交换机网络管理地址的获取方式无论是静态或者还是动态获取方式,通过采用本发明提及的方法、数据均可实现自动配置该邻居交换机的网络地址符合预期的网络地址。例如在网络设计时,希望某个邻居交换机的静态网络地址为A,那么通过采用该发明提及的方法、数据,能够准确地将该邻居交换机的静态网络地址设置为A,而无须限定该邻居交换机所采取的获取网络地址的方式:动态获取或者静态获取。
上述的一种智能配置邻居交换机网络管理地址的方法,包括以下步骤:
S1、设置isAlreadySingleChecked为false,isEACNSuccessSetFlag为false,同时获取临时可用的不冲突的网络地址列表,获取基础输入数据;
所述基础输入数据包括:目标邻居交换机的管理mac地址oldManageMac,LocalDesignManageIP、LocalDesignEACNIP、SpecialTempIP、DeviceKindFlag;并跳转至步骤S9;
S2、获取目标邻居交换机的实际网络地址oldManageIP;
具体方法为:找到oldManageMac_i等于oldManageMac对应的oldManageIP_i;并设置oldManageIP=oldManageIP_i;
S3、判断目标邻居交换机的实际网络地址是否与设计网络地址相同;如果相同,跳至步骤S13,否则转入步骤S4;
具体方法为:判断oldManageIP是否等于LocalDesignEACNIP;
S4、判断是否可以通过LocalDesignEACNIP访问目标邻居交换机,如可以则跳至步骤S11,否则进入步骤S5;
S5、通过oldManageIP将该邻居交换机的管理IP地址设置为LocalDesignEACNIP;设置该IP地址的冲突检测标志isAlreadySingleCheched=true;
S6、判断是否可以通过oldManageIP访问交换机,如可以则跳至步骤S12,否则进入步骤S7;
S7、判断oldManageIP是否为临时IP地址,如是则进入步骤S8,否则跳至步骤S9;
S8、回收临时IP地址,并设置被占用的临时IP地址的被占用标志为true;
S9、判断该邻居交换机是否与总控主机相邻,如是则跳至步骤S20,否则进入步骤S10;具体判断方法为:即判断设备类型标志DeviceKindFlag是否为1;
S10、设置等待时间>LLDP生存时间,并跳至步骤S21;
S11、将IP地址为LocalDesignEACNIP的所有交换机设置为不冲突的临时管理IP地址,且设置被占用地临时IP地址的被占用标志为true,并返回步骤S5;
S12、将所有IP地址为oldManageIP的交换机设置为不冲突的临时IP地址,且设置被占用的临时IP地址的被占用标志为true,并返回步骤S9;
S13、判断是否交换机IP地址冲突检测标志isAlreadySingleCheched是否为true,如是则跳至步骤S19,否则进入步骤S14;
S14、将IP地址为LocalDesignEACNIP的交换机设置为特定检测网络地址SpecialTempIP;
S15、判断是否可以通过LocalDesignEACNIP访问交换机,如可以则跳至步骤S18,否则进入步骤S16;
S16、通过SpecialTempIP修改该交换机的IP地址为LocalDesignEACNIP;
S17、设置isAlreadySingleChecked=true,并返回步骤S9;
S18、将IP地址为LocalDesignEACNIP的所有交换机设置为不冲突的临时管理IP地址;将地址为SpecialTempIP的交换机设置为不冲突的临时管理IP地址,并进入步骤S17;
S19、设置isEACNSuccessSetFlag=true,配置结束;
S20、通过抓取LLDP报文获取邻居交换机当前实际配置信息oldManageIP_i和oldManageMac_i,并返回步骤S2;
S21、通过LocalDesignManageIP获取该交换机的邻居列表信息NeighborList,并返回步骤S2。
上述方法中,所述步骤S1中的获取设备类型标识包括:
设设备类型标识为DeviceKindFlag并输入数据,表明希望本次配置过程中获取邻居交换机当前实际配置信息的方法是通过访问交换机还是抓取LLDP报文方式;同时,设DeviceKindFlag为1,表示通过抓取该邻居交换机的LLDP数据报文的方式来获取该邻居交换机当前的实际配置信息,否则,表示通过LocalDesignManageIP地址从交换机中获取该邻居交换机的当前实际配置信息。
上述方法中,所述步骤S1中的设置特殊网络地址SpecialTempIP为:
在邻居交换机当前实际配置信息中的网络地址与设计预期网络地址相同,且未检测过是否全网只有该邻居交换机拥有该网络地址,并需要达到检测目的情况时的临时的特殊网络地址。
上述方法中,在检测全网是否只有该邻居交换机拥有该网络地址的过程中,如检测结果唯一,则需要通过该网络地址将该邻居交换机的网络地址还原到符合设计预期的网络地址。
上述方法中,所述步骤S11中,目标邻居交换机符合设计预期的网络地址被其他交换机占用时,需要将占用该网络地址的所有的交换机的网络地址设置为不冲突的临时网络地址。
上述方法中,所述步骤S6中,目标邻居交换机的实际网络地址在网络中其它交换机中同时存在时,需要将拥有该网络地址的所有的交换机设置为不冲突的临时网络地址。
上述方法中,所述步骤S21中,邻居列表信息NeighborList包括邻居的当前管理IP地址oldManageIP_i和邻居的当前管理mac地址oldManageMac_i。
上述方法中,所述交换机均为二层及二层以上的网管型交换机或三层路由。
本发明的优点和有益效果在于:本发明提供了一种智能配置邻居交换机网络管理地址的方法,通过采用本发明提及的方法,无论邻居交换机获取网络地址的方式是静态获取还是动态获取,均能够自动将该邻居交换机的网络地址配置为符合设计预期的网络地址,并且能够确保其是全网唯一的网络地址;
同时,通过该网络地址能够有效精准访问管理控制该邻居交换机,该发明能够满足网络智能化的发展需要,是网络智能化发展的基础之一;
此外,如果要满足动态获取网络地址的交换机的需要的话,必须提供DHCP服务器。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明中智能配置邻居交换机网络管理地址方法的流程示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
一、关于本发明涉及的方法:
如图1所示,本发明记载了一种智能配置邻居交换机网络管理地址的方法,具体包括以下步骤:
S1、设置isAlreadySingleChecked为false,isEACNSuccessSetFlag为false,同时获取临时可用的不冲突的网络地址列表,获取基础输入数据;且基础输入数据包括:目标邻居交换机的管理mac地址oldManageMac,LocalDesignManageIP、LocalDesignEACNIP、SpecialTempIP、DeviceKindFlag,并跳转至步骤S9。本发明中的邻居交换机是指直接相连的交换机为邻居交换机;例如交换机A与交换机B直接相连,那么B就是A的邻居交换机,A也是B的邻居交换机;例如设备C与交换机D直接相连,那么交换机D就是设备C的邻居交换机;例如交换机A与交换机B之间有一个非网管型交换机,那么交换机B与交换机A同样是互为邻居交换机;且本方法中涉及到的交换机均为二层及二层以上的网管型交换机或三层路由。
其中,设置isEACNSuccessSetFlag=false的作用是表明尚未确定该邻居交换机的网络地址是否符合设计预期,并且全网唯一。
S2、获取目标邻居交换机的实际网络地址oldManageIP;其具体方法为:找到oldManageMac_i等于oldManageMac对应的oldManageIP_i;并设置oldManageIP=oldManageIP_i。
S3、判断目标邻居交换机的实际网络地址是否与设计网络地址相同;如果相同,跳至步骤S13,否则转入步骤S4;其具体方法为:判断oldManageIP是否等于LocalDesignEACNIP;
S4、判断是否可以通过LocalDesignEACNIP访问目标邻居交换机,如可以则跳至步骤S11,否则进入步骤S5;其作用是检测设计预期网络地址LocalDesignEACNIP是否在全网中其他交换机中实际存在;如果在全网中其他交换机中存在的话,就说明其他交换机的网络地址设置错误,需要纠正过来,至少在被配置过程中是不允许其他交换机拥有本该属于该邻居交换机的网络地址。
S5、通过oldManageIP将该邻居交换机的管理IP地址设置为LocalDesignEACNIP;设置该IP地址的冲突检测标志isAlreadySingleCheched=true;其作用是尝试配置该邻居交换机的网络地址为符合设计预期的网络地址LocalDesignEACNIP。
S6、判断是否可以通过oldManageIP访问交换机,如可以则跳至步骤S12,否则进入步骤S7;其作用是判断原有的网络地址在全网中其他交换机中是否存在,如果存在的话,就有可能导致第5步操作不确定;当目标邻居交换机的实际网络地址在网络中其它交换机中同时存在时,需要将拥有该网络地址的所有的交换机设置为不冲突的临时网络地址。
S7、判断oldManageIP是否为临时IP地址,如是则进入步骤S8,否则跳至步骤S9;其作用是为是否需要回收该网络地址提供依据。
S8、回收临时IP地址,并设置被占用的临时IP地址的被占用标志为true;其作用是为避免无限制使用无冲突的临时网络地址,确保在整个配置过程中只需要有限的无冲突的临时网络地址;
S9、判断该邻居交换机是否与总控主机相邻,如是则跳至步骤S20,否则进入步骤S10;具体判断方法为:即判断设备类型标志DeviceKindFlag是否为1。
S10、设置等待时间>LLDP生存时间,并跳至步骤S21;等待时间>LLDP生存时间;转入第21步;如果是通过网络地址访问交换机的方式来获取邻居交换机的当前配置信息的话,就需要等待这个时间,以便确保获取的邻居交换机当前实际配置信息是真实的。
S11、将IP地址为LocalDesignEACNIP的所有交换机设置为不冲突的临时管理IP地址,且设置被占用地临时IP地址的被占用标志为true,并返回步骤S5;其作用是不允许全网中其他交换机拥有该邻居交换机的设计预期网络地址LocalDesignEACNIP。当目标邻居交换机符合设计预期的网络地址被其他交换机占用时,需要将占用该网络地址的所有的交换机的网络地址设置为不冲突的临时网络地址。
S12、将所有IP地址为oldManageIP的交换机设置为不冲突的临时IP地址,且设置被占用的临时IP地址的被占用标志为true,并返回步骤S9;其作用是确保能够通过邻居交换机的当前实际配置网络地址精准访问管理控制该邻居交换机。
S13、判断是否交换机IP地址冲突检测标志isAlreadySingleCheched是否为true,如是则跳至步骤S19,否则进入步骤S14;其作用是最大限度地避免重复检测全网中是否只有该邻居交换机拥有网络地址LocalDesignEACNIP;
S14、将IP地址为LocalDesignEACNIP的交换机设置为特定检测网络地址SpecialTempIP;其作用是如果该邻居交换机的网络地址不是LocalDesignEACNIP,那么第15步就可以判定出是否全网中还存在网络地址为LocalDesignEACNIP的交换机。
S15、判断是否可以通过LocalDesignEACNIP访问交换机,如可以则跳至步骤S18,否则进入步骤S16;
S16、通过SpecialTempIP修改该交换机的IP地址为LocalDesignEACNIP;其作用是在全网中确定没有其他交换机拥有该网络地址LocalDesignEACNIP时,将该邻居交换机的网络地址还原为符合设计预期的网络地址LocalDesignEACNIP。
S17、设置isAlreadySingleChecked=true,并返回步骤S9;其作用是表明已经经过检测,确定除了该邻居交换机之外,其他的交换机均没有拥有该网络地址LocalDesignEACNIP。
S18、将IP地址为LocalDesignEACNIP的所有交换机设置为不冲突的临时管理IP地址;将地址为SpecialTempIP的交换机设置为不冲突的临时管理IP地址,并进入步骤S17;其作用是除了该邻居交换机,不允许全网中其他任何交换机拥有该网络地址LocalDesignEACNIP,同时回收特殊网络地址SpecialTempIP;
S19、设置isEACNSuccessSetFlag=true,配置结束;其作用标示被配置过程结束,已经能够100%确定该邻居交换机的网络地址符合设计预期,并且全网唯一。
S20、通过抓取LLDP报文获取邻居交换机当前实际配置信息oldManageIP_i和oldManageMac_i,并返回步骤S2;其作用是获取当前邻居交换机的实际配置信息,为下一轮配置过程提供实际数据;
S21、通过LocalDesignManageIP获取该交换机的邻居列表信息NeighborList,并返回步骤S2;优选的,该邻居列表信息NeighborList包括邻居的当前管理IP 地址oldManageIP_i和邻居的当前管理mac地址oldManageMac_i;本步骤的作用是获取当前邻居交换机的实际配置信息,为下一轮配置过程提供实际数据。
二、关于本发明的方法中涉及的数据:
本发明提及的数据包括但不限于以下数据结构:
(1)邻居交换机设计数据
包括但不限于该邻居交换机设计预期网络地址:假设为LocalDesignEACNIP;其作用是将邻居交换机的网络地址设置为LocalDesignEACNIP。该网络地址在设计数据中全网唯一。
(2)邻居交换机配置状态数据
包括但不限于:冲突检测标志、是否成功设置标志;
冲突检测标志:假设为isAlreadySingleChecked;因为设计预期中该LocalDesignEACNIP网络地址是分配给当前邻居交换机的,而其他的交换机不能拥有该网络地址。该标志的作用是为避免本次配置过程中重复检测“在全网中其他交换机的网络地址均不是LocalDesignEACNIP”。
是否成功设置标志:假设为isEACNSuccessSetFlag;其作用是标志本配置过程100%成功并且结束。可以用来输出给其他模块使用。
(3)邻居交换机当前实际配置信息
包括但不限于:管理mac地址、管理IP地址;
管理mac地址:假设为oldManageMac;其作用是标示该邻居交换机的唯一性特征的数据。
管理IP地址:假设为oldManageIP,其作用是标示该邻居交换机的当前管理网络地址,可以通过该网络地址访问管理控制该交换机,但不一定符合设计预期,也不一定可以通过该网络地址即可精准访问管理控制该邻居交换机(因为全网中其他交换机可能拥有与oldManageIP相同的网络地址),本发明的目的就是将该网络地址修改为符合设计预期的网络地址LocalDesignEACNIP,并且确保全网中其他交换机均不拥有该网络地址LocalDesignEACNIP,确保通过LocalDesignEACNIP即可精准访问管理控制该邻居交换机。
(4)临时网络地址列表
临时网络地址列表:该表中包括了临时可用的不冲突的网络地址;其作用是在配置邻居交换机过程中,确保通过使用没有被占用的该临时网络地址达到能够精准访问管理控制交换机的目的。包括但不限于字段:是否被占用标志、临时网络地址;
是否被占用标志:其作用是标示该临时网络地址已经被占用,不能再次使用;
临时网路地址:其作用是在整个临时网络地址表中,所有的临时网络地址都是唯一的,并且这里所有的网络地址均与设计预期的网络地址不同,也不同于特殊过渡用临时网络地址;即该表中的网络地址都具有全网唯一性特点;
(5)特殊过渡用临时网络地址:假设为SpecialTempIP,其作用是在检测符合设计预期的网络地址是否被除了当前邻居交换机使用之外的交换机中存在时所用到的过渡临时网络地址,该网络地址与其他所有的网络地址不相同不冲突,即具有网络地址的唯一性特点;
(6)本交换机的网络地址:假设为LocalDesignManageIP,其作用是通过该网络地址LocalDesignManageIP获取邻居交换机的当前实际配置信息;属于外部输入的网络地址;如果不是本设备不是交换机,而是主机,那么就不需要该数据。
(7)设备类型标识:假设为DeviceKindFlag;其作用是标志该邻居交换机是属于设备的邻居交换机还是属于交换机的邻居交换机,换句话说标志应该通过何种方式来获取邻居交换机当前实际配置信息。为描述方便,在此假设DeviceKindFlag为1,表示通过抓取该邻居交换机的LLDP数据报文的方式来获取该邻居交换机当前的实际配置信息,否则,表示通过LocalDesignManageIP地址从交换机中获取该邻居交换机的当前实际配置信息。
三、关于本发明能够实现的技术特点:
(1)不允许除了该邻居交换机之外全网其他任何交换机拥有本应该属于该邻居交换机的网络地址;
(2)获取邻居交换机的当前实际配置信息,通过这种方式能够规避重复网络地址无法精准访问管理控制交换机的问题。
(3)在全网中一旦发现有重复网络地址,立即将拥有重复网络地址的所有交换机的网络地址使用临时不冲突的网络地址替换掉,以便能够精准访问该邻居交换机;
(4)所使用的数据结构
(5)临时不冲突的网络地址的回收,通过该方式确保在配置过程中使用的临时网络地址数量有限;
(6)巧妙的检测除了本邻居交换机之外是否全网中其他交换机拥有本该属于该邻居交换机的网络地址;
(7)邻居交换机的网络地址发生变化之后,需要再次通过邻居信息获取该邻居交换机当前的实际配置,然后再按照本发明提及的方法及数据进行配置,直到第19步为止。
四、关于其他替代方案:
(1)将检测邻居交换机当前实际配置网路地址的唯一性检测提前到检测设计预期网络地址步骤与尝试设置LocalDesignEACNIP前。
(2)与替代方案(1)相比较,将检测“LocalDesignEACNIP”是否在网络中有冲突提前到检测“邻居交换机当前实际网络地址”是否在其他交换机中存在步骤之前。
(3)在所有的技术方案步骤“通过LocalDesignEACNIP能否访问交换机?”之前,均可以增加一个步骤以下步骤:
判断“isAlreadySingleChecked==true?”如果条件成立,则无需转入“通过LocalDesignEACNIP能否访问交换机?”而转入“通过LocalDesignEACNIP能否访问交换机?”为否时的所转入的步骤,否则转入“通过LocalDesignEACNIP能否访问交换机?”
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。