در این بخش از آموزش سیسکو به پروتکل stp و کارکرد آن در شبکه می پردازیم.

پروتکل stp  یک پروتکل جهت جلوگیری از ایجاد loop یا حلقه تکرار در شبکه است.این پروتکل در سویچ ها استفاده می شود در واقع  کار آن جلوگیری از اینجاد loop در سویچ ها است. که این پروتکل این کار را با استفاده از الگوریتم stp انجام می دهد که ارتباطات اضافی را به حالت block تبدیل می کند  تا با نبود ارتباط اضافی از ایجاد loop جلوگیری کرده باشد و حسن این پروتکل در این است که به محض قطع شدن ارتباطات دیگر، ارتباطی را که جهت جلوگیری کردن از loop قطع کرده بود را دوباره وصل می کند تا ارتباطات دچار مشکل نشود. در واقع هدف ما این است که کاری کنیم تا بین سویچ ها ارتباطات طوری برقرار باشد تا در صورت بوجود آمدن مشکل در ارتباط راه های ارتباطی دیگری نیز وجود داشته باشد. اما از آنجا که وجود ارتباطات اضافی هم مشکل loop را بوجود می آورد پروتکل stp معرفی شد تا این مشکل را حل کند. و stp با استفاده از الگوریتم خود یکی از پورت ها را غیر فعال می کند تا یک مسیر منطقی بین سویچ ها برقرار باشد و در ودر صورت بوجود آمدن مشکل و قطع شدن یکی از ارتباطات ،پورتی را که block کرده بود را فعال میکند تا ارتباطات از مسیر جدید ادامه پیدا کند.

 

بمنظوری پیشگیری از مسئله " loop  و آشفتگی انتشار" و سایر اثرات جانبی در رابطه با Looping شرکت DEC پروتکلی با نام STP)Spanning-tree Protocol) را ایجاد نموده است . پروتکل فوق با مشخصه 802.1q توسط موسسه 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 را مشخص می نماید. مثلا" در صورتیکه داده از طریق طی نمودن 3 سگمنت (سوئیچ) یعنی گذر از دو لینک با سرعتی معادل 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 است (یعنی پورتی که احتمال LOOP در آنها وجود دارد مثلا از دو لینک در حال دریافت اطلاعات از root است). پورت فوق ، اتصالی است که توسط آن بسته های اطلاعاتی برای یک سگمنت خاص ارسال و یا از آن دریافت خواهند شد. با داشتن صرفا" یک نمونه از پورت های فوق ، تمام مشکلات مربوط به Looping برطرف خواهد شد.

- پورت های designated بر اساس کوتاهترتن مسیر بین یک سگمنت تا root bridge انتخاب می گردند. با توجه به اینکه Root bridge دارای مقدار صفر برای path cost است ، هر پورت آن بمنزله یک پورت designated است . ( مشروط به اتصال پورت مورد نظر به سسگمنت ) برای سایر سوئیچ ها، Path Cost برای یک سگمنت بررسی می گردد. در صورتیکه پورتی دارای پایین ترین path cost باشد ، پورت فوق بمنزله پورت designated سگمنت مورد نظر خواهد بود. در صورتیکه دو و یا بیش از دو پورت دارای مقادیر یکسان path cost باشند ، سوئیچ با مقادر کمتر BID انتخاب می گردد. BID یعنی Bridge ID شامل مجموع Mac Address و اولویت  (Priority) یوئیچ می باشد که در نهایت سوئیچ با کمتریت BID سوئیچ Root می شود البته Mac Adress ها برای هر سوئیچ عددی ثابت است لذا این عدد به اولویت تعریفی هر سوئیچ بستگی دارد. هر سوئیچ پیش فرض دارای اولویت 32768 می باشد که میتوانید براحتی اولویت آن را تغییر دهید- این عمل بر اساس تکنولوژی PVST+ سیسکو ایجاد می گردد

Switch>en

Switch#
Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#spanning-tree vlan 1 priority 15  :عدد اولویت از لیست زیر باید باشد
% Bridge Priority must be in increments of 4096.
% Allowed values are:
  0     4096  8192  12288 16384 20480 24576 28672
  32768 36864 40960 45056 49152 53248 57344 61440

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

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

پورت های RP که برای جلوگیری از LOOP خاموش می گردند Altn جایگزین و پشتیبان نامیده می شوند که صورت از کار افتادن پورت RP اصلی که اطلاعات از سوئیچ ریشه دریافت می کند قطع گردد روشن و جایگزین RP می شود.


دستورات لازم:

  • تغییر اولویت برای سوئیچ ها در ولن خاصی (عدد 0 یعنی کمترین اولویت یعنی ریشه شدن) عدد مک آدرس ثابت است و اولویت قابل تغییر -اولویت پیش فرض هر سوئیچ 32768 می باشد

Switch(config)#spanning-tree vlan 1 priority 0

  • نمایش خلاصه وضعیت STP در سوئیچ

Switch#show spanning-tree  یا     Switch#sh spa
VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     0060.2F6C.A53E
             This bridge is the root
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     0060.2F6C.A53E
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  20

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1            Desg FWD 19        128.1    P2p
Fa0/2            Desg FWD 100       128.2    P2p

Switch>en
Switch#sh sp
Switch#show spanning-tree    یا    Switch#sh spa
VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    1
             Address     0002.164D.1255
             Cost        19
             Port        1(FastEthernet0/1)
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec : دریافت پیام هلو از ریشه هر 15 ثانیه

  Bridge ID  Priority    28673  (priority 28672 sys-id-ext 1)
             Address     0060.5C3C.D62B
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  20

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/2            Desg FWD 19        128.2    P2p
Fa0/1            Root FWD 19        128.1    P2p
Fa0/3            Desg FWD 100       128.3    P2p

  • تغییر سرعت لینک ها (بجای تغییر هزینه پورت در سیسکو پکت تریسر)

Switch(config)#int fa 0/1
Switch(config-if)#speed 100 : تبدیل پورت به پورت با سرعت 100 مگابین بر ثانیه
Switch(config-if)#speed ? : نحوه گرفتن راهنمایی برای هر دستور
  10    Force 10 Mbps operation
  100   Force 100 Mbps operation
  auto  Enable AUTO speed configuration  : در سیسکو پکت تریسر سرعت های دیگر ساپورت نمی شود

  • تغییر هزینه پورت در سوئیچ

Switch(config)#int fastEthernet 0/1
Switch(config-if)#spanning cost .....  : این دستور در سیسکو پکت تریسر ساپورت نمی شود

  • تبدیل پورت به حالت portfast بخاطر اینکه پورت های متصل به کلاینت ها به حالت listening , leaning برای اخذ ip برای کلاینت نروند و سریع به حالت FWD بروند (انواع پورت Port Role: Block,Disable,Listening,Learning,Forward)

Switch(config)#spanning-tree portfast default


کتاب:


فیلم:


مثال و دانلود فایل Cisco Packet Tracer 6: