در این درس، دستگاههای شبکهای را بررسی میکنیم که در لایه ۲ مدل OSI کار میکنند. ما از همان ابتدا شروع میکنیم - معرفی هاب شبکه - و تا دوران مدرن که سوئیچها به طور گستردهای پذیرفتهشدهترین دستگاهها در لایه پیوند داده هستند، پیش میرویم.
لینک آموزش قسمت ششم : https://vrgl.ir/lTnEK

برای اینکه واقعاً بفهمید هاب چیست و چه کاری در شبکه انجام میدهد، بیایید یک مثال ساده را مرور کنیم. تصور کنید یک کامپیوتر شخصی در خانه دارید و میخواهید آن را به یک پرینتر وصل کنید. حالا فرض کنید به دهه ۱۹۸۰ برگشتهایم. Wi-Fi وجود ندارد. چه کار میکنید؟
ساده است — یک کابل از کامپیوتر به پرینتر میکشید، همانطور که در نمودار زیر نشان داده شده است. تمام.

دو دستگاه، یک کابل، و زندگی خوب است. کامپیوتر شما اکنون میتواند با پرینتر ارتباط برقرار کرده و اسناد را برای چاپ ارسال کند. این ابتداییترین شکل یک شبکه است: دو دستگاه مستقیماً به هم متصل شدهاند، با آدرسهای IP در یک زیرشبکه.
حالا، بیایید مثال را کمی گسترش دهیم. فرض کنید سه کامپیوتر شخصی و چند دستگاه دیگر — مانند پرینتر، سرور، و تلفن — دارید. چگونه همه آنها را به هم وصل میکنید؟ اگر به همان منطق قبلی پایبند باشید، باید بین هر کامپیوتر و هر دستگاه یک کابل بکشید، همانطور که در نمودار زیر نشان داده شده است.

اما اکنون چندین مشکل شروع به ظاهر شدن میکنند. برای اینکه آن تنظیمات کار کند، به ۹ کابل نیاز دارید. و هر دستگاه به ۳ پورت شبکه نیاز دارد — یکی برای هر اتصال. اما در زندگی واقعی، بیشتر دستگاهها (کامپیوترها، پرینترها و غیره) فقط یک پورت شبکه دارند. نمیتوانید سه کابل را به یک پورت وصل کنید.
و موارد دیگری هم هست. هر اتصال باید در زیرشبکه IP خود باشد. بنابراین اکنون شما چندین آدرس IP و تنظیمات شبکه را مدیریت میکنید — فقط برای اتصال چند دستگاه.
همانطور که تعداد دستگاهها رشد میکند، اوضاع به سرعت از کنترل خارج میشود. تصور کنید تلاش کنید ۵ کامپیوتر را با استفاده از این روش به ۵ سرور وصل کنید. تعداد کابلها و پیکربندیهای IP به صورت لگاریتمی بالا میرود، همانطور که در نمودار زیر نشان داده شده است.

حالا، تصور کنید که یک دفتر را اداره میکنید و باید دهها یا حتی صدها دستگاه را با استفاده از این رویکرد وصل کنید. واضح است که اصلاً امکانپذیر نیست.
به همین دلیل است که حتی در روزهای اولیه شبکهسازی، مردم متوجه شدند که به راه بهتری نیاز دارند — یک دستگاه مرکزی واحد که بتواند چندین دستگاه را به یک شبکه مشترک متصل کند و به آنها اجازه دهد به راحتی ارتباط برقرار کنند. این منجر به ایجاد هاب شبکه شد.
هاب (Hub) یک دستگاه شبکه ساده است که چندین دستگاه را در یک شبکه محلی (LAN) به هم متصل میکند. هنگام استفاده از هاب، هر دستگاه فقط به یک پورت شبکه و یک کابل برای اتصال به شبکه نیاز دارد. لازم نیست هر دستگاه را مستقیماً به هر دستگاه دیگر وصل کنید، همانطور که در بالا نشان داده شد.
در عوض، همه دستگاهها به هاب متصل میشوند. هاب مانند یک نقطه مرکزی عمل میکند و ساختن یک شبکه کوچک را بسیار سادهتر میکند. شما به سادگی هر دستگاه را به هاب وصل میکنید و به آنها اجازه میدهید ارتباط برقرار کنند، همانطور که در نمودار زیر نشان داده شده است.

هاب اولین گام در ایجاد شبکه محلی (LAN) بود. این یک دستگاه لایه ۱ است، به این معنی که فقط در لایه فیزیکی کار میکند و واقعاً نمیفهمد چه دادههایی را هدایت میکند — فقط سیگنالهای الکتریکی را کپی کرده و به هر پورت ارسال میکند.

