Cisco 300-410: Polityki BGP, skalowalność i wybór ścieżki — Przewodnik do nauki
Część Cisco CCNP Enterprise 300-410 ENARSI — Przewodnik do nauki. Ćwicz ze zweryfikowanymi odpowiedziami w centrum egzaminów Cisco, albo rozwiąż testy na czas na ExamRoll.io.
Przegląd
Protokół BGP (Border Gateway Protocol) zarządza polityką routingu międzydomenowego i skalowalną dystrybucją informacji o osiągalności. Projektowanie odpornych sesji, zrozumienie zachowania następnego skoku (next-hop) i aktualizacji oraz stosowanie polityk z pełną świadomością algorytmu wyboru najlepszej ścieżki to podstawy. Na dużą skalę iBGP opiera się na reflektorach tras (route reflectors) lub konfederacjach, podczas gdy zaawansowane narzędzia, takie jak warunkowe ogłaszanie (conditional advertisement), generowanie trasy domyślnej (default-origination), multipath i tłumienie (dampening), udoskonalają jego zachowanie. Ta sekcja szczegółowo opisuje mechanikę działania, kompromisy projektowe i tryby awarii, które należy przewidzieć, a także przedstawia systematyczne podejście do rozwiązywania problemów zarówno z brakującymi prefiksami, jak i nieoczekiwanym wyborem ścieżki.
Projektowanie sesji i nawiązywanie sąsiedztwa
- Sąsiedztwo eBGP a iBGP
- Peery eBGP znajdują się w różnych numerach ASN i domyślnie używają TTL 1, co wymaga sąsiedztwa jednoskokowego, chyba że skonfigurowano inaczej.
- Pe
Narzędzia polityk: Atrybuty, społeczności (communities) i filtrowanie
- Local Preference, Weight, AS-path prepending, MED
- Preferuj dostawcę ISP o niskim opóźnieniu, podnosząc LOCAL_PREF dla jego tras (na przykład
set local-preference 200). Zmienia to wybór ruchu wychodzącego w całym AS bez ingerencji w płaszczyznę danych IP. - Atrybut Weight jest tylko lokalny; używaj go do preferencji specyficznych dla danego routera (
neighbor 198.51.100.1 weight 50lub przez route-mapęset weight). - AS-path prepending (
set as-path prepend 65000 65000 …) sprawia, że ścieżka staje się mniej atrakcyjna dla ruchu przychodzącego do Twojego AS poprzez zwiększenie postrzeganej odległości. Stosuj selektywnie; nadużywanie zmniejsza osiągalność. - MED (
set metric) sugeruje sąsiadowi punkt wyjścia (egress) do Twojego AS. Jego efekt jest zależny od polityki sąsiada.
- Preferuj dostawcę ISP o niskim opóźnieniu, podnosząc LOCAL_PREF dla jego tras (na przykład
- Polityka oparta na społecznościach (community)
- Wysyłanie atrybutu community nie jest automatyczne; włącz je za pomocą
neighbor x send-community [both | extended]. - Dobrze znane społeczności (well-known communities):
no-export,no-advertise,internet,local-ASorazno-export-subconfed(przydatne przy konfederacjach). - Standardowe społeczności (standard communities) to wartości 32-bitowe (format AA:NN z
ip bgp community new-format). - Rozszerzone społeczności (extended communities) (64-bitowe) niosą dodatkową semantykę (na przykład route-targets w VPNv4).
- Duże społeczności (large communities) (96-bitowe, A:B:C) zapewniają skalowalność i przejrzystość przy 4-bajtowych numerach ASN.
- Przykład: dopasuj community i ustaw atrybuty
ip community-list standard PREFERED permit 65000:100route-map INBOUND-POLICY permit 10match community PREFEREDset local-preference 200
- Wysyłanie atrybutu community nie jest automatyczne; włącz je za pomocą
- Filtrowanie prefiksów i ścieżek AS
ip prefix-listkontroluje ziarnistość NLRI;as-path access-listużywa wyrażeń regularnych (regex) do ograniczania ścieżek AS. Obie są dołączane za pomocą route-map lub bezpośrednio poleceniemneighbor … prefix-list/as-path access-group.- Przychodzące a wychodzące:
- Filtrowanie przychodzące kształtuje to, co trafia do Twojej tablicy BGP i wpływa na wybór najlepszej ścieżki.
- Filtrowanie wychodzące kontroluje to, co rozgłaszasz; źle zastosowana wychodząca route-mapa może nieoczekiwanie zmienić atrybuty na trasach generowanych lokalnie (na przykład dołączenie lokalnego AS na początku wszystkich rozgłoszeń sprawia, że zewnętrzni sąsiedzi widzą Twój prefiks jako oddalony o dwa skoki AS zamiast jednego). Zawsze ograniczaj route-mapy za pomocą jawnych dopasowań.
- Minimalna, ukierunkowana polityka redukuje niestabilność (churn) i pozwala uniknąć czarnych dziur (blackholing). Zawsze umieszczaj na końcu listy prefiksów
permit, aby uniknąć niezamierzonego blokowania.
Krótkie, ukierunkowane przykłady konfiguracji:
- Zwiększenie local preference dla tras od ISP-A:
route-map SET-LP permit 10set local-preference 200neighbor 203.0.113.1 route-map SET-LP in
- AS-path prepend dla konkretnego rozgłoszenia wychodzącego:
ip prefix-list OUT-ONLY permit 192.0.2.0/24route-map PREPEND permit 10match ip address prefix-list OUT-ONLYset as-path prepend 65000 65000neighbor 198.51.100.1 route-map PREPEND out
Skalowanie iBGP i zaawansowane zachowania
- Reflektory tras (RR)
- Zastępują pełną siatkę iBGP poprzez wyznaczenie RR, które odbijają (reflektują) trasy między klientami a nie-klientami. Pętlom zapobiegają atrybuty originator-ID i cluster-list.
- Cluster ID domyślnie przyjmuje wartość router ID reflektora tras; gdy istnieje wiele RR, należy używać unikalnych ID klastrów, aby zapobiegać trwałym pętlom i poprawić różnorodność ścieżek.
- Wady i zalety: RR mogą powodować suboptymalny wybór ścieżki (ukrywanie ścieżek). Można to łagodzić poprzez odpowiednie rozmieszczenie klientów, zróżnicowane klastry, funkcję add-path i dostrajanie parametrów wyboru najlepszej ścieżki (bestpath).
- Konfederacje
- Dzielą duży AS na pod-ASy, które komunikują się wewnętrznie za pomocą eBGP, ale na zewnątrz wyglądają jak pojedynczy AS.
- Zalety: redukcja siatki iBGP i zasięgu oddziaływania polityki; Wady: złożoność operacyjna i potencjalne niuanse z MED/next-hop na granicach pod-ASów.
- Warunkowe rozgłaszanie i trasy domyślne
- Warunkowe rozgłaszanie pozwala na rozgłoszenie trasy tylko wtedy, gdy inna trasa jest obecna/nieobecna.
- router bgp 65000 neighbor 198.51.100.1 advertise-map ADV non-exist-map PRIMARY route-map ADV permit 10 match ip address prefix-list DEFAULT route-map PRIMARY permit 10 match ip address prefix-list PRIMARY-PFXS
- Generowanie trasy domyślnej:
neighbor 198.51.100.1 default-originate [route-map RM]rozgłasza 0.0.0.0/0 niezależnie od tego, czy trasa ta znajduje się w RIB (gdzie RM kontroluje warunki). Alternatywnie,network 0.0.0.0wymaga istnienia pasującej trasy w RIB.
- Warunkowe rozgłaszanie pozwala na rozgłoszenie trasy tylko wtedy, gdy inna trasa jest obecna/nieobecna.
- Multipath
- Rozkładanie obciążenia na wiele ścieżek BGP o równym koszcie za pomocą
maximum-paths [ebgp|ibgp] n. Użyjbgp bestpath as-path multipath-relax, aby zezwolić na multipath eBGP przez różne AS-path w kontrolowanych warunkach. W sieciach MPLS L3VPN,maximum-paths ibgp nwłącza ECMP między routerami PE.
- Rozkładanie obciążenia na wiele ścieżek BGP o równym koszcie za pomocą
- Rekurencja tras i błędy RIB
- BGP instaluje ścieżkę tylko wtedy, gdy następny skok (next hop) może być rekurencyjnie rozwiązany do prawidłowego wpisu w tablicy przekazywania i żadna trasa o niższym dystansie administracyjnym nie obsługuje już tego prefiksu.
- Typowe przyczyny błędów RIB (RIB-failure):
- Istnieje trasa z lepszym AD (connected/static/IGP).
- Następny skok jest nierozwiązywalny (brak trasy IGP/statycznej do następnego skoku).
- Istnieje dłuższa, bardziej szczegółowa trasa (ruch pasuje do bardziej szczegółowej).
- Przydatne polecenia:
show ip bgp <prefix>,show ip bgp rib-failure,show ip route [vrf NAME] <prefix>oraz sprawdzanie CEF w celu weryfikacji rekurencji.
- Tłumienie (dampening)
bgp dampeningnakłada kary na niestabilne (flapping) prefiksy i tłumi je do czasu ustabilizowania. Parametry: half-life, reuse, suppress, max-suppress-time.- Wady i zalety: może ukrywać prawidłowe przywrócenie łączności i spowalniać konwergencję. Stosuj z umiarem na niestabilnych brzegach sieci i unikaj tłumienia tras zapewniających osiągalność rdzenia sieci lub krytycznych zasobów klienta.
Systematyczne rozwiązywanie problemów (brakujące prefiksy i nieprawidłowe ścieżki):
- Sprawdź stan sesji BGP:
show ip bgp summary; jeśli jest niestabilna (flapping), zbadaj CoPP i osiągalność TCP/179. - Potwierdź akceptację przez politykę:
show ip bgp neighbors x received-routes/advertised-routes; upewnij się, że w razie potrzeby włączona jestsoft-reconfigurationlubroute refresh. - Zweryfikuj następny skok:
show ip bgp <prefix>ishow ip route [vrf NAME] <next-hop>; napraw IGP/rekurencję przed dostrajaniem atrybutów. - Sprawdź filtry: prefix-listy, listy dostępowe as-path i atrybut community; potwierdź użycie
neighbor send-community. - Zbadaj atrybuty: weight/local-pref/AS-path/origin/MED; włącz
deterministic-med/always-compare-medw odpowiednich przypadkach. - Zbadaj błędy RIB i szczegółowość tras: trasa connected/statyczna/IGP z niższym AD lub bardziej szczegółowa trasa będzie miała pierwszeństwo przed BGP.
- Potwierdź działanie mechanizmów skalowania: na RR zwracaj uwagę na ukrywanie ścieżek i pętle w cluster-list; w konfederacjach zweryfikuj użycie
no-export-subconfed.
Praktyczny scenariusz problemu
Firma Acme Manufacturing działa w AS 65010 i korzysta z dwóch dostawców internetu: ISP-A (niskie opóźnienia) i ISP-B (łącze zapasowe). Acme używa iBGP na trzech routerach rdzeniowych z dwoma reflektorami tras i rozgłasza prefiks 203.0.113.0/24. Po dodaniu wychodzącej mapy tras (route-map) na routerze brzegowym do ISP-B, zdalne lokalizacje zgłaszają zwiększone opóźnienia, a niektóre ścieżki nieoczekiwanie preferują ISP-B.
Podejście:
Potwierdź stan sesji i polityk
show ip bgp summaryishow policy-map control-plane, aby upewnić się, że nie ma niestabilności BGP (flaps) z powodu CoPP. Uzasadnienie: niestabilna płaszczyzna sterowania powoduje zmiany, które mogą maskować efekty działania polityk.
Zweryfikuj osiągalność następnego skoku
show ip bgp 203.0.113.0/24ishow ip route <next-hop>. Uzasadnienie: rekurencja do następnego skoku musi działać poprawnie, zanim atrybuty będą miały znaczenie.
Zbadaj politykę wychodzącą na łączu do ISP-B
show run | sec router bgp; przejrzyjneighbor … route-map OUT out. Uzasadnienie: zbyt ogólne mapy tras mogą nieumyślnie modyfikować wszystkie rozgłaszane prefiksy, w tym te pochodzące lokalnie.
Ogranicz prependowanie AS-path do docelowych NLRI
- ip prefix-list ACME-PUB permit 203.0.113.0/24
- route-map B-PREPEND permit 10 match ip address prefix-list ACME-PUB set as-path prepend 65010 65010 65010
- route-map B-PREPEND permit 20
- neighbor 198.51.100.2 route-map B-PREPEND out
Uzasadnienie: Precyzyjne dopasowanie ogranicza prependowanie do zamierzonego prefiksu i zapobiega zmianie atrybutów innych rozgłoszeń. Jawna instrukcja
permit 20zapewnia, że niedopasowane trasy nie zostaną odrzucone.
Ustaw globalną preferencję dla ruchu wychodzącego przez ISP-A
- route-map SETLP permit 10 set local-preference 200
- neighbor 203.0.113.1 route-map SETLP in Uzasadnienie: Atrybut LOCAL_PREF wpływa na wybór ścieżki wyjściowej w całym AS (wyższa wartość jest lepsza) i jest najczystszym mechanizmem do preferowania dostawcy z niskimi opóźnieniami.
Upewnij się, że atrybut community propaguje zamierzone zachowanie
- ip community-list standard AVOID-B permit 65010:90
- route-map TAG-B permit 10 match ip address prefix-list ACME-PUB set community 65010:90 additive
- neighbor 198.51.100.2 send-community
Uzasadnienie: Tagi (communities) umożliwiają podejmowanie decyzji w dalszej części sieci (np. preferencje na podstawie RR) i wymagają
send-communitydo ich propagacji.
Zweryfikuj zachowanie RR i unikaj ukrywania ścieżek
- Na obu RR potwierdź unikalne cluster-id i przypisania klientów; włącz
bgp additional-paths send receive select best 2, jeśli jest obsługiwane. Uzasadnienie: W środowisku z wieloma wyjściami RR mogą ukryć lepszą ścieżkę. Funkcjaadditional-pathslub staranne zaprojektowanie topologii klientów zmniejsza suboptymalność.
- Na obu RR potwierdź unikalne cluster-id i przypisania klientów; włącz
Zweryfikuj wyniki i stan instalacji tras
show ip bgp 203.0.113.0/24, aby potwierdzić wartości weight/local-pref/AS-path/MED; potwierdź wybór eBGP nad iBGP oraz metrykę IGP do następnego skoku.show ip bgp rib-failure, aby upewnić się, że wybrana ścieżka została zainstalowana w RIB. Uzasadnienie: Potwierdza to, że zarówno płaszczyzna sterowania, jak i płaszczyzna danych odzwierciedlają zamierzony projekt.
Ta sekwencja działań koryguje niezamierzone zmiany w AS-path (zapewniając, że zewnętrzne AS-y widzą prefiks Acme z pożądaną odległością), wymusza preferencję dla ISP-A za pomocą LOCAL_PREF, zachowuje widoczność polityki dzięki atrybutowi community oraz weryfikuje następny skok i instalację trasy, aby ostateczne przekazywanie pakietów było zgodne z projektem.
← Projektowanie · Wszystkie domeny · Redystrybucja tras i routing oparty na politykach →
Przećwicz te pytania → · Testy na czas na ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Zdaj egzamin →