SlideShare a Scribd company logo
1 of 64
The Internet
Plan for Today
PS3 Benchmarking
Networking

1
Plan for Rest of Course
Spring Break!
March 18-April 3: Problem Set 4
Hacking a Kernel (Entering Ring 0!)
April 29 (Final Project Due)
You get a real break for Spring Break! (Unless you have catching up to do…)
But, use it to think of project ideas – if you come up with something good,
can substitute for PS4
2
Project

Do something that is:
fun (for you to do, and others to see)
relevant (to the class)
technically interesting (to you and me)
useful (at least to you, hopefully to many)

You probably can’t maximize all of these! It is okay to sacrifice
one or two of them to increase others. A good project should
be strong on at least 2 of these, which is much better than
being mediocre of all four.
3
Project Teams
Anyone you want
Size: 1-65+ people (recommended: 2-5)
Okay to include people not in class
“Impressiveness” should scale as sqrt(N)
(N = # of teammates in class)
Choose your teammates carefully and manage it well.
You don’t need to finalize your team or project idea until April (after PS4), but
if you know what you want to do, and want to substitute for PS4, can start early
4
Ideas for Projects
Some interesting systems-level program
Some contribution to Rust
Some contribution to computing
Doesn’t have to be a program
See http://rust-class.org/pages/final-projects.html for
what students did last semester
5
Benchmarking
“Competitions”
vs.
Useful Benchmarking
6
Why Benchmark?

7
“Customer” Benchmarks
• Allow fair and accurate comparisons between
different solutions
• Standard accepted by all/many vendors

Goal is a benchmark that represents well the
(anticipated) actual usage for “typical” users
8
“Cheating” on Benchmarks
How could you “cheat” on a benchmark?

9
10
1. On the Exynos 5410, Samsung was detecting the presence
of certain benchmarks and raising thermal limits (and thus
max GPU frequency) in order to gain an edge on those
benchmarks, and
2. On both Snapdragon 600 and Exynos 5410 SGS4 platforms,
Samsung was detecting the presence of certain
benchmarks and automatically driving CPU
voltage/frequency to their highest state right away. Also
on Snapdragon platforms, all cores are plugged in
immediately upon benchmark detect.
11
Everyone (except
Google and NVidia)
is cheating!
Samsung is just
better at it than
anyone else.
12
Is It Possible to Prevent
Benchmark “Cheating”?

13
Benchmarking Zhttas

14
http://128.143.136.170:4414/leaderboard.html at 14-03-06-00-00-24

15
submitted at 6:26am

Jyotiska Biswas
Anat Gilboa
Mike Recachinas

16
Crash Course in Networking

17
Chappe’s Semaphore Network
First Line (Paris to Lille), 1794
Mobile Semaphore Telegraph
Used in the Crimean War 1853-1856
19
Measuring Networks
Latency
Time from sending a bit until it arrives
seconds (or seconds per geographic distance)
Bandwidth
Rate at which can you transmit
bits per second
20
Measuring Networks
Latency

Bandwidth

seconds

milliseconds
21
Measuring Networks
Latency
Best: 6.8ms/request

Bandwidth
Total bytes: 280MB / 46.46s
Bandwidth: ~ 6.0 MB/second

seconds

milliseconds
22
Latency: 13 minutes
(1.6s per mile)
Virginia to California:
~1 hour
Bandwidth: 2 symbols per
minute
(98 symbols: ~13
bits/min)
Get http://rust-class.org:
18 days

Napoleon’s Network
Paris to Toulon, 475 miles

23
Improving Latency

24
Improving Latency
Fewer Transfers
Longer distances between transfers
Taller towers (or use wires!)
Faster Transfers
Faster Inter-Transfer Travel
Electrons in copper: about 1/3rd speed of light
25
How many network transfer points
between here and California?
26
gash> traceroute -q 1 www.berkeley.edu
traceroute to www.w3.berkeley.edu (169.229.216.200), 64 hops max, 52 byte packets

1 dd-wrt (192.168.1.1) 9.779 ms
2 c-24-127-51-1.hsd1.va.comcast.net (24.127.51.1) 24.139 ms
3 te-2-3-ur01.charlville.va.richmond.comcast.net (68.85.226.149) 11.955 ms
4 xe-11-3-0-0-sur01.charlville.va.richmond.comcast.net (68.86.172.185) 10.321 ms
5 xe-4-1-1-0-ar02.charlvilleco.va.richmond.comcast.net (69.139.165.57) 17.717 ms
6 pos-0-8-0-0-cr01.charlotte.nc.ibone.comcast.net (68.86.94.29) 26.774 ms
7 pos-0-5-0-0-pe01.ashburn.va.ibone.comcast.net (68.86.87.14) 14.784 ms
8 as11164-pe01.ashburn.va.ibone.comcast.net (75.149.228.82) 12.095 ms
9 64.57.20.247 (64.57.20.247) 88.728 ms
10 64.57.20.247 (64.57.20.247) 103.851 ms
Unix: traceroute
11 64.57.20.227 (64.57.20.227) 96.655 ms
12 dc-lax-core2--lax-peer1-10ge.cenic.net (137.164.46.119) 104.106 ms
Windows: tracert
13 sfo-agg1--svl-agg2-10g.cenic.net (137.164.22.26) 90.415 ms
14 dc-ucb--sfo-agg1-10ge.cenic.net (137.164.50.17) 92.749 ms
27
Packet speed: (2 * 3813 km) / (100 ms) = 76,000 km/s
Speed of light:
299,792 km/s

Light-speed across the country:
~25ms
Time “wasted” in routers and slow interconnects: ~75ms

28
Amazon’s EC2 servers:
Ashburn, VA

355km (roundtrip)
1.1 ms at lightspeed

29
http://www.wolframalpha.com/input/?i=furthest+from+charlottesville+virginia

30
31
32
$ traceroute -q 1 -w 30 www.busselton.wa.gov.au
traceroute to busselton.wa.gov.au (203.41.180.233), 64 hops max, 52 byte packets
1 dd-wrt (192.168.1.1) 11.156 ms
2 c-24-127-51-1.hsd1.va.comcast.net (24.127.51.1) 32.497 ms
3 te-2-3-ur01.charlville.va.richmond.comcast.net (68.85.226.149) 13.971 ms
4 xe-11-2-0-0-sur01.charlville.va.richmond.comcast.net (69.139.165.221) 12.312 ms
5 xe-4-1-2-0-ar02.charlvilleco.va.richmond.comcast.net (69.139.165.65) 12.395 ms
6 pos-1-2-0-0-cr01.ashburn.va.ibone.comcast.net (68.86.91.53) 25.624 ms
7 pos-3-10-0-0-cr01.56marietta.ga.ibone.comcast.net (68.86.86.221) 31.483 ms
8 pos-1-9-0-0-cr01.dallas.tx.ibone.comcast.net (68.86.87.233) 52.515 ms
9 he-0-12-0-0-cr01.losangeles.ca.ibone.comcast.net (68.86.86.117) 83.242 ms
10 as4637-cr01.losangeles.ca.ibone.comcast.net (75.149.228.222) 78.134 ms
11 i-0-2-0-11.tlot-core01.bi.telstraglobal.net (202.40.149.185) 86.131 ms
12 i-0-0-0-0.sydo-core01.bx.telstraglobal.net (202.84.140.5) 287.302 ms
13 tengige0-1-0-14.oxf-gw2.sydney.telstra.net (203.50.13.133) 300.060 ms
14 bundle-ether2.oxf-gw1.sydney.telstra.net (203.50.6.85) 274.270 ms
15 bundle-ether1.ken-core4.sydney.telstra.net (203.50.6.5) 270.694 ms
33
16 bundle-ether10.win-core1.melbourne.telstra.net (203.50.11.13) 275.252 ms
10
11
12
13

as4637-cr01.losangeles.ca.ibone.comcast.net (75.149.228.222) 78.134 ms
i-0-2-0-11.tlot-core01.bi.telstraglobal.net (202.40.149.185) 86.131 ms
i-0-0-0-0.sydo-core01.bx.telstraglobal.net (202.84.140.5) 287.302 ms
tengige0-1-0-14.oxf-gw2.sydney.telstra.net (203.50.13.133) 300.060 ms

Do you believe
http://www.infobyip.com/ip-202.84.140.5.html?

34
35
How does traceroute work?

36
Protocol Layers

37
MAC Layer (LAN): Ethernet

42-1500 octets (bytes) of payload
37 octets of overhead
Interframe gap: 96 bits of time between packets
at 1Gbps = 96/1B = 96 ns < 0.1 ms
38
Protocol Layers

LAN: Ethernet (97.6%
efficient for 12Kb packets)
WAN: PPP (99.9% efficient –
only 1-2 bytes overhead)
39
From Robbie
Hott’s
History of Packets

Version 3.1
(February 1978)
Version 4
(June 1978)

IP Layer

packets.robbiehott.com
40
Avoiding Zombie Packets

Router
TTL - 1

41
Avoiding Zombie Packets

Router
if TTL = 0:
Destination = original Source

42
gash> traceroute -q 1 www.berkeley.edu
traceroute to www.w3.berkeley.edu (169.229.216.200), 64 hops max, 52 byte packets

1 dd-wrt (192.168.1.1) 9.779 ms
2 c-24-127-51-1.hsd1.va.comcast.net (24.127.51.1) 24.139 ms
3 te-2-3-ur01.charlville.va.richmond.comcast.net (68.85.226.149) 11.955 ms
4 xe-11-3-0-0-sur01.charlville.va.richmond.comcast.net (68.86.172.185) 10.321 ms
5 xe-4-1-1-0-ar02.charlvilleco.va.richmond.comcast.net (69.139.165.57) 17.717 ms
6 pos-0-8-0-0-cr01.charlotte.nc.ibone.comcast.net (68.86.94.29) 26.774 ms
7 pos-0-5-0-0-pe01.ashburn.va.ibone.comcast.net (68.86.87.14) 14.784 ms
destination, with TTL = 1, 2, 3, 12.095 ms
8 as11164-pe01.ashburn.va.ibone.comcast.net (75.149.228.82) …
9 64.57.20.247 (64.57.20.247) 88.728 ms
10 64.57.20.247 (64.57.20.247) 103.851 ms
it receives
11 64.57.20.227 (64.57.20.227) 96.655 ms
12 dc-lax-core2--lax-peer1-10ge.cenic.net (137.164.46.119) 104.106 ms
13 sfo-agg1--svl-agg2-10g.cenic.net (137.164.22.26) 90.415 ms
14 dc-ucb--sfo-agg1-10ge.cenic.net (137.164.50.17) 92.749 ms
43

traceroute is sending packets to
and recording the death notices
How efficient is IPv4?
1 byte

1 byte

Biggest packet: 216 bytes
(including overhead)
Overhead of header: 24 bytes

1 byte

1 byte

((2 ** 16) - 24) / (2 ** 16) = 0.999633…
Sending 1 KB: 0.954
Sending 16 bytes: 0.40

44
What’s below all this?

IPv4: up to 99.96% efficient
LAN: Ethernet (97.6%
efficient for 12Kb packets)
WAN: PPP (99.9% efficient –
only 1-2 bytes overhead)
45
Below all this:
Physical Layer

46
Bandwidth
How much data can you
transfer in a given
amount of time?

47
Improving Bandwidth

48
Improving Bandwidth
Bigger Pipes
Multiple signalers on each tower
Faster Transmission
Move arms faster
Better Encoding
Most bits per symbol
49
Morse Code
Represent letters with series of
short and long electrical pulses

50
Circuit Switching

Paris

Reserve a whole
path through the
network for the
whole message
transmission

Bourges

Lyon

Toulon

Nantes
51
Packet Switching

Paris

Bourges

Lyon

Toulon

Interleave messages – send
whenever the next link is free.
Nantes
52
internetwork
A collection of multiple networks connected
together, so messages can be transmitted
between nodes on different networks.

53
The First (international) internet

1800: Edelcrantz links
Sweden and Denmark
telegraph networks to
coordinate defense 54
End of First (international) internet

1801: British attach
Copenhagen; Sweden
doesn’t help Denmark;
network disconnected

55
Packet Switching:
Leonard Kleinrock (UCLA) thinks he
did, Donald Davies and Paul Baran,
Edelcrantz’s signalling network
(1809)
Internet Protocol: Vint Cerf,
Bob Kahn
Vision, Funding (DARPA): J.C.R.
Licklider, Bob Taylor
Government: Al Gore

The (capital-I) Internet

First politician to promote Internet,
1986; act to connect government
networks to form “Interagency
Network”
Vint Cerf (in the Rotunda, 2010)
56
First Use of the Internet
October 1969: First packets on the ARPANet
from UCLA to Stanford. Starts to send
"LOGIN", but it crashes on the G.

How impressive is this compared to
communications event 3 months earlier?
57
20 July 1969:
Live b/w video from the moon, transmitted
live to millions of televisions worldwide

58
Today’s Internet: Bandwidth
Ethernet:
up to 100 Mbits/sec
My office:
~50 M bits / sec
UVa Wireless:
57 M bits / sec
Cable modem at home:
~ 30 M bits / sec

Wireless: < 0.44GB/month

What percentage of
Internet traffic is HTTP?
59
60
1 Petabyte = 1015 bytes
1 Million petabytes
= 1 Zettabyte

projections

61
From Tim Berners-Lee’s “Answers for Young People” http://www.w3.org/People/Berners-Lee/Kids.html

Here is my hope: The Web is a tool for communicating. With the Web, you
can find out what other people mean. You can find out where they are
coming from. The Web can help people understand each other. Think
about most of the bad things that have happened between people in your
life. Maybe most of them come down to one person not understanding
another. Even wars.

Charge

I think the main thing to remember is that any really powerful thing can
be used for good or evil. Dynamite can be used to build tunnels or to
make missiles. Engines can be put in ambulances or tanks. … So what is
made of the Web is up to us. You, me, and everyone else.

Let’s use the Web to create neat new exciting things.
Let’s use the Web to help people understand each other.
62
Bonus Theory Movies!
P=NP Downfall Parody!

Non-Deterministic Mario!

cs3102 Assignment
63

More Related Content

What's hot

Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)
Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)
Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)David Evans
 
