网络配置方法、设备及系统与流程

文档序号:19182789发布日期:2019-11-20 01:11阅读:405来源:国知局
网络配置方法、设备及系统与流程

本申请涉及通信技术领域,尤其涉及一种网络配置方法、设备及系统。



背景技术:

在数据中心网络(datacenternetwork,dcn)中,spine-leaf网络架构是dcn的主流架构,spine-leaf网络架构又称为分布式核心架构。在spine-leaf网络架构中,通常包括spine类设备和leaf类设备,其中,spine类设备作为spine-leaf网络架构中的骨干设备,主要负责连接所有leaf类设备,且每一个spine设备均与所有的leaf设备连接;leaf类设备作为spine-leaf网络架构中的接入设备,主要负责下接服务器等设备。

对于spine-leaf网络架构中的spine类设备或者leaf类设备而言,其对应的连接关系和功能均是基于设备角色类型(spine类或leaf类)确定的,具有相同设备角色类型的网络设备的配置参数具有高度的相似性。在spine-leaf网络架构中,通过部署大量的网络设备为客户端提供强大的网络传输资源。在通过部署大量的网络设备为客户端提供网络传输资源之前,需要先对每一个网络设备进行配置,现有技术中,是通过管理员手动为大量的网设备生成并下发每一个设备对应的配置数据,由于相同角色类型的设备对应的配置数据类似,因此,管理员手动生成每一个设备的配置数据时,不仅配置的效率不高,而且在配置时容易出错,从而造成配置的准确度不高。



技术实现要素:

本申请提供一种网络配置方法、设备及系统,实现自动化配置网络设备,以提高网络设备的配置效率及配置的准确度。

第一方面,本申请实施例提供一种网络配置方法,该方法可以包括:

主网络设备根据待配置网络设备的类型获得配置模板文件,其中,配置模板文件对应具有相同类型的一类网络设备,配置模板文件包括至少一条配置命令,至少一条配置命令用于指示待配置网络设备的配置参数与其它网络设备的配置参数之间的关系;并根据待配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据;再将实例化配置数据发送给待配置网络设备,以使待配置网络设备根据实例化配置数据进行配置。其中,实例化配置数据用于指示待配置网络设备根据实例化配置数据进行配置。

由此可见,本申请实施例提供的网络配置方法,由于配置模板文件中的配置命令指示了待配置网络设备的配置参数与其它网络设备的配置参数之间的关系,使得主网络设备可以直接根据配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据,并将实例化配置数据发送给待配置网络设备,以使待配置网络设备根据该实例化配置数据进行匹配,而无需通过管理员手动生成每一个设备的配置数据,实现了配置的自动化,不仅提高了网络设备的配置效率,而且提高了配置的准确度。

在一种可能的实现方式中,至少一条配置命令包括第一配置命令,主网络设备根据待配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据,包括:主网络设备根据第一配置命令获得第一网络设备的参数,第一配置命令用于指示待配置网络设备的配置参数与第一网络设备的参数之间的关系;当主网络设备获得到第一网络设备的参数时,主网络设备根据待配置网络设备的配置参数、第一配置命令及第一网络设备的参数生成待配置网络设备的实例化配置数据。

由此可见,当主网络设备能够获得到第一网络设备的参数时,可以直接根据待配置网络设备的配置参数、第一配置命令及第一网络设备的参数生成待配置网络设备的实例化配置数据,有助于进一步提升自动化配置的效率。

在一种可能的实现方式中,该方法还可以包括:

当主网络设备获得不到第一网络设备的参数时,主网络设备向待配置网络设备发送待配置网络设备的配置参数和第一配置命令,以使待配置网络设备根据待配置网络设备的配置参数和第一配置命令生成实例化配置数据,并根据实例化配置数据进行配置。

由此可见,当主网络设备获得不到第一网络设备的参数,无法生成待配置网络设备的实例化配置数据时,可以将待配置网络设备的配置参数和第一配置命令发送给待配置网络,以使待配置网络设备根据待配置网络设备的配置参数和第一配置命令生成实例化配置数据,避免了无法配置情况的发生,有助于进一步提升自动化配置的可靠性。此外,无需主网络设备获得第一网络设备的参数,并生成实例化配置数据,也降低了主网络设备的复杂度。

在一种可能的实现方式中,当实例化配置数据包括资源数据时,该方法还可以包括:

主网络设备接收待配置网络设备发送的资源数据,资源数据为待配置网络生成实例化配置数据过程中产生的资源数据。

其中,资源数据为全局资源数据,例如地址信息,主网络设备通过接收该资源数据,使得主网络设备可以获知为待配置网络设备分配的资源数据,从而避免再将该资源数据分配给其它网络设备,进而保证了资源数据的唯一性。

在一种可能的实现方式中,主网络设备将实例化配置数据发送给待配置网络设备之后,还可以包括:

主网络设备接收确认响应消息,确认响应消息用于指示实例化配置数据正确。

由此可见,通过注入网络设备或者管理员对实例化配置数据进行确认,这样可以避免因实例化配置数据内容错误,而导致加载时出现问题,此外,管理员也可以重新对网络部署进行再次审视,从而确保待配置网络设备接收到的实例化配置数据为正确的实例化配置数据,进而提高了待配置网络设备配置的正确性和准确性。

在一种可能的实现方式中,主网络设备根据待配置网络设备的类型获得配置模板文件之前,还可以包括:

主网络设备将主网络设备的属性信息与主网络设备所属的类型中的其它网络设备的属性信息进行比较;并确定主网络设备的属性信息满足第一预设条件,即只有在确定其为主网络设备之后,可以根据待配置网络设备的类型获得配置模板文件。

在一种可能的实现方式,主网络设备根据待配置网络设备的类型获得配置模板文件,可以包括:

主网络设备接收来自第二网络设备发送的至少一个配置模板文件,第二网络设备为网络中任一个网络设备;并根据待配置网络设备的类型在至少一个配置模板文件中确定配置模板文件。对于管理员而言,无需通过每一个网络设备的属性确定主网络设备,而是随机将至少一个配置模板文件发送给第二网络设备,再由第二网络设备将至少一个配置模板文件发送给主网络设备,从而降低了管理员操作的复杂度。

在一种可能的实现方式中,主网络设备根据待配置网络设备的类型获得配置模板文件之后,还可以包括:

主网络设备根据第二预设条件确定备份网络设备,备份网络设备的类型与主网络设备的类型不同;并向备份网络设备发送第一备份指示消息,第一备份指示消息包括配置模板文件,第一备份指示消息用于指示备份网络设备备份配置模板文件,以通过备份网络设备实现对配置模板文件进行备份,从而提高了配置模板文件的安全性和可靠性。

在一种可能的实现方式中,主网络设备将实例化配置数据发送给待配置网络设备之后,还可以包括:

主网络设备向备份网络设备发送第二备份指示消息,第二备份指示消息包括生成实例化配置数据的过程中产生的动态数据,第二备份指示消息用于指示备份网络设备备份动态数据,以通过备份网络设备实现对动态数据进行备份,从而提高了动态数据的安全性和可靠性。

在一种可能的实现方式中,该方法还可以包括:

当确定网络中有第三网络设备加入时,主网络设备判断第三网络设备的类型;当第三网络设备的类型与主网络设备的类型相同时,主网络设备将第三网络设备的属性信息与主网络设备的属性信息进行比较;当主网络设备的属性信息满足第一预设条件时,主网络设备根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据,使得在有新的第三网络设备加入时,若确定不发生主网络设备切换时,该主网络设备依然需要根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据,以使待第三网络设备根据该实例化配置数据进行匹配,而无需通过管理员手动生成每一个设备的配置数据,不仅提高了网络设备的配置效率,而且提高了配置的准确度。

在一种可能的实现方式中,该方法还可以还包括:

当第三网络设备的属性信息满足第一预设条件时,主网络设备确定第三网络设备为新的主网络设备,并清除实例化配置数据,从而降低了主网络设备的复杂度。

在一种可能的实现方式中,该方法还可以还包括:

当第三网络设备的类型与主网络设备的类型不同时,主网络设备将第三网络设备的属性信息和备份网络设备的属性信息进行比较;当第三网络设备的属性信息满足第二预设条件时,主网络设备确定第三网络设备为新的备份网络设备;主网络设备向新的备份网络设备发送配置模板文件,使得在有新的第三网络设备加入时,若确定执行备份网络设备切换时,主网络设备向新的备份网络设备发送配置模板文件,以通过该新的备份网络设备备份该配置模板文件,从而提高了配置模板文件的可靠性和安全性。

在一种可能的实现方式中,该方法还可以包括:

当第三网络设备的属性信息不满足第二预设条件时,主网络设备根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据;并将实例化配置数据发送给第三网络设备。

在一种可能的实现方式中,配置模板文件是离线编辑生成的。

在一种可能的实现方式中,第三备份网络设备为不进行实例化配置数据配置的网络设备。

第二方面,本申请实施例还提供一种网络配置方法,该网络配置方法可以包括:

待配置网络设备接收主网络设备发送的实例化配置数据,实例化配置数据是主网络设备根据待配置网络设备的配置参数和配置模板文件包括的至少一条配置命令生成的,配置模板文件是主网络设备根据待配置网络设备的类型获得的,配置模板文件对应具有相同类型的一类网络设备,配置命令用于指示待配置网络设备的配置参数与其它网络设备的配置参数之间的关系;并根据实例化配置数据对待配置网络设备进行配置。

由此可见,本申请实施例提供的网络配置方法,由于配置模板文件中的配置命令指示了待配置网络设备的配置参数与其它网络设备的配置参数之间的关系,使得主网络设备可以直接根据配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据,并将实例化配置数据发送给待配置网络设备,以使待配置网络设备根据该实例化配置数据进行匹配,而无需通过管理员手动生成每一个设备的配置数据,不仅提高了网络设备的配置效率,而且提高了配置的准确度。

在一种可能的实现方式中,至少一条配置命令包括第一配置命令,第一配置命令用于指示待配置网络设备的配置参数与第一网络设备的参数之间的关系,当主网络设备获得不到第一网络设备的参数时,方法还可以包括:

待配置网络设备接收主网络设备发送的待配置网络设备的配置参数和第一配置命令;并根据第一配置命令获得第一网络设备的参数;再根据待配置网络设备的配置参数、第一配置命令及第一网络设备的参数生成实例化配置数据。

