掌桥专利:专业的专利平台
掌桥专利
首页

一种面向教学应用的网络指令虚拟仿真实现方法及系统

文献发布时间:2023-06-19 18:35:48


一种面向教学应用的网络指令虚拟仿真实现方法及系统

技术领域

本发明涉及网络教学的虚拟仿真技术领域,具体涉及一种面向教学应用的网络指令虚拟仿真实现方法及系统。

背景技术

当前对于网络设备的操作指令的实现主要有两种:方法1、利用硬件设备搭建实验环境,通过硬件的仿制建设来实现;方法2、利用虚拟机安装硬件设备中所搭载的操作系统来实现。但是,以两种实现方式虽然能很完美的实现网络设备指令的还原,但方法1的成本太高,上述方法2的效率又太低且更新速度无法跟上硬件的发展速度。随着VR(虚拟现实)和数字孪生技术的发展,职业技能培训的虚拟仿真的需求日益旺盛,网络通信相关专业的实训内容一直受制于制作成本高和效率低,尤其在数通实操方面,其中主要原因之一就是网络设备的操作指令的还原难度大,成本高。

发明内容

本发明要解决的技术问题:针对现有技术的上述问题,提供一种面向教学应用的网络指令虚拟仿真实现方法及系统,本发明旨在低成本和高效率地实现网络指令的虚拟仿真还原,满足实训教学的应用场景需求。

为了解决上述技术问题,本发明采用的技术方案为:

一种面向教学应用的网络指令虚拟仿真实现方法,包括:

S101,确定教学应用中涉及的网络设备和网络指令;

S102,将确定的网络指令划分为配置类指令和测试类指令两类指令,所述配置类指令用于完成对网络设备的配置修改,所述测试类指令用于依据网络设备的配置完成对网络设备之间的网络测试;

S103,为配置类指令创建配置缓存数据结构以用于保存和更新配置数据,为测试类指令设计所需网络设备的仿真逻辑,以结合配置类指令的配置数据的定义输出结果;分别为配置类指令和测试类指令按照统一的接口原则根据配置缓存数据结构或者仿真逻辑开发对应的仿真逻辑程序;

S104,将所有仿真逻辑程序装入仿真引擎;

S105,检测用户输入的网络指令,若检测到网络指令,则执行对应的仿真逻辑程序,并返回执行结果以完成对该网络指令的仿真。

可选地,步骤S101中的网络设备包括主机以及交换机、路由器两者的至少一种。

可选地,步骤S105中执行对应的仿真逻辑程序之前,还包括仿真引擎根据网络指令与预先装入仿真逻辑程序的网络指令库进行匹配以确定对应的仿真逻辑程序。

可选地,步骤S105中执行对应的仿真逻辑程序时,网络指令为配置类指令,且执行对应的仿真逻辑程序包括:

S201,为网络指令分配指令编号,并解析出目标网络设备以及指令参数;

S202,将指令编号、目标网络设备以及指令参数传入仿真引擎;

S203,仿真引擎通过对指令编号和目标网络设备的识别,获取相应目标网络设备的配置缓存数据结构,并根据网络指令的指令参数更新目标网络设备的配置缓存数据结构。

可选地,步骤S105中执行对应的仿真逻辑程序时,网络指令为测试类指令,且执行对应的仿真逻辑程序包括:

S301,为网络指令分配指令编号,并解析出目标网络设备以及指令参数;

S302,将指令编号、目标网络设备以及指令参数传入验证引擎;

S303,验证引擎通过指令编号和目标网络设备解析出网络指令的执行路径,所述执行路径包括目标网络设备的执行顺序,根据网络指令的执行路径生成目标网络设备列表;

S304,从目标网络设备列表中遍历取出一个当前目标网络设备;若遍历成功,则跳转步骤S305;否则,跳转步骤S307;

S305,将当前目标网络设备、指令编号、指令参数传给仿真引擎以进行通过性校验;

S306,仿真引擎首先通过目标网络设备获取其配置指令缓存数据,然后通过对指令编号和指令参数的解析给出当前目标网络设备的通过性校验的结果,最后将执行结果反馈给验证引擎;跳转步骤S304;

