1 designing the internet in 75 minutes…. ee122 fall 2011 scott shenker ee122/ materials with...

43
1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and UC Berkeley

Post on 21-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

1

Designing the Internet in 75 Minutes….

EE122 Fall 2011

Scott Shenker

http://inst.eecs.berkeley.edu/~ee122/

Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxsonand other colleagues at Princeton and UC Berkeley

Page 2: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Grading the Homeworks

• Going very slowly, my apologies

• Two graders, trying to work out inconsistencies

2

Page 3: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

The Midterm

• Average score ~106 (80%)

• Will be handed back at end class

• Key will be published soon– A few stragglers…

• Regrading requests:– Sent to me (not TAs)– Cover sheet explaining why you think you deserve credit– Regrade will be over entire test

(except for two cases mentioned later)3

Page 4: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Problems 1 and 2

• Overall, scores reasonably high

4

Page 5: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Problem 3

• IPv6 headers the most frequently missed question

• IP checksum is only over header– The key was wrong on this, so it was misgraded!– Answer should be “none of the above”– Submit a regrade (1/2 point)

• DHCP all broadcast (I said “know this”)

• Order of packet headers– Not sure if you don’t know, or if question was unclear– Learn this for final….

• Packet from NAT to A should not have NAT’s address in the source field

5

Page 6: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Problem 4

• More mistakes on startup than on tear-down

• DNS should come first, then TCP.

6

Page 7: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Problem 5

• If packet arrives on port where switch would forward packet, switch drops it

7

Page 8: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Problem 6

• Justine, in a few minutes

8

Page 9: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Problem 7

• Class did quite well, some minor problems

9

Page 10: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Problem 8

• Most common mistake:– The prefixes to port 6

• Many people didn’t have a clue….(get one for final)

• The hardest problem to grade– Partial credit was difficult to assess

• Ask for a regrade if your prefixes were close to right, but I didn’t give you much credit

10

Page 11: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

SPLIT HORIZON + POISON REVERSE

Never announce a path back to the node you got it

from.

Page 12: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

4

B’s path to A:

BDEA

B announces “6” to C.

Page 13: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

4

B’s path to A:

BCDEA

B announces “∞” to C.

Page 14: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

SPLIT HORIZON + POISON REVERSE

Never announce a path back to the node you got it

from.

Page 15: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Beanbags….

• 20 leftover beanbags

• Soon to be a collector’s item

• Grab one if you can…

• I won’t make you route based on them!

15

Page 16: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Where Are We?

• Covered foundations (reliability, routing)

• Covered essentials of today’s architecture– Naming, web, TCP

• Rest of semester: various topics

• But today, I want to step back and ask:– How would you redesign the Internet?

• You’ve seen how it works, now fix it!16

Page 17: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Goal for Today

• Come up with a “clean-slate” design– Start from scratch– Make some basic design decisions

• We will ignore two topics that we will cover later– Congestion control– Advanced routing

• And we will assume: (anyone against these?)– Packet switching– Best-Effort

17

Page 18: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Process

• I ask questions

• You give answers

• Not all the same suspects, so I will ask the bean bag owners to answer questions…

18

Page 19: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Properties We Care About

• Reliability– What parts of architecture matter for reliability?

• Security– What parts of architecture matter for security?

• Evolvability– What parts of architecture matter for evolvability?

• Meeting application needs:– Will become clear as we get further….

19

Page 20: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Basic Scenario

• Alice wants to retrieve a movie from the Internet– Legally, of course

• Alice is sitting at host A

• Content on a variety of hosts around the Internet

20

Page 21: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Requirement #1: Getting Data Quickly

• What is biggest barrier to getting data quickly?

• Latency is the biggest barrier– How do you reduce latency?

• Getting nearby copies is crucial– Done by CDNs today, but what is a better alternative?

21

Page 22: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Requirement #2: Verifiable Content

• Done with keys today, but not well…

22

Page 23: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Requirement #3: Network Works

• Not taken down by attackers through DoS or other means….will discuss later

23

Page 24: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Keep these requirements in mind…

• Now, let’s consider some design questions….

24

Page 25: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Host Software

• What is structure of software on Alice’s laptop?

• Do applications interact directly with the network?– Or is there a common interface?

• Possible organization– Application– “Stack”– Network interface

• Two interfaces: application/stack, host/net25

Page 26: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Application/Stack Interface: API

• What does the application tell the “stack”