由此可见,当主网络设备获得不到第一网络设备的参数时,可以直接待配置网络设备的配置参数和第一配置命令发送给待配置网络,以使待配置网络设备待配置网络设备接收主网络设备发送的待配置网络设备的配置参数和第一配置命令,并根据待配置网络设备的配置参数和第一配置命令生成实例化配置数据,同样无需通过管理员手动生成每一个设备的配置数据,不仅提高了网络设备的配置效率,而且提高了配置的准确度。此外,无需主网络设备获得第一网络设备的参数,并生成实例化配置数据,也降低了主网络设备的复杂度。

在一种可能的实现方式中,当实例化配置数据包括资源数据时,待配置网络设备根据待配置网络设备的配置参数和第一配置命令生成实例化配置之后,还可以包括:

待配置网络设备向主网络设备发送资源数据,资源数据为待配置网络生成实例化配置数据过程中产生的资源数据。

其中,资源数据为全局资源数据,例如地址信息,待配置网络设备向主网络设备发送资源数据,使得主网络设备可以获知为待配置网络设备分配的资源数据,从而避免再将该资源数据分配给其它网络设备,进而保证了资源数据的唯一性。

在一种可能的实现方式中,配置模板文件是离线编辑生成的。

第三方面,本申请实施例还提供一种网络设备,该网络设备可以包括:

处理单元,用于根据待配置网络设备的类型获得配置模板文件,其中,配置模板文件对应具有相同类型的一类网络设备,配置模板文件包括至少一条配置命令,至少一条配置命令用于指示待配置网络设备的配置参数与其它网络设备的配置参数之间的关系;

处理单元,还用于根据待配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据;

发送单元,用于将实例化配置数据发送给待配置网络设备,实例化配置数据用于指示待配置网络设备根据实例化配置数据进行配置。

在一种可能的实现方式中,至少一条配置命令包括第一配置命令,处理单元,具体用于根据第一配置命令获得第一网络设备的参数,第一配置命令用于指示待配置网络设备的配置参数与第一网络设备的参数之间的关系;当获得到第一网络设备的参数时,根据待配置网络设备的配置参数、第一配置命令及第一网络设备的参数生成待配置网络设备的实例化配置数据。

在一种可能的实现方式中,处理单元,还具体用于当获得不到第一网络设备的参数时,向待配置网络设备发送待配置网络设备的配置参数和第一配置命令,以使待配置网络设备根据待配置网络设备的配置参数和第一配置命令生成实例化配置数据,并根据实例化配置数据进行配置。

在一种可能的实现方式中,该网络设备还可以包括:

接收单元,用于接收确认响应消息,确认响应消息用于指示实例化配置数据正确。

在一种可能的实现方式中,处理单元,还用于将主网络设备的属性信息与主网络设备所属的类型中的其它网络设备的属性信息进行比较;并确定主网络设备的属性信息满足第一预设条件。

在一种可能的实现方式中,处理单元,具体用于接收来自第二网络设备发送的至少一个配置模板文件,第二网络设备为网络中任一个网络设备;并根据待配置网络设备的类型在至少一个配置模板文件确定配置模板文件。

在一种可能的实现方式中,处理单元,还用于根据第二预设条件确定备份网络设备,备份网络设备的类型与主网络设备的类型不同;

发送单元,还用于向备份网络设备发送第一备份指示消息,第一备份指示消息包括配置模板文件,第一备份指示消息用于指示备份网络设备备份配置模板文件。

在一种可能的实现方式中,处理单元,还用于当确定网络中有第三网络设备加入时,判断第三网络设备的类型;当第三网络设备的类型与主网络设备的类型相同时,将第三网络设备的属性信息与主网络设备的属性信息进行比较;

当主网络设备的属性信息满足第一预设条件时,处理单元还用于根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据。

在一种可能的实现方式中,处理单元,还用于当第三网络设备的属性信息满足第一预设条件时,确定第三网络设备为新的主网络设备,并清除实例化配置数据。

在一种可能的实现方式中,处理单元,还用于当第三网络设备的类型与主网络设备的类型不同时,将第三网络设备的属性信息和备份网络设备的属性信息进行比较;当第三网络设备的属性信息满足第二预设条件时,确定第三网络设备为新的备份网络设备;

发送单元,还用于向新的备份网络设备发送配置模板文件。

在一种可能的实现方式中,处理单元,还用于当第三网络设备的属性信息不满足第二预设条件时,主网络设备根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据;

发送单元,还用于将实例化配置数据发送给第三网络设备。

第四方面,本申请实施例还提供一种待配置网络设备,该待配置网络设备可以包括:

接收单元,用于接收主网络设备发送的实例化配置数据,实例化配置数据是主网络设备根据待配置网络设备的配置参数和配置模板文件包括的至少一条配置命令生成的,配置模板文件是主网络设备根据待配置网络设备的类型获得的,配置模板文件对应具有相同类型的一类网络设备,配置命令用于指示待配置网络设备的配置参数与其它网络设备的配置参数之间的关系;

处理单元,用于根据实例化配置数据对待配置网络设备进行配置。

在一种可能的实现方式中,至少一条配置命令包括第一配置命令,第一配置命令用于指示待配置网络设备的配置参数与第一网络设备的参数之间的关系,当主网络设备获得不到第一网络设备的参数时,接收单元,还用于接收主网络设备发送的待配置网络设备的配置参数和第一配置命令;

处理单元,用于根据第一配置命令获得第一网络设备的参数;并根据待配置网络设备的配置参数、第一配置命令及第一网络设备的参数生成实例化配置数据。

在一种可能的实现方式中,当实例化配置数据包括资源数据时,待配置网络设备还可以包括:

发送单元,用于向主网络设备发送资源数据,资源数据为待配置网络生成实例化配置数据过程中产生的资源数据。

第五方面,本申请实施例还提供一种网络设备,该网络设备可以包括:

处理器,用于根据待配置网络设备的类型获得配置模板文件,其中,配置模板文件对应具有相同类型的一类网络设备,配置模板文件包括至少一条配置命令,至少一条配置命令用于指示待配置网络设备的配置参数与其它网络设备的配置参数之间的关系;

处理器,用于根据待配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据;

收发器,用于将实例化配置数据发送给待配置网络设备,实例化配置数据用于指示待配置网络设备根据实例化配置数据进行配置。

在一种可能的实现方式中,至少一条配置命令包括第一配置命令,

处理器,具体用于根据第一配置命令获得第一网络设备的参数,第一配置命令用于指示待配置网络设备的配置参数与第一网络设备的参数之间的关系;当主网络设备获得到第一网络设备的参数时,根据待配置网络设备的配置参数、第一配置命令及第一网络设备的参数生成待配置网络设备的实例化配置数据。

在一种可能的实现方式中,处理器还具体用于当获得不到第一网络设备的参数时,向待配置网络设备发送待配置网络设备的配置参数和第一配置命令,以使待配置网络设备根据待配置网络设备的配置参数和第一配置命令生成实例化配置数据,并根据实例化配置数据进行配置。

在一种可能的实现方式中,收发器,还用于接收确认响应消息,确认响应消息用于指示实例化配置数据正确。

在一种可能的实现方式中,处理器,还用于将主网络设备的属性信息与主网络设备所属的类型中的其它网络设备的属性信息进行比较;并确定主网络设备的属性信息满足第一预设条件。

在一种可能的实现方式中,收发器,具体用于接收来自第二网络设备发送的至少一个配置模板文件,第二网络设备为网络中任一个网络设备;处理器,用于根据待配置网络设备的类型在至少一个配置模板文件确定配置模板文件。

在一种可能的实现方式中,处理器还用于根据第二预设条件确定备份网络设备,备份网络设备的类型与主网络设备的类型不同;

收发器还用于向备份网络设备发送第一备份指示消息,第一备份指示消息包括配置模板文件,第一备份指示消息用于指示备份网络设备备份配置模板文件。

在一种可能的实现方式中,处理器还用于当确定网络中有第三网络设备加入时,判断第三网络设备的类型;当第三网络设备的类型与主网络设备的类型相同时,将第三网络设备的属性信息与主网络设备的属性信息进行比较;当主网络设备的属性信息满足第一预设条件时,根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据。

在一种可能的实现方式中,处理器还用于当第三网络设备的属性信息满足第一预设条件时,确定第三网络设备为新的主网络设备,并清除实例化配置数据。

在一种可能的实现方式中,处理器还用于当第三网络设备的类型与主网络设备的类型不同时,将第三网络设备的属性信息和备份网络设备的属性信息进行比较;当第三网络设备的属性信息满足第二预设条件时,确定第三网络设备为新的备份网络设备;

收发器,用于向新的备份网络设备发送配置模板文件。

在一种可能的实现方式中,处理器还用于当第三网络设备的属性信息不满足第二预设条件时,根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据;

收发器,用于将实例化配置数据发送给第三网络设备。

第六方面、本申请实施例还提供一种待配置网络设备,该待配置网络设备可以包括:

收发器,用于接收主网络设备发送的实例化配置数据,实例化配置数据是主网络设备根据待配置网络设备的配置参数和配置模板文件包括的至少一条配置命令生成的,配置模板文件是主网络设备根据待配置网络设备的类型获得的,配置模板文件对应具有相同类型的一类网络设备,配置命令用于指示待配置网络设备的配置参数与其它网络设备的配置参数之间的关系;

处理器,用于根据实例化配置数据对待配置网络设备进行配置。

在一种可能的实现方式中,至少一条配置命令包括第一配置命令,第一配置命令用于指示待配置网络设备的配置参数与第一网络设备的参数之间的关系,当主网络设备获得不到第一网络设备的参数时,收发器,还用于接收主网络设备发送的待配置网络设备的配置参数和第一配置命令;

处理器,用于根据第一配置命令获得第一网络设备的参数;并根据待配置网络设备的配置参数、第一配置命令及第一网络设备的参数生成实例化配置数据。

在一种可能的实现方式中,当实例化配置数据包括资源数据时,收发器,还用于向主网络设备发送资源数据,资源数据为待配置网络生成实例化配置数据过程中产生的资源数据。

第七方面,本申请实施例还提供一种网络设备,网络设备包括:处理器、收发器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、随机存取存储器以及只读存储器。其中,当需要运行网络设备时,通过固化在只读存储器中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导网络设备进入正常运行状态。在网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。

第八方面,本申请实施例还提供一种待配置网络设备,待配置网络设备包括:处理器、收发器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、随机存取存储器以及只读存储器。其中,当需要运行待配置网络设备时,通过固化在只读存储器中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导待配置网络设备进入正常运行状态。在待配置网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第二方面或第二方面的任意可能的实现方式中的方法。

