Paano gumagana ang BGP

Ngayon ay titingnan natin ang BGP protocol. Hindi namin pag-uusapan nang mahabang panahon kung bakit ito at kung bakit ito ginagamit bilang ang tanging protocol. Mayroong maraming impormasyon sa paksang ito, halimbawa dito.

Kaya ano ang BGP? Ang BGP ay isang dynamic na routing protocol at ang tanging EGP (External Gateway Protocol) na protocol. Ang protocol na ito ay ginagamit upang bumuo ng pagruruta sa Internet. Tingnan natin kung paano binuo ang isang kapitbahayan sa pagitan ng dalawang BGP router.

Paano gumagana ang BGP
Isaalang-alang ang kapitbahayan sa pagitan ng Router1 at Router3. I-configure natin ang mga ito gamit ang mga sumusunod na command:

router bgp 10
  network 192.168.12.0
  network 192.168.13.0
  neighbor 192.168.13.3 remote-as 10

router bgp 10
  network 192.168.13.0
  network 192.168.24.0
  neighbor 192.168.13.1 remote-as 10

Ang kapitbahayan sa loob ng iisang autonomous system ay AS 10. Pagkatapos maglagay ng impormasyon sa isang router, gaya ng Router1, sinusubukan ng router na iyon na mag-set up ng isang adjacency na relasyon sa Router3. Ang paunang estado kapag walang nangyari ay tinatawag Walang ginagawa. Sa sandaling ma-configure ang bgp sa Router1, magsisimula itong makinig sa TCP port 179 - mapupunta ito sa estado Ikabit, at kapag sinubukan nitong magbukas ng session sa Router3, mapupunta ito sa estado Aktibo.

Pagkatapos maitatag ang session sa pagitan ng Router1 at Router3, ang mga Open message ay nagpapalitan. Kapag ang mensaheng ito ay ipinadala ng Router1, ang estado na ito ay tatawagin Buksan ang Naipadala. At kapag nakatanggap ito ng Open message mula sa Router3, mapupunta ito sa estado Buksan ang Kumpirmahin. Tingnan natin ang Open message:

Paano gumagana ang BGP
Ang mensaheng ito ay nagbibigay ng impormasyon tungkol sa BGP protocol mismo, na ginagamit ng router. Sa pamamagitan ng pagpapalitan ng mga Open message, ang Router1 at Router3 ay nakikipag-ugnayan ng impormasyon tungkol sa kanilang mga setting sa isa't isa. Ang mga sumusunod na parameter ay naipasa:

  • bersyon: kasama dito ang bersyon ng BGP na ginagamit ng router. Ang kasalukuyang bersyon ng BGP ay bersyon 4 na inilarawan sa RFC 4271. Susubukan ng dalawang BGP router na makipag-ayos ng isang katugmang bersyon, kapag nagkaroon ng mismatch pagkatapos ay walang BGP session.
  • Aking AS: kabilang dito ang AS number ng BGP router, ang mga router ay kailangang sumang-ayon sa AS number(s) at tinutukoy din nito kung tatakbo sila ng iBGP o eBGP.
  • Hold Time: kung ang BGP ay hindi nakatanggap ng anumang keepalive o nag-update ng mga mensahe mula sa kabilang panig para sa tagal ng oras ng pag-hold pagkatapos ay idedeklara nitong 'patay' ang kabilang panig at sisirain nito ang session ng BGP. Bilang default, ang oras ng pag-hold ay nakatakda sa 180 segundo sa mga Cisco IOS router, ang keepalive na mensahe ay ipinapadala bawat 60 segundo. Ang parehong mga router ay kailangang magkasundo sa oras ng pag-hold o hindi magkakaroon ng BGP session.
  • BGP Identifier: ito ang lokal na BGP router ID na inihalal tulad ng ginagawa ng OSPF:
    • Gamitin ang router-ID na manu-manong na-configure gamit ang bgp router-id command.
    • Gamitin ang pinakamataas na IP address sa isang loopback interface.
    • Gamitin ang pinakamataas na IP address sa isang pisikal na interface.
  • Mga Opsyonal na Parameter: dito makikita mo ang ilang mga opsyonal na kakayahan ng BGP router. Idinagdag ang field na ito upang maidagdag ang mga bagong feature sa BGP nang hindi kinakailangang gumawa ng bagong bersyon. Ang mga bagay na maaari mong makita dito ay:
    • suporta para sa MP-BGP (Multi Protocol BGP).
    • suporta para sa Pag-refresh ng Ruta.
    • suporta para sa 4-octet AS na mga numero.

