CN114285757A - 网络仿真方法、装置、设备及计算机可读存储介质 - Google Patents

网络仿真方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN114285757A
CN114285757A CN202010989453.7A CN202010989453A CN114285757A CN 114285757 A CN114285757 A CN 114285757A CN 202010989453 A CN202010989453 A CN 202010989453A CN 114285757 A CN114285757 A CN 114285757A
Authority
CN
China
Prior art keywords
network
simulation
data
connectivity
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010989453.7A
Other languages
English (en)
Inventor
蒋忠平
李华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010989453.7A priority Critical patent/CN114285757A/zh
Priority to PCT/CN2021/107098 priority patent/WO2022057431A1/zh
Priority to EP21868260.7A priority patent/EP4207698A4/en
Publication of CN114285757A publication Critical patent/CN114285757A/zh
Priority to US18/185,643 priority patent/US20230216773A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • H04L43/55Testing of service level quality, e.g. simulating service usage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了网络仿真方法、装置、设备及存储介质,以网络管理设备执行该方法为例,网络管理设备采集当前网络的网络数据。之后,网络管理设备根据该当前网络的网络数据生成仿真网络。在有网络变更需求时,能够基于仿真变更指令对仿真网络进行变更,得到变更后的仿真网络的数据。网络管理设备根据变更后的仿真网络的数据及连通性仿真输入参数,获取连通性仿真结果。通过采集当前网络的网络数据,还原并另行生成一套独立的仿真网络,通过在仿真网络实施变更,并使用变更后的仿真网络产生的网络数据以及连通性仿真输入参数进行连通性仿真,从而实现在不改当前网络运行的情况下,能够预先评估网络变更对网络业务的影响。

Description