Security Monitoring with eBPF
Security Monitoring with eBPFSecurity Monitoring with eBPF
Security Monitoring with eBPFAlex Maestretti
 
USENIX ATC 2017 Performance Superpowers with Enhanced BPF
USENIX ATC 2017 Performance Superpowers with Enhanced BPFUSENIX ATC 2017 Performance Superpowers with Enhanced BPF
USENIX ATC 2017 Performance Superpowers with Enhanced BPFBrendan Gregg
 
Performance Wins with BPF: Getting Started
Performance Wins with BPF: Getting StartedPerformance Wins with BPF: Getting Started
Performance Wins with BPF: Getting StartedBrendan Gregg
 
Linux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPFLinux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPFBrendan Gregg
 
LSFMM 2019 BPF Observability
LSFMM 2019 BPF ObservabilityLSFMM 2019 BPF Observability
LSFMM 2019 BPF ObservabilityBrendan Gregg
 
Linux Tracing Superpowers by Eugene Pirogov
Linux Tracing Superpowers by Eugene PirogovLinux Tracing Superpowers by Eugene Pirogov
Linux Tracing Superpowers by Eugene PirogovPivorak MeetUp
 
BPF: Tracing and more
BPF: Tracing and moreBPF: Tracing and more
BPF: Tracing and moreBrendan Gregg
 
