William Stallings Data and Computer Communications
Rozdział 2
Protokoły i architektura
Charakterystyki
Bezpośrednie lub pośrednie Monolityczne lub złożone
Symetryczne lub asymetryczne Standardowe lub niestandardowe
Bezpośrednie lub pośrednie
Bezpośrednie
Połączenie punkt-punkt między systemami Połączenie punkt-wielopunkt między systemami Dane transmitowane są bez udziału „osób trzecich”
Pośrednie
Sieci przełączane Intersieci lub internet
Dane transmitowane są z udziałem „pomocników”
Monolityczne lub złożone
Komunikacja to złożony problem Zbyt złożony dla jednej jednostki
Problem „rozkładany” jest na wiele drobnych części
Struktura warstwowa
Symetryczne lub asymetryczne
Symetryczne
Komunikacja pomiędzy równouprawnionymi węzłami Asymetryczne
Struktura klient-serwer
Standardowe lub niestandardowe
Niestandardowe protokoły budowane są dla specyficznych zadań i komputerów
K źródeł i L odbiorników prowadzi do K*L protokołów i 2*K*L ich implementacji
Jeśli już używany jest jeden protokół, na ogół problem wymaga K+L implementacji
Użytek z standardowych protokołów
Funkcje
Enkapsulacja
Podział i składanie (segmentacja) Kontrola połączenia
Transmisja „po kolei”
Kontrola przepływu Kontrola poprawności Adresowanie
Multiplexing
Usługi transportowe
Enkapsulacja
Dodawanie informacji kontrolnych do przesyłanych danych
Adresowanie Korekcja błędów Dane kontrolne protokołu
Segmentacja (fragmentacja)
Bloki danych są określonego rozmiaru
Wiadomości w warstwie aplikacji mogą być większe Pakiety sieciowe magą być mniejsze
Dzielenie dużych bloków danych na mniejsze to segmentacja (fragmentacja w TCP/IP)
Bloki danych w ATM (komórki) mają długość 53 oktetów Bloki danych w Ethernecie (ramki) mają długość do 1526 oktetów
Punkty kontrolne, wznawianie i wydobywanie się z błędu
Po co fragmentować?
Zalety
Bardziej wydajna kontrola błędów
Lepsze do dalszego pakowania w warstwie sieciowej Mniejsze opóźnienia
Nie potrzeba dużych buforów
Wady Narzuty
Zwiększona ilość przerwań w punkcie odbiorczym Wymaga większej ilości przetwarzania
Kontrola połączenia
Nawiązanie połączenia Transfer danych
Zakończenie połączenia
Dodatkowo przerywanie połączenia i jego ponowne nawiązywanie
Numery sekwencyjne używane do:
Dostawy „po kolei”
Kontroli przepływu Kontroli błędów
Transfer danych połączeniowo
Dostawa „po kolei”
Poszczególne PDU mogą docierać do odbiornika różnymi drogami
PDU mogą docierać w nieprawidłowej kolejności Numery sekwencyjne pozwalają odbiornikowi poukładać PDU we właściwej kolejności
Kontrola przepływu
Zadanie dla odbiornika
Limitowanie ilości lub prędkości odbieranych danych
Wstrzymywanie transferu Systemy „kredytowe”
Przesuwne okno
Potrzebne zarówno w warstwie sieciowej, jak i aplikacji
Kontrola błędów
Chroni przed utratą lub uszkodzeniem danych Wykrywanie błędów
Nadawca dodaje bity kontrolne Odbiorca sprawdza te bity OK -> potwierdzenie Błąd -> odrzucenie pakietu Retransmisja
Jeśli w określonym czasie nie nadejdzie
potwierdzenie, retransmisja ze strony nadawcy Wykonywane na różnych poziomach
Adresowanie
Poziom adresowania
Zakres (obszar) adresowania Identyfikatory połączenia Tryb adresowania
Poziom adresowania
Poziom w architekturze na którym obiekt jest adresowany
Unikatowe adresy dla każdego systemu końcowego (komputera) i routera
Adresy warstwy sieciowej IP - internetowy (TCP/IP)
NSAP - Sieciowy punkt dostępu do usługi (OSI) Przetwarzane wewnątrz systemu
Koncepcja adresowania
Zakres adresowania
Globalna jednoznaczność
Adres globalny jednoznacznie identyfikuje jeden system
Istnieje tylko jeden system z danym adresem X Globalna stosowalność
W każdym systemie (o dowolnym adresie) możliwa jest identyfikacja dowolnego innego systemu poprzez użycie jego adresu globalnego
Adres X identyfikuje ten system w obrębie całej sieci n.p. adres MAC w sieciach IEEE 802
Identyfikatory połączenia
Komunikacja zorientowana połączeniowo (VC - wirtualne połączenia/obwody)
Zdefiniowanie nazwy dla połączenia podczas fazy transferu
Zmniejszony narzut - identyfikator połączenia jest krótszy niż adresy globalne
W oparciu o identyfikatory połączeń można zorganizować routing
Komunikujące się systemy mogą sobie zażyczyć wielu połączeń - multipleksing
Informacja o stanie połączenia
Tryb adresowania
Zwykle adres odnosi się do pojedynczego systemu
Adresy unicastowe
Wysyłane do jednego komputera lub osoby
Można zaadresować wszystkie systemy w danej domenie
Broadcast
Wysyłane do wszystkich komputerów lub osób
Można zaadresować określoną grupę systemów w danej domenie
Multicast
Wysyłane do niektórych komputerów lub osób
Multipleksing
Pozwala na istnienie jednocześnie wielu połączeń na jednym komputerze
Mapuje kilka połączeń jednego poziomu w jedno połączenie innego poziomu
Przenoszenie wielu sygnałów jednym kablem światłowodowym
Agregowanie kilku linii ISDN w celu zyskania większej przepustowości
Usługi transmisji
Priorytety
np. wiadomości kontrolne Jakość usług (QoS)
Minimalna gwarantowana przepustowość Maksymalne dopuszczalne opóźnienie Bezpieczeństwo
Ograniczenia dostępowe
OSI - model
Model warstwowy
Każda z warstw zapewnia funkcjonalność określonej cechy transmisji
Każda warstwa polega na usługach warstwy niższej
Każda warstwa zapewnia usługi warstwie wyższej
Zmiany w jednej z warstw nie powinny wymagać zmian w innych warstwach
Środowisko OSI
OSI jako szkielet standaryzacji
Standardy określonych warstw
Standaryzowane elementy
Specyfikacja protokołu
Operuje pomiędzy tymi samymi warstwami w dwóch systemach Może być zaimplementowany w różnych SO
Specyfikacja protokołu powinna precyzować:
⌧Format jednostki danych
⌧Zawartość wszystkich pól
⌧Dozwolone sekwencje PCU
Definicja usługi
Funkcjonalny opis tego co jest zapewniane
Adresowanie
Odnoszą się do niego SAP
Warstwy OSI (1)
Fizyczna
Fizyczny interfejs pomiędzy dwoma systemami
⌧Mechaniczny
⌧Elektryczny
⌧Funkcjonalny
⌧Proceduralny
Łącza danych
Określa zasady ustanawiania, utrzymywania i likwidacji niezawodnego połączenia
Kontrola i wykrywanie błędów
Warstwy OSI (2)
Sieciowa
Transport informacji
Wyższe warstwy nie muszą nic wiedzieć odnośnie stosowanej technologii sieciowej
Nie jest wymagana przy łączach bezpośrednich
Transportowa
Wymiana danych pomiędzy systemami końcowymi Wolna od błędów
W kolejności Bez strat Bez duplikatów
Zapewnienie jakości usług
Warstwy OSI (3)
Sesji
Kontrola dialogu pomiędzy dwiema aplikacjami Dyscyplina dialogu
Grupowanie Odtwarzanie Prezentacji
Kodowanie i format danych Kompresja danych
Szyfrowanie Aplikacji
Metoda dostępu do OSI dla aplikacji
Sposób działania przekaźnika
Zestaw protokołów TCP/IP
Dominujący zestaw protokołów
Opracowany i szeroko stosowany przed ostatecznym uformowaniem standardu OSI Rozwijany wskutek badań fundowanych przez Departament Obrony USA
Wykorzystywany w Internecie
Zestaw protokołów TCP/IP (1)
Warstwa aplikacji
Komunikacja pomiędzy procesami albo aplikacjami Warstwy transportowe (między systemami końcowymi, TCP/UDP/…)
Transfer danych pomiędzy systemami końcowymi Mogą zawierać mechanizmy niezawodności (TCP) Ukrywa detale leżące „pod spodem” sieci
Warstwa internetowa (IP) Routing danych
Zestaw protokołów TCP/IP (2)
Warstwa sieciowa
Interfejs logiczny pomiędzy systemami końcowymi i siecią
Warstwa fizyczna Medium transmisyjne
Częstotliwość sygnału i kodowanie
PDU w TCP/IP
Niektóre z protokołów w
zestawie protokołów TCP/IP
Dalsze informacje
Stallings, rozdział 2
Comer,D. Internetworking with TCP/IP tom I Comer,D. I Stevens,D. Internetworking with TCP/IP tom II i tom III, Prentice Hall
Halsall, F> Data Communications, Computer Networks and Open Systems, Addison Wesley RFCs