قابلیت های پیشرفته STP (بخش اول)

نویسنده: حسنا حسن نژاد
4 ماه پیش

قابلیت های پیشرفته STP (بخش اول)

پروتکل STP یک پروتکل لایه 2 ای است که از روشی ساده برای محاسبه یک توپولوژی بدون Loop در شبکه پیروی می کند. برای خواندن جزئیات دقیق تر این پروتکل می توانید به مقاله Spanning Tree چیست مراجعه کنید.

برای بهبود در عملکرد پروتکل STP، می توان از قابلیت های پیشرفته این پروتکل استفاده نمود. در این مقاله به بررسی چهار قابلیت BPDU Filter ,BPDU Gaurd ,PortFast و Root Guard در (Per vlan spanning tree) PVST پرداخته می شود. در پست های آتی سایر قابلیت ها (Loop Guard، UDLD، UplinkFast و BackboneFast) مطرح خواهند شد.

 

PortFast

ویژگی PortFast به پورت این امکان را می دهد تا بلافاصله از حالت Block به حالت Forward منتقل شود (در واقع دیگر پروسه Listening و Learning را طی نخواهد کرد). از آنجا که هدف PortFast، به حداقل رساندن مدت زمانی است که پورت باید منتظر بماند تا توسط STP از حالت Block به Listen ،Learn و در نهایت Forward، همگرا شود، تنها باید در پورت های متصل به End Device ها نظیر کامپیوتر، پرینتر، دوربین و.. پیکربندی شود. اگر پورتی که روی آن PortFast فعال شده است به یک سوئیچ وصل شود، می تواند منجر به ایجاد یک Loop موقت STP شود که این امر به طور بالقوه برای شبکه مضر است. در هنگام فعال کردن این قابلیت، IOS در مورد این موضوع هشدار می دهد.

همگرایی سریع تر STP، شاید اصلی ترین مزیت ویژگی PortFast باشد اما تنها مزیت آن نخواهد بود. از دیگر مزیت های PortFast این است که با تغییر وضعیت (Up و یا Down شدن) پورتی که روی آن این قابلیت فعال است، سوئیچ هیچ گاه TCN (Topology Change Notification) BPDU ارسال نمی کند. زیرا ارسال TCN می تواند منجر به پاک شدن جدول MAC در سایر سوئیچ ها و در نتیجه Flood بیش از حد در آن ها شود. PortFast می تواند به طور قابل ملاحظه ای باعث کاهش بسته های ناشی از Flood سوئیچ ها در شبکه شود. به همین دلیل اجرای صحیح PortFast در شبکه بسیار مهم است.

به طور کلی دو روش برای فعال کردن PortFast وجود دارد: به صورت Globally یا Per Interface.

STP PortFast

BPDU Guard

BPDU Guard مانع از دریافت BPDU بر روی پورت می شود. زمانی که اولین BPDU روی اینترفیسی که روی آن BPDU Guard فعال است، دریافت شود، پورت در وضعیت Error-Disable قرار می گیرد.

به طور کلی دو روش برای فعال کردن BPDU Guard وجود دارد: به صورت Globally یا Per Interface. شایان ذکر است در صورت استفاده از روش Globally، این قابلیت تنها بر روی اینترفیس هایی اعمال می شود که PortFast در آن ها فعال باشد اما در روش Per Interface نیاز به فعال بودن PortFast نیست.

STP BPDU Guard

BPDU Filter

قابلیت BPDU Filter، مانع از ارسال و دریافت بسته های BPDU بر روی پورت هایی که بر روی آن ها PortFast فعال باشد، می شود. به طور معمول، پورت هایی از سوئیچ که بر روی آن ها قابلیت PortFast فعال شده است، به End Device ها نظیر کامپیوتر کاربران، پرینتر و ... متصل می شوند. این End Device ها درفرایند STP شرکت نمی کنند و از این رو در صورت دریافت بسته های BPDU، آن ها را Drop می کند. در نتیجه، BPDU Filter مانع از انتقال غیر ضروری بسته های BPDU به End Device ها می شود.

به طور کلی دو روش برای فعال کردن BPDU Filter وجود دارد: به صورت Globally یا Per Interface.

فعال سازی این قابلیت به صورت Globally، تنها بر روی اینترفیس هایی اعمال می شود که PortFast در آن ها فعال باشد. در حالت Globally، سوئیچ بسته های BPDU ورودی اینترفیس را فیلتر نمی کند، اما بیشتر بسته های BPDU خروجی اینترفیس فیلتر می شوند. هنگامی که پورت Up می شود، تعدادی بسته BPDU ارسال می شود. در صورت دریافت BPDU، ویژگی های PortFast و BPDU Filter غیرفعال می شود.

 به طور کلی زمانی که این قابلیت Globally فعال شود، BPDU Filter دارای موارد زیر است:

  • این قابلیت بر روی تمام پورت هایی که در آن ها PortFast فعال است و برای آن ها BPDU Filter به صورت اختصاصی در زیر پورت فعال نیست، تأثیر می گذارد.
  • در صورت دریافت بسته های BPDU، پورت وضعیت PortFast خود را از دست می دهد و در نتیجه BPDU Filter غیرفعال می شود و همانند پورتی که STP روی آن فعال است، بسته های BPDU را بر روی پورت ارسال و دریافت می کند.
  • هنگام راه اندازی این قابلیت، پورت تعدادی بسته BPDU را انتقال می دهد. اگر این پورت در این مدت هر نوع BPDU ای را دریافت کند، PortFast و BPDU Filter غیرفعال می شوند.