Mutual Exclusion
Mutual ExclusionMutual Exclusion
Mutual ExclusionDavid Evans
 
Linux BPF Superpowers
Linux BPF SuperpowersLinux BPF Superpowers
Linux BPF SuperpowersBrendan Gregg
 
EuroBSDcon 2017 System Performance Analysis Methodologies
EuroBSDcon 2017 System Performance Analysis MethodologiesEuroBSDcon 2017 System Performance Analysis Methodologies
EuroBSDcon 2017 System Performance Analysis MethodologiesBrendan Gregg
 
A Brief History of System Calls
A Brief History of System CallsA Brief History of System Calls
A Brief History of System Callsahl0003
 
NetConf 2018 BPF Observability
NetConf 2018 BPF ObservabilityNetConf 2018 BPF Observability
NetConf 2018 BPF ObservabilityBrendan Gregg
 
Smarter Scheduling
Smarter SchedulingSmarter Scheduling
Smarter SchedulingDavid Evans
 
re:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflixre:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at NetflixBrendan Gregg
 
JVM Memory Model - Yoav Abrahami, Wix
JVM Memory Model - Yoav Abrahami, WixJVM Memory Model - Yoav Abrahami, Wix
JVM Memory Model - Yoav Abrahami, WixCodemotion Tel Aviv
 