S307,若目标网络设备列表中任意一个目标网络设备的通过性校验的结果为通过性校验失败,则返回网络指令执行失败;若目标网络设备列表中所有的目标网络设备的通过性校验的结果均为通过性校验成功,则返回网络指令执行成功。

可选地,步骤S101中的网络指令包括ping指令和VLAN指令,其中VLAN指令为配置类指令,用于配置网络设备所属的虚拟局域网;ping指令用于基于CIMP协议测试主机与某一主机、交换机或路由器之间的网络路径的网络指令。

可选地,步骤S103中为测试类指令设计所需网络设备的仿真逻辑时,包括为VLAN指令创建配置缓存数据结构以用于保存和更新虚拟局域网的配置数据。

可选地,步骤S103中为测试类指令设计所需网络设备的仿真逻辑时,包括为ping指令设计对应的仿真逻辑,且为ping指令设计对应的仿真逻辑包括:

S401,识别VLAN指令为配置类指令;

S402,仿真程序解析出VLAN指令的目标网络设备和指令参数,并将目标网络设备和指令参数中的配置数据以键值对的形式存入配置缓存数据结构中。

此外,本发明还提供一种面向教学应用的网络指令虚拟仿真实现系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行所述面向教学应用的网络指令虚拟仿真实现方法。

此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序用于被微处理器编程或配置以执行所述面向教学应用的网络指令虚拟仿真实现方法。

和现有技术相比,本发明主要具有下述优点:真实的网络命令(包括ping),本质上是一种执行在操作系统上的指令,由其所处的系统环境负责解析并执行,然后反馈执行结果。对于教学而言,为了达到最好的教学效果,需要对指令的输入和输出进行完全的仿真,以便实现模拟真实的实训。常规的仿真做法是采购对应的网络设备,或者在虚拟机上安装相应的操作系统来实现对网络命令的仿真还原。而本发明面向教学特性,根据教学需求来拆解仿真范围及方式,从而模拟一套仿真执行逻辑,实现低成本和高效率的网络命令仿真。本发明通过编程的方式实现网络命令的虚拟仿真,在不采购网络设备或不部署复杂操作系统的情况下,保证仿真程度,大大降低了网络命令的虚拟仿真成本,提高效率,可低成本和高效率地实现网络指令的虚拟仿真还原,满足实训教学的应用场景需求。

附图说明

图1为本发明实施例方法的基本流程示意图。

图2为本发明实施例中ping指令设计对应的仿真逻辑程序中的主机部分。

图3为本发明实施例中ping指令设计对应的仿真逻辑程序中的交换机部分。

图4为本发明实施例中ping指令设计对应的仿真逻辑程序中的路由器部分。

具体实施方式

如图1所示,本实施例中面向教学应用的网络指令虚拟仿真实现方法包括:

S101,确定教学应用中涉及的网络设备和网络指令;

S102,将确定的网络指令划分为配置类指令和测试类指令两类指令,所述配置类指令用于完成对网络设备的配置修改,所述测试类指令用于依据网络设备的配置完成对网络设备之间的网络测试;

S103,为配置类指令创建配置缓存数据结构以用于保存和更新配置数据,为测试类指令设计所需网络设备的仿真逻辑,以结合配置类指令的配置数据的定义输出结果;分别为配置类指令和测试类指令按照统一的接口原则根据配置缓存数据结构或者仿真逻辑开发对应的仿真逻辑程序;

S104,将所有仿真逻辑程序装入仿真引擎;

S105,检测用户输入的网络指令,若检测到网络指令,则执行对应的仿真逻辑程序,并返回执行结果以完成对该网络指令的仿真。

本实施例中,步骤S101中的网络设备包括主机以及交换机、路由器两者的至少一种。

