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
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
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
Numer portu (TCP/IP)
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
Wyższe warstwy mogą założyć że transmisja w tej
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
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