第九方面,本申请实施例还提供一种网络设备,网络设备包括:主控板和接口板,进一步,还可以包括交换网板。网络设备用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,网络设备包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。

第十方面,本申请实施例还提供一种待配置网络设备,待配置网络设备包括:主控板和接口板,进一步,还可以包括交换网板。网络设备用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,待配置网络设备包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的模块。

第十一方面,本申请实施例还提供一种网络配置系统,该网络配置系统包括如第三方面或第三方面的任意可能的实现方式中的网络设备和如第四方面或第四方面的任意可能的实现方式中的待配置网络设备;

或者,该网络配置系统包括如第五方面或第五方面的任意可能的实现方式中的网络设备和如第六方面或第六方面的任意可能的实现方式中的待配置网络设备;

或者,该网络配置系统包括如第七方面或第七方面的任意可能的实现方式中的网络设备和如第八方面或第八方面的任意可能的实现方式中的待配置网络设备;

或者,该网络配置系统包括如第九方面或第九方面的任意可能的实现方式中的网络设备和如第十方面或第十方面的任意可能的实现方式中的待配置网络设备。

第十二方面,本申请实施例还提供一种计算机存储介质,包括指令,当指令在网络设备上运行时,使得网络设备执行如第一方面或第一方面的任意可能的实现方式中的网络配置方法;

或者,当指令在待配置网络设备上运行时,使得待配置网络设备执行如第二方面或第二方面的任意可能的实现方式中的网络配置方法。

第十三方面,本申请实施例还提供一种芯片,芯片上存储有计算机程序,在计算机程序被处理器执行时,执行如第一方面或第一方面的任意可能的实现方式中的网络配置方法;或者,执行如第二方面或第二方面的任意可能的实现方式中的网络配置方法。

本申请实施例提供的网络配置方法、设备及系统,使得在对网络设备进行配置之前,主网络设备先根据待配置网络设备的类型获得配置模板文件;配置模板文件对应具有相同类型的一类网络设备,配置模板文件包括至少一条配置命令,至少一条配置命令用于指示待配置网络设备的配置参数与其它网络设备的配置参数之间的关系;由于配置模板文件中的配置命令指示了待配置网络设备的配置参数与其它网络设备的配置参数之间的关系,使得主网络设备可以直接根据配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据,并将实例化配置数据发送给待配置网络设备,以使待配置网络设备根据该实例化配置数据进行匹配,而无需通过管理员手动生成每一个设备的配置数据,实现了自动化配置网络设备,不仅提高了网络设备的配置效率,而且提高了配置的准确度。

附图说明

图1为本申请实施例提供的一种应用场景示意图;

图2为本申请实施例提供的一种网络配置方法的流程示意图;

图3为本申请实施例提供的一种配置模板文件的关键需求及实现机制示例图;

图4为本申请实施例提供的一种确定配置命令的示意图;

图5为本申请实施例提供的另一种确定配置命令的示意图;

图6为本申请实施例提供的另一种网络配置方法的流程示意图;

图7为本申请实施例提供的再一种网络配置方法的流程示意图;

图8为本发明实施例提供的一种网络配置方法的示意图;

图9为本申请实施例提供的另一种网络配置方法的流程示意图;

图10为本申请实施例提供的一种网络设备的结构示意图;

图11为本申请实施例提供的一种待配置网络设备的结构示意图;

图12为本申请实施例提供的另一种网络设备的结构示意图;

图13为本申请实施例提供的另一种待配置网络设备的结构示意图;

图14为本申请实施例提供的再一种网络设备的结构示意图;

图15为本申请实施例提供的再一种待配置网络设备的结构示意图;

图16为本申请实施例提供的又一种网络设备的结构示意图;

图17为本申请实施例提供的又一种待配置网络设备的结构示意图;

图18为本申请实施例提供的一种网络配置系统的结构示意图。

具体实施方式

本发明实施例描述的网络架构以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。

图1为本申请实施例提供的一种应用场景示意图。本申请提供的网络配置方法可以应用于spine-leaf网络架构中,该spine-leaf网络架构中的每一个网络设备都为anima域中的设备。以两层spine-leaf网络架构为例,该两层spine-leaf网络架构包括两种角色类型的网络设备,这两种角色类型分别为spine类和leaf类。当然,也可以为三层spine-leaf网络架构,该三层spine-leaf网络架构包括三种角色类型的网络设备,这三种角色类型分别为:spine类和borderleaf类和serverleaf类。对于两层spine-leaf网络架构而言,其可以包括至少一个spine设备和至少一个leaf设备,请参见图1所示,以spine-leaf网络架构包括三个spine设备和四个leaf设备为例,该三个spine设备分别为spine设备1、spine设备2及spine设备3;四个leaf设备分别为leaf设备1、leaf设备2、leaf设备3及leaf设备4;其中,每一个spine设备均与四个leaf设备中的每一个leaf设备连接,三个spine设备中有一个spine设备作为主网络设备(例如spine设备2),四个leaf设备中有一个leaf设备作为备份网络设备(例如leaf设备3),主网络设备主要用于为spine-leaf网络架构中所有网络设备进行实例化配置,由于具有相同类型的网络设备对应同一个配置模板文件,因此,主网络设备需要先根据待配置网络设备的类型获得对应的配置模板文件。需要说明的是,在本申请实施例中,在确定所需配置模板文件的个数时,是根据spine-leaf网络架构中网络设备类型的个数和待配置网络设备为哪些确定的(如部分网络设备或全部网络设备)。

其中,网络设备可以为执行路由转发功能的设备,例如路由器、交换器、转发设备等。

为了解决现有技术中存在管理员手动生成每一个设备的配置数据时,不仅配置的效率不高,而且在配置时容易出错,从而造成配置的准确度不高的问题,本申请实施例提供了一种自动化的网络配置方法,使得在对网络设备进行配置之前,主网络设备先根据待配置网络设备的类型获得配置模板文件;配置模板文件对应具有相同类型的一类网络设备,配置模板文件包括至少一条配置命令,至少一条配置命令用于指示待配置网络设备的配置参数与其它网络设备的配置参数之间的关系;由于配置模板文件中的配置命令指示了待配置网络设备的配置参数与其它网络设备的配置参数之间的关系,使得主网络设备可以直接根据配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据,并将实例化配置数据发送给待配置网络设备,以使待配置网络设备根据该实例化配置数据进行匹配,而无需通过管理员手动生成每一个设备的配置数据,实现了配置的自动化,不仅提高了网络设备的配置效率,而且提高了配置的准确度。

在通过实施例详细描述本申请的技术方案之前,先介绍几个基本概念。在spine-leaf网络架构中,通常会存在一个spinedr设备(属于spine类)和一个leafdr(属于leaf类)设备,其中,spinedr设备是根据第一预设条件在spine类网络设备中确定的,例如,spinedr为fabric中ipv6ula“最小”的spine设备,相当于fabric内的“虚拟网管”,在任意时刻,fabric内只存在一台spinedr设备,spinedr设备负责为spine-leaf网络架构中的部分spine类设备(包括自身)和/或leaf类设备根据配置模板文件生成实例化的配置数据。leafdr设备是根据第二预设条件确定的,例如,fabric中ipv6ula“最小”的leaf设备,它并不对配置模板进行实例化,其作为spinedr的备份设备,主要用于在spinedr设备进行配置过程中,备份该配置模板文件和动态运行数据的内容,从而保证配置模板文件和动态运行数据的内容的可靠性。此外,当fabric内的ipv6ula“最小”的设备出现变更时(现有spinedr设备/leafdr设备发生故障或新的spine设备/leaf设备加入fabric时),需要进行spinedr设备或leafdr设备的切换操作,该操作是由rpl路由收敛触发的。当完成切换时(rpl路由收敛完成时),需要进行配置模板内容和运行状态数据的备份处理。通常情况下,由于dcn内的所有spine设备和leaf设备都拥有相同前缀的rpl主机路由,因此,所有设备选举出的spinedr设备和leafdr设备是相同的。即,在不进行集中计算的情况下,就能保证选举结果的唯一性,只要网络设备还位于anima域内,ipv6ula地址就会保持不变,因此,spinedr设备和leafdr设备是不会轻易变更的,此外,spinedr设备与leafdr设备之间的数据需要保证实时同步。

其中,spine设备与leaf设备之间的互联接口为内连口(inlineinterface);spine设备与外部网络设备的连接接口及leaf设备与外部网络设备的连接接口为外连口(outreachinterface);跨设备链路聚合组(multichassislinkaggregationgroup,m-lag)的两台设备之间的一条直连聚合链路为peer-link链路(peer-linkinterface,对等链路的连接接口),用于交互协议报文和传输部分流量,从而保证m-lag的正常工作。其中,m-lag的主要作用是为接入fabric的设备提供接入可靠性,主要包括三个步骤:1、用户设备同时接入到两台leaf设备上,通过虚拟路由冗余协议(virtualrouterredundancyprotocol,vrrp)选择leaf设备和leafdr设备;2、这两台leaf设备之间连接一条线路(称为peer-link),用来对这两台leaf设备之间的运行数据(例如,动态学习到的arp表项)进行备份;3、当其中一台leaf设备或接入链路出现故障时,实现leaf设备和leafdr设备之间的切换,peer-link也可以用于转发下行流量。

下面将结合图1所示,以待配置网络设备为leaf设备1为例进行说明,并通过具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。需要说明的是,为了避免赘述,本申请实施例只是以待配置网络设备为leaf设备1的实例化配置过程为例进行说明,其它设备的实例化配置过程与leaf设备1的实例化配置过程类似,在此,本申请实施例不再进行赘述。此外,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程在某些实施例中不再赘述。

图2为本申请实施例提供的一种网络配置方法的流程示意图,请参见图2所示,该网络配置方法可以包括:

s201、主网络设备将主网络设备的属性信息与主网络设备所属的类型中的其它网络设备的属性信息行比较。

其中,主网络设备即为spinedr设备,主要用于对spine-leaf网络架构中的其它部分设备或全部网络设备进行实例化配置。spinedr设备属于spine类,在确定每一个网络设备的类型时,可以按照设备的角色进行划分,从而确定每一个网络设备的角色类型。