依据教学需求,将网络设备按工作特性进行分类,如:路由器、交换机、主机等,并按实训过程所涉及的设备指令及指令参数进行范围界定,减少仿真的工作量。圈定的设备范围内,将指令分类为配置类和测试类。为配置类指令创建系统缓存数据结构,用于保存和更新配置数据;为测试类指令设计相应的仿真逻辑方法,并结合配置数据定义输出结果。在圈定的设备和指令两个维度上,针对测试类指令按照统一接口原则开发相应的仿真逻辑程序,并将所有的仿真逻辑程序装入仿真引擎。检测到指令后,通过比对指令类别库,将指令识别为配置类或测试类,并根据指令的不同类别,执行不同的仿真逻辑,并将执行的结果返回,实现网络指令的仿真。

本实施例中,步骤S105中执行对应的仿真逻辑程序之前,还包括仿真引擎根据网络指令与预先装入仿真逻辑程序的网络指令库进行匹配以确定对应的仿真逻辑程序。

本实施例中,步骤S105中执行对应的仿真逻辑程序时,网络指令为配置类指令,且执行对应的仿真逻辑程序包括:

S201,为网络指令分配指令编号,并解析出目标网络设备以及指令参数;

S202,将指令编号、目标网络设备以及指令参数传入仿真引擎;

S203,仿真引擎通过对指令编号和目标网络设备的识别,获取相应目标网络设备的配置缓存数据结构,并根据网络指令的指令参数更新目标网络设备的配置缓存数据结构。

本实施例中,步骤S105中执行对应的仿真逻辑程序时,网络指令为测试类指令,且执行对应的仿真逻辑程序包括:

S301,为网络指令分配指令编号,并解析出目标网络设备以及指令参数;

S302,将指令编号、目标网络设备以及指令参数传入验证引擎;

S303,验证引擎通过指令编号和目标网络设备解析出网络指令的执行路径,所述执行路径包括目标网络设备的执行顺序,根据网络指令的执行路径生成目标网络设备列表;

S304,从目标网络设备列表中遍历取出一个当前目标网络设备;若遍历成功,则跳转步骤S305;否则,跳转步骤S307;

S305,将当前目标网络设备、指令编号、指令参数传给仿真引擎以进行通过性校验;

S306,仿真引擎首先通过目标网络设备获取其配置指令缓存数据,然后通过对指令编号和指令参数的解析给出当前目标网络设备的通过性校验的结果,最后将执行结果反馈给验证引擎;跳转步骤S304;

S307,若目标网络设备列表中任意一个目标网络设备的通过性校验的结果为通过性校验失败,则返回网络指令执行失败;若目标网络设备列表中所有的目标网络设备的通过性校验的结果均为通过性校验成功,则返回网络指令执行成功。

本实施例将以其中一个常用命令(ping)为例来进行说明,ping指令作为最常用的网络命令,可以在最广泛的网络设备中使用,以它为例,说明如何利用本发明方法来实现对网络指令的虚拟仿真。本实施例步骤S101中的网络指令包括ping指令和VLAN指令,其中VLAN指令为配置类指令,用于配置网络设备所属的虚拟局域网;ping指令用于基于CIMP协议测试主机与某一主机、交换机或路由器之间的网络路径的网络指令。

本实施例步骤S103中为测试类指令设计所需网络设备的仿真逻辑时,包括为VLAN指令创建配置缓存数据结构以用于保存和更新虚拟局域网的配置数据。

本实施例步骤S103中为测试类指令设计所需网络设备的仿真逻辑时,包括为ping指令设计对应的仿真逻辑,且为ping指令设计对应的仿真逻辑包括:

S401,识别VLAN指令为配置类指令;

S402,仿真程序解析出VLAN指令的目标网络设备和指令参数,并将目标网络设备和指令参数中的配置数据以键值对的形式存入配置缓存数据结构中。

步骤S303验证引擎通过指令编号和目标网络设备解析出网络指令的执行路径时,验证引擎接到传入的数据后,依据指令编号和目标网络设备,解析出执行路径如下:主机1->交换机1->路由器,并依据执行路径生成执行网络设备列表如下:主机1、交换机1、路由器、交换机1、主机1。验证引擎对执行网络设备列表进行轮询,并依次将指令编号、执行网络设备和指令参数传入测试指令仿真引擎。仿真引擎接到传入的数据后依据执行网络设备,在配置数据缓存库中获取配置数据。依据执行网络设备的设备类型执行不同的判断逻辑,执行的具体逻辑为S401和S402对应的逻辑程序,如果逻辑程序的执行结果为“丢弃报文”则返回不通过,否则返回为通过。验证引擎对执行网络设备列表轮询完毕后,执行网络设备列表中所有测试指令仿真引擎的返回结果均为通过时,则表示测试指令执行成功,如有任一执行网络设备的测试指令仿真引擎返回结果为不通过,则测试指令执行失败。

