Stp Status and Global Settings (قسمت ۲۶)

خب قصد داریم تو این مقاله در مورد یکی از مهم ترین پروتکل های لایه دو یعنی STP  صحبت کنیم، پروتکلی که وظیفه شکستن Loop  لایه دو یا LAN را در تکنولوژی های مبتنی بر  Ethernet را دارد و  به صورت پیشفرض فعال است و به خوبی وظایف خود را انجام میدهد و اجازه ایجاد لوپ را نمی دهد ،که البته نیاز به بهینه سازی این پروتکل است تا بالاترین بازدهی و با کمترین میزان قعطی را داشته باشد.

اول از همه بریم سر این مطلب که اصلا Loop  لایه دو  یعنی چی و چه زمانی این اتفاق می افتد؟!

همان طور که می دانید در هدر IP  فیلدی قرار دادند به نام TTL  یا Time To Live  که در مبدا یا ارسال کننده بر اساس نوع سیستم عامل مقدار دهی میشود مثلا در مایکروسافت ۱۲۸ و در لینوکس ۶۴ و حتی در سیسکو ۲۵۵  و به ازای هر بار Route  شدن بسته ، روترها اجازه کم کردن یک واحد از آن مقدار را دارند تا Packet ها برای همیشه در دنیای WAN سرگردان نباشند. مثلا اگر شما سیستم عامل لینوکس دارید و به مقصدی نا معلوم ولی Routable  بسته ارسال کنید بعد از عبور ۶۴  روتر یا بهتر بگیم بعد از ۶۴  بار روت شدن Packet  و به علت صفر شدن TTL  یا تمام شدن عمر Packet  ، بسته Drop  میشود.

حالا این داستان را بیاریم در LAN

آیا در هدر Ethernet  ما TTL  داریم؟!

نه.

پس همیشه تمامی بسته های ما در LAN  زنده هستند و Loop  میشوند؟!

باز هم نه!!

سوییچ بسته های Broadcast ، Multicast و Unknown Unicast  را Flood  میکند روی تمامی اینترفیس های با شماره Vlan  ارسال کننده و البته به غیر از اینترفیس ارسال کننده ، اینجاست که خطرناک است.

به شکل زیر دقت کنید.

نکته :هیچ کانفیگی روی سوییچ ها زده نشده وتمامی اینترفیس ها در Vlan 1  قرار دارند.

مرحله اول

فرض کنید که PC یک بسته DHCP Discover  یا ARP Request  که هر دو از نوع Broadcast  است را  به SW-1  ارسال کند،  این سوییچ ابتدا عمل Learning را که با خواندن مقدار Source Mac  فریم است را  انجام میدهد که در این سناریو آدرس مک PC  را روی اینترفیس Fa0/3  خود Learn میکند و  آن در Mac Address  Table خود قرار می دهد حالا سوییچ باید عمل  Forwarding را انجام دهد که این کار را با نگاه کردن فیلد Destination Mac  فریم انجام میدهد و چون از نوع Broadcast یا FFFF.FFFF.FFFF است آن را روی اینترفیس های Fa0/1  و Fa0/2  فوروارد میکند یا بهتر بگیم Flood میکند.

مرحله دوم

حالا فریم روی اینترفیس Fa0/1  از SW-2 و اینترفیس Fa0/2  از SW-3  میرسد.

اول بریم سراغ SW-2

این سوییچ بعد از Learn  کردن Mac  آدرس PC  روی اینترفیس Fa0/1  به DST Mac  بسته در هدر Ethernet  نگاه میکند و چون Broadcast  است فریم را روی اینترفیس Fa0/2 فوروارد میکند.

سوییچ SW-3  یک فریم از SW-1  روی اینترفیس Fa0/2  خود قبلا گرفته بود و باز بعد از Learn کردن Mac  آدرس PC  روی اینترفیس Fa0/2  خود و خواندن DST Mac  فریم ، بسته را روی Fa0/1   فوروارد میکند.

مرحله سوم

حالا یک فریم از SW-2  به اینترفیس Fa0/1  از SW-3  رسیده و یک فریم از SW-3  به اینترفیس Fa0/2 از SW-2  رسیده است.

اول بریم سراغ SW-3

وقتی فریم وارد اینترفیس Fa0/1  از SW-3  می شود اول عمل Learning  صورت میگیرد و SRC Mac  از هدر Ethernet  را می خواند ولی قبلا این آدرس مک که برای PC  است را روی اینترفیس Fa0/2  خود Learn  کرده و سوییچ مجبور به Flush  کردن تمامی آدرس های Mac  ای که روی این دو اینترفیس یاد گرفته است را در Mac address table  خود است زیرا سوییچ هیج وقت آدرس مک یکسان را روی دو اینترفیس خود Learn  نمی کند.

خب بعد از Learning  سوییچ بسته را روی اینترفیس Fa0/2  خود فوروارد میکند چون نوع بسته Broadcast  بود.

دقیقا همین اتفاق در SW-2  می افتد و این سوییچ مجبور به Flush  کردن Mac address Table  خود و فوروارد کردن بسته روی Fa0/1  است.

مرحله چهارم

SW-1  فریم یکسان را روی اینترفیس های Fa0/1  و Fa0/2  دریافت میکند و دقیقا همان فریمی که چند لحظه پیش خودش روی Fa0/1  و Fa0/2  فوروارد کرده بود.

SW-1  فریمی که روی اینترفیس Fa0/1  خود دریافت میکند را روی اینترفیس های Fa0/2  و Fa0/3  فوروارد و فریمی که روی اینترفیس Fa0/2  خود از SW-2  دریافت کرده را روی اینترفیس های Fa0/1  و Fa0/3  ارسال میکند.

دقیقا مشکل اینجاست

دقت کنید برگشتیم به مرحله یک و دوبار بسته ها به SW-2  و SW-3  رسیدند و دوباره فوروارد کردن فریم ها و……

این داستان تا ابد ادامه دارد و حالا فرض کنید از این فریم ها میلیون ها تا داشته باشیم!!

چه اتفاقی سر شبکه ما می آید و چه Process  ای باید سوییچ ها برای فوروارد کردن فریم های Broadcast  یا Multicast  کنند!!! و حتی باید پی در پی Mac Address Table  خود را Flush کنند.

با این اتفاق حتی کامپیوتر های ما هم این بسته ها را دریافت میکنند و می دانیم که تمامی دستگاه های شبکه ملزم به باز کردن بسته های Broadcast  و تحلیل آن در لایه های بالاتر هستند و  باید Process خرج تحلیل بسته های Broadcast  کنند و نه تنها کامپیوتر ها بلکه سوییچ ها هم باید بسته های Broadcast  را در لایه های بالاتر تحلیل کنند.(ممکن است سوییچ ARP Reply  را در جواب ARP Request  یک کامپیوتر دهد یعنی PC  آدرس مک سوییچ را ARP  بزند و سوییچ برای اینکه بداند PC  به دنبال آدرس مک مثلا اینترفیس مجازی Vlan 1  آن است یا نه بعد از باز کردن بسته در لایه دو و دیدن بسته به عنوان Broadcast  مجبور به باز کردن بسته در لایه بالایی که هدر ARP  است)

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