Upang magtatag ng isang kapitbahayan, ang mga sumusunod na kondisyon ay dapat matugunan:

  • Numero ng bersyon. Ang kasalukuyang bersyon ay 4.
  • Ang numero ng AS ay dapat tumugma sa iyong na-configure kapitbahay 192.168.13.3 remote-bilang 10.
  • Ang router ID ay dapat na iba sa kapitbahay.

Kung ang alinman sa mga parameter ay hindi nakakatugon sa mga kundisyong ito, magpapadala ang router Abiso mensahe na nagpapahiwatig ng error. Pagkatapos magpadala at tumanggap ng mga Open message, ang ugnayan ng kapitbahayan ay papasok sa estado ESTABLISED. Pagkatapos nito, maaaring makipagpalitan ng impormasyon ang mga router tungkol sa mga ruta at gawin ito gamit Mga update mga mensahe. Ito ang mensahe ng Update na ipinadala ng Router1 sa Router3:

Paano gumagana ang BGP

Dito makikita mo ang mga network na iniulat ng mga katangian ng Router1 at Path, na kahalintulad sa mga sukatan. Pag-uusapan natin ang tungkol sa mga katangian ng Path nang mas detalyado. Ang mga mensahe ng Keepalive ay ipinapadala din sa loob ng isang TCP session. Ang mga ito ay ipinapadala, bilang default, bawat 60 segundo. Ito ay isang Keepalive Timer. Kung ang isang mensahe ng Keepalive ay hindi natanggap sa panahon ng Hold Timer, ito ay mangangahulugan ng pagkawala ng komunikasyon sa kapitbahay. Bilang default, ito ay katumbas ng 180 segundo.

Kapaki-pakinabang na palatandaan:

Paano gumagana ang BGP

Tila nalaman natin kung paano nagpapadala ng impormasyon ang mga router sa isa't isa, ngayon subukan nating maunawaan ang lohika ng BGP protocol.

Upang mag-advertise ng ruta sa talahanayan ng BGP, tulad ng sa mga protocol ng IGP, ginagamit ang utos ng network, ngunit iba ang lohika ng pagpapatakbo. Kung sa IGP, pagkatapos tukuyin ang ruta sa network command, tinitingnan ng IGP kung aling mga interface ang nabibilang sa subnet na ito at kasama ang mga ito sa talahanayan nito, pagkatapos ay ang network command sa BGP ay tumitingin sa routing table at naghahanap ng eksaktong tumutugma sa ruta sa command ng network. Kung ito ay matatagpuan, ang mga rutang ito ay lilitaw sa talahanayan ng BGP.

Maghanap ng ruta sa kasalukuyang IP routing table ng router na eksaktong tumutugma sa mga parameter ng network command; kung umiiral ang ruta ng IP, ilagay ang katumbas na NLRI sa lokal na talahanayan ng BGP.

Ngayon, itaas natin ang BGP sa lahat ng natitira at tingnan kung paano napili ang ruta sa loob ng isang AS. Matapos makatanggap ng mga ruta ang BGP router mula sa kapitbahay nito, magsisimula itong pumili ng pinakamainam na ruta. Dito kailangan mong maunawaan kung anong uri ng mga kapitbahay ang maaaring magkaroon - panloob at panlabas. Naiintindihan ba ng router sa pamamagitan ng pagsasaayos kung panloob o panlabas ang naka-configure na kapitbahay? Kung nasa isang pangkat:

neighbor 192.168.13.3 remote-as 10 

ang remote-as parameter ay tumutukoy sa AS, na naka-configure sa router mismo sa router bgp 10 command. Ang mga ruta na nagmumula sa panloob na AS ay itinuturing na panloob, at ang mga ruta mula sa panlabas na AS ay itinuturing na panlabas. At para sa bawat isa, isang iba't ibang lohika ng pagtanggap at pagpapadala ay gumagana. Isaalang-alang ang topology na ito:

Paano gumagana ang BGP

