ppp/slip/cslip

Protokół PPP

Protokół PPP (Point to Point Protocol), stosowany początkowo do kapsułkowania pakietów w łączach dwupunktowych w Internecie, stał się standardem de facto w wielu innych zastosowaniach, takich jak: zarządzanie adresacją IP (Internet Protocol), kapsułkowanie informacji w transmisji asynchronicznej (start-stopowej) i bitowo zorientowanych przekazach synchronicznych, multipleksowanie protokołów sieciowych, konfigurowanie łączy, testowanie jakości linii transmisyjnych, detekcja błędów, negocjowanie możliwości adresowych w warstwach sieciowych, a także negocjowanie parametrów do kompresji danych.
 

 

Popularność dwupunktowego protokołu PPP wzrosła od czasu powszechnego przesyłaniu datagramów IP przez rozległą sieć Internetu. Protokół PPP zapewnia bowiem komunikację szeregową z wykorzystaniem linii dedykowanych i komutowanych, łączących urządzenia i systemy komputerowe działające w różnych protokołach.

Protokół SLIP czy PPP?
W sieci Internet stosuje się dwa protokoły do obsługi połączeń dwupunktowych (point to point) przez linie szeregowe. Oba protokoły: SLIP (Serial Line Internet Protocol) oraz PPP (Point to Point Protocol), prowadzące transmisje datagramowe w łączach synchronicznych i asynchronicznych, zostały zdefiniowane przez IETF (Internet Engineering Task Force) i służą do współdziałania sieci rozległych z hostami i routerami.

Usługa datagramowa oznacza przekaz wiadomości lub bloku danych przez sieć telekomunikacyjną między komputerami lub abonentami sieci, bez wykonania połączenia między obiektami warstwy transportowej modelu OSI. Usługa datagramowa realizowana protokołem bezpołączeniowym nie daje gwarancji doręczenia przesyłek do adresata, możliwy jest też ich odbiór w innej kolejności, niż zostały nadane. Odbiór przesyłki nie jest potwierdzany.

Protokół SLIP obsługuje wyłącznie transmisję datagramów protokołu IP (maks. długość 1006 bajtów), kapsułkowanych w swoich ramkach zarówno przez łącza synchroniczne, jak i asynchroniczne. Umożliwia on przekaz datagramów między dwoma punktami (hosty, routery, stacje robocze); nie zawiera w sobie mechanizmów detekcji i korekcji błędów i nie stosuje technik kompresji. Protokół SLIP jest mniej skomplikowany od PPP i odpowiedniejszy dla odległych, stacjonarnych systemów przesyłających tylko datagramy IP.

Za pomocą protokołu PPP możliwe są przekazy datagramowe zarówno przez sieć IP, jak też transmisje innych protokołów: DECnet, IPX (Internetwork Packet Exchange), AppleTalk oraz OSI CNLP (Connectionless Network Protocol). Istotną cechą w protokole PPP jest wykorzystywanie informacji adresowych w datagramach IP z możliwością obsługi stacji zdalnych (przenośnych), włączających się do sieci w dowolnych punktach infrastruktury. Cecha ta sprawia, że protokół PPP staje się ostatnio bardziej popularny niż SLIP, zapewniając automatyczne adresowanie IP.

Składniki protokołu PPP
Istnieją trzy metody transmisji datagramów w łączach dwupunktowych za pomocą protokołu PPP, przez:
kapsułkowanie datagramów z udziałem protokołu HDLC (High Level Data Link Control);
rozszerzenie funkcji protokołu LCP (Link Control Protocol) warstwy łącza logicznego do ustawienia, konfigurowania i testowania łączy danych. Protokół LCP specyfikuje metody kapsułkowania i wymiarowania pakietów, a także spełnia funkcje kontrolne (zakładanie i utrzymanie połączenia);
współpracę ze zbiorem protokołów NCP (Network Control Protocols) warstwy sieciowej wyposażonych we własne procedury i pakiety do zakładania, utrzymania i zakończenia połączenia.

Specyfikacje techniczne

 

