شبکه , هک و امنیت اطلاعات

امام سجاد(ع):آن کس که بر دوستی ما در دوران غیبت قائم ما پایدار بماند، خداوند به او پاداش هزار شهید از شهیدان بدر واحد بدهد

 
آشنایی با سوئیچ شبکه

آشنایی با سوئیچ شبکه :
سوئیچ شبکه از مجموعه ای کامپیوتر ( گره ) که توسط یک محیط انتقال ( کابلی بدون کابل ) بیکدیگر متصل می گردند ، تشکیل شده است. در شبکه از تجهیزات خاصی نظیر هاب و روتر نیز استفاده می گردد. سوئیچ یکی از عناصر اصلی و مهم در شبکه های کامپیوتری است . با استفاده از سوئیچ ، چندین کاربرقادربه ارسال اطلاعات از طریق شبکه در یک لحظه خواهند بود. سرعت ارسال اطلاعات هر یک از کاربران بر سرعت دستیابی سایر کاربران شبکه تاثیر نخواهد گذاشت . سوئیچ همانند روتر که امکان ارتباط بین چندین شبکه را فراهم می نماید ، امکان ارتباط گره های متفاوت ( معمولا" کامپیوتر ) یک شبکه را مستقیما" با یکدیگر فراهم می نماید.
شبکه ها و سوئیچ ها دارای انواع متفاوتی می باشند.. سوئیچ هائی که برای هر یک از اتصالات موجود در یک شبکه داخلی استفاده می گردند ، سوئیچ های 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 یکی از عناصر اصلی شبکه که می تواند باعث از کار افتادن شبکه گردد ، هاب و یا سوئیچ است . 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 می تواند یک مقدار دلخواه بوده که توسط مدیریت شبکه تعریف و مشخص می گردد ) 
- هر سوئیچ فرآیندی را بمنظور انتخاب مسیرهای شبکه که می بایست توسط هر یک از سگمنت ها استفاده گردد ، آغاز می نمایند. اطلاعات فوق توسط سایر سوئیچ ها و با استفاده از یک پروتکل خاص با نام 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 ، سوئیچ های لایه سوم معمولا" دارای سرعتی بیشتر از روتر می باشند. علت این امر استفاده از سخت افزارهای سوئیچینگ در این نوع سوئیچ ها است