BPDU در شبکه چیست و چه نقشی در کنترل سوئیچ ها دارد؟
در شبکههای سوئیچینگ (Switching Network)، حفظ پایداری و جلوگیری از ایجاد حلقههای ارتباطی (Network Loop) موضوعی حیاتی است. پروتکل Spanning Tree Protocol (STP) با استفاده از پیامهای خاصی به نام BPDU بین سوئیچها ارتباط برقرار میکند تا مسیرهای اضافی را شناسایی و مدیریت نماید. بدون BPDU شبکه بهسرعت دچار Broadcast Storm خواهد شد. درک عملکرد BPDU پایهایترین گام در فهم ساختار STP و پیکربندی شبکههای لایه ۲ است.
BPDU چیست؟
BPDU یا Bridge Protocol Data Unit نوعی پیام کنترلی در شبکه است که بین سوئیچها برای تبادل اطلاعات توپولوژی ارسال میشود. این پیامها شامل شناسهی Root Bridge، هزینه مسیر، شناسه Bridge و شناسه پورت هستند و به سوئیچها کمک میکنند تا تصمیم بگیرند کدام مسیر به Root Bridge کوتاهتر است. بهعبارت دیگر BPDU همان زبانی است که سوئیچها از طریق آن وضعیت و اولویت خود را به یکدیگر اطلاع میدهند.
در واقع هر سوئیچ بهطور پیشفرض خود را بهعنوان Root Bridge در نظر میگیرد و با ارسال BPDU به دیگر سوئیچها این فرضیه را به چالش میکشد. در نتیجه، از میان تمام سوئیچها، سوئیچی با کمترین Bridge ID بهعنوان Root انتخاب میشود. سپس سایر سوئیچها با توجه به اطلاعات BPDU مسیرهای خود را طوری تنظیم میکنند که تنها یک مسیر فعال به Root باقی بماند و از ایجاد حلقه جلوگیری شود.

