Protokoły w sieciach teleinformatycznych.doc

(820 KB) Pobierz
Socha Łukasz

Socha Łukasz

Majcherkiewicz Marcin

Moryl Grzegorz

 

Elektronika i telekomunikacja, II rok, gr. IV

 

 

 

 

 

 

 

 

 

 

 

Protokoły w sieciach teleinformatycznych

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

wersja HTML http://student.uci.agh.edu.pl/~fenix


1. Wstęp

 

   W procesach komunikacyjnych niezbędne są procedury zwane protokołami, które umożliwiają prawidłowy przebieg tych procesów – bez błędów lub przerw. W sieciach teleinformatycznych wszystkie operacje są kontrolowane właśnie przez protokoły, które „rezydują” wewnątrz nadajników i odbiorników podłączonych do sieci.

Protokół jest regułą, niezbędnikiem w procesie wzajemnej komunikacji, na którą muszą się zgodzić użytkownicy. Zawiłość i stopień skomplikowania protokołu jest zależny min. od błędów wprowadzanych do sieci przez interferencje i zniekształcenia. Wszystkie informacje transmitowane w systemach telekomunikacyjnych są narażone na błędy i jakieś mechanizmy muszą temu przeciwdziałać.

    Można posłużyć się przykładem rozmawiających ludzi. W czasie rozmowy przyjmują nawzajem pewną konwencję, która daje każdemu uczestnikowi możliwość mówienia oraz słuchania - w momencie gdy wypowiada się inna osoba. Sieć teleinformatyczna musi umożliwiać właśnie taką konwersację między użytkownikami. W telekomunikacji taka konwencja nazywa się właśnie protokołem.

    Podstawowym zadaniem protokołu jest identyfikacja procesu, z którym chce się komunikować proces bazowy. Aby było to możliwe konieczne jest podanie sposobu określania właściwego adresata, sposobu rozpoczynania i kończenia transmisji, a także sposobu przesyłania danych.

    Ludzki mózg jest szczególnie doskonały w rozumieniu zniekształconej mowy, np. rozważając typową linię telefoniczną, ale bardziej istotne jest jak szybko potrafi zaadoptować się do nieprzewidywalnych sytuacji, np. załamania psychicznego rozmówcy. Procesory, które magazynują protokoły w sieci są znacznie mniej elastyczne, dlatego prawidłowa odpowiedź na każde możliwe zdarzenie, znane lub jeszcze nieznane, musi być predefiniowana w dobrze opracowanym protokole.

Niestety, w czasie gdy protokoły mogą być używane do zmniejszenia problemów z uszkodzonymi pakietami danych w sieci, to jeszcze powodują znaczący problem niedopasowania. Nie ma jednego protokołu, są ich dziesiątki. Nie jest możliwe wzajemne ich współpracowanie, dopóki nie będzie dostarczony jakiś interfejs ich wzajemnego przekazywania. Ten interfejs jest rdzeniem sieci. Różne typy interfejsów mogą być używane do łączenia różnych protokołów, niezależnie od ich aktualnych różnic funkcjonalnych oraz sposobów implementacji.

 

 

 

2. Standaryzacja protokołów

 

Relacje pomiędzy formalnymi organizacjami tworzącymi standardy w systemach telekomunikacyjnych i informatycznych rozwijały się dość powoli, i polegały głównie na wymianie ich własnych standardów. Schematyczna reprezentacja współczesnych powiązań pomiędzy organizacjami pokazana jest na rys. 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

