مقدمه
انتخاب یک روش p2p معمولا به دلیل یک یا چند مورد از اهداف زیر صورت می گیرد:
تقسیم و کاهش هزینه: راه اندازی یک سیستم متمرکز که بتواند از سرویس گیرنده های زیادی پشتیبانی کند، هزینه زیادی را به سرور تحمیل خواهد کرد. معماری p2p می تواند کمک کند تا این هزیته بین تمام peer ها تقسیم شود. به عنوان مثال در سیستم اشتراک فایل، فضای مورد نیاز توسط تمام peer ها تامین خواهد شد.
- افزایش مقیاس پذیری و قابلیت اعتماد: بدلیل عدم وجود یک منبع قدرتمند مرکزی، بهبود مقیاس پذیری و قابلیت اعتماد سیستم یکی از اهداف مهم به شمار می آید و بنابراین باعث نوآوریهای الگوریتمی در این زمینه می شود.
- افزایش خودمختاری: در بسیاری از موارد کاربران یک شبکه توزیع شده مایل نیستند که متکی به یک سرور متمرکز باشند، چون متکی بودن به یک سرور متمرکز باعث محدود شدن آنها می شود. مثلا در مورد کاربرد اشتراک فایل، کاربران می توانند بطور مستقل فایلهای یکدیگر را دریافت کنند بدون آنکه متکی به یک سرور متمرکز باشند که ممکن است مجوز دریافت فایل را به آنها ندهد.
- گمنامی : این واژه وابسته به همان خودمختاری می شود. کاربران ممکن است مایل نباشند که هیچ کاربر دیگری یا سروری اطلاعاتی در مورد سیستم آنها داشته باشد. با استفاده یک سرور مرکزی، نمی توان از گمنامی مطمئن بود، چون حداقل سرور باید بگونه بتواند سرویس گیرنده را شناسایی کند مثلا با استفاده از آدرس اینترنتی آن. با استفاده از معماری p2p چون پردازش ها به صورت محلی انجام می شود، کاربران می توانند از دادن اطلاعاتی در مورد خودشان به دیگران اجتناب کنند.
- پویایی : فرض اولیه سیستم های p2p این است که در یک محیط کاملا پویا قرار داریم. منابع و نودهای محاسباتی می توانند آزادانه به سیستم وارد و از آن خارج شوند.
فصل اول
شبکه کامپیوتری چیست ؟
1-1- شبکه کامپیوتری چیست ؟
اساسا یک شبکه کامپیوتری شامل دو یا بیش از دو کامپیوتر وابزارهای جانبی مثل چاپگرها، اسکنرها ومانند اینها هستند که بطور مستقیم بمنظور استفاده مشترک از سخت افزار ونرم افزار، منابع اطلاعاتی ابزارهای متصل ایجاده شده است توجه داشته باشید که به تمامی تجهیزات سخت افزاری ونرم افزاری موجود در شبکه منبع1(Source) گویند.
در این تشریک مساعی با توجه به نوع پیکربندی کامپیوتر ، هر کامپیوتر کاربر می تواند در آن واحد منابع خود را اعم از ابزارها وداده ها با کامپیوترهای دیگر همزمان بهره ببرد.
" دلایل استفاده از شبکه را می توان موارد ذیل عنوان کرد2" :
1 - استفاده مشترک از منابع :
استفاده مشترک از یک منبع اطلاعاتی یا امکانات جانبی رایانه ، بدون توجه به محل جغرافیایی هریک از منابع را استفاده از منابع مشترک گویند.
2 - کاهش هزینه :
متمرکز نمودن منابع واستفاده مشترک از آنها وپرهیز از پخش آنها در واحدهای مختلف واستفاده اختصاصی هر کاربر در یک سازمان کاهش هزینه را در پی خواهد داشت .
3 - قابلیت اطمینان :
این ویژگی در شبکه ها بوجود سرویس دهنده های پشتیبان در شبکه اشاره می کند ، یعنی به این معنا که می توان از منابع گوناگون اطلاعاتی وسیستم ها در شبکه نسخه های دوم وپشتیبان تهیه کرد ودر صورت عدم دسترسی به یک از منابع اطلاعاتی در شبکه " بعلت از کارافتادن سیستم " از نسخه های پشتیبان استفاده کرد. پشتیبان از سرویس دهنده ها در شبکه کارآیی،، فعالیت وآمادگی دایمی سیستم را افزایش می دهد.
4 - کاهش زمان :
یکی دیگر از اهداف ایجاد شبکه های رایانه ای ، ایجاد ارتباط قوی بین کاربران از راه دور است ؛ یعنی بدون محدودیت جغرافیایی تبادل اطلاعات وجود داشته باشد. به این ترتیب زمان تبادل اطلاعات و استفاده از منابع خود بخود کاهش می یابد.
5 - قابلیت توسعه :
یک شبکه محلی می تواند بدون تغییر در ساختار سیستم توسعه یابد وتبدیل به یک شبکه بزرگتر شود. در اینجا هزینه توسعه سیستم هزینه امکانات وتجهیزات مورد نیاز برای گسترش شبکه مد نظر است.
6 - ارتباطات:
کاربران می توانند از طریق نوآوریهای موجود مانند پست الکترونیکی ویا دیگر سیستم های اطلاع رسانی پیغام هایشان را مبادله کنند ؛ حتی امکان انتقال فایل نیز وجود دارد".
در طراحی شبکه مواردی که قبل از راه اندازی شبکه باید مد نظر قرار دهید شامل موارد ذیل هستند:
1 - اندازه سازمان
2 - سطح امنیت
3 - نوع فعالیت
4 - سطح مدیریت
5 - مقدار ترافیک
6 – بودجه
مفهوم گره " Node" وایستگاههای کاری " Work Stations "]1] :
" هرگاه شما کامپیوتری را به شبکه اضافه می کنید ، این کامپیوتر به یک ایستگاه کاری یا گره تبدیل می شود.
یک ایستگاه کاری ؛ کامپیوتری است که به شبکه الصاق شده است و در واقع اصطلاح ایستگاه کاری روش دیگری است برای اینکه بگوییم یک کامپیوتر متصل به شبکه است. یک گره چگونگی وارتباط شبکه یا ایستگاه کاری ویا هر نوع ابزار دیگری است که به شبکه متصل است وبطور ساده تر هر چه را که به شبکه متصل والحاق شده است یک گره گویند".
برای شبکه جایگاه وآدرس یک ایستگاه کاری مترادف با هویت گره اش است.
2-1- مدل های شبکه[2]
در یک شبکه ، یک کامپیوتر می تواند هم سرویس دهنده وهم سرویس گیرنده باشد. یک سرویس دهنده (Server) کامپیوتری است که فایل های اشتراکی وهمچنین سیستم عامل شبکه که مدیریت عملیات شبکه را بعهده دارد - را نگهداری می کند.
برای آنکه سرویس گیرنده " Client" بتواند به سرویس دهنده دسترسی پیدا کند ، ابتدا سرویس گیرنده باید اطلاعات مورد نیازش را از سرویس دهنده تقاضا کند. سپس سرویس دهنده اطلاعات در خواست شده را به سرویس گیرنده ارسال خواهد کرد.
سه مدل از شبکه هایی که مورد استفاده قرار می گیرند ، عبارتند از :
1 - شبکه نظیر به نظیر " Peer- to- Peer "
2 - شبکه مبتنی بر سرویس دهنده " Server- Based "
3 - شبکه سرویس دهنده / سرویس گیرنده " Client Server"
مدل شبکه نظیر به نظیر:
در این شبکه ایستگاه ویژه ای جهت نگهداری فایل های اشتراکی وسیستم عامل شبکه وجود ندارد. هر ایستگاه می تواند به منابع سایر ایستگاه ها در شبکه دسترسی پیدا کند. هر ایستگاه خاص می تواند هم بعنوان Server وهم بعنوان Client عمل کند. در این مدل هر کاربر خود مسئولیت مدیریت وارتقاء دادن نرم افزارهای ایستگاه خود را بعهده دارد. از آنجایی که یک ایستگاه مرکزی برای مدیریت عملیات شبکه وجود ندارد ، این مدل برای شبکه ای با کمتر از 10 ایستگاه بکار می رود .
شبکه نظیر به نظیر
مدل شبکه مبتنی بر سرویس دهنده :
در این مدل شبکه ، یک کامپیوتر بعنوان سرویس دهنده کلیه فایل ها ونرم افزارهای اشتراکی نظیر واژه پرداز ها، کامپایلرها ، بانک های اطلاعاتی وسیستم عامل شبکه را در خود نگهداری می کند. یک کاربر می تواند به سرویس دهنده دسترسی پیدا کرده وفایل های اشتراکی را از روی آن به ایستگاه خود منتقل کند.
مدل سرویس دهنده / سرویس گیرنده :
در این مدل یک ایستگاه در خواست انجام کارش را به سرویس دهنده ارائه می دهد وسرویس دهنده پس از اجرای وظیفه محوله ، نتایج حاصل را به ایستگاه در خواست کننده عودت می دهد. در این مدل حجم اطلاعات مبادله شده شبکه ، در مقایسه با مدل مبتنی بر سرویس دهنده کمتر است واین مدل دارای کارایی بالاتری می باشد.
. سرویس دهنده / سرویس گیرنده
هر شبکه اساسا از سه بخش ذیل تشکیل می شود[3]:
ابزارهایی که به پیکربندی اصلی شبکه متصل می شوند بعنوان مثال : کامپیوتر ها ، چاپگرها، هاب ها " Hubs "
سیم ها ، کابل ها وسایر رسانه هایی که برای اتصال ابزارهای شبکه استفاده می شوند.
سازگار کننده ها" Adaptor"]4] :
که بعنوان اتصال کابل ها به کامپیوتر هستند . اهمیت آنها در این است که بدون وجود آنها شبکه تنها شامل چند کامپیوتر بدون ارتباط موازی است که قادر به سهیم شدن منابع یکدیگر نیستند . عملکرد سازگارکننده در این است که به دریافت وترجمه سیگنال ها ی درون داد از شبکه از جانب یک ایستگاه کاری وترجمه وارسال برون داد به کل شبکه می پردازد.
3-1- اجزا ءشبکه
اجزا اصلی یک شبکه کامپیوتری عبارتند از :
1 - کارت شبکه : " NIC- Network Interface Card]5]" :
برای استفاده از شبکه وبرقراری ارتباط بین کامپیوتر ها از کارت شبکه ای استفاده می شود که در داخل یکی از شیارهای برد اصلی کامپیوتر های شبکه " اعم از سرویس دهنده وگیرنده " بصورت سخت افزاری وبرای کنترل ارسال ودریافت داده نصب می گردد.
2 - رسانه انتقال " Transmission Medium "]6]:
رسانه انتقال کامپیوتر ها را به یکدیگر متصل کرده وموجب برقراری ارتباط بین کامپیوتر های یک شبکه می شود . برخی از متداولترین رسانه های انتقال عبارتند از : کابل زوج سیم بهم تابیده " Twisted- Pair" ، کابل کواکسیال " Coaxial" وکابل فیبر نوری "Fiber- Optic" .
سیستم عامل شبکه " NOS- Network Operating System"]7] :
سیستم عامل شبکه برروی سرویس دهنده اجرا می شود و سرویس های مختلفی مانند: اجازه ورود به سیستم "Login" ، رمز عبور "Password" ، چاپ فایل ها " Printfiles"، مدیریت شبکه " Net work management " را در اختیار کاربران می گذارد.
4-1- انواع شبکه از لحاظ جغرافیایی
نوع شبکه توسط فاصله بین کامپیوتر های تشکیل دهنده آن شبکه مشخص می شود:
شبکه محلی " LAN= Local Area Network"]8] :
ارتباط واتصال بیش از دو یا چند رایانه در فضای محدود یک سازمان از طریق کابل شبکه وپروتکل بین رایانه ها وبا مدیریت نرم افزاری موسوم به سیستم عامل شبکه را شبکه محلی گویند. کامپیوتر سرویس گیرنده باید از طریق کامپیوتر سرویس دهنده به اطلاعات وامکانات به اشتراک گذاشته دسترسی یابند. همچنین ارسال ودریافت پیام به یکدیگر از طریق رایانه سرویس دهنده انجام می گیرد. از خصوصیات شبکه های محلی می توان به موارد ذیل اشاره کرد:
1 - اساسا در محیط های کوچک کاری قابل اجرا وپیاده سازی می باشند.
2 - از سرعت نسبتا بالایی برخوردارند.
3 - دارای یک ارتباط دایمی بین رایانه ها از طریق کابل شبکه می باشند.
اجزای یک شبکه محلی عبارتند از :
الف - سرویس دهنده
ب - سرویس گیرنده
ج - پروتکل
د- کارت واسطه شبکه
ط - سیستم ارتباط دهنده
شبکه گسترده " WAN = Wide Area Network" ]9]:
اتصال شبکه های محلی از طریق خطوط تلفنی ، کابل های ارتباطی ماهواره ویا دیگر سیستم هایی مخابراتی چون خطوط استیجاری در یک منطقه بزرگتر را شبکه گسترده گویند. در این شبکه کاربران یا رایانه ها از مسافت های دور واز طریق خطوط مخابراتی به یکدیگر متصل می شوند. کاربران هر یک از این شبکه ها می توانند به اطلاعات ومنابع به اشتراک گذاشته شده توسط شبکه های دیگر دسترسی یابند. از این فناوری با نام شبکه های راه دور " Long Haul Network" نیز نام برده می شود. در شبکه گسترده سرعت انتقال داده نسبت به شبکه های محلی خیلی کمتر است. بزرگترین ومهم ترین شبکه گسترده ، شبکه جهانی اینترنت می باشد.
5-1- ریخت شناسی شبکه " Net work Topology" ]10[
توپولوژی شبکه تشریح کننده نحوه اتصال کامپیوتر ها در یک شبکه به یکدیگر است. پارامترهای اصلی در طراحی یک شبکه ، قابل اعتماد بودن ومقرون به صرفه بودن است. انواع متداول توپولوژی ها در شبکه کامپیوتری عبارتند از :
1 - توپولوژی ستاره ای " Star" ]11]:
در این توپولوژی ، کلیه کامپیوتر ها به یک کنترل کننده مرکزی با هاب متصل هستند. هرگاه کامپیوتری بخواهد با کامپیوتر ی دیگری تبادل اطلاعات نماید، کامپیوتر منبع ابتدا باید اطلاعات را به هاب ارسال نماید. سپس از طریق هاب آن اطلاعات به کامپیوتر مقصد منتقل شود. اگر کامپیوتر شماره یک بخواهد اطلاعاتی را به کامپیوتر شماره 3 بفرستد ، باید اطلاعات را ابتدا به هاب ارسال کند، آنگاه هاب آن اطلاعات را به کامپیوتر شماره سه خواهد فرستاد.
نقاط ضعف این توپولوژی آن است که عملیات کل شبکه به هاب وابسته است. این بدان معناست که اگر هاب از کار بیفتد، کل شبکه از کار خواهد افتاد . نقاط قوت توپولوژی ستاره عبارتند از:
* نصب شبکه با این توپولوژی ساده است.
* توسعه شبکه با این توپولوژی به راحتی انجام می شود.
* اگر یکی از خطوط متصل به هاب قطع شود ، فقط یک کامپیوتر از شبکه خارج می شود.
. توپولوژی ستاره ای
توپولوژی حلقوی " Ring " ]12]:
این توپولوژی توسط شرکت IBM اختراع شد وبهمین دلیل است که این توپولوژی بنام IBM Tokenring " مشهور است.
در این توپولوژی کلیه کامپیوتر ها به گونه ای به یکدیگر متصل هستند که مجموعه آنها یک حلقه را می سازد. کامپیوتر مبدا اطلاعات را به کامپیوتری بعدی در حلقه ارسال نموده وآن کامپیوتر آدرس اطلاعات رابرای خود کپی می کند، آنگاه اطلاعات را به کامپیوتر بعدی در حلقه منتقل خواهد کرد وبهمین ترتیب این روند ادامه پیدا می کند تا اطلاعات به کامپیوتر مبدا برسد. سپس کامپیوتر مبدا این اطلاعات را از روی حلقه حذف می کند.
نقاط ضعف توپولوژی فوق عبارتند از:
*اگر یک کامپیوتر از کار بیفتد ، کل شبکه متوقف می شود.
* به سخت افزار پیچیده نیاز دارد " کارت شبکه آن گران قیمت است ".
* برای اضافه کردن یک ایستگاه به شبکه باید کل شبکه را متوقف کرد.
نقاط قوت توپولوژی فوق عبارتند از :
* نصب شبکه با این توپولوژی ساده است.
* توسعه شبکه با این توپولوژی به راحتی انجام می شود.
* در این توپولوژی از کابل فیبر نوری میتوان استفاده کرد.
. توپولوژی حلقوی
توپولوژی اتوبوسی " BUS"]13]:
در یک شبکه خطی چندین کامپیوتر به یک کابل بنام اتوبوسی متصل می شوند. در این توپولوژی ، رسانه انتقال بین کلیه کامپیوتر ها مشترک است. یکی از مشهورترین قوانین نظارت بر خطوط ارتباطی در شبکه های محلی اترنت است. توپولوژی اتوبوس از متداوالترین توپولوژی هایی است که در شبکه محلی مورد استفاده قرار می گیرد. سادگی، کم هزینه بودن وتوسعه آسان این شبکه ، از نقاط قوت توپولوژی اتوبوسی می باشد. نقطه ضعف عمده این شبکه آن است که اگر کابل اصلی که بعنوان پل ارتباطی بین کامپیوتر های شبکه می باشد قطع شود، کل شبکه از کار خواهد افتاد.
. توپولوژی اتوبوسی
توپولوژی توری " Mesh"]14] :
در این توپولوژی هر کامپیوتری مستقیما به کلیه کامپیوترهای شبکه متصل می شود. مزیت این توپولوژی آن است که هر کامپیوتر با سایر کامپیوتر ها ارتباطی مجزا دارد. بنابراین ، این توپولوژی دارای بالاترین درجه امنیت واطمینان می باشد. اگر یک کابل ارتباطی در این توپولوژی قطع شود ، شبکه همچنان فعال باقی می ماند.
از نقاط ضعف اساسی این توپولوژی آن است که از تعداد زیادی خطوط ارتباطی استفاده می کند، مخصوصا زمانیکه تعداد ایستگاه ها افزایش یابند. به همین جهت این توپولوژی از نظر اقتصادی مقرون به صرفه نیست. برای مثال ، در یک شبکه با صد ایستگاه کاری ، ایستگاه شماره یک نیازمند به نود ونه می باشد. تعداد کابل های مورد نیاز در این توپولوژی با رابطه N(N-1)/2 محاسبه می شود که در آن N تعداد ایستگاه های شبکه می باشد.
شکل 6-1. توپولوژی توری
توپولوژی درختی " Tree" ]15] :
این توپولوژی از یک یا چند هاب فعال یا تکرار کننده برای اتصال ایستگاه ها به یکدیگر استفاده می کند. هاب مهمترین عنصر شبکه مبتنی بر توپولوژی در ختی است : زیرا کلیه ایستگاه ها را به یکدیگر متصل می کند. وظیفه هاب دریافت اطلاعات از یک ایستگاه و تکرار وتقویت آن اطلاعات وسپس ارسال آنها به ایستگاه دیگر می باشد.