STP و پروتکل هایی از این خانواده برای ما این کار را به صورت پیش فرض انجام می دهند.

مثلا در شکل بالا اگر یکی از اینترفیس های بین سوییچ ها در حالت Forward  قرار نمی گرفت و مثلا Block  بود ، Loop  شکسته شده بود!

سوال

همیشه طراحی های شبکه مانند مثال های زیر Loop است؟!

جواب خیر است.

باید دقت کنید که اینترفیس های سوییچ ها نمی توانند تمامی ترافیک ها را از خود عبور دهند و فقط مجوز به عبور ترافیک های یک Vlan را دارند.(به غیر از Trunk )

به شکل زیر نگاه کنید.

در مثال های بالا هیچ گونه Loop  ای وجود ندارد.

یا مثلا ممکن است فقط برای یک سری Vlan   لوپ داشته باشیم مانند مثال های زیر که فقط برای Vlan1  لوپ داریم.

قبل و بعد از شروع کار پروتکل STP

پروتکل STP  یا Spanning-Tree  یک پروتکل لایه دویی برای شکستن Loop  در شبکه LAN  می باشد که IEEE   آن را استاندارد کرده است .که به دلیل اینکه سوییچ های شرکت سیسکو از Vlaning  پشتیبانی میکنند ، سیسکو STP  را به صورت Per Vlan یعنی به ازای هر Vlan  یک STP  جدا گانه اجرا میکند که به آن Per Vlan STP  یا PVST  گویند.

البته این را هم اضافه کنیم امروزه به دلیل ضعف پروتکل STP  که وابستگی کامل به زمان دارد از پروتکل پیشرفته تر آن یعنی Rapid STP  استفاده میشود که Timer Base  نمی باشد که استاندارد IEEE  است و البته سیسکو از پروتکل Rapid PVST  استفاده میکند.

در این مقاله قصد تدریس پروتکل STP  با استاندارد ۸۰۲٫۱d  را داریم.

STP   در تمام مدت سعی دارد که یک ارتباط لایه دویی پایدار را در کمترین زمان ممکن بدون Loop  ایجاد کند.

STP  چگونه کار میکند؟

در ابتدا وقتی سوییچ روشن می شود ادعای Root Bridge  شدن می کند و Bridge-ID  خود در غالب بسته BPDU  به بقیه اعلام می کند و زمانی که یک BPDU Superior  دریافت کند یعنی سوییچی باشد که Bridge-ID  آن کمتر باشد یا بهتر بگوییم BPDU  با شرایط بهتر دریافت کند آن سوییچ را به عنوان Root Bridge  قبول میکند و دیگر ادعای Root Bridge  ای نمیکند.

Bridge-ID  از دو قسمت Priority  و Base MAC Address  تشکیل شده است و هر چه مقدارش کمتر باشد بهتر است.

Priority  یک عدد دو بایتی است که میتواند از صفر تا ۶۵۵۳۵  باشد که مقدار پیشفرض آن در سوییچ ها ۳۲۷۶۸  است.

Base Mac Address  نیز در سوییچ های مختلف متفاوت است یعنی ممکن یک سوییچ مقدار آن را از آدرس فیزیکی یا MAC address اینترفیس مجازی Vlan 1  بردارد که به صورت پیشفرض در سوییچ ها ساخته شده است و یا ممکن است Minimum  مقدار Mac-Address اینترفیس های فیزیکی خود و یا حتی Maximum  آنها.

منظور از Extended System ID  همان شماره Vlan ID  است.

می دانیم سوییچ های سیسکو از قابلیت Vlaning  پشتیبانی میکنند و می دانیم که STP  به ازای هر Vlan  جداگانه انجام میشود.

Per Vlan STP  یعنی یک سوییچی که سه Vlan  دارد سه Process STP  جدا از هم کار میکند و ممکن است سه Root Bridge  مختلف به ازای هر Vlan  داشته باشیم.

حالا سیسکو مقدار Extended System ID  را قرار داده تا مقدار Bridge-ID  های Vlan  های مختلف مقدار یکسان نشود یعنی مقدار Priority  که پیشفرض ۳۲۷۶۸   است را با Vlan ID  جمع میکند مثلا در Vlan 101  مقدار Bridge-ID  برای Vlan 101  میشود ۳۲۷۶۸+۱۰۱

پس سوییچی که کمترین مقدار Bridge-ID  را دارد به عنوان سوییچ ریشه یا Root Bridge  انتخاب می شود.

بعد از انتخاب Root Bridge  سوییچ ریشه هر دو ثانیه (Default Hello Time 2 s )  از اینترفیس های خود BPDU  ارسال میکند تا دیگر سوییچ ها بر اساس آن بتوانند Role  یا نقش پورت های خود را در بازی STP  مشخص کنند و پایداری شبکه کاملا بستگی دارد به BPDU  ای که Root Bridge  ارسال میکند.

انواع Role  ها در STP سنتی شامل

Designated Port

این پورت وظیفه ارسال BPDU  در سوییچ ها را دارد و هر Segment  حتما یک Designated Port  دارد.

مثلا در مثال بالا که یک Segment  داریم یکی از اینترفیس ها باید DP  شود حالا کدام می شود؟! بستگی به موارد زیادی دارد.

نکته : تمامی پورت های سوییچ ریشه یا Root Bridge  در حالت DP  هستند و سوییچ ریشه هیچ پورت Block  ای ندارد.

Root Port

پورتی است که کمترین هزینه دارد که سوییچ را به Root Bridge  می رساند.

همیشه اولین کاری که سوییچ ها بعد از انتخاب Root Bridge  می کنند با توجه به مقدار Cost  Root Path داخل BPDU  که از پورت های مختلف خود دریافت میکنند Root Port  را انتخاب میکنند یعنی اینترفیسی را RP  می کنند که کمترین Cost  برای رسیدن به Root Bridge  را داشته باشد.

مقدار Cost  وقتی زیاد می شود که BPDU  وارد اینترفیس می شود و کاملا با تکنولوژی اینترفیس رابطه مستقیم دارد.

مثلا اینترفیس ۱۰۰Mbps  مقدار Cost  آن ۱۹ و یا اینترفیس Gig  مقدار Cost  آن ۴  است.

نکته :

