سوئيچ

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

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

مبانی شبکه
عناصر اصلی در يک شبکه کامپيوتری بشرح زير می باشند:

  • شبکه . شبکه شامل مجموعه ای از کامپيوترهای متصل شده (با يک روش خاص )، به منظور تبادل اطلاعات است .

  • گره . گره ، شامل  هر چيزی که به شبکه متصل می گردد ، خواهد بود.( کامپيوتر ، چاپگر و ... )

  • سگمنت. سگمنت يک بخش خاص از شبکه بوده که توسط يک سوئيچ ، روتر و يا Bridge از ساير بخش ها جدا شده است .

  • ستون فقرات . کابل اصلی که تمام سگمنت ها به آن متصل می گردند. معمولا" ستون فقرات يک شبکه دارای سرعت بمراتب بيشتری نسبت به هر يک از سگمنت های شبکه است . مثلا" ممکن است نرخ انتقال اطلاعات ستون فقرات شبکه 100 مگابيت در ثانيه بوده در صورتی که نرخ انتقال اطلاعات هر سگمنت 10 مگابيت در ثانيه باشد.

  • توپولوژی . روشی که هر يک از گره ها به يکديگر متصل می گردند را گويند.

  • کارت شبکه . هر کامپيوتر از طريق يک کارت شبکه به شبکه متصل می گردد.در اکثر کامپيوترهای شخصی ، کارت فوق از نوع اترنت بوده ( دارای سرعت 10 و يا 100 مگابيت در ثانيه ) و در  يکی  از اسلات های موجود روی برد اصلی سيستم ، نصب خواهد شد.

  • آدرس MAC . آدرس فيزيکی هر دستگاه ( کارت شبکه ) در شبکه است. آدرس فوق يک عدد شش بايتی بوده که سه بايت اول آن مشخص کننده سازنده کارت شبکه و سه بايت دوم ، شماره سريال کارت شبکه است .

  • Unicast .  ارسال اطلاعات توسط يک گره با آدرس خاص و دريافت اطلاعات توسط گره ديگر است .

  • Multicast . يک گره ، اطلاعاتی را برای يک گروه خاص ( با آدرس مشخص ) ارسال می دارد.دستگاههای موجود در گروه ، اطلاعات ارسالی را دريافت خواهند کرد.

  • Broadcast . يک گره اطلاعاتی را برای تمام گره های موجود در شبکه ارسال می نمايد.

