You are on page 1of 95

Podstawy sieci

komputerowych

Protokoły warstwy liniowej ( łącza danych)


Zagadnienia warstwy liniowej
• Usługi dla warstwy wyższej ( sieci)
• Tworzenie i odtwarzanie ramek
(Framing)
• Kontrola błędów
• Kontrola przepływów
Funkcje warstwy liniowej

• SAP dla warstwy sieciowej


• Obsługa błędów transmisji
• Regulowanie przepływu danych
• Wolniejszy odbiorca nie jest zalewany
danymi przez szybkiego nadawcę
Funkcje warstwy liniowej

Związek miedzy pakietami a ramkami


Usługi dla warstwy sieciowej

(a) Virtual communication.


(b) Actual communication.
Usługi dla warstwy sieciowej

Lokalizacja protokołów warstwy liniowej


Ramkowanie – Framing

Zliczanie znaków
Strumień znakowy: (a) bezbłędny (b) z jednym błędem
Framing (2) – flagi znakowe

(a) Ramka ograniczona przez flagi ( znaki specjalne)


(b) 4 przykłady sekwencji bajtów – przed i w czasie transmisji
Framing (3) – flagi bitowe

Bit stuffing – nadziewanie bitami


(a) Dane oryginalne
(b) Dane w czasie transmisji
(c) Dane dla odbiorcy – po usunięciu wprowadzonych bitów
Rodzaje transmisji
 Ze względu na ustalanie chwili nadawania i
odbierania sygnału powstaje problem
zsynchronizowania nadajnika i odbiornika
 Transmisja asynchroniczna
 Transmisja synchroniczna
Sposób komunikacji
 Rozsiewcza (rozgłoszeniowa) broadcast
 Multicast
 Unicast
 Half duplex
 Tylko jedna stacja może nadawać w danej chwili
 Wymaga pojedynczego traktu komunikacyjnego
 Full duplex
 Jednoczesna transmisja i odbiór pomiędzy dwoma stacjami
 Generalnie wymaga dwóch traktów komunikacyjnych lub technik kasowania
echa
 Point to point ( punkt – punkt)
 Multipoint
Interfejsy
 DTE (Data Terminal Equipment)
 Urządzenia przetwarzające dane zwykle nie są wyposażone w
urządzenia do transmisji danych
 Wymagają interfejsu (DCE)
 e.g. modem, NIC
 DCE (Data Circuit-terminating Equipment)
 DCE transmituje bity w medium
 DCE zajmuje się pozyskiwaniem, wysyłaniem i uwzględnianiem
informacji sterującej i danych pochodzących z DTE
 Zbudowane z hardware’owych obwodów
 Wymagana specyfikacja
Transmisja asynchroniczna
 Dane transmitowane jako pojedyncze znaki
 5 do 8 bitów
 Utrzymanie synchronizacji konieczne jest tylko w
czasie transmisji jednego znaku
 Konieczna jest powtórna synchronizacja po
wysłaniu każdego znaku
Transmisja asynchroniczna
(diagram)
Transmisja asynchroniczna -
zachowanie
 W ciągłej „strudze” danych odstęp pomiędzy znakami jest stały (długość
bitu startu i bitu (ów) stopu)
 W stanie bezczynności odbiornik czeka na zmianę stanu linii z 1 do 0
 Potem próbkuje stan w kolejnych 5 do 8 chwilach
 Następnie oczekuje na następne przejście z 1 do 0
 Proste
 Tanie
 Nadmiar (Overhead) 2 lub 3 bits na znak (~20%)
 Właściwe, gdy przerwy między znakami są znaczne (klawiatura)
Transmisja synchroniczna –
Na poziomie bitów
 Blok danych nazywany RAMKĄ jest wysyłany
bez bitów startu i stopu
 Zegary muszą być zsynchronizowane
 Można użyć oddzielnej linii z zegarem
 Dobre w przypadku małych odległości
 Wrażliwe na uszkodzenia

 Zawieranie sygnału zegara w danych


 Kodowanie manchester
 Częstotliwość nośna (analogowo)
Transmisja synchroniczna –
poziom blokowy
 Konieczne jest ustalenie położenia początku i