Warstwa fizyczna
W warstwie fizycznej protokół PPP współpracuje z urządzeniami DTE i DCE, określonymi przez specyfikacje interfejsowe toru: niesymetrycznego EIA/TIA 232C (RS-232C), różnicowego EIA/TIA 422 (RS-422) i zmodyfikowanego symetrycznego EIA/TIA 423 (RS-423) dla synchronicznych i asynchronicznych łączy dupleksowych (dedykowanych i komutowanych).
Specyfikacja protokołu PPP nie nakłada żadnych ograniczeń na szybkość transmisji w łączu ani na wybór interfejsu linii.
Warstwa łącza danych
Protokół PPP korzysta z zasad, terminologii i struktury ramek wspólnych z procedurami definiowanymi przez ISO dla protokołu HDLC (High Data Link Control) według specyfikacji ISO 3309-1979, z późniejszą modyfikacją 1984/PDAD1 dotyczącą działania w środowisku asynchronicznym. Procedury kontrolne określające zawartość pól sterujących ramek protokołu PPP zdefiniowano w specyfikacji ISO 4335-1979, również z późniejszą modyfikacją 1979/Addendum 1.

Każda warstwa uzupełnia wiadomość o odpowiedni nagłówek, dopisując własne informacje. Przekaz wiadomości w kierunku warstw niższych powoduje "obrastanie" pierwotnej informacji w kody i znaki umożliwiające poprawne doręczenie przesyłki. Zazwyczaj są to adresy nadawcy i odbiorcy, znaki formatujące tekst, znaki kontrolne umożliwiające korektę błędów i wiele innych. Podział informacji na wiele mniejszych bloków (pakietów) zwiększa możliwości komutacji wiadomości przez sieć. Za przesłanie wiadomości w postaci ciągu bitów na poziomie nośnika informacji odpowiada ramka generowana na najniższym poziomie - w warstwie fizycznej modelu ISO/OSI.

Protokół LCP

 

Podstawowe funkcje protokołu PPP są realizowane w warstwie łącza danych za pomocą protokołu LCP (Link Control Protocol), który stanowi zasadniczą część protokołu PPP. Protokół LCP ustanawia i utrzymuje połączenie dwupunktowe między dwiema stacjami, specyfikuje metody kapsułkowania i wymiarowania pakietów oraz zapewnia kontrolę prawidłowego funkcjonowania łącza. Wyróżnia się cztery fazy protokołu LCP:
konfigurowanie łącza - przed wymianą jakichkolwiek pakietów danych (np. datagramów IP) protokół LCP wysyła pakiety sterujące w celu określenia rozmiaru pakietów, znaków kontrolnych i protokołów weryfikacji (identyfikator użytkownika i hasło), a system odbiorczy, wysyłając inne pakiety sterujące LCP, potwierdza lub odrzuca proponowane warunki współpracy. Po zainicjowaniu połączenia wymieniane są pakiety NCP (Network Control Protocols) warstwy sieciowej ustalające typ protokołu, następnie rozpoczyna się właściwa wymiana datagramów;
utrzymanie łącza - zapewnia obsługę błędów i utrzymanie łącza na odpowiednim poziomie jakości przekazu. Pakiety z uszkodzoną lub nieznaną informacją podlegają zwrotowi z określeniem rodzaju uszkodzenia. Faza ta jest implementowana opcjonalnie;
negocjowanie sieciowe - negocjowanie parametrów konfiguracyjnych z protokołami warstwy sieciowej przez odpowiednie protokoły NCP. Przy likwidacji łącza przez LCP pakiety protokołu NCP informują warstwę sieciową (protokoły warstwy sieciowej) o nowej sytuacji w łączu;
zakończenie połączenia - końcowa faza protokołu LCP zapewniająca normalne zakończenie połączenia lub likwidację łącza z przyczyn technicznych.

W każdej fazie protokołu LCP są potrzebne trzy typy ramek niezbędne do skompletowania i przeprowadzenia połączenia: ustawienia, zakończenia i zarządzania łączem (sterowanie i diagnoza).
 

 

by Krzysztof Pietrzak 2004

[3.Warstwa sieciowa] [ppp/slip/cslip] [ip V.4] [IP v.6] [icmp] [ipx]