Ang bawat router ay may loopback interface na na-configure sa ip: xxxx 255.255.255.0 - kung saan x ang numero ng router. Sa Router9 mayroon kaming loopback interface na may address - 9.9.9.9 255.255.255.0. Iaanunsyo namin ito sa pamamagitan ng BGP at tingnan kung paano ito kumakalat. Ang rutang ito ay ipapadala sa Router8 at Router12. Mula sa Router8, ang rutang ito ay mapupunta sa Router6, ngunit sa Router5 ay wala ito sa routing table. Gayundin sa Router12 ang rutang ito ay lilitaw sa talahanayan, ngunit sa Router11 wala rin ito doon. Subukan nating alamin ito. Isaalang-alang natin kung anong data at mga parameter ang ipinapadala ng Router9 sa mga kapitbahay nito, na nag-uulat ng rutang ito. Ang packet sa ibaba ay ipapadala mula sa Router9 hanggang Router8.

Paano gumagana ang BGP
Ang impormasyon ng ruta ay binubuo ng mga katangian ng Path.

Ang mga katangian ng landas ay nahahati sa 4 na kategorya:

  1. Kilalang mandatory - Dapat kilalanin ng lahat ng router na nagpapatakbo ng BGP ang mga katangiang ito. Dapat naroroon sa lahat ng mga update.
  2. Kilalang discretionary - Dapat kilalanin ng lahat ng router na nagpapatakbo ng BGP ang mga katangiang ito. Maaaring naroroon sila sa mga update, ngunit hindi kinakailangan ang kanilang presensya.
  3. Opsyonal na palipat - maaaring hindi makilala ng lahat ng pagpapatupad ng BGP. Kung hindi nakilala ng router ang attribute, minarkahan nito ang update bilang partial at ipapasa ito sa mga kapitbahay nito, na iniimbak ang hindi nakikilalang attribute.
  4. Opsyonal na hindi palipat - maaaring hindi makilala ng lahat ng pagpapatupad ng BGP. Kung hindi nakikilala ng router ang katangian, kung gayon ang katangian ay hindi papansinin at itatapon kapag ipinasa sa mga kapitbahay.

Mga halimbawa ng mga katangian ng BGP:

  • Kilalang mandatory:
    • Autonomous na landas ng system
    • Susunod na lundag
    • Pinagmulan

  • Kilalang discretionary:
    • Lokal na kagustuhan
    • Pinagsasama-sama ng atom
  • Opsyonal na palipat:
    • Pinagsama-sama
    • Komunidad
  • Opsyonal na hindi palipat:
    • Multi-exit discriminator (MED)
    • Originator ID
    • Listahan ng cluster

Sa kasong ito, sa ngayon ay magiging interesado kami sa Origin, Next-hop, AS Path. Dahil ang ruta ay nagpapadala sa pagitan ng Router8 at Router9, iyon ay, sa loob ng isang AS, ito ay itinuturing na panloob at bibigyan namin ng pansin ang Pinagmulan.

Origin attribute - nagsasaad kung paano nakuha ang ruta sa update. Mga posibleng attribute value:

  • 0 - IGP: Natanggap ang NLRI sa loob ng orihinal na autonomous system;
  • 1 - EGP: Natutunan ang NLRI gamit ang Exterior Gateway Protocol (EGP). Predecessor sa BGP, hindi ginagamit
  • 2 - Hindi Kumpleto: Natutunan ang NLRI sa ibang paraan

Sa aming kaso, tulad ng makikita mula sa packet, ito ay katumbas ng 0. Kapag ang rutang ito ay ipinadala sa Router12, ang code na ito ay magkakaroon ng code na 1.

Susunod, Next-hop. Next-hop attribute

  • Ito ang IP address ng eBGP router kung saan napupunta ang path sa destination network.
  • Ang katangian ay nagbabago kapag ang prefix ay ipinadala sa isa pang AS.

Sa kaso ng iBGP, iyon ay, sa loob ng isang AS, ang Next-hop ay ipapahiwatig ng isa na natutunan o nagsabi tungkol sa rutang ito. Sa aming kaso, ito ay magiging 192.168.89.9. Ngunit kapag ang rutang ito ay nailipat mula sa Router8 patungo sa Router6, babaguhin ito ng Router8 at papalitan ito ng sarili nitong. Ang susunod na pag-hop ay magiging 192.168.68.8. Ito ay humahantong sa amin sa dalawang panuntunan:

  1. Kung ang isang router ay nagpasa ng ruta sa panloob na kapitbahay nito, hindi nito babaguhin ang Next-hop na parameter.
  2. Kung ang isang router ay nagpapadala ng ruta sa panlabas na kapitbahay nito, binabago nito ang Next-hop sa ip ng interface kung saan nagpapadala ang router na ito.

