NLSP

ITpedia

Twórcom protokołu NLSP zależało w pierwszym rzędzie na zniesieniu wszelkich ograniczeń, jakie wnoszą dwa nieefektywne już dzisiaj protokoły: RIP (Routing-Information Protocol) i towarzyszący mu SAP (Service Advertisement Protocol). NLSP spełnia te założenia i wiele innych. Łączy on oryginalne koncepcje Novella z przymiotami adaptacyjnego protokołu IS-IS (Intermediate System-to-Intermediate System) OSI.

NLSP (NetWare Link-Services Protocol) jest nowoczesnym protokołem trasowania dynamicznego przede wszystkim w średnich i dużych sieciach informatycznych z łączami WAN.

Podstawowe właściwości NLSP
  • połączeniowy charakter trasowania: routery NLSP gwarantują doręczenie pakietów;
  • przechowywanie identycznego obrazu całej sieci (grafu sieci) w bazach danych wszystkich routerów NLSP;
  • zarządzanie SNMP (Simple Network Management Protocol);
  • kompresowanie nagłówka IPX (Internetwork Packet eXchange), zmniejszające rozmiar pakietów (szczególnie ważne w ruchu WAN);
  • oszczędny ruch wywołany aktualizacją grafu sieci i tabel przyległości routerów;
  • niejawne rozgłaszanie usług, eliminujące protokół SAP;
  • szybka reakcja na zerwanie połączenia i przełączenie na alternatywną trasę, połączone z uaktualnieniem topologii sieci w tabelach wszystkich routerów;
  • uzależnienie metodyki aktualizacji tabel routerów od własności sieci (LAN, łącza WAN);
  • wsteczna kompatybilność z protokołami RIP i SAP, ułatwiającą sukcesywną wymianę routerów RIP/SAP na NLSP;
  • równoważenie obciążeń łączy równoległych o tym samym koszcie;
  • relatywnie wysoka skalowalność: adresowanie hierarchiczne umożliwia tworzenie sieci globalnej z tysięcy sieci LAN i serwerów, a liczba przejść przez routery (hop count) wynosi 127;
  • rozsyłanie informacji do grupy routerów (multicasting) lub rozgłaszanie (broadcasting).


Spis treści

Zarys koncepcji trasowania NLSP

NLSP jest protokołem trasowania adaptacyjnego, nazywanym często routingiem typu Link State. Druga z tych nazw jest nagłówkiem bardzo ważnej tabeli stanów wszystkich łączy i stanów usług - grafem całej sieci, przechowywanym przez każdy router NLSP. Tabela Link State nie jest nigdy przesyłana w całości. Jest natomiast uaktualniana albo co 2 godziny, albo po każdej zmianie konfiguracji czy usług lub po awarii. Wszystkie routery muszą dysponować tabelą o identycznej zawartości. Skompletowanie danych ułatwiają im specjalne pakiety LSP (Link State Packets).

Router A wybrał najlepszą trasę do E: A-B-C-D-E. Dla routera B czy C będzie ona też najlepsza
Router A wybrał najlepszą trasę do E: A-B-C-D-E. Dla routera B czy C będzie ona też najlepsza

W bazie danych routera znajduje się także relatywnie niewielka tabela jego bezpośredniego sąsiedztwa, nazywana tabelą przyległości - Adjacency Database. W myśl protokołu NLSP router A jest sąsiadem routera B, jeśli może się z nim komunikować bez pośrednictwa innego routera. Router należy do tylu przyległości, ile ma czynnych portów. Zawartości tabel przyległości - w przeciwieństwie do Link State - są różne w każdym routerze. Tabela określonego routera zawiera dane o sąsiednich routerach oraz opisy stanu połączeń z każdym z nich. Routery aktualizują swoje tabele na podstawie odpowiedzi uzyskiwanych po wyemitowaniu pakietów LAN Hello lub WAN Hello, zwykle co 20 sekund. Router w każdej przyległości reprezentuje jeden z nich, nazywany routerem desygnowanym DR (Designated Router). Będzie on pełnił kilka ważnych funkcji.

Po skompletowaniu tabeli Link State routery są gotowe do wypełniania swoich unikatowych tabel wyboru najlepszej trasy w grafie - Forwarding Database, przechowywanych w pamięci RAM. Procedurą wyboru steruje algorytm Dijkstry, a więc wyliczane trasy będą się charakteryzowały najniższym kosztem przesyłania danych. Router najpierw wyliczy koszt fragmentów tras prowadzących do węzłów, a następnie najniższy koszt całej trasy. A kiedy do tego samego celu prowadzi kilka tras o jednakowym koszcie, router zrównoważy ich obciążenia, kierując pakiety na każdą z nich. Jeśli najlepsza droga z A do E prowadzi przez B, C i D, to najlepsza droga z B do E prowadzi również przez C i D. Tak przekłada się na trasowanie spójność tabel Link State i wspólny algorytm wyboru dróg.

