ohm2013 federation fosters freedom

66
Federation Fosters Freedom Iljitsch van Beijnum OHM2013 http://www.muada.com/ohm2013-fff.pdf

Upload: others

Post on 22-Nov-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ohm2013 federation fosters freedom

Federation Fosters

Freedom

Iljitsch van Beijnum OHM2013

http://www.muada.com/ohm2013-fff.pdf

Page 2: ohm2013 federation fosters freedom

Short version•Network communication can

happen in different ways

•Ideally, everyone runs their own server with their own data

•Or at least users can choose from different service providers

•This gives us freedom!

2

Page 3: ohm2013 federation fosters freedom

To come•Introduction

•Case studies: email, IM, P2P file sharing, social networking

•Centralization issues

•What is a protocol designer to do?

•The future: federated search?

•Q&A3

Page 4: ohm2013 federation fosters freedom

Introduction

4

Page 5: ohm2013 federation fosters freedom

Designing protocols•Doing it is (fairly) easy

•get some data, push it through the network

•Doing it well is hard

•spam, authentication, privacy, scalability, speed, efficiency, back/forward compatibility, ...

5

Page 6: ohm2013 federation fosters freedom

Some RFCs• Failure Detection and Locator Pair Exploration Protocol for

IPv6 MultihomingJ. Arkko, I. van Beijnum, RFC 5534, June 2009

• Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 ServersM. Bagnulo, P. Matthews, I. van Beijnum, RFC 6146, April 2011

• DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 ServersM. Bagnulo, A. Sullivan, P. Matthews, I. van Beijnum, RFC 6147, April 2011

• An FTP Application Layer Gateway (ALG) for IPv6-to-IPv4 TranslationI. van Beijnum, RFC 6384, October 2011

6

Page 7: ohm2013 federation fosters freedom

Terminology

•Centralized: everything goes through a central place

•Decentralized: central coordination, but most things stay local

•Federated: independent, autono-mous systems that can, but don't have to, talk to each other

7

Page 8: ohm2013 federation fosters freedom

How to communicate

•Network protocols determine how communication happens

•central design

•easy to control/intercept

•distributed/federated design

•less control, harder to intercept

8

Page 9: ohm2013 federation fosters freedom

Case study: email

9

Page 10: ohm2013 federation fosters freedom

Email

S

S S

C

C

C

CC

C

C

C

C

10

Page 11: ohm2013 federation fosters freedom

The protocols

•Email is very old and very simple

•Store-and-forward: submit message to a server, sends it to the next, eventually arrives at the destination

•Federated: everyone runs their own email server, but the servers talk to each other

11

Page 12: ohm2013 federation fosters freedom

SPAM!•No authenti-

cation

•So can't reject misbehaving users

•Never mana-ged to really solve this later

12

Page 13: ohm2013 federation fosters freedom

Case study: instant messaging

13

Page 14: ohm2013 federation fosters freedom

ICQ/MSN/AIM

C C C C C C C

S

S

S

S

S

S

S

S

S

S

S

SS

14

Page 15: ohm2013 federation fosters freedom

ICQ/MSN/AIM

C C C C C C C

S

S

S

S

S

S

S

S

S

S

S

SS

15

Page 16: ohm2013 federation fosters freedom

History of IM•Early days:

•talk, ntalk, ytalk, BBS chat

•1988:

•Internet Relay Chat (IRC)

•Late 1990s:

•AIM, ICQ, Yahoo, MSN

16

Page 17: ohm2013 federation fosters freedom

IM features

•Since the late 1990s expected features of IM are:

•A buddy list that shows availability

•One-to-one chat

•Group chat

•Audio/video conferencing ability

17

Page 18: ohm2013 federation fosters freedom

How it works•Client connects to a server

•Server sends buddy status updates in real time

•Text messages typically flow through the server

•Audio/video bypass the server (for bandwidth/latency reasons)

18

Page 19: ohm2013 federation fosters freedom

Jabber/XMPP

•Open alternative to proprietary, non-interoperable IM solutions

•RFC 6120

•Names/addresses: user@domain

•Domain part identifies server

•everyone can run their own!

19

Page 20: ohm2013 federation fosters freedom

XMPP/Jabber

S

S S

C

C

C

CC

C

C

C

C

20

Page 21: ohm2013 federation fosters freedom

Open protocol (ab)use•Google Talk = XMPP