Designing Tracing Tools
Designing Tracing ToolsDesigning Tracing Tools
Designing Tracing ToolsBrendan Gregg
 
Alternative cryptocurrencies
Alternative cryptocurrencies Alternative cryptocurrencies
Alternative cryptocurrencies vpnmentor
 
ATO Linux Performance 2018
ATO Linux Performance 2018ATO Linux Performance 2018
ATO Linux Performance 2018Brendan Gregg
 
Blazing Performance with Flame Graphs
Blazing Performance with Flame GraphsBlazing Performance with Flame Graphs
Blazing Performance with Flame GraphsBrendan Gregg
 

What's hot (20)

Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)
Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)
Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)
 
Security Monitoring with eBPF
Security Monitoring with eBPFSecurity Monitoring with eBPF
Security Monitoring with eBPF
 
USENIX ATC 2017 Performance Superpowers with Enhanced BPF
USENIX ATC 2017 Performance Superpowers with Enhanced BPFUSENIX ATC 2017 Performance Superpowers with Enhanced BPF
USENIX ATC 2017 Performance Superpowers with Enhanced BPF
 
Performance Wins with BPF: Getting Started
Performance Wins with BPF: Getting StartedPerformance Wins with BPF: Getting Started
Performance Wins with BPF: Getting Started
 
Linux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPFLinux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPF
 
LSFMM 2019 BPF Observability
LSFMM 2019 BPF ObservabilityLSFMM 2019 BPF Observability
LSFMM 2019 BPF Observability
 
Linux Tracing Superpowers by Eugene Pirogov
Linux Tracing Superpowers by Eugene PirogovLinux Tracing Superpowers by Eugene Pirogov
Linux Tracing Superpowers by Eugene Pirogov
 
BPF: Tracing and more
BPF: Tracing and moreBPF: Tracing and more
BPF: Tracing and more
 
Mutual Exclusion
Mutual ExclusionMutual Exclusion
Mutual Exclusion
 
Linux BPF Superpowers
Linux BPF SuperpowersLinux BPF Superpowers
Linux BPF Superpowers
 
EuroBSDcon 2017 System Performance Analysis Methodologies
EuroBSDcon 2017 System Performance Analysis MethodologiesEuroBSDcon 2017 System Performance Analysis Methodologies
EuroBSDcon 2017 System Performance Analysis Methodologies
 
A Brief History of System Calls
A Brief History of System CallsA Brief History of System Calls
A Brief History of System Calls
 
NetConf 2018 BPF Observability
NetConf 2018 BPF ObservabilityNetConf 2018 BPF Observability
NetConf 2018 BPF Observability
 
Smarter Scheduling
Smarter SchedulingSmarter Scheduling
Smarter Scheduling
 
re:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflixre:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflix
 
JVM Memory Model - Yoav Abrahami, Wix
JVM Memory Model - Yoav Abrahami, WixJVM Memory Model - Yoav Abrahami, Wix
JVM Memory Model - Yoav Abrahami, Wix
 
Designing Tracing Tools
Designing Tracing ToolsDesigning Tracing Tools
Designing Tracing Tools
 
Alternative cryptocurrencies
Alternative cryptocurrencies Alternative cryptocurrencies
Alternative cryptocurrencies
 
ATO Linux Performance 2018
ATO Linux Performance 2018ATO Linux Performance 2018
ATO Linux Performance 2018
 
Blazing Performance with Flame Graphs
Blazing Performance with Flame GraphsBlazing Performance with Flame Graphs
Blazing Performance with Flame Graphs
 

Viewers also liked

Invent the Future (Operating Systems in 2029)
Invent the Future (Operating Systems in 2029)Invent the Future (Operating Systems in 2029)
Invent the Future (Operating Systems in 2029)David Evans
 
Inventing the Future
Inventing the FutureInventing the Future
Inventing the FutureDavid Evans
 
Kernel-Level Programming: Entering Ring Naught
Kernel-Level Programming: Entering Ring NaughtKernel-Level Programming: Entering Ring Naught
Kernel-Level Programming: Entering Ring NaughtDavid Evans
 
What the &~#@&lt;!? (Pointers in Rust)
What the &~#@&lt;!? (Pointers in Rust)What the &~#@&lt;!? (Pointers in Rust)
What the &~#@&lt;!? (Pointers in Rust)David Evans
 
Class 1: What is an Operating System?
Class 1: What is an Operating System?Class 1: What is an Operating System?
Class 1: What is an Operating System?David Evans
 
Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...
Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...
Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...David Evans
 
SSL Failing, Sharing, and Scheduling
SSL Failing, Sharing, and SchedulingSSL Failing, Sharing, and Scheduling
SSL Failing, Sharing, and SchedulingDavid Evans
 
Once Upon a Process
Once Upon a ProcessOnce Upon a Process
Once Upon a ProcessDavid Evans
 

Viewers also liked (10)

Invent the Future (Operating Systems in 2029)
Invent the Future (Operating Systems in 2029)Invent the Future (Operating Systems in 2029)
Invent the Future (Operating Systems in 2029)
 
Inventing the Future
Inventing the FutureInventing the Future
Inventing the Future
 
Kernel-Level Programming: Entering Ring Naught
Kernel-Level Programming: Entering Ring NaughtKernel-Level Programming: Entering Ring Naught
Kernel-Level Programming: Entering Ring Naught
 
System Calls
System CallsSystem Calls
System Calls
 
What the &~#@&lt;!? (Pointers in Rust)
What the &~#@&lt;!? (Pointers in Rust)What the &~#@&lt;!? (Pointers in Rust)
What the &~#@&lt;!? (Pointers in Rust)
 