网络仿真方法、装置、设备及计算机可读存储介质
技术领域
本申请涉及网络运维技术领域,尤其涉及一种网络仿真方法、装置、设备及计算机可读存储介质。
背景技术
在网络运维过程中,如果用户需要对网络进行某些变更操作,例如更改设备配置、变更网络拓扑,设备上下线等,在实施这些网络变更前无法准确的评估由此会带来哪些影响,尤其是否影响网络中关键业务的互访。
因此,需要一种网络仿真方法,能在网络变更实施前,来评估变更实施后对现网业务的影响,避免网络变更后发生业务报障的情况。
发明内容
本申请提供了一种网络仿真方法、装置、设备及计算机可读存储介质,以解决相关技术提供的问题,技术方案如下:
第一方面,提供了一种网络仿真方法,以网络管理设备执行该方法为例,网络管理设备采集当前网络的网络数据。之后,网络管理设备根据当前网络的网络数据生成仿真网络。在有网络变更需求时,能够基于仿真变更指令对仿真网络进行变更,得到变更后的仿真网络的数据。网络管理设备根据变更后的仿真网络的数据及连通性仿真输入参数,获取连通性仿真结果。
通过采集当前网络的网络数据,还原并另行生成一套独立的仿真网络,通过在仿真网络实施变更,并使用变更后的仿真网络产生的数据以及连通性仿真输入参数进行仿真,从而实现在不改当前网络运行的情况下,能够预先评估网络变更对网络业务的影响。此外,还能在实施网络变更操作前,通过提前发现特定报文在变更实施后在网络中的转发是否符合预期,同时对网络中正常业务报文的转发无影响。
在一种可能的实现方式中,根据变更后的仿真网络的数据及连通性仿真输入参数,获取连通性仿真结果,包括:将变更后的仿真网络的数据及连通性仿真输入参数导入仿真引擎,仿真引擎用于根据变更后的仿真网络的数据及连通性仿真输入参数获取连通性仿真结果;从仿真引擎获取连通性仿真结果。
通过将变更后的仿真网络的数据及连通性仿真输入参数导入仿真引擎,由仿真引擎获取连通性仿真结果,从而实现在不改当前网络运行的情况下,能够预先评估网络变更对网络业务可达性的影响。
在一种可能的实现方式中,连通性仿真输入参数包括源IP地址及目的IP地址,根据变更后的仿真网络的数据及连通性仿真输入参数,获取连通性仿真结果,包括:根据变更后的仿真网络的数据生成路由转发表项;根据路由转发表项及变更后的仿真网络的数据中的设备配置数据确定源地址及目的IP地址之间的连通性仿真结果。
通过采集当前网络的网络数据,还原并另行生成一套独立的仿真网络,通过在仿真网络实施变更,并使用仿真网络产生的网管数据也即变更后的仿真网络的数据及连通性仿真输入参数导入仿真引擎,计算网络中IP间可达性、路径等,从而实现在不改当前网络运行的情况下,能够预先评估网络变更对网络业务可达性的影响。此外,本申请实施例提供的方法还能在实施网络变更操作前,通过提前发现特定报文在变更实施后在网络中的转发是否符合预期,同时对网络中正常业务报文的转发无影响。
第二方面,提供了一种网络仿真装置,该装置包括:
获取模块,用于采集当前网络的网络数据;
生成模块,用于根据当前网络的网络数据生成仿真网络;
变更模块,用于基于仿真变更指令对仿真网络进行变更,得到变更后的仿真网络的数据;
仿真模块,用于根据变更后的仿真网络的数据及连通性仿真输入参数,获取连通性仿真结果。
在一种可能的实现方式中,仿真模块,用于将变更后的仿真网络的数据及连通性仿真输入参数导入仿真引擎,仿真引擎用于根据变更后的仿真网络的数据及连通性仿真输入参数获取连通性仿真结果;从仿真引擎获取连通性仿真结果。
在一种可能的实现方式中,连通性仿真输入参数包括源网际协议IP地址及目的IP地址,仿真模块,用于根据变更后的仿真网络的数据生成路由转发表项;根据路由转发表项及变更后的仿真网络的数据中的设备配置数据确定源IP地址及目的IP地址之间的连通性仿真结果。
在第一方面或第二方面的一种可能的实现方式中,连通性仿真结果包括第一连通性仿真结果以及源IP地址与目的IP地址之间的互访路径,第一连通性仿真结果用于指示源IP地址与目的IP地址之间可达;或者,连通性仿真结果包括第二连通性仿真结果及中断位置信息,第二连通性仿真结果用于指示源IP地址与目的IP地址之间不可达。
在第一方面或第二方面的一种可能的实现方式中,仿真变更指令包括用于新增网络设备的指令、用于删除网络设备的指令、用于新增链路的指令、用于删除链路的指令、用于修改链路的接口的指令以及用于变更设备配置的指令中的至少一种指令。
在第一方面或第二方面的一种可能的实现方式中,当前网络的网络数据包括当前网络的网络拓扑数据、设备配置数据及设备类型数据;变更后的仿真网络的数据包括变更后的仿真网络的网络拓扑数据、设备配置数据及设备类型数据。
还提供一种网络设备,该网络设备包括:存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以使网络设备实现上述任一所述的网络仿真方法。
还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上任一所述的网络仿真方法。
提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法。
作为一种示例性实施例,所述处理器为一个或多个,所述存储器为一个或多个。
作为一种示例性实施例,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的另一种应用场景示意图;
图3为本申请实施例提供的网络设备的结构示意图;
图4为本申请实施例提供的网络仿真方法流程图;
图5为本申请实施例提供的网络仿真方法流程交互示意图;
图6为本申请实施例提供的网络仿真过程示意图;
图7为本申请实施例提供的网络仿真装置的结构示意图;
图8为本申请实施例提供的网络设备的结构示意图;
图9为本申请实施例提供的网络设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的实施例进行解释,而非旨在限定本申请。
在网络运维过程中,常常会涉及一些网络变更的场景。例如,用户需要对网络中实施包括设备的配置、网络拓扑甚至是设备上下线等相关变更操作。如果需要对网络进行某些变更操作,在实施这些网络变更前无法准确的评估由此会带来哪些影响,尤其是否影响网络中关键业务的互访。那么在实施网络变更后,网络中的某些业务会受到影响,如网络变更前能够互访的业务,网络变更后无法互访,网络变更前转发路径最优,网络变更后转发路径有绕行等等。
在实际运维过程中,针对网络变更的场景,一般只能等变更实施后,看是否业务报障来评估此次变更是否符合预期。但业务出现故障后报障,网络管理员会进行故障排查,因而会影响业务连续运行。如果短期内无法排查,还需要将变更进行回滚后检查问题,择机再重新进行变更操作,从而使得网络运维人员处于极其被动的局面,运维效率也低。
对此,本申请实施例提供了一种网络仿真方法,能在网络变更实施前,来评估变更实施后对当前网络中的业务的影响,避免网络变更后发生业务报障的情况。例如,以该方法应用于图1所示的场景为例,图1中所示的网络仿真系统包括SDN控制器001和转发器002。SDN控制器001与转发器002之间通过互联链路003进行连接。图1左侧所示的物理网络为当前网络,该当前网络中包括6个转发器002以及7条互联链路003。根据物理网络的网络数据生成仿真网络后,通过执行仿真变更指令,得到图1右侧所示的仿真合成网络,也即变更后的仿真网络。从图1右侧所示的仿真网络中不难看出,新增了一个转发器002,对已有转发器002配置了VM1和VM2,并下线了其中一条已有链路。
其中,SDN控制器001的结构如图2所示,该SDN控制器001包括中央处理器(centralprocessing unit,CPU)、随机存取存储器(random access memory,RAM)、FLASH存储器以及以太网接口。CPU是SND控制器001的控制单元,运行的程序和静态配置的参数保存在FLASH中。程序运行时执行的代码和数据放置在与CPU相连的RAM中。以太网接口完成设备之间的光口或电口的以太网对接以及负责报文收发。
接下来,以SDN控制器001作为执行本申请实施例提供的方法的网络管理设备为例,对本申请实施例提供的方法进行说明。参见图3,本申请实施例提供的网络仿真方法包括如下几个过程。
301,网络管理设备采集当前网络的网络数据。
示例性地,当前网络的网络数据包括当前网络的网络拓扑数据、设备配置数据及设备类型数据。本申请实施例不对当前网络的网络拓扑数据、设备配置数据以及设备类型数据的内容进行限定。示例性地,当前网络的网络拓扑数据包括但不限于当前网络的接口状态变化数据、网络拓扑标识、网络拓扑中的节点数量以及连接关系等。当前网络的设备配置数据包括但不限于当前网络的设备的接口配置数据、网络及协议配置等。当前网络的设备类型数据包括但不限于当前网络的设备型号和设备类型等。
关于网络设备采集当前网络的网络数据的方式,本申请实施例同样不进行限定。例如,当前网络中的各个设备主动上报设备配置数据以及设备类型数据,由网络设备收集得到当前网络的设备配置数据以及设备类型数据,并基于设备配置数据以及设备类型数据得到网络拓扑数据。或者,网络设备向当前网络中的各个设备下发数据采集指令,使当前网络中的各个设备基于该数据采集指令上报设备配置数据以及设备类型数据。
无论采取何种方式采集到当前网络的网络数据,由于该当前网络的网络数据属于运行态数据,也即是在当前网络中正在应用的数据,因而如果需要进行网络变更,例如变更设备配置、变更网络结构等,均会对当前网络的业务产生影响。对此,本申请实施例提供的方法在网络变更实施前,先来评估变更实施后对当前网络中的业务的影响。此外,为了不影响当前网络的业务,本申请实施例提供的方法并不直接对当前网络进行变更,而是复制当前网络的网络数据,得到网络数据的副本,从而基于网络数据的副本进行网络仿真。
在本申请实施例中,将该当前网络的网络数据与网络数据的副本分开存储,例如,将当前网络的网络数据存储至运行态数据库中,将网络数据的副本存储至仿真态数据库中。
302,网络管理设备根据当前网络的网络数据生成仿真网络。
由于网络数据的副本是通过复制当前网络的网络数据得到的,因而网络数据的副本与当前网络的网络数据一致,通过根据网络数据的副本生成仿真网络,使得仿真网络与当前网络的网络环境相同,进而能够实现在相同网络环境下进行网络仿真。
关于根据网络数据的副本生成仿真网络的方式,本申请实施例不进行限定。由于当前网络的网络数据包括当前网络的网络拓扑数据、设备配置数据及设备类型数据,因而网络数据的副本包括网络拓扑数据的副本、设备配置数据的副本及设备类型数据的副本。网络设备基于网络拓扑数据的副本、设备配置数据的副本及设备类型数据的副本生成仿真网络。
303,网络管理设备基于仿真变更指令对仿真网络进行变更,得到变更后的仿真网络的数据。
在生成仿真网络后,根据网络变更需求,便能够在仿真网络中进行网络变更。例如,网络管理员输入仿真变更指令,网络设备基于该仿真变更指令对仿真网络进行变更,从而得到变更后的仿真网络的数据。示例性地,仿真变更指令包括但不限于用于新增网络设备的指令、用于删除网络设备的指令、用于新增链路的指令、用于删除链路的指令、用于修改链路的接口的指令以及用于变更设备配置的指令中的至少一种指令。
以图2所示的场景为例,该仿真变更指令包括用于新增网络设备的指令以及用于删除链路的指令。通过用于新增网络设备的指令在仿真网络中增加新的网络设备,通过用于删除链路的指令在仿真网络中删除已有的链路,如此得到变更后的仿真网络。之后,便可以对该变更后的仿真网络进行数据采集,得到变更后的仿真网络的数据。示例性地,该变更后的仿真网络的数据包括变更后的网络拓扑数据、变更后的设备配置数据及变更后的设备类型数据。
304,网络管理设备根据变更后的仿真网络的数据及连通性仿真输入参数,获取连通性仿真结果。
通过对仿真网络进行网络变更之后,为了在网络变更实施前,先来评估变更实施后对当前网络中的业务的影响,本申请实施例提供的方法可接收连通性仿真输入参数,以基于该连通性仿真输入参数和变更后的仿真网络的数据来进行网络仿真,得到连通性仿真结果,从而分析网络变更的影响。
本申请实施例不对连通性仿真输入参数进行限定,可基于仿真需求来确定。例如,如果需要进行网络连通性仿真,则连通性仿真输入参数包括但不限于仿真连通性的源IP地址与目的IP地址。除此之外,该连通性仿真输入参数还包括但不限于协议以及端口号等参数。
在示例性实施例中,网络设备根据变更后的仿真网络的数据及连通性仿真输入参数,获取连通性仿真结果的方式,包括但不限于如下两种。
方式一:根据变更后的仿真网络的数据及连通性仿真输入参数,获取连通性仿真结果,包括:将变更后的仿真网络的数据及连通性仿真输入参数导入仿真引擎,仿真引擎用于根据变更后的仿真网络的数据及连通性仿真输入参数获取连通性仿真结果;从仿真引擎获取连通性仿真结果。
该方式一中,网络设备并不直接基于变更后的仿真网络的数据及连通性仿真输入参数获取连通性仿真结果,而是将变更后的仿真网络的数据及连通性仿真输入参数发送至仿真引擎。仿真引擎是一种能够基于网络数据进行仿真的组件,且具有执行仿真算法的能力。因此,仿真引擎接收到变更后的仿真网络的数据及连通性仿真输入参数后,能够通过仿真算法获取得到连通性仿真结果。示例性地,仿真引擎以微服务组件方式集成到网络设备中,与网络设备采用内部接口通信,则网络设备通过内部接口将变更后的仿真网络的数据及连通性仿真输入参数发送至仿真引擎。或者,仿真引擎集成到该网络设备之外的其他设备上,而该网络设备能够与集成有仿真引擎的其他设备进行通信连接,以访问该仿真引擎,将变更后的仿真网络的数据及连通性仿真输入参数发送至仿真引擎。
方式二:连通性仿真输入参数包括源IP地址及目的IP地址,根据变更后的仿真网络的数据及连通性仿真输入参数,获取连通性仿真结果,包括:根据变更后的仿真网络的数据生成路由转发表项;根据路由转发表项及变更后的仿真网络的数据中的设备配置数据确定源IP地址及目的IP地址之间的连通性仿真结果。
方式二中,网络设备基于变更后的仿真网络的数据及连通性仿真输入参数直接获取连通性仿真结果。例如,网络设备基于变更后的仿真网络的数据及连通性仿真输入参数通过仿真算法获取得到连通性仿真结果。以连通性仿真输入参数包括源IP地址及目的IP地址为例,网络设备基于变更后的仿真网络的数据生成路由转发表项。此外,由于设备配置数据包括但不限于设备的接口配置数据、网络及协议配置等,因而在需要仿真计算源IP地址及目的IP地址之间的连通性时,结合变更后的仿真网络的数据中的设备配置数据通过仿真算法求得源IP地址与目的IP地址之间的路径经过的每个设备、并根据报文在每个设备中匹配的转发表项计算出经过的出入接口、同时还会计算报文在设备中是否会匹配已配置的访问控制策略,判断报文是否会被拦截等,通过判别结果得出源IP地址与目的IP地址之间的连通性仿真结果。
示例性地,如果源IP地址与目的IP地址之间路径可达,则连通性仿真结果包括第一连通性仿真结果以及源IP地址与目的IP地址之间的互访路径,第一连通性仿真结果用于指示源IP地址与目的IP地址之间可达。如果源IP地址与目的IP地址之间路径不可达,则连通性仿真结果包括第二连通性仿真结果及中断位置信息,第二连通性仿真结果用于指示源IP地址与目的IP地址之间不可达。其中,中断位置信息用于指示中断位置,例如该中断位置信息为某个设备的地址,由此表明是在该设备处发生中断。此外,针对源IP地址与目的IP地址之间路径不可达的情况,连通性仿真结果中还包括中断原因,例如是因为路由不可达或是因为策略阻断等。
需要说明的是,如果源IP地址与目的IP地址之间路径可达,控制器可对互访路径进行显示。如果源IP地址与目的IP地址之间的互访路径有多条,则控制器还可对多条互访路径全部进行显示。关于显示互访路径的方式,本申请实施例不进行限定。
示例性地,图3所示的网络仿真过程可如图4所示。采集当前网络的网络数据,将当前网络的网络数据存储至运行网管DB中,例如,该当前网络的网络数据包括设备配置数据以及网络拓扑数据。之后,通过对当前网络的网络数据进行复制得到网络数据的副本,该网络数据的副本也可称为是网络数据的孪生数据。为了在不对当前网络产生影响的情况下进行网络仿真,将该网络数据的副本存储至与运行态网管DB不同的DB中,例如将网络数据的副本存储至孪生态网管DB中。当管理员模拟变更操作,控制器将操作产生的数据合入孪生网管DB。更新后的网管数据也即更新后的仿真网络数据导入网络仿真引擎。控制器接收管理员输入的源IP地址、目的IP地址以及协议端口,从而得到连通性仿真输入参数。将该连通性仿真输入参数输入至网络仿真引擎中,基于网络仿真引擎输出IP可达性结果以及互访路径,或者IP不可达结果以及中断位置/原因等内容。
综上所述,本申请实施例提供的方法,通过采集当前网络的网络数据,还原并另行生成一套独立的仿真网络,通过在仿真网络实施变更,基于变更后的仿真网络的数据及连通性仿真输入参数直接进行网络仿真得到连通性仿真结果,或者使用仿真网络产生的网管数据也即变更后的仿真网络的数据及连通性仿真输入参数导入仿真引擎,由仿真引擎获取连通性仿真结果,均能够实现在不改当前网络运行的情况下,能够预先评估网络变更对网络业务可达性的影响。此外,还能在实施网络变更操作前,通过提前发现特定报文在变更实施后在网络中的转发是否符合预期,同时对网络中正常业务报文的转发无影响。
接下来,以网络设备为SDN控制器,SDN控制器上集成有CPV仿真引擎为例,结合图5所示的场景,对本申请实施例提供的方法进行举例说明。如图5所示,该网络仿真系统包括SDN控制器41和6个转发器,6个转发器分别为设备1、设备2、设备3、设备4、设备5和设备6。图5左侧所示的物理网络为当前网络,在该当前网络中,设备5分别与设备1、设备2和设备4通过互联链路连接,设备6分别与设备1、设备2、设备3和设备4通过互联链路连接。
根据当前网络的网络数据的副本生成仿真网络后,用户需要对物理网络也即当前网络进行变更,包括临时下线设备5与设备4之间的互联链路,并修改设备6的部分配置。因此,通过执行仿真变更指令,得到图5右侧所示的仿真合成网络,也即变更后的仿真网络。如图5右侧所示,变更后的仿真网络中,设备6的配置被修改,设备5与设备4之间的互联链路被删除,被删除的链路也即图5右侧中的下线链路。此外,设备1上配置了VM1,设备4上配置了VM2。
在正式实施变更之前,为了评估一下此次变更对VM1与VM2间的互访是否会产生影响,应用本申请实施例提供的方法在SDN控制器上预先进行仿真变更操作,以对VM1与VM2之间的连通性进行仿真为例,本申请实施例提供的网络仿真方法如图6所示,包括但不限于如下几个过程。
601,SDN控制器收集当前网络的网络数据,将该当前网络的网络数据存储至运行态网管数据数据库(DB),该当前网络的网络数据包括设备的配置数据和网络拓扑数据。
602,SDN控制器复制(克隆)运行态数据,得到网络数据的副本,将网络数据的副本存储至仿真态网管数据DB。
基于该网络数据的副本,SDN控制器可生成仿真网络。
603,基于管理员修改仿真态下的设备配置、网络拓扑等,SDN控制器获取到网络变更指令。
604,SDN控制器将用户修改产生的网管数据并入仿真态网管数据BD。
需要说明的是,用户修改产生的网管数据涉及仿真态数据的更新,SDN控制器能够得到更新后的仿真网络数据,该更新后的仿真网络数据并不会影响运行态数据,也即该更新后的仿真网络数据并不会影响当前网络的网络数据,从而能够保证当前网络中的业务正常进行。
605,SDN控制器接收到网络仿真开启指令。
606,SDN控制器根据网络仿真开启指令将仿真态数据也即更新后的仿真网络数据导入CPV仿真引擎进行仿真。
例如,CPV仿真引擎通过内部接口与SDN控制器进行通信,SDN控制器通过内部接口将更新后的仿真网络数据发送给CPV仿真引擎。
607,CPV仿真引擎接收连通性仿真输入参数,例如,该连通性仿真输入参数为用户输入的源IP地址、目的IP地址以及协议端口。
如图5所示的场景,用户输入的源IP地址为VM1的地址、目的IP地址为VM2的地址。SDN控制器可先接收用户输入的源IP地址、目的IP地址以及协议端口,之后将该源IP地址、目的IP地址以及协议端口通过内部接口传输至CPV仿真引擎。
608,CPV仿真引擎基于仿真态数据也即变更后的仿真网络的数据以及连通性仿真输入参数进行连通性仿真,得到连通性仿真结果。
示例性地,CPV仿真引擎基于变更后的仿真网络的数据生成路由转发表项,之后,通过仿真算法计算VM1和VM2之间是否可达。例如,CPV仿真引擎在仿真计算VM1的源IP地址及VM2的目的IP地址之间的连通性时,由于设备配置数据包括但不限于设备的接口配置数据、网络及协议配置等,因而结合变更后的仿真网络的数据中的设备配置数据通过仿真算法求得源IP地址与目的IP地址之间的路径经过的每个设备、并根据报文在每个设备中匹配的转发表项计算出经过的出入接口、同时还会计算报文在设备中是否会匹配已配置的访问控制策略,判断报文是否会被拦截等,通过判别结果得出源IP地址与目的IP地址之间的连通性仿真结果。
例如,如果VM1与VM2之间路径可达,则连通性仿真结果包括第一连通性仿真结果以及互访路径,第一连通性仿真结果用于指示VM1与VM2之间路径可达,也即源IP地址与目的IP地址之间可达。例如图5所示的场景中,VM1与VM2之间路径可达,且包括两条可达路径。其中一条可达路径为VM1-->设备1-->设备5-->设备2-->设备6-->设备4-->VM2,另一条可达路径为VM1-->设备1-->设备5-->设备6-->设备4-->VM2。
如果VM1与VM2之间路径不可达,则连通性仿真结果包括第二连通性仿真结果及中断位置信息,第二连通性仿真结果用于指示VM1与VM2之间不可达,也即源IP地址与目的IP地址之间不可达。其中,中断位置信息用于指示中断位置,例如该中断位置信息为某个设备的地址,由此表明是在该设备处发生中断。此外,针对源IP地址与目的IP地址之间路径不可达的情况,连通性仿真结果中还包括中断原因,例如是因为路由不可达或是因为策略阻断等。
以上介绍了本申请实施例的网络仿真方法,与上述方法对应,本申请实施例还提供网络仿真装置。
本申请实施例提供了一种网络仿真装置,该装置用于通过图7所示的各个模块执行上述图3或图5中网络仿真方法。参见图7,本申请实施例提供的网络仿真装置,包括如下几个模块。
获取模块701,用于采集当前网络的网络数据;该获取模块701所执行的功能可参考图3所示的301,此处不再赘述。
生成模块702,用于根据当前网络的网络数据生成仿真网络;该生成模块702所执行的功能可参考图3所示的302,此处不再赘述。
变更模块703,用于基于仿真变更指令对仿真网络进行变更,得到变更后的仿真网络的数据;该变更模块703所执行的功能可参考图3所示的303,此处不再赘述。
仿真模块704,用于根据变更后的仿真网络的数据及连通性仿真输入参数,获取连通性仿真结果。该仿真模块704所执行的功能可参考图3所示的304,此处不再赘述。
在一种可能的实现方式中,仿真模块704,用于将变更后的仿真网络的数据及连通性仿真输入参数导入仿真引擎,仿真引擎用于根据变更后的仿真网络的数据及连通性仿真输入参数获取连通性仿真结果;从仿真引擎获取连通性仿真结果。
在一种可能的实现方式中,连通性仿真输入参数包括源网际协议IP地址及目的IP地址,仿真模块,用于根据变更后的仿真网络的数据生成路由转发表项;根据路由转发表项及变更后的仿真网络的数据中的设备配置数据确定源IP地址及目的IP地址之间的连通性仿真结果。
在一种可能的实现方式中,连通性仿真结果包括第一连通性仿真结果以及源IP地址与目的IP地址之间的互访路径,第一连通性仿真结果用于指示源IP地址与目的IP地址之间可达;
或者,连通性仿真结果包括第二连通性仿真结果及中断位置信息,第二连通性仿真结果用于指示源IP地址与目的IP地址之间不可达。
在一种可能的实现方式中,仿真变更指令包括用于新增网络设备的指令、用于删除网络设备的指令、用于新增链路的指令、用于删除链路的指令、用于修改链路的接口的指令以及用于变更设备配置的指令中的至少一种指令。
在一种可能的实现方式中,当前网络的网络数据包括网络拓扑数据、设备配置数据及设备类型数据。
本申请实施例提供的装置,通过采集当前网络的网络数据,还原并另行生成一套独立的仿真网络,通过在仿真网络实施变更,并使用仿真网络产生的网管数据也即变更后的仿真网络的数据及连通性仿真输入参数导入仿真引擎,由仿真引擎获取连通性仿真结果,或者基于变更后的仿真网络的数据及连通性仿真输入参数直接进行网络仿真得到连通性仿真结果,均能够实现在不改当前网络运行的情况下,能够预先评估网络变更对网络业务可达性的影响。此外,还能在实施网络变更操作前,通过提前发现特定报文在变更实施后在网络中的转发是否符合预期,同时对网络中正常业务报文的转发无影响。
应理解的是,上述图7提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参见图8,图8示出了本申请一个示例性实施例提供的网络设备2000的结构示意图。图8所示的网络设备2000用于执行上述图3及图5所示的网络仿真方法所涉及的操作。该网络设备2000例如是交换机、路由器、控制器等,该网络设备2000可以由一般性的总线体系结构来实现。
如图8所示,网络设备2000包括至少一个处理器2001、存储器2003以及至少一个通信接口2004。
处理器2001例如是通用中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(network processer,NP)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(neural-network processingunits,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器2001包括专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
可选的,网络设备2000还包括总线。总线用于在网络设备2000的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器2003例如是独立存在,并通过总线与处理器2001相连接。存储器2003也可以和处理器2001集成在一起。
通信接口2004使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。通信接口2004可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口2004可以为以太(Ethernet)接口、快速以太(Fast Ethernet,FE)接口、千兆以太(Gigabit Ethernet,GE)接口,异步传输模式(Asynchronous Transfer Mode,ATM)接口,无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请实施例中,通信接口2004可以用于网络设备2000与其他设备进行通信。
在具体实现中,作为一种实施例,处理器2001可以包括一个或多个CPU,如图8中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备2000可以包括多个处理器,如图8中所示的处理器2001和处理器2005。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备2000还可以包括输出设备和输入设备。输出设备和处理器2001通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器2001通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器2003用于存储执行本申请方案的程序代码2010,处理器2001可以执行存储器2003中存储的程序代码2010。也即是,网络设备2000可以通过处理器2001以及存储器2003中的程序代码2010,来实现方法实施例提供的网络仿真方法。程序代码2010中可以包括一个或多个软件模块。可选地,处理器2001自身也可以存储执行本申请方案的程序代码或指令。
在具体实施例中,本申请实施例的网络设备2000可对应于上述方法实施例中的网络设备,网络设备2000中的处理器2001读取存储器2003中的指令,使图8所示的网络设备2000能够执行方法实施例中网络设备所执行的全部或部分操作。
网络设备2000还可以对应于上述图7所示的装置,图7所示的装置中的每个功能模块采用网络设备2000的软件实现。换句话说,图7所示的装置包括的功能模块为网络设备2000的处理器2001读取存储器2003中存储的程序代码2010后生成的。
其中,图3所示的网络仿真方法的各步骤通过网络设备2000的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
参见图9,图9示出了本申请另一个示例性实施例提供的网络设备2100的结构示意图图9所示的网络设备2100用于执行上述图3及图5所示的网络仿真方法所涉及的全部或部分操作。该网络设备2100例如是交换机、路由器等,该网络设备2100可以由一般性的总线体系结构来实现。
如图9所示,网络设备2100包括:主控板2110和接口板2130。
主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(routeprocessor card),主控板2110用于对网络设备2100中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板2110包括:中央处理器2111和存储器2112。
接口板2130也称为线路接口单元卡(line processing unit,LPU)、线卡(linecard)或业务板。接口板2130用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板2130包括:中央处理器2131网络处理器2132、转发表项存储器2134和物理接口卡(ph10sical interface card,PIC)2133。
接口板2130上的中央处理器2131用于对接口板2130进行控制管理并与主控板2110上的中央处理器2111进行通信。
网络处理器2132用于实现报文的转发处理。网络处理器2132的形态可以是转发芯片。转发芯片可以是网络处理器(network processor,NP)。在一些实施例中,转发芯片可以通过专用集成电路(application-specific integrated circuit,ASIC)或现场可编程门阵列(field programmable gate array,FPGA)实现。具体而言,网络处理器2132用于基于转发表项存储器2134保存的转发表转发接收到的报文,如果报文的目的地址为网络设备2100的地址,则将该报文上送至CPU(如中央处理器2131)处理;如果报文的目的地址不是网络设备2100的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理可以包括:报文入接口的处理,转发表查找;下行报文的处理可以包括:转发表查找等等。在一些实施例中,中央处理器也可执行转发芯片的功能,比如基于通用CPU实现软件转发,从而接口板中不需要转发芯片。
物理接口卡2133用于实现物理层的对接功能,原始的流量由此进入接口板2130,以及处理后的报文从该物理接口卡2133发出。物理接口卡2133也称为子卡,可安装在接口板2130上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器2132处理。在一些实施例中,中央处理器2131也可执行网络处理器2132的功能,比如基于通用CPU实现软件转发,从而物理接口卡2133中不需要网络处理器2132。
可选地,网络设备2100包括多个接口板,例如网络设备2100还包括接口板2140,接口板2140包括:中央处理器2141、网络处理器2142、转发表项存储器2144和物理接口卡2143。接口板2140中各部件的功能和实现方式与接口板2130相同或相似,在此不再赘述。
可选地,网络设备2100还包括交换网板2120。交换网板2120也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板的情况下,交换网板2120用于完成各接口板之间的数据交换。例如,接口板2130和接口板2140之间可以通过交换网板2120通信。
主控板2110和接口板耦合。例如。主控板2110、接口板2130和接口板2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板2110和接口板2130及接口板2140之间建立进程间通信协议(inter-processcommunication,IPC)通道,主控板2110和接口板2130及接口板2140之间通过IPC通道进行通信。
在逻辑上,网络设备2100包括控制面和转发面,控制面包括主控板2110和中央处理器2111,转发面包括执行转发的各个组件,比如转发表项存储器2134、物理接口卡2133和网络处理器2132。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护网络设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器2132基于控制面下发的转发表对物理接口卡2133收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器2134中。在有些实施例中,控制面和转发面可以完全分离,不在同一网络设备上。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的网络设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态网络设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
在具体实施例中,网络设备2100对应于上述图7所示的应用于网络设备的网络仿真装置。在一些实施例中,图7所示的网络仿真装置中的获取模块701相当于网络设备2100中的物理接口卡2133。图7所示的网络仿真装置中的生成模块702、变更模块703和仿真模块704相当于网络设备2100中的中央处理器2111或网络处理器2132。
本申请实施例还提供了一种通信系统,该通信系统包括:图8所示的网络设备2000或图9所示的网络设备2100。
网络设备所执行的方法可参见上述图3及图5所示实施例的相关描述,此处不再加以赘述。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data dateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现如上任一所述的网络仿真方法。
本申请提供了一种计算机程序,当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和模块,能够以软件、硬件、固件或者其任意组合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。作为示例,本申请实施例的方法可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本申请实施例的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本申请实施例的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。
信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、设备和模块的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
该作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一图像可以被称为第二图像,并且类似地,第二图像可以被称为第一图像。第一图像和第二图像都可以是图像,并且在某些情况下,可以是单独且不同的图像。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“系统”和“网络”经常可互换使用。
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
以上描述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

1.一种网络仿真方法,其特征在于,所述方法包括:
网络管理设备采集当前网络的网络数据;
根据所述当前网络的网络数据生成仿真网络;
基于仿真变更指令对所述仿真网络进行变更,得到变更后的仿真网络的数据;
根据所述变更后的仿真网络的数据及连通性仿真输入参数,获取连通性仿真结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述变更后的仿真网络的数据及连通性仿真输入参数,获取连通性仿真结果,包括:
将所述变更后的仿真网络的数据及连通性仿真输入参数导入仿真引擎,所述仿真引擎用于根据所述变更后的仿真网络的数据及连通性仿真输入参数获取连通性仿真结果;
从所述仿真引擎获取所述连通性仿真结果。
3.根据权利要求1所述的方法,其特征在于,所述连通性仿真输入参数包括源网际协议IP地址及目的IP地址,所述根据所述变更后的仿真网络的数据及连通性仿真输入参数,获取连通性仿真结果,包括:
根据所述变更后的仿真网络的数据生成路由转发表项;
根据所述路由转发表项及所述变更后的仿真网络的数据中的设备配置数据确定所述源IP地址及所述目的IP地址之间的连通性仿真结果。
4.根据权利要求3所述的方法,其特征在于,所述连通性仿真结果包括第一连通性仿真结果以及所述源IP地址与所述目的IP地址之间的互访路径,所述第一连通性仿真结果用于指示所述源IP地址与所述目的IP地址之间可达;
或者,所述连通性仿真结果包括第二连通性仿真结果及中断位置信息,所述第二连通性仿真结果用于指示所述源IP地址与所述目的IP地址之间不可达。
5.根据权利要求1-4任一所述的方法,其特征在于,所述仿真变更指令包括用于新增网络设备的指令、用于删除网络设备的指令、用于新增链路的指令、用于删除链路的指令、用于修改链路的接口的指令以及用于变更设备配置的指令中的至少一种指令。
6.根据权利要求1-5所述的方法,其特征在于,所述当前网络的网络数据包括所述当前网络的网络拓扑数据、设备配置数据及设备类型数据;
所述变更后的仿真网络的数据包括所述变更后的仿真网络的网络拓扑数据、设备配置数据及设备类型数据。
7.一种网络仿真装置,其特征在于,所述装置包括:
获取模块,用于采集当前网络的网络数据;
生成模块,用于根据所述当前网络的网络数据生成仿真网络;
变更模块,用于基于仿真变更指令对所述仿真网络进行变更,得到变更后的仿真网络的数据;
仿真模块,用于根据所述变更后的仿真网络的数据及连通性仿真输入参数,获取连通性仿真结果。
8.根据权利要求7所述的装置,其特征在于,所述仿真模块,用于将所述变更后的仿真网络的数据及连通性仿真输入参数导入仿真引擎,所述仿真引擎用于根据所述变更后的仿真网络的数据及连通性仿真输入参数获取连通性仿真结果;从所述仿真引擎获取连通性仿真结果。
9.根据权利要求8所述的装置,其特征在于,所述连通性仿真输入参数包括源网际协议IP地址及目的IP地址,所述仿真模块,用于根据所述变更后的仿真网络的数据生成路由转发表项;根据所述路由转发表项及所述变更后的仿真网络的数据中的设备配置数据确定所述源IP地址及所述目的IP地址之间的连通性仿真结果。
10.根据权利要求9所述的装置,其特征在于,所述连通性仿真结果包括第一连通性仿真结果以及所述源IP地址与所述目的IP地址之间的互访路径,所述第一连通性仿真结果用于指示所述源IP地址与所述目的IP地址之间可达;
或者,所述连通性仿真结果包括第二连通性仿真结果及中断位置信息,所述第二连通性仿真结果用于指示所述源IP地址与所述目的IP地址之间不可达。
11.根据权利要求7-10任一所述的装置,其特征在于,所述仿真变更指令包括用于新增网络设备的指令、用于删除网络设备的指令、用于新增链路的指令、用于删除链路的指令、用于修改链路的接口的指令以及用于变更设备配置的指令中的至少一种指令。
12.根据权利要求7-11所述的装置,其特征在于,所述当前网络的网络数据包括所述当前网络的网络拓扑数据、设备配置数据及设备类型数据;
所述变更后的仿真网络的数据包括所述变更后的仿真网络的网络拓扑数据、设备配置数据及设备类型数据。
13.一种网络设备,其特征在于,所述网络设备包括:
存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以使所述网络设备实现所述权利要求1-6中任一所述的网络仿真方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-6中任一所述的网络仿真方法。
CN202010989453.7A 2020-09-18 2020-09-18 网络仿真方法、装置、设备及计算机可读存储介质 Pending CN114285757A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010989453.7A CN114285757A (zh) 2020-09-18 2020-09-18 网络仿真方法、装置、设备及计算机可读存储介质
PCT/CN2021/107098 WO2022057431A1 (zh) 2020-09-18 2021-07-19 网络仿真方法、装置、设备及计算机可读存储介质
EP21868260.7A EP4207698A4 (en) 2020-09-18 2021-07-19 NETWORK SIMULATION METHOD AND APPARATUS, APPARATUS AND COMPUTER-READABLE STORAGE MEDIUM
US18/185,643 US20230216773A1 (en) 2020-09-18 2023-03-17 Network Simulation Method and Apparatus, Device, and Computer-Readable Storage Medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010989453.7A CN114285757A (zh) 2020-09-18 2020-09-18 网络仿真方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN114285757A true CN114285757A (zh) 2022-04-05

Family

ID=80775882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010989453.7A Pending CN114285757A (zh) 2020-09-18 2020-09-18 网络仿真方法、装置、设备及计算机可读存储介质

Country Status (4)

Country Link
US (1) US20230216773A1 (zh)
EP (1) EP4207698A4 (zh)
CN (1) CN114285757A (zh)
WO (1) WO2022057431A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115426280A (zh) * 2022-07-18 2022-12-02 华为技术有限公司 一种网络分析方法以及相关装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115714725B (zh) * 2022-10-17 2023-09-12 江西科骏实业有限公司 一种面向教学应用的网络指令虚拟仿真实现方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006119A (zh) * 2010-12-09 2011-04-06 中国南方电网有限责任公司 光传输系统的网管仿真系统及方法
CN104954166A (zh) * 2015-04-27 2015-09-30 北京交通大学 一种基于硬件的网络仿真系统及仿真方法
US20170005947A1 (en) * 2015-07-02 2017-01-05 Dell Products L.P. Systems and methods to create highly scalable network services
CN109587010A (zh) * 2018-12-28 2019-04-05 迈普通信技术股份有限公司 一种连通性检测方法、流转发设备及网络控制器
CN109768874A (zh) * 2017-11-10 2019-05-17 华为技术有限公司 一种网络中配置变更的方法及装置
US20200067772A1 (en) * 2018-08-21 2020-02-27 Ciena Corporation Data network and execution environment replication for network automation and network applications
CN111147287A (zh) * 2019-12-10 2020-05-12 网络通信与安全紫金山实验室 一种sdn场景下的网络仿真方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620535B2 (en) * 2002-12-19 2009-11-17 Computer Associates Think, Inc. Method and apparatus for the simulation of computer networks
CN101778008B (zh) * 2009-01-12 2012-04-04 华为技术有限公司 进行导通检测的方法、设备及系统
CN105634857A (zh) * 2014-11-26 2016-06-01 中兴通讯股份有限公司 链路连通性检测方法及装置
US10439889B2 (en) * 2017-05-16 2019-10-08 Microsoft Technology Licensing, Llc High fidelity network emulation

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006119A (zh) * 2010-12-09 2011-04-06 中国南方电网有限责任公司 光传输系统的网管仿真系统及方法
CN104954166A (zh) * 2015-04-27 2015-09-30 北京交通大学 一种基于硬件的网络仿真系统及仿真方法
US20170005947A1 (en) * 2015-07-02 2017-01-05 Dell Products L.P. Systems and methods to create highly scalable network services
CN109768874A (zh) * 2017-11-10 2019-05-17 华为技术有限公司 一种网络中配置变更的方法及装置
US20200067772A1 (en) * 2018-08-21 2020-02-27 Ciena Corporation Data network and execution environment replication for network automation and network applications
CN109587010A (zh) * 2018-12-28 2019-04-05 迈普通信技术股份有限公司 一种连通性检测方法、流转发设备及网络控制器
CN111147287A (zh) * 2019-12-10 2020-05-12 网络通信与安全紫金山实验室 一种sdn场景下的网络仿真方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115426280A (zh) * 2022-07-18 2022-12-02 华为技术有限公司 一种网络分析方法以及相关装置
CN115426280B (zh) * 2022-07-18 2024-04-09 华为技术有限公司 一种网络分析方法以及相关装置

Also Published As

Publication number Publication date
EP4207698A1 (en) 2023-07-05
EP4207698A4 (en) 2024-02-21
WO2022057431A1 (zh) 2022-03-24
US20230216773A1 (en) 2023-07-06

Similar Documents

Publication Publication Date Title
CN110995583B (zh) 路径探测方法、装置及计算机存储介质
US20230216773A1 (en) Network Simulation Method and Apparatus, Device, and Computer-Readable Storage Medium
CN113824638A (zh) 一种转发报文的方法、设备和系统
CN114465943B (zh) 拓扑信息的发布方法、网络拓扑收集方法及设备
EP3520325B1 (en) Dynamically identifying criticality of services and data sources
CN114374634A (zh) 报文转发方法以及网络设备
EP4149058A1 (en) Network performance measurement method, apparatus, device and system, and storage medium
Wu et al. A multi-objective model oriented mapping approach for NoC-based computing systems
CN112532408B (zh) 提取故障传播条件的方法、装置及存储介质
CN115221113A (zh) 数据格式的转换方法、装置、设备及计算机可读存储介质
CN111404822A (zh) 数据传输方法、装置、设备以及计算机可读存储介质
CN113938403A (zh) 一种能力通告方法及相关设备
CN114444708A (zh) 获取模型的方法、装置、设备、系统及可读存储介质
CN114363432A (zh) 获取报文头信息、生成报文的方法、设备及存储介质
CN114553699A (zh) 报文传输方法、装置、设备及计算机可读存储介质
EP3280102B1 (en) Optical path allocation method and apparatus
WO2023005817A1 (zh) 路径确定方法、装置、设备、系统及计算机可读存储介质
US20230069626A1 (en) Traffic monitoring method, related device, and system
Chio et al. Adaptive mediation for data exchange in IoT systems
CN114125988A (zh) 生成路由信息、发送位置信息及转发报文的方法及设备
WO2024109045A1 (zh) 路由更新方法、装置、设备及存储介质
CN114697218B (zh) 网络管理方法和设备
CN110389785B (zh) 大数据处理系统及方法、电子设备、存储介质
CN114079670B (zh) 传输路由信息的方法、装置和通信系统
US20220174013A1 (en) Communication Method and Apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination