Katedra Informatyki Stosowanej
Politechnika Łódzka
Al. Politechniki 11, 90-925 Łódź
Tel. (0-42) 631-26-89
Sieci komputerowe I
Wykład 1: Wstęp, Model OSI i TCP/IP, HTML i WWW.
Opracowanie:
mgr inż. Łukasz Sturgulewski (lsturgu@kis.p.lodz.pl)
Wstęp.
Po co komu sieć?
Współdzielenie zasobów sprzętowych i programowych;
Współdzielenie dużych mocy obliczeniowych;
Szeroko pojęta możliwość wymiany informacji pomiędzy użytkownikami.
Historia.
Duży wpływ wojska na opracowywanie i wdrażanie nowych technologii;
Zapotrzebowanie na moc obliczeniową: Agencja ds. Badań Perspektywicznych Departamentu Obrony USA (ARPA);
Opracowanie systemu ARPANET;
Opracowanie, przez twórców ARPANET, zbioru protokołów przekształconego w późnych latach 70-tych w TCP/IP;
TCP/IP - spójny zbiór protokołów o wysokim stopniu funkcjonalności. Opisany w dokumentach RFC (Request for Comments);
TCP/IP - oficjalny standard IAB (Internet ArchitectureBoad);
Pomimo ostrej konkurencji ze strony standardu ISO/OSI, TCP/IP jest dzisiaj dominującym protokołem komunikacyjnym.
Dlaczego?
Niezależność od techniki sieciowej: Protokoły TCP/IP definiują jednostkę transmitowanych danych - datagram oraz określają sposoby przesyłania datagramów w różnych sieciach (niezależność od zastosowanych technologii w sieciach rozległych);
Jednolitość połączenia: Komunikujące się jednostki mają jednoznacznie je identyfikujący adres. Każdy datagram zawiera adres nadawcy i odbiorcy. Jednostki pośredniczące w przekazywaniu datagramów na podstawie adresu celu wyznaczają trasy;
Potwierdzenie na końcach: Potwierdzenie pomiędzy nadawcą i odbiorcą zamiast potwierdzeń między maszynami pośredniczącymi w transporcie danych;
Standardy protokołów programów użytkowych: W obrębie protokołów TCP/IP jest miejsce dla standardów wielu popularnych programów użytkowych: SMTP, FTP, TELNET, SNMP.
Modele warstwowe sieci komputerowych.
Sieć komputerowa - budowa warstwowa:
Warstwy oprogramowania (layers);
Zasady komunikacji miêdzy nimi (protocols)
Dwa modele warstwowe sieci komputerowych:
Model odniesienia łączenia systemów otwartych ISO/OSI RM (International Standards Organization/Open Systems Interconnection Reference Model)
Model DARPA (Agencji ds. Zaawansowanych Projektów Badawczych Departamentu Obrony USA, Defence Advanced Research Projects Agency)
Najważniejsze pojęcia związane z modelami warstwowymi:
Protokół: Zestaw reguł rządzących wymianą danych między dwiema jednostkami, obejmujący:
Składnię: format danych, kodowanie, itp.
Semantykę: informacje sterującą, postępowanie w przypadku błędów, itp.
Uzależnienia czasowe: szybkość, kolejność, itp.
Warstwa: Zbiór jednostek i dostarczanych przez nie usług.
Interfejs- Połączenie między dwiema warstwami.
PDU Protocol Data Units: Dane są przenoszone między jednostkami implementującymi warstwę poprzez protokół w postaci tzw. Protocol Data Units.
Enkapsulacja: Proces dodawania nagłówków (headers) i/lub bloków końcowych (trailers) w miarę przechodzenia do warstw niższych oraz usuwania ich w miarę przechodzenia do warstw wyższych nazywamy enkapsulacją (encapsulation). Służy on ukryciu informacji warstwy wyższej przed warstwami niższymi.
Model OSI.
Warstwy w modelu ISO/OSI:
Warstwa fizyczna (physical layer)
Zapewnia transmisję ciągu bitów (nie tworzących żadnych struktur) poprzez medium fizyczne (elektryczne, optyczne, mechaniczne, itp.).
Ustala zasady przyłączenia urządzenia do medium transmisyjnego sieci.
Na poziomie warstwy fizycznej jednostką informacji jest bit.
Określa:
Rodzaj złącza mechanicznego
Parametry elektryczne sygnałów
Warstwa łącza danych (data link layer)
Zapewnia niezawodny transfer poprzez łącza fizyczne.
Ustala początek i koniec bloków danych (dokonując - jeśli to konieczne - synchronizacji).
Wykrywa błędy i w miarę możliwości dokonuje ich korekty, czyli zapewnia kontrolę transmisji poprzez łącze fizyczne.
Dzieli się na dwie podwarstwy:
MAC - Media Access Control: Odpowiada za odpowiednie kolekcjonowanie bitów informacji i tworzenie z nich jednostek zwanych ramkami.
LLC - Logical Link Control: Odpowiada za komunikację z warstwami wyższymi.
Warstwa sieciowa (network layer)
Odpowiada za transmisję bloków informacji zwanych pakietami poprzez sieć połączonych urządzeń.
Podstawową jednostką informacji w warstwie sieci jest pakiet.
Umożliwia uniezależnienie warstw wyższych od transmisji danych, rodzaju technologii komutacji, topologii sieci.
Określa, którą drogą przesyłane będą poszczególne jednostki danych (routing).
Warstwa transportowa (transport layer)
Warstwa transportowa zapewnia niezawodny i przezroczysty transfer danych między punktami końcowymi (komputerami).
Warstwa transportowa zapewnia wykrycie błędów i kontrolę transmisji.
Jednostką informacji na poziomie warstwy transportowej jest datagram.
Niezawodność połączenia w warstwie transportowej realizuje się wyłącznie środkami programowymi.
Warstwa sesji (session layer)
Tworzy struktury służące zarządzaniu komunikacją: np. ustanawianiem, zarządzaniem oraz przerywaniem sesji (połączenia).
Warstwa prezentacji (presentation layer)
Wykonuje ogólne operacje na strukturze danych podlegających wymianie;
Szyfrowanie;
Kompresję;
Konwersja formatów danych i kodów znakowych między różnymi systemami operacyjnymi obsługującymi sesję.
Uwzględnia fakt, że systemy operacyjne różnych hostów różnią się pod takimi względami jak:
Kody znakowe (np. ASCII, ISO7, ISO5);
Struktura plików tekstowych;
Struktura kartotek i plików;
Oprogramowanie warstwy prezentacji gwarantuje automatyczną transformację zasobów do standardów obowiązujących w danym systemie.
Warstwa aplikacji (application layer)
Odpowiedzialna za zarządzanie komunikacją między dwiema aplikacjami.
Jest warstwą programów użytkowych, wykorzystujących technologie sieci.
Model DARPA (TCP/IP) sieci komputerowych.
Warstwy sieci w modelu DARPA:
Warstwa dostępu do sieci
Warstwa Internet
Protokoły:
IP - Internet Protocol
ICMP - Internet Control Message Protocol
Warstwa transportowa Host-to-Host
Protokoły:
TCP - Transmission Control Protocol
UDP - User Datagram Protocol
Warstwa aplikacji
Protokoły:
TELNET
FTP
SMTP
DNS
SNMP
DHCP
Porównanie modelu OSI i TCP/IP.
Usługi.
Na poziomie programu użytkowego - użytkownicy otrzymują programy realizujące określone zadania i nie martwią się współpracą tych programów z protokołami warstw niższych czy też funkcjonowaniem samej sieci.
Najważniejsze zadania realizowane przez protokoły warstwy aplikacji:
Poczta elektroniczna:
Tworzenie i wysyłanie wiadomości (także wiadomości zakodowanych oraz załączników);
Odbieranie otrzymanych wiadomości;
Przesyłanie plików:
Można dołączać pliki do e-mail - jednak nie powinny one być zbyt duże gdyż większość systemów nakłada ograniczenia na wielkość wiadomości, aby nie obciążać zbytnio serwera;
Specjalny protokół do przesyłania plików dowolnej wielkości;
Dzięki bezpośredniemu połączeniu nadawcy i odbiorcy (TCP/IP) możemy być pewni prawidłowego i bezpiecznego przesyłania plików.
Praca zdalna:
Tworzenie interakcyjnych sesji;
Bezpośrednia praca na zdalnym systemie;
Zamknięcie sesji i powrót do lokalnego środowiska.
Zarządzanie sieciami:
Monitorowanie pracy urządzeń:
Wydajność;
Uszkodzenia;
Koszty.
Zarządzanie pracą urządzeń:
Konfiguracja;
Bezpieczeństwo;
Strony i przeglądarki WWW.
Na poziomie sieci:
Bezpołączeniowe przenoszenie pakietów (IP):
Przesyłanie porcji danych do adresata;
Brak gwarancji, co do kolejności dostarczenia pakietów.
Transport niezawodnymi strumieniami (TCP):
Obsługa błędów transmisji;
Obsługa zgubionych pakietów;
Ustawianie bezpośredniego połączenia pomiędzy nadawcą i odbiorcą;
Niezawodne przesyłanie danych.
Transmisja pakietów:
Techniki LAN i topologie sieci;
Technologie WAN.
Okablowanie sieci, topologie fizyczne.
WWW i HTML.
Przeglądarka: Program interakcyjny umożliwiający użytkownikowi przeglądanie informacji dostępnych przez WWW.
Hipertekst (system hipermedialny): Informacje są przechowywane w postaci zbioru dokumentów, które mogą zawierać odsyłacze do innych dokumentów zawartych w zbiorze.
Uwaga:
Zbiór dokumentów - cały internet rozproszony pomiędzy wieloma sieciami i komputerami - stąd duża niepewność poprawności odsyłaczy.
HTML (Hypertext Markup Language): Język opisu struktury dokumentów hipertekstowych.
Ideą HTML'a nie jest podawanie szczegółów o wyglądzie strony, lecz jedynie opis jej struktury.
Identyfikacja strony: Aby umożliwić jednoznaczne wskazanie żądanej strony wprowadzono jednolity adres zasobu: URL (Uniform Resource Locator), którego ogólna postać wygląda następująco: protokół://nazwa_komputera:port/nazwa_dokumentu
Protokół HTTP (Hyper Text Transfer Protocol): Do pobrania strony z serwera WWW przeglądarka używa tego protokołu. Przeglądarka żąda przesłania strony a serwer to żądanie spełnia. Protokół HTTP określa dokładnie format żądań i odpowiedzi.
Złożoność serwerów - niska;
Złożoność przeglądarek - wysoka:
Moduł sterujący;
Klient HTTP, oraz inne opcjonalne;
Interpreter HTML;
Przeglądarka (klient) łączy się z serwerem WWW (serwer), wysyła żądanie a następnie odbiera dane lub informacje o ich niedostępności. Następnie połączenie jest zamykane.
HTML.
Dokument HTML to plik tekstowy zawierający informacje oraz znaczniki określające strukturę dokumentu;
Białe znaki możemy używać dowolnie, tak aby zwiększyć czytelność źródła.
Dokument HTML składa się z dwóch części
Nagłówek - szczegółowe informacje o dokumencie np. tytuł - większość przeglądarek umieszcza go na pasku tytułowym programu;
Treść dokumentu - ;
<HTML>
<HEAD>
<TITLE>
To jest tytuł dokumentu
</TITLE>
</HEAD>
<BODY>
Zawartość dokumentu
</BODY>
</HTML>
Dokumenty dynamiczne i aktywne.
Dokumenty dynamiczne: Serwer WWW uruchamia dodatkowy program, który tworzy dokument przy każdym zleceniu dostarczenia strony przez przeglądarkę;
Dokumenty aktywne: Serwer WWW dostarcza przeglądarce odpowiedni program, który uruchamiany jest lokalnie i odpowiada za wyświetlanie informacji i interakcje z użytkownikiem.
Wady i zalety tych rozwiązań:
statyczne:
zalety:
prostota;
pewność;
szybkość obsługi:
łatwość tworzenia (HTML - opis struktury strony bez znajomość języków programowania);
obsługa przez przeglądarkę natychmiastowa i pewna;
może być bez problemu przechowywana w cache przeglądarki.
wady:
brak elastyczności;
mało atrakcyjna forma;
nieaktualne informacje;
dynamiczne:
zalety:
„większa” aktualność informacji
dla przeglądarki są to takie same dokumenty jak statyczne;
wady:
większy koszt (osobowy i sprzętowy)
dłuższy czas oczekiwania na odpowiedź;
po wysłaniu informacji do przeglądarki zaczynają się one dezaktualizować;
aktywne:
zalety:
możliwość ciągłej aktualizacji informacji na stronie;
możliwość tworzenia skomplikowanych, atrakcyjnych stron;
wady:
jeszcze wyższe koszty (osobowe i sprzętowe)
wymagania dotyczące przeglądarki i systemu komputerowego klienta;
zagrożenie bezpieczeństwa;
Dokumenty aktywne.
wypychanie przez serwer:
zalety:
aktualna zawartość stron;
wady:
duże obciążenie serwera;
większe czasy oczekiwania;
aktywne:
Java: język opracowany przez Sun Microsystems do tworzenia aktywnych dokumentów.
wysokiego poziomu: Oddzielony od architektury sprzętu;
uniwersalny: Można tworzyć nie tylko aplety ale i pełne programy;
podobny do C++:
wiele konstrukcji składniowych jak w C++;
Mechanizm obiektów i klas jak w C++;
Brak:
Przeciążania operatorów;
Wielodziedziczenia;
Niektóre możliwość C++ zostały okrojone;
Potrzeby ręcznego zwalniania pamięci - automatyczne odśmiecanie.
Wstęp, Model OSI i TCP/IP, HTML i WWW
- 8 -
Warstwa fizyczna
Warstwa łącza danych
Warstwa sieciowa
Warstwa transportowa
Warstwa sesji
Warstwa prezentacji
Warstwa aplikacji
Warstwa dostępu do sieci
Warstwa transportowa
Warstwa Internet
Warstwa aplikacji