RED – mechanizm
unikania przeciążeń (zapobiegania zatorom)
Rodzina protokołów
sieciowych wykorzystywanych do zarządzania urządzeniami sieciowymi, takimi jak
routery, przełączniki, komputery czy centrale telefoniczne. SNMP domyślnie
działa na porcie 161 TCP oraz UDP. Komunikaty Trap są domyślnie wysyłane do
portu 162 TCP lub UDP. Istnieją trzy
wersje protokołu:
·
SNMPv1 - w tej wersji
protokołu bezpieczeństwo oparte jest na tak zwanych communities, które są
pewnego rodzaju nieszyfrowanymi hasłami umożliwiającymi zarządzanie urządzeniem
·
SNMPv2 - eksperymentalna
wersja protokołu, określana także SNMPv2c. Nie ma szyfrowania i
uwierzytelniania.
·
SNMPv3 - wspierająca
uwierzytelnianie oraz szyfrowaną komunikację
Funkcjonowanie:
Protokół SNMP zakłada
istnienie w zarządzanej sieci dwóch rodzajów urządzeń: zarządzających i zarządzanych. Urządzenie (komputer) jest zarządzającym (tzw. NMS, ang. Network
Management Station), gdy jest na nim uruchomiony odpowiedni program, manager
SNMP (zarządca SNMP). Urządzenie
jest zarządzane, jeśli działa na nim program agent SNMP. W procesie zarządzania używane są bazy MIB (ang.
Management Information Base - baza informacji zarządzania), czyli zbiory
zmiennych, które manager SNMP w zależności od uprawnień może odczytać lub
zmienić. W tym celu manager SNMP kontaktuje się z agentem na danym zarządzanym
urządzeniu wykorzystując jedno z dwóch wcześniej skonfigurowanych haseł:
hasło
odczytu, tzw. public_community,
hasło
zapisu, tzw. private_community.
Odczytanie wybranej
zmiennej daje managerowi określoną informację o stanie danego elementu sieci,
podczas gdy zapis do danej zmiennej pozwala mu na sterowanie zachowaniem się
urządzenia w sieci.
W
wersji pierwszej protokołu dostępne są następujące komunikaty:
GetRequest – żądanie od
menadżera do agenta do odczytania wartości zmiennej
GetNextRequest - żądanie od
menadżera do agenta do odczytania wartości następnej zmiennej
SetRequest - żądanie od
menadżera do agenta do zmiany wartości zmiennej
Response – odpowiedź od
agenta do menadżera do potwierdzenia wyżej wymienionych żądań
Trap – asynchroniczne
powiadomienie od agenta do menadżera o wystąpieniu określonego zdarzenia
W
wersji drugiej, oprócz komunikatów wersji pierwszej dostępne są:
GetBulk - żądanie (wiele
iteracji) od menadżera do agenta do odczytania wartości zmiennej
Inform - asynchroniczne
powiadomienie od menadżera do menadżera
NetFlow to protokół
opracowany przez firmę Cisco Systems. NetFlow działa na urządzeniach IP
(routery, przełączniki warstwy 3) i dostarcza statystyk o ruchu IP.
System
ten wizualizuje parametry TCP/IP w warstwach 3 i 4
·
adres
IP źródłowy, docelowy,
·
protokół,
·
port,
·
Type
of Service,
·
DSCP,
·
identyfikator
źródłowy i docelowe obszary AS w protokole BGP,
·
dodatkowe
informacje o routingu i ruchu – następne urządzenie (next hop), interfejsy
wejściowe i wyjściowe, adres źródłowy i docelowy sieci.
Dzięki
technologii NetFlow możemy identyfikować problemy:
·
wąskie
gardła w sieci,
·
sprawdzać
ustawienia klas ruchu (CoS/ToS),
·
identyfikować
przesyłany ruch
·
aplikacje
z możliwością powiązania ich z konkretnym użytkownikiem
System
obróbki informacji zebranych przez NetFlow składa się z:
·
Agenta
NetFlow, który zbiera dane o ruchu przechodzącym przez urządzenie sieciowe i
przesyła je do centralnego repozytorium, tzw. kolektora. W roli agenta może
występować niemal dowolny router Cisco, który jest wyposażony w oprogramowanie
IOS (od 12.3T)
·
Kolektora
NetFlow, który gromadzi informacje z agentów. Ponieważ tych danych jest dużo,
zazwyczaj kolektor ma możliwość filtrowania, agregacji i kasowania danych przed
umieszczeniem ich w bazie.
·
Modułu
wizualizacji, który umożliwia prezentację danych zgromadzonych w kolektorze
NetFlow. Dostępne są różne aplikacje, np. ułatwiające planowanie sieci,
realizujące rozliczenia, czy monitorowanie ruchu.
Zalety
·
Wzrost
bezpieczeństwa sieci – monitorowanie aktywności sieciowej jest jednym z
kluczowych elementów zapewnienia bezpieczeństwa. Systemy wizualizacji powalają
na identyfikację skanowania portów, ataków DoS, rozpoznawanie podmienionych
adresów IP na interfejsie.
·
Pełna
widoczność ruchu sieciowego i jego źródła pomaga w identyfikacji nielegalnych
działań i uniknięciu kosztownych kar, np. za używanie nielicencjonowanych
programów.
·
Planowanie
rozwoju sieci – rozpoznanie trendów w ruchu i dopasowanie rozmiarów łączy zanim
sieć osiągnie maksimum swoich możliwości (np. wychwytywanie źle umiejscowionych
serwerów i przeniesienie ich w inne miejsce w celu uniknięcia dużego obciążenia
sieci WAN).
·
Szybsze
rozwiązywanie problemów – np. poprzez możliwość optymalizacji ustawień QoS w
celu nadania prawidłowych priorytetów ważnym aplikacjom, co ma wyraźny wpływ na
szybsze czasy odpowiedzi.
Network-Based
Application Recognition, to mechanizm "wykrywania" na podstawie
oglądania zawartości pakietów, do jakiej aplikacji lub usługi danych ruch
należy. NBAR pojawił się w IOSie 12.0(5)XE2 i jest dostępny w podstawowej
wersji oprogramowania (nawet na małych platformach). Aby go użyć, musisz
zdefiniować na interfejsie politykę (service policy), która w ramach class-map
sprawdzających kryteria przynależności ruchu do klas zawiera sprawdzanie
protokołu poleceniem `match protocol [...]'.
Aplikacje przy pomocy protokołu sygnalizacyjnego
zgłaszają sieci swoje wymagania w zakresie przepustowości i opóźnienia. Węzły
sieci przeprowadzają kontrolę dostępności
zasobów potrzebnych do zapewnienia żądanego poziomu usługi. W przypadku
dostępności odpowiednich zasobów następuje ich rezerwacja tak, aby dany węzeł
sieci mógł świadczyć żądaną jakość usługi.
Rezerwacja gwarantuje aplikacji żądaną jakość
usługi, o ile generowany przez nią ruch nie przekracza zgłoszonych parametrów.
Węzeł sieciowy sprawdza i ewentualnie ogranicza ruch do zgłoszonych parametrów
W modelu tym nie ma jawnego zgłaszania przez
aplikację wymagań co do jakości usługi, natomiast strumień danych generowany
przez aplikację zaliczany jest do jednej z kilku klas ruchu. Każda klasa ruchu
oznaczana jest odpowiednią etykietą zawartą w pakietach danych, na podstawie której
węzły sieci dostarczają odpowiedniej jakości usługi. Węzły sieci nie
dostarczają bezwzględnej jakości usług, lecz względną, różnicując ruch na
podstawie przynależności do danej klasy. Model bardzo skalowalny z tego względu,
że nie ma konieczności rozpoznawania pojedynczych strumieni danych.
·
Mechanizm umożliwiający zarówno policing jak i
klasyfikację oraz etykietowanie
·
Pakiety są klasyfikowane na podstawie:
źródłowy/docelowy adres IP, numery portów TCP/UDP, -interfejs wejściowy, MAC
adres, IP precedence
·
Dla pakietów spełniających kryteria klasyfikacyjne
mierzone jest zajmowane przez nie pasmo
·
Niezależnie od innych akcji, pole IP precedence może
zostać ustawione lub zmodyfikowane bazując na tym czy zajmowane pasmo
przekracza utaloną wartość
Mechanizm umożliwiający definiowanie polityki
routingowej oraz klasyfikowanie i etykietowanie pakietów. Pakiety są
klasyfikowane na podstawie: źródłowy/docelowy adres IP, numery portów TCP/UDP,
interfejs wejściowy, MAC adres, IP precedence. Pakiety spełniające kryteria
kwalifikacyjne mają ustawiane pole IP precedence na zadaną wartość
Narzędzie pozwalające ustalić, czy prędkość transmisji
jest zgodna z ustalonym
kontraktem.Opisane nastepującymi parametrami: mean_rate = burst_size / measurement_interval
Strumień danych kontrolowany przez kubełek z żetonami
nie będzie transmitował więcej niż burst_size w ciągu okresu
measurement_interval, co sprawi, że średnia prędkość transmisji nie będzie
większa niż mean_rate
W momencie transmisji pakietu z kubełka zabierana jest
liczba żetonów odpowiadająca rozmiarowi pakietu
Pakiet może być wytransmitowany tylko wtedy kiedy w
kubełku jest odpowiednia liczba żetonów
Narzędzie używane zarówno w policingu jak shapingu
TOS - Type of Service Field - pole
typu usług
Precedence: 3-bitowe pole oznaczające klasę usług –
8 klas usług (0-7, gdzie 0 najmniejszy priorytet)
DTR Bits: Flagi oznaczające priorytet pod względem
opóźnienia, przepustowości i niezawodności
Gdy rozpatrujemy
domenę DiffServ.
DS - Differentiated Services Field – pole DS
DSCP - Differentiated Services Codepoint Field
·
6-bitowe pole oznaczające jakość usług (64 klasy
usług, 0 - najmniejsza)
·
32 wartości zestandaryzowane, pozostałe do
zastosowań lokalnych
·
Wartości zestandaryzowane zapewniają wsteczną
kompatybilność z IP Precedence
Odwzorowanie
IP Precedence na DSCP:
IP Precedence |
DSCP |
IP
Precedence 0 |
DSCP
0 |
IP
Precedence 1 |
DSCP
8 |
IP
Precedence 2 |
DSCP
16 |
IP
Precedence 3 |
DSCP
24 |
IP
Precedence 4 |
DSCP
32 |
IP
Precedence 5 |
DSCP
40 |
IP
Precedence 6 |
DSCP
48 |
IP
Precedence 7 |
DSCP
56 |
Strategia
stosowana powszechnie we współczesnych sieciach. Dane nadmiarowe są umieszczane
w pamięci buforowej i opóźniane do momentu możliwości ich wysłania, mając
nadzieję, że nie nadejdzie na tyle duża ilość danych, że bufory się przepełnią.
Widać, że bez względu na zawartość pakietów, umieszczane są one w szeregu w
kolejności w jakiej przybyły i w takiej samej kolejności są one też wysyłane
dalej. Strategii tej nie można jednak zaliczyć do mechanizmów QoS, a jedynie do
metod zapobiegających odrzucaniu pakietów.
Metoda polegająca na
podziale pamięci buforowej na kolejki o czterech różnych priorytetach, tzn.
wysokim (High), średnim (Medium), normalnym (Normal) i niskim (Low).
W
momencie opróżniania buforów najwcześniej pobierane są dane z kolejki o
priorytecie wysokim, w chwili gdy jest ona pusta przechodzi się do obsługi
kolejki o priorytecie średnim. Po pobraniu z niej pakietu sprawdza się znów
kolejkę o priorytecie wysokim. Jeżeli są w niej pakiety, to się je pobiera a
jeżeli nie ma, to pobiera się pakiet z kolejki o najwyższym w danej chwili
priorytecie, sprawdzając po tym kolejki o priorytetach wyższych. Postępuje się
w ten sposób aż do opróżnienia wszystkich kolejek. Same kolejki mogą być
przydzielane na podstawie takich czynników, jak zawartość pól nagłówka IP i
nagłówków TCP i UDP, interfejsu wejściowego.
Wady:
·
Zawłaszczanie
pasma przez ruch o wyższym priorytecie.
·
Zawłaszczanie
kolejki przez jeden przepływ (flow), czyli sekwencję pakietów wysyłanych z -określonego
adresu IP i portu warstwy 4, do określonego adresu IP i portu warstwy 4.
·
Brak
możliwości współpracy z protokołem RSVP o którym będzie mowa w jednym z kolejnych
rozdziałów, ponieważ mechanizm Priority Queuing wymaga jawnego i statycznego
skonfigurowania i określenia reguł, według których będzie pracował proces
klasyfikatora.
Konfiguracja:
interface Serial0
priority-group 1
access-list 101 permit tcp any eq 2065 any
priority-list 1 protocol ip high list 101
priority-list 1 default normal
priority-list 1 interface eth0 {h|m|n|l}
priority-list 1 queue-limit 20 40 60 80
Klasyfikacja:
Klasyfikacja
na bazie protokołów warstwy 3, interfejsu wejściowego, rozmiaru pakietu i
access-list
Kolejkowanie:
Pakiety
na podstawie klasyfikacji umieszczane są w jednej z 16 kolejek (17 kolejka
systemowa)
Planowanie:
Kolejki
obsługiwane są cyklicznie (round robin). Dla każdej kolejki jest określona
liczba bajtów, które można z niej wytransmitować w czasie jednego cyklu
Zalety
·
Gwarancja
pasma dla każdej kolejki
·
Eliminacja
zjawiska zawłaszczania łącza przez jeden rodzaj ruchu
Wady
·
Brak
współpracy z protokołem rezerwacji zasobów sieci RSVP, ze względu na
konieczność statycznego skonfigurowania i określenia reguł, według których ma
się odbywać klasyfikacja
Konfiguracja:
interface Serial0
custom-queue-list 1
access-list 101 permit tcp any any eq 2065
queue-list 1 protocol ip 2 list 101
queue-list 1 interface eth0 2
queue-list 1 default 1
queue-list 1 queue 1 byte-count 3000
queue-list 1 queue 2 byte-count 5000
queue-list 1 queue 1 limit 20
Klasyfikacja:
Automatyczny podział na “konwersacje” na podstawie
adresów źródłowych i docelowych oraz numerów portów TCP i UD
Kolejkowanie:
Pakiety na podstawie klasyfikacji kierowane
są do osobnych kolejek dla każdej konwersacji
Planowanie:
Dla każdego pakietu wyliczana jest waga
zależna od wartości IP precedence. Waga
uwzględniana jest w wirtualnym sytemie TDM do wyznaczenia czasu zakończenia
transmisji. Pakiet z najmniejszym czasem zakończenia bedzie wytransmitowany
pierwszy. Konwersacje dzielą pomiędzy siebie pasmo w proporcji do wag co
pozwala na lepszą obsługę krytcznych aplikacji
Wady
·
Brak pełnej kontroli nad opóźnieniem i
pasmem.
Zalety
·
Możliwość współpracy z protokołem RSVP
·
Prostota zarządzania i konfiguracji,
eliminacja zawłaszczania łącza przez jeden przepływ i efektywna gospodarka
pasmem
Konfiguracja
Interface fa0/1
fair-queue
[congestive-discard-threshold
[dynamic-queues [reservable-queues]]]
Odmiany
·
PQWFQ
(Priority Queuing WFQ). Prosta modyfikacja polegająca na dodaniu dodatkowej
kolejki, która obsługiwana jest przed wszystkimi pozostałymi.
·
CBWFQ
(Class Based WFQ). Rozszerzenie mechanizmu WFQ przez przypisanie kolejce
dodatkowego parametru prócz wagi. Tym parametrem jest klasa, która definiuje
względny udział przepływu w paśmie łącza.
·
PQCBWFQ (Priority
Queuing Class Based WFQ). Jest to kombinacja dwu wyżej wymienionych metod.
Klasyfikacja: podział na klasy na podstawie interfejsu wejściowego, protokołów i access
listy pakiety nie pasujące do żadnej reguły
Kolejkowanie :
·
są przypisywane do klasy “class-default”
·
pakiety na podstawie klasyfikacji umieszczane w
kolejce odpowiadającej danej klasie (max 64)
·
dla klasy “class-default” domyślną konfiguracją jest
WFQ
Planowanie:
·
klasy dzielą pomiędzy siebie dostępne pasmo w
proporcji do ich wagi czyli do zaalokowanego dla nich pasma minimalnego
·
waga klasy używana jest w wirtualnym systemie TDM do
wyznaczania dla każdego pakietu czasu zakończenia transmisji
·
pakiet o najmniejszym czasie zakończenia będzie
wytransmitowany jako pierwszy
·
CBWFQ gwarantuje
każdej klasie określone pasmo minimalne
w przeciwieństwie do relatywnej gwarancji pasma dla każdej konwersacji w
WFQ
Klasyfikacja:
·
podział na klasy na podstawie interfejsu wejściowego,
protokołów i access listy
·
pakiety nie pasujące do żadnej reguły są przypisywane
do klasy “class-default”
Kolejkowanie
·
pakiety na podstawie klasyfikacji umieszczane w jednej
kolejce prirytetowej lub w jednej z 64
kolejek odpowiadających klasom
·
dla klasy “class-default” domyślną konfiguracją jest
WFQ
Planowanie
·
pakiety z kolejki priorytetowej transmitowane są z bezwzględnym
pierwszeństwem
·
pasmo przydzielone kolejce priorytetowej zapobiega
zagłodzeniu pozostałych kolejek
·
pozostałe kolejki obsługiwane tak samo jak w CBWFQ
LLQ jest mechanizmem kolejkowania opartym na rozróżnianiu klas ruchu.
W metodzie rozróżniania klas ruchu wykorzystywane jest znakowanie pakietów (IP
precedence lub pola DSCP ).
Znakowanie
Jest uzależnione od klasyfikacji pakietów (Class of Service - CoS), która
może się odbywać na podstawie adresu IP źródłowego/docelowego, interfejsu
urządzenia przez jaki pakiet jest przesyłany, numerów portów TCP/UDP, adresu
MAC. Znakowanie pakietów pozwala urządzeniom pośredniczącym w transmisji na
szybkie określenie klasy usług jaka my być zapewniona dla pakietu. Ogólna
zasada działania LLQ sprowadza się do założenia, że pakiety które niosą dane
wymagające zapewnienia wysokiej jakości usług w sieci są umieszczane w kolejce
typu "strict priority" (kolejka uprzywilejowana) i obsługiwane w
pierwszej kolejności.
Działa w ten sposób, że
przed powstaniem zatoru, pakiety są losowo odrzucane tak, aby spowolnić
niektóre źródła. Indywidualne spowalnianie sesji TCP zapobiega globalnej synchronizacji
i powoduje lepsze wykorzystanie pasma. Działanie mechanizmu RED zależne jest od
dwóch parametrów, minimalnej i maksymalnej zajętości kolejki oraz maksymalnego
prawdopodobieństwa usunięcia pakietu. Kiedy wypełnienie kolejki osiągnie
wskazany dolny próg rozpoczyna się losowe odrzucanie pakietów.
Prawdopodobieństwo odrzucenia pakietu wzrasta wraz z poziomem wypełnienia
kolejki. Kiedy wypełnienie kolejki przekroczy górny próg, następuje odrzucanie
wszystkich pakietów. Statystycznie więcej pakietów będzie odrzucanych od
użytkowników generujących dużo ruchu co powoduje, że ich ruch będzie bardziej
tłumiony niż użytkowników generujących mało ruchu.
Odmianą mechanizmu RED rozpoznającą różne
klasy ruchu (IP Precedence) jest WRED (Weighted Random Early Discarding). Dla
każdej klasy definiowane są progi wypełnienia kolejki oraz maksymalne
prawdopodobieństwo odrzucenia pakietu (rys. 6.4). Mechanizm WRED daje możliwość
zapobiegania zatorom przez ograniczanie w pierwszej kolejności ruchu mniej
istotnego.
Mechanizm WRED, zakładający odrzucanie
niektórych pakietów z kolejki, zanim się one całkowicie zapełnią ma bardzo
istotny wpływ na efektywną transmisję
Etykieta MPLS to 32
bitowe pole o strukturze widocznej na rysunku 1.
Pierwsze
20 bitów to wartość etykiety. Wartość ta może mieścić się pomiędzy 0 a 220-1,
lub być stała i wynosić 1,048,575. Bity od 20 do 22 to tzw. bity
eksperymentalne (EXP) zarezerwowane wyłącznie dla usług Quality of Service
(Qos).
23
bit jest bitem końca stosu (Bottom of Stack). Jego wartość wynosi 0, jeżeli to
nie jest ostatnia etykieta w stosie. W przeciwnym przypadku wartość wynosi 1.
Bity
od 24 do 31 to osiem bitów pola czasu życia (Titme to Live). To pole pełni taką
samą funkcję jak w przypadku pakietu IP. Wartość pola TTL jest zmniejszana o 1
przy każdym przeskoku. W momencie gdy osiągnie wartość 0, pakiet zostanie odrzucony.
Router
Przełączania Etykiet (ang. Label Switched Router) to router, który posiada
możliwość transmitowania etykietowanych pakietów. W sieci MPLS występują trzy
routery przełączania etykiet:
Wejściowy router
przełączania etykiet
(Ingress LSR) – router, który na wejściu do domeny MPLS odbiera pakiet
nieoznaczony etykietą. Jego zadaniem jest umieszczenie etykiety (operacja
impose) na stosie pakietu i przesłanie go dalej.
Wyjściowy router
przełączania etykiet
(ang. Egress LSR) – router, który na wyjściu do domeny MPLS usuwa etykietę przypisaną do pakietu i
przesyła go dalej. Routery wejściowe i wyjściowe to brzegowe routery
przełączania etykiet (edge LSRs).
Pośredni router
przełączania etykiet
(ang. Intermediate LSR) – router, który przełącza pakiet oznaczony etykietą w
obrębie domeny MPLS.
Router
LSR ma możliwość wykonywania trzech operacji: pop, push, swap. Operacja pop
oznacza, że router może usunąć jedną lub więcej etykiet ze stosu etykiet zanim
przełączy pakiet. Za pomocą operacji push możliwe jest przyłączenie etykiety do
przychodzącego pakietu. Zadaniem operacji swap jest zamiana etykiet w stosie
podczas przełączania pakietu.
Wejściowy
router przełączania etykiet, który jako pierwszy umieszcza etykietę w stosie
pakietu może być także nazwany nakładającym routerem przełączania etykiet (ang,
imposing LSR). Natomiast wyjściowy router przełączania etykiet może być nazwany
usuwającym routerem przełączania etykiet (ang. disposing LSR), gdyż usuwa
wszystkie etykiety ze stosu zanim pakiet zostanie przełączony
Do poprawnego przekazywania pakietów w
obrębie sieci MPLS potrzebny jest mechanizm, dostarczający niezbędnych
informacji routerom której etykiety użyć aby pakiet został poprawnie przesłany.
Innymi słowy, routery muszą wiedzieć, jak poprawnie odwzorować etykiety.
Występują dwie metody do dystrybucji etykiet: zastosowanie obecnego protokołu
routingu IP do przekazywania etykiet lub użycie oddzielnego protokołu do
dystrybucji etykiet.
Pierwszy mechanizm wykorzystuje jeden
protokół do rozprowadzania etykiet. Korzystając z protokołu wektora odległości
(np. EIGRP) dystrybucja etykiet jest zsynchronizowana z działaniem protokołu
routingu (etykieta jest przyłączona do prefiksu z tablicy routingu). Nie
potrzeba wykorzystywać innego protokołu do dystrybucji etykiet. Inaczej wygląda
to w przypadku protokołów stanu łącza (np. OSPF, IS-IS). Potrzebują one
oddzielnego protokołu do dystrybucji etykiet.
Drugi mechanizm opiera się na działaniu
niezależnych od siebie protokołów. Jeden służy jest do dystrybucji etykiet,
drugi do dystrybucji prefiksów. Protokoły jakie można wykorzystać do
dystrybucji etykiet są następujące:
·
Protokół
dystrybucji znaczników (ang. Tag Distribution Protocol (TDP)),
·
Protokół
dystrybucji etykiet (ang. Label Distribution Protocol (LDP)),
·
Protokół
rezerwacji zasobów (ang. Resource Reservation Protocol (RSVP))
Protokół LDP jest zbiorem procedur i
wiadomości routerów LSR, które ustanawiają ścieżki LSP w sieci MPLS. Podczas
działania protokołu routingu (np. OSPF) routery dowiadują się o swoich
sąsiadach ,a LDP umożliwia tworzenie tzw. sesji między nimi w celu wymiany
informacji o etykietach. Jak wcześniej wspomniano, protokół LDP działa na
podstawie wymiany wiadomości:
·
Wiadomości
odkrywania – służą do powiadamiania i zachowania informacji na temat obecności
routera LSR w sieci,
·
Wiadomości
sesji – służą do ustanawiania, zachowania i zakańczania sesji pomiędzy routerami
LSR (tzw. partnerzy LDP)
·
Wiadomości
ogłaszające – służą do tworzenia, modyfikacji i usuwania odwzorowań
etykietowanych pakietów na klasy FEC,
·
Wiadomości
powiadamiające – służą do przekazania informacji o błędach.
Routery LSR wskazują swoją obecność w sieci
poprzez okresowe wysyłanie wiadomości „Hello”. Ta wiadomość przekazywana
jest na adres rozgłaszający wszystkich
routerów w podsieci na port UDP. W wyniku pozytywnego zakończenia tej
procedury, routery LSR stają się partnerami LDP i możliwa jest wymiana
wiadomości ogłaszających między nimi. W wyniku pozytywnego zakończenia tej
procedury, dwa routery LSR stają się tzw. partnerami LDP i są w stanie
wymieniać między sobą wiadomości ogłaszające. Poprawne działanie protokołu LDP
jest zależne od prawidłowej wymiany wiadomości.
Tablica FIB (ang. Forwarding
Information Base) używana jest do przechowywania wszystkich znanych tras z
tablicy routingu, a do jej przeszukiwania używany jest zaawansowany algorytm.
FIB zmienia sie, jeśli zmieniają sie wpisy w tablicy routingu routera. Tablica
FIB (ewentualnie CEF table) implementowana jest jako „zmniejszona” tablica
routingu, za pomocą 256 ścieżkowej tablicy mtrie. Aby wyświetlić tablicę użyj
polecenia show ip cef summary. W tablicy każdy węzeł (ang. node) może posiadać
do 256 „dzieci”. Każde „dziecko” (link) u˙zywane jest do reprezentacji innego
adresu dla każdego oktetu w adresie IPv4. Tablica sąsiedztw (ang. adjacency) używana
jest w mechanizmie CEF do przechowywania informacji o sąsiadach. Sąsiadem może zostać
tylko taki host, który jest w odległości jednego hopa. Tablica sasiedztw przechowuje
adresy warstwy 2 sąsiadów, dla każdego
wpisu
w FIB. Aby wyświetlić tablicę użyj polecenia show adjacency
VPN
(ang. Virtual Private Network, Wirtualna Sieć Prywatna) – tunel, przez który
płynie ruch w ramach sieci prywatnej pomiędzy klientami końcowymi za
pośrednictwem publicznej sieci (takiej jak Internet) w taki sposób, że węzły
tej sieci są przezroczyste dla przesyłanych w ten sposób pakietów. Można
opcjonalnie kompresować lub szyfrować przesyłane dane w celu zapewnienia
lepszej jakości lub większego poziomu bezpieczeństwa.
Określenie
"Wirtualna" oznacza, że sieć ta istnieje jedynie jako struktura
logiczna działająca w rzeczywistości w ramach sieci publicznej, w odróżnieniu
od sieci prywatnej, która powstaje na bazie specjalnie dzierżawionych w tym
celu łącz. Pomimo takiego mechanizmu działania stacje końcowe mogą korzystać z
VPN dokładnie tak jak gdyby istniało pomiędzy nimi fizyczne łącze prywatne.
Rozwiązania oparte na VPN stosowane są np. w sieciach korporacyjnych firm,
których zdalni użytkownicy pracują ze swoich domów na niezabezpieczonych
łączach. Wirtualne Sieci Prywatne charakteryzują się dość dużą efektywnością,
nawet na słabych łączach (dzięki kompresji danych) oraz wysokim poziomem
bezpieczeństwa (ze względu na szyfrowanie).
Najczęściej
spotykane rodzaje VPN
·
IPsec
·
PPTP (ang. Point to
Point Tunneling Protocol)
·
OpenVPN
·
L2TP (ang. Layer two
Tunneling Protocol)
·
Hamachi
·
SSTP (ang. Secure
Socket Tunneling Protocol)
Protokół GRE (Generic Route
Encapsulation) jest używany w połączeniu z protokołem PPTP (Point-to-Point Tunneling
Protocol) do tworzenia wirtualnych sieci prywatnych (VPN) między klientami lub
między klientami i serwerami.
Nagłówki
protokołu GRE zwiększają wielkość
przesyłanych pakietów
IPSec
pozwala na bezpieczne tunelowanie danych, posiada jednak pewne ograniczenia.
Nie obsługuje rozgłaszania grupowego (ang. multicast) i wielu protokołów (na
przykład IPX). Dlatego wykorzystywana jest opracowana przez firmę Cisco warstwa
nośna GRE (ang. Generic Route Encapsulation), która rekompensuje ograniczenia
IPSec. Działanie protokołu GRE przedstawia rysunek
BGP/MPLS
IP VPN jest jednym z popularniejszych sposobów budowania VPN opartych o routery
brzegowe dostawcy usług - PE (Provider Edge) VPNMetoda BGP/MPLS, wykorzystywana
jest przez dostawców usług do dystrybucji poprzez BGP informacji o osiągalności
adresów IP pomiędzy oddziałami należącymi do tej samej sieci VPN. By temu
przeciwdziałać, każdy router PE zarządza pewną liczbą oddzielnych tablic
przekazywania pakietów. Jedna z tych tablic jest domyślną tablicą przekazywania
(routingu) stosowaną w sieciach publicznych, natomiast pozostałe tablice są
przeznaczone dla sieci VPN, w których odbywa się także routing, ale
odseparowany od pozostałych sieci VPN i sieci Internet. W każdym routerze PE
operator musi skonfigurować jedną tabelę VRF (VPN Routing and Forwarding –
routing i przekazywanie dla VPN) dla każdego VPN, do którego PE jest
przyłączony. Każdy interfejs łączący klienta z dostawcą, czyli PE z CE, jest
skojarzony z jedną tabelą VRF. Tabela VRF w routerze PE jest budowana na
podstawie informacji o trasach nauczonych od urządzeń brzegu klienta CE
(Customer Edge). Routery PE wykorzystują pojedynczy proces BGP do dystrybucji
tras od różnych VPN.
Jeśli
router PE nauczy się klasycznej trasy IPv4 od routera CE, to konwertuje tą
trasę na unikalną trasę VPN, która jest eksportowana do BGP. BGP następnie
rozgłasza tą trasę do innych routerów PE, które potrzebują ją znać. Jeśli trasa
VPN zostanie wybrana przez proces decyzyjny BGP, to jest ona konwertowana znowu
na postaci trasy IPv4 i importowana do właściwej tabeli VRF w odległym routerze
PE. Ostatecznie nauczona w ten sposób trasa przez VRF w zdalnym PE, zostanie
rozgłoszona do przyłączonych do niego routerów CE. Kiedy router PE rozgłasza
trasy VPN poprzez BGP do innych routerów PE, to także przypisuje do niej i
również rozgłasza etykietę MPLS (MPLS label), która nazywana jest etykietą VPN.
Jeśli inne routery PE wysyłają pakiety z danymi klienta do przeznaczenia
identyfikowanego przez otrzymaną trasę BGP, to dodają one tą etykietę MPLS VPN
do nagłówka enkapsulowanego pakietu i tunelują go do routera PE następnego
skoku, który zapoczątkował trasę BGP. W tym routerze PE, etykieta lokalnie
identyfikuje kontekst IP VPN (VRF), przez który etykietowany pakiet musi zostać
obsłużony.
PRZEKAZYWANIE
Na
początku, kiedy router PE otrzyma pakiet IP od urządzenia CE, to wybiera
odpowiednią tablicę VRF, w której przepatruje adres przeznaczenia pakietu, w
zależności od wejściowego interfejsu pakietu (skojarzenie PE-CE-VRF). Następnie
pakiet musi przejść przez szkielet dostawcy do oddalonego PE, który jest
następnym skokiem BGP, tak jak to zostało wyznaczone w odpowiedniej tabeli VRF.
By to wykonać, pakiet jest formowany do postaci pakietu MPLS z etykietą VPN
dodaną do stosu etykiet. Pakiet jest tunelowany do routera następnego skoku
BGP. Ostatecznie, w oddalonym PE, kiedy pakiet opuści tunel, przeglądana jest
etykieta MPLS VPN. Zdalny PE określa na podstawie tej etykiety instancję VRF, w
której następnie powinien zostać przetworzony pakiet lub określa interfejs,
przez który powinien być transmitowany pakiet do prawidłowego urządzenia CE.
Protokół
BGP jest zorientowany połączeniowo. Gdy zostanie odkryty nowy router
nawiązywana jest relacja sąsiedztwa i stałe połączenie TCP pomiędzy
urządzeniami. W celu utrzymania połączenia wysyłane są tzw. próbki, zwane także
keepalives, będące 19-bajtowymi nagłówkami pakietu Update protokołu BGP. Po
nawiązaniu połączenia routery synchronizują między sobą tablice routingu.
Kolejne informacje o zmianach będą wysyłane jedynie gdy zajdzie taka potrzeba.
Każda aktualizacja zawierać będzie informacje tylko o pojedynczej trasie oraz
podsieciach, które za pomocą tej trasy są osiągalne. Otrzymana informacja jest
dalej przetwarzana przez algorytm zapewniający, że nie powstaną pętle i (z
pewnymi ograniczeniami) wysyłana do sąsiadów. Istnieją cztery typy pakietów
protokołu BGP:
·
Open
Message – pakiet używany do nawiązania połączenia z sąsiadem
·
Keepalive
Message – rozsyłany w określonych odstępach czasu pakiet w celu podtrzymania
połączenia pomiędzy routerami irazzweryfikoania trasy, którą router
nadawczy ma zapisaną.
·
Update
Message – zawiera informacje o trasie do danych podsieci oraz jej atrybuty.
Każdy pakiet zawieta informacje tylko o jednej trasie, dlatego kompleksowe
zmiany wymagają wysłania wielu pakietów. Wśród przesyłanych informacji zawarte
są także trasy niedostępne lub wycofane.
·
Notification
Message – wysyłane przy zamykaniu połączenia, służą do przekazania przyczyny
jego zerwania.