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 access? Neutral ISP-defined Network Fast Lanes What about the users? 4
What if we let users decide? Neutral ISP-defined Network Fast Lanes User-Driven 5
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
1. Boost : User-driven Fast Lane • Deployed in ~300 homes (Google employees) • One Boost lasts for one hour + Last Boost wins • 44 websites in two weeks 9
How do people use Boost? • “Business-related stuff should be faster (me or my partner)” • “I am stuck with a 2Mbps connection, and very often I need to dedicate all of it on a single task.” User context • “I want my Netflix movie to go faster, not my daughter’s Netflix” 10
# of users 10 2 4 6 8 1 mail.google.com How do people use Boost? www.netflix.com www.nbc.com www.cnn.com 10 www.facebook.com abc.go.com speedtest.net www.usanetwork.com www.cucirca.eu 100 www.hulu.com www.ticketmaster.com www.espncricinfo.com www.intercallonline.com 1000 www.ondemandkorea.com www.starsports.com www.skai.gr >5000 11
# of users 10 2 4 6 8 1 mail.google.com How do people use Boost? www.netflix.com Heavy-tail of user preferences www.nbc.com www.cnn.com 10 www.facebook.com abc.go.com speedtest.net www.usanetwork.com Alexa ranking www.cucirca.eu 100 www.hulu.com www.ticketmaster.com www.espncricinfo.com www.intercallonline.com 1000 www.ondemandkorea.com www.starsports.com www.skai.gr >5000 12
2. Zero-rating 13
Do users want zero-rating? 1000 smartphone owners, US, 18-65 year old, SurveyMonkey Audience, 08/15 Don't care Don't know 37.0% 63.0% Interested 14
# of users 10 15 20 1 5 What do users really want to zero-rate? facebook ~ ~50 netflix instagram google maps snapchat google music Heavy-tail of user preferences Which application would you choose to zero-rate? 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 15 wwf
# of users 10 15 20 1 5 What do users really want to zero-rate? facebook ~ ~50 netflix instagram google maps snapchat google music Which application would you choose to zero-rate? whatsapp reddit is fun amazon music nine cnn.com wikipedia tunein radio beats hulu nyt trivia crack 80% ignored by all programs! candy crush flipboard viber soma.fm swig indie103.1 lynda.com schwab 8tracks edmodo mapmyrun action news 16 wwf
User Preferences Takeaways • Users have unique and diverse preferences • Respect the heavy-tail • Let users decide 17
Outline • Why user preferences matter • Expressing user preferences to the network – Why existing mechanisms don’t work – Network Cookies 18
Deep Packet Inspection What is cnn.com ??? matched 100 packets boosted (%) Boost cnn.com 80 DPI is not expressive 60 Internet 40 20 0 cnn.com skai.gr 19
DiffServ • 64 predefined classes • No authentication DiffServ doesn’t work across network boundaries • No revocation Internet 20
“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 !” 1. I want Netflix to be faster 2. Communicate it to 3. Configure the network 2. I want Spotify zero-rated the network 3. I want low-latency Skype for work Internet 22
How do we map traffic to a lane? Free Lane 23
Network Cookies: a mapping abstraction 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 Free Lane 24
Network Cookies: a mapping abstraction Cookie Descriptors : ID + Key + Metadata Cookies: Unique, signed, use-once Free Lane 25
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
Cookie Descriptor Descriptor DB Cookie Server 3. Generate and add 2. Sync descriptors with AP cookie to boosted flows DB Cookie 4. Match cookie, and enforces the service 27
Example Preferences 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 Background Lane 28
“I want traffic X to get service Y !” 1. I want Netflix to be faster 2. Communicate it to 3. Configure the network 2. I want Spotify zero-rated the network 3. I want low-latency Skype for work Internet 29
Putting it all together… 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 Free Lane 30
Network Cookies Properties 31
Network Cookies Properties Mapping abstraction ✔ Simple & Low transaction cost à Inclusive ✔ Expressive Composable/Delegetable ✔ 32
Network Cookies Properties Mapping abstraction ✔ Simple & Low transaction cost à Inclusive ✔ Expressive Composable/Delegetable ✔ Independent of packet header, payload, path ✔ High Accuracy ✔ Deployable Multiple transport mechanisms ✔ Only client-network support required ✔ 33
Network Cookies Properties Mapping abstraction ✔ Simple & Low transaction cost à Inclusive ✔ Expressive Composable/Delegetable ✔ Independent of packet header, payload, path ✔ High Accuracy ✔ Deployable Multiple transport mechanisms ✔ Only client-network support required ✔ Built-in-Authentication ✔ Respect Protected from replay, spoofing ✔ trust Transparent, Revocable, Auditable ✔ 34
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
yiannisy@stanford.edu 37
Thanks ! yiannisy@stanford.edu 38
BACKUP SLIDES 39
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 Configuration Cookie Matching 43
Cookie à Network Configuration Configuration Cookie Matching reverse flow 44
Out-of-band (or SDN*) Flow tuple changes in the network matched false 100 Boost 192.168.1.10:4568 ßà 54.204.2.219:80 packets boosted (%) 80 OOB doesn’t work with middleboxes (e.g. NAT) 60 Internet 40 20 0 cnn.com skai.gr * SDN à Software-Defined Networking 45
What does a cookie look-like? Generation ID UUID TIMESTAMP MAC Low overhead, cannot be replayed or spoofed ID Key Descriptor Matching Uniqu Append Apply Lookup Valid Valid e UUID Service ID? MAC? tstamp UUID Best effort 46
Where do I get a cookie descriptor? • Well-known server • Discovery protocols • Given by content provider Out-of-band + authentication primitives 47
Scalability 10 8 throughput (Gbps) 6 4 10 pkts/flow 2 50 pkts/flow 100 pkts/flow 0 1500 1024 512 256 64 packet size (bytes) 48
Recommend
More recommend