Peer-peer and Applicat ion-level Net working CS 218 Fall 2003 Mult - - PowerPoint PPT Presentation

peer peer and applicat ion level net working cs 218 fall
SMART_READER_LITE
LIVE PREVIEW

Peer-peer and Applicat ion-level Net working CS 218 Fall 2003 Mult - - PowerPoint PPT Presentation

Peer-peer and Applicat ion-level Net working CS 218 Fall 2003 Mult icast Overlays P2P applicat ions Napst er, Gnut ella, Robust Overlay Net works Dist ribut ed Hash Tables (DHT) Chord CAN Much of t his mat erial comes f rom UMASS class


slide-1
SLIDE 1

Peer-peer and Applicat ion-level Net working CS 218 Fall 2003

Mult icast Overlays P2P applicat ions Napst er, Gnut ella, Robust Overlay Net works Dist ribut ed Hash Tables (DHT) Chord CAN Much of t his mat erial comes f rom UMASS class slides

slide-2
SLIDE 2

Peer-peer net working

slide-3
SLIDE 3

Peer-peer net working

Focus at t he applicat ion level

slide-4
SLIDE 4

Peer-peer net working

Peer -peer applicat ions

  • Napst er, Gnut ella, Fr eenet : f ile sharing
  • ad hoc net works
  • mult icast overlays (e.g., video dist ribut ion)
slide-5
SLIDE 5

Peer-peer net working

  • Q: What ar e t he new t echnical challenges?
  • Q: What new ser vices/ applicat ions enabled?
  • Q: I s it j ust “ net working at t he applicat ion-level”?
  • Everyt hing old is new again?
slide-6
SLIDE 6

Napst er

program f or sharing f iles over t he I nt ernet a “ disrupt ive” applicat ion/ t echnology? hist ory:

5/ 99: Shawn Fanning (f r eshman, Nort heast en U.) f ounds

Napst er Online music service

12/ 99: f irst lawsuit 3/ 00: 25% UWisc t r af f ic Napst er 2000: est . 60M user s 2/ 01: US Circuit Court of

Appeals: Napst er knew users violat ing copyr ight laws

7/ 01: # simult aneous online user s:

Napst er 160K, Gnut ella: 40K, Mor pheus: 300K

slide-7
SLIDE 7

Napst er: how does it work

Applicat ion-level, client -server prot ocol over point - t o-point TCP Four st eps:

Connect t o Napst er server Upload your list of f iles (push) t o server. Give server keywords t o search t he f ull list wit h. Select “best ” of correct answers. (pings)

slide-8
SLIDE 8

Napst er

napst er.com users

File list is uploaded 1.

slide-9
SLIDE 9

Napst er

napst er.com user

Request and result s

User request s search at server. 2.

slide-10
SLIDE 10

Napst er

napst er.com user pings pings

User pings host s t hat apparent ly have dat a. Looks f or best t ransf er r at e. 3.

slide-11
SLIDE 11

Napst er

napst er.com user Ret rieves f ile

User ret rieves f ile 4.

slide-12
SLIDE 12

Napst er messages

General Packet Format [chunksize] [chunkinfo] [data...] CHUNKSIZE: Intel-endian 16-bit integer size of [data...] in bytes CHUNKINFO: (hex) Intel-endian 16-bit integer.

