یک واحد اطلاعاتی ساختاریافته در مهندسی شبکه است که برای مبادله داده بین نهادهای همتا (Peer Entities) در لایههای مختلف مدل مرجع OSI استفاده میشود. هر لایه بر اساس استانداردهای تعریفی خود، کدهای کنترلی و هدر اختصاصی را به دیتای دریافتی اضافه (Encapsulation) یا از آن کم (Decapsulation) میکند.
یک فریم پیامرسانی کاملاً ساختاریافته و منحصربهفرد در لایه دوم (Data Link) است که توسط سوئیچها در پروتکل محاسباتی درخت پوشا (STP - Spanning Tree Protocol) مبادله میشود. هدف غایی این فریم، کشف، پایش، ارزیابی اولویتها و جلوگیری از بروز حلقههای مخرب لایه دو (Broadcast Storms) در توپولوژیهای مشبک است.
هر لایه از لایههای هفتگانه مدل مرجع OSI، دیتای ورودی را به یک فرمت ساختاری اختصاصی تبدیل میکند. تشریح دقیق علمی این مکانیزمها به شرح زیر است:
جریان پردازش دادهها در پشته شبکه لایه به لایه و بر اساس اولویت ساختاری معکوس زیر مدیریت میگردد. در سمت فرستنده، روند حرکت از شماره ۷ به ۱ (Encapsulation) و در سمت گیرنده به صورت معکوس از ۱ به ۷ (Decapsulation) است:
تحلیل استراتژیک جایگاه مهندسی فریم BPDU in شبکه:
فریمهای BPDU به هیچعنوان فیلدی به نام IP Header (لایه ۳) ندارند. این فریمها مستقیماً بر روی لایه پیوند داده (Data Link Layer) سوار شده و مجهز به هدر کپسولهسازی کنترل لینک منطقی (LLC) بر اساس استاندارد IEEE 802.2 میباشند. سوئیچهای شبکه به محض دریافت این فریم، بدون ارجاع پردازشی به لایههای بالاتر، ساختار آن را در سطح سختافزاری پردازنده ASIC خود واکاوی کرده و الگوریتم درخت پوشا را بهروزرسانی میکنند.
در معماری شبکههای پیشرفته، لایههای بالایی به عنوان تامینکننده محتوا (Payload) برای واحدهای پایینی عمل میکنند. وظایف اتمیک این لایهها عبارتند از:
AAA (Authentication, Authorization, Accounting) جهت شناسایی کاربران و تعبیه نقاط وارسی (Checkpoints) برای از سرگیری دانلودهای متوقفشده.در کدهای اسکی آرت ساختاریافته زیر، چیدمان دقیق بیتها و بایتهای فریم استاندارد اترنت در مقایسه با فریمهای تخصصی و محاسباتی BPDU ترسیم شده است:
+-------------------+-------------------+-------------------+-------------------+-------------------+
| Destination MAC | Source MAC | EtherType / Length| Data (Payload) | FCS / CRC |
| (6 Bytes) | (6 Bytes) | (2 Bytes) | (46-1500 Bytes) | (4 Bytes) |
+-------------------+-------------------+-------------------+-------------------+-------------------+
+-----------------------------------------------------------------------------------------------+
| Protocol ID (2B) | Version (1B) | BPDU Type (1B) | Flags (1B) |
+-----------------------------------------------------------------------------------------------+
| Root Bridge System ID Priority (2 Bytes) | Root Bridge MAC Address (6 Bytes) |
+-----------------------------------------------------------------------------------------------+
| Root Path Cost (4 Bytes) |
+-----------------------------------------------------------------------------------------------+
| Sender Bridge System ID Priority (2 Bytes)| Sender Bridge MAC Address (6 Bytes) |
+-----------------------------------------------------------------------------------------------+
| Port ID (2 Bytes) |
+-----------------------------------------------------------------------------------------------+
| Message Age (2B) | Max Age (2B) | Hello Time (2B) | Forward Delay (2B) |
+-----------------------------------------------------------------------------------------------+
0x0800 برای IPv4) و در فریمهای IEEE 802.3 نشاندهنده طول کل بخش دیتای فریم است.در جدول زیر، نمایه یکپارچه ساختار کپسولهسازی در پشته پروتکل شبکه به همراه فیلدهای شاخص آورده شده است:
+------------------------+---------------------------------------------+
| Layer | Header and Protocol Data Unit (PDU) |
+------------------------+---------------------------------------------+
| Layer 1: Physical | Bit |
+------------------------+---------------------------------------------+
| Layer 2: Data Link | Frame |
| | - Source and destination MAC address |
| | - LLC (optional) |
+------------------------+---------------------------------------------+
| Layer 2: STP | BPDU |
|(Spanning Tree Protocol)| - STP information |
+------------------------+---------------------------------------------+
| Layer 3: Network | Packet |
| | - Source and destination IP address |
| | - Routing information |
+------------------------+---------------------------------------------+
| Layer 4: Transport | Segment |
| | - Source and destination port |
| | - Port number |
+------------------------+---------------------------------------------+
| Layer 5: Session | Data |
| | - Dialogue control |
+------------------------+---------------------------------------------+
| Layer 6: Presentation | Data |
| | - Translation |
| | - Encryption |
| | - Compression |
+------------------------+---------------------------------------------+
| Layer 7: Application | Message |
| | - Application data |
| | - Program headers |
+------------------------+---------------------------------------------+
فریمهای پیکربندی BPDU اطلاعات حیاتی زیر را بین سوئیچها منتقل میکنند تا همگرایی پروتکل STP حاصل شود:
0x0000) دارد.0 برای STP معمولی، مقدار 2 برای Rapid STP (RSTP) و مقدار 3 برای Multiple STP (MSTP).0x00 برای Configuration BPDU (فریمهای دورهای پایش درخت) و کد 0x80 برای Topology Change Notification (پیام تغییر توپولوژی فیزیکی شبکه).جدول زیر مقادیر استاندارد و مرجع طول فریمها را در شرایط ارتباطی گوناگون و بر اساس استانداردهای مهندسی شبکه نمایش میدهد:
| نوع ساختار PDU لایه دو | حداقل اندازه استاندارد (بایت) | حداکثر اندازه استاندارد (بایت) | توضیحات فنی فیلدها و ساختار مهندسی شده |
|---|---|---|---|
| فریم عمومی اترنت (Ethernet II) | ۶۴ بایت | ۱۵۱۸ بایت | در صورتی که سایز دیتای کاربر کمتر از ۴۶ بایت باشد، فیلد Padding جهت رسیدن به کف ۶۴ بایت اعمال میشود. |
| فریم اترنت همراه با تگ VLAN (802.1Q) | ۶۸ بایت | ۱۵۲۲ بایت | افزودن ۴ بایت هدر اختصاصی تگ پروتکل داتوانکیو جهت مدیریت سناریوهای ترانک شبکه مجازی. |
| فریم تخصصی BPDU (STP Standard) | ۳۵ بایت (بخش پایلود) | ۶۴ بایت (با احتساب هدر اترنت) | حجم پایلود هسته اطلاعات STP معادل ۳۵ بایت است که با تجمیع هدرهای LLC استاندارد 802.3 تطبیق مییابد. |
| فریمهای غولپیکر (Jumbo Frames) | ۱۵۲۲ بایت | ۹۰۰۰ بایت | در تجهیزات دیتاسنترها و ذخیرهسازهای تحت شبکه (SAN/NAS) جهت کاهش بار پردازشی CPUها استفاده میشود. |
شناسه Bridge ID یک فیلد کلیدی ۸ بایتی (۶۴ بیتی) است. بر اساس استاندارد بازبینی شده IEEE 802.1t، ساختار فیلد ۲ بایتی Priority دچار دگرگونی منطقی جهت پشتیبانی از VLANها شده و به دو بخش زیر تبدیل گشته است:
معادله ریاضی نهایی محاسبه Bridge ID Priority برای یک VLAN خاص به صورت زیر بیان میشود:
Bridge ID Priority = Configured Priority + VLAN ID
پروتکل STP از بستر استاندارد فریم کپسولهسازی IEEE 802.3 Ethernet همراه با هدر IEEE 802.2 LLC استفاده میکند. فریم LLC PDU وظیفه مالتیپلکس کردن پروتکلهای لایه دو را بر عهده دارد و فیلدهای زیر را به ابتدای دیتای BPDU میافزاید:
0x42 تنظیم میشود.0x42 است.0x03 تثبیت میشود.برای درک کامل نحوه عملکرد و مقایسه مقادیر فیلدهای ساختار درون سوئیچها، به دو سناریوی شبیهسازیشده زیر توجه فرمایید:
فرض کنید سه سوئیچ در یک رینگ فیزیکی با مکآدرسهای فرضی یکسان از نظر پیشفرض قرار دارند. مدیر شبکه قصد دارد سوئیچ شماره ۱ را به عنوان ریشه اصلی کل شبکه انتخاب کند:
خروجی محاسبات الگوریتم: به دلیل اینکه تمامی سوئیچها فریمهای BPDU را مبادله میکنند، سوئیچها متوجه میشوند که اولویت فیلد Switch A (مقدار ۴۰۹۶) از بقیه کمتر است. در نتیجه فرآیند همگرایی، همگی سوئیچ A را به عنوان Root Bridge پذیرفته و پورتهای منتهی به آن را باز نگه میدارند.
در صورتی که مهندس شبکه هیچگونه تغییری در اولویتهای پیشفرض سوئیچهای جدید نصبشده اعمال نکرده باشد، مقادیر فیلد اولویت همگی معادل عدد پیشفرض لایه دوم یعنی ۳۲۷۶۸ خواهد بود:
خروجی محاسبات الگوریتم: از آنجا که مقادیر اولویت (Priority) در هر سه فریم BPDU برابر با ۳۲۷۶۸ گشته است، سوئیچها به فیلد دوم یعنی MAC Address رجوع میکنند. با ارزیابی و مقایسه بایتهای هگزادسیمال، دستگاه Switch Core-1 به علت داشتن کمترین آدرس فیزیکی در لایه ۲، به عنوان Root Bridge کل شبکه منتخَب و تثبیت میگردد.