شبکه های مدرن امروزی نه تنها روش های مناسب برای انتقال انواع مختلف اطلاعات در اختیار دارند، بلکه مکانیسم هایی برای برطرف کردن مشکلات احتمالی و برگشت سریع شبکه به وضعیت عادی نیز در داخل این شبکه ها تعیین شده است. در شبکه هایی که در سطح لایه 3 فعالیت می کنند، پروتکل های routing وظیفه بررسی مسیرهای مورد استفاده برای انتقال اطلاعات را برعهده داشته و همچنین نحوه استفاده از مسیرهای جایگزین در شبکه را مشخص می نمایند. در نتیجه در این شرایط مسیرهای جایگزین یا در هنگام بروز ایرادی در مسیرهای اصلی مورد استفاده قرار گرفته و یا به همراه آن ها اقدام به انتقال اطلاعات می کنند.
در شبکه های لایه 2 که از سوئیچ ها تشکیل شده است، پروتکل routing اجرا نخواهد شد. در این حال همچنین وجود مسیرهای ثانویه فعال نیز در داخل این شبکه ها اصلا مناسب نخواهد بود. به هر حال به منظور فراهم بودن امکان استفاده از مسیرهای جایگزین در شبکه لایه 2 پروتکل دیگری به نام STP معرفی شده است.
پروتکل stp بر گرفته از spanning tree protocol می باشد. این پروتکل مسیرهای اضافی را که معمولا جهت ایجاد تحمل خطا در بین switch های شبکه وجود دارد را شناسایی و برای جلوگیری از LOOP آنها را مسدود و بلوکه میکند. برای اینکه پروتکل STP توانایی جلوگیری از loop های لایه 2 را داشته باشد، می بایست شناخت صحیح از کل توپولوژی و اتصالات لایه 2 داشته باشد. این اطلاعات توسط پیام های به نام BPDU که برگرفته از Bridge Protocol Data Units می باشد و به صورت Multicast توسط دستگاه های لایه 2 که پروتکل STP بر روی آنها اجرا شده است ارسال و دریافت می شود به دست می آید.
پروتکل STP در صورت ایجاد LOOP پورت هایی که در ایجاد loop دخالت دارند را مسدود می کند و فقط بهترین مسیر لایه 2 را بین دستگاه ها باز می گذارد و تضمین خواهد کرد بر روی لایه 2 هیچ loop ی نخواهد شد. در صورتی که روی شبکه تغییری صورت گیرد مانند فعال یا غیر فعال کردن یک پورت یا از کار افتادن یک link پروتکل STP دوباره براساس شرایط جدید تصمیم گیری خواهد کرد که کدام پورت های سوئیچ در وضعیت forward و کدام پورت ها در وضعیت block قرار داشته باشند.
BPDU به صورت پیش فرض هر 2 ثانیه یکبار به وسیله اینترفیس های سوئیچ ایجاد و ارسال خواهند شد.