با تغییر Speed  در اینترفیس روی مقدار Cost  تاثیر می گذارید ولی تاثیری روی کارایی یا Rate  اینترفیس ندارد یعنی اگر اینترفیس ۱۰۰Mbps  یا همان Fastethernet  دارید مقدر Cost  آن ۱۹ است و اگر با دستور Speed  در مد  اینترفیس مقدار Speed  را ۱۰  قرار دهید مقدار Cost  آن ۱۰۰  می شود ولی اینترفیس همچنان با Rate   صد مگابیت بر ثانیه ترافیک ها را ارسال و دریافت میکند.

نکته :

اگر گروهی از اینترفیس ها را با هم Etherchannel کنیم روی STP تاثیر دارد یعنی STP آن ها را به عنوان یک اینترفیس در نظر میگیرد و البته مقدار Cost آن کمتر میشود.

Non-DP  یا Block Port

پورتی که Block  است BPDU  دریافت میکند ولی BPDU  ارسال نمیکند.

نکته :اگر BPDU  سوییچ ریشه به دست من نرسد به علت قطعی یک لینک یا اختلال آن سوییچ ادعای Root Bridge  ای می کند .

نکته مهم

منظور از BPDU  سوییچ ریشه چیست؟!

بسته BPDU  را سوییچ ریشه ارسال میکند از روی اینترفیس های خود که نقش DP  را دارند این بسته به سوییچ همسایه میرسد سوییچNon Root Bridge  بسته BPDU  را دریافت و Role  اینترفیس های خود را بر اساس Cost  مشخص میکند  و حالا باید این بسته را به دیگر Non Root Bridge  ها ارسال کند یعنی در مثال زیر Switch 3  و Switch 2  باید در ابتدا از هر دو اینترفیس خود BPDU  دریافت کنند تا بتوانند Role  اینترفیس های خود را مشخص کنند (زیرا اساس کار مقایسه است) برای این کار هر دو سوییچ ۲و۳ باید به یکدیگر BPDU  ارسال کنند که اطلاعات Root Bridge  و اطلاعات خود را در آن قرار دهند.( منظور از در ابتدا یعنی هنوز Role  اینترفیس ها مشخص نشده زیرا بعد از مشخص شدن Role  ها پورتی که بلاک شود BPDU  ارسال نمیکند)

در این سناریو Switch1  به عنوان Root Bridge  انتخاب شده است به دلیل Priority  بهتر و تمامی اینترفیس های خود را DP  میکند .Switch2  و Switch 3  اینترفیس Gig0/0  خود را Root Port  میکنند  زیرا وضعیت بهتری نسبت به Gig0/1  دارد و این نتیجه را بر اساس BPDU  ای که از یکدیگر گرفته اند و اطلاعات Root Bridge  در آن قرار داشت فهمیدند.و چون Switch 2  از Switch 1  مقدار Priority  بهتری دارد Switch 3  اینترفیس Gig0/1  خود را Block  می کند.و چون باید در هر Segment  یک DP  داشته باشیم Switch 2  اینترفیس Gig0/1  خود را DP  میکند.

حالا بریم سر اون نکته ای که براش سناریو ترتیب دادیم.

الان در مثال بالا Switch1 از gig0/0 و gig 0/1  خود BPDU  می فرستد که به شکل زیر است.

BPDU  خروجی Switch 1 از اینترفیس Gig0/0

  BPDU خروجیSwitch 1  از اینترفیس Gig0/1

همان طور که مشخص است فقط در قسمت هدر لایه دو یعنی Ethernet  تفاوت دارند زیرا آدرس Source  را از اینترفیسی که BPDU  ارسال میشود برداشته میشود و آدرس مقصد برای تمامی بسته BPDU  ثابت یعنی Multicast  است.

نکته: سوییچ ها بسته های Multicast  را Flood  میکنند ولی یک سری از آدرس های مالتی کست را سوییچ ها باز میکنند ،مانند بسته های برادکست یعنی در جدول Mac-Table  سوییچ مثلا جلوی آدرس مک مالتی کست نوشته CPU  یعنی این بسته توسط CPU  تحلیل شود مانند بسته های BPDU  که باید سوییچ ها در لایه بالایی بسته را تحلیل کنند و نباید آن را Flood  کند حتی اگر دقت کنید سوویچ ها بسته های CDP  یا Cisco Discovery Protocol  را دریافت و ارسال می کنند که سوییچ ها باید این بسه ها را بعد از باز کردن هدر Ethernet  آن را در لایه بالایی که هدر CDP  هست تحلیل کنند پس باید آدرس مک مقصد در هدر Ethernet  را توسط CPU  خود در Mac-Address Table  یاد بگیرد تا Flood  نکند.

بریم سر مطلب خودمون.

Switch2  و Switch 3  این بسته BPDU  را تحویل می گیرند و بعد از باز کردن هدر Ethernet  متوجه میشوند که باید بسته در لایه بالایی تحلیل شود.

می دانیم سوییچ ها از اینترفیس های DP  خود BPDU  ارسال می کنند پس Switch2  باید از اینترفیس gig0/1  خود به سمت Switch 3  بسته BPDU  بفرستد ولی اینترفیس Gig0/1  از Switch 3  هیچ BPDU  به سمت Switch 2  ارسال نمی کند زیرا اینترفیس های بلاک BPDU  ارسال نمی کنند.

بریم BPDU   ای که Switch 2  به Switch 3  از اینترفیس Gig0/1  خود ارسال می کند را باز کنیم.

اگر دقت کنید این BPDU  با BPDU  ای که Root Bridge  ارسال میکرد روی اینترفیس Gig0/0  و Gig0/1 به غیر از هدر Ethernet   در هدر STP  نیز تفاوت دارد.

خب در هدر Ethernet  همیشه آدرس مک Source  همان آدرس مک اینترفیسی است که BPDU  از آن ارسال میشود و آدرس مک گیرنده همیشه ثابت است  خب طبیعی است که آدرس مک ارسال کننده Switch 1  و Switch 2  یکی نیست.

نکته اینجاست که در هدر STP  دو قسمت مهم داریم Root Identifier  و Bridge Identifier  که در فیلد Root Identifier  اطلاعات Root  نوشته شده است و این قسمت در هر ۳ هدر بسته BPDU  ای که ما Capture  کردیم و نمایش دادیم یکسان است و اطلاعات Switch1  که Root Bridge  است در آن قرار دارد و البته مقدار Root Path Cost  تغییر میکند وابسته به تکنولوژی اینترفیسی که BPDU  را دریافت می کند و چون دو بسته اول را Root Bridge  ارسال کرده بود مقدارش صفر ولی BPDU  ای که Switch 2  به Switch 3  ارسال کرد بر اساس Cost Gig0/0  که BPDU  دریافت کرد از Root Bridge  مقدار ۴   را اضافه کرد ۰+۴ و به Switch 3  اعلام کرد و چون Switch 3  از هر دو اینترفیس خود BPDU  میگیرد مقدار Cost  هر دو را مقایسه می کند و تصمیم میگیرد Gig0/0  خود را Root Port  کند زیرا Cost  کمتری روی آن دریافت کرده.

