BGP Graceful Shutdown «BGP Labs

تصور کنید که باید تعمیر و نگهداری آپلینک اولیه را در سایت مهم ماموریت خود انجام دهید. میتوانید اتصال را خاموش کنید (یا روتر را خاموش کنید) و چند دقیقه صبر کنید تا اینترنت جهانی با تغییرات سازگار شود.یا می توانید کار درست را انجام دهید و سعی کنید قبل از خاموش کردن لینک اصلی، ترافیک را به لینک پشتیبان منتقل کنید.
تغییر مسیر ترافیک از یک اتصال برنامه ریزی شده برای تعمیر و نگهداری دارای دو جزء است:
- به همه افراد در سیستم خودمختار خود بگویید که از پیوند آسیبدیده استفاده نکنند، معمولاً با تنظیم ترجیح محلی BGP برای همه پیشوندهای دریافتی نسبت به آن پیوند، روی صفر.
- به ارائهدهنده بالادستی بگویید از اتصال استفاده نکند. RFC 8326 ابزار توصیه شده برای این کار را تعریف می کند: انجمن GRACEFUL_SHUTDOWN.
در این تمرین آزمایشگاهی، شما تغییرات پیکربندی مورد نیاز برای پشتیبانی از عملکرد خاموش کردن برازنده BGP را در روتر مشتری و ارائهدهنده پیادهسازی میکنید و روش خاموش کردن برازنده را آزمایش میکنید.
کارشناس
ما انتظار داریم که بیشتر تمرینات اولیه آزمایشگاهی را تکمیل کرده باشید و بدانید که چه کاری انجام می دهید. دستورالعمل های آزمایشگاه فقط حاوی راهنمایی های سطح بالا هستند.
تنظیمات روتر موجود
روترهای آزمایشگاه شما از اعداد BGP AS زیر استفاده می کنند. هر روتر یک پیشوند IPv4 را تبلیغ می کند.
| Node/ASN | شناسه روتر | پیشوندهای تبلیغاتی |
|---|---|---|
| AS65000 | ||
| c1 | 10.0.0.1 | 10.0.0.1/32 |
| c2 | 10.0.0.2 | 10.0.0.2/32 |
| AS65100 | ||
| x1 | 10.0.0.10 | 10.0.0.10/32 |
| x2 | 10.0.0.11 | 10.0.0.11/32 |
روترهایی که پیکربندی می کنید دارای همسایگان BGP زیر هستند:
| یک گره | شناسه روتر / همسایه |
روتر AS/ همسایه ع.س |
همسایه IPv4 |
|---|---|---|---|
| c1 | 10.0.0.1 | 65000 | |
| c2 | 65000 | 10.0.0.2 | |
| x1 | 65100 | 10.1.0.14 | |
| x1 | 10.0.0.10 | 65100 | |
| x2 | 65100 | 10.0.0.11 | |
| c1 | 65000 | 10.1.0.13 |
روترهایی که پیکربندی می کنید OSPF را در ستون فقرات با روترهای دیگر در همان سیستم مستقل اجرا می کنند:
| روتر | OSPF رابط |
آدرس IPv4 | همسایه ها) |
|---|---|---|---|
| c1 | Loopback | 10.0.0.1/32 | |
| اترنت 1 | 10.1.0.1/30 | c2 | |
| c2 | Loopback | 10.0.0.2/32 | |
| swp1 | 10.1.0.2/30 | c1 | |
| x1 | Loopback | 10.0.0.10/32 | |
| اترنت 2 | 10.1.0.9/30 | x2 | |
| x2 | Loopback | 10.0.0.11/32 | |
| swp3 | 10.1.0.10/30 | x1 |
netlab به طور خودکار تمام دستگاه های آزمایشگاهی را پیکربندی می کند. اگر از زیرساخت آزمایشگاه دیگری استفاده می کنید، باید C1 و X1 را به صورت دستی پیکربندی کنید.
آزمایشگاه را راه اندازی کنید
با فرض اینکه قبلا زیرساخت آزمایشگاه خود را راه اندازی کرده اید:
- تغییر دایرکتوری به
challenge/03-graceful-shutdown - اجرا کردن نت لب بالا (نیازمندی دستگاه، گزینه های دیگر)
- با استفاده از روترهای خود وارد شوید اتصال netlab و بررسی کنید که آدرس های IP و پروتکل های مسیریابی آنها به درستی پیکربندی شده است.
مشکل
وارد C1 و X1 شوید و جداول BGP آنها را بررسی کنید. با فرض اینکه دستگاههای شما از مقدار ترجیحی محلی پیشفرض 100 استفاده میکنند، آنها نباید از هیچ مسیری بین AS توزیع شده توسط C2 یا X2 استفاده کنند. این نسخه پرینت شده ای است که در C1 دارای Arista EOS اجرا می شود:
$ netlab connect c1 --show ip bgp
Connecting to clab-gshut-c1 using SSH port 22, executing show ip bgp
BGP routing table information for VRF default
Router identifier 10.0.0.1, local AS number 65000
Route status codes: s - suppressed contributor, * - valid, > - active, E - ECMP head, e - ECMP
S - Stale, c - Contributing to ECMP, b - backup, L - labeled-unicast
% - Pending best path selection
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI Origin Validation codes: V - valid, I - invalid, U - unknown
AS Path Attributes: Or-ID - Originator ID, C-LST - Cluster List, LL Nexthop - Link Local Nexthop
Network Next Hop Metric AIGP LocPref Weight Path
* > 10.0.0.1/32 - - - - 0 i
* > 10.0.0.2/32 10.0.0.2 0 - 100 0 i
* > 10.0.0.10/32 10.1.0.14 0 - 100 0 65100 i
* > 10.0.0.11/32 10.1.0.14 0 - 100 0 65100 i
از سوی دیگر، C2 و X2 مسیرهای IBGP تبلیغ شده توسط C1 و X1 را ترجیح می دهند. این چاپی است که در C2 دارای لینوکس کومولوس دریافت خواهید کرد:
$ netlab connect c2 --show ip bgp
Connecting to container clab-gshut-c2, executing sudo vtysh -c "show ip bgp"
BGP table version is 6, local router ID is 10.0.0.2, vrf id 0
Default local pref 100, local AS 65000
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, i10.0.0.1/32 10.0.0.1 100 0 i
*> 10.0.0.2/32 0.0.0.0 0 32768 i
* 10.0.0.10/32 10.1.0.6 50 0 65100 i
*>i 10.0.0.1 100 0 65100 i
*>i10.0.0.11/32 10.0.0.1 100 0 65100 i
* 10.1.0.6 0 50 0 65100 i
Displayed 4 routes and 6 total paths
خاموش کردن پیوند C1-X1 باعث قطعی در سراسر آزمایشگاه می شود تا زمانی که جلسه BGP بین C1 و X1 حذف شود و روترها جداول BGP خود را به روز کنند. از آنجایی که از تایمرهای BFD یا کاهش یافته BGP استفاده نمی کنید، همگرایی شبکه می تواند تا سه دقیقه طول بکشد.
وظایف پیکربندی
RFC 8326 جامعه BGP Graceful Shutdown را تعریف میکند، که میتوانید از آن برای تخلیه ترافیک از یک اتصال قبل از حذف آن برای تعمیر و نگهداری استفاده کنید. روترهایی که از رویههای این RFC استفاده میکنند باید اولویت محلی BGP را روی پیشوندهایی تنظیم کنند که دارای جامعه GRACEFUL_SHUTDOWN هستند. کم ارزش
برخی از فروشندگان (به عنوان مثال Arista) جامعه GRACEFUL_SHUTDOWN را بدون پیکربندی اضافی تشخیص می دهند و اولویت محلی BGP را روی صفر تنظیم می کنند. در دستگاه های دیگر باید ایجاد کنید:
- یک نقشه مسیر را در X1 پیکربندی کنید که با جامعه GRACEFUL_SHUTDOWN مطابقت داشته باشد و اولویت محلی BGP را تا حد امکان پایین تنظیم کند.
- نقشه مسیر را برای تمام جلسات EBGP اعمال کنید.
قبل از شروع فرآیند تعمیر و نگهداری، روتر مشتری (C1) باید:
- انجمن GRACEFUL_SHUTDOWN را برای همه بهروزرسانیهای EBGP تنظیم کنید
- اولویت محلی را برای همه بهروزرسانیهای EBGP ورودی به پایینترین سطح ممکن تنظیم کنید.
برخی از فروشندگان (به عنوان مثال Arista) اجرا کرده اند حالت نگهداری BGP که این وظایف را به صورت خودکار انجام می دهد. در دستگاه های دیگر باید:
- یک نقشه مسیر خروجی را پیکربندی کنید که انجمن GRACEFUL_SHUTDOWN را تنظیم کند
- یک نقشه مسیر ورودی را پیکربندی کنید که اولویت BGP محلی را صفر میکند
- قبل از قطع اتصال C1-X1، هر دو نقشه مسیر را در جلسه EBGP با X1 اعمال کنید.
نکته
جزئیات بیشتر را در این آزمایشگاه ها خواهید یافت:
چک کردن
پس از پیکربندی و اعمال نقشههای مسیر در C1 و X1، جدول BGP C1 باید شامل مسیرهایی باشد که توسط X1 (با اولویت محلی تنظیم شده روی مقدار بسیار کم) و مسیرهایی که توسط C2 (با اولویت محلی بالاتر) تبلیغ میشوند. C1 باید مسیرهایی را به AS 65100 که توسط C2 تبلیغ می شود ترجیح دهد:
c1>show ip bgp
BGP routing table information for VRF default
Router identifier 10.0.0.1, local AS number 65000
Route status codes: s - suppressed contributor, * - valid, > - active, E - ECMP head, e - ECMP
S - Stale, c - Contributing to ECMP, b - backup, L - labeled-unicast
% - Pending best path selection
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI Origin Validation codes: V - valid, I - invalid, U - unknown
AS Path Attributes: Or-ID - Originator ID, C-LST - Cluster List, LL Nexthop - Link Local Nexthop
Network Next Hop Metric AIGP LocPref Weight Path
* > 10.0.0.1/32 - - - - 0 i
* > 10.0.0.2/32 10.0.0.2 0 - 100 0 i
* > 10.0.0.10/32 10.0.0.2 0 - 50 0 65100 i
* 10.0.0.10/32 10.1.0.14 0 - 0 0 65100 i
* > 10.0.0.11/32 10.0.0.2 0 - 50 0 65100 i
* 10.0.0.11/32 10.1.0.14 0 - 0 0 65100 i
به همین ترتیب، X1 باید مسیرهایی را به AS 65100 که توسط X2 تبلیغ می شود ترجیح دهد:
x1>show ip bgp
BGP routing table information for VRF default
Router identifier 10.0.0.10, local AS number 65100
Route status codes: s - suppressed contributor, * - valid, > - active, E - ECMP head, e - ECMP
S - Stale, c - Contributing to ECMP, b - backup, L - labeled-unicast
% - Pending best path selection
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI Origin Validation codes: V - valid, I - invalid, U - unknown
AS Path Attributes: Or-ID - Originator ID, C-LST - Cluster List, LL Nexthop - Link Local Nexthop
Network Next Hop Metric AIGP LocPref Weight Path
* > 10.0.0.1/32 10.0.0.11 0 - 50 0 65000 i
* 10.0.0.1/32 10.1.0.13 0 - 0 0 65000 i
* > 10.0.0.2/32 10.0.0.11 0 - 50 0 65000 i
* 10.0.0.2/32 10.1.0.13 0 - 0 0 65000 i
* > 10.0.0.10/32 - - - - 0 i
* > 10.0.0.11/32 10.0.0.11 0 - 100 0 i
اطلاعات مرجع
این آزمایشگاه از زیرمجموعه ای از توپولوژی آزمایشگاهی 4 روتر استفاده می کند. اگر قصد دارید یک زیرساخت آزمایشگاهی سفارشی بسازید، اطلاعات زیر ممکن است به شما کمک کند:
الزامات دستگاه
سیم کشی آزمایشگاه
| نام اتصال | دستگاه اولیه | بندر مبدا | دستگاه هدف | بندر مقصد |
|---|---|---|---|---|
| اتصال مشتری داخلی | c1 | اترنت 1 | c2 | swp1 |
| لینک استفاده نشده | c1 | اترنت 2 | x2 | swp1 |
| C2 لینک کنید | c2 | swp2 | x2 | swp2 |
| لینک استفاده نشده | x1 | اترنت 1 | c2 | swp3 |
| اتصال بین ISPها | x1 | اترنت 2 | x2 | swp3 |
| C1 لینک کنید | c1 | اترنت 3 | x1 | اترنت 3 |
آدرس دهی آزمایشگاه
| گره/رابط | آدرس IPv4 | آدرس IPv6 | شرح |
|---|---|---|---|
| c1 | 10.0.0.1/32 | Loopback | |
| اترنت 1 | 10.1.0.1/30 | اتصال مشتری داخلی | |
| اترنت 2 | لینک استفاده نشده | ||
| اترنت 3 | 10.1.0.13/30 | C1 لینک کنید | |
| c2 | 10.0.0.2/32 | Loopback | |
| swp1 | 10.1.0.2/30 | اتصال مشتری داخلی | |
| swp2 | 10.1.0.5/30 | C2 لینک کنید | |
| swp3 | لینک استفاده نشده | ||
| x1 | 10.0.0.10/32 | Loopback | |
| اترنت 1 | لینک استفاده نشده | ||
| اترنت 2 | 10.1.0.9/30 | اتصال بین ISP ها | |
| اترنت 3 | 10.1.0.14/30 | C1 لینک کنید | |
| x2 | 10.0.0.11/32 | Loopback | |
| swp1 | لینک استفاده نشده | ||
| swp2 | 10.1.0.6/30 | C2 لینک کنید | |
| swp3 | 10.1.0.10/30 | اتصال بین ISP ها |



