虚拟网络中检测网络设备的方法和装置制造方法及图纸

技术编号:19266555 阅读:23 留言:0更新日期:2018-10-27 04:06
本发明专利技术公开了一种虚拟网络中检测网络设备的方法和装置。所述方法包括:当检测到对抽象网络设备的网络检测请求后,在用户态下向内核网络协议栈注入标准数据;控制将所述内核网络协议栈将所述标准处理后的数据发送至待检测到的抽象网络设备;在用户态下从所述抽象网络设备获取所述数据,得到待检测的数据;根据所述待检测的数据和注入的数据,验证数据的一致性,得到虚拟网络的故障信息。

【技术实现步骤摘要】
虚拟网络中检测网络设备的方法和装置
本专利技术涉及信息处理领域,尤指一种虚拟网络中检测网络设备的方法和装置。
技术介绍
网络虚拟化是云计算中的一个重要组成部分,云数据中心前端计算网络主要由大量的二层接入设备及少量的三层设备组成,是标准的传统三层结构。随着云数据中心的逐渐普及,特别是随着近来OpenStack社区的壮大以及相关技术的快速发展,SDN技术与云数据中心的结合愈加的紧密。更多的网络功能将逐步转移到装有特定网络虚拟化软件的商用服务器,采用抽象网络设备,减少物理网络设备的使用,促进了网络自动化以及灵活性。有别于传统的网络,云计算数据中心大部分的网络流量是通过服务器内部的软件实现转发与控制的,经过一系列抽象网络设备以及流量管控后,最终达到目的设备或虚拟机。云数据中心不能通过直接操作硬件完成网络通信,而需要直接或间接的操作一个底层系统为我们抽象出来的设备。一个常见的情况是,系统里装有一个硬件网卡,系统为其生成一个网络设备实例,如eth0,用户需要对eth0发出命令以配置或使用它了。更多的硬件会带来更多的设备实例,虚拟的硬件也会带来更多的设备实例。随着网络技术,虚拟化技术的发展,更多的高级网络设备被加入了到了基础系统中,使得情况变得更加复杂。那么如何检测虚拟网络中网络故障是亟待解决的问题。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种虚拟网络中检测网络设备的方法和装置,实现在虚拟网络中检测网络故障。为了达到本专利技术目的,本专利技术提供了一种虚拟网络中检测网络设备的方法,包括:当检测到对抽象网络设备的网络检测请求后,在用户态下向内核网络协议栈注入标准数据;控制将所述内核网络协议栈将所述标准处理后的数据发送至待检测到的抽象网络设备;在用户态下从所述抽象网络设备获取所述数据,得到待检测的数据;根据所述待检测的数据和注入的数据,验证数据的一致性,得到虚拟网络的故障信息。其中,所述方法还具有如下特点:所述控制将所述内核网络协议栈将所述标准处理后的数据发送至待检测到的抽象网络设备,包括:控制内核网络协议栈对数据处理后,通过虚拟网络VETH反转通讯再所述数据再次送入到所述内核网络协议栈;控制将所述内核网络协议栈将所述发送至待检测到的抽象网络设备。其中,所述方法还具有如下特点:通过执行write()操作将数据直接写入内核网络协议栈完成向所述内核网络协议栈发送数据的操作;通过执行read()请求向内核网络协议栈查询是否有数据需要被发送出去,如果检测到有数据,则从所述内核网络协议栈取出所述数据,完成所述内核网络协议栈发送数据的操作。其中,所述方法还具有如下特点:所述根据所述待检测的数据和注入的数据,验证数据的一致性,得到虚拟网络的故障信息之后,所述方法还包括:当检测到数据不一致后,获取所述待检测的数据的传输路径;根据所述传输路径,确定发生故障的抽象网络设备。其中,所述方法还具有如下特点:所述在用户态下向内核网络协议栈注入标准数据之前,所述方法还包括:输出虚拟网络中网络设备抽象类型;接收对用户选择的目标网络设备抽象类型;根据所述目标网设备抽象类型,确定标准数据的报文配置信息。一种虚拟网络中检测网络设备的装置,包括:注入模块,用于当检测到对抽象网络设备的网络检测请求后,在用户态下向内核网络协议栈注入标准数据;控制模块,用于控制将所述内核网络协议栈将所述标准处理后的数据发送至待检测到的抽象网络设备;第一获取模块,用于在用户态下从所述抽象网络设备获取所述数据,得到待检测的数据;验证模块,用于根据所述待检测的数据和注入的数据,验证数据的一致性,得到虚拟网络的故障信息。其中,所述装置还具有如下特点:所述控制模块包括:处理单元,用于控制内核网络协议栈对数据处理后,通过虚拟网络VETH反转通讯再所述数据再次送入到所述内核网络协议栈;发送单元,用于控制将所述内核网络协议栈将所述发送至待检测到的抽象网络设备。其中,所述装置还具有如下特点:所述处理请求,用于通过执行write()操作将数据直接进入内核网络协议栈;所述发送单元,用于执行read()请求向内核网络协议栈查询是否有数据需要被发送出去,如果检测到有数据,则从所述内核网络协议栈取出所述数据。其中,所述装置还具有如下特点:所述装置还包括:第二获取模块,用于当检测到数据不一致后,获取所述待检测的数据的传输路径;第一确定模块,用于根据所述传输路径,确定发生故障的抽象网络设备。其中,所述装置还具有如下特点:所述装置还包括:输出模块,用于在用户态下向内核网络协议栈注入标准数据之前,输出虚拟网络中网络设备抽象类型;接收模块,用于接收对用户选择的目标网络设备抽象类型;第二确定模块,用于根据所述目标网设备抽象类型,确定标准数据的报文配置信息。本专利技术提供的实施例,在用户态操作网络数据,与内核网络协议栈完成直接交互,能有效地测试验证云数据中心内的网络流向,解耦物理网络设备与抽象网络设备,快速定位故障节点,实现在虚拟网络中检测网络故障。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1为本专利技术提供的虚拟网络中检测网络设备的方法的流程图;图2为本专利技术提供的虚拟网络中数据流向的示意图;图3为本专利技术提供的虚拟网络中检测网络设备的装置的结构图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1为本专利技术提供的虚拟网络中检测网络设备的方法的流程图。图1所示方法包括:步骤101、当检测到对抽象网络设备的网络检测请求后,在用户态下向内核网络协议栈注入标准数据;步骤102、控制将所述内核网络协议栈将所述标准处理后的数据发送至待检测到的抽象网络设备;步骤103、在用户态下从所述抽象网络设备获取所述数据,得到待检测的数据;步骤104、根据所述待检测的数据和注入的数据,验证数据的一致性,得到虚拟网络的故障信息。本专利技术提供的方法实施例,在用户态操作网络数据,与内核网络协议栈完成直接交互,能有效地测试验证云数据中心内的网络流向,解耦物理网络设备与抽象网络设备,快速定位故障节点,实现在虚拟网络中检测网络故障。下面对本专利技术提供的方法实施例作进一步说明:基于上述问题,本专利技术提出了一种针对云数据中心抽象网络设备网络流量的追踪方案,通过整合虚拟化技术中经常使用的几种网络设备抽象类型:Bridge、802.1.qVLANdevice、VETH、TAP,准确追踪到虚拟网络中网络流量的流向,为云计算中心中虚拟网络问题的定位排查提供了一种较为便捷的方法,且对常见的网络虚拟化环境都用较好的适用性。本方案采用C++高级语言与抽象网络设备交互,在用本文档来自技高网...

