(T) BGP Path Attributes*

BGP Path Attributes

Atrybuty protokołu BGP

  • Path Attributes (PA) – Wartość przypisana względem każdej trasy, rozgłaszanej przez protokół BGP. Zawiera atrybuty opisujące różne właściwości określonej ścieżki, tym samym umożliwiając wysoki poziom kontroli protokołu BGP nad wyborem trasy przekazywanej do tablicy routingu. Wartości PA są klasyfikowane w następujący sposób:
    • Well-known Mandatory – Wartość PA musi być rozpoznawalna przez wszystkie implementacje protokołu BGP jak i musi być załączona do każdej rozgłaszanej tras. Dobrze znane wartości PA zostały zdefiniowane w referencji RFC 4271.
    • Well-known Discretionary – Wartość PA musi być rozpoznawalna przez wszystkie implementacje protokołu BGP przy czym nie musi być załączona do każdej z rozgłaszanych tras routingu. Dobrze znane wartości PA zostały zdefiniowane w referencji RFC 4271.
    • Optional Transitive – Wartość PA nie musi być rozpoznawalna przez wszystkie implementacje protokołu BGP, może być jednak rozgłaszana pomiędzy systemami autonomicznymi AS.
    • Optional Nontransitive – Wartość PA nie musi być rozpoznawalna przez wszystkie implementacje protokołu BGP, jak i nie może być rozgłaszana pomiędzy systemami autonomicznymi AS.
Wartości PA są rozgłaszane przez NLRI (Network Layer Reachability Information), wraz z prefiksem (Prefix) jak i długością prefix-u (Prefix Length) przypisaną do określonej trasy routingu.
Zgodnie z załorzeniami referencji RFC 4271, atrybuty Well-known muszą być rozpoznawalne przez wszystkie implementacje protokołu BGP.

NLRI (Network Reachability information)

  • Network Reachability information – Aktualizacja protokołu BGP zawierająca: Prefix (Network Prefix), długość prefix-u (Prefix length) oraz wartości BGP PA.

Autonomous System Path (AS_PATH)

  • AS_PATH jest domyślnie wykorzystywaną wartością atrybutu PA (Well-known Mandatory PA), stosowaną w celu:
    • Wyboru najlepszej trasy prowadzącej do sieci docelowej (Na podstanie najmniejszej ilości przeskoków AS).
    • Zapobiegania w powstawaniu pętli sieciowych (Wartość AS obecnego rutera, nie może być obecna na ścieżce AS_PATH).
  • Atrybut AS­_PATH określa drogę prowadzącą do sieci docelowej na podstawie ilości przeskoków, pomiędzy systemami autonomicznymi AS. Podając zsumowaną wartość przeskoków pomiędzy systemami AS. Przykładowa wartość AS_PATH wygląda następująco: 12,2,45674,23456 czym określa przez dokładnie jakie numery ASN prowadzi wskazana trasa.
  • Wartość atrybutu AS­_PATH nie ulega zmianie w przypadku wymiany tras iBGP, ponieważ trasa ta prowadzi przez ten sam system autonomiczny AS.

Dostępne atrybuty protokołu BGP

Kolejność interpretacji atrybutów algorytmu BGP Best-patch

  1. Weight (Non-transitive / Cisco Defined) (0 – 65535)
  2. Local Preference (Non-transitive / Well-Known) (LOCAL_PREF) (0 – 4,294,967,295)
  3. Local Originated (Network statement, redistribution bądź aggregation)(Non-transitive)
  4. AIGP (Accumulated Interior Gateway Protocol) (Non-transitive)
  5. Shortest AS_Path (Transitive)
  6. Origin type (Transitive / Well-Known / Mandatory)
  7. Lowest MED (Multi-Exit Discriminator) (Non-transitive) (0 – 4,294,967,295)
  8. eBGP over iBGP (Non-transitive)
  9. Lowest IGP next hop (Xxx)
  10. If both paths are external (eBGP), prefer the first (oldest) (Xxx)
  11. Prefer the route that comes from the BGP peer with the lower RID (Xxx)
  12. Prefer the route with the minimum cluster list length (Xxx)
  13. Prefer the path that comes from the lowest neighbor address (Xxx)

Weight

  • Atrybut protokołu BGP, zdefiniowany przez Cisco.
  • Nie jest przenoszony pomiędzy systemami AS (Non-transitive).
  • Posiada 16bitową wartość (Z zakresu od 0 do 65535).
  • Nie może być rozgłaszany na inne urządzenia.
  • Dotyczy jedynie ruchu wychodzącego (Outbound Traffic).
  • Wyższa wartość wagi (Weight) jest preferowana.

