Neutral Net Neutrality Expressing User Preferences with Network - - PowerPoint PPT Presentation
Neutral Net Neutrality Expressing User Preferences with Network - - PowerPoint PPT Presentation
Neutral Net Neutrality Expressing User Preferences with Network Cookies Yiannis Yiakoumis, Sachin Katti, Nick McKeown Stanford University Who controls your network access? 2 Who controls your network access? 3 Who controls your network
2
Who controls your network access?
Who controls your network access?
3
Who controls your network access?
Neutral Network ISP-defined Fast Lanes
What about the users?
4
What if we let users decide?
User-Driven
5
Neutral Network ISP-defined Fast Lanes
Outline
- Why user preferences matter
- Expressing user preferences to the network
Outline
- Why user preferences matter
- Expressing user preferences to the network
- 1. Boost : User-driven Fast Lane
Internet
8
- Deployed in ~300 homes (Google employees)
- One Boost lasts for one hour + Last Boost wins
- 44 websites in two weeks
9
- 1. Boost : User-driven Fast Lane
How do people use Boost?
- “Business-related stuff should be faster (me or
my partner)”
- “I am stuck with a 2Mbps connection, and very
- ften I need to dedicate all of it on a single task.”
- “I want my Netflix movie to go faster, not my
daughter’s Netflix” User context
10
1 10 100 1000 >5000 mail.google.com www.netflix.com www.nbc.com www.cnn.com www.facebook.com abc.go.com speedtest.net www.usanetwork.com www.cucirca.eu www.hulu.com www.ticketmaster.com www.espncricinfo.com www.intercallonline.com www.ondemandkorea.com www.starsports.com www.skai.gr 2 4 6 8 10 # of users
How do people use Boost?
11
1 10 100 1000 >5000 Alexa ranking mail.google.com www.netflix.com www.nbc.com www.cnn.com www.facebook.com abc.go.com speedtest.net www.usanetwork.com www.cucirca.eu www.hulu.com www.ticketmaster.com www.espncricinfo.com www.intercallonline.com www.ondemandkorea.com www.starsports.com www.skai.gr 2 4 6 8 10 # of users
How do people use Boost?
12
Heavy-tail of user preferences
- 2. Zero-rating
13
Do users want zero-rating?
Interested 63.0% Don't care Don't know 37.0%
14
1000 smartphone owners, US, 18-65 year old, SurveyMonkey Audience, 08/15
facebook netflix instagram google maps snapchat google music whatsapp reddit is fun amazon music nine cnn.com wikipedia tunein radio beats hulu nyt trivia crack candy crush flipboard viber soma.fm swig indie103.1 lynda.com schwab 8tracks edmodo mapmyrun action news wwf 1 5 10 15 20 # of users
~
~50
What do users really want to zero-rate?
Which application would you choose to zero-rate?
15
Heavy-tail of user preferences
facebook netflix instagram google maps snapchat google music whatsapp reddit is fun amazon music nine cnn.com wikipedia tunein radio beats hulu nyt trivia crack candy crush flipboard viber soma.fm swig indie103.1 lynda.com schwab 8tracks edmodo mapmyrun action news wwf 1 5 10 15 20 # of users
~
~50
What do users really want to zero-rate?
Which application would you choose to zero-rate?
16
80% ignored by all programs!
- Users have unique and diverse preferences
- Respect the heavy-tail
- Let users decide
User Preferences Takeaways
17
Outline
- Why user preferences matter
- Expressing user preferences to the network
– Why existing mechanisms don’t work – Network Cookies
18
Deep Packet Inspection
Internet Boost cnn.com
What is cnn.com ???
19
cnn.com skai.gr 20 40 60 80 100 packets boosted (%)
matched
DPI is not expressive
DiffServ
Internet
- 64 predefined classes
- No authentication
- No revocation
20
DiffServ doesn’t work across network boundaries
“I want traffic X to get service Y!”
- 1. I want Netflix to be faster
- 2. I want Spotify zero-rated
- 3. I want low-latency Skype for work
Internet
21
“I want traffic X to get service Y!”
Internet
- 1. I want Netflix to be faster
- 2. I want Spotify zero-rated
- 3. I want low-latency Skype for work
22
- 3. Configure the network
- 2. Communicate it to
the network
Free Lane
How do we map traffic to a lane?
23
Network Cookies: a mapping abstraction
Free Lane Network Cookie : A small piece of data users append to their traffic
- 1. Get cookie for each service
- 2. User appends cookies to the desired traffic
- 3. Network matches against them and enforces service
24
Network Cookies: a mapping abstraction
Free Lane
25
Cookie Descriptors : ID + Key + Metadata Cookies: Unique, signed, use-once
Cookies & Cookie Descriptors
- Separation of data plane and control plane
- Descriptors : Authentication + Service Definition
- Cookies : Generate and Match locally at dataplane
- Get cookie descriptors through an out-of-band mechanism
- Insert cookies through an “agent” (browser, OS, application)
- Where to insert a cookie?
- Anywhere we can put a few extra bits
- HTTP header
- TLS handshake
- IPv6 extension header
- …
26
Descriptor DB DB Cookie Descriptor Cookie Server
- 4. Match cookie, and enforces the service
Cookie
- 3. Generate and add
cookie to boosted flows
- 2. Sync descriptors with AP
27
Example Preferences
Background Lane Everything goes to the best effort lane, apart from…
- 1. Dropbox and software updates à background lane
- 2. Google Hangouts and living room TV à fast lane
28
“I want traffic X to get service Y!”
Internet
- 1. I want Netflix to be faster
- 2. I want Spotify zero-rated
- 3. I want low-latency Skype for work
29
- 3. Configure the network
- 2. Communicate it to
the network
Putting it all together…
Free Lane
- 1. Discover Cookie service and acquire cookie descriptors
- 2. Generate unique, use-once, signed cookies
- 3. Append them to desired traffic (HTTP header, TLS extension, TCP, …)
- 4. Match in network
30
Network Cookies Properties
31
Network Cookies Properties
Mapping abstraction ✔ Low transaction cost à Inclusive ✔ Composable/Delegetable ✔
Simple & Expressive
32
Network Cookies Properties
Mapping abstraction ✔ Low transaction cost à Inclusive ✔ Composable/Delegetable ✔ Independent of packet header, payload, path ✔ High Accuracy ✔ Multiple transport mechanisms ✔ Only client-network support required ✔
Simple & Expressive Deployable
33
Network Cookies Properties
Mapping abstraction ✔ Low transaction cost à Inclusive ✔ Composable/Delegetable ✔ Independent of packet header, payload, path ✔ High Accuracy ✔ Multiple transport mechanisms ✔ Only client-network support required ✔ Built-in-Authentication ✔ Protected from replay, spoofing ✔ Transparent, Revocable, Auditable ✔
Simple & Expressive Deployable
34
Respect trust
Outline
- Why user preferences matter
- Expressing user preferences to the network
- Conclusions
35
Conclusions & Next Steps
① A User-Driven approach is practical and beneficial
- Evidence from real users (Boost, Zero-Rating)
① How we communicate user preferences is important!
- Network cookies one way to do it
① Next Steps
- Trials
- Standardization
- Net Neutrality Regulation
36
37
yiannisy@stanford.edu
38
Thanks!
yiannisy@stanford.edu
39
BACKUP SLIDES
What music do users want to zero rate?
What music do users want to zero rate?
66% of user preferences not in Music Freedom (November 2015)
Cookie à Network Configuration
Cookie Matching Configuration (forward+reverse flow) Cookie Matching Configuration (forward+reverse flow)
42
Cookie à Network Configuration
Cookie Matching Configuration
43
Cookie à Network Configuration
Cookie Matching Configuration reverse flow
44
Out-of-band (or SDN*)
Internet
Flow tuple changes in the network
* SDN à Software-Defined Networking
45
Boost 192.168.1.10:4568 ßà54.204.2.219:80
cnn.com skai.gr 20 40 60 80 100 packets boosted (%)
matched false
OOB doesn’t work with middleboxes (e.g. NAT)
What does a cookie look-like?
ID MAC UUID TIMESTAMP
Generation
Best effort Lookup ID? Valid MAC? Valid tstamp Uniqu e UUID Append UUID Apply Service
Matching
46
ID Key Descriptor
Low overhead, cannot be replayed or spoofed
Where do I get a cookie descriptor?
- Well-known server
- Discovery protocols
- Given by content provider
Out-of-band + authentication primitives
47
Scalability
48
64 256 512 1024 1500 packet size (bytes) 2 4 6 8 10 throughput (Gbps)
10 pkts/flow 50 pkts/flow 100 pkts/flow