ولی فیلد بعدی  Bridge Identifier  اطلاعات سوییچی که BPDU  را ارسال می کند نمایش داده میشود و به سوییچ همسایه اعلام می شود که صد در صد وابسته به سوییچی است که BPDU  را ارسال می کند که سوییچ مقابل از اطلاعات این فیلد استفاده هایی میکند در انتخاب Root Port  یا پورت Block.

پس حالا بهتر متوجه میشوید وقتی میگوییم  Root Bridge  بسته BPDU  ارسال میکند یعنی چی.

به این منظور نیست دیگر سوییچ ها به یک دیگر BPDU  نفرستند. چون در BPDU  ای که Non Root Bridge  ها به هم ارسال می کنند اطلاعات Root Bridge  در هدر STP  قرار دارد و سوییچ های Non Root Bridge  بر اساس Cost  ای که مبدا و معیار آن Root Bridge  هست وضعیت خود را مشخص می کنند.

سناریو زیر را در نظر بگیرید ما در این سناریو SW-1  را مقدار Priority  را صفر قرار دادیم تا Root Bridge  شود.

سوییچ ۱و۲  بر اساس BPDU  های که روی اینترفیس های خود دریافت کردند به این نتیجه رسیدند که پورت Fa0/1  خود را Root Port  کنند با Cost 19  زیرا وقتی BPDU  از ریشه تولید میشود و از هر دو دست خود ارسال میکند Cost  اولیه را صفر قرار می دهد ومثلا در SW-2  از دو اینترفیس خود BPDU  را میگیرد وقتی BPDU  از Fa0/1  وارد میشود مقدار Cost  میشود ۰+۱۹  و روی اینترفیس Fa0/2  ۰+۱۹+۱۹  پس Fa 0/1  وضع بهتری دارد بنابرین Root Port  میشود.

نکته :

وقتی SW-3  می خواهد BPDU  را به SW-2  ارسال کند از روی پورت Fa0/2  هدر لایه دو را عوض میکند و با SRC mac  آدرس فیزیکی Fa0/2  و Dst Mac  را آدرس مالتی کست Spanning-tree  می گذارد و در هدر STP  مقدار Cost  را مقدار هزینه خود تا ریشه را می گذارد یعنی ۱۹  و وقتی SW-3  بسته را دریافت میکند بر اساس Fa0/2   نوزده واحد واحد به Cost  اضافه میکند و با BPDU  که روی دست Fa0/1  دریافت کرده مقایسه میکند.

خب حالا SW-2  و SW-3  پورت Root  خود را به دست آوردند و تصمیم گرفتند که پورت Fa0/2  از SW-2  را Block  کنند و Loop  را از بین ببرند.

سوال

چرا در Segment X  سوییچ ۲ پورت خود را Block  کرد چرا سوییچ ۳ پورت Fa0/2  خود را Block  نکرد؟!

اینجا دعوا میشود بین دو سوییچ که پورت خود را Block  نکنند.

کی برنده این دعواست؟!

اونی که Cost to Root Bridge کمتری دارد.که در این سناریو مقدار هزینه برای رسیدن به ریشه در هر دو سوییچ ۱۹ است.

اونی که Bridge-ID کمتری دارد.در این سناریو مقدار Priority  هر دو سوییچ ۳۲۷۶۸ است ولی آدرس Mac  سوییچ SW-3  کمتر از SW-2  است پس سوییچ SW-2  پورت خود را Block  و چون هر Segment  نیاز به DP  دارد پورت Fa0/2  در SW-3  نقش DP  میگیرد.

مثلا در سناریو زیر با اینکه Bridge-ID  سوییچ SW-3  بهتر از SW-2  است ولی پورت Fa0/1  خود را Block  کرده زیرا هزینه SW-3  برای رسیدن به Root Bridge  برابر با ۱۹  است ولی SW-2  با توجه به این که Uplink  از نوع Gigaethernet  دارد هزینه ۴ دارد برای رسیده به Root Bridge  به همین دلیل SW-3  باید اینترفیس خود را Block  کند.

آیا SW-2  و SW-3  هر در دو BPDU  میگیرند؟!

در آخرین سناریو ما چون پورت Fa0/1  از SW-3  بلاک است و پورت Block  هیچ BPDU  ارسال نمی کند پس SW-2  فقط از اینترفیس Gig0/1 خود BPDU  دریافت میکند ولی SW-3  از هر دو اینترفیس خود BPDU  میگیرد.

سناریو زیر را در نظر بگیرید:

چرا SW-4  پورت Fa0/2 خود را Root Port  کرده است ؟!!

چرا SW-5  پورت Fa0/1 خود را Root Port  کرده است؟!!

چرا در Segment X  سوییچ SW-4  پورت خود را Block  کرده؟!

چرا در Segment Y  سوییچ SW-5  پورت خود را Block  کرده؟!

نکته :

همیشه در سناریو های بزرگ ابتدا در هر سوییج دنبال Root Port  بگردید زیرا در STP  اگر سوییچ حتی یک پورت داشته باشد آن پورت Root Port  است.

چرا SW-4  پورت Fa0/2 خود را Root Port  کرده است ؟!!

جواب :

این سوییچ مقدار Cost  ای که از دست های Fa0/1  و Fa0/2  دریافت میکند برای رسیدن به Root Bridge  برابر با ۳۸ است .

دوباره دعوا شده ولی اینبار بین دو سوییچ نه ! بین دو پورت از یک سوییچ برای Root Port  شدن

برنده دعوا کیست؟!

۱Cost  . خب مقدار Cost  در هر دو پورت ۳۸  است اصلا چون برابر بود دعوا شده است

۲-Sender Bridge-ID

BPDU  ای که روی دست Fa0/1  و Fa0/2  دریافت میکند سوییچ SW-4  یکی نیست، روی دست Fa0/1 سوییچ SW-2  و روی دست Fa0/2  سوییچ SW-3  بسته BPDU  دریافت میکند.

یعنی Sender BPDU  روی Fa0/1  سوییچ SW-2  است ولی Sender BPDU  روی Fa0/2  سوییچ SW-3  است.

حالا SW-4  نگاه میکند به Sender Bridge-ID  ها که مشخص است Priority  سوییچ SW-2  بهتر از SW-3  است پس SW-4  پورت Fa0/1  خود را Root Port  میکند.

چرا SW-5  پورت Fa0/1 خود را Root Port  کرده است؟!!

جواب

در این سوییچ هم دعوا شده بین دو پورت Fa0/1  و Fa0/2