Tabela wyboru najlepszej drogi składa się z wierszy (rekordów) zawierających numery sieci dostępnych z określonego routera, kolejnego skoku, kosztu przejścia przez sieć (szybsza sieć, niższy koszt), numeru portu, na który zostanie skierowany pakiet, itp., podobnie jak tabela RIP. Modyfikacja tabeli następuje po każdej zmianie w tabeli Link State.

Wieloskładnikowa sieć globalna w ujęciu NLSP składa się z domen, domeny z obszarów, a obszary z sieci lokalnych lub segmentów. Obraz takiej sieci globalnej - wspomniany graf reprezentujący tabelę Link State - powstaje ze złożenia przyległości wszystkich routerów. Z tych względów protokół NLSP został wyposażony w kilka mechanizmów umożliwiających precyzyjne ustalanie i modyfikowanie sąsiedztwa przez łącza LAN i WAN oraz rozpropagowanie tych wszystkich obrazów przyległości po całej sieci. Tym najważniejszym funkcjom protokołu NLSP jego twórcy poświęcili bardzo wiele uwagi.

Węzeł umowny i router desygnowany

Sieci w NLSP reprezentują wyłącznie pseudowęzły. Dzięki tej oryginalnej koncepcji Novella router A zawęzi swoje sąsiedztwo tylko do jednego węzła umownego - pseudowęzła PN. Podobnie węzły B, C i D. Tabele przyległości tych routerów będą teraz zawierały tylko po jednym rekordzie, charakteryzującym stany ich połączeń z pseudowęzłem. Ponieważ jednak każdy węzeł musi aktywnie uczestniczyć w normalnym ruchu pakietów, jak też w ruchu wywołanym aktualizacją tabel - pseudowęzeł zostaje zastąpiony w tych wszystkich funkcjach przez router desygnowany.

Pseudowęzeł reprezentuje sieć w NLSP
Pseudowęzeł reprezentuje sieć w NLSP

Routerem desygnowanym w określonej przyległości zostaje router o najwyższym priorytecie, a przy równych priorytetach - router o najwyższym adresie MAC (Media Access Control). Router po takiej elekcji dodaje jeszcze do swojego priorytetu liczbę 20. Administrator sieci może podwyższyć priorytet do 100 lub nieco wyżej, ale nie więcej niż do 127, gdyż pole priorytetu każdego routera NLSP jest siedmiobitowe. Wszystkie routery po zainstalowaniu do sieci mają początkowo takie same priorytety - 44.

Do innych zadań routera desygnowanego należą jeszcze:

  • komunikacja z węzłami korzystającymi z protokołów: trasowania RIP i ogłaszania usług - SAP;
  • rozsyłanie pakietów kontrolnych CSNP (Complete Sequence Number Packets) do routerów sieci lokalnych, umożliwiających wykrycie zmian obrazu sieci przechowywanego przez te routery oraz DR;
  • wysyłanie pakietów LAN Hello dwukrotnie częściej niż inne routery.


Trasowanie hierarchiczne NLSP

NLSP definiuje trzy poziomy trasowania: 1, 2 i 3
NLSP definiuje trzy poziomy trasowania: 1, 2 i 3
Router A po raz pierwszy ustala swoje sąsiedztwo z routerem B przez łącza WAN
Router A po raz pierwszy ustala swoje sąsiedztwo z routerem B przez łącza WAN

Silną stroną NLSP jest trasowanie hierarchiczne, trzystopniowe: w obrębie obszaru, domeny i wieloskładnikowej sieci globalnej.

  • Obszar jest zbiorem połączonych ze sobą sieci, charakteryzujących się jednakowymi adresami obszaru.
  • Domena stanowi zbiór obszarów, administrowanych przez tę samą organizację.
  • Sieć globalną tworzą domeny, które są powiązane ze sobą łączami sieciowymi, ale zarządzają nimi różne organizacje.

Trasowanie odpowiadające tej hierarchii przeprowadza się na trzech poziomach (Level 1-3 routing):

  1. komunikacja między segmentami (sieciami) wewnątrz wspólnego obszaru;
  2. komunikacja między obszarami oraz z routerem poziomu 1 wewnątrz jego obszaru;
  3. komunikacja między domenami oraz z routerem poziomu 2 wewnątrz jego domeny.