在spine-leaf网络架构中的每一个网络设备启动并加入anima域之后,spine设备和leaf设备之间的内连接口上会配置使能anima功能。可选的,如果在spine设备与spine设备之间部署peer-link,或在leaf设备与leaf设备之间部署peer-link,那么也会在peer-link接口上使能anima功能。此外,anima域中的所有spine设备或leaf设备都维护一个前缀列表相同的rpl主机路由表,通过该表可以获取fabric内中所有spine设备或leaf设备的上线/下线状态,每个spine设备或leaf设备可以使用ipv6ula地址作为fabric内的唯一标识。在对待配置网络设备进行配置之前,spine-leaf网络架构中的spine类设备中的每一个网络设备都要先判断自身是否为spinedr设备,由于anima域中的每一个网络设备都具有全通性,通常情况下,使用rpl(或其替代路由协议)来实现全连通,但rpl还可以发表其它来源的路由(例如:即插即用场景下的nmshost的网段路由),因此,不能简单使用rpl主机路由作为设备标识,而应该同时满足128主机路由和位于同一个anima域内(具有相同的/48前缀)、使用了acp区域寻址子方案,且v=0,这样,anima域中的每一个网络设备都可以访问anima域中其它网络设备,以获得到其它网络设备的类型及属性信息,从而根据每一个网络设备的属性信息确定自身是否为spinedr设备。示例的,属性信息可以为地址信息,从而确定每一个网络设备所属的类型及地址信息。

示例的,结合图1所示,以spine设备2为主网络设备为例,spine设备2在获得到网络中的每一个网络设备的类型及地址信息之后,可以确定spine设备1及spine设备3均为spine类设备,之后,再将其自身的属性信息分别与spine设备1的属性信息及spine设备3的属性信息进行比较,示例的,当属性信息为地址信息时,则spine设备2将自身的地址信息分别与spine设备1的地址信息及spine设备3的地址信息进行比较,以确定其是否作为主网络设备。

s202、主网络设备确定主网络设备的属性信息满足第一预设条件,并根据待配置网络设备的类型获得配置模板文件。

其中,第一预设条件可以理解为spine类设备中主网络设备的属性信息最大或者最小。示例的,当属性信息为地址信息时,由于anima中每一个网络设备的ipv6ula地址是唯一且固定的,因此,可以将spine类设备中地址信息最小作为第一预设条件。当然,也可以将spine类设备中地址信息最大作为第一预设条件。示例的,在本申请实施例中,第一预设条件为spine类设备中地址信息最小。

在确定主网络设备的属性信息是否满足第一预设条件时,主网络设备及spine类中的其它网络设备均需要将各自的ipv6ula地址信息与spine类中的其它spine设备的ipv6ula地址信息进行比较,若主网络设备的ipv6ula地址信息最小,则确定主网络设备为用于进行实例化配置的主网络设备,即spinedr设备。在确定为主网络设备之后,作为主网络设备,其主要用于为spine-leaf网络架构中的部分spine类设备(包括自身)和/或leaf类设备根据配置模板文件生成实例化配置数据,在生成实例化配置数据之前,需要先根据待配置网络设备的类型获得相应的配置模板文件,以根据该配置模板文件生成待配置网络设备的实例化配置数据。即只有在确定其为主网络设备之后,可以根据待配置网络设备的类型获得配置模板文件。

可选的,配置模板文件的数量可以为一个,也可以为多个,具体可以根据实际需要进行设置。例如,由于具有相同类型的网络设备对应的配置模板文件相同,当待配置网络设备均为spine类设备或者均为leaf类设备时,则对应的可以只获得spine类设备对应的配置模板文件或者leaf类设备对应的配置模板文件即可;当待配置网络设备中包括spine类设备和leaf类设备时,则可以两个配置模板文件,其中一个配置模板文件用于为spine类设备生成实例化配置数据,另一个配置模板文件用于为leaf类设备生成实例化配置数据。示例的,在本申请实施例中,以待配置网络设备为leaf设备为例,则对应的配置模板文件的个数为1个,值得注意的是,本申请实施例中的配置模板文件是指以xml文件格式表示的、基于设备角色类型的配置模板文件,该配置模板文件是离线编辑生成的,可以是手工或使用相关的ui工具进行编辑。在生成配置模板文件时,通过一次性离线编辑配置模板,可以为任意数量的spine设备和/或leaf设备在线自动生成基础网络架构的配置数据,从而使得生成的配置数据的一致性较高,进而提升dcn网络的部署效率。需要说明的是,本申请实施例中的配置模板支持对上述m-lag的配置进行处理。