【技术保护点】
1.一种虚拟网络中检测网络设备的方法,其特征在于,包括:当检测到对抽象网络设备的网络检测请求后,在用户态下向内核网络协议栈注入标准数据;控制将所述内核网络协议栈将所述标准处理后的数据发送至待检测到的抽象网络设备;在用户态下从所述抽象网络设备获取所述数据,得到待检测的数据;根据所述待检测的数据和注入的数据,验证数据的一致性,得到虚拟网络的故障信息。

【技术特征摘要】
1.一种虚拟网络中检测网络设备的方法,其特征在于,包括:当检测到对抽象网络设备的网络检测请求后,在用户态下向内核网络协议栈注入标准数据;控制将所述内核网络协议栈将所述标准处理后的数据发送至待检测到的抽象网络设备;在用户态下从所述抽象网络设备获取所述数据,得到待检测的数据;根据所述待检测的数据和注入的数据,验证数据的一致性,得到虚拟网络的故障信息。2.根据权利要求1所述的方法,其特征在于,所述控制将所述内核网络协议栈将所述标准处理后的数据发送至待检测到的抽象网络设备,包括:控制内核网络协议栈对数据处理后,通过虚拟网络VETH反转通讯再所述数据再次送入到所述内核网络协议栈;控制将所述内核网络协议栈将所述发送至待检测到的抽象网络设备。3.根据权利要求2所述的方法,其特征在于:通过执行write()操作将数据直接写入内核网络协议栈完成向所述内核网络协议栈发送数据的操作;通过执行read()请求向内核网络协议栈查询是否有数据需要被发送出去,如果检测到有数据,则从所述内核网络协议栈取出所述数据,完成所述内核网络协议栈发送数据的操作。4.根据权利要求1所述的方法,其特征在于,所述根据所述待检测的数据和注入的数据,验证数据的一致性,得到虚拟网络的故障信息之后,所述方法还包括:当检测到数据不一致后,获取所述待检测的数据的传输路径;根据所述传输路径,确定发生故障的抽象网络设备。5.根据权利要求1至3任一所述的方法,其特征在于,所述在用户态下向内核网络协议栈注入标准数据之前,所述方法还包括:输出虚拟网络中网络设备抽象类型;接收对用户选择的目标网络设备抽象类型;根据所述目标网设备抽象类型,确定标准数据的...

【专利技术属性】
技术研发人员:孙希发李红卫
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1