Trasowanie hierarchiczne wydatnie upraszcza i przyspiesza dystrybucję, minimalizując ruch oraz informacje niezbędne do przesłania pakietów pod określonym adresem. Na przykład router poziomu 1 powinien znać jedynie szczegółowe dane o łączach i routerach ze swojego najbliższego sąsiedztwa. Kiedy przesyła pakiety do innego obszaru - musi tylko znaleźć najbliższy router poziomu 2. Z kolei w komunikacji między obszarami routery poziomu 2 ogłaszają swoje adresy w akceptowanych obszarach, a nie w całej sieci. Podobnie funkcjonują routery poziomu 3, odpowiadającego trasowaniu między domenami.

Tabela przyległości routera NLSP zawiera dane o routerach z bezpośredniego sąsiedztwa oraz opisy ich połączeń (stanów). Taką tabelę kompletuje każdy router na podstawie odpowiedzi, jakie otrzymuje od swoich sąsiadów po rozesłaniu do nich specjalnych pakietów Hello. Z uwagi na duże różnice charakterystyk łączy LAN i WAN - protokół NLSP definiuje dwa rodzaje wspomnianych pakietów: LAN Hello i WAN Hello.

Kompletowanie tabel przyległości za pośrednictwem pakietów LAN Hello jest bardzo proste, gdyż sprowadza się do zidentyfikowania sąsiednich połączeń i routerów poziomu 1, funkcjonujących w tym samym obszarze trasowania.

Zalecanym trybem emisji pakietów LAN Hello jest zawsze multicasting, czyli adresowanie grupowe, obejmujące routery z przyległości. Jeśli jednak sterowniki kart sieciowych nie akceptują takiego trybu, pakiety będą rozgłaszane (broadcasting).

Pakiety WAN Hello umożliwiają routerom odnalezienie wzajemnych powiązań, rozstrzygnięcie przynależności do tego samego poziomu trasowania i sprawdzenie, czy inne routery i łącza są jeszcze aktywne. Routery generują pakiety WAN Hello w następujących sytuacjach: kiedy określają swoje bezpośrednie sąsiedztwo po raz pierwszy lub kiedy upłynął określony czas, albo też zawartość następnego Hello różni się od zawartości poprzedniego. Pakiety WAN Hello są emitowane cyklicznie tak długo, jak długo istnieje określone łącze.

Pierwsze ustalanie przyległości przez łącza WAN jest trudniejsze niż każde inne. Routery muszą najpierw poznać charakterystyki łącza zależne od medium. W tym celu muszą się posłużyć protokołem IPXWAN v.2 (Internetwork Packet eXchange Wide Area Network). Z kolei pakiety WAN Hello będą wykorzystywane podczas uaktualniania tabel przyległości. Podstawowym parametrem dialogu będzie wówczas dwubitowa zawartość pola Circuit Type. Jeśli łącze między dwoma routerami jest czynne, zapis takiego sąsiedztwa do tabeli przyległości nastąpi po czterostopniowym dialogu (jak na rysunku).

Router ustalający swoje przyległości WAN spodziewa się potwierdzania swojego pakietu Hello w precyzyjnie ustalonym czasie (Holding Time), kontrolowanym przez czasomierz (holding timer). W razie braku potwierdzenia w przewidzianym czasie router wykreśla odpowiedni rekord w swojej tabeli przyległości i rozsyła pakiety LSP, informujące środowisko o zmianie topologii.

Pakiety LSP, CSNP i PSNP

Struktura pakietu LAN Hello
Struktura pakietu LAN Hello
Adres NLSP składa się z adresu sieci i maski
Adres NLSP składa się z adresu sieci i maski

W sieci z routerami NLSP, oprócz pakietów Hello, pojawiają się jeszcze trzy inne pakiety:

  • LSP (Link State Packet),
  • CSNP (Complete Sequence Number Packet),
  • PSNP (Partial Sequence Number Packet).

Wszystkie te pakiety służą jednemu celowi: utrzymywaniu spójnej, jednakowej tabeli Link State we wszystkich routerach NLSP. Pakiety LSP emitują wszystkie routery co 2 godziny lub router bezpośrednio po wykryciu w swoim otoczeniu zmiany topologii czy usługi. Pakiety LSP wysyłane do łącza WAN są potwierdzane, gdyż nadmierny ruch może przeciążyć węzły na krańcach takiego łącza. W sieci lokalnej obowiązują inne procedury kontroli spójności tabeli Link State, oparte na pakietach CSNP i PSNP.


