سوئیچ یک دیوایس هوشمند هستش،سوئیچ دیواسی هست که توی access layer  استفاده میشه، مانند هاب چندین host رو به شبکه متصل میکنه. سوئیچ بر خلاف هاب یک message رو فقط به مقصد مورد نظر ارسال میکنه ، زمانیکه یک host  یک message  رو به Host دیگه که متصل به switch  هست ارسال میکنه، Switch فریم رو Accept  و Decode  میکنه که بتونه physical (MAC) address  رو بخونه.

 

توی Switch  یک Table وجود داره که بهش MAC address table  گفته میشه، که شامل لیستی از تمام پورت های Active و MAC address ، host  هایی هست که بهش متصل هستند، وقتی که یک Message  بین host ها ارسال میشه، سوئیچ MAC address table  خودش رو نگاه میندازه و چک میکنه اگه MAC Address  مقصد وجود داشت، سوئیچ یک کانکشن موقت بین پورت مبدا و مقصد ایجاد میکنه که بهش circuit  گفته میشه، این circuit جدید یک channel  اختصاصی رو ارائه میده که هر دو host  بتونن با هم ارتباط برقرار(communicate) کنن.

 

دیگر host  های متصل به این سوئیچ پهنای باندی که به این channel اختصاص داده شده رو نمیتوند share  کنن، همچنین messages های رو نمیتونن دریافت کنن چون اونا مخاتبش نیستن.

در واقع برای هر مکالمه (conversation) بین host  ها یک circuit جدید ایحاد میشه. این circuit های جداگانه اجازه می دهند بسیاری از مکالمات همزمان انجام بشه ، بدون اینکه درگیری(collisions) رخ بده.

 

چه اتفاقی میفته وقتی سوئیچ یک frame رو دریافت می کنه که خطاب به یک host جدید هست و MAC address اون رو توی MAC address table  خودش نداره ؟

اگه MAC address  مقصد رو توی Table خودش نداشته باشه، در نتیجه سوئیچ اطلاعات لازم برای ایجاد یک circuit مجزا رو نداره، وقتی سوئیچ نتونه مشخص کنه مقصد host  کجا قرار داره از روندی به نام flooding برای ارسال message به همه پورت های متصل به خودش استفاده میکنه، هر host، destination MAC address  درون message  رو با MAC address  خودش مقایسه میکنه، اما فقط host  ای که destination MAC address  درون message  با MAC address  خودش یکسان بود، message رو پردازش میکنه و به فرستنده پاسخ میده.(این عملیات توسط پروتکل ARP انجام میشه)

 

چطور MAC address، host  جدید وارد MAC address table میشه؟

سوئیچ با بررسی source MAC address  هر frame که بین host ها ارسال میشه MAC address table  خودش رو میسازه.

زمانیکه یک host  جدید شروع به ارسال message میکنه یا به یک flooded message  پاسخ میده، سوئیچ بلافاصله MAC address  و پورتی که بهش متصل هست رو یاد میگیره (learn میکنه ).

این جدول هر بار که source MAC address جدیدی که توسط switch  خوانده شده (read by switch) روبصورت Dynamically آپدیت میکنه. به این ترتیب، یک سوئیچ  به سرعت MAC address  تمام host های که بهش متصل هستند رو یاد میکیره. به این ترتیب، سوئیچ  به سرعت MAC address  تمام host های که بهش متصل هستند رو یاد میکیره.

گاهی اوقات ، توی شبکه ما نیاز داریم تعداد host ها افزایش پیدا کنه، ولی تعداد پورت های سویچ جوابگو نیست و نیاز میشه  از دیوایسی دیگه ای مثل hub استفاده کنیم، در نتیجه هاب رو به یک پورت switch وصل کنیم.

هنگامیکه یک هاب به پورت  سوئیچ وصل میشه،  سوئیچ MAC address  همه host های متصل به هاب رو روی همون پورت که hub  رو به سوئیچ متصل کرده یاد میگیره و مرتبط میکنه.

گاهآ یک host  متصل به هاب message ارسال میکنه به host های دیگه که به همون هاب متصل هستن.

تو این حالت، سویچ هم frame رو دریافت میکنه و table شو نگاه میکنه تا ببینه destination host  کجا قرار داره. اگه هر دو source and destination hosts روی پورت یکسان قرار داشته باشن، سوئیچ message  رو discard  میکنه.

هنگامی که یک هاب به پورت سوئیچ وصل مشود، ممکن هست توی هاب collisions رخ بده. هاب damaged messages های ناشی از collision رو به همه پورت های خودش ارسال میکنه ، سوئیچ وقتی آنها رو دریافت میکنه بر خلاف هاب آنها را مجدد ارسال نمیکند. در نتیجه ، هر پورت سویچ collision domain جداگانه ای دارد. این خیلی چیز خوبیه. چون هر چه host  کمتری توی collision domain  وجود داشته داشته باشه احتمال وقوع برخورد کمتر هستش.

 

 

This scenario shows hubs and switches forwarding frames through the network