Ito ay humahantong sa amin upang maunawaan ang unang problema - Bakit walang ruta sa routing table sa Router5 at Router11. Tingnan natin nang maigi. Kaya, nakatanggap ang Router6 ng impormasyon tungkol sa ruta 9.9.9.0/24 at matagumpay na naidagdag ito sa routing table:

Router6#show ip route bgp
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

      9.0.0.0/24 is subnetted, 1 subnets
B        9.9.9.0 [20/0] via 192.168.68.8, 00:38:25<source>
Π’Π΅ΠΏΠ΅Ρ€ΡŒ Router6 ΠΏΠ΅Ρ€Π΅Π΄Π°Π» ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ Router5 ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ Next-hop Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ». Π’ΠΎ Π΅ΡΡ‚ΡŒ, Router5 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ  <b>9.9.9.0 [20/0] via 192.168.68.8</b> , Π½ΠΎ Ρƒ Π½Π΅Π³ΠΎ Π½Π΅Ρ‚ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° Π΄ΠΎ 192.168.68.8 ΠΈ поэтому Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, хотя информация ΠΎ Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ BGP:

<source><b>Router5#show ip bgp
BGP table version is 1, local router ID is 5.5.5.5
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
 * i 9.9.9.0/24       192.168.68.8             0    100      0 45 i</b>

Ang parehong sitwasyon ay mangyayari sa pagitan ng Router11-Router12. Upang maiwasan ang sitwasyong ito, kailangan mong i-configure ang Router6 o Router12, kapag ipinapasa ang ruta sa kanilang mga panloob na kapitbahay, upang palitan ang kanilang IP address bilang Next-hop. Ginagawa ito gamit ang utos:

neighbor 192.168.56.5 next-hop-self

Pagkatapos ng command na ito, magpapadala ang Router6 ng Update message, kung saan ang ip ng interface na Gi0/0 Router6 ay tutukuyin bilang Next-hop para sa mga ruta - 192.168.56.6, pagkatapos nito ay isasama na ang rutang ito sa routing table.

Pumunta pa tayo at tingnan kung lumalabas ang rutang ito sa Router7 at Router10. Wala ito sa routing table at maaari nating isipin na ang problema ay kapareho ng sa una na may Next-hop parameter, ngunit kung titingnan natin ang output ng show ip bgp command, makikita natin na ang ruta ay hindi natanggap doon kahit na may maling Next-hop, na nangangahulugan na ang ruta ay hindi kahit na ipinadala. At ito ay magdadala sa atin sa pagkakaroon ng isa pang panuntunan:

Ang mga rutang natanggap mula sa mga panloob na kapitbahay ay hindi ipinapalaganap sa ibang mga panloob na kapitbahay.

Dahil natanggap ng Router5 ang ruta mula sa Router6, hindi ito ipapadala sa isa pang panloob na kapitbahay nito. Upang maganap ang paglipat, kailangan mong i-configure ang function Reflector ng Ruta, o i-configure ang ganap na konektadong mga ugnayan sa kapitbahayan (Full Mesh), ibig sabihin, Router5-7 lahat ay magiging kapitbahay ng lahat. Sa kasong ito gagamitin namin ang Route Reflector. Sa Router5 kailangan mong gamitin ang command na ito:

neighbor 192.168.57.7 route-reflector-client

Binabago ng Route-Reflector ang pag-uugali ng BGP kapag dumadaan sa isang ruta patungo sa isang panloob na kapitbahay. Kung ang panloob na kapitbahay ay tinukoy bilang ruta-reflector-kliyente, pagkatapos ay ia-advertise ang mga panloob na ruta sa mga kliyenteng ito.

Ang ruta ay hindi lumitaw sa Router7? Huwag din kalimutan ang tungkol sa Next-hop. Pagkatapos ng mga manipulasyong ito, dapat ding pumunta ang ruta sa Router7, ngunit hindi ito nangyayari. Dinadala tayo nito sa isa pang panuntunan:

Gumagana lang ang panuntunan sa susunod na pag-hop para sa mga External na ruta. Para sa mga panloob na ruta, hindi pinapalitan ang attribute na next-hop.

At nakakakuha kami ng isang sitwasyon kung saan kinakailangan na lumikha ng isang kapaligiran gamit ang static na pagruruta o mga protocol ng IGP upang ipaalam sa mga router ang tungkol sa lahat ng mga ruta sa loob ng AS. Magrehistro tayo ng mga static na ruta sa Router6 at Router7 at pagkatapos nito ay makukuha natin ang nais na ruta sa talahanayan ng router. Sa AS 678, medyo naiiba ang gagawin namin - magrerehistro kami ng mga static na ruta para sa 192.168.112.0/24 sa Router10 at 192.168.110.0/24 sa Router12. Susunod, itatatag namin ang ugnayan ng kapitbahayan sa pagitan ng Router10 at Router12. Iko-configure din namin ang Router12 upang ipadala ang susunod na pag-hop nito sa Router10:

neighbor 192.168.110.10 next-hop-self

Ang resulta ay ang Router10 ay makakatanggap ng ruta 9.9.9.0/24, ito ay matatanggap mula sa parehong Router7 at Router12. Tingnan natin kung anong pagpipilian ang ginagawa ng Router10:

Router10#show ip bgp
BGP table version is 3, local router ID is 6.6.6.6
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
 *>i 9.9.9.0/24       192.168.112.12           0    100       0      45 i

                               192.168.107.7                                0     123 45 i  