برنده دعوا کیست؟!

۱-Cost  . خب مقدار Cost  در هر دو پورت ۵۷  است ، پس این مورد کمکی به ما نکرد.

۲-Sender Bridge-ID

روی هر دو پورت Sender BPDU  سوییچ SW-4  است پس این مورد هم کمکی به ما نمیکند تا مقایسه کنیم.

۳-Sender Port-Priority

هر پورت در STP  دارای یک Priority  است که یک عددی بین ۰ تا ۲۲۴ است که می تواند ضریب ۱۶ یا ۳۲ باشد و هر چه کمتر باشد بهتر است.

مقدار پیش فرض آن ۱۲۸  است.

و هر سوییچ در هدر STP  خود به سوییچ دیگر ارسال میکند.دقت داشته باشید که Port-Priority  در یک Segment  معنی دارد.

یعنی اگر ما روی Fa0/4  از SW-4  مقدار Port-Priority  را به ۶۴  تغییر دهیم با دستور زیر، در SW-5  اینترفیس Fa0/2   وضعیت بهتری نسبت به Fa0/1  دارد و Root Port  می شود.

در سناریو ما مقدار Port-Priority  را در SW-4  تغییر نداده ایم پس این مورد نیز کمکی به ما نمی کند.

۴-Interface Num  

صد در صد تو مورد چهارم سوییچ می تواند Root Port  را مشخص کند.

بین اینترفیس Fa0/1  و Fa0/2  شماره یا ID  کدام اینترفیس کمتر است؟ بله اینترفیس Fa0/1

و چون در STP  مقدار کمتر بهتر است مانند Priority  پس اینترفیس Fa0/1  را Root Port  میکند.

بریم سر سوال بعدی.

چرا در Segment X  سوییچ SW-4  پورت خود را Block  کرده؟!

زیرا Cost to Root Bridge  در SW-3  مقدارش کمتر است.

چرا در Segment Y  سوییچ SW-5  پورت خود را Block  کرده؟!

زیرا Cost to Root Bridge  در SW-4  مقدارش کمتر است.

در قسمت اول مقاله نحوه کار پروتکل STP  در شبکه های Ethernet  و همچنین چگونگی انتخاب سوییچ ریشه یا Root Bridge  آشنا شدیم و البته فهمیدیم که  سوییچ چگونه نقش یا Role  های اینترفیس های خود را مشخص می کند.

و اما در این مقاله موردی را می خواهیم بررسی کنیم که از اهمیت بالای در STP 802.1d  دارد که آن مدت زمان  Convergence  شدن STP  است.

انواع وضعیت یا State  ها

Block

پورتی که سوییچ بعد از دریافت BPDU  از همسایه های خود تصمیم به بلاک کردن آن کرده است و هیچ Frame  ای از این پورت ارسال  و یا دریافت نمی شود و البته باید ذکر کرد که سوییچ روی این اینترفیس از همسایگان خود  BPDU  دریافت می کند ، ولی ارسال BPDU  روی این اینترفیس ندارد.

Disable

پورتی که به صورت دستی در حالت Shutdown  می باشد و هیج تاثیری روی STP  ندارد.

Listening

زمانی که پورت در وضعیت Listening قرار می گیرد بوسیله BPDU وضعیت سوییچ Root Bridge  وهمچنین نقش خود را تعیین میکند. روی این اینترفیس هیچ گونه MAC-Address  ای Learn  نمیشود و به صورت موقت اینترفیس در این حالت می باشد تا نقش خود را در STP  مشخص کند و تنها Frame  های از جنس BPDU  را ارسال میکند و به صورت پیش فرض مدت زمان آن ۱۵ ثانیه است.

Learning

این وضعیت نیز موقت و گذرا است و زمان آن به صورت پیش فرض ۱۵ ثانیه است در این وضعیت سوییچ روی آن اینترفیس شروع به یاد گرفتن یا Learn  کردن MAC-Address  میکند و Frame  های از جنس BPDU  را میتواند ارسال کند ولی همچنان فریم های هاست ها را ارسال نمیکند.

Forwarding

در این وضعیت سوییچ بعد از مشخص کردن نقش اینترفیس های خود تصمیم به Forward  کردن اینترفیس کرده است و فقط در این حالت Frame  های یوزر ها را Forward  میکند.

خب همان طور که میبینید یک اینترفیس حداقل باید ۳۰ ثانیه زمان بگذرد تا وضعیت خود را به حالت فوروارد تغییر دهد و بتواند Frame  ها را ارسال و دریافت کند.

این مدت زمانی بسیار زیادی است در شبکه که اصلا مناسب نیست.

به اون مدت زمان ۳۰ ثانیه یعنی ۱۵ ثانیه Listening  و ۱۵  ثانیه Learning  به اصطلاح Forwarding Delay  می گویند.

سوییچ هیچ وقت نمی تواند از اون ۳۰ ثانیه صرف نظر کند زیرا تصمیمات STP  خود را در اون مدت زمان میگیرد و اگر قرار باشد پورتی را بلاک کند در اون ۳۰ ثانیه با توجه به BPDU  های دریافتی آن پورت را بلاک میکند تا Loop  شکسته شود.

ما برای بهبودی این وضع می توانیم کاری کنیم.

یک سوال آیا مراحل Learning   و Listening  برای جلوگیری از Loop  می باشد؟!!

بله

آیا روتر یا حتی کامپیوتر ها در حالت عادی میتوانند شبکه را در حالت Loop  قرار دهند؟!!

خیر ، مگر اینکه روتر یا کامپیوتر دو اینترفیس داشته باشند و این دو را در حالت Bridge  قرار دهد و هر دو را به سوییچ متصل کند که البته خیلی به ندرت از این قبیل کار ها انجام میدهند.

پس نیازی نیست روی اینترفیس هایی که به سمت کامپیوتر یا روتر می باشد این ۳۰ ثانیه معطلی برای Forward  شدن را داشته باشیم یعنی می توانیم از این ۳۰ ثانیه فقط در این اینترفیس ها صرف نظر کرد.یعنی پورت از حالت Disable  مستقیم به وضعیت Forward  برود.

این کار را با Portfast  انجام میدهند.

خب با این کار تا حدی به وضعیت STP  بهبود دادیم.

بریم سر یک موضوع بسیار مهم و حیاتی در STP  یعنی Topology Change

یک سوال

اگر سوییچ Root Bridge  دچار اختلال شود ویا لینک بین یک سوییچ تا Root Bridge  قطع شود و اصلا یک لینک direct  و یا indirect  قطع شود در STP  چه اتفاقی می افتد؟؟!!!

به صورت عادی هر سوییچ هر دو ثانیه باید حداقل روی یک اینترفیس خود BPDU  دریافت کند حالا می تواند مستقیم از Root Bridge  باشد و یا سوییچ های دیگر وضعیت Root Bridge  را در BPDU  خود اعلام کنند.