International Organization for Standardization (ISO) jest organizacją odpowiedzialną za koordynowanie produkcji standardów użytkowych z wielu dziedzin życia. Ta organizacja jest także aktywna na polu usług informatycznych (Technical Committee – TC97) i jest odpowiedzialna min. za standard OSI/RM i wiele innych.

    TC97 jest wspierana przez regionalne organizacje i reprezentowana przez narodowe organizacje standaryzacyjne. W Wielkiej Brytanii to jest British Standards Institution (BSI). Inne organizacje wspierające to np. European Computer Manufacturers Association (ECMA).

    United Nations (UN) jest ciałem któremu podlega International Telecomunications Union (ITU). ITU składa się z różnych podorganizacji, trzy z nich to International Radio Consultative Committee (CCIR), CCITT oraz World Administrative Radio Conference (WARC). CCIR jest odpowiedzialna za rezerwacje wspólnych standardów wyposażenia telekomunikacyjnego pomiędzy dostawcami, podczas gdy CCITT zajmuje się zaleceniami w sprawach sieci teleinformatycznych, sieci telefonicznych, standardów cyfrowych i terminali. WARC zajmuje się rezerwacją pasma radiowego dla poszczególnych operatorów na świecie, zapewniając ich wzajemną kompatybilność i bezkolizyjność.

    CCITT jest przedstawicielem ISO (oraz vice versa), dla państwowych operatorów jak PTTs oraz prywatnych firm, jak AT&T. Wynikiem tych międzynarodowych powiązań są setki mniejszych organizacji zajmujących się specjalnymi dziedzinami telekomunikacji, jak np. IEEE.  W Europie organizacja zwana Central European Commision (CEC) staje się bardziej powszechna jeśli chodzi o standardy unifikacyjne w Europie, skutkiem tego są zalecenia CEN/CENELEC. Większość szczegółowych badań standaryzacyjnych w Europie jest kontrolowanych przez European Telecomunications Standards Institute (ETSI), która to dostarcza informacje do  do CEC i utrzymuje kontakty z innymi organizacjami standaryzacyjnymi w spokrewnionych dziedzinach.

    Na jednym z ostatnich forum ITU, zaanonsowano zmiany odnośnie nazw i odpowiedzialności dla CCITT i CCIR. Zakres działalności tych organizacji pozostał z grubsza bez zmian, ale zmieniono ich nazwy. CCITT nazywa się obecnie ITU-T a CCIR ITU-R. Określono także schemat działania tych organizacji na kolejne kilka lat.

    Wiele szczegółowych analiz i standardów było i jest opracowywanych w małych grupach badawczych składających się z indywidualnych prac pod kierunkiem profesjonalnych organizacji. Trzy z wielu ważnych organizacji zajmujących się przekazywaniem danych w sieciach teleinformatycznych to Institute of Electrical and Electronics Engineers (IEEE)- odpowiedzialny za standardy w sieciach LAN, US National Institute of Standards and Technology (NIST) oraz Electronic Industries Association (EIA) – np. zajmujący się standardem RS-232. Prace tych instytucji są zazwyczaj prezentowane formalnym organizacjom standaryzacyjnym, które tworzą szkic standardu międzynarodowego, który z kolei otwiera proces jego formalnej ratyfikacji.

 

 

 

 

3. Typy protokołów

 

Obecnie używanych jest wiele typów protokołów i generalnie mogą być one sklasyfikowane na podstawie ich funkcji. Najbardziej ogólna klasyfikacja mogłaby wyglądać np. tak:

·         protokoły typu „master/slave” oraz „peer-to-peer”- typ master/slave wymaga, żeby jedna strona węzła telekomunikacyjnego działała jako kontroler. To wymaga odpowiedniego kontrolowania połączenia telekomunikacyjnego i transferu danych pomiędzy węzłami. Typ peer-to-peer nie wymaga żadnego kontrolera, więc węzły komunikacyjne mogą transmitować informacje kiedy sobie tego życzą.

·         protokoły typu bezpołączeniowego („connectionless”), zorientowane połączeniowo oraz „send-and-pray” i „remote procedural call”- RPC – te protokoły odzwierciedlają sposoby na które informacja może być przekazywana między użytkownikami, uwzględniając różnice wynikające z różnych stopni niezawodności przekazu informacji.

·         synchroniczne i asynchroniczne protokoły – w asynchronicznych protokołach dane są przekazywane bit po bicie, ze zmiennym opóźnieniem pomiędzy przekazem każdego bitu. W synchronicznych protokołach mamy do czynienia z ciągłym wysyłaniem strumienia bitów z częstotliwością zależną od fizycznego typu sieci. W obu systemach nadajniki i odbiorniki są asynchroniczne względem siebie, ponieważ nie ma wspólnego zegara taktującego.

·         warstwowe i monolityczne protokoły – nowoczesne architektury protokołów używają warstwowania do konstrukcji pełnych systemów. Warstwowanie jest procesem, w którym poszczególne protokoły są tj. poukładane w stosy i tak są transportowane do wspólnego celu, oraz różne stosy są używane przez różne serwisy telekomunikacyjne. Monolityczne podejście jest efektywne w pojedynczej warstwie.