进一步地,配置模板文件实际上是将fabric中的相同设备角色类型的命令行配置数据(主要针对基本网络架构)进行“参数化”,请参见图3所示,图3为本申请实施例提供的一种配置模板文件的关键需求及实现机制示例图,其需要满足1、配置文件的模板化/参数化,该需求可以通过宏定义,将命令行参数化实现;2、相同配置参数在dcn内需要统一分配,避免冲突,该需求可以通过配置参数资源池化,通过宏实现资源值的分配和引用;3、配置命令的参数需要体现最终的状态,与操作时序无关,该需求可以通过延迟实例化,解除时序依赖实现;4、需要支持基于规则来自动生成配置数据,并实现联动更新,该需求可以通过知名宏,预定义目标对象集实现,或者通过需求实例化,支持根据部署/安装状态选择命令集实现,或者通过循环实例化,支持基于类型而不是实例生成配置数据,或者通过延迟实例化,感知目标对象集的扩容,动态更新配置数据实现;5、需要支持基于peer关系,在相关设备上计算生成配对的配置命令,并实现联动更新,该需求可以通过peergroup(用来定义多台设备间的对等体关系(spine设备与spine设备、spine设备与leaf设备、leaf设备与leaf设备)定义peer关系实现。可选的,还需要满足在实例化配置之后,且在实际加载实例化配置数据之前,提交给管理员对实例化配置数据内容进行确认,避免生成的实例化配置数据出现错误,具体可以通过dry-run机制实现。

其中,宏用来实现命令行的模板化,宏的实例化就是用具体的值实现/展开宏定义。示例的,在本申请实施例中,该宏的类型可以包括以下至少六种:

1、知名宏(well-knownmacro):预定义的宏,在根据一些与设备安装和部署信息相关的配置数据时(例如:spine或leaf上的内连接口名的列表、加入到peer-link中的接口名列表等),可以使用这类宏。知名宏无需、也不能在配置模板中(重复)定义,可以直接使用作为命令行的参数。

2、简单宏(simplemacro):在实例化时,使用value简单替换掉macroname。

3、资源宏(resourcemacro):每次实例化,都需要从指定的资源池中分配新的值,且要保证新分配的值在指定范围内的唯一性。

4、协商宏(negotiationmacro):通过协商方式分配的资源宏。一种特殊的资源宏,特殊之处在于因资源的分配需要满足一些约束条件(例如,在两台设备直连的接口上配置的ip地址需要位于同一网段),相关资源不是由spinedr简单地从资源池中分配,而需要通过设备间的协商才能满足这些约束条件。由于在分配资源时,在设备间存在一个协商过程,因此,在定义协商宏时,需要指定协商操作的目标对象。

5、引用宏(referencemacro):宏引用的是同一设备配置文件中其它命令的指定参数。被引用的参数本身也必须是一个宏,为避免循环依赖,目前限定被引用参数只能是简单宏或资源宏。注意:对于引用宏,可能出现“先引用,后定义”的情况,在实现时需要支持这种情况。引用宏实际上是简单宏和资源宏的别名(alias)。使用引用宏的好处在于语义上更加清晰,也可以避免在多次引用资源宏时导致资源的多次分配。

6、集合宏(setmacro):用来在spinedr计算配置数据时,将新分配的资源值收集起来(可以来源于多个宏,但这些宏必须具有相同的数据类型),动态创建一个资源宏,以方便操作。例如,对于“使用ospf的network命令发布当前设备所有内连口的网段路由”这类配置命令,由于可能是多个设备共用同一个资源池,因此,不能通过遍历资源池的方式来获得为当前设备内连口分配的ip地址列表。使用集合宏就可以解决这个问题。集合宏使用<macroset="set_macro_name">标签的set属性定义。

对于每一个配置模板文件而言,其包括至少一条配置命令,配置命令用于指示待配置网络设备的配置参数与其它网络设备的配置参数之间的关系,该配置命令可以根据待配置网络设备的硬件安装或其它条件来选择不同的命令集,从而实现自动化配置。当然,配置模板文件也可以包括其它命令,如用于指示资源分配的命令。示例的,请参见图4所示,图4为本申请实施例提供的一种确定配置命令的示意图,该配置命令是根据设备上安装的单板类型确定不同的命令集。当然,还可以根据产品形态,来确定配置命令,参见图5所示,图5为本申请实施例提供的另一种确定配置命令的示意图。在本申请实施例中,正是由于预先获得到配置模板文件,该配置模板文件对应一种类型的网络设备,并且在根据该配置模板文件生成每一个待配置网络设备的实例化配置数据时,由于配置模板文件中的配置命令指示了待配置网络设备的配置参数与其它网络设备的配置参数之间的关系,使得主网络设备可以直接根据配置网络设备的配置参数和至少一条配置命令自动生成待配置网络设备的实例化配置数据,而无需通过管理员手动生成每一个设备的配置数据,不仅提高了网络设备的配置效率,而且提高了配置的准确度。

可选的,在本申请实施例中,主网络设备在根据待配置网络设备的类型获得配置模板文件时,可以接收来自第二网络设备发送的至少一个配置模板文件,第二网络设备为网络中任一个网络设备;并根据待配置网络设备的类型在至少一个配置模板文件中确定配置模板文件。

需要说明的是,第二网络设备可以作为注入网络设备,其可以为fabric中的任一个网络设备,当然,也可以为主网络设备。至少一个配置模板文件是离线编辑生成之后,管理员可以基于om接口,并通过通用的文件传输协议(如简单文件传送协议(trivialfiletransferprotocol,tftp)或文件传输协议(filetransferprotocol,ftp)等)将生成的至少一个配置模板文件发送给spine-leaf网络架构中的任选一个第二网络设备,该第二网络设备作为注入网络设备,将其接收到的至少一个配置模板文件通过文件传输协议(通用的文件传输协议如tftp/ftp等,或者是基于通用职责分配软件模式(generalresponsibilityassignmentsoftwarepattern,grasp)的文件传输机制)发送给主网络设备,以使主网络设备可以根据待配置网络设备的配置参数和配置模板文件中的至少一条配置命令生成待配置网络设备的实例化配置数据。对于管理员而言,无需通过每一个网络设备的属性确定主网络设备,而是随机将至少一个配置模板文件发送给第二网络设备,再由第二网络设备将至少一个配置模板文件发送给主网络设备,从而降低了管理员操作的复杂度。

同样结合图1所示,在确定spine设备2是否满足第一预设条件时,当spine设备2自身的ipv6ula地址信息大于spine设备1的地址信息和spine设备3的地址信息的地址信息中的一个,或者大于spine设备1的地址信息和spine设备3的地址信息的地址信息时,则确定自身不是主网络设备,当spine设备2接收到注入网络设备发送的配置模板文件之后,拒绝接收该配置模板文件;相反的,若spine设备2确定其自身的ipv6ula地址信息小于spine设备1的地址信息及spine设备3的地址信息,则确定其为主网络设备,并接收通过注入网络设备(示例的,注入网络设备可以为leaf设备)发送的配置模板文件并获得配置模板文件中的至少一条配置命令,并执行下述s203:

s203、主网络设备根据待配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据。

可选的,在本申请实施例中,至少一条配置命令包括第一配置命令,s203主网络设备根据待配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据,可以包括:

主网络设备根据第一配置命令获得第一网络设备的参数,第一配置命令用于指示待配置网络设备的配置参数与第一网络设备的参数之间的关系;当所述主网络设备获得到所述第一网络设备的参数时,则所述主网络设备根据所述待配置网络设备的配置参数、所述第一配置命令及所述第一网络设备的参数生成所述待配置网络设备的实例化配置数据。需要说明的是,当配置模板文件中还包括资源分配命令,且主网络设备可以直接获得到第一网络设备的参数,则由主网络设备为待配置网络设备分配资源,并生成实例化配置数据,该实例化配置数据中包括为待配置网络设备分配的资源数据,其中,资源数据为所述待配置网络生成所述实例化配置数据过程中产生的资源数据。由此可见,当主网络设备能够获得到第一网络设备的参数时,可以直接根据待配置网络设备的配置参数、第一配置命令及第一网络设备的参数生成待配置网络设备的实例化配置数据,有助于进一步提升自动化配置的效率。示例的,在本申请实施例中,资源数据可以为ipv6ula地址信息。可选的,当第一网络设备的全部参数与待配置网络设备的参数之间有关联时,第一网络设备的参数为第一网络设备的全部参数;当第一网络设备的部分参数与待配置网络设备的参数之间有关联时,第一网络设备的参数为与待配置网络设备的参数相关联的第一网络设备的部分参数。

此外,主网络设备在为待配置网络设备生成实例化配置数据时,不是所有leaf设备在此之前都已经上线并生成配置了,因此,主网络设备无法第一时间自动生成这类设备的配置命令。即在该种情况下,若主网络设备获得不到第一网络设备的参数,则主网络设备向待配置网络设备发送待配置网络设备的配置参数和第一配置命令,以使待配置网络设备根据待配置网络设备的配置参数和第一配置命令生成实例化配置数据,并根据实例化配置数据进行配置。由此可见,当主网络设备获得不到第一网络设备的参数,无法生成待配置网络设备的实例化配置数据时,可以将待配置网络设备的配置参数和第一配置命令发送给待配置网络,以使待配置网络设备根据待配置网络设备的配置参数和第一配置命令生成实例化配置数据,避免了无法配置情况的发生,有助于进一步提升自动化配置的可靠性。需要说明的是,当配置模板文件中还包括资源分配命令时,在该场景中,是由待配置网络设备自身分配资源,并生成实例化配置数据,该实例化配置数据中包括为待配置网络设备分配的资源数据。此外,为了降低主网络设备的复杂度,待配置网络设备无需将生成的全部实例化配置数据发送给主网络设备,可以只将实例化配置数据中的资源数据发送给主网络设备,以使主网络设备可以获得到为该待配置网络设备分配的资源数据。

结合图1所示,以待配置网络设备为leaf设备1为例进行说明,主网络设备在获得到两个leaf设备所属的类型对应的配置模板文件之后,若该配置模板文件中包括两条配置命令,其中第一配置命令用于指示leaf设备1的配置参数与leaf设备2的部分参数之间的关联关系,第二配置命令用于指示leaf设备1的配置参数与leaf设备4的部分参数之间的关联关系,则主网络设备可以根据leaf设备1的配置参数、第一配置命令及第二配置命令获得leaf设备1的实例化配置数据。

在根据leaf设备1的配置参数、第一配置命令及第二配置命令生成leaf设备1的实例化配置数据之前,需要先根据第一配置命令和第二配置命令分别获得leaf设备2及leaf设备4设备各自的参数,当获得到leaf设备2及leaf设备4设备各自的参数时,则主网络设备可以直接根据leaf设备1的配置参数、第一配置命令、第二配置命令、leaf设备2及leaf设备4设备各自的参数生成leaf设备1的实例化配置数据。相反的,当获得不到leaf设备2和/或leaf设备4设备的参数时,则主网络设备可以将leaf设备1的配置参数、第一配置命令及第二配置命令均发送给leaf设备1,以使leaf设备1分别与leaf设备2及leaf设备4设备协商确定leaf设备2及leaf设备4设备各自的参数,并根据leaf设备1的配置参数、第一配置命令、第二配置命令、leaf设备2及leaf设备4设备各自的参数生成leaf设备1的实例化配置数据。

s204、主网络设备将实例化配置数据发送给待配置网络设备。

其中,实例化配置数据用于指示待配置网络设备根据实例化配置数据进行配置。

主网络设备在通过s203根据待配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据之后,就可以将生成的实例化配置数据发送给待配置网络设备,以使待配置网络设备根据该实例化配置数据配置。具体的,待配置网络设备在进行实例化配置,若不需要延迟实例化,则可以直接加载并生效该实例化配置数据,若部分/少量配置命令需要延迟实例化,则执行延迟实例化处理,如果部分完成且未完成部分存在缺省值,则使用缺省值;如果部分完成且未完成部分不存在缺省值,则返回错误;如果没有错误,暂时不加载数据;之后,再向主网络设备返回实例化配置过程中的资源分配结果。

结合图1所示,spine设备2在生成leaf设备1的实例化配置数据之后,就可以将该实例化配置数据发送给leaf设备1,使得leaf设备1在接收到实例化配置数据之后,根据该实例化配置数据配置。由此可见,本申请实施例提供的网络配置方法,在对待配置网络设备进行配置时,由于配置模板文件中的配置命令指示了待配置网络设备的配置参数与其它网络设备的配置参数之间的关系,使得主网络设备可以直接根据配置网络设备的配置参数和至少一条配置命令自动获得待配置网络设备的实例化配置数据,而无需通过管理员手动生成每一个设备的配置数据,不仅提高了网络设备的配置效率,而且提高了配置的准确度。

本申请实施例提供的网络配置方法,使得在对网络设备进行配置之前,主网络设备先根据待配置网络设备的类型获得配置模板文件;配置模板文件对应具有相同类型的一类网络设备,配置模板文件包括至少一条配置命令,至少一条配置命令用于指示待配置网络设备的配置参数与其它网络设备的配置参数之间的关系;由于配置模板文件中的配置命令指示了待配置网络设备的配置参数与其它网络设备的配置参数之间的关系,使得主网络设备可以直接根据配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据,并将实例化配置数据发送给待配置网络设备,以使待配置网络设备根据该实例化配置数据进行匹配,而无需通过管理员手动生成每一个设备的配置数据,实现了配置的自动化,不仅提高了网络设备的配置效率,而且提高了配置的准确度。

基于图2所示的实施例,为了避免因实例化配置数据内容错误,而导致加载时出现问题,可选的,在s204主网络设备将实例化配置数据发送给待配置网络设备之后、待配置网络设备实际加载实例化的配置数据之前,可以通过dry-run机制使得管理员对实例化配置数据进行检查,以确保生成的实例化配置数据正确。示例的,请参见图6所示,图6为本申请实施例提供的另一种网络配置方法的流程示意图。

s601、主网络设备发送确认请求消息。

其中,确认请求消息包括实例化配置数据,确认请求消息用于请求对实例化配置数据进行确认。

主网络设备(spine设备2)在将实例化配置数据发送给待配置网络设备之后、待配置网络设备实际加载实例化的配置数据之前,为了避免因实例化配置数据内容错误,而导致加载时出现问题,待配置网络设备先不加载实例化的配置数据,且主网络设备向注入网络设备(leaf设备1)或者管理员发送确认请求消息,该确认请求消息中包括生成的实例化配置数据,以通过注入网络设备或者管理员对生成的实例化配置数据进行确认。示例的,注入网络设备在接收到主网络设备发送的确认请求消息之后,可以通过om接口收集管理员的确认意见并向主网络设备返回确认结果。

当然,主网络设备也可以不发送确认请求消息,而是在生成实例化配置数据的过程中,使得注入网络设备或者管理员可以同步获得到该实例化配置数据,从而通过注入网络设备或者管理员对生成的实例化配置数据进行确认。

s602主网络设备接收确认响应消息。

其中,确认响应消息用于指示实例化配置数据正确。

若主网络设备接收到确认响应消息,说明经验证之后,该实例化配置数据是正确的实例化配置数据,之后,待配置网络设备根据该实例化配置数据进行加载并生效。相反的,如果主网络设备接收到确认拒绝消息,则说明该实例化配置数据错误或者该实例化配置数据不符合新的实例化配置需求,并通过待配置网络设备清除相关数据,在本地释放相关资源。

由此可见,在本申请实施例中,在主网络设备将生成的实例化配置数据发送给待配置网络设备后、待配置网络设备实际加载实例化的配置数据之前,通过注入网络设备或者管理员对实例化配置数据进行确认,这样可以避免因实例化配置数据内容错误,而导致加载时出现问题,此外,管理员也可以重新对网络部署进行再次审视,从而确保待配置网络设备接收到的实例化配置数据为正确的实例化配置数据,进而提高了待配置网络设备配置的正确性和准确性。

基于图2或图6所示的实施例,为了保证主网络设备因故障等发生切换时,新的主网络设备仍然可以获得到配置模板文件,可选的,s201主网络设备获得配置模板文件之后,可以先选择一个leaf设备作为备份网络设备,以通过该备份网络设备备份配置模板文件。示例的,请参见图7所示,图7为本申请实施例提供的再一种网络配置方法的流程示意图。

s701、主网络设备根据第二预设条件确定备份网络设备。

其中,第二预设条件可以理解为leaf类设备中网络设备的属性信息最大或者最小。示例的,当属性信息为地址信息时,由于anima中每一个网络设备的ipv6ula地址是唯一且固定的,因此,可以将leaf类设备中地址信息最小作为第二预设条件。当然,也可以将leaf类设备中地址信息最大作为第二预设条件。示例的,在本申请实施例中,第二预设条件为leaf类设备中地址信息最小。备份网络设备的类型与主网络设备的类型不同,即用于备份的备份网络设备的类型为leaf类设备中的一个,且备份网络设备为不进行实例化配置数据配置的网络设备。

主网络设备通过s202获得到配置模板文件之后,为了通过备份网络设备对配置模板文件进行备份,主网络设备需要先获取leaf类设备中每一个leaf设备的ipv6ula地址,并将每一个leaf设备的ipv6ula地址进行比较,若备份网络设备的ipv6ula地址最小,则确定备份网络设备作为用于备份的网络设备。

同样结合图1所示,spine设备2在获得到网络中的每一个网络设备的类型及地址信息之后,可以确定leaf设备1、leaf设备2、leaf设备3及leaf设备4均为leaf类设备,将leaf设备1的地址信息、leaf设备2的地址信息、leaf设备3的地址信息及leaf设备4的地址信息进行比较,以确定哪个leaf设备为用于备份的备份网络设备,即leafdr设备。经过比较之后,若leaf设备3的ipv6ula地址小于leaf设备1的地址信息、leaf设备2的地址信息及leaf设备4的地址信息,则确定该leaf设备3为备份网络设备。

s702、主网络设备向备份网络设备发送第一备份指示消息。

其中,第一备份指示消息包括配置模板文件,第一备份指示消息用于指示备份网络设备备份配置模板文件。

主网络设备在根据每一个leaf设备的ipv6ula地址确定leaf设备3为备份网络设备之后,通过文件传输协议通用的文件传输协议如tftp/ftp等,或者是基于grasp的文件传输机制)向该leaf设备3发送包括配置模板文件的第一备份指示消息。对应的,leaf设备3在接收到该第一备份指示消息之后,也会将其自身的ipv6ula地址分别与leaf设备1的ipv6ula地址、leaf设备2的ipv6ula地址及leaf设备4的ipv6ula地址进行比较,以确定其是否为用于备份的备份网络设备。经过比较之后,若leaf设备3确定其自身的ipv6ula地址大于leaf设备1的ipv6ula地址、leaf设备2的ipv6ula地址及leaf设备4的ipv6ula地址中的某一个地址信息或多个地址信息,则确定自身不是用于备份的备份网络设备,此时leaf设备3拒绝接收该第一备份指示消息。相反的,若leaf设备3确定其自身的ipv6ula地址小于leaf设备1的地址信息、leaf设备2的地址信息及leaf设备4的地址信息,则确定其为备份网络设备,此时leaf设备3接收主网络设备发送的包括配置模板文件的第一备份指示消息,并对该配置模板文件进行备份,这样可以避免配置模板文件发生丢失,从而提高了配置模板文件的安全性。

