درخت پوشا با حذف حلقهها و مسیریابی مجدد در اطراف گرههای غیرفعال، ترافیک شبکه اترنت را بهینه میکند. پروتکل درخت پوشا، که گاهی اوقات فقط به عنوان درخت پوشا شناخته می شود، Waze یا MapQuest شبکه های اترنت مدرن است که ترافیک را در امتداد کارآمدترین مسیر بر اساس شرایط زمان واقعی هدایت می کند.
بر اساس الگوریتمی که توسط رادیا پرلمن، دانشمند کامپیوتر آمریکایی، در حالی که او برای شرکت تجهیزات دیجیتال (DEC) در سال 1985 کار میکرد، ایجاد کرد، هدف اصلی Spanning Tree جلوگیری از پیوندهای اضافی و حلقهای مسیرهای ارتباطی در پیکربندیهای پیچیده شبکه است. به عنوان یک تابع ثانویه، Spanning Tree میتواند بستهها را در اطراف نقاط مشکل مسیریابی کند تا اطمینان حاصل شود که ارتباطات میتوانند از طریق شبکههایی که ممکن است با اختلال مواجه شوند عبور کنند.
شکل 1. پروتکل ارتباطی درخت پوشا
توپولوژی درخت پوشا در مقابل توپولوژی حلقه
هنگامی که سازمان ها در دهه 1980 شروع به شبکه سازی رایانه های خود کردند، یکی از محبوب ترین پیکربندی ها شبکه حلقه بود. به عنوان مثال، IBM فناوری اختصاصی Token Ring خود را در سال 1985 معرفی کرد.
در توپولوژی شبکه حلقه، هر گره به دو گره دیگر متصل می شود، یکی که جلوتر از آن روی حلقه قرار میگیرد و دیگری در پشت آن قرار میگیرد. سیگنالها فقط در یک جهت در اطراف حلقه حرکت میکنند و هر گره در طول مسیر هر بستهای را که در اطراف حلقه حلقه میشود، تحویل میدهد.
در حالی که شبکههای حلقه ساده زمانی که فقط تعداد کمی از رایانهها وجود دارند به خوبی کار میکنند، حلقهها زمانی که صدها یا هزاران دستگاه به یک شبکه اضافه میشوند ناکارآمد میشوند. یک کامپیوتر ممکن است نیاز به ارسال بستهها از طریق صدها گره داشته باشد تا اطلاعات را با یک سیستم دیگر در اتاق مجاور به اشتراک بگذارد. پهنای باند و توان عملیاتی نیز زمانی مشکل ساز میشوند که ترافیک فقط در یک جهت جریان داشته باشد، اگر یک گره در مسیر شکسته یا بیش از حد شلوغ شود، بدون طرح پشتیبان.
در دهه 90، با سریعتر شدن اترنت (100 مگابیت بر ثانیه، اترنت سریع در سال 1995 معرفی شد) و هزینه شبکه اترنت (پلها، سوئیچها، کابلکشی) به طور قابلتوجهی ارزانتر از Token Ring شد. Spanning Tree برنده جنگ توپولوژی LAN و Token شد. بنابراین حلقه به سرعت محو گردید.
درخت پوشا چگونه کار میکند؟
Spanning Tree یک پروتکل ارسال برای بستههای داده است. این یک بخش پلیس راهنمایی و رانندگی و یک بخش مهندس عمران برای بزرگراههای شبکه است که دادهها از آن عبور میکنند. در لایه 2 (لایه پیوند داده) قرار دارد، بنابراین صرفاً به انتقال بستهها به مقصد مناسب آنها میپردازد، نه نوع بستههایی که ارسال میشوند یا داده هایی که در آنها وجود دارد.
Spanning Tree آنقدر فراگیر شده است که استفاده از آن در استاندارد شبکه IEEE 802.1D تعریف شده است. همانطور که در استاندارد تعریف شده است، فقط یک مسیر فعال میتواند بین هر دو نقطه پایانی یا ایستگاه وجود داشته باشد تا آنها به درستی کار کنند.
Spanning Tree به گونهای طراحی شده است که این احتمال را دادههای ارسالی بین بخشهای شبکه در یک حلقه گیر میکنند را از بین ببرد. به طور کلی، حلقهها الگوریتم حمل و نقل نصب شده در دستگاههای شبکه را اشتباه میگیرند و باعث میشوند که دستگاه دیگر نداند بستهها را کجا ارسال کند. این مشکل میتواند منجر به تکراری شدن فریمها یا ارسال بستههای تکراری به مقصدهای مختلف شود. بنابراین پیامها میتوانند تکرار شوند و ارتباطات میتواند به فرستنده بازگردد. حتی میتواند شبکه را خراب کند اگر حلقههای بیش از حد شروع شود، پهنای باند را بدون هیچ سود قابلتوجهی مصرف کند و در عین حال مانع از عبور دیگر ترافیک غیرحلقهای شود.
پروتکل Spanning Tree با بستن همه مسیرهای ممکن به جز یک مسیر ممکن برای هر بسته داده، تشکیل حلقه ها را متوقف می کند. سوئیچهای روی شبکه از Spanning Tree برای تعریف مسیرهای ریشه و پلهایی که دادهها میتوانند در آن جابجا شوند، استفاده میکنند، و از نظر عملکردی مسیرهای تکراری را میبندند و در زمانی که مسیر اصلی در دسترس است، غیرفعال و غیرقابل استفاده میشوند.
نتیجه این است که ارتباطات شبکه بدون در نظر گرفتن اینکه یک شبکه چقدر پیچیده یا گسترده میشود، به صورت یکپارچه جریان دارد. به نوعی، Spanning Tree مسیرهای واحدی را از طریق شبکه برای انتقال داده ها با استفاده از نرم افزار ایجاد میکند؛ تقریباً به همان روشی که مهندسان شبکه با استفاده از سخت افزار در شبکههای حلقه قدیمی انجام دادند.
مزایای اضافی پوشا درخت
دلیل اصلی استفاده از Spanning Tree، حذف امکان مسیریابی حلقهها در یک شبکه است. اما مزایای دیگری نیز وجود دارد.
از آنجایی که Spanning Tree دائماً به دنبال و تعیین مسیرهای شبکه برای عبور بستههای داده است، میتواند تشخیص دهد که آیا گرهای که در امتداد یکی از آن مسیرهای اصلی قرار دارد غیرفعال شده است یا خیر. این ممکن است به دلایل مختلفی رخ دهد، از خرابی سخت افزار گرفته تا پیکربندی شبکه جدید. حتی می تواند یک موقعیت موقت بر اساس پهنای باند یا عوامل دیگر باشد.
وقتی Spanning Tree تشخیص داد که یک مسیر اصلی دیگر فعال نیست، می تواند به سرعت مسیر دیگری را که قبلا بسته شده بود باز کند. سپس میتواند دادهها را در اطراف نقطه مشکل ارسال کند، در نهایت مسیر انحرافی را بهعنوان مسیر اصلی جدید تعیین کند، یا بستهها را در صورت دسترسی مجدد به پل اصلی، بازگرداند.
در حالی که درخت پوشا اولیه نسبتا سریع در ایجاد آن اتصالات جدید در صورت نیاز عمل کرد، در سال 2001 IEEE پروتکل درخت پوشای سریع (RSTP) را معرفی کرد. RSTP همچنین به عنوان نسخه 802.1w پروتکل نامیده می شود، به گونه ای طراحی شده است که در پاسخ به تغییرات شبکه، قطعی موقت یا خرابی کامل اجزا، بازیابی سریعتر را ارائه دهد و در حالی که RSTP رفتارهای همگرایی مسیر و نقش های پورت پل را برای تسریع فرآیند معرفی کرد، همچنین به گونهای طراحی شده بود که کاملاً با درخت پوشا اصلی سازگار باشد. بنابراین این امکان وجود دارد که دستگاه های دارای هر دو نسخه پروتکل با هم در یک شبکه کار کنند.
معایب درخت پوشا
در حالی که Spanning Tree طی سالهای متمادی پس از معرفی آن در همه جا حاضر شده است، کسانی هستند که استدلال میکنند زمان آن فرا رسیده است. بزرگترین خطای Spanning Tree این است که حلقههای بالقوه درون شبکه را با بستن مسیرهای بالقوه ای که دادهها میتوانند در آن جابجا شوند، میبندد. در هر شبکه ای که از Spanning Tree استفاده می کند، حدود 40 درصد از مسیرهای شبکه بالقوه به روی داده ها بسته است.
در محیطهای شبکهای بسیار پیچیده، مانند محیطهایی که در مراکز داده یافت میشوند، توانایی افزایش سریع مقیاس برای برآورده کردن تقاضا بسیار مهم است. بدون محدودیتهای اعمال شده توسط Spanning Tree، مراکز داده میتوانند پهنای باند بسیار بیشتری را بدون نیاز به سخت افزار شبکه اضافی باز کنند. این یک وضعیت طعنهآمیز است، زیرا محیط های شبکه پیچیده دلیل ایجاد Spanning Tree هستند و اکنون حفاظت ارائه شده توسط پروتکل در برابر حلقه زدن، به نوعی آن محیطها را از پتانسیل کامل خود باز میدارد.
یک نسخه اصلاح شده از پروتکل به نام درخت پوشای چندگانه (MSTP) برای به کارگیریهای محلی مجازی و امکان باز بودن مسیرهای شبکه بیشتر در همان زمان، در حالی که همچنان از تشکیل حلقهها جلوگیری میکند، توسعه داده شد. اما حتی با MSTP، تعداد کمی از مسیرهای داده بالقوه در هر شبکه ای که از پروتکل استفاده می کند بسته میمانند.
طی سالها تلاشهای مستقل و غیراستاندارد زیادی برای بهبود محدودیتهای پهنای باند Spanning Tree صورت گرفته است. در حالی که طراحان برخی از آنها ادعای موفقیت در تلاشهای خود کرده اند، اکثر آنها کاملاً با پروتکل اصلی سازگار نیستند.
به این معنی که سازمانها باید یا تغییرات غیراستاندارد را در همه دستگاههای خود به کار ببرند یا راهی بیابند تا با سوئیچهایی که استاندارد Spanning Tree را اجرا میکنند، به آنها اجازه وجود داشته باشند. در بیشتر موارد، هزینههای نگهداری و پشتیبانی از طعمهای چندگانه Spanning Tree ارزش تلاش را ندارد.
آیا پوشاندن درخت در آینده ادامه خواهد داشت؟
جدا از محدودیتهای پهنای باند به دلیل بسته شدن مسیرهای شبکه Spanning Tree، فکر یا تلاش زیادی برای جایگزینی پروتکل انجام نشده است. اگرچه IEEE گهگاه بهروزرسانیهایی را برای تلاش و کارآمدتر کردن آن منتشر میکند، اما آنها همیشه با نسخههای موجود پروتکل سازگار هستند.
به یک معنا، Spanning Tree از قانون “اگر شکسته نیست، آن را تعمیر نکن” پیروی میکند. Spanning Tree به طور مستقل در پسزمینه اکثر شبکهها اجرا میشود تا ترافیک جریان داشته باشد، از شکلگیری حلقههای ناشی از تصادف جلوگیری کند و ترافیک را در اطراف نقاط مشکل هدایت کند، به طوری که کاربران نهایی هرگز نمیدانند که آیا شبکهشان بهعنوان بخشی از فعالیتهای روزمره خود دچار اختلالات موقتی میشود یا خیر. عملیات روزانه در همین حال، در بکاند، مدیران میتوانند دستگاههای جدیدی را به شبکههای خود اضافه کنند، بدون اینکه زیاد فکر کنند که آیا میتوانند با بقیه شبکه یا دنیای خارج ارتباط برقرار کنند یا خیر.
به دلیل همه این موارد، این احتمال وجود دارد که Spanning Tree برای سالهای آینده مورد استفاده قرار گیرد. ممکن است هر از چند گاهی بهروزرسانیهای جزئی وجود داشته باشد، اما پروتکل اصلی درخت پوشا و همه ویژگیهای حیاتی که انجام میدهد احتمالاً برای ماندن در اینجا هستند.