•Skype uses SIP to talk to PSTN gws

•Facebook does XMPP in some way

•Apple uses many open protocols, such as XMPP for iMessage

•but in a "walled garden":

•can't XMPP to iMessage users 21

Page 23: ohm2013 federation fosters freedom

Necessary, not sufficient

•So decentralized protocols are a necessary condition, but not a sufficient condition

•You can't have a decentralized/federated service using "jsmit133" type usernames

•But you can run a closed, cen-tralized service using [email protected] type usernames.

23

Page 24: ohm2013 federation fosters freedom

Case study: (illegal) peer-to-peer

file sharing

24

Page 25: ohm2013 federation fosters freedom

File sharing

•Use an FTP server

•Use a web server

•IRC DCC (direct client-to-client)

•But:

•bandwidth, too visible (FTP, web)

•not visible enough (DCC)

25

Page 26: ohm2013 federation fosters freedom

Napster•Everyone makes their local files

available

•Download directly from other users' computers (peer-to-peer)

•Central server knows who has what

•this makes the people running that server liable for illegal use

26

Page 27: ohm2013 federation fosters freedom

Gnutella•P2P data transfers like Napster

•But no central database

•Searches are propagated from peer to peer

•No central place to direct legal action against

•But: unreliable/slow searching

27

Page 28: ohm2013 federation fosters freedom

BitTorrent•Rather than download whole files,

exchange small parts

•efficient way to exchange very large (sets of) files

•Originally each transfer coordinated by a central tracker

•But later trackerless, coordination though dynamic hash tables (DHT)

28

Page 29: ohm2013 federation fosters freedom

BitTorrent

SP

P

P

P

29

Page 30: ohm2013 federation fosters freedom

For good measure

30

Page 31: ohm2013 federation fosters freedom

The webS

S S

C C C C C C C31

Page 32: ohm2013 federation fosters freedom

SIP (VoIP)

S

S

PP

P

P

32

Page 33: ohm2013 federation fosters freedom

Case study: social networking

33

Page 34: ohm2013 federation fosters freedom

SMS with the world

•Crazy idea: what if you can send SMS-style messages to the whole world?

•Even crazier: people love it and it becomes huge!

•Crazier still: companies also love it, #plaster #hashtags #everywhere

34

Page 35: ohm2013 federation fosters freedom

Twitter/Facebook

C C C C C C C

S

S

S

S

S

S

S

S

S

S

S

SS

35

Page 36: ohm2013 federation fosters freedom

The easy part

•Easy enough to store 140-character messages in a database

•This works well until you have more users than the database can handle

•Now you need to scale

36

Page 37: ohm2013 federation fosters freedom

Scalability

•Not about raw speed

•1 woman creates a baby in 9 months

•9 women create 9 babies in 9 months

•9 women don't create 1 baby in 1 month

37

Page 38: ohm2013 federation fosters freedom

Scalability (2)

•It's easy to do stuff in parallel

•if there are no interdependencies

•Search: my search doesn't depend on yours, can happen in parallel

•Twitter: my feed depends on your update...

38

Page 39: ohm2013 federation fosters freedom

Real time

•...1 second ago. Has to be real time

•Also in the right order

•(well, except newest-on-top, ugh!)

•Easy when going through a central server

•Not easy without the central server

39

Page 41: ohm2013 federation fosters freedom

Centralization issues

41

Page 43: ohm2013 federation fosters freedom

Jurisdiction issues•Servers are likely located in another

country

•Where you can't much influence the government and law makers

•And you may have fewer rights as a foreigner than as a resident/citizen

•(i.e., unlimited NSA spying)

43

Page 44: ohm2013 federation fosters freedom

Terminology

•Unsolicited commercial messages:

•in email:

•spam

•on Twitter:

•their business model

44

Page 45: ohm2013 federation fosters freedom

Business models•Way back in 2007 nerds liked Twitter

and vice versa

•Grow fast = lots of expenses = lucrative business model = restrict-ions on clients & APIs, intrusive ads

•Could be worse: Google Reader

•One company can kill the service

45

Page 46: ohm2013 federation fosters freedom

The trains run on time•There are benefits to a dictatorship:

•much less actual spam on Twitter/Skype/AIM than in email

•no (?) malware in Apple app store

•no supporting old, crappy implementations until the end of time

46

