تسعى مجموعة الوثائق لهذا المنتج جاهدة لاستخدام لغة خالية من التحيز. لأغراض مجموعة الوثائق هذه، يتم تعريف "خالية من التحيز" على أنها لغة لا تعني التمييز على أساس العمر، والإعاقة، والجنس، والهوية العرقية، والهوية الإثنية، والتوجه الجنسي، والحالة الاجتماعية والاقتصادية، والتمييز متعدد الجوانب. قد تكون الاستثناءات موجودة في الوثائق بسبب اللغة التي يتم تشفيرها بشكل ثابت في واجهات المستخدم الخاصة ببرنامج المنتج، أو اللغة المستخدمة بناءً على وثائق RFP، أو اللغة التي يستخدمها منتج الجهة الخارجية المُشار إليه. تعرّف على المزيد حول كيفية استخدام Cisco للغة الشاملة.
ترجمت Cisco هذا المستند باستخدام مجموعة من التقنيات الآلية والبشرية لتقديم محتوى دعم للمستخدمين في جميع أنحاء العالم بلغتهم الخاصة. يُرجى ملاحظة أن أفضل ترجمة آلية لن تكون دقيقة كما هو الحال مع الترجمة الاحترافية التي يقدمها مترجم محترف. تخلي Cisco Systems مسئوليتها عن دقة هذه الترجمات وتُوصي بالرجوع دائمًا إلى المستند الإنجليزي الأصلي (الرابط متوفر).
يصف هذا المستند خمس دراسات حالة لبروتوكول العبّارة الحدودية (BGP).
لا توجد متطلبات خاصة لهذا المستند.
لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
راجع اصطلاحات تلميحات Cisco التقنية للحصول على مزيد من المعلومات حول اصطلاحات المستندات.
يتيح لك BGP، الذي يحدده RFC 1771، إنشاء توجيه بين المجالات خالٍ من الحلقات بين الأنظمة المستقلة (AS). المقصود بنظام مستقل هو مجموعة من الموجّهات تحت إدارة تقنية واحدة. يمكن للموجّهات في النظام المستقل استخدام العديد من بروتوكولات العبّارة الداخلية (IGPs) لتبادل معلومات التوجيه داخل النظام المستقل. يمكن للموجّهات استخدام بروتوكول العبّارة الخارجية لتوجيه الحِزم خارج النظام المستقل.
يستخدم BGP بروتوكول TCP كبروتوكول النقل، على المنفذ 179. يتكون موجهان لبروتوكول BGP من اتصال TCP فيما بينهما. هذه الموجّهات هي موجّهات نظيرة. تتبادل الموجّهات النظيرة الرسائل لفتح معلّمات الاتصال وتأكيدها.
تتبادل موجّهات BGP معلومات إمكانية الوصول إلى الشبكة. تُعد هذه المعلومات بشكل أساسي إشارة إلى المسارات الكاملة التي يجب أن يسلكها المسار للوصول إلى الشبكة الوجهة. المسارات هي أرقام النظام المستقل لبروتوكول BGP. تساعد هذه المعلومات على إنشاء رسم بياني لنظام مستقل خالٍ من التكرار الحلقي. كما يوضّح الرسم البياني مكان تطبيق سياسات التوجيه من أجل فرض بعض القيود على سلوك التوجيه.
إن أي موجّهين يشكلان اتصال TCP من أجل تبادل معلومات توجيه BGP هما "نظراء" أو "أجهزة متجاورة". يتبادل نظراء BGP في البداية جداول توجيه BGP الكاملة. بعد هذا التبادل، يرسل النظراء تحديثات إضافية مع تغير جدول التوجيه. يحتفظ BGP برقم إصدار جدول BGP. يكون رقم الإصدار واحدًا لكل نظراء BGP. يتغير رقم الإصدار كلما قام BGP بتحديث الجدول بتغييرات معلومات التوجيه. يضمن إرسال حِزم Keepalive أن الاتصال بين نظراء BGP حيوي. تخرج حِزم الإعلام استجابةً لأخطاء أو شروط خاصة.
إذا كان النظام المستقل (AS) يحتوي على العديد من مكبرات الصوت لـ BGP، فيمكن أن يعمل هذا النظام كخدمة نقل خاصة بالأنظمة المستقلة (AS) الأخرى. كما يوضح الرسم التخطيطي التالي في هذا القسم، فإن AS200 هو نقل باسم AS100 و AS300.
لإرسال المعلومات إلى أنظمة مستقلة خارجية، يجب أن يكون هناك ضمان بإمكانية الوصول للشبكات. لضمان إمكانية الوصول إلى الشبكة، تحدث هذه العمليات:
يناظر BGP الداخلي (iBGP) بين الموجّهات داخل نظام مستقل
إعادة توزيع معلومات BGP إلى بروتوكولات IGP التي تعمل في AS
عند تشغيل BGP بين موجّهات تنتمي إلى نظامي تشغيل AS مختلفين، يُطلق على ذلك اسم BGP خارجي (eBGP). عند تشغيل BGP بين الموجّهات في AS نفسه، يُسمى ذلك iBGP.
أكمل هذه الخطوات لتمكين BGP وتكوينه.
افترض أنك تريد أن يكون لديك موجّهان، RTA وRTB، يتحدثان عبر BGP. في المثال الأول، هناك RTA وRTB في أنظمة مستقلة مختلفة. في المثال الثاني، ينتمي كلا الموجّهين إلى النظام المستقل نفسه.
حدّد عملية الموجّه ورقم النظام المستقل الذي تنتمي إليه الموجّهات.
أصدِر هذا الأمر لتمكين BGP على موجّه:
router bgp <autonomous-system>
RTA#
router bgp 100
RTB#
router bgp 200
تشير هذه العبارات إلى أن RTA تقوم بتشغيل BGP وتنتمي إلى AS100. يعمل بروتوكول RTB على بروتوكول BGP وينتسب إلى AS200.
قم بتحديد الأجهزة المجاورة لـ BGP.
يشير تكوين الجهاز المجاور لـ BGP إلى الموجّهات التي تحاول التحدث عبر BGP. يشرح القسم التالي هذه العملية.
يصبح موجّها BGP متجاورين بعد أن تقوم الموجّهات بإنشاء اتصال TCP بين بعضها البعض. يُعد اتصال TCP أمرًا ضروريًا لكي يبدأ الموجّه النظير تبادل تحديثات التوجيه.
بعد تشغيل اتصال TCP، ترسل الموجّهات رسائل مفتوحة لتبادل القيم. تتضمن القيم التي تتبادلها الموجهات رقم AS، وإصدار BGP الذي تقوم الموجّهات بتشغيله، ومعرّف الموجّه BGP، وزمن تعطل رسائل تنشيط الاتصال. بعد تأكيد هذه القيم وقبولها، يحدث تأسيس اتصال مجاور. وأي حالة أخرى بخلاف المؤسسة هي إشارة إلى أن الموجهين لم يصبحا متجاورين وأن الموجّهات لا يمكنها تبادل تحديثات BGP.
قم بإصدار هذا neighbor الأمر لإنشاء اتصال TCP:
neighbor <ip-address> remote-as <number>
الرقم الموجود في الأمر هو رقم AS للموجّه الذي تريد الاتصال به باستخدام BGP. ip-address هو عنوان الخطوة التالية مع الاتصال المباشر لـ eBGP. بالنسبة إلى iBGP، يكون ip-address هو أي عنوان IP على الموجّه الآخر.
يجب أن يكون عنوانا IP اللذان
neighbor تستخدمه في الأمر الخاص بموجهات النظير قادرين على الوصول إلى بعضهم البعض. تتمثل إحدى طرق التحقق من إمكانية الوصول في الأمر ping الموسّع بين عنواني IP. يفرض إختبار الاتصال الموسع موجه الحزم لاستخدامه كمصدر عنوان IP الذي يحدده
neighbor الأمر. يجب أن يستخدم الموجّه هذا العنوان بدلاً من عنوان IP للواجهة التي تنتقل منها الحِزمة.
في حالة وجود أي تغييرات في تكوين BGP، يجب إعادة تعيين الاتصال المجاور للسماح للمعلّمات الجديدة بالعمل. .
-
clear ip bgp address
ملاحظة: العنوان هو العنوان المجاور
-
clear ip bgp *
يمسح هذا الأمر جميع اتصالات الأجهزة المجاورة.
بشكل افتراضي، تبدأ جلسات BGP باستخدام الإصدار 4 من BGP والتفاوض نزولاً إلى الإصدارات السابقة، إذا لزم الأمر. يمكنك منع المفاوضات وفرض إصدار BGP الذي تستخدمه الموجّهات للاتصال بجهاز مجاور. أصِدر هذا الأمر في وضع تكوين الموجّه:
neighbor {ip address | peer-group-name} version <value>
هنا مثال من
neighbor الأمر تشكيل:
RTA#
router bgp 100
neighbor 192.168.129.213 remote-as 200
RTB#
router bgp 200
neighbor 192.168.129.212 remote-as 100
neighbor 172.22.1.2 remote-as 200
RTC#
router bgp 200
neighbor 172.22.212.1 remote-as 200
في هذا المثال، يقوم كل من RTA وRTB بتشغيل eBGP. يقوم RTB وRTC بتشغيل iBGP. يشير رقم النظام المستقل البعيد إلى نظام AS خارجي أو داخلي، مما يشير إلى eBGP أو iBGP. كما أن نظراء eBGP لديهم اتصال مباشر، ولكن ليس لدى نظائر iBGP اتصال مباشر. لا تحتاج موجهات iBGP إلى وجود اتصال مباشر. ولكن لابد من وجود بروتوكول العبارة الداخلية الذي يعمل ويسمح للجارين بالوصول إلى بعضهما البعض.
يوفر هذا القسم مثالاً على المعلومات التي يعرضها الأمر show ip bgp neighbors .
ملاحظة: انتبه بشكل خاص لحالة BGP. تشير أي حالة غير الحالة المعروفة إلى أن الأقران غير مستقرين. لاحظ أيضا العناصر التالية:
-
إصدار BGP، وهو 4
-
معرّف الموجّه البعيد
هذا الرقم هو أعلى عنوان IP على الموجّه أو أعلى واجهة استرجاع، إن وجدت.
-
إصدار الجدول
يوفر إصدار الجدول حالة الجدول. في أي وقت تأتي فيه معلومات جديدة، يعمل الجدول على زيادة الإصدار. يشير الإصدار الذي يستمر في الزيادة إلى أن هناك بعض تذبذبات المسار التي تسبب التحديث المستمر للمسارات.
Router#show ip bgp neighbors
BGP neighbor is 192.168.129.213, remote AS 200, external link
BGP version 4, remote router ID 172.22.12.1
BGP state = Established, table version = 3, up for 0:10:59
Last read 0:00:29, hold time is 180, keepalive interval is 60 seconds
Minimum time between advertisement runs is 30 seconds
Received 2828 messages, 0 notifications, 0 in queue
Sent 2826 messages, 0 notifications, 0 in queue
Connections established 11; dropped 10
BGP وواجهات الاسترجاع
إن إستخدام واجهة الاسترجاع لتعريف الجيران أمر مشترك مع iBGP ولكنه ليس شائعا مع eBGP. عادة، تستخدم واجهة الاسترجاع للتأكد من أن عنوان IP الخاص بالجهاز المجاور يظل قيد التشغيل ومستقل عن الأجهزة التي تعمل بشكل صحيح. في حالة eBGP، يكون للموجّهات النظيرة اتصال مباشر بشكل متكرر، ولا يتم تطبيق الاسترجاع.
إذا كنت تستخدم عنوان IP الخاص بواجهة الاسترجاع في
neighbor الأمر، فأنت بحاجة إلى بعض التكوين الإضافي على الموجه المجاور. يحتاج موجّه الجهاز المجاور إلى إبلاغ BGP باستخدام واجهة استرجاع بدلاً من واجهة مادية لبدء اتصال TCP المجاور لـ BGP. للإشارة إلى واجهة استرجاع، أصدر هذا الأمر:
neighbor <ip-address> update-source <interface>
يوضح هذا المثال استخدام هذا الأمر:
RTA#
router bgp 100
neighbor 10.195.225.11 remote-as 100
neighbor 10.195.225.11 update-source loopback 1
RTB#
router bgp 100
neighbor 10.212.1.1 remote-as 100
في هذا المثال، تقوم كل من RTA و RTB بتشغيل iBGP داخل AS100. في
neighbor الأمر، يستخدم RTB واجهة الاسترجاع الخاصة ب RTA، 10.212.1.1. في هذه الحالة، يجب أن يجبر RTA BGP لاستخدام عنوان IP الاسترجاع كمصدر في اتصال TCP المجاور. من أجل فرض هذا الإجراء، يضيف RTA
update-source interface-type interface-number بحيث يكون الأمر
neighbor
10.195.225.11 update-source loopback 1. يجبر هذا البيان BGP على إستخدام عنوان IP الخاص بواجهة الاسترجاع عند تحدث BGP إلى المجاور 10.195.225.11.
ملاحظة: لقد استخدم RTA عنوان IP للواجهة المادية لـ RTB، وهو 10.195.225.11، كجهاز مجاور. ويُعد استخدام عنوان IP هذا هو السبب في عدم حاجة RTB إلى أي تكوين خاص. ارجع إلى نموذج التكوين لـ iBGP وeBGP مع أو بدون عنوان الاسترجاع لتكوين نموذج كامل لسيناريو الشبكة.
eBGP متعدد الخطوات
في بعض الحالات، يمكن لموجّه Cisco تشغيل eBGP مع موجّه تابع لجهة خارجية لا يسمح بالاتصال المباشر للنظيرين الخارجيين. لتحقيق الاتصال، يمكنك استخدام eBGP متعدد الخطوات. يتيح متجر eBGP متعدد الأجهزة اتصالاً مجاورًا بين نظيرين خارجيين ليس بهما اتصال مباشر. إن المتجر متعدد الأغراض مخصص لـ eBGP فقط وليس لـ iBGP. يوضّح هذا المثال eBGP متعدد الخطوات:
RTA#
router bgp 100
neighbor 10.180.225.11 remote-as 300
neighbor 10.180.225.11 ebgp-multihop
RTB#
router bgp 300
neighbor 192.168.129.212 remote-as 100
يشير RTA إلى جهاز مجاور خارجي ليس لديه اتصال مباشر. يحتاج RTA إلى الإشارة إلى استخدام الأمر neighbor ebgp-multihop . ومن ناحية أخرى، يشير RTB إلى جار له اتصال مباشر، وهو 192.168.129.212. وبسبب هذا الاتصال المباشر، لا يحتاج RTB إلى
neighbor ebgp-multihop الأمر. أنت ينبغي أيضا شكلت igp أو ساكن إستاتيكي تحشد أن يسمح الجيران دون اتصال أن يبلغوا بعضهم بعضا.
يوضح المثال في قسم موازنة التحميل BGP متعدد الخطوات كيفية تحقيق موازنة التحميل مع BGP في حالة وجود eBGP عبر خطوط متوازية.
eBGP متعدد الخطوات (موازنة الحِمل)
RTA#
int loopback 0
ip address 10.150.1.1 255.255.255.0
router bgp 100
neighbor 172.31.160.10 remote-as 200
neighbor 172.31.160.10 ebgp-multihop
neighbor 172.31.160.10 update-source loopback 0
network 172.31.202.2
ip route 172.31.160.0 255.255.0.0 10.1.1.2
ip route 172.31.160.0 255.255.0.0 10.2.2.2
RTB#
int loopback 0
ip address 172.31.160.10 255.255.255.0
router bgp 200
neighbor 10.150.1.1 remote-as 100
neighbor 10.150.1.1 update-source loopback 0
neighbor 10.150.1.1 ebgp-multihop
network 172.31.160.0
ip route 172.31.202.2 255.255.0.0 10.1.1.1
ip route 172.31.202.2 255.255.0.0 10.2.2.1
يوضح هذا المثال إستخدام واجهات الاسترجاع،
update-source، و
ebgp-multihop. المثال عبارة عن حل بديل من أجل تحقيق موازنة الحِمل بين مكبري صوت eBGP عبر الخطوط التسلسلية المتوازية. في الحالات العادية، يختار BGP أحد السطور التي يتم إرسال الحِزم عليها، ولا تحدث موازنة الحِمل. مع تقديم واجهات الاسترجاع، تكون الخطوة التالية لـ eBGP هي واجهة الاسترجاع. إنك تستخدم المسارات الثابتة، أو IGP، لتقديم مسارين متساويي التكلفة للوصول إلى الوجهة. أمام RTA خياران للوصول إلى المرحلة التالية 172.31.160.10: مسار واحد عبر 10.1.1.2 والمسار الآخر عبر 10.2.2.2. امام RTB الخيارات نفسها.
خرائط المسار
هناك استخدام مكثف لخرائط المسارات مع BGP. في سياق BGP، تُعد خريطة المسار طريقة للتحكم في معلومات التوجيه وتعديلها. يحدث التحكم في معلومات التوجيه وتعديلها من خلال تعريف شروط إعادة توزيع المسار من بروتوكول توجيه إلى آخر. أو يمكن التحكم في معلومات التوجيه عند الحقن داخل وخارج BGP. وهكذا يكون شكل خريطة المسار:
route-map map-tag [[permit | deny] | [sequence-number]]
علامة الخريطة هي ببساطة اسم تعطيه أنت لخريطة التوجيه. يمكنك تحديد مثيلات متعددة لنفس خريطة المسار أو نفس علامة الاسم. الرقم التسلسلي هو ببساطة إشارة إلى الموضع الذي يجب أن تحتوي عليه خريطة المسار الجديدة في قائمة خرائط المسارات التي قمتَ بتكوينها بالفعل بنفس الاسم.
في هذا المثال، يوجد مثيلان لخريطة المسار المحددة، باسم MYMAP. يحتوي المثيل الأول على رقم تسلسلي 10، ويحتوي الثاني على رقم تسلسلي 20.
-
route-map MYMAP permit 10 (تظهر مجموعة الشروط الأولى هنا.)
-
route-map MYMAP permit 20 (تظهر مجموعة الشروط الثانية هنا.)
عند تطبيق خريطة مسار MYMAP على المسارات الواردة أو الصادرة، يتم تطبيق المجموعة الأولى من الشروط عبر المثيل 10. إذا لم يتم الوفاء بالمجموعة الأولى من الشروط، فعليك المتابعة إلى مثيل أعلى لخريطة المسار.
مطابقة أوامر التكوين وتعيينها
يتكون كل خريطة مسار من قائمة أوامر التكوين
match
set و. يحدد التطابق
match معيار ويحدد مجموعة
set إجراء إذا تم استيفاء المعايير التي يفرضها
match الأمر.
على سبيل المثال، يمكنك تحديد خريطة مسار للتحقق من التحديثات الصادرة. إذا كان هناك تطابق لعنوان IP 10.1.1.1، يتم تعيين المقياس لذلك التحديث على 5. توضح هذه الأوامر المثال التالي:
match ip address 10.1.1.1
set metric 5
الآن، إذا تم استيفاء معايير المطابقة وكان لديك
permit، هناك إعادة توزيع أو التحكم في المسارات، كما يحدد الإجراء set. لقد خرجتَ من القائمة.
إذا تم الوفاء بمعايير المطابقة وكان لديك
deny معيار، فلا توجد إعادة توزيع أو تحكم في المسار. لقد خرجتَ من القائمة.
إذا لم يتم استيفاء معايير المطابقة وكان لديك
permit أو
deny ، يتم التحقق من المثيل التالي لخريطة المسار. على سبيل المثال، يتم تحديد المثال 20. يستمر التحقق من المثيل التالي هذا حتى تقوم إما بالخروج من جميع مثيلات خريطة المسار أو إنهائها. إذا قمت بإنهاء القائمة بدون تطابق، فسيكون
not accepted nor forwarded المسار هو .
في الإصدارات الأقدم من الإصدار 11.2 من برنامج Cisco IOS® من Cisco IOS Software، عند إستخدام خرائط المسارات لتصفية تحديثات BGP بدلا من إعادة التوزيع بين البروتوكولات، يمكنك عدم تصفية البروتوكولات الواردة عند إستخدام أمر تطابق على عنوان IP. يُعد عامل التصفية على الصادر مقبولاً. ولا يوجد هذا التقييد في إصدار برنامج Cisco IOS 11.2 والإصدارات الأحدث.
الأوامر ذات الصلة ل
match هي:
-
matchas-path
-
match community
-
matchclns
-
match interface
-
matchip address
-
matchip nexthop
-
matchip route-source
-
matchmetric
-
match route-type
-
match tag
الأوامر ذات الصلة ل
set هي:
-
set as-path
-
set clns
-
set automatic-tag
-
set community
-
set interface
-
set default interface
-
set ip default nexthop
-
set level
-
set local-preference
-
set metric
-
set metric-type
-
set nexthop
-
set origin
-
set tag
-
set weight
انظر إلى بعض أمثلة خرائط المسارات:
مثال 1
لنفترض أن RTA وRTB يقومان بتشغيل بروتوكول معلومات التوجيه (RIP)، وأن RTA وRTC يقومان بتشغيل BGP. يحصل RTA على التحديثات عبر BGP ويُعيد توزيع التحديثات على RIP. لنفترض أن RTA تريد إعادة التوزيع إلى مسارات RTB حوالي 172.16.10.0 مع قياس 2 وجميع المسارات الأخرى مع قياس 5. في هذه الحالة، أنت يستطيع استعملت هذا تشكيل:
RTA#
router rip
network 10.3.0.0
network 10.2.0.0
network 172.31.202.2
passive-interface Serial0
redistribute bgp 100 route-map SETMETRIC
router bgp 100
neighbor 10.2.2.3 remote-as 300
network 172.31.202.2
route-map SETMETRIC permit 10
match ip-address 1
set metric 2
route-map SETMETRIC permit 20
set metric 5
access-list 1 permit 172.16.10.0 0.0.255.255
في هذا المثال، إذا تطابق مسار مع عنوان IP 172.16.10.0، فسيكون للمسار مقياس 2. بعد ذلك، تخرج من قائمة خريطة المسار. إذا لم يكن هناك تطابق، فعليك المتابعة أسفل قائمة خريطة المسار، والتي تشير إلى تعيين كل شيء آخر على المقياس 5.
ملاحظة: اطرح السؤال دائمًا "ماذا يحدث للمسارات التي لا تطابق أيًا من عبارات المطابقة؟" تسقط هذه المسارات افتراضيًا.
مثال 2
لنفترض أنك، في المثال 1، لا تريد أن يقبل AS100 تحديثات حول 172.16.10.0. لا يمكنك تطبيق خرائط المسار على الوارد عندما تطابق عنوان IP كأساس. لذلك، يجب عليك استخدام خريطة مسار الصادر على RTC:
RTC#
router bgp 300
network 172.16.10.0
neighbor 10.2.2.2 remote-as 100
neighbor 10.2.2.2 route-map STOPUPDATES out
route-map STOPUPDATES permit 10
match ip address 1
access-list 1 deny 172.16.10.0 0.0.255.255
access-list 1 permit 0.0.0.0 255.255.255.255
والآن بعد أن شعرتَ براحة أكبر مع كيفية بدء تشغيل BGP وكيفية تحديد جهاز مجاور، انظر إلى كيفية بدء تبادل معلومات الشبكة.
توجد طرق متعددة لإرسال معلومات الشبكة باستخدام BGP. تمر هذه الأقسام بالطرق واحدة تلو الأخرى:
-
أمر الشبكة
-
إعادة التوزيع
-
المسارات الثابتة وإعادة التوزيع
أمر الشبكة
تنسيق
network الأمر:
network <network-number> mask <network-mask>
يتحكم
network الأمر في الشبكات التي تنشأ من هذا المربع. يختلف هذا المفهوم عن التكوين المألوف مع بروتوكول توجيه العبّارة الداخلية (IGRP) وRIP. باستخدام هذا الأمر، لا تحاول تشغيل BGP على واجهة معينة. بدلا من ذلك، تحاول الإشارة إلى BGP إلى الشبكات التي يجب أن ينشأ BGP من هذا المربع. يستخدم الأمر جزء قناع لأن الإصدار 4 من BGP (BGP4) يمكنه التعامل مع التقسيم إلى الشبكات الفرعية والشبكات الفائقة. يكون الحد الأقصى لعدد إدخالات
network الأمر الذي يبلغ 200 إدخالا مقبولا.
يعمل
network الأمر إذا كان الموجه يعرف الشبكة التي تحاول الإعلان عنها، سواء كانت متصلة أو ثابتة أو متعلمة بشكل ديناميكي.
مثال على الأمر network هو:
RTA#
router bgp 1
network 192.168.213.0 mask 255.255.0.0
ip route 192.168.213.0 255.255.0.0 null 0
يشير هذا المثال إلى أن الموجه A يقوم بإنشاء إدخال شبكة ل 192.168.213.0/16. يشير /16 إلى أنك تستخدم شبكة فائقة من عنوان الفئة C وأنت تعلن عن أول نظامين ثمانيين، أو أول 16 وحدة بت.
ملاحظة: أنت بحاجة إلى المسار الثابت لجعل الموجّه يقوم بإنشاء 192.168.213.0 لأن المسار الثابت يضع إدخالاً مطابقًا في جدول التوجيه.
إعادة التوزيع
network الأمر هو طريقة واحدة للإعلان عن شبكاتك عبر BGP. هناك طريقة أخرى لإعادة توزيع IGP الخاص بك إلى BGP. يمكن أن يكون IGP الخاص بك هو IGRP، أو بروتوكول فتح أقصر مسار أولاً (OSPF)، أو RIP، أو بروتوكول توجيه العبّارة الداخلي المحسّن (EIGRP)، أو بروتوكول آخر. قد تبدو عملية إعادة التوزيع هذه مخيفة لأنك تقوم الآن بتفريغ جميع الطرق الداخلية الخاصة بك في بروتوكول BGP، ويمكن أن تكون بعض هذه المسارات قد تم التعرف عليها من خلال بروتوكول BGP ولا تحتاج إلى إرسالها مرة أخرى. انتبه عند التصفية للتأكد من أنك ترسل إلى المسارات الخاصة بالإنترنت فقط التي تريد الإعلان عنها وليس إلى كل المسارات التي لديك. فيما يلي مثال.
RTA يعلن 192.168.92.213 و RTC يعلن 172.22.0.0. راجع تكوين RTC:
إذا قمت بإصدار
networkالأمر، فلديك:
RTC#
router eigrp 10
network 172.22.0.0
redistribute bgp 200
default-metric 1000 100 250 100 1500
router bgp 200
neighbor 10.1.1.1 remote-as 300
network 172.22.0.0 mask 255.255.0.0
!--- This limits the networks that your AS originates to 172.22.0.0.
إذا كنتَ تستخدم إعادة التوزيع بدلاً من ذلك، فسيكون لديك:
RTC#
router eigrp 10
network 172.22.0.0
redistribute bgp 200
default-metric 1000 100 250 100 1500
router bgp 200
neighbor 10.1.1.1 remote-as 300
redistribute eigrp 10
!--- EIGRP injects 192.168.92.213 again into BGP.
تؤدي إعادة التوزيع هذه إلى إنشاء 192.168.92.213 بواسطة نظامك المستقل. أنت لست المصدر 192.168.92.213؛ AS100 هو المصدر. لذلك، يجب أن تستخدم المرشحات لمنع المصدر من تلك الشبكة من قبل AS. التكوين الصحيح هو:
RTC#
router eigrp 10
network 172.22.0.0
redistribute bgp 200
default-metric 1000 100 250 100 1500
router bgp 200
neighbor 10.1.1.1 remote-as 300
neighbor 10.1.1.1 distribute-list 1 out
redistribute eigrp 10
access-list 1 permit 172.22.0.0 0.0.255.255
يمكنك إستخدام
access-list الأمر للتحكم في الشبكات التي تنشأ من AS200.
تختلف إعادة توزيع OSPF إلى BGP قليلاً عن إعادة توزيع IGPs الأخرى. إن المسألة البسيطة المتمثلة في
redistribute ospf 1
router bgpلا تجدي نفعا. كلمات أساسية محددة مثل
internal،
external،
nssa-external ضرورية لإعادة توزيع المسارات المعنية. راجع فهم إعادة توزيع مسارات OSPF إلى BGP للحصول على مزيد من التفاصيل.
المسارات الثابتة وإعادة التوزيع
كما يمكنك دومًا استخدام المسارات الثابتة لإنشاء شبكة أو شبكة فرعية. والفرق الوحيد هو أن BGP تعتبر أن هذه المسارات لها أصل غير مكتمل أو غير معروف. يمكنك تحقيق نفس النتيجة التي حققها المثال الموجود في قسم إعادة التوزيع بهذه:
RTC#
router eigrp 10
network 172.22.0.0
redistribute bgp 200
default-metric 1000 100 250 100 1500
router bgp 200
neighbor 10.1.1.1 remote-as 300
redistribute static
ip route 172.22.0.0 255.255.255.0 null0
null0 القارن يعني تجاهل الربط. لذلك، إذا حصلت على الحزمة وكانت هناك تطابق أكثر تحديدا من 172.22.0.0، الموجود، فإن الموجه يرسل الحزمة إلى التطابق المحدد. خلاف ذلك، يتجاهل الموجّه الحِزمة. هذه الطريقة هي طريقة جيدة للإعلان عن شبكة فائقة.
لقد ناقش هذا المستند كيف يمكنك استخدام طرق مختلفة لإنشاء مسارات خارج نظامك المستقل. تذكّر أن هذه المسارات يتم إنشاؤها بالإضافة إلى مسارات BGP الأخرى التي تعرفها BGP عبر الأجهزة المجاورة، سواء الداخلية أو الخارجية. يقوم BGP بتمرير المعلومات التي يتعلمها BGP من أحد النظراء إلى النظراء الآخرين. الفرق هو أن المسارات التي تنشأ من
network الأمر أو إعادة التوزيع أو الثابت تشير إلى أن AS الخاص بك هو أصل هذه الشبكات.
تُعد إعادة التوزيع دائمًا طريقة لحقن BGP في IGP.
فيما يلي مثال:
RTA#
router bgp 100
neighbor 10.150.20.2 remote-as 300
network 172.31.202.2
RTB#
router bgp 200
neighbor 10.160.20.2 remote-as 300
network 172.31.160.0
RTC#
router bgp 300
neighbor 10.150.20.1 remote-as 100
neighbor 10.160.20.21 remote-as 200
network 170.10.00
ملاحظة: لا تحتاج إلى الشبكة 172.31.202.2 أو الشبكة 172.31.160.0 في RTC إلا إذا كنت تريد أن يقوم RTC بإنشاء هذه الشبكات وكذلك تمرير هذه الشبكات كما هي واردة من AS100 و AS200. مرة أخرى، الفرق هو أن أمر الشبكة يضيف إعلانا إضافيا لهذه الشبكات نفسها، مما يشير إلى أن AS300 هو أيضا أصل لهذه المسارات.
ملاحظة: تذكّر أن BGP لا يقبل التحديثات التي تم إنشاؤها من النظام المستقل الخاص به. يضمن هذا الرفض وجود هيكل بين النطاقات خالٍ من التكرار الحلقي.
على سبيل المثال، لنفترض أن AS200، من المثالفي هذا القسم، لديه اتصال BGP مباشر في AS100. يقوم RTA بإنشاء مسار 172.31.202.2 ويرسل المسار إلى AS300. وبعد ذلك، يمر RTC بهذا المسار إلى AS200 ويبقي المنشأ AS100. يبلغ RTB 172.31.202.2 إلى AS100 مع بقاء الأصل AS100. تلاحظ RTA أن التحديث تم إنشاؤه من نظام التشغيل AS الخاص بها وتتجاهل التحديث.
iBGP
يمكنك إستخدام بروتوكول iBGP إذا كانت AS ترغب في العمل كنظام نقل إلى أخرى AS. يمكنك فعل نفس الشيء إذا كنت تتعلم من خلال eBGP، ثم تعيد التوزيع إلى IGP، ثم تعيد التوزيع إلى آخر ك. ولكن بروتوكول iBGP يوفر المزيد من المرونة وسبل أكثر فعالية لتبادل المعلومات ضمن قاعدة معلومات. على سبيل المثال، يوفر iBGP طرقًا للتحكم في أفضل نقطة خروج من النظام المستقل باستخدام التفضيلات المحلية. توفر سمة تفضيل المقطعLocal المزيد من المعلومات حول التفضيل المحلي.
RTA#
router bgp 100
neighbor 192.168.10.50 remote-as 100
neighbor 172.31.20.2 remote-as 300
network 172.31.202.2
RTB#
router bgp 100
neighbor 10.150.10.30 remote-as 100
neighbor 172.16.40.1 remote-as 400
network 192.168.10.150
RTC#
router bgp 400
neighbor 172.16.40.2 remote-as 100
network 172.16.0.0
ملاحظة: تذكّر أنه عندما يتلقى مكبر صوت BGP تحديثًا من سماعات BGP أخرى في نظام مستقل خاص به (iBGP)، فإن مكبر الصوت BGP الذي يتلقى التحديث لا يعيد توزيع هذه المعلومات على مكبرات الصوت الأخرى لـ BGP في النظام المستقل الخاص به. يقوم مكبر الصوت BGP الذي يتلقى التحديث بإعادة توزيع المعلومات على سماعات BGP الأخرى خارج النظام المستقل الخاص به. لذلك، قم بالحفاظ على الشبكة المتداخلة الكاملة بين سماعات iBGP داخل نظام مستقل.
يعمل كل من RTA و RTB على بروتوكول iBGP. كما يقوم كل من RTA وRTD بتشغيل iBGP. يتم إرسال تحديثات BGP التي تأتي من RTB إلى RTA إلى RTE، الموجودة خارج النظام المستقل. لا ترسل التحديثات إلى RTD، الموجود داخل النظام المستقل. لذلك، قم بعمل نظير iBGP بين RTB وRTD حتى لا ينقطع تدفق التحديثات.
خوارزمية قرار BGP
بعد تلقي BGP تحديثات حول الوجهات المختلفة من الأنظمة المستقلة المختلفة، يجب أن يختار البروتوكول المسارات للوصول إلى وجهة محددة. يختار BGP مسارًا واحدًا فقط للوصول إلى وجهة محددة.
يؤسس BGP القرار على سمات مختلفة
attributes، مثل الخطوة التالية، والأوزان الإدارية، والتفضيل المحلي، وأصل المسار، وطول المسار، ورمز الأصل، والمقياس، وسمات أخرى.
ينشر BGP دائمًا أفضل مسار إلى الأجهزة المجاورة. راجع خوارزميات تحديد مسار BGP الأفضل للحصول على مزيد من المعلومات.
يشرح القسم التالي هذه السمات واستخدامها.
دراسات حالة لبروتوكول العبّارة الحدودية (BGP) 2
سمة AS_PATH
كلما مر تحديث مسار من خلال نظام مستقل، يتم إلحاق رقم النظام المستقل بهذا التحديث. إن سمة AS_PATH هي في الواقع قائمة بأرقام النظام المستقل التي قد اجتازها مسار من أجل الوصول إلى وجهة. AS_SET هي مجموعة حسابية مرتبة {} من جميع الأنظمة المستقلة التي تم اجتيازها. يقدم قسم مثال 2 (as-set) في هذا المستند مثالا على AS_SET.
في المثال الموجود في هذا القسم، يعلن RTB عن الشبكة 192.168.190.0 في AS200. عندما يجتاز ذلك المسار AS300، يقوم RTC بإلحاق رقم AS الخاص به بالشبكة. عند وصول الإصدار 192.168.190.0 إلى RTA، يكون للشبكة رقمان ك مرفقين: الأول 200 والثاني 300. بالنسبة ل RTA، يكون المسار إلى الوصول إلى 192.168.190.0 (300، 200).
وتنطبق العملية نفسها على 172.16.10.0 و 192.168.180.10. يجب أن يتخذ RTB المسار (300 و 100)؛ يجتاز RTB AS300 ثم AS100 للوصول إلى 172.16.10.0. يجب أن يجتاز RTC المسار (200) للوصول إلى 192.168.190.0 والمسار (100) للوصول إلى 172.16.10.0.
سمة الأصل
الأصل هو سمة إلزامية تحدد أصل معلومات المسار. يمكن أن تفترض السمة الأصلية ثلاث قيم:
-
IGP—تُعد معلومات قابلية الوصول إلى طبقة الشبكة (NLRI) داخلية بالنسبة إلى النظام المستقل من النشأة. يحدث هذا عادة عندما تقوم بإصدار bgp networkالأمر . يشير الجدول BGP إلى IGP.
-
EGP—يتم تعلم NLRI عبر بروتوكول العبّارة الخارجية (EGP). يشير الجدول BGP إلى EGP.
-
INCOMPLETE (غير مكتمل)—NLRI غير معروف أو تم التعرُّف عليه من خلال بعض الوسائل الأخرى. عادةً ما يحدث عدم الاكتمال عند إعادة توزيع المسارات من بروتوكولات التوجيه الأخرى إلى BGP ويكون أصل المسار غير مكتمل. AN؟ في جدول BGP يشير إلى عدم الاكتمال.
RTA#
router bgp 100
neighbor 192.168.10.50 remote-as 100
neighbor 172.31.20.2 remote-as 300
network 172.31.202.2
redistribute static
ip route 192.168.190.0 255.255.0.0 null0
RTB#
router bgp 100
neighbor 10.150.10.30 remote-as 100
network 192.168.10.150
RTE#
router bgp 300
neighbor 172.31.20.1 remote-as 100
network 172.16.10.0
يصل RTA إلى 172.16.10.0 عبر 300 i. ويعني "300 i" أن مسار النظام المستقل التالي هو 300 وأن أصل المسار هو IGP. كما يصل RTA إلى 192.168.10.150 عبر i. و"i" يعني أن الإدخال في النظام المستقل ذاته والأصل هو IGP. يصل RTE إلى 172.31.202.2 عبر 100 i. ويعني "100 i" أن النظام المستقل التالي هو 100 وأن الأصل هو IGP. كما يصل RTE إلى 192.168.190.0 عبر "100 ؟". 100 ؟ يعني أن التالي على حسب 100 وأن الأصل غير مكتمل ويأتي من طريق ساكن إستاتيكي.
سمة الخطوة التالية لـ BGP
سمة الخطوة التالية لـ BGP هي عنوان IP للخطوة التالية المطلوب استخدامه للوصول إلى وجهة معينة.
ل eBGP، تكون الخطوة التالية دائما عنوان IP الخاص بالجوار الذي
neighbor يحدده الأمر. في المثال الموجود في هذا القسم، يعلن RTC عن 172.16.10.0 إلى RTA بالخطوة التالية 172.31.20.2. تقوم RTA بالإعلان عن 172.31.202.2 إلى RTC مع المرحلة التالية وهي 172.31.20.1. بالنسبة ل iBGP، ينص البروتوكول على أنه يجب نقل الخطوة التالية التي يعلن عنها eBGP إلى iBGP. وبسبب هذه القاعدة، تعلن RTA عن 172.16.10.0 لنظيرها iBGP RTB بالخطوة التالية وهي 172.31.20.2. وفقا ل RTB، الخطوة التالية للوصول إلى 172.16.10.0 هي 172.31.20.2 ولا 10.150.10.30.
تأكد من إمكانية وصول RTB إلى 172.31.20.2 عبر IGP. بخلاف ذلك، يقوم RTB بإسقاط الحِزم ذات الوجهة 172.16.10.0 نظرًا لتعذر الوصول إلى عنوان الخطوة التالية. على سبيل المثال، إذا قام RTB بتشغيل iGRP، فيمكنك أيضا تشغيل iGRP على شبكة RTA 172.16.10.0. تريد أن تجعل iGRP خاملا على الرابط إلى RTC بحيث يتم تبادل BGP فقط.
RTA#
router bgp 100
neighbor 172.31.20.2 remote-as 300
neighbor 192.168.150.10 remote-as 100
network 172.31.202.2
RTB#
router bgp 100
neighbor 10.150.10.30 remote-as 100
RTC#
router bgp 300
neighbor 172.31.20.1 remote-as 100
network 172.16.10.0
ملاحظة: يعلن RTC عن 172.16.10.0 إلى RTA مع الخطوة التالية التي تساوي 172.31.20.2.
ملاحظة: تعلن RTA عن 172.16.10.0 إلى RTB مع خطوة تالية تساوي 172.31.20.2. يتم حمل الخطوة التالية eBGP في iBGP.
التزم الحذر الخاص عند التعامل مع شبكات الوصول المتعدد وعدم البث المتعددة (NBMA). توفر الأقسام BGP Next Hop (شبكات الوصول المتعدد) و BGP Next Hop (NBMA) مزيد من التفاصيل.
الخطوة التالية من BGP (الشبكات متعددة الوصول)
يوضّح هذا المثال كيف تتصرف الخطوة التالية على شبكة متعددة الوصول مثل Ethernet.
افترض أن RTC وRTD في AS300 يقومان بتشغيل OSPF. يقوم RTC بتشغيل BGP مع RTA. يمكن أن يصل RTC إلى الشبكة 192.168.180.20 من خلال 172.16.20.3. عندما يرسل RTC تحديث BGP إلى RTA فيما يتعلق ب 192.168.180.20، يستخدم RTC كالخطوة التالية 172.16.20.3. لا يستخدم RTC عنوان IP الخاص به، 172.31.20.2. يستخدم RTC هذا العنوان لأن الشبكة بين RTA و RTC و RTD هي شبكة متعددة الوصول. يُعد استخدام RTA لـ RTD كخطوة تالية للوصول إلى 192.168.180.20 أكثر منطقية من الخطوة الإضافية عبر RTC.
ملاحظة: يعلن RTC عن 192.168.180.20 إلى RTA مع الخطوة التالية 172.16.20.3.
إذا كان الوسيط الشائع لـ RTA وRTC وRTD ليس متعدد الوصول، بل NBMA، تحدث المزيد من التعقيدات.
الخطوة التالية من BGP (NBMA)
يظهر الوسيط الشائع كسحابة في المخطط. إذا كان الوسيط الشائع هو ترحيل الإطارات أو أي سحابة NBMA، فسيكون السلوك الدقيق كما لو كان لديك اتصال عبر Ethernet. يعلن RTC عن 192.168.180.20 إلى RTA مع الخطوة التالية 172.16.20.3.
تكمن المشكلة في أن RTA لا يحتوي على دائرة افتراضية دائمة (PVC) إلى RTD ولا يمكنه الوصول إلى الخطوة التالية. في هذه الحالة، يفشل التوجيه.
ويقوم
next-hop-selfالأمر بإصلاح هذا الوضع.
الأمر next-hop-self
للمواقف مع الخطوة التالية، كما في مثال الخطوة التالية (NBMA) ل BGP، يمكنك إستخدام
next-hop-self الأمر. صياغة الأمر هي:
neighbor {ip-address | peer-group-name} next-hop-self
يسمح
next-hop-selfالأمر أنت أن يجبر BGP أن يستعمل عنوان خاص كالخطوة التالية.
بالنسبة لمثال الخطوة التالية من BGP (NBMA)، فإن هذا التكوين يحل المشكلة:
RTC#
router bgp 300
neighbor 172.31.20.1 remote-as 100
neighbor 172.31.20.1 next-hop-self
يعلن RTC عن 192.168.180.20 مع خطوة تالية تساوي 172.31.20.2.
البرنامج التسللي إلى BGP
في المخطط السابق، يقوم RTA و RTC بتشغيل eBGP. يقوم RTB وRTC بتشغيل eBGP. يقوم كل من RTA وRTB بتشغيل نوع من IGP، إما RIP أو IGRP أو بروتوكول آخر. حسب التعريف، تحتوي تحديثات eBGP على مسافة 20، وهي أقل من مسافات IGP. المسافات الافتراضية هي:
-
120 لـ RIP
-
100 لـ IGRP
-
90 لـ EIGRP
-
110 لـ OSPF
يتلقى RTA تحديثات حول 172.31.160.0 عبر بروتوكولي التوجيه:
-
eBGP بمسافة 20
-
IGP بمسافة أكبر من 20
بشكل افتراضي، يحتوي BGP على هذه المسافات:
-
المسافة الخارجية—20
-
المسافة الداخلية—200
-
المسافة المحلية—200
ولكن يمكنك إستخدام
distance الأمر لتغيير المسافات الافتراضية:
distance bgp <external-distance> <internal-distance> <local-distance>
يختار RTA بروتوكولeBGP عبر RTC بسبب المسافة الأقصر.
إذا كنتَ تريد أن يعرف RTA معلومات حول 172.31.160.0 عبر RTB (IGP)، فأمامك خياران:
-
قم بتغيير المسافة الخارجية لـ eBGP أو مسافة IGP.
ملاحظة :لا يُوصى بهذا التغيير.
-
استخدام البرنامج التسللي إلى BGP.
يجعل البرنامج التسللي إلى BGP مسار IGP المسار المفضّل.
قم بإصدار الأمر networkAddressBackdoor.
الشبكة المكونة هي الشبكة التي تريد الوصول إليها عبر IGP. بالنسبة إلى BGP، تتلقى هذه الشبكة المعاملة نفسها التي تتلقاها الشبكة المعينة محليًا، باستثناء أن تحديثات BGP لا تعلن عن هذه الشبكة.
RTA#
router eigrp 10
network 172.31.202.2
router bgp 100
neighbor 10.2.2.1 remote-as 300
network 172.31.160.0 backdoor
يتم التعامل مع الشبكة 172.31.160.0 كإدخال محلي ولكن لا يتم الإعلان عنها كإدخال عادي للشبكة.
تعمل تقنية RTA على الحصول على 172.31.160.0 من تقنية RTB عبر بروتوكول EIGRP مع توفير مسافة 90. كما تقوم RTA بتعلم العنوان من RTC عبر eBGP مع إستخدام المسافة 20. عادة ما يكون eBGP هو التفضيل، لكن بسبب أمر الشبكة للباب الخلفي، فإن EIGRP هو التفضيل.
التزامن
قبل مناقشة المزامنة، انظر إلى هذا السيناريو. يرسل RTC في AS300 تحديثات حول 172.16.10.0. يعمل كل من RTA و RTB على بروتوكول iBGP، لذلك يحصل RTB على التحديث ويكون قادرا على الوصول إلى 172.16.10.0 من خلال المرحلة التالية 10.2.2.1. تذكر أن الخطوة التالية يتم نقلها عبر iBGP. للوصول إلى الخطوة التالية، يجب أن يرسل RTB حركة المرور إلى RTE.
افترض أن RTA لم يقم بإعادة توزيع الشبكة 172.16.10.0 في IGP. في هذه المرحلة، ليس لدى RTE أي فكرة عن وجود 172.16.10.0.
إذا بدأ RTB بالإعلان عن AS400 أن RTB يستطيع بلغت 172.16.10.0، فإن حركة المرور التي تأتي من RTD إلى RTB مع وجهة 172.16.10.0 تدخل وتنخفض في RTE.
تذكر المزامنة أنه، إذا قام AS الخاص بك بتمرير حركة مرور من آخر إلى ثالث AS، فيجب على BGP عدم الإعلان عن مسار قبل أن تقوم جميع الموجهات الموجودة في نظامك بتعلم حول المسار عبر IGP. ينتظر BGP حتى ينشر IGP المسار ضمن النظام المستقل. ثم يعلن BGP عن المسار للنظراء الخارجيين.
في المثال الموضّح في هذا القسم، ينتظر RTB لسماع حوالي 172.16.10.0 عبر IGP. ثم يبدأ RTB في إرسال التحديث إلى RTD. يمكنك جعل RTB يعتقد أن بروتوكول العبارة الداخلية قد نشر المعلومات إذا قمت بإضافة مسار ثابت في RTB يشير إلى 172.16.10.0. تأكد من إمكانية وصول الموجهات الأخرى إلى 172.16.10.0.
تعطيل التزامن
في بعض الحالات، لا تحتاج إلى المزامنة. إذا لم تقم بتمرير حركة المرور من نظام مستقل مختلف عبر نظامك المستقل، فيمكنك تعطيل المزامنة. كما يمكنك تعطيل المزامنة إذا كانت جميع الموجّهات في نظامك المستقل تقوم بتشغيل BGP. يمكن أن يتيح لك تعطيل هذه الميزة حمل مسارات أقل في IGP الخاص بك والسماح بتقارب BGP بشكل أسرع.
لا يتم تعطيل المزامنة تلقائيًا. إذا كانت جميع الموجّهات في النظام المستقل تقوم بتشغيل BGP ولم تقم بتشغيل IGP على الإطلاق، فلن يكون لدى الموجّه طريقة لمعرفة ذلك. ينتظر الموجّه الخاص بك إلى أجل غير مسمى تحديث IGP حول مسار معين قبل أن يرسل الموجّه المسار إلى النظراء الخارجيين. يجب عليك تعطيل المزامنة يدويًا في هذه الحالة حتى يعمل التوجيه بشكل صحيح:
router bgp 100
no synchronization
ملاحظة: تأكد من إصدار الأمر clear ip bgp address لإعادة ضبط الجلسة.
RTB#
router bgp 100
network 172.31.202.2
neighbor 10.1.1.2 remote-as 400
neighbor 10.3.3.3 remote-as 100
no synchronization
!--- RTB puts 172.16.10.0 in its IP routing table and advertises the network
!--- to RTD, even if RTB does not have an IGP path to 172.16.10.0.
RTD#
router bgp 400
neighbor 10.1.1.1 remote-as 100
network 172.16.0.0
RTA#
router bgp 100
network 172.31.202.2
neighbor 10.3.3.4 remote-as 100
سمة الترجيح
سمة الترجيح هي سمة تحددها Cisco. تستخدم هذه السمة الترجيح لتحديد أفضل مسار. يتم تعيين الترجيح محليًا إلى الموجّه. تكون القيمة ذات معنى للموجّه المحدد فقط. لا يتم نشر القيمة أو حملها من خلال أي من تحديثات المسار. يمكن أن يكون الوزن رقما من 0 إلى 65،535. المسارات التي ينشئها الموجه لها وزن 32،768 افتراضيا، والممرات الأخرى لها وزن 0.
يكون للمسارات ذات القيمة الأعلى تفضيلاً عند وجود مسارات متعددة للوجهة نفسها. انظر إلى المثال الموجود في هذا القسم. تعرف RTA على الشبكة 172.16.0.0 من AS4. ينشر RTA التحديث إلى RTC. تعرف RTB أيضا على الشبكة 172.16.0.0 من AS4. ينشر RTB التحديث إلى RTC. لدى RTC الآن طريقتان للوصول إلى 172.16.0.0 ويتعين عليه تحديد الاتجاه الذي يجب أن تسلكه. إذا قمت بضبط وزن التحديثات على RTC التي تأتي من RTA بحيث يكون الوزن أكبر من وزن التحديثات التي تأتي من RTB، فإنك تجبر RTC على إستخدام RTA كخطوة تالية للوصول إلى 172.16.0.0. تحقق الطرق المتعددة مجموعة الوزن هذه:
-
استخدم الأمر neighbor.
-
وزن {ip-address|peer-group} المجاور <weight>
-
استخدم قوائم وصول AS_PATH.
-
ip as-path access-list <access-list-number>{permit | deny} <كتعبير عادي>
-
المجاور <ip-address>filter-list <access-list-number>weight <weight>
ملاحظة: في بعض السيناريوهات، قد يكون هناك عدد قليل جدا من الأوامر غير المتاحة في بعض إصدارات البرامج.
-
استخدم خرائط المسار.
RTC#
router bgp 300
neighbor 10.1.1.1 remote-as 100
neighbor 10.1.1.1 weight 200
!--- The route to 172.16.0.0 from RTA has a 200 weight.
neighbor 10.2.2.2 remote-as 200
neighbor 10.2.2.2 weight 100
!--- The route to 172.16.0.0 from RTB has a 100 weight.
يتمتع RTA، الذي يحتوي على قيمة ترجيح أعلى، بالأفضلية للخطوة التالية.
يمكنك تحقيق نفس النتيجة مع AS_PATH IP وقوائم التصفية.
RTC#
router bgp 300
neighbor 10.1.1.1 remote-as 100
neighbor 10.1.1.1 filter-list 5 weight 200
neighbor 10.2.2.2 remote-as 200
neighbor 10.2.2.2 filter-list 6 weight 100
...
ip as-path access-list 5 permit ^100$
!--- This only permits path 100.
ip as-path access-list 6 permit ^200$
...
كما يمكنك تحقيق النتيجة نفسها باستخدام خرائط المسارات.
RTC#
router bgp 300
neighbor 10.1.1.1 remote-as 100
neighbor 10.1.1.1 route-map setweightin in
neighbor 10.2.2.2 remote-as 200
neighbor 10.2.2.2 route-map setweightin in
...
ip as-path access-list 5 permit ^100$
...
route-map setweightin permit 10
match as-path 5
set weight 200
!--- Anything that applies to access list 5, such as packets from AS100, has weight 200.
route-map setweightin permit 20
set weight 100
!--- Anything else has weight 100.
ملاحظة: يمكنك تعديل الترجيح لتفضيل مسار MPLS VPN BGP مع مسار IGP كاحتياطي.
سمة التفضيل المحلي
يُعد التفضيل المحلي إشارة إلى النظام المستقل لتحديد المسار الذي له أفضلية للخروج من النظام المستقل للوصول إلى شبكة معينة. يُفضّل استخدام مسار ذي تفضيل محلي أعلى. القيمة الافتراضية للتفضيل المحلي هي 100.
وعلى عكس سمة الترجيح ذات الصلة بالموجّه المحلي فقط، فإن التفضيل المحلي هو إحدى السمات التي تتبادلها الموجّهات في النظام نفسه.
يمكنك تعيين التفضيل المحلي مع إصدار الأمر bgp default local-preference value . كما يمكنك تعيين التفضيل المحلي باستخدام خرائط المسارات، كما يوضِّح المثال الوارد في هذا القسم:
ملاحظة: من الضروري إجراء إعادة ضبط ناعمة (أي مسح عملية BGP على الموجه) لأخذ التغييرات في الاعتبار. لمسح عملية BGP، أستخدم الأمرclear ip bgp [soft][in/out] الذي يشير فيه إلى إعادة ضبط ناعمة ولا يؤدي إلى تمزيق الجلسة ويحدد [In/Out] التكوين الوارد أو الصادر. إذا لم يتم تحديد in/out، فستتم إعادة تعيين كل من جلسات العمل الواردة والصادرة.
يقوم الأمر bgp default local-preference بتعيين التفضيل المحلي على التحديثات خارج الموجّه الذي ينتقل إلى النظراء في النظام المستقل نفسه. في الرسم التخطيطي في هذا القسم، تتلقى AS256 تحديثات حول 172.16.10.0 من جانبين مختلفين من المؤسسة. تساعدك التفضيلات المحلية على تحديد طريقة الخروج من AS256 للوصول إلى تلك الشبكة. افترض أن RTD هي نقطة الخروج المفضلة. يعيّن هذا التكوين التفضيل المحلي للتحديثات التي تأتي من AS300 إلى 200 وللتحديثات التي تأتي من AS100 إلى 150:
RTC#
router bgp 256
neighbor 10.1.1.1 remote-as 100
neighbor 10.213.11.2 remote-as 256
bgp default local-preference 150
RTD#
router bgp 256
neighbor 10.3.3.4 remote-as 300
neighbor 10.213.11.1 remote-as 256
bgp default local-preference 200
في هذا التكوين، يقوم RTC بتعيين التفضيل المحلي لجميع التحديثات على 150. يضبط نفس RTD التفضيل المحلي لكل التحديثات إلى 200. وهناك تبادل للأفضلية المحلية داخل AS256. لذلك، يدرك كل من RTC و RTD أن الشبكة 172.16.10.0 لها تفضيل محلي أعلى عندما تأتي التحديثات من AS300 بدلا من AS100. كل حركة مرور في AS256 أن يتلقى أن شبكة كغاية يبث مع RTD كنقطة خروج.
يوفر استخدام خرائط المسارات مزيدًا من المرونة. في المثال الموجود في هذا القسم، يتم تمييز جميع التحديثات التي يتلقاها RTD بالتفضيل المحلي 200 عندما تصل التحديثات إلى RTD. التحديثات التي تأتي من AS34 أيضا يتم تمييزها بالتفضيل المحلي ل 200. قد تكون هذه العلامة غير ضرورية. لهذا السبب، يمكنك استخدام خرائط المسار لتحديد التحديثات المحددة التي تحتاج إلى تمييزها بتفضيل محلي محدد. فيما يلي مثال:
RTD#
router bgp 256
neighbor 10.3.3.4 remote-as 300
neighbor 10.3.3.4 route-map setlocalin in
neighbor 10.213.11.1 remote-as 256
....
ip as-path access-list 7 permit ^300$
...
route-map setlocalin permit 10
match as-path 7
set local-preference 200
route-map setlocalin permit 20
set local-preference 150
مع هذا التكوين، يكون لأي تحديث يأتي من AS300 تفضيل محلي بقيمة 200. أية تحديثات أخرى، مثل التحديثات الواردة من AS34، بقيمة 150.
سمة القياس
تحمل سمة القياس أيضًا اسم MULTI_EXIT_DISCRIMINATOR أو MED (BGP4) أو INTER_AS (BGP3). السمة هي تلميح للأجهزة المجاورة الخارجية حول تفضيل المسار في النظام المستقل. توفر السمة طريقة ديناميكية للتأثير على نظام مستقل آخر في طريقة الوصول إلى مسار معين عندما تكون هناك نقاط دخول متعددة إلى ذلك النظام المستقل. يُفضل استخدام قيمة أقل للمقياس.
على عكس التفضيلات المحلية، يتم تبادل المقياس بين الأنظمة المستقلة. يُنقل المقياس داخل النظام المستقل ولكنه لا يغادر النظام المستقل. عند دخول تحديث النظام المستقل باستخدام مقياس معين، يُستخدم هذا المقياس لاتخاذ قرارات داخل النظام المستقل. عندما ينتقل نفس التحديث إلى ثالث AS، يعود هذا المقياس إلى صفر. يعرض الرسم التخطيطي في هذا القسم مجموعة المقاييس. القيمة الافتراضية للمقياس هي 0.
ما لم يستقبل الموجه توجيهات أخرى، يقارن الموجه المقاييس للمسارات من الأجهزة المجاورة في النظام المستقل نفسه. لكي يتمكن الموجه من مقارنة المقاييس من الأجهزة المجاورة التي تأتي من أنظمة مستقلة مختلفة، تحتاج إلى إصدار أمر التكوين bgp always-compare-med على المُوجه.
ملاحظة: يوجد أمرا تكوين BGP يمكنهما التأثير على اختيار المسار المستند إلى تمييز الخروج المتعدد (MED). الأوامر هي bgp deterministic-med وbgp always-compare-med. يضمن إصدار الأمر bgp deterministic-med مقارنة متغير MED في اختيار المسار عند إعلان نظراء مختلفين في AS نفسه. يضمن إصدار الأمر bgp always-compare-med مقارنة المسارات من الأجهزة المجاورة في الأنظمة المستقلة المختلفة. يكون الأمر bgp always-compare-med مفيدًا عندما يتفق العديد من مزودي الخدمة أو المؤسسات على سياسة موحدة لكيفية تعيين MED. راجع كيف يختلف أمر bgp deterministic-med عن الأمر bgp always-compare-med لفهم كيف تؤثر هذه الأوامر على اختيار مسار BGP.
في الرسم بياني في هذا قسم، يحصل AS100 على معلومات حول الشبكة 192.168.180.10 من خلال ثلاثة موجهات مختلفة: RTC، RTD، و RTB. يوجد RTC وRTD في AS300، وRTB في AS400.
في هذا المثال، يتم تجاهل مقارنة AS-Path على RTA بواسطة الأمر bgp bestpath as-path ignore . وقد تم تكوينه لإجبار BGP على السقوط في السمة التالية لمقارنة المسار (في هذه الحالة القياس أو MED). إذا تم حذف الأمر، يمكن أن يقوم BGP بتثبيت المسار 192.168.180.10 من الموجه RTC بما أن ذلك يحتوي على أقصر مسار.
بافتراض أنك قد قمت بتعيين المقياس الذي يأتي من RTC إلى 120، والمقياس الذي يأتي من RTD إلى 200، والمقياس الذي يأتي من RTB إلى 50. بشكل افتراضي، يقوم الموجه بمقارنة المقاييس التي تأتي من جيران في نفس. لذلك، يمكن لـ RTA فقط مقارنة المقياس الذي يأتي من RTC مع المقياس الذي يأتي من RTD. تختار هيئة النقل والمواصلات RTA RTC كأفضل خطوة تالية لأن 120 هي أقل من 200. عندما يحصل RTA على تحديث من RTB بمقياس 50، لا يمكن RTA مقارنة المقياس ب 120 لأن RTC و RTB في ASs مختلفة. يجب أن تختار RTA بناءً على بعض السمات الأخرى.
من أجل إجبار RTA على مقارنة المقاييس، يجب عليك إصدار الأمر bgp always-compare-med على RTA. توضح هذه التكوينات هذه العملية:
RTA#
router bgp 100
neighbor 10.2.2.1 remote-as 300
neighbor 10.3.3.3 remote-as 300
neighbor 10.4.4.3 remote-as 400
bgp bestpath as-path ignore
RTC#
router bgp 300
neighbor 10.2.2.2 remote-as 100
neighbor 10.2.2.2 route-map setmetricout out
neighbor 10.1.1.2 remote-as 300
route-map setmetricout permit 10
set metric 120
RTD#
router bgp 300
neighbor 10.3.3.2 remote-as 100
neighbor 10.3.3.2 route-map setmetricout out
neighbor 10.1.1.1 remote-as 300
route-map setmetricout permit 10
set metric 200
RTB#
router bgp 400
neighbor 10.4.4.4 remote-as 100
neighbor 10.4.4.4 route-map setmetricout out
route-map setmetricout permit 10
set metric 50
باستخدام هذه التكوينات، RTA تختار RTC كخطوة تالية، مع مراعاة حقيقة أن جميع السمات الأخرى هي نفسها. لتضمين RTB في مقارنة المقاييس، يجب عليك تكوين RTA على هذا النحو:
RTA#
router bgp 100
neighbor 2.2.21 remote-as 300
neighbor 10.3.3.3 remote-as 300
neighbor 10.4.4.3 remote-as 400
bgp always-compare-med
في هذه الحالة، RTA تختار RTB كأفضل خطوة تالية للوصول إلى الشبكة 192.168.180.10.
يمكنك أيضا تعيين القياس أثناء إعادة توزيع المسارات إلى BGP إذا قمت بإصدار الأمر default-metricnumber.
بافتراض أنه، في المثال الموجود في هذا القسم، يقوم RTB بحقن شبكة عبر ساكن إستاتيكي في AS100. هنا التكوين:
RTB#
router bgp 400
redistribute static
default-metric 50
ip route 192.168.180.10 255.255.0.0 null 0
!--- This causes RTB to send out 192.168.180.10 with a metric of 50.
سمة المجتمع
سمة المجتمع هي سمة انتقالية إختيارية في نطاق من 0 إلى 4،294،967،200. سمة المجتمع هي طريقة لتجميع الوجهات في مجتمع معين وتطبيق قرارات التوجيه التي تطابق تلك المجتمعات. قرارات التوجيه هي القبول والتفضيل وإعادة التوزيع، من بين أمور أخرى.
يمكنك استخدام خرائط المسار لتعيين سمات المجتمع. يحتوي أمر خريطة التوجيه set على الصيغة التالية:
set community community-number [additive] [well-known-community]
فيما يلي بعض المجتمعات المحددة مسبقًا والمعروفة للاستخدام في هذا الأمر:
-
no-export—لا تُعلن إلى نظراء eBGP. احتفظ بهذا المسار داخل النظام المستقل (AS).
-
no-advertise—لا تعلن عن هذا المسار لأي نظير، داخلي أو خارجي.
-
internet—أعلن عن هذا المسار لمجتمع الإنترنت. أي موجه ينتمي إلى هذا المجتمع.
-
local-as—استخدمه في سيناريوهات الاتحاد لمنع إرسال الحزم خارج النظام المستقل.
فيما يلي مثالان لخرائط المسارات التي تحدد المجتمع:
route-map communitymap
match ip address 1
set community no-advertise
أو
route-map setcommunity
match as-path 1
set community 200 additive
إذا لم تقم بتعيين الكلمة الأساسية additive، فستحل 200 محل أي مجتمع قديم موجود بالفعل. إذا كنت تستخدم الكلمة الأساسية additive، فستحدث إضافة 200 إلى المجتمع. حتى إذا قمت بتعيين سمة المجتمع، فلن يتم إرسال هذه السمة إلى الأجهزة المجاورة بشكل افتراضي. لإرسال السمة إلى الجهاز المجاور، يجب عليك استخدام هذا الأمر:
neighbor {ip-address | peer-group-name} send-community
فيما يلي مثال:
RTA#
router bgp 100
neighbor 10.3.3.3 remote-as 300
neighbor 10.3.3.3 send-community
neighbor 10.3.3.3 route-map setcommunity out
في برنامج Cisco IOS الإصدار 12.0 والإصدارات الأحدث، يمكنك تكوين المجتمعات بثلاثة تنسيقات مختلفة: عشرية، وسداسي عشر، و a:NN. بشكل افتراضي، يستخدم برنامج Cisco IOS التنسيق العشري الأقدم. أصدرت in order to شكلت وعرضت في AA:NN، ال ip bgp-community new-
global configuration formatCommand. يمثل الجزء الأول من AA:NN رقم النظام المستقل، بينما يمثل الجزء الثاني عددًا من وحدتي بايت.
فيما يلي مثال:
بدون الأمر ip bgp-community new-format في التكوين العام، يعرض الأمر show ip bgp 10.6.0.0 قيمة سمة المجتمع بتنسيق عشري. في هذا المثال، تظهر قيمة سمة المجتمع على هيئة6553620.
Router#show ip bgp 10.6.0.0
BGP routing table entry for 10.6.0.0/8, version 7
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Not advertised to any peer
1
10.10.10.1 from 10.10.10.1 (10.255.255.1)
Origin IGP, metric 0, localpref 100, valid, external, best
Community: 6553620
والآن، قم بإصدار الأمر ip bgp-community new-format بشكل عام على هذا الموجه.
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip bgp-community new-format
Router(config)#exit
باستخدام أمر التكوين الجديد-format الجديد ل ip bgp-مجتمع، يتم عرض قيمة المجتمع بتنسيق a:nn. تظهر القيمة على هيئة 100:20 في مخرجات الأمر show ip bgp 10.6.0.0 في هذا المثال:
Router#show ip bgp 10.6.0.0
BGP routing table entry for 10.6.0.0/8, version 9
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Not advertised to any peer
1
10.10.10.1 from 10.10.10.1 (10.255.255.1)
Origin IGP, metric 0, localpref 100, valid, external, best
Community: 100:20
دراسات حالة لبروتوكول العبّارة الحدودية (BGP) 3
عامل تصفية BGP
يتيح لك عدد من طرق التصفية المختلفة التحكم في إرسال تحديثات BGP. يمكنك تصفية تحديثات BGP بمعلومات المسار كأساس، أو مع معلومات المسار أو المجتمعات كأساس. تحقق جميع الطرق نفس النتائج. يعتمد اختيار طريقة على حساب أخرى على تكوين الشبكة المحدد.
عامل تصفية المسار
لتقييد معلومات التوجيه التي يتعرف عليها الموجه أو يعلن عنها، يمكنك تصفية BGP باستخدام تحديثات التوجيه من وإلى جهاز مجاور معين. أنت تحدد قائمة وصول وتقوم بتطبيق قائمة الوصول على التحديثات إلى أو من أحد الجيران. أصدِر هذا الأمر في وضع تكوين الموجّه:
neighbor {ip-address | peer-group-name} distribute-list access-list-number {in | out}
في هذا المثال، ينشئ المُوجّه RTB الشبكة 172.31.160.0 ويرسل التحديث إلى المُوجّه RTC. إذا أراد المُوجّه RTC إيقاف نشر التحديثات على AS100، فيجب عليك تحديد قائمة وصول لتصفية تلك التحديثات وتطبيق قائمة الوصول أثناء الاتصال بالمُوجّه RTA:
RTC#
router bgp 300
network 172.16.10.0
neighbor 10.3.3.3 remote-as 200
neighbor 10.2.2.2 remote-as 100
neighbor 10.2.2.2 distribute-list 1 out
access-list 1 deny 172.31.160.0 0.0.255.255
access-list 1 permit 0.0.0.0 255.255.255.255
!--- Filter out all routing updates about 160.10.x.x.
يُعد استخدام قوائم الوصول معقدًا بعض الشيء عند التعامل مع الشبكات العملاقة التي يمكن أن تسبب بعض التعارضات.
لنفترض، في المثال الوارد في هذا القسم، أن RTB بها شبكات فرعية مختلفة لـ 160.10.xx هدفك هو تصفية التحديثات والإعلان عن التحديثات على 192.168.160.0/8 فقط.
ملاحظة: تعني تدوين /8 إستخدام 8 وحدات بت من قناع الشبكة الفرعية، والتي تبدأ من يسار عنوان IP البعيد. هذا العنوان يعادل 192.168.160.0 255.0.0.0.
الأمر
access-list 1 permit 192.168.160.0 0.255.255.25
5يسمح ب 192.168.160.0/8، 192.168.160.0/9، وهكذا. لتقييد التحديث على 192.168.160.0/8 فقط، يجب عليك استخدام قائمة وصول موسعة بهذا التنسيق:
access-list 101 permit ip 192.168.160.0 0.255.255.255 255.0.0.0 0.0.0.0.
لا تسمح هذه القائمة إلا بـ 192.168.160.0/8.
راجع حظر شبكة واحدة أو أكثر من نظير BGP لعينة تكوينات حول كيفية تصفية الشبكات من أقران BGP. تستخدم الطريقة أمر distribute-list مع قوائم التحكم في الوصول (ACL) القياسية والموسعة، بالإضافة إلى إمكانية تصفية قائمة البادئات.
مرشح المسار
يمكنك أيضا تصفية المسارات.
يمكنك تحديد قائمة وصول على كل من التحديثات الواردة والصادرة باستخدام معلومات مسارات BGP AS. في الرسم التخطيطي الموجود في هذا القسم، يمكنك حظر التحديثات حول 172.31.160.0 حتى لا تنتقل إلى AS100. لحظر التحديثات، قم بتحديد قائمة وصول على RTC تمنع إرسال أي تحديثات تم إنشاؤها من AS200 إلى AS100. أصدر الأوامر التالية:
ip as-path access-list access-list-number {permit | deny} as-regular-expression
neighbor {ip-address | peer-group-name} filter-list access-list-number {in | out}
يوقف هذا المثال إرسال RTC للتحديثات حول 172.31.160.0 إلى RTA:
RTC#
router bgp 300
neighbor 10.3.3.3 remote-as 200
neighbor 10.2.2.2 remote-as 100
neighbor 10.2.2.2 filter-list 1 out
!--- The 1 is the access list number below.
ip as-path access-list 1 deny ^200$
ip as-path access-list 1 permit .*
يفرض
access-list 1الأمر في هذا المثال رفض أي تحديثات لمعلومات المسار التي تبدأ ب 200 وتنتهي ب 200. ال^200$في الأمر هو "تعبير عادي"، حيث^ تعني "يبدأ ب" و$تعني "ينتهي ب". بما أن RTB يرسل تحديثات حول 172.31.160.0 بمعلومات المسار التي تبدأ ب 200 وتنتهي ب 200، فإن التحديثات تطابق قائمة الوصول. ترفض قائمة الوصول هذه التحديثات.
و.* تعبير عادي آخر .يعني أي حرف" و*يعني "تكرار ذلك الحرف". إذًا .* تمثل أي معلومات مسار، والتي تُعد ضرورة للسماح بإرسال جميع التحديثات الأخرى.
ماذا يحدث إذا قمت باستخدام^200 بدلا من إستخدام^200$؟ باستخدام AS400، كما في المخطط الموجود في هذا القسم، تحتوي التحديثات التي ينشئها AS400 على معلومات مسار النموذج (200، 400). في معلومات المسار هذه، 200 أولاً و400 أخيرًا. تتطابق هذه التحديثات مع قائمة الوصول^200 لأن معلومات المسار تبدأ ب 200. تمنع قائمة الوصول نقل هذه التحديثات إلى RTA، والذي لا يعد متطلبا.
للتحقق من ما إذا قمت بتنفيذ التعبير العادي الصحيح، قم بإصدار الأمر show ip bgp regexpregular-expression. يعرض هذا الأمر جميع المسارات التي طابقت تكوين التعبير العادي.
كتعبير عادي
يوضح هذا القسم إنشاء تعبير عادي.
التعبير العادي هو عبارة عن نمط يطابق سلسلة إدخال. عندما تقوم بإنشاء تعبير عادي، فإنك تحدد سلسلة يجب أن يطابقها الإدخال. في حالة BGP، يمكنك تحديد سلسلة تتكون من معلومات المسار التي يجب أن يطابقها الإدخال.
في المثال الموجود في عامل تصفية مسار القسم، قمت بتحديد السلسلة^200$. أنت تريد معلومات المسار التي تأتي داخل التحديثات لمطابقة السلسلة لتحديد.
يتكون التعبير العادي من:
-
النطاق
النطاق هو سلسلة من الأحرف داخل أقواس مربعة أيسر وأيمن. مثال على ذلك [abcd].
-
Atom
Atom عبارة عن حرف واحد. وفيما يلي بعض الأمثلة:
.
-
يطابق ال.أي حرف منفرد.
^
-
يتطابق ^ مع بداية سلسلة الإدخال.
$
-
يتطابق $ مع نهاية سلسلة الإدخال.
\
-
يطابق\الحرف.
-
-
يطابق _فاصلة (،)، قوس أيسر ({)، قوس أيسر (})، بداية سلسلة الإدخال، نهاية سلسلة الإدخال، أو مسافة.
-
Piece
القطعة هي أحد هذه الرموز، التي تأتي بعد الذرة:
*
-
* يطابق 0 أو أكثر من تسلسلات atom.
+
-
يطابق +1 تسلسلات أو أكثر من الذرات.
?
-
يطابق ال؟ الذرة أو السلسلة الخالية.
-
الفرع
الفرع هو 0 أو أكثر من القطع المتسلسلة.
فيما يلي بعض الأمثلة على التعبيرات العادية:
a*
-
يشير هذا التعبير إلى أي تكرار للحرف "a"، والذي يتضمن لا شيء.
a+
-
يشير هذا التعبير إلى وجوب وجود تكرار واحد للحرف "a".
ab?a
-
يتطابق هذا التعبير مع "aa" أو "aba".
_100_
-
هذا التعبير يعني عبر AS100.
_100$
-
يشير هذا التعبير إلى أصل AS100.
^100 .*
-
يشير هذا التعبير إلى الإرسال من AS100.
^$
-
يشير هذا التعبير إلى الإنشاء من النظام المستقل هذا.
راجع إستخدام التعبيرات العادية في BGP لعينة تكوينات تصفية التعبير العادي.
عامل تصفية مجتمع BGP
تناول هذا المستند تصفية المسار وتصفية مسار النظام المستقل. هناك طريقة أخرى وهي تصفية المجتمع. تناقش السمة sectionCommunity المجتمع، ويقدم هذا القسم بعض الأمثلة حول كيفية إستخدام المجتمع.
في هذا المثال، تريد أن يضبط المُوجّه RTB سمة المجتمع على مسارات BGP التي يعلن عنها المُوجّه RTB بحيث لا ينشر المُوجّه RTC هذه المسارات إلى النظراء الخارجيين. أستخدم سمة
no-exportالمجتمع.
RTB#
router bgp 200
network 172.31.160.0
neighbor 10.3.3.1 remote-as 300
neighbor 10.3.3.1 send-community
neighbor 10.3.3.1 route-map setcommunity out
route-map setcommunity
match ip address 1
set community no-export
access-list 1 permit 0.0.0.0 255.255.255.255
ملاحظة: يستخدم هذا المثال route-map setcommunity الأمر لتعيين المجتمع على "عدم التصدير".
ملاحظة: neighbor send-community الأمر ضروري لإرسال هذه السمة إلى RTC.
عندما يحصل المُوجّه RTC على التحديثات بالسمة NO_EXport، لا ينشر المُوجّه RTC التحديثات إلى النظير الخارجي المُوجّه RTA.
في هذا المثال، قام RTB بتعيين سمة المجتمع إلى
100 200 additive . يضيف هذا الإجراء القيمة 100 200 إلى أي قيمة مجتمع حالية قبل الإرسال إلى RTC.
RTB#
router bgp 200
network 172.31.160.0
neighbor 10.3.3.1 remote-as 300
neighbor 10.3.3.1 send-community
neighbor 10.3.3.1 route-map setcommunity out
route-map setcommunity
match ip address 2
set community 100 200 additive
access-list 2 permit 0.0.0.0 255.255.255.255
قائمة المجتمع هي مجموعة من المجتمعات التي تستخدمها في عبارة match لخريطة التوجيه. تتيح لك قائمة المجتمع تصفية السمات أو تعيينها باستخدام قوائم مختلفة لأرقام المجتمع كأساس.
ip community-list <community-list-number> {permit | deny} <community-number>
على سبيل المثال، يمكنك تحديد خريطة المسار هذه، match-on-community:
route-map match-on-community
match community 10
!--- The community list number is 10.
set weight 20
ip community-list 10 permit 200 300
!--- The community number is 200 300.
يمكنك استخدام قائمة المجتمع لفلترة أو تعيين معلمات معينة، مثل الترجيح والقياس، في تحديثات معينة باستخدام قيمة المجتمع كأساس. في المثال الثاني في هذا القسم، أرسل RTB تحديثات إلى RTC بمجتمع يضم 100 200 شخص. إذا كان RTC يريد تعيين الوزن مع تلك القيم كأساس، يمكنك القيام بذلك:
RTC#
router bgp 300
neighbor 10.3.3.3 remote-as 200
neighbor 10.3.3.3 route-map check-community in
route-map check-community permit 10
match community 1
set weight 20
route-map check-community permit 20
match community 2 exact
set weight 10
route-map check-community permit 30
match community 3
ip community-list 1 permit 100
ip community-list 2 permit 200
ip community-list 3 permit internet
في هذا المثال، يتطابق أي مسار يحتوي على 100 في سمة المجتمع مع القائمة 1. تم تعيين وزن هذا المسار على 20. أي مسار يحتوي على 200 فقط كمجتمع يطابق القائمة 2 ووزنه 20. الكلمة المفتاح بدقة تقول أن الجماعة تتكون من 200 فقط ولا شيء آخر. توجد قائمة المجتمع الأخيرة هنا للتأكد من عدم إسقاط التحديثات الأخرى. تذكر أن أي شيء لا يتطابق يسقط بشكل افتراضي. تشير الكلمة الأساسية internet (إنترنت) إلى جميع المسارات لأن جميع المسارات أعضاء في مجتمع الإنترنت.
راجع تكوين شبكة موفر للتدفق والتحكم فيها باستخدام قيم مجتمع BGP للحصول على مزيد من المعلومات.
الأجهزة المجاورة لـ BGP وخرائط المسارات
يمكنك استخدام الأمر neighbor جنبًا إلى جنب مع خرائط المسار إما لتصفية معلمات أو لتعيينها على التحديثات الواردة والصادرة.
لا تؤثر خرائط المسار المقترنة ببيان neighbor على التحديثات الواردة عند المطابقة بناءً على عنوان IP:
neighbor <ip-address> route-map <route-map-name>
افترض أنك تريد، في المخطط الموجود في هذا القسم، أن يتعلم المُوجّه RTC من AS200 عن الشبكات المحلية لـ AS200 ولا شيء آخر. كما تريد تعيين الوزن على المسارات المقبولة إلى 20. إستخدام مجموعة من قوائم الوصول المجاور وكمسار:
RTC#
router bgp 300
network 172.16.10.0
neighbor 10.3.3.3 remote-as 200
neighbor 10.3.3.3 route-map stamp in
route-map stamp
match as-path 1
set weight 20
ip as-path access-list 1 permit ^200$
تحتوي أي تحديثات تنشأ من AS200 على معلومات مسار تبدأ ب 200 وتنتهي ب 200. هذه التحديثات مسموح بها. تسقط أي تحديثات أخرى.
افترض أنك تريد:
-
قبول للتحديثات التي تنشأ من AS200 ولها وزن 20
-
إسقاط التحديثات التي تنشأ من AS400
-
وزن 10 لتحديثات أخرى
RTC#
router bgp 300
network 172.16.10.0
neighbor 10.3.3.3 remote-as 200
neighbor 10.3.3.3 route-map stamp in
route-map stamp permit 10
match as-path 1
set weight 20
route-map stamp permit 20
match as-path 2
set weight 10
ip as-path access-list 1 permit ^200$
ip as-path access-list 2 permit ^200 600 .*
تحدد هذه الجملة وزن 20 للتحديثات المحلية ل AS200. كما يحدد البيان وزن 10 لعمليات التحديث التي تأتي بعد AS400، كما يقوم بإسقاط التحديثات التي تأتي من AS400.
استخدام الأمر set as-path قبل إضافة الأمر
في بعض الحالات، يجب عليك معالجة معلومات المسار للتلاعب بعملية اتخاذ قرار BGP. الأمر الذي تستخدمه مع خريطة المسار هو:
set as-path prepend <as-path#> <as-path#>
لنفترض أن RTC أعلن في المخطط الموجود في الجزء المجاور لبروتوكول بوابة الحدود (BGP) وخرائط المسارات عن شبكته الخاصة من 172.16.10.0 إلى شبكتين مختلفتين طراز AS100 و AS200. عند نشر المعلومات إلى AS600، تحتوي الموجهات في AS600 على معلومات إمكانية الوصول إلى الشبكة حوالي 172.16.10.0 عبر مسارين مختلفين. المسار الأول عبر AS100 بالمسار (100، 300)، والمسار الثاني عبر AS400 بالمسار (400، 200، 300). إذا كانت جميع السمات الأخرى هي نفسها، فإن AS600 يختار أقصر مسار ويختار المسار عبر AS100.
AS300 يحصل على جميع حركات المرور عبر AS100. إذا كنت تريد التأثير على هذا القرار من نهاية AS300، يمكنك جعل المسار عبر AS100 يبدو أطول من المسار الذي يمر عبر AS400. يمكنك تنفيذ هذا الإجراء إذا قمت بترشيد أرقام AS إلى معلومات المسار الحالي المعلن عنها ل AS100. من الممارسات الشائعة تكرار رقمك AS الخاص بك بهذه الطريقة:
RTC#
router bgp 300
network 172.16.10.0
neighbor 10.2.2.2 remote-as 100
neighbor 10.2.2.2 route-map SETPATH out
route-map SETPATH
set as-path prepend 300 300
وبسبب هذا التكوين، تتلقى AS600 تحديثات حول 172.16.10.0 عبر AS100 بمعلومات مسار: (100، 300، 300، 300). معلومات المسار هذه أطول من (400، 200، 300) التي يتلقاها AS600 من AS400.
مجموعات النظراء لـ BGP
مجموعة النظراء لـ BGP هي مجموعة من الأجهزة المجاورة لـ BGP مع نفس سياسات التحديث. تقوم خرائط المسار وتوزيع القوائم وقوائم التصفية بشكل نموذجي بتعيين سياسات التحديث. لا تقوم بتعريف نفس السياسات لكل جار منفصل، وبدلا من ذلك، تقوم بتعريف اسم مجموعة نظير وتعيين هذه السياسات لمجموعة النظراء.
يرث أعضاء المجموعة النظيرة جميع خيارات التكوين الخاصة بمجموعة النظراء. يمكنك أيضًا تكوين الأعضاء لتجاوز هذه الخيارات إذا لم تؤثر الخيارات على التحديثات الصادرة. يمكنك فقط تجاوز الخيارات التي تم تعيينها على الوارد.
من أجل تحديد مجموعة نظير، أصدر هذا الأمر:
neighbor peer-group-name peer-group
يطبق هذا المثال المجموعات النظيرة على الأجهزة المجاورة الداخلية والخارجية لـ BGP:
RTC#
router bgp 300
neighbor internalmap peer-group
neighbor internalmap remote-as 300
neighbor internalmap route-map SETMETRIC out
neighbor internalmap filter-list 1 out
neighbor internalmap filter-list 2 in
neighbor 10.5.5.2 peer-group internalmap
neighbor 10.6.6.2 peer-group internalmap
neighbor 10.3.3.2 peer-group internalmap
neighbor 10.3.3.2 filter-list 3 in
يحدد هذا التكوين مجموعة نظراء باسم internalmap. يحدد التكوين بعض السياسات للمجموعة، مثل SETmetric لمخطط المسار لتعيين المقياس إلى 5 وقوائم تصفية مختلفة، 1 و 2. يطبق التشكيل مجموعة النظير على كل الجيران الداخليين، RTE، RTF، و RTG. كذلك، يحدّد التكوين قائمة التصفية المنفصلة 3 الخاصة بـ RTE للجهاز المجاور. تحل قائمة التصفية هذه محل قائمة التصفية 2 داخل مجموعة النظراء.
ملاحظة: يمكنك تجاوز الخيارات التي تؤثر على التحديثات الواردة فقط.
والآن، انظر إلى كيفية استخدام مجموعات الأقران مع الأجهزة المجاورة الخارجية. باستخدام المخطط نفسه في هذا القسم، يمكنك تكوين RTC مع externalmap لمجموعة نظيرة وتطبيق المجموعة النظيرة على الأجهزة المجاورة.
RTC#
router bgp 300
neighbor externalmap peer-group
neighbor externalmap route-map SETMETRIC
neighbor externalmap filter-list 1 out
neighbor externalmap filter-list 2 in
neighbor 10.2.2.2 remote-as 100
neighbor 10.2.2.2 peer-group externalmap
neighbor 10.4.4.2 remote-as 600
neighbor 10.4.4.2 peer-group externalmap
neighbor 10.1.1.2 remote-as 200
neighbor 10.1.1.2 peer-group externalmap
neighbor 10.1.1.2 filter-list 3 in
ملاحظة: في هذه التكوينات، يمكنك تحديد عبارات remote-as خارج المجموعة النظيرة لأنه يجب عليك تحديد أنظمة مستقلة خارجية مختلفة. أيضًا، يمكنك استبدال التحديثات الواردة للجهاز المجاور 10.1.1.2 بتعيين قائمة التصفية 3. لمزيد من المعلومات حول مجموعات النظراء، راجع مجموعات نظراء BGP.
ملاحظة: في برنامج Cisco IOS الإصدار 12.0(24)S، قدمت Cisco ميزة مجموعات نظير التحديث الديناميكي ل BGP. تتوفر هذه الميزة في إصدارات برنامج Cisco IOS software كذلك. تُقدّم الميزة خوارزمية جديدة تقوم بحساب مجموعات التحديث للأجهزة المجاورة التي تشترك في نفس سياسات الصادر ديناميكيًا وتحسّنها. يمكن لتلك الأجهزة المجاورة مشاركة رسائل التحديث نفسها. في الإصدارات السابقة من برنامج Cisco IOS، كانت مجموعة رسائل تحديث BGP على أساس تكوينات مجموعة النظراء. يقتصر هذا الأسلوب لتجميع التحديثات على سياسات الصادر والتكوينات المحددة لجلسة العمل. تفصل ميزة مجموعة النظراء للتحديث الديناميكي لـ BGP النسخ المتماثل لمجموعة التحديث عن تكوين مجموعة النظراء. يعمل هذا الفصل على تحسين وقت اندماج ومرونة تكوين الجهاز المجاور. ارجع إلى مجموعات التحديث الديناميكي لـ BGP للحصول على مزيد من التفاصيل.
دراسات حالة لبروتوكول العبّارة الحدودية (BGP) 4
CIDR (التوجيه المتبادل بين المجالات بدون فئات) والعناوين المجمّعة
أحد التحسينات الرئيسية في BGP4 عبر BGP3 هو التوجيه بين المجالات دون فئات (CIDR). CIDR أو التقسيم الفائق للشبكات طريقة جديدة للنظر إلى عناوين IP. مع توجيه المجال التبادلي دون فئات (CIDR)، لا يوجد مفهوم للفئات، مثل الفئة A أو B أو C. على سبيل المثال، كانت الشبكة 192.168.213.0 ذات مرة شبكة غير قانونية من الفئة C. الآن، الشبكة هي شبكة قانونية فائقة، 192.168.213.0/16. يمثل ال 16 عدد وحدات بت في قناع الشبكة الفرعية، عندما تقوم بالعد من أقصى يسار عنوان IP. يُعد هذا التمثيل مماثلاً لـ 192.168.213.0 255.255.0.0.
يمكنك استخدام التجميعات لتقليل حجم جداول التوجيه. التجميع هو العملية التي تجمع بين خصائص العديد من المسارات المختلفة بطريقة تجعل الإعلان عن مسار واحد ممكنًا. في هذا المثال، يقوم RTB بإنشاء الشبكة 172.31.160.0. تقوم بتكوين RTC لنشر شبكة فائقة من هذا المسار من 192.168.160.0 إلى RTA:
RTB#
router bgp 200
neighbor 10.3.3.1 remote-as 300
network 172.31.160.0
#RTC
router bgp 300
neighbor 10.3.3.3 remote-as 200
neighbor 10.2.2.2 remote-as 100
network 172.16.10.0
aggregate-address 192.168.160.0 255.0.0.0
ينشر RTC العنوان التجميعي 192.168.160.0 إلى RTA.
الأوامر المجمّعة
هناك مجموعة كبيرة من الأوامر المجمّعة. يجب أن تفهم كيف يعمل كل واحد من أجل الحصول على سلوك التجميع الذي تريده.
الأمر الأول هو واحد من المثال الموجود في القسم CIDR وعناوين التجميع:
aggregate-address address-mask
يعلن هذا الأمر عن مسار البادئة وجميع المسارات الأكثر تحديدًا. يقوم الأمر aggregate-address 192.168.160.0 بنشر شبكة إضافية 192.168.160.0 ولكنه لا يمنع انتشار 172.31.160.0 إلى RTA. وتكون النتيجة هي نشر كلتا الشبكتين 192.168.160.0 و172.31.160.0 إلى RTA، وهو إعلان عن البادئة والمسار الأكثر تحديدًا.
ملاحظة: لا يمكنك تجميع عنوان ما إذا لم يكن لديك مسار أكثر تحديدًا لذلك العنوان في جدول توجيه BGP.
على سبيل المثال، لا يمكن ل RTB إنشاء تجميع ل 192.168.160.0 إذا لم يكن ل RTB إدخال أكثر تحديدا من 192.168.160.0 في جدول BGP. يمكن إدخال مسار أكثر تحديدًا في جدول BGP. يمكن أن يحدث حقن المسار من خلال:
-
تحديثات واردة من الأنظمة المستقلة الأخرى
-
إعادة توزيع IGP أو ثابت إلى BGP
-
الأمر network، على سبيل المثال، network 172.31.160.0
إذا كنت تريد أن ينشر RTC الشبكة 192.168.160.0 فقط مع المسار الأكثر تحديدا، فعليك إصدار هذا الأمر:
aggregate-address <address> <mask> summary-only
يعلن هذا الأمر عن البادئة فقط. يمنع الأمر جميع المسارات الأكثر تحديدًا.
يقوم الأمر aggregate 192.168.160.0 255.0.0.0 summary-only بنشر الشبكة 192.168.160.0 وقمع المسار الأكثر تحديدا 172.31.160.0.
ملاحظة: إذا قمتَ بتجميع شبكة تم حقنها في BGP عبر عبارة network، فسيتم حقن إدخال الشبكة دائمًا في تحديثات BGP. يحدث هذا الإدخال رغم أنك تستخدم الأمر aggregate summary-only. يناقش المثال الوارد في القسم CIDR Example 1 هذا الموقف.
aggregate-address <address> <mask> as-set
يعلن هذا الأمر عن البادئة والمسارات الأكثر تحديدًا. لكن الأمر يتضمن معلومات as-set في معلومات مسار تحديثات التوجيه.
aggregate 192.168.0.0 255.0.0.0 as-set
يناقش القسم CIDR مثال 2 (as-set) هذا الأمر.
إذا كنتَ ترغب في منع المسارات الأكثر تحديدًا عند القيام بالتجميع، فحدد خريطة المسار وقم بتطبيق خريطة المسار على ما تم تجميعه. يتيح لك الإجراء أن تكون انتقائيًا بشأن المسارات الأكثر تحديدًا المطلوب منعها.
aggregate-address <address> <mask> suppress-map <map-name>
يعلن هذا الأمر عن البادئة والمسارات الأكثر تحديدًا. لكن الأمر يمنع الإعلان باستخدام أحد أساسات خريطة التوجيه. لنفترض أنه، باستخدام المخطط الموجود في القسم CIDR وعناوين التجميع، تريد تجميع 192.168.160.0، وقمع المسار الأكثر تحديدا 192.168.160.20، والسماح بنشر 172.31.160.0. إستخدام خريطة المسار هذه:
route-map CHECK permit 10
match ip address 1
access-list 1 permit 192.168.160.20 0.0.255.255
access-list 1 deny 0.0.0.0 255.255.255.255
من خلال تعريف suppress-map، يوجد منع من تحديثات أي حِزم تسمح به قائمة الوصول.
ثم قم بتطبيق خريطة المسار على العبارة aggregate.
RTC#
router bgp 300
neighbor 10.3.3.3 remote-as 200
neighbor 10.2.2.2 remote-as 100
neighbor 10.2.2.2 remote-as 100
network 172.16.10.0
aggregate-address 192.168.160.0 255.0.0.0 suppress-map CHECK
فيما يلي شكل آخر:
aggregate-address <address> <mask> attribute-map <map-name>
يتيح لك هذا الأمر تعيين السمات، مثل القياس، في وقت إرسال ما تم تجميعه. لتعيين أصل ما تم تجميعه إلى IGP، قم بتطبيق خريطة المسار هذه على الأمر aggregate attribute-map.
route-map SETMETRIC
set origin igp
aggregate-address 192.168.160.0 255.0.0.0 attribute-map SETORIGIN
لمزيد من المعلومات، ارجع إلى فهم تجميع المسار في BGP.
CIDR، المثال 1
الطلب: السماح ل RTB بالإعلان عن البادئة 192.168.160.0 ومنع جميع المسارات الأكثر تحديدا. المشكلة مع هذا الطلب هي أن الشبكة 172.31.160.0 محلية ل AS200، مما يعني أن AS200 هو المنشئ 172.31.160.0. لا يمكن أن يكون لديك RTB يقوم بإنشاء بادئة ل 192.168.160.0 بدون إنشاء إدخال ل 172.31.160.0، حتى إذا كنت تستخدم الأمر aggregate summary-only. يولد RTB كلتا الشبكتين لأن RTB هو المنشئ 172.31.160.0. هناك حلان لهذه المشكلة.
يتمثل الحل الأول في استخدام مسار ثابت وإعادة التوزيع داخل BGP. وتكون النتيجة أن يعلن RTB عن التجميع بأصل غير مكتمل (؟).
RTB#
router bgp 200
neighbor 10.3.3.1 remote-as 300
redistribute static
!--- This generates an update for 192.168.160.0 !--- with the origin path as "incomplete".
ip route 192.168.160.0 255.0.0.0 null0
في الحل الثاني، بالإضافة إلى المسار الثابت، يمكنك إضافة إدخال للأمر network. يحتوي هذا الإدخال على التأثير نفسه، باستثناء أن الإدخال يعيّن أصل التحديث على IGP.
RTB#
router bgp 200
network 192.168.160.0 mask 255.0.0.0
!--- This entry marks the update with origin IGP.
neighbor 10.3.3.1 remote-as 300
redistribute static
ip route 192.168.160.0 255.0.0.0 null0
CIDR، المثال 2 (as-set)
يمكنك استخدام العبارة as-set في التجميع لتقليل حجم معلومات المسار. باستخدام as-set، يتم إدراج رقم النظام المستقل مرة واحدة فقط، بغض النظر عن عدد المرات التي ظهر فيها رقم النظام المستقل في المسارات المتعددة التي تم تجميعها. يمكنك استخدام الأمر aggregate as-set في الحالات التي يتسبب فيها تجميع المعلومات في فقدان المعلومات فيما يتعلق بسمة المسار. في هذا المثال، يحصل RTC على تحديثات حول 192.168.160.20 من RTA وتحديثات حول 172.31.160.0 من RTB. لنفترض أن RTC يريد تجميع الشبكة 192.168.160.0/8 وإرسال الشبكة إلى RTD. لا يعرف RTD أصل ذلك المسار. إذا قمتَ بإضافة العبارة aggregate as-set، فإنك تجبر RTC على إنشاء معلومات المسار في شكل مجموعة {}. تتضمن هذه المجموعة جميع معلومات المسار، بغض النظر عن المسار الذي أتى أولاً.
RTB#
router bgp 200
network 172.31.160.0
neighbor 10.3.3.1 remote-as 300
RTA#
router bgp 100
network 192.168.160.20
neighbor 10.2.2.1 remote-as 300
الحالة 1:
لا يحتوي RTC على العبارة as-set. يرسل RTC تحديثا 192.168.160.0/8 إلى RTD يتضمن معلومات المسار (300)، كما لو أن المسار نشأ من AS300.
RTC#
router bgp 300
neighbor 10.3.3.3 remote-as 200
neighbor 10.2.2.2 remote-as 100
neighbor 10.4.4.4 remote-as 400
aggregate 192.168.160.0 255.0.0.0 summary-only
!--- This command causes RTC to send RTD updates about 192.168.160.0/8
!--- with no indication that 192.168.160.0 actually comes from two different ASs.
!--- This may create loops if RTD has an entry back into AS100 or AS200.
الحالة 2:
RTC#
router bgp 300
neighbor 10.3.3.3 remote-as 200
neighbor 10.2.2.2 remote-as 100
neighbor 10.4.4.4 remote-as 400
aggregate 192.168.160.0 255.0.0.0 summary-only
aggregate 192.168.160.0 255.0.0.0 as-set
!--- This command causes RTC to send RTD updates about 192.168.160.0/8
!--- with an indication that 192.168.160.0 belongs to a set {100 200}.
والموضوعان التاليان، إتحاد BGP وعاكس المسارات، هما لمزودي خدمات الإنترنت الذين يريدون مزيدا من التحكم في انفجار تجويف بروتوكول iBGP داخل نظام ASs الخاص بهم.
اتحاد BGP
يقلل تنفيذ اتحاد BGP من شبكة iBGP داخل نظام مستقل. وتتمثل الحيلة في تقسيم نظام مستقل إلى عدة أنظمة تشغيل وتعيين المجموعة بأكملها إلى اتحاد واحد. يحتوي كل نظام مستقل على iBGP بشكل متشابك تمامًا وله اتصالات بنظام مستقل آخر داخل الاتحاد. رغم أن الأنظمة المستقلة هذه تحتوي على نظراء للأنظمة المستقلة داخل الاتحاد، إلا أن الأنظمة المستقلة تقوم بتبادل التوجيه كما لو كانت تستخدم iBGP. وبهذه الطريقة، يحتفظ الاتحاد بمعلومات الخطوة التالية، والقياس، والتفضيل المحلي. بالنسبة للعالم الخارجي، يبدو أن الاتحاد هو نظام مستقل واحد.
لتكوين اتحاد BGP، أصِدر هذا الأمر:
bgp confederation identifier <autonomous-system>
معرّف الاتحاد هو رقم النظام المستقل لمجموعة الاتحاد.
يؤدي إصدار هذا الأمر إلى إجراء عمليات تناظر بين الأنظمة المستقلة المتعددة داخل الاتحاد:
bgp confederation peers <autonomous-system> <autonomous-system>
فيما يلي مثال على الاتحاد:
افترض أن لديك AS500 الذي يتكون من تسعة مكبرات صوت BGP. كما توجد مكبرات صوت أخرى بخلاف BGP، ولكنك مهتم فقط بسماعات BGP التي تحتوي على اتصالات eBGP بالأجهزة المستقلة الأخرى. إذا كنتَ ترغب في إنشاء شبكة iBGP كاملة داخل AS500، فستحتاج إلى تسع اتصالات نظير لكل موجّه. أنت بحاجة إلى ثمانية نظراء iBGP ونظير eBGP واحد إلى الأنظمة المستقلة الخارجية.
إذا كنت تستخدم Federation، يمكنك تقسيم AS500 إلى AS50، AS60، و AS70. تعطي AS AS FederationIdentifier 500. يرى العالم الخارجي واحدا فقط على أنه 500. بالنسبة لكل من AS50 و AS60 و AS70، تقوم بتعريف شبكة كاملة من نظراء iBGP، وتقوم بتعريف قائمة نظائر الاتحاد باستخدام أمر نظائر إتحاد BGP.
فيما يلي نموذج لتكوين الموجّهات RTC وRTD وRTA:
ملاحظة: لا تتوفر في منطقة التجارة الإقليمية معلومات عن AS50 أو AS60 أو AS70. لا يعرف RTA إلا AS500.
RTC#
router bgp 50
bgp confederation identifier 500
bgp confederation peers 60 70
neighbor 10.128.213.10 remote-as 50 (IBGP connection within AS50)
neighbor 10.128.213.20 remote-as 50 (IBGP connection within AS50)
neighbor 10.128.213.11 remote-as 60 (BGP connection with confederation peer 60)
neighbor 10.128.213.14 remote-as 70 (BGP connection with confederation peer 70)
neighbor 10.5.5.5 remote-as 100 (EBGP connection to external AS100)
RTD#
router bgp 60
bgp confederation identifier 500
bgp confederation peers 50 70
neighbor 10.128.210.2 remote-as 60 (IBGP connection within AS60)
neighbor 10.128.213.30 remote-as 50(BGP connection with confederation peer 50)
neighbor 10.128.213.14 remote-as 70 (BGP connection with confederation peer 70)
neighbor 10.6.6.16 remote-as 600 (EBGP connection to external AS600)
RTA#
router bgp 100
neighbor 10.5.5.4 remote-as 500 (EBGP connection to confederation 500)
عاكسات المسار
هناك حل آخر لزيادة نظير iBGP داخل النظام المستقل بشكل هائل ألا وهو عاكسات المسار (RRs). وكما يوضح قسم iBGP، لا يعلن مكبر صوت BGP عن طريق تعلمه مكبر صوت BGP من خلال مكبر صوت آخر للبروتوكول إلى مكبر صوت ثالث للبروتوكول iBGP. يمكنك تخفيف هذا التقييد قليلاً وتوفير تحكم إضافي، وهو ما يتيح للموجّه الإعلان عن مسارات iBGP المكتسبة أو عكسها إلى مكبرات صوت iBGP الأخرى. يقلل انعكاس المسار هذا من عدد أقران iBGP داخل نظام مستقل.
في الحالات العادية، احتفظ بشبكة iBGP كاملة بين RTA و RTB و RTC داخل AS100. إذا أستخدمت مفهوم RR، يمكن إختيار RTC ك RR. وبهذه الطريقة، يكون لدى RTC نظير iBGP جزئي مع RTA وRTB. لا يُعد التناظر بين RTA وRTB ضروريًا لأن RTC عبارة عن RR للتحديثات التي تأتي من RTA وRTB.
neighbor <ip address> route-reflector-client
الموجّه الذي يحتوي على هذا الأمر هو RR، والأجهزة المجاورة التي تشير إليها الأوامر كعملاء لـ RR ذلك. في المثال، يحتوي تكوين RTC على الأمر neighbor route-reflector-client المجاور الذي يشير إلى عناوين IP الخاصة بـ RTA وRTB. ويكون الدمج بين RR والعملاء عبارة عن "تجمُّع". في هذا المثال، يشكّل كل من RTA وRTB وRTC مجموعة مع RR واحد داخل AS100.
ونظراء iBGP الآخرين ل RR الذين ليسوا عملاء ليسوا من غير العملاء.
يمكن أن يحتوي نظام مستقل على أكثر من RR واحد. في هذه الحالة، يعامل RRs أخرى مثل أي مكبر صوت iBGP آخر. يمكن أن تنتمي سجلات RR الأخرى إلى نفس المجموعة (مجموعة العملاء) أو إلى مجموعات أخرى. في تكوين بسيط، يمكنك تقسيم النظام المستقل إلى مجموعات متعددة. يمكنك تكوين كل RR مع سجلات RR الأخرى كأقران من غير العملاء في هيكل متشابك بالكامل. يجب على العملاء ألا يربطوا مع مكبرات صوت iBGP خارج نظام المجموعة الخاص بالعميل.
في المخطط السابق، يتكون RTA و RTB و RTC من مجموعة واحدة. RTC هو RR. بالنسبة إلى RTC، يُعد RTA وRTB عميلين وأي شيء آخر ليس عميلاً. تذكّر أن الأمر neighbor route-reflector-client المجاور يشير إلى عملاء RR. RTD نفسه هو RR لعملاء RTE وRTF. RTG هو RR في مجموعة ثالثة.
ملاحظة: تتم تجزئة RTD و RTC و RTG بالكامل، ولكن الموجهات داخل نظام مجموعة لا يتم ذلك.
عندما يستقبل RR مسارًا، فإن مسارات RR كما تظهر هذه القائمة. ومع ذلك، يعتمد هذا النشاط على نوع النظير:
-
مسارات من نظير غير عميل—يعكس كافة العملاء داخل المجموعة.
-
المسارات من نظير عميل—يعكس كافة النظراء من غير العملاء وكذلك إلى النظراء من العملاء.
-
المسارات من نظير eBGP—يُرسل التحديث إلى كافة العملاء والأقران من غير العملاء.
فيما يلي تكوين BGP النسبي للموجّهات RTC وRTD وRTB:
RTC#
router bgp 100
neighbor 10.2.2.2 remote-as 100
neighbor 10.2.2.2 route-reflector-client
neighbor 10.1.1.1 remote-as 100
neighbor 10.1.1.1 route-reflector-client
neighbor 10.7.7.7 remote-as 100
neighbor 10.4.4.4 remote-as 100
neighbor 10.8.8.8 remote-as 200
RTB#
router bgp 100
neighbor 10.3.3.3 remote-as 100
neighbor 10.12.12.12 remote-as 300
RTD#
router bgp 100
neighbor 10.6.6.16 remote-as 100
neighbor 10.6.6.16 route-reflector-client
neighbor 10.5.5.5 remote-as 100
neighbor 10.5.5.5 route-reflector-client
neighbor 10.7.7.7 remote-as 100
neighbor 10.3.3.3 remote-as 100
نظرًا لوجود انعكاس لمسارات iBGP التي تم التعرُّف عليها، فقد تكون هناك حلقة من معلومات التوجيه. يحتوي مخطط RR على عدة طرق لتجنُّب هذا التكرار الحلقي:
-
معرف المنشئ — هذه سمة BGP إختيارية غير عابرة طولها 4 بايت. ينشئ RR هذه السمة. وتحمل السمة معرّف الموجّه (RID) لمُنشئ المسار في النظام المستقل المحلي. إذا عادت معلومات التوجيه إلى المنشئ، بسبب التكوين السيء، يتم تجاهل المعلومات.
-
قائمة نظام المجموعة — يغطي القسم Multi RRs داخل نظام المجموعة قائمة نظام المجموعة.
سجلات RR المتعددة ضمن مجموعة
عادة، تحتوي مجموعة العملاء على RR واحد. في هذه الحالة، يحدّد معرّف الموجّه الخاص بـ RR المجموعة. من أجل زيادة التحديث وتجنُّب نقاط الفشل الفردية، يمكن أن يكون للمجموعة أكثر من RR واحد. إنك تحتاج إلى تكوين كافة RRs في المجموعة نفسها باستخدام معرّف المجموعة 4 بايت بحيث يمكن لـ RR التعرُّف على التحديثات من RRs في المجموعة نفسها.
المقصود بقائمة مجموعة هي سلسلة من معرّفات المجموعة التي قد اجتازها المسار. عندما يعكس RR مسارًا من عملاء RR إلى غير عملاء من خارج المجموعة، يقوم RR بإلحاق معرّف المجموعة المحلي بقائمة المجموعة. إذا كان لهذا التحديث قائمة مجموعة فارغة، يقوم RR بإنشاء واحدة. وباستخدام هذه السمة، يمكن لـ RR تحديد ما إذا كانت معلومات التوجيه قد أعيدت تكرارها إلى المجموعة نفسها بسبب التكوين الرديء. إذا تم العثور على معرّف المجموعة المحلية في قائمة المجموعة، يتم تجاهل الإعلان.
في المخطط الموجود في هذا القسم ، تنتمي RTD وRTE وRTF وRTH إلى مجموعة واحدة. كل من RTD وRTH هما RRs للمجموعة نفسها.
ملاحظة: يوجد تكرار لأن RTH يحتوي على نظير متشابك بالكامل مع جميع RR. إذا تعطّل RTD، فإن RTH يحل محل RTD.
فيما يلي تكوين RTH وRTD وRTF وRTC:
RTH#
router bgp 100
neighbor 10.4.4.4 remote-as 100
neighbor 10.5.5.5 remote-as 100
neighbor 10.5.5.5 route-reflector-client
neighbor 10.6.6.16 remote-as 100
neighbor 10.6.6.16 route-reflector-client
neighbor 10.7.7.7 remote-as 100
neighbor 10.3.3.3 remote-as 100
neighbor 10.9.9.9 remote-as 300
bgp cluster-id 10
RTD#
router bgp 100
neighbor 10.10.10.10 remote-as 100
neighbor 10.5.5.5 remote-as 100
neighbor 10.5.5.5 route-reflector-client
neighbor 10.6.6.16 remote-as 100
neighbor 10.6.6.16 route-reflector-client
neighbor 10.7.7.7 remote-as 100
neighbor 10.3.3.3 remote-as 100
neighbor 10.11.11.11 remote-as 400
bgp cluster-id 10
RTF#
router bgp 100
neighbor 10.10.10.10 remote-as 100
neighbor 10.4.4.4 remote-as 100
neighbor 10.13.13.13 remote-as 500
RTC#
router bgp 100
neighbor 10.1.1.1 remote-as 100
neighbor 10.1.1.1 route-reflector-client
neighbor 10.2.2.2 remote-as 100
neighbor 10.2.2.2 route-reflector-client
neighbor 10.4.4.4 remote-as 100
neighbor 10.7.7.7 remote-as 100
neighbor 10.10.10.10 remote-as 100
neighbor 10.8.8.8 remote-as 200
ملاحظة: لا تحتاج إلى الأمر bgp cluster-id لـ RTC لأنه يوجد RR واحد فقط في تلك المجموعة.
تحذير: لا يستخدم هذا التكوين مجموعات الأقران. لا تستخدم مجموعات الأقران إذا لم يكن لدى العملاء داخل مجموعة نظراء iBGP بين بعضهم البعض، ويقوم العملاء بتبادل التحديثات من خلال RR. إذا قمت بتكوين مجموعات الأقران، فإن السحب المحتمل إلى مصدر المسار على RR يرسل إلى جميع العملاء داخل المجموعة. قد يتسبب هذا الإرسال في حدوث مشكلات.
يتم تمكين الأمر الفرعي الخاص بالموجه bgp client-to-client reflection إلى العميل بشكل افتراضي على RR. إذا قمت بإيقاف تشغيل BGP client-to-client reflection على RR وقمت بإجراء BGP peering متكرر بين العملاء، فيمكنك استخدام مجموعات الأقران بأمان. راجع قيود مجموعات الأقران للحصول على مزيد من المعلومات.
RR ومكبرات BGP التقليدية
يمكن أن يحتوي النظام المستقل (AS) على مكبرات BGP لا تستوعب مفهوم RR. وتطلق هذه الوثيقة على هذه الموجهات اسم مكبرات BGP التقليدية. يسمح مخطط RR بالتعايش مع مكبرات BGP التقليدية هذه. يمكن أن تكون هذه الموجهات أعضاء في مجموعة عملاء أو مجموعة غير عملاء. يتيح وجود هذه الموجهات الترحيل السهل والتدريجي من نموذج iBGP الحالي إلى نموذج RR. يمكنك البدء في إنشاء مجموعات إذا قمت بتكوين موجه واحد على أنه RR وجعلت RR وعملاء RR كأقران iBGP اعتيادين. وبعد ذلك، يمكنك إنشاء المزيد من المجموعات بشكل تدريجي.
في هذا المخطط، تحتوي RTD وRTE وRTF على مفهوم انعكاس المسار. تعد RTC و RTA و RTB موجهات تقليدية. لا يمكنك تكوين هذه الموجهات كـ RR. يمكنك عمل شبكة iBGP عادية بين هذه الموجهات وRTD. في وقت لاحق، عندما تكون مستعدًا للترقية، يمكنك تحويل RTC إلى RR مع عملاء RTA وRTB. لا يحتاج العملاء إلى فهم نظام انعكاس المسار، حيث تتطلب وحدات الاستجابة السريعة فقط الترقية.
هذا هو تكوين RTD وRTC:
RTD#
router bgp 100
neighbor 10.6.6.16 remote-as 100
neighbor 10.6.6.16 route-reflector-client
neighbor 10.5.5.5 remote-as 100
neighbor 10.5.5.5 route-reflector-client
neighbor 10.3.3.3 remote-as 100
neighbor 10.2.2.2 remote-as 100
neighbor 10.1.1.1 remote-as 100
neighbor 10.13.13.13 remote-as 300
RTC#
router bgp 100
neighbor 10.4.4.4 remote-as 100
neighbor 10.2.2.2 remote-as 100
neighbor 10.1.1.1 remote-as 100
neighbor 10.14.14.14 remote-as 400
عندما تكون جاهزًا لترقية RTC وتحويل RTC إلى RR، قم بإزالة الشبكة الكاملة iBGP ليصبح RTA وRTB عميلاً لـ RTC.
تجنب تكرار معلومات التوجيه
حتى الآن، ذكر هذا المستند سمتين يمكنك إستخدامهما لمنع تكرار المعلومات المحتملة: معرف المنشئ وقائمة نظام المجموعة.
هناك وسيلة أخرى للتحكم في الحلقات وهي وضع المزيد من القيود على عبارة set لخرائط التوجيه الصادرة. لا تؤثر عبارة set على خرائط التوجيه الصادرة على المسارات التي تنعكس على أقران iBGP.
يمكنك أيضا وضع المزيد من القيود على الخطوة التالية، وهي خيار تكوين لكل جار. عند إستخدام الموجهات التالية -Selfo n RRs، تؤثر العبارة فقط على المرحلة التالية من المسارات التي تم التعرف عليها من eBGP لأنه يجب عدم تغيير الخطوة التالية للمسارات المعكوسة.
الحد من تأثير تذبذب المسار
قدم الإصدار 11.0 من برنامج Cisco IOS الحد من تأثير تذبذب المسار. يُعد الحد من تأثير تذبذب المسار آليةً لتقليل عدم الاستقرار الذي يسببه التذبذب في التوجيه. يقلل الحد من تأثير تذبذب المسار أيضًا من التذبذب عبر الشبكة. يمكنك تحديد معايير لتحديد المسارات سيئة التصرف. يحصل المسار الذي يتذبذب على عقوبة قدرها 1000 لكل ذبذبة. بمجرد أن تصل العقوبة التراكمية إلى حد منع محدد مسبقا، يحدث قمع إعلان المسار. وتنقطع العقوبة بأضعاف مضاعفة استنادا إلى فترة نصف العمر المقررة مسبقا. بمجرد انخفاض العقوبة تحت حد إعادة الاستخدام المحدد مسبقا، لن يتم قمع إعلان المسار.
لا ينطبق تثبيط المسار على المسارات الخارجية لـ AS والتي تم التعرف عليها عبر iBGP. وبهذه الطريقة، يتجنب تثبيط المسار فرض عقوبات أعلى على نظراء iBGP للمسارات الخارجية إلى النظام المستقل (AS).
تتلاشى العقوبة بتدريج 5 ثوانٍ. تكون المسارات غير مكبوتة خلال 10 ثوان. يحافظ الموجه على معلومات التثبيط حتى تصبح العقوبة أقل من نصف حد إعادة الاستخدام. عند هذه النقطة، يقوم الموجه بمسح المعلومات.
في البداية، يتم إيقاف تشغيل الحد من التأثير افتراضيًا. إذا كانت هناك حاجة، يمكن منح هذه الميزة التمكين الافتراضي في المستقبل. تتحكم هذه الأوامر في الحد من تأثير المسار:
-
تثبيط BGP — يشغل تثبيط.
-
لا يوجد مانع لتثبيط BGP — يوقف التثبيط.
-
BGP Damingalf-life-time— يغير نصف العمر.
الأمر الذي يقوم بتعيين جميع المعلمات في نفس الوقت هو:
-
BGP Damingalf-life-timeusuppressmaximum-suppress-time
توضح هذه القائمة تفاصيل الصياغة:
-
فترة نصف العمر— النطاق هو 1-45 دقيقة، والتمثيل الافتراضي الحالي هو 15 دقيقة.
-
reuse-value— النطاق هو 1-20،000، والافتراضي هو 750.
-
suppress-value— النطاق هو 1-20،000، والافتراضي هو 2000.
-
الحد الأقصى لوقت منع الوصول— هذه هي المدة القصوى لقمع مسار. النطاق هو 1–255 دقيقة، والافتراضي هو 4 أضعاف وقت نصف العمر.
RTB#
hostname RTB
interface Serial0
ip address 192.168.250.2 255.255.255.252
interface Serial1
ip address 192.168.10.6 255.255.255.252
router bgp 100
bgp dampening
network 192.168.250.15
neighbor 192.168.10.5 remote-as 300
RTD#
hostname RTD
interface Loopback0
ip address 192.168.208.174 255.255.255.192
interface Serial0/0
ip address 192.168.10.5 255.255.255.252
router bgp 300
network 192.168.10.0
neighbor 192.168.10.6 remote-as 100
يتم تكوين RTB للحد من تأثير المسار باستخدام المعلمات الافتراضية. إذا افترضت أن ارتباط eBGP إلى RTD مستقر، فسيبدو جدول RTB BGP هكذا:
RTB#show ip bgp
BGP table version is 24, local router ID is 192.168.250.2 Status codes: s
suppressed, d damped, h history, * valid, > best, i - internal Origin
codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.10.0 192.168.10.5 0 0 300 i
*> 192.168.250.15 0.0.0.0 0 32768 i
لمحاكاة ذبذبة المسار، قم بإصدار الأمر clear ip bgp 192.168.10.6 على RTD. يبدو جدول RTB BGP كما يلي:
RTB#show ip bgp
BGP table version is 24, local router ID is 192.168.250.2 Status codes: s
suppressed, d damped, h history, * valid, > best, i - internal Origin
codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
h 192.168.10.0 192.168.10.5 0 0 300 i
*> 192.168.250.15 0.0.0.0 0 32768 i
إدخال BGP ل 192.168.10.0 في حالة اهليزية. يعني هذا الموضع أنه لا يوجد لديك أفضل مسار للمسار، ولكن المعلومات المتعلقة بمسار المسار لا تزال موجودة.
RTB#show ip bgp 192.168.10.0
BGP routing table entry for 192.168.10.0 255.255.255.0, version 25
Paths: (1 available, no best path)
300 (history entry)
192.168.10.5 from 192.168.10.5 (192.168.208.174)
Origin IGP, metric 0, external
Dampinfo: penalty 910, flapped 1 times in 0:02:03
الطريق تلقى غرامه لرفرفه، ولكن العقوبه مازالت تحت حد القمع. القيمة الافتراضية هي 2000. لم يتم منع المسار بعد. إذا تذبذب المسار عدة مرات، فسترى:
RTB#show ip bgp
BGP table version is 32, local router ID is 192.168.250.2 Status codes:
s suppressed, d damped, h history, * valid, > best, i - internal Origin codes:
i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*d 192.168.10.0 192.168.10.5 0 0 300 i
*> 192.168.250.15 0.0.0.0 0 32768 i
RTB#show ip bgp 192.168.10.0
BGP routing table entry for 192.168.10.0 255.255.255.0, version 32
Paths: (1 available, no best path)
300, (suppressed due to dampening)
192.168.10.5 from 192.168.10.5 (192.168.208.174)
Origin IGP, metric 0, valid, external
Dampinfo: penalty 2615, flapped 3 times in 0:05:18 , reuse in 0:27:00
الطريق كان خامد أو مقمعا. يُعاد استخدام المسار عندما تصل العقوبة إلى "قيمة إعادة الاستخدام". في هذه الحالة، ال reuse قيمة التقصير، 750. يتم إزالة المعلومات الواهنة عندما تصبح العقوبة أقل من نصف حد إعادة الاستخدام. في هذه الحالة، يحدث المسح عندما تصبح العقوبة 375 (750/2=375). تعرض هذه الأوامر معلومات إحصائيات التذبذب ومسحها:
-
show ip bgp flap-statistics — يعرض إحصائيات الرفرفة لجميع المسارات.
-
يعرض عرض ip bgp flap-statistics regexular-expression— إحصائيات رفرفة لكل المسارات التي تطابق التعبير العادي.
-
show ip bgp flap-statistics filter-list— يعرض إحصائيات الرفرفة لكل المسارات التي تجتاز المرشح.
-
يعرض عرض ip bgp flap-statisticsA.B.C.D m.m.m— إحصائيات الرفرفة لإدخال واحد.
-
يعرض show ip bgp flap-statisticsA.B.C.D.m.m.mlong-prefix — إحصائيات الرفرفة لإدخالات أكثر تحديدا.
-
show ip bgp neighbor [dampened-routes] | [flap-statistics]— يعرض إحصائيات الرفرفة لكل المسارات من جار.
-
مسح إحصائيات رفرفة IP BGP— مسح إحصائيات الرفرفة لجميع المسارات.
-
يمسح مسح ip bgp flap-statistics regexular-expression— يمحو إحصائيات الرفرفة لكل المسارات التي تطابق التعبير العادي.
-
امسح ip bgp flap-statistics filter-list— يمسح إحصائيات الرفرفة لكل المسارات التي تجتاز المرشح.
-
مسح ip bgp flap-statisticsA.B.C.D m.m.m— يمسح إحصائيات الرفرفة لإدخال واحد.
-
مسح ip bgpA.B.C.dflap-statistics — يمسح إحصائيات الرفرفة لكل المسارات من جار.
كيفية اختيار BGP للمسار
الآن بعد أن أصبحت على دراية بسمات ومصطلحات BGP، راجع خوارزمية اختيار أفضل مسار لـ BGP.
دراسات حالة لبروتوكول العبّارة الحدودية (BGP) 5
مثال على التصميم العملي
يحتوي هذا القسم على مثال لتصميم يوضح جداول التكوين والتوجيه كما تظهر الجداول بالفعل على موجهات Cisco.
يوضح هذا القسم كيفية إنشاء هذا التكوين خطوة بخطوة وما الخطأ الذي يمكن أن يحدث على طول الطريق. عندما يكون لديك AS يتصل بمزودي خدمة إنترنت عبر eBGP، قم دائمًا بتشغيل iBGP داخل AS لديك لتحكم أفضل في مساراتك. في هذا المثال، يعمل iBGP داخل AS100 بين RTA وRTB، ويعمل OSPF كـ IGP. بافتراض إتصالك باثنين من مزودي خدمة الإنترنت (ISP)، وهما AS200 و AS300. هذا هو التشغيل الأول للتكوينات لجميع الموجهات:
ملاحظة: هذه التكوينات ليست هي التكوينات النهائية.
RTA#
hostname RTA
ip subnet-zero
interface Loopback0
ip address 192.168.203.250 255.255.255.0
interface Ethernet0
ip address 192.168.203.14 255.255.255.0
interface Serial0
ip address 192.168.128.63 255.255.255.252
router ospf 10
network 192.168.203.25 0.0.255.255 area 0
router bgp 100
network 192.168.203.13
network 192.168.250.14
neighbor 172.31.63.250 remote-as 200
neighbor 192.168.250.2 remote-as 100
neighbor 192.168.250.2 update-source Loopback0
RTF#
hostname RTF
ip subnet-zero
interface Ethernet0
ip address 172.31.14.250 255.255.255.0
interface Serial1
ip address 172.16.15.250 255.255.255.252
router ospf 10
network 192.168.203.25 0.0.255.255 area 0
RTB#
hostname RTB
ip subnet-zero
interface Serial0
ip address 192.168.250.2 255.255.255.252
interface Serial1
ip address 192.168.10.6 255.255.255.252
router ospf 10
network 192.168.203.25 0.0.255.255 area 0
router bgp 100
network 192.168.250.15
neighbor 192.168.10.5 remote-as 300
neighbor 192.168.203.250 remote-as 100
RTC#
hostname RTC
ip subnet-zero
interface Loopback0
ip address 192.168.128.6330 255.255.255.192
interface Serial2/0
ip address 172.16.31.5 255.255.255.252
!
interface Serial2/1
ip address 172.31.63.250 255.255.255.252
router bgp 200
network 172.31.10.0
neighbor 192.168.128.63 remote-as 100
neighbor 172.31.63.213 remote-as 400
RTD#
hostname RTD
ip subnet-zero
interface Loopback0
ip address 192.168.208.174 255.255.255.192
interface Serial0/0
ip address 192.168.10.5 255.255.255.252
!
interface Serial0/1
ip address 192.168.10.2 255.255.255.252
router bgp 300
network 192.168.10.0
neighbor 192.168.10.1 remote-as 500
neighbor 192.168.10.6 remote-as 100
RTE#
hostname RTE
ip subnet-zero
interface Loopback0
ip address 192.168.200.10 255.255.255.0
interface Serial0
ip address 192.168.195.211 255.255.255.252
interface Serial1
ip address 172.31.63.213 255.255.255.252
clockrate 1000000
router bgp 400
network 192.168.10.10
neighbor 172.16.31.5 remote-as 200
neighbor 192.168.211.195 remote-as 500
RTG#
hostname RTG
ip subnet-zero
interface Loopback0
ip address 192.168.211.19574 255.255.255.192
interface Serial0
ip address 192.168.10.1 255.255.255.252
interface Serial1
ip address 192.168.211.195 255.255.255.252
router bgp 500
network 192.168.211.10
neighbor 192.168.10.2 remote-as 300
neighbor 192.168.195.211 remote-as 400
أستخدم
network الأمر دائما أو قم بإعادة توزيع مدخلات ثابتة في BGP للإعلان عن الشبكات. تُعد هذه الطريقة أفضل من إعادة توزيع IGP إلى BGP. يستخدم هذا المثال
network الأمر لضخ الشبكات في BGP.
هنا، تبدأ بواجهة s1 عند إيقاف تشغيل RTB، كما لو أن الرابط بين RTB وRTD غير موجود. هذا هو جدول RTB BGP:
RTB#show ip bgp BGP
table version is 4, local router ID is 192.168.250.2 Status
codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*i172.31.10.0 172.31.63.250 0 100 0 200 i
*i192.168.10.0 172.31.63.250 100 0 200 400 500
300 i
*i192.168.211.10 172.31.63.250 100 0 200 400 500 i
*i192.168.10.10 172.31.63.250 100 0 200 400 i
*>i192.168.203.13 192.168.203.250 0 100 0 i
*>i192.168.250.14 192.168.203.250 0 100 0 i
*>192.168.250.15 0.0.0.0 0 32768 i
في هذا الجدول، تظهر هذه الرموز:
-
إيانات في البداية - تشير إلى أن الإدخال قد تم التعرف عليه من خلال نظير iBGP.
-
ANIAT النهاية - تشير إلى أن أصل معلومات المسار هو IGP.
-
معلومات مرضية — هذه المعلومات بديهية. على سبيل المثال، يتم التعرّف على الشبكة 172.31.10.0 عبر المسار 200 مع الخطوة التالية الخاصة بـ 172.31.63.250.
ملاحظة: يحتوي أي إدخال تم إنشاؤه محليًا، مثل 192.168.250.15، على خطوة تالية 0.0.0.0.
- رمز >—يشير إلى أن BGP قد اختار أفضل مسار. يستخدم BGP خطوات القرار الموضحة في المستند خوارزمية اختيار المسار الأفضل من BGP يختار BGP أفضل مسار للوصول إلى الوجهة، ويقوم بتثبيت المسار في جدول توجيه IP، ويعلن عن المسار لأقران BGP الآخرين.
ملاحظة: لاحظ سمة Next Hop. يعرف RTB بشأن 172.31.10.0 عبر القفزة التالية الخاصة بـ 172.31.63.250، وهي القفزة التالية لـ eBGP في iBGP.
انظر إلى جدول توجيه IP:
RTB#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate
default
Gateway of last resort is not set
192.168.203.13 255.255.255.255 is subnetted, 1 subnets
O 192.168.203.250 [110/75] via 172.16.15.250, 02:50:45, Serial0
192.168.250.15 255.255.255.252 is subnetted, 1 subnets
C 192.168.250.15 is directly connected, Serial0
O 192.168.250.14 [110/74] via 172.16.15.250, 02:50:46, Serial0
من الواضح أنه لم يصل أي من إدخالات BGP إلى جدول التوجيه. توجد مشكلتان هنا.
المشكلة الأولى هي أن القفزة التالية لهذه الإدخالات، 172.31.63.250، لا يمكن الوصول إليها. لا توجد طريقة للوصول إلى تلك القفزة التالية عبر IGP، وهي OSPF. لم يتعرف RTB على 192.168.213.63 عبر OSPF. يمكنك تشغيل OSPF على واجهة RTA S0 وجعله خاملا؛ بهذه الطريقة، يعرف RTB كيفية الوصول إلى الخطوة التالية 172.31.63.250. يظهر هذا RTA تشكيل هنا:
RTA#
hostname RTA
ip subnet-zero
interface Loopback0
ip address 192.168.203.250 255.255.255.0
interface Ethernet0
ip address 192.168.203.14 255.255.255.0
interface Serial0
ip address 192.168.128.63 255.255.255.252
router ospf 10
passive-interface Serial0
network 192.168.203.25 0.0.255.255 area 0
network 172.31.10.0 0.0.255.255 area 0
router bgp 100
network 192.168.203.25 mask 255.255.0.0
neighbor 172.31.63.250 remote-as 200
neighbor 192.168.250.2 remote-as 100
neighbor 192.168.250.2 update-source Loopback0
ملاحظة: يمكنك إصدار الأمرbgp nexthop self بين RTA و RTB لتغيير الخطوة التالية.
يبدو جدول BGP الجديد في RTB كما يلي:
RTB#show ip bgp
BGP table version is 10, local router ID is 192.168.250.2
Status codes: s suppressed, d damped, h history, * valid, > best,
i - internal Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>i172.31.10.0 172.31.63.250 0 100 0 200 i
*>i192.168.10.0 172.31.63.250 100 0 200 400 500
300 i
*>i192.168.211.10 172.31.63.250 100 0 200 400 500 i
*>i192.168.10.10 172.31.63.250 100 0 200 400 i
*>i192.168.203.13 192.168.203.250 0 100 0 i
*>i192.168.250.14 192.168.203.250 0 100 0 i
*> 192.168.250.15 0.0.0.0 0 32768 i
ملاحظة: تحتوي جميع الإدخالات على >، مما يعني أن بروتوكول BGP يمكنه الوصول إلى القفزة التالية.
انظر إلى جدول التوجيه:
RTB#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * -
candidate default
Gateway of last resort is not set
192.168.203.13 255.255.255.255 is subnetted, 1 subnets
O 192.168.203.250 [110/75] via 172.16.15.250, 00:04:46, Serial0
192.168.250.15 255.255.255.252 is subnetted, 1 subnets
C 192.168.250.15 is directly connected, Serial0
O 192.168.250.14 [110/74] via 172.16.15.250, 00:04:46, Serial0
172.31.10.0 255.255.255.252 is subnetted, 1 subnets
O 192.168.213.63 [110/138] via 172.16.15.250, 00:04:47, Serial0
المشكلة الثانية هي أنك ما زلت لا ترى إدخالات BGP في جدول التوجيه. والفرق الوحيد هو أن 192.168.213.63 يمكن الوصول إليه الآن عبر OSPF. هذه المشكلة هي مشكلة تزامن. لا يضع BGP هذه الإدخالات في جدول التوجيه ولا يرسل الإدخالات في تحديثات BGP بسبب عدم المزامنة مع IGP.
ملاحظة: ليس لدى RTF مفهوم الشبكات 192.168.10.0 و192.168.211.10 لأنك لم تقم بإعادة توزيع BGP في OSPF بعد.
في هذا السيناريو، إذا قمت بإيقاف تشغيل المزامنة، فستظهر الإدخالات في جدول التوجيه. لكن الاتصال لا يزال معطلاً.
إذا قمت بإيقاف تشغيل المزامنة في RTB، فهذا ما سيحدث:
RTB#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * -
candidate default
Gateway of last resort is not set
B 192.168.10.10 [200/0] via 172.31.63.250, 00:01:07
B 192.168.211.10 [200/0] via 172.31.63.250, 00:01:07
B 192.168.10.0 [200/0] via 172.31.63.250, 00:01:07
192.168.203.13 is variably subnetted, 2 subnets, 2 masks
O 192.168.203.250 255.255.255.255
[110/75] via 172.16.15.250, 00:12:37, Serial0
B 192.168.203.13 255.255.255.0 [200/0] via 192.168.203.250, 00:01:08
192.168.250.15 255.255.255.252 is subnetted, 1 subnets
C 192.168.250.15 is directly connected, Serial0
O 192.168.250.14 [110/74] via 172.16.15.250, 00:12:37, Serial0
172.31.10.0 is variably subnetted, 2 subnets, 2 masks
B 172.31.10.0 255.255.0.0 [200/0] via 172.31.63.250, 00:01:08
O 192.168.213.63 255.255.255.252
[110/138] via 172.16.15.250, 00:12:37, Serial0
يبدو جدول التوجيه جيدًا، ولكن لا توجد طريقة للوصول إلى هذه الشبكات. RTF في الوسط لا تعرف كيفية الوصول إلى الشبكات:
RTF#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * -
candidate default
Gateway of last resort is not set
192.168.203.13 255.255.255.255 is subnetted, 1 subnets
O 192.168.203.250 [110/11] via 192.168.203.14, 00:14:15, Ethernet0
192.168.250.15 255.255.255.252 is subnetted, 1 subnets
C 192.168.250.15 is directly connected, Serial1
C 192.168.250.14 is directly connected, Ethernet0
172.31.10.0 255.255.255.252 is subnetted, 1 subnets
O 192.168.213.63 [110/74] via 192.168.203.14, 00:14:15, Ethernet0
عند إيقاف تشغيل المزامنة في هذه الحالة، لا تزال المشكلة قائمة. ولكنك تحتاج إلى المزامنة لاحقًا للمشكلات الأخرى. إعادة توزيع BGP في OSPF على RTA، بمقياس 2000:
RTA#
hostname RTA
ip subnet-zero
interface Loopback0
ip address 192.168.203.250 255.255.255.0
interface Ethernet0
ip address 192.168.203.14 255.255.255.0
interface Serial0
ip address 192.168.128.63 255.255.255.252
router ospf 10
redistribute bgp 100 metric 2000 subnets
passive-interface Serial0
network 192.168.203.25 0.0.255.255 area 0
network 172.31.10.0 0.0.255.255 area 0
router bgp 100
network 192.168.203.25 mask 255.255.0.0
neighbor 172.31.63.250 remote-as 200
neighbor 192.168.250.2 remote-as 100
neighbor 192.168.250.2 update-source Loopback0
يبدو جدول التوجيه كما يلي:
RTB#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * -
candidate default
Gateway of last resort is not set
O E2 192.168.10.10 [110/2000] via 172.16.15.250, 00:00:14, Serial0
O E2 192.168.211.10 [110/2000] via 172.16.15.250, 00:00:14, Serial0
O E2 192.168.10.0 [110/2000] via 172.16.15.250, 00:00:14, Serial0
192.168.203.13 is variably subnetted, 2 subnets, 2 masks
O 192.168.203.250 255.255.255.255
[110/75] via 172.16.15.250, 00:00:15, Serial0
O E2 192.168.203.13 255.255.255.0
[110/2000] via 172.16.15.250, 00:00:15, Serial0
192.168.250.15 255.255.255.252 is subnetted, 2 subnets
C 172.31.250.8 is directly connected, Loopback1
C 192.168.250.15 is directly connected, Serial0
O 192.168.250.14 [110/74] via 172.16.15.250, 00:00:15, Serial0
172.31.10.0 is variably subnetted, 2 subnets, 2 masks
O E2 172.31.10.0 255.255.0.0 [110/2000] via 172.16.15.250,
00:00:15,Serial0
O 192.168.213.63 255.255.255.252
[110/138] via 172.16.15.250, 00:00:16, Serial0
اختفت إدخالات BGP لأن مسافة OSPF أفضل من iBGP. تبلغ مسافة OSPF 110، بينما تبلغ مسافة iBGP 200.
قم بإيقاف تشغيل المزامنة على RTA حتى يتمكن RTA من الإعلان عن 192.168.250.15. هذا الإجراء ضروري لأن RTA لا يتزامن مع OSPF بسبب الاختلاف في الأقنعة. استمر في إيقاف المزامنة على RTB حتى يتمكن RTB من الإعلان عن 192.168.203.13. هذا الإجراء ضروري على RTB للسبب نفسه.
والآن، اعرض واجهة RTB s1 لترى كيف تبدو المسارات. أيضًا، قم بتمكين OSPF على التسلسل 1 من RTB لجعله خاملًا. تسمح هذه الخطوة لـ RTA بمعرفة الخطوة التالية 192.168.10.5 عبر IGP. إذا لم تقم بهذه الخطوة، فستنشأ حلقات التوجيه لأنه من أجل الوصول إلى الخطوة التالية 192.168.10.5، ستحتاج إلى الانتقال إلى الاتجاه الآخر عبر eBGP. وهذه هي التكوينات الجديدة لكل من RTA وRTB:
RTA#
hostname RTA
ip subnet-zero
interface Loopback0
ip address 192.168.203.250 255.255.255.0
interface Ethernet0
ip address 192.168.203.14 255.255.255.0
interface Serial0
ip address 192.168.128.63 255.255.255.252
router ospf 10
redistribute bgp 100 metric 2000 subnets
passive-interface Serial0
network 192.168.203.25 0.0.255.255 area 0
network 172.31.10.0 0.0.255.255 area 0
router bgp 100
no synchronization
network 192.168.203.13
network 192.168.250.14
neighbor 172.31.63.250 remote-as 200
neighbor 192.168.250.2 remote-as 100
neighbor 192.168.250.2 update-source Loopback0
RTB#
hostname RTB
ip subnet-zero
interface Serial0
ip address 192.168.250.2 255.255.255.252
interface Serial1
ip address 192.168.10.6 255.255.255.252
router ospf 10
redistribute bgp 100 metric 1000 subnets
passive-interface Serial1
network 192.168.203.25 0.0.255.255 area 0
network 192.168.208.0 0.0.255.255 area 0
router bgp 100
no synchronization
network 192.168.250.15
neighbor 192.168.10.5 remote-as 300
neighbor 192.168.203.250 remote-as 100
تبدو جداول BGP كما يلي:
RTA#show ip bgp
BGP table version is 117, local router ID is 192.168.203.250
Status codes: s suppressed, d damped, h history, * valid, > best,
i -internal Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.31.10.0 172.31.63.250 0 0 200 i
*>i192.168.10.0 192.168.10.5 0 100 0 300 i
*>i192.168.211.10 192.168.10.5 100 0 300 500 i
* 172.31.63.250 0 200 400 500 i
*> 192.168.10.10 172.31.63.250 0 200 400 i
*> 192.168.203.13 0.0.0.0 0 32768 i
*> 192.168.250.14 0.0.0.0 0 32768 i
*>i192.168.250.15 192.168.250.2 0 100 0 i
RTB#show ip bgp
BGP table version is 12, local router ID is 172.16.15.2500
Status codes: s suppressed, d damped, h history, * valid, > best,
i -internal Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>i172.31.10.0 172.31.63.250 0 100 0 200 i
* 192.168.10.5 0 300 500 400
200 i
*> 192.168.10.0 192.168.10.5 0 0 300 i
*> 192.168.211.10 192.168.10.5 0 300 500 i
*>i192.168.10.10 172.31.63.250 100 0 200 400 i
* 192.168.10.5 0 300 500 400 i
*>i192.168.203.13 192.168.203.250 0 100 0 i
*>i192.168.250.14 192.168.203.250 0 100 0 i
*> 192.168.250.15 0.0.0.0 0 32768 i
هناك طرق متعددة لتصميم شبكتك للحديث مع مزودي خدمة الإنترنت المختلفين، AS200 و AS300. تتمثل أولاهما في توفر مزود خدمة إنترنت (ISP) أساسي وموفر خدمة إنترنت (ISP) إحتياطي. يمكنك معرفة المسارات الجزئية من أحد مزودي خدمة الإنترنت والمسارات الافتراضية إلى كل من مزودي خدمة الإنترنت. في هذا المثال، تتلقى مسارات جزئية من AS200 ومسارات محلية فقط من AS300. يقوم كل من RTA و RTB بإنشاء المسارات الافتراضية إلى OSPF، مع RTB كتفضيل بسبب المقياس الأدنى. وبهذه الطريقة، يمكنك موازنة حركة المرور الصادرة بين مزودي خدمة الإنترنت.
يمكن أن يحدث عدم تناسق محتمل إذا عادت حركة المرور التي تخرج من RTA عبر RTB. يمكن أن يحدث هذا الموقف إذا كنت تستخدم نفس تجمع عناوين IP، نفس الشبكة الرئيسية، عند التحدث إلى مزودي خدمة الإنترنت (ISP). نظرًا للتجميع، يمكن أن يبدو النظام المستقل بالكامل وكأنه كيان واحد كامل للعالم الخارجي. يمكن أن تنشأ نقاط الدخول إلى شبكتك عبر RTA أو RTB. يمكنك اكتشاف أن جميع حركات المرور الواردة إلى النظام المستقل تصل عبر نقطة واحدة، على الرغم من أن لديك نقاط متعددة إلى الإنترنت. في المثال، لديك شبكتان رئيسيتان مختلفتان عند التحدث إلى مزوديّ خدمة الإنترنت.
هناك سبب محتمل آخر لعدم التماثل وهو اختلاف طول المسار المعلن عنه للوصول إلى النظام المستقل .(AS) وربما يكون مقدم خدمة ما أقرب إلى وجهة معينة من غيره. في المثال، حركة المرور من AS400 التي تحتوي على شبكتك كوجهة تأتي دائمًا عبر RTA بسبب المسار الأقصر. يمكنك محاولة إنفاذ هذا القرار. يمكنك استخدام الأمر set as-path قبل إضافة أرقام المسار إلى تحديثاتك وجعل طول المسار يبدو أطول. ولكن، باستخدام سمات مثل التفضيل المحلي، القياس، أو الوزن، يمكن أن يكون AS400 قد ضبط نقطة الخروج على AS200. في هذه الحالة، ليس هناك ما يمكنك القيام به.
هذا التكوين هو التكوين النهائي لجميع الموجّهات:
RTA#
hostname RTA
ip subnet-zero
interface Loopback0
ip address 192.168.203.250 255.255.255.0
interface Ethernet0
ip address 192.168.203.14 255.255.255.0
interface Serial0
ip address 192.168.128.63 255.255.255.252
router ospf 10
redistribute bgp 100 metric 2000 subnets
passive-interface Serial0
network 192.168.203.25 0.0.255.255 area 0
network 172.31.10.0 0.0.255.255 area 0
default-information originate metric 2000
router bgp 100
no synchronization
network 192.168.203.13
network 192.168.250.14
neighbor 172.31.63.250 remote-as 200
neighbor 172.31.63.250 route-map setlocalpref in
neighbor 192.168.250.2 remote-as 100
neighbor 192.168.250.2 update-source Loopback0
ip classless
ip default-network 172.31.200.200
route-map setlocalpref permit 10
set local-preference 200
في RTA، التفضيل المحلي للمسارات التي تأتي من AS200 معين إلى 200. أيضا، الشبكة 172.31.200.200 هي الخيار للمرشح الافتراضي. يتيح لك الأمر ip default-network اختيار الوضع الافتراضي.
أيضًا في هذا المثال، يؤدي استخدام الأمر default-information originate مع بروتوكول OSPF إلى إدخال المسار الافتراضي داخل مجال OSPF. يستخدم هذا المثال أيضًا هذا الأمر مع بروتوكول النظام الوسيط إلى بروتوكول النظام الوسيط (بروتوكول IS-IS) وBGP. بالنسبة لـ RIP، يوجد إعادة توزيع تلقائية في RIP بقيمة 0.0.0.0، بدون تكوين إضافي. بالنسبة إلى IGRP وEIGRP، يحدث إدخال المعلومات الافتراضية في مجال IGP بعد إعادة توزيع BGP في IGRP وEIGRP. أيضًا، باستخدام IGRP وEIGRP، يمكنك إعادة توزيع مسار ثابت إلى 0.0.0.0 في مجال IGP.
RTF#
hostname RTF
ip subnet-zero
interface Ethernet0
ip address 172.31.14.250 255.255.255.0
interface Serial1
ip address 172.16.15.250 255.255.255.252
router ospf 10
network 192.168.203.25 0.0.255.255 area 0
ip classless
RTB#
hostname RTB
ip subnet-zero
interface Loopback1
ip address 172.16.15.2500 255.255.255.252
interface Serial0
ip address 192.168.250.2 255.255.255.252
!
interface Serial1
ip address 192.168.10.6 255.255.255.252
router ospf 10
redistribute bgp 100 metric 1000 subnets
passive-interface Serial1
network 192.168.203.25 0.0.255.255 area 0
network 192.168.10.6 0.0.0.0 area 0
default-information originate metric 1000
!
router bgp 100
no synchronization
network 192.168.250.15
neighbor 192.168.10.5 remote-as 300
neighbor 192.168.10.5 route-map localonly in
neighbor 192.168.203.250 remote-as 100
!
ip classless
ip default-network 192.168.10.0
ip as-path access-list 1 permit ^300$
route-map localonly permit 10
match as-path 1
set local-preference 300
بالنسبة ل RTB، تم تعيين التفضيل المحلي للتحديثات الواردة من AS300 إلى 300. هذه القيمة أعلى من قيمة التفضيل المحلي لتحديثات iBGP التي تأتي من RTA. بهذه الطريقة، تختار AS100 RTB للطرق المحلية ل AS300. أي مسارات أخرى على RTB، في حالة وجود مسارات أخرى، قم بالنقل داخليا مع تفضيل محلي يبلغ 100. هذه القيمة أقل من التفضيل المحلي ل 200، والذي يأتي من RTA. RTA هو التفضيل.
ملاحظة: لقد قمت بالإعلان عن الموجهات المحلية طراز AS300 فقط. أي معلومات مسار لا تتطابق ^300$ سوف تسقط. إذا كنت ترغب في الإعلان عن المسارات المحلية والمسارات المجاورة، والتي تُمثل عملاء ISP، فاستخدم ^300_[0-9]*.
فيما يلي إخراج التعبير العادي الذي يشير إلى مسارات AS300 المحلية:
RTB#show ip bgp regexp ^300$
BGP table version is 14, local router ID is 172.16.15.2500
Status codes: s suppressed, d damped, h history, * valid, > best, i -
internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.10.0 192.168.10.5 0 300 0 300
RTC#
hostname RTC
ip subnet-zero
interface Loopback0
ip address 192.168.128.6330 255.255.255.192
interface Serial2/0
ip address 172.16.31.5 255.255.255.252
!
interface Serial2/1
ip address 172.31.63.250 255.255.255.252
router bgp 200
network 172.31.10.0
neighbor 192.168.128.63 remote-as 100
neighbor 192.168.128.63 distribute-list 1 out
neighbor 172.31.63.213 remote-as 400
ip classless
access-list 1 deny 192.168.211.0 0.0.255.255
access-list 1 permit any
في RTC، أنت تجمع 172.31.10.0/16 وتشير إلى المسارات المحددة لحقن AS100. إذا رفض مزود خدمة الإنترنت (ISP) القيام بهذه المهمة، فيجب عليك التصفية على الطرف الوارد من AS100.
RTD#
hostname RTD
ip subnet-zero
interface Loopback0
ip address 192.168.208.174 255.255.255.192
!
interface Serial0/0
ip address 192.168.10.5 255.255.255.252
!
interface Serial0/1
ip address 192.168.10.2 255.255.255.252
router bgp 300
network 192.168.10.0
neighbor 192.168.10.1 remote-as 500
neighbor 192.168.10.6 remote-as 100
RTG#
hostname RTG
ip subnet-zero
interface Loopback0
ip address 192.168.211.19574 255.255.255.192
interface Serial0
ip address 192.168.10.1 255.255.255.252
interface Serial1
ip address 192.168.211.195 255.255.255.252
router bgp 500
network 192.168.211.10
aggregate-address 192.168.211.0 255.255.0.0 summary-only
neighbor 192.168.10.2 remote-as 300
neighbor 192.168.10.2 send-community
neighbor 192.168.10.2 route-map setcommunity out
neighbor 192.168.195.211 remote-as 400
!
ip classless
access-list 1 permit 192.168.211.0 0.0.255.255
access-list 2 permit any
route-map setcommunity permit 20
match ip address 2
!
route-map setcommunity permit 10
match ip address 1
set community no-export
و يوجد توضيح لكيفية إستخدام ترشيح المجتمع على شاشة أر تي جي. يمكنك إضافة
no-export مجتمع إلى تحديثات 192.168.211.0 الخاصة ب RTD. وبهذه الطريقة، لا يقوم المُوجّه RTD بتصدير هذا المسار إلى المُوجّه RTB. ومع ذلك، في هذه الحالة، لا يقبل المُوجّه RTB هذه المسارات على أي حال.
RTE#
hostname RTE
ip subnet-zero
interface Loopback0
ip address 192.168.200.10 255.255.255.0
interface Serial0
ip address 192.168.195.211 255.255.255.252
interface Serial1
ip address 172.31.63.213 255.255.255.252
router bgp 400
network 192.168.10.10
aggregate-address 172.31.200.200 255.255.0.0 summary-only
neighbor 172.16.31.5 remote-as 200
neighbor 192.168.211.195 remote-as 500
ip classless
يبلغ RTE الإجمالي 172.31.200.200/16. فيما يلي BGP النهائي وجداول التوجيه ل RTA و RTF و RTB:
RTA#show ip bgp
BGP table version is 21, local router ID is 192.168.203.250
Status codes: s suppressed, d damped, h history, * valid, > best, i -
internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.31.10.0 172.31.63.250 0 200 0 200 i
*>i192.168.10.0 192.168.10.5 0 300 0 300 i
*> 172.31.200.200/16 172.31.63.250 200 0 200 400 i
*> 192.168.203.13 0.0.0.0 0 32768 i
*> 192.168.250.14 0.0.0.0 0 32768 i
*>i192.168.250.15 192.168.250.2 0 100 0 i
RTA#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * -
candidate default
Gateway of last resort is 172.31.63.250 to network 172.31.200.200
192.168.10.0 is variably subnetted, 2 subnets, 2 masks
O E2 192.168.10.0 255.255.255.0
[110/1000] via 172.31.14.250, 00:41:25, Ethernet0
O 192.168.10.4 255.255.255.252
[110/138] via 172.31.14.250, 00:41:25, Ethernet0
C 192.168.203.13 is directly connected, Loopback0
192.168.250.15 is variably subnetted, 3 subnets, 3 masks
O 172.16.15.2500 255.255.255.255
[110/75] via 172.31.14.250, 00:41:25, Ethernet0
O 192.168.250.15 255.255.255.252
[110/74] via 172.31.14.250, 00:41:25, Ethernet0
B 192.168.250.15 255.255.255.0 [200/0] via 192.168.250.2, 00:41:25
C 192.168.250.14 is directly connected, Ethernet0
172.31.10.0 is variably subnetted, 2 subnets, 2 masks
B 172.31.10.0 255.255.0.0 [20/0] via 172.31.63.250, 00:41:26
C 192.168.213.63 255.255.255.252 is directly connected, Serial0
O*E2 0.0.0.0/0 [110/1000] via 172.31.14.250, Ethernet0/0
B* 172.31.200.200 255.255.0.0 [20/0] via 172.31.63.250, 00:02:38
RTF#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * -
candidate default
Gateway of last resort is 192.168.250.2 to network 0.0.0.0
192.168.10.0 is variably subnetted, 2 subnets, 2 masks
O E2 192.168.10.0 255.255.255.0
[110/1000] via 192.168.250.2, 00:48:50, Serial1
O 192.168.10.4 255.255.255.252
[110/128] via 192.168.250.2, 01:12:09, Serial1
192.168.203.13 is variably subnetted, 2 subnets, 2 masks
O 192.168.203.250 255.255.255.255
[110/11] via 192.168.203.14, 01:12:09, Ethernet0
O E2 192.168.203.13 255.255.255.0
[110/2000] via 192.168.203.14, 01:12:09, Ethernet0
192.168.250.15 is variably subnetted, 2 subnets, 2 masks
O 172.16.15.2500 255.255.255.255
[110/65] via 192.168.250.2, 01:12:09, Serial1
C 192.168.250.15 255.255.255.252 is directly connected, Serial1
C 192.168.250.14 is directly connected, Ethernet0
172.31.10.0 is variably subnetted, 2 subnets, 2 masks
O E2 172.31.10.0 255.255.0.0
[110/2000] via 192.168.203.14, 00:45:01, Ethernet0
O 192.168.213.63 255.255.255.252
[110/74] via 192.168.203.14, 01:12:11, Ethernet0
O E2 172.31.200.200 255.255.0.0 [110/2000] via 192.168.203.14, 00:03:47, Ethernet0
O*E2 0.0.0.0 0.0.0.0 [110/1000] via 192.168.250.2, 00:03:33, Serial1
ملاحظة: يشير جدول توجيه RTF إلى أن طريقة الوصول إلى الشبكات المحلية إلى AS300، مثل 192.168.10.0، هي من خلال RTB. طريقة الوصول إلى الشبكات الأخرى المعروفة، مثل 172.31.200.200، تتم من خلال المُوجّه RTA. تم تعيين عبّارة الملاذ الأخير إلى المُوجّه RTB. إذا حدث شيء ما للاتصال بين RTB وRTD، فإن القيمة الافتراضية التي يعلن عنها RTA تبدأ بقياس 2000.
RTB#show ip bgp
BGP table version is 14, local router ID is 172.16.15.2500
Status codes: s suppressed, d damped, h history, * valid, > best, i -
internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>i172.31.10.0 172.31.63.250 0 200 0 200 i
*> 192.168.10.0 192.168.10.5 0 300 0 300 i
*>i172.31.200.200/16 172.31.63.250 200 0 200 400 i
*>i192.168.203.13 192.168.203.250 0 100 0 i
*>i192.168.250.14 192.168.203.250 0 100 0 i
*> 192.168.250.15 0.0.0.0 0 32768 i
RTB#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * -
candidate default
Gateway of last resort is 192.168.10.5 to network 192.168.10.0
* 192.168.10.0 is variably subnetted, 2 subnets, 2 masks
B* 192.168.10.0 255.255.255.0 [20/0] via 192.168.10.5, 00:50:46
C 192.168.10.4 255.255.255.252 is directly connected, Serial1
192.168.203.13 is variably subnetted, 2 subnets, 2 masks
O 192.168.203.250 255.255.255.255
[110/75] via 172.16.15.250, 01:20:33, Serial0
O E2 192.168.203.13 255.255.255.0
[110/2000] via 172.16.15.250, 01:15:40, Serial0
192.168.250.15 255.255.255.252 is subnetted, 2 subnets
C 172.31.250.8 is directly connected, Loopback1
C 192.168.250.15 is directly connected, Serial0
O 192.168.250.14 [110/74] via 172.16.15.250, 01:20:33, Serial0
172.31.10.0 is variably subnetted, 2 subnets, 2 masks
O E2 172.31.10.0 255.255.0.0 [110/2000] via 172.16.15.250, 00:46:55, Serial0
O 192.168.213.63 255.255.255.252
[110/138] via 172.16.15.250, 01:20:34, Serial0
O*E2 0.0.0.0/0 [110/2000] via 172.16.15.250, 00:08:33, Serial0
O E2 172.31.200.200 255.255.0.0 [110/2000] via 172.16.15.250, 00:05:42, Serial0
معلومات ذات صلة
- BGP: الأسئلة المتكررة
- نماذج تكوينات BGP عبر جدار حماية PIX
- كيفية استخدام بروتوكول HSRP لتوفير التكرار في شبكة بروتوكول العبّارة الحدودية (BGP) متعددة الاتصال
- تكوين تكرار وضع الموجه الواحد و BGP على Cat6000 MSFC
- تحقيق التوجيه الأمثل وتقليل استهلاك ذاكرة BGP
- أستكشاف مشاكل BGP الشائعة وإصلاحها
- أستكشاف أخطاء وحدة المعالجة المركزية (CPU) العالية وإصلاحها بسبب عملية ماسح BGP الضوئي أو الموجه
- فهم مشاركة الحمل مع بروتوكول العبّارة الحدودية (BGP) في بيئات فردية ومتعددة الاتصال
- صفحة دعم بروتوكول العبّارة الحدودية (BGP)
- الدعم التقني والمحدودين من Cisco
المراجعة | تاريخ النشر | التعليقات |
---|---|---|
4.0 |
08-Jun-2023 |
تم إستبدال جميع PII، ويتم تحديث جميع الصور لإزالة PII، والمقالة المنسقة وتنبيهات CCW الثابتة. إعادة الاعتماد. |
3.0 |
17-Mar-2023 |
تم إستبدال كافة PII والمقالة المنسقة وتنبيهات CCW الثابتة. إعادة الاعتماد. |
1.0 |
27-Aug-2002 |
الإصدار الأولي |