Przegląd protokołów routingu

0

Na spotkaniach z administratorami sieci okazuje się, że część z nich, nie mając szerokiej wiedzy na ten temat protokołów routingu, ma problem, który z protokołów wstępnie wybrać do dalszej analizy. Trzeba pamiętać, że dobre zrozumienie działania wybranego wstępnie protokołu będzie niezbędne przed implementacją.

Szczegółowe informacje techniczne nie zawarte w poniższym tekście można bez problemu znaleźć w sieci. Dla ułatwienia zamieszczamy odnośniki do bardziej szczegółowych materiałów.

RIP

http://pl.wikipedia.org/wiki/RIP
Protokół routingu powszechnie spotykany w materiałach szkoleniowych. Ze względu na swoją prostą budowę jest dobrym sposobem na przedstawienie podstawowych założeń i zasad działania protokołów routingu. W praktyce jest nie spotykany w sieciach produkcyjnych ze względu na swoje główne ograniczenia:

  • Długi czas konwergencji – czas potrzebny na przebudowanie tablic routingu w wyniku zmiany topologii sieci. W razie awarii szybkie przeliczenie tras i zapewnienie ciągłości działających usług to podstawowe zadanie dynamicznego routingu.
  • Bardzo prosta metoda liczenia trasy jedynie na podstawie ilości pośredniczących routerów. Nie są tu uwzględniane tak ważne parametry, jak przepustowość łączy, wykorzystanie więcej niż jednej trasy do równoważenia obciążenia łączy.

Nie polecam tego protokołu. Kilkanaście lat temu jego głównymi zaletami była prostota, dzięki której nie obciążał zbytnio procesora routera, jednak przy obecnie stosowanych urządzeniach nie ma najczęściej żadnego problemu z uruchamianiem bardziej zaawansowanych protokołów nawet na małych routerach klasy korporacyjnej czy najmniejszych przełącznikach szkieletowych.

Konfiguracja protokołu jest bardzo prosta i wygląda podobnie na routerach różnych producentów. Poniżej przykład konfiguracji na routerze MSR firmy 3Com:

[RouterA] rip
[RouterA-rip-1] network 10.0.0.0
[RouterA-rip-1] network 20.0.0.0

Spotkałem się z opiniami, iż ze względu na prostą konfigurację może być rozważany. Z tą opinią się nie zgadzam i zachęcam do porównania przedstawionej konfiguracji RIP do konfiguracji protokołu OSPF przedstawionego poniżej.

OSPF
http://pl.wikipedia.org/wiki/OSPF
Jest to najczęściej wybierany protokół w przypadku chęci lub konieczności implementacji dynamicznego protokołu routingu opisanego dokumentem RFC. Jest to standardowy protokół, dostępny w routerów wszystkich producentów. Jego struktura i sposób działania są zdecydowanie bardziej skomplikowane, jednak nie przekłada się to na trudność konfiguracji. Protokół ten może być stosowany w małych sieciach zawierających kilka routerów, jednak bardzo dobrze się skaluje i umożliwia tworzenie rozbudowanych struktur dużych korporacji nawet do kilkuset routerów.

Sposób działania jest następujący: każdy z routerów w ramach grupy, w której działa, ma pełną informację o topologii sieci, sąsiadach i połączeniach między nimi. Na podstawie tych informacji o sieci jest w stanie nie tylko wybrać najkrótszą ścieżkę (ang. Open Shortest Path First), ale również wykorzystywać wiele tras do równoważenia obciążenia łączy.

Co bardzo ważne, koszt ścieżek jest uzależniony od przepustowości interfejsów. Jest to bardzo korzystne. Zwrócić tu jednak należy uwagę, że przepustowość łącza jest określana liczbowo w konfiguracji interfejsu. Ma to wpływ na domyślnie przypisany koszt – u różnych producentów jest on różny. Żeby uniknąć problemów w przypadku łączenia routerów różnych producentów, trzeba wartości te odpowiednio skonfigurować.

Poniżej przykład konfiguracji protokołu OSPF na przykładzie routera 3Com serii MSR:

[RouterB] ospf
[RouterB-ospf] area 0
[RouterB-ospf-1-area-0.0.0.0] network 192.1.1.0 0.0.0.255
[RouterB-ospf-1-area-0.0.0.0] network 194.1.1.0 0.0.0.255

Jak widać poziom trudności samej konfiguracji nie jest duży. Oczywiście budowa i zrozumienie działania OSPF jest trudniejsze niż w przypadku protokołu RIP, jednak nagrodą są dużo większe możliwości. W przypadku awarii połączenia lub samego routera, czas przełączenia na trasę alternatywną będzie krótszy niż w przypadku protokołu RIP.

Zachęcam do stosowania tego właśnie protokołu. Może się wydawać bardzo skomplikowany na początku nauki, jednak przy małych sieciach i podstawowej konfiguracji wcale taki nie jest.

BGP
http://pl.wikipedia.org/wiki/BGP
Jest to protokół routingu zupełnie innej klasy niż dwa wyżej opisane. Służy on głównie do obsługi połączeń międzyoperatorskich. Zdarza się jednak, iż większe sieci korzystają z tego protokołu na swoim brzegu. Daje on bowiem możliwość wpływania na trasę przebiegu pakietów w całej globalnej sieci internetowej. Jest to tym samym bardzo potężne narzędzie umożliwiające wpływanie na routing.

