در شبکههای رایانهای پیش از تبادل داده، نخست باید مبدا و مقصد دادهها مشخص شود. گاهی یکی از گرههای شبکه برای تنها یک گره و گاهی برای چندین گره داده میفرستد. گاهی نیز چند گره همزمان با هم داده تبادل میکنند. لذا بسته به نوع ارتباط مبدا با مقصد، تبادل داده در شبکههای رایانهای را میتوان چنین دستهبندی کرد:
- Broadcast
- Unicast
- Multicast
- Anycast
- Geocast
توجه: در پیکربندیهای فوق، گره مبدا اغلب سرور و گره مقصد اغلب کلاینت است، زیرا در شبکههای رایانهای مبتنی بر سرور و کلاینت، کلاینتها دادههایی را از سرور درخواست میکنند و سرورها با ارسال دادههای درخواستی (در صورت امکان) به درخواست کلاینتها پاسخ میدهند. در چنین ساختاری سرورها مبدا یا فرستنده هستند و کلاینتها مقصد یا گیرندهاند.
انتشار یا برودکست (Broadcast) چیست؟
«انتشار» یا برودکست را شاید بتوان «همهپخشی» نیز نامید، زیرا در ارسال داده بهشیوه broadcast، گره مبدا بستههای داده را برای تمام دیگر گرههای شبکه متبوعش ارسال میکند. حتی اگر فقط یکی از گرههای شبکه، گیرنده واقعی پیغام باشد نیز پیغام بین تمام دیگر گرهها توزیع میشود. در شبکههای broadcast رابطه مبدا و مقصد رابطه یکبههمه است.
اگر بخواهید داده خاصی را برای تمام گرههای یک شبکه ارسال کنید، برودکست شیوه سریع و مقرونبهصرفهای است. برای مثال، سازمانی که میخواهد برای تمام رایانههای متصل به شبکه محلیاش پیغام خاصی بفرستد، میتواند پیغام مذکور را بهراحتی از طریق سرور روی تمام رایانهها توزیع کند.
اما در شبکههایی که هر بار فقط یک یا چند گره معدود گیرنده واقعی پیغام هستند، انتشار (broadcasting) شیوه ناکارآمدی است، زیرا ترافیک سنگین و بیهودهای به شبکه تحمیل میکند. هر چه شبکه بزرگتر باشد، این مشکل حادتر میشود. به همین علت، انتشار یا broadcast عملا در اینترنت کاربردی ندارد. ضعف دیگر ارتباط broadcast امنیت شکننده آن است. با توجه به اینکه در ارتباط broadcast همه گرههای یک زیرشبکه (subnet) یا شبکه محلی (LAN) تمام پیغامهای ارسالی بین گرهها را میبینند، دستیابی غیرمجاز به دادهها برای مهاجمان احتمالی آسانتر خواهدبود. برودکست سادهترین و کمبازدهترین شیوه ارسال داده است.
برای تبادل داده بهشیوه انتشار یا برودکست، شبکههای اترنت مبتنی بر هاب (Hub) را میتوان مثال زد. هاب دستگاهی است که گرههای یک شبکه محلی را در یک نقطه به هم متصل میکند و شبکهای با همبندی فیزیکی ستارهای پدید میآورد. وقتی یکی از گرههای شبکه بخواهد برای گره یا گرههای دیگر دادهای بفرستد، آن را از طریق هاب به مقصد میرساند. اما چون هاب نمیتواند آدرس مقصد داده را بخواند، وقتی از گره مبدا دادهای دریافت میکند، آن را تکثیر میکند و به تمام دیگر گرههای شبکه میفرستد. البته نهایتا فقط گیرنده واقعی که آدرسش با آدرس مقصد مندرج در بسته داده یکی است، میتواند پیغام را بخواند.
تصویر 1. ارسال داده بهروش انتشار یا broadcast
نمونه دیگری از ارتباط broadcast را در شبکههای وایفای میتوان یافت. مثلا وقتی مودمروتر بیسیم خانگیتان را روشن میکنید، شبکه بیسیم شما، خود را به تمام تجهیزات وایفای که در بردش هستند معرفی یا اصطلاحا برودکست میکند. بههمین ترتیب، دیگر شبکههای وایفای در همسایگی شما نیز چنین میکنند و بههمین علت گاهی علاوه بر نام شبکه بیسیم خودتان، نام شبکههای بیسیم دیگری نیز گوشه نمایشگر لپتاپ یا گوشیتان به نمایش درمیآید. شبکههای بیسیم برای این منظور، نامشان را که اصطلاحا به آن SSID میگویند، به تجهیزات وایفای اطرافشان اعلام (برودکست) میکنند تا تجهیزات وایفای راحتتر بتوانند شبکه بیسیم مجاورشان را پیدا کنند. اما همین تمهید، تهدیدهایی نیز در پی دارد و لذا توصیه میشود جز در مواقع ضروری، گزینه اعلام عمومی SSID را در روترهای وایفای خاموش و اصطلاحا آن را مخفی کنید. در اینصورت، دستکم مهاجمان ناشناس به وجود شبکه وایفای شما در مجاورتشان پی نخواهندبرد. با اینکار فقط تجهیزاتی میتوانند به یک شبکه مخفی متصل شوند که نام شبکه شما را بدانند.
مزایای Broadcast
- پیغامها همزمان به تمام گرهها در دامنه انتشار (برودکست) ارسال میشود.
- در مواقعی که لازم باشد یک پیغام با تمام دیگر گرههای شبکه به اشتراک نهاده شود، انتشار (برودکست) راهکار باصرفه و موثری است.
- پیادهسازی ارتباط برودکست آسان است.
معایب Broadcast
- شبکههای مبتنی بر آدرسهای IPv6 از رتباط برودکست پشتیبانی نمیکنند.
- اگر در شبکهای فقط برخی از گرهها متقاضی واقعی پیغام باشند، استفاده از شیوه انتشار (broadcast) پهنای باند شبکه را هدر میدهد.
تکپخشی یا یونیکست (Unicast) چیست؟
در ارتباط تکپخشی یا Unicast، به هر گره آدرس آیپی منحصربهفردی اختصاص مییابد و هر بار فقط یک گره مبدا (فرستنده) و یک گره مقصد (گیرنده) دارید. بسیاری از تبادلات داده در اینترنت بهشیوه تکپخشی یا unicast انجام میشود. مثلا وقتی میخواهید صفحه خاصی از یک وبسایت را باز کنید، با کلیک روی پیوند مربوطه، درخواستتان را برای سرور میزبان سایت میفرستید. سرور میزبان، درخواست شما را پردازش میکند و صفحهای را که خواستهاید به مرورگر رایانهتان میفرستد. حتی اگر دهها کاربر دیگر نیز همان صفحه سایت را از سرور درخواست کنند، سرور درخواست آنها را جداگانه بررسی و دادهای درخواستیشان را جداگانه ارسال میکند. ارتباط unicast، ارتباطی یکبهیک است و در آن میتوان از پروتکلهایی مانند TCP و UDP بهره برد.
برای نحوه انتقال داده بهشیوه unicast شبکههای مبتنی بر سوئیچ را میتوان مثال زد. برخلاف هاب که دادهها را بین تمام گرههای شبکه منتشر (broadcast) میکند، سوئیچ میتواند آدرس مقصد دادهها را بخواند و دادهها را مستقیما از گره مبدا به گره مقصد بفرستد. البته سوئیچها از ارتباط برودکست و مولتیکست نیز (که در ادامه توضیح داده خواهدشد) پشتیبانی میکنند.
ارتباط unicast در مقایسه با ارتباط broadcast، کارآمدتر و امنتر است و در شبکههایی که چندین گره دادههای مشابهی درخواست میکنند، بازده چندانی ندارد. با این حال، اکثر ارتباطات اینترنتی بهجهت ملاحظات خاص کاربردی و امنیتی بهروش تکپخشی (یونیکست) انجام میشود.
تصویر 2. ارسال داده بهروش تکپخشی یا Unicast
مزایای Unicast
- یونیکست بین دو گره شبکه ارتباط اختصاصی و نقطه به نقطه ایجاد میکند که امنیت بیشتری دارد. زیرا دادهها فقط با گرهای که گیرنده واقعی است به اشتراک نهاده میشود.
معایب Unicast
- اگر لازم است که یک پیغام را به چند گره بفرستید، این شیوه کارآمد نیست. در پیکربندی unicast اگر چندین گره داده یکسانی درخواست کنند، درخواست هر کدام از آنها جداگانه پاسخ داده میشود. لذا افزایش تعداد کلاینتها و درخواستها سرور و پهنای باند شبکه را با فشار مضاعفی مواجه میکند. بههمین علت در شبکههای محلی با منابع نسبتا محدود، اگر لازم است که دادههای یکسانی برای گرههای متعدد ارسال شوند، unicast شیوه پربازدهای نخواهدبود.
چندپخشی یا مولتیکست (Multicast) چیست؟
چندپخشی یا Multicast تقریبا ترکیبی از مزایای unicast و broadcast را یکجا ارائه میدهد. در ارتباط multicast همه گرههای مقصد، در گروهی موسوم به «گروه مولتیکست» جای میگیرند و گره مبدا دادههای درخواستی را همزمان برای همه اعضای گروه ارسال میکند. در گروه مولتیکست، همه گرهها داده یکسانی را از مبدا درخواست میکنند. برای استفاده از فناوری multicast ، پروتکلهای سازگار با این فناوری باید در روترهای شبکه فعال شده باشند.
برای تفکیک گرههای متقاضی دریافت ترافیک multicast از سایر گرههای شبکه، به آنها آدرسهای آیپی کلاس D اختصاص مییابد. بدینوسیله گرههای multicast را میتوان در گروه ویژهای موسوم به گروه مولتیکست جای داد و از دیگر گرهها تفکیکشان کرد. گره مبدا عضو گروه نیست. گرههای مقصد نیز بسته به نیازشان میتوانند به گروه بپیوندند یا از آن بیرون بروند. در استاندارد IPv4، برای آدرسدهی به گروه مولتیکست از آدرسهای آیپی کلاس D استفاده میشود که برای این منظور روزر شدهاند و دامنه آنها از 224.0.0.0 تا 239.255.255.255 است. در استاندارد جدیدتر IPv6، آدرس گروه مولتیکست با پیشوند FF00::/8 آغاز میشود.
پخش ویدیوی آنلاین در شبکه محلی از مناسبترین حوزههای کاربردی برای فناوری چندپخشی (multicast) است. برای این منظور گرههای متقاضی دریافت ویدیو در گروه مولتیکست جای میگیرند و سرور ویدیو را تنها یکبار و از طریق کانالی واحد به گروه میفرستد. سپس ویدیو بین اعضای گروه پخش میشود. برخلاف broadcast که در آن، به جز یک یا چند گره خاص، دیگر گرهها اغلب گیرنده واقعی نیستند، در multicast تمام گرههایی که بسته را دریافت کردهاند، متقاضی واقعی آن هستند.
تصویر 3. ارسال داده بهروش چندپخشی یا Multicast
مزایای Multicast
- پیغامها فقط به گرههایی که گیرنده واقعی هستند و در یک گره جای گرفتهاند ارسال میشود.
- از کانال ارتباط بهطور بهینه استفاده میشود.
معایب Multicast
- ایجاد گروه مولتیکست خود کاری اضافه میطلبد.
- پیادهسازی آن پیچیده است.
انیکست (Anycast) چیست؟
در فناوری یکازچندپخشی یا Anycast به گروهی از سرورها آدرس آیپی واحدی اختصاص مییابد. وقتی درخواست کاربران به گروه ارسال میشود، هر عضوی از گروه یعنی هر سروری که به گره درخواستدهنده نزدیکتر است یا با هزینه کمتری میتواند به درخواست پاسخ دهد، برای این کار انتخاب میشود. در فناوری anycast فاصله فیزیکی همیشه معیار انتخاب سرور نیست. معیار انتخاب گره پاسخگو به اولویتهای تعریف شده در شبکه بستگی دارد. مثلا ممکن است شرایط فیزیکی یا میزان ازدحام در سرورها معیار انتخابشان باشد. در پیکربندی anycast روترها میتوانند بهطور پویا بهترین مقصد را برای ارسال بستههای داده انتخاب کنند.
جالب آنکه در فناوریهای broadcast و unicast و multicast معمولا سرور در پی یافتن گرههای مقصد (کلاینت) است. اما هدف anycast اغلب یافتن بهترین سرور جهت پاسخگویی به درخواست کلاینتها است. لذا در ارتباطات anycast منظور از گره مقصد معمولا گره یا سروری است که باید به درخواست کلاینت پاسخ دهد. مثلا تصور کنید که کاربر وبسایتی هستید و دادهای را از سرورهای سایت درخواست میکنید. ممکن است داده مذکور روی چند سرور کپی شده باشد. با بهرهگیری از فناوری anycast سروری که به شما نزدیکتر است یا راحتتر میتواند به درخواستتان پاسخ دهد، داده را برایتان میفرستد.
تصویر 4. طبق پیکربندی Anycast، هر دو سرور آدرس آیپی یکسانی گرفتهاند (در این مثال، آدرس 8.8.8.8 که متعلق به سرور نام دامنه گوگل است). در این شبکه فرضی، چون سرور سمت چپ به رایانه کاربر نزدیکتر است، برای پاسخگویی به درخواست کاربر انتخاب میشود.
برخی از عواملی که در فناوری Anycast میتوانند معیار تعیین گره مقصد باشند:
- ازدحام در گره (Congestion): بازده شبکه نیز مانند سرعت خودروهایی که در بزرگراه حرکت میکنند، تحت تاثیر مقدار ترافیک هر یک از مسیرهاست. با استفاده از anycast سروری که مسیرش ازدحام کمتری دارد، برای پاسخگویی به درخواست کاربر انتخاب میشود.
- سلامت گره: سروری که زیادی مشغول است، ممکن است در پاسخگویی به درخواستهای کاربر، کند شود. در فناوری anycast سروری که سرش خلوتتر است اصطلاحا سالمتر در نظر گرفته میشود و میتواند برای پاسخگویی به درخواست کلاینت انتخاب شود.
- مکان جغرافیایی گره: اگر سرور خاصی از نظر جغرافیایی نزدیک گره درخواستکننده باشد، ترافیک شبکه فاصله فیزیکی کمتری میپیماید و نتیجتا درخواست سریعتر پاسخ داده میشود. این نوع مسیریابی را مسیریابی Geocast نیز مینامند.
- هزینه استفاده از گره: گاهی هزینه استفاده از برخی سرورها بیش از دیگر سرورهاست. در اینصورت در فناوری anycast میتوان کمهزینهترین سرور را برای پاسخ به درخواست کاربر برگزید.
تصویر 5. ارسال داده به نزدیکترین گره یا ارسال داده بهروش Anycast
در پیکربندی anycast از پروتکل دروازه مرزی یا BGP (مخفف Border Gateway Protocol) استفاده میشود. پروتکل BGP اطلاعات مسیریابی و دسترسیپذیری را بین سامانههای خودگردان به مبادله میکند (سامانه خودگردان یک یا چند شبکه است که همگی مدیریت واحدی دارند). پروتکل BGP دادهها را بسته به مسیرها، سیاستها و قوانین شبکه مسیریابی میکند.
مزایای Anycast
- در فناوری anycast پاسخگویی بهینه و با هزینه کمتر اولیت دارد.
- ارتباط anycast نسبتا امنتر است، زیرا داده (درخواست) تنها برای یکی از گرههای مقصد (سرور) ارسال میشود و آن گره متعاقبا درخواست واصله را پاسخ میدهد.
- چون در anycast نزدیکترین یا مناسبترین گره به درخواست پاسخ میدهند، زمان پاسخگویی سرور به کلاینت کاهش مییابد.
- در anycast چندین سرور با آیپی مشابه در شبکه مشغول کارند که به بهبود افزونگی منجر میشود. اگر یکی از سرورها از کار بیافتد یا مورد حمله واقع شود، ترافیک شبکه بهسمت نردیکترین یا مناسبترین سرور بعدی هدایت میشود.
- در حملات منع دسترسی (DDoS)، باتنتها به رایانههای unicast ترافیک سنگینی تحمیل میکنند. اما در پیکربندی anycast هر سرور میتواند بخشی از حمله را جذب کند تا شدت کلی حمله بر شبکه کاهش یابد.
- اگر فاصله چند سرور از داده درخواستی یکسان باشد، منابع شبکه بین آنها پخش و به تعادلبخشی (Load balancing) در شبکه منجر میشود.
معایب Anycast
- در پیکربندی anycast پیدا کردن نزدیکترین گره، نوعی مسیریابی است و کاری مضاف بر کارهای دیگر را بر عهده روتر و شبکه مینهد. پیادهسازی IP Anycast کاری پیچیده و نیازمند سختافزارها، مسیریابی صحیح ترافیک و برخی ملاحظات دیگر است.
ژئوکست (Geocast) چیست؟
ارسال داده بر حسب منطقه جغرافیایی یا اصطلاحا ژئوکست (Geocast) شیوهای برای مسیریابی دادهها در اینترنت است. در ارسال داده بهروش ژئوکست (geocast)، روترها گره مقصد (مثلا سرور) را بسته به مکان جغرافیایی آن و مسافتی که دادهها باید از مبدا (مثلا کلاینت) تا مقصد و بالعکس بپیمایند انتخاب میکنند، زیرا هرچه دادهها فاصله فیزیکی کمتری بپیمایند، درخواست کاربر سریعتر پاسخ داده میشود. فناوری geocast نیز از این حیث شبیه anycast است، زیرا در geocast نیز مانند anycast گره مقصد معمولا سروری است که باید به درخواست کلاینت پاسخ دهد.
مثلا تصویر کنید که یک وبسایت روی سرورهایی در ایران و نسخهای مشابه از آن نیز روی سرورهایی در تاجیکستان میزبانی میشود (افزونگی). اگر کاربری که ساکن عراق است بخواهد از آن سایت بازدید کند، از حیث فاصله جغرافیایی، دسترسی او به سرورهای ایرانی سریعتر خواهدبود و لذا طبق شیوه ژئوکست (geocast) صفحههای وب درخواستی کاربر را سرورهای مستقر در ایران پاسخ خواهندداد. برای این منظور، روترها یا سوئیچها طوری پیکربندی میشوند که ترافیک درخواستی کاربر را بهسمت سرورهای ایران هدایت کنند.
مثالی برای بیان تفاوت عملکرد Unicast و Broadcast و Multicast
در پایان برای روشنتر شدن تفاوت روشهای ارتباطی broadcast و unicast و multitask مثالی ذکر میشود. آموزشگاهی را تصور کنید که راس ساعت مشخصی میخواهد برای دانشآموزان یکی از کلاسهای خود ویدیوی آموزشی پخش کند. ویدیوها از ویدیوسرور (Video server) پخش میشوند و دانشآموزان میتوانند آن را در رایانههایشان دریافت کنند. ویدیوسرور گره مبدا و رایانههای دانشآموزان گرههای مقصدند. ارتباط باید طوری تنظیم شود که فقط رایانههای آن کلاس ویدیو را دریافت کنند.
در صورت استفاده از پیکربندی تکپخشی یا Unicast: در پیکربندی unicast، سرور با هر یک از گرههای مقصد کانال ارتباطی مجزایی ایجاد میکند. لذا مثلا اگر 10 دانشآموز در کلاس حضور داشته باشند، ویدیوسرور ناچار است 10 نسخه از ویدیوی مفروض را همزمان برای 10 رایانه بفرستد. این پیکربندی بار پردازشی سرور را افزایش میدهد و پهنای باند زیادی مصرف میکند. با افزایش شمار دانشآموزان این هزینهها نیز بیشتر و بیشتر میشود. با اینکه اکثر خدمات اینترنت بهصورت unicast به کاربران ارائه میشود، اما استفاده از این پیکربندی در شبکههای محلی باصرفه نیست.
در صورت استفاده از پیکربندی انتشار یا Broadcast: در پیکربندی broadcast، سرور فقط یکبار ویدیو را به شبکه میفرستد و سپس آن ویدیو بین تمام گرههای شبکه توزیع میشود. برودکست از این حیث راهکار باصرفهتر و سریعتری است زیرا بار پردازشی کمتری دارد و پهنای باند بسیار کمتری مصرف میکند. اما عیب broadcast این است که رایانههای کلاس مفروض را از دیگر رایانههای شبکه آموزشگاه متمایز نمیکند و دادههای ویدیویی را به تمام گرههای شبکه میفرستد.
در صورت استفاده از پیکربندی چندپخشی یا Multicast: پیکربندی multicast تقریبا ترکیبی از مزایای هر دو پیکربندی پیشین را یکجا ارائه میدهد و لذا در اینگونه موارد شیوه پربازدهتری است. در پیکربندی multicast، سرور برای همه گرههایی که عضو گروه مولتیکست شدهاند، فقط یکبار داده میفرستد و سپس آن داده، بین اعضای گروه مولتیکست توزیع میشود. به گروه مولتیکست یک آدرس آیپی اختصاص مییابد و هر گرهای که متقاضی دریافت داده باشد، به گروه میپیوندد.
در پیکربندی multicast فقط از آدرسهای آیپی رزرو شده کلاس D استفاده میشود. دامنه این آدرسها از 224.0.0.0 تا 239.255.255.255 است. این آدرسها فقط به گرههای مقصد اختصاص مییابند اما برای گره مبدا (در اینجا سرور) به کار نمیرود. گره مبدا یا سرور ویدیوی آموزشی را به گرههای مقصد میفرستد. روترهای شبکه برای مسیریابی ترافیک multicast از پروتکلهایی مثل IGMP (مخفف Internet Group Management Protocol) بهره میبرند. گرههای مقصد نیز با کمک پروتکل IGMP به روتر میگویند که خواهان دریافت کدام دادههای multicast هستند.
پس گرههای مقصد با کمک پروتکل IGMP دادههای درخواستیشان را به روتر میشناسانند و روتر نیز فریمهای داده را بهسمت گرههای مقصد هدایت میکند. فریمهای مذکور به سوئیچ شبکه میرسند تا از طریق سوئیچ بین گرههای multicast توزیع شوند. اما سوئیچها برای تشخیص مقصد فریمها، آدرس مک مقصد فریم را بررسی میکنند. اما با توجه به اینکه گفته شد در پیکربندی multicast فقط گرههای مقصد آدرس multicast دارند، سوئیچ چگونه باید مقصد فریمها را تشخیص دهند؟ سوئیچ شبکه برای رفع مشکل یادشده از نوعی شنود موسوم به IGMP snooping بهره میبرد.
تصویر 6. گرههای 1 و 3 عضو گروه مولتیکست هستند. روتر ویدیوی دریافتی از سرور را با کمک پروتکل IGMP بهسمت گروه مولتیکست هدایت میکند. سپس سوئیچ با بهرهگیری از نوعی شنود موسوم به IGMP snooping گرههای عضو گوره مولتیکست را تشخیص میدهد و ویدیوی دریافتی از روتر را بین آنها توزیع میکند.
سوئیچ با استفاده از IGMP snooping، پیغامهای IGMP را که بین روترها و گرهها مبادله میشود، شنود میکند تا بداند ترافیک multicast را کجا باید هدایت کند. با این شیوه، روتر به سوئیچ اطلاع میدهد که دادههای multicast را باید کجا بفرستد. (سیسکو نیز برای این منظور پروتکلی اختصاصی موسوم به CGMP (مخفف Cisco Group Management Protocol) دارد اما کمتر رایج است.) علاوه بر تمهیدات فوق یکی از پروتکلهای مسیریابی multicast نیز لازم است تا ترافیک multicast را در شبکه مسیریابی کند.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