końca bloku
 Używanie preambuły i postambuły
 Np. ciąg znaków SYN (hex 16)
 Np. grupa znaków 11111111 zakończona przez
11111110
 Bardziej wydajny (mniejsza nadmiarowość -
overhead) niż przy transmisji asynchronicznej
Transmisja synchroniczna
(diagram)
Charakterystyka interfejsu
 Mechaniczna
 Wtyczki i gniazdka
 Elektryczna
 Napięcia, czasy, sposób kodowania
 Funkcjonalna
 Dane, sterowanie, czasy, uziemienie
 Proceduralna
 Sekwencje zdarzeń
V.24/EIA-232-F
 ITU-T v.24
 Specyfikacja tylko funkcjonalna i proceduralna
 Odnosi się do innych standardów elektrycznych i mechanicznych
 EIA-232-F (USA)
 RS-232
 Mechaniczna: ISO 2110
 Elektryczna v.28
 Funkcjonalna v.24
 Proceduralna v.24
Specyfikacja mechaniczna
Specyfikacja elektryczna
 Sygnały cyfrowe
 Wartości interpretowane jako dane lub sterowanie,
zależność od obwodów elektrycznych
 Poniżej -3V – binarne 1, powyżej +3V – binarne 0
(NRZ-L)
 Prędkość zmiany sygnału (Signal rate) < 20kbps
 Odległość <15m
 W części sterującej, poniżej -3V – off, powyżej +3V –
on.
Specyfikacja funkcjonalna
Lokalna i odległa pętla
zwrotna (Loopback)
Specyfikacja proceduralna
 Np. typowy modem analogowy na linii telefonicznej
 Po włączeniu i zakończeniu autotestu modem (DCE) ustawia sygnał
„DCE Ready”
 Kiedy DTE jest gotowe do wysyłania danych, ustawia „Request to
Send”
 Ponadto, w trybie półdupleksowym zabrania odbierać sygnał
 Modem odpowiada sygnałem gotowości „Clear to send”
 DTE wysyła dane
 Kiedy dane dochodzą, modem ustawia sygnał „Receive Line Signal
Detector” i dostarcza odebrane dane
Dial Up Operation (1)
Dial Up Operation (2)
Dial Up Operation (3)
Null Modem
Sterowanie przepływem
(Flow Control)
 Zapewnia, że nadajnik nie „zaleje” odbiornika
danymi
 Ochrona przed przepełnieniem buforów
 Czas transmisji
 Czas potrzebny do „wypchnięcia” wszystkich bitów
do medium transmisyjnego
 Czas propagacji
 Czas przez jaki dany bit „podróżuje” przez kanał
transmisyjny
Model transmisji ramki
Algorytm „Stop and Wait”
 Nadajnik transmituje ramkę
 Odbiornik odbiera ramkę i odpowiada potwierdzeniem
(ramka ACK od acknowledge)
 Nadajnik czeka na ACK przed wysłaniem następnej
ramki
 Odbiornik może wstrzymywać nadajnik przez opóźnienie
momentu wysłania ACK
 Algorytm działa dobrze, jeśli ramki są duże i jest ich
mało
 Dlaczego?
Fragmentacja
 Duże bloki danych mogą być podzielone na mniejsze
paczki (w warstwie 2 – ramki frames)
 Ograniczona wielkość buforów
 Wcześniejsza detekcja błędów (zanim cała ramka zostanie
odebrana)
 W przypadku błędu, trzeba retransmitować mniejsze ramki
 Chroni przed sytuacją, kiedy jedna stacja zajmuje medium przez
długi czas
 „Stop and wait” staje się nieodpowiednie
 Wydajność protokołu ( wykorzystanie kanału
komunikacyjnego)
 p. tablica
 Czas propagacji ( rtt)
 Czas transmisji ramki t=L / b – b - przepustowość
Zużycie kanału komunikacyjnego
dla algorytmu „Stop and Wait”
Kontrola przepływu przy zastosowaniu
algorytmu przesuwnego okna
 Sliding Window
 Pozwala na transmisję wielu ramek
 Odbiornik ma bufor na „W” ramek
 Nadajnik może wysłać do „W” ramek bez potwierdzenia
 Każda ramka jest numerowana
 ACK zawiera numer następnej oczekiwanej ramki
 Numer sekwencyjny jest ograniczony przez wielkość pola
zarezerwowanego w tym celu (k)
 Ramki są numerowane modulo 2k

 Wydajność protokołu Stop&Wait


 U= 1/(1+2a) a= t propagacji /t transmisji ramki
 Wydajność przesuwnego okna
 U = N / (1+2a) – N rozmiar okna
 U = 1 dla N> 1+2a
 Pipelining – praca potokowa, tłoczenie ramek
Diagram sterowania algorytmu
przesuwnego okna
Przykład algorytmu
Przesuwnego okna
Rozszerzenie algorytmu
przesuwnego okna
 Odbiornik może potwierdzać ramki nie pozwalając na dalszą
transmisję (Receive Not Ready)
 W celu wznowienia musi wysłać normalne potwierdzenie (RR)
 Ale co będzie jeśli to potwierdzenie zaginie ?
 Jeśli transmisja jest dupleksowa, używana jest „jazda na
barana” zwana „piggybacking”
 Jeśli nie ma danych do wysłania, wysyłana jest ramka
potwierdzająca
 Jeśli są do wysłania dane, ale nie potwierdzenie, wysyłany
jest ponownie ostatni numer potwierdzenia, lub ustawiana
jest flaga ACK valid flag (TCP)
Detekcja błędów
 Nadajnik wysyła dodatkową, nadmiarową
informację pozwalającą ustalić, czy wystąpił
błąd w transmisji
 Parzystość
 Wartość bitu parzystości równa
 0 jeśli liczba jedynek w informacji jest parzysta (even parity)
 1 jeśli liczba jedynek w informacji jest nieparzysta (odd
parity)
 Parzysta liczba błędów pozostaje niewykryta
CRC
Cyclic Redundancy Check
 Dla bloku k bitowego nadajnik generuje n
bitową sekwencję
 Transmituje k+n bitów, które są bez reszty
podzielne przez pewien specjalnie dobrany
wielomian
 Odbiornik dzieli odebrane bity przez ten
wielomian
 Jeśli reszta jest 0 – nie ma błędów
Reakcja na błędy
 Detekcja i korekcja błędów
 Zagubione ramki
 Ramki uszkodzone
 Automatyczne żądanie powtórzenia
(Automatic repeat request)
 Detekcja błędu
 Pozytywne potwierdzenie
 Retransmisja po upłynięciu timeout’u
 Potwierdzenie negatywne i retransmisja
Automatic Repeat ReQuest
(ARQ)
 „Stop and wait”
 „Go back N”
 Selective reject (powtórzenia wybiórcze)

 PAR – Pozytywne potwierdzenie z retransmisją


 Skróty
 PAR, ARQ
 ACK, NAK (Nack)
 RR, RNR
 REJ, SREJ
 POLL
„Stop and Wait”
 Nadajnik wysyła pojedynczą ramkę
 Czeka na ACK
 Jeżeli odebrana bramka jest uszkodzona, odbiornik
udaje, że nic nie dostał
 Nadajnik ma timeout
 Jeżeli do czasu upłynięcia timeout’u nie dostał ACK, ramka jest
retransmitowana
 Jeżeli ACK jest uszkodzone, nadajnik nie jest w stanie go
rozpoznać
 Nadajnik retransmituje ramkę
 Odbiornik dostaje druga kopię tej samej ramki
 Użycie ACK0 i ACK1
„Stopand Wait” -
Diagram
„Stop and Wait” - Za i przeciw
 Prosty
 Mało wydajny
Go Back N (1)
 Oparty na idei przesuwnego okna
 Jeżeli nie ma błędu, wysyłane jest normalne ACK z
numerem następnej oczekiwanej ramki
 Używa okna do określania liczby przetwarzanych ramek
 W przypadku błędu, informuje nadajnik
 Odrzuca tę ramkę i wszystkie następne ramki, aż do momentu
odebrania ramki poprawnej.
 Nadajnik musi „wrócić” i retransmitować tę ramkę i wszystkie po
niej następujące
Go Back N – Ramki uszkodzone

 Odbiornik wykrywa błąd w ramce i


 Odbiornik wysyła „odrzucenie” -i
 Nadajnik odbiera odrzucenie -i
 Nadajnik retransmituje ramkę i i wszystkie
