网络设备的虚拟化管理方法与流程

文档序号:11523942阅读:207来源:国知局
网络设备的虚拟化管理方法与流程

本发明涉及一种虚拟化管理方法,特别是涉及一种网络设备的虚拟化管理方法。



背景技术:

当前网络环境由接入设备、汇聚设备和核心设备组成。接入设备主要职责是提供终端用户的网络的接入工作,汇聚设备的主要职责是对接入设备进行网络汇聚工作,核心设备主要职责是对数据分发及传输使数据能够正确的达到目的地。其中接入设备的数量相比汇聚设备和核心设备又非常的庞大。

随着互联网的迅猛发展,越来越多的网络设备被投入使用,使得ipv4的网络地址迅速的消耗,而ipv6的发展相对较为缓慢无法完全地替代ipv4网络的使用。而接入设备因为其数量非常庞大,成为了消耗ipv4的主力军。

在实际网络布置中为了节约ipv4地址的使用,很多网络提供商都放弃了对入设备进行ipv4地址的分配,从而放弃了直接网管接入设备,这样就导致很多接入设备处于无法网管的状态。这样就带来了终端设备出现故障无法及时感知,无法及时解决故障。这样势必会影响最终用户的网络体验。



技术实现要素:

本发明所要解决的技术问题是提供一种网络设备的虚拟化管理方法,其能够实现接入设备在无ip的情况下进行设备管理、故障检测及告警机制。

本发明是通过下述技术方案来解决上述技术问题的:一种网络设备的虚拟化管理方法,其特征在于,其包括以下步骤:

步骤一,主系统收集下联的实际子系统信息,将实际子系统在主系统上进行虚拟化,使实际子系统成为主系统的虚拟子系统;

步骤二,在完成实际子系统的虚拟化以后,主系统对虚拟子系统进行网管管理、监控及故障告警。

优选地,所述步骤二在完成实际子系统的虚拟化以后,主系统和实际子系统成一个整体系统给一个网管系统,网管系统直接的对实际子系统进行管理以及监控。

优选地,所述虚拟子系统主要负责存储实际子系统相应的配置信息、故障信息以及告警信息。

优选地,所述网管系统管理及监控实际子系统采用以下步骤:

步骤十一:网管系统需要访问实际子系统,会将请求信息发送到主系统,并告知主系统网管系统请求的是实际子系统;

步骤十二:主系统根据网管请求中的设备索引确定请求是本地还是实际子系统,如果是实际子系统会将请求信息发送到本地虚拟化的实际子系统上处理;

步骤十三:主系统上的虚拟化实际子系统收到处理请求以后会向真实的实际子系统发起信息请求,并从真实的实际子系统上获取相应信息返回给主系统;

步骤十四:实际子系统检测到本地故障以后,需要向主系统进行通告,实际子系统首先将故障信息发送到主系统的虚拟子系统上;

步骤十五:虚拟子系统收到来自真实实际子系统的故障信息以后,会通过主系统将故障信息发送到网管系统;

步骤十六:主系统将带有实际子系统信息的故障信息发送给网管系统。

优选地,所述主系统会给虚拟子系统分配一个全局唯一的实际子系统号。

优选地,所述实际子系统号是根据实际子系统与主系统所连接的主系统上的物理端口号进行设置,这样做的好处是方便的知道所述实际子系统下挂在主系统上的那个端口上。

优选地,所述主系统监听到实际子系统发送来的hello报文,通过hello报文来确定实际子系统存在并建立主系统与实际子系统之间的连接关系。

优选地,所述建立主系统与实际子系统之间的连接关系采用以下步骤:

步骤二十一:实际子系统周期性的发送hello报文,通告自己的存在;

步骤二十二:主系统收到实际子系统hello请求以后会向实际子系统通告自己已经收到对端请求,并给出回应报文,让实际子系统进行下一步操作;

步骤二十三:实际子系统在收到主系统的hello报文回应以后,将停止hello报文的,并对主系统发起加载实际子系统的请求报文给主系统;

步骤二十四:主系统在收到实际子系统的加载请求以后检测主系统与实际子系统之间的数据通道是否正常稳定;

步骤二十五:实际子系统在收到主系统的配置消息以后会根据配置消息的相应内容进行配置,成功以后实际子系统与主系统之间的握手就完成了;此时需要向主系统告知自己配置成功,并开启本地的超时定时器,该定时器的目的是在一定时间内未收到任何主系统的报文后进行超时处理,并将自己置于初始状态,并重新开始发送hello报文;