Class 1: What is an Operating System?
Class 1: What is an Operating System?Class 1: What is an Operating System?
Class 1: What is an Operating System?
 
Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...
Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...
Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...
 
SSL Failing, Sharing, and Scheduling
SSL Failing, Sharing, and SchedulingSSL Failing, Sharing, and Scheduling
SSL Failing, Sharing, and Scheduling
 
Managing Memory
Managing MemoryManaging Memory
Managing Memory
 
Once Upon a Process
Once Upon a ProcessOnce Upon a Process
Once Upon a Process
 

Similar to The Internet

Web Server Scheduling
Web Server SchedulingWeb Server Scheduling
Web Server SchedulingDavid Evans
 
Handy Networking Tools and How to Use Them
Handy Networking Tools and How to Use ThemHandy Networking Tools and How to Use Them
Handy Networking Tools and How to Use ThemSneha Inguva
 
PerfUG 3 - perfs système
PerfUG 3 - perfs systèmePerfUG 3 - perfs système
PerfUG 3 - perfs systèmeLudovic Piot
 
osdi23_slides_lo_v2.pdf
osdi23_slides_lo_v2.pdfosdi23_slides_lo_v2.pdf
osdi23_slides_lo_v2.pdfgmdvmk
 
Velocity 2012 - Learning WebOps the Hard Way
Velocity 2012 - Learning WebOps the Hard WayVelocity 2012 - Learning WebOps the Hard Way
Velocity 2012 - Learning WebOps the Hard WayCosimo Streppone
 
Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...
Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...
Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...Databricks
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging RubyAman Gupta
 
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1Tanel Poder
 
Laporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdf
Laporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdfLaporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdf
Laporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdfIGedeArieYogantaraSu
 
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...Altinity Ltd
 
NUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioNUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioHajime Tazaki
 
Debugging Ruby Systems
Debugging Ruby SystemsDebugging Ruby Systems
Debugging Ruby SystemsEngine Yard
 
Is your SQL Exadata-aware?
Is your SQL Exadata-aware?Is your SQL Exadata-aware?
Is your SQL Exadata-aware?Mauro Pagano
 
Open Source Systems Performance
Open Source Systems PerformanceOpen Source Systems Performance
Open Source Systems PerformanceBrendan Gregg
 

Similar to The Internet (20)

Web Server Scheduling
Web Server SchedulingWeb Server Scheduling
Web Server Scheduling
 
Handy Networking Tools and How to Use Them
Handy Networking Tools and How to Use ThemHandy Networking Tools and How to Use Them
Handy Networking Tools and How to Use Them
 
PerfUG 3 - perfs système
PerfUG 3 - perfs systèmePerfUG 3 - perfs système
PerfUG 3 - perfs système
 
eTwinning - traceroute command
eTwinning - traceroute commandeTwinning - traceroute command
eTwinning - traceroute command
 
Day2
Day2Day2
Day2
 
osdi23_slides_lo_v2.pdf
osdi23_slides_lo_v2.pdfosdi23_slides_lo_v2.pdf
osdi23_slides_lo_v2.pdf
 
Velocity 2012 - Learning WebOps the Hard Way
Velocity 2012 - Learning WebOps the Hard WayVelocity 2012 - Learning WebOps the Hard Way
Velocity 2012 - Learning WebOps the Hard Way
 
Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...
Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...
Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...
 
How to use mtr 2
How to use mtr 2How to use mtr 2
How to use mtr 2
 
20141105 asfws-norx-slides
20141105 asfws-norx-slides20141105 asfws-norx-slides
20141105 asfws-norx-slides
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging Ruby
 
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
 
Laporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdf
Laporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdfLaporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdf
Laporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdf
 
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
 
NUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioNUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osio
 
BGP communities and geotags
BGP communities and geotagsBGP communities and geotags
BGP communities and geotags
 
Macs course
Macs courseMacs course
Macs course
 
Debugging Ruby Systems
Debugging Ruby SystemsDebugging Ruby Systems
Debugging Ruby Systems
 
Is your SQL Exadata-aware?
Is your SQL Exadata-aware?Is your SQL Exadata-aware?
Is your SQL Exadata-aware?
 
Open Source Systems Performance
Open Source Systems PerformanceOpen Source Systems Performance
Open Source Systems Performance
 

More from David Evans

Cryptocurrency Jeopardy!
Cryptocurrency Jeopardy!Cryptocurrency Jeopardy!
Cryptocurrency Jeopardy!David Evans
 
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for CypherpunksTrick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for CypherpunksDavid Evans
 
Hidden Services, Zero Knowledge
Hidden Services, Zero KnowledgeHidden Services, Zero Knowledge
Hidden Services, Zero KnowledgeDavid Evans
 
Anonymity in Bitcoin
Anonymity in BitcoinAnonymity in Bitcoin
Anonymity in BitcoinDavid Evans
 
Midterm Confirmations
Midterm ConfirmationsMidterm Confirmations
Midterm ConfirmationsDavid Evans
 
Scripting Transactions
Scripting TransactionsScripting Transactions
Scripting TransactionsDavid Evans
 
How to Live in Paradise
How to Live in ParadiseHow to Live in Paradise
How to Live in ParadiseDavid Evans
 
Mining Economics
Mining EconomicsMining Economics
Mining EconomicsDavid Evans
 
Becoming More Paranoid
Becoming More ParanoidBecoming More Paranoid
Becoming More ParanoidDavid Evans
 
Asymmetric Key Signatures
Asymmetric Key SignaturesAsymmetric Key Signatures
Asymmetric Key SignaturesDavid Evans
 
