الوحدة 02: الهيكلية وعناوين NET وتسريب المسارات (Route Leaking)
الهدف الهندسي للوحدة
استيعاب التصميم الهرمي لبروتوكول IS-IS بمستوييه (Level 1 و Level 2)، وكيفية ترقيم الموجهات باستخدام عناوين NET، ودراسة فيزياء بت الـ ATT الافتراضي، ثم حل مشكلة الخروج غير الأمثل (Suboptimal Routing) عبر تقنية Route Leaking باستخدام بت Up/Down لمنع تشكل الحلقات التوجيهية في شبكات مزودي الخدمة.
1. التغليف المباشر على الطبقة الثانية (Native Layer 2 Encapsulation)
واحدة من أهم الميزات التي تجعل IS-IS الخيار المفضل لنواة شبكات مزودي الخدمة الكبرى (Tier-1 Telcos) هي أنه لا يعتمد على بروتوكول IP لنقل حزمه (على عكس OSPF الذي يُغلف داخل IP Protocol 89، و BGP الذي يعمل فوق TCP Port 179).
في شبكات Ethernet، تُغلف حزم IS-IS مباشرة داخل إطار IEEE 802.3 LLC باستخدام قيمة SAP محددة:
الفوائد المعمارية لهذا التغليف:
- الحصانة من هجمات IP: لا يمكن إرسال باكتات IS-IS مزورة من الإنترنت عبر مسار IP عادي لأن الموجهات لا تمرر حزم LLC خارج الرابط المحلي.
- استقلالية التوجيه: يعمل بروتوكول IS-IS حتى لو لم تكن هناك عناوين IP مهيأة على المنافذ، أو إذا تعطلت خدمات التوجيه لـ IPv4/IPv6 مؤقتاً.
2. هيكلية عناوين الشبكة: من NSAP إلى NET
على عكس OSPF حيث يملك كل منفذ عنوان IP خاص به وينتمي لمنطقة محددة، فإن في بروتوكول IS-IS الموجه بأكمله ككيان فيزيائي ينتمي إلى منطقة واحدة وله هوية موحدة تُعرف بـ Network Entity Title (NET).
يصل طول عنوان NET إلى 20 بايت (أوكتيت)، ويتكون من أربعة أجزاء رئيسية:
| الحقل | الطول (Bytes) | الوظيفة الهندسية | مثال قياسي لمزود خدمة |
|---|---|---|---|
| AFI (Authority Format ID) | 1 Byte | يحدد سلطة الترقيم؛ القيمة 49 تعني مجالاً خاصاً (Private / Locally Administered). | 49 |
| Area ID | 2 إلى 12 Bytes | رقم المنطقة التوجيهية في شبكة مزود الخدمة. | 0001 |
| System ID | 6 Bytes (48 bits) | المعرف الفريد للموجه على مستوى النطاق بأكمله، يُشتق عادة من عنوان Loopback0. | 1921.6800.1001 (192.168.1.1) |
| NSEL (Selector) | 1 Byte | محدد بروتوكول الطبقة العليا؛ يجب أن يكون 0x00 في عنوان الـ NET ليشير للموجه نفسه. | 00 |
العنوان الكامل يصبح: 49.0001.1921.6800.1001.00
3. مستويات التوجيه: Level 1 (المحلي) مقابل Level 2 (العمود الفقري)
يقسم IS-IS الشبكة هرمياً إلى مستويين صارمين:
المستوى الأول: Level 1 (Intra-Area)
توجيه محلي داخل حدود المنطقة الواحدة فقط. تحتفظ موجهات L1 بقاعدة بيانات LSDB تحتوي فقط على الموجهات التي تشترك معها في نفس الـ Area ID تماماً. لا تعلم موجهات L1 أي تفاصيل عن بقية مناطق الشبكة.
المستوى الثاني: Level 2 (Inter-Area Backbone)
العمود الفقري لشبكة مزود الخدمة الذي يربط مختلف المناطق ببعضها. يجب أن تشكل شبكة موجهات الـ Level 2 مساراً متصلاً ومستمراً (Contiguous Backbone). لا تشترط موجهات L2 تطابق الـ Area ID لتأسيس علاقات الجوار فيما بينها.
الموجهات الواقعة على الحافة بين المنطقتين تُعرف بـ Level 1-2 Border Routers (ABRs)، وتحتفظ بقاعدتي بيانات مستقلتين تماماً: LSDB-L1 و LSDB-L2 وتشغل خوارزميتي SPF منفصلتين تماماً.
4. بت الاتصال (Attached / ATT Bit) ومشكلة الخروج غير الأمثل
كيف تصل موجهات Level 1 إلى العالم الخارجي إذا كانت لا تستقبل مسارات من خارج منطقتها؟
عندما يرتبط موجه L1/L2 بالعمود الفقري (L2) وتكون لديه علاقة جوار نشطة مع موجه L2 في منطقة أخرى، يقوم بوضع قيمة 1 في بت الاتصال (ATT Bit) داخل ترويسة الـ LSP الخاص به في المستوى الأول.
عندما تقرأ موجهات L1 في المنطقة هذا الـ LSP وترى ATT=1، تقوم تلقائياً بإنشاء مسار افتراضي (Default Route: 0.0.0.0/0) يشير إلى أقرب موجه L1/L2 (صاحب أقل تكلفة متري داخل المنطقة).
المعضلة: الخروج غير الأمثل (Suboptimal Path Selection)
إذا كانت المنطقة تحتوي على موجهي خروج (ABR-West و ABR-East)، وكان الموجه الداخلي يبعد عن ABR-West بمسافة 10، وعن ABR-East بمسافة 15، فإنه سيرسل كافة حزم الإنترنت والعالم الخارجي عبر ABR-West حصراً!
إذا كانت الوجهة الخارجية موجودة فعلياً خلف ABR-East مباشرة، فإن الحزم ستخرج من ABR-West، ثم تعبر العمود الفقري كاملاً للوصول إلى ABR-East، مما يضاعف زمن التأخير (Latency) ويهدر موارد الشبكة.
5. الحل الهندسي: تسريب المسارات (Route Leaking) وحصانة بت Up/Down
لحل هذه المعضلة، يُسمح لموجهات الحدود (L1/L2) بتسريب شبكات محددة من Level 2 إلى Level 1 عبر ما يعرف بـ IS-IS Route Leaking (RFC 7981). بهذا يرى الموجه الداخلي المسار المحدد بدقة ويختار أقرب مخرج فعلي له.
الخطر القاتل: حلقة التوجيه عبر المناطق (Inter-Area Routing Loop)
لو قام ABR-1 بتسريب المسار 10.0.0.0/8 إلى المنطقة L1، وتلقاه الموجه الداخلي، ثم نقله إلى ABR-2 الواقع في نفس المنطقة... ماذا يمنع ABR-2 من إعادة الإعلان عن هذا المسار مرة أخرى إلى المستوى الثاني Level 2 بتكلفة مختلفة؟
لو حدث ذلك لتشكلت حلقة توجيه أبدية قاتلة تدور فيها الحزم بين L1 و L2 بلا نهاية!
المصيدة المعمارية: بت Up/Down (The Up/Down Bit Solution)
وضعت هيئة IETF في المعيارين RFC 2966 و RFC 7981 بتاً واحداً ذكياً في ترويسة بادئة الـ IP (داخل TLV 135 الموسع):
- أي مسار أصلي يتم الإعلان عنه طبيعياً يكون البت فيه مضبوطاً على Up (0).
- عندما يقوم موجه ABR بتسريب مسار من L2 إلى L1، فإنه مُلزم إجبارياً بتحويل البت إلى Down (1).
- القاعدة الصارمة لكل موجهات IS-IS: "أي موجه L1/L2 يتلقى مساراً في Level 1 وبته مضبوط على Down (1)، يُحظر عليه نهائياً إعادة تصديره إلى Level 2!"
بهذا البت المنطقي البسيط، أصبحت حلقات التوجيه مستحيلة الحدوث رياضياً في شبكات IS-IS.
6. التطبيق العملي على موجهات Cisco IOS XR
! إعداد موجه الحدود ABR على Cisco IOS XR
prefix-set CRITICAL-CORE-PREFIXES
10.100.0.0/16 ge 24
end-set
!
route-policy LEAK-L2-TO-L1
if destination in CRITICAL-CORE-PREFIXES then
pass
endif
end-policy
!
router isis CORE
is-type level-1-2
net 49.0001.0000.0000.0002.00
address-family ipv4 unicast
metric-style wide
! تطبيق تسريب المسارات مع الفلترة
propagate level 2 into level 1 route-policy LEAK-L2-TO-L1
!
interface GigabitEthernet0/0/0/0
circuit-type level-1
address-family ipv4 unicast
metric 10
!
!
interface GigabitEthernet0/0/0/1
circuit-type level-2-only
address-family ipv4 unicast
metric 20
!
!
commit