صادق شعبانی
کارشناس ارشد سیسکو

آموزش راه اندازی Backbone Fast در سویچ سیسکو

در سری سناریو های سیسکو امروز می خواهیم به آموزش راه اندازی Backbone Fast بپردازیم. ابتدا سناریو را تشریح می کنیم و روش حل مسئله را باز می کنیم و با هم این سناریو را انجام می دهیم : یکی از تایمرهایی که قبلا" در خصوص آن صحبت کردیم ، تایمر MAX AGE است که هدف از آن این است که اگر سوئیچ روی یک پورت بلاکش ، BPDU بدتر بگیرد بلافاصله این تغییر را قبول نکندو زمانی معادل 20 ثانیه را صبر کند تا از تغییرات شبکه مطمئن شود.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

در واقع سوئیچ آخرین BPDU خوبش را در حافظه اش ذخیره و بعد از 20 ثانیه آنرا منقضی می کند.هدف سوئیچ از صبر 20 ثانیه ای خود این است که اگر تغییر توپولوژی مطمئن شد با وارد شدن به وضعیت های بعدی در پروسه همگرایی نقش پورتی مثل بلاک که تاکنون بلاک بود مشخص شود.خودمونی میگم ، سر ماجرای BACKBONEFAST ماجرا اینه که به جای اینکه سوئیچ 20 ثانیه صبر کنه که مطمئن بشه یه جای شبکه یه تغییر ایجاد شده خودش بره سوال و جواب بپرسه.

42

الان مثلا" پروتکل STP زده پورت FA0.2 از سوئیچ SW4 رو بلاک کرده اما با این حال از سمت SW2 روی پورت بلاکش BPDU دریافت می کنه.یه نکته ای رو حواستون بهش باشه ، اگه یه پورت توسط پروتکل STP بلاک بشه گوش به زنگ STP هست شاید یهو یه چیزی شد لازم شد تغییر وضعیت بده.

حالا یه جای شبکه یه تغییری ایجاد میشه و در دریافت جریان BPDU برای SW4 تغییر ایجاد میشه ، مثلا" ارتباط SW2 از طریق پورت RP خودش با سوئیچ روت قطع میشه و حالا توهم میزنه که سوئیچ روت هستش و به سمت SW4 شروع به ارسال BPDU میکنه و طفلکی SW4 هم 20 ثانیه به BPDU های این سوئیچ گوش میکنه.

43

به عبارت دیگه ، هدف MAX AGE اینه که سوئیچ مطمئن بشه تغییر در شبکه پایدار هست و حالا بره سراغ وضعیت های بعدی پروسه همگرایی ، اما میشه از روش دیگه ای ( غیر از صبر کردن ) هم مطمئن شد که این تغییر پایدار هست یا اینکه نه ، توپولوژی شبکه عوض شده یا نه .قبل اینکه ارتباط SW2 با سوئیچ روت قطع بشه و باهاش ارتباط داشته اگه ازش بپرسیم به روت دسترسی داره مطمئنا" جوابش مثبته و اگه ارتباطش قطع بشه اگه دوباره ازش سوال بپرسیم مطمئنا" جواب دسترسی به روتش منفی هست.

ما از همین ایده استفاده می کنیم و اگه یه سوئیچی دردریافت جریان BPDU ی خودش تغییری حس کرد از سوئیچ های متصل به خودش بپرسه به روت دسترسی دارین یا نه.الان نگاه کنید مثلا" تو تصویر پایین اگه سوئیچ sw4 ، از سوئیچ هایی که باهاشون در ارتباطه بپرسه که با روت در ارتباط هستین یا نه ؟ اون سوئیچ ها ( sw2 و sw3 ) مطمئنا" جواب میدن بله ما به سوئیچ روت دسترسی داریم و چون پورت fa 0.2 از sw4 توسط پروتکل stp جهت جلوگیری از loop بلاک شده خیالش راحته و میدونه stp اگه لازم شد بعدا" وضعیت پورت بلاکش رو عوض میکنه.

42

حالا مثلا" تو تصویر پائینی ، اگه sw4 از سوئیچ های دوطرف سوال بپرسه که آیا به سوئیچ روت دسترسی دارین ، sw3 پاسخش مثبته ولی sw2 مدعی هست که خودش روت بریجه در نتیجه sw3 در موردی سوالی که sw4 پرسیده replay میده ولی sw2 که خودش الان مدعی شده که روت هست با طبق طبق افاده اش میگه من خودم روتم!به تو سوئیچ access باید جواب بدم؟عمرا" فک کردی کی هستی؟ من روتم!روت!می فهمی؟ از کی تا حالا من پادشاه تاج به سر به زیر دستی مثل تو باید جواب پس بدم؟پس replay به سمت sw4 در خصوص سوالی که پرسیده شده که آیا شما به سوئیچ روت دسترسی دارین یا خیر ، بر نمی گردونه.