następne
Go Back N – Ramka zagubiona (1)

 Ramka i zaginęła
 Nadajnik wysyła i+1
 Odbiornik dostaje ramkę i+1 poza kolejnością
 Odbiornik wysyła ramkę „odrzucenie” i
 Nadajnik wraca do ramki i i retransmituje ją
Go Back N – Ramka zagubiona (2)
 Ramka i została zagubiona, ale żadna następna ramka
nie została wysłana
 Odbiornik nic nie dostał i nie odpowiada ani przez ACK,
ani przez „odrzucenie”
 Nadajnikowi upływa timeout i wysyła ramkę
potwierdzającą z bitem P ustawionym na 1 ( poll –
odpytanie)
 Odbiornik interpretuje to jako rozkaz potwierdzenia
ostatniej odebranej ramki, (dokładniej następnej ramki,
która powinna być odebrana – ramka i )
 Nadajnik retransmituje ramkę i
Go Back N – Uszkodzone
potwierdzenie
 Odbiornik dostaje ramkę i i wysyła ACK (i+1) które ginie
 Potwierdzenia są skumulowane, tak, że następne ACK
(i+n) może przybyć zanim nadajnikowi upłynie timeout
na ramkę i
 Jeżeli jednak przeterminowanie nastąpi, to wysyła ACK z
bitem P ustawionym jak poprzednio
 Ta operacja może być powtarzana kilka razy zanim
procedura wznowienia (reset) będzie zainicjowana
Go Back N – Uszkodzone
„Odrzucenie”
 Tak jak w przypadku zagubionej ramki (2)
Go Back N -
Diagram
Selektywne odrzucenie
 Metoda Selektywnego odrzucenia nazywana też
selektywną retransmisją (selective reject,
selective retransmission)
 Retransmitowane są TYLKO odrzucone ramki
 Następne ramki są przyjmowane przez odbiornik
i buforowane
 Minimalizacja liczby retransmisji
 Odbiornik musi mieć odpowiednio duży bufor
 Bardziej złożona logika działania nadajnika
Selective Reject -
Diagram
Weryfikacja protokołów
Finite State Machined Models

(a) Diagram stanów (SRC) dla protokołu Stop&Wait


(b) Przejścia
High Level Data Link Control
 HDLC
 ISO 3309, ISO 4335
Typy stacji HDLC
 Stacje podstawowe (Primary station)
 Sterują operacjami w kanale transmisyjnym
 Ramki wychodzące nazywane są komendami
 Utrzymywany jest oddzielny logiczny kanał transmisyjny dla
każdej podporządkowanej stacji
 Stacja podporządkowana (Secondary station)
 Jest pod zarządem stacji podstawowej
 Ramki wychodzące nazywane są odpowiedziami
 Stacja kombinowana (Combined station)
 Może wysyłać komendy i odpowiedzi
Konfiguracjekanału
transmisyjnego w HDLC
 Niezrównoważona (Unbalanced)
 Jedna stacja podstawowa i jedna lub wiele stacji
podporządkowanych
 Możliwa jest komunikacja dupleksowa i
półdupleksowa
 Zrównoważona (Balanced)
 Dwie stacje kombinowane
 Możliwa jest komunikacja dupleksowa i
półdupleksowa
Tryby transmisji w HDLC (1)

 Normal Response Mode (NRM)


 Konfiguracja niezrównoważona
 Stacja podstawowa inicjuje transmisję do stacji
podporządkowanej
 Stacja podporządkowana może transmitować dane
wyłącznie w odpowiedzi na komendę stacji
podstawowej
 Używane w liniach tylu „multi-drop”
 Host jako stacja podstawowa
 Terminale jako stacje podporządkowane
Tryby transmisji w HDLC (2)

 Asynchronous Balanced Mode (ABM)


 Konfiguracja zrównoważona
 Każda stacja może zainicjować transmisję bez
czyjegokolwiek pozwolenia
 Najczęściej używana
 Nie wymaga próbkowania stanu linii (polling
overhead)
Tryby transmisji w HDLC (3)

 Asynchronous Response Mode (ARM)


 Konfiguracja niezrównoważona
 Stacja podporządkowana może inicjować transmisję
