Pobierz prezentację
1
Protokół HDLC
2
Plan prezentacji Wprowadzenie Konfiguracje logiczne HDLC
Stany logiczne i tryby pracy Format ramki Rodzaje ramek Fazy w pracy stacji Protokoły typu HDLC
3
Wprowadzenie HDLC (High level Data Link Control procedure)
Standardowy protokół architektury OSI w warstwie sterowała łączem danych (DLC – Data Link Control) Protokół bitowy Standardowy typ ramki: nieograniczone pole danych, możliwość stosowania dowolnych kodów znakowych, kilka sekwencji zarezerwowanych dla potrzeb sterowania przepływem Protokół do współpracy z łączami synchronicznymi dupleksowymi i półdupleksowymi.
4
Konfiguracje logiczne HDLC
Trzy konfiguracje kanału logicznego: niezrównoważona: stacja główna (nadrzędna) transmituje ramki z komendami sterującymi i otrzymuje ramki odpowiedzi od stacji wtórnych (podrzędnych), może obsługiwać połączenia punkt – punkt lub punkt – wielopunkt, dwa tryby pracy: NRM (Normal Response Mode) lub ARM (Asynchronous Response Mode), niezrównoważona – stacja nadrzędna steruje dostępem stacji podrzędnych do kanału. zrównoważona: każda stacja ma te same prawa w przekazie danych i sterowaniu połączeniem typu punkt – punkt, tryb pracy: ABM (Asynchronous Balance Mode) symetryczna: dwie niezrównoważone konfiguracje logiczne wykorzystywane w połączeniu punkt – punkt.
5
Niezrównoważona konfiguracja HDLC
odpowiedzi Stacja nadrzędna (główna) Stacja podrzędna (podległa) 1 komendy Stacja podrzędna (podległa) 2 Stacja podrzędna (podległa) 3
6
Zrównoważona konfiguracja HDLC
komendy stacja pełniąca funkcje stacji nadrzędnej i podrzędnej (stacja łączna – uniwersalna) odpowiedzi stacja pełniąca funkcje stacji nadrzędnej i podrzędnej (stacja łączna – uniwersalna) źródło (informacji) ujście źródło (informacji) ujście łącze punkt - punkt komendy odpowiedzi
7
Symetryczna konfiguracja HDLC
źródło ujście stacja nadrzędna podrzędna stacja podrzędna nadrzędna ujście źródło odpowiedzi komendy dwa kanały logiczne
8
Stany logiczne i tryby pracy
Stany logiczne - połączenie między stacjami wykorzystującymi HDLC mogą znajdować się w jednym z trzech stanów: inicjowania pracy, przekazu informacji, rozłączenia logicznego. Tryby pracy – definiujące zasady przekazu informacji, rozłączania oraz inicjowania pracy: Normalny Tryb Odpowiedzi (NRM), Asynchroniczny Tryb Odpowiedzi (ARM), Asynchroniczny Zrównoważony Tryb Pracy (ABM), Normalny Tryb Rozłączenia (NDM), Asynchroniczny Tryb Rozłączania (ADM) Tryb Inicjowania Połączenia.
9
Enkapsulacja (1) Przetwarzanie nagłówka przy transmisji przez N-tą warstwę
10
Enkapsulacja (2) Przetwarzanie nagłówka przy odbiorze przez N-tą warstwę
11
Format ramki Header – pole adresowe i sterujące Trailer – CRC 16
12
Format ramki HDLC Flaga Adres Pole Pole danych Ciąg Flaga
ciąg wzorcowy (flaga) adres stacji odbiorczej lub podrzędnej (8 bitów lub 7 ze wskaźnikiem rozszerzenia) definiuje typ ramki Flaga Adres Pole Pole danych Ciąg Flaga sterujące (zmienna długość) CRC nagłówek ramki część ramki objęta stuffingiem bitowym
13
IEEE 802.1Q over Ethernet DA S.A Znacznik typ/długość dane ramki FCS (nowe) TPID priority CFI VID 0x – 16 bitów bity bit bitów TPID (Tag Protocol Identyfier) – stała wartość oznaczająca znacznik IEEE 802.1Q TCI (Tag Protocol Information): - Priority – priorytetyzacja (np. dla pakietów wrażliwych na opóźnienia), - CFI (Canonical Format Indicator) – kanoniczny identyfikator formatu (adresu) - VID (VLAN Identifier) – identyfikator sieci wirtualnej (0,1 i 4095 są zastrzeżone)
14
Rodzaje ramek I S U 1 2 3 4 5 6 7 8 0 N(S) P/F N(R)
I S U 0 N(S) P/F N(R) 1 0 zarządzanie P/F N(R) 1 1 sterujące P/F sterujące Ramki: - Informacyjna (I - Information) - Zarządzające (S - Supervisory) - Nienumerowana (U - Unnumbered) Nazwy bitów: - N(S) – numer ramki wysyłanej, - N(R) – numer ramki żądanej, - P/F – Pull/Final bit
15
Pole sterujące ramek zarządzających
RR REJ RNR SREJ P/F N(R) P/F N(R) P/F N(R) P/F N(R) RR – Receive Ready, REJ – Reject, RNR – Receive Not Ready, SREJ – Selective Reject
16
Pole sterujące ramek zarządzających
RR (Receive Ready) – gotowość do odbioru: informacja o gotowości odbioru kolejnych ramek I, potwierdzenie poprawnego odbioru ramek o numerach do N(R) – 1 włącznie, REJ (Reject) – odrzucenie: żądanie retransmisji ramek I począwszy od numeru N(R), RNR (Receive Not Ready) – brak gotowości do odbioru: Wskazanie chwilowej niezdolności od odbioru kolejnych ramek I, SREJ (Selective Reject) – selektywne odrzucenie: żądanie retransmisji ramki I o numerze N(R).
17
Pole sterujące ramek nienumerowanych - komendy
SARM P 0 0 0 SNRM P 0 0 1 SABM P 1 0 0 SARME P 0 1 0 SNRME P 0 1 1 SABME P 1 1 0 DISC P 0 1 0 SIM P 0 0 0 UP P 1 0 0 UI P 0 0 0 XID P 1 0 1 RSET P 0 0 1
18
Pole sterujące ramek nienumerowanych - komendy
SARM – Set Asynchronous Response Mode SNRM – Set Normal Response Mode SABM – Set Asynchronous Balance Mode SARME – Set Asynchronous Response Mode Extended SNRME – Set Normal Response Mode Extended SABME – Set Asynchronous Balance Mode Extended DISC – Disconnect SIM – Set Initialization Mode UP – Unnumbered Pull UI – Unnumbered Information XID – Exchange Identification RSET - Reset
19
Pole sterujące ramek nienumerowanych - odpowiedzi
UA F 1 1 0 CMDR F 0 0 1 DM F 0 0 0 RD F 0 1 0 RIM F 0 0 0 UI F 0 0 0 XID F 1 0 1 UA – Unnumbered Acknowledge, CMDR – Command Reject, DM – Disconnect Mode, RD – Request Disconnect, RIM - Request Initialization Mode UI – Unnumbered Information XID – Exchange Identification
20
Fazy pracy stacji stan bezczynności – żadne sygnały nie są przesyłane,
stan aktywności – przesyłane są flagi lub ramki, faza zestawiania połączenia – inicjowane jest połączenie poprzez podanie komend ustalających tryb pracy (np. SABM), faza przekazu danych – wysyłane są ramki typu I, S lub U: ramki I przesyłane są wraz z kolejnym numerem danych, w chwili wysyłania ramki uruchamiany jest licznik czasu (time-out), kopia ramki I przechowywana jest w buforze stacji do chwili, gdy: odebrane zostanie potwierdzenie ACK ze stacji podległej, odebrana zostanie komenda REJ (SREJ), upływa time-out i ramka jest retransmitowana, faza zerowania połączenia – reinicjowanie, realizowane w przypadku pojawienia się błędów nie wykrywanych przez HDLC, a której to fazie następuję ponowne zestawienie połączenia, faza rozłączenia – po zakończeniu przekazu danych przesyłana jest komenda rozłączenia.
21
Fazy pracy stacji (2) Po odbiorze ramki I sprawdzane jest CRC i zgodność numeru ramki z numerem oczekiwanym. W przypadku odbioru ramki I z błędem wszystkie następnie odebrane ramki I są ignorowane (zgodnie a algorytmem GBN). W ramkach odebranych z błędem wykorzystywany jest tylko numer N(R) z pola sterującego – traktowany jest jako powiadomienie pozytywne o N(R)-1 ramkach przesłanych przez daną stację. Odrzucanie ramek I kończy się z chwilą poprawnego odbioru ramki o właściwym numerze. W przypadku czasowego przeciążenia stacji i niemożności przyjęcia kolejnych ramek I stacja wysyła komendę NRR, ale dalej akceptuje i interpretuje ramki zarządzające. Stan zajętości (przeciążenia) jest anulowany przez przesłanie komendy RR lub REJ (SREJ).
22
Opcje w implementacjach HDLC
Definiowane parametry charakteryzujące pracę stacji: time-out na retransmisję ramek (około 3 sek), time-out na inicjalizację połączenia (do 90 sek.), maksymalna liczba bitów informacyjnych w ramce, maksymalna liczba transmisji i retransmisji ramki do podjęcia decyzji o zerowaniu połączenia na skutek błędów (do 20), szerokość okna.
23
Funkcjonowanie HDLC - przykładowa wymiana ramek (1)
Stacja A Stacje B i C (B, SNRM, P) SNRM (A, UA, F) UA (C, SNRM, P) SNRM x time-out (C, SNRM, P) SNRM (A, UA, F) UA (C, RR, 0, P) RR I (A, I, 0, 0) ... t
24
Funkcjonowanie HDLC - przykładowa wymiana ramek (2)
Stacja A Stacje B i C (C, RR, 0, P) RR I (A, I, 0, 0) (A, I, 1, 0, F) I (C, RR, 2) RR (B, I, 0, 0) I (B, I, 0, 1, P) I (A, I, 0, 2) I (A, I, 1, 2) I (A, I, 2, 2, F) I ... t
25
Funkcjonowanie HDLC - przykładowa wymiana ramek (3)
Stacja A Stacje B i C (A, I, 0, 2) I (A, I, 1, 2) I (A, I, 2, 2, F) I (B, RNR, 3, P) RNR (A, RR, 2, F) RR ... t
26
Funkcjonowanie HDLC - przykładowa wymiana ramek (4)
Stacja A Stacje B i C (B, RNR, 3, P) RNR RR (A, RR, 2, F) (B, DISC, P) DISC UA (A, UA, F) (C, DISC, P) DISC (A, UA, F) UA t
27
Sterowanie przepływem (1)
Do sterowania przepływem wykorzystywany jest mechanizm okienkowy – dopuszczalna liczba niepotwierdzonych ramek. Procedury kontrolne do eliminowania nieprawidłowych ramek (np. wszystkie ramki zwierające mniej niż 32 bity są odrzucane). Detekcja pewnych stanów powoduje inicjowanie procedur warstw wyższych – procedury te wywołują realizację komend utrzymaniowych. Protokół HDLC jest odporny (robust) na różne stany patologiczne (np. eliminuje – z użyciem komendy RNR - powstawanie zakleszczeń). Wszystkie pola ramek (poza flagami) zabezpieczone są kodem cyklicznym generowanym zazwyczaj przez (zalecany przez CCIT) wielomian CRC V41: x16 + x12 + x5 + 1 Inne standardowe wielomiany to: CRC-12 (x12 + x11 + x3 + x2 + x1 + 1) i CRC-16 (x16 + x15 + x2 + 1).
28
Sterowanie przepływem (2)
Wielomiany CRC-12 i CRC-16 są przydatne do detekcji ciągu błędów. Standardowe ciągi CRC-12 i CRC-16 wykrywają wszystkie ciągi błędów o długościach 16 i 12, a ponadto dużą część ciągów dłuższych. Kody CRC-12 i CRC-16 są wykorzystywane do detekcji błędów niezależnych. Wyznaczani sum kontrolnych jak i weryfikacja ich poprawności realizowane są najczęściej sprzętowo z wykorzystaniem prostych rejestrów przesuwnych. Brak zabezpieczenia flag w protokole HDLC powoduje, że nawet pojedyncze błędy w ich ciągach mogą zakłócić prawidłowy przekaz danych. Błędy flag mogą mieć wpływ na niewłaściwą interpretację długości odebranej ramki (błędy takie są wykrywalne jeżeli znana jest długość ramki).
29
Protokół HDLC Standard HDLC specyfikuje bardzo szeroki zestaw zasad przesyłania informacji na poziomie warstwy łącza danych modelu ISO. Do poprawnej transmisji danych wystarczy wybrać tylko niektóre elementy protokołu HDLC i w oparciu o nie stworzyć rzeczywisty protokół. Na podstawie standardu HDLC zostało zdefiniowanych wiele protokołów. Ze standardu HDLC wywodzą się m.in. standardy: LLC (Logical Link Control) – protokół kanału logicznego w sieciach lokalnych, LAPB (Link Access Procedure Balanced) – standard X.25, LAPD (Link Access Procedure on the D channel) – protokół w sieci ISDN.
30
IPv4 i IPv6
31
IPv4 i IPv6
32
IPv4 i IPv6
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.