مظفر بگ محمدی دانشگاه ایلام

Slides:



Advertisements
Similar presentations
2/15/2001O'Reilly P2P Conference Characterizing P2P Infrastructure Wesley Felter Editor, Hack the Planet
Advertisements

P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Course on Computer Communication and Networks Lecture 10 Chapter 2; peer-to-peer applications (and network overlays) EDA344/DIT 420, CTH/GU.
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
CHORD: A Peer-to-Peer Lookup Service CHORD: A Peer-to-Peer Lookup Service Ion StoicaRobert Morris David R. Karger M. Frans Kaashoek Hari Balakrishnan Presented.
L-19 P2P. Scaling Problem Millions of clients  server and network meltdown 2.
Peer-to-Peer
Peer-to-Peer Jeff Pang Spring Spring 2004, Jeff Pang2 Intro Quickly grown in popularity –Dozens or hundreds of file sharing applications.
1 Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Robert Morris Ion Stoica, David Karger, M. Frans Kaashoek, Hari Balakrishnan.
Peer-to-Peer Credits: Slides adapted from J. Pang, B. Richardson, I. Stoica, M. Cuenca, B. Cohen, S. Ramesh, D. Qui, R. Shrikant, Xiaoyan Li and R. Martin.
CSc 461/561 CSc 461/561 Peer-to-Peer Streaming. CSc 461/561 Summary (1) Service Models (2) P2P challenges (3) Service Discovery (4) P2P Streaming (5)
Efficient Content Location Using Interest-based Locality in Peer-to-Peer Systems Presented by: Lin Wing Kai.
1 Client-Server versus P2P  Client-server Computing  Purpose, definition, characteristics  Relationship to the GRID  Research issues  P2P Computing.
Peer-to-Peer Applications
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
Peer To Peer Distributed Systems Pete Keleher. Why Distributed Systems? l Aggregate resources! –memory –disk –CPU cycles l Proximity to physical stuff.
Peer-to-Peer Networking Credit slides from J. Pang, B. Richardson, I. Stoica.
Peer-to-Peer Scaling Problem Millions of clients  server and network meltdown.
Peer-to-Peer Outline p2p file sharing techniques –Downloading: Whole-file vs. chunks –Searching Centralized index (Napster, etc.) Flooding (Gnutella,
CS 640: Introduction to Computer Networks Yu-Chi Lai Lecture 18 - Peer-to-Peer.
Distributed Systems Lecture 21 – CDN & Peer-to-Peer.
Introduction to Peer-to-Peer Networks. What is a P2P network Uses the vast resource of the machines at the edge of the Internet to build a network that.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Introduction Widespread unstructured P2P network

Introduction to Peer-to-Peer Networks. What is a P2P network A P2P network is a large distributed system. It uses the vast resource of PCs distributed.
P2P Web Standard IS3734/19/10 Michael Radzin. What is P2P? Peer to Peer Networking (P2P) is a “direct communications initiations session.” Modern uses.
Peer-to-Peer Networks University of Jordan. Server/Client Model What?
1 1/30/2008 Network Applications: P2P Applications.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
1 Slides from Richard Yang with minor modification Peer-to-Peer Systems: DHT and Swarming.
Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Dr. Yingwu Zhu.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
PEER TO PEER (P2P) NETWORK By: Linda Rockson 11/28/06.
15-744: Computer Networking L-22: P2P. Lecture 22: Peer-to-Peer Networks Typically each member stores/provides access to content Has quickly.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 24 - Peer-to-Peer.
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
EE324 DISTRIBUTED SYSTEMS L17 P2P. Scaling Problem 2  Millions of clients  server and network meltdown.
Hui Zhang, Fall Computer Networking CDN and P2P.
Distributed Systems Lecture 21 – CDN & Peer-to-Peer.
15-744: Computer Networking L-22: P2P. L -22; © Srinivasan Seshan, P2P Peer-to-peer networks Assigned reading [Cla00] Freenet: A Distributed.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 37 – Introduction to P2P (Part 1) Klara Nahrstedt.
15-744: Computer Networking L-23: P2P. L -23; © Srinivasan Seshan, P2P Peer-to-peer networks Assigned reading [Cla00] Freenet: A Distributed.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
P2P Search COP6731 Advanced Database Systems. P2P Computing  Powerful personal computer Share computing resources P2P Computing  Advantages: Shared.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
© 2016 A. Haeberlen, Z. Ives CIS 455/555: Internet and Web Systems 1 University of Pennsylvania Decentralized systems February 15, 2016.
Distributed Computing Systems Peer-to-Peer. Definition of Peer-to-Peer (P2P) Significant autonomy from central servers Exploits resources at edges of.
Distributed Computing Systems (Slides for Final Class)
Marina Papatriantafilou – Overlays and peer-to-peer applications Based on the book Computer Networking: A Top Down Approach, Jim Kurose, Keith Ross, Addison-Wesley.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
Napster and Gnutella Protocols English micro-project Guillaume CASSIN May 31, 2001.
(some slides from D. Anderson, K. Harras and others)
BitTorrent Vs Gnutella.
CSE 486/586 Distributed Systems Distributed Hash Tables
Peer-to-Peer Data Management
Distributed Systems CDN & Peer-to-Peer.
Determining the Peer Resource Contributions in a P2P Contract
A Scalable content-addressable network
GIA: Making Gnutella-like P2P Systems Scalable
CPE 401/601 Computer Network Systems
Peer-To-Peer Data Management
CPE 401/601 Computer Network Systems
Consistent Hashing and Distributed Hash Table
CSE 486/586 Distributed Systems Distributed Hash Tables
#02 Peer to Peer Networking
Presentation transcript:

مظفر بگ محمدی دانشگاه ایلام شبکه های نظیر به نظیر مظفر بگ محمدی دانشگاه ایلام

عناوین تکنیکهای اشتراک فایل p2p چالشها روش دانلود: کل فایل در مقابل تکه های فایل روش جستجو: ایندکس مرکزی (Napster, etc.) غرق کردن (Gnutella, etc.) غرق کردن هوشمندانه (KaZaA, …) مسیریابی (Freenet, etc.) چالشها عدالت، سواری مجانی، امنیت، ...

اشتراک فایل P2p خیلی سریع تبدیل به یک خدمت محبوب تبدیل شد. صدها کاربرد اشتراک فایل وجود دارند. ۳۵ میلیون آمریکایی از اشتراک فایل استفاده می‌کنند که ۲۹٪ کاربران اینترنت هستند. امروزه انتقال صدا و تصویر به ترافیک اصلی در اینترنت تبدیل شده است.

روشهای عمده Central Flood Super-node flood Route Whole File Napster Gnutella Freenet Chunk Based BitTorrent KaZaA (bytes, not chunks) DHTs eDonkey 2000

نشر/جستجو N2 N1 N3 ? N4 N6 N5 Key=“title” Value=MP3 data… Internet Client Publisher 1000s of nodes. Set of nodes may change… Lookup(“title”) N4 N6 N5

جستجو Needles vs. Haystack Search expressiveness جستجوی یک آهنگ خیلی قدیمی از یک گروه مهجور که هیچ کس آنرا نشینده است در مقابل جستجوی آخرین آلبوم محسن چاووشی Search expressiveness کل کلمه؟ عبارت منظم؟ اسم فایل؟ جستجوی کل متن؟

چهارچوب چهار جزء اصلی: وصل شدن: چگونه وارد سیستم شویم؟ انتشار: چگونه فایل خود را اعلان کنیم؟ جستجو: چگونه یک فایل را پیدا کنیم؟ Fetch: چگونه فایل را به دست آوریم؟

Napster: مرور کلی تاریخچه: پایگاه داده‌ی مرکزی: ۱۹۹۹: شین فانینگ ناپستر را تأسیس کرد. تعداد کاربران به ۱.۵ میلیون کاربر همزمان رسید. ژوئن ۲۰۰۱: ناپستر بسته شد. پایگاه داده‌ی مرکزی: وصل شدن: در شروع، مشتری با خدمتگزار مرکزی تماس می‌گرفت. انتشار: لیست فایلهای خود را به خدمتگزار گزارش می‌کرد. جستجو: سوال از خدمتگزار پرسیده می‌شد  در جواب آدرس کسانی که صاحب فایلها بودند بر می‌گشت. بازیابی: فایل مستقیماً از یکی از نظیرها دانلود می‌شود.

Napster: انتشار insert(X, 123.2.21.23) ... Publish I have X, Y, and Z!

Napster: جستجو 123.2.0.18 Fetch search(A) --> 123.2.0.18 Query Reply Where is file A?

Napster: توضیح Pros: Simple Search scope is O(1) Controllable (pro or con?) Cons: Server maintains lot of state Server does all processing Single point of failure

Gnutella: مرور کلی تاریخچه: غرق کردن جستجو در سال ۲۰۰۰، جی. فرانکلت و تی. پپر از شرکت Nullsoft برنامه ی Gnuttella را منتشر کرد. در ادامه برنامه‌های مشتری دیگری پدیدار شدند: Bearshare, Morpheus, LimeWire… در سال ۲۰۰۱، بهبودهای زیادی مثل ultrapeersبه پروتکل اضافه شد. غرق کردن جستجو وصل شدن: در شروع، مشتری با چند نظیر دیگر تماس می گیردو با هم همسایه می‌شوند. پروتکل پینگ پونگ انتشار: نیازی نیست. جستجو: از همسایه‌ها سوال می کنیم، آنها از همسایه‌های خود می‌پرسند و الی آخر...، هر کس که جواب را داشت به مشتری اطلاع می‌دهد. از TTL برای محدود کردن جستجو استفاده می‌شود. دانلود: فایل مستقیما از نظیر گرفته می‌شود.

Gnutella: جستجو I have file A. Reply Query Where is file A?

Gnutella: توضیح مزایا: معایب: کاملاً توزیع شده هزینه‌ی جستجو روی همه توزیع شده است. پردازش انجام شده در هر نود اجازه می‌دهد که از سمانتیک جستجوی قدرتمندی استفاده شود. معایب: دامنه‌ی جستجو O(N) است. زمان جستجو برابر O(???) است. نرخ خروج نودها بالا است و شبکه ناپایدار است. جستجوی محدود شده با TTL در پیدا کردن فایلهای مشهور مفید است. جهت افزایش مقیاس‌پذیری، لازم نیست همه‌ی نودها را بگردیم. می‌توان جستجو را بعداً دوباره مطرح کرد.

KaZaA: مرور کلی Gnutella X Napster غرق کردان هوشمندانه‌ی جستجو: خدمتگزار مرکزی ندارد. اما، همه‌ی نظیرها هم‌ارز نیستند. غرق کردان هوشمندانه‌ی جستجو: وصل شدن: در شروع مشتری با یک ابرنود تماس می‌گیرد. ممکن است در آینده خودش نیز به یک ابرنود تبدیل شود. انتشار: لیست فایلهای خود را به ابرنود می‌دهد. جستجو: پرس و جو را به ابرنود می‌دهد، ابرنودها جستجو را میان خود غرق می‌کنند. دانلود: فایل مستقیماً از نظیر(ها) گرفته می‌شود. می‌توان همزمان از چند نظیر فایل را دانلود کرد.

KaZaA: طرح شبکه “Super Nodes”

KaZaA: انتشار فایل insert(X, 123.2.21.23) ... Publish I have X!

KaZaA: جستجوی فایل search(A) --> 123.2.0.18 123.2.22.50 Replies Query Where is file A?

KaZaA: دانلود ممکن است چندین نفر فایل را داشته باشند. چگونه بفهیم؟ ممکن است اسم فایلها یکی نباشد اما یکی باشند. یا برعکس، اسمشان مثل هم باشد و محتوایشان متفاوت باشد. فایل را hash کنید. KaZaA از UUHash استفاده می‌کند که سریع است اما ایمن نیست. جایگزینها: MD5, SHA-1 نحوه‌ی بازیابی دریافت بایتهای [0..1000] از A، دریافت بایتهای [1001...2000]از B جایگزین: Erasure Codes

مقیاس پذیری و ابرنودها چرا ابرنود؟ انتخاب ابرنظیرها مبتنی بر زمان است. تثبیت و قوام پرس و جو اکثر نودها تعداد کمی فایل دارند. انتشار یک پرس و جو به یک نود معمولی باعث مصرف پهنای باند می‌شود. انتخاب ابرنظیرها مبتنی بر زمان است. مدت زمان حضور میزبان در سیستم نشان‌دهنده‌ی میزان ثبات آن است و هر چه زمان حضور نود بیشتر باشد بهتر است.

KaZaA: Discussion مزایا: معایب: سعی می‌کند ناهمگونی نودها را نیز در نظر بگیرد. پهنای باند منابع پردازشی میزبان در دسترس بودن میزبان معایب: براحتی می‌توان مکانیسمهای kaza را دور زد. میزبان متقلب می‌تواند به صورت مفتی از سیستم استفاده کند. هیچ تضمین واقعی روی دامنه و زمان جستجو وجود ندارد. مثل Gnutella است اما کارآیی آن بهتر است.

BitTorrent: تاریخچه انگیزه‌ی اصلی تمرکز اصلی روی نحوه‌ی دانلود است: میزان محبوبیت فایلها از محلی بودن ارجاعات پیروی می‌کند. یک فیلم جدید، آلبوم جدید، بازی جدید تمرکز اصلی روی نحوه‌ی دانلود است: توزیع یک فایل بین تمام نظیرها یک منتشر کننده، چندین دانلود کننده چندین منتشر کننده ی اصلی دارد.

BitTorrent: مرور تفاوت اصلی با Napster: انتشار: اجرای یک خدمتگزار tracker جستجو: استفاده از گوگل یا هر مکانیسم دیگری جهت پیدا کردنtracker وصل شدن: با tracker تماس گرفته می‌شود و لیستی از نظیرها دریافت می‌شود. دانلود: تکه‌های فایل از نظیرها دریافت می‌شود. آنها نیز از تکه‌های فایل شما استفاده می‌کنند. تفاوت اصلی با Napster: دانلود مبتنی بر تکه فایل مکانیسم ضد سوءء استفاده استفاده از همکاری گروهی

BitTorrent: انتشار/وصل شدن Tracker

BitTorrent: دانلود

BitTorrent: راهبرد اشتراک از راهبرد اشتراک “Tit-for-tat” پیروی می‌کند. A از چندین نفر دانلود می‌کند. A به N نفر اجازه می‌دهد که از آن دانلود کنند. باید خوشبین باشیم: اجازه دهیم بعضی وقتها سوء استفاده انجام شود. در غیر این صورت هیچ وقت دانلودی شروع نخواهد شد. ممکن است در این اثنا بتوانیم نظیر بهتری پیدا کنیم.

BitTorrent: توضیح مزایا معایب در عمل به طور معقول کار می‌کند. برای نظیرها انگیزه ایجاد می‌کند تا فایلهایشان را به اشتراک بگذارند. از سوء استفاده اجتناب می‌کند. معایب Pareto Efficiency relatively weak condition برای شروع همکاری گروهی به یک خدمتگزار Trackerمرکزی نیاز دارد.

جداول درهم سازی توزیع شده مسیریابی توزیع شده وصل شدن: با استفاده از درهم سازی کلید مکان خود را پیدا کنید. انتشار: از کلید برای قرار دادن ستد در مکان مناسب استفاده کنید. جستجو: از کلید برای پیدا کردن محل داده استفاده کنید. دانلود: نود انتهایی از طریق مسیر ثبت شده در درخواست جواب را پس می‌فرستد.

Locate An Object

Table in A Node

Add A New Node

DHT: Discussion مزایا: ساختار داده ی ساده. معایب: نودها را به طور خودکار در یک ساختار گروهی توزیع شده سازماندهی می‌کند و هر نود از اطلاعاتی که در فضای کلید به هم نزدیکند نگهداری می‌کند. نحوه ی ارتباطات تمام نودها مثل هم است. ساختار داده ی ساده. معایب: هیچ تضمینی راجع به پیدا کردن داده نمی دهد.

P2P: Summary روشهای مختلفی وجود دارد: درسهای قابل یادگیری: مرکزی، غرق کردن، همکاری گروهی، مسیریابی ساخت یافته و بدون ساختار درسهای قابل یادگیری: نقطه ی خرابی منفرد بسیار بد است. غرق کردن پیغام به تمام نودها بد است. توپولوژی شبکه ی زیرین دارای اهمیت است. همه ی نودها مثل هم نیستند. برای مقابله با سوءاستفاده به انگیزه نیازمندیم. محرمانگی و امنیت مهم هستند.