bez zezwolenia stacji podstawowej
 Stacja podstawowa odpowiada za stan linii
 Rzadko używana
Struktura ramki
 Transmisja synchroniczna
 Wszystkie transmitowane dane pozamykane są
w ramkach
 Ramka ma taki sam format dla każdego rodzaju
danych i dla wymiany informacji sterujących
Diagram struktury ramki
Pole „Flag”
 Ogranicza ramkę na początku i na końcu
 01111110 (7F)
 Może być separatorem ramek, tzn. jednocześnie zamyka jedną
ramkę i otwiera następną
 Odbiornik „poluje” na sekwencję flag w celu uzyskania
synchronizacji z nadajnikiem
 Nadziewanie bitami (Bit stuffing) stosowane w celu uniknięcia
kłopotów z danymi zawierającymi wzorzec 01111110
 0 wstawiane jest ZAWSZE po pięciu jedynkach (11111)
 Jeżeli odbiornik wykryje 5 jedynek, sprawdza następny bit
 Jeżeli jest to 0, to je kasuje
 Jeżeli jest to 1, a następny (siódmy) bit jest równy 0, to oznacza
to, że odebrano flagę
 Jeżeli i szósty i siódmy bit jest równy 1, to jest to sygnał „Break”
(„Abort”)
Nadziewanie bitami (Bit Stuffing)
 Przykład z
możliwymi błędami
Pole adresu
 Identyfikuje stację podporządkowaną która wysłała, albo która ma
odebrać ramkę
 Zwykle 8-bitowe
 Może być rozszerzone do wielokrotności 7 bitów
 LSB w każdym oktecie adresu określa, czy jest to ostatni oktet (1) czy
adres będzie kontynuowany (0)
 Adres składający się z samych jedynek (11111111) jest adresem
rozgłoszeniowym
Pole sterujące
 Zróżnicowane w zależności od typu ramki
 Ramka typu „Information” – dane będą przekazywane do
użytkownika (do następnej warstwy – np. IP)
 Kontrola przepływu i błędów w ramkach typu „Information”
jest typu „piggyback”
 Ramka typu „Supervisory” - ARQ kiedy „piggyback” nie jest
używany
 Ramka typu „Unnumbered” – dodatkowa kontrola kanału
komunikacyjnego (ramki służbowe)
 Pierwszy bit lub pierwsze 2 bity określają typ ramki
 Pozostałe bity będą objaśnione później
Diagram pola sterującego
Bit „Poll/Final”
 Użycie jest zależne od kontekstu
 W ramce typu „komenda”
 Bit P (poll)
 1 żąda odpowiedzi od rozmówcy
 W ramce typu „odpowiedź”
 Bit F (final)
 1 określa, że jest to odpowiedź na żądanie
występujące w ramce typu „komenda”
 Pole S – komend :
 RNR, RR, REJ, SREJ
Pole informacji
 Znajduje się tylko w ramkach typu „information”
i niektórych ramkach typu „unnumbered”
 Musi zawierać całkowitą liczbę oktetów
 Może mieć zmienną długość
Pole FCS
(Frame Check Sequence)
 FCS
 Detekcja błędu
 16 bitowe CRC
 Opcjonalnie 32 bitowe CRC
Działanie HDLC
 Wymiana ramek typu „information”,
„supervisory” i „unnumbered”
 Trzy fazy
 Inicjalizacja
 Transmisja danych
 Rozłączenie
Przykład działania (1)
Przykład działania (2)
Inneprotokoły DLC
(LAPB,LAPD)
 Link Access Procedure, Balanced (LAPB)
 Część specyfikacji X.25 (ITU-T)
 Podzbiór HDLC - ABM
 Kanał komunikacyjny typu punkt-punkt pomiędzy systemem a węzłem
przełączającym sieci
 Link Access Procedure, D-Channel
 ISDN (ITU-D)
 ABM
 Zawsze 7-bitowe numery sekwencji (nie 3-bitowe)
 16 bitowe pole adresowe zawierające dwa podadresy
 Jeden określa urządzenie, a drugi użytkownika (SAP następnej warstwy)
