Protokoły WAN

HDLC, PPP

HDLC High-level Data link Control

Wykupując od swojego dostawcy dedykowane łącze otrzymujemy usługę w warstwie 1 modelu ISO/OSI. Twój SP zgodnie z umową zobowiązuje się do dostarczenia każdego wysłanego bitu. Jednakże nie mamy tu jeszcze zdefiniowanego protokołu warstwy drugiej łącza danych. HDLC był szeroko stosowany w technologiach WAN (połączenie klient -> ISP) w warstwie drugiej jako protokół połączenia punkt-punkt.

Standardowa ramka HDLC zaproponowana przez IEEE spełnia tylko kilka ważnych funkcji. Jak każdy inny protokół warstwy łącza danych posiada nagłówek pozwalający stwierdzić gdzie ramka się zaczyna oraz posiada pole FCS które pozwala określić czy ramka nie została uszkodzona podczas transmisji.

Cisco od siebie dodało dodatkowe pole Type określające jaki protokół warstwy wyższej jest w użyciu. Pozwala to na równoczesne stosowanie 2 różnych protokołów np. IP w wersji 4 i 6.

Mówiąc o łączach szeregowych należy pamiętać, że nie są one udostępniane ze standardowymi prędkościami które znasz z interfejsów Ethernetowych. Prędkości nie są również ujednolicone i tak mamy 2 równoległe konwencje prędkości dostępne dla Ameryki (linia T) oraz dla Europy (linia E).

Nazwa standardu prędkości Prędkość wyrażona w kilobitach na sekundę
DS0 64Kbps.
Fractional T1 Wielokrotność 64Kbps, maksymalnie do x24.
DS1 (T1) 1.544Mbps (24 DS0)
E1 (Europa) 2.048Mbps (32 DS0)
DS3 (T3) 44.736 Mbps (28 DS1)
E3 (Europa) 34 Mbps (16 E1)

Łącząc dwa routery Cisco łączem szeregowym oba będą domyślnie używać HDLC jako protokołu warstwy łącza danych.

Konfiguracja HDLC

Standardowo interfejsy sieciowe do prawidłowej pracy nie wymagają konfiguracji ani warstwy pierwszej (wystarczy podłączony kabel) oraz warstwy drugiej (w przypadku administracyjnie zamkniętego interfejsu może być potrzebne wydanie komendy no shutdown). Podobnie jak w przypadku interfejsów ethernetowych wystarczające powinno być nadanie odpowiedniego adresu na przykład poprzez komendę ip address.

Wchodzimy do konfiguracji interfejsu i wydajemy polecenia:

  1. ip address adres_ip maska
  2. no shutdown

Pozostale polecenia sa opcjonalne jesli interfejs wstał w warstwie pierwszej i drugiej (up/up) oraz mogą być konieczne jeśli mamy interfejst w stanie (up/down):

  1. encapsulation hdlc  – wymuszamy enkapsulacje hdlc na interfejsie
  2. clock rate wybrana_prędkość
  3. bandwidth wybrana_prędkość

PPP Point to Point protocol

Protokół PPP posiada wiele podobieństw do HDLC, oba są protokołami warstwy łącza danych stosowanych przy połączeniach szeregowych (serial link). Jednakże PPP który został zdefiniowy w 1990 roku został wyposażony w kilku dodatkowych usprawnień w stosunku do swojego poprzednika (HDLC występuje jako standard IEEE oraz Cisco HDLC jako własnościowy standard).

Funkcje PPP

  1. Definiuje nagłówek i stopkę
  2. Wspiera połączenia synchroniczne i asynchroniczne
  3. Poprzez dodanie pola Type w nagłówku wspiera różne protokoły warstwy 3 poprzez pojedyncze połączenie
  4. Wspiera autentykację poprzez Password Authentication Protocol (PAP) oraz Challenge Handshake Autentication Protocol (CHAP).
  5. Wspiera Multilink – grupowanie kilku interfejsów WAN w jeden logiczny z zastosowaniem load-balancingu.
  6. Wspiera Error detection, pozwalający ustawić procentową tolerancję dla błędów zanim interfejs zostanie wyłączony.
  7. Wspiera kompresję danych
  8. Definiuje podwarstwę Network Control Protocols (NCP) w której zdefiniowe są protokoły kontrolne wspomagające integrację protokołów warstwy wyższej. Na przykład dla IPv4 w PPP mamy zdefiniowany IPCP które odpowiada za połączenie między warstwą 2 i 3.

Elementy PPP

Ramka HDLC-like

Definiuje zawartość ramki która została stworzona na bazie oryginalnie zaproponowanej przez IEEE ramki HDLC.

Link Control Protocol LCP

