WYBRANE ASPEKTY SELEKCJI TRAS BGP 1

Podobne dokumenty
(secure) ROUTING WITH OSPF AND BGP FOR FUN, FUN & FUN. Łukasz Bromirski. lukasz@bromirski.net

1.1 Ustawienie adresów IP oraz masek portów routera za pomocą konsoli

Sterowanie ruchem wyjściowym

Warstwa sieciowa rutowanie

Wykład 3: Internet i routing globalny. A. Kisiel, Internet i routing globalny

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PODSTAWY RUTINGU IP. WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r.

BGP. Piotr Marciniak (TPnets.com/KIKE) Ożarów Mazowiecki, 26 marca 2010 r.

Routing - wstęp... 2 Routing statyczny... 3 Konfiguracja routingu statycznego IPv Konfiguracja routingu statycznego IPv6...

RUTERY. Dr inŝ. Małgorzata Langer

Protokół BGP Podstawy i najlepsze praktyki Wersja 1.0

B Instrukcja do ćwiczenia

O ZASTOSOWANIU EMULATORA NETKIT ORAZ RUTERÓW DOSTĘPOWYCH DO NAUCZANIA PROTOKOŁU OSPF

ISP od strony technicznej. Fryderyk Raczyk

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

PORADNIKI. Routery i Sieci

ZiMSK NAT, PAT, ACL 1

Marcin Mazurek P.I.W.O, 22/05/2004, Poznań, Polska:)

Routing. mgr inż. Krzysztof Szałajko

OSI Network Layer. Network Fundamentals Chapter 5. ITE PC v4.0 Chapter Cisco Systems, Inc. All rights reserved.

Konfigurowanie protokołu BGP w systemie Linux

Sieci komputerowe. Routing. dr inż. Andrzej Opaliński. Akademia Górniczo-Hutnicza w Krakowie.

WPROWADZENIE DO PROTOKOŁU BGP (BORDER GATEWAY PROTOCOL)

OSI Network Layer. Network Fundamentals Chapter 5. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Cisco Packet Tracer - routing SOISK systemy operacyjne i sieci kompu...

Sterowanie ruchem w sieciach szkieletowych

Routowanie we współczesnym Internecie. Adam Bielański

Jak zbudować profesjonalny styk z internetem?

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

Konfigurowanie protokołu BGP w ruterach Cisco

Routing dynamiczny... 2 Czym jest metryka i odległość administracyjna?... 3 RIPv RIPv Interfejs pasywny... 5 Podzielony horyzont...

Ruting. Protokoły rutingu a protokoły rutowalne

Laboratorium Konfiguracja oraz weryfikacja protokołu RIP

Sieci komputerowe - Protokoły wspierające IPv4

Routing. część 2: tworzenie tablic. Sieci komputerowe. Wykład 3. Marcin Bieńkowski

Link-State. Z s Link-state Q s Link-state. Y s Routing Table. Y s Link-state

PBS. Wykład Routing dynamiczny OSPF EIGRP 2. Rozwiązywanie problemów z obsługą routingu.

ARCHITEKTURA USŁUG ZRÓŻNICOWANYCH

Zarządzanie systemem komendy

Laboratorium - Przeglądanie tablic routingu hosta

Uproszczenie mechanizmów przekazywania pakietów w ruterach

PBS. Wykład Filtrowanie pakietów 2. Translacja adresów 3. authentication-proxy

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

Konfiguracja połączenia G.SHDSL punkt-punkt w trybie routing w oparciu o routery P-791R.

Institute of Telecommunications. koniec wykładu VIII.

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

router wielu sieci pakietów

Załącznik produktowy nr 6 do Umowy Ramowej - Usługa Dostępu do Sieci Internet

Administracja sieciami LAN/WAN Komunikacja między sieciami VLAN

Wykorzystanie połączeń VPN do zarządzania MikroTik RouterOS

Routing. część 2: tworzenie tablic. Sieci komputerowe. Wykład 3. Marcin Bieńkowski

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

Ćwiczenie Konfiguracja statycznych oraz domyślnych tras routingu IPv4

Badanie protokołów routingu

Księgarnia PWN: Mark McGregor Akademia sieci cisco. Semestr piąty

Praktyczne aspekty implementacji IGP

Routing. routing bezklasowy (classless) pozwala na używanie niestandardowych masek np. /27 stąd rozdzielczość trasowania jest większa

PBS. Wykład Podstawy routingu. 2. Uwierzytelnianie routingu. 3. Routing statyczny. 4. Routing dynamiczny (RIPv2).

Routing i protokoły routingu

ZiMSK. Routing dynamiczny 1

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Sieci i Aplikacje TCP/IP. Ćwiczenie nr 1

Warsztaty z Sieci komputerowych Lista 3

Routing. część 2: tworzenie tablic. Sieci komputerowe. Wykład 3. Marcin Bieńkowski

Konfigurowanie protokołu OSPF w systemie Linux

IPv6. Wprowadzenie. IPv6 w systemie Linux. Zadania Pytania. budowa i zapis adresu, typy adresów tunelowanie IPv6 w IPv4

Wprowadzenie 5 Rozdział 1. Lokalna sieć komputerowa 7

GRAF DECYZJI O TRASIE PAKIETU

Rozległe Sieci Komputerowe

Instrukcja 10 - Trasowanie i protokół RIP

Instrukcja 11 - Trasowanie i protokół OSPF

Plan wykładu. Wyznaczanie tras. Podsieci liczba urządzeń w klasie C. Funkcje warstwy sieciowej

Planning and Cabling Networks

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

Konfiguracja routerów CISCO protokoły rutingu: statyczny, RIP, IGRP, OSPF. Autorzy : Milczarek Arkadiusz Małek Grzegorz 4FDS

Konfigurowanie sieci VLAN

ZADANIE.02 Podstawy konfiguracji (interfejsy) Zarządzanie konfiguracjami 1,5h

Open Shortest Path First Protokół typu link-state Szybka zbieżność Obsługa VLSMs (Variable Length Subnet Masks) Brak konieczności wysyłania

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Mechanizmy routingu w systemach wolnodostępnych

Ćwiczenie Konfiguracja routingu między sieciami VLAN

ZADANIE.03 Routing dynamiczny i statyczny (OSPF, trasa domyślna) 1,5h

Warsztaty z Sieci komputerowych Lista 3

Internet Protocol v6 - w czym tkwi problem?

Nowe zasady przydziału zasobów z RIPE

Analysis of PCE-based path optimization in multi-domain SDN/MPLS/BGP-LS network

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Open Shortest Path First Protokół typu link-state Szybka zbieżność Obsługa VLSMs (Variable Length Subnet Masks) Brak konieczności wysyłania

Podstawy Sieci Komputerowych Laboratorium Cisco zbiór poleceń

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Aby lepiej zrozumieć działanie adresów przedstawmy uproszczony schemat pakietów IP podróżujących w sieci.

Podstawy MPLS. PLNOG4, 4 Marzec 2010, Warszawa 1

Lab 2 ĆWICZENIE 2 - VLAN. Rodzaje sieci VLAN

Laboratorium - Konfiguracja zaawansowanych właściwości protokołu OSPFv2

EFEKTYWNOŚĆ PROTOKOŁÓW TRASOWA- NIA BGP + OSPF PRZY REALIZACJI USŁUG TRANSPORTU DANYCH

OSPF... 3 Komunikaty OSPF... 3 Przyległość... 3 Sieć wielodostępowa a punkt-punkt... 3 Router DR i BDR... 4 System autonomiczny OSPF...

Konfiguracja WDS na module SCALANCE W Wstęp

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

Zarządzanie sieciami komputerowymi - wprowadzenie

Transkrypt:

STUDIA INFORMATICA 2016 Volume 37 Number 2 (124) Robert Ryszard CHODOREK AGH Akademia Górniczo-Hutnicza, Katedra Telekomunikacji Agnieszka CHODOREK Politechnika Świętokrzyska, Katedra Systemów Informatycznych WYBRANE ASPEKTY SELEKCJI TRAS BGP 1 Streszczenie. Protokół BGP jest protokołem rutingu zewnętrznego, tj. rutingu realizowanego pomiędzy systemami autonomicznymi. Artykuł omawia wybrane aspekty selekcji trasy BGP, związane z wyborem trasy od danego systemu autonomicznego i trasy do danego systemu autonomicznego. Poruszone zostaną kwestie liczby łączy, atrybutów wagi i lokalnych preferencji, jak również atrybutów MED oraz community. Słowa kluczowe: BGP, ruting, sieci IP CHOSEN ASPECTS OF BGP ROUTE SELECTION Summary. The BGP is an external routing protocol, i.e. BGP routing is carried out between autonomous systems. In the paper two BGP route selections, concerned with the selection of paths to and from autonomous systems, are described. The question of local-preference, weight, MED and community attributes are also addressed. Keywords: BGP, routing, IP networks 1. Wprowadzenie Obecnie ruting w sieci Internet opiera się na podziale tej sieci na wiele systemów autonomicznych AS (ang. Autonomous System), rozumianych jako zbiór sieci lub prefiksów sieci zarządzanych przez jednego operatora. Ruting funkcjonujący wewnątrz systemu 1 Prace prezentowane w niniejszym artykule były finansowane z funduszu prac statutowych KT AGH (nr umowy 11.11.230.018).

128 R.R. Chodorek, A. Chodorek autonomicznego nazywany jest rutingiem wewnętrznym, a ruting pomiędzy systemami autonomicznymi nazywany jest rutingiem zewnętrznym. Ruting wewnętrzny ma charakter operacyjny. Wykorzystuje takie protokoły, jak RIP, RIPng, OSPFv2, OSPFv3, EIGRP czy IS-IS. Ruting zewnętrzny jest określany jako ruting strategiczny. Wynika to z faktu, że jego działanie ma wpływ na funkcjonowanie całej sieci Internet. Nawet niewielki operator sieciowy, włączony do procesu tworzenia globalnego rutingu zewnętrznego, ma wpływ na kształtowanie tras przepływu pakietów na całym globie. Pomyłka, nawet drobna, może doprowadzić do odcięcia liczonej w milionach grupy użytkowników od dostępu do danej usługi, a nawet w ogóle od dostępu do Internetu. Od ponad dwudziestu lat rolę jedynego stosowanego w sieci Internet protokołu rutigu zewnętrznego pełni protokół BGP (ang. Border Gateway Protocol) [1, 2]. Protokół ten jest następcą starszego protokołu rutingu zewnętrznego, EGP (ang. Exterior Gateway Protocol). Przez cały czas, jaki upłynął od jego standaryzacji, BGP był nieustannie rozwijany. Pojawiło się wiele istotnych rozszerzeń do mechanizmów protokołu, takich jak obsługa protokołu IP w wersji 6 [3] czy obsługa 32-bitowych numerów systemów autonomicznych [4]. Nie rozszerzają one jednak podstawowej wersji protokołu, która od marca 1995 jest wersją 4 [2] (mimo późniejszych, poważnych zmian w styczniu 2006 [1]). Takie podejście pozwala na szybszą standaryzację zmian oraz niezależne prace nad zmianami. W literaturze (a także w różnego rodzaju poradnikach, dostępnych w sieci Internet) można znaleźć opisy poszczególnych atrybutów protokołu BGP wraz z przykładami ich użycia [5-7]. W praktyce jednak osoba konfigurująca BGP spotyka się z zagadnieniem odwrotnym pojawia się problem wyboru trasy i trzeba go rozwiązać za pomocą odpowiedniego doboru parametrów (atrybutów). Niniejszy artykuł poświęcony jest podstawowym aspektom wyboru trasy z danego systemu autonomicznego i trasy powrotnej do danego systemu autonomicznego. Artykuł składa się z pięciu rozdziałów. W rozdziale drugim przedstawiono ogólną tematykę wyboru trasy w protokole BGP. Rozdział trzeci omawia wybór trasy z danego systemu autonomicznego. Rozdział czwarty dyskutuje wybór trasy do danego systemu autonomicznego. Rozdział piąty podsumowuje artykuł. 2. Wybór trasy w protokole BGP Protokół BGP pozwala na przygotowanie decyzji rutingowych, zapisywanych w tabeli rutingu rutera. Może on dostarczyć (w zależności od konfiguracji) jedną najlepszą trasę (według ustalonych kryteriów) lub kilka alternatywnych tras, poczynając od najlepszej.

Wybrane aspekty selekcji tras BGP 129 Trasa w protokole BGP jest wybierana na podstawie złożonych kryteriów [8]. Należą do nich wybrane atrybuty trasy, takie jak trasy o krótszej ścieżce, trasy o mniejszej wartości atrybutu MED (ang. Multi Exit Discriminator), trasy starsze (co w praktyce oznacza, że są bardziej stabilne). Do kryteriów wyboru trasy należą również atrybuty trasy ustawiane lokalnie w ruterze (takie jak waga trasy atrybut weight) czy atrybuty ustawiane w danym systemie autonomicznym (jak atrybut lokalnych preferencji local-preference). Ze względu na specyfikę i zakres stosowalności protokołu BGP jako rutingu zewnętrznego (ruting jest realizowany pomiędzy de facto niezależnymi operatorami sieciowymi, prowadzącymi różną politykę rutingu) nie jest możliwe jawne wskazanie, w konfiguracji wszystkich ruterów biorących udział w rutingu, pożądanych atrybutów trasy 2. Można natomiast wpływać na wybór trasy przez stosowanie pewnych technik. Wybór trasy przez BGP sprowadza się do dwóch podstawowych problemów wyboru trasy z własnego systemu autonomicznego (systemu autonomicznego operatora) i wyboru trasy powrotnej. Wybór trasy z własnego systemu autonomicznego jest zagadnieniem prostszym organizacyjnie, gdyż rutery podejmujące decyzję o wyborze trasy są w zasięgu administracyjnym operatora sieciowego, który może w pełni wpływać na ich konfiguracje. Wybór trasy powrotnej jest zagadnieniem o wiele bardziej złożonym. Operatorowi sieciowemu nie możemy, ze względów praktycznych, przekazywać złożonych kryteriów wyboru trasy do innych systemów autonomicznych. W praktyce oznaczałoby to bowiem wysłanie własnych kryteriów wyboru trasy do wszystkich ruterów BGP w całym Internecie. Samo zaś przekazanie podstawowych parametrów trasy może okazać się niewystarczające, aby ruch powrotny był kierowany właściwą trasą (pożądaną przez operatora). O wyborze trasy powrotnej może zadecydować parametr sieci, który jest całkowicie niezależny od operatora, jak np. liczba systemów autonomicznych na danej trasie albo zakres agregacji adresów. Mapa rutingu (ang. route map) pozwala na realizacje przetwarzania warunkowego w ruterze. Za pomocą mapy rutingu można testować wiele atrybutów trasy (odbywa się to z wykorzystaniem instrukcji warunkowej match). Mapa zawiera warunki, które formalnie zapisuje się za pomocą list dostępowych. Wejście do każdego z warunków jest zgodne z nadanym mu numerem sekwencyjnym. Jeżeli testowany warunek jest spełniony, wykonywana jest odpowiednia akcja, np. modyfikowane są atrybuty trasy (za pomocą instrukcji set). Jeżeli nie jest spełniony, następuje przejście do następnego z warunków w ramach tej samej mapy tras. Jeżeli zostanie użyta mapa tras i dla danej trasy żaden z warunków nie zostanie spełniony, to taka trasa nie trafia do tablicy BGP (jest ona odrzucana). Możliwe jest pominięcie w mapie trasy instrukcji warunkowej match i zostawienie instrukcji set lub tylko zostawienie pustego 2 Taka możliwość występuje typowo w ramach systemu autonomicznego. Jest wykorzystywana podczas konfiguracji rutingu wewnętrznego.

130 R.R. Chodorek, A. Chodorek wejścia do mapy tras. Pozwala to na wprowadzanie wszystkich tras do tablicy rutingu protokołu BGP, zmieniając atrybuty w tych, dla których warunek został spełniony. 3. Wybór trasy z danego systemu autonomicznego Jeżeli system autonomiczny dołączony jest do sieci Internet z użyciem wielu łączy, wówczas istnieje konieczność określenia, w jaki sposób ruch generowany w systemie autonomicznym będzie wypływał z systemu autonomicznego. W przypadku braku wyróżnionych łączy, do celów rutingu zewnętrznego wystarczą typowe zasady określania najlepszej trasy, zaimplementowane w protokole BGP. Jednakże bardzo często konieczne jest wskazanie jednego łącza jako preferowanego, a traktowanie drugiego jako łącza awaryjnego. Takie zróżnicowanie łączy może wynikać z umów z operatorami, przepustowości łączy itd. a) R1 R3 AS26 R2 AS11 R5 ISP 2 100 Mb/s AS2 b) R1 R3 AS26 R2 AS11 R5 ISP 2 200 Mb/s 10 Mb/s 50 Mb/s AS2 10 Mb/s ISP 1 20 Mb/s ISP 1 R4 R4 Rys. 1. System autonomiczny wielokrotny: a) dwa łącza zewnętrzne, b) cztery łącza zewnętrzne Fig. 1. The multiple AS: a) two external links, b) four external links Na rysunku 1a przedstawiony został system autonomiczny (AS 26) podłączony do Internetu przez dwóch różnych operatorów sieciowych (ISP1 i ISP2) za pomocą łącza 100Mb/s pomiędzy ruterami R2 i R5 (do operatora ISP2) oraz łącza 10Mb/s pomiędzy ruterami R3 i R4 (do operatora ISP1). Wewnątrz systemu autonomicznego stosowane są łącza 1Gb/s. Jeżeli użytkownik sieci jest dołączony do rutera R1, to wówczas ma dwie możliwości wysłania nadawanych przez siebie pakietów do sieci Internet: przez łącze R3-R4 lub przez łącze R2-R5. Jak widać na rysunku 1a, łącze pomiędzy ruterami R3-R4 ma dziesięciokrotnie mniejszą przepustowość i spełnia rolę łącza dodatkowego (awaryjnego). Dlatego podstawowy ruch powinien przepływać przez łącze R2-R5. W tej sytuacji wybór pożądanej trasy może być zrealizowany z użyciem najprostszego z mechanizmów, czyli przez ustawienie atrybutu wagi trasy (weight). Atrybut ten ustawiany jest lokalnie w ruterze i wpływa na wybór trasy tylko w tym ruterze. Ze względu na duży zakres tego parametru (od 0 do 65 535) użytkownik może, w teorii, ustawić różne własne preferencje wyboru dla tysięcy tras. W praktyce, aby możliwa

Wybrane aspekty selekcji tras BGP 131 była prosta modyfikacja priorytetów, trasom nadaje się wagi z pewnym krokiem, np. co 50. Wówczas, gdy będzie konieczne podniesienie priorytetu jakiejś trasy ponad obecny poziom (np. 50), ale wciąż poniżej poziomu następnej klasy (np. 100), to można ustawić wagę trasy na wartość pośrednią (np. 73) bez konieczności zmiany konfiguracji wielu tras. W przykładzie pokazanym na rysunku 1a, w ruterach R2 i R3 należy ustawić parametr weight dla określonych tras. Przykład ustawiania konfiguracji rutera R2 przedstawiono poniżej. R2(config)#router bgp 26! R5 ISP 2 R2(config-router)#neighbor 192.0.2.5 remote-as 11 R2(config-router)#neighbor 192.0.2.5 weight 100! R3 R2(config-router)#neighbor 203.0.113.3 remote-as 26 Dla rutera R2 zmiana wagi trasy dotyczyła tras z rutera R5. Trasy te zyskały wyższą wagę (100 zamiast domyślnego 0 3 ) dzięki ustawieniu wartości wagi (weight 100) dla sąsiada R5. W ruterze R3 zmianę taką należy wprowadzić dla tras z rutera R2, który ma bezpośredni dostęp do Internetu przez preferowane łącze (weight 100). Konfiguracja rutera R3 została przedstawiona poniżej. R3(config)#router bgp 26! R4 ISP 1 R3(config-router)#neighbor 198.51.100.132 remote-as 2! R2 R3(config-router)#neighbor 203.0.113.2 remote-as 26 R3(config-router)#neighbor 203.0.113.2 weight 100 W efekcie w ruterze R3 otrzymamy (dla sieci 192.168.5.0) wpisy w tablicy rutingu przedstawione poniżej, w których trasa optymalna (wybrana przez ruter i oznaczona przez znak ">") prowadzi przez ruter R2 do operatora ISP2. Network Next Hop Metric LocPrf Weight Path * 192.168.5.0 198.51.100.132 0 2 i *>i 203.0.113.2 0 100 100 11 125 2 i Dla topologii bardziej złożonych należy zastosować dodatkowe mechanizmy, pozwalające na ustawienie atrybutu wagi w zależności od złożonych warunków. Często stosowany jest atrybut preferencji lokalnych (atrybut local preference). Realizacja przedstawionego wyżej zadania przy wykorzystaniu atrybutu preferencji lokalnych znacznie upraszcza konfigurację. Konfiguracja dla rutera R2, ustawiająca lokalne preferencje, została przedstawiona poniżej. R2(config)#router bgp 26 R2(config-router)#bgp default local-preference 150 3 Jeżeli sieć jest rozgłaszana przez dany ruter, to waga przyjmuje wartość 32 768. Jeżeli jest pozyskana z innego systemu, to dostaje wagę 0.

132 R.R. Chodorek, A. Chodorek W konfiguracji tej ruter ustawia domyślne preferencje lokalne (local preference 150) na wartość 150 (standardowo w ruterze firmy Cisco atrybut ten ma wartość 100) dla wszystkich pozyskanych tras zewnętrznych (w analizowanym przykładzie będą to trasy od rutera R5). Dzięki takiej wartości zwiększone zostały preferencje lokalne w porównaniu ze standardowymi wartościami tego parametru, ustawionymi w innych ruterach. Ruter R3 jest podłączony do operatora ISP2 przez ruter R4 i łącze, które nie jest łączem preferowanym. Z tego względu w ruterze R3 domyślne preferencje lokalne ustawiono na 50. Wszystkie trasy zewnętrzne, pozyskane przez te ruter, będą zatem miały niższy priorytet od standardowego. Konfiguracja dla rutera R3, ustawiająca lokalne preferencje, została pokazana poniżej. R3(config)#router bgp 26 R3(config-router)#bgp default local-preference 50 Poniżej przedstawiono fragment tablicy rutingu BGP rutera R1. Network Next Hop Metric LocPrf Weight Path * i192.168.17.0 192.168.1.3 0 50 0 2 80 4 i *>i 203.0.113.2 0 150 0 11 80 4 i Jak można zauważyć na podstawie wpisów w tablicy rutingu, sieć 192.168.17.0/24 jest osiągalna przez sieci obydwu operatorów. Sieć od operatora ISP2 (system autonomiczny 11) jest preferowana (wskazanie przez znak > w ostatniej linii tablicy BGP). Trasy mają taką samą wagę (równą 0) oraz taką samą ilość systemów autonomicznych. Na rysunku 1b przedstawiony został system autonomiczny podłączony za pomocą czterech łączy do sieci należących do dwóch różnych operatorów sieciowych. Łącza te mają zróżnicowane przepustowości, od 10 Mb/s do 200 Mb/s. W tym przypadku konieczne jest szczegółowe rozróżnienie w ruterze tras rozgłaszanych przez różne łącza. Realizacja tego zadania wymaga zastosowania map rutingu. W przypadku przedstawionym na rysunku 1b pożądane jest wykorzystywanie łączy do operatora ISP2. Do sieci tego operatora prowadzą łącza o przepustowościach odpowiednio 200 Mb/s i 50 Mb/s. Łącza do operatora ISP1, mające przepustowości 10 Mb/s i 20 Mb/s, będą wykorzystywane dodatkowo lub w sytuacjach awaryjnych. Ruter R2 powinien zatem modyfikować trasy pozyskane od rutera R5, nadając im wyższy priorytet. Natomiast trasy pochodzące od rutera R4 powinny mieć niższy priorytet. Do rozwiązania tego problemu wykorzystano preferencje lokalne i mapy tras. Założono przy tym, że preferencje lokalne tras będą proporcjonalne do przepustowości łącza. Ponieważ maksymalna wartość parametru preferencji lokalnych to 32 768, dla łącza charakteryzującego się największą przepustowością (w skali systemu autonomicznego) należy ustawić ten parametr na wartość nieprzekraczającą wartości maksymalnej, zapewniając zapas w przypadku nagłego

Wybrane aspekty selekcji tras BGP 133 pojawienia się modyfikacji preferencji rutingowych. W analizowanym przypadku przyjęto, że łącze zewnętrzne o największej przepustowości w systemie autonomicznym AS 26 (200 Mb/s) otrzyma preferencje lokalne 2000. Etykiety nadane mapom rutingowym powiązane zostały z przepustowością łącza (przykładowo, mapa rutingu dla łącza 200 Mb/s ma oznaczenie L200M). Poniżej pokazano powiązanie map rutingu z interfejsami dla przykładowego rutera (R2). R2(config)#router bgp 26! R5 ISP2 R2(config-router)#neighbor 192.0.2.5 remote-as 11 R2(config-router)#neighbor 192.0.2.5 route-map L200M in! R4 ISP1 R2(config-router)#neighbor 198.51.100.4 remote-as 2 R2(config-router)#neighbor 195.51.100.4 route-map L10M in Definicje map rutingowych dla rutera R2 z ustawionymi wagami proporcjonalnymi do przepustowości łączy przedstawiono poniżej. R2(config)#route-map L10M permit 10 R2(config-route-map)#set local-preference 100 R2(config)#route-map L200M permit 10 R2(config-route-map)#set local-preference 2000 W analogiczny sposób należy zrealizować nastawy w ruterze R3. 4. Wybór trasy do danego systemu autonomicznego Wybór trasy powrotnej realizowany jest w ruterach znajdujących się poza systemem autonomicznym, na podstawie przedstawionych kryteriów wyboru trasy. Operator nie ma możliwości wpływu na ten wybór przez modyfikację konfiguracji ruterów. Możliwość wpływania na trasę powrotną daje jedynie odpowiednia modyfikacja atrybutów trasy. W przypadku systemów, które są dołączone bezpośrednio do naszego systemu autonomicznego, możliwe jest użycie opcjonalnego atrybutu trasy MED. Jeżeli konieczny jest wybór trasy powrotnej z systemów, które nie przylegają bezpośrednio do danego systemu autonomicznego, należy zmodyfikować listę systemów autonomicznych podawanych jako atrybut ścieżki lub ustawić atrybut community. Na rysunku 2 przedstawiony został system autonomiczny podłączony do sieci Internet przez dwóch operatorów sieciowych, ISP1 i ISP2. Łącza mają zróżnicowane przepustowości, 100 Mb/s (R2-R5) i 10 Mb/s (R3-R4). Jeżeli w systemie przedstawionym na rysunku 2 nie zostaną ustawione dodatkowe kryteria wyboru tras, trasa powrotna będzie prowadziła przez R4- R3. Wynika to z faktu, iż obie trasy różnią się tylko liczbą systemów autonomicznych. BGP wybierze trasę z mniejszą liczbą systemów autonomicznych. W przypadku przejścia przez R3-

134 R.R. Chodorek, A. Chodorek R4, w ruterze R6 jest wskazany jeden system autonomiczny (AS 26), a po przejściu przez R2- R5 w ruterze R6 widoczne są dwa systemy autonomiczne (AS 11 i AS 26). R1 R3 AS26 R2 100 Mb/s R5 AS11 ISP 2 10 Mb/s R6 ISP 1 R7 R8 Internet R4 AS2 Rys. 2. System autonomiczny wielokrotny wybór trasy powrotnej Fig. 2. The multiple AS selecting return path Aby to zmienić, należy dla tras rozgłaszanych przez R3 wydłużyć sztucznie listę systemów autonomicznych. Wydłużając listę, dodawany jest wielokrotnie (zazwyczaj od 1 do 3 razy) własny numer systemu autonomicznego. W przykładzie jak na rysunku 2, konfiguracja taka wprowadzana jest tylko w ruterze R3 i została pokazana poniżej. R3(config)#router bgp 26! R4 ISP1 R3(config-router)#neighbor 198.51.100.132 remote-as 2 R3(config-router)#neighbor 198.51.100.132 route-map wy1 out R3(config)#route-map wy1 permit 10 R3(config-route-map)#set as-path prepend 26 26 Wszystkie trasy ogłaszane przez ruter R3 do rutera R4 będą miały w liście systemów autonomicznych 3 systemy (oryginalnie wstawiany przez BGP system AS 26 i dwukrotnie dodany przez mapę rutingową system AS 26). Taka zmian wystarczy, aby ruter R6 wybrał trasę przez sieć operatora ISP2 i, w efekcie, przez R5-R2. Inną możliwość stwarza użycie atrybutu community, wykorzystywanego do znakowania tras. Jeżeli operatorzy ustawią przesyłanie atrybutu community (domyślnie jest on usuwany po wyjściu z systemu autonomicznego), to przenosi on informacje o pożądanych akcjach, które powinny być zrealizowane po jego odebraniu. Atrybut ten jest zapisywany na 32 bitach, typowo jako dwie liczby 16-bitowe rozdzielone dwukropkiem (numer_systemu_as: znacznik). Jako numer systemu autonomicznego podawany jest numer systemu, który ustawia znacznik (tu: 26). Pole znacznik ustawiane jest przez użytkownika dowolnie, jednakże musi on poinformować inne systemy, jakiej akcji oczekuje po konkretnym znaczniku (np. 26:17 ustawić wagę trasy na 150). Przykładowa konfiguracja dla rutera R3 została przedstawiona poniżej. R3(config)#router bgp 26! R4 ISP1 R3(config-router)#neighbor 198.51.100.132 remote-as 2