Inne protokoły DLC
(LLC)
 Logical Link Control (LLC)  Nie ma stacji podstawowych i
 IEEE 802 podporządkowanych – wszystkie
 Różne formaty ramek stacje są równorzędne
 Raw ethernet (partnerskie – peers)
 Ethernet 2 (DIX)  Potrzebne 2 adresy – odbiornika i
 SAP nadajnika
 SNAP  Detekcja błędu w warstwie MAC
 Warstwa łącza danych podzielona  32 bit CRC
pomiędzy warstę dostępu do  SAP (Service Access Point)
medium (MAC – Medium Access  SAP odbiornika i nadajnika
layer) i LLC (na warstwie MAC)  DSAP (Destination SAP)
 SSAP (Source SAP)
Ramki LLC (opis)
 Ramka RAW Ethernet
 Pierwszy standard Novell
 Ramka SAP (Service Access Point)
 Ramka 802.2
 Novell 3.12, 4
 Ramka Ethernet II (ARPA)
 Standard przy transmisji wieloprotokołowej (m.in. IP) pole typ od
x0600 – dlaczego ?
 Ramka SNAP (SubNetwork Access Protocol)
 Stanowi rozszerzenie logiczne ramek SAP
 Połączenie SAP i Ethernet 2
 Używana przez nowsze wersje Novell
Diagramy ramek LLC
64 bity 48 bitów 48 bitów 46-1500 BAJTÓW 32 bity

PREAMBUŁA DEST SRC INFORMACJA FCS

16 bitów 16 bitów

FFFF (Suma
RAW Ethernet DŁUGOŚĆ
kontrolna)
DANE WARSTWY WYŻSZEJ

16 bitów Zmienne

Zależne od
Typ DANE WARSTWY WYŻSZEJ
typu
Ethernet 2
8 bitów 8 bitów 8 lub 16

Ethernet SAP DSAP SSAP CTRL DANE WARSTWY WYŻSZEJ

8 bitów 8 bitów 8 bitów 24 bity 16 bitów 16 bitów

Ethernet SNAP AA AA 03 OUI OUI typ


Zależne
od OUI typ
DANE WARSTWY
WYŻSZEJ
Inneprotokoły DLC
(Frame Relay) (1)
 Stosowany w szybkich sieciach przełączających
pakiety
 Typu „streamline” – bez kontroli przepływu
 Używany zamiast X.25
 Używa Link Access Procedure for Frame-Mode
Bearer Services (LAPF)
 Dwa protokoły
 Control – podobny do HDLC
 Core - podzbiór
Inneprotokoły DLC
(Frame Relay) (2)
 ABM
 7-bitowy numer sekwencji
 16 bitowe CRC
 2, 3 lub 4 oktetowe pole adresowe
 Identyfikator połączenia (Data link connection
identifier – DLCI)
 Określa logiczne połączenie
 Więcej o sieci Frame Relay – w wykładzie o
sieciach WAN
Inne protokoły DLC (ATM)
 Asynchronous Transfer Mode
 Stosowany w komunikacji typu „streamline” w
sieciach o bardzo dużej przepustowości
 Nie opiera się na HDLC
 Format ramki nazywanej komórką „cell”
 Stała długość – 53 oktety (424 bity)
 Szczegóły – później
Serial line IP ( SLIP)
Protokół do połączeń modemowych i
przenoszenia tylko pakietów IP ( RFC 1055)
Prosty – transmisja „surowych” (raw) datagramów IP
Brak kontroli błędów
Brak autentykacji
Brak możliwość dynamicznego przydziału adresu
Flagi 0xC0 –
Ucieczka 0xDB,0xDC zamiast flagi
Nadziewanie 0xDB, 0xDD
CSLIP – kompresja
PPP

 Point-to-Point Protocol
 Różnorodność implementacji HDLC
 Konieczność przenoszenia wielu protokołów
warstwy wyższej
 W przypadku protokołu IP – możliwość
dynamicznego przyznawania adresu IP
Cechy PPP
 Sterowanie procesem zestawiania połączenia
 Kontrola bezpieczeństwa połączenia
 Możliwość przenoszenia wielu protokołów warstwy
wyższej
 Sterowanie kanałem transmisyjnym i kontrola jego
jakości
 Detekcja błędów
 Opcje negocjacji
 Dynamiczne przypisanie adresu IP
 Parametry kompresji