Subwarstwa definiuje funkcje które ułatwiają komunikację z warstwą fizyczną oraz usprawniają pracę warstwy łącza danych. Zawiera funkcję takie jak:

  1. Magic number – Każdy router wysyłając ramkę umieszcza w niej swój losowo wybrany number, jeśli otrzyma ramkę z tym numer ramka jest traktowana jako zapętlona, a interfejs powinien zostać automatycznie wyłączony.
  2. Link-quality monitoring – Wyłącza interfejs po przekroczeniu progu tolerancji na błędu.
  3. Multilink PPP – Pozwala na równoważenie ruchu poprzez kilka interfejsów połączonych ze sobą logicznie.
  4. PAP lub CHAP – Wspiera autentykację.

 

Network Control Protocols NCPs

Subwarstwa PPP defininiująca kategorie protokołów z których każdy odpowiada za komunikację z innym protokołem wartswy sieciowej. Na przykład dla IP w wersji 4 mamy zdefiniowane IPCP, dla IP w wersji 6 IPv6CP, dla Cisco discovery protocol CDP mamy CDPCP.

 

Autentykacja PPP

Jedną z fundamentalnych spraw w kwestii bezpieczeństwa jest zweryfikowanie czy druga strona naszej komunikacji jest tym za kogo się podaje i czy powinna otrzymać wysyłane do niej dane. Zazwyczaj nie jesteśmy w stanie fizycznie sprawdzić jakie urządzenie jest po drugiej stronie „kabla” i czy nie zostało czasem podmienione.

W protokole PPP posiadamy dwie protokoły pozwalające na autentykację drugiej strony komunikacji: Password authentication Protocol PAP oraz Challenge Handshake Authentication Protocol CHAP. Oba protokoły wymieniają między sobą dane jednak z pewnymi różnicami.

Jedną z podstawowych różnic pomiędzy tymi dwoma protokołami jest fakt kto rozpoczyna proces autentykacji, w przypadku PAP robi to router który ma zostać autentykowany, dla CHAP wygląda to odwrotnie, to router autentykujący rzuca wyzwanie – challenge drugiej końcówce. Kolejną różnicą jest sposób przesyłania hasła, PAP przesyła hasło niezaszyfrowane i każdy kto jest wstanie podsłuchać komunikację może odczytać hasło, natomiast CHAP korzysta z funkcji hashującej MD5.

 

Stosowanie PAP ze względów bezpieczeństwa nie jest najlepszą opcją w obecnych czasach. Jednakże jest kilka wyjątków od tej sytuacji. PAP będzie stosowany w przypadku starszych urządzeń które nie mają zaimplementowanego protokołu CHAP. Gdy potrzebujemy zasymulować mechanizm logowania i autentykacji użytkownika również powinniśmy zastosować PAP ze względu na jego jawność w komunikatach.

Autentykacja poprzez CHAP jest znacznie bezpiecznieczna od PAP ze względu na zastosowanie jednokierunkowej funckji hashującej MD5. Oznacza to, że hash jest generowany każdorazowo (jest unikatowy) i losowo. Nawet jeśli zostanie podsłuchany nie ma możliwości na jego podstawie odtworzenia oryginalnych danych do logowania lub jego ponownego wykorzystania,

PAP i CHAP działają w subwarstwie LCP. Jeśli proces autentykacji nie powiedzie się LCP pozostanie zamknięte.

Koncepcja Multilink

Multilink PPP jest użyteczną funkcjonalnością PPP kiedy posiadamy dwa lub więcej równoległych szeregowych interfesjów sieciowych pomiędzy dwoma urządzeniami. MLPPP grupuje fizyczne interfejsy w jeden interfejs logiczny dzięki czemu zyskujemy kilka ważnych benefitów. Po pierwsze otrzymujemy zwiększoną przepustowość pomiędzy dwoma urządzeniami jednocześnie zmiejszając skomplikowanie połączeń w warstwie 3. Oprócz zwiększonej przepustowości otrzymujemy prawdziwy load-balancig który polega na podzieleniu ramki na mniejsze ramki które zostaną wysłane poprzez kilka interfejsów równolegle i następnie odtworzone na routerze odbiorcy. Bez zastosowania MLPPP potrzebowaliśmy osobnej podsieci na każdy link co przełożyło by się na dodatkowe relacje sąsiedztwa w dynamicznych protokołach routingu, dodatkowe wpisy tras o równoważnym priorytecie.

Konfiguracja Multilink

Weryfikacja Multilink

W celu weryfikcji poprawnego działania multilinku możemy podejrzeć jego konfigurację zarówno jako logicznego interfejsu jak również zweryfikować jego konfigurację jako elementu protokołu punkt-punkt. Na koniec oczywiście warto sprawdzić również czy fizyczne interfejsy wchodzące w jego skład są poprawnie podniesione (stan up/up).

O mnie

O mnie

Cześć! Nazywam się Rafał i jestem sieciowcem pasjonatem. Na blogu chciałbym podzielić się z Tobą swoimi przemyśleniami na temat sieci komputerowych.

Więcej o mnie…