برای شبکههای کوچک، هابها خوب کار میکردند. اما با رشد شبکهها و اتصال دستگاههای بیشتر، مشکلات جدیدی شروع به ظاهر شدن کردند. یکی از معایب اصلی هاب این است که تمام دستگاهها را به یک دامنه برخورد (Collision Domain) واحد متصل میکند. برخورد زمانی رخ میدهد که دو دستگاه همزمان داده ارسال کنند و سیگنالهای آنها با یکدیگر تداخل پیدا کنند، همانطور که در نمودار زیر نشان داده شده است.

collision domain بخشی از یک شبکه است که در آن برخورد دادهها میتواند اتفاق بیفتد. این بدان معنی است که اگر دو دستگاه در یک دامنه برخورد سعی کنند همزمان داده ارسال کنند، سیگنالهای آنها با یکدیگر تداخل پیدا میکنند — یک برخورد رخ میدهد. هنگامی که این اتفاق میافتد، دستگاهها متوقف میشوند، صبر میکنند و بعداً دوباره تلاش میکنند. این کار سرعت شبکه را کاهش میدهد.

در یک دامنه برخورد، فقط یک دستگاه میتوانست در یک زمان صحبت کند. هرچه دستگاههای بیشتری اضافه کنید، عملکرد بدتر میشود.
برای درک مفهوم، دامنه برخورد را مانند یک میز شام بزرگ تصور کنید که همه دور آن نشستهاند و میخواهند صحبت کنند. از آنجایی که فقط یک نفر میتواند در یک زمان صحبت کند بدون اینکه باعث سردرگمی شود، همه باید نوبت صحبت کردن را رعایت کنند. اگر دو نفر همزمان صحبت کنند، هیچ کس چیزی نمیفهمد — فقط سر و صدا است. این دقیقاً نحوه عملکرد دستگاهها در یک دامنه برخورد با استفاده از ارتباط نیمهدوطرفه (Half-duplex) است.
حال، اگر فقط تعداد کمی در میز باشند، نوبت گرفتن خوب کار میکند. همه فرصت صحبت کردن پیدا میکنند و گفتگو جریان دارد. اما اگر دهها نفر در یک میز باشند چه؟ نوبت هر فرد کوتاهتر و کوتاهتر میشود. برخی از افراد ممکن است مدت زیادی منتظر بمانند تا چیزی بگویند، و اگر افراد زیادی بخواهند همزمان صحبت کنند، کل ماجرا به هم میریزد. همین اتفاق در یک شبکه با یک دامنه برخورد بزرگ رخ میدهد. با اضافه شدن دستگاههای بیشتر، عملکرد به طور قابل توجهی کاهش مییابد.
برای حل این مشکل، مهندسان یک دستگاه هوشمندتر به نام بریج شبکه اختراع کردند.
بریجها (Bridges) برای کمک به حل مشکل تعداد زیاد دستگاه در یک دامنه برخورد معرفی شدند. یک بریج شبکه محلی را به دو دامنه برخورد تقسیم میکند (از این رو نام "بریج" گرفته شده است). با تقسیم شبکه به دو قسمت، هر طرف دستگاههای کمتری برای رقابت برای ارسال داده داشت. این بدان معنی بود که برخوردهای کمتر و عملکرد بهتر داشتیم.

یک بریج شبکه در لایه ۲ (پیوند داده) کار میکند و اطلاعات موجود در هدر فریم را میخواند. این دستگاه آدرسهای MAC را میفهمد و یک جدول از اینکه کدام دستگاهها در کدام طرف هستند، میسازد. این به بریجها اجازه میدهد تا هدایت انتخابی فریم را انجام دهند و نه فقط تکرار سیگنالهای الکتریکی مانند هاب.

با این حال، بریجها محدودیتهای خود را داشتند. بیشتر آنها فقط دو پورت داشتند، به این معنی که فقط میتوانستند یک شبکه را به دو بخش تقسیم کنند. این فقط یک بهبود ۲ برابری در عملکرد ایجاد میکرد. با این وجود، بریجها به توسعه منطقی کمک کردند که در نهایت منجر به سوئیچ شد — یک نسخه هوشمندتر، سریعتر و مقیاسپذیرتر از بریج با پورتهای زیاد.
در دهه ۱۹۹۰، شبکهها به رشد خود ادامه دادند و سرعت مورد نیاز همچنان افزایش یافت. مردم نیاز داشتند دهها دستگاه را در یک شبکه محلی به هم وصل کنند و به آنها اجازه دهند با سرعت بالا ارتباط برقرار کنند. هاب و بریج به سادگی قادر به ارائه عملکرد مورد نیاز برای اتصال بسیاری از دستگاهها نبودند. این منجر به ایجاد سوئیچ شد.
در حالی که بریجها فقط میتوانستند یک شبکه را به دو دامنه برخورد تقسیم کنند، هر پورت یک سوئیچ یک دامنه برخورد جداگانه است، همانطور که در نمودار زیر نشان داده شده است.

