تعادل بار در مسیرهای خارجی BGP « آزمایشگاه BGP

پیاده سازی های مدرن BGP معمولاً ترافیک را در مسیرهای BGP خارجی با هزینه برابر (چند مسیری با هزینه برابر یا ECMP) هدایت می کنند. متاسفانه، تعریف پیش فرض از هزینه های برابر مسیرها معمولا شامل اکثر ویژگی های مسیر BGP یکسان هستندو بسیاری از پیادهسازیها دکمههای geek را ارائه میکنند که میتوانید از آنها برای تنظیم دقیق ویژگیهای مسیر BGP که میخواهید هنگام در نظر گرفتن مسیرهای ECMP نادیده بگیرید، استفاده کنید.
در این تمرین آزمایشگاهی، یک EBGP ECMP ساده را در مسیرهای موازی به AS 651000 (P1 و P2) مشاهده خواهید کرد و سعی میکنید روتر خود را طوری پیکربندی کنید که ترافیک را در تمام مسیرها به AS 65001 (P1، P2 و P3) هدایت کند.
احتیاط
مسیریابی ترافیک ECMP در چندین سیستم خودمختار معمولاً ایده خوبی نیست، زیرا باید ساختار داخلی هر سیستم مستقل و تأخیر انتها به انتها را بدانید. با این حال، ممکن است نیاز به پیکربندی multi-AS ECMP در محیط هایی داشته باشید که IGP را با EBGP جایگزین کرده اند.
پیکربندی BGP موجود
روترهای آزمایشگاه شما از اعداد BGP AS زیر استفاده می کنند. C2 و P1 یک پیشوند IPv4 را تبلیغ می کنند.
| Node/ASN | شناسه روتر | پیشوندهای تبلیغاتی |
|---|---|---|
| AS65000 | ||
| rtr | 10.0.0.1 | |
| AS65001 | ||
| c2 | 10.7.5.0 | 10.7.5.0/24 |
| AS65100 | ||
| p1 | 10.1.3.0 | 10.1.3.0/24 |
| p2 | 10.0.0.3 | |
| AS65101 | ||
| p3 | 10.0.0.4 |
روتر شما این همسایگان EBGP را دارد. netlab آنها را به صورت خودکار پیکربندی کنید. اگر از زیرساخت های آزمایشگاهی دیگر استفاده می کنید، باید آنها را به صورت دستی پیکربندی کنید.
| یک گره | شناسه روتر / همسایه |
روتر AS/ همسایه ع.س |
همسایه IPv4 |
|---|---|---|---|
| rtr | 10.0.0.1 | 65000 | |
| p1 | 65100 | 10.1.0.1 | |
| p2 | 65100 | 10.1.0.5 | |
| p3 | 65101 | 10.1.0.9 |
آزمایشگاه را راه اندازی کنید
با فرض اینکه قبلا زیرساخت آزمایشگاه خود را راه اندازی کرده اید:
- تغییر دایرکتوری به
lb/1-ebgp - اجرا کردن نت لب بالا (نیازمندی دستگاه)
- با استفاده از روتر خود (RTR) وارد شوید اتصال netlab rtr و بررسی کنید که آدرس های IP و جلسات EBGP به درستی پیکربندی شده اند.
احتیاط
این تمرین آزمایشگاهی نیاز دارد netlab نسخه 1.6.4 یا بالاتر.
وظایف پیکربندی
اکثر پیاده سازی های BGP دارای دستگیره های حیله ای هستند که رفتار متعادل کننده بار EBGP را تغییر می دهد:
- با استفاده از دستوری مشابه، تعادل بار را در مسیرهای EBGP پیکربندی کنید حداکثر مسیرها. تعادل بار EBGP را در حداقل چهار مسیر موازی فعال کنید.
- دستگاه خود را طوری پیکربندی کنید که هنگام جستجوی مسیرهای هزینه برابر، محتویات مسیر AS را نادیده بگیرد. دستور مورد استفاده می تواند با آن شروع شود بهترین مسیر bgp.
نکته
مقادیر پیش فرض از فروشنده ای به فروشنده دیگر متفاوت است. ممکن است دستگاه شما قبلاً کاری را که ما میخواهیم انجام دهد. اگر تنظیمات پیشفرض دستگاه شما منجر به EBGP ECMP در چندین سیستم مستقل میشود، سعی کنید دستورات پیکربندی را پیدا کنید که این رفتار را غیرفعال میکند.
چک کردن
وارد دستگاه خود شوید و جدول BGP آن را بررسی کنید. جدول BGP باید شامل دو مسیر با هزینه برابر به 10.1.3.0/24 و سه مسیر مساوی AS-path تا 10.7.5.0/24 باشد.
برخی از پیاده سازی های BGP وضعیت ECMP مسیرهای جایگزین را در پرینت جدول BGP نشان می دهند. به عنوان مثال، این چاپ شده از یک دستگاه Arista EOS است:
rtr#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
* >Ec 10.1.3.0/24 10.1.0.5 0 - 100 0 65100 i
* ec 10.1.3.0/24 10.1.0.1 0 - 100 0 65100 i
* >Ec 10.7.5.0/24 10.1.0.5 0 - 100 0 65100 65001 i
* ec 10.7.5.0/24 10.1.0.1 0 - 100 0 65100 65001 i
* ec 10.7.5.0/24 10.1.0.9 0 - 100 0 65101 65001 i
اگر دستگاه شما این اطلاعات را ارائه نمی دهد، به جدول مسیریابی IP مراجعه کنید. باید شامل دو ورودی برای 10.1.3.0/24 و سه ورودی برای 10.7.5.0/24 باشد. به عنوان مثال، اینها ورودی های BGP در جدول مسیریابی IP یک دستگاه لینوکس کومولوس هستند:
rtr# show ip route bgp
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
F - PBR, f - OpenFabric,
> - selected route, * - FIB route, q - queued, r - rejected, b - backup
t - trapped, o - offload failure
B>* 10.1.3.0/24 [20/0] via 10.1.0.1, swp1, weight 1, 00:00:08
* via 10.1.0.5, swp2, weight 1, 00:00:08
B>* 10.7.5.0/24 [20/0] via 10.1.0.1, swp1, weight 1, 00:00:08
* via 10.1.0.5, swp2, weight 1, 00:00:08
* via 10.1.0.9, swp3, weight 1, 00:00:08
بعد: تعادل بار EBGP با پهنای باند پیوند BGP
اطلاعات مرجع
اگر قصد دارید یک زیرساخت آزمایشگاهی سفارشی بسازید، اطلاعات زیر ممکن است به شما کمک کند:
الزامات دستگاه
سیم کشی آزمایشگاه
| دستگاه اولیه | بندر مبدا | دستگاه هدف | بندر مقصد |
|---|---|---|---|
| rtr | اترنت 1 | p1 | swp1 |
| rtr | اترنت 2 | p2 | swp1 |
| rtr | اترنت 3 | p3 | swp1 |
| p1 | swp2 | p2 | swp2 |
| p2 | swp3 | c2 | swp1 |
| p3 | swp2 | c2 | swp2 |
آدرس دهی آزمایشگاه
| گره/رابط | آدرس IPv4 | آدرس IPv6 | شرح |
|---|---|---|---|
| rtr | 10.0.0.1/32 | Loopback | |
| اترنت 1 | 10.1.0.2/30 | rtr -> p1 | |
| اترنت 2 | 10.1.0.6/30 | rtr -> p2 | |
| اترنت 3 | 10.1.0.10/30 | rtr -> p3 | |
| c2 | 10.7.5.0/24 | Loopback | |
| swp1 | 10.1.0.17/30 | c2 -> p2 | |
| swp2 | 10.1.0.21/30 | c2 -> p3 | |
| p1 | 10.1.3.0/24 | Loopback | |
| swp1 | 10.1.0.1/30 | p1 -> rtr | |
| swp2 | 10.1.0.13/30 | p1 -> p2 | |
| p2 | 10.0.0.3/32 | Loopback | |
| swp1 | 10.1.0.5/30 | p2 -> rtr | |
| swp2 | 10.1.0.14/30 | p2 -> p1 | |
| swp3 | 10.1.0.18/30 | p2 -> c2 | |
| p3 | 10.0.0.4/32 | Loopback | |
| swp1 | 10.1.0.9/30 | p3 -> rtr | |
| swp2 | 10.1.0.22/30 | p3 -> c2 |



