一种时延容忍网络的仿真方法及装置的制造方法_3

文档序号:9600683阅读:来源:国知局
备不同,虚拟机之间的链路与虚拟网络设备之间的虚拟链路相对应。
[0088]步骤S205:启动STK仿真场景,并控制若干虚拟机按照配置的运行参数通信。
[0089]其中,STK仿真场景用于,在启动后采用虚拟链路模拟需模拟的DTN的网络场景中的网络设备之间的链路的连通状态的变化过程。
[0090]具体地,STK仿真场景在启动后,将动态播放虚拟网络设备之间的虚拟链路的通断状态的变化过程。
[0091 ] 可选的,控制若干虚拟机按照配置的运行参数通信的方式可以包括如下方式中至少一种:控制至少一个虚拟机向其他虚拟机发送图片;控制至少一个虚拟机接收其他虚拟机发送的图片;控制至少一个虚拟机向指其他虚拟机发送视频;控制至少一个虚拟机接收其他虚拟机发送的视频。
[0092]具体地,每个虚拟机预先配置有至少一个业务模块,比如图片发送模块、图片接收模块、视频发送模块或视频接收模块。在控制虚拟机通信时,可以向虚拟机发送业务指令,业务指令用于指示虚拟机启动指定业务,业务指令可以包括业务的标识及与业务的标识对应的关联虚拟机的标识。虚拟机收到业务指令时,可以开启指定业务。在实现时,业务指令可以设置在运行参数中。这样,可以在配置虚拟机的运行参数时,一并将业务指令发送给虚拟机。
[0093]可选的,控制至少一个虚拟机向其他虚拟机发送图片,包括,控制至少一个虚拟机以第一规则向其他虚拟机发送图片。第一规则包括,从指定存储路径读取图片;将读取的图片分割为指定大小的小块,并记录小块在整幅图片的位置坐标,得到坐标信息文件;向指定虚拟机发送小块和坐标信息文件。
[0094]具体地,虚拟机按照第一规则向其他虚拟机发送图片,包括,A、虚拟机读取图像文件,该图像文件路径由业务指令指定、虚拟机将图像文件按分割为数量总多的小块,每个小块图像大小由启动参数指定,并将其在整幅图所处的坐标值存为txt文件(坐标信息);C、虚拟机将小块图像格式化为png格式,联合其坐标信息文件,打包为zip格式;D、虚拟机将zip包封装为bundle包,并进行路由转发,以传输至目的虚拟机。
[0095]可选的,控制至少一个虚拟机接收其他虚拟机发送的图片,包括,控制至少一个虚拟机以第二规则接收其他虚拟机发送的图片。第二规则包括,接收小块和坐标信息文件;根据坐标信息文件,将接收的小块恢复成整幅图片。
[0096]具体地,虚拟机按照第二规则接收其他虚拟机发送的图片,包括,A、虚拟机等待接收包;B、虚拟机将接收到的包以zip格式进行解析,得到小块图像文件和该块的位置元信息;C、虚拟机根据小块的位置信息,将此小块绘制在绘图区域的指定位置,直到绘制完毕。
[0097]具体地,虚拟机发送视频的方式可以包括,虚拟机将视频(HTTP包)封装为bundle包,并将路由转发,以传输至目的虚拟机。
[0098]具体地,虚拟机接收视频的方式可以包括,A、虚拟机将接收到的bundle视频包解封,得到HTTP视频包;B、虚拟机以TCP协议将HTTP视频包传输到主机的VLC播放。
[0099]步骤S206:在若干虚拟机的通信过程中,根据虚拟链路的通断状态,控制虚拟机之间的链路的通断。
[0100]根据虚拟链路的通断状态,控制虚拟机之间的链路的通断,包括,首先,获取虚拟网络设备的Access信息;其次,解析获取的Access信息,并根据解析结果控制虚拟机之间的链路的通断。
[0101]具体地,在步骤S202载入STK仿真场景后,解析虚拟网络设备的类型,并获取虚拟网络设备的Access信息。在解析虚拟网络设备和其类型时,使用了自定义的名为GetAllOb ject 的 STK Report Style,通过调用 STK 提供的 Connect 接口生成 GetAllObject的report,即可获取STK仿真场景中的对象(虚拟网络设备)和其类型。在获取STK仿真场景中的对象和其类型后,就可以解析虚拟网络设备的Access信息。这时,使用自定义的名为Access的STK Report Style,通过Connect接口生成Access的report,即可获取各个虚拟网络设备的可见性信息。例如,演示地面站的虚拟网络设备的可见性信息包含,演示地面站的虚拟网络设备可见演示低轨卫星的虚拟网络设备的时段(通信链路连通)、以及不可见演示低轨卫星的虚拟网络设备的时段(通信链路断开)。
[0102]获得解析结果后,根据解析结果生成链路事件。单个链路事件的实现为Accesslnfo类,存储着4个字段:Time、From0bj、To0bj、Link0p,分别代表了发生时间、链路的源节点、链路的目的节点、链路操作(断开或连通)。
[0103]链路事件的触发是由STK仿真场景的仿真时间确定。整个仿真的时间取值为STKX控件中的内部时间,仿真开始时间是STK仿真场景的启动时间。可以维持一个定时器Timer,其tick间隔为100ms,每过一个tick检查一下仿真时间,并根据仿真时间触发链路事件。
[0104]可选的,控制虚拟机之间的链路的通断的方式可以包括:向虚拟机发送第一控制命令,第一控制命令用于指示虚拟机与其他虚拟机之间的链路断开或连通。
[0105]具体地,所有的链路事件可以按照发生时间的顺序存储在事件队列中。在每次Timer的Tick函数触发时,根据仿真时间和链路事件中的时间(即Accesslnfo类的Time信息),判断事件队列中是否有事件出队,根据出队事件生成SDN(软件定义网络)Flow Table流表(第一控制命令),并下发给虚拟机,从而控制虚拟机之间的链路的通断。流表中,链路的up事件代表Flow的连通,这时对应仿真节点的链路会连通,相反down事件代表Flow的断开,这时对应仿真节点的链路会断开,而Flow的源和目的IP则是根据FromObj和ToObj。
[0106]步骤S207:在若干虚拟机的通信过程中,控制更改虚拟机之间的路由路径中至少一条路由路径。
[0107]可选的,控制更改虚拟机之间的路由路径的方式可以包括:向虚拟机发送第二控制命令,第二控制命令用于指示虚拟机与其他虚拟机之间的路由路径发生变更。
[0108]由于某些场景中存在路由路径发生变化的情况,因此需要相应更改虚拟机之间的路由路径。可以在步骤S202载入STK仿真场景后,根据配置文件包含的路由路径和虚拟网络设备的可见性信息,预先建立路由变更事件,并将路由变更事件按照发生时间也存储到事件队列中。
[0109]每个路由变更事件包括5 个字段:eventTime、eventType、routeNode、desteid、nexthop,分别代表事件时间、路由的增添或删除操作、作用节点、目的地、下一跳。与链路事件管理类似,在Timer的tick触发后,检测出队的路由变更事件,根据eventType判断增添或删除路由路径,改变路由路径后,仍然利用链路事件管理链路通断。
[0110]需要说明的是,步骤S206与步骤S207均在干虚拟机的通信过程中执行,步骤S206与步骤S207的次序不分前后。
[0111]步骤S208:以预定时间为间隔,获取每个虚拟机的运行信息;分析获取的运行信息并显示分析结果。
[0112]其中,运行信息包括每个虚拟机的标识、以及记录虚拟机之间的通断状态变化过程的列表。该列表可以记录发生通断的时刻。
[0113]其中,分析获取的运行信息的方式包括,根据获取的运行信息和预设算法,计算模拟的DTN的通信指标;显示计算的通信指标。
[0114]可以向虚拟机发送统计命令,以获取统计信息。统计命令可以是telnet协议命令。
[0115]其中,通信指标包括平均成功交付概率、报文传输比、丢包比、网络平均延迟、网络开销比、分组递送率、队列长度。在实现上,所有指标均继承自抽象类Metric,每个指标在实现上必须对UpdateData函数进行override实现,以实现自身的指标计算。
[0116]可以图表的方式显示计算的通信指标。
[0117]本发明实施例通过载入STK仿真场景;STK仿真场景是根据需模拟的DTN的网络场景创建的,STK仿真场景包括若干虚拟网络设备,虚拟网络设备之间设有虚拟链路,STK仿真场景用于,在启动后采用该虚拟链路模拟该网络设备之间的链路的连通状态的变化过程;配置若干虚拟机的运行参数;该若干虚拟机用于模拟需模拟的DTN的网络场景中的网络设备的通信过程;启动STK仿真场景并控制若干虚拟机按照配置的运行参数通信;每个虚拟机对应一个虚拟网络设备,不同虚拟机对应的虚拟网络设备不同,虚拟机之间的链路与虚拟链路相对应;在若干虚拟机的通信过程中,根据虚拟链路的通断状态,控制虚拟机之间的链路的通断;以预定时间为间隔,获取每个虚拟机的运行信息;分析获取的运行信息并显示分析结果;一方面,STK仿真场景动态演示网络设备之间的链路的连通状态的变化过程,另一方面,虚拟机根据STK仿真场景演示的链路的连通状态的过程,同步模拟网络设备之间的通信过程,还可以根据虚拟机的运行信息显示分析结果,这样,构建了一种时延容忍网络的仿真方式,实现了时延容忍网络的验证、演示和分析,为时延容忍网络的研究提供易于实现的验证方式。
[0118]图3为本发明第三实施例提供的一种时延容忍网络的仿真装置,该仿真装置可以适用于第一实施例或第二实施例提供的方法。如图3所示,该装置包括加载模块301、配置模块302、第一控制模块303、第二控制模块304、获取模块305和显示模块306。
[0119]加载模块301,用于载入STK仿真场景。STK仿真场景是根据需模拟的DTN的网络场景创建的,STK仿真场景包括若干虚拟网络设备,虚拟网络设备用于演示需模拟的DTN的网络场景中的网络设备,虚拟网络设备之间设有虚拟链路,且虚拟链路与网络设备之间的
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1