انواع BPDU در شبکه
1.Configuration BPDU (CBPDU)
پیامهای Configuration BPDU برای تبادل اطلاعات اصلی توپولوژی میان سوئیچها استفاده میشوند. این نوع BPDU شامل فیلدهایی مانند Root ID، Cost، Bridge ID و Port ID است و هدف اصلی آن شناسایی Root Bridge و تعیین وضعیت پورتها در شبکه است. Configuration BPDU پایهی تشکیل درخت پوشا (Spanning Tree) بهشمار میرود و در STP اولیه، هر دو ثانیه یکبار از پورت Root به سایر سوئیچها ارسال میشود.
2.Topology Change Notification BPDU (TCN BPDU)
هنگامی که تغییری در توپولوژی شبکه رخ دهد مثلاً سوئیچی از مدار خارج گردد یا پورتی فعال/غیرفعال شود سوئیچ مربوطه یک TCN BPDU به سمت Root Bridge ارسال میکند. این پیام به Root اطلاع میدهد که ساختار شبکه تغییر کرده است و لازم است همهی سوئیچها جدول MAC خود را تازهسازی کنند. در نتیجه، چرخه یادگیری آدرسهای جدید آغاز شده و شبکه بهسرعت با وضعیت جدید همگرا میشود.
3.RSTP BPDU
در نسخهی سریعتر پروتکل یعنی Rapid Spanning Tree Protocol (RSTP)، فقط یک نوع BPDU وجود دارد که ترکیبی از اطلاعات Configuration و Topology Change است. بهجای پاسخ به BPDUهای دریافتی، هر سوئیچ RSTP BPDU مستقل ارسال میکند که وضعیت فعلی خود را نشان میدهد. این تغییر باعث افزایش سرعت همگرایی (Convergence) و کاهش وابستگی به تایمرهای قدیمی STP میشود.
ساختار فریم BPDU
هر BPDU در واقع یک فریم لایه ۲ از نوع IEEE 802.1D است که حاوی مجموعهای از فیلدهای دقیق برای انتقال اطلاعات توپولوژی بین سوئیچها میباشد.
Protocol ID
این فیلد مقدار ثابتی دارد و مشخص میکند که فریم مربوط به پروتکل STP است. مقدار آن معمولاً ۰x0000 است و به سوئیچها اجازه میدهد فریم را از سایر فریمهای لایه ۲ تشخیص دهند.
Version
نشاندهندهی نسخهی پروتکل Spanning Tree است؛ برای مثال نسخه ۰ برای STP کلاسیک (802.1D)، نسخه ۲ برای RSTP (802.1w) و نسخه 3 برای MSTP (802.1s) بهکار میرود. این فیلد برای سازگاری بین نسخههای مختلف STP اهمیت زیادی دارد.
BPDU Type
این فیلد نوع BPDU را مشخص میکند (مثلاً Configuration BPDU یا TCN BPDU) تا سوئیچ بداند هدف فریم، اطلاعرسانی توپولوژی است یا اعلام تغییر در شبکه.
Flags
شامل بیتهایی برای وضعیت پورتها و اعلام تغییر توپولوژی (Topology Change) است. برخی بیتها مشخص میکنند که فریم از Root Bridge آمده یا سیگنال تغییر ساختار را حمل میکند.
Root ID
در این فیلد مشخصات سوئیچی ذخیره میشود که بهعنوان Root Bridge در حال حاضر در نظر گرفته شده است. این فیلد شامل Priority و MAC Address آن Bridge است و نقش کلیدی در تعیین مسیرهای بهینه دارد.
Root Path Cost
مقدار عددیای است که نشان میدهد هزینه (Cost) مسیر از سوئیچ ارسالکننده تا Root Bridge چقدر است. هر چه این عدد کمتر باشد، مسیر مطلوبتر است و پورت مربوطه احتمالاً بهعنوان Root Port انتخاب میشود.
Bridge ID
شناسه منحصربهفرد سوئیچ ارسالکننده است که از دو بخش Priority و MAC تشکیل میشود. این فیلد برای مقایسه سوئیچها در فرآیند انتخاب Root و Designated Port حیاتی است.
Port ID
نشانگر شماره یا شناسه پورت ارسالکننده BPDU است. این فیلد بههمراه Bridge ID کمک میکند STP میان پورتها اولویتبندی صحیحی داشته باشد.
Message Age
زمانی را (برحسب ثانیه) مشخص میکند که از لحظه تولید BPDU گذشته است. سوئیچها با استفاده از این مقدار تصمیم میگیرند BPDU هنوز اعتبار دارد یا خیر.
Max Age
حداکثر زمانی است که یک BPDU میتواند در شبکه معتبر بماند. اگر پس از پایان این زمان BPDU تازهای دریافت نشود، سوئیچ فرض میکند لینک از کار افتاده و STP باید مجدداً محاسبه شود.
Hello Time
بازه ارسال BPDUهای جدید توسط Root Bridge است (معمولاً هر ۲ ثانیه). این مقدار تعیین میکند که STP با چه سرعتی اطلاعات توپولوژی را بهروزرسانی کند.
Forward Delay
زمانی است که پورتها در حالتهای Listening و Learning باقی میمانند تا از ورود حلقه در مسیر فعال جلوگیری شود. مقدار پیشفرض آن ۱۵ ثانیه است.
نقش BPDU در عملکرد STP
پروتکل Spanning Tree Protocol (STP) بدون تبادل مداوم BPDUها عملاً نمیتواند وجود داشته باشد. این پیامها حکم سیستم عصبی شبکههای سوئیچینگ را دارند که تمامی تصمیمات کلیدی نظیر انتخاب Root Bridge، شناسایی مسیرهای اصلی، قطع مسیرهای اضافی و واکنش به تغییرات توپولوژی را هدایت میکنند. در واقع STP برای اطمینان از اینکه در شبکه هیچ حلقهای (Loop) ایجاد نشود، به کمک BPDU وضعیت هر سوئیچ و هر پورت را با سایر سوئیچها هماهنگ میکند.

پروتکل STP چیست و چگونه در شبکه عمل میکند؟
۱. انتخاب Root Bridge
پس از راهاندازی شبکه هر سوئیچ BPDU مخصوص خود را با شناسهی Bridge ID ارسال میکند. سوئیچی که پایینترین Bridge ID (Priority + MAC Address) را دارد، بهعنوان Root Bridge انتخاب میشود. از آن لحظه، تمامی مسیرها و تصمیمات STP relative به این Root محاسبه میشوند. بنابراین BPDU نقشی حیاتی در انتخاب مرکز منطقی شبکه دارد.
۲. محاسبه مسیرهای بهینه
پس از مشخص شدن Root Bridge سوئیچها از طریق فیلدهای Root Path Cost و Port ID در BPDU تعیین میکنند که کوتاهترین مسیر تا Root چیست. پورتی که کمترین هزینه را دارد بهعنوان Root Port انتخاب میشود و مسیرهای دیگر یا بهصورت Designated Port فعال میمانند یا در حالت Blocking غیرفعال میشوند تا از ایجاد حلقه جلوگیری شود.
۳. حفظ پایداری توپولوژی
سوئیچها هر چند ثانیه (معمولاً هر ۲ ثانیه) BPDU جدیدی دریافت میکنند. اگر برای مدتی معین (برابر با مقدار Max Age) هیچ BPDU تازهای وارد نشود، سوئیچ فرض میکند مسیر مورد نظر قطع شده و فرآیند محاسبهی درخت پوشا را از سر میگیرد. این مکانیزم مانع از باقی ماندن لینکهای معیوب در مسیر فعال میشود و خودترمیمی (Self-Healing) را برای توپولوژی ممکن میسازد.
۴. واکنش به تغییرات توپولوژی
وقتی پورتی غیرفعال شود یا لینک جدیدی اضافه گردد، سوئیچ مربوطه با ارسال TCN BPDU به Root اعلام میکند که توپولوژی تغییر کرده است. Root Bridge نیز از طریق BPDU جدید، سایر سوئیچها را در جریان این تغییر میگذارد تا همه جدولهای MAC خود را بازآموزی کنند. این فرآیند باعث حفظ پایداری ارتباط در شرایط پویا میشود.
BPDU Guard و BPDU Filter چیستند؟