اول بریم سر موضوع Topology Change Notification

هر سوییچ در بازی STP  اگر هر تغییری روی اینترفیس خود احساس کند یعنی اینترفیس خاموش شود یا اینترفیس جدیدی UP  شود STP  را ازحالت پایداری به حالت نا پایداری تغییر می دهد.

حالت پایداری یعنی تمامی سوییح ها Root Bridge  خود را می شناسند و حداقل یک BPDU  دریافت می کنند و تمامی Role  ها و وضعیت اینترفیس های خود را می دانند.

این حالت  می تواند با قطع شدن یک لینک یا از دست دادن Root Bridge  ، به وضعیت نا پایداری تغییر کند.

وقتی هر یک از اتفاقات بالا رخ دهد ابتدا سوییچ یک بسته BPDU  که معروف به BPDU TCN  است فقط روی Root Port  خود به همسایه اعلام میکند که این بسته در هدر Spanning-tree  خود فقط مقدار BPDU Type  را Topology change notification  قرار می دهد یعنی این BPDU  از نوع BPDU Configuration  نمی باشد.

سپس همسایه به سوییچی که این بسته را ارسال کرده BPDU TCA  می دهد که همان Acknowledgment  است و در هدر STP  در فیلد BPDU Flags  قسمت Topology Change Acknowledgment  را Set  میکند و بهش اعلام میکند که TCN  تو را دریافت کردم سپس همین سوییچ دوباره BPDU TCN  از روی Root Port  خود ارسال می کند و این کار تا انجا ادامه دارد که این بسته به Root Bridge  برسد.

سوییچ ریشه یا Root  با دیدن BPDU TCN  متوجه تغییر در Topology  می شود و بسته BPDU TC  که در هدر STP  در قسمت BPDU Flags  مقدار Topology Change  را Set  میکند و از تمام اینترفیس های خود که در وضعیت DP  هستند ارسال می کند تا تمامی سوییچ ها این BPDU  را دریافت کنند و دیگر سوییچ ها با گرفتن این BPDU  مدت زمان Aging-Time  خود یا همان زمان آپدیت Mac-Table  خود را از ۳۰۰ ثانیه به ۱۵ ثانیه کاهش می دهند.

نکته : سوییچ ریشه یا Root  بسته BPDU TC  را به مدت ۱۵+۲۰  یعنی ۳۵ ثانیه ارسال می کند.(اون ۲۰ ثانیه Max-Age  و ۱۵ ثانیه نصف Forwarding Delay  است).

خب حالا متوجه شدیم که با هر تغییری روی اینترفیس ها روند بالا اتفاق می افتد و در نهایت Aging-Time  به ۱۵  ثانیه کاهش می یابد و بعد از ۳۵ ثانیه دوباره به ۳۰۰ تغییر می کند.

این اتفاق بالا خیلی خوبه ولی با هر قعطی باید این اتفاق بیفتد؟؟!!

مثلا کامپیوتری به سوییچ متصل است که مشکل کانکتوری دارد و پشت سر هم قطع و وصل  می شود و اگر سوییچ بخواهد به ازای هر بار این اتفاق BPDU TCN  ارسال کند باید برای همیشه تمامی سوییچ ها Aging-time  ۱۵ ثانیه داشته باشند که اصلا مناسب نیست برای همین دلیل سوییچ روی اینترفیس های که Portfast  می باشند و یا Type  آنها Shared  است با تغییر روی این اینترفیس ها BPDU TCN  ارسال نمی کند.

پس حالا برای استفاده از Portfast  دو دلیل داریم که مطرح شد.

انواع Type  های اینترفیس ها در STP

P2P  و Shared

سوییچ با Negotiate  کردن روی Duplex  اینترفیس متوجه این موضوع میشود.

یعنی اگر  اینترفیس سوییچ به یک دستگاهی متصل باشد که Full Duplex  است آن اینترفیس را P2P  می داند مانند سوییچ به کامپیوتر یا سوییچ به سوییچ یا حتی سوییچ به روتر.

ولی وقتی اینترفیس سوییچ به یک دستگاه Half Duplex  متصل باشد Type  اینترفیس را Shared  در نظر میگیرد.

قبول دارید الان STP  داریم که اوضاع بهتری دارد زیرا با تغییرات روی اینترفیس های Portfast  وضیعت را به عنوان نا پایدار نمی داند که بخواهد BPDU TCN  ارسال کند.

ولی هنوز مشکل داریم در STP

به مثال زیر دقت کنید.

تمامی اینترفیس ها در Vlan 1  می باشد یعنی فقط STP را برای یک Vlan داریم.

حالا فرض کنید اینترفیس Fa0/2  از SW-1  یا اینترفیس Fa0/1  از SW-2  دچار ایراد شود.

این بار قضیه فرق دارد زیرا تا قبل از قعطی SW-3  از اینترفیس Fa0/2  خود هیچ BPDU  ای به SW-2  ارسال نمی کرد چون پورت بلاک BPDU  ارسال نمی کند.

این بار هم PC-1  و PC-2  نمی توانند با یکدیگر ارتباط داشته باشند و PC-1  دسترسی به اینترنت را از دست داده زیرا هر دو این ترافیک ها از اینترفیس Fa0/2  از SW-2  به SW-1  ارسال میشد که الان قطع می باشد.

این قطعی ۵۰  ثانیه طول میکشد!!

چرا؟؟؟

چه فرقی دارد با قعطی قبلی؟؟!!

در این مدل قعطی ها SW-2  هیچ BPDU  ای دریافت نمی کند و بلافاصله ادعای Root Bridge  شدن میکند به SW-3  حالا SW-3  بعد از ۲۰  ثانیه (Max-Age)  یا بهتر بگیم بعد دریافت ۱۰ پیغام ادعای روت شدن SW-3  پیغام RLQ  یا Root Link Query  ارسال میکند تا از وضعیت Root Bridge  اصلی یعنی SW-1  با خبر می شود.

SW-3  که همچنان دارد BPDU  بهتری از SW-1  دریافت می کند و متوجه ادعای کذب SW-2  میشود اینترفیس Fa0/2  خود را از وضعیت بلاک به وضعیت Listening  و Learning  و سپس Forward  قرار میدهد  تا SW-2  بتواند BPDU  های SW-1  را دریافت کند و بعد از گذشت ۳۰ ثانیه SW-2  اینترفیس Fa0/2  خود را Root Port  میکند.

جمع این قعطی ۵۰ ثانیه است یعنی SW-2  ادعای Root Bridge  میکند و وقتی SW-3  ادعای آن را دریافت میکند بعد از ۲۰ ثانیه به حرف آن گوش می دهد و  با RLQ  وضعیت Root Bridge  را چک میکند و بعد از اطمینان از زنده بودن Root Bridge  پورت خود را از حالت Block  به وضعیت Listening  و Learning  می برد.

