Sieci komputerowe Model Referencyjny dla Systemów Otwartych Reference Model for Open Systems Interconnection dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole [email protected] Model Referencyjny dla OSI, ISO/IEC 7498 Model Referencyjny dla OSI jest standardem ISO, zatwierdzonym w 1978. Dokumentacja Modelu Referencyjnego dla OSI: Information technology - Open Systems Interconnection - Basic Reference Model. ISO/IEC 7498-1, The Basic Model. ISO/IEC 7498-2, Security Architecture. ISO/IEC 7498-3, Naming and addressing. ISO/IEC 7498-4, Management framework. ISO/IEC 7498-5, Multipeer communication architecture. http://www.iso.org/iso/home/store/catalogue_ics/catalogue_ics_browse.htm?ICS1=35&ICS2=100 http://www.ecma-international.org/activities/Communications/TG11/s020269e.pdf 2 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe Model Referencyjny dla OSI, ISO/IEC 7498 3 Model Referencyjny dla OSI, ISO/IEC 7498 4 Model Referencyjny dla OSI, ISO/IEC 7498 5 Model Referencyjny dla OSI, ISO/IEC 7498 6 Model Referencyjny dla OSI, ISO/IEC 7498 Model Referencyjny Współpracy Systemów Otwartych (Reference Model Of Open Systems Interconnection) został opracowany w celu skoordynowania procesów tworzenia, rozwijania, adoptowania istniejących standardów komunikacji (wymiany informacji) między systemami otwartymi. Termin Interconnection oznacza, nie tylko wymianę informacji między systemami otwartymi, ale również współpracę systemów otwartych w celu wykonania określonego, rozproszonego zadania. Współpraca Systemów Otwartych (Open Systems Interconnection) określa standardy wymiany informacji między systemami, które są na siebie ‘otwarte’ dzięki zastosowaniu jednakowych standardów komunikacji. System jest otwarty, jeżeli potrafi skomunikować się z innym systemem i spełnia standardy modelu referencyjnego, tzn. został zbudowany według standardów modelu referencyjnego. 7 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe Model Referencyjny dla OSI, ISO/IEC 7498 Model Referencyjny OSI służy do określania zgodności standardów dotyczących wymiany informacji między systemami otwartymi (współpracy systemów otwartych). Standardy OSI, standardy współpracy rzeczywistych systemów otwartych, są tworzone w celu umożliwienia komunikacji między systemami otwartymi. Dla ułatwienia rozwoju i określania zgodności standardów dla OSI model referencyjny został podzielony na 7 warstw (7 layers of the Reference Model for OSI). System współpracujących z innymi systemami zgodnie ze standardami OSI jest rzeczywistym systemem otwartym. Celem modelu OSI jest określenie standardów umożliwiających współpracę rzeczywistych systemów otwartych. Basic Reference Model – jest zbiorem metod służących do definiowania usług i protokołów wykorzystywanych przez systemy otwarte w obrębie Modelu Referencyjnego. 8 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe Model Referencyjny dla OSI, ISO/IEC 7498 System rzeczywisty (ang. real system) – zbiór komputerów, wyposażonych w odpowiednie oprogramowanie, i urządzeń peryferyjnych stanowiących autonomiczną całość, zdolną do przetwarzania i/lub transmisji danych. Otwarty system rzeczywisty (ang. real open system) – system rzeczywisty spełniający standardy komunikacji otwartej (OSI standards) z innymi systemami rzeczywistymi. System otwarty (ang. open system) – reprezentacja, w obrębie Modelu Referencyjnego, tych aspektów otwartego systemu rzeczywistego które dotyczą OSI. (N)-system – element hierarchicznej struktury systemu otwartego, który oddziaływuje tylko z (N-1) lub (N+1) elementami systemu. N-ta warstwa (ang. N-layer) – części architektury systemu otwartego (OSI architecture) złożoną z podsystemów tego samego rzędu (N). 9 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe Model Referencyjny dla OSI, ISO/IEC 7498 Z pojęciem (N)-warstwy wiąże się szereg pojęć określających elementy modelu związanych z daną warstwą, np. (N)protocol, (N)-service, (N)-function, … . Każdy system otwarty jest widziany jako uporządkowany zbiór (N)-podsystemów. Podsystemy tego samego rzędu tworzą (N)-warstwę Modelu Referencyjnego. Istnieje tylko jeden (N)-podsystem dla danej warstwy. (N)-encja ((N)-entity) jest aktywnym elementem (N)-warstwy. Każdy (N)-podsystem składa się z jednej lub kilku (N)-encji (zwanych peer-(N)-entity). W (N)-warstwie (N)-encje generują (N)-usługi. Współpraca między (N)-encjami odbywa się zgodnie z (N)-protokołami. System Końcowy OSI (OSI End System) – system który jest źródłem lub odbiorcą danych w komunikacji. OSI (N)-system – system otwarty który, bierze udział w komunikacji między Systemami Końcowymi OSI. 10 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe Model Referencyjny dla OSI, ISO/IEC 7498 Współpraca między systemami otwartymi jest określona przez następujące aktywności: • komunikację między procesami (np. wymiana informacji, synchronizacja), • reprezentację danych (tworzenie, opisywanie, formatowanie danych wymienianych przez procesy) • przechowywanie danych, • zarządzanie procesami i zasobami, • integralność i bezpieczeństwo wymienianych informacji, • utrzymanie/serwisowanie programów wykonywanych przez rzeczywiste systemy otwarte (definiowanie, kompilowanie, testowanie). 11 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe Model Referencyjny dla OSI, ISO/IEC 7498 Podstawowe elementy Modelu Referencyjnego: • system otwarty • aplikacje które działają w obrębie środowiska OSI (OSI Environment) • relacje które umożliwiają wymianę danych między aplikacjami w środowisku OSI • medium fizyczne systemu otwartego (urządzenia fizyczne przez które komunikują się systemy otwarte) Środowisko OSI (OSI Environment) – abstrakcyjna reprezentacja pojęć, funkcji, usług, protokołów zdefiniowanych przez Model Referencyjny OSI i standardy pochodne, które zastosowane umożliwiają komunikację między systemami otwartymi. 12 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe Warstwy modelu Referencyjnego Model określa zasady współpracy między warstwami. W modelu współpracują miedzy sobą tylko warstwy sąsiednie. Model OSI nie określa zasad budowy sieci i sposobu implementacji standardów w poszczególnych warstwach. Podziału procesu komunikacji na warstwy ułatwia: • zrozumienie i uporządkowanie skomplikowanego procesu wymiany danych w sieci • projektowanie i niezależny rozwój poszczególnych elementów funkcjonalnych sieci • opracowywanie standardów protokołów komunikacyjnych (każda warstwa ma swój zbiór protokołów) • opracowywanie standardów urządzeń sieciowych i współpracy między nimi. 13 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe Warstwy modelu Referencyjnego Zasady tworzenia warstw: • każda warstwa powinna standaryzować konkretne funkcje komunikacyjne, • funkcje w danej warstwie powinny być tak określone aby zminimalizować przepływ danych między warstwami, • przepływ danych może odbywać się tylko między warstwami sąsiednimi, • w każdej warstwie powinien być zdefiniowany zbiór uniwersalnych interfejsów do komunikacji między warstwami, • standardy i technologie w każdej warstwie powinny tworzyć niezależną całość (aby można było je rozwijać niezależnie od technologii stosowanych w innych warstwach). 14 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe Warstwy modelu Referencyjnego Proces wymiany danych między aplikacjami sieciowymi jest podzielony na 7 etapów. Na każdym etapie komunikacji: • wykonywane są specyficzne zadania (funkcje, usługi), • wykorzystywane są specyficzne aplikacje i urządzenia, • wykorzystywane są specyficzne protokoły komunikacyjne. 15 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe Warstwy modelu Referencyjnego Model OSI składa się z 7 warstw: 7. warstwa qplikacji 6. warstwa prezentacji 5. warstwa sesji 4. warstwa transportowa 3. warstwa sieci 2. warstwa łącza danych 1. warstwa fizyczna. 16 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe Model Referencyjny OSI - Proces wymiany danych 17 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe Proces wymiany danych klient-serwer WWW 18 Warstwy Modelu Referencyjnego 7. warstwa aplikacji 6. warstwa prezentacji 5. warstwa sesji 4. warstwa transportowa 3. warstwa sieci 2. warstwa łącza danych 1. warstwa fizyczna 19 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe 7. warstwa aplikacji Warstwa aplikacji zawiera instancje aplikacji które współpracują w środowisku OSI. Standardy i usługi warstwy aplikacji dotyczą zasad komunikowania się procesów aplikacji w OSIE. W przypadku stosowania przez aplikacje połączeniowego typu komunikacji w warstwie aplikacji następuje: • identyfikacja odbiorcy/odbiorców (nazwa, adres) • identyfikacja zasobów hosta potrzebnych do nawiązania połączenia, sprawdzenie dostępności zasobów niezbędnych do nawiązania połączenia (sprawdzenie parametrów quality of service), • synchronizacja nadawcy z odbiorcą, • uzgodnienie zasad usuwania błędów, • uzgodnienie zasad bezpieczeństwa transmisji danych (zasad kontroli dostępu, integralności danych), • wybór trybu komunikacji – połączeniowy, bezpołączeniowy, • identyfikacja abstrakcyjnej składni dla wymiany danych. 20 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe 7. warstwa aplikacji W przypadku stosowania przez aplikacje bezpołączeniowego typu komunikacji w warstwie aplikacji następuje: • identyfikacja grupy odbiorców, • autoryzacja uczestników wymiany danych, • określenie parametrów quality of service, • identyfikacja abstrakcyjnej składni wymiany danych. składnia abstrakcyjna (abstract syntax) – specyfikacja protokołów aplikacji (nagłówków i danych czyli Protocol Data Unit) za pomocą notacji niezależnej od technik kodowania w celu ich reprezentacji. składnia transmisji danych (transfer syntax) – abstrakcyjna i konkretna składnia wykorzystywana przez systemy otwarte do transmisji danych. 21 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe 7. warstwa aplikacji Protokoły warstwy aplikacji - protokoły wykorzystywane przez aplikacje i usługi sieciowe. Przykłady aplikacji i protokołów warstwy Aplikacji Modelu Referencyjnego: • aplikacja telnet korzysta z protokołu TELNET, (Network Terminal Protocol) , • aplikacja ftp korzysta z protokołu FTP, (File Transfer Protocol), • przeglądarka WWW (klient serwera WWW) i serwer WWW korzystają z protokołu Hypertext Transfer Protocol (HTTP), • usługa DHCP korzysta z protokołu Dynamic Host Configuration Protocol (DHCP), • usługa DNS korzysta z protokołu Domain Name System (DNS), • klient pocztowy (np. MS Outlook), serwer pocztowy (np. MS Exchange) wykorzystują protokoły - Post Office Protocol (POP ver.3), - Internet Message Access Protocol (np. IMAP4), - Simple Mail Transfer Protocol (SMTP). 22 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe 6. warstwa prezentacji Warstwa prezentacji określa standardy obsługi rożnych formatów danych i ich konwersje na formaty uniwersalne. W warstwie prezentacji następuje zastosowanie składni i formatów wymienianych danych uzgodnionych między Systemami Końcowymi Usługi warstwy prezentacji: • identyfikacja zbioru możliwych składni transferu danych, • wybór składni, • dostęp do usług warstwy Sesji. Funkcje warstwy prezentacji: • uzgodnienie składni transmisji danych, • reprezentacja składni abstrakcyjnej w składni transmisji danych, • powrót do wcześniej uzgodnionych składni w przypadku zaistnienia określonych zdarzeń • wykorzystanie usług warstwy sesji. Przykłady: • obsługa stron kodowych, tzn. kodowanie/dekodowanie znaków, wybór algorytmów które będą użyte do kodowania, • kompresja/dekompresja przesyłanych danych, • szyfrowanie/deszyfrowanie danych. W warstwie prezentacji określane są standardy transmisji dla różnych formatów danych: ASCI, jpeg, gif, flash, midi, mpeg, wav, mp3, avi, asf. Jeżeli dane są wymieniane miedzy hostami w komunikacji szeregowej, warstwa Prezentacji używa do konwersji danych sztandaru ASN.1, (ang.) Abstract Syntax Notation 1. Przykład: 23 Standard ASN.1 jest częścią standardu X.400 i określa zasady formatowania i kodowania wiadomości e-mail. 5. warstwa sesji Warstwa sesji określa standardy i funkcje: • zarządzania sesją, buduje i zamyka połączenie (w przypadku komunikacji połączeniowej) • przesyłania danych, • zarządzania wyjątkami (obsługa wyjątków), • zarządzania prawami dostępu do usług warstwy sesji (token management). W warstwie sesji określane są parametry transmisji między komunikującymi się aplikacjami. Określany jest np. tryb wymiany danych: simplex, half-duplex, full duplex. Przykłady protokołów i standardów warstwy sesji: • Network File System (NFS) • Remote Procedure Call (RPC) • X Window System • AppleTalk Session Protocol (ASP) • DNA Session Control Protocol, (DIGITAL Network Architecture - DNA). 24 4. warstwa transportowa Warstwa transportowa określa standardy obsługi danych przyjmowanych z warstwy sesji i warstwy sieci. W warstwie transportowej następuje: • przyporządkowanie adresu warstwy Transportowej (portu) do adresu warstwy Sieci (adresu IP), • łączenie sesji (multiplexing) w jedną sesję warstwy Sieci, • budowa i zamknięcie połączenia (w przypadku komunikacji połączeniowej), • kontrola kolejności transmisji segmentów danych, • wykrywanie błędów transmisji, • usuwanie błędów transmisji, np. żądanie ponownego przesłania zagubionych pakietów, • zarządzanie połączeniem (np. wstrzymywanie transmisji, kontrola przepływu danych). Protokoły warstwy transportowej: • protokół TCP, (ang.) Transmission Control Protocol, • protokół UDP, (ang.) User Datagram Protocol, • protokół SPX Novell'a, (ang.) Sequenced Packet Exchange. 25 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe 3. warstwa sieci Warstwa sieci określa zasady: • komunikowania się między hostami za pomocą adresów IP, • przesłanie datagramów IP między sieciami, • wyznaczania tras routingu i budowy tablic routingu, • informowania ‘systemy końcowe’ o błędach w transmisji IP (protokół ICMP), • określania parametrów quality of service (np. maksymalną wielkość datagramów). Funkcje warstwy sieci: • wyznaczenie trasy przesyłania pakietów (routing), • segmentacja i łączenie pakietów, • budowa połączenia na podstawie adresów IP, • wykrywanie i usuwanie błędów, • mapowanie adresów IP na adresy warstwy łącza danych (adresy MAC), 26 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe 3. warstwa sieci Protokoły warstwy sieci: • protokół IP, (ang.) Internet Protocol • protokół ICMP, (ang.) Internet Control Message Protocol • ARP, RARP, (ang.) Address Resolution Protocol, (ang.) Reverse ARP, • protokoły routingu, • protokół IPX Novell’a, (ang.) Internetwork Packet Exchange. Rodzaje datagramów w warstwie sieci: • datagramy z danymi (obsługiwane przez protokoły IP, IPX) • datagramy służące do obsługi błędów (protokół ICMP) • pakiety/datagramy zawierające informacje o trasach, służące do uaktualniania tabel routingu (obsługiwane przez protokoły RIP, EIGRP, OSPF). 27 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe 2. warstwa łącza danych Warstwa łącza danych określa standardy: • komunikacji między węzłami na podstawie adresów fizycznych (adresów MAC), • zasad transmisji danych między węzłami sieci (np. kontrola wielkości ramek, synchronizacja nadawcy z odbiorcą), • usuwania błędów transmisji które zaszły w warstwie Fizycznej. Funkcje warstwy łącza danych: • kapsułkowanie datagramów w ramki, • odbiór i konwersje strumienia bitów przychodzących z warstwy Fizycznej, • kontrola poprawności przesyłanych ramek, • wykrywanie i usuwanie błędów transmisji. Warstwa łącza danych składa się z dwóch podwarstw: • warstwy LLC, (ang.) Logical Link Control • warstwy MAC, (ang.) Media Access Control. Warstwa LLC jest interfejsem miedzy warstwa sieci (warstwa 3) a podwarstwa MAC. Warstwa MAC buduje ramki ze strumienia bitów przychodzącego z warstwy Fizycznej. 28 2. warstwa łącza danych Przykłady protokołów warstwy łącza danych: • MAC, (ang.) Media Access Control Protocol, • Ethernet, • Token Ring, • HDLC, (ang.) High-level Data Link Control, • PPP, (ang.) Point-to-Point Protocol, • ATM, (ang.) Asynchronous Transfer Mode. 29 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe 1. warstwa fizyczna Warstwa fizyczna określa zasady transmisji sygnałów w sieci, przesyłanie strumienia bitów w formie sygnałów elektrycznych. Przychodzące ramki z warstwy Łącza Danych w warstwie fizycznej są: • zamieniane na strumień bitów, • następnie zamieniane na sygnał elektryczny i przesyłane do odbiorcy. W warstwie fizycznej określone są : • parametry amplitudowe i czasowe przesyłanego sygnału, • sposób nawiązania i rozłączenia połączenia. • standardy okablowania sieci, • standardy złącz, • parametry pracy urządzeń transmisyjnych. 30 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe 1. warstwa fizyczna Przykłady standardów w warstwie fizycznej: • standardy kabli i złącz (np. RS-232, 10BaseT, 100BaseTX, światłowody), • standard transmisji asynchronicznej, • standard transmisji synchronicznej, np. V.35, • standardy kodowania sygnałów, rozpraszania widma (sieci WLAN). 31 Z. Lipiński, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Sieci Komputerowe