استفاده از سوئيچ
در اکثر شبکه های متداول ، به منظور اتصال گره ها از هاب استفاده می شود. همزمان با رشد شبکه ( تعداد کاربران ، تنوع نيازها ، کاربردهای جديد شبکه و ...) مشکلاتی در شبکه های فوق بوجود می آيد :

  • Scalability . در يک شبکه مبتنی بر هاب ، پهنای باند  بصورت مشترک توسط کاربران استفاده می گردد. با توجه به محدود بودن پهنای باند ، همزمان با توسعه، کارآئی شبکه بشدت تحت تاثير قرار خواهد گرفت . برنامه های کامپيوتر که امروزه به منظور اجراء بر روی محيط شبکه ، طراحی می گردنند به پهنای باند مناسبی نياز خواهند داشت . عدم تامين پهنای باند مورد نيازبرنامه ها ، تاثير منفی در عملکرد آنها را بدنبال خواهد داشت .

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

  • Network Failure  . در شبکه های مبتنی بر هاب ، يکی از دستگاههای متصل شده به هاب قادر به ايجاد مسائل و مشکلاتی برای ساير دستگاههای موجود در شبکه خواهد بود. عامل بروز اشکال می تواند عدم تنظيم مناسب سرعت ( مثلا" تنظيم سرعت يک هاب با قابليت 10 مگابيت در ثانيه به 100 مگابيت در ثانيه ) و يا ارسال بيش از حد بسته های اطلاعاتی  از نوع Broadcast ، باشد.

  •  Collisions . در شبکه های مبتنی بر تکنولوژی  اترنت  از فرآينده خاصی با نام CSMA/CD  به منظور ارتباط در شبکه استفاده می گردد. فرآيند فوق نحوه استفاده از محيط انتقال به منظور ارسال اطلاعات را قانونمند می نمايد.  در چنين شبکه هائی تا زمانيکه بر روی محيط انتقال ترافيک اطلاعاتی باشد ، گره ای ديگر قادر به ارسال اطلاعات نخواهد بود. در صورتی که دو گره در يک لحظه اقدام به ارسال اطلاعات نمايند ، يک تصادم اطلاعاتی ايجاد و عملا" بسته های اطلاعاتی ارسالی توسط هر يک از گره ها نيز از بين خواهند رفت . هر يک از گره های مربوطه ( تصادم کننده ) می بايست بمدت زمان کاملا" تصادفی در انتظار باقی مانده و پس از فراهم شدن شرايط ارسال ، اقدام به ارسال اطلاعات مورد نظر خود نمايند.

هاب مسير ارسال اطلاعات از يک گره به گره ديگر را به حداقل مقدار خود می رساند ولی  عملا" شبکه را به سگمنت های گسسته تقسيم نمی نمايد. سوئيچ به منظور تحقق خواسته فوق عرضه شده است . يکی از مهمترين تفاوت های موجود بين هاب و سوئيچ ، تفسير هر يک از پهنای باند است . تمام دستگاههای متصل شده به هاب ، پهنای باند موجود را بين خود به اشتراک می گذارند.در صورتی که يک دستگاه متصل شده به سوئيچ ، دارای تمام پهنای باند مختص خود است. مثلا" در صورتی که ده گره  به هاب متصل شده باشند ، ( در يک شبکه ده مگابيت درثانيه) هر گره موجود در شبکه بخشی از تمام پهنای باند موجود ( ده مگابيت در ثانيه ) را اشغال خواهد کرد. ( در صورتی که ساير گره ها نيز قصد ارتباط را داشته باشند) . در سوئيچ ، هر يک از گره ها قادر به برقراری ارتباط با ساير گره ها با سرعت ده مگابيت در ثانيه خواهد بود.
در يک شبکه مبتنی بر سوئيچ ، برای هر گره يک سگمنت اختصاصی ايجاد خواهد شد. سگمنت های فوق به يک سوئيچ متصل خواهند شد. در حقيقت سوئيچ امکان حمايت از چندين ( در برخی حالات صدها ) سگمنت اختصاصی را دارا است . با توجه به اينکه تنها دستگاه های موجود در هر سگمنت سوئيچ و گره می باشند ،  سوئيچ قادر به انتخاب اطلاعات ، قبل از رسيدن به ساير گره ها خواهد بود.  در ادامه سوئيچ، فريم های اطلاعاتی را به سگمنت مورد نظر هدايت خواهد کرد. با توجه به اينکه هر سگمنت دارای صرفا" يک گره می باشد ، اطلاعات مورد نظر به مقصد مورد نظر ارسال خواهند شد. بدين ترتيب در شبکه های مبتنی بر سوئيچ امکان چندين مبادله  اطلاعاتی بصورت همزمان وجود خواهد داشت .
با استفاده از سوئيچ ، شبکه های اترنت بصورت full-duplex خواهند بود. قبل از مطرح شدن سوئيچ ، اترنت بصورت half-duplex بود. در چنين حالتی داده ها در هر لحظه امکان ارسال در يک جهت را دارا می باشند . در يک شبکه مبتنی بر سوئيچ ، هر گره صرفا" با سوئيچ ارتباط برقرار می نمايد ( گره ها مستقيما" با يکديگر ارتباط برقرار نمی نمايند) . در چنين حالتی اطلاعات از گره به سوئيچ و از سوئيچ به گره مقصد بصورت همزمان منتقل می گردند. 
در شبکه های مبتنی بر سوئيچ امکان استفاده از کابل های بهم تابيده و يا فيبر نوری وجود خواهد داشت . هر يک از کابل های فوق دارای کانکتورهای مربوط به خود برای ارسال و دريافت اطلاعات می باشند. با استفاده از سوئيچ ، شبکه ای عاری از تصادم اطلاعاتی بوجود خواهد آمد. انتقال دو سويه اطلاعات در شبکه های مبتنی بر سوئيچ ، سرعت ارسال و دريافت اطلاعات افزايش می يابد.
اکثر شبکه های مبتنی بر سوئيچ  بدليل قيمت بالای  سوئيچ ، صرفا" از سوئيچ به تنهائی  استفاده نمی نمايند. در اين نوع شبکه ها از ترکيب هاب و سوئيچ استفاده می گردد. مثلا" يک سازمان می تواند از چندين هاب به منظور اتصال کامپيوترهای موجود در هر يک از دپارتمانهای خود استفاده و در ادامه با استفاده از يک سوئيچ تمام  هاب ها(مربوط به هر يک از دپارتمانها)  بيکديگر متصل می گردد.