Jednak należy pamiętać, że przy nieprawidłowej konfiguracji można potencjalnie spowodować przekazywanie ruchu tranzytowego przez naszą sieć, a tym samym przeciążyć łącza.

Są dwa główne powody stosowania BGP w przypadku sieci innych niż operatorskie:

  1. Uniezależnienie się od adresacji danego dostawcy usług internetowych – w przypadku chęci skorzystania z BGP trzeba wykupić własny obszar, tzw. Autonomus System, oraz zakres publicznej adresacji. Dzięki temu, przynajmniej w teorii, można zmieniać operatorów bez konieczności rekonfiguracji adresacji. W praktyce jednak pojawia się wiele organizacyjnych problemów przy przechodzeniu od jednego operatora do drugiego.
  2. Druga ważna zaleta to możliwość wpływu na tablice routingu operatorów w przypadku posiadania więcej niż jednego łącza do Internetu. Dzięki temu możemy poinformować pozostałe routery w Internecie o sposobie dostępu do naszej sieci. W takiej sytuacji, w przypadku awarii, nadal będzie możliwość kontaktu z naszymi usługami wystawionymi dla użytkowników Internetu.

Konfiguracja BGP nie jest prosta, jednak obecnie jest już dość spora grupa ludzi potrafiących odpowiednio skonfigurować router na potrzeby danej sieci. Trzeba przy tym mieć na uwadze, że router wspierający BGP również musi spełniać duże wymagania. Chodzi głównie o ilość pamięci pozwalającą przechowywać bardzo dużą tablicę routingu, zawierającą informacje o wszystkich sieciach dostępnych w globalnej sieci. Stosuje się sumowanie wpisów, grupując poszczególne mniejsze sieci w pojedyncze wpisy, ale nawet przy wykorzystaniu tego zabiegu jest to bardzo duża tablica routingu.

Inne protokoły routingu
Oprócz wymienionych, głównych standardowych protokołów jest jeszcze duża grupa innych, o których warto wiedzieć, że istnieją.

EIGRP – protokół, który można stosować mniej więcej tam, gdzie OSFP. Jego konstrukcja jest prostsza niż OSPF, a przy tym uzyskuje się podobne rezultaty. Ma jednak podstawową wadę – jest własnością Cisco i tylko na urządzeniach tego producenta jest możliwy do implementacji.

IS-IS – w zastosowaniu podobny do OSPF, nie wnikając w różnice, które istnieją między tymi protokołami. Spotykany jest raczej w środowiskach operatorskich, na urządzeniach klasy korporacyjnej jest implementowany na droższych urządzeniach w porównaniu do OSPF.

Fakt zadziałania protokołu routingu nie oznacza końca konfiguracji
Często spotykam sytuacje, w których fakt uruchomienia danej funkcjonalności oznacza koniec pracy nad zadaniem. Tymczasem bardzo ważne jest stworzenie choćby podstawowej dokumentacji. Dzięki temu administrator zyskuje szerszy pogląd na swoją sieć, co zwiększa szansę wykrycia błędu przed implementacją. Dodatkowo, przy wprowadzaniu nowych funkcjonalności np. ACL (list kontroli dostępu) jest to dokument, który bardzo ułatwia zaplanowanie nowych funkcjonalności.

Jeżeli chodzi o protokoły routingu, to bardzo ważne jest, aby planując implementację danego protokołu uwzględnić również bezpieczeństwo. Podstawowe elementy, zwiększające poziom bezpieczeństwa to:

  • Dostęp administracyjny do routerów – dobrą praktyką jest wydzielenie osobnych interfejsów dla celów zarządzania, a następnie stworzenie wydzielonej sieci zarządzania do której dostęp będą posiadali uprawnieni administratorzy.
  • Centralny system uwierzytelniania i rozliczania – zazwyczaj mówimy tutaj już o większych sieciach, więc prawdopodobnie administratorów również będzie wielu. W związku z tym centralny system typu, np. RADIUS powinien być zaimplementowany. Podobnie wszystkie możliwe operacje i dostępy powinny być rejestrowane, tak aby było możliwe rozliczanie działań.
  • Większość protokołów routingu umożliwia lub wymaga uwierzytelnienia pozostałych routerów, w ramach których tworzymy sieć, tak aby nie było możliwe otrzymanie informacji o routingu z innego, nieuprawnionego routera.
  • Dodatkowo zalecane jest, aby ograniczyć listami dostępu na routerach dostęp dla konkretnego protokołu z adresów innych routerów, które są uprawnione do wymiany informacji między sobą.

Jak widać powyższe zalecenia dodają pracy administratorom i utrudniają ewentualną zmianę w sieci, ale przy odpowiednim organizacyjnym przygotowaniu utrudnienia te da się minimalizować. Warto natomiast pamiętać, iż zabezpieczenie routingu w naszej sieci będzie miało kluczowe znaczenie.

Autorem jest Dariusz Koralewski, inżynier systemowy w 3Com Polska

BRAK KOMENTARZY

ZOSTAW ODPOWIEDŹ