·         ciężkie i lekkie protokoły – protokoły które dostarczają bardzo szeroki zakres funkcji są zazwyczaj nazywane „ciężkimi”, stosownie do dużych nakładów czasowych potrzebnych do ich przetworzenia przez system. Przeciwnie „lekkie” protokoły- nie wymagają dużo czasu potrzebnego do ich przetworzenia, ale również są mniej funkcjonalne od poprzednich.

 

To było bardzo ogólne scharakteryzowanie typów protokołów, jednak bez dokładnego odwołania się do poszczególnych nazw protokołów lub ich standardów nie można znaleźć jakiejś wspólnej terminologii pozwalającej jednoznacznie opisać protkół.

 

 

3.1. Transfer danych z użyciem protokołów

 

Dane zawsze będą podatne na uszkodzenia czy zniekształcenia w trakcie ich fizycznego przesyłania. Liczba błędów na sekundę będzie zależna od jakości kanału przesyłowego i otaczającego środowiska. Sieci o dużej niezawodności, takie w których prawdopodobieństwo wystąpienia błędu jest na poziomie 10-9 i niższej, zazwyczaj używają systemów wykrywania błędów kierowanych specjalnymi algorytmami określanymi jako „wsteczna korekcja błędów” – BEC (ang. Backward Error Correction). W przypadku, gdy poziom błędów jest wysoki, wyższy niż 10-5, wówczas jakaś forma „bieżącej korekcji błędów” – FEC (ang. Forward Error Correction) jest używana do korekcji danych bez uciekania się do retransmisji danych.

Protokół jest odpowiedzialny za retransmisje danych. Retransmisja może być spowodowana otrzymaniem negatywnego potwierdzenia odbioru (NAK) z odbiornika, albo upłynięciem limitu czasu oczekiwania na potwierdzenie. Protokoły używane do retransmisji danych zależą od jakości kanału przesyłowego, ale można je próbować sklasyfikować jako:

 

·         protokoły „stop-and-wait” - w tym typie protokołu każdy kolejny pakiet może być wysłany dopiero w przypadku otrzymania potwierdzenia prawidłowego odbioru poprzedniego pakietu. Jeżeli potwierdzenie odbioru jest negatywne (NAK)-  tak jest w przypadku uszkodzenia wysyłanych danych- lub jeśli upłynął limit czasu, inicjator połączenia retransmituje poprzedni pakiet i nie jest upoważniony do wysłania kolejnego, dopóki odbiorca nie dostarczy potwierdzenia prawidłowego odbioru. Schemat działania tego typu protokołów przedstawia rys. 2. Na rysunku pakiety 1 i 2 zostały przesłane pomyślnie- otrzymano pozytywne potwierdzenie odbioru. Pakiet 3 uległ uszkodzeniu, więc zwrotny sygnał NAK zmusza inicjatora połączenia do retransmisji tego pakietu. Druga próba zakończyła się sukcesem. Warto zauważyć, że tylko jeden błędnie przesłany pakiet wstrzymuje wysyłanie kolejnych, ten protokół nie należy więc do szybkich.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

·         protokoły „go-and-back” – są pewną formą protokołów „przesuwnych okien” (sliding window protocol- SWP), inicjator połączenia transmituje wszystkie dane pasujące do przyjętego rozmiaru okna. Rozmiar okna jest maksymalną liczbą możliwych  wysłanych pakietów, zanim dotrze potwierdzenie odbioru. Po wysłaniu całego okna, inicjator czeka na potwierdzenie, zanim następne „okno” zostanie wysłane. W przypadku otrzymania negatywnego potwierdzenia odbioru (NAK) jakiegoś pakietu,  jest on retransmitowany i wszystkie kolejne aż do ostatniego w danym oknie. Schemat działania tego protokołu przedstawiony jest na rys. 3. Pakiety od 1 do 3 zostały pomyślnie dostarczone, inicjator wysyła więc dalsze pakiety – 4, 5, 6, 7. Jednak 5 pakiet został uszkodzony, więc zwrotny sygnał NAK nakazuje retransmisje pakietów 5, 6 i 7. Można zauważyć, że pakiety 6 i 7 mogły zostać poprawnie przesłane już w pierwszej próbie, jednak protokół ten nie uwzględnia tej możliwości.