Tulad ng nakikita natin, ang dalawang ruta at isang arrow (>) ay nangangahulugan na ang ruta sa pamamagitan ng 192.168.112.12 ay napili.
Tingnan natin kung paano gumagana ang proseso ng pagpili ng ruta:

  1. Ang unang hakbang kapag tumatanggap ng ruta ay suriin ang pagkakaroon ng Next-hop nito. Kaya naman, noong nakatanggap kami ng ruta sa Router5 nang hindi nagtatakda ng Next-hop-self, hindi na naproseso ang rutang ito.
  2. Susunod ay ang parameter ng Timbang. Ang parameter na ito ay hindi isang Path Attribute (PA) at hindi ipinadala sa mga BGP na mensahe. Ito ay lokal na na-configure sa bawat router at ginagamit lamang upang manipulahin ang pagpili ng ruta sa mismong router. Tingnan natin ang isang halimbawa. Sa itaas lang makikita mo na ang Router10 ay pumili ng ruta para sa 9.9.9.0/24 sa pamamagitan ng Router12 (192.168.112.12). Upang baguhin ang parameter ng Wieght, maaari mong gamitin ang mapa ng ruta upang magtakda ng mga partikular na ruta, o magtalaga ng timbang sa kapitbahay nito gamit ang command:
     neighbor 192.168.107.7 weight 200       

    Ngayon ang lahat ng mga ruta mula sa kapitbahay na ito ay magkakaroon ng ganitong timbang. Tingnan natin kung paano nagbabago ang pagpili ng ruta pagkatapos ng pagmamanipulang ito:

    Router10#show bgp
    *Mar  2 11:58:13.956: %SYS-5-CONFIG_I: Configured from console by console
    BGP table version is 2, local router ID is 6.6.6.6
    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
     *>  9.9.9.0/24       192.168.107.7                        200      123 45 i
     * i                          192.168.112.12           0          100      0 45 i

    Tulad ng nakikita mo, ang ruta sa pamamagitan ng Router7 ay napili na ngayon, ngunit hindi ito magkakaroon ng anumang epekto sa iba pang mga router.

  3. Sa ikatlong posisyon mayroon kaming Lokal na Kagustuhan. Ang parameter na ito ay isang Kilalang discretionary attribute, na nangangahulugan na ang presensya nito ay opsyonal. Ang parameter na ito ay may bisa lamang sa loob ng isang AS at nakakaapekto lamang sa pagpili ng landas para sa mga panloob na kapitbahay. Iyon ang dahilan kung bakit ito ay ipinadala lamang sa I-update ang mga mensahe na inilaan para sa panloob na kapitbahay. Wala ito sa Update messages para sa mga external na kapitbahay. Samakatuwid, ito ay inuri bilang Kilalang discretionary. Subukan nating ilapat ito sa Router5. Sa Router5 dapat tayong magkaroon ng dalawang ruta para sa 9.9.9.0/24 - isa sa pamamagitan ng Router6 at ang pangalawa sa pamamagitan ng Router7.

    Tumingin kami:

    Router5#show bgp
    BGP table version is 2, local router ID is 5.5.5.5
    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
     *>i 9.9.9.0/24       192.168.56.6             0    100      0 45 i

    Ngunit habang nakikita natin ang isang ruta sa pamamagitan ng Router6. Nasaan ang ruta sa pamamagitan ng Router7? Baka wala rin ang Router7? Tingnan natin:

    Router#show bgp
    BGP table version is 10, local router ID is 7.7.7.7
    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
     *>i 9.9.9.0/24       192.168.56.6             0     100           0      45 i
    
                                  192.168.107.10                                  0     678 45 i 

    Kakaiba, parang ayos na ang lahat. Bakit hindi ito ipinadala sa Router5? Ang bagay ay ang BGP ay may panuntunan:

    Ang router ay nagpapadala lamang ng mga ruta na ginagamit nito.

    Gumagamit ang Router7 ng ruta sa pamamagitan ng Router5, kaya hindi maipapadala ang ruta sa pamamagitan ng Router10. Bumalik tayo sa Local Preference. Itakda natin ang Lokal na Kagustuhan sa Router7 at tingnan kung paano tumugon ang Router5 dito:

    route-map BGP permit 10
     match ip address 10
     set local-preference 250
    access-list 10 permit any
    router bgp 123
     neighbor 192.168.107.10 route-map BGP in</b>

    Kaya, gumawa kami ng isang mapa ng ruta na naglalaman ng lahat ng mga ruta at sinabi sa Router7 na baguhin ang parameter ng Local Preference sa 250 kapag natanggap, ang default ay 100. Tingnan natin kung ano ang nangyari sa Router5:

    Router5#show bgp
    BGP table version is 8, local router ID is 5.5.5.5
    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
     *>i 9.9.9.0/24       192.168.57.7             0          250      0 678 45 i

    Tulad ng nakikita natin ngayon, mas pinipili ng Router5 ang ruta sa pamamagitan ng Router7. Ang parehong larawan ay makikita sa Router6, bagaman ito ay mas kumikita para sa kanya na pumili ng isang ruta sa pamamagitan ng Router8. Idinagdag din namin na ang pagbabago sa parameter na ito ay nangangailangan ng pag-restart ng kapitbahayan para magkabisa ang pagbabago. Basahin dito. Inayos namin ang Lokal na Kagustuhan. Lumipat tayo sa susunod na parameter.

  4. Mas gusto ang ruta na may parameter na Next-hop na 0.0.0.0, iyon ay, lokal o pinagsama-samang mga ruta. Awtomatikong itinatalaga ang mga rutang ito ng Weight parameter na katumbas ng maximumβ€”32678β€”pagkatapos ipasok ang network command:
    Router#show bgp
    BGP table version is 2, local router ID is 9.9.9.9
    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
     *>  9.9.9.0/24       0.0.0.0                  0            32768    i
  5. Pinakamaikling landas sa AS. Pinili ang pinakamaikling AS_Path na parameter. Ang mas kaunting mga AS na dinaraanan ng isang ruta, mas mabuti ito. Isaalang-alang ang ruta sa 9.9.9.0/24 sa Router10:
    Router10#show bgp
    BGP table version is 2, local router ID is 6.6.6.6
    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
     *   9.9.9.0/24     192.168.107.7                           0           123 45 i
     *>i                     192.168.112.12           0    100       0       45 i

    Tulad ng nakikita mo, pinili ng Router10 ang ruta sa pamamagitan ng 192.168.112.12 dahil para sa rutang ito ang AS_Path parameter ay naglalaman lamang ng 45, at sa isa pang kaso 123 at 45. Intuitively malinaw.

  6. Ang susunod na parameter ay Origin. Ang IGP (ruta na nakuha gamit ang BGP) ay mas mahusay kaysa sa EGP (ruta na nakuha gamit ang hinalinhan ng BGP, hindi na ginagamit), at ang EGP ay mas mahusay kaysa sa Hindi Kumpleto? (nakuha sa ibang paraan, halimbawa sa pamamagitan ng muling pamamahagi).
  7. Ang susunod na parameter ay MED. Mayroon kaming Wieght na lokal na gumagana sa router. Mayroong Lokal na Kagustuhan, na gumagana lamang sa loob ng isang autonomous system. Tulad ng maaari mong hulaan, ang MED ay isang parameter na ipapadala sa pagitan ng mga autonomous system. Napakahusay artikulo tungkol sa parameter na ito.