Pakiety LSP przenoszą kompletne informacje (LSP information) o przyległościach routera, stanie jego połączeń i usługach. Każdy pakiet musi zawierać unikatowy identyfikator LSP ID (LSP IDentifier), złożony z numeru routera, numeru portu (circuit ID), z którego pochodzi pakiet, oraz z numeru fragmentu ID (fragment ID), kiedy cała informacja zajmuje więcej pakietów. Takie pakiety przesyła router do wszystkich innych routerów ze swoich przyległości, które uaktualniają swoje tabele Link State i przesyłają je dalej, do własnych przyległości itd. Sieć zalewają wtedy pakiety LSP (LSP flooding), gdyż każdy router musi otrzymać komplet pakietów, przenoszących w sumie pełny obraz sieci - tabelę Link State. Taki proces zostanie zainicjowany ponownie po upływie 2 godzin.

W okresach między kolejnymi zalewaniami sieci pakietami LSP może się wiele zdarzyć. Router po wykryciu zmiany w swoim otoczeniu emituje niezwłocznie pakiety LSP opatrzone identyfikatorem LSP ID i nie mniej ważnym numerem sekwencyjnym (sequence number), po którym routery rozpoznają aktualność informacji i podejmują decyzję o modyfikowaniu swoich tabel. Pakiety kierowane do łącza WAN są potwierdzane.

Synchronizacją obrazu sieci we wszystkich routerach NLSP zajmują się routery desygnowane DR. Co około 30 s wysyłają one do routerów ze wszystkich swoich przyległości pakiety CSNP, przenoszące bardzo okrojony wypis z tabeli Link State, obejmujący: identyfikator LSP ID, numer sekwencyjny oraz sumę kontrolną każdej informacji LSP. Informacje wysyłane przez DR mogą być - w odniesieniu do informacji Link State adresatów - nowsze, identyczne lub starsze. Identyczne są pomijane, pozostałe wywołują różne reakcje.

Kiedy informacje z DR są nowsze, router z sąsiedztwa tworzy wtedy pakiet PSNP, który jest żądaniem skierowanym do DR o przesłanie szczegółowych informacji LSP opatrzonych tym samym identyfikatorem LSP ID, ale nowszym numerem sekwencyjnym. W przeciwnej sytuacji, a więc kiedy informacje DR są starsze, router, do którego był skierowany pakiet routera desygnowanego, zacznie rozpowszechniać swoje nowsze informacje w trybie multicast LSP. W taki sposób wszystkie routery będą miały jednakowy obraz Link State, niezależnie od sytuacji.

Hierarchiczne adresowanie NLSP

Struktura pakietu Wan Hello
Struktura pakietu Wan Hello

NLSP został przystosowany do schematu adresowania hierarchicznego. Każdy obszar trasowania jest rozpoznawany po dwu 32-bitowych numerach, z których jeden stanowi adres sieci (network address), na przykład 00112200 w zapisie szesnastkowym, a drugi maskę (mask), jak FFFFFF00 w tym samym zapisie. Para takich numerów nosi wspólną nazwę adresu obszaru (area address). FFFFFF - 24 jedynki w zapisie dwójkowym - identyfikuje obszar trasowania (tu 001122), a 00 (dwójkowo 00000000) - indywidualne numery sieci w tym obszarze: A1, czyli 10100001, C2 (11000010) czy 1B (00011011) itd. Adresy kolejnych sieci w obszarze przybiorą ostatecznie formy w rodzaju: 001122A1, 001122C2 itp.

W podobny sposób dochodzi się aż do adresu sieci globalnej. Odpowiednia maska wskaże wtedy, jaka część takiego adresu przypadnie na numer domeny, numer obszaru w tej domenie i wreszcie na numer sieci w obszarze.

Trasowanie obszaru może wykorzystywać aż 3 różne adresy obszaru, każdy z inną maską. Tak pokaźny i elastyczny system adresowania umożliwia organizowanie trasowania obszaru bez przerywania innych operacji sieciowych. W określonej domenie może być wykorzystana dowolna kombinacja takiego adresu obszaru.

Struktury pakietów NLSP Hello

Pakiety WAN i LAN Hello są bardzo podobne do siebie. Pierwszy składa się z 14 pól, drugi z 16. Pakietom WAN Hello nie są potrzebne pola: No Multicast, Priority i LAN IDentifier, a pakietom LAN Hello pola: State i Local WAN Circuit ID.

-
-