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
Peer-peer net working
Peer-peer net working Focus at t he applicat ion level
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) •
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?
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
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)
Napst er File list is 1. napst er.com uploaded users
Napst er User 2. napst er.com request s search at server. Request and result s user
Napst er 3. User pings napst er.com host s t hat apparent ly have dat a. Looks f or pings pings best t ransf er r at e. user
Napst er 4. User napst er.com ret rieves f ile Ret rieves f ile user
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. 5B - whois query 00 - login rejected 02 - login requested 5C - whois result 03 - login accepted 5D - whois: user is offline! 0D - challenge? (nuprin1715) 69 - list all channels 2D - added to hotlist 6A - channel info 2E - browse error (user isn't online!) 90 - join channel 2F - user offline 91 - leave channel …..
From: http://david.weekly.org/code/napster.php3 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) SENT to client (line speed) Myusername [connect to A.B.C.D:6699] "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED from client 0 (port to connect to) 31 00 00 00 00 00 RECEIVED from client SENT to client (size in bytes) GET SENT to server RECEIVED from client 00 00 DD 00 (give go-ahead thru server) 00 00 00 00 00 00 RECEIVED from client [DATA]
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
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 )
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
Flooding in Gnut ella: loop pr event ion Seen already list : “ A”
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
www.limewire.com/index.jsp/net_improvements 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 or 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 or f ailur e?)
www.limewire.com/index.jsp/net_improvements 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
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.
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
Recommend
More recommend