进一步地,s204主网络设备将实例化配置数据发送给待配置网络设备之后,还包括:

s703、向备份网络设备发送第二备份指示消息。

其中,第二备份指示消息包括生成实例化配置数据的过程中产生的动态数据,第二备份指示消息用于指示备份网络设备备份动态数据。

主网络设备在生成实例化配置数据的过程中,可能会产生动态数据(例如,从地址池中分配一个地址作为设备的接口ip地址),为了实现对该动态数据的分配,在s204将实例化配置数据发送给待配置网络设备之后,主网络设备还可以向用于备份的备份网络设备(即leaf设备3)发送第二备份指示消息,该第二备份指示消息中包括生成实例化配置数据的过程中产生的动态数据,从而通过该第二备份指示消息备份该动态数据,避免了动态数据发生丢失,从而提高了动态数据的安全性。

基于图2、图6或图7所示的实施例,在实例化配置过程中,如果有新的网络设备加入,则主网络设备需要通过判断以确定是否对新加入的网络设备进行实例化配置,示例的,请参见图8所示,图8为本发明实施例提供的一种网络配置方法的示意图。

s801、当确定网络中有第三网络设备加入时,主网络设备判断第三网络设备的类型。

可选的,在本申请实施例中,主网络设备可以通过rpl在发布路由时同步携带或增加单独的流程的方式学习rpl路由,使用grasp消息,主动获取这些信息。具体的,若rpl路由新增一条主机路由时,说明网络中有新的网络设备加入,并且新的网络设备一旦加入anima域后,其对应的ipv6ula地址始终保持稳定;相反的,若rpl路由撤销一条主机路由时,说明网络中有网络设备下线。

结合图1所示,当spine设备2发现rpl路由新增一条主机路由时,说明网络中有新的网络设备(第三网络设备)加入,则spine设备2需要先判断第三网络设备的类型,即该第三网络设备属于spine类设备还是leaf类设备。

s802、当第三网络设备的类型与主网络设备的类型相同时,主网络设备将第三网络设备的属性信息与主网络设备的属性信息进行比较。

当spine设备2确定第三网络设备为spine类设备时,说明第三网络设备的类型与主网络设备的类型相同,则spine设备2需要进一步将第三网络设备的地址信息与主网络设备的地址信息进行比较,以确定是否需要执行spinedr设备的切换。

s803、当主网络设备满足第一预设条件时,主网络设备根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据。

当spine设备2的ipv6ula地址小于第三网络设备的ipv6ula地址时,说明spine设备2的ipv6ula地址仍然最小,确定不需要执行spinedr设备的切换,该spine设备2继续作为spinedr设备,并根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据,从而完成对新加入的第三网络设备的实例化配置,为其分配资源。相反的,当spine设备2的ipv6ula地址大于第三网络设备的ipv6ula地址,则说明第三网络设备的ipv6ula地址最小,此时要执行spinedr设备的切换,主网络设备确定第三网络设备为spinedr设备,即新的主网络设备,并清除并释放相关资源。另外,对于第三网络设备而言,也会将spine设备2的ipv6ula地址与自身的ipv6ula地址进行比较,若spine设备2的ipv6ula地址大于第三网络设备的ipv6ula地址,则确定其为新的主网络设备,为了完成后续其它网络设备的实例化配置,则第三网络设备需要先确定用于备份的备份网络设备,并通过备份网络设备获得配置模板文件,可选的,若spine设备2在生成实例化配置数据的过程中有动态数据产生并备份在备份网络设备时,该第三网络设备也可以通过备份网络设备获得该动态数据,从而根据获取到的配置模板文件和动态数据为其它网络设备进行实例化配置。需要说明的是,在确定是否执行spinedr切换时,只需要将第三网络设备的地址信息与主网络设备的地址信息进行比较即可,原因在于:主网络设备spinedr本身就是地址最小的spine类设备,在spine-leaf架构中,地址信息一旦被分配就不会改变,因此,判断spinedr是否需要切换时,只需要将新加入的第三网络设备的地址信息和当前最小的主网络设备的地址信息进行比较即可。当然,也可以将第三网络设备的地址信息与spine类设备中的每一个网络设备的地址信息进行比较。

此外,需要说明的是,s801在确定网络中有第三网络设备加入时,主网络设备判断第三网络设备的类型之后,还可以执行下述s901-s903或s901、s904及s905,请参见图9所示,图9为本申请实施例提供的另一种网络配置方法的流程示意图。

s901、当第三网络设备的类型与主网络设备的类型不同时,主网络设备将第三网络设备和备份网络设备的属性信息进行比较。

当spine设备2确定第三网络设备为leaf类设备时,说明第三网络设备的类型与主网络设备的类型不同,则spine设备2需要进一步将第三网络设备的地址信息与用于备份的leaf设备3的地址信息进行比较,以确定是否需要进行leafdr设备的切换。

同样需要说明的是,在确定是否执行leafdr切换时,只需要将第三网络设备的地址信息与备份网络设备的地址信息进行比较即可,原因在于:备份网络设备leafdr本身就是地址最小的leaf类设备,在spine-leaf架构中,地址信息一旦被分配就不会改变,因此,判断leafdr是否需要切换时,只需要将新加入的第三网络设备的地址信息和当前最小的备份网络设备的地址信息进行比较即可。当然,也可以将第三网络设备的地址信息与leaf类设备中的每一个网络设备的地址信息进行比较。

s902、当第三网络设备满足第二预设条件时,确定第三网络设备为新的备份网络设备。

当第三网络设备的ipv6ula地址小于leaf设备3的ipv6ula地址时,说明第三网络设备的ipv6ula地址最小,此时要执行leafdr设备的切换,主网络设备确定第三网络设备为leafdr设备,即新的备份网络设备。

s903、主网络设备向新的备份网络设备发送配置模板文件。

在确定新加入的第三网络设备为新的备份网络设备之后,就可以向该新的备份网络设备发送配置模板文件,新的第三网络设备在接收到该配置模板文件之后,也会将leaf设备3的ipv6ula地址与自身的ipv6ula地址进行比较,当leaf设备3的ipv6ula地址大于第三网络设备的ipv6ula地址,则确定其为新的备份网络设备,并接收spine设备2发送的配置模板文件,并对该配置模板文件进行备份。相反的,若leaf设备3的ipv6ula地址小于第三网络设备的ipv6ula地址,则第三网络设备确定其不是新的网络设备,并拒绝接收spine设备2发送的配置模板文件。

可选的,在s901当第三网络设备的类型与主网络设备的类型不同时,主网络设备将第三网络设备和备份网络设备的属性信息进行比较之后,还可以包括:

s904、当第三网络设备不满足第二预设条件时,主网络设备根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据。

当第三网络设备不满足第二预设条件时,即spine设备2确定第三网络设备的ipv6ula地址大于leaf设备3的ipv6ula地址,则说明第三网络设备不是ipv6ula地址最小leaf设备,此时不需要执行leafdr设备的切换,且spine设备2可以根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据。

s905、主网络设备将实例化配置数据发送给第三网络设备。

spine设备2向新加入的第三网络设备发送实例化配置数据,以使第三网络设备可以根据该实例化配置数据对其进行配置,从而完成第三网络设备的实例化配置。

需要说明的是,在本申请实施例中,s901之后,只执行s902-s903和s904-s905中的一个,即s902-s903和s904-s905不同时执行。

图10为本申请实施例提供的一种网络设备100的结构示意图,请参见图10所示,该网络设备100用作主网络设备,包括:

处理单元1001,用于根据待配置网络设备的类型获得配置模板文件,其中,配置模板文件对应具有相同类型的一类网络设备,配置模板文件包括至少一条配置命令,至少一条配置命令用于指示待配置网络设备的配置参数与其它网络设备的配置参数之间的关系。

处理单元1001,还用于根据待配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据。

发送单元1002,用于将实例化配置数据发送给待配置网络设备,实例化配置数据用于指示待配置网络设备根据实例化配置数据进行配置。

可选的,至少一条配置命令包括第一配置命令,处理单元1001,具体用于根据第一配置命令获得第一网络设备的参数,第一配置命令用于指示待配置网络设备的配置参数与第一网络设备的参数之间的关系;当获得到第一网络设备的参数时,根据待配置网络设备的配置参数、第一配置命令及第一网络设备的参数生成待配置网络设备的实例化配置数据。

可选的,处理单元1001,还具体用于当获得不到第一网络设备的参数时,向待配置网络设备发送待配置网络设备的配置参数和第一配置命令,以使待配置网络设备根据待配置网络设备的配置参数和第一配置命令生成实例化配置数据,并根据实例化配置数据进行配置。

可选的,该网络设备100还可以包括:

接收单元1003,用于接收确认响应消息,确认响应消息用于指示实例化配置数据正确。

可选的,处理单元1001,还用于将主网络设备的属性信息与主网络设备所属的类型中的其它网络设备的属性信息进行比较;并确定主网络设备的属性信息满足第一预设条件。

可选的,处理单元1001,具体用于接收来自第二网络设备发送的至少一个配置模板文件,第二网络设备为网络中任一个网络设备100;并根据待配置网络设备的类型在至少一个配置模板文件中确定配置模板文件。

可选的,处理单元1001,还用于根据第二预设条件确定备份网络设备,备份网络设备的类型与主网络设备的类型不同。

发送单元1002,还用于向备份网络设备发送第一备份指示消息,第一备份指示消息包括配置模板文件,第一备份指示消息用于指示备份网络设备备份配置模板文件。

可选的,处理单元1001,还用于当确定网络中有第三网络设备加入时,判断第三网络设备的类型;当第三网络设备的类型与主网络设备的类型相同时,将第三网络设备的属性信息与主网络设备的属性信息进行比较。

当主网络设备的属性信息满足第一预设条件时,处理单元1001根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据。

可选的,处理单元1001,还用于当第三网络设备的属性信息满足第一预设条件时,确定第三网络设备为新的主网络设备,并清除实例化配置数据。

可选的,处理单元1001,还用于当第三网络设备的类型与主网络设备的类型不同时,将第三网络设备的属性信息和备份网络设备的属性信息进行比较;当第三网络设备的属性信息满足第二预设条件时,确定第三网络设备为新的备份网络设备。

发送单元1002,还用于向新的备份网络设备发送配置模板文件。

可选的,处理单元1001,还用于当第三网络设备的属性信息不满足第二预设条件时,主网络设备根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据。

发送单元1002,还用于将实例化配置数据发送给第三网络设备。

本申请实施例所示的网络设备100,可以执行上述图2-图9对应的实施例中的主网络设备所实施的各种步骤和方法,其实现原理以及有益效果类似,此处不再进行赘述。

图11为本申请实施例提供的一种待配置网络设备110的结构示意图,请参见图11所示,该待配置网络设备110还可以包括:

接收单元1101,用于接收主网络设备发送的实例化配置数据,实例化配置数据是主网络设备根据待配置网络设备110的配置参数和配置模板文件包括的至少一条配置命令生成的,配置模板文件是主网络设备根据待配置网络设备110的类型获得的,配置模板文件对应具有相同类型的一类网络设备,配置命令用于指示待配置网络设备110的配置参数与其它网络设备的配置参数之间的关系。

处理单元1102,用于根据实例化配置数据对待配置网络设备110进行配置。

可选的,至少一条配置命令包括第一配置命令,第一配置命令用于指示待配置网络设备110的配置参数与第一网络设备的参数之间的关系,当主网络设备获得不到第一网络设备的参数时,接收单元1101,还用于接收主网络设备发送的待配置网络设备110的配置参数和第一配置命令;

处理单元1102,用于根据第一配置命令获得第一网络设备的参数;并根据待配置网络设备110的配置参数、第一配置命令及第一网络设备的参数生成实例化配置数据。

可选的,当实例化配置数据包括资源数据时,待配置网络设备110还可以包括:

发送单元1103,用于向主网络设备发送资源数据,资源数据为待配置网络生成实例化配置数据过程中产生的资源数据。

本申请实施例所示的待配置网络设备110,可以执行上述图2-图9对应的实施例中的待配置网络设备所实施的各种步骤和方法,其实现原理以及有益效果类似,此处不再进行赘述。

图12为本申请实施例提供的另一种网络设备120的结构示意图,请参见图12所示,该网络设备120用作主网络设备,包括:

处理器1201,用于根据待配置网络设备的类型获得配置模板文件,其中,配置模板文件对应具有相同类型的一类网络设备,配置模板文件包括至少一条配置命令,至少一条配置命令用于指示待配置网络设备的配置参数与其它网络设备的配置参数之间的关系。

处理器1201,用于根据待配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据。

收发器1202,用于将实例化配置数据发送给待配置网络设备,实例化配置数据用于指示待配置网络设备根据实例化配置数据进行配置。

可选的,至少一条配置命令包括第一配置命令,处理器1201,具体用于根据第一配置命令获得第一网络设备的参数,第一配置命令用于指示待配置网络设备的配置参数与第一网络设备的参数之间的关系;当主网络设备获得到第一网络设备的参数时,根据待配置网络设备的配置参数、第一配置命令及第一网络设备的参数生成待配置网络设备的实例化配置数据。

可选的,处理器1201还具体用于当获得不到第一网络设备的参数时,向待配置网络设备发送待配置网络设备的配置参数和第一配置命令,以使待配置网络设备根据待配置网络设备的配置参数和第一配置命令生成实例化配置数据,并根据实例化配置数据进行配置。

可选的,收发器1202,还用于接收确认响应消息,确认响应消息用于指示实例化配置数据正确。

可选的,处理器1201,还用于将主网络设备的属性信息与主网络设备所属的类型中的其它网络设备的属性信息进行比较;并确定主网络设备的属性信息满足第一预设条件。

可选的,收发器1202,具体用于接收来自第二网络设备发送的至少一个配置模板文件,第二网络设备为网络中任一个网络设备;处理器1201,用于根据待配置网络设备的类型在至少一个配置模板文件确定配置模板文件。

可选的,处理器1201还用于根据第二预设条件确定备份网络设备,备份网络设备的类型与主网络设备的类型不同。

收发器1202还用于向备份网络设备发送第一备份指示消息,第一备份指示消息包括配置模板文件,第一备份指示消息用于指示备份网络设备备份配置模板文件。

可选的,处理器1201还用于当确定网络中有第三网络设备加入时,判断第三网络设备的类型;当第三网络设备的类型与主网络设备的类型相同时,将第三网络设备的属性信息与主网络设备的属性信息进行比较;当主网络设备的属性信息满足第一预设条件时,根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据。

可选的,处理器1201还用于当第三网络设备的属性信息满足第一预设条件时,确定第三网络设备为新的主网络设备,并清除实例化配置数据。

可选的,处理器1201还用于当第三网络设备的类型与主网络设备的类型不同时,将第三网络设备的属性信息和备份网络设备的属性信息进行比较;当第三网络设备的属性信息满足第二预设条件时,确定第三网络设备为新的备份网络设备。

收发器1202,用于向新的备份网络设备发送配置模板文件。

可选的,处理器1201还用于当第三网络设备的属性信息不满足第二预设条件时,根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据。

收发器1202,用于将实例化配置数据发送给第三网络设备。

本申请实施例所示的网络设备120,可以执行上述图2-图9对应的实施例中的主网络设备所实施的各种步骤和方法,其实现原理以及有益效果类似,此处不再进行赘述。

图13为本申请实施例提供的另一种待配置网络设备130的结构示意图,请参见图13所示,该待配置网络设备130可以包括:

收发器1301,用于接收主网络设备发送的实例化配置数据,所述实例化配置数据是所述主网络设备根据所述待配置网络设备130的配置参数和配置模板文件包括的至少一条配置命令生成的,所述配置模板文件是所述主网络设备根据所述待配置网络设备130的类型获得的,所述配置模板文件对应具有相同类型的一类网络设备,所述配置命令用于指示待配置网络设备130的配置参数与其它网络设备的配置参数之间的关系。

处理器1302,用于根据所述实例化配置数据对所述待配置网络设备130进行配置。

可选的,至少一条配置命令包括第一配置命令,第一配置命令用于指示待配置网络设备130的配置参数与第一网络设备的参数之间的关系,当主网络设备获得不到第一网络设备的参数时,所述收发器1301,还用于接收主网络设备发送的待配置网络设备130的配置参数和第一配置命令。

所述处理器1302,用于根据第一配置命令获得第一网络设备的参数;并根据待配置网络设备130的配置参数、第一配置命令及第一网络设备的参数生成实例化配置。

可选的,当实例化配置数据包括资源数据时,所述收发器1301,还用于向主网络设备发送资源数据,资源数据为待配置网络生成实例化配置数据过程中产生的资源数据。

本申请实施例所示的待配置网络设备130,可以执行上述图2-图9对应的实施例中的待配置网络设备所实施的各种步骤和方法,其实现原理以及有益效果类似,此处不再进行赘述。

图14为本申请实施例提供的再一种网络设备140的结构示意图,请参见图14所示,该网络设备140用作主网络设备,包括:处理器1401、收发器1402、随机存取存储器1403、只读存储器1404以及总线1405。其中,处理器1401通过总线1405分别耦接发送器、随机存取存储器1403以及只读存储器1404。其中,当需要运行网络设备140时,通过固化在只读存储器1404中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导网络设备140进入正常运行状态。在网络设备140进入正常运行状态后,在随机存取存储器1403中运行应用程序和操作系统,使得:

处理器1401用于根据待配置网络设备的类型获得配置模板文件,其中,所述配置模板文件对应具有相同类型的一类网络设备,所述配置模板文件包括至少一条配置命令,所述至少一条配置命令用于指示待配置网络设备的配置参数与其它网络设备的配置参数之间的关系;并根据所述待配置网络设备的配置参数和所述至少一条配置命令生成所述待配置网络设备的实例化配置数据;收发器1402用于将所述实例化配置数据发送给所述待配置网络设备,所述实例化配置数据用于指示所述待配置网络设备根据所述实例化配置数据进行配置。