Introduction to Cryptography
Introduction to CryptographyIntroduction to Cryptography
Introduction to CryptographyDavid Evans
 
Class 1: What is Money?
Class 1: What is Money?Class 1: What is Money?
Class 1: What is Money?David Evans
 
Multi-Party Computation for the Masses
Multi-Party Computation for the MassesMulti-Party Computation for the Masses
Multi-Party Computation for the MassesDavid Evans
 
Proof of Reserve
Proof of ReserveProof of Reserve
Proof of ReserveDavid Evans
 
Blooming Sidechains!
Blooming Sidechains!Blooming Sidechains!
Blooming Sidechains!David Evans
 
Useful Proofs of Work, Permacoin
Useful Proofs of Work, PermacoinUseful Proofs of Work, Permacoin
Useful Proofs of Work, PermacoinDavid Evans
 

More from David Evans (20)

Cryptocurrency Jeopardy!
Cryptocurrency Jeopardy!Cryptocurrency Jeopardy!
Cryptocurrency Jeopardy!
 
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for CypherpunksTrick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
 
Hidden Services, Zero Knowledge
Hidden Services, Zero KnowledgeHidden Services, Zero Knowledge
Hidden Services, Zero Knowledge
 
Anonymity in Bitcoin
Anonymity in BitcoinAnonymity in Bitcoin
Anonymity in Bitcoin
 
Midterm Confirmations
Midterm ConfirmationsMidterm Confirmations
Midterm Confirmations
 
Scripting Transactions
Scripting TransactionsScripting Transactions
Scripting Transactions
 
How to Live in Paradise
How to Live in ParadiseHow to Live in Paradise
How to Live in Paradise
 
Bitcoin Script
Bitcoin ScriptBitcoin Script
Bitcoin Script
 
Mining Economics
Mining EconomicsMining Economics
Mining Economics
 
Mining
MiningMining
Mining
 
The Blockchain
The BlockchainThe Blockchain
The Blockchain
 
Becoming More Paranoid
Becoming More ParanoidBecoming More Paranoid
Becoming More Paranoid
 
Asymmetric Key Signatures
Asymmetric Key SignaturesAsymmetric Key Signatures
Asymmetric Key Signatures
 
Introduction to Cryptography
Introduction to CryptographyIntroduction to Cryptography
Introduction to Cryptography
 
Class 1: What is Money?
Class 1: What is Money?Class 1: What is Money?
Class 1: What is Money?
 
Multi-Party Computation for the Masses
Multi-Party Computation for the MassesMulti-Party Computation for the Masses
Multi-Party Computation for the Masses
 
Proof of Reserve
Proof of ReserveProof of Reserve
Proof of Reserve
 
Silk Road
Silk RoadSilk Road
Silk Road
 
Blooming Sidechains!
Blooming Sidechains!Blooming Sidechains!
Blooming Sidechains!
 
Useful Proofs of Work, Permacoin
Useful Proofs of Work, PermacoinUseful Proofs of Work, Permacoin
Useful Proofs of Work, Permacoin
 

Recently uploaded

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 

