بایگانی برچسب: s

سیسکو BGP AS Prepend

آموزش پیاده سازی BGP AS Prepend روتر سیسکو

آموزش کانفیگ BGP AS Prepend روتر سیسکو

پیاده سازی Cisco BGP AS Prepend جهت BGP Multihoming در روتر سیسکو

BGP AS Prepend یکی از تکنیک های مدیریت مسیریابی BGP و افزایش پایداری ( Fail over ) در شبکه های روتینگی مبتنی بر BGP است ، بدین ترتیب که با توجه به الگوریتم انتخاب مسیر BGP که یکی از مولفه های آن Shortest AS Path است ، میتوان نحوه تصمیم گیری BGP برای انتخاب بهترین مسیر را تحت تاثیر قرار داد .

BGP AS Prepend با استفاده از این معیار که BGP برای انتخاب بهترین مسیر به تعداد AS های موجود در مسیر توجه میکند ، عمل می نماید ، در واقع یکی از عوامل تاثر گذار در تصمیم گیری BGP برای انتخاب Best Route ، کوتاهترین مسیر از لحاظ تعداد AS های مسیر است و BGP AS Prepend روشی است که در آن ما یک AS را برای Adv کردن Prefix های خود به سمت یک BGP Peer چندین بار تکرار میکنیم ، بنابراین روتر سیسکو همسایه ، گمان میکند طول این مسیر از لحاظ AS Path به همان میزان تکرار شدن AS ، طولانی تر از حالت عادی است ، برای مثال به این Route توجه کنید :

