05_-_bgp.pdf

136
1 BGP koncepti, terminologija, funkcionisanje

Upload: stanisa

Post on 06-Sep-2015

21 views

Category:

Documents


14 download

TRANSCRIPT

  • 1

    Using Multiple Routing Protocols on a Network

    BGP koncepti, terminologija, funkcionisanje

  • 2

    IGP vs. EGP

    Interni protokol rutiranja (IGP) Protokol koji funkcionie unutar autonomnog sistema (AS).

    RIP, OSPF i EIGRP

    Eksterni protokol rutiranja (EGP) Protokol koji funkcionie izmeu razliitih AS-ova.

    BGP

  • 3

    Autonomni sistemi (AS)

    AS predstavlja grupu rutera koji dijele polisu rutiranja i operiu u zajednikom administrativnom domenu.

    AS tipino pripada jednoj organizaciji.

    Jedan ili vie IGP-ova moe da se koristi unutar AS-a.

    U oba sluaja AS se posmatra kao jedan entitet.

    Ako se AS povezuje na Internet pomou BGP-a, onda mu mora biti dodijeljen jedinstven AS broj od strane

    organizacije IANA.

  • 4

    IANA

    IANA je zaduena za dodjelu AS brojeva preko svojih pet registara.

    Registri predstavljaju neprofitne korporacije koje su zaduene za administraciju i registraciju IP adresnog prostora i AS brojeva u

    odreenom geografskom podruju.

  • 5

    Registri

    Naziv Geografsko pokrivanje Link

    AfriNIC Afrika www.afrinic.net

    APNIC

    (Asia Pacific Network

    Information Centre)

    Azijsko Pacifika regija www.apnic.net

    ARIN

    (American Registry for

    Internet Numbers)

    Kanada, SAD i nekoliko

    ostrva u Karipskom moru i

    Atlantskom okeanu.

    www.arin.net

    LACNIC

    (Latin America and Caribbean

    Internet Addresses Registry)

    Centralna i Juna Amerika, ako i dijelovi Kariba.

    www.lacnic.net

    RIPE

    (Rseaux IP Europens)

    Evropa, Bliski Istok i

    centralna Azija www.ripe.net

  • 6

    AS brojevi

    AS brojevi mogu biti izmeu 1 i 65,535.

    Registri su zadueni za AS brojeve izmeu 1 i 64,512.

    Brojevi od 64,512 - 65,535 su rezervisani za privatnu upotrebu (slino IP privatnim adresama).

    IANA radi na osnovu polise po kojoj organizacije koje se povezuju na jednog provajdera koriste AS broj iz privatnog opsega.

    Napomena:

    Trenutni AS opseg e uskoro biti potroen.

    Zbog toga je organizacija IETF izdala RFC dokumente 4893 i 5398 po kojima se broj bita za numerisanje AS-a poveava sa 16 na 32, ime se broj moguih AS-ova poveava sa 65,536 na 4,294,967,296.

  • 7

    BGP osnove

    Internet predstavlja kolekciju AS-ova.

    BGP omoguava rutiranje izmeu njih.

    BGP predstavlja path vector protokol.

    BGP je jedini protokol rutiranja koji koristi TCP.

    OSPF i EIGRP poruke se direktno enkapsuliraju u IP paket.

    RIP koristi usluge UDP protokola na transportnom sloju.

  • 8

    BGP osnove

    BGP verzije 4 (BGP-4) je zadnja verzija protokola BGP.

    Definisana je u RFC dokumentu 4271.

    Podrava supermree, CIDR i VLSM .

    BGP4 i CIDR spreavaju da Internet tabela rutiranja postane prevelika.

    Bez CIDR-a, tabela rutiranja na Internetu bi imala preko 2,000,000 unosa.

    Sa CIDR-om, Internet ruteri imaju preko 400,000 unosa.

    http://bgp.potaroo.net/

  • 9

    BGP pregled

    Kada dva rutera uspostave TCP vezu radi razmjene BGP informacija, oni se nazivaju susjedi ili peers.

    Svaki ruter koji ima konfigurisan BGP protokol popularno se naziva BGP speaker.

  • 10

    BGP pregled

    Kada BGP susjedi uspostave vezu, oni meusobno razmjene sve BGP rute.

    Nakon inicijalne razmjene, alju se samo inkrementalna auriranja kada doe do promjene u topologiji.

  • 11

    BGP se koristi izmeu AS-ova

    BGP omoguava rutiranje izmeu domena koji garantuje razmjenu informacija izmeu sistema bez postojanja petlji rutiranja.

  • 12

    Poreenje BGP-a sa internim protokolima

    BGP radi razliito od internih protokola rutiranja poto odluku o putanji ne donosi na osnovu metrike najbolje

    putanje.

    Umjesto toga, BGP predstavlja protokol rutiranja zasnovan na polisama koje dozvoljavaju AS-u da vri kontrolu saobraaja koritenjem BGP atributa.

    Ruteri koji rade sa BGP-om razmjenjuju mrene atribute koji ukljuuju punu putanju izraenu pomou liste AS brojeva koje paket treba da proe da bi stigao do cilja.

  • 13

    Poreenje BGP-a sa internim protokolima

    Protokol Interni ili

    eksterni Tip

    Potrebna

    hijerarhija? Metrika

    RIP Interni Distance

    vector Ne Hop count

    OSPF Interni Link state Da Cost

    IS-IS Interni Link state Da Metric

    EIGRP Interni

    Advanced

    distance

    vector

    Ne BW, delay

    BGP Eksterni Path vector Ne Path vectors

    (atributi)

  • 14

    Povezivanje mrea na ISP

    Moderne IP mree se moraju povezati na globalnu mreu.

    Zadaci koji se moraju ispuniti prilikom prikljuivanja na ISP su:

    Javni IP adresni prostor

    Tip linka i propusni opseg

    Redundantnost veze

    Protokol rutiranja

  • 15

    Koritenje statikih ruta u svrhu povezivanja

    Statike rute predstavljaju najjednostavniji nain da se uspostavi rutiranje prema ISP-u.

    Tipino klijent ima jednu konekciju prema ISP-u i koristi default rutu prema ISP-u, dok istovremeno ISP ima konfigurisanu statiku rutu prema klijentovoj mrei.

    PE(config)# ip route 10.0.0.0 255.0.0.0 serial 0/0/1

    PE(config)# ip route 172.16.0.0 255.255.0.0 serial 0/0/1

    PE(config)# ip route 172.17.0.0 255.255.0.0 serial 0/0/1

    Company A

    Internet

    PE R1 S0/0/1

    10.0.0.0 172.16.0.0 172.17.0.0

    ISP

    S0/0/0

    R1(config)# router eigrp 110

    R1(config-router)# network 10.0.0.0

    R1(config-router)# exit

    R1(config)# ip default-network 0.0.0.0

    R1(config)# ip route 0.0.0.0 0.0.0.0 serial 0/0/0

  • 16

    Koritenje BGP-a

    BGP se moe iskoristiti za dinamiko razmjenjivanje informacija o rutiranju.

    BGP se takoe moe konfigurisati da reaguje na promjene u topologiji i dalje od linka prema ISP-u.

    Company A AS 65010

    Internet

    PE R1 S0/0/1

    ISP AS 65020

    S0/0/0

  • 17

    Redundantne konekcije

    Redundantnost se moe realizovati pomou redundantnih linkova, redundantnih ureaja i koritenjem redundantnih komponenata unutar rutera.

    Konekcija prema ISP-u se takoe moe nainiti redundantnom.

    Kada se klijent povezuje na jedan ISP, konekcija se naziva single-homed ili dual-homed.

    Kada se klijent povezuje na vie ISP-ova, konekcija se naziva multihomed ili dual-multihomed.

  • 18

    Redundantne konekcije

    Dual-multihomed Dual-homed

    Multihomed Single-homed

    Povezivanje na vie ISP-ova Povezivanje na jedan ISP

  • 19

    Povezivanje na jedan ISP: Single-Homed Slika prikazuje dvije mogunosti:

    Opcija 1: Statika ruta + default ruta.

    Opcija 2: Kada se koristi BGP, klijent dinamiki oglaava svoje javne mree, a ISP propagira default rutu prema klijentu.

    Company A AS 65010

    Internet

    PE R1 S0/0/1

    ISP AS 65020

    S0/0/0

    Static Route(s) Default Route

    BGP

    Option 1:

    Option 2:

  • 20

    Povezivanje na jedan ISP: Dual-Homed

    Slika prikazuje dvije mogunosti :

    Opcija 1: Oba linka su povezana na jedan klijentski ruter.

    Opcija 2: Radi poveanja elastinosti topologije, dva linka mogu da budu povezana na razliite klijentske rutere.

    Company A

    Internet

    ISP Option 1:

    PE R1

    Company A

    Internet

    ISP Option 2:

    PE R1

    R2

  • 21

    Povezivanje na vie ISP-ova: Multihomed

    Mora biti omogueno reagovanje na dinamike promjene pa se tipino koristi BGP.

    Prednosti ovakve topologije je nezavisnost od pada jednog ISP-a, kao i mogui load balancing prema razliitim odreditima.

    Company A

    Internet

    ISP 1

    PE

    R1

    R2 ISP 2

    PE

  • 22

    Povezivanje na vie ISP-ova: Dual-Multihomed

    Ovakva topologija ukljuuje sve prednosti koje donosi multihomed opcija, uz poboljanu elastinost.

    Company A

    Internet

    ISP 1

    PE

    R1

    R2 ISP 2

    PE

  • 23

    Koritenje BGP protokola u praksi

    Kada je BGP konfigurisan izmeu rutera u razliitim AS-ovima, naziva se Eksterni BGP (EBGP).

    Kada je BGP konfigurisan izmeu rutera u istom AS-u, naziva se Interni BGP (IBGP).

    EBGP

    EBGP

    IBGP

    IBGP

    IBGP

  • 24

    Eksterni BGP

    EBGP susjedi su u razliitim AS-ovima.

    EBGP susjedi treba da budu direktno povezani.

  • 25

    EBGP susjedstva zahtjevi

    Definisanje susjeda:

    TCP sesija (three-way handshake) mora biti uspostavljena prije razmjene BGP informacija.

    Dostupnost:

    EBGP susjedi su uglavnom direktno povezani.

    Razliiti AS brojevi:

    EBGP susjedi moraju imati razliite AS brojeve.

  • 26

    Interni BGP

    IBGP susjedi pripadaju istom AS-u.

    IBGP susjedi ne moraju da budu direktno povezani.

  • 27

    IBGP susjedstva zahtjevi

    Definisanje susjeda:

    TCP sesija (three-way handshake) mora biti uspostavljena prije razmjene BGP informacija.

    Dostupnost:

    IBGP susjedi moraju biti dostupni jedan drugom, uglavnom uz pomo internog protokola rutiranja.

    Loopback IP adrese se tipino koriste radi identifikovanja IBGP susjeda.

    Isti AS broj:

    IBGP susjedi moraju da imaju konfigurisan isti AS broj.

  • 28

    IBGP u tranzitnom AS-u

    Tranzitni AS je AS koji rutira saobraaj iz jednog eksternog AS-a u drugi eksterni AS.

    U primjeru sa slike, AS 65102 predstavlja ISP mreu. Samo dva ivina rutera (B i E) imaju konfigurisan BGP i imaju

    uspostavljeno IBGP susjedstvo koritenjem protokola OSPF.

    Iako EBGP rute mogu da se redistribuiraju uz pomo OSPF-a, potencijalno veliki broj BGP ruta moe da preoptereti OSPF pa se takvo rjeenje ne preporuuje.

  • 29

    IBGP u tranzitnom AS-u

    Bolje rjeenje bi bilo da postoji potpuno povezanu BGP mreu.

    BGP je konfigurisan na svim internim ruterima i svi ruteri imaju meusobno uspostavljenu IBGP sesiju.

    IBGP ruteri imaju potpuno znanje o eksternim rutama.

  • 30

    IBGP u netranzitnom AS-u

    Netranzitni AS je AS koji ne rutira saobraaj iz jednog eksternog AS-a prema drugom eksternom AS-u.

    Netranzitne AS mree su tipino klijentske mree.

    Svi ruteri u netranzitnom AS-u jo uvijek moraju imati potpuno znanje o eksternim rutama.

    Radi izbjegavanja petlji rutiranja unutar AS-a, BGP specifikuje da se rute nauene preko IBGP protokola nikad ne propagiraju drugim IBGP vorovima.

    Pretpostavlja se da je IBGP susjed koji alje BGP informacije potpuno povezan sa svim drugim IBGP vorovima.

  • 31

    BGP u praksi primjer

    Ruteri u AS 65500 ue rute od ISP-A i ISP-B preko EBGP-a i

    takoe imaju konfigurisan IBGP.

    Ako konekcija prema jednom od ISP-ova padne, saobraaj e biti upuen prema drugom ISP-u.

    Neeljena situacija bi se mogla desiti ako je posmatrani AS

    konfigurisan kao tranzitni AS.

    Na primjer, AS 65500 ui o mrei 172.18.0.0/16 preko ISP-A.

    Ako ruter B oglaava tu rutu prema ISP-B, onda ISP-B moe da odlui da je koristi.

    Ovakva neeljena situacija moe da se izbjegne paljivom BGP konfiguracijom.

  • 32

    Tri multihoming opcije

    1. Svaki ISP prosljeuje samo default rutu prema AS-u.

    2. Svaki ISP prosljeuje samo default rutu i neke specifine rute prema AS-u.

    3. Svaki ISP prosljeuje sve rute prema AS-u.

  • 33

    Default rute od svih provajdera

  • 34

    Default rute i parcijalne informacije

  • 35

    Sve rute od svih provajdera

  • 36

    BGP Path Vector karakteristike

    Interni protokoli rutiranja oglaavaju listu mrea i metriku do svake od njih.

    Za razliku od njih, BGP ruteri razmjenjuju informacije o dostupnosti mrea, koje se nazivaju vektori putanje (eng. path vectors), a koji se sastoje od atributa putanje (eng.

    path attributes).

  • 37

    BGP Path Vector karakteristike

    Path vector informacije ukljuuju:

    Listu pune putanje BGP AS brojeva (hop by hop) potrebnih da se preu da bi se dolo do odredine mree.

    Preostali atributi ukljuujui IP adresu da bi se stiglo do sljedeeg AS-a (atribut next-hop) i kako su mree na kraju putanje predstavljene BGP-u (atribut origin code).

  • 38

    Kada koristiti BGP?

    AS ima vie konekcija prema drugim AS-ovima.

    AS dozvoljava paketima da prou kroz AS da bi stigli do drugih AS-ovima (npr. ISP).

    Mora da se vri manipulisanje polisom rutiranja i selekcijom rute za saobraaj koji ulazi i izlazi iz AS-a.

  • 39

    Kada ne koristiti BGP?

    Jedna konekcija prema Internetu ili drugom AS-u.

    Nedostatak memorijske ili procesorske moi na ruterima za procesiranje konstantnih BGP informacija.

    Administrator ima limitirano razumijevanje filtriranja ruta i procesa selekcije BGP putanje.

    U ovim sluajevima, treba da se koriste statike ili default rute.

  • 40

    BGP sinhronizacija

    Pravilo o BGP sinhronizaciji glasi:

    BGP ruter ne treba da koristi, ili oglaava eksternom susjedu, rutu koju je nauio od protokola IBGP, osim ako je ta ruta lokalna ili nauena od strane internog protokola rutiranja.

    Ako je sinhronizacija omoguena, ruter koji je ui od IBGP susjeda eka dok interni protokol rutiranja ne propagira rutu kroz AS i onda je oglaava eksternim susjedima.

    Sinhronizacija je podrazumijevano onemoguena, pa BGP moe koristiti i oglaavati eksternim BGP susjedima rute koje su nauene od strane IBGP susjeda, a nisu prisutne u lokalnoj tabeli rutiranja.

    BGP sinhronizacija je onemoguena od Cisco IOS Software Release 12.2(8)T.

  • 41

    BGP tabela

    BGP odrava svoju vlastitu tabelu o BGP informacijama primljenih od BGP susjeda i poslanih prema njima.

    Ruter najbolje rute iz BGP tabele kandiduje za IP tabelu rutiranja.

  • 42

    BGP tabele

    Tabela susjeda

    Lista BGP susjeda

    BGP tabela

    Lista svih mrea nauenih od svakog susjeda

    Moe sadravati vie putanja prema istoj odredinoj mrei

    Sadri BGP atribute za svaku putanju

    IP tabela rutiranja

    Lista najboljih putanja prema odredinim mreama

  • 43

    Atributi putanje

    Atributi putanje predstavljaju skup BGP metrika koje opisuju putanju (rutu) do odredine mree.

    BGP koristi atribute putanje radi utvrivanja najboljih putanja do odredinih mrea.

    Neki atributi su obavezni i automatski su ukljueni u rutirajue informacije, dok se drugi mogu opcionalno konfigurisati.

    BGP atributi se koriste za realizaciju polise rutiranja.

    Konfigurisanje BGP atributa omoguava administratorima veliki broj opcija za kontrolisanje putanje.

  • 44

    Atributi putanje

    BGP update poruka ukljuuje sekvencu atributa putanje varijabilne veliine koja opisuje rutu.

    Atribut putanje se sastoji od tri polja:

    Tip atributa

    Veliina atributa

    Vrijednost atributa

    16 2 1 2 Variable 2 Variable Variable

    Marker Length Type Unfeasible

    Routes Length

    Withdrawn

    Routes

    Attribute

    Length

    Path

    Attributes NLRI

    Octets

    Update Message Path Attributes

    Information

    BGP Attribute Type

    Type code 1 ORIGIN Type code 2 AS_PATH Type code 3 NEXT_HOP Type code 4 MULTI_EXIT_DISC Type code 5 LOCAL_PREF Type code 6 ATOMIC_AGGREGATE Type code 7 AGGREGATOR Type code 8 Community (Cisco-defined) Type code 9 Originator-ID (Cisco-defined) Type code 10 Cluster list (Cisco-defined)

  • 45

    Atributi putanje u update porukama

  • 46

    Atributi

    Atribut EBGP IBGP

    AS_PATH Well-known Mandatory Well-known

    Mandatory

    NEXT_HOP Well-known Mandatory Well-known

    Mandatory

    ORIGIN Well-known Mandatory Well-known

    Mandatory

    LOCAL_PREF Not allowed Well-known Discretionary

    ATOMIC_AGGREGATE Well-known Discretionary Well-known Discretionary

    AGGREGATOR Optional Transitive Optional

    Transitive

    COMMUNITY Optional Transitive Optional

    Transitive

    MULTI_EXIT_DISC Optional Nontransitive Optional

    Nontransitive

    Automatski ukljueni u

    update poruku

    Mogu se konfigurisati radi lakeg

    biranja putanje.

  • 47

    Atributi putanje

    Postoje etiri razliita tipa atributa. Nisu svi podrani od svih proizvoaa

  • 48

    Well-Known Mandatory atributi

    Atribut je prepoznatljiv od strane svih implementacija BGP-a i mora se pojaviti u BGP update poruci.

    Ako nedostaje, bie generisana poruka o greci.

    Well-known mandatory atributi osiguravaju da se sve BGP implementacije sloe o standardnom skupu atributa.

  • 49

    Well-Known Mandatory: AS_PATH

    Atribut AS_PATH sadri listu AS brojeva do

    odredine mree.

    Kad god update prolazi kroz AS, AS broj se dodaju

    na poetak atributa AS_PATH prije

    oglaavanja sljedeem EBGP susjedu.

  • 50

    Well-Known Mandatory: AS_PATH

  • 51

    Well-Known Mandatory: NEXT_HOP

    Atribut NEXT_HOP indicira IP adresu koja se koristi da bi se dolo do odredine mree.

    IP adresa je ulazna taka sljedeeg AS-a u putanji prema odredinoj mrei.

    Stoga, za EBGP, next-hop adresa je IP adresa susjeda od koga je stigao update.

  • 52

    Well-Known Mandatory: ORIGIN

    Atribut ORIGIN definie porijeklo putanje, a moe da bude:

    IGP:

    Ruta je interna u izvornom AS-u i uglavnom se koristi komandom network

    unutar BGP protokola.

    IGP porijeklo se oznaava sa slovom i u BGP tabeli.

    EGP:

    (zastarjelo) Ruta je nauena uz pomo EGP protokola, koji se smatra istorijskim protokolom rutiranja i nije podran na Internetu.

    EGP porijeklo se oznaava sa slovom e u BGP tabeli.

    Incomplete:

    Porijeklo rute nije poznato ili je nauena na neki drugi nain. Ovo porijeklo se obino pojavljuje kada se ruta redistribuira u BGP.

    Incomplete porijeklo se oznaava sa znakom ? u BGP tabeli.

  • 53

    Well-Known Mandatory: ORIGIN

    R1# show ip bgp

    BGP table version is 24, local router ID is 172.16.1.2

    Status codes: s suppressed, d damped, h history, * valid, > best, i -

    internal

    Origin codes: i - IGP, e - EGP, ? - incomplete

    Network Next Hop Metric LocPrf Weight Path

    *> 192.208.10.0 192.208.10.5 0 0 300 i

    *> 172.16.1.0 0.0.0.0 0 32768 i

    R1# show ip bgp

    Network Next Hop Metric LocPrf Weight Path

    *> 10.1.1.0/24 0.0.0.0 0 32768 ?

    *> 192.168.1.0/24 10.1.1.2 84 32768 ?

    *> 192.168.2.0/24 10.1.1.2 74 32768 ?

    i = Ruta generisana pomou network komande.

    ? = Ruta generisana pomou nepoznate metode (obino redistribucijom).

  • 54

    Well-Known Discretionary

    Atribut je prepoznatljiv od strane svih implementacija BGP-a, ali se ne mora pojaviti u svakoj BGP update poruci.

  • 55

    Well-Known Discretionary: LOCAL_PREF

    Atribut Local Preference oznaava lokalne rutere unutar AS-a koji se preferiraju da bi se preko njih poslao saobraaj van AS-a.

    Preferira se putanja sa veim local preference atributom.

    Podrazumijevana vrijednost za atribut local preference je 100.

    Konfigurie se na ruteru i razmjenjuje izmeu IBGP rutera.

    Ne prenosi se EBGP susjedima.

  • 56

    Well-Known Discretionary: LOCAL_PREF

    Ruteri A i B su IBGP susjedi u AS-u 64520 i oba primaju update poruke o mrei 172.16.0.0 iz razliitih pravaca. Atribut local preference na ruteru A je postavljen na 200.

    Atribut local preference na ruteru B je postavljen na 150.

    Poto je atribut local preference na ruteru A vei, onda se on bira kao povoljnija izlazna taka iz AS-a 64520.

  • 57

    Optional Transitive

    Atribut moe, ali i ne mora biti prepoznatljiv od strane svih BGP implementacija.

    Poto je atribut tranzitivan, BGP prihvata i oglaava atribut ak i ako ga ne prepoznaje.

  • 58

    Optional Transitive: Community

    Atribut BGP Community moe da se koristi za filtriranje ulaznih ili izlaznih ruta.

    BGP ruteri mogu da taguju rute sa indikatorom (community) i da time dozvole drugim ruterima da donesu odluku na osnovu postavljenog

    taga.

    Ako ruter ne razumije ovaj atribut, prosljeuje ga sljedeem ruteru.

    Community atributi nisu ogranieni na jedan AS.

  • 59

    Optional Nontransitive

    Atribut moe, ali i ne mora biti prepoznatljiv od strane svih BGP implementacija.

    Bez obzira da li BGP ruter prepoznaje atribut, on nije tranzitivan i ne prosljeuje se drugim BGP susjedima.

  • 60

    Optional Nontransitive: MED

    Atribut MED (eng. Multiple Exit Discriminator), popularno nazvan metrika, prua hint eksternim susjedima kako da alju saobraaj u AS ako postoje vie ulaznih taaka.

    Manja MED vrijednost se preferira u odnosu na veu!

    MED se alje EBGP susjedima i ovi ruteri propagiraju MED vrijednost kroz svoj AS.

    Ruteri unutar AS-a koriste MED, ali ga ne prosljeuju van AS-a.

    Kada se ista update poruka prosljeuje drugom AS-u, metrika se setuje na podrazumijevanu vrijednost (0).

    Koritenjem atributa MED, BGP postaje jedini protokol koji moe da utie na to kako e saobraaj da se alje u AS.

  • 61

    Optional Nontransitive: MED

    Ruteri B i C ukljuuju atribut MED u svoje update poruke prema ruteru A.

    Ruter B MED atribut je postavljen na 150.

    Ruter C MED atribut je postavljen na 200.

    Kada A primi update poruke od strane B i C, on bira ruter B kao najbolji next hop zbog manje MED vrijednosti.

  • 62

    Atribut Cisco Weight

    Weight predstavlja atribut koji je pod vlasnitvom Cisca.

    Po funkciji je slian atributu Local preference, poto se primijenjuje kada jedan ruter ima vie izlaznih taaka.

    Atribut Local preference se koristi kada 2+ rutera predstavljaju izlazne take iz AS-a.

    Konfigurie se lokalno na ruteru i ne propagira se drugim ruterima.

    Rute sa veom vrijednou weight atributa se preferiraju kada postoji vie ruta prema istom odreditu.

    Weight atribut moe da ima vrijednost izmeu 0 i 65535.

    Putanje koje potiu od strane rutera imaju atribut weight podrazumijevano postavljen na 32768, a druge putanje imaju

    podrazumijevanu vrijednost 0.

  • 63

    Atribut Cisco Weight

    Ruteri B i C ue o mrei 172.20.0.0 iz AS-a 65250 i propagiraju update poruke prema ruteru A.

    Samim tim, ruter A ima dvije putanje prema mrei 172.20.0.0.

    Ruter A postavlja atribut weight na sljedei nain: Update poruke koje dolaze od B imaju weight postavljen na 200.

    Update poruke koje dolaze od C imaju weight postavljen na 150.

    Ruter A koristi ruter B zbog vee weight vrijednosti.

  • 64

    BGP proces selekcije rute

    Odluka o BGP najboljoj putanji se bazira na vrijednosti atributa koje sadri update poruka.

    BGP uzima u razmatranje samo sinhronizovane rute bez AS petlji i sa validnom next-hop adresom.

  • 65

    BGP proces selekcije rute

    Preferirati rutu sa najveom vrijednou weight atributa.

    Preferirati rutu sa najveom LOCAL_PREF vrijednou.

    Preferirati lokalno generisanu rutu (network ili aggregate rute).

    Preferirati rutu sa najkraim AS-PATH atributom.

    Preferirati rutu sa najniim ORIGIN atributom (IGP

  • 66

    Using Multiple Routing Protocols on a Network

    BGP konfiguracija

  • 67

    Omoguavanje BGP rutiranja

    Definisanje BGP-a kao IP protokola rutiranja.

    Router(config)#

    router bgp autonomous-system

    Vrijednost autonomous-system predstavlja ili interno generisan broj (ako mrea nije povezana na mreu provajdera) ili broj dobijen od ISP-a ili RIR-a.

    Predstavlja obavezan parametar.

    Pozitivan cijeli broj izmeu 1 i 65535.

    Samo jedna instanca BGP protokola moe da se konfigurie na ruteru.

  • 68

    Definisanje BGP susjeda

    Identifikovanje rutera sa kojim se uspostavlja BGP sesija.

    Router(config-router)#

    neighbor {ip-address | peer-group-name} remote-as

    autonomous-system

    Parametar ip-address predstavlja odredinu adresu BGP susjeda.

    Adresa mora biti dostina prije uspostavljanja BGP veze.

    Parametar autonomous-system se koristi za idenitifikovanje sesije, tj. da li je uspostavljena pomou IBGP-a ili EBGP-a.

    Ako se ova vrijednost podudara sa ruterovim AS-om, onda se radi o IBGP sesiji.

    Ako vrijednost nije ista kao ruterov AS, onda se radi o EBGP sesiji.

  • 69

    BGP neighbor komanda primjer

  • 70

    BGP peer grupe

    Kod BGP-a, susjedi se esto konfiguriu prema istoj polisi.

    Radi uproavanja konfiguracije, susjedi koji odgovaraju istoj polisi mogu da se grupiu u peer grupe.

    Ovo je preporueno rjeenje kada postoji mnogo BGP vorova.

    Umjesto posebnog definisanja iste polise za svakog od susjeda, moe se definisati peer grupa.

    Pojedinani vorovi se tada proglaavaju lanovima peer grupe.

    lanovi peer grupe nasljeuju uspostavljenu konfiguraciju.

  • 71

    Definisanje BGP peer grupe

    Kreiranje peer grupe na lokalnom ruteru.

    Router(config-router)#

    neighbor peer-group-name peer-group

    Parametar peer-group-name predstavlja ime BGP grupe koja se kreira.

    Ime je lokalno za ruter na kojem se vre konfiguracija i ne proslijeuje se drugim ruterima.

  • 72

    Ulanjivanje susjeda u peer grupu

    Ulanjivanje susjeda u peer grupu.

    Router(config-router)#

    neighbor ip-address peer-group peer-group-name

    Parametar ip-address predstavlja IP adresu susjeda koji se proglaava lanom peer grupe.

    peer-group-name mora ve da postoji..

  • 73

    IBGP problem sa izvorinom IP adresom

    BGP funkcionie na principu da svaki ruter mora da bude svjestan postojanja svog susjeda i da mora da ima neighbor komandu konfigurisanu za njega.

    Na primjer, kada ruter kreira ili prosljeuje paket, IP adresa izlaznog interfejsa se podrazumijevano koristi kao izvorina adresa paketa.

    Za BGP pakete, ova izvorina IP adresa mora da se podudara sa IP adresom u odgovarajuoj neighbor komandi susjednog rutera ili

    ruteri nee uspostaviti BGP sesiju.

    Ovaj problem se ne vezuje za EBGP susjede poto su oni obino direktno povezani.

  • 74

    IBGP problem sa izvorinom IP adresom

    Kada postoji vie putanja izmeu IBGP susjeda, BGP izvorina adresa moe da prouzrokuje probleme: Ruter D koristi komandu neighbor 10.3.3.1 remote-as 65102

    da bi uspostavio susjedstvo sa A.

    Meutim, ruter A alje BGP pakete prema D preko B pa je izvorina adresa paketa 10.1.1.1.

    IBGP sesija izmeu A i D ne moe da se uspostavi poto D ne prepoznaje 10.1.1.1 kao BGP susjeda.

  • 75

    IBGP i izvorina IP adresa rjeenje

    Uspostavljanje IBGP sesije pomou loopback interfejsa.

    Router(config-router)#

    neighbor {ip-address | peer-group-name} update-source

    loopback interface-number

    Informisanje rutera da koristi adresu loopback interfejsa za sve BGP pakete.

    Prepisuje podrazumijevanu izvorinu IP adresu za BGP pakete.

    Tipino se koristi samo kod IBGP sesija.

    Dodatno, fiziki interfejs moe da otkae iz bilo kog razloga za razliku od loopback interfejsa.

  • 76

    IBGP i izvorina IP adresa primjer

    AS 65102 AS 65100

    R1 R4

    Lo0 192.168.2.2

    .1

    192.168.1.1 172.16.1.1

    R2 R3

    10.1.1.0/24

    10.2.2.0/24

    .1 .2

    .2

    Lo0 192.168.3.3

    AS 65101

    EIGRP

    R2(config)# router bgp 65101

    R2(config-router)# neighbor 172.16.1.1 remote-as 65100

    R2(config-router)# neighbor 192.168.3.3 remote-as 65101

    R2(config-router)# neighbor 192.168.3.3 update-source loopback0

    R2(config-router)# exit

    R2(config)# router eigrp 1

    R2(config-router)# network 10.0.0.0

    R2(config-router)# network 192.168.2.0

    R2(config-router)#

    R3(config)# router bgp 65101

    R3(config-router)# neighbor 192.168.1.1 remote-as 65102

    R3(config-router)# neighbor 192.168.2.2 remote-as 65101

    R3(config-router)# neighbor 192.168.2.2 update-source loopback0

    R3(config-router)# exit

    R3(config)# router eigrp 1

    R3(config-router)# network 10.0.0.0

    R3(config-router)# network 192.168.3.0

    R3(config-router)#

  • 77

    EBGP dual-homed problem

    R1 u AS 65102 je dual-homed sa R2 u AS 65101.

    Problem se moe desiti ako R1 koristi samo jednu neighbor komandu koja pokazuje na adresu 192.168.1.18 rutera R2 .

    Ako taj link padne, BGP sesija izmeu AS-ova je izgubljena i paketi se ne prosljeuju iz jednog AS-a u drugi uprkos postojanju drugog linka.

    Rjeenje bi moglo biti konfigurisanje dvije neighbor komande na R1 koje pokazuju i na 192.168.1.18 i na 192.168.1.34.

    Meutim, na ovaj nain se bespotrebno udvostruuje broj BGP update poruka koje se alju sa R1 prema R2.

  • 78

    EBGP dual-homed rjeenje

    Idealno rjeenje je da se:

    koriste loopback adrese.

    konfiguriu statike rute prema loopback adresi drugog rutera,

    Konfigurie komandu neighbor ebgp-multihop u svrhu

    informisanja BGP procesa da je BGP susjed udaljen vie od jednog hopa.

  • 79

    Omoguavanje multihop EBGP-a

    Poveati TTL za EBGP konekcije.

    Router(config-router)#

    neighbor {ip-address | peer-group-name} ebgp-multihop

    [ttl]

    Ova komanda je od znaaja kada postoje redundante putanje izmeu EBGP susjeda.

    Podrazumijevani ttl je 1 pa BGP susjedi moraju biti direktno povezani.

    Opseg je od 1 do 255.

    Poveavanje ttl vrijednosti omoguava BGP-u da uspostavi EBGP konekcije izmeu rutera udaljenih vie od jednog hopa, ali omoguava i BGP load balancing.

  • 80

    Multihop EBGP primjer

    AS 65102

    Lo0 172.17.1.1

    R1 R2

    EBGP

    EBGP

    192.168.1.18 /28

    Lo0 172.16.1.1

    AS 65101

    192.168.1. 34 /28

    192.168.1.17 /28

    192.168.1. 33 /28

    R1(config)# router bgp 65102

    R1(config-router)# neighbor 172.16.1.1 remote-as 65101

    R1(config-router)# neighbor 172.16.1.1 update-source loopback0

    R1(config-router)# neighbor 172.16.1.1 ebgp-multihop 2

    R1(config-router)# exit

    R1(config)# ip route 172.16.1.1 255.255.255.255 192.168.1.18

    R1(config)# ip route 172.16.1.1 255.255.255.255 192.168.1.34

    R1(config)#

    R2(config)# router bgp 65101

    R2(config-router)# neighbor 172.17.1.1 remote-as 65102

    R2(config-router)# neighbor 172.17.1.1 update-source loopback0

    R2(config-router)# neighbor 172.17.1.1 ebgp-multihop 2

    R2(config-router)# exit

    R2(config)# ip route 172.17.1.1 255.255.255.255 192.168.1.17

    R2(config)# ip route 172.17.1.1 255.255.255.255 192.168.1.33

    R2(config)#

  • 81

    Oglaavanje EBGP ruta IBGP vorovima

    Kada EBGP ruter primi update poruku od drugog EBGP susjeda i nakon toga je proslijedi svojim IBGP susjedima,

    izvorina IP adresa se nee promijeniti!

    IBGP susjedi se moraju konfigurisati da bi im bila dostupna eksterna IP adresa.

    Drugo rjeenje je da se poniti podrazumijevano ponaanje rutera i da se on postavi svoju adresu kao next-hop adresu

    za rutu koju oglaava IBGP susjedima.

    Da bi se ovo uradilo, koristi se neighbor next-hop-self

    komanda.

  • 82

    neighbor next-hop-self komanda

    Konfigurisanje rutera da bude next hop IBGP susjedu.

    Router(config-router)#

    neighbor {ip-address | peer-group-name} next-hop-self

    Komanda tjera BGP ruter da oglaava sebe kao next hop za rute koje oglaava.

    Parametar ip-address identifikuje susjedni ruter kojem se alju update poruke.

  • 83

    Next Hop Self primjer

    R2(config)# router bgp 65101

    R2(config-router)# neighbor 172.16.1.1 remote-as 65100

    R2(config-router)# neighbor 192.168.3.3 remote-as 65101

    R2(config-router)# neighbor 192.168.3.3 update-source loopback0

    R2(config-router)# neighbor 192.168.3.3 next-hop-self

    R2(config-router)# exit

    R2(config)# router eigrp 1

    R2(config-router)# network 10.0.0.0

    R2(config-router)# network 192.168.2.0

    R2(config-router)#

    AS 65102 AS 65100

    R1 R4

    Lo0 192.168.2.2

    .1

    192.168.1.1 172.16.1.1

    R2 R3

    10.1.1.0/24

    10.2.2.0/24

    .1 .2

    .2

    Lo0 192.168.3.3

    AS 65101

    EIGRP

  • 84

    Definisanje mrea koje BGP oglaava

    Postoje dvije mogunosti za oglaavanje mrea kod BGP-a: Komanda network,

    Redistribucija ruta internog protokola rutiranja u BGP.

    Napomena: Redistribucija se ne preporuuje poto moe da prouzrokuje nestabilne BGP tabele.

  • 85

    Identifikovanje BGP mrea

    Omoguavanje BGP-a da oglaava mreu ako postoji.

    Router(config-router)#

    network network-number [mask network-mask] [route-map

    map-tag]

    Komanda network utvruje koje mree e ruter da oglaava. Za razliku od internih protokola rutiranja, komanda ne pokree BGP

    na specifikovanim interfejsima.

    Parametar mask pokazuje da BGP-4 podrava subnetting i supernetting.

    Ako se maska ne specifikuje, ovom komandom se oglaava classful mrea

    Prefiks mora tano da se podudara sa zapisom u IP tabeli rutiranja.

  • 86

    BGP ruta mora biti u IP tabeli rutiranja

    Na primjer, da bi se sumarizovale mree i oglasio CIDR blok 192.168.0.0/16, konfiguracija treba da izgleda:

    network 192.168.0.0 mask 255.255.0.0

    ip route 192.168.0.0 255.255.0.0 null0

    Sada BGP moe da pronae tano podudaranje u tabeli rutiranja i da oglasi mreu 192.168.0.0/16 svojim susjedima.

    Oglaena statika ruta se nikada nee koristiti.

  • 87

    BGP MD5 autentikacija

    R1(config)# router bgp 65000

    R1(config-router)# neighbor 10.64.0.2 remote-as 65500

    R1(config-router)# neighbor 10.64.0.2 password BGP-Pa55w0rd

    R1(config-router)#

    R2(config)# router bgp 65500

    R2(config-router)# neighbor 10.64.0.1 remote-as 65000

    R2(config-router)# neighbor 10.64.0.1 password BGP-Pa55w0rd

    R2(config-router)#

    AS 65500

    R1 R2

    10.64.0.0 /24 .1 .2

    AS 65000

  • 88

    MD5 konfiguracija problemi

    Ako jedan ruter ima konfigurisanu lozinku, a drugi nema pojavie se sljedea poruka na konzoli: %TCP-6-BADAUTH: No MD5 digest from 10.1.0.2(179) to

    10.1.0.1(20236)

    Ako dva rutera imaju konfigurisane razliite lozinke, pojavie se sljedea poruka: %TCP-6-BADAUTH: Invalid MD5 digest from

    10.1.0.1(12293) to 10.1.0.2(179)

  • 89

    Hard Reset BGP sesija

    Resetuje sve BGP konekcije na ruteru.

    Router#

    clear ip bgp {* | neighbor-address}

    Cijela BGP tabela se odbacuje.

    Sve rute moraju ponovo da se naue.

    Kada se koristi parametar neighbor-address, resetuje se samo BGP sesija prema tom susjedu.

  • 90

    Monitoring BGP ruta

    Komanda Opis

    show ip bgp neighbors

    {address} received-routes

    Prikazuje sve primljene rute (i prihvaene i odbaene) od specifikovanog susjeda.

    show ip bgp neighbors

    {address} routes

    Prikazuje sve rute koje su primljene i prihvaene od strane specifikovanog susjeda.

    Ovaj ispis predstavlja podskup prethodnog ispisa.

    show ip bgp Prikazuje ispis BGP tabele.

    show ip bgp neighbors

    {address} advertised-routes Prikazuje BGP rute koje se oglaavaju susjedima.

  • 91

    BGP konfiguracija primjer #1

    R1(config)# router bgp 64520

    R1(config-router)# neighbor 10.1.1.2 remote-as 65000

    R1(config-router)# network 172.16.0.0

    R1(config-router)#

    R2(config)# router bgp 65000

    R2(config-router)# neighbor 10.1.1.1 remote-as 64520

    R2(config-router)# network 172.17.0.0

    R2(config-router)#

    AS 65000

    R1 R2

    10.1.1.0 .1 .2

    AS 64520

    172.17.0.0 172.16.0.0

  • 92

    BGP konfiguracija primjer #2

    R2(config)# router bgp 65010

    R2(config-router)# neighbor 10.1.1.2 remote-as 65020

    R2(config-router)# network 10.2.2.0 mask 255.255.255.0

    R2(config-router)# network 10.4.4.0 mask 255.255.255.0

    R2(config-router)#

    AS 65020

    R2

    10.1.1.0 /24 .2

    AS 65010

    10.2.2.0 /24

    R1

    .1

    R3 10.3.3.0 /24 .2

    Lo0 10.4.4.4

    .1

    Lo0 10.5.5.5

  • 93

    BGP bez peer grupe primjer

    R1(config)# router bgp 65100

    R1(config-router)# neighbor 192.168.24.1 remote-as 65100

    R1(config-router)# neighbor 192.168.24.1 update-source loopback 0

    R1(config-router)# neighbor 192.168.24.1 next-hop-self

    R1(config-router)# neighbor 192.168.24.1 distribute-list 20 out

    R1(config-router)#

    R1(config-router)# neighbor 192.168.25.1 remote-as 65100

    R1(config-router)# neighbor 192.168.25.1 update-source loopback 0

    R1(config-router)# neighbor 192.168.25.1 next-hop-self

    R1(config-router)# neighbor 192.168.25.1 distribute-list 20 out

    R1(config-router)#

    R1(config-router)# neighbor 192.168.26.1 remote-as 65100

    R1(config-router)# neighbor 192.168.26.1 update-source loopback 0

    R1(config-router)# neighbor 192.168.26.1 next-hop-self

    R1(config-router)# neighbor 192.168.26.1 distribute-list 20 out

    R1(config-router)#

  • 94

    BGP sa peer grupom primjer

    R1(config)# router bgp 65100

    R1(config-router)# neighbor INTERNAL peer-group

    R1(config-router)# neighbor INTERNAL remote-as 65100

    R1(config-router)# neighbor INTERNAL update-source loopback 0

    R1(config-router)# neighbor INTERNAL next-hop-self

    R1(config-router)# neighbor INTERNAL distribute-list 20 out

    R1(config-router)# neighbor 192.168.24.1 peer-group INTERNAL

    R1(config-router)# neighbor 192.168.25.1 peer-group INTERNAL

    R1(config-router)# neighbor 192.168.26.1 peer-group INTERNAL

    R1(config-router)#

  • 95

    IBGP & EBGP primjer

    R2(config)# router bgp 65000

    R2(config-router)# neighbor 10.1.1.1 remote-as 64520

    R2(config-router)# neighbor 192.168.3.3 remote-as 65000

    R2(config-router)# neighbor 192.168.3.3 update-source loopback 0

    R2(config-router)# neighbor 192.168.3.3 next-hop-self

    R2(config-router)# network 172.16.20.0 mask 255.255.255.0

    R2(config-router)# network 192.168.1.0

    R2(config-router)# network 192.168.3.0

    R2(config-router)# no synchronization

    R2(config-router)#

    172.16.30.0 172.16.20.0

    Lo0 192.168.2.2 /32

    .2 R2 R3

    192.168.1.0 /24

    192.168.4.0 /24

    .2 .3

    .3

    Lo0 192.168.3.3 /32

    AS 65000

    10.1.1.0 /24 .1

    R1

    AS 64520

    .2

    172.16.10.0

  • 96

    Using Multiple Routing Protocols on a Network

    BGP verifikacija & troubleshooting

  • 97

    BGP verifikacija & troubleshooting

    Komanda Opis

    show ip bgp Prikazuje unose u BGP tabeli.

    show ip bgp neighbors Prikazuje detaljne informacije o TCP i BGP vezama prema

    susjedima.

    show ip bgp summary Prikazuje status svih BGP veza.

    show ip bgp neighbors

    {address} advertised-

    routes Prukazuje sve BGP rute koje se oglaavaju susjedima.

    show ip bgp rib-

    failure

    Prikazuje BGP rute koje nisu instalirane u tabelu rutiranja, i

    razlog zbog ega nisu.

    debug ip bgp

    [dampening | events |

    keepalives | updates]

  • 98

    BGP verifikacija: show ip bgp

    R1# show ip bgp

    BGP table version is 14, local router ID is 172.31.11.1

    Status codes: s suppressed, d damped, h history, * valid, > best, i -

    internal, r RIB-failure, S Stale

    Origin codes: i - IGP, e - EGP, ? - incomplete

    Network Next Hop Metric LocPrf Weight Path

    *> 10.1.0.0/24 0.0.0.0 0 32768 i

    * i 10.1.0.2 0 100 0 i

    *> 10.1.1.0/24 0.0.0.0 0 32768 i

    *>i10.1.2.0/24 10.1.0.2 0 100 0 i

    *> 10.97.97.0/24 172.31.1.3 0 64998 64997 i

    * 172.31.11.4 0 64999 64997 i

    * i 172.31.11.4 0 100 0 64999 64997 i

    *> 10.254.0.0/24 172.31.1.3 0 0 64998 i

    * 172.31.11.4 0 64999 64998 i

    * i 172.31.1.3 0 100 0 64998 i

    r> 172.31.1.0/24 172.31.1.3 0 0 64998 i

    r 172.31.11.4 0 64999 64998 i

    r i 172.31.1.3 0 100 0 64998 i

    *> 172.31.2.0/24 172.31.1.3 0 0 64998 i

    Prikaz BGP tabele

    Status:.

    - * znai da je next-hop adresa (u petoj kolomni) validna.

    - r znai da se desio RIB failure i da ruta nije instalirana u tabelu rutiranja.

    Zadnja kolona predstavlja atribut ORIGIN.

    - i oznaava da je izvorni ruter pomou komande network uveo mreu u BGP proces.

    - ? oznaava da je ruta redistribuirana iz internog protokola rutiranja u BGP proces.

    Trea kolona je ili prazna ili ima slovo i.

    - Ako ima i, IBGP susjed je oglasio rutu ovom ruteru.

    - Ako je kolona prazna, BGP je nauio rutu od strane eksternog susjeda.

    Znak > znai da je to najbolja ruta izabrana od strane BGP-a.

    Ruta je ponuena od strane BGP-a kao kandidat za tabelu rutiranja.

    Sekcija Path izlistava AS path. Zadnji AS broj predstavlja AS iz kojeg potie ruta.

    Ako je ovo polje prazno, ruta potie iz trenutnog AS-a.

    Ova sekcija izlistava tri BGP atributa putanje: metriku (MED), local preference i weight.

  • 99

    BGP verifikacija: show ip bgp summary

    R1# show ip bgp summary

    BGP router identifier 10.1.1.1, local AS number 65001

    BGP table version is 124, main routing table version 124

    9 network entries using 1053 bytes of memory

    22 path entries using 1144 bytes of memory

    12/5 BGP path/bestpath attribute entries using 1488 bytes of memory

    6 BGP AS-PATH entries using 144 bytes of memory

    0 BGP route-map cache entries using 0 bytes of memory

    0 BGP filter-list cache entries using 0 bytes of memory

    BGP using 3829 total bytes of memory

    BGP activity 58/49 prefixes, 72/50 paths, scan interval 60 secs

    Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd

    10.1.0.2 4 65001 11 11 124 0 0 00:02:28 8

    172.31.1.3 4 64998 21 18 124 0 0 00:01:13 6

    172.31.11.4 4 64999 11 10 124 0 0 00:01:11 6

    Verifikacija BGP veza.

  • 100

    BGP verifikacija: debug ip bgp updates

    R1# debug ip bgp updates

    Mobile router debugging is on for address family: IPv4 Unicast

    R1# clear ip bgp 10.1.0.2

    *May 24 11:06:41.309: %BGP-5-ADJCHANGE: neighbor 10.1.0.2 Up

    *May 24 11:06:41.309: BGP(0): 10.1.0.2 send UPDATE (format) 10.1.1.0/24, next 10.1.0.1, metric 0,

    path Local

    *May 24 11:06:41.309: BGP(0): 10.1.0.2 send UPDATE (prepend, chgflags: 0x0) 10.1.0.0/24, next

    10.1.0.1, metric 0, path Local

    *May 24 11:06:41.309: BGP(0): 10.1.0.2 NEXT_HOP part 1 net 10.97.97.0/24, next 172.31.11.4

    *May 24 11:06:41.309: BGP(0): 10.1.0.2 send UPDATE (format) 10.97.97.0/24, next 172.31.11.4, metric

    0, path 64999 64997

    *May 24 11:06:41.309: BGP(0): 10.1.0.2 NEXT_HOP part 1 net 172.31.22.0/24, next 172.31.11.4

    *May 24 11:06:41.309: BGP(0): 10.1.0.2 send UPDATE (format) 172.31.22.0/24, next 172.31.11.4,

    metric 0, path 64999

    *May 24 11:06:41.349: BGP(0): 10.1.0.2 rcvd UPDATE w/ attr: nexthop 10.1.0.2, origin i, localpref

    100, metric 0

    *May 24 11:06:41.349: BGP(0): 10.1.0.2 rcvd 10.1.2.0/24

    *May 24 11:06:41.349: BGP(0): 10.1.0.2 rcvd 10.1.0.0/24

    Verifikacija BGP veza.

  • 101

    BGP verifikacija: show ip bgp neighbors

    R1# show ip bgp neighbors

    BGP neighbor is 172.31.1.3, remote AS 64998, external link

    BGP version 4, remote router ID 172.31.2.3

    BGP state = Established, up for 00:19:10

    Last read 00:00:10, last write 00:00:10, hold time is 180, keepalive

    interval is 60 seconds

    Neighbor capabilities:

    Route refresh: advertised and received(old & new)

    Address family IPv4 Unicast: advertised and received

    Message statistics:

    InQ depth is 0

    OutQ depth is 0

    Sent Rcvd

    Opens: 7 7

    Notifications: 0 0

    Updates: 13 38

    Verifikacija BGP veza.

  • 102

    Using Multiple Routing Protocols on a Network

    BGP manipulacija putanje koritenjem route mapa

  • 103

    Route mape & BGP

    Route mape se mogu koristiti prilikom filtriranja redistribucije ruta.

    Takoe, pokazana je njihova primjena u implementaciji PBR-a.

    Sada je demonstrirana njihova primjena u BGP protokolu i to za dodjeljivanje i mijenjanje BGP atributa.

  • 104

    neighbor {ip-address | peer-group-name} route-map map-name

    {in | out}

    Router(config-router)#

    Primjena route mape za filtriranje dolaznih ili odlaznih BGP ruta prema susjedu.

    Implementiranje route mapa u BGP-u

    route-map map-tag [permit | deny] [sequence-number]

    Router(config)#

    Definisanje route mape.

    match {criteria}

    Router(config-route-map)#

    Definisanje uslova za meovanje.

    set {actions}

    Router(config-route-map)#

    Definisanje akcije koja treba da se desi prilikom mea.

  • 105

    match komande kod BGP-a

    Komanda Opis

    match as-path Meuje AS_PATH atribut

    match ip address Meuje sve rute ija je odredina adresa obuhvaena standardnom ili proirenom ACL

    match metric Meuje rute sa specifikovanom metrikom (MED atributom)

    match community Meuje BGP community atribut.

    match interface Meuje sve rute koje imaju next hop preko jednog od specifikovanih interfejsa.

    match ip next-hop Meuje sve rute koje imaju next hop koji se dobija preko jedne od specifikovanih ACLs specified

    match tag Meuje tag rute.

  • 106

    match ip-address komanda

    Specifikovanje uslova za meovanje koritenjem ACL ili prefiks lista.

    Router(config-route-map)#

    match ip address {access-list-number | name} [...access-

    list-number | name] | prefix-list prefix-list-name

    [..prefix-list-name]

    Parametar Opis

    access-list-number | name

    Broj ili naziv standardne ili proirene ACL koja se koristi za testiranje dolaznih

    paketa.

    Ako se specifikuje vie ACL, meovanje bilo koje od njih rezultuje meom.

    prefix-list prefix-list-name

    Ime prefiks liste koja se koristi za

    testiranje paketa.

    Ako se specifikuje vie prefiks lista, meovanje bilo koje od njih rezultuje meom.

  • 107

    set komande kod BGP-a

    Komanda Opis

    set weight Postavlja BGP weight.

    set local-preference Postavlja LOCAL-PREF.

    set as-path Modifikuje AS path za BGP rute.

    set origin Postavlja vrijednost atributu ORIGIN.

    set metric Postavlja MED.

    set community Postavlja atribut BGP community.

    set interface Odreuje interfejs na koji se alju paketi.

    set ip next-hop Odreuje IP adresu na koju se alju paketi.

  • 108

    set weight komanda

    Specifikovanje BGP weight atributa.

    Router(config-route-map)#

    set weight number

    Parametar number predstavlja vrijednost weight atributa.

    Cijeli broj izmeu 0 i 65535.

  • 109

    set local-preference komanda

    Specifikovanje local preference vrijednosti.

    Router(config-route-map)#

    set local-preference number-value

    Parametar number-value predstavlja vrijednost atributa.

    Cijeli broj izmeu 0 i 4294967295.

    Default = 100.

  • 110

    set metric komanda

    Specifikovanje MED vrijednosti.

    Router(config-route-map)#

    set metric metric-value

    Parametar metric-value predstavlja vrijednost atributa.

    Cijeli broj izmeu 0 i 294967295.

  • 111

    BGP manipulacija putanje

    Za razliku od internih protokola rutiranja, BGP nije dizajniran da za biranje najbre putanje.

    BGP je dizajniran da manipulie saobraajem tako da se maksimizira ili minimizira koritenje propusnog opsega.

  • 112

    Promjena atributa Weight

    Atribut weight se koristi iskljuivo kada jedan ruter predstavlja izlaznu taku iz AS-a. Koristi se za odreivanje najbolje putanje za izlazak iz AS-a.

    Atribut vrijedi samo na lokalnom ruteru.

    Vea vrijednost, bolja putanja!

    Dva naina za mijenjanje atributa weight:

    Mijenjanje atributa za sve update poruke koje dou od rutera na kojeg je atribut primijenjen.

    Za promjenu atributa za odreene rute / AS path-a, koriste se route mape.

    BGP proces selekcije rute:

    1. najvei Weight

    2. najvei LOCAL_PREF

    3. Lokalno generisane rute

    4. najkrai AS_PATH

    5. najmanji ORIGIN (IGP < EGP <

    incomplete)

    6. najmanji MED

    7. EBGP > IBGP

    8. najmanja IGP metrika

    9. najnii BGP router ID

    10. najnia susjedna IP adresa

  • 113

    Promjena podrazumijevanog weight-a

    Dodijeljivanje podrazumijevanog weight-a svim rutama od susjeda.

    Router(config-router)#

    neighbor {ip-address | peer-group-name} weight number

    Rute nauene od drugog BGP susjeda imaju default weight vrijednost od 0, a rute koje potiu od lokalnog rutera imaju weight postavljen na 32768.

    Parametar number predstavlja vrijednost koja se dodijeljuje.

    Prihvatljive vrijednosti su od 0 do 65535.

    Ruta sa najveom vrijednou weight atributa e biti izabrana kao najbolja ako postoji vie ruta prema nekoj mrei.

    Napomena: Vrijednosti dodijeljene pomou set weight route-map komande brie vrijednosti dodijeljene pomou neighbor weight

    komande.

  • 114

    Promjena weight-a pomou route mape

    Polisa rutiranja odreuje da mree iz AS 65040 koriste putanju preko AS 65030 kao primarnu prema AS 65020.

    Ovo se moe realizovati postavljanjem vee vrijednosti atributu weight (150) na svim dolaznim update porukama iz AS 65030

    (10.0.0.1), koje nose informacije o mreama iz AS 65020.

  • 115

    Promjena weight-a pomou route mape

    R1(config)# route-map SET-WEIGHT permit 10

    R1(config-route-map)# match as-path 10

    R1(config-route-map)# set weight 150

    R1(config-route-map)#

    R1(config-route-map)# route-map SET-WEIGHT permit 20

    R1(config-route-map)# set weight 100

    R1(config-route-map)# exit

    R1(config)# ip as-path access-list 10 permit _65020$

    R1(config)#

    R1(config)# router bgp 65040

    R1(config-router)# neighbor 10.0.0.1 remote-as 65030

    R1(config-router)# neighbor 10.0.0.1 route-map SET-WEIGHT in

  • 116

    Promjena atributa Local Preference

    Atribut local preference ima znaenje samo unutar AS-a radi utvrivanja najbolje putanje iz AS-a.

    Vea vrijednost, bolja putanja!

    Default vrijednost = 100.

    Dva naina za mijenjanje atributa local preference:

    Podrazumijevani local preference za sve rute koje ruter oglaava se mijenja pomou komande bgp default local-preference

    value.

    Za promjenu vrijednosti atributa local preference samo za

    specifine rute / AS path, koriste se route mape.

    BGP proces selekcije rute:

    1. najvei Weight

    2. najvei LOCAL_PREF

    3. Lokalno generisane rute

    4. najkrai AS_PATH

    5. najmanji ORIGIN (IGP < EGP <

    incomplete)

    6. najmanji MED

    7. EBGP > IBGP

    8. najmanja IGP metrika

    9. najnii BGP router ID

    10. najnia susjedna IP adresa

  • 117

    Postavljanje default local preference vrijednosti

    Promjena default local preference vrijednosti za rute koje se alju.

    Router(config-router)#

    bgp default local-preference number

    Atribut local preference daje stepen preferiranja ruti prilikom procesa selekcije najbolje BGP putanje.

    Atribut se razmjenjuje samo izmeu iBGP vorova.

    Preferira se ruta sa najveom vrijednou local preference atributa.

    Parametar number je vrijednost izmeu 0 i 4294967295.

    Podrazumijevana local preference vrijednost je 100.

  • 118

    Postavljanje default local preference vrijednosti

    BGP polisa rutiranja u ovom primjeru diktira da:

    Default local preference za sve rute na R1 bude 200.

    Default local preference za sve rute na R2 bude 500.

  • 119

    Postavljanje default local preference vrijednosti

    Posljedica konfiguracije je da IBGP ruteri u AS 65001 alju sav saobraaj na Internet preko R2, ali je link R1 - ISP1 neiskorien.

    Route mape mogu da se konfiguriu tako da samo neke rute imaju vei local preference.

    R2(config)# router bgp 65001

    R2(config-router)# bgp default local-preference 500

    R2(config-router)#

    R1(config)# router bgp 65001

    R1(config-router)# bgp default local-preference 200

    R1(config-router)#

  • 120

    Local Preference & route mape primjer

    Trenutna situacija:

    Sve rute imaju weight = 0 i podrazumijevani local preference = 100.

    BGP koristi najkrai AS-path da bi izabrao najbolje rute:

    Prema mrei 172.16.0.0, najkrai AS-path je preko ISP1.

    Prema mrei 172.24.0.0, najkrai AS-path je preko ISP2.

    Prema mrei 172.30.0.0, najkrai AS-path je preko ISP2.

  • 121

    Local Preference & route mape primjer

    R3# show ip bgp

    BGP table version is 7, local router ID is 192.168.3.3

    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r

    RIB-failure, S Stale

    Origin codes: i - IGP, e - EGP, ? - incomplete

    Network Next Hop Metric LocPrf Weight Path

    * i172.16.0.0 172.20.50.1 100 0 65005 65004 65003 i

    *>i 192.168.28.1 100 0 65002 65003 i

    *>i172.24.0.0 172.20.50.1 100 0 65005 i

    * i 192.168.28.1 100 0 65002 65003 65004 65005 i

    *>i172.30.0.0 172.20.50.1 100 0 65005 65004 i

    * i 192.168.28.1 100 0 65002 65003 65004i

  • 122

    Local Preference & route mape primjer

    Analiza saobraaja otkriva sljedee rezultate:

    10% saobraaja sa R1 prema ISP1 ide prema mrei 172.16.0.0.

    50% saobraaja sa R2 prema ISP2 ide prema mreama 172.24.0.0 i 172.30.0.0.

    Preostalih 40% ide prema drugim odreditima.

    Rjeenje je koritenje route mapa da bi se saobraaj prema 172.30.0.0 preusmjerio na R1.

  • 123

    Local Preference & route mape primjer

    R1(config)# access-list 65 permit 172.30.0.0 0.0.255.255

    R1(config)#

    R1(config)# route-map LOCAL_PREF permit 10

    R1(config-route-map)# match ip address 65

    R1(config-route-map)# set local-preference 400

    R1(config-route-map)#

    R1(config-route-map)# route-map LOCAL_PREF permit 20

    R1(config-route-map)# exit

    R1(config)#

  • 124

    Local Preference & route mape primjer

    R1(config)# router bgp 65001

    R1(config-router)# neighbor 192.168.2.2 remote-as 65001

    R1(config-router)# neighbor 192.168.2.2 update-source loopback0

    R1(config-router)# neighbor 192.168.3.3 remote-as 65001

    R1(config-router)# neighbor 192.168.3.3 update-source loopback0

    R1(config-router)# neighbor 192.168.28.1 remote-as 65002

    R1(config-router)# neighbor 192.168.28.1 route-map LOCAL_PREF in

    R1(config-router)# exit

    R1(config)#

  • 125

    Local Preference & route mape primjer

    R3# show ip bgp

    BGP table version is 7, local router ID is 192.168.3.3

    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r

    RIB-failure, S Stale

    Origin codes: i - IGP, e - EGP, ? - incomplete

    Network Next Hop Metric LocPrf Weight Path

    * i172.16.0.0 172.20.50.1 100 0 65005 65004 65003 i

    *>i 192.168.28.1 100 0 65002 65003 i

    *>i172.24.0.0 172.20.50.1 100 0 65005 i

    * i 192.168.28.1 100 0 65002 65003 65004 65005 i

    * i172.30.0.0 172.20.50.1 100 0 65005 65004 i

    *>i 192.168.28.1 400 0 65002 65003 65004i

  • 126

    Modifikovanje AS Path atributa

    Ako nisu konfigurisani weight i local-preference koriste se

    njihove podrazumijevane

    vrijednosti, pa BGP koristi

    najkrai AS path atribut za selekciju putanje, bez obzira na

    dostupni bandwidth.

    Da bi se uticalo na izbor putanje pomou AS_PATH atributa, moe se konfigurisati AS-path prepending.

    AS path se proiruje sa nizom AS brojeva poiljaoca tako da se putanja ini duom.

    BGP proces selekcije rute:

    1. najvei Weight

    2. najvei LOCAL_PREF

    3. Lokalno generisane rute

    4. najkrai AS_PATH

    5. najmanji ORIGIN (IGP < EGP <

    incomplete)

    6. najmanji MED

    7. EBGP > IBGP

    8. najmanja IGP metrika

    9. najnii BGP router ID

    10. najnia susjedna IP adresa

  • 127

    Modifikovanje AS Path atributa primjer

    BGP polisa u ovom primjeru diktira da:

    Saobraaj koji ulazi u AS 65040 treba da dolazi preko R6 iz AS 65030, a ne preko R4 iz AS 65010.

    Jedan nain da se ovo realizuje je da R1 oglaava AS 65040 mree sa duim AS path atributom pomou tehnike AS-path prepending.

  • 128

    Modifikovanje AS Path atributa primjer

    R1(config)# route-map SET-AS-PATH permit 10

    R1(config-route-map)# set as-path prepend 65040 65040 65040

    R1(config-route-map)# exit

    R1(config)# router bgp 65040

    R1(config-router)# neighbor 172.16.1.1 remote-as 65010

    R1(config-router)# neighbor 172.16.1.1 route-map SET-AS-PATH out

    R1(config-router)# exit

    R1(config)#

  • 129

    Postavljanje MED atributa

    MED utie na odluku kako e saobraaj da ulazi u AS kada postoji vie putanja.

    Kada se porede MED vrijednosti za istu odredinu mreu u BGP procesu selekcije rute, preferira se

    najnia MED.

    Default = 0.

    Meutim, poto se MED evaluira prilino kasno u BGP procesu selekcije rute, esto nema uticaja.

    Postoje dva naina da se promijeni MED: Za promjenu MED vrijednosti za

    sve rute koristi se komanda default-metric.

    Za promjenu MED vrijednosti za samo neke rute, koriste se route mape.

    BGP proces selekcije rute:

    1. najvei Weight

    2. najvei LOCAL_PREF

    3. Lokalno generisane rute

    4. najkrai AS_PATH

    5. najmanji ORIGIN (IGP < EGP <

    incomplete)

    6. najmanji MED

    7. EBGP > IBGP

    8. najmanja IGP metrika

    9. najnii BGP router ID

    10. najnia susjedna IP adresa

  • 130

    Postavljanje default MED vrijednosti

    BGP polisa u ovom primjeru diktira da:

    Default MED na R1 bude promijenjen na 1001.

    Default MED na R2 bude promijenjen na 99.

  • 131

    Postavljanje default MED vrijednosti

    Posljedice: R1 - ISP1 link se koristi samo za BGP update poruke.

    R2 - ISP2 link se koristi za sve povratne pakete iz AS 65004.

    Bolje rjeenje je konfigurisanje route mapa pomou kojih e se za neke mree podesiti da imaju manju MED vrijednost preko R1, a druge da imaju manji MED preko R2.

    R1(config)# router bgp 65001

    R1(config-router)# default metric 1001

    R1(config-router)#

    R2(config)# router bgp 65001

    R2(config-router)# default metric 99

    R2(config-router)#

  • 132

    Postavljanje MED-a & route mape - primjer

    R1(config)# access-list 66 permit 192.168.25.0 0.0.0.255

    R1(config)# access-list 66 permit 192.168.26.0 0.0.0.255

    R1(config)#

    R1(config)# route-map MED-65004 permit 10

    R1(config-route-map)# match ip address 66

    R1(config-route-map)# set metric 100

    R1(config-route-map)#

    R1(config-route-map)# route-map MED-65004 permit 100

    R1(config-route-map)# set metric 200

    R1(config-route-map)# exit

    R1(config)#

  • 133

    Postavljanje MED-a & route mape - primjer

    R1(config)# router bgp 65001

    R1(config-router)# neighbor 192.168.2.2 remote-as 65001

    R1(config-router)# neighbor 192.168.2.2 update-source loopback0

    R1(config-router)# neighbor 192.168.3.3 remote-as 65001

    R1(config-router)# neighbor 192.168.3.3 update-source loopback0

    R1(config-router)# neighbor 192.168.28.1 remote-as 65004

    R1(config-router)# neighbor 192.168.28.1 route-map MED-65004 out

    R1(config-router)#exit

  • 134

    Postavljanje MED-a & route mape - primjer

    R2(config)# access-list 66 permit 192.168.24.0 0.0.0.255

    R2(config)#

    R2(config)# route-map MED-65004 permit 10

    R2(config-route-map)# match ip address 66

    R2(config-route-map)# set metric 100

    R2(config-route-map)#

    R2(config-route-map)# route-map MED-65004 permit 100

    R2(config-route-map)# set metric 200

    R2(config-route-map)# exit

    R2(config)#

  • 135

    Postavljanje MED-a & route mape - primjer

    R2(config)# router bgp 65001

    R2(config-router)# neighbor 192.168.1.1 remote-as 65001

    R2(config-router)# neighbor 192.168.1.1 update-source loopback0

    R2(config-router)# neighbor 192.168.3.3 remote-as 65001

    R2(config-router)# neighbor 192.168.3.3 update-source loopback0

    R2(config-router)# neighbor 172.20.50.1 remote-as 65004

    R2(config-router)# neighbor 172.20.50.1 route-map MED-65004 out

    R2(config-router)# exit

    R2(config)#

  • 136

    Postavljanje MED-a & route mape - primjer

    ISP3# show ip bgp

    BGP table version is 7, local router ID is 192.168.1.1

    Status codes: s suppressed, d damped, h history, * valid, > best, i -

    internal, r RIB-failure, S Stale

    Origin codes: i - IGP, e - EGP, ? - incomplete

    Network Next Hop Metric LocPrf Weight Path

    *>i192.168.24.0 172.20.50.2 100 100 0 65001 i

    * i 192.168.28.2 200 100 0 65001 i

    * i192.168.25.0 172.20.50.2 200 100 0 65001 i

    *>i 192.168.28.2 100 100 0 65001 i

    * i192.168.26.0 172.20.50.2 200 100 0 65001 i

    *>i 192.168.28.2 100 100 0 65001 i