本申请实施例提供的网络设备140可对应于上述图2至图9对应的实施例中的主网络设备,并且,该网络设备140中的处理器1401、收发器1402等可以实现图2至图9所对应的实施例中的网络设备140所具有的功能和/或所实施的各种步骤和方法。所述处理器1401用于执行图10中所述网络设备140的处理单元的所有操作,所述收发器1402用于执行图10中所述网络设备140的接收单元和发送单元的所有操作。为了简洁,在此不再赘述。

图15为本申请实施例提供的再一种待配置网络设备150的结构示意图,请参见图15所示,该待配置网络设备150包括:处理器1501、收发器1502、随机存取存储器1503、只读存储器1504以及总线1505。其中,处理器1501通过总线1505分别耦接发送器、随机存取存储器1503以及只读存储器1504。其中,当需要运行待配置网络设备150时,通过固化在只读存储器1504中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导待配置网络设备150进入正常运行状态。在待配置网络设备150进入正常运行状态后,在随机存取存储器1503中运行应用程序和操作系统,使得:

收发器1502用于接收主网络设备发送的实例化配置数据,所述实例化配置数据是所述主网络设备根据所述待配置网络设备150的配置参数和配置模板文件包括的至少一条配置命令生成的,所述配置模板文件是所述主网络设备根据所述待配置网络设备150的类型获得的,所述配置模板文件对应具有相同类型的一类网络设备,所述配置命令用于指示待配置网络设备150的配置参数与其它网络设备的配置参数之间的关系;处理器1501用于根据所述实例化配置数据对所述待配置网络设备150进行配置。

本申请实施例提供的待配置网络设备150可对应于上述图2至图9对应的实施例中的待配置网络设备150,并且,该待配置网络设备150中的处理器1501、收发器1502等可以实现图2至图9所对应的实施例中的待配置网络设备150所具有的功能和/或所实施的各种步骤和方法。所述处理器1501用于执行图11中所述待配置网络设备150的处理单元的所有操作,所述收发器1502用于执行图11中所述待配置网络设备150的接收单元的所有操作。为了简洁,在此不再赘述。

图16为本申请实施例提供的又一种网络设备160的结构示意图,网络设备160用作主网络设备,包括:主控板1601、接口板1603、交换网板1602和接口板1604。主控板1601用于完成系统管理、设备维护、协议处理等功能。交换网板1602用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板1603和1604用于提供各种业务接口(例如,以太网接口、pos接口等),并实现数据包的转发。主控板1601、接口板1603和1604,以及交换网板1602之间通过系统总线与系统背板相连实现互通。接口板1603上的中央处理器16031用于对接口板进行控制管理并与主控板1601上的中央处理器16011进行通信。

主控板1601上的中央处理器16011用于根据待配置网络设备的类型获得配置模板文件,还用于根据待配置网络设备的配置参数和至少一条配置命令生成待配置网络设备的实例化配置数据(具体请参考图2至图9相关部分的描述,此处不再赘述),并将该实例化配置数据封装在ip报文中,下发到接口板1603或1604。所述ip报文头中的目的ip地址为所述待配置网络设备的ip地址。接口板1603上的网络处理器16032根据所述待配置网络设备的ip地址查找转发表项存储器16034中存储的转发表(保存ip地址与出接口的关联关系),获得与所述待配置网络设备的ip地址匹配的转发表项,从而进一步获得与所述待配置网络设备的ip地址相对应的出接口1,所述出接口1位于物理接口卡16033上。物理接口卡16033用于向所述待配置网络设备发送所述实例化配置数据。

可选地,主控板1601上的中央处理器16011还用于根据第一配置命令获得第一网络设备160的参数,第一配置命令用于指示待配置网络设备的配置参数与第一网络设备160的参数之间的关系;当获得到第一网络设备的参数时,根据待配置网络设备的配置参数、第一配置命令及第一网络设备的参数生成待配置网络设备的实例化配置数据。

可选的,接口板1603上的物理接口卡16033还用于当获得不到第一网络设备160的参数时,向待配置网络设备发送待配置网络设备的配置参数和第一配置命令,以使待配置网络设备根据待配置网络设备的配置参数和第一配置命令生成实例化配置数据,并根据实例化配置数据进行配置。

可选的,接口板1603上的物理接口卡16033还用于接收确认响应消息,确认响应消息用于指示实例化配置数据正确。

可选的,主控板1601上的中央处理器16011还用于将主网络设备的属性信息与主网络设备所属的类型中的其它设备的属性信息进行比较;并确定主网络设备的属性信息满足第一预设条件。

可选的,接口板1603上的物理接口卡16033还用于接收来自第二网络设备的至少一个配置模板文件,第二网络设备为网络中任一个网络设备;主控板1601上的中央处理器16011还用于根据待配置网络设备的类型在至少一个配置模板文件确定配置模板文件。

可选的,主控板1601上的中央处理器16011还用于根据第二预设条件确定备份网络设备,备份网络设备的类型与主网络设备的类型不同;接口板1603上的物理接口卡16033还用于向备份网络设备发送第一备份指示消息,第一备份指示消息包括配置模板文件,第一备份指示消息用于指示备份网络设备备份配置模板文件。

可选的,主控板1601上的中央处理器16011还用于在确定网络中有第三网络设备加入时,判断第三网络设备的类型;当第三网络设备的类型与主网络设备160的类型相同时,将第三网络设备的属性信息与主网络设备160的属性信息进行比较;当主网络设备160的属性信息满足第一预设条件时,根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据。

可选的,主控板1601上的中央处理器16011还用于当第三网络设备的属性信息满足第一预设条件时,确定第三网络设备为新的主网络设备,并清除实例化配置数据。

可选的,主控板1601上的中央处理器16011还用于当第三网络设备的类型与主网络设备160的类型不同时,将第三网络设备的属性信息和备份网络设备的属性信息进行比较;当第三网络设备的属性信息满足第二预设条件时,确定第三网络设备为新的备份网络设备;接口板1603上的物理接口卡16033还用于向新的备份网络设备发送配置模板文件。

可选的,当第三网络设备的属性信息不满足第二预设条件时,主控板1601上的中央处理器16011还用于根据第三网络设备的配置参数和第三网络设备的类型对应的配置模板文件中的配置命令生成第三网络设备的实例化配置数据;接口板1603上的物理接口卡16033还用于将实例化配上实例化配置数据发送给第三网络设备。

应理解,本发明实施例中接口板1604上的操作与接口板1603的操作一致,为了简洁,不再赘述。应理解,本实施例的网络设备160可对应于上述图2至图9所对应的实施例中的网络设备160,该网络设备160中的主控板1601、接口板1603和/或1604可以实现图2至图9所对应的实施例中的网络设备160所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。

值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备160的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备160可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备160可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备160的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备160的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备160)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。

图17为本申请实施例提供的又一种待配置网络设备170的结构示意图,请参见图17所示,待配置网络设备170包括:主控板1701、接口板1703、交换网板1702和接口板1704。主控板1701用于完成系统管理、设备维护、协议处理等功能。交换网板1702用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板1703和1704用于提供各种业务接口(例如,以太网接口、pos接口等),并实现数据包的转发。主控板1701、接口板1703和1704,以及交换网板1702之间通过系统总线与系统背板相连实现互通。接口板1703上的中央处理器17031用于对接口板进行控制管理并与主控板1701上的中央处理器17011进行通信。

接口板1703上的物理接口卡17033用于接收主网络设备发送的封装有实例化配置数据的ip报文,所述ip报文头中的目的ip地址为所述待配置网络设备的ip地址。该ip报文被发送到接口板1703上的网络处理器17032,网络处理器17032根据该目的ip地址(所述待配置网络设备的ip地址)查找转发表项存储器17034中存储的转发表(保存ip地址与出接口的关联关系),获得本机就是所述待配置的网络设备,于是将该ip报文通过接口板1703上的中央处理器17031上送到主控板1701上的中央处理器17011。

主控板1701上的中央处理器17011用于根据实例化配置数据对待配置网络设备170进行配置。

可选的,至少一条配置命令包括第一配置命令,第一配置命令用于指示所述待配置网络设备的配置参数与第一网络设备的参数之间的关系,当所述主网络设备获得不到第一网络设备的参数时,接口板1703上的物理接口卡17033还用于接收主网络设备发送的待配置网络设备170的配置参数和第一配置命令。

主控板1701上的中央处理器17011还用于根据第一配置命令获得第一网络设备的参数;并根据待配置网络设备170的配置参数、第一配置命令及第一网络设备的参数生成实例化配置。

应理解,本发明实施例中接口板1704上的操作与接口板1703的操作一致,为了简洁,不再赘述。应理解,本实施例的待配置网络设备170可对应于上述图2至图9所对应的实施例中的待配置网络设备170,该待配置网络设备170中的主控板1701、接口板1703和/或1704可以实现图2至图9所对应的实施例中的待配置网络设备170所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。

值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,待配置网络设备170的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,待配置网络设备170可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,待配置网络设备170可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的待配置网络设备170的数据接入和处理能力要大于集中式架构的设备。可选地,待配置网络设备170的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等待配置网络设备170)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。

图18为本申请实施例提供的一种网络配置系统180的结构示意图,该网络配置系统180包括上述任一实施例所示的网络设备1801和上述任一实施例所示的待配置网络设备1802,其实现原理以及有益效果类似,此处不再进行赘述。

本申请实施例还提供一种计算机存储介质,包括指令,当所述指令在网络设备上运行时,使得所述网络设备执行图2-图9对应的实施例中的网络设备所实施的各种步骤和方法,其实现原理以及有益效果类似,此处不再进行赘述。

本申请实施例还提供一种计算机存储介质,包括指令,当所述指令在待配置网络设备上运行时,使得所述待配置网络设备执行图2-图9对应的实施例中的待配置网络设备所实施的各种步骤和方法,其实现原理以及有益效果类似,此处不再进行赘述。

本申请实施例还提供一种芯片,芯片上存储有计算机程序,在计算机程序被处理器执行时,执行上述图2-图9对应的实施例中的网络设备所实施的各种步骤和方法,或者,在计算机程序被处理器执行时,执行上述图2-图9对应的实施例中的待配置网络设备所实施的各种步骤和方法,其实现原理以及有益效果类似,此处不再进行赘述。

上述各个实施例中处理器可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(randomaccessmemory,ram)、闪存、只读存储器(read-onlymemory,rom)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的指令,结合其硬件完成上述方法的步骤。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1