تکنولوژی سوئيچ ها
سوئيچ ها دارای پتانسيل های لازم به منظور تغيير  روش ارتباط هر يک از گره ها با يکديگر می باشند. تفاوت سوئيچ با روتر چيست ؟ سوئيچ ها معمولا" در لايه دوم (Data layer) مدل OSI فعاليت می نمايند.در لايه فوق امکان استفاده از آدرس های MAC ( آدرس ها ی فيزيکی ) وجود دارد.  روتر در لايه سوم (Network) مدل OSI فعاليت می نمايند. در لايه فوق از آدرس های IP ر IPX و يا  Appeltalk استفاده می شود. ( آدرس ها ی منطقی ) . الگوريتم استفاده شده توسط سوئيچ به منظور اتخاذ تصميم در رابطه با مقصد يک بسته اطلاعاتی با الگوريتم استفاده شده توسط روتر ، متفاوت است .

يکی از موارد اختلاف  الگوريتم های سوئيچ  و هاب ، نحوه برخورد آنان با  Broadcast است . مفهوم بسته های اطلاعاتی از نوع Broadcast در تمام شبکه ها مشابه می باشد. در چنين مواردی ، دستگاهی نياز به ارسال اطلاعات داشته ولی نمی داند که اطلاعات را برای چه کسی می بايست ارسال نمايد. بدليل عدم آگاهی و دانش نسبت به هويت دريافت کننده اطلاعات ، دستگاه مورد نظر اقدام به ارسال اطلاعات بصورت broadcast می نمايد. مثلا" هر زمان که کامپيوتر جديد ويا يکدستگاه به شبکه وارد می شود ، يک بسته اطلاعاتی از نوع Broadcast برای معرفی و حضور خود در شبکه ارسال می دارد. ساير گره ها قادر به افزودن کامپيوتر مورد نظر در ليست خود و برقراری ارتباط با آن خواهند بود. بنابراين بسته های اطلاعاتی از نوع Broadcast در موارديکه يک دستگاه نياز به معرفی خود به ساير بخش های شبکه را داشته و يا نسبت به هويت دريافت کننده اطلاعات شناخت لازم وجود نداشته باشند ،  استفاده می گردند.
هاب و يا سوئيچ ها قادر به ارسال بسته ای اطلاعاتی از نوع Broadcast برای ساير سگمنت های موجود در حوزه Broadcast می باشند. روتر عمليات فوق را انجام نمی دهد. در صورتی که آدرس يکدستگاه مشخص نگردد ، روتر قادر به مسيريابی بسته اطلاعاتی مورد نظر نخواهد بود.  ويژگی فوق در موارديکه قصد جداسازی شبکه ها از يکديگر مد نظر باشد ، بسيار ايده آل خواهد بود. ولی زمانيکه هدف مبادله اطلاعاتی بين بخش های متفاوت يک شبکه باشد ، مطلوب بنظر نمی آيد. سوئيچ ها با هدف برخورد با مشکل فوق عرضه شده اند.
سوئيچ های LAN بر اساس تکنولوژی packet-switching فعاليت می نمايند. سوئيچ يک ارتباط بين دو سگمنت ايجاد می نمايد. بسته های اطلاعاتی اوليه  در يک محل موقت ( بافر) ذخيره می گردند ، آدرس فيزيکی (MAC) موجود در هدر خوانده شده و در ادامه با ليستی از آدرس های موجود در جدول Lookup ( جستجو) مقايسه می گردد. در شبکه های LAN مبتنی بر اترنت ، هر فريم اترنت شامل يک بسته اطلاعاتی خاص است . بسته اطلاعاتی فوق شامل يک عنوان (هدر) خاص و شامل اطلاعات مربوط به آدرس فرستنده و گيرنده بسته اطلاعاتی است .
سوئيچ های مبتنی بر بسته های اطلاعاتی به منظور مسيريابی ترافيک موجود در شبکه از سه روش زير استفاده می نمايند.

  • Cut-Through

  • Store-and-forward

  • Fragment-free

