Collision Domain به چه معناست؟
واژه Collision به معنای تصادف یا برخورد است؛ Collision Domain بیشتر زمانی مطرح می شود که یک اتفاق خاص در شبکه های اترنت اتفاق میفتد. در واقع تنها زمانی Collision اتفاق میفتد که شبکه شما یک رسانه مشترک یا Shared Media باشد و چندین دستگاه بصورت همزمان داده های خود را در این رسانه ارتباطی ارسال کنند. منظور از Shared Media یا رسانه به اشتراک گذاشته شده یک نوع رسانه ارتباطی است که برای متصل کردن دستگاه های مختلف شبکه به همدیگر استفاده می شود.به عنوان مثال شبکه هایی که از Ethernet HUB در یک توپولوژی قدیمی به نام Bus استفاده می کردند در واقع تنها یک کانال ارتباطی برای ارسال و دریافت سیگنال داشتند و هر دستگاه در شبکه باید از همین کانال اشتراکی برای ارسال و دریافت سیگنال استفاده کند. در توپولوژی هایی مثل Bus که دستگاه ها از Shared Media استفاده می کنند و با استفاده از یک Ethernet Hub به هم متصل می شوند ارتباطات از نوع Half-Duplex یا دو طرفه غیر همزمان برقرار می شود بدین معنا که در لحظه فقط یک دستگاه قادر به ارسال و یک دستگاه قادر به دریافت سیگنال است و دستگاه ها به صورت همزمان نمی توانند سیگنال خود را در شبکه ارسال و یا دریافت کنند. توجه کنید که در چنین توپولوژی هایی ارسال همزمان سیگنال برای چندین دستگاه وجود ندارد.
Collision یا همان تصادف زمانی اتفاق می افتد که دو دستگاه در یک شبکه Ethernet می خواهند بصورت همزمان سیگنال های خودر را ارسال و دریافت کنند و این سیگنال ها قرار است بر روی همان Shared Media ارسال شود ، با توجه به اینکه در Shared Media ها ارسال Full-Duplex یا دو طرفه همزمان وجود ندارد و ارتباطات half-Duplex هستند این فرآیند در این ساختار شبکه پشتیبانی نمی شود و در نهایت Collision در شبکه شما ایجاد می شود؛ در واقع دو سیگنال در لحظه در شبکه ای قرار می گیرند که امکان پشتیبانی در دو سیگنال در لحظه را ندارد. برای جلوگیری از به وجود آمدن Collision در چنین ساختارهایی از الگوریتمی به نام CSMA/CD برای شناسایی و جلوگیری از به وجود آمدن Collision استفاده می شود. البته نباید به collision به عنوان یک مشکل خطرناک نگاه کرد، امروزه Collision به عنوان یک اتفاق عادی در شبکه هایی که بر اساس ساختار Half-Duplex عمل می کنند، شناخته می شود. Collision Domain در واقع به هر Segment از شبکه شما گفته می شود که در آن Collision رخ می دهد که معمولا در شبکه های اترنت است. به زبان دیگر Collision Domain در محدوده همه دستگاه هایی ممکن است رخ دهد که به یک Shared Media متصل شده اند.
برای مثال اگر Arsess-Client1 که یک کامپیوتر در یک شبکه اترنت است برای Arsess-Client2 که کامپیوتری دیگر در شبکه است سیگنالی را ارسال کند و در همان لحظه Arsess-Client3 برای Arsess-Client4 سینگالی ارسال کند، به دلیل همزمانی این ارسال سیگنال تداخلی بین سیگنال ها به وجود می آید که Collision گفته می شود. احتمال بروز Collision با زیاد تر شدن تعداد دستگاه ها در شبکه افزایش پیدا می کند، همچنین با بالا رفتن میزان ترافیک شبکه نیز احتمال بروز Collision بیشتر خواهد شد. هر چقدر تعداد Collision های ما در یک Collision Domain زیاد شود کیفیت سرویس دهی شبکه کمتر خواهد شد زیرا کلاینت ها مجبور هستند بسته های اطلاعاتی خود را مجددا و مجددا ارسال کنند و همین باعث بالا رفتن میزان پردازش کامپیوترها و همچنین ترافیک شبکه می شود. معمولا سویچ های شبکه برای تقسیم کردن یا Segment کردن Collision Domain ها به Collision Domain های کوچکتر مورد استفاده قرار می گیرند، توجه کنید که هر چقدر Collision Domain های ما کوچکتر باشد برای کیفیت سرویس دهی شبکه ما بهتر خواهد بود. هر پورت از پورتهای سویچ های اترنت امروزی به عنوان یک Collision Domain جداگانه در نظر گرفته می شود. به زبان دیگر یک Collision نمی تواند بین دو دستگاه به وقوع بپیوندد که در پورت های مختلف یک سویچ متصل شده اند. امروزه دیگر شما نیازی نیست دغدغه Collision Domain در شبکه خود داشته باشید زیرا دیگر دستگاهی به نام HUB در شبکه ها استفاده نمی شود و کلیه این دستگاه ها جای خود را به Switch داده اند.
Broadcast Domain چیست؟
Broadcast در ارتباطات N به N به ارتباطی گفته میشود که در آن یک دستگاه فرستنده یک کپی از داده هایی که قصد ارسال در شبکه دارد را برای همه دستگاه هایی که در آن Segment شبکه قرار دارند ارسال می کند. توجه کنید که Broadcast یک امر لازم در شبکه های کامپیوتری می باشد و شما نمی توانید از آن صرف نظر کنید، بسیاری از پروتکل های مهم شبکه از قبلی DHCP و ARP و حتی بسیاری از نرم افزارهای کاربردی شبکه وابسته به Broadcast هستند و اگر شما جلوی این سرویس را بگیرید این پروتکل ها و سرویس ها نیز قادر نیستند، در شبکه کار کنند. Broadcast Domain به محدوده یا Segment ای از شبکه گفته می شود که اگر یک دستگاه اطلاعات خود را Broadcast کند در آن Segment همه دستگاه ها این بسته اطلاعاتی را دریافت می کنند. هر سوییچی که بسته Broadcast را دریافت می کند آنرا به تمامی دستگاه هایی که به پورت های خود متصل شده اند ارسال می کند یا بهتر است بگوییم برای همه پورت های خود ارسال می کند؛ زیرا ممکن است در هر پورت سوییچ چندین دستگاه مستقر باشند. توجه کنید که Router ها نیز بسته های Broadcast را دریافت می کنند اما اجازه عبور بسته های Broadcast در روتر داده نمی شود و این بسته ها در اصطلاح Drop می شوند. هر چقدر که تعداد Broadcast های یک شبکه زیاد شود باعث کاهش کارایی شبکه و کیفیت سرویس دهی شبکه می شود، دلایل این اتفاق به شرح زیر می باشد :
- کاهش پهنای باند موجود: با توجه به اینکه سوییچ این ترافیک را در تمامی پورت های خود ارسال می کند اگر تعداد این Broadcast ها زیاد شود ترافیک نرمال شبکه مختل می شود، زیاد شدن Broadcast ها در شبکه باعث کاهش پهنای باند شبکه و استفاده بیهوده از آن می شود زیرا با توجه به زیاد شدن Broadcast ها دیگر ترافیک عادی شبکه نمی تواند عبور داده شود یا حداقل به سختی عبور داده می شود.
- کاهش قدرت پردازشی کامپیوترهای شبکه: با توجه به اینکه هر کامپیوتر نسبت به بسته های اطلاعاتی که در شبکه دریافت می کند عکس العمل نشان می دهد و بر روی آن پردازش انجام می دهد، با زیاد شدن تعداد Broadcast ها در شبکه مقدار زیادی از قدرت پردازشی یا همان CPU کامپیوترها صرف پردازش این ترافیک های بیهوده خواهش شد و در نتیجه کارایی سیستم های شبکه دچار اختلال می شود. توجه کنید که معمولا ترافیک Broadcast به منظور پیدا کردن یا برقراری ارتباط با یک یا چند کامپیوتر می باشد و دلیلی ندارد که همه کامپیوترها این ترافیک را دریافت کنند. برای مثال ترافیکی که برای پیدا کردن DHCP سرور Broadcast می شود را همه کامپیوترها دریافت می کنند اما این تنها DHCP server است که بایستی در این خصوص پاسخگو باشد.
به صورت پیشفرض همانطور که عنوان شد، روتر و دستگاه هایی که در نقش روتر در شبکه ایفای نقش می کنند باعث عدم عبور ترافیک Broadcast می شوند و در اصطلاح باعث بالا رفتن تعداد Broadcast Domain های ما می شوند، هر چقدر تعداد Broadcast Domain در یک شبکه بیشتر باشد باعث کاهش ترافیک های بیهوده در شبکه می شود، برای بالا بردن این تعداد شما می توانید شبکه خود را Segment بندی کنید، Segment بندی شبکه می تواند هم با استفاده از روتر و هم با استفاده از قابلیت VLAN در سوییچ ها پیاده سازی شود.