Sposób transmisji danych
 Zorientowany bitowo
 Bazowany na HDLC
 Zorientowany bajtowo
 Bajty typu „Escape”
 Bajt 7E (flaga) zamieniany jest na ciąg 7D+5E
 Bajt „Escape” (7D) zamieniany jest na ciąg 7D+5D
Format ramki
 Bazowany na HDLC
 Adres – zawsze rozgłoszeniowy (11111111=FF)
 Pole sterujące – 1 bajtowe zawierające liczbę (00000011=3)
oznaczające nienumerowane ramki (transmisja bezpołączeniowa
podobna do LLC)
 1 bajtowe pole określające numer protokołu warstwy wyższej
 Pole danych o maksymalnej długości 1500 oktetów
 16 bitowe FCS
Połączenie PPP
 Protokół LCP zestawia i konfiguruje połączenie
 MTU
 Kompresja
 Sposób uwierzytelniania
 Opcjonalnie testowana jest jakość kanału
transmisyjnego
 Protokół NCP negocjuje jakie protokoły warstwy
wyższej mogą używać danego kanału komunikacyjnego
 Wymiana danych
 Zamknięcie połączenia
PPP uwierzytelnianie
 Password Authentication Protocol (PAP)
 Jawnym tekstem wysyłana kombinacja „użytkownik/hasło”
 Challenge Handshake Authentication Protocol (CHAP).
 Wielokrotnie stosowana w czasie aktywności kanału komunikacyjnego
 Serwer na podstawie nazwy użytkownika i hasła generuje liczbę i
wysyła ją do partnera
 Ten na podstawie tej liczby oraz nazwy użytkownika i hasła generuje
inną liczbę
 Jeżeli liczba ta jest taka sama jak ta, która wygeneruje serwer,
protokół dopuszcza do połączenia
PPP – Point to Point Protocol

The PPP full frame format for unnumbered mode


operation.
PPP – Point to Point Protocol (2)

A simplified phase diagram for bring a line up and down.


Challenge
This figure illustrates the following steps in the CHAP authentication between the two routers:
1. A CHAP challenge packet is built with the following characteristics:
o 01 = challenge packet type identifier.
o id = sequential number that identifies the challenge.
o random = a reasonably random number generated by the router.
o 3640-1 = the authentication name of the challenger.
1. The id and random values are kept on the called router .
2. The challenge packet is sent to the calling router. A list of outstanding challenges is
maintained.
Response

The router processes the incoming CHAP challenge packet in the following manner:
1. The id value is fed into the MD5 hash generator.
2. The random value is fed into the MD5 hash generator.
3. The name 3640-1 is used to look up the password. The router looks for an entry
matching the username in the challenge. In this example, it looks for:
username 3640-1 password pc1
4. The password is fed into the MD5 hash generator.

The result is the one-way MD5-hashed CHAP challenge that will be sent back in the
CHAP response.
Response cd.

1. The response packet is assembled from the following components:


o 02 = CHAP response packet type identifier.
o id = copied from the challenge packet.
o hash = the output from the MD5 hash generator (the hashed information from the
challenge packet).
o 766-1 = the authentication name of this device. This is needed for the peer to look up
the username and password entry needed to verify identity (we'll look at this in more
detail below).
1. The response packet is then sent to the challenger.
Verification

The CHAP response packet is processed (on the authenticator) in the following manner:
1. The id is used to find the original challenge packet.
2. The id is fed into the MD5 hash generator.
3. The original challenge random value is fed into the MD5 hash generator.
4. The name 766-1 is used to look up the password from one of the following sources:
o Local username and password database.
o RADIUS or TACACS+ server.
1. The password is fed into the MD5 hash generator.
2. The hash value received in the response packet is then compared to the calculated MD5 hash value.
CHAP authentication succeeds if the calculated and the received hash values are equal.
Wynik

If authentication is successful, a CHAP success packet is built from the following components:
• 03 = CHAP success message type.
• id = copied from the response packet.
• “Welcome in” is simply a text message providing a user-readable explanation.
If authentication fails, a CHAP failure packet is built from the following components:
• 04 = CHAP failure message type.
• id = copied from the response packet.
• “Authentication failure” or other text message, providing a user-readable explanation

You might also like