در سیسکو این زمان را تا ۳۰ ثانیه میتوان کاهش داد با فعال سازی Backbone Fast  روی تمام سوییچ ها. با فعال سازی آن مرحله Max-Age  را در SW-3 نظر نمیگیرد یعنی با اولین ادعای SW-2  برای Root Bridge  شدن SW-3  بلا فاصله اینترفیس Fa0/2 خود را از بلاک در می آورد و به وضعیت Listening  و Learning  قرار می دهد  تا SW-2  از وجود Root Bridge  واقعی با خبر شود و سپس اینترفیس Fa0/2  از SW-2  فوروارد میشود و ترافیک های PC-1  توسط SW-3  به SW-1  میرسد.

Backbone Fast  مدت زمان  Convergence  شدن شبکه را تا ۳۰ ثانیه کاهش می دهد با حذف Max-Age.

نکته : در اینجا نیز سوییچ ها BPDU TCN  ارسال می کنند از روی Root Port  خود و سوییچ ریشه با دیدن BPDU TCN  فریم BPDU TC  می فرستد تا Aging-Time  را به ۱۵  ثانیه برساند.به طور کلی با هر تغییر این پیغام BPDU TC  باید در شبکه پخش شود که این کار را Root Bridge  با گرفتن BPDU TCN  از دیگر سوییچ ها انجام میدهد.

به طور کلی می توان بزرگترین ضعف پروتکل STP 802.1d  را وابستگی به زمان دانست که البته با استفاده از ابزار هایی مانند Portfast , Uplinkfast  و BackboneFast  در سیسکو می توان این وابستگی را کم کرد.

دلیل این که امروزه از پروتکل Rapid STP  استفاده می کنند به دلیل اینکه این پروتکل وابستگی به زمان ندارد.

PVST

PVST   یا همان Per Vlan STP  است که یعنی ما بازی STP  را برای هر Vlan  کاملا جدا از هم داریم یا بهتر بگیم به ازای هر VLan  یک STP  داریم.

به شکل زیر دقت کنید.

در مثال بالا ما ۳ عدد سوییچ داریم که روی هر سه سوییچ Vlan  های یک تا سه ساخته شده است و لینک بین تمامی سوییچ ها Trunk  می باشد.

در این مثال سه Process  پروتکل STP  در هرسوییچ جدا از هم کار می کند.

مثلا ممکن است برای VLan  با شماره یک SW-3  سوییچ ریشه یا Root Bridge  باشد و برای Vlan  با شماره دو ، سوییچ یک Root Bridge  باشد و برای Vlan  با شماره سه SW-2  سوییچ ریشه باشد.

یا حتی برای تمامی Vlan  ها یک سوییچ Root Bridge  باشد.

به مثال زیر دقت کنید.

لازم به ذکر است در مثال بالا چون لینک Trunk  بین SW-1  و SW-3  فقط ترافیک های VLan  یک را عبور میدهد  پس برای Vlan  های دو و سه هیچ Loop  ای تهدید نمی کند شبکه را (فعلا)  و حتی می توان برای جلوگیری از BPDU  های اضافی این VLan  ها در شبکه STP  را برای آن ها در تمامی سوییچ ها غیر فعال کرد

دقت داشته باشید که اگر PVST  داریم هر سوییچ به ازای Vlan  ای که در Database  خود دارد و اگر Active  باشد و اینترفیسی در آن VLan  عضو داشته باشد باید یه خودش برای آن VLan  سوییچ ریشه باشد یا یک Root Bridge  داشته باشد برای آن VLan.

سوییچی را تصور کنید که سه Vlan  فعال دارد و به ازای هر سه Vlan  ، این سوییچ Root Bridge  است ، این سوییچ باید هر دو ثانیه (Hello Time Default 2 s) به ازای هر Vlan  جدا از هم BPDU  ارسال کنید از اینترفیس های Trunk  خود.

در PVST  نقش یا Role  های اینترفیس چگونه است؟!

در PVST  اینترفیس Trunk  چون تمامی Vlan  ها را از خود عبور می دهد می تواند به ازای هر Vlan  یک نقش داشته باشد مثلا برای Vlan 1  نقش اینترفیس Root Port  باشد ولی همان اینترفیس برای Vlan 2  بلاک و برای VLan 3  پورت Designated  باشد.

دقت داشته باشید که اگر از PVST  استفاده می کنید تمامی مباحث STP  مانند قبل است مانند نحوه انتخاب Root Bridge  یا چگونگی مشخص شدن نقش های اینترفیس ها و یا حتی Time  ها.

می توان گفت مانند STP  در PVST  ما وضعیت های Disable,Block,Listening,Learning  و Forwarding  داریم ولی به ازای هر VLan  جدا از هم.

نکته :

Potfast , Uplinkfast  و Backbonefast  نیز در PVST  عینا مانند STP  است.

به طور کلی PVST  تماما از STP  اطاعت میکند ولی به ازای هر Vlan  یک STP  داریم.

به شکل زیر خوب دقت کنید.

هر سه سوییچ یک Base Mac-address  دارند که دربسته های  BPDU  خود که برای هر سه VLan  یک تا سه می سازد از آن استفاده میکند.

یعنی سوییچ ها برای هر Vlan  نیاز به BPDU  جداگانه دارند که Bridge-ID  خود را به بقیه اعلام کند و می دانیم که Bridge-ID  از دو قسمت Priority  و Mac-Address  تشکیل شده است و سوییچ ها در BPDU  های تمامی Vlan  خود از یک آدرس مک یعنی Base Mac-Address  استفاده می کنند که می تواند بزرگترین آدرس مک اینترفیس های فیزیکی باشد یا آدرس مک اینترفیس Vlan  یک.

سیسکو برای اینکه مقدار Priority  برای تمامی Vlan  ها یکی و یکسان نشود مقدار Priority  را که ادمین مشخص می کند را با مقدار sys-id-ext  جمع میکند و آن را در بسته های BPDU  خود تبلیغ میکند که این مقدار sys-id-ext  دقیقا از روی شماره VLan  برداشته شده است.

یعنی اگر ادمین مقدار Priority  را برای VLan  بیست ، ۴۰۹۶ در نظر گرفته باشد در نهایت مقدار Priority  برای آن Vlan  عدد

۴۰۹۶+۲۰  یعنی ۴۱۱۶  میشود.

هدف از این کار این است که سیسکو قصد داشته مقدار نهایی Priority  ها برای Vlan  های مختلف حتی با در نظر گرفتن Priority  برابر برای تمامی Vlan  ها ، یکسان نشود.