فعال سازی این قابلیت به صورت Per Interface، بسته های BPDU ورودی و خروجی به اینترفیس را، مستقل از فعال بودن PortFast، فیلتر می کند. در واقع معادل خاموش کردن STP است که می تواند بسیار خطرناک باشد. زیرا به راحتی می تواند منجر به ایجاد یک حلقه دائمی در شبکه شود. نکته قابل توجه این است که IOS هنگام اعمال این دستور، پیام هشداری را نشان نمی دهد.

به طور کلی زمانی که این قابلیت به صورت جداگانه بر روی یک پورت فعال شود، BPDU Filter دارای موارد زیر است:

  • همه بسته های BPDU دریافت شده بر روی پورت را، نادیده می گیرد.
  • هیچ گونه بسته BPDU ای ارسال نمی شود.
  • اگر در همان اینترفیسی که بر روی آن فعال شده است، BPDU Guard نیز فعال شود، BPDU Guard هیچ تاثیری نخواهد داشت. زیرا BPDU Filter نسبت به BPDU Guard برتری دارد.

STP BPDU Filter

Root Guard

ویژگی Root Guard روشی برای کنترل محل قرارگیری Root Bridge در شبکه فراهم می کند. در اصل، یک سوئیچ، شناسه فعلی Root Bridge را یاد می گیرد. اگر یک سوئیچ دیگر Superior BPDU یا یک Bridge ID بهتری را تبلیغ کند، سوئیچی که روی پورت آن Root Guard فعال است، اجازه نمی دهد تا سوئیچ جدید به Root Bridge تبدیل شود و پورت به عنوان Root-Inconsistent و در وضعیت Block قرار می گیرد. مادامی که Superior BPDU روی پورت دریافت می شود، این پورت در حالت Root-Inconsistent STP باقی می ماند. در این حالت هیچ داده ای نمی تواند ارسال یا دریافت شود، اما سوئیچ می تواند به BPDU های دریافت شده روی پورت گوش دهد تا بتواند سوئیچی را که خود را به عنوان Root Bridge جدید اعلام می کند، شناسایی کند. در واقع این حالت معادل وضعیت Listen می باشد. این قابلیت تنها به صورت Per Interface فعال می شود.

STP Root Guard

نکته: ویژگی های BPDU Guard و Root Guard مشابه یکدیگر هستند، اما تاثیر آن ها متفاوت خواهد بود. در BPDU Guard، با دریافت BPDU، پورت در وضعیت Error-Disables قرار می گیرد و به دستگاه متصل به آن، اجازه مشارکت در STP را نخواهد داد. فعال سازی مجدد پورت باید یا به صورت دستی صورت گیرد (با Shutdown و No Shutdown کردن پورت) و یا زمان برای پایان Error-Disables آن (با Error-Disable Recovery) تنظیم شود. در Root Guard، تا زمانی که روی پورت Superior BPDU دریافت نشود، به دستگاه متصل به آن، اجازه مشارکت در STP داده می شود. اگر Superior BPDU  دریافت شود، پورت موقتا مسدود می شود (در وضعیت Root-Inconsistent STP  قرار می گیرد) و بازیابی مجدد پورت اتوماتیک خواهد بود. پورت به محض متوقف شدن دریافت Superior BPDU، دوباره فعال می شود.

جمع بندی

  • PortFast: با فعال سازی این قابلیت بر روی یک پورت، هم بسته های BPDU ارسال می شود و هم بسته های BPDU دریافت شده پردازش می شود.
  • BPDU Guard: این قابلیت از دریافت بسته های BPDU بر روی پورت جلوگیری می کند و در صورت دریافت هر بسته BPDU، پورت در وضعیت Error-Disable قرار می گیرد اما مانع از ارسال آن ها نمی شود.
  • BPDU Filter: این قابلیت با جلوگیری از ارسال یا دریافت هر گونه بسته BPDU ،STP را بر روی پورت مشخص شده غیر فعال می کند.
  • Root Guard: با فعال سازی این قابلیت، در صورت دریافت Superior BPDU پورت به صورت موقت در وضعیت Root-Inconsistent قرار می گیرد. اما مانع از ارسال و دریافت سایر بسته های BPDU نخواهد شد.
182
0
1
نظرات