步骤二十六:主系统在收到实际子系统配置成功消息以后就完成了所有握手操作;此时主系统需要根据实际子系统相应信息对实际子系统进本地虚拟化操作,将所有实际子系统信息虚拟到本地软件上。

优选地,所述虚拟子系统与实际子系统之间采用可靠传输机制进行数据交互。

优选地,所述虚拟子系统与实际子系统之间进行数据交互的步骤如下:

步骤三十一:主系统在收到网管系统获取实际子系统的命令以后,首先会访问本地是否有相应的实际子系统的虚拟子系统存在,如果存在就将获取命令交由对应虚拟子系统处理;

步骤三十二:虚拟子系统从通信适配层获取通信id,该id是一个临时id,用于标识当前操作;成功获取通信id以后会将该id封装在数据报文中并和命令一起通过可靠传输发送到实际子系统;

步骤三十三:虚拟子系统将临时通信id、命令字、索引等信息封装成数据报文通过可靠传输协议发送给实际子系统;

步骤三十四:实际子系统收到虚拟子系统发送过来数据请求以后,首先对其数据报文中的命令字进行解析,然后根据解析出来的命令字及索引信息从本地获取数据;在获取完数据以后,实际子系统会将获取的数据返回值,数据及通信id封装成数据报文发送给虚拟子系统;

步骤三十五:虚拟子系统收到实际子系统收到的回应报文以后,先对报文进行解析,解析出其中的通信id;然后查找是否有线程正在等待该通信id的回应信息,如果有则将从实际子系统收到的返回值及数据交给等待的线程处理,如果没有线程等待该通信id,那么直接忽略掉该回应报文;

步骤三十六:虚拟子系统从实际子系统获取数据时进入等待状态以后,如果在规定的等待时间内收到实际子系统回应,那么将从实际子系统收到的回应返回给上层软件,如果在规定等待时间内未收到回应则认为超时失败,将失败结果返回给上层软件。

优选地,所述虚拟子系统与实际子系统之间采用的命令字与数据结构必须保持一致。

本发明的积极进步效果在于:本发明能够实现接入设备在无ip的情况下进行设备管理、故障检测及告警机制。本申请能够很好的实现汇聚设备与接入设备的集中管理。

附图说明

图1是本申请实施通过网管系统管理及监控实际子系统的流程图。

图2是本申请实施主系统如何实现实际子系统与主系统链接及虚拟化的流程图。

图3是本申请实施虚拟子系统如何从实际子系统获取数据的流程图。

具体实施方式

为使本申请的目的、技术方案及优点更加明确,以下参考附图详细的解说相应流程及细节部分。

本发明网络设备的虚拟化管理方法包括以下步骤:

步骤一,主系统收集下联的实际子系统信息,将实际子系统在主系统上进行虚拟化,使实际子系统成为主系统的虚拟子系统;

步骤二,在完成实际子系统的虚拟化以后,主系统对虚拟子系统进行网管管理、监控及故障告警等。

在完成实际子系统的虚拟化以后,主系统和实际子系统成一个整体系统给一个网管系统,网管系统可以直接的对实际子系统进行管理以及监控,使用方便。

虚拟子系统主要负责存储实际子系统相应的配置信息、故障信息以及告警信息等。

第一实际子系统在与主系统进行协商完成以后,主系统会根据协商过程中获取的相应信息对实际子系统进行虚拟化操作,并在自己的软件系统上建立一个虚拟的第一实际子系统。此时虚拟的第一实际子系统存放的软件信息与第一实际子系统完全一致,其中包括所有端口的信息及配置、全局的cpu及内存使用情况、故障检测情况等。

第一实际子系统在主系统上虚拟化成一个虚拟子系统以后,主系统会给虚拟子系统分配一个全局唯一的实际子系统号,该实际子系统号是为了唯一标识实际子系统的,便于网管系统能够区分。实际子系统号的编号是根据实际子系统与主系统相连的主系统上的物理端口的索引来进行确定的。主系统上的物理端口分为端口类型,槽位号,实际子系统号,端口号,其中实际子系统号为0,用于表示为主系统端口。虚拟子系统通过主系统上的物理口索引来计算出虚拟子系统索引的好处在于网管系统能够明确的知道所访问的实际子系统是下挂到主系统那个物理端口下的,并且能够明确知道访问实际子系统时数据报文从那个主系统上的物理接口发送。

网管系统在登入主系统以后,会从主系统上获取其所存储的虚拟子系统信息,而此时网管系统就能够在其管理系统上看到主系统及所有的实际子系统的信息,并能够根据需求做出相应的配置及监控需求。