• API: Contact that host (packet send/receive)– Who knows where host is?

Application Stack Network (only)

• Alternative API: Get this data– Who knows where content is?

Application Stack Network (only)

• Which is better interface?26

Page 27: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

API Continued….

• Do all applications want the same API?– Should SSH and HTTP use the same API?– What about streaming video?

• Can the API ever change?

• How can we make API extensible?

27

Page 28: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

API

• What passes through API?– Addresses?– Names?

• Anything else?– Urgency?– Find different copy?

28

Page 29: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Name Resolution

• What should name resolution tell you?– Where a nearby copy of the name is– Crucial for named content, ok for anything else

• Need an infrastructure that:– Finds shortest paths– Handles failures– Scales

• Currrent approach is lookup-by-name– Go find name in distributed database of addresses– Is this a good fit for requirements?

29

Page 30: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Alternative: Route-by-name

• Routing is expressly designed to:– Finds shortest paths– Handles failures– Scales

• Why not build a routing infrastructure for names?

• Need not go at data speeds, must have huge routing table….– Area of active research and disagreement….

30

Page 31: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Name Resolution

• How does name resolution know about objects?

• Objects must be “registered”

• What prevents false registrations?

• Need to “verify” names– How can I prove that this file’s name is X?

31

Page 32: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Naming (next six slides confusing)

• What gets named?– Hosts?– Data?– People?

• What properties must a name have?– Globally unique– Persistent– Verifiable

• What does a name tell you?– Location? Anything else that might change?

32

Page 33: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Key Observation

• Names should be verifiable!

• And contain no other information

• What about today’s names?– Exactly the opposite!

33

Page 34: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Principles about Naming Principals

• Principals are “responsible entities”– Locus of trust– Person, company– Not files, etc.

• Principals can name objects– Files, hosts, etc.– Think of object names as P:L (ex.: CNN:headlines)

• What should a name tell you?– Principal: allows me to prove my name belongs to me– Object: allows me to prove the object belongs to me

34

Page 35: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Identity

• What does Internet identity mean?– Not a semantic statement– Merely one of consistency

• Cryptographic notion of identity– Associate each identity with a public key– Can prove you are associated with that key by signing

with private key

• How do you tie names to public keys?– Make names a hash of a key!– This makes them verifiable

35

Page 36: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Attaching Meaning to Names

• Outside of architecture– Why?

• Mechanisms to attach semantics to names:– Certificate authorities– Trusted databases– Webs of trust– Social networks– …….

36

Page 37: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Phishing

• The key to dealing with phishing is to allow users to verify identity– Is this person who I think it is?

• How could we do this?

• I have no answers….– One possibility: Google

37

Page 38: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Security and Network Security

• What is network security?– What aspects does the “network” have to handle?– What about viruses?

• Minimal definition of network security– Confidentiality: end-to-end encryption– Integrity: end-to-end cryptography– Provenance: end-to-end cryptography

This is easy due to names being linked to keys

– Availability: huh?

• Everything else is host or application security……38

Page 39: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Security

• All but availability handled– Now look at threats to availability

• Attacks on control plane– Make sure routers can’t lie about who they are– Solved by naming

• Internal attacks on data plane– Can’t stop; but hosts can use multiple paths to avoid

• External attacks on data plane– Denial of service attacks

39

Page 40: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Denial-of-Service

• How do you handle denial of service?– Make people ask before they send?– Make people shut up if you want them to?

Keep them from sending to you, not sending to anyone

• Must be able to reach source of packets– Not necessarily a source field, but something like that– Need accountability and anonymity!

40

Page 41: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Other Topics

• Delivery models:– Multicast?– Anycast?– Anything else?

• Mobility:– Allow frequent updates in naming system– Provide current location– And make sure transport protocol doesn’t embed

addresses

41

Page 42: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

Evolvability

• What prevents us from changing from IP to IPv6?

• How could we fix this?– Interdomain addressing separate from intradomain– Version number for IP (already have it)– Flexible forwarding hardware

• Must our new architecture have a narrow waist?– What prevents us from having multiple “IP”s?

• Could source-driven routing help?– Finding any viable path, not just the default path

42

Page 43: 1 Designing the Internet in 75 Minutes…. EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks to Jennifer Rexford,

The Dual Role of IP

• IP is a global addressing scheme

• It is also a universal packet format

• If we have the former (domain names), do we need the latter?

43