Akademia Górniczo-Hutnicza
w Krakowie
Katedra Telekomunikacji
SIECI KOMPUTEROWE I
SIECI KOMPUTEROWE I
Wykład 5
Warstwa Å‚Ä…cza danych
Protokoły zorientowane znakowo
ProwadzÄ…cy:
prof. dr hab. inż. Andrzej Pach
mgr inż. Jacek Rząsa
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
Warstwa Å‚Ä…cza danych
Protokoły zorientowane znakowo
Plan wykładu:
I. Wprowadzenie
II. Konfiguracje warstwy Å‚Ä…cza danych
III. Podział protokołów warstwy łącza danych
IV. Protokoły zorientowane znakowo (character-oriented protocols)
1) simpleksowe
2) half-dupleksowe
I Wprowadzenie
2
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
Warstwa łącza danych została wprowadzona po to, aby zapewnić niezawodną
transmisję danych z jednego miejsca w sieci do innego. Jest to podyktowane tym, iż warstwa
fizyczna, bazująca na nieidealnych kanałach transmisyjnych, może wprowadzać błędy i
przekłamania informacji, którą przenosi. Dlatego też jedną z funkcji warstwy łącza danych
jest sprawdzanie poprawności danych. Odbywa się to przy użyciu odpowiednich kodów
nadmiarowych, np. CRC (Cyclic Redundancy Check) użytych przy budowie każdej ramki.
Przy tym nie ma znaczenia, jaki kanał transmisyjny jest używany (obwód fizyczny, radiowy).
Usługi tej warstwy zapewniają przezroczysty transfer danych z warstw wyższych.
Protokoły tej warstwy możemy podzielić na zorientowane bitowo oraz znakowo. Inny
podział dzieli je na synchroniczne oraz asynchroniczne.
Protokoły WARSTWY ACZA DANYCH
Zorientowane Zorientowane Synchroniczne Asynchroniczne
bitowo znakowo
Jeżeli rozważamy komunikację punkt-punkt, to do poprawnej transmisji pomiędzy
aplikacjami użytkowników na obu końcach wystarczą tylko dwie pierwsze warstwy
tj. fizyczna (odpowiedzialna za transmisje) i usytuowana bezpośrednio na niej warstwa łącza
danych (odpowiedzialna za poprawność przesyłanych danych).
Dalej możemy rozróżnić usługi zorientowane połączeniowo (ang. connection-
oriented services) oraz usługi bezpołączeniowe (ang. connectionless services). Wymiana
prymitywów w trybie bezpołączeniowym przedstawiona jest na rysunku 1 poniżej.
DTE DTE
Sterowanie Sterowanie
warstwÄ… warstwÄ…
Protokół wyższej Protokół wyższej
Å‚Ä…cza danych Å‚Ä…cza danych
warstwy warstwy
L_UNIDATA.request L_UNIDATA.indication
L_UNIDATA.indication L_UNIDATA.request
Rysunek 1. Sterowanie warstwą łącza danych w trybie bezpołączeniowym.
W trybie bezpołączeniowym, jeżeli kontrola błędów wykaże, iż ramka jest
przekłamana, ramka jest po prostu w odbiorniku kasowana. Mówimy tu o usłudze bez
potwierdzeń, a proces retransmisji poprawnych danych jest wyzwalany przez mechanizmy
warstw wyższych. Taki typ komunikacji (tj. bez potwierdzeń) stosuje się, gdy dysponujemy
kanałem o bardzo małej stopie błędów (np. w sieciach LAN lub ISDN), ponieważ
prawdopodobieństwo retransmisji jest względnie małe.
3
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
W komunikacji połączeniowej muszą zostać natomiast zaimplementowane funkcje
sterowania przepływem (ang. flow control). W pierwszej fazie pomiędzy jednostkami
ustanowione jest logiczne połączenie. Do tego służy prymityw L_CONNECT. Dalej jednostki
danych wymieniane są już z użyciem odpowiedniej kontroli retransmisji i przepływu. Służy
do tego prymityw L_DATA. Kiedy cała informacja zostanie wymieniona, połączenie logiczne
zostaje zlikwidowane poprzez użycie L_DISCONNECT. Przedstawione zostało to na rysunku
2, poniżej.
DTE DTE
Sterowanie Sterowanie
warstwÄ… Å‚Ä…cza
warstwÄ…
Protokół wyższej Protokół wyższej
danych
Å‚Ä…cza danych
warstwy warstwy
L_CONNECT.request
L_CONNECT.indication
L_CONNECT.confirm
L_DATA.request
L_DATA.indication
L_DATA.request
L_DATA.indication
L_DISCONNECT.request
L_DISCONNECT.
indication
L_DISCONNECT.confirm
Rysunek 2. Sterowanie warstwą łącza danych w trybie połączeniowym.
4
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
II Konfiguracje warstwy Å‚Ä…cza danych
Przedstawimy teraz kilka typów sieci. Na każdym rysunku schematycznie pokazane
jest umiejscowienie protokołów warstwy łącza danych. Rysunek 3 przedstawia proste
połączenie punkt-punkt, w której dane wymieniane są pomiędzy dwoma urządzeniami DTE
i to właśnie w nich są zaimplementowane mechanizmy drugiej warstwy. Mówi się tu
o komunikacji end-to-end. Jest to połączenie bezpośrednie, tzn. oba urządzenia połączone są
tylko z sobą, a nie poprzez inną komutowaną sieć. Na rysunku 4 mamy właśnie taki przykład,
tzn. połączenie punkt-punkt poprzez analogową sieć telefoniczną z użyciem modemów.
Protokoły łącza danych również zaimplementowane są w urządzeniach DTE. W tym
połączeniu zwykle stosuje się komunikację zorientowaną połączeniowo.
DTE DTE
DLP
- podsystem komunikacyjny, DLP- Data Link Protocol
Rysunek 3. Połączenie bezpośrednie punkt-punkt.
Typ protokołów, jaki stosujemy w tym przypadku, zależy głównie od szybkości
transmisji i od długości łącza. Dla mniejszych szybkości stosuje się protokoły znakowe
z mechanizmem Stop-and-Wait jako sterowanie przepływem strumienia danych. Przykładem
mogą być protokoły Kermit oraz X-Modem. Oba mogą być np. stosowane w komunikacji
dwóch komputerów PC (PC-to-PC). Dla wyższych szybkości transmisji, a zwłaszcza dla
dłuższych połączeń (np. łącze satelitarne), wykorzystywane są o wiele sprawniejsze i bardziej
niezawodne protokoły zorientowane bitowo. Przykładem bardzo często implementowanego
protokołu może być HDLC (ang. High Level Data Link Control).
DTE DTE
DCE DCE
PSTN
MODEM
MODEM
DLP
- podsystem komunikacyjny
Rysunek 4. Połączenie punkt-punkt w sieci komutowanej.
5
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
Na rysunku 5 przedstawiona jest konfiguracja, w której urządzenia komunikują się
ze sobą za pomocą wspólnego medium, wspólnej szyny, (ang. bus, data highway).
Oczywiście w tym przypadku musimy zadbać o to, aby nie zdarzały się równoczesne
transmisje. Architektura ta składa się z jednego urządzenia Master oraz wielu urządzeń Slave.
Każda komunikacja odbywa się pomiędzy urządzeniem nadzorującym Master i dowolnym
Slave. Nie istnieje komunikacja bezpośrednio pomiędzy dwoma urządzeniami typu Slave.
Master nadrzędne DTE
DLP
Slave podrzędne DTE
Rysunek 5. Połączenie wielopunktowe (ang. multidrop, multipoint topology).
Stosuje się w tym przypadku również komunikację zorientowaną połączeniowo.
Wcześniejsze implementacje protokołów pracujące w takiej architekturze sieciowej opierały
się na rozszerzonych protokołach znakowych znanych jako BSC (ang. Binary Synchronous
Control) lub bisync.
Natomiast współczesne rozwiązania bazują najczęściej na protokole HDLC, a
dokładniej - na specjalnym trybie tego protokołu, mianowicie NRM (ang. Normal Response
Mode). Oba protokoły bisync oraz HDLC (NRM) pracują w tzw. trybie poll-select, tzn., kiedy
Master żąda odebrania danych od urządzenia Slave, wysyła wiadomość typu poll, natomiast,
kiedy sam chce wysłać dane, wysyła do odpowiedniego urządzenia Slave wiadomość select.
Innym typem sieci, w których zaimplementowane zostały protokoły warstwy łącza
danych przedstawione sÄ… na rysunkach 6 i 7. Komunikacja odbywa siÄ™ za pomocÄ…
komutowanej sieci WAN. Na rys. 6 pokazane jest połączenie z użyciem sieci pakietowej
X.25. Protokoły warstwy łącza danych mają znaczenie lokalne, tzn. są one używane
pomiędzy urządzeniem DTE użytkownika i stykiem z siecią X.25, czyli urządzeniem DCE
(ang. Data Circuit Terminating). W tym przypadku bardzo często wykorzystujemy protokół
bazujÄ…cy na HDLC i noszÄ…cy nazwÄ™ LAPB (ang. Link Access Procedure Balanced).
6
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
DTE DTE
PSE PSE
X.25
PS
DLP DLP
PS Packet Switching PSE Packet Switching Exchange
Rysunek 6. Połączenie punkt-punkt poprzez sieć WAN X.25.
Na rysunku 7 pokazana jest komunikacja z użyciem sieci z komutacją obwodów
cyfrowych ISDN. Zestawione połączenie punkt-punkt w sieci nazywamy obwodem
wirtualnym. Protokoły mogą być zarówno bezpołączeniowe (frame relay) jak i połączeniowe
(frame switching). Procedura zestawiania obwodu wirtualnego w sieci ISDN odbywa siÄ™
z wykorzystaniem osobnego obwodu sygnalizacyjnego tzw. kanału D. Przy tym używa się
protokołu sygnalizacyjnego będącego pewną odmianą protokołu HDLC, mianowicie LAPD
(ang. Link Access Procedure D channel).
Oba protokoły LAPD oraz LAPB zestandaryzowane zostały przez ITU-T.
BÅ‚Ä…d!
DTE DTE
EXCH
NTE
ISDN
DLP DLP
EXCH Switching Exchange NTE Network Termination Equipment
Rysunek 7. Połączenie punkt-punkt poprzez sieć ISDN
Następne dwa przykłady dotyczą sieci lokalnych LAN. Jak wiemy, są to sieci
pokrywające stosunkowo mały obszar, a więc można oczekiwać różnic co do protokołów
warstwy łącza danych w porównaniu do połączeń WAN. Podstawowa różnica dotyczy
mniejszej stopy błędów BER w porównaniu do łączy WAN oraz większych szybkości
transmisji. Sprawia to, iż błędy zdarzają się stosunkowo rzadko, a czas transmisji end-to-end
jest krótki. Pozwala to pracować w trybie bezpołączeniowym (tzw. tryb best-try). W tym
przypadku wszystkie funkcje zwiÄ…zane z wyzwalaniem retransmisji czy sterowanie
przepływem są przeniesione do warstw wyższych systemów DTE. Można tak postąpić,
ponieważ mamy bardzo niezawodną sieć transportową . W przypadku sieci WAN, sieć
transportowa ma gorsze parametry, a więc nadzór nad poprawnością i sterowanie przepływem
danych musi znajdować się już w warstwie drugiej.
Na rysunku 8 pokazana została konfiguracja sieci lokalnej opierająca się na
topologii szyny. Natomiast na rys. 9 na topologii pierścienia. W sieciach lokalnych funkcje
7
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
warstwy łącza danych pełni protokół LLC (ang. Logical Link Control), będący podklasą
HDLC.
DTE
DLP
DLP Data Link Protocol
Rysunek 8. Przykład sieci LAN szyna współdzielona (ang. shared bus).
DTE
DLP
Ring
Rysunek 9. Przykład sieci LAN topologia Ring.
W sieciach LAN warstwę łącza danych postanowiono podzielić na dwie
podwarstwy, tj. MAC i LLC, przy czym są one niezależne od siebie. Warstwa MAC (ang.
Media Access Control) definiuje i określa sposób dostępu do wspólnego medium
transmisyjnego (np. rywalizacja, token, polling, priorytety). Przykładem może być IEEE
802.3 (protokół rywalizacyjny CSMA/CD), IEEE 802.5 (token passing). Nad warstwą MAC
usytuowana jest warstwa LLC IEEE 802.2, która zapewnia połączenie logiczne w sieci LAN.
Schematycznie pokazuje to rys. 10.
LLC
802.2
Warstwa 2
modelu OSI
MAC
Rysunek 10. Podział drugiej warstwy OSI na podwarstwy.
8
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
III Podział protokołów warstwy łącza
danych
Protokoły warstwy łącza danych można podzielić na dwie grupy. Są to:
1) protokoły zorientowane znakowo i
2) protokoły zorientowane bitowo
Różnica tkwi w przesyłaniu informacji sterujących. W protokołach zorientowanych
bitowo informacje sterujące przesyłane są w polu sterującym poprzez odpowiednie ustawienia
bitów. W protokołach znakowych wysyłane są informacje sterujące w postaci specjalnych
znaków, np. znaków potwierdzenia. Zazwyczaj jest to jeden lub kilka znaków.
IV Protokoły zorientowane znakowo
(character-oriented protocols)
Protokoły zorientowane znakowo mogą pracować w łączach o niewielkich
szybkościach transmisji. Mogą być używane w różnych konfiguracjach np. punkt-punkt lub
punkt-wielopunkt.
Protokoły te dzielą się na grupy:
" simpleksowe - transmisja tylko w jednym kierunku;
" half-dupleksowe - transmisja w 2 kierunkach, ale nie jednocześnie;
" dupleksowe - transmisja w 2 kierunkach równocześnie.
Protokoły zorientowane znakowo to najczęściej typ simpleks lub half-dupleks. Protokoły
zorientowane bitowo są najczęściej dupleksowe.
Podstawowe cechy protokołów zorientowanych znakowo:
" Formatowanie danych:
1) wyznaczanie początku i końca transmisji danego bloku, przez użycie
odpowiednich znaczników;
2) sterowanie długością nadawania bloków, tak aby zminimalizować liczbę
retransmisji;
3) identyfikowanie, gdy zostaną włączone testy diagnostyczne.
" Kontrola błędów:
1) wykrycie błędów;
2) prośby o retransmisje błędnie odebranych wiadomości;
3) czuwanie nad sekwencjami przesyłanych bloków i wiadomości przez
odpowiednie ich numerowanie.
9
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
" Inicjalizacja transmisji
Polega na ustawianiu aktywnego połączenia na dostępnym sprzęcie transmisyjnym.
Ustawianie takie wymaga zwykle wymiany sekwencji identyfikujÄ…cych konkretnego
nadawcę lub odbiorcę w obecności zazwyczaj wielu innych zródeł lub obiektów
przeznaczenia informacji.
" Sterowanie przepływem
Sprowadza się do regulowania przepływu informacji poprzez łącza transmisji danych.
Umożliwia ono odbiornikowi sterowanie ilością i szybkością informacji wpływającą
do jego systemu, w celu uniknięcia przepełnienia. W zasadzie służy do akceptowania
lub odmawiania transakcji na wymianÄ™ informacji.
" ZarzÄ…dzanie Å‚Ä…czami
Ma na celu sterowanie kierunkiem przepływu informacji, ustanawianie i rozłączanie
połączeń logicznych oraz identyfikowanie, która ze stacji zamierza nadawać, a która
odbierać dane. Funkcje zarządzania łączami są zwykle umieszczone w stacji
nadrzędnej.
1) Protokoły simpleksowe
Przykładem protokołu simpleksowego jest protokół Kermit. W tym protokole jedna ze stacji
musi zadecydować, która ma odbierać. Druga nadaje. Praca protokołu została przedstawiona
na rys. 11.
Użytkownik A Użytkownik B
KERMIT º% Ä% KERMIT
CONNECT º% Ä% CONNECT
SEND ( rozmiar Ä% RECEIVE
danych i nazwa) º%
Blok danych[1] Ä%
(wysÅ‚any) º%Blok danych[1]
Blok danych[2] Ä% (odebrany)
(wysÅ‚any) º%Blok danych[2]
: (odebrany)
Blok danych[n] Ä% :
(wysÅ‚any) º%Blok danych[n]
(odebrany)
END OF FILE Ä%
º% END OF FILE
EXIT º%
º% END OF TRANS
Ä% EXIT
Nadaje Odbiera
Rysunek 11. Protokół Kermit (simpleksowy).
10
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
Przesyłane są bloki:
" send zawiera nazwę zbioru danych oraz długość,
" bloki danych (data block) właściwe dane,
" end of file koniec przesyłania pliku,
" end of transmission - koniec transmisji,
" exit aby zakończyć połączenie, ze strony odbiorczej wysyłany jest również exit,
aby potwierdzić koniec transmisji.
Jednostki danych protokołu są przesyłane w postaci ramek o następującej strukturze:
SOH LEN SEQ TYPE Właściwe dane (DATA) BCC CR
Rysunek 12. Format ramki dla protokołu Kermit.
SOH - poczÄ…tek ramki
LEN - znak, w którym określana jest długość całego bloku w znakach do BCC włącznie
SEQ - numer sekwencyjny kolejnych nadanych jednostek (modulo 64)
TYPE - typ ramki
S = Send inititation (parameters)
F = File name
D = File data
Z = Enf of file
B = End of transmission
Y = Acknowledgement (ACK)
E = Fatal Error
DATA - przesyłane dane użytkownika
BCC - bity kodu z kontrolą parzystości zastosowane dla całego bloku
CR - znacznik końca bloku (ASCII carrier return), znak sterujący do zamarkowania
końca bloku
Na rysunku 13 przedstawiona została sekwencja przesyłania ramek dla protokołu
Kermit. Na początku wysyłane są ramki, w których przesyłane są znaki informacyjne
i sterujące, między innymi o długości danych, które mają zostać przesłane oraz nazwa zbioru
danych. Następnie przesyłane są kolejno ramki z danymi użytkownika, które muszą zostać
potwierdzone ze strony odbiorczej pozytywnym potwierdzeniem ACK. Jeżeli strona
odbiorcza nie odebrała danych, lub jeżeli są błędy, to wysyłane jest negatywne potwierdzenie
NACK. W takim przypadku musi nastąpić retransmisja danych ze strony nadawczej.
Po przesłaniu całego pliku wysyłane jest end of file, a jeżeli to już koniec transmisji i żaden
inny plik nie będzie przesyłany, to wysyłany jest end of transmission. Każda przeprowadzona
akcja oczekuje na reakcję w pewnym określonym czasie, w przeciwnym wypadku mogłoby
dojść do zablokowania systemu. Czas ten określany jest po angielsku jako timeout. Jeżeli po
tym czasie stacja nadająca nie otrzyma potwierdzenia ze strony odbiorczej, to następuje
retransmisja ostatniego bloku danych. Czyli podsumowujÄ…c, do retransmisji dochodzi, gdy
odebrane zostanie negatywne potwierdzenie NACK lub gdy nie zostanie odebrane żadne
potwierdzenie. W obu przypadkach występuje retransmisja ostatniego bloku danych.
Wszystko to zostało zilustrowane na rysunku 13.
11
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
KERMIT KERMIT
Użytkownik Użytkownik
Nawiązanie Nawiązanie połączenia
Ustawianie
połączenia
parametrów
V(R)=0
V(S)=0
I[0,S, Parametry)]
V(S)=1
Ustalenie stacji
ACK[0,Y, Parametry)]
SEND (nazwa pliku) odbierajÄ…cej
V(R)=1
I[1,F, Nazwa Pliku)]
V(S)=2
ACK[1,Y]
V(R)=2
Wysłany blok 1 Odebrany blok 1
I[2,D, DATA]
V(S)=3
V(R)=3
ACK[2,Y]
I[3,D, DATA]
Wysłany blok 2 V(S)=4 Odebrany blok 2
NACK[3,N]
I[3,D, DATA]
V(R)=4
ACK[3,Y]
Wysłany blok 3 Odebrany blok 3
I[n-1,D]
Rozłączenie
ACK[n-1,Y]
I[n,B] Koniec pliku
Koniec pliku
ACK[n-1,Y]
EXIT
Koniec transmisji
EXIT
Rysunek 13. Przykładowa sekwencja przesyłanych ramek dla protokołu Kermit.
Oznaczenia
Np. I[0,D]
Numer bloku Typ przesyłanej ramki (ramka z danymi)
12
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
Metody zabezpieczania bloku
Pole BCC ramki to bity kodu z kontrolą parzystości. Generalnie wyróżnia się trzy typy
zabezpieczania bloku:
1) parzystość w pionie VRC (Vertical Redundancy Check)
2) parzystość w poziomie LRC (Longitudinal Redundancy Check)
3) kody cykliczne CRC (Cyclic Redundancy Check)
ad.1) Do każdego znaku dodawany jest 1 bit, tak aby liczba jedynek była parzysta
lub nieparzysta (w zależności od umowy). Bit ten dodaje nadajnik, sprawdza odbiornik.
ad. 2) Wprowadza siÄ™ dodatkowy znak b1 b2 b3 & & b8. Elementy b1& .. b7 tworzymy
w sposób następujący
n
bi =
"b
ij
j=1
gdzie bij - i-ty element w j-tym znaku, n - liczba znaków w bloku, a sumowanie jest modulo 2.
1 2 3 4 5 6 7 8
1 1 1 1 1
+
+
Rysunek 14. Metoda parzystości w poziomie.
Czyli jak widać bierzemy pewne bity, np. pierwszy z każdego znaku i sumujemy
modulo 2. Następnie bity drugi, trzeci itd. Następnie liczymy sumę modulo 2 z otrzymanych
wyników i zapisujemy do bitu nr 8. W ten sposób otrzymujemy specjalny znak (bit 8)
oznaczany jako BCC. Tak sprawdzamy cały blok.
ad. 3) KolejnÄ… metodÄ… sÄ… kody cykliczne. Zazwyczaj kod cykliczny zadaje siÄ™ przy pomocy
wielomianu generacyjnego, np. CRC-16:
g(x) = x16+ x15+ x2+ 1
ITU-T: g(x) = x16+ x12+ x5+ 1
13
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
Jak widać stopień wielomianu decyduje o tym, ile jest dokładanych znaków. Dla CRC 16
mamy nadmiar w wysokości 16 bitów, czyli 2 znaki.
2) Protokoły half-dupleksowe
Na kolejnych rysunkach zostały przedstawione konfiguracje: wielopunktowa
(multipoint) oraz z wieloma odnogami (multidrop).
D
L
4 przewody
P
(2 pary)
D
D
L
L
BR
P
P
Master
supervisory
DTE
D
L
P
Slave DTE
- modem
BR- punkt
rozgałęzienia
DLP- Protokół
AÄ…cza Danych
Rysunek 15. Konfiguracja wielopunktowa (multipoint).
Skrętka
Zakończenie
Linii
Master
D
LD/R
L
DTE
P
LD/R LD/R LD/R
DLP DLP DLP
Slave Slave
Slave
DTE DTE
DTE
Rysunek 16. Konfiguracja z wieloma odnogami (mulitdrop): LDR Line Driver/Receiver.
14
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
W przypadku konfiguracji wielopunktowej użytkownicy podrzędni nie widzą się. Odwrotnie
jest w przypadku konfiguracji z wieloma odnogami. Protokoły half-dupleks mogą
występować w obu konfiguracjach.
Przykładem protokołu half-dupleks jest protokół BISYNC (Binary Synchronous
Communication) - jest to protokół firmowy IBM (podobny standard ma też ANSI). Działanie
innych protokołów half-dulpex jest bardzo podobne do działania protokołu BISYNC.
W przypadku protokołu BISYNC używa się następujących znaków do sterowania
transmisjÄ…:
" SOH (Start of Heading) początek nagłówka - znak sterujący identyfikujący
początek nagłówka i całego bloku;
" STX (Start of Text) początek tekstu znak sterujący ograniczający tę część
wiadomości, która stanowi tekst; używany często do zakończenia nagłówka;
" ETX (End of Text) koniec tekstu znak sterujący używany do wyznaczenia końca
serii znaków, stanowiących tekst wiadomości;
" EOT (End of Transmission) koniec transmisji znak sterujÄ…cy oznaczajÄ…cy koniec
transmisji, która mogła się składać z dwóch lub więcej wiadomości lub awaryjne
przerwanie transmisji; zwykle powoduje zrezygnowanie z ustanowionego połączenia
(rozłączenie);
" ENQ (Enquiry) zapytanie znak sterujący używany do prośby o odpowiedz z innej
stacji lub prośby o podanie adresu (identyfikacja);
" ACK (Acknowledgment) potwierdzenie znak sterujÄ…cy stanowiÄ…cy potwierdzenie
pozytywnego odebrania bloku dla nadawcy;
" DLE (Data Link Escape) zmiana znaczenia ciągu znak sterujący, który zmienia
znaczenie ograniczonego zbioru następujących po sobie znaków;
" NAK (Negative Acknowledgment) negatywna odpowiedz (potwierdzenie) znak
sterujÄ…cy stanowiÄ…cy negatywnÄ… odpowiedz od odbiorcy, przeznaczonÄ… dla nadawcy
danego bloku;
" SYN (Synchronous Idle) synchronizacja znak sterujący używany do ustanowienia
i utrzymania synchronizacji znakowej pomiędzy nadajnikiem i odbiornikiem;
jest on często używany jako stan pusty, gdy nie są przesyłane dane;
" ETB (End of Block) koniec bloku znak sterujący, który jest używany
do oznaczenia końca bloku danych, użytych do celów sterowania komunikacją;
Znak DLE służy do zapewnienia transparentności (przezroczystości)
Transparentność umożliwia to, że sterowanie połączeniem jest całkowicie niezależne
od sposobu kodowania przesyłanych informacji. Wytłumaczymy to na przykładzie. Chcemy
aby przesyłane dane mogły być dowolną sekwencją bitów, np. niech dane mają postać znaku
ETB. Ponieważ są to dane o postaci znaku ETB, a nie koniec bloku, odbiornik musi to
właściwie zinterpretować jako dane. W tym celu wysyłana jest sekwencja DLE ETB
i odbiornik wie, że ciąg znaków ETB ma traktować jako dane a nie koniec bloku.
Tego problemu nie ma w protokołach zorientowanych bitowo, bowiem mają one ściśle
określone pole danych.
Protokół BISYNC może pracować w trybie poll lub select. Działanie w każdym z tych
trybów jest różne. Wyjaśnione to zostało na kolejnych rysunkach.
15
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
Master
BÅ‚Ä…d!
(1) (4)
Poll X Message Select Y Message
(2) (3)
Slave X Slave Y
Rysunek 17. Schemat określający poll select. Poll X zaproszenie do transmisji; Select Y Master
wysyła Select i jak Y potwierdzi gotowość do odbioru danych to wysyłane są dane.
Master DLP Slave (Y) DLP
Sekwencja Select (Y)
Sekwencja Select
NAK
Slave nie gotowy
EOT
ACK
lub Slave gotowy
Pierwszy blok danych (0)
ACK (0)
Kolejny blok danych (1)
ACK (1)
Normalny Select
Kolejny blok danych (2)
Transfer danych
NAK (0)
Kolejny blok danych (2)
ACK (0)
Ostatni blok danych (N)
ACK (0/1)
EOT
Koniec transmisji
Sekwencja Select (Y)
Szybki Select
Pierwszy blok danych (0)
Szybki Select
ACK (0)
Transfer danych
Rysunek 18. Sekwencja dla Select.
Obserwując rysunek 18 można zauważyć dodatkowy mechanizm zabezpieczający
przed naruszeniem integralności sieci. Polega on na naprzemiennym numerowaniu
potwierdzeń - 0 lub 1 (w protokołach znakowych potwierdzenia są numerowane
sekwencyjnie).
Na rysunku 18 widać również tryb Szybki Select (Fast Select). Polega on na
szybkim wybieraniu stacji podrzędnej, brak jest oczekiwania na zaakceptowanie transmisji
przez stację Slave. Dzięki temu oszczędzamy czas.
16
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
Na rysunku 19 przedstawiono sekwencjÄ™ dla trybu poll.
Master DLP Slave (X) DLP
Sekwencja Poll (X)
Sekwencja Poll
EOT
Brak danych
do wysłania
lub sÄ… dane do
Pierwszy blok danych (0)
wysłania
ACK (0)
Kolejny blok danych (1)
ACK (1)
Kolejny blok danych (2)
Transfer danych
ACK (0)
Ostatni blok danych (N)
ACK (0/1)
EOT
Koniec transmisji
Czas
Rysunek 19. Sekwencja dla poll.
Jak widać z powyższych rysunków protokół BISYNC jest prostym protokołem.
Każda z przesyłanych sekwencji składa się z ciągu znaków. Te ciągi znaków zostały
przedstawione na kolejnych rysunkach.
Adres
SYN SYN SOH Identyfikator STX Tekst ETX BCC
stacji
Pojedynczy blok wiadomości
Adres
SYN SYN SOH Identyfikator STX Tekst ETB BCC
stacji
Pierwszy blok wiadomości złożonej z wielu bloków
SYN SYN SOH Identyfikator STX Tekst ETB BCC
Blok wewnętrzny wiadomości
SYN SYN SOH Identyfikator STX Tekst ETX BCC
Blok ostatni
Identyfikator = Identyfikator zawierajÄ…cy numer bloku
Rysunek 20. Format bloków/ramek danych.
17
Sieci komputerowe I - Wykład 5 Warstwa łącza danych Protokoły zorientowane znakowo
Adres
SYN SYN EOT P/S ENQ
stacji
Sekwencja poll/select
SYN SYN ACK
Pozytywna odpowiedz select
SYN SYN NAK
Negatywna odpowiedz select
SYN SYN ACK 0/1
Pozytywne potwierdzenie dla parzystych i nieparzystych numerów ramek
SYN SYN EOT
Koniec transmisji
Rysunek 21. Format bloków/ramek nadzorczych.
18
Wyszukiwarka
Podobne podstrony:
Sieci komputerowe wyklady dr FurtakSieci komputerowe I Wykład 8PSieci komputerowe I Wykład 6Sieci komputerowe I Wykład 2PSieci komputerowe I Wykład 1PSieci komputerowe I Wykład 8Sieci komputerowe I Wyklad 4PSieci komputerowe Wyklad ACL NAT v2Sieci komputerowe I Wykład 1Sieci komputerowe I Wykład 6PSieci komputerowe I Wykład 3Sieci komputerowe I Wyklad Mosty v1Sieci komputerowe I Wyklad 3PSieci komputerowe I Wyklad 5PSieci komputerowe I Wykład 4wyklad3 Wykłady z przedmiotu Sieci komputerowe – podstawy4 Sieci komputerowe 04 11 05 2013 [tryb zgodności]Sieci komputerowe cw 1więcej podobnych podstron