Page 47: ohm2013 federation fosters freedom

The bigger picture•Why is the internet successful but not

(so much) X.25 or ATM?

•Why WWW but not WAP or I-mode?

•Because nobody is in charge

•no gatekeeper = everyone can do their own thing

•most stuff fails, some gets huge

•long tail: special needs addressed47

Page 48: ohm2013 federation fosters freedom

Freedom•Paying for tech specs: not freedom

•NDAs: not freedom

•Forced "family friendliness": not freedom

•Needing a business relationship with A to talk to B: not freedom

•Closed protocols/algorithms: not freedom

48

Page 49: ohm2013 federation fosters freedom

Initiatives•There are initiatives for more

openness in social networking, like

•OpenSocial

•identi.ca

•But: Metcalfe's law: usefulness of a network = n2

•hard to get critical mass of users

49

Page 50: ohm2013 federation fosters freedom

What is a techno-hippie protocol designer to do?

50

Page 51: ohm2013 federation fosters freedom

Decentral vs federated

•Isn't a decentralized design good enough?

•Yes, it is better than centralized

•No, there are still issues

•For instance, the DNS: everyone runs their own server, but only ICANN (+ US gov't?) can decide about .xxx

51

Page 52: ohm2013 federation fosters freedom

Federate everything?

•That would be nice

•And extremely hard to do

•Gnutella and trackerless BitTorrent:

•much slower and less reliable than Napster and BitTorrent with a tracker

52

Page 53: ohm2013 federation fosters freedom

Maybe later•Hard to imagine how Twitter could

have grown fast as a federated system

•Starting as a centralized system can make sense

•work out the bugs with full control

•then decentralize (scalability!), standardize, federate

53

Page 54: ohm2013 federation fosters freedom

Namespace•But choose a federation-friendly

namespace from the start!

•Yes, you can always add "@aol.com" to all your usernames

•But this is painful and always creates more trouble than you can imagine

•like: oh wait, gmail is a protected name in the UK!

54

Page 55: ohm2013 federation fosters freedom

Namespace (2)

•So use usernames with a domain part from the beginning

•possibly allow domain part to be hidden in daily use

•Think about authentication and new user creation, these are funda-mental to anti-spam measures

55

Page 56: ohm2013 federation fosters freedom

The future: federated search?

56

Page 57: ohm2013 federation fosters freedom

Search today

•Google, MSN, Yandex, Baidu spider the web

•Go to their websites to search

•They run their proprietary algorithms and give you (hopefully usable) results

57

Page 58: ohm2013 federation fosters freedom

Metasearch•Metaseach engine: takes a user's

search term, submits to multiple search engines

•Cooks the results and presents them to the user

•Limited to the search engine's results

•Not good business for the actual search engines

58

Page 59: ohm2013 federation fosters freedom

Domain-specific search

•Many domain-specific searchable databases available

•Internet Movie Database

•Online shops: Amazon, Bol

•Search is constrained so results are typically better

59

Page 60: ohm2013 federation fosters freedom

Federated search

•Decouple three stages:

1. database creation (like spidering)

2. database querying

3. results ranking and presentation

•Have different organizations handle 1+2 and 3

60

Page 61: ohm2013 federation fosters freedom

Federated search (2)

•So users visit a "search portal" (SP)

•SP sends out search queries to several databases

•Databases return results

•SP filters and ranks the results, shows them to the user

61

Page 62: ohm2013 federation fosters freedom

Federated search (3)

BG Y

C C C C C C C

G MSNbotIMDB

Hein-eken

Page 63: ohm2013 federation fosters freedom

Why would this work?•IMDB has better info about movies

than Google

•Heineken probably has better info about beer than Bing

•Competition between databases

•Running a high quality, specialized database becomes attractive

63

Page 64: ohm2013 federation fosters freedom

Why would it fail?•Spam, SPAM, SPAM!

•Business model issues for companies running spiders and databases?

•business relationships databases and SPs may be problematic

•Protocol overhead and waste from duplicated effort

64

Page 65: ohm2013 federation fosters freedom

(Good for Google)•Not automatically bad for current

big players such as Google:

•Users won't run away overnight

•They get better access to specialized databases, allowing for higher quality search results

•(parsing web pages is so crude...)

65

Page 66: ohm2013 federation fosters freedom

Questions?

If you think of any later: http://www.muada.com/

[email protected]