Local Preference

  • Dobrze znany (Well-Known) atrybut protokołu BGP.
  • Nie jest przenoszony pomiędzy systemami AS (Non-transitive).
  • Posiada 32bitową wartość (Z zakresu od 0 do 4,294,967,295).
  • Przeważnie stosowany w przypadku ruchu wychodzącego (Outbound Traffic).
  • Wyższa wartość Local Preference jest preferowana.

Local Originated

  • Trzeci etap decyzyjności algorytmu BGP (Best-patch Algorithm), określa czy dana trasa powstała lokalnie. Zgodnie z następującym porządkiem:
    1. Trasy rozgłaszane lokalnie.
    2. Trasy z agregowane lokalnie.
    3. Trasy otrzymane od sąsiada BGP.
  • Nie jest przenoszony pomiędzy systemami AS (Non-transitive).

Accumulated Interior Gateway Protocol (AIGP)

  • Opcjonalny atrybut protokołu BGP, umożliwiający określenie najlepszej trasy pomiędzy systemami autonomicznymi podlegającymi pod jedną organizację.
  • Nie jest przenoszony pomiędzy systemami AS (Non-transitive).
  • Trasa posiadająca wartość AIGP jest preferowana.
  • Jeżeli adres następnego przeskoku (Next-Hop) wymaga rekurencyjnego wyszukiwania (Recursive lookup), do wartości AIGP dodawana jest metryka danego połączenia.

Shortest AS_Path

  • Atrybut protokołu BGP, określający ilość przeskoków, pomiędzy systemami AS.
  • Jest przenoszony pomiędzy systemami AS (Non-transitive).
  • Mniejsza ilość przeskoków jest preferowana.

Origin type

  • Obowiązkowy (Mandatory) atrybut protokołu BGP, określający pochodzenie trasy.
  • Wyrużnione zostały trzy źródła pochodzenia trasy (Origin type), zgodnie z następującym porządkiem:
    1. IGP origin (Większość tras [network]).
    2. EGP origin.
    3. Incomplete origin (Trasy re-dystrybuowane [redistributed]).
  • Jest przenoszony pomiędzy systemami AS (Non-transitive).

Lowest MED

  • Atrybut protokołu BGP, automatycznie dodawany w sytuacji redystrybucji / pobierania tras IGP.
  • Nie jest przenoszony pomiędzy systemami AS (Non-transitive).
  • Posiada 32bitową wartość (Z zakresu od 0 do 4,294,967,295).
  • Zgodnie z referencją RFC 4451, trasa bez wartości MED jest traktowana jak trasa z wartością 0.
  • Niektóre systemy traktuję trasy nie podsiadające przypisanej wartości MED, jako trasy mniej preferowane.
  • Niższa wartość MED jest preferowana.

eBGP over iBGP

  • Atrybut protokołu BGP, określający źródło pozyskania trasy (iBGP bądź eBGP). Zgodnie z następującym porządkiem:
    • eBGP.
    • Confederation.
    • iBGP.

Lowest IGP next hop

  • Atrybut protokołu BGP, określający koszt (Protokołu IGP) względem adresu następnego przeskoku BGP.
  • Niższa wartość kosztu IGP jest preferowana.

If both paths are external (eBGP), prefer the first (oldest)

  • Atrybut protokołu BGP, preferujący trasy pozyskane ze starszej relacji sąsiedztwa (eBGP).

Prefer the route that comes from the BGP peer with the lower RID

  • Atrybut protokołu BGP, preferujący trasy pozyskane z relacji sąsiedztwa (eBGP), z ruterem posiadającym niższą wartość RID.

Prefer the route with the minimum cluster list length

  • Atrybut protokołu BGP, zapobiegający powstawaniu pętli wewnątrz jednego systemu autonomicznego AS.
  • Nie jest przenoszony pomiędzy systemami AS (Non-transitive).

Prefer the path that comes from the lowest neighbor address (iBGP)

  • Atrybut protokołu BGP, preferujący trasy pozyskane z relacji sąsiedztwa (iBGP), z ruterem posiadającym niższą wartość adresu IP.

Pozostałe artykuły związane z protokołem BGP

PDFPRINT

Robert T Kucharski

Cisco Network Engineer in GPW.

Dodaj komentarz