BPDU Guard و BPDU Filter دو قابلیت امنیتی مهم در سوئیچهای شبکه هستند که با هدف جلوگیری از اختلال در عملکرد Spanning Tree Protocol (STP) طراحی شدهاند. در حالت استاندارد پورتهایی که به دستگاههای انتهایی (مانند کامپیوتر یا سرور) متصلاند نباید هیچ پیام BPDU دریافت کنند، زیرا دریافت چنین پیامی ممکن است باعث تغییر محاسبات STP و حتی انتخاب اشتباه Root Bridge شود. زمانیکه ویژگی BPDU Guard فعال باشد، اگر پورتی که دارای PortFast است هرگونه BPDU دریافت کند، سوئیچ فوراً آن پورت را در حالت err‑disabled (غیرفعال اضطراری) قرار میدهد تا از بروز لوپ یا حمله جلوگیری شود.
BPDU Filter رفتاری متفاوت دارد: این ویژگی باعث میشود پورتهای مشخصشده اساساً هیچ پیام BPDU ارسال یا دریافت نکنند. یعنی STP در آن پورت کاملاً بیاثر میشود. از BPDU Filter معمولاً در سناریوهایی استفاده میشود که شبکهای کوچک یا ایزوله وجود دارد و نیازی به کنترل مسیر توسط STP نیست. البته درصورت استفادهی نادرست، این قابلیت میتواند خطرناک باشد، زیرا پورت فیلترشده بدون اطلاع از سایر سوئیچها آغاز به ارسال فریمهای داده میکند و احتمال ایجاد Loop افزایش مییابد. به همین دلیل، بسیاری از متخصصان توصیه میکنند BPDU Filter فقط روی پورتهای End‑User بهصورت کنترلشده فعال گردد.
BPDU Guard |
BPDU Filter |
|
|---|---|---|
|
هدف اصلی |
محافظت از شبکه در برابر دریافت BPDU غیرمنتظره |
جلوگیری از ارسال و دریافت BPDU در پورتهای خاص |
|
رفتار هنگام دریافت BPDU |
پورت بلافاصله غیرفعال (err‑disabled) میشود |
BPDU نادیده گرفته میشود یا ارسال متوقف میشود |
|
محل استفاده معمولی |
پورتهایی با ویژگی PortFast (اتصال End‑Deviceها) |
پورتهایی در شبکههای کوچک یا تستی بدون STP |
|
نوع عملکرد |
واکنش حفاظتی (Reactive Protection) |
رفتار پیشگیرانه (Preventive Silencing) |
|
تأثیر بر STP |
حفظ توپولوژی و جلوگیری از تغییر Root |
حذف ارتباط STP در سطح پورت |
|
خطرات بالقوه در پیکربندی اشتباه |
قطع شدن ناخواسته پورت فعال |
ایجاد حلقه (Loop) بهدلیل عدم تشخیص تغییر توپولوژی |
|
مناسب برای محیطهای |
Enterprise و دیتاسنترهای بزرگ |
شبکههای ایزوله یا کنترلشده |
|
وضعیت پورت پس از رویداد |
تغییر به حالت err‑disabled تا بازگردانی دستی |
فعال باقی میماند ولی از STP جداست |
جمعبندی…
در مجموع BPDU پایهی ارتباط و تصمیمگیری در پروتکلهای STP و RSTP است و با کمک سازوکارهایی مانند BPDU Guard و BPDU Filter پایداری و امنیت شبکههای سوئیچینگ تضمین میشود. درک دقیق عملکرد هر نوع BPDU، ساختار فریم و ابزارهای حفاظتی آن نه تنها از ایجاد Loop جلوگیری میکند، بلکه زمینه را برای پیادهسازی توپولوژیهای ایمن، قابلاعتماد و بهروزرسانی سریع در شبکههای لایه دوم فراهم میسازد.
سوالات متداول
BPDU پیام کنترلی لایه دوم است که سوئیچها برای تبادل اطلاعات توپولوژی در پروتکل STP از آن استفاده میکنند.
در صورتی که پورتی با ویژگی PortFast پیام BPDU دریافت کند، آن پورت را فوراً در حالت err‑disabled قرار میدهد تا از لوپ جلوگیری شود.
این ویژگی مانع ارسال و دریافت BPDU از پورتهای مشخص میشود تا STP در آنها غیرفعال گردد، معمولاً در محیطهای ایزوله استفاده میشود.
در شبکههای بزرگ یا دارای توپولوژی تغییرپذیر، فعال کردن آن ممکن است موجب Loop و تغییر اشتباه مسیرها شود.
در RSTP، هر سوئیچ BPDU مستقل خود را ارسال میکند تا همگرایی شبکه سریعتر شود، برخلاف STP که فقط Root Bridge BPDU منتشر میکند.
با انتخاب Root Bridge و وضعیت پورتها (Root، Designated، Blocking)، مسیرهای اضافی غیرفعال میشوند و فقط یک مسیر منطقی باقی میماند.
موارد اخیر
-
گره یا Node در شبکه چیست؟ معرفی انواع Node در شبکههای کامپیوتری -
Failover Cluster در Windows Server چیست و چه تفاوتی با Load Balancing دارد؟ -
Windows Admin Center (WAC) چیست؟ + مقایسه با RDP -
نانو سرور (Nano Server) چیست و چه زمانی باید از آن استفاده کنیم؟ -
جعل ایمیل (Email Spoofing) چیست و چگونه از جعل ایمیل جلوگیری کنیم؟ -
برسی تفاوت Hashing، Encryption و Obfuscation به زبان ساده -
Obfuscation (مبهم سازی) چیست و چگونه از مهندسی معکوس در توسعه نرم افزار جلوگیری میکند؟ -
SPF، DKIM و DMARC چیستند؟ راهنمای کامل احراز هویت ایمیل -
DKIM چیست؟ آموزش کامل تنظیم و ساخت رکورد DKIM -
DMARC چیست و چگونه از جعل ایمیل و فیشینگ جلوگیری میکند؟
برترین ها
-
جعل ایمیل (Email Spoofing) چیست و چگونه از جعل ایمیل جلوگیری کنیم؟ -
برسی تفاوت Hashing، Encryption و Obfuscation به زبان ساده -
Obfuscation (مبهم سازی) چیست و چگونه از مهندسی معکوس در توسعه نرم افزار جلوگیری میکند؟ -
SPF، DKIM و DMARC چیستند؟ راهنمای کامل احراز هویت ایمیل -
DKIM چیست؟ آموزش کامل تنظیم و ساخت رکورد DKIM
اشتراک گذاری این مطلب
دیدگاهتان را بنویسید
نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *