CN113347023A - 网络模拟器及其动态切换方法 - Google Patents
网络模拟器及其动态切换方法 Download PDFInfo
- Publication number
- CN113347023A CN113347023A CN202110535758.5A CN202110535758A CN113347023A CN 113347023 A CN113347023 A CN 113347023A CN 202110535758 A CN202110535758 A CN 202110535758A CN 113347023 A CN113347023 A CN 113347023A
- Authority
- CN
- China
- Prior art keywords
- module
- topology
- node
- switching
- network simulator
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000004088 simulation Methods 0.000 claims abstract description 28
- 230000006854 communication Effects 0.000 claims abstract description 17
- 230000003993 interaction Effects 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims description 22
- 238000012360 testing method Methods 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 13
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络模拟器及其动态切换方法,该网络模拟器包括至少一个用于对多个端口进行数据交换的第一节点组件和至少一个用于生成和接受数据流量的第二节点组件;所述第一节点组件包括用于对外进行信息交互的第一链路模块、用于对第一节点组件内部交换数据进行仲裁的数据交换模块和用于根据路由算法进行路由信息选择的路由模块;所述第二节点组件包括用于对外进行信息交互的第二链路模块和用于执行通信进程的进程模块;所述进程模块在执行模拟调度程序的同时,判断是否需要进行流量切换或拓扑切换,若是,则切换拓扑或流量,否则,进行下一轮迭代;所述第一节点组件与第二节点组件之间通过第一链路模块和第二链路模块进行信息交互。
Description
技术领域
本发明涉及一种网络模拟器及其动态切换方法。
背景技术
数据中心和超级计算机通常由数量众多的节点构成,通过这些计算资源并行计算实现超大规模的任务。这些节点之间由网络进行互联,实现不同节点间的数据交换。随着计算和通信的规模不断扩大,网络的性能成为影响性能一个重要的因素。
在进行大规模的网络拓扑、路由设计时,直接使用物理设备进行实验可行性较低,需要巨大的物理设备成本,以及互联网络复杂性过大难以维护。所以为了验证网络相关设计,通常使用网络仿真器对设计进行研究和验证。
而常见的诸如NS3,OMNeT++等模拟器,是一种离散的事件模拟器,无法对于整体网络实时操控,所以无法实现运行时拓扑切换等功能。同时,事件驱动的模拟器执行时间较长,对于超大规模网络执行效率低于时间驱动的同步。
发明人在进行互联网络拓扑研究时,发现现有模拟器技术无法实现动态任务,例如网络重构,网络切换,应用切换等,并且大型网络仿真时间长,该项缺陷是由模拟器事件驱动的模式导致的,发明人经过对相关模拟器技术研究发现,解决该项缺陷可以通过设计一个新的基于事件驱动的模拟器来实现。
发明内容
本发明的目的是提供一种网络模拟器及其动态切换方法,以解决现有模拟器技术无法实现动态任务的问题。
为解决上述技术问题,本发明提供一种网络模拟器,该网络模拟器包括至少一个用于对多个端口进行数据交换的第一节点组件和至少一个用于生成和接受数据流量的第二节点组件;
所述第一节点组件包括用于对外进行信息交互的第一链路模块、用于对第一节点组件内部交换数据进行仲裁的数据交换模块和用于根据路由算法进行路由信息选择的路由模块;
所述第二节点组件包括用于对外进行信息交互的第二链路模块和用于执行通信进程的进程模块;所述进程模块在执行模拟调度程序的同时,判断是否需要进行流量切换或拓扑切换,若是,则切换拓扑或流量,否则,进行下一轮迭代;
所述第一节点组件与第二节点组件之间通过第一链路模块和第二链路模块进行信息交互。
进一步地,包括继承自路由模块的拓扑模块,拓扑模块用于对网络拓扑进行处理,所述拓扑模块通过继承其的实现模块进行自定义拓扑。
进一步地,所述进程模块包括用于进行流量发包处理的流量处理模块、用于进行流量收包模块的数据包处理模块、用于进行复杂流量处理的通用模块和用于进行交换机内包转发逻辑处理的多个节点数据交换模块。
进一步地,所述数据处理模块通过pin进程、pong进程和iperf进程实现网络连接测试和带宽测试。
进一步地,所述通用模块通过IperfCount进程、OutBufAuto进程和Statistics进程统计网络流量。
进一步地,所述第一节点组件为交换机节点。
进一步地,所述第二节点组件为主机节点。
此外,该发明还提供了上述网络模拟器的动态切换方法,该动态切换方法包括以下步骤:
S101:网络模拟器开始运行,初始化网络模拟器参数;
S102:选择一个流量,加载流量并配置相关参数;
S103:选择一个拓扑,加载拓扑中各个组件的信息;
S104:执行需要模拟的进程,循环判断所有进程是否是需要执行的进程,若是,则推进需要执行的进程;否则,跳到步骤S6;
S105:执行模拟调度程序,使当前节点与其他节点时间戳保持一致,并在判断出可迭代时对当前节点时间戳进行新一轮更新;
S106:判断所有的模拟时间是否执行完成或达到模拟结束条件,若是,结束程序;否则,则返回步骤S5;
S107:结束仿真程序,并记录各种数据,显示仿真结果。
进一步地,在执行模拟调度程序的同时,判断是否需要进行流量切换或拓扑切换,当判断需要进行流量切换时,返回步骤S2;当判断需要进行拓扑切换时,返回步骤S3;若不需要进行流量切换和拓扑切换,则进行下一轮迭代。
进一步地,步骤S1中,网络模拟器开始运行时,进行初始化的网络模拟器参数包括开始时间、结束时间、时间粒度和日志采集参数。
本发明的有益效果为:该模拟器可以在模拟进行的过程中,动态切换物理拓扑、路由算法和通信流量,实现动态网络通信模拟,使得模拟器更加灵活和高效。并且,根据时间序列进行网络通信模拟,在分布式场景下具有更高的性能,
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,在这些附图中使用相同的参考标号来表示相同或相似的部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明一个实施例的路由模块的原理图;
图2为本发明一个实施例的进程模块的原理图;
图3为本发明一个实施例的节点;
图4为本发明一个实施例的简单的拓扑;
图5为动态切换方法的流程图。
具体实施方式
一种网络模拟器,该网络模拟器包括至少一个用于对多个端口进行数据交换的第一节点组件和至少一个用于生成和接受数据流量的第二节点组件;节点组件是模拟调度的一个实现,在节点内实现了基本的链路,路由等功能模块,用户可以通过实现该模块的实例来实现自定义类型的通信节点,节点可以加载进程模块,然后通过进程模块执行模拟调度程序。
下面分别对各个组件进行详细描述:
所述第一节点组件包括用于对外进行信息交互的第一链路模块、用于对第一节点组件内部交换数据进行仲裁的数据交换模块和用于根据路由算法进行路由信息选择的路由模块。。
如图1所示的路由模块201是对路由算法进行处理的模块,主要用于网络流量包在某节点/交换机中,选择下一跳路径的实现。拓扑模块202继承自路由模块201,用于对网络拓扑进行处理,用户可以通过继承其的实现模块进行自定义拓扑。Simple topo模块203和MultMix模块204是拓扑模块的另一个具体实现模块。
所述第二节点组件包括用于对外进行信息交互的第二链路模块和用于执行通信进程的进程模块221;所述第一节点组件与第二节点组件之间通过第一链路模块和第二链路模块进行信息交互。所述进程模块221在执行模拟调度程序的同时,判断是否需要进行流量切换或拓扑切换,若是,则切换拓扑或流量,否则,进行下一轮迭代。
如图2所示,所述进程模块221是模拟器内部进程或硬件的一个基类,用于实现各通信节点内的流量应用、转发逻辑、包处理逻辑等。进程模块包括用于进行流量发包处理的流量处理模块222、用于进行流量收包模块的数据包处理模块223、用于进行复杂流量处理的通用模块224和用于进行交换机内包转发逻辑处理的多个节点数据交换模块225。
所述数据处理模块通过pin进程226、pong进程227和iperf进程228实现网络连接测试和带宽测试,分别实现节点间ping/pong/iperf功能。
所述通用模块通过IperfCount进程229、OutBufAuto进程230和Statistics进程231统计网络流量,实现流量统计功能。
图3为节点组件原理图,是模拟调度的一个实现,在节点212内实现了基本的链路,路由等功能模块,用户可以通过实现该模块的实例来实现自定义类型的通信节点,节点可以加载进程模块,然后通过进程模块执行模拟调度程序。SwitchTpl213和Switch215是交换机的一个实现,具有一个交换机的基本功能。用户可以通过实现该模块的实例来实现自定义类型的交换机节点,或直接在拓扑模块及其实例中使用该模块来实现简单交换机功能。HostTpl214和Host216是主机的一个实现,具有一个主机的基本功能。用户可以通过实现该模块的实例来实现自定义类型的主机节点,或直接在模块202及其实例中使用该模块来实现简单主机功能。
图4为一个简单的拓扑,该拓扑包括两个主机和一个交换机组成的一个网络,具体描述了拓扑内部各个模块之间的组成关系和连接关系,具体如下:
Component模块401为交换机模块的最外层组件,是一个交换机的抽象整体,内部包含实现交换机的各个模块。该模块包含模块名称,id,以及仿真时间等信息。
Switch模块,交换机模块的节点组件,是交换机主要功能逻辑实现的模块,其中包含Link模块403,CrossBar模块404,Route模块405。交换机之间通过Link403进行信息交互,通过CrossBar模块404进行交换数据的仲裁,通过Route模块405进行路由信息的选择。
Link模块403为链路模块,包含对外连接的链路信息。其中包含通信双方的节点信息,通信的端口,以及链路的延迟和带宽等信息。
CrossBar模块404为数据交换模块,负责交换机内部数据交换,避免数据死锁等。其中包含出入端口信息,虚通道信息等。
Route模块405是路由模块,负责交换机内部路由算法,决定数据包的路径。
Component模块406为主机模块的最外层组件。是一个主机的抽象整体,内部包含实现主机的各个模块。该模块包含模块名称、id以及仿真时间等信息。
Host模块407为主机模块的节点组件,其中包含Link模块408,Process模块409。主机通过Link模块408和其他模块进行信息交互,通过Process模块409执行应用程序,一个主机节点可以选择加载自定义的用户程序。
Link模块408为链路模块,包含对外连接的链路信息。Link模块中包含通信双方的节点信息,通信的端口,以及链路的延迟和带宽等信息。
Process模块409为进程模块,包含主机中实际进行通信的进程。用户可以自定义具体的通信逻辑。
如图5所示的网络模拟器的动态切换方法,该动态切换方法包括以下步骤:
S101:网络模拟器开始运行,初始化网络模拟器参数;此时进行初始化的网络模拟器参数包括开始时间、结束时间、时间粒度和日志采集参数。
S102:选择一个流量,加载流量并配置相关参数;
S103:选择一个拓扑,加载拓扑中各个组件的信息;
S104:执行需要模拟的进程,循环判断所有进程是否是需要执行的进程,若是,则推进需要执行的进程;否则,跳到步骤S6;
S105:执行模拟调度程序,使当前节点与其他节点时间戳保持一致,并在判断出可迭代时对当前节点时间戳进行新一轮更新;
S06:判断所有的模拟时间是否执行完成或达到模拟结束条件,若是,结束程序;否则,则返回步骤S5;
S107:结束仿真程序,并记录各种数据,显示仿真结果。
在执行模拟调度程序的同时,判断是否需要进行流量切换或拓扑切换,当判断需要进行流量切换时,返回步骤S2;当判断需要进行拓扑切换时,返回步骤S3;若不需要进行流量切换和拓扑切换,则进行下一轮迭代。
步骤S1中,网络模拟器开始运行时,进行初始化的网络模拟器参数包括开始时间、结束时间、时间粒度和日志采集参数。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种网络模拟器,其特征在于,包括至少一个用于对多个端口进行数据交换的第一节点组件和至少一个用于生成和接受数据流量的第二节点组件;
所述第一节点组件包括用于对外进行信息交互的第一链路模块、用于对第一节点组件内部交换数据进行仲裁的数据交换模块和用于根据路由算法进行路由信息选择的路由模块;
所述第二节点组件包括用于对外进行信息交互的第二链路模块和用于执行通信进程的进程模块;所述进程模块在执行模拟调度程序的同时,判断是否需要进行流量切换或拓扑切换,若是,则切换拓扑或流量,否则,进行下一轮迭代;
所述第一节点组件与第二节点组件之间通过第一链路模块和第二链路模块进行信息交互。
2.根据权利要求1所述的网络模拟器,其特征在于,包括继承自路由模块的拓扑模块,拓扑模块用于对网络拓扑进行处理,所述拓扑模块通过继承其的实现模块进行自定义拓扑。
3.根据权利要求1所述的网络模拟器,其特征在于,所述进程模块包括用于进行流量发包处理的流量处理模块、用于进行流量收包模块的数据包处理模块、用于进行复杂流量处理的通用模块和用于进行交换机内包转发逻辑处理的多个节点数据交换模块。
4.根据权利要求3所述的网络模拟器,其特征在于,所述数据处理模块通过pin进程、pong进程和iperf进程实现网络连接测试和带宽测试。
5.根据权利要求3所述的网络模拟器,其特征在于,所述通用模块通过IperfCount进程、OutBufAuto进程和Statistics进程统计网络流量。
6.根据权利要求1所述的网络模拟器,其特征在于,所述第一节点组件为交换机节点。
7.根据权利要求1所述的网络模拟器,其特征在于,所述第二节点组件为主机节点。
8.一种权利要求1-7任一所述的网络模拟器的动态切换方法,其特征在于,包括以下步骤:
S101:网络模拟器开始运行,初始化网络模拟器参数;
S02:选择一个流量,加载流量并配置相关参数;
S103:选择一个拓扑,加载拓扑中各个组件的信息;
S104:执行需要模拟的进程,循环判断所有进程是否是需要执行的进程,若是,则推进需要执行的进程;否则,跳到步骤S6;
S105:执行模拟调度程序,使当前节点与其他节点时间戳保持一致,并在判断出可迭代时对当前节点时间戳进行新一轮更新;
S106:判断所有的模拟时间是否执行完成或达到模拟结束条件,若是,结束程序;否则,则返回步骤S5。
9.根据权利要求8所述的动态切换方法,其特征在于,在执行模拟调度程序的同时,判断是否需要进行流量切换或拓扑切换,当判断需要进行流量切换时,返回步骤S2;当判断需要进行拓扑切换时,返回步骤S3;若不需要进行流量切换和拓扑切换,则进行下一轮迭代。
10.根据权利要求8所述的动态切换方法,其特征在于,步骤S1中,网络模拟器开始运行时,进行初始化的网络模拟器参数包括开始时间、结束时间、时间粒度和日志采集参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110535758.5A CN113347023A (zh) | 2021-05-17 | 2021-05-17 | 网络模拟器及其动态切换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110535758.5A CN113347023A (zh) | 2021-05-17 | 2021-05-17 | 网络模拟器及其动态切换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113347023A true CN113347023A (zh) | 2021-09-03 |
Family
ID=77469026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110535758.5A Pending CN113347023A (zh) | 2021-05-17 | 2021-05-17 | 网络模拟器及其动态切换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113347023A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115102864A (zh) * | 2022-06-21 | 2022-09-23 | 中国人民解放军国防科技大学 | 一种用于Dragonfly拓扑的Allgather方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104734915A (zh) * | 2015-03-05 | 2015-06-24 | 重庆邮电大学 | 一种复合多进程多线程的多网络并发动态仿真方法 |
US20170277620A1 (en) * | 2016-03-24 | 2017-09-28 | Oracle International Corporation | Systems and methods for providing dynamic and real time simulations of matching resources to requests |
-
2021
- 2021-05-17 CN CN202110535758.5A patent/CN113347023A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104734915A (zh) * | 2015-03-05 | 2015-06-24 | 重庆邮电大学 | 一种复合多进程多线程的多网络并发动态仿真方法 |
US20170277620A1 (en) * | 2016-03-24 | 2017-09-28 | Oracle International Corporation | Systems and methods for providing dynamic and real time simulations of matching resources to requests |
Non-Patent Citations (1)
Title |
---|
HORIZONYI: "NS2的基本仿真(不错)", 《知乎HTTPS://BLOG.CSDN.NET/HORIZONYI/ARTICLE/DETAILS/41621613》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115102864A (zh) * | 2022-06-21 | 2022-09-23 | 中国人民解放军国防科技大学 | 一种用于Dragonfly拓扑的Allgather方法及装置 |
CN115102864B (zh) * | 2022-06-21 | 2023-08-29 | 中国人民解放军国防科技大学 | 一种用于Dragonfly拓扑的Allgather方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101809396B1 (ko) | 분산된 직접 상호 접속 네트워크에서 패킷을 라우팅하는 방법 | |
Yeganeh et al. | On scalability of software-defined networking | |
Garg et al. | Networkcloudsim: Modelling parallel applications in cloud simulations | |
Chang | Network simulations with OPNET | |
EP2278756A1 (en) | Methods and devices for evaluating interconnection efficiency of parallel computer networks based upon static routing schemes | |
Kumar et al. | Ns3 simulator for a study of data center networks | |
Yu et al. | Comprehensive prediction models of control traffic for SDN controllers | |
CN113347023A (zh) | 网络模拟器及其动态切换方法 | |
Rygielski et al. | Modeling and prediction of software-defined networks performance using queueing petri nets | |
CN113193998B (zh) | 网络仿真方法、可编程交换机和计算机可读存储介质 | |
Bogdanski | Optimized routing for fat-tree topologies | |
Bermudez et al. | On the infiniband subnet discovery process | |
CN105323109B (zh) | 互连网络仿真器及用于仿真互连网络的方法 | |
Alzarog et al. | Sdn controllers comparison based on network topology | |
Priyadarsini et al. | A new approach for SDN performance enhancement | |
Nakata et al. | Starbed2: Large-scale, realistic and real-time testbed for ubiquitous networks | |
Chen et al. | Fastscale: Fast scaling out of network functions | |
Al-Somaidai et al. | Effects of linux scheduling algorithms on Mininet network performance | |
Pathak et al. | Software defined network simulation using OpenNet for vehicular network | |
Poncea et al. | Design and implementation of an Openflow SDN controller in NS-3 discrete-event network simulator | |
Heisswolf et al. | Rerouting: Scalable NoC self-optimization by distributed hardware-based connection reallocation | |
Lima et al. | Exploring MAS to a High Level Abstration NoC Simulation Environment | |
Palesi et al. | Exploiting communication concurrency for efficient deadlock free routing in reconfigurable NoC platforms | |
Badotra et al. | Software defined networking: a crucial approach for cloud computing adoption | |
Tasoulas et al. | Fast hybrid network reconfiguration for large-scale lossless interconnection networks |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210903 |
|
RJ01 | Rejection of invention patent application after publication |