开放网络模拟器:一个并行的直接代码执行网络模拟器

V. Duggirala, S. Varadarajan
{"title":"开放网络模拟器:一个并行的直接代码执行网络模拟器","authors":"V. Duggirala, S. Varadarajan","doi":"10.1109/PADS.2012.29","DOIUrl":null,"url":null,"abstract":"In this paper, we present the Open Network Emulator (ONE) a network simulator that combines the controllability and scalability of simulation with the direct code execution properties of emulation and experimental test beds. ONE has two novel features. First is a compiler framework that automatically transforms existing network application/protocols written in imperative languages such as C and C++ into composable modules, which can then be combined to create arbitrarily complex network stacks. This compiler framework obviates the need for heavyweight virtualization and enables ONE to execute multiple virtual hosts, each with its own application and network protocol stack, within a single process. The second novel feature of ONE is a new time model called Relativistic Time that combines the controllability of virtual time with the fidelity of real-time. To implement ONE, we ported the complete TCP/IP stack from within the Linux kernel (including the sockets interface, TCP, UDP IPv4 and v6, ICMP, IGMP, traffic shaping, net filters, routing and ARP) and well-known configuration and packet tracing applications such as ifconfig and tcpdump. Existing network applications can be compiled and instantiated within ONE without requiring any source code change. We validated the fidelity of ONE by comparing the packet arrival times of multiple traffic generators on a real network against the arrival times with ONE emulation. Our preliminary performance evaluation of ONE on an 8 core system shows that ONE is highly efficient and can run over 450 virtual hosts connected over point-to-point gigabit links, while still retaining linear behavior.","PeriodicalId":299627,"journal":{"name":"2012 ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation","volume":"45 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":"{\"title\":\"Open Network Emulator: A Parallel Direct Code Execution Network Simulator\",\"authors\":\"V. Duggirala, S. Varadarajan\",\"doi\":\"10.1109/PADS.2012.29\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In this paper, we present the Open Network Emulator (ONE) a network simulator that combines the controllability and scalability of simulation with the direct code execution properties of emulation and experimental test beds. ONE has two novel features. First is a compiler framework that automatically transforms existing network application/protocols written in imperative languages such as C and C++ into composable modules, which can then be combined to create arbitrarily complex network stacks. This compiler framework obviates the need for heavyweight virtualization and enables ONE to execute multiple virtual hosts, each with its own application and network protocol stack, within a single process. The second novel feature of ONE is a new time model called Relativistic Time that combines the controllability of virtual time with the fidelity of real-time. To implement ONE, we ported the complete TCP/IP stack from within the Linux kernel (including the sockets interface, TCP, UDP IPv4 and v6, ICMP, IGMP, traffic shaping, net filters, routing and ARP) and well-known configuration and packet tracing applications such as ifconfig and tcpdump. Existing network applications can be compiled and instantiated within ONE without requiring any source code change. We validated the fidelity of ONE by comparing the packet arrival times of multiple traffic generators on a real network against the arrival times with ONE emulation. Our preliminary performance evaluation of ONE on an 8 core system shows that ONE is highly efficient and can run over 450 virtual hosts connected over point-to-point gigabit links, while still retaining linear behavior.\",\"PeriodicalId\":299627,\"journal\":{\"name\":\"2012 ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation\",\"volume\":\"45 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2012-07-15\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"7\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2012 ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/PADS.2012.29\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PADS.2012.29","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7

摘要

本文提出了开放网络仿真器(Open Network Emulator, ONE),它将仿真的可控性和可扩展性与仿真和实验测试平台的直接代码执行特性相结合。ONE有两个新特点。首先是一个编译器框架,它可以自动将用命令式语言(如C和c++)编写的现有网络应用程序/协议转换为可组合的模块,然后可以将这些模块组合起来创建任意复杂的网络堆栈。该编译器框架消除了对重量级虚拟化的需求,并使ONE能够在单个进程中执行多个虚拟主机,每个主机都有自己的应用程序和网络协议栈。ONE的第二个新颖之处是一个叫做相对论时间的新时间模型,它结合了虚拟时间的可控性和实时的保真度。为了实现ONE,我们从Linux内核中移植了完整的TCP/IP堆栈(包括套接字接口,TCP, UDP IPv4和v6, ICMP, IGMP,流量整形,网络过滤器,路由和ARP)以及众所周知的配置和数据包跟踪应用程序,如ifconfig和tcpdump。现有的网络应用程序可以在ONE中编译和实例化,而无需更改任何源代码。我们通过比较真实网络中多个流量生成器的数据包到达时间与ONE仿真的到达时间来验证ONE的保真度。我们对ONE在8核系统上的初步性能评估表明,ONE非常高效,可以运行超过450个虚拟主机,通过点对点千兆链路连接,同时仍然保持线性行为。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Open Network Emulator: A Parallel Direct Code Execution Network Simulator
In this paper, we present the Open Network Emulator (ONE) a network simulator that combines the controllability and scalability of simulation with the direct code execution properties of emulation and experimental test beds. ONE has two novel features. First is a compiler framework that automatically transforms existing network application/protocols written in imperative languages such as C and C++ into composable modules, which can then be combined to create arbitrarily complex network stacks. This compiler framework obviates the need for heavyweight virtualization and enables ONE to execute multiple virtual hosts, each with its own application and network protocol stack, within a single process. The second novel feature of ONE is a new time model called Relativistic Time that combines the controllability of virtual time with the fidelity of real-time. To implement ONE, we ported the complete TCP/IP stack from within the Linux kernel (including the sockets interface, TCP, UDP IPv4 and v6, ICMP, IGMP, traffic shaping, net filters, routing and ARP) and well-known configuration and packet tracing applications such as ifconfig and tcpdump. Existing network applications can be compiled and instantiated within ONE without requiring any source code change. We validated the fidelity of ONE by comparing the packet arrival times of multiple traffic generators on a real network against the arrival times with ONE emulation. Our preliminary performance evaluation of ONE on an 8 core system shows that ONE is highly efficient and can run over 450 virtual hosts connected over point-to-point gigabit links, while still retaining linear behavior.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信