采用因特网包探索器检测虚拟局域网的方法及装置
技术领域
本发明涉及到一种通信网络故障分析测试技术,特别涉及到一种采用因特网包探索器检测虚拟局域网的方法及装置。
背景技术
因特网包探索器Ping(以下称为Ping)是一种用于测试网络连接情况的程序,是嵌入式操作系统自带的一个可执行命令。采用Ping可以检查网络是否能够连通,可以较好地帮助网络维护人员分析判定网络故障。在采用Ping进行网络连通测试时,测试程序需要发送一个因特网控制报文协议ICMP回声请求消息给目标设备并报告是否收到所希望的ICMP回声应答。在实际专业维护过程中,网络维护人员通常采用个人电脑PC机进行现场测试,即采用PC机中安装的嵌入式操作系统自带的Ping进行测试。然而,若目标设备携带虚拟局域网VLAN(以下简称VLAN)标签或双层虚拟局域网QinQ标签时,由于嵌入式操作系统自带的Ping没有携带VLAN标签,当此类Ping传输到携带VLAN标签的目标设备时,目标设备将不能识别和响应,使得网络维护人员无法在现场利用个人电脑PC机嵌入式操作系统自带的Ping进行测试,给专线维护工作带来了一定的困难。当然,现场维护人员可以通过Linux等专业系统来设置标签,以发送携带VLAN标签的Ping,但该方法不仅需要设置本机的网络互联协议IP地址,同时还需要为不同的VLAN标签设置不同的IP地址,从而要求维护人员具有较强的专业技术,使得该方法的使用受到较大的限制。显然,现有技术采用因特网包探索器检测虚拟局域网的方法存在着对维护人员专业技术水平要求较高,使得该方法的使用受到较大的限制等问题。
发明内容
为克服现有技术采用因特网包探索器检测虚拟局域网的方法存在的对维护人员专业技术水平要求较高,使得该方法的使用受到较大的限制等问题,本发明提出一种采用因特网包探索器检测虚拟局域网的方法及装置。本发明采用因特网包探索器检测虚拟局域网的方法,采用可编程门阵列技术FPGA构建的发送端接收和解析上层软件发送的网络数据包探索器Ping,定位Ping的首部位置并在相应位置插入虚拟局域网VLAN标签,在Ping数据帧尾部打上循环校验码FCS,形成插入了VLAN标签并打上FCS帧检验码的Ping;采用FPGA构建的接收端接收目标设备传回的网络数据包,同时,剥离VLAN标签并在数据帧尾部打上重新计算的循环校验码FCS;所述发送端包括发送模块和发送缓存区;所述接收端包括接收模块和接收缓存区;所述上层软件包括运行于微处理器芯片ARM架构上的嵌入式操作系统。
进一步的,本发明采用因特网包探索器检测虚拟局域网的方法,包括以下步骤:
⑴ 发送端接收上层软件传递的网络数据包探索器Ping并存入发送缓存区,接收上层软件配置虚拟局域网VLAN的ID号码,即VLAN ID;所述上层软件包括运行于微处理器芯片ARM架构上的嵌入式操作系统;
⑵ 发送端读取发送缓冲区内的数据,以字节为单位向目标设备发送数据,当读取到完整的源介质访问控制MAC地址后,停止读取发送缓冲区的数据;
⑶ 发送端按照用户的要求插入VLAN标签的内容,并以字节为单位继续向目标设备发送数据;
⑷ 发送端继续读取发送缓冲区的数据,直至全部的数据被发送出去,并在数据帧尾部打上循环校验码FCS;
⑸ 发送端发送完重组后的插入了VLAN标签并打上FCS的Ping后,立即向上层软件报告发送状态并停止活动等待上层软件的指令;
⑹ 接收端侦听接收目标设备传回的网络数据包,如果在设定的时间1~3秒内没有接收到目标设备传回的网络数据包,则重复执行步骤⑵至⑸;
⑺ 接收端如果在设定的重复发送次数4~8次内没有接收到目标设备传回的网络数据包,转为执行步骤⑾;否则,顺序执行步骤⑻;
⑻ 接收端接收到目标设备传回的携带VLAN标签的网络数据包对其进行解析,同时,将接收的数据存入接收缓冲区内,当判定源MAC地址结束后立即停止将接收的数据存入接收缓冲区;
⑼ 接收端剥离VLAN标签相关的信息,将接收的数据继续存入接收缓冲区内并在数据帧尾部打上重新计算的循环校验码FCS,完成后,向上层软件报告接收状态;
⑽ 上层软件读取接收缓冲区的网络数据包,计算端到端的网络传输时延和收发的网络数据包总数,并据此显示测试结果,转为执行步骤⑿;其中:传输时延越小,则说明网络传输速度快,收发网络数据包相等,则说明网络质量良好;
⑾ 发送端停止重发,报告网络不能连通;
⑿ 重复上述步骤⑴至⑾,依次完成因特网报文控制协议ICMP帧的处理,直至测试结束。
本发明采用因特网包探索器检测虚拟局域网的装置,包括:控制辅助电路和可编程门阵列技术FPGA功能模块;其中:
所述控制辅助电路,包括:用于接收上层软件配置的各种参数的16/32位精简指令集计算机微处理器芯片ARM,实现网络数据收发的支持分组数据的信息接收和发送的物理层PHY芯片和实现人机对话的触摸显示屏;所述上层软件包括运行于微处理器芯片ARM架构上的嵌入式操作系统;
所述FPGA功能模块包括发送端、接收端、ARM接口和状态指示模块;所述发送端包括发送模块和发送缓存区,所述接收端包括接收模块和接收缓存区;其中:
发送缓冲区的主要功能包括:接收并缓存上层软件发送的网络数据包探索器Ping;
发送模块的主要功能包括:接收上层软件配置虚拟局域网VLAN的ID号码,即VLANID;读取发送缓冲区缓存的Ping,以字节为单位向目标设备发送数据;定位Ping的首部位置并在相应位置插入虚拟局域网VLAN标签,在Ping数据帧尾部打上循环校验码FCS,形成插入了VLAN标签并打上FCS帧检验码的Ping;
接收缓冲区的主要功能包括:接收并缓存接收模块处理后的网络数据包;
接收模块的主要功能包括:接收并解析目标设备传回的携带VLAN标签的网络数据包,剥离VLAN标签并将处理后的数据存入接收缓冲区,并在数据帧尾部打上重新计算的循环校验码FCS;
ARM接口的主要功能包括:接收ARM的控制指令,在FPGA与ARM之间传递数据;
状态指示模块的主要功能包括:向上层软件报告网络数据包的收发状态,控制或指导各个功能模块进行相应的操作。
本发明采用因特网包探索器检测虚拟局域网的方法及装置的有益技术效果是能够有效降对网络维护人员的专业技术要求,简化操作流程,使得网络维护人员能够在现场使用网络测试专用嵌入式设备进行虚拟局域网Ping测试。并且,具备良好的通用性和可扩展性。
附图说明
附图1是本发明采用因特网包探索器检测虚拟局域网方法的步骤示意图;
附图2是本发明采用因特网包探索器检测虚拟局域网装置结构示意图。
下面结合附图和具体实施方式对本发明采用因特网包探索器检测虚拟局域网的方法及装置作进一步的说明。
具体实施方式
附图1是本发明采用因特网包探索器检测虚拟局域网方法的步骤示意图,由图可知,本发明采用因特网包探索器检测虚拟局域网的方法,采用可编程门阵列技术FPGA构建的发送端接收和解析上层软件发送的网络数据包探索器Ping,定位Ping的首部位置并在相应位置插入虚拟局域网VLAN标签,在Ping数据帧尾部打上循环校验码FCS,形成插入了VLAN标签并打上FCS帧检验码的Ping;采用FPGA构建的接收端接收目标设备传回的网络数据包,同时,剥离VLAN标签并在数据帧尾部打上重新计算的循环校验码FCS;所述发送端包括发送模块和发送缓存区;所述接收端包括接收模块和接收缓存区;所述上层软件包括运行于微处理器芯片ARM架构上的嵌入式操作系统。
本发明发起虚拟局域网因特网包探索器的方法,包括以下步骤:
⑴ 发送端接收上层软件传递的网络数据包探索器Ping并存入发送缓存区,接收上层软件配置虚拟局域网VLAN的ID号码,即VLAN ID;所述上层软件包括运行于微处理器芯片ARM架构上的嵌入式操作系统;
⑵ 发送端读取发送缓冲区内的数据,以字节为单位向目标设备发送数据,当读取到完整的源介质访问控制MAC地址后,停止读取发送缓冲区的数据;
⑶ 发送端按照用户的要求插入VLAN标签的内容,并以字节为单位继续向目标设备发送数据;
⑷ 发送端继续读取发送缓冲区的数据,直至全部的数据被发送出去,并在数据帧尾部打上循环校验码FCS;
⑸ 发送端发送完重组后的插入了VLAN标签并打上FCS的Ping后,立即向上层软件报告发送状态并停止活动等待上层软件的指令;
⑹ 接收端侦听接收目标设备传回的网络数据包,如果在设定的时间1~3秒内没有接收到目标设备传回的网络数据包,则重复执行步骤⑵至⑸;
⑺ 接收端如果在设定的重复发送次数4~8次内没有接收到目标设备传回的网络数据包,转为执行步骤⑾;否则,顺序执行步骤⑻;
⑻ 接收端接收到目标设备传回的携带VLAN标签的网络数据包对其进行解析,同时,将接收的数据存入接收缓冲区内,当判定源MAC地址结束后立即停止将接收的数据存入接收缓冲区;
⑼ 接收端剥离VLAN标签相关的信息,将接收的数据继续存入接收缓冲区内并在数据帧尾部打上重新计算的循环校验码FCS,完成后,向上层软件报告接收状态;
⑽ 上层软件读取接收缓冲区的网络数据包,计算端到端的网络传输时延和收发的网络数据包总数,并据此显示测试结果,转为执行步骤⑿;其中:传输时延越小,则说明网络传输速度快,收发网络数据包相等,则说明网络质量良好;
⑾ 发送端停止重发,报告网络不能连通;
⑿ 重复上述步骤⑴至⑾,依次完成因特网报文控制协议ICMP帧的处理,直至测试结束。
附图2是本发明采用因特网包探索器检测虚拟局域网装置结构示意图,由图可知,本发明采用因特网包探索器检测虚拟局域网的装置,包括:控制辅助电路和可编程门阵列技术FPGA功能模块;其中:
所述控制辅助电路,包括:用于接收上层软件配置的各种参数的16/32位精简指令集计算机微处理器芯片ARM,实现网络数据收发的支持分组数据的信息接收和发送的物理层PHY芯片和实现人机对话的触摸显示屏;所述上层软件包括运行于微处理器芯片ARM架构上的嵌入式操作系统;
所述FPGA功能模块包括发送端、接收端、ARM接口和状态指示模块;所述发送端包括发送模块和发送缓存区,所述接收端包括接收模块和接收缓存区;其中:
发送缓冲区的主要功能包括:接收并缓存上层软件发送的网络数据包探索器Ping;
发送模块的主要功能包括:接收上层软件配置虚拟局域网VLAN的ID号码,即VLANID;读取发送缓冲区缓存的Ping,以字节为单位向目标设备发送数据;定位Ping的首部位置并在相应位置插入虚拟局域网VLAN标签,在Ping数据帧尾部打上循环校验码FCS,形成插入了VLAN标签并打上FCS帧检验码的Ping;
接收缓冲区的主要功能包括:接收并缓存接收模块处理后的网络数据包;
接收模块的主要功能包括:接收并解析目标设备传回的携带VLAN标签的网络数据包,剥离VLAN标签并将处理后的数据存入接收缓冲区,并在数据帧尾部打上重新计算的循环校验码FCS;
ARM接口的主要功能包括:接收ARM的控制指令,在FPGA与ARM之间传递数据;
状态指示模块的主要功能包括:向上层软件报告网络数据包的收发状态,控制或指导各个功能模块进行相应的操作。
本发明采用因特网包探索器检测虚拟局域网的方法及装置的出发点是在不修改嵌入式操作系统自带的TCP/IP协议栈的前提下,通过FPGA构建的发送端和接收端来实现VLAN标签的插入和剥离,简化维护人员的操作流程和手续。FPGA构建的发送端和接收端通过地址总线、数据总线和控制总线与ARM处理器相连。经过嵌入式操作系统调用TCP/IP协议栈后,在内存中产生了Ping包,ARM通过读取内存的Ping包数据,然后通过地址总线、数据总线和控制总线向FPGA发送,FPGA构建的发送端在原来的Ping中插入VLAN标签并打上FCS形成新的Ping并向目标设备发送,携带VLAN标签的目标设备识别和响应新的Ping并返回网络数据包,FPGA构建的接收端剥离VLAN标签并打上重新计算的循环校验码FCS,嵌入式操作系统读取网络数据包,计算端到端的网络传输时延和收发的网络数据包总数,并据此显示测试结果。本发明采用因特网包探索器检测虚拟局域网的方法及装置有效降对网络维护人员的专业技术要求,由于整个装置采用地址总线、数据总线和控制总线与运行于微处理器芯片ARM架构上的嵌入式操作系统进行信息交互,且采用FPGA构建发送端和接收端。因此,具备良好的通用性和可扩展性。
显然,本发明采用因特网包探索器检测虚拟局域网的方法及装置的有益技术效果是能够有效降对网络维护人员的专业技术要求,简化操作流程,使得网络维护人员能够在现场使用网络测试专用嵌入式设备进行虚拟局域网Ping测试。并且,具备良好的通用性和可扩展性。