Wybrane aspekty selekcji tras BGP 135 R3(config-router)#neighbor 198.51.100.132 route-map com1 out R3(config-router)#neighbor 198.51.100.132 send-community R3(config)#route-map com1 permit 10 R3(config-route-map)# set community 26:17 Na odebrany znacznik systemy autonomiczne powinny zareagować odpowiednią akcją, np. zwiększeniem wagi dla danej trasy. 5. Zakończenie W artykule przedstawiono wybrane zagadnienia funkcjonowania rutingu zewnętrznego związane z selekcją tras BGP do i od systemu autonomicznego. Omówione zostały metody wpływania na wybór trasy wychodzącej z danego systemu autonomicznego oraz przychodzącej do tego systemu. Zaprezentowane topologie sieciowe, obrazujące specyfikę rutingu zewnętrznego, mogą być wykorzystywane w realizacji zagadnień związanych z konfiguracją protokołu BGP, jak i realizacją zagadnień typu studium przypadku (jeśli zagadnienia te byłyby włączone w proces dydaktyczny). BIBLIOGRAFIA 1. Rekhter Y. (ed.), Li T. (ed.), Hares S. (ed.): A Border Gateway Protocol 4 (BGP-4). RFC 4271, January 2006. 2. Rekhter Y., Li T.: A Border Gateway Protocol 4 (BGP 4). RFC 1771, March 1995. 3. Bates T., Chandra R., Katz D., Rekhter Y.: Multiprotocol Extensions for BGP-4. RFC 4760, January 2007. 4. Vohra Q., Chen E.: BGP Support for Four-octet AS Number Space. RFC 4893, May 2007. 5. Gaddis Jeremy L.: Using BGP s Local Preference to Influence Outbound Routing. URL: http://evilrouters.net/2009/03/07/using-bgps-local-preference-to-influenceoutbound-routing/, 2009. 6. Gaddis Jeremy L.: Using BGP s MED to Influence Inbound Routing. URL: http://evilrouters.net/2009/07/20/using-bgps-med-to-influence-inbound-routing/, 2009. 7. Zhang R., Bartell M.: BGP Design and Implementation. Cisco Press, 2003. 8. Chodorek A., Chodorek R.R.: Wykorzystanie ruterów dostępowych i emulatora Netkit w procesie nauczania wybranych problemów rutingu zewnętrznego. TTS, Technika Transportu Szynowego, R. 22, nr 12, 2015, s. 2242-2249.

136 R.R. Chodorek, A. Chodorek Abstract The Border Gateway Protocol (BGP) [1] [2] is an external routing protocol. The BGP route selection includes two basic problems. The first problem consists of the route selection from one autonomous system to a destination and the second problem involves selecting the return path. The first issue is simpler because routers deciding on the choice of routes are in the "range of administration" of the network operator, who can fully influence their configurations. The choice of the return path is an issue of much greater complexity. We cannot, for practical reasons, transmit and set up complex selection criteria routes to other autonomous systems. The article presents selected issues pertaining to the functioning of the external routing associated with the selection of BGP routes to and from the autonomous system. If the autonomous system is connected to the Internet with multiple links very often it is necessary to identify a single preferred link and to treat the others as emergency links (Fig. 1a). The main traffic should go through the faster link R2-R5. Selecting the desired path can be realized by using the simplest mechanism, or by setting the attribute weight. This attribute is set locally on the router. In cases of greater complexity (Fig. 1b) the routing problem can be solved by using local preferences and route maps. The reverse path can be selected in routers outside the autonomous system on the basis of route selection criteria. Systems that are directly connected to our autonomous system can use the Multi Exit Discriminator (MED) optional attribute route. If it is necessary to select a route back from systems that do not adhere directly to the autonomous system, then one needs to modify the list of autonomous systems served as an attribute of the track (AS prepending) or set the attribute community. Adresy Robert R. CHODOREK: AGH Akademia Górniczo-Hutnicza, Katedra Telekomunikacji, Al. A. Mickiewicza 30, 30-059 Kraków, chodorek@agh.edu.pl Agnieszka CHODOREK: Politechnika Świętokrzyska, Katedra Systemów Informatycznych, Al. Tysiąclecia Państwa Polskiego 7, 25-314 Kielce, a.chodorek@tu.kielce.pl