依照教学范围圈定实现指令的设备范围为:主机、交换机、路由器,由于ping指令属于测试类指令,因此为ping指令设计仿真逻辑程序的执行流程如图2~图4所示。

参见图2,仿真逻辑程序的主机部分涉及ping指令的报文发送,其步骤包括:

S501,发起ping指令的报文(解析获取源IP);

S502,判断源IP和报文的目标IP是否同网段,如果是同网段,则直接发送报文,并返回报文成功;否则,将报文交给下一级网络设备(路由器或交换机),结束。

参见图3,仿真逻辑程序的交换机部分涉及ping指令的报文交换,其步骤包括:

S601,接到ping指令的报文(解析获取源IP);

S602,判断收到ping指令的报文的接口类型,若接口类型为访问(access),则跳转步骤S603;若接口类型为中继/透传(trunk),则跳转步骤S604;

S603,判断报文是否带有VLAN(虚拟局域网)标志,若带VLAN标志则丢弃报文,结束;否则,为报文打上VLAN标志,若尚未通过VLAN指令配置VLAN标志,则打上默认的VLAN标志(例如VLAN1),跳转步骤S605;

S604,判断报文是否带有VLAN(虚拟局域网)标志,若带VLAN标志则进行检查放行规则(通过VLAN指令配置),若检查放行规则不通过,则丢弃报文,结束;若检查放行规则通过,则跳转步骤S605;若报文不带VLAN标志,则为报文打上VLAN标志,若尚未通过VLAN指令配置VLAN标志,则打上默认的VLAN标志(例如VLAN1),跳转步骤S605;

S605,判断本VLAN下是否存在报文的目标IP,若存在报文的目标IP,则将报文发达到目标IP,然后将报文的目标IP、源IP进行对调,跳转步骤S602进行反向验证流程;否则,判断本VLAN是否配置VLANIF(用于三层交换机的虚拟局域网逻辑接口),如果未配置VLANIF,则丢弃报文,结束;否则,跳转步骤S606;

S606,判断所有的配置VLANIF的VLAN下是否存在报文的目标IP,若存在报文的目标IP,则将报文发达到目标IP,然后将报文的目标IP、源IP进行对调,跳转步骤S602进行反向验证流程;否则,跳转步骤S607;

S607,判断路由表中是否配置有报文的目标IP的下一跳(交换机或路由器),若有则将报文的目标IP发送给下一跳的交换机或路由器;同时,找到所有的配置VLANIF下所有非本体(native)的中继/透传(trunk)口,将报文的目标IP通过该中继/透传(trunk)口发送给下一跳的交换机或路由器。

参见图4,仿真逻辑程序的路由器部分涉及ping指令的报文交换,其步骤包括:

S701,接到ping指令的报文(解析获取源IP和目标IP);

S702,判断路由表是否有配置,若尚未配置,则丢弃报文,结束;否则,跳转步骤S703;

S703,判断是否有端口配置为目标IP,若无端口配置为目标IP,则将ping指令的报文转发给下一级设备(路由器或交换机)。否则,将报文发达到目标IP,然后将报文的目标IP、源IP进行对调,跳转步骤S602进行反向验证流程。

综上所述,通过本实施例面向教学应用的网络指令虚拟仿真实现方法,可以通过编程的方式实现网络命令的虚拟仿真,在不采购网络设备或不部署复杂操作系统的情况下,保证仿真程度,大大降低了网络命令的虚拟仿真成本,提高效率。

此外,本实施例还提供一种面向教学应用的网络指令虚拟仿真实现系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行前述面向教学应用的网络指令虚拟仿真实现方法。此外,本实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序用于被微处理器编程或配置以执行前述面向教学应用的网络指令虚拟仿真实现方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术分类

06120115626918