هر دستگاه متصل به یک سوئیچ دامنه برخورد خاص خود را دریافت میکند، بنابراین در هنگام ارسال داده با یکدیگر تداخل نمیکنند. این باعث میشود شبکه بسیار مقیاسپذیرتر و کارآمدتر باشد، به ویژه با اضافه شدن دستگاههای بیشتر.
سوئیچ شبکه در لایه ۲ مدل OSI کار میکند و از آدرسهای MAC برای تصمیمگیری در مورد ارسال داده استفاده میکند. هنگامی که دستگاهی داده ارسال میکند، سوئیچ به آدرس MAC مقصد نگاه میکند و داده را فقط به دستگاه صحیح هدایت میکند، نه به همه. این کار باعث صرفهجویی در پهنای باند و کاهش ترافیک غیرضروری میشود.

هر دستگاه متصل به یک سوئیچ دامنه برخورد خاص خود را دارد، بنابراین چندین دستگاه میتوانند همزمان داده ارسال کنند بدون اینکه با یکدیگر تداخل داشته باشند. این باعث میشود سوئیچها بسیار سریعتر و هوشمندتر از دستگاههای قدیمی مانند هاب باشند.
عملکرد اصلی یک سوئیچ شبکه این است که چندین دستگاه را در یک شبکه محلی (LAN) به هم متصل کند و دادهها را فقط به دستگاه خاصی که برای آن در نظر گرفته شده است، هدایت کند. این کار را با خواندن هدر اترنت فریمها، یادگیری آدرسهای MAC دستگاههای متصل و ساختن یک جدول آدرس MAC انجام میدهد. سپس، فریمها را مستقیماً مطابق با جدول آدرس MAC به پورت صحیح ارسال میکند. این کار سرعت را بهبود میبخشد، برخوردها را کاهش میدهد و به دستگاهها اجازه میدهد تا به طور کارآمد ارتباط برقرار کنند.

درک این نکته ضروری است که از دیدگاه دستگاههای نهایی، سوئیچها نامرئی هستند. میتوانید سوئیچ را مانند یک چندراهی برق در نظر بگیرید—پورتهای بیشتری به شما میدهد، اما با خود ترافیک تداخلی ایجاد نمیکند. دستگاههایی مانند کامپیوترها، پرینترها یا تلفنهای IP مستقیماً با سوئیچ تعامل ندارند و حتی نمیدانند که وجود دارد. به همین دلیل است که در بیشتر نمودارهای سطح بالا، سوئیچها به صورت خطوطی ترسیم میشوند که یک زیرشبکه را نشان میدهند، همانطور که در نمودار زیر نشان داده شده است.

از دیدگاه دستگاه، آن صرفاً دادهها را از آدرس IP خود به یک آدرس IP راه دور ارسال میکند. دستگاه نیازی به دانستن نحوه رسیدن دادهها به آنجا ندارد — فقط کار میکند. سوئیچ وظیفه دریافت فریم، بررسی آدرس MAC و هدایت آن به پورت صحیح را انجام میدهد، همه اینها در پشت صحنه اتفاق میافتد.
نکته کلیدی: برای دستگاههای نهایی، سوئیچها نامرئی هستند. یک دستگاه نهایی از آدرس IP خود به یک آدرس IP راه دور ارتباط برقرار میکند.
سوئیچها فریمها را خارج از کپسولهسازی و دوباره کپسولهسازی نمیکنند. آنها در ارتباط شفاف هستند. به همین دلیل است که در بسیاری از نمودارهای شبکه، سوئیچها حتی نشان داده نمیشوند. در عوض، یک خط واحد با برچسب "اترنت" یا "VLAN" برای نشان دادن اتصال بین دستگاهها استفاده میشود، زیرا سوئیچ بر نحوه صحبت دستگاهها با یکدیگر در لایه IP تأثیری نمیگذارد.
در نهایت، بیایید به نقشهای مختلفی که یک سوئیچ میتواند در طراحی شبکه مدرن، به ویژه در محیطهای سازمانی، ایفا کند، بپردازیم. سوئیچها در سه لایه اصلی استفاده میشوند: دسترسی (Access)، توزیع (Distribution)، و هسته (Core). هر لایه نقش متفاوتی دارد و بسته به سرعت، ویژگیها و تعداد پورتها از انواع مختلفی از سوئیچها استفاده میکند.