سوئيچ های  Cut-through ، بلافاصله پس از تشخيص بسته اطلاعاتی توسط سوئيچ ، آدرس MAC  خوانده  می شود. پس از ذخيره سازی شش بايت اطلاعات که شامل آدرس می باشند ، بلافاصله عمليات ارسال بسته های اطلاعاتی به گره مقصد آغاز می گردد. ( همزمان با دريافت ساير بسته های اطلاعاتی توسط سوئيچ ) .  با توجه به عدم وجود کنترل های لازم در صورت بروز خطاء در روش فوق ،  سوئيچ های زيادی  از روش فوق استفاده نمی نمايند.
سوئيچ های store-and-forward ، تمام بسته اطلاعاتی را در بافر مربوطه ذخيره و عمليات مربوط به بررسی خطاء ( CRC) و ساير مسائل مربوطه را قبل از ارسال اطلاعات انجام خواهند داد. در صورتی که بسته اطلاعاتی دارای خطاء باشد ، بسته اطلاعاتی دور انداخته خواهد شد. .در غيراينصورت ، سوئيچ با استفاده از  آدرس MAC ، بسته اطلاعاتی را برای گره مقصد ارسال می نمايد. اغلب سوئيچ ها از ترکيب دو روش گفته شده استفاده می نمايند. در اين نوع سوئيچ ها از روش cut-through استفاده شده و بمحض بروز خطاء از روش store-and-forward استفاده می نمايند.
يکی ديگر از روش های مسيريابی ترافيک در سوئيچ ها که کمتر استفاده می گردد ، fragment-free است . روش فوق مشابه cut-through بوده با اين تفاوت که قبل از ارسال بسته اطلاعاتی 64 بايت آن ذخيره می گردد.
سوئيچ های LAN دارای مدل های متفاوت از نقطه نظر طراحی فيزيکی می باشند.  سه مدل رايج در حال حاضر بشرح زير می باشند:

  • Shared memory . اين نوع از سوئيچ ها تمام بسته های اطلاعاتی اوليه در بافر مربوط به خود  را ذخيره می نمايند. بافر فوق بصورت مشترک توسط تمام پورت های سوئيچ ( اتصالات ورودی و خروجی ) استفاده می گردد. در ادامه اطلاعات مورد نظر بکمک پورت مربوطه برای گره مقصد ارسال خواهند شد.

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

  • Bus Architecture . در اين نوع از سوئيچ ها بجای استفاده از يک شبکه ( تور) ، از يک مسير انتقال داخلی ( Bus) استفاده و مسير فوق با استفاده از TDMA  توسط تمام پورت ها به اشتراک گذاشته می شود. سوئيچ های فوق برای هر يک از پورت ها دارای يک حافظه اختصاصی می باشند.

Transparent Bridging
اکثر سوئيچ های LAN مبتنی بر اترنت از سيستم ی با نام transparent bridging برای ايجاد جداول آدرس lookup استفاده می نمايند. تکنولوژی فوق امکان يادگيری هر چيزی  در رابطه با محل گره های موجود در شبکه ، بدون حمايت مديريت شبکه را فراهم می نمايد. تکنولوژی فوق داری پنج بخش متفاوت است :

  • Learning

  • Flooding

  • Filtering

  • Forwarding

  • Aging

