شبکه های Overlay و کاربردهای آنها
شبکه های Overlay
شبکه های Overlay چیست؟
به هر شبکه ای بر روی یک شبکه دیگر ایجاد می شود Overlay گفته می شود. ولی امروزه شبکه های Overlay به شبکه هایی اطلاق می شود که در لایه کاربرد و برروی شبکه IP تشکیل می شوند. شبکه های اشتراک فایل از قبیل Gnutella, KaZaA و غیره نمونه هایی از شبکه های Overlay هستند.
کاربردهای شبکه های Overlay :
سیستم های اشتراک فایل (Peer-to-Peer File Sharing)
چند پخشی در اینترنت (Multicasting in the Internet)
کنفرانس ویدئوِیی
بازی ها ی گروهی در شبکه
….
سیستم های اشتراک فایل Peer-to-Peer
Example
Alice runs P2P client application on her notebook computer
Intermittently connects to Internet; gets new IP address for each connection
Asks for “Hey Jude”
Application displays other peers that have copy of Hey Jude.
Alice chooses one of the peers, Bob.
File is copied from Bob’s PC to Alice’s notebook: HTTP
While Alice downloads, other users uploading from Alice.
Alice’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:
IP address
content
2) Alice queries for “Hey Jude”
3) Alice requests file from Bob
P2P: problems with centralized directory
Single point of failure
Performance bottleneck
Copyright infringement
file transfer is decentralized, but locating content is highly decentralized
Query flooding: Gnutella
fully distributed
no central server
public domain protocol
many Gnutella clients implementing protocol
overlay network: graph
edge between peer X and Y if there’s a TCP connection
all active peers and edges is overlay net
Edge is not a physical link
Given peer will typically be connected with < 10 overlay neighbors
Gnutella: protocol
File transfer:
HTTP
Query message sent over existing TCP connections
peers forward Query message
QueryHit sent over reverse path
Scalability:
limited scope flooding
Gnutella: Peer joining
Joining peer X must find some other peer in Gnutella network: use list of candidate peers
X sequentially attempts to make TCP with peers on list until connection setup with Y
X sends Ping message to Y; Y forwards Ping message.
All peers receiving Ping message respond with Pong message
X receives many Pong messages. It can then setup additional TCP connections
Peer leaving: see homework problem!
Exploiting heterogeneity: KaZaA
Each peer is either a group leader or assigned to a group leader.
TCP connection between peer and its group leader.
TCP connections between some pairs of group leaders.
Group leader tracks the content in all its children.
KaZaA: Querying
Each file has a hash and a descriptor
Client sends keyword query to its group leader
Group leader responds with matches:
For each match: metadata, hash, IP address
If group leader forwards query to other group leaders, they respond with matches
Client then selects files for downloading
HTTP requests using hash as identifier sent to peers holding desired file
Kazaa tricks
Limitations on simultaneous uploads
Request queuing
Incentive priorities
Parallel downloading
چند پخشی در اینترنت به روش Overlay
چند پخشی IP
چندپخشی IP بهینه ترین روش تحویل داده به صورت نقطه به چند نقطه است.
گروه چند پخشی: مجموعه گیرنده های داده چند پخشی
آدرس چند پخشی: یک آدرس IP از کلاس D به ازای هر گروه
پروتکل IGMP : پروتکلی که گیرنده ها بوسیله آن به گروه چند پخشی مورد علاقه ملحق می شوند.
فرستنده داده ها را به آدرس چند پخشی ارسال می کند.
مسیریاب ها وظیفه مدیریت گروه چند پخشی را بعهده دارند.
مسیریاب ها وظیفه تکثیر بسته ها و روانه سازی آنها با سایر مسیریاب ها را بعهده دارند.
درخت چند پخشی توسط مسیریاب ها و با بکار گیری پروتکل های مسیریابی چند پخشی ساخته می شود.
چند پخشی در اینترنت به روش Overlay
چند پخشی IP (ادامه)
پروتکل های مسیریابی چند پخشی
پروتکل های درون دامنه ای (Intra Domain)
DVMRP ،MOSPF، PIM ، CBT
پروتکل های بین دامنه ای (Inter Domain)
BGMP
درخت های چند پخشی
درخت مبتنی بر منبع داده (Source-based tree)
درخت مشترک (Shared tree)
چند پخشی در اینترنت به روش Overlay
موانع گسترش چند پخشی IP در اینترنت
پیچیدگی پروتکل
یکی از دلایل موفقیت IP ساده گی آن در هسته شبکه است است. سرویس های پیچیده تر به لایه های بالاتر در End-system ها واگذار شده است.
نگهداری حالت گروه های چند پخشی در مسیریاب ها
عدم وجود روش موثر مدیریت گروه : یک کاربر بد اندیش می تواند داده بیهوده تحت یک آدرس چند پخشی ارسال نماید.
مساله تخصیص منحصربفرد آدرس چند پخشی به هر نشست و بطور سراسری در اینترنت
ناهمگن بودن End-system ها و شبکه ها
کنترل نرخ جریان مطابق ظرفیت گیرنده ها بسیار مشکل است.
پیچیدگی سرویس های انتقال
فراهم سازی سرویس های لایه های بالاتر از قبیل قابلیت اطمینان، کنترل تراکم و کنترل جریان برای سرویس چند پخشی IP از مدل تک پخشی مشکل تر است.
چند پخشی در اینترنت به روش Overlay
چند پخشی به روش Overlay
چند پخشی IP
چند پخشی به روش Overlay
چند پخشی در اینترنت به روش Overlay
دسته بندی روش های چند پخشی Overlay
روش هایی که در آنها ابتدا گره ها تشکیل یک Mesh می دهند و سپس از روی آن یک درخت پوشای بهینه ساخته می شود.
روش هایی که در آنها ابتدا یک درخت تشکیل می گردد و سپس برای تبادل پیغام های کنترلی یک Mesh نیز بین گره ها ایجاد می شود.
روش هایی که در آنها برای تحویل داده درختی ساخته نمی شود بلکه با یک روش ضمنی عمل روانه سازی بسته های داده انجام می گیرد. (Embedded structure)
چند پخشی در اینترنت به روش Overlay
معیاری های ارزیابی روش های چند پخشی Overlay
کیفیت مسیر داده
Stress
Stretch
مقیاس پذیری
قابلیت اطمینان
چند پخشی در اینترنت به روش Overlay
نمونه هایی از روش های چند پخشی به روش Overlay
چند پخشی در اینترنت به روش Overlay
HMTP( Host Multicast Tree Protocol)
چند پخشی در اینترنت به روش Overlay
Narada
چند پخشی در اینترنت به روش Overlay
CAN (Content Addressable Network)
چند پخشی در اینترنت به روش Overlay
مسیریابی در شبکه Pastry
روش پایه اشتراک یک عضو جدید و ایجاد درخت درScribe
Scribe
چند پخشی در اینترنت به روش Overlay
NICE
چند پخشی ویدئو در اینترنت به صورت Overlay
اهمیت چند پخشی در کاربردهای ویدئویی:
کاربردهای ویدئویی نیاز به پهنای باند بالا دارند و بسیاری از آنها کاربران همزمان زیادی دارند. بنابراین بکارگیری چند پخشی در آنها باعث صرفه جویی در مصرف پهنای باند شده و از طرف دیگر نیاز به سرورهای پر قدرت ویدئو را برطرف می سازد.
چالش های چند پخشی ویدئو به صورت Overlay :
نیاز به پهنای باند زیاد
نیاز به تاخیر کم (در برخی از کاربردها)
ناهمگن بودن Host های اینترنت
چند پخشی ویدئو در اینترنت به صورت Overlay
مسائلی که در پند پخشی ویدئو به صورت Ovelay مورد توجه قرار دارند:
ساخت درخت چند پخشی بهینه از نظر پهنای باند
تخصیص پهنای باند در درخت چند پخشی
کنترل خطا
…..