Badanie protokolu HDLC
Transkrypt
Badanie protokolu HDLC
Politechnika Warszawska Wydział Elektroniki I Technik Informacyjnych Instytut Telekomunikacji Podstawy Telekomunikacji laboratorium Ćwiczenie 2 BADANIE PROTOKOŁU HDLC semestr letni 2007/8 BADANIE PROTOKOŁU HDLC 1. Systemy ARQ (Automatic Repeat Request) Z punktu widzenia użytkownika systemu transmisji danych, najważniejsze są jego dwa parametry: szybkość transmisji i wierność odbieranych danych. Z pomocą w rozwiązaniu tego problemu przychodzi kodowanie nadmiarowe czyli dopisywanie do bitów informacyjnych, w pewien kontrolowany sposób (zależny od rodzaju kodu) dodatkowych (nadmiarowych) bitów. W odbiorniku, bity nadmiarowe mogą zostać wykorzystane do detekcji błędów albo do korekcji błędów (system FEC - Forward Error Correction). Ponieważ systemy kodowanie korekcyjne nie gwarantuje uzykanie zerowej liczby błędów na wyjściu odbiornika, w systemach przeznaczonych do przesyłania danych stosuje się wykrywanie błędów połączone z retransmisją błędnych bloków czyli system ARQ. Wykrywanie błędów polega na sprawdzeniu, czy została zachowana reguła, według której dopisano w nadajniku nadmiarowe bity (na podstawie odebranych bitów informacyjnych ponownie wylicza się bity nadmiarowe, a następnie porównuje je z odebranymi). Istnieją trzy warianty systemu ARQ: stop-and-wait (SAW), go-back-N (GBN) oraz selective repeat (SR). W najprostszej metodzie SAW (czasami nazywanej również unnumbered ARQ), po wysłaniu bloku, nadajnik czeka na odpowiedź od odbiornika. W przypadku odebrania potwierdzenia (ACK) przesyłany jest kolejny blok, jeżeli zostanie odebrane negatywne potwierdzenie (NACK) - był błąd, blok jest ponownie transmitowany. Jest to metoda nadająca się dla systemów pracujących w pół-dupleksie. W metodzie GBN nadajnik wysyła ponumerowane bloki w sposób ciągły, a kanałem zwrotnym odbiera potwierdzenia. Nadajnik powtarza blok błędny oraz wszystkie wysłane po nim bloki. W ostatniej metodzie SR, opartej również na transmisji ciągłej, powiadomienie nadajnika o błędnym bloku oznacza powtórzenie wyłącznie tego bloku. We wszystkich stosowanych w praktyce systemach ARQ, jako kod nadmiarowy, wykorzystuje się blokowe kody cykliczne. Reguła kodowania polega tu na dzieleniu bloku danych przez pewien wielomian charakterystyczny dla danego kodu (tzw. wielomian generacyjny kodu) i dopisywanie jako bitów nadmiarowych - reszty uzyskanej z tej operacji. Istnieje wiele kodów cyklicznych, będących międzynarodowymi standardami, na przykład: CRC-16 (ITU-T) g(x) = x16 + x12 + x5 + 1 16 15 2 CRC-16 (ANSI) g(x) = x + x + x + 1 2. Krótki opis protokołu HDLC Większość protokołów stosowanych w telekomunikacji to wersje protokołu HDLC (HighLevel Data-Link Control). Ramka w protokole HDLC składa się z pól: flaga początkowa (F), adres (A), kontrola (C), pole z bitami informacyjnymi (I), bity nadmiarowe (FCS) oraz flaga końcowa (F). Flagi początkowa i końcowa to 8-bitowy ciąg 01111110 ograniczający całą ramkę. Aby zapobiec przesłaniu takiego ciągu wewnątrz ramki, nadajnik po każdym ciągu pięciu 1 dostawia dodatkowe 0, które jest usuwane w odbiorniku. Pola adresowe i kontrolne mają z reguły po 8 bitów, chociaż istnieje możliwość rozszerzenia każdego z nich o kolejny bajt. Pole kontrolne służy do numeracji kolejnych ramek, a także zawiera informacje dotyczące potwierdzania odebranych bloków. Pole infoermacyjne może zawierać dowolną liczbę bitów (niekoniecznie podzielną przez 8). Pole FCS tworzy reszta z dzielenia bloku: pole adresowe, kontrolne i informacyjne przez wielomian CRC-16 (ITU-T) i ma długość 16 bitów. W protokole HDLC rozróżniamy trzy rodzaje ramek: informacyjne - zawierające pole informacyjne i służące do przesyłania danych, zarządzające (nadzorcze) - wykorzystywane do kontroli transmisji oraz nienumerowane - służące do nawiązania połączenia, ustalenia parametrów protokołu oraz rozłączenia transmisji. Istnieją cztery ramki nadzorcze: Receive ready (RR), Receive not ready (RNR), Reject (REJ) i Selective reject (SREJ). Para ramek RR i RNR steruje przepływem danych - odbiornik, który nie może odbierać więcej bloków informuje nadajnik ramką RNR, natomiast możliwość wznowienia transmisji jest sygnalizowana ramką RR. Natomiast ramki REJ i SREJ umożliwiają zorganizowanie protokołu ARQ, realizację odpowiednio metody go-back-N i Selective repeat. 3. Efektywność systemu ARQ Z punktu widzenia użytkownika, jakość systemu ARQ charakteryzuje parametr zwany efektywnością lub sprawnością systemu. Liczony jest on, jako stosunek liczby odebranych bitów informacyjnych do liczby wszystkich możliwych do przesłąnia bitów czyli jako stosunek szybkości efektywnej (szybkości transmisji z punktu widzenia użytkownika końcowego) do fizycznej szybkości w kanale. Przykładowo, efektywność wynosząca 0.5 oznacza, że jeżeli w kanale przesyłamy dane z szybkością 64 kbit/s, to dla użytkownik system widziany jest jakby pracował jedynie z połową szybkości czyli 32 kbit/s. Efektywność systemu ARQ zależy od jakości kanału, długości pojedynczego bloku oraz od wybranej metody ARQ. 4. Przebieg laboratorium 1. Dla kilku długości ramki informacyjnej ( na przykład 100, 500, 800, 1000, 2000, 5000 i 8000) zmierz i narysuj charakterystyki obrazujące zależność efektywności metod: a. SAW b. GBN c. SR od jakości kanału. 2. Pokaż na wykresach maksymalne uzyskane efektywności w zależności od jakości kanału (dla wszystkich metod). 3. Dla każdego Pe znajdź optymalne długości bloków pozwalające uzyskać największą efektywność systemu. Otrzymane wyniki skomentuj. 4. Zaproponuj najlepszy system dla transmisji kablowej oraz radiowej (metoda ARQ oraz długość ramki).