Presentation is loading. Please wait.

Presentation is loading. Please wait.

Application Layer – Peer-to-peer UIUC CS438: Communication Networks Summer 2014 Fred Douglas Slides: Fred, Kurose&Ross (sometimes edited)

Similar presentations


Presentation on theme: "Application Layer – Peer-to-peer UIUC CS438: Communication Networks Summer 2014 Fred Douglas Slides: Fred, Kurose&Ross (sometimes edited)"— Presentation transcript:

1 Application Layer – Peer-to-peer UIUC CS438: Communication Networks Summer 2014 Fred Douglas Slides: Fred, Kurose&Ross (sometimes edited)

2 A Step Back Today, everything is megacorps: Google etc. You

3 A Step Back What, fundamentally, does the internet do? “Internet” “End host” mobile network global ISP regional ISP home network institutional network

4 “Pure” P2P architecture  no always-on server  arbitrary end systems directly communicate  peers are intermittently connected and change IP addresses examples:  File distribution (BitTorrent) Can be pure  File distribution (Freenet)  VoIP (Skype) Registration + authentication  Many games Lobby, matchmaking

5 Motivation: File distribution Question: how much time to distribute file (size F) from one server to N peers?  …the traditional way (e.g. from an HTTP server)  …if peers also upload to each other usus uNuN dNdN server network (with abundant bandwidth) file, size F u s : server upload capacity u i : peer i upload capacity d i : peer i download capacity u2u2 d2d2 u1u1 d1d1 didi uiui

6 Client-server vs. P2P: example

7 P2P file distribution: BitTorrent tracker: tracks peers participating in torrent torrent: group of peers exchanging chunks of a file  file divided into fixed size chunks [list of peers]

8  peer joining torrent:  Starts with no chunks; can only download  Can pass on any chunk it gets  Eventually completes the file, and Becomes a “seeder”, or Leaves  During download P2P file distribution: BitTorrent  while downloading, peer uploads chunks to other peers  peer may change peers with whom it exchanges chunks  churn: peers may come and go  once peer has entire file, it may (selfishly) leave or (altruistically) remain in torrent

9 BitTorrent: requesting, sending file chunks requesting chunks:  at any given time, different peers have different subsets of file chunks  periodically, Alice asks each peer for list of chunks that they have  Alice requests missing chunks from peers, rarest first sending chunks: tit-for-tat  Alice sends chunks to those four peers currently sending her chunks at highest rate  other peers are choked by Alice (do not receive chunks from her)  re-evaluate top 4 every10 secs  every 30 secs: randomly select another peer, starts sending chunks  “optimistically unchoke” this peer  newly chosen peer may join top 4

10 BitTorrent: tit-for-tat (1) Alice “optimistically unchokes” Bob (2) Alice becomes one of Bob’s top-four providers; Bob reciprocates (3) Bob becomes one of Alice’s top-four providers higher upload rate: find better trading partners, get file faster !

11  Distribute (key, value) pairs over millions of peers  pairs are evenly distributed over peers  Any peer can query database with a key  database returns value for the key  To resolve query, small number of messages exchanged among peers  Each peer only knows about a small number of other peers  Robust to peers coming and going (churn) Distributed Hash Table (DHT)

12 Assign key-value pairs to peers  rule: assign key-value pair to the peer that has the closest ID.  convention: closest is the immediate successor of the key.  e.g., ID space {0,1,2,3,…,63}  suppose 8 peers: 1,12,13,25,32,40,48,60  If key = 51, then assigned to peer 60  If key = 60, then assigned to peer 60  If key = 61, then assigned to peer 1

13 1 12 13 25 32 40 48 60 Silly Strawman Circular DHT each peer only aware of immediate successor and predecessor. (Note: circular DHTs aren’t the only way; e.g. Kademlia) “overlay network”

14 1 12 13 25 32 40 48 60 What is the value associated with key 53 ? value O(N) messages on avgerage to resolve query, when there are N peers Resolving a query

15 Circular DHT with shortcuts (Chord) each peer keeps track of IP addresses of predecessor, successor, short cuts. reduced from 6 to 3 messages. possible to design shortcuts with O(log N) neighbors, O(log N) messages in query 1 12 13 25 32 40 48 60 What is the value for key 53 value

16 Chord Me Finger

17 Peer churn example: peer 5 abruptly leaves 1 3 4 5 8 10 12 15 handling peer churn:  peers may come and go (churn)  each peer knows address of its two successors  each peer periodically pings its two successors to check aliveness  if immediate successor leaves, choose next successor as new immediate successor

18 Peer churn example: peer 5 abruptly leaves  peer 4 detects peer 5’s departure; makes 8 its immediate successor  4 asks 8 who its immediate successor is; makes 8’s immediate successor its second successor. 1 3 4 8 10 12 15 handling peer churn:  peers may come and go (churn)  each peer knows address of its two successors  each peer periodically pings its two successors to check aliveness  if immediate successor leaves, choose next successor as new immediate successor

19 BitTorrent as true P2P Traditional BitTorrent – Get peers from tracker – Trackers identified in.torrent file –.torrent file hosted on a centralized torrent search engine site Fully P2P BitTorrent – Get peers from DHT, and direct exchange – Magnet link provides file hash Look the hash up in DHT – Magnet links: just text Search engines, forums, anonymous message boards, …

20 P2P Motivation – Revisited Client-server dominates the mainstream. Why? – Performance Economies of scale Round trip times (Mass file distribution is a rare exception) So, why peer-to-peer? – Avoid single points of failure Technological …and social  Robustness, Survivability OR  Power to the people

21 Optional

22 Freenet Pure P2P document store – Also forums implemented on top Goals – Robustness Node failures Censorship – Anonymity

23 Freenet Design Two components: storage, lookup Storage – All nodes provide ~10+ GB storage to the network – All content is encrypted: not visible to storer – Storer never has any idea what it’s storing Lookup – Key-based routing, like a DHT – Lookup path construction: always take the hop closest to the target value – Data retrieval and insertion are both “lookups” – Data retrieval

24 Freenet Lookup First, probe for a path Receive (or send) data once path is built Nodes relaying the data can cache it Data lookup  caching means popular items are replicated, unpopular items forgotten

25 Freenet Topology Original design – Start with connections to some bootstrap nodes – Randomly add nodes in lookup paths to neighbors Darknet – Only connect to nodes whose identity the user knows and trusts – Relies on social network dynamics to give the necessary fast mixing / “small world” property


Download ppt "Application Layer – Peer-to-peer UIUC CS438: Communication Networks Summer 2014 Fred Douglas Slides: Fred, Kurose&Ross (sometimes edited)"

Similar presentations


Ads by Google