Transcript 정문영

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