
مقال 5 دقائق للقراءة
درس اليوم: بروتوكول BGP — السمات والتحكم في المسارات
CCNA 200-301 | BGP Attributes & Path Control
في الدرس السابق، تعرفنا على أساسيات BGP وكيف يربط بين الأنظمة المستقلة (AS). اليوم سنغوص في "عقل" BGP، أي السمات (Attributes) التي يستخدمها لاتخاذ قرار اختيار المسار الأفضل، وكيف يمكننا التلاعب بهذه السمات للتحكم في حركة المرور (Traffic Engineering).
1.كيف يختار BGP المسار الأفضل؟
BGP لا يختار المسار بناءً على السرعة أو عدد القفزات (مثل OSPF أو RIP). بل يختار المسار بناءً على السياسات (Policies). عندما يستقبل الراوتر تحديثاً بمسارات متعددة لنفس الوجهة، فإنه يمر بعملية مقارنة (Best Path Selection Algorithm) تتكون من عدة خطوات. إذا تساوى مساران في الخطوة الأولى، ينتقل للمقارنة في الخطوة التالية.
أهم خطوات المقارنة (بالترتيب):
- Weight (الوزن): سمة خاصة بـ Cisco. الأعلى أفضل. (محلية على الراوتر).
- LOCAL_PREF (التفضيل المحلي): الأعلى أفضل. (تنتشر داخل AS فقط).
- Locally Originated: المسار الذي أنشأه الراوتر نفسه (عبر network أو redistribute) أفضل.
- AS_PATH (أقصر مسار): أقصر سلسلة من أرقام AS أفضل.
- ORIGIN (المصدر): IGP أفضل من EGP، و EGP أفضل من Incomplete.
- MED (Multi-Exit Discriminator): الأقل أفضل. (إشارة للجار).
- eBGP over iBGP: يفضل المسار المستلم عبر eBGP على iBGP.
- أقصر مسافة IGP للوصول إلى Next-Hop.
- أقدم مسار (Oldest Path).
- أقل Router ID.
ملاحظة: الخطوات الأولى (Weight و LOCAL_PREF) هي الأكثر استخداماً في التحكم اليدوي بالمسارات.
2.شرح السمات (Attributes) بالتفصيل
أولاً: Weight (الوزن)
· النوع: خاصة بـ Cisco (Proprietary). · النطاق: محلية على الراوتر (لا تُرسل للجيران). · القيمة الافتراضية: 0 (أو 32768 للمسارات المنشأة محلياً). · القاعدة: الأعلى أفضل. · الاستخدام: للتحكم في مسار الخروج (Outbound) من الراوتر نفسه (لأنها لا تنتقل للجيران).
ثانياً: LOCAL_PREF (التفضيل المحلي)
· النوع: معيار مفتوح. · النطاق: تنتشر داخل AS (بين جيران iBGP) فقط. لا تُرسل إلى جيران eBGP. · القيمة الافتراضية: 100. · القاعدة: الأعلى أفضل. · الاستخدام: للتحكم في مسار الخروج (Outbound) من AS بالكامل (لأنها تنتشر بين جميع راوترات iBGP).
ثالثاً: AS_PATH
· النوع: معيار مفتوح. · الوصف: قائمة بأرقام الأنظمة المستقلة التي مر بها المسار. · القاعدة: الأقصر أفضل. · الاستخدام: يستخدم تلقائياً لمنع الحلقات (Loop Prevention)، ويستخدم يدوياً عبر as-path prepend لجعل مسار معين يبدو أطول (وأقل تفضيلاً).
رابعاً: MED (Multi-Exit Discriminator)
· النوع: معيار مفتوح. · النطاق: يُرسل عادةً إلى جيران eBGP. · القيمة الافتراضية: 0. · القاعدة: الأقل أفضل. · الاستخدام: إشارة للـ AS المجاور لتحديد أي مدخل (Entry Point) يجب أن يستخدمه للوصول إلى شبكتك. هو "اقتراح" وليس أمراً.
3.التحكم في المسارات (Path Control)
كيف نستخدم هذه السمات للتحكم في حركة المرور؟
أ. التحكم في مسار الخروج (Outbound) باستخدام LOCAL_PREF
لنفترض أن لديك راوترين للخروج إلى مزودي خدمة (ISP1 و ISP2)، وتريد أن تخرج حركة المرور عبر ISP1 دائماً.
```cisco R1(config)# route-map PREFER_ISP1 permit 10 R1(config-route-map)# set local-preference 200 R1(config-route-map)# exit R1(config)# router bgp 65001 R1(config-router)# neighbor 10.0.0.2 route-map PREFER_ISP1 in ```
· هذا يجعل المسارات القادمة من ISP1 (بـ LOCAL_PREF 200) أفضل من المسارات الافتراضية (100).
ب. التحكم في مسار الدخول (Inbound) باستخدام AS_PATH Prepend
لنفترض أنك تريد أن يدخل حركة المرور إليك عبر ISP2 (وليس ISP1).
```cisco R1(config)# route-map WEAKEN_ISP1 permit 10 R1(config-route-map)# set as-path prepend 65001 65001 65001 R1(config-route-map)# exit R1(config)# router bgp 65001 R1(config-router)# neighbor 10.0.0.2 route-map WEAKEN_ISP1 out ```
· هذا يجعل AS_PATH للمسار المُعلن لـ ISP1 أطول (3 أرقام إضافية)، مما يجعل ISP1 أقل تفضيلاً للوصول إلى شبكتك.
4.أوامر التحقق
```cisco show ip bgp show ip bgp neighbors 10.0.0.2 show ip bgp neighbors 10.0.0.2 advertised-routes show ip bgp neighbors 10.0.0.2 received-routes ```
· show ip bgp: يعرض جدول BGP المحلي، بما في ذلك السمات (Weight, Local_Pref, AS_PATH, MED) لكل مسار. · show ip bgp neighbors <ip> advertised-routes: يعرض المسارات التي أرسلتها إلى الجار (مفيد للتحقق من AS_PATH Prepend). · show ip bgp neighbors <ip> received-routes: يعرض المسارات التي استلمتها من الجار.
5.تحدي Packet Tracer 🧪
تصميم الشبكة:
· راوتر R1 (AS 65001) متصل بمزودي خدمة: ISP1 (AS 65100) و ISP2 (AS 65200). · R1 يستقبل مساراً إلى شبكة 8.8.8.0/24 من كلا المزودين.
المطلوب:
- اضبط عناوين IP وجلسات eBGP.
- استخدم show ip bgp لمراقبة المسارات المستلمة.
- قم بإعداد route-map على R1 لتفضيل مسار ISP1 (باستخدام local-preference 200).
- تحقق من النتيجة باستخدام show ip bgp (يجب أن يظهر المسار من ISP1 مع علامة >).
- قم بإعداد route-map على R1 لـ AS_PATH Prepend عند الإرسال إلى ISP2 (لجعل ISP2 أقل تفضيلاً للدخول).
- (تحدٍ إضافي): استخدم أمر show ip bgp neighbors <ip> advertised-routes للتأكد من أن التغيير قد تم إرساله.
6.اختبار اليوم 📝
السؤال الأول: ما الفرق بين Weight و LOCAL_PREF من حيث النطاق (Scope)؟
السؤال الثاني: ما هي السمة التي تستخدم لمنع الحلقات في BGP تلقائياً؟
السؤال الثالث: متى نستخدم as-path prepend؟
السؤال الرابع: في ترتيب اختيار المسار، أي سمة تُقارن أولاً: LOCAL_PREF أم AS_PATH؟
السؤال الخامس — تحدي CCNA: لديك راوتران (R1 و R2) في نفس AS، وكلاهما متصل بـ ISP1 و ISP2. تريد أن يخرج الترافيك من R1 عبر ISP1، ومن R2 عبر ISP2. كيف ستستخدم سمات BGP لتحقيق ذلك؟ (اذكر السمة والأمر).
🎯 خلاصة الدرس
· BGP يختار المسارات بناءً على السياسات (Attributes)، وليس السرعة. · Weight: محلية، الأعلى أفضل. · LOCAL_PREF: تنتشر داخل AS، الأعلى أفضل (للتحكم في الخروج). · AS_PATH: الأقصر أفضل (للتحكم في الدخول عبر Prepend). · MED: الأقل أفضل (إشارة للجار). · أدوات التحكم: route-map, set local-preference, set as-path prepend. · أوامر التحقق: show ip bgp, show ip bgp neighbors.
#CCNA #BGP #RoutingProtocols #PathControl #Cisco #Networking #هندسة_الشبكات