نحوه عملکرد تکنولوژی فوق بشرح زير است :

  • سوئيچ به شبکه اضافه شده و تمام سگمنت ها به پورت های سوئيچ متصل خواهند شد.

  • گره A بر روی اولين سگمنت ( سگمنت A) ، اطلاعاتی را برای کامپيوتر ديگر ( گره B) در سگمنت ديگر ( سگمنت C) ارسال می دارد.

  • سوئيچ اولين بسته اطلاعاتی را از گره A دريافت می نمايد. آدرس MAC آن خوانده شده و آن را در جدول Lookup سگمنت A ذخيره می  نمايد. بدين ترتيب سوئيچ  از نحوه يافتن  گره A  آگاهی پيدا کرده و اگر در آينده گره ای قصد ارسال اطلاعات برای گره A را داشته باشد ، سوئيچ در رابطه با آدرس آن مشکلی نخواهد داشت . فرآيند فوق را Learning می گويند.

  •  با توجه به اينکه سوئيچ دانشی نسبت به محل گره B ندارد ، يک بسته اطلاعاتی را برای تمام سگمنت های موجود در شبکه ( بجز سگمنت A که اخيرا" يکی از گره های موجود در آن اقدام به ارسال اطلاعات  نموده است . ) فرآيند ارسال يک  بسته اطلاعاتی توسط سوئيچ ، به منظور  يافتن يک گره خاص برای تمام سگمنت ها ، Flooding ناميده می شود.

  • گره B بسته اطلاعاتی را دريافت و يک بسته اطلاعاتی را به عنوان Acknowledgement برای گره A ارسال خواهد کرد.

  • بسته اطلاعاتی ارسالی توسط گره B به سوئيچ می رسد. در اين زمان ، سوئيچ قادر به ذخيره کردن آدرس MAC گره B در جدول Lookup سگمنت  C می باشد. با توجه به اينکه سوئيچ از آدرس گره A آگاهی دارد ، بسته اطلاعاتی را مستقيما" برای آن ارسال خواهد کرد.  گره A در سگمنتی متفاوت نسبت به گره B قرار دارد ، بنابراين سوئيج می بايست به منظور ارسال بسته اطلاعاتی دو سگمنت  را به يکديگر متصل نمائيد. فرآيند فوق Forwarding ناميده می شود.

  • در ادامه بسته اطلاعاتی بعدی از گره A به منظور ارسال برای گره B  به سوئيچ می رسد ، با توجه به اينکه سوئيج از آدرس گره B آگاهی دارد ، بسته اطلاعاتی فوق مستقيما" برای گره B ارسال خواهد شد.

  •  گره C اطلاعاتی را از طريق سوئيچ برای گره A ارسال می دارد. سوئيچ آدرس MAC گره C را در جدول Lookup سگمنت A ذخيره می نمايد ، سوئيچ آدرس گره A را دانسته و مشخص می گردد که دو گره A و C در يک سگمنت قرار دارند. بنابراين نيازی به ارتباط سگمنت A با سگمنت ديگر به منظور ارسال اطلاعات گره C نخواهد بود. بدين ترتيب سوئيچ از حرکت بسته های اطلاعاتی بين گره های موجود در يک سگمنت ممانعت می نمايد. فرآيند فوق را Filtering  می گويند.

  • Learning و Flooding ادامه يافته و بموازات آن سوئيچ ، آدرس های MAC مربوط به گره ها را در جداول Lookup ذخيره می نمايد. اکثر سوئيچ ها دارای حافظه کافی به منظور ذخيره سازی جداول Lookup می باشند. به منظور بهينه سازی حافظه فوق ، اطلاعات قديمی تر از جداول فوق حذف تا فرآيند جستجو و يافتن آدرس ها در يک زمان معقول و سريعتر انجام پذيرد. بذين منظور سوئيج ها از روشی با نام aging استفاده می نمايند. زمانيکه يک Entry برای يک گره در جدول Lookup  اضافه می گردد ،  به آن يک زمان خاص نسبت داده می شود. هر زمان که بسته ای اطلاعاتی از طريق يک گره دريافت می گردد ، زمان مورد نظر بهنگام می گردد. سوئيچ دارای يک يک تايمر قابل پيکربندی بوده که با عث می شود، Entry های موجود در جدول Lookup که مدت زمان خاصی از آنها استفاده نشده و يا به آنها مراجعه ای نشده است ، حذف گردند . با حذف Entry های غيرضروری ، حافظه قابل استفاده برای ساير Entry ها بيشتر می گردد.

در مثال فوق ، دو گره سگمنت A را به اشتراک گذاشته و سگمنت های A و D بصورت مستقل می باشند. در شبکه های ايده آل مبتنی بر سوئيچ ، هر گره دارای سگمنت اختصاصی  مربوط بخود است . بدين ترتيب امکان تصادم حذف و نيازی به عمليات  Filtering نخواهد بود.

فراوانی و آشفتگی انتشار
در شبکه های با توپولوژی ستاره (Star) و يا ترکيب Bus و وStar يکی از عناصر اصلی شبکه که می تواند باعث از کار افتادن شبکه گردد ، هاب و يا سوئيچ است . فرض کنيد شبکه ای با ساختار زير را داشته باشيم :

در مثال فوق ، در صورتی که سوئيچ A و يا C با مشکل مواجه گردند، تمام گره های متصل به هر يک از سوئيچ های فوق نيز تحت تاثير اشکال فوق قرار خواهند گرفت . گره های متصل به سوئيچ ديگر (B) کماکن قادر به ارائه خدمات خود خواهد بود.  در صورتی که سوئيچ C  با اشکال مواجه گردد ، تمام شبکه از کار خواهد افتاد . در صورت اضافه کردن سگمنت ديگر برای ارتباط سوئيچ A و C چه اتفاقی خواهد افتاد .

در حالت فوق ، در صورتی که يکی از سوئيچ ها با اشکال مواجه گردد ، شبکه کماکن قادر به ارائه خدمات خود خواهد بود. با افزدون سگمنت فوق ، شبکه  از حالت وابستگی به يک نقطه خارج و يک نوع " فراوانی " ايجاد شده است .
با حل مشکل وابستگی عملياتی شبکه به يک نقطه ، مشکل ديگری بوجود می آيد. همانگونه که قبلا" اشاره گرديد ، سوئيچ ها بصورت هوشمندانه ازآدرس و محل  هر يک از گره های موجود در شبکه آگاه می گردند. با توجه به شرايط ايجاد شده ، تمام سوئيج ها در يک Loop به يکديگر متصل می  گردند. در چنين حالتی يک بسته اطلاعاتی ارسال شده توسط يک گره ، ممکن است توسط سوئيچی از سگمنت ديگر آمده باشد.

 مثلا" فرض نمائيد که گره B به سوئيچ A متصل و قصد ارسال اطلاعات برای گره B موجود در سگمنت B را داشته باشد . سوئيچ  A شناختی نسبت به گره A ندارد ، بنابراين بسته اطلاعاتی را برای ساير گره های موجود در سگمنت های ديگر ارسال خواهد کرد. بسته اطلاعاتی مورد نظر از طريق سگمنت های A و يا C برای ساير سوئيچ ها (B و يا  C) حرکت خواهد کرد. سوئيچ B ، گره B را به جدول Lookup خود اضافه می نمايد. ( برای سگمنت A) . سوئيچ C آدرس گره B را به منظور پشتيبانی سگمنت C در جدول Lookup خود ذخيره خواهد کرد. با توجه به اينکه هيچکدام از سوئيچ ها تاکنون شناختی نسبت به آدرس گره A بدست نياورده اند ، سگمنت B برای پيدا کردن گره A مورد بررسی قرار خواهد گرفت . هر سوئيج بسته اطلاعاتی ارسال شده را دريافت و مجددا" آن را برای ساير سگمنت ها ارسال خواهد کرد. ( چون هيچکدام هنوز دانشی نسبت به محل گره A را کسب نکرده اند) سوئيج A بسته اطلاعاتی ارسالی توسط هر يک از سوئيچ ها را دريافت و مجددا" آن را برای ساير سگمنت ها ارسال می نمايد. در جنين شرايطی يک نوع " آشفتگی انتشار " ايجاد شده است . شرايط فوق  باعث ايجاد مشکل ترافيکی در شبکه خواهد شد.  به منظور حل مشکل فوق از تکنولوژی با نام Spanning trees استفاده می شود. 

Spanning tress
به منظوری پيشگيری از مسئله " آشفتگی انتشار"  و ساير اثرات جانبی در رابطه با Looping شرکت DEC پروتکلی با نام STP)Spanning-tree Protocol) را ايجاد نموده است . پروتکل فوق با مشخصه 802.1d توسط موسسه IEEE  استاندارد شده است .  Spanning tree از الگوريتم STA(Spanning-tree algoritm) استفاده می نمايد. الگوريتم فوق بررسی خواهد کرد آيا يک سوئيچ دارای بيش از يک مسير برای دستيابی به يک گره خاص است . در صورت وجود مسيرهای متعدد ، بهترين مسير نسبت به ساير مسيرها کدام است ؟  نحوه عمليات STP بشرح زير است :

  • به هر سوئيج ، مجموعه ای از مشخصه ها (ID) نسبت داده می شود. يکی از مشخصه ها برای سوئيچ و ساير مشخصه ها  برای هر يک از پورت ها استفاده می گردد.  مشخصه سوئيچ ، BID)Bridge ID) ناميده شده و دارای هشت بايت است . دو بايت به منظور مشخص نمودن اولويت و شش بايت برای مشخص کردن آدرس MAC استفاده می گردد.  مشخصه  پورت ها ، شانزده بيتی است . شش بيت به منظور تنظيمات مربوط به اولويت و ده بيت ديگر برای اختصاص يک شماره برا ی پورت مورد نظر است .

  • برای هر مسير يک Path Cost محاسبه می گردد. نحوه محاسبه پارامتر فوق بر اساس استانداردهای ارائه شده توسط موسسه IEEE است . به منظور محاسبه مقادر فوق ، 1.000 مگابيت در ثانيه ( يک گيگابيت در ثانيه ) را بر پهنای باند سگمنت متصل شده به پورت ، تقسيم می نمايند. بنابراين يک اتصال 10 مگابيت در ثانيه ، دارای Cost به  ميزان 100 است (1.000 تفسيم  بر 10 )  . به منظور هماهنگ شدن با افزايش سرعت شبکه های کامپيوتری  استاندارد Cost نيز اصلاح می گردد. جدول زير مقادير جديد STP  Cost را نشان می دهد. ( مقدار Path cost می تواند يک مقدار دلخواه بوده که توسط مديريت شبکه تعريف و مشخص می گردد )

 

