هدف لب
پیکربندی iBGP در میان سه روتر در همان سیستم خودمختار، پیکربندی عمدی فقط یک mesh جزئی از روابط همسایگی، مشاهده شکست یک مسیر در انتشار به روتری بدون جلسه iBGP مستقیم، سپس تکمیل full mesh و تأیید موفقیت انتشار.
هدف لب (چرا مهم است)
برخلاف eBGP، پوششدادهشده در لب قبلی، iBGP یک قانون درونی شبیه-split-horizon دارد: یک روتر هرگز یک مسیر یادگرفتهشده از یک همتای iBGP را دوباره به همتای iBGP دیگر تبلیغ نمیکند. این یک mesh کامل از جلسات iBGP را یک نیازمندی سختگیرانه درون یک AS میکند، برخلاف IGP هایی مانند OSPF یا EIGRP جایی که یک مسیر یادگرفتهشده از یک همسایه آزادانه به دیگران دوباره تبلیغ میشود.
توپولوژی لب
R1، R2، R3 همگی در AS 65010
R1 ---- R2 (جلسه iBGP پیکربندیشده)
R2 ---- R3 (جلسه iBGP پیکربندیشده)
R1 ---- R3 (در ابتدا پیکربندینشده --
لینک عمداً ناقص)
LAN R1: 192.168.210.0/24وظیفه ۱: پیکربندی Mesh جزئی iBGP
جلسات iBGP را فقط بین R1-R2 و R2-R3 پیکربندی کن، و R1-R3 را پیکربندینشده رها کن.
وظیفه ۲: تبلیغ شبکه R1
LAN R1 را به BGP تبلیغ کن.
وظیفه ۳: تأیید یادگیری مسیر توسط R2
تأیید کن R2، مستقیماً همتای R1، مسیر را از طریق iBGP یاد میگیرد.
وظیفه ۴: تأیید عدمیادگیری مسیر توسط R3
تأیید کن R3، با وجود همتایبودن با R2، هرگز این مسیر را دریافت نمیکند، چون R2 یک مسیر یادگرفتهشده-توسط-iBGP را به همتای iBGP دیگر دوباره تبلیغ نمیکند.
وظیفه ۵: تکمیل Full Mesh
جلسه گمشده iBGP R1-R3 را مستقیماً پیکربندی کن.
وظیفه ۶: تأیید یادگیری مسیر توسط R3 اکنون
تأیید کن R3 وقتی full mesh برقرار میشود مسیر را دریافت میکند.
راهحل و تأیید
R1(config)# router bgp 65010
R1(config-router)# neighbor 10.1.1.2 remote-as 65010
R1(config-router)# network 192.168.210.0 mask 255.255.255.0
R2(config)# router bgp 65010
R2(config-router)# neighbor 10.1.1.1 remote-as 65010
R2(config-router)# neighbor 10.2.2.2 remote-as 65010
R3(config)# router bgp 65010
R3(config-router)# neighbor 10.2.2.1 remote-as 65010
-- جلسه R1-R3 عمداً هنوز پیکربندی نشدهR2# show ip bgp
Network Next Hop Metric LocPrf Weight Path
*>i 192.168.210.0/24 10.1.1.1 0 100 0 i
-- R2 مسیر را مستقیماً از R1 یاد گرفتR3# show ip bgp
-- (خالی، یا مسیر غایب -- R3 اصلاً هیچ ورودیای
-- برای 192.168.210.0/24 ندارد)
R3# show ip bgp summary
Neighbor V AS MsgRcvd MsgSent State/PfxRcd
10.2.2.1 4 65010 8 8 0
-- جلسه با R2 Established است (0 پیشوند
-- دریافتشده، نه یک حالت down)، که تأیید
-- میکند خود جلسه خوب کار میکند -- R2 صرفاً
-- تصمیم میگیرد این مسیر خاص یادگرفتهشده-
-- توسط-iBGP را جلوتر فوروارد نکندR1(config)# router bgp 65010
R1(config-router)# neighbor 10.3.3.2 remote-as 65010
R3(config)# router bgp 65010
R3(config-router)# neighbor 10.3.3.1 remote-as 65010R3# show ip bgp
Network Next Hop Metric LocPrf Weight Path
*>i 192.168.210.0/24 10.1.1.1 0 100 0 i
-- R3 اکنون مستقیماً از R1 در سراسر جلسه
-- مستقیم تازهتکمیلشده مسیر را یاد میگیرد،
-- بهجای تکیه بر R2 برای فورواردکردنشنکته کلیدی
قانون iBGP در برابر دوباره-تبلیغکردن مسیرها بین همتایان iBGP بهطور خاص برای جلوگیری از حلقههای مسیریابی درون یک AS وجود دارد، چون IGP ها از قبل جلوگیری از حلقه را از طریق مکانیزمهای مبتنیبر-معیار خودشان مدیریت میکنند و BGP طراحی نشده آن منطق را داخلاً تکرار کند — نتیجه عملی این است که هر روتر iBGP درون یک AS باید یک جلسه همسایگی مستقیم با هر روتر iBGP دیگر نگه دارد، یک full mesh که در مقیاس از نظر عملیاتی چالشبرانگیز میشود و دقیقاً مسئلهای است که route reflector ها، پوششدادهشده در یک لب بعدی، برای حل آن طراحی شدهاند.