Recently uploaded (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 

The Internet

  • 2. Plan for Today PS3 Benchmarking Networking 1
  • 3. Plan for Rest of Course Spring Break! March 18-April 3: Problem Set 4 Hacking a Kernel (Entering Ring 0!) April 29 (Final Project Due) You get a real break for Spring Break! (Unless you have catching up to do…) But, use it to think of project ideas – if you come up with something good, can substitute for PS4 2
  • 4. Project Do something that is: fun (for you to do, and others to see) relevant (to the class) technically interesting (to you and me) useful (at least to you, hopefully to many) You probably can’t maximize all of these! It is okay to sacrifice one or two of them to increase others. A good project should be strong on at least 2 of these, which is much better than being mediocre of all four. 3
  • 5. Project Teams Anyone you want Size: 1-65+ people (recommended: 2-5) Okay to include people not in class “Impressiveness” should scale as sqrt(N) (N = # of teammates in class) Choose your teammates carefully and manage it well. You don’t need to finalize your team or project idea until April (after PS4), but if you know what you want to do, and want to substitute for PS4, can start early 4
  • 6. Ideas for Projects Some interesting systems-level program Some contribution to Rust Some contribution to computing Doesn’t have to be a program See http://rust-class.org/pages/final-projects.html for what students did last semester 5
  • 9. “Customer” Benchmarks • Allow fair and accurate comparisons between different solutions • Standard accepted by all/many vendors Goal is a benchmark that represents well the (anticipated) actual usage for “typical” users 8
  • 10. “Cheating” on Benchmarks How could you “cheat” on a benchmark? 9
  • 11. 10
  • 12. 1. On the Exynos 5410, Samsung was detecting the presence of certain benchmarks and raising thermal limits (and thus max GPU frequency) in order to gain an edge on those benchmarks, and 2. On both Snapdragon 600 and Exynos 5410 SGS4 platforms, Samsung was detecting the presence of certain benchmarks and automatically driving CPU voltage/frequency to their highest state right away. Also on Snapdragon platforms, all cores are plugged in immediately upon benchmark detect. 11
  • 13. Everyone (except Google and NVidia) is cheating! Samsung is just better at it than anyone else. 12
  • 14. Is It Possible to Prevent Benchmark “Cheating”? 13
  • 17. submitted at 6:26am Jyotiska Biswas Anat Gilboa Mike Recachinas 16
  • 18. Crash Course in Networking 17
  • 19. Chappe’s Semaphore Network First Line (Paris to Lille), 1794
  • 20. Mobile Semaphore Telegraph Used in the Crimean War 1853-1856 19
  • 21. Measuring Networks Latency Time from sending a bit until it arrives seconds (or seconds per geographic distance) Bandwidth Rate at which can you transmit bits per second 20
  • 23. Measuring Networks Latency Best: 6.8ms/request Bandwidth Total bytes: 280MB / 46.46s Bandwidth: ~ 6.0 MB/second seconds milliseconds 22
  • 24. Latency: 13 minutes (1.6s per mile) Virginia to California: ~1 hour Bandwidth: 2 symbols per minute (98 symbols: ~13 bits/min) Get http://rust-class.org: 18 days Napoleon’s Network Paris to Toulon, 475 miles 23
  • 26. Improving Latency Fewer Transfers Longer distances between transfers Taller towers (or use wires!) Faster Transfers Faster Inter-Transfer Travel Electrons in copper: about 1/3rd speed of light 25
  • 27. How many network transfer points between here and California? 26
  • 28. gash> traceroute -q 1 www.berkeley.edu traceroute to www.w3.berkeley.edu (169.229.216.200), 64 hops max, 52 byte packets 1 dd-wrt (192.168.1.1) 9.779 ms 2 c-24-127-51-1.hsd1.va.comcast.net (24.127.51.1) 24.139 ms 3 te-2-3-ur01.charlville.va.richmond.comcast.net (68.85.226.149) 11.955 ms 4 xe-11-3-0-0-sur01.charlville.va.richmond.comcast.net (68.86.172.185) 10.321 ms 5 xe-4-1-1-0-ar02.charlvilleco.va.richmond.comcast.net (69.139.165.57) 17.717 ms 6 pos-0-8-0-0-cr01.charlotte.nc.ibone.comcast.net (68.86.94.29) 26.774 ms 7 pos-0-5-0-0-pe01.ashburn.va.ibone.comcast.net (68.86.87.14) 14.784 ms 8 as11164-pe01.ashburn.va.ibone.comcast.net (75.149.228.82) 12.095 ms 9 64.57.20.247 (64.57.20.247) 88.728 ms 10 64.57.20.247 (64.57.20.247) 103.851 ms Unix: traceroute 11 64.57.20.227 (64.57.20.227) 96.655 ms 12 dc-lax-core2--lax-peer1-10ge.cenic.net (137.164.46.119) 104.106 ms Windows: tracert 13 sfo-agg1--svl-agg2-10g.cenic.net (137.164.22.26) 90.415 ms 14 dc-ucb--sfo-agg1-10ge.cenic.net (137.164.50.17) 92.749 ms 27
  • 29. Packet speed: (2 * 3813 km) / (100 ms) = 76,000 km/s Speed of light: 299,792 km/s Light-speed across the country: ~25ms Time “wasted” in routers and slow interconnects: ~75ms 28
  • 30. Amazon’s EC2 servers: Ashburn, VA 355km (roundtrip) 1.1 ms at lightspeed 29
  • 32. 31
  • 33. 32
  • 34. $ traceroute -q 1 -w 30 www.busselton.wa.gov.au traceroute to busselton.wa.gov.au (203.41.180.233), 64 hops max, 52 byte packets 1 dd-wrt (192.168.1.1) 11.156 ms 2 c-24-127-51-1.hsd1.va.comcast.net (24.127.51.1) 32.497 ms 3 te-2-3-ur01.charlville.va.richmond.comcast.net (68.85.226.149) 13.971 ms 4 xe-11-2-0-0-sur01.charlville.va.richmond.comcast.net (69.139.165.221) 12.312 ms 5 xe-4-1-2-0-ar02.charlvilleco.va.richmond.comcast.net (69.139.165.65) 12.395 ms 6 pos-1-2-0-0-cr01.ashburn.va.ibone.comcast.net (68.86.91.53) 25.624 ms 7 pos-3-10-0-0-cr01.56marietta.ga.ibone.comcast.net (68.86.86.221) 31.483 ms 8 pos-1-9-0-0-cr01.dallas.tx.ibone.comcast.net (68.86.87.233) 52.515 ms 9 he-0-12-0-0-cr01.losangeles.ca.ibone.comcast.net (68.86.86.117) 83.242 ms 10 as4637-cr01.losangeles.ca.ibone.comcast.net (75.149.228.222) 78.134 ms 11 i-0-2-0-11.tlot-core01.bi.telstraglobal.net (202.40.149.185) 86.131 ms 12 i-0-0-0-0.sydo-core01.bx.telstraglobal.net (202.84.140.5) 287.302 ms 13 tengige0-1-0-14.oxf-gw2.sydney.telstra.net (203.50.13.133) 300.060 ms 14 bundle-ether2.oxf-gw1.sydney.telstra.net (203.50.6.85) 274.270 ms 15 bundle-ether1.ken-core4.sydney.telstra.net (203.50.6.5) 270.694 ms 33 16 bundle-ether10.win-core1.melbourne.telstra.net (203.50.11.13) 275.252 ms
  • 35. 10 11 12 13 as4637-cr01.losangeles.ca.ibone.comcast.net (75.149.228.222) 78.134 ms i-0-2-0-11.tlot-core01.bi.telstraglobal.net (202.40.149.185) 86.131 ms i-0-0-0-0.sydo-core01.bx.telstraglobal.net (202.84.140.5) 287.302 ms tengige0-1-0-14.oxf-gw2.sydney.telstra.net (203.50.13.133) 300.060 ms Do you believe http://www.infobyip.com/ip-202.84.140.5.html? 34
  • 36. 35
  • 39. MAC Layer (LAN): Ethernet 42-1500 octets (bytes) of payload 37 octets of overhead Interframe gap: 96 bits of time between packets at 1Gbps = 96/1B = 96 ns < 0.1 ms 38
  • 40. Protocol Layers LAN: Ethernet (97.6% efficient for 12Kb packets) WAN: PPP (99.9% efficient – only 1-2 bytes overhead) 39
  • 41. From Robbie Hott’s History of Packets Version 3.1 (February 1978) Version 4 (June 1978) IP Layer packets.robbiehott.com 40
  • 43. Avoiding Zombie Packets Router if TTL = 0: Destination = original Source 42
  • 44. gash> traceroute -q 1 www.berkeley.edu traceroute to www.w3.berkeley.edu (169.229.216.200), 64 hops max, 52 byte packets 1 dd-wrt (192.168.1.1) 9.779 ms 2 c-24-127-51-1.hsd1.va.comcast.net (24.127.51.1) 24.139 ms 3 te-2-3-ur01.charlville.va.richmond.comcast.net (68.85.226.149) 11.955 ms 4 xe-11-3-0-0-sur01.charlville.va.richmond.comcast.net (68.86.172.185) 10.321 ms 5 xe-4-1-1-0-ar02.charlvilleco.va.richmond.comcast.net (69.139.165.57) 17.717 ms 6 pos-0-8-0-0-cr01.charlotte.nc.ibone.comcast.net (68.86.94.29) 26.774 ms 7 pos-0-5-0-0-pe01.ashburn.va.ibone.comcast.net (68.86.87.14) 14.784 ms destination, with TTL = 1, 2, 3, 12.095 ms 8 as11164-pe01.ashburn.va.ibone.comcast.net (75.149.228.82) … 9 64.57.20.247 (64.57.20.247) 88.728 ms 10 64.57.20.247 (64.57.20.247) 103.851 ms it receives 11 64.57.20.227 (64.57.20.227) 96.655 ms 12 dc-lax-core2--lax-peer1-10ge.cenic.net (137.164.46.119) 104.106 ms 13 sfo-agg1--svl-agg2-10g.cenic.net (137.164.22.26) 90.415 ms 14 dc-ucb--sfo-agg1-10ge.cenic.net (137.164.50.17) 92.749 ms 43 traceroute is sending packets to and recording the death notices
  • 45. How efficient is IPv4? 1 byte 1 byte Biggest packet: 216 bytes (including overhead) Overhead of header: 24 bytes 1 byte 1 byte ((2 ** 16) - 24) / (2 ** 16) = 0.999633… Sending 1 KB: 0.954 Sending 16 bytes: 0.40 44
  • 46. What’s below all this? IPv4: up to 99.96% efficient LAN: Ethernet (97.6% efficient for 12Kb packets) WAN: PPP (99.9% efficient – only 1-2 bytes overhead) 45
  • 48. Bandwidth How much data can you transfer in a given amount of time? 47
  • 50. Improving Bandwidth Bigger Pipes Multiple signalers on each tower Faster Transmission Move arms faster Better Encoding Most bits per symbol 49
  • 51. Morse Code Represent letters with series of short and long electrical pulses 50
  • 52. Circuit Switching Paris Reserve a whole path through the network for the whole message transmission Bourges Lyon Toulon Nantes 51
  • 53. Packet Switching Paris Bourges Lyon Toulon Interleave messages – send whenever the next link is free. Nantes 52
  • 54. internetwork A collection of multiple networks connected together, so messages can be transmitted between nodes on different networks. 53
  • 55. The First (international) internet 1800: Edelcrantz links Sweden and Denmark telegraph networks to coordinate defense 54
  • 56. End of First (international) internet 1801: British attach Copenhagen; Sweden doesn’t help Denmark; network disconnected 55
  • 57. Packet Switching: Leonard Kleinrock (UCLA) thinks he did, Donald Davies and Paul Baran, Edelcrantz’s signalling network (1809) Internet Protocol: Vint Cerf, Bob Kahn Vision, Funding (DARPA): J.C.R. Licklider, Bob Taylor Government: Al Gore The (capital-I) Internet First politician to promote Internet, 1986; act to connect government networks to form “Interagency Network” Vint Cerf (in the Rotunda, 2010) 56
  • 58. First Use of the Internet October 1969: First packets on the ARPANet from UCLA to Stanford. Starts to send "LOGIN", but it crashes on the G. How impressive is this compared to communications event 3 months earlier? 57
  • 59. 20 July 1969: Live b/w video from the moon, transmitted live to millions of televisions worldwide 58
  • 60. Today’s Internet: Bandwidth Ethernet: up to 100 Mbits/sec My office: ~50 M bits / sec UVa Wireless: 57 M bits / sec Cable modem at home: ~ 30 M bits / sec Wireless: < 0.44GB/month What percentage of Internet traffic is HTTP? 59
  • 61. 60
  • 62. 1 Petabyte = 1015 bytes 1 Million petabytes = 1 Zettabyte projections 61
  • 63. From Tim Berners-Lee’s “Answers for Young People” http://www.w3.org/People/Berners-Lee/Kids.html Here is my hope: The Web is a tool for communicating. With the Web, you can find out what other people mean. You can find out where they are coming from. The Web can help people understand each other. Think about most of the bad things that have happened between people in your life. Maybe most of them come down to one person not understanding another. Even wars. Charge I think the main thing to remember is that any really powerful thing can be used for good or evil. Dynamite can be used to build tunnels or to make missiles. Engines can be put in ambulances or tanks. … So what is made of the Web is up to us. You, me, and everyone else. Let’s use the Web to create neat new exciting things. Let’s use the Web to help people understand each other. 62
  • 64. Bonus Theory Movies! P=NP Downfall Parody! Non-Deterministic Mario! cs3102 Assignment 63