00 - login rejected 02 - login requested 03 - login accepted 0D - challenge? (nuprin1715) 2D - added to hotlist 2E - browse error (user isn't online!) 2F - user offline 5B - whois query 5C - whois result 5D - whois: user is offline! 69 - list all channels 6A - channel info 90 - join channel 91 - leave channel …..

slide-13
SLIDE 13

Napst er: request ing a f ile

SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username 2965119704 (IP-address backward-form = A.B.C.D) 6699 (port) "C:\MP3\REM - Everybody Hurts.mp3" (song) (32-byte checksum) (line speed) [connect to A.B.C.D:6699] RECEIVED from client 31 00 00 00 00 00 SENT to client GET RECEIVED from client 00 00 00 00 00 00 SENT to client Myusername "C:\MP3\REM - Everybody Hurts.mp3" 0 (port to connect to) RECEIVED from client (size in bytes) SENT to server 00 00 DD 00 (give go-ahead thru server) RECEIVED from client [DATA]

From: http://david.weekly.org/code/napster.php3

slide-14
SLIDE 14

Napst er: archit ect ure not es

cent ralized server:

single logical point of f ailure can load balance among ser ver s using DNS r ot at ion pot ent ial f or congest ion Napst er “ in cont rol” (f reedom is an illusion)

no securit y:

passwords in plain t ext no aut hent icat ion no anonymit y

slide-15
SLIDE 15

Gnut ella

peer-t o-peer net working: applicat ions connect t o

peer applicat ions

f ocus: decent ralized met hod of searching f or f iles each applicat ion inst ance serves t o:

st ore select ed f iles r out e quer ies (f ile sear ches) f r om and t o it s neighbor ing

peers

r espond t o quer ies (ser ve f ile) if f ile st or ed locally

Gnut ella hist ory:

3/ 14/ 00: r elease by AOL, almost immediat ely wit hdr awn t oo lat e: several t housands of users on Gnut ella as of now many it er at ions t o f ix poor init ial design (poor design

t urned many people of f )

slide-16
SLIDE 16

Gnut ella: how it works

Searching by f looding:

I f you don’t have t he f ile you want , query 7 of

your part ners.

I f t hey don’t have it , t hey cont act 7 of t heir

part ners, f or a maximum hop count of 10.

Request s are f looded, but t here is no t ree

st ruct ure.

No looping but packet s may be received t wice. Reverse pat h f orwarding(?) Not e: Play gnut ella animat ion at : ht t p:/ / www.limewir e.com/ index.j sp/ p2p

slide-17
SLIDE 17

Flooding in Gnut ella: loop pr event ion

Seen already list : “ A”

slide-18
SLIDE 18

Gnut ella message f ormat

Message I D: 16 byt es (yes byt es) Funct ionI D: 1 byt e indicat ing

00 ping: used t o probe gnut ella net work f or host s 01 pong: used t o reply t o ping, ret urn # f iles shared 80 query: search st ring, and desired minimum bandwidt h 81: query hit : indicat ing mat ches t o 80:query, my I P

address/ port , available bandwidt h

RemainingTTL: decrement ed at each peer t o

prevent TTL-scoped f looding

HopsTaken: number of peer visit ed so f ar by t his

message

Dat aLengt h: lengt h of dat a f ield

slide-19
SLIDE 19

Gnut ella: init ial problems and f ixes

Freeloading: WWW sit es of f ering search/ ret rieval

f rom Gnut ella net work wit hout providing f ile sharing

  • r query rout ing.

Block f ile-ser ving t o br owser -based non-f ile-shar ing user s

Premat urely t erminat ed downloads:

long download t imes over modems modem user s r un gnut ella peer only br ief ly (Napst er

pr oblem also!) or any user s becomes over loaded

f ix: peer can reply “ I have it , but I am busy. Try again

lat er”

lat e 2000: only 10% of downloads succeed 2001: more t han 25% downloads successf ul (is t his success

  • r f ailur e?)

www.limewire.com/index.jsp/net_improvements

slide-20
SLIDE 20

Gnut ella: init ial problems and f ixes (more)

2000: avg size of reachable net work only 400-800

host s. Why so smalll?

modem users: not enough bandwidt h t o pr ovide sear ch

r out ing capabilit ies: r out ing black holes Fix: creat e peer hierarchy based on capabilit ies

pr eviously: all peer s ident ical, most modem blackholes connect ion pr ef er encing:

  • f avors rout ing t o well-connect ed peers
  • f avors reply t o client s t hat t hemselves serve large number of

f iles: prevent f reeloading

www.limewire.com/index.jsp/net_improvements

slide-21
SLIDE 21

Anonymous?

Not anymore t han it ’s scalable. The person you are get t ing t he f ile f rom knows

who you are. That ’s not anonymous.

Ot her prot ocols exist where t he owner of t he

f iles doesn’t know t he r equest er .

Peer-t o-peer anonymit y exist s.

slide-22
SLIDE 22

Gnut ella Discussion:

Archit ect ural lessons learned?

.. .. .. ..

Do Gnut ella’s goals seem f amiliar? Does it work

bet t er t han say squid or summary cache?

anonymit y and securit y? Ot her? Good source f or t echnical inf o/ open quest ions:

ht t p:/ / www.limewir e.com/ index.j sp/ t ech_paper s