nApplication displays other peers that have copy of Hey Jude.
nAlice chooses one of the peers, Bob.
nFile is copied from Bob’s PC to Alice’s notebook: HTTP
nWhile Alice downloads, other users uploading from Alice.
nAlice’s peer is both a Web client and a transient Web server.
All peers are servers = highly scalable!
P2P: centralized directory
original “Napster” design
1) when peer connects, it informs central server:
qIP address
qcontent
2) Alice queries for “Hey Jude”
3) Alice requests file from Bob
P2P: problems with centralized directory
Single point of failure nPerformance bottleneck nCopyright infringement
file transfer is decentralized, but locating content is highlydecentralized
Query flooding: Gnutella
nfully distributed
qno central server
npublic domain protocol
nmany Gnutella clients implementing protocol
overlay network: graph
nedge between peer X and Y if there’s a TCP connection
nall active peers and edges is overlay net
nEdge is not a physical link
Given peer will typically be connected with < 10 overlay neighbors
Gnutella: protocol
r Query message
sent over existing TCP
connections
r peers forward
Query message
r QueryHit
sent over
reverse
path
چند پخشی در اينترنت به روش Overlay
nچند پخشی IP
q چندپخشی IP بهينه ترين روش تحويل داده به صورت نقطه به چند نقطه است.
qگروه چند پخشی: مجموعه گيرنده های داده چند پخشی
qآدرس چند پخشی: يک آدرس IP از کلاس D به ازای هر گروه
q پروتکل IGMP : پروتکلی که گيرنده ها بوسيله آن به گروه چند پخشی مورد علاقه ملحق می شوند.
q فرستنده داده ها را به آدرس چند پخشی ارسال می کند.
qمسيرياب ها وظيفه مديريت گروه چند پخشی را بعهده دارند.
q مسيرياب ها وظيفه تکثير بسته ها و روانه سازی آنها با ساير مسيرياب ها را بعهده دارند.
qدرخت چند پخشی توسط مسيرياب ها و با بکار گيری پروتکل های مسيريابی چند پخشی ساخته می شود.