وقتی sw4 میبینه که از سمت sw2 به روت دسترسی نداره پس دلیلی وجود نداره اون پورت بلاکش همچنان بلاک بمونه و باید تو ساختارش تجدید نظر کنه و به وضعیت listening بره.قبلا" اون پورت بلاک بود چون اولا" به سمت سوئیچ روت مسیر داشت تا loop ایجاد نشه و هم اینکه روی پورت بلاک bpdu سوئیچ روت رو دریافت می کرد ولی حالا که از طریق پورت بلاک به سمت سوئیچ روت دسترسی ای وجود نداره چرا باید به bpdu ای غیر از bpdu سوئیچ روت گوش کنه؟نقش پورت ها تماما" با توجه به سوئیچ روت تعیین می شن.

43

یعنی پورتی که bpdu های سوئیچ روت رو ارسال میکنه DP هست و پورتی که BPDU های سوئیچ روت رو دریافت میکنه RP و RP بهترین مسیر به سمت سوئیچ روت هست.پورت بلاک هم با توجه به سوئیچ روت تعیین میشه ، حالا که پورت بلاک تو مسیرش سوئیچ روت رو نمی بینه دلیلی هم وجود نداره که بلاک بمونه!

برگردیم به مقایسه MAX AGE و فیچر BACKBONEFAST ، پورت سوئیچ با دریافت BPDU بدتر ، مدت زمان MAX AGE که 20 ثانیه هست منتظر می مونه تا از تغییرات توپولوژی شبکه مطمئن بشه ولی با کمک فیچر BACKBONEFAST خودش از طریق سوال و جواب بررسی میکنه که آیا توپولوژی شبکه تغییر پیدا کرده یا نه؟

نگاه من به فیچر BACKBONEFAST در واقع BYPASS کردن زمان MAX AGE هست.یعنی اگه قرار باشه یه پورت بلاک ( یا RP ) با دریافت BPDU بدتر 20 ثانیه MAX AGE صبر کنه و فقط به BPDU بدتر گوش کنه ، اینکارو نکنه و با سوال و جواب به این نتیجه تغییر توپولوژی برسه و سریعا" وارد پروسه همگرایی بشه.

  • حل سناریو

به سناریو زیر دقت کنید

4

تنها کانفیگ من این بود که IOU1 سوئیچ روت باشه:

OU1(config)#SPANning-tree VLAN 1 ROOT PRimary 
IOU1(config)#
IOU1#
IOU1#
IOU1#
*Dec 20 04:19:02.819: %SYS-5-CONFIG_I: Configured from console by console
IOU1#SHOW SPAN
IOU1#SHOW SPANning-tree 

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    24577
             Address     aabb.cc00.0100
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    24577  (priority 24576 sys-id-ext 1)
             Address     aabb.cc00.0100
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0               Desg FWD 100       128.1    Shr 
Et0/1               Desg FWD 100       128.2    Shr

همچنین نقش پورتهای سوئیچ IOU4 بصورت زیر هست

Et0/0  (IOU4) -> BLOCK PORT           
Et0/1  (IOU4) ->  ROOT PORT      


IOU4#SHOW SPANning-tree 

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0               Altn BLK 100       128.1    Shr 
Et0/1               Root FWD 100       128.2    Shr 

Et1/0               Desg FWD 100       128.33   Shr 
Et1/1               Desg FWD 100       128.34   Shr

خب به روال سابق از کامند DEBUG استفاده می کنم

IOU4#DEBug SPANning-tree EVents 
Spanning Tree event debugging is on
IOU4#

حالا برای سوئیچ IOU4 یک تغییر INDIRECT بوجود میارم و مثلا" ETH0/0 از IOU2 رو SHUTDOWN میکنم.

IOU2(config)#INTerface ETHernet 0/0
IOU2(config-if)#SHUTdown  

خب با قطع ارتباط سوئیچ IOU2 با روت ، این سوئیچ مدعی میشه که روت هست و به سمت سوئیچ IOU4 شروع به ارسال BPDU میکنه

IOU4#
*Dec 20 04:28:46.095: STP: VLAN0001 heard root 32769-aabb.cc00.0200 on Et0/1
IOU4#
*Dec 20 04:28:48.087: STP: VLAN0001 heard root 32769-aabb.cc00.0200 on Et0/1
IOU4#
*Dec 20 04:28:50.103: STP: VLAN0001 heard root 32769-aabb.cc00.0200 on Et0/1
IOU4#
*Dec 20 04:28:52.099: STP: VLAN0001 heard root 32769-aabb.cc00.0200 on Et0/1
IOU4#
*Dec 20 04:28:54.103: STP: VLAN0001 heard root 32769-aabb.cc00.0200 on Et0/1
IOU4#
*Dec 20 04:28:56.103: STP: VLAN0001 heard root 32769-aabb.cc00.0200 on Et0/1
IOU4#
*Dec 20 04:28:58.111: STP: VLAN0001 heard root 32769-aabb.cc00.0200 on Et0/1
IOU4#
*Dec 20 04:29:00.115: STP: VLAN0001 heard root 32769-aabb.cc00.0200 on Et0/1
IOU4#
*Dec 20 04:29:02.115: STP: VLAN0001 heard root 32769-aabb.cc00.0200 on Et0/1

