* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download 정문영
Piggybacking (Internet access) wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Backpressure routing wikipedia , lookup
TCP congestion control wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Internet protocol suite wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Distributed firewall wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Serial digital interface wikipedia , lookup
Computer network wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Network tap wikipedia , lookup
Deep packet inspection wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
UniPro protocol stack wikipedia , lookup
Packet switching wikipedia , lookup
In VINI Veritas Realistic and Controlled Network Experimentation Andy Bavier Nick Feamster* Mark Huang Larry Peterson Jennifer Rexford Princeton University *Georgia Tech Modified and presented by Arjumand Younus and Moonyoung Chung Outline Motivation Scientific Value and Importance of VINI Fundamental Philosophy of VINI Design Requirements Strategy for building VINI PL-VINI: prototype on PlanetLab Experimental results Conclusion 2 Motivation - How to Validate an Idea? Emulation Simulation VINI Small-scale experiment Live deployment Fixed, shared among many experiments Runs real routing software Exposes realistic network conditions Gives control over network events Carries traffic on behalf of real users 3 Realism has Scientific Value The most exciting phrase to hear in science, the one that heralds new discoveries, is not ‘Eureka!’ (I found it!) but ‘That’s funny …’ -- Isaac Asimov Discover unanticipated interactions Can only simulate / emulate known properties Build richer models Test robustness and scalability of ideas 4 Fundamental Philosophy “Controlled Realism” Arbitrary, emulated Actual network Real clients, servers Reproduce results Methodically change or relax constraints Topology Synthetic or traces Traffic Inject faults, anomalies Observed in operational network Network Events Control: Realism: Long-running services attract real “customers” Forward high traffic volumes (Gb/s) Robustly handle unexpected events 5 Overview VINI requirements Fixed, shared infrastructure Flexible network topology Expose/inject network events External connectivity and routing adjacencies PL-VINI: prototype on PlanetLab Experimental results Conclusion 6 Fixed Infrastructure VINI nodes embedded in Abilene 7 Shared Infrastructure Experiments given illusion of dedicated hardware 8 Shared Infrastructure Experiments given illusion of dedicated hardware 9 Flexible Topology VINI supports arbitrary virtual topologies 10 Flexible Topology VINI supports arbitrary virtual topologies 11 Network Events VINI can inject network failures 12 Network Events real link fails virtual link fails VINI can expose network failures (coming soon) 13 External Connectivity c s Experiments can carry traffic for real end-users 14 External Routing Adjacencies BGP BGP c s BGP BGP Experiments can participate in Internet routing 15 PlanetLab VINI Build VINI from PlanetLab, a global testbed for distributed services Begun in 2002 700 nodes at 336 sites in 35 countries 600 projects and 2500 researchers Serves 3-4 TB/day to ~1M clients MyPLC: PlanetLab software distribution Anyone can run their own private PlanetLab 16 PL-VINI: Prototype on PlanetLab PlanetLab: testbed for planetary-scale services Simultaneous experiments in separate VMs Each has “root” in its own VM, can customize Can reserve CPU, network capacity per VM Node Mgr Local Admin VM1 VM2 … VMn PlanetLab node Virtual Machine Monitor (VMM) (Linux++) 17 Resource Isolation Issue: Forwarding packets in user space PlanetLab sees heavy use CPU load affects virtual network performance Property Depends On Solution Throughput CPU% received Latency CPU scheduling delay PlanetLab provides CPU reservations PL-VINI: boost priority of packet forward process 18 PL-VINI: Prototype on PlanetLab Enable experiment: Internet In A Slice open-source routing protocol suite (NSDI ’05) Click modular router (TOCS ’00, SOSP ’99) XORP Clarify issues that a VINI must address Unmodified routing software on a virtual topology Forwarding packets at line speed Illusion of dedicated hardware Injection of faults and other events 19 Synthesis of Software Components to enable PL-VINI XORP – Open Source Routing Protocol Suite especially developed for network research community. [9, NSDI ’05] Click – Software Architecture for Building Flexible and Configurable routers [10] UML – Linux-Kernel running as regular Linux-UserProcess without Root-Privileges. OpenVPN – Open source SSL VPN solution. 20 XORP: Control Plane XORP (routing protocols) BGP, OSPF, RIP, PIM-SM, IGMP/MLD Goal: run real routing protocols on virtual network topologies 21 User-Mode Linux: Environment UML XORP (routing protocols) eth0 eth1 eth2 eth3 Interface ≈ network PlanetLab limitation: Slice cannot create new interfaces Run routing software in UML environment Create virtual network interfaces in UML 22 Click: Data Plane UML XORP (routing protocols) eth0 eth1 eth2 Performance Avoid UML overhead Move to kernel, FPGA eth3 Control Data Packet Forward Engine Click 23 Click: Data Plane UML XORP (routing protocols) eth0 eth1 eth2 Performance Avoid UML overhead Move to kernel, FPGA eth3 Control Data Packet Forward Engine UmlSwitch element Click 24 Click: Data Plane UML XORP (routing protocols) eth0 eth1 eth2 Avoid UML overhead Move to kernel, FPGA eth3 Control Data Packet Forward Engine Performance UmlSwitch element Tunnel table Interfaces tunnels Click UDP tunnels correspond to UML network interfaces Click 25 Injecting Link Failures UML XORP (routing protocols) eth0 eth1 eth2 Avoid UML overhead Move to kernel, FPGA eth3 Control Data Packet Forward Engine Click Performance Click UDP tunnels correspond to UML network interfaces UmlSwitch element Tunnel table Filters Interfaces tunnels Filters “Fail a link” by blocking packets at tunnel 26 Life of a packet in IIAS 27 Experiments Microbenchmarks Capacity Behavior Intra domain Route changes Failure and recovery 28 Overlay Efficiency IIAS’s user-space Click forwader vs. inkernel forwarding 29 Performance is bad User-space Click: ~200Mb/s forwarding Can do a lot with 200Mb/s 20 experiments can have dedicated 10Mb/s nationwide networks Improving performance is ongoing work Allow experiments to load custom Click modules into the VINI kernel 30 Overlay on PlanetLab on dedicated hardware (DETER) vs. shared platform (PlanetLab) and PL-VINI 31 Overlay on PlanetLab PL-VINI and IIAS together provide a close approximation of the underlying network’s behaviors. 32 Intra-domain Route Changes s 856 2095 700 260 1295 c 639 366 233 548 587 846 902 1893 1176 Watch OSPF route convergence on Abilene 33 Intra-domain Route Changes s 856 2095 700 260 1295 c 639 366 233 548 587 846 902 1893 1176 Watch OSPF route convergence on Abilene 34 Intra-domain Route Changes s 856 2095 700 260 1295 c 639 366 233 548 587 846 902 1893 1176 Watch OSPF route convergence on Abilene 35 Intra-domain Route Changes s 856 2095 700 260 1295 233 c 548 366 587 846 902 1893 1176 Watch OSPF route convergence on Abilene 36 Intra-domain Route Changes s 856 2095 700 260 1295 c 639 366 233 548 587 846 902 1893 1176 Watch OSPF route convergence on Abilene 37 Ping During Link Failure 120 Ping RTT (ms) 110 100 Link down 90 80 70 0 10 20 30 Seconds 40 50 38 Ping During Link Failure 120 Ping RTT (ms) 110 100 Link down 90 Link up 80 70 0 10 20 30 Seconds 40 50 39 Ping During Link Failure 120 Routes converging Ping RTT (ms) 110 100 Link down 90 Link up 80 70 0 10 20 30 Seconds 40 50 40 TCP Throughput 12 Megabytes transferred Packet receiv ed 10 8 6 Link down 4 2 0 0 10 20 30 40 50 Seconds 41 TCP Throughput 12 Megabytes transferred Packet receiv ed 10 8 6 Link down Link up 4 2 0 0 10 20 30 40 50 Seconds 42 TCP Throughput 12 Megabytes transferred Packet receiv ed 10 8 6 Link down Link up 4 Zoom in 2 0 0 10 20 30 40 50 Seconds 43 Arriving TCP Packets 2.45 Megabytes in stream Packet receiv ed 2.4 2.35 2.3 Slow start 2.25 2.2 2.15 2.1 17.5 18 18.5 19 Seconds 19.5 20 44 Arriving TCP Packets 2.45 Megabytes in stream Packet received 2.4 2.35 2.3 Slow start 2.25 2.2 Retransmit lost packet 2.15 2.1 17.5 18 18.5 19 Seconds 19.5 20 45 Arriving TCP Packets 2.45 Megabytes in stream Packet receiv ed 2.4 2.35 PL-VINI user-space virtual network 2.3enables Slowa start to behave like a real network on PlanetLab 2.25 2.2 Retransmit lost packet 2.15 2.1 17.5 18 18.5 19 Seconds 19.5 20 46 Conclusion VINI: Virtual Network Infrastructure Controlled and realistic experimentation New routing, forwarding, and addressing Initial experiment Intradomain routing convergence in XORP Later, perhaps run commercial router code? Long term goal Shared platform for networking experiments Real user traffic and upstream ISP connections 47