Sieci komputerowe I Wykład 6


Akademia Górniczo-Hutnicza
w Krakowie
Katedra Telekomunikacji
SIECI KOMPUTEROWE I
SIECI KOMPUTEROWE I
Wykład 6
Warstwa łącza danych
Protokoły zorientowane bitowo
Prowadzący:
prof. dr hab. inż. Andrzej Pach
mgr inż. Jacek Rząsa
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
Warstwa łącza danych, część II
Protokoły zorientowane bitowo
Plan wykładu:
1. Protokół HDLC (High Level Data Link Control)
2. Protokół LAPB (Link Access Procedure Balanced)
3. Procedura MLP (MultiLink Procedure)
4. Protokół LAPM (Link Access Procedure for Modems)
5. Protokół LAPD (Link Access Procedure D-channel)
2
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
V Protokoły zorientowane bitowo
Metody wyznaczania początku i końca ramki
Można wyróżnić następujące metody wyznaczania początku i końca ramki:
a) flaga  jeden znak składający się z bitów o określonej strukturze;
b) przesyłanie określonej sekwencji znaków, a gdy nastąpi naruszenie sekwencyjności
znaków, to kolejny bit stanowi bit początkowy ramki;
c) zakłócenia kodu, odpowiednie kształtowanie impulsu.
1) Protokół HDLC (High Level Data Link Control)
Protokół HDLC (High Level Data Link Control) jest protokołem warstwy łącza
danych standaryzowanym przez ISO (ISO/IEC 3309, 4335, 7809, 8885 z roku 2003).
Większość protokołów, z którymi mamy do czynienia wywodzi się z HDLC, np. powstają
przez obcięcie pewnych funkcji protokołu HDLC. Inne protokoły to SDLC (Synchronous
Data Link Control) - firmy IBM, ADCCP (Advanced Data Communication Control Protocol)
 ANSI.