Wala nang mga attribute na gagamitin, ngunit kung ang dalawang ruta ay may parehong mga katangian, ang mga sumusunod na panuntunan ay gagamitin:

  1. Piliin ang landas sa pinakamalapit na kapitbahay ng IGP.
  2. Piliin ang pinakalumang ruta para sa eBGP path.
  3. Piliin ang landas sa pamamagitan ng kapitbahay na may pinakamaliit na BGP router ID.
  4. Pumili ng landas sa kapitbahay na may pinakamababang IP address.

Ngayon tingnan natin ang isyu ng BGP convergence.

Tingnan natin kung ano ang mangyayari kung mawala sa Router6 ang ruta 9.9.9.0/24 sa pamamagitan ng Router9. Huwag paganahin ang interface Gi0/1 ng Router6, na agad na mauunawaan na ang session ng BGP kasama ang Router8 ay natapos at ang kapitbahay ay nawala, na nangangahulugan na ang ruta na natanggap mula dito ay hindi wasto. Agad na nagpapadala ang Router6 ng mga mensahe sa Update, kung saan ipinapahiwatig nito ang network na 9.9.9.0/24 sa field na Mga Na-withdraw na Ruta. Sa sandaling matanggap ng Router5 ang naturang mensahe, ipapadala ito sa Router7. Ngunit dahil ang Router7 ay may ruta sa pamamagitan ng Router10, agad itong tutugon sa isang Update na may bagong ruta. Kung hindi posible na makita ang pagbagsak ng isang kapitbahay batay sa estado ng interface, pagkatapos ay kailangan mong maghintay para sa Hold Timer upang sunog.

Confederation.

Kung naaalala mo, napag-usapan namin ang katotohanan na madalas mong kailangang gumamit ng isang ganap na konektadong topology. Sa isang malaking bilang ng mga router sa isang AS maaari itong magdulot ng malalaking problema, upang maiwasan ito kailangan mong gumamit ng mga confederations. Ang isang AS ay nahahati sa ilang sub-AS, na nagpapahintulot sa kanila na gumana nang hindi nangangailangan ng isang ganap na konektadong topology.

Paano gumagana ang BGP

Narito ang isang link dito labuAt dito configuration para sa GNS3.

Halimbawa, sa topology na ito kailangan nating ikonekta ang lahat ng mga router sa AS 2345 sa isa't isa, ngunit gamit ang Confederation, maaari tayong magtatag ng mga magkadikit na relasyon sa pagitan ng mga router na direktang konektado sa isa't isa. Pag-usapan natin ito nang detalyado. Kung mayroon lamang tayong AS 2345, kung gayon laForge na nakatanggap ng isang martsa mula sa Picard sasabihin ito sa mga router data ΠΈ Worf, ngunit hindi nila sasabihin sa router ang tungkol dito pandurog . Gayundin ang mga ruta na ipinamahagi ng router mismo laForge, hindi sana ililipat pandurog ni Worf-Oh hindi data.

Kailangan mong i-configure ang isang Route-Reflector o isang ganap na konektadong ugnayan sa kapitbahayan. Sa pamamagitan ng paghahati ng isang AS 2345 sa 4 na sub-AS (2,3,4,5) para sa bawat router, napupunta tayo sa ibang lohika ng pagpapatakbo. Ang lahat ay perpektong inilarawan dito.

Pinagmulan:

  1. CCIE Routing and Switching v5.0 Official Cert Guide, Volume 2, Fifth Edition, Narbik Kocharians, Terry Vinson.
  2. Π‘Π°ΠΉΡ‚ xgu.ru
  3. Π‘Π°ΠΉΡ‚ GNS3Vault.

Pinagmulan: www.habr.com

Magdagdag ng komento