بیشتر افرادی که با تجهیزات شبکه سر و کار دارند، می دانند که برای داشتن پهنای باند بیشتر در شبکه میتوان سوئیچ ها و روترها را با چند لینک بهم متصل نمود که با این کار نوعی Redundancy نیز در شبکه ایجاد و سبب بوجود آمدن Loop میشود. این پروتکل به صورت پیش فرض فعال است و به خوبی وظایف خود را انجام داده و اجازه ایجاد LOOP را نمیدهد. البته برای کسب بالاترین میزان بازدهی و رسیدن به کمترین قطعی نیاز به بهینه سازی این پروتکل است. ما در این مقاله قصد داریم در رابطه با پروتکل STP و عملکرد آن در شبکه صحبت کنیم، پس تا انتهای مقاله همراه ما باشید.
Loop چیست؟
Loop به معنی حلقه میباشد و در شبکههای کامپیوتری به ایجاد حلقه در شبکه گفته میشود. در یک شبکه با تعدادی دستگاه، اگر دو یا بیشتر از آنها با هم به صورت چندگانه متصل شوند، ممکن است یک حلقه در شبکه ایجاد شود. این حلقه ممکن است باعث ایجاد تداخل در شبکه و کاهش عملکرد و عدم قابلیت اطمینان شبکه شود.
به عنوان مثال، در یک حلقه شبکه، اگر یک بسته از یک دستگاه به دستگاه دیگر ارسال شود، این بسته به صورت پیوسته در حلقه گردش میکند و تداخل در شبکه ایجاد میشود. برای جلوگیری از ایجاد حلقه در شبکه، از پروتکلهایی مانند: Spanning Tree Protocol (STP) استفاده میشود که در ادامه بیشتر با آن آشنا خواهیم شد.
پروتکل STP چیست:
STP یا Spanning Tree Protocol یک پروتکل شبکه است که برای جلوگیری از ایجاد حلقه در شبکههای LAN با استفاده از تکنیک Spanning Tree استفاده میشود. تکنیک Spanning Tree در واقع یک الگوریتم است که به کمک آن، یک درخت را برای شبکه LAN ایجاد میکند تا حلقهها را از بین ببرد.
این پروتکل در شبکههای LAN با توپولوژی درختی استفاده میشود و با انتخاب یک ریشه برای درخت، از ایجاد حلقه در شبکه جلوگیری میکند. بنابراین، در صورت بروز خرابی در یکی از پیوندهای شبکه، پروتکل STP به صورت خودکار پیوندهای دیگر را بررسی میکند و مسیری جایگزین را برای ارتباط بین دستگاهها انتخاب میکند.
در یک شبکه با توپولوژی درختی، اتصال دستگاهها به یک سوئیچ شبکه (switch) ممکن است به طور غیرمستقیم انجام شود، به عبارت دیگر، دستگاهها ممکن است به سوئیچهای متعددی وصل شوند و ارتباطات بین آنها از طریق این سوئیچها برقرار شود. در این حالت، ممکن است حلقههایی در شبکه ایجاد شود که باعث به وجود آمدن مشکلاتی مانند: broadcast storm و تداخل در شبکه شود.
برای جلوگیری از ایجاد حلقه در شبکه، پروتکل STP به کمک تکنیک Spanning Tree، یک درخت را برای شبکه LAN ایجاد میکند. در این درخت، یکی از سوئیچها به عنوان ریشه (root) تعیین میشود و تمامی پیوندهای شبکه به سمت ریشه جریان مییابند. به این ترتیب، درختی بدون حلقه برای شبکه ایجاد میشود و مشکلاتی مانند: broadcast storm و تداخل در شبکه جلوگیری میشود.
اگر پروتکل STP وجود نداشت، طوفان Broadcast رخ میدهد، خصوصا در توپولوژی تصویر زیر.
آیا پروتکل STP در تمامی شبکهها استفاده میشود:
بله، پروتکل STP (Spanning Tree Protocol) یک پروتکل استاندارد در لایه دوم مدل OSI (Data Link Layer) است که برای جلوگیری از ایجاد حلقه در شبکه و برقراری یک درخت ارتباطی در شبکه استفاده میشود. این پروتکل توسط IEEE (Institute of Electrical and Electronics Engineers) تعریف شده است و در تمامی شبکههایی که از پروتکل Ethernet استفاده میکنند، اجرا میشود.
بنابراین، STP در تمامی شبکههایی که از پروتکل Ethernet استفاده میکنند، اجرا میشود و از آن برای جلوگیری از ایجاد حلقه در شبکه و بهبود عملکرد و قابلیت اطمینان شبکه استفاده میشود. با این حال، برخی شبکهها ممکن است از پروتکلهای دیگری برای جلوگیری از ایجاد حلقه در شبکه استفاده کنند، اما STP به عنوان پروتکل استاندارد به طور گسترده در شبکههای کامپیوتری استفاده میشود.
بیشتر بخوانید:مدل OSI چیست؟ تفاوت مدل OSI و TCP/IPو بررسی کامل
عملکرد پروتکل STP چگونه است:
عملکرد پروتکل STP بر اساس تکنیک Spanning Tree است که با ایجاد یک درخت برای شبکه، از ایجاد حلقه در شبکه جلوگیری میکند. برای اجرای پروتکل STP، ابتدا یکی از سوئیچهای شبکه به عنوان ریشه درخت تعیین میشود. سپس، هر سوئیچ در شبکه با استفاده از پیامهای BPDU (Bridge Protocol Data Unit)، وضعیت خود را به سایر سوئیچها اعلام میکند. BPDUها شامل اطلاعاتی مانند: شناسه ریشه، فاصله تا ریشه و شناسه پارامترهای دیگر میشوند.
با دریافت BPDUها، هر سوئیچ با استفاده از الگوریتم Spanning Tree، به دنبال مسیری به سمت ریشه درخت میگردد. در این راستا، سوئیچهایی که به مسیری با فاصله کمتر تا ریشه دسترسی دارند، به عنوان سوئیچهای برتر (root switch) در نظر گرفته میشوند و سایر سوئیچها به صورت اتوماتیک بهترین مسیر را به سمت ریشه انتخاب میکنند. به این ترتیب، یک درخت برای شبکه ایجاد میشود که حاوی بیش از یک مسیر بین هر دو دستگاه نیست.
در صورتی که یکی از پیوندهای شبکه قطع شود، پروتکل STP به صورت خودکار مسیر جایگزین را انتخاب کرده و از قطعی در شبکه جلوگیری میکند. به عبارت دیگر، در صورتی که یک پیوند در شبکه قطع شود، STP از پیوندهای دیگر استفاده میکند تا ارتباط بین دستگاهها را برقرار کند و به این ترتیب، شبکه در حالت کاری خود باقی میماند. در پروتکل STP، از معیارهایی مانند: کمترین فاصله (distance) تا ریشه استفاده میشود تا بهترین مسیر را برای ارتباط بین دستگاهها انتخاب کند. همچنین، STP از الگوریتمهایی مانند: RSTP (Rapid Spanning Tree Protocol) و MSTP (Multiple Spanning Tree Protocol) برای سرعت بخشیدن به فرایند انتخاب مسیر استفاده میکند.
انواع پروتکل STP چیست:
موجودیتهای پروتکل STP شامل چندین نوع پروتکل مختلف هستند که هر کدام با هدفها و ویژگیهای خاص خودشان طراحی شدهاند. برخی از انواع STP عبارتند از:
- STP استاندارد: این نوع از STP، پایهای ترین نسخه از پروتکل STP است و برای جلوگیری از ایجاد حلقه در شبکه به کار میرود. در این نوع از STP، به شکل پیش فرض، همه سوئیچها به عنوان سوئیچ کاری (non-root bridge) در نظر گرفته میشوند و پویش درخت را با استفاده از پیغامهای BPDU انجام میدهند.
- RSTP: این نوع از STP، به صورت سریعتر و با زمان پاسخ دهی کمتری نسبت به STP استاندارد عمل میکند. در RSTP، هر سوئیچ به عنوان سوئیچ فعال (active bridge) و یا سوئیچ غیرفعال (backup bridge) تعیین میشود. سوئیچهای فعال در پویش درخت شرکت میکنند و در صورت بروز خطا یا نقص در پویش درخت، سوئیچهای غیرفعال به عنوان سوئیچ فعال جایگزین میشوند.
- MSTP: این نوع از STP، برای جلوگیری از ایجاد حلقه در شبکههایی با چندین VLAN (Virtual Local Area Network) به کار میرود. در MSTP، شبکه به چندین منطقه تقسیم میشود و در هر منطقه، یک درخت اختصاصی برای VLANهای مرتبط با آن منطقه ایجاد میشود. این نوع از STP، با استفاده از الگوریتمهای پویش درخت، فاصله مسیری کمترین بین دستگاهها را به دست میآورد و بهترین مسیر را برای ارتباط بین دستگاهها انتخاب میکند. در کل، استفاده از هر نوع STP بسته به نیاز و ویژگیهای شبکهی مورد نظر تعیین میشود.
وضعیت های مختلف پورت STP:
- Disable: در پروتکل STP این حالت پورت خاموش است.
- Blocking: اولین حالت پس از فعال شدن پورت است و هیچ فریم را ارسال یا دریافت نمی کند و همچنین هیچ MAC Address را به CAM Table خود اضافه نمی کند و تنها قادر به دریافت BPDU است.
- Listening: این حالت هم هیچ فریم را ارسال یا دریافت نمی کند و همچنین هیچ MAC Address را به CAM Table خود اضافه نمی کند ولی قادر به ارسال و دریافت BPDU خواهد بود و در این مرحله می تواند خود را به عنوان Root Port یا Designated Port معرفی کند، اگر نتواند Root Port یا Designated Port شود به حالت قبل یعنی Blocking باز خواهد گشت.
- Learning: باز هم در این حالت هم هیچ فریم را ارسال یا دریافت نمی کند ولی MAC Addressها را به CAM Table خود اضافه می کند و قادر به ارسال و دریافت BPDU است.
- Forwarding: در این حالت پروتکل STP قادر به ارسال و دریافت فریم است و CAM Table خود را با MAC Address ها بروز می کند و قادر به ارسال و دریافت BPDU است.
ویژگی های پروتکل STP چیست:
- جلوگیری از ایجاد حلقه در شبکه: پروتکل STP با ایجاد یک درخت ارتباطی در شبکه، از ایجاد حلقه در شبکه جلوگیری میکند. با این روش، تمامی دستگاههای در شبکه به صورت یکپارچه با هم ارتباط برقرار میکنند و از بهرهوری بالاتری برخوردار میشوند.
- پویش درخت: STP با استفاده از الگوریتمهای پویش درخت، بهترین مسیر بین دستگاهها را برای ارتباط بین آنها انتخاب میکند. این الگوریتمها با توجه به فاصله مسیری کمترین به ریشه درخت، مسیر ارتباطی بهینه بین دستگاهها را انتخاب میکنند.
- جایگزینی مسیر: در صورتی که یک پیوند در شبکه قطع شود، STP با استفاده از پیوندهای دیگر، مسیر جایگزین را به صورت خودکار انتخاب میکند و از قطعی در شبکه جلوگیری میکند.
- انتخاب سوئیچ ریشه: STP با انتخاب یکی از سوئیچها به عنوان سوئیچ ریشه، درخت ارتباطی را تشکیل میدهد. سایر سوئیچها به صورت اتوماتیک بهترین مسیر را به سمت ریشه انتخاب میکنند.
- قابلیت پیکربندی: STP قابلیت پیکربندی دارد و میتواند به صورت پویا و بر اساس نیاز شبکه، تنظیم شود. به عنوان مثال، میتوان تعداد پویش درخت را تغییر داد و یا زمان تاخیر بین پویش درختها را تنظیم کرد. در کل، STP با جلوگیری از ایجاد حلقه در شبکه، جلوهای از استاندارد بودن شبکه را ایجاد میکند و با بهینهسازی مسیر ارتباطی بین دستگاهها، به بهرهوری بیشتر شبکه کمک میکند.
چگونه STP را پیکربندی کنیم:
برای پیکربندی STP، میتوانید از روشهای مختلفی استفاده کنید که در ادامه به برخی از آنها اشاره میکنم:
- CLI (Command-Line Interface)
این روش برای پیکربندی STP بسیار رایج است و بسیاری از سوئیچها این قابلیت را دارند. با استفاده از CLI، میتوانید تنظیمات STP را به صورت دستی و با استفاده از دستورات مربوطه تنظیم کنید. به عنوان مثال، برای تنظیم مبدا STP، میتوانید از دستور set spantree root primary استفاده کنید.
- GUI (Graphical User Interface)
بسیاری از سوئیچها دارای واسط کاربری گرافیکی هستند که از طریق آن میتوانید تنظیمات STP را انجام دهید. در این روش، کاربر با استفاده از موس و کلیدهای کیبورد، تنظیمات مورد نظر خود را انجام میدهد.
- پروتکلهای مدیریت شبکه:
بسیاری از پروتکلهای مدیریت شبکه، از جمله SNMP (Simple Network Management Protocol)، Telnet و SSH، قابلیت پیکربندی STP را دارند. با استفاده از این پروتکلها، میتوانید تنظیمات STP را از راه دور و از هر کجا که مایل هستید، تغییر دهید.
بسته به نوع سوئیچ و نرمافزار مورد استفاده، روشهای دیگری نیز برای پیکربندی STP وجود دارند. همچنین، برای پیکربندی STP، باید با مفاهیمی مانند سوئیچ ریشه، پورتهای ریشه، پورتهای بلاک شده و غیره آشنا باشید. بنابراین، قبل از پیکربندی STP، بهتر است با مفاهیم اصلی آن آشنا شوید و سپس به پیکربندی آن بپردازید.
خرید انواع تجهیزات شبکه از مسترشبکه بزرگترین فروشگاه اینترنتی تجهیزات شبکه با گارانتی معتبر |