همونطور که دیدید سوئیچ IOU4 روی پورت ETH0/1 خودش 10 تا BPDU در زمان های 2 ثانیه دریافت کرد این دقیقا"همون زمان MAX AGE بود که دربارش صحبت کردیم ، بعدش وارد پروسه همگرایی شد

*Dec 20 04:29:03.659: STP: VLAN0001 new root port Et0/0, cost 200
*Dec 20 04:29:03.659: STP: VLAN0001 Et0/0 -> listening
*Dec 20 04:29:04.123: STP: VLAN0001 heard root 32769-aabb.cc00.0200 on Et0/1
*Dec 20 04:29:04.127: STP: VLAN0001 Topology Change rcvd on Et0/1
*Dec 20 04:29:04.127: STP: VLAN0001 sent Topology Change Notice on Et0/0
IOU4#
*Dec 20 04:29:18.663: STP: VLAN0001 Et0/0 -> learning
IOU4#
IOU4#
IOU4#
*Dec 20 04:29:33.667: STP[1]: Generating TC trap for port Ethernet0/0
*Dec 20 04:29:33.667: STP: VLAN0001 sent Topology Change Notice on Et0/0
*Dec 20 04:29:33.667: STP: VLAN0001 Et0/0 -> forwarding

و نهایتا" پورت ETH0/0 به وضعیت FORWARD تغییر کرد

IOU4#SHOW SPANning-tree 


Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0               Root FWD 100       128.1    Shr 
Et0/1               Desg FWD 100       128.2    Shr

قبلا" و در شرایط عادی از سمت سوئیچ IOU4 ، دو مسیر به سمت سوئیچ روت وجود داشت که نقش یک پورت RP و دیگری بلاک شد ولی حالا که تنها یک مسیر وجود دارد نقش پورت ها بصورت زیر عوض شد :

BEFORE( 2 way to R.B)
----------------------------------------------------
Et0/0  (IOU4) -> BLOCK PORT           
Et0/1  (IOU4) ->  ROOT PORT      




AFTER( 1 way to R.B)
----------------------------------------------------
Et0/0  (IOU4) -> ROOT PORT          
Et0/1  (IOU4) ->  DESIGNATED PORT     




IOU4#SHOW SPANning-tree 
Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0               Root FWD 100       128.1    Shr 
Et0/1               Desg FWD 100       128.2    Shr

خب ما شرایط رو به حالت قبل بر می گردونیم

IOU2(config)#INTerface ETHernet 0/0
IOU2(config-if)#NO SHUTdown

کانفیگ فیچر BACKBONEFAST

IOU1(config)#SPANning-tree BACkbonefast 
IOU2(config)#SPAnning-tree BACkbonefast 
IOU3(config)#SPANning-tree BAckbonefast 
IOU4(config)#SPAnning-tree BAckbonefast

پس از کانفیگ این فیچر ، انتظار ما از سوئیچ IOU4 این است که اگر روی پورت RP که بهترین مسیر به سمت روت است ، BPDU بدتر دریافت کرد ، بدون اینکه زمان MAX AGE صبر کند تا از تغییر توپولوژی مطمئن شود ، از طریق مکانیزم RLQ (پرسش از سوئیچ ها ی بالا دستی ) از تغییر در شبکه مطمئن شود.

مجددا یک تغییر INDIRECT بوجود می آوریم

IOU2(config)#INterface EThernet 0/0
IOU2(config-if)#SHUtdown

حالا روی سوئیچ IOU4 با دریافت BPDU بدتر بلافاصله وارد پروسه همگرایی و فاز LISTENING می شود.

IOU4#
*Dec 20 04:54:12.103: %SYS-5-CONFIG_I: Configured from console by console
IOU4#
*Dec 20 04:58:03.735: STP: VLAN0001 heard root 32769-aabb.cc00.0200 on Et0/1
*Dec 20 04:58:03.743: STP: VLAN0001 new root port Et0/0, cost 200
*Dec 20 04:58:03.743: STP: VLAN0001 Et0/0 -> listening
*Dec 20 04:58:03.823: STP: VLAN0001 Topology Change rcvd on Et0/1
*Dec 20 04:58:03.823: STP: VLAN0001 sent Topology Change Notice on Et0/0
IOU4#
*Dec 20 04:58:18.747: STP: VLAN0001 Et0/0 -> learning
IOU4#
*Dec 20 04:58:33.747: STP[1]: Generating TC trap for port Ethernet0/0
*Dec 20 04:58:33.747: STP: VLAN0001 sent Topology Change Notice on Et0/0
*Dec 20 04:58:33.747: STP: VLAN0001 Et0/0 -> forwarding
IOU4#
IOU4#

صادق شعبانی
صادق شعبانی

کارشناس ارشد سیسکو

صادق شعبانی ( هکر قانونمند ، مهندس مایکروسافت ، کارشناس ارشد سیسکو ) : انسانی که کنار میکشه هیچوقت پیروز نمیشه و انسانی که پیروز میشه هیچوقت کنار نمی کشه.

نظرات