كثيرة جدا هي الطلبات التى وصلتني لكي أقوم بشرح بروتوكول الـ BGP وأحب أن أصدقكم القول أني لست خبيرا جدا في التعامل مع هذا البروتوكول فقد درسته فقط في كورس الـBSCI لذا سوف أضع كل ماتعلمته وقراته حول هذا البروتوكول والموضوع بشكل عام سوف يقسم إلى ثلاث أقسام وهي
القسم الأول سوف يكون عبارة عن مقدمة ومعلومات عامة يجب أن نعرفها حول البروتوكول
القسم الثاني شرح كيفية أختيار أفضل مسار أو مايسمى Attribute
القسم الثالث سوف يكون عن كيفية أعداده وتشغيله
مقدمة
BGP أو Border Gateway Protocol يعد هذا البروتوكول من أكثر البروتوكولات المستخدمة في الأنترنت وأحب أن أطلق عليه لقب قلب الأنترنت فبدونه سوف تتوقف حركة الأنترنت بشكل كامل فهو مسؤول عن ربط جميع الـ autonomous System ببعضها البعض والتى سوف أعود لأتكلم عنها. تم تطوير هذا البروتوكول أول مرة عام 1989 من قبل Yakov Rekhter من شركة IBM سابقا وجونيبر حاليا و Kirk Lougheed من شركة سيسكو واطلق عليه BGP-1 أو RFC 1105 وليصل إلى صيغته الرئيسية عام 1995 والتى تستخدم حتى لحظة كتابة الموضوع والمعروفة بي BGP-4 RFC 1771 وقد طرأت عليه بعض التعديلات عام 2006 في RFC 4271 وأكثر مايميز الأصدار الرابع عن البقية هو دعمه لي Classless Inter-Domain Routing بالأضافة إلى دعمه لعمل Aggregation network بين الروترات والذي بدوره يخفف من حمل تبادل الـ Routing Table وآخيرا قبل ظهور هذا البروتوكول كان هناك بروتوكول آخر يدعى EBG Exterior Gateway Protocol والذي أحيل إلى التقاعد نهائيا بعد ظهور BGP
معلومات يجب أن نعرفها
-تنقسم أنواع الـ Routing Protocol إلى نوعين
Interior gateway routing وهي خاصة بالشبكات التى تعمل داخليا ولاتستخدم في الأنترنت أمثلة عليها OSPF, EIGRP, RIP, IS-IS وتعرف بي IGP
Exterior gateway routing وهي خاصة بالأنترنت وبوصل الـ autonomous System ببعضها ولها نوع واحد هو BGP v4 وهذا يعني أن BGP يعد EGP وهي أول معلومة يجب أن نعرفها
-يعد الـ BGP Path-vector Protocol لانه يعطيك المسارات المطلوبة للوصول إلى وجهتك بينما يعد الـRIP, EIGRP Distance-vector Protocol والـ OSPF, IS-IS Link state Protocol
-يعمل الـBGP من خلال الـ TCP ويستخدم البورت 179 للأتصال مع جيرانه بينما نجد RIP يعمل من خلال UDP الـOSPF,EIGRP يعملان من خلال الأيبي مباشرة والـIS-IS يعمل من خلال طبقة الثانية الداتا لينك
-يقوم الـBGP بوصل الـ autonomous System ببعضها البعض كما ذكرت مسبقا والـAS هي عبارة عن أرقام تقوم الـIANA بالأشراف عليها وتوزيعها على مخدمات الأنترنت في العالم وهي تتألف من 16 بت تبدأ بي 0 وتنتهي 65536 ومن 64512-64534 تعد Privet AS ولايمكن أستخدامها وحتى عام 2008 تم حجز 49152 AS وقد تم وضع مخطط لزيادتها إلى 32 بت في FRC 4893
نفهم من كل هذا الكلام حول AS أن كل شركة أنترنت تحصل على رقم خاص فيها والتى يستخدمها بروتوكول BGP لوصل كل شيء موجود على الأنترنت ببعضه البعض كشبكة واحدة فلك أن تتخيل حجم هذه الشبكة تستطيع أن نتخيل الموضوع مثل هذه الصورة بحيث تمثل كل غيمة شركة أنترنت أو ISP ولها رقم AS خاص يقوم بروتوكول الـ BGP بربطها جميعها مع بعضها البعض ويقوم بتبادل الـRouting Table بينها.
-للـBGP نوعان الأول Internal BGP IBGP وهو عندما يتصل روتران مع بعضهما البعض ولهم نفس AS ولايشترط أن يكونوا متصلين مباشرة مع بعضهما البعض والثاني Extrnal BGP EBGP وهو عندما يتصل روتران مع بعضهما ولهم AS مختلفة ويشترط أن يكونوا متصلين ببعضهما بشكل مباشر وهذه صورة توضح فكرة الأثنان
-أحد الشروط المهمة والتى يجب أعدادها لكي يعمل البروتوكول بشكل جيد هي تعريف الجبران المتصلين معك بشكل يدوي ويطلق عليهم Peers كمصطلح وطريقة الأعداد سوف نتطرق إليه فيما بعد
-يقوم البروتوكول بأرسال Keep alive Msg كل 60 ثانية ليتأكد من الـconnective مع جيرانه وهي 19byte.
-يعتمد أختيار أفضل مسار في الـBGP على عدة أشياء تدعى Attributes وهي كثيرة جدا وتقسم إلى نوعين الأول Well-Known Attributes وهي أجبارية والثاني Optional Attributes وهي أختيارية وسوف نتناولها في الموضوع القادم إن شاء الله.
-للـBGP ثلاث Table الأولى خاصة بالجيران المتصل معهم Peers Table والثانية BGP Routing Table وهي تحوي كل المسارات المتاحة للوصول إلى AS والثالثة هي IP Routing Table وطبعا يوجد فيها أفضل مسار للوصول إلى AS.
هذا كل مالدينا لليوم وأن شاء الله سوف يكون هناك شرح مفصل للـAttribute في التدوينة القادمة مع توضيح لكيفية عمل البروتوكول وأرحب بأي أضافة على الموضوع ودمتم بود
thank you
جزاك الله كل خير شرح مبسط ومميز كالعادة علي الرغم من دراستي لهذا البروتوكول فلم اكن اعرف شيء عن المطورين ومراحل تطويره شكرا لك وفي انتظار باقي اجزاء الموضوع
يسلمو كتير ع الموضوع
بس في عندي سؤال عن اسم البرنامج اللي تصممت في الصور التوضيحية في موضوعك
GNS3 واذا أردت شيء أحترافي تستطيع أن تقوم بتحميل هذا البرنامج
http://www.smartdraw.com/specials/network-topology.htm
الف شكر لك اخي شرح رائع ومفيد ونتمنى المزيد 😀
جزاك الله خيرا يا اخي وبارك الله فيك على هذا المجهود في الشرح وان شاءالله في موازين حسناتك ، الرجاء المتابعة في تكملة الموضوع كاملاً فأنا في أمس الحاجة له الآن ..
أخي العزيز الجزء الثاني من الشرح موجود على المدونة وقريبا الجزء الثالث
😯 ماشاء الله عليك
وبانتظار المزيد 8) 😀
السلام عليكم
ذكرني ebgp و ibgp ب Abr اي area bodre roure و َAsbr في ospf
ممتاز يا ايمن
مشكور يااخي يعطيك الف عافيه
السلام عليكم ورحمة الله وبركاتة … جزاك الله كل خير وذادك علما ومحبة ورضوانا
كنت استفسر عن الprivet asn و public متي استخدم هذا ومتي استخدم هذا
ارجو ان لا اكون ازعجتك
نفس السؤال رح أسالك بس بطريقة آخرى متى نستخددم الـ Private IP ومتى نستخدم الـ Publick IP ؟جواب هذا السؤال هو نفس الجواب لسؤالك
الف شكر يا هندسة
دي اول بداية للقراءة عن البروتوكول ده
شكرا كتيير
كلام جميل و اشكرك عليه و عندي فقط تصحيح بسيييط
البروتوكول في Keep alive Msg يرسل كل 90 ثانية و ليس كل 60 ثانية
تصحيح لكي تصبح المعلومة اكثر دقة
اكرر شكري لك و بالتوفيق يا رب
هل لديك دليل على هذا الكلام ❓
كلام جميل و اشكرك جدا جدا
مجهود مقدر اخي أيمن الله يقويك وكل عام وأنت بخير ..
ما شاء الله تبارك الله المدونة صارت مرجع بالنسبة لي لأنها أجابت على جميع الاسئلة.
مرة ثانية أمنياتي لك بدوام الصحة والعافية سير وعين الله ترعاك.
thanx !*
السلام عليكم شكرا لهذه المعلومات الثرة
اريد عمل ماجستير بالبحث في مجال الشبكات واعجبني هذا البروتوكول جدا فهل من مواضيع مقترحه تصلح كمشروع ماجستير في هذا البروتوكول او في الشبكات عموما
شكرا لك وبارك الله في هذا الجهد الطيب ..