المقدمة
تصف هذه المقالة كيفية تصفية بادئات بروتوكول العبارة الحدودية (BGP) باستخدام أرقام النظام الذاتي (AS) ذات 4 بايت في نظام Cisco IOS®.
معلومات أساسية
تم إدخال أرقام AS ذات 4 بايت في بروتوكول بوابة الحدود (BGP) عندما أصبح تجمع الأرقام ذات 2 بايت مجانا منخفضا. وهذا يعني أن رقم AS يمكن أن يكون الآن رقم 2 بايت أو 4 بايت. يحدد RFC 6793 بايت كأرقام. الرقم 2 بايت هو عدد يتراوح بين 1 و 65535. ويبلغ عدد وحدات البايت AS 4 عددا يتراوح بين 1 و 4،294،967،295.
يمكن تمثيل رقم AS المكون من 4 بايت بطريقة منقطة أو كرقم عادي. والمثال على الرقم المنقط 4 بايت هو 7.52359. هذه هي نقطة النوتون. مثال على رقم عادي مكون من 4 بايت هو 51111. هذا هو سهل تدوين AS. 7. 52359 هو نفسه 511111.
يمكن لموجه Cisco IOS إستخدام إما كتدوين. الإعداد الافتراضي في أحدث إصدارات Cisco IOS سهل. لاستخدام النقاط المنقطة كتدوين، يمكن إستخدام الأمر bgp asnotation dot.
إذا كان مسؤول الشبكة لا يريد لأي سبب إرسال بادئات BGP ذات أرقام ذات 4 بايت أو أكثر في مسار AS نحو نظير BGP خارجي (eBGP)، فيمكن تصفية هذه البادئات. يوفر هذا المستند عامل تصفية ممكنا واحدا لتحقيق ذلك. قد تكون هناك بعض الأسباب التي قد تجعلك لا تريد أن يرسل مكبر صوت BGP بادئات BGP ذات أرقام ذات 4 بايت في مسار AS. وقد يكون أحد الأمثلة على ذلك وجود عيب على مكبر صوت BGP المستقبل ينتج عنه سلوك معاكس، والذي يحدث فقط لبادئات BGP ذات أرقام AS ذات 4 بايت في مسار AS.
عامل تصفية رقم AS مكون من 4 بايت
ملاحظة: يمكن إستخدام عامل التصفية الموجود في هذا القسم فقط عند تشغيل BGP على الموجه في وضع نقطة التفاوض.
يمكن أن يقوم هذا المرشح بتصفية البادئات باستخدام مسارات AS التي تحتوي على واحد أو أكثر من 4 بايت كأرقام.
router bgp 1
bgp asnotation dot
neighbor 10.1.1.2 remote-as 2
address-family ipv4
neighbor 10.1.1.2 activate
neighbor 10.1.1.2 filter-list 1 out
ip as-path access-list 1 deny .*[0-9]+\.[0-9]+.*
ip as-path access-list 1 permit .*
فيما يلي فحص لهذا المرشح.
- [0-9] يعني أي رقم.
- + يعني تكرار واحد أو أكثر. إذا [0-9]+ يعني أي رقم، لأنه يمكن أن يكون هناك أرقام متعددة موجودة.
- \. يعني أن . (نقطة). هناك حاجة إلى شرطة مائلة عكسية للتأكد من أن الموجه لا يعامل النقطة كحرف خاص ولكنه يعاملها كنقطة. . حرف خاص والوسيلة مطابقة أي حرف (حرف البدل).
- * يعني مطابقة صفر أو أكثر من السابقة. إذا، .*يعني مطابقة أي شيء.
- عامل التصفية الكامل .*[0-9]+\.[0-9]+.* يعني أي شيء بنقطة فيه.
فيما يلي مثال:
يستلم الموجه 1 (R1) ثماني بادئات في BGP. بادئة BGP 10.100.1.1/32 هي البادئة الوحيدة مع مسار AS الذي يتكون من 2 بايت فقط كأرقام. تحتوي جميع بادئات BGP الأخرى على رقم أو أكثر 4 بايت في مسار AS.
R1#show bgp ipv4 unicast
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.100.1.1/32 10.1.3.4 0 0 4 100 200 300 i
*> 10.100.1.2/32 10.1.3.4 0 0 4 1.34464 3.3392 4.37856 i
*> 10.100.1.3/32 10.1.3.4 0 0 4 1.34464 200 4.37856 i
*> 10.100.1.4/32 10.1.3.4 0 0 4 500 4.37856 600 ?
*> 10.100.1.5/32 10.1.3.4 0 0 4 7.41248 3200 400 65000 ?
*> 10.100.1.6/32 10.1.3.4 0 0 4 50 3200 400 9.60176 ?
*> 10.100.1.7/32 10.1.3.4 0 0 4 66 1.57464 77 5.17320 99 ?
*> 10.100.1.8/32 10.1.3.4 0 0 4 7.52359 99 66 99 5.18307
3.37515 99 66 3.37515 99 ?
يعلن R1 فقط عن البادئات دون أي رقم AS مكون من 4 بايت في مسار AS تجاه نظير BGP 10.1.1.2.
R1#show bgp ipv4 unicast neighbors 10.1.1.2 advertised-routes
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.100.1.1/32 10.1.3.4 0 0 4 100 200 300 i
Total number of prefixes 1
يمكنك التحقق من صحة عامل التصفية .*[0-9]+\.[0-9]+.* المرشحات من جدول BGP باستخدام الأمر show ip bgp regexp:
R1#show ip bgp regexp .*[0-9]+\.[0-9]+.*
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.100.1.2/32 10.1.3.4 0 0 4 1.34464 3.3392 4.37856 i
*> 10.100.1.3/32 10.1.3.4 0 0 4 1.34464 200 4.37856 i
*> 10.100.1.4/32 10.1.3.4 0 0 4 500 4.37856 600 ?
*> 10.100.1.5/32 10.1.3.4 0 0 4 7.41248 3200 400 65000 ?
*> 10.100.1.6/32 10.1.3.4 0 0 4 50 3200 400 9.60176 ?
*> 10.100.1.7/32 10.1.3.4 0 0 4 66 1.57464 77 5.17320 99 ?
*> 10.100.1.8/32 10.1.3.4 0 0 4 7.52359 99 66 99 5.18307
3.37515 99 66 3.37515 99 ?
يقوم المرشح .*[0-9]+\.[0-9]+.* بتصفية جميع البادئات برقم واحد أو أكثر من 4 بايت في سمة مسار AS.
هذه طريقة أخرى للتحقق من ما يقوم المرشح بتصفيته من جدول BGP:
R1#show bgp ipv4 unicast filter-list 1
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.100.1.1/32 10.1.3.4 0 0 4 100 200 300 i
تلقى R2 البادئة 10.100.1.1/32 من R1 فقط بسبب عامل التصفية.
R2#show bgp ipv4 unicast
BGP table version is 6, local router ID is 10.1.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.100.1.1/32 10.1.1.1 0 1 4 100 200 300 i
تكوين بديل
هناك تكوين بديل لاستخدام خريطة مسار بدلا من قائمة عوامل التصفية:
router bgp 1
bgp asnotation dot
neighbor 10.1.1.2 remote-as 2
address-family ipv4
neighbor 10.1.1.2 route-map no-4byte out
ip as-path access-list 1 deny .*[0-9]+\.[0-9]+.*
ip as-path access-list 1 permit .*
route-map no-4byte permit 10
match as-path 1
وضع ASPLAIN
عند إزالة الأمر bgp asnotiation dot، وهو ما يعني أن التدوين ثابت، لم يعد الإخراج يعرض النقاط في الأرقام AS ذات 4 بايت. هذا المخرج هو نفسه كما هو موضح سابقا، ماعدا أن النقاط كأرقام أصبحت الآن بسيطة.
R1#show bgp ipv4 unicast
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.100.1.1/32 10.1.3.4 0 0 4 100 200 300 i
*> 10.100.1.2/32 10.1.3.4 0 0 4 100000 200000 300000 i
*> 10.100.1.3/32 10.1.3.4 0 0 4 100000 200 300000 i
*> 10.100.1.4/32 10.1.3.4 0 0 4 500 300000 600 ?
*> 10.100.1.5/32 10.1.3.4 0 0 4 500000 3200 400 65000 ?
*> 10.100.1.6/32 10.1.3.4 0 0 4 50 3200 400 650000 ?
*> 10.100.1.7/32 10.1.3.4 0 0 4 66 123000 77 345000 99 ?
*> 10.100.1.8/32 10.1.3.4 0 0 4 511111 99 66 99 345987
234123 99 66 234123 99 ?
لا يقوم أمر عرض BGP باستخدام التعبير العادي المستخدم في عامل التصفية على الموجه بتصفية البادئات مع نقطة في جدول BGP، نظرا لعدم وجود بادئات بتنسيق الرقم AS ذي 4 بايت المنقوط في جدول BGP. الأرقام AS ذات 4 بايت هي الآن بتنسيق عادي.
R1#show ip bgp regexp .*[0-9]+\.[0-9]+.*
R1#
يوضح أمر عرض BGP باستخدام filter-list أيضا أن عامل التصفية لا يعمل بينما الموجه في الوضع السهل:
R1#show bgp ipv4 unicast filter-list 1
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.100.1.1/32 10.1.3.4 0 0 4 100 200 300 i
*> 10.100.1.2/32 10.1.3.4 0 0 4 100000 200000 300000 i
*> 10.100.1.3/32 10.1.3.4 0 0 4 100000 200 300000 i
*> 10.100.1.4/32 10.1.3.4 0 0 4 500 300000 600 ?
*> 10.100.1.5/32 10.1.3.4 0 0 4 500000 3200 400 65000 ?
*> 10.100.1.6/32 10.1.3.4 0 0 4 50 3200 400 650000 ?
*> 10.100.1.7/32 10.1.3.4 0 0 4 66 123000 77 345000 99 ?
*> 10.100.1.8/32 10.1.3.4 0 0 4 511111 99 66 99 65509 56
100000 ?
لن يعمل عامل تصفية المسار:
R1#show bgp ipv4 unicast neighbors 10.1.1.2 advertised-routes
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.100.1.1/32 10.1.3.4 0 0 4 100 200 300 i
*> 10.100.1.2/32 10.1.3.4 0 0 4 100000 200000 300000 i
*> 10.100.1.3/32 10.1.3.4 0 0 4 100000 200 300000 i
*> 10.100.1.4/32 10.1.3.4 0 0 4 500 300000 600 ?
*> 10.100.1.5/32 10.1.3.4 0 0 4 500000 3200 400 65000 ?
*> 10.100.1.6/32 10.1.3.4 0 0 4 50 3200 400 650000 ?
*> 10.100.1.7/32 10.1.3.4 0 0 4 66 123000 77 345000 99 ?
*> 10.100.1.8/32 10.1.3.4 0 0 4 511111 99 66 99 65509 56
100000 ?
Network Next Hop Metric LocPrf Weight Path
Total number of prefixes 8
تصفية لوضع ASPLAIN
يمكن إستخدام عامل التصفية هذا عند تشغيل BGP على الموجه في الوضع السهل:
ip as-path access-list 4 deny _6553[6-9]_
ip as-path access-list 4 deny _655[4-9][0-9]_
ip as-path access-list 4 deny _65[6-9][0-9][0-9]_
ip as-path access-list 4 deny _[6][6-9][0-9][0-9][0-9]_
ip as-path access-list 4 deny _[7-9][0-9][0-9][0-9][0-9]_
ip as-path access-list 4 deny _[1-9][0-9][0-9][0-9][0-9][0-9]+_
ip as-path access-list 4 permit .*
أو، هنا نفس الشيء، ولكن أكثر ضيقا:
ip as-path access-list 4 deny _(6553[6-9]|655[4-9][0-9]|65[6-9][0-9][0-9]|6[6-9]
[0-9][0-9][0-9]|[7-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9]+)_
ip as-path access-list 4 permit .*
وبسبب عامل التصفية هذا، تتم تصفية أي رقم AS أعلى من 65.535. مرة أخرى، يمكن تطبيق هذا على جار BGP إذا كنت تستخدم filter-list أو خريطة مسار.
ملاحظة: لا تعمل التصفية في هذه المقالة على جلسة BGP داخلي (iBGP)، والتي تتضمن على عاكس مسار.