route-views>sh ip bg 10.10.10.0
BGP routing table entry for 10.10.10.0/24, version 51853444
Paths: (35 available, best #35, table default)
 Not advertised to any peer
 Refresh Epoch 1
 7018 1299 12880 49689 44066
 12.0.1.63 from 12.0.1.63 (12.0.1.63)
 Origin IGP, localpref 100, valid, external
 Community: 7018:5000 7018:37232
 rx pathid: 0, tx pathid: 0
 Refresh Epoch 1
 6079 2914 9498 8529 8529 8529 12880 12880 12880 12880 12880 12880 12880 12880 12880 12880 12880 49689 44066
 207.172.6.1 from 207.172.6.1 (207.172.6.1)
 Origin IGP, metric 0, localpref 100, valid, external
 rx pathid: 0, tx pathid: 0
 Refresh Epoch 1
 1239 1299 12880 49689 44066
 144.228.241.130 from 144.228.241.130 (144.228.241.130)
 Origin IGP, localpref 100, valid, external
 rx pathid: 0, tx pathid: 0
 Refresh Epoch 1
 4826 2828 1299 12880 49689 44066
 114.31.199.1 from 114.31.199.1 (114.31.199.1)
 Origin IGP, localpref 100, valid, external
 Community: 4826:5901 4826:6150 4826:59011
 rx pathid: 0, tx pathid: 0
 Refresh Epoch 1
 6539 577 174 8529 12880 12880 12880 12880 12880 12880 12880 12880 12880 12880 12880 49689 44066
 66.59.190.221 from 66.59.190.221 (66.59.190.221)
 Origin IGP, localpref 100, valid, external
 rx pathid: 0, tx pathid: 0
 Refresh Epoch 1
 3303 3320 1299 12880 49689 44066
 217.192.89.50 from 217.192.89.50 (138.187.128.158)
 Origin IGP, localpref 100, valid, external
 Community: 3303:3006 3303:3067 3303:8199 3320:1250 3320:2010 3320:9020
 rx pathid: 0, tx pathid: 0
 Refresh Epoch 1
 7660 2516 6453 8529 12880 12880 12880 12880 12880 12880 12880 12880 12880 12880 12880 49689 44066
 203.181.248.168 from 203.181.248.168 (203.181.248.168)
 Origin IGP, localpref 100, valid, external
 Community: 2516:1050
 rx pathid: 0, tx pathid: 0
 Refresh Epoch 1
 852 174 8529 12880 12880 12880 12880 12880 12880 12880 12880 12880 12880 12880 49689 44066
 154.11.98.225 from 154.11.98.225 (154.11.98.225)
 Origin IGP, metric 0, localpref 100, valid, external

همانطور که در خروجی ملاحظه میفرمایید ، ISP ها در سطوح مختلف اقدام به استفاده از BGP AS Prepend جهت مدیریت بر UpLink ها به لحاظ میزان Congested بودن هر کدام و همچنین تحمل قطعی ارتباط و تحمل خرابی و بنا به سیاست های داخلی خود ، بر روی روتر های سیسکو مرزی BGP Edge خود نموده اند .

BGP AS Prepend به سادگی به کمک یک Route-Map بر روی روتر سیسکو و ارتباطات BGP قابل پیاده سازی است ، برای مثال در صورتی که یک سازمان ارتباط خود با اینترنت را از طریق چند ISP فراهم نموده باشد ، میتواند با استفاده از BGP AS Prepend ، موازینی تعیین کرده و Prefix های خود را به همه BGP Peer های خود ارسال کند ، و بنا بر اولویت در هنگام تبلیغ Adv ، به آن AS Prepend بزند .


برای روشن تر شدن مسئله از یک مثال استفاده میکنیم ،

آموزش کانفیگ BGP AS Prepend

آموزش کانفیگ BGP AS Prepend

مطابق دیاگرام فوق ، سازمان مربوطه ، ارتباط به اینترنت خود را از طریق دو ISP که با آنها ارتباط BGP دارد تامین میکند . سازمان مورد نظر ما ، دارای 2 کلاس Valid IP است که توسط AS#300 آنها را تبلیغ Advertise مینماید . همانطور که ملاحظه میفرمایید ، پهنای باند اینترنتی از طریق ISP1 به میزان 10 مگابیت و از طریق ISP2 به میزان 20Mb/s است و همچنین اولویت استفاده از سروریس ISP 2 است و ارتباط ISP 1 به عنوان BackUp در نظر گرفته شده است .
بنابراین مدیر شبکه سازمان مربوطه تصمیم میگیرید که هر دو Prefix خود را به سمت هر دو ISP تبلیغ کند به طوری که ترافیک به شکل پیشفرض از سمت ISP2 سرازیر شود و در صورت بروز مشکل در ISP2 ، ارتباط از طریق ISP1 برقرار بماند .

در اینجاست که مزیت بزرگ BGP AS Prepend خودنمایی میکند ،، لذا برای پیاده سازی این استراکچر ، لازم است Prefix ها را به سمت دو ISP ارسال و در مورد ISP1 ، کافی است AS Number را دوبار تکرار Prepend کنیم :

router bgp 300
 network 1.1.1.0 mask 255.255.255.0
 network 2.2.2.0 mask 255.255.255.0
 neighbor 192.168.1.1 remote-as 100
 neighbor 192.168.1.1 description ISP2
 neighbor 192.168.1.1 route-map prepend out
 neighbor 192.168.2.1 remote-as 200
 neighbor 192.168.2.1 description ISP1

!
route-map prepend permit 10
 set as-path prepend 300 300

بدین ترتیب هر دو Prefix به هر دو ISP بالادست Advertise میشود ، فقط در AS Path برای ISP1 ، مشاهده خواهد شد که AS300 دو مربته بیشتر تکرار شده است .
باید توجه داشت که ممکن است در عین حالی که ما به میزان 2 AS طول مسیر را برای ISP1 طولانی تر کرده ایم ، اما اگر این ISP روت های بهتری در دنیا داشته باشد ، ممکن است باز ترافیک از سمت آن سرریز شود ، لذا اغلب برای اطمینان از این مسئله تعداد دفعات BGP AS Prepend را بیش از 5 بار تنظیم میکنند .
ذکر این نکته نیز خالی از لطف نیست، چندین سال پیش ، ادمین یک ISP در آسیای شرقی ، با prepend زدن نادرست و به تعداد بسیار بالا ، مشکل عظیمی در اینترنت به وجود آورد و باعث فلج شدن شبکه گردید!

جهت بررسی عملکرد BGP AS Prepend ، به سادگی میتوانید ، با استفاده از یکی از Route Server های Public و یا BGP Looking Glass های موجود ، به بررسی صحت عملکرد BGP و نحوه مشاهده شبکه شما از بیرون بپردازید .

حتما توجه داشته باشید که این تکنیک بر روی نحوه advertise شدن Prefix های شبکه تاثیر دارد ، در واقعا این عملیات Down Stream شبکه شما را کنترل میکند ، لذا میبایست جهت FailOver در حط send نیز از تکنیکی نظیر Floating Static Route به همراه IP SLA که قبلا به آن پرداخته ایم ، استفاده کنید .

وفقک الله