background image

 

 

Warstwa łącza danych

background image

 

 

Plan prezentacji

Rozległe i lokalne sieci 
komputerowe

Funkcje warstwy łącza danych

Formatowanie ramek

Detekcja błędów

Błędy ramkowania

Protokoły warstwy łącza danych

background image

 

 

Sieci rozległe i lokalne

Rozległe sieci komputerowe (Wide Area 

Network) – zbiory autonomicznych 

komputerów i urządzeń końcowych 

połączonych podsiecią komunikacyjną.

Najważniejsze standardy w sieciach 

dotyczą:

mediów komunikacyjnych (łącza, modemy, 

kodeki, itd.),

styków sprzętowych (interfejsów fizycznych),

protokołów warstwy łącza danych,

architektur sieciowych.

background image

 

 

Sieci rozległe i lokalne - różnice

opóźnienia propagacyjne: 

większe w sieciach rozległych,

prędkość transmisji:

niższe w sieciach rozległych,

częstość występowania błędów,

większa w sieciach rozległych,

niezawodność,

mniejsza w sieciach rozległych,

etapowość transmisji,

wieloetapowość w sieciach rozległych,

koszty transmisji:

zmienne i zależne od wolumenu wiadomości w sieciach rozległych,

tryb transmisji:

punkt – punkt w sieciach rozległych; rozgłoszenie w lokalnych

background image

 

 

Warstwa łącza danych
(Data Link Layer)

zbiór mechanizmów pozwalających na  

niezawodną transmisję pakietów w 

kanale transmisyjnym:

ramkowanie (Framing):

ustalenie początku i końca pakietu,

detekcja błędów (Error Detection):

ustalenie kiedy pakiet zawiera błąd,

naprawa (korekcja) błędów (Error Recovery)

naprawa w warstwie łącza danych,

naprawa w warstwach wyższych

background image

 

 

Ramkowanie

0101000111000111010100001111101001001010100

- gdzie są dane?

- trzy podejścia do zadania:

- transmisja zorientowana znakowo (character oriented framing),

- zliczanie bitów (kontrola długości) – stała długość ramki,

- protokoły zorientowane bitowo (bit oriented protocols)

background image

 

 

Transmisja zorientowana 
znakowo

SYN   SYN   STX   NAGŁÓWEK      PAKIET      ETX   CRC   SYN   SYN

synchronizacja

synchronizacja

Start of TeXt

End of TeXt

Cyclic Redundancy Check

ramka

- standardy kodów (ASCII, EBCDIC) zawierają specjalne znaki dla potrzeb
komunikacji (nie mogą występować jako dane),

- rozpoczęcie i zakończenie transmisji bazuje na znakach kodu,

- długość ramki jest wielokrotnością długości znaku,

- transmisja zależy od kodu,

- problemy z transmisją danych binarnych

background image

 

 

Zliczanie bitów

- jedno z pól nagłówka jest wykorzystywane do zapisania długości ramki 
(w bajtach lub bitach),

- odbiornik zlicza bity aż do końca ramki po to, aby zidentyfikować
początek kolejnej ramki,
- odbiornik odczytuje odpowiednie pole nagłówka kolejnego pakietu
w celu znalezienia długości pakietu,

- długość pola nagłówka do zapisywania długości ramki zależy od długości
ramki,


- ograniczona długość nagłówka (długość pola nagłówka vs. długość 
pakietu,

- problemy:

- trudności z ochroną przed błędami,

- niezbędna jest resynchronizacja po tym, jak wystąpi błąd w zliczaniu 
bitów

1

log

max

2

l

background image

 

 

Jednostki danych o stałej 
długości

- np. komórki ATM (Asynchronous Transfer Mode):

- każda komórka ma stałą długość – 53 bajty,

- problemy z transmisją:

- długości pakietów (np. IP over ATM) nie są wielokrotnością długości 
komórek (konieczność uzupełniania końcówek pakietów),

- synchronizacja,

- złożone zadania segmentacji (segmentation) i składania pakietów
(re-assembly) przy dużych szybkościach transmisji.

background image

 

 

Protokoły zorientowane bitowo 
(flagi)

- flaga – unikalny ciąg bitów do wskazywania początku i końca ramki (pakietu, itd.),

- jedna flaga może być używana do oznaczenia zarówno początku, jak i końca
jednostki danych,

- jako flaga może być użyty dowolny ciąg bitów, ale taki który nie wystąpi w ciągu
danych,

- standardowe protokoły wykorzystują:

- jako flagę ciąg binarny: 01111110,

- ciąg „jedynek binarnych” wykorzystywany jest dla oznaczenia stanu jałowego,

- przykłady użycia - protokoły:

- SDLC (Synchronous Data Link Control), 

- HDLC (High Data level Link Control procedure),

background image

 

 

Wtrącanie i wytrącanie bitów

- przykładowy ciąg danych binarnych (oryginalna wiadomość):

111111100010110100011111111111110000011010101000111110

- „0” jest w nadajniku „wtrącane” (stuffing) po każdych pięciu kolejnych „1”:

         0                                    0        0                                              0
111111100010110100011111111111110000011010101000111110

- potrzeba „wtrącania” „0” po wystąpieniu ciągu: 0111110:

0111110111   - bez „wtrącania”  0111110111

011111111

- po „wtrąceniu”

0111110111

background image

 

 

Wtrącanie i wytrącanie bitów

- reguła w odbiorniku:

- jeżeli „0” poprzedzone jest ciągiem „011111”, to „0” jest usuwane,

- jeżeli „0” jest poprzedzone ciągiem „0111111”, to jest to ostatni bit flagi,
 

optymalna długość flagi:

- jeżeli pakiety są długie, to lepsze są długie flagi (zmniejszana liczba
niezbędnych „wtrąceń”),

- jeżeli pakiety są krótkie, to krótkie flagi redukują nadmiarowość 
wprowadzaną przez konieczne (do transmisji) flagi,

-optymalna długość flagi:
 

)

_

(

log

2

pakietu

dlugosc

f

opt

background image

 

 

Błędy ramkowania - 
podsumowanie

wszystkie techniki ramkowania są wrażliwe na błędy:

błąd w polu długości pakietu (w nagłówku) może doprowadzić 

do zakończenia zliczania w złym miejscu, co z kolei powoduje 

błędy w identyfikacji pola długości kolejnego pakietu,

błędy w znakach STX, ETX, itd. powoduje podobne – jak wyżej – 

konsekwencje,

błąd we fladze, lub „wykreowanie” flagi przez wystąpienie błędu 

może powodować stratę ramki, lub pojawienie się nowej,

najmniej wrażliwą na błędy jest transmisja zorientowana 

bitowo:

wcześniej, czy później pojawi się flaga kończąca kolejny pakiet,

wystąpienie błędu powoduje - w najgorszym przypadku - 

powstanie błędnego pakietu,

błędny pakiet jest eliminowany przez odpowiednią, użytą 

technikę detekcji błędów,


Document Outline