BGP (Border Gateway Protocol) هو البروتوكول الذي يشغّل الإنترنت. نسخته الحالية BGP-4 معرّفة في RFC 4271، وهو بروتوكول Path Vector يتبادل المسارات بين الأنظمة الذاتية Autonomous Systems، وكل نظام ذاتي هو شبكة تحت إدارة واحدة مثل مزود خدمة أو شركة كبيرة، ويُعرّف برقم ASN. الأرقام من 64512 إلى 65534 خاصة، وتوجد أيضاً أرقام بطول 4 بايت.
كيف يعمل؟
لا يكتشف BGP جيرانه تلقائياً؛ بل يُعرَّف كل جار يدوياً، وتُبنى الجلسة عبر TCP منفذ 179. تمر الجلسة بالحالات Idle وConnect وActive وOpenSent وOpenConfirm حتى Established. وأنواع الرسائل هي Open وUpdate وKeepalive وNotification. وتنقسم الجلسات إلى:
- eBGP: بين نظامين ذاتيين مختلفين، بمسافة إدارية 20.
- iBGP: داخل النظام الذاتي نفسه، بمسافة إدارية 200، ولا يعيد الراوتر إعلان ما تعلمه من iBGP إلى جار iBGP آخر، لذلك يلزم Full Mesh أو Route Reflectors.
اختيار أفضل مسار
لا يعتمد BGP على السرعة أو عدد القفزات وحدهما، بل على سلسلة سمات Attributes تُقارن بالترتيب على أجهزة سيسكو، وأهمها:
- أعلى Weight (خاصة بسيسكو ومحلية في الراوتر).
- أعلى Local Preference داخل النظام الذاتي.
- المسار الذي أنشأه الراوتر محلياً.
- أقصر AS_PATH.
- أقل Origin (IGP ثم EGP ثم Incomplete).
- أقل MED.
- تفضيل eBGP على iBGP، ثم أقرب Next Hop حسب IGP، ثم معايير كسر التعادل مثل Router ID.
مثال إعداد
R1(config)# router bgp 65001
R1(config-router)# bgp router-id 1.1.1.1
R1(config-router)# neighbor 203.0.113.2 remote-as 65002
R1(config-router)# network 198.51.100.0 mask 255.255.255.0
R1# show ip bgp summary
تنبيه شائع: أمر network في BGP لا يفعّل البروتوكول على الواجهات كما في OSPF، بل يعلن البادئة فقط إذا كانت موجودة بالقناع نفسه تماماً في جدول التوجيه.
لماذا يهمك؟
تحتاج BGP عندما ترتبط شركتك بأكثر من مزود خدمة Multihoming، أو في شبكات مزودي الخدمة وMPLS VPN، أو في مراكز البيانات الحديثة. وأخطاء BGP أو سرقة البادئات قد تقطع خدمات عالمية، لذلك أصبحت تقنيات حماية مثل RPKI جزءاً أساسياً من تشغيله.





