Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Framework for Large-Scale emulations (thesis)
Search
Ah-Lun Tang
June 24, 2013
Technology
0
280
Framework for Large-Scale emulations (thesis)
Ah-Lun Tang
June 24, 2013
Tweet
Share
More Decks by Ah-Lun Tang
See All by Ah-Lun Tang
SYTYCC Hackathon - Final Pitch
ahluntang
0
360
So You Think You Can Code - pINGy - Pitch Saturday
ahluntang
0
310
Westtoer
ahluntang
1
48
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.9k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
160
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
320
Agile Leadership Summit Keynote 2026
m_seki
1
630
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
230
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
630
今日から始めるAmazon Bedrock AgentCore
har1101
4
410
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
190
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
220
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Rails Girls Zürich Keynote
gr2m
96
14k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
How to Think Like a Performance Engineer
csswizardry
28
2.4k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
100
Leo the Paperboy
mayatellez
4
1.4k
エンジニアに許された特別な時間の終わり
watany
106
230k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Transcript
Framework voor Large-Scale emulaties door Ah-Lun Tang
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
Onderzoek bij iMinds Netwerktechnologieën Netwerkprotocollen Netwerktopologieën Probleem
Probleem Virtual Wall
Emulab (Utah) Honderdtal machines Verbinden op flexibele manier Topologie emuleren
Probleem Virtual Wall
Zeer grote topologieën niet mogelijk Aantal machines beperkt Probleem Virtual
Wall
Zeer grote topologieën niet mogelijk Aantal machines beperkt Probleem Virtual
Wall
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
Doelstelling Grote netwerken Genereren Hergebruiken Emuleren (virtualisatie) Technologieën onderzoeken
Genereren Framework API Bouwstenen voor topologie Topologieën eenvoudig samenstellen Complexere
topologie ondersteunen Doelstelling
Hergebruiken Topologie opslaan Leesbaar formaat: XML Te transformeren naar ander
formaat Doelstelling
Emuleren Op Virtual Wall Op basis van XML document Grote
topologie: virtualisatie Doelstelling
Onderzoek Quagga OSPF BGP OpenFlow RouteFlow ... Doelstelling
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
Bestaande oplossingen? Mininet Geautomatiseerd Virtualisatie: grote topologieën Zeer simpele netwerkknopen/nodes
Nodes kunnen geen Quagga draaien Enkel script, geen XML
Geautomatiseerd Virtualisatie: grote topologieën Zeer simpele netwerkknopen/nodes Nodes kunnen geen
Quagga draaien Enkel script, geen XML Bestaande oplossingen? Mininet
Bestaande oplossingen? Mininet Geautomatiseerd Virtualisatie: grote topologieën Zeer simpele netwerkknopen/nodes
Nodes kunnen geen Quagga draaien Enkel script, geen XML
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
Virtualisatie Wat is virtualisatie? Hardware Fysieke machine
Hardware Besturingssysteem Fysieke machine Besturings systeem Virtualisatie Wat is virtualisatie?
Machine opdelen in Virtuele Machines Fysieke machine VM VM VM
VM Virtualisatie Wat is virtualisatie? Besturings systeem
Fysieke machine VM VM VM VM OS OS OS OS
Virtualisatie Wat is virtualisatie? Besturings systeem Machine opdelen in Virtuele Machines
Hypervisor Volledige virtualisatie Gedeeltelijke virtualisatie Virtualisatie Hoe?
Maakt en beheert virtuele machines = virtual machine manager/monitor VM
VM VM VM Virtualisatie Hypervisor
Hosted hypervisor Bare-metal hypervisor Virtualisatie Hypervisor
Hosted hypervisor Bare-metal hypervisor Hardware Virtualisatie Hypervisor
Hosted hypervisor Bare-metal hypervisor Hardware Besturingssysteem Virtualisatie Hypervisor
Hosted hypervisor Bare-metal hypervisor Hardware Besturingssysteem Hosted Hypervisor Virtualisatie Hypervisor
Hosted hypervisor Bare-metal hypervisor Hardware Besturingssysteem Hosted Hypervisor VM VM
VM VM VM VM VM VM Virtualisatie Hypervisor
Hosted hypervisor Bare-metal hypervisor Hardware Virtualisatie Hypervisor Hardware Besturingssysteem Hosted
Hypervisor VM VM VM VM VM VM VM VM
Hosted hypervisor Bare-metal hypervisor Hardware Bare-metal hypervisor Virtualisatie Hypervisor Hardware
Besturingssysteem Hosted Hypervisor VM VM VM VM VM VM VM VM
Hosted hypervisor Bare-metal hypervisor Hardware Bare-metal hypervisor VM VM VM
VM VM VM VM VM Virtualisatie Hypervisor Hardware Besturingssysteem Hosted Hypervisor VM VM VM VM VM VM VM VM
VMware Workstation, VirtualBox, ... VMware ESXi, Microsoft Hyper-V, Citrix XenServer,...
Virtualisatie Hypervisor Hardware Besturingssysteem Hosted Hypervisor VM VM VM VM VM VM VM VM Hardware Bare-metal hypervisor VM VM VM VM VM VM VM VM
Virtualisatie volledig vs gedeeltelijk
Hypervisor Virtualisatie volledig vs gedeeltelijk
Hypervisor Hardware Virtualisatie volledig vs gedeeltelijk
Hypervisor Hardware OS Virtualisatie volledig vs gedeeltelijk
Hypervisor Hardware OS Hypervisor Virtualisatie volledig vs gedeeltelijk
Hypervisor Hardware OS Hypervisor HW Virtualisatie volledig vs gedeeltelijk
Hypervisor Hardware OS Hypervisor HW OS Virtualisatie volledig vs gedeeltelijk
Linux unshare Virtualisatie Wat gebruikt Mininet?
Functie uit Linux kernel Virtuele machines via isolatie networknamespace isoleren
Virtualisatie unshare
Virtualisatie unshare Functie uit Linux kernel Virtuele machines via isolatie
networknamespace isoleren > unshare --net /bin/bash
Virtualisatie unshare Functie uit Linux kernel Virtuele machines via isolatie
networknamespace isoleren > unshare --net /bin/bash
Hypervisor Hardware OS Virtualisatie unshare Functie uit Linux kernel Virtuele
machines via isolatie networknamespace isoleren > unshare --net /bin/bash
Hypervisor/Kernel OS Virtualisatie unshare Functie uit Linux kernel Virtuele machines
via isolatie networknamespace isoleren > unshare --net /bin/bash
Hypervisor/Kernel Bash Virtualisatie unshare Functie uit Linux kernel Virtuele machines
via isolatie networknamespace isoleren > unshare --net /bin/bash
> unshare --net /bin/bash Uitbreiding LXC Userspace Tools Virtualisatie unshare
Hypervisor/Kernel Bash Functie uit Linux kernel Virtuele machines via isolatie networknamespace isoleren
Extra pakket bij Ubuntu Maakt gebruik van unshare Volledige distributie
in VM Virtualisatie LXC
> lxc-create -n vm -t debian Virtualisatie LXC Extra pakket
bij Ubuntu Maakt gebruik van unshare Volledige distributie in VM
Virtualisatie Keuze voor Large-Scale Framework Unshare & LXC Flexibiliteit Schaalbaarheid
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
Implementatie Kenmerken topologie Verbindingen & Interfaces Netwerkknopen Switches
> ip link add type veth Implementatie Kenmerken topologie Verbindingen
& Interfaces Netwerkknopen Switches
> ip link add type veth > unshare --net /bin/bash
> lxc-create -n node -t debian Implementatie Kenmerken topologie Verbindingen & Interfaces Netwerkknopen Switches
> ip link add type veth > unshare --net /bin/bash
> lxc-create -n node -t debian > brctl addbr switch Implementatie Kenmerken topologie Verbindingen & Interfaces Netwerkknopen Switches
Verbindingen & Interfaces NetworkInterface interface_id link_id address mac routes: list
gateway __init__() Implementatie Kenmerken topologie
Netwerkknoop Container container_id container_type interfaces: list networks: list scripts template
storage __init__() Implementatie Kenmerken topologie
Switches Bridge bridge_id bridge_type interfaces: list __init__() Implementatie Kenmerken topologie
Voorgedefinieerde set van topologieën ring ster mesh lijn boom bus
Implementatie Kenmerken topologie: componenten
Aantal knopen in te stellen Te verbinden met andere componenten
Implementatie Kenmerken topologie: NetworkComponent
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
API gebruiken Stappenplan Componenten aanmaken Componenten verbinden Exporteren in XML-formaat
Emuleren op Virtual Wall
API gebruiken Componenten aanmaken host = add_host(topology) star = create_star(host,
nodes, addressing, containertype, template) sun = create_star(host, nodes, addressing, containertype, template)
API gebruiken Containers verbinden star_node = star.topology['containers'] ['node1'] sun_node =
sun.topology['containers'] ['node1'] connect_elements(star_node, sun_node, star, sun, addressing)
API gebruiken Exporteren add_component_to_topology(topology, component) write_topology_xml(topology, output)
API gebruiken Emuleren op Virtual Wall > ./lscale.py emulate -f
topo.xml
Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van framework
Gebruik van framework Onderzoek & resultaten Conclusie Indeling
Onderzoek Schaalbaarheid? Unshare versus LXC Hoeveel containers op machine mogelijk?
Tijd tot topologie volledig aangemaakt is?
Onderzoek Testmachine Machine op wall1.ilabt.iminds.be Intel Xeon E5520 (2.27GHz) 12
GB RAM Ubuntu 12.04 LTS
Onderzoek Unshare 1 ring
Onderzoek Unshare Ring toevoegen
Onderzoek Unshare Ring toevoegen
Onderzoek Unshare Ring toevoegen
Onderzoek Opzettijd
Onderzoek Ping
Onderzoek Ping
Onderzoek LXC 1 ster
Onderzoek LXC ster toevoegen
Onderzoek LXC ster toevoegen
Onderzoek LXC ster toevoegen
Onderzoek Opzettijd
Onderzoek lxc-start
Onderzoek Ping
Indeling Probleemstelling Doelstelling en vereisten Bestaande oplossingen Virtualisatie Implementatie van
framework Gebruik van framework Onderzoek & resultaten Conclusie
Conclusie Voordelen Snelle generatie topologie Emulatie grotere topologieën Schaalbaar Flexibel
(unshare - LXC)
Conclusie Tekortkomingen Aantal pseudoterminals LXC werkt trager LXC niet thread-safe
Vragen?