سوئیچهای لایه دسترسی در لبه شبکه قرار دارند. آنها مستقیماً به دستگاههای نهایی مانند کامپیوترها، پرینترها، تلفنها و نقاط دسترسی بیسیم متصل میشوند. وظیفه اصلی آنها فراهم کردن اتصال و اجرای سیاستهای شبکه پایه مانند تخصیص VLAN یا امنیت پورت است. این سوئیچها معمولاً پورتهای زیادی و گاهی اوقات Power over Ethernet (PoE) برای تأمین برق دستگاههای متصل ارائه میدهند.
سوئیچهای لایه توزیع بین لایههای دسترسی و هسته قرار میگیرند. آنها ترافیک را از چندین سوئیچ دسترسی جمعآوری میکنند و بر اساس سیاستها تصمیمات هدایت میگیرند. اینجاست که توابعی مانند مسیریابی بین VLAN (Inter-VLAN Routing)، کیفیت سرویس (QoS)، و لیستهای کنترل دسترسی (ACLs) معمولاً اعمال میشوند. این سوئیچها اغلب از قابلیتهای لایه ۳ پشتیبانی میکنند و قویتر از سوئیچهای دسترسی هستند.
سوئیچهای لایه هسته ستون فقرات شبکه را تشکیل میدهند. نقش اصلی آنها جابجایی مقادیر زیادی داده به سرعت و به طور قابل اعتماد در سراسر شبکه، مانند بین ساختمانها، مراکز داده یا مکانهای پردیس، است. این سوئیچها برای سرعت، دسترسی بالا و افزونگی بهینهسازی شدهاند. آنها اغلب با سرعتهای بسیار بالا (۱۰G، ۴۰G یا ۱۰۰G) کار میکنند و از مسیریابی لایه ۳ پشتیبانی مینمایند.
هر یک از این نقشهای سوئیچ از مقیاسپذیری، عملکرد و قابلیت مدیریت شبکههای بزرگ پشتیبانی میکند، با مسئولیتهای واضح در لایههای مختلف سلسله مراتب شبکه.
در این درس، تکامل دستگاههای لایه ۲ را بررسی کردیم، از هابها شروع شد، از بریجها عبور کرد و سرانجام به سوئیچهای مدرن رسید.

هابها اولین راه برای اتصال چندین دستگاه در یک شبکه بودند، اما محدودیتهای عمدهای داشتند. همه دستگاهها یک دامنه برخورد مشترک داشتند، به این معنی که فقط یک دستگاه میتوانست در یک زمان داده ارسال کند. با اضافه شدن دستگاههای بیشتر، عملکرد کاهش مییافت. به طور خلاصه:
در لایه ۱ (لایه فیزیکی) کار میکند.
تمام دادهها را به تمام پورتها هدایت میکند.
یک دامنه برخورد بزرگ ایجاد میکند.
فاقد هوشمندی؛ یادگیری آدرس MAC ندارد.
فقط ارتباط نیمهدوطرفه دارد.
دیگر استفاده نمیشود.
بریجها این مشکل را با تقسیم یک شبکه به دو دامنه برخورد کوچکتر، کاهش ترافیک و برخوردها، بهبود بخشیدند. آنها آدرسهای MAC را میفهمیدند و دادهها را هوشمندانهتر از هابها هدایت میکردند، اما هنوز به فقط دو پورت محدود بودند. به طور خلاصه:
در لایه ۲ (لایه پیوند داده) کار میکند.
دو بخش شبکه را به هم متصل میکند.
با تقسیم شبکه، برخوردها را کاهش میدهد.
برای هدایت انتخابی فریمها، آدرسهای MAC را یاد میگیرد.
محدود به ۲ پورت (معمولاً).
دیگر استفاده نمیشود - با سوئیچها جایگزین شده است.
سوئیچها این مشکلات را با دادن دامنه برخورد خاص خود به هر دستگاه متصل، از بین بردن برخوردها و بهبود سرعت و مقیاسپذیری، حل کردند. یک سوئیچ از آدرسهای MAC برای هدایت دادهها فقط به دستگاه صحیح استفاده میکند، نه به همه، که ارتباط را بسیار کارآمدتر میسازد. به طور خلاصه:
در لایه ۲ کار میکند (برخی از لایه ۳ نیز پشتیبانی میکنند).
هر پورت یک دامنه برخورد خاص خود است.
آدرسهای MAC را یاد میگیرد و فریمها را هوشمندانه هدایت میکند.
از ارتباط تمامدوطرفه (Full-duplex) پشتیبانی میکند.
مقیاسپذیر، سریع و به طور گستردهای در شبکههای مدرن استفاده میشود.
برای دستگاههای نهایی، سوئیچها نامرئی هستند. آنها با ارتباط تداخلی ایجاد نمیکنند — آنها به سادگی فریمها را در پشت صحنه هدایت میکنند. به همین دلیل است که در بیشتر نمودارهای شبکه، سوئیچها اغلب به صورت یک خط نشان داده میشوند یا اصلاً نشان داده نمیشوند.