Bandwidth

STP Cost Value

4 Mbps

250

10 Mbps

100

16 Mbps

62

45 Mbps

39

100 Mbps

19

155 Mbps

14

622 Mbps

6

1 Gbps

4

10 Gbps

2

  • هر سوئيچ  فرآيندی را به منظور انتخاب مسيرهای شبکه که می بايست توسط هر يک از سگمنت ها استفاده گردد ، آغاز می نمايند. اطلاعات فوق توسط ساير سوئيچ ها و با استفاده از يک پروتکل خاص با نام BPUD)Bridge protocol data units) به اشتراک گذاشته می شود.  ساختار يک BPUD  بشرح زير است :
    -  Root BID .  پارامتر فوق BID مربوط به Root Bridge جاری را مشخص می کند.
    -  Path Cost to Bridge . مسافت root bridge را مشخص می نمايد. مثلا" در صورتی که داده  از طريق طی نمودن سه سگمنت با  سرعتی معادل 100 مگابيت در ثانيه برای رسيدن به Root bridge باشد ، مقدار cost  بصورت (19+19+0=38) بدست می آيد. سگمنتی که به Root Bridge متصل است دارای Cost معادل صفر است .
    - Sender BID  . مشخصه BID سوئيچ ارسال کننده BPDU را مشخص می کند.
    - Port ID . پورت ارسال کننده BPDU مربوط به سوئيچ را مشخص می نمايد.

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

  • يک Root bridge بر اساس فرآيندهای BPDU بين سوئيج ها ، انتخاب می گردد. در ابتدا هر سوئيج خود را به عنوان Root در نظر می گيرد. زمانيکه يک سوئيچ برای اولين بار به شبکه متصل می گردد ، يک BPDU را بهمراه BID خود که به عنوان Root BID است ، ارسال می نمايد.  زمانيکه ساير سوئيچ ها BPDU را دريافت می دارند ، آن را با BID مربوطه ای که به عنوان Root BID ذخيره نموده اند، مقايسه می نمايند. در صورتی که Root BID جديد دارای يک مقدار کمتر باشد ، تمام سوئيچ ها آن را با آنچيزی که قبلا" ذخيره کرده اند، جايگزين می نمايند. در صورتی که Root BID ذخيره شده دارای مقدار کمتری باشد ، يک BPDU برای سوئيچ جديد بهمراه BID مربوط به  Root BID  ارسال می گردد. زمانيکه سوئيچ جديد BPDU را دريافت می دارد ، از Root بودن خود صرفنظر و مقدار ارسالی را به عنوان Root BID در جدول مربوط به خود ذخيره خواهد کرد.

  • با توجه به محل Root Bridge ، ساير سوئيچ ها مشخص خواهند کرد که کداميک از پورت های آنها دارای کوتاهترين مسير به Root Bridge است . پورت های فوق، Root Ports ناميده  شده و هر سوئيج می بايست دارای  يک نمونه  باشد.

  •  سوئيچ ها مشخص خواهند کرد که چه کسی دارای پورت های designated است . پورت  فوق ، اتصالی است که توسط آن بسته های اطلاعاتی برای يک سگمنت خاص ارسال و يا از آن دريافت خواهند شد. با داشتن صرفا" يک نمونه از پورت های فوق ، تمام مشکلات مربوط به Looping برطرف خواهد شد.

  • پورت های designated بر اساس کوتاهترتن مسير بين يک سگمنت تا root bridge انتخاب می گردند.  با توجه به اينکه Root bridge دارای مقدار صفر برای path cost است ، هر پورت  آن بمنزله يک پورت   designated است . ( مشروط به اتصال پورت مورد نظر به سسگمنت ) برای ساير سوئيچ ها، Path Cost برای يک سگمنت بررسی می گردد. در صورتی که پورتی دارای پايين ترين path cost باشد ، پورت فوق بمنزله پورت designated سگمنت مورد نظر خواهد بود. در صورتی که دو و يا بيش از دو پورت دارای مقادير يکسان path cost باشند ، سوئيچ با مقادر کمتر BID اتخاب می گردد.

  • پس از انتخاب پورت designatedبرای سگمنت شبکه ، ساير پورت های متصل شده به سگمنت مورد نظر به عنوان non -designated port در نظر گرفته خواهند شد. بنابراين با استفاده از پورت های designated می توان به يک سگمنت متصل گرديد.

  • هر سوئيچ دارای جدول BPDU مربوط به خود بوده که بصورت خودکار بهنگام  خواهد شد. بدين ترتيب شبکه بصورت يک spanning tree بوده که roor bridge  که بمنزله ريشه و ساير سوئيچ ها بمنزله برگ خواهند بود. هر سوئيچ با استفاده از Root Ports قادر به ارتباط با root bridge  بوده و با استفاده از پورت های   designated قادر به ارتباط با  هر سگمنت  خواهد بود.

روترها و سوئيچينگ لايه سوم
همانگونه که قبلا" اشاره  گرديد ، اکثر سوئيچ ها در لايه دوم مدل OSI فعاليت می نمايند (Data Layer) . اخيرا" برخی از توليدکنندگان سوييچ، مدلی را عرضه نموده اند که قادر به فعاليت  در لايه سوم مدل OSI  است . (Network Layer) . اين نوع سوئيچ ها دارای شباهت زيادی با روتر می باشند.
زمانيکه روتر يک بسته اطلاعاتی را دريافت می نمايد ، در لايه سوم بدنبال آدرس های مبداء و مقصد گشته تا مسير مربوط به بسته اطلاعاتی را مشخص نمايد. سوئيچ های استاندارد از آدرس های MAC به منظور مشخص کردن آدرس مبداء و مقصد استفاده می نمايند.( از طريق لايه دوم) مهمترين تفاوت بين يک روتر و يک سوئيچ لايه سوم ، استفاده  سوئيچ های لايه سوم  از سخت افزارهای بهينه به منظور ارسال داده با سرعت مطلوب نظير سوئيچ های لايه دوم است.  نحوه تصميم گيری آنها در رابطه با مسيريابی بسته های اطلاعاتی مشابه روتر است .  در يک محيط شبکه ای LAN ، سوئيچ های لايه سوم معمولا" دارای سرعتی بيشتر از روتر می باشند. علت اين امر استفاده از سخت افزارهای سوئيچينگ در اين نوع سوئيچ ها است . اغلب سوئيچ های لايه سوم  شرکت سيسکو، بمنزله روترهائی می باشند که بمراتب از روتر ها سريعتر بوده ( با توجه به استفاده از سخت افزارهای اختصاصی سوئيچينگ )  و دارای قيمت ارزانتری نسبت به روتر می باشند. نحوه Pattern matching و caching در سوئيچ های لايه سوم مشابه يک روتر است . در هر دو دستگاه از يک پروتکل روتينگ  و جدول روتينگ، به منظور مشخص نمودن بهترين مسير استفاده می گردد. سوئيچ های لايه سوم قادر به برنامه ريزی مجدد سخت افزار بصورت پويا و با استفاده از اطلاعات روتينگ لايه سوم می باشند و همين امر باعث سرعت بالای پردازش بسته های اطلاعاتی می گردد. سوئيچ های لايه سوم ، از اطلاعات دريافت شده توسط پروتکل روتينگ به منظور بهنگام سازی جداول مربوط به Caching استفاده می نمايند.
همانگونه که ملاحظه گرديد ، در طراحی  سوئيچ های LAN از تکنولوژی های متفاوتی استفاده می گردد. نوع سوئيچ استفاده شده  ،  تاثير مستقيم بر سرعت و کيفيت يک شبکه را بدنبال خواهد داشت .

پشتیبانی