为了保证虚拟的第一实际子系统与第一实际子系统的相关软件信息的一致性,实际子系统的任何配置信息都必须由主系统进行配置。通过主系统配置实际子系统相关信息会经过主系统上的虚拟子系统软件,虚拟软件会保存相应的修改信息。如果直接配置实际子系统未经过虚拟子系统,那么虚拟子系统软件就无法知道相应配置信息,导致通过主系统无法正确查看实际子系统信息。

如图1所示,本申请实施通过网管系统管理及监控实际子系统的过程如下:

步骤101:网管系统需要访问实际子系统,会将请求信息发送到主系统,并告知主系统网管系统请求的是实际子系统;

步骤102:主系统根据网管请求中的设备索引确定请求是本地还是实际子系统,如果是实际子系统会将请求信息发送到本地虚拟化的实际子系统上处理;

步骤103:主系统上的虚拟化实际子系统收到处理请求以后会向真实的实际子系统发起信息请求,并从真实的实际子系统上获取相应信息返回给主系统;

步骤104:实际子系统检测到本地故障以后,需要向主系统进行通告,实际子系统首先将故障信息发送到主系统的虚拟子系统上;

步骤105:虚拟子系统收到来自真实实际子系统的故障信息以后,会通过主系统将故障信息发送到网管系统;

步骤106:主系统将带有实际子系统信息的故障信息发送给网管系统。

网管系统需要对第二实际子系统进行数据获取时,具体步骤如下:

网管系统首先需要向主系统发起访问请求,告知主系统网管系统需要访问的目的是什么。主系统在收到网管系统的访问请求以后,判断出网管系统需要访问第二实际子系统中的数据信息。

主系统在收到网管系统的第二实际子系统的访问请求以后,会将请求发送到本地的虚拟第二实际子系统,由虚拟第二实际子系统进行处理。如果网管访问是配置信息或者非实时需要获取硬件信息的访问请求,就将本地虚拟子系统上存储的软件信息返回给网管系统。如果网管系统访问的是需要实时从第二实际子系统中获取的信息,那么虚拟第二实际子系统将通过访问第二实际子系统后对网管系统进行答复。

虚拟第二实际子系统存储了所有了第二实际子系统中的信息,并且定时进行同步操作。这样可以减小网管系统频繁获取实际子系统信息、或者一次获取多个实际子系统信息时造成大量主系统与实际子系统之系统之间的通信量。并能够很快的响应数据给网管系统。而对于实时性要求较高的操作则需要从实际子系统中直接获取,保证网管系统能够及时看到实际子系统的实时运行情况。

在虚拟第二实际子系统中存在多个线程会对第二实际子系统中一些实时性要求不高的信息进行定时的同步。其中包括第二实际子系统的cpu、内存、端口的光模块的ddm数据等。而对第二实际子系统端口的流量统计,物理link状态等实时性要求较高的操作则是通过实时直接从第二实际子系统中获取。

虚拟第二实际子系统通过可靠传输协议从第二实际子系统中定时或者实时获取相应数据。第二实际子系统在收到主系统上虚拟第二实际子系统的访问信息给出相应的响应及回复。在虚拟第二实际子系统对第二实际子系统进行访问时需要对端口等索引信息进行转换,主系统上为了能够唯一区分所有实际子系统上的端口索引,所有实际子系统端口索引均带上了实际子系统号。而在虚拟第二实际子系统对实际子系统进行访问时需要将索引信息转换成通用索引,去掉实际子系统号相关信息,这样实际子系统才能正确获取对应信息。

第一实际子系统检测到本地紧急故障以后需要实时向网管系统进行通告。

第一实际子系统在检测到本地紧急故障以后需要及时的向网管系统发出告警信息,而不能等到网管系统轮询去获取。例如物理端口linkdown以后需要及时向主系统及网管系统进行通告。在第一实际子系统检测到本地出现严重故障以后向主系统的虚拟第一实际子系统进行故障告警通告。虚拟第一实际子系统收到第一实际子系统告警以后记录第一实际子系统处于故障状态,并通过主系统向网管系统发送告警信息,提醒用户出现严重故障,需要及时进行处理。

如图2所示,为实际子系统与主系统如何建立链接的过程。

为了减小主系统负担,主系统不会主动的发送探测实际子系统是否在线的报文。而是由实际子系统周期性的发送hello报文,通告自己的存在。在实际子系统与主系统建立物理上的连接以后,主系统就会收到实际子系统的请求上线信息。主系统与实际子系统进行了握手操作以后主系统则会将实际子系统加载成本地的虚拟子系统,具体步骤如下:

步骤201:为实际子系统周期性的发送hello报文,通告自己的存在。在实际子系统与主系统建立稳定的物理连接以后,主系统就会收到实际子系统的发送来的hello报文,并对hello报文做出响应报文。

步骤202:主系统在收到实际子系统hello请求以后会向实际子系统通告自己已经收到对端请求,并给出回应报文,让实际子系统进行下一步操作。

步骤203:实际子系统在收到主系统的hello回应以后,将停止hello报文的,并对主系统发起加载实际子系统的请求报文给主系统。

步骤204:主系统在收到实际子系统的加载请求以后检测主系统与实际子系统之间的数据通道是否正常稳定,此时主系统会通过可靠传输消息向实际子系统发送配置消息(配置消息可以是时钟设置,也可以是空)。此消息的主要目的是检测数据传输通道是否正常。

步骤205:实际子系统在收到主系统的配置消息以后会根据配置消息的相应内容进行配置,成功以后实际子系统与主系统之间的握手就完成了。此时需要向主系统告知自己配置成功,并起开本地的超时定时器,该定时器的目的是在一定时间内未收到任何主系统的报文后进行超时处理,并将自己置于初始状态,并重新开始发送hello报文。

步骤206:主系统在收到实际子系统配置成功消息以后就完成了所有握手操作。此时主系统需要根据实际子系统相应信息对实际子系统进本地虚拟化操作,将所有实际子系统信息虚拟到本地软件上。在虚拟化过程中会频繁的获取实际子系统相应信息,直到所有信息均获取到。

如图3所示,虚拟子系统是如何从实际子系统中获取数据的流程图,具体步骤如下:

步骤301所示,主系统在收到网管系统获取实际子系统的命令以后,首先会访问本地是否有相应的实际子系统的虚拟子系统存在,如果存在就将获取命令交由对应虚拟子系统处理。除了从网管系统收到相应获取实际子系统信息的命令外,虚拟子系统也周期性的轮询实际子系统同步对应的软件信息,便于网管系统直接从虚拟子系统获取信息。

步骤302所示,虚拟子系统从通信适配层获取通信id,该id是一个临时id,用于标识当前操作。成功获取通信id以后会将该id封装在数据报文中并和命令一起通过可靠传输发送到实际子系统。

步骤303所示,虚拟子系统将临时通信id、命令字、索引等信息封装成数据报文通过可靠传输协议发送给实际子系统(这里的所述的可靠传输原理与tcp协议类似,采用基于二层的可靠传输协议进行),其中索引信息不能是虚拟子系统上存储的索引信息,需要转换成实际子系统对应的实际子系统能够识别的通用索引信息。数据发送完毕以后该操作进入等待实际子系统回应状态。

步骤304所示,实际子系统收到虚拟子系统发送过来数据请求以后,首先对其数据报文中的命令字进行解析,然后根据解析出来的命令字及索引信息从本地获取数据。如果数据获取成功则将返回值及数据返回给虚拟子系统,如果不成功则将返回值返回给虚拟子系统。在获取完数据以后,实际子系统会将获取的数据返回值,数据及虚拟子系统发送下来的通信id封装成数据报文发送给虚拟子系统。

步骤305所示,虚拟子系统收到实际子系统收到的回应报文以后,先对报文进行解析,解析出其中的通信id。然后查找是否有线程正在等待该通信id的回应信息,如果有则将从实际子系统收到的返回值及数据交给等待的线程处理,如果没有线程等待该通信id,那么直接忽略掉该回应报文。

步骤306所示,虚拟子系统从实际子系统获取数据时进入等待状态以后,如果在规定的等待时间内收到实际子系统回应,那么将从实际子系统收到的回应返回给上层软件,如果在规定等待时间内未收到回应则认为超时失败,将失败结果返回给上层软件。

上述步骤描述了上层软件如何从实际子系统获取数据的过程。而且中值得注意的几点是:一,虚拟子系统与实际子系统之间交互时的命令字需要完全统一,建议实际子系统与主系统编译时采用同样的命令字头文件,传输数据的结构大小及内容也要保持一致。二,虚拟子系统与实际子系统上表示端口的索引值存在差异,虚拟子系统上的端口索引值是加上了虚拟子系统id的信息的,这样是为了在主系统上唯一标识所有端口。而实际子系统属于一个单独的系统,所以所有实际子系统的端口索引id都是通用的,也就是会有重复的出现。在虚拟子系统与实际子系统通信时,需要将索引信息进行转换成对端能够识别的正确索引值。

以上所述的具体实施例,对本发明的解决的技术问题、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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