pytanie 22
Scharakteryzuj problemy wymiany informacji z potwierdzeniem między urządzeniami odległymi.
<na podstawie: „Sieci LAN, MAN, WAN - protokoły komunikacyjne” by Nowicki, Woźniak>
Komunikacja z potwierdzeniam charakteryzuje się wysyłaniem przez odbiorcę powiadomienia pozytywnego (ACK) po każdorazowym poprawnym odebraniu oczekiwanej ramki. [potwierdzenie może być w formie specjalnej ramki lub może być zawarte w ramce standardowej np. jako specjalna wartość pola sterującego. Czasem stosowane jest dodatkowo negatywne potwierdzenie (nieotrzymania) (NAK).].
Problemy:
zachowanie kolejności odebranych ramek [jako, że ramki odebrane niepoprawnie (zła suma kontrolna, kod korekcyjny) lub nieodebrane muszą być transmitowane ponownie, konieczne jest zapewnienie właściwej kolejności. Wariant 1 (Stop-and-Wait): nadajnik czeka każdorazowo na potwierdzenie i dopiero wtedy wysyła kolejną ramkę. Wariant 2 (protokoly oienkowe): ramki są numerowane, wysyłane cały czas]
przeciwdziałanie zakleszczeniom (dead-lock) [Eliminowanie sytuacji gdy nadajnik nie otrzymał potwierdzenia, przez zastosowanie time-outów]
niska wydajność protokołu w Wariancie 1 [długie przestaoje spowodowane oczekiwaniem na potwierdzenie]
koniecznośc buforowania w Wariancie 2 [gdy nadajnik nie otrzymał jeszcze potwierdzenia odbioru, a już wysłał kolejne ramki, to musi nadal trzymać poprzednie, żeby móc je wysłać powtórnie jakby były błędy. Odbiornik powinien buforować ramki w sytuacji gdy wystąpił błąd, a nadajnik nie wysłał jeszcze brakującej, ale wysyłał ramki następne zanim dowiedział się o błędzie. W wersji uproszczonej odbiornik nie buforuje tylko olewa wszystko zanim nie dostanie ramki o oczekiwanym numerze.]
Ponadto [ale to chyba przesada]:
konieczność sprawdzania poprawności transmisji i generowania ramki potwierdzającej
Wariant 2 wymaga komunikacji full-duplex
pytanie 23
Opisz przykład protokółu umożliwiającego wymianę informacji z potwierdzeniem między urządzeniami odległymi.
<na podstawie: „Sieci LAN, MAN, WAN - protokoły komunikacyjne” by Nowicki, Woźniak>
Najprostszy jest protokół Stop-and-Wait (lub czasem Send-and-Wait) (powyższy Wariant 1). Ilustracja poniżej. Nadajnik wysyła ramkę F(0) i czeka aż nadejdzie potwierdzenie ACK(0). Gdy to się stanie wysyła kolejną ramkę F(1), ale tu wystąpił błąd, więc brak potwierdzenia i time-out. Wysyła więc ponownie F(1) i czeka. Tym razem błąd przesłania potwierdzenia, więc znów leci F(1). Tym razem jest OK. i dostaje potwierdzenie ACK(1).
Widać, że wystarczą tu tylko dwa rodzaje oznaczeń (numery) ramek (0 i 1).
pytanie 24
Zdefiniuj pojęcie i opisz istotę protokołu komunikacyjnego. Co to jest hierarchia protokołów komunikacyjnych?
Protokół komunikacyjny to zbiór ścisłych reguł i kroków postępowania, które są automatycznie wykonywane przez urządzenia komunikacyjne w celu nawiązania łączności i wymiany danych.
<na podstawie „http://pl.wikipedia.org”>
Istotą protokołu komunikacyjnego jest zapewnienie reguł umożliwiających wymianę informacji, komunikatów. Zazwyczaj połączenia z wykorzystaniem protokołów odbywają się automatycznie, przez co użytkownik nie musi nawet wiedzieć o ich działaniu.
Hierarchia protokołów komunikacyjnych, to struktura warstowa, która dzieli proces komunikacji na kolejne funkcje. Dzięki takiej organizacji możliwe jest ograniczenie złożoności sieci i umożliwienie komunikacji różnorodnego sprzętu. W strukturze hierarchicznej warstwy niższe świadczą usługi warstwom wyższym. Proces wysyłania, to zrealizowanie kolejno funkcji od najwyższej do najniższej, a odbioru odwrotnie.
Najpopularnijeszy jest model 7-mio wartswowy IOS-OSI, ale stosowane są również prostsze modele np. 4 warstwowy.
pytanie 25
Na czym polega standaryzacja bloków funkcjonalnych systemów mikrokomputerowych? Podaj przykłady.
Standaryzacja bloków funkcjonalnych, to nałożenie pewnych reguł według, których takie bloki współpracują w obrębie jednego systemu mikrokomputerowego.
Warunki takiej współpracy można rozpatrywać na kilku płaszczyznach i tak np.:
wartości napięć odniesienia (technologia TTL)
posługiwanie się znanymi i dostępnymi sygnałami, komunikatami (np. linia BUSY, CLK, READY, INT)
pytanie 26
Zdefiniuj pojęcie magistrali oraz wymień zadania bloków funkcjonalnych (powiązanych z warstwami protokołu komunikacyjnego) układu sprzęgającego wymiennik z magistralą.
Magistrala to wspólne łącze umożliwiające wymianę informacji pomiędzy sprzęgniętym z nim szeregiem urządzeń.
Zadania bloków funkcjonalnych:
---------- magistrala -----------
/\
\/
układ sprzęgający elektronicznie, mechanicznie (wartstwa fizyczna)
/\
\/
układ sterujący wymianą informacji (wartstwa sterowania łączem)
/\
\/
układ sprzęgający użytkownika (warstwa użytkownika)
|
|
urządzenie
pytanie 27
Co nazywamy przekazaniem magistrali? Jakie problemy za sobą pociąga?
Przekazanie magistrali to udostępnienie jej konkretnemu nadajnikowi. W czasie gdy magistrala jest przekazana mogą pojawiać się na niej wyłącznie informacje na potrzeby komunikacji z wybranym nadajnikiem, a więc dla pozostałych urządzeń jest ona niedostępna.
Rozważane były dwa rodzaje przydziału magistrali:
przydział w funkcji czasu
Magistralę przydziela się kolejno każdemu urządzeniu niezależnie od tego czy chce ono z magistrali skorzystać czy też nie. Zaleta: proste reguły.
Problem: strata czasu gdy urządzenie, któremy przydzielono magistralę nic nie transmituje.
przydział w funkcji zapotrzebowania
Magistralę przekazuje się tym urządzeniom, które chcą z niej skorzystać. Rozwiązanie efektywniejsze, ale realizacja trudniejsza.
Problemy ogólnie:
konieczność informowania o tym, że magistrala została przekazana lub uniemożliwienie dostępu do niej urządzeniom niepożądanym
pozostałe urządzenia nie mogą się komunikować gdy magistrala jest przekazana
przekazanie magistrali musi odbywać się według jakiegoś klucza - arbiter magistrali
monopolizacja dostępu i arbitraż sprawiają, że konieczne jest zapewnienie poprawności danych (uniemożliwienie zaistnienia sytuacji, że coś odczyta nieaktulane dane, bo coś innego nie zakończyło jeszcze pisania) - dwa rozwiązania: sprzętowe (sygnał LOCK informuje, że trwa niepodzielna faza zapisu we wspólnej części); programowe - dane, które nie są jeszcze w pełni aktualne są odpowiednio oznaczone.