·         protokoły selektywnego powtarzania- jest to modyfikacja protokołów „stop-and-wait”, w których retransmitowane są tylko te pakiety, które uległy uszkodzeniu.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Model warstwowy protokołów

 

  Model warstwowy (rys. 4), w którym każda warstwa posługuje się własnym protokołem znacznie upraszcza projektowanie niezwykle skomplikowanego procesu komunikacji sieciowej. Muszą jednak jasno zostać zdefiniowane zasady współpracy tych protokołów. Warstwowy model OSI stanowi przykład takiego opisu, będąc w istocie "protokołem komunikacji między protokołami".

 

    Model OSI stworzony został przez organizację International Organization for Standardization (ISO). Jest on zbiorem zasad komunikowania się urządzeń sieciowych. Podzielony jest na siedem warstw, z których każda zbudowana jest na bazie warstwy poprzedniej. Model ten nie określa fizycznej budowy poszczególnych warstw, a koncentruje się na sposobach ich współpracy. Takie podejście do problemu sprawia, że każda warstwa może być implementowana przez producenta na swój sposób, a urządzenia sieciowe od różnych dostawców będą poprawnie współpracować. Poszczególne warstwy sieci stanowią niezależne całości i chociaż nie potrafią wykonywać żadnych widocznych zadań w odosobnieniu od pozostałych warstw, to z programistycznego punktu widzenia są one odrębnymi poziomami.

 

Komunikacja pomiędzy komputerami odbywa się na poziomie odpowiadających sobie warstw i dla każdej z nich powinien zostać stworzony własny protokół komunikacyjny. W rzeczywistej sieci komputerowej komunikacja odbywa wyłącznie się na poziomie warstwy fizycznej. W tym celu informacja każdorazowo przekazywana jest do sąsiedniej niższej warstwy aż do dotarcia do warstwy fizycznej.
Tak więc pomiędzy wszystkimi warstwami z wyjątkiem fizycznej istnieje komunikacja wirtualna, możliwa dzięki istnieniu połączenia fizycznego.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.1 Zadania warstw

 

·         Warstwa fizyczna - odpowiada za transmisje sygnałów w sieci. Realizuje ona konwersje bitów informacji na sygnały, które będą przesyłane w kanale z uwzględnieniem maksymalizacji niezawodności przesyłu. W warstwie fizycznej określa się parametry amplitudowe i czasowe przesyłanego sygnału, fizyczny kształt i rozmiar łączy, znaczenie ich poszczególnych zestyków i wartości napięć na nich występujących, sposoby nawiązywania połączenia i jego rozłączania po zakończeniu transmisji.

·         Warstwa łącza danych - odpowiedzialna jest za odbiór i konwersję strumienia bitów pochodzących z urządzeń transmisyjnych w taki sposób, aby nie zawierały one błędów. Warstwa ta postrzega dane jako grupy bitów zwane ramkami. Warstwa łącza danych tworzy i rozpoznaje granice ramki. Ramka tworzona jest przez dołączenie do jej początku i końca grupy specjalnych bitów. Kolejnym zadaniem warstwy jest eliminacja zakłóceń, powstałych w trakcie transmisji informacji po kanale łączności. Ramki, które zostały przekazane niepoprawnie, są przesyłane ponownie. Ponadto warstwa łącza danych zapewnia synchronizację szybkości przesyłania danych oraz umożliwia ich przesyłanie w obu kierunkach.

·         Warstwa sieciowa - steruje działaniem podsieci transportowej. Jej podstawowe zadania to przesyłanie danych pomiędzy węzłami sieci wraz z wyznaczaniem trasy przesyłu, określanie charakterystyk sprzęgu węzeł-komputer obliczeniowy, łączenie bloków informacji w ramki na czas ich przesyłania a następnie stosowny ich podział. W najprostszym przypadku określanie drogi transmisji pakietu informacji odbywa się w oparciu o stałe tablice opisane w sieci. Istnieje również możliwość dynamicznego określania trasy na bazie bieżących obciążeń linii łączności. Stosując drugie rozwiązanie mamy możliwość uniknięcia przeciążeń sieci na trasach, na których pokrywają się drogi wielu pakietów.

...

Zgłoś jeśli naruszono regulamin