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
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
360
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
240
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
200
What happened to RubyGems and what can we learn?
mikemcquaid
0
300
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
210
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
420
Cosmos World Foundation Model Platform for Physical AI
takmin
0
910
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
660
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
Agile Leadership Summit Keynote 2026
m_seki
1
620
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
150
Greatest Disaster Hits in Web Performance
guaca
0
250
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
680
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
sira's awesome portfolio website redesign presentation
elsirapls
0
150
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.7k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Invisible Side of Design
smashingmag
302
51k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
Are puppies a ranking factor?
jonoalderson
1
2.7k
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?