Rodzaje stacji dla protokołu HDLC
W protokole HDLC występują 3 rodzaje stacji. Są to:
1) nadrzędna (primary station);
2) podrzędna (secondary station);
3) combined  równocześnie nadrzędna lub podrzędna  stacje równoważne sobie.
Zazwyczaj stacje równoważne (combined) występują dla połączeń typu punkt-punkt (point-
to-point), natomiast nadrzędna i podrzędna - w konfiguracji, np. multipoint lub multidrop.
Poniżej zostały przedstawione przykłady takich konfiguracji.
Rozkazy
Rozkazy
Rozkazy
Rozkazy
Rozkazy
Rozkazy
Nadrzędna Podrzędna
Odpowiedzi
Rys. 1. a) Punkt-punkt, pojedyncza stacja nadrzędna i pojedyncza stacja podrzędna.
3
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
Rozkazy
Nadrzędna
Odpowiedzi Odpowiedzi
Podrzędna Podrzędna
Rys. 1. b) Punkt-wielopunkt, pojedyncza stacja nadrzędna i wiele stacji podrzędnych.
Rozkazy Odpowiedzi
Nadrzędna Nadrzędna
+ +
Podrzędna Podrzędna
Odpowiedzi Rozkazy
Rys. 1. c) Punkt-punkt, dwie stacje równoważne (combined).
Jak widać z powyższych rysunków, stacje nadrzędne komunikują się ze stacjami
podrzędnymi przy pomocy rozkazów (commands), natomiast podrzędne wysyłają
odpowiedzi (responses). W przypadku c) mamy transmisję full-duplex.
Tryby pracy w HDLC
W protokole HDLC możemy wyróżnić trzy tryby pracy, które wymieniono poniżej.
1) NRM (Normal Response Mode)  tryb normalnej odpowiedzi - dla
konfiguracji niezrównoważonych, tzn. mamy stację nadrzędną i podrzędne,
które muszą słuchać tej stacji. Jedynie stacja nadrzędna może inicjować
transmisję.
2) ARM (Asynchronous Response Mode)  tryb asynchronicznej odpowiedzi,
też w konfiguracjach niezrównoważonych, ale stacja podrzędna może
przesyłać informacje do stacji nadrzędnej, że ma coś do nadania.
3) ABM (Asynchronous Balanced Mode)  tryb asynchroniczny zrównoważony,
w przypadku połączenia punkt-punkt między równoważnymi stacjami. Dane
przesyłane w trybie full-duplex
4
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
Struktura ramki w HDLC
Ramka standardowa, która zawiera pole z danymi, została przedstawiona poniżej.
8b 8/16b 8/16b 0- Nb 16/32b 8b
Bity
Flaga Adres Pole inf. FCS Flaga
sterujące
Rys. 2. Ramka standardowa dla HDLC.
Na początku i końcu ramki znajduje się flaga, która składa się z następującej
sekwencji bitów: 01111110. Istotnym problemem jest problem przezroczystości sieci. Jeżeli
chcielibyśmy transmitować dane w polu informacyjnym w postaci 01111110, to aby zapobiec
błędnemu wykryciu początku lub końca ramki stosujemy procedurę tzw.  bit-stuffing , czyli
stosujemy  nadziewanie bitami. Polega ona na tym, że po pięciu przesłanych jedynkach jest
wprowadzane dodatkowo  0 . Kiedy odbiornik napotka na pięć jedynek, to wycina kolejne po
nich zero.
Przesyłane ramki można podzielić na trzy grupy:
1) Z danymi (information)
2) Nadzorcze (supervisory)
3) Nienumerowane (unnumbered)
Pole kontrolne dla poszczególnych ramek ma postać:
1 2 3 4 5 6 7 8
N(S) P/F N(R) Z danymi
0
1 2 3 4 5 6 7 8
S P/F N(R) Nadzorcza
S
1 0
1 2 3 4 5 6 7 8
M P/F M Nienumerowana
1 1
Rys. 3. Typy ramek.
Bit na pierwszej pozycji oznacza: 0 - ramka z danymi, 1- ramka nadzorcza. Trzy bity N(S)
służą do numerowania modulo 8 ramek nadawanych. Bity N(R) podobnie, ale do
numerowania ramek odbieranych. Zawsze jednak w tym polu wskazuje się nie bieżącą ramkę,
ale numer kolejnej, oczekiwanej ramki. Zostało to zilustrowane na poniższym rysunku.
5
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
0 N(S)=1 P/F N(R)
Stacja B
Stacja A
Ramki z danymi
0 N(S) P/F N(R)=2
Rys. 4. Numeracja ramek.
Istnieje też typ ramki nazywany Receive-Ready (RR). Ramka ta jest wysyłana przez
stację odbiorczą, gdy stacja ta nie ma do nadania żadnych ramek. Istnieje też format
rozszerzony ramek. Wtedy zamiast zliczania ramek modulo 8, jest zliczanie od 0 do 127.
W ramce umieszczony jest jeszcze bit P/F (Poll/Final bit). Jest to bit, który służy do
wymuszania odpowiedzi ze strony odbiorczej, czyli żąda się od stacji B potwierdzeń.
Jak widać z rysunku 2, pole adresowe może być większe niż 8 bitów. Zazwyczaj jest
to 16 bitów. Istnieje specjalna procedura, która służy do wyboru 8. lub 16. bitowego pola
adresowego.
8/16 bitów
Bity
Flaga 1 Adres Pole inf.. FCS Flaga
sterujące
1) jeżeli pierwszy bit adresu jest  0 , to kolejny oktet (bajt)
jest też adresowy, czyli adres ma 16 bitów
2) jeżeli pierwszy bit adresu jest  1 , to kolejny oktet (bajt)
jest polem z bitami sterującymi, a nie adresowymi, czyli
adres ma 8 bitów
Rys. 5. Wybór długości pola adresowego.
Na rysunku 3 zostały przedstawione różne typy ramek. Ramki nadzorcze i
nienumerowane są zróżnicowane na drugim bicie. W nich nie ma pola N(S) - z numerami
ramek nadanych, a w ramkach nienumerowanych nie ma też pola N(R) - z numerami ramek
odebranych. Stąd też nazwa  ramki nienumerowane . Pole FCS, to ostatnie pole ramki przed
flagą kończącą ramkę. Są to bity kodu cyklicznego CRC. Dla 16 bitowego pola FCS,
wielomian kodu cyklicznego ma postać:
g(x) = x16+ x12 +x5+1
6
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
Typy ramek nadzorczych
Wyróżnia się 4 typy ramek nadzorczych w protokole HDLC. Są to:
1) Reciver-Ready (RR) - odbiornik może przyjmować ramki
2) Reciver-Not-Ready (RNR)  odbiornik nie może przyjmować ramek
3) Reject (REJ) - ramka przyszła z błędem i musi zostać odrzucona
4) Selective REJect (SREJ) - selektywne odrzucenie ramki, ramka o określonym
numerze zostaje odrzucona
Typy ramek nienumerowanych
Podobnie, jak dla ramek nadzorczych, wyróżnia się kilka typów ramek nienumerowanych.
Oto niektóre z nich:
Dla stacji nadawczej:
1) SARM (Set Asynchronous Response Mode) - ustawia tryb pracy na asynchroniczny
2) SAME (Set Asynchronous Response Mode Extended) - ustawia tryb pracy na
asynchroniczny, rozszerzony
3) RSET (Reset)  wyzerowanie połączenia
Dla stacji odbiorczej:
4) DISCO (Disconnect) - rozłączenie
5) FRMR (Frame Reject) - odrzucenie ramki
W trybie rozszerzonym pola bitów kontrolnych mają nieco inną strukturę niż dla trybu
standardowego. Zostały one przedstawione na rysunku 6.
7
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
Bity kontrolne
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Ramka z danymi
0 N(S) P/F N(R)
N(R)
Bity kontrolne
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Ramka nadzorcza
1 0 S P/F N(R)
-
Bity kontrolne
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Ramka
1 1 M P/F M P/F -
nienumerowana
Rys. 6. Pole bitów sterujących dla różnych typów ramek, dla trybu rozszerzonego (Extended).
Fazy działania protokołu HDLC
Wyróżniamy dwie fazy działania protokołu HDLC
a) zarządzanie połączeniem (Link Management)
b) transfer danych
ad a) zarządzenie połączeniem:
" tryb normalnej odpowiedzi
Stacja Stacja
nadrzędna (A) podrzędna (B)
SNRM (B, P=1)
N(S) := 0
N (R) := 0
UA (B, F=1)
N (S) := 0
N(R) := 0
Transfer danych
DISC (B, P=1)
Stacja nadrzędna
się rozłącza
Stacja podrzędna
UA (B, F=1)
się rozłącza
Rys. 7. Procedura zarządzania połączeniem  tryb normalnej odpowiedzi  łącze multidrop.
8
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
Obie stacje posiadają liczniki V(S) = 0 i V(R) = 0 (numerują ramki z danymi).
Ponieważ jest to tryb normalnej odpowiedzi, to tylko stacja nadrzędna może zerwać
połączenie.
" tryb asynchroniczny zrównoważony
Stacja
Stacja
równorzędna P/S (A)
równorzędna P/S (B)
SABM (B, P=1)
N(S) := 0
N(R) := 0
UA (B, F=1)
N(S) := 0
N(R) := 0
Transfer danych
Stacja nadrzędna się
DISC (A, P=1)
rozłącza
Stacja nadrzędna i
UA (A, F=1)
podrzędna się rozłącza
Stacja podrzędna
się rozłącza
Rys. 8. Procedura zarządzania połączeniem 
tryb asynchroniczny zrównoważony  łącze punkt  punkt.
W tym przypadku występują dwie stacje równorzędne i konfiguracja punkt-punkt.
Każda ze stacji może nawiązywać połączenie i każda ze stacji może dokonać rozłączenia.
ad b) transfer danych
Ogólnie mówiąc, protokół HDLC służy do bezbłędnego przesyłania ramek między
punktami sieci. To bezbłędne przesyłanie ramek jest zapewnione przez:
" przeciwdziałanie błędom (wykrycie błędu i retransmisja);
" sterowanie przepływem.
Zasada działania protokołu HDLC
a) tryb normalnej odpowiedzi z pozytywnym potwierdzeniem (RR)
Jak pokazano na rysunku 9, ramka jest jedynie potwierdzana wtedy, gdy nie ma
błędów. Z każdą nadaną ramką uruchamiany jest czas potwierdzenia (timeout). Gdy w tym
czasie nie dotrze potwierdzenie, że ramka została poprawnie odebrana, to następuje jej
retransmisja.
9
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
Rys. 9. Tryb normalnej odpowiedzi z pozytywnym potwierdzeniem (RR).
b) tryb normalnej odpowiedzi z negatywnym potwierdzeniem (REJ)
Rys. 10. Tryb normalnej odpowiedzi z negatywnym potwierdzeniem (REJ).
10
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
c) procedura z potwierdzeniami piggyback
Rys. 11. Procedura z potwierdzeniami piggyback.
11
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
Interfejs użytkownika
Stacja dzwoniąca Stacja wydzwaniana
Warstwa Warstwa
Oprogramowanie łącza Oprogramowanie
łącza
użytkownika użytkownika
SNRM/
L_CONNECT.request
SABM
L_CONNECT.indication
L_CONNECT.confirm
UA
L_DATA.request
I(DATA)
L_DATA.indication
RR
L_DATA.request
L_DATA.indication
I(DATA)
RR
L_DISCONNECT.request
DISC
L_DISCONNECT.
indication
L_DISCONNECT.confirm
UA
Rys. 12. Interakcja użytkownik  warstwa łącza danych.
2) Protokół LAPB (Link Access Procedure Balanced)
Protokół ten zawiera procedury będące podzbiorem procedur protokołu HDLC. Służy
on do sterowania dupleksową komunikacją typu punkt-punkt pomiędzy komputerem (DTE) a
siecią z komutacją pakietów (prywatną lub publiczną) - DCE. Taką siecią może być np. sieć
ze stykiem ITU-T X.25. Faktycznie LAPB jest rozszerzoną wersją LAPA. Jak już na wstępie
powiedziano, protokół ten jest stosowany na styku DTE-DCE w celu transmisji ramek i ma
znaczenie lokalne.
LAPB bazuje na łączu asynchronicznym zrównoważonym (zbalansowanym), przy
tym urządzenia DTE i DCE są typu równoważnego (combined), tzn. oba mogą zarówno
wysyłać dane jak i je odbierać, czyli są zródłem i ujściem informacji. Mówiąc  dane , mamy
na myśli zarówno komendy jak i odpowiedzi. Stacje DTE i DCE pracują w trybie ABM (ang.
Asynchronous Balanced Mode), który umożliwia transmisję bez konieczności otrzymania
zezwolenia od innych równorzędnych stacji. Na poziomie warstwy drugiej dane są przesyłane
w trybie połączeniowym.
12
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
DTE
Sieć X.25
Warstwa sieciowa
Styk z siecią -
X.25
Warstwa łącza
DCE
danych LAPB
Warstwa fizyczna
Rys. 13. Umiejscowienie protokołu LAPB.
Właściwym protokołem warstwy łącza danych w sieci X.25 jest protokół LAPB (ang.
Link Access Procedure Balanced), odpowiedzialny za badanie stanu łącza, synchronizację i
wykrywanie błędów.
3) Procedura MLP (MultiLink Procedure)
Możemy wyróżnić dwa typy połączeń pomiędzy DTE i DCE. Różnią się one liczbą
połączeń pomiędzy tymi urządzeniami. I tak wyróżniamy:
1) procedury jednołączowe SLP (Single Link Procedure),
2) procedury wielołączowe MLP (Multiple Link Procedure).
Ad 1.
Procedura wykorzystuje jedno łącze fizyczne do transmisji danych, dane na poziomie
warstwy łącza danych przesyłane są w trybie połączeniowym.
Ad 2.
Procedura stosować wiele łączy fizycznych do przesyłania danych. Przedstawione to
jest na rysunku poniżej. Możemy wyróżnić dwie podwarstwy: podwarstwę wyższą procedury
wielołączowej oraz podwarstwę niższą zawierającą wiele procedur jednołączowych. Ich
liczba jest równa liczbie łączy fizycznych. Procedury jednołączowe w ramach stacji pracują
niezależnie od siebie, a więc np. w przypadku awarii jednego łącza fizycznego dane
kierowane są do innego łącza.
13
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
Rys. 14. Procedura zwielokrotnionego połączenia  MultiLink.
Procedura wielołączowa, podobnie jak jednołączowa, realizowana jest w trybie
połączeniowym, przy czym jako mechanizm sterowania przepływem stosuje się przesuwane
okno (sliding window). Ramka protokołu LAPB jest zgodna z postacią ramki w HDLC.
Rozpoczyna się ona flagą F. Następnie występują pola adresowe, sterujące, informacyjne,
pole kodów kontrolnych FCS (najczęściej stosuje się kod cykliczny CRC16: x16 + x12 + x5
+1). Ramka również kończy się flagą F. Przykład ramki w połączeniu wielołączowym
pokazano na rysunku poniżej.
Błąd!
Rys. 15. MultiLink  format ramki.
14
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
4) Protokół LAPM (Link Access Procedure for Modems)
LAPM (ang. Link Access Procedure for Modems) jest protokołem stosowanym przez
modemy z korekcją błędów, np. V.32. Został on opisany w standardzie ITU-T V.42. Tego
typu modemy akceptują od strony urządzenia DTE dane typu asynchronicznego zorientowane
znakowo, a wysyłają w stronę sieci ramki zorientowane bitowo. Transmisja odbywa się
synchronicznie z korekcją błędów bazującą na protokole HDLC.
V.24
V.24 Modem DCE Modem DCE
PSTN
DTE UIP ECP ECP UIP DTE
LAPM
Rys. 16.
Każdy modem składa się z dwu funkcjonalnych części: UIP (ang. User Interface
Part) oraz ECP (ang. Error Correction Part). Protokół LAPM zaimplementowany jest w
części ECP, natomiast UIP zajmuje się transferem znaków/bajtów poprzez interfejs V.24
razem z interpretowaniem sygnałów sterowania przepływem.
Komunikacja UIP z ECP odbywa się dzięki tzw. prymitywom, pokazane to zostało na
rysunku poniżej.
DTE
Rys. 17. Komunikacja UserInterfacePart z ErrorCorrectionPart.
15
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
Przed ustanowieniem logicznego połączenia oba ECP muszą ustalić parametry
transmisyjne do prawidłowej obsługi protokołu. Te parametry zawierają np. liczbę bajtów
w ramce I ( I-frame), maksymalną liczbę prób retransmisji, rozmiar okna. Istnieją domyślne
ustawienia tych parametrów, ale jeżeli nie są używane, to za pomocą prymitywów
L_SETPARM są właśnie ustawiane te pożądane. Wymieniane są wtedy specjalne,
nienumerowane ramki XID.
Kiedy ustanowimy parametry transmisyjne, możemy ustanowić połączenie logiczne za
pomocą prymitywów L_ESTABLISH. Następnie, z użyciem prymitywów L_DATA, odbywa
się transfer danych. Natomiast prymityw L_SIGNAL pojawia się w wypadku wykrycia
jakichś problemów z kontrolą przepływu (ang. flow control). Kiedy zakończy się transfer
danych, połączenie kończy się z użyciem prymitywów L_RELEASE.
5) Protokół LAPD (Link Access Procedure D-channel)
Sieci ISDN w warstwie łącza danych wykorzystują protokół będący modyfikacją
protokołu HDLC tj. LAPD. Procedura LAPD może być zaimplementowana jako opcja
HDLC. Stacje na poziomie warstwy drugiej są typu combined, tzn. mogą wysyłać i odbierać
zarówno rozkazy jak i odpowiedzi. Protokół został zdefiniowany w celu kontroli
przepływu danych w kanale sygnalizacyjnym, znanym jako kanał D. Jak wiemy kanał D
służy do ustanowienia połączenia w komutowanej sieci cyfrowej. LAPD jest również
używany w trochę rozszerzonej formie do kontroli przepływu I-ramek w sieciach Frame
Relay.
Protokół LAPD wspiera dwa rodzaje usług, tj. usługę transmisji z potwierdzeniami
(ang. acknowledged) występującą w łączu zorientowanym połączeniowo (ang. connection-
oriented), oraz usługę transmisji bez potwierdzeń (ang. unacknowledged), tzw. best-try.
LAPD stosuje podobne ramki jak protokoły HDLC i LAPB, występują więc ramki
zarządzające, nienumerowane i informacyjne. Pole adresowe ma długość 2 bajtów i jest
używane zarówno do identyfikacji terminala (ang. Terminal End-point Identifier  TEI), jak i
punktu dostępu do określonej usługi (ang. Service Access Point Identifier  SAPI).
Błąd!
Rys. 18. Format ramki protokołu LAPD.
16
Sieci komputerowe I  Wykład 6  Warstwa łącza danych  Protokoły zorientowane bitowo
Bit EA jest używany w celu rozszerzenia pola adresowego, ustawienie tego bitu na  1
oznacza, iż jest to ostatni bajt pola adresowego. Pole SAPI identyfikuje adres punktu dostępu
do określonej usługi, przez który dane przesyłane są do warstwy wyższej (tj. warstwy
sieciowej). Z kolei pole TEI identyfikuje połączenie wewnątrz SAPI. TEI umożliwia
identyfikowanie do ośmiu pojedynczych lub wielokrotnych terminali. Oba pola razem tworzą
pole DLCI (ang. Data Link Connection Identifier), które identyfikuje każde połączenie w
kanale D.
17


Wyszukiwarka

Podobne podstrony:
Sieci komputerowe wyklady dr Furtak
Sieci komputerowe I Wykład 5
Sieci komputerowe I Wykład 8P
Sieci komputerowe I Wykład 2P
Sieci komputerowe I Wykład 1P
Sieci komputerowe I Wykład 8
Sieci komputerowe I Wyklad 4P
Sieci komputerowe Wyklad ACL NAT v2
Sieci komputerowe I Wykład 1
Sieci komputerowe I Wykład 6P
Sieci komputerowe I Wykład 3
Sieci komputerowe I Wyklad Mosty v1
Sieci komputerowe I Wyklad 3P
Sieci komputerowe I Wyklad 5P
Sieci komputerowe I Wykład 4
wyklad3 Wykłady z przedmiotu Sieci komputerowe – podstawy
4 Sieci komputerowe 04 11 05 2013 [tryb zgodności]
Sieci komputerowe cw 1

więcej podobnych podstron