بر این اساس و با توجه به مقدار اولیه Priority  برای هر Vlan  در سه سوییچ که ادمین در مثال بالا در نظر گرفته می توان Bridge-ID  هر سه سوییچ را اینگونه در نظر گرفت :

برای SW-1

BID For VLan 1 = (1 , 0050.0f32.d4ee)

BID For VLan 2 = (4098 , 0050.0f32.d4ee)

BID For VLan 3 = (8192 , 0050.0f32.d4ee)

که عدد اول در پرانتز مقدار نهایی Priority   وعدد دوم Base Mac-Address  می باشد که برای همه Vlan  ها یکی است.

برای SW-2

BID For VLan 1 = (8193 , 0002.1687.59e0)

BID For VLan 2 = (2 , 0002.1687.59e0)

BID For VLan 3 = (4099 , 0002.1687.59e0)

و برای SW-3

BID For VLan 1 = (4097 , 00e0.a3aa.5aeb)

BID For VLan 2 = (8194 , 00e0.a3aa.5aeb)

BID For VLan 3 = (3, 00e0.a3aa.5aeb)

نکته :

می دانیم که تاثیر Priority  در انتخاب Root Bridge  بیشتر از Mac-Address  است زیرا در بیت پر ارزش تر قرار دارد.

خب بر این اساس میتوان فهمید که SW-1  برای VLan  یک  و SW-2 برای VLan  دو ، و SW-3  برای Vlan  سه سوییچ ریشه یا Root Bridge  شده اند یعنی سه سوییچ و سه Root Bridge .

حالا بریم سر Role   یا نقش اینترفیس ها در PVST  که هر اینترفیس سه نقش ( به ازای هر Vlan  )

نقش اینترفیس ها مانند STP  مشخص می شود یعنی Root Port , Designated Port  و (Alternate Port)Block

اول بریم سر Root Port   ها

بهتر است هر Vlan را جداگانه  بررسی کرد ، ابتدا Vlan 1

برای VLan  یک ، SW-1  سوییچ ریشه یا Root Bridge  است ، پس تمامی اینترفیس های SW-1  برای VLan  یک در نقش DP  را دارند.

علت اینکه SW-2  اینترفیس Fa0/2  خود را بلاک کرد نه SW-2  ،این بود که Priority  برای VLan 1  در SW-3  بهتر از SW-3  بود.

بریم سراغ VLan  دو.

برای این VLan  سوییچ دو Root Bridge  است به دلیل Bridge-ID بهتر پس داریم :

دلیل اینکه SW-1  اینترفیس Fa0/1  خود را بلاک کرده این است که Priority  سوییچ دو بهتر از SW-1  است.

همان طور که مشاهده کردید هر اینترفیس فقط یک نقش ندارد و به ازای VLan  های مختلف نقش های مختلفی دارد مثلا اینترفیس Fa0/1  از SW-1  برای Vlan  یک ، DP  است  ، برای VLan  دو ، Root Port  است و برای VLan  سه ، Block  است.

نکته : به دلیل اینکه اینترفیس ها یک نقش مشترک در سه Vlan  را ندارند ، نرم افزار Cisco Packet Tracer  تمامی اینترفیس های را با LED  سبز نشان داده است.

اگر یک اینترفیس برای تمامی VLan ها بلاک باشد ، LED  اینترفیس نارنجی است و این اتفاق معمولا زمانی رخ میدهد که یک سوییچ به ازای تمامی VLan ها Root Bridge  باشد ، نه مثل مثال ما که به ازای هر Vlan  یک Root Bridge  جدا داشته باشیم.

شاید یکی از زیباترین و به صرفه ترین استفاده های PVST  در سیسکو Load sharing  در کناره HA  یا همان High availability  است .

منظور از Load Sharing  همان پخش کردن ترافیک است تا از ماکسیموم ظرفیت شبکه استفاده کامل کنیم.

در مثال بالا MLS-1  را به برای Vlan  های یک و دو سوییچ ریشه قرار دادیم.

و این سوییچ برای Vlan  های سه و چهار Root Secondary  شده است.

همان طور که مشاهده می کنید MLS-1  برای Vlan  های  ۱,۲  و MLS-2  برای Vlan  های سه وچهار Root Bridge  هستند و هر دو Backup همدیگر برای Root Bridge  شدن هستند.

نکته : با این کانفیک MLS-1  و MLS-2  هیچ پورت بلاکی برای هیچ Vlan  ای ندارند زیرا هر دو سوییچ Bridge-ID  بهتری نسبت به SW-1  برای  تمامی VLan  ها دارند.

همان طور که مشاهده می کنید نقش اینترفیس های Fa0/1  و Fa0/2  در SW-1  برای Vlan  های یک و دو دقیقا مانند یکدیگر است ، یعنی اینترفیس Fa0/1  روت پورت  و Fa0/2  بلاک شده است ، خب دلیل این موضوع کاملا مشخص است زیرا Root Bridge  برای این دو VLan  یک سوییچ یعنی MLS-1  است.

همان طور که مشاهده می کنید نقش اینترفیس های Fa0/1  و Fa0/2  در SW-1  برای Vlan  های سه و چهار دقیقا مانند یکدیگر است، یعنی اینترفیس Fa0/2  روت پورت  و Fa0/1  بلاک شده است ، خب دلیل این موضوع نیز کاملا واضح است، زیرا Root Bridge  برای این دو VLan  یک سوییچ یعنی MLS-2  است.

یعنی می توان نتیجه گرفت که ترافیک PC  های داخل Vlan  یک و دو از اینترفیس Fa0/1  در SW-1  ارسال می شود و ترافیک اینترفیس های PC  های Vlan  سه و چهار از اینترفیس Fa0/2  در SW-1  ارسال می شود و ما از ظرفیت شبکه کامل بهره بردیم.

اگر در این سناریو برای تمامی Vlan  ها یک سوییچ لایه Distribution  سوییچ ریشه یا Root Bridge  میشد تمامی ترافیک ها فقط از یک لینک در SW-1  ارسال می شد که آنوقت هیچگونه Load Sharing  ای در کار نبود.

نکته : شما می توانید  در این سناریو با زدن دستور Portfast  در SW-1  بر روی اینترفیس های Fa0/3  تا Fa0/6  به هر چه بهتر کار کردن PVST  کمک کنید ، همچنین می توانید دستور Uplinkfast  را در SW-1  بزنید تا در صورت قطع شدن هر یک از اینترفیس های Fa0/1  یا Fa0/2  سوییچ SW-1  سریعا Root Port  جدید خود را برای آن Vlan  فوروارد یا FWD  کند.

پاسخ دهید

آدرس ایمیل شما منتشر نخواهد شد. فیلدهای اجباری مشخص شده اند *
شما می توانید از این تگ های HTML و ویژگی ها استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>