310 likes | 501 Views
Teleinformatyka i teoria sieci komputerowych. mgr inż. Paweł Kucharczyk. Literatura:. „Sieci komputerowe” Andrew S. Tanenbaum wydawnictwo Helion „TCP/IP 24 lekcje” Casad J., Willsey B. wydawnictwo Mikom „TCP/IP Administracja Sieci” Hunt C. wydawnictwo Read Me
E N D
Teleinformatyka i teoria sieci komputerowych mgr inż. Paweł Kucharczyk
Literatura: • „Sieci komputerowe” Andrew S. Tanenbaum wydawnictwo Helion • „TCP/IP 24 lekcje” Casad J., Willsey B. wydawnictwo Mikom • „TCP/IP Administracja Sieci” Hunt C. wydawnictwo Read Me • „Tworzenie bezpiecznych sieci” Kaeo M. wydawnictwo Mikom • Czasopisma informatyczne, Internet,
Historia powstawania sieci komputerowych • Kiedyś komputery były olbrzymich rozmiarów, zajmowały całe pomieszczenia, a nawet budynki. Obecnie komputery biurkowe mają o wiele mniejsze rozmiary, za to znacznie większą moc obliczeniową. • Połączenie komputerów i komunikacji miało głęboki wpływ na sposoby organizowania systemów komputerowych. Jeden wielki komputer został zastąpiony przez wiele odrębnych, połączonych ze sobą mikrokomputerów. • Sieć komputerowa jest to zbiór niezależnych komputerów połączonych ze sobą. Mówimy, że dwa komputery są ze sobą połączone, jeśli mogą wymieniać między sobą informacje.
Cele budowy sieci komputerowych • Współdzielenie dostępu do zasobów (pliki, drukarki, etc.), • Współdzielenie dostępu do informacji (www), • Bardzo szybka komunikacja tekstowa (e-mail), głosowa (VoIP) lub wideokonferencja, (każdy szanujący się nastolatek jest uzależniony od narzędzi błyskawicznego przesyłania wiadomości: IRC, GG, Tlen, etc.) • Handel elektroniczny, • Rozrywka interakcyjna (gry),
Podstawowe pojęcia: • Serwer, • Klient, • Interfejs (NIC !?! A co to !?! ), • MAC, • Protokół sieciowy, • Pakiet, • Medium transmisyjne, • Topologia, • Technologia sieciowa, • System operacyjny / sieciowy system operacyjny • Modulacja (zapis danych cyfrowych do przesyłu analogowego) • Bufor,
Podział sieci komputerowych • Ze względu na zasięg: • LAN (Local Area Network), • MAN (Metropolitan Area Network) • WAN (Wide Area Network) ?? Czy Internet to sieć komputerowa ??
Podział sieci komputerowych • Ze względu na sposób pracy: • Peer-to-peer • Klient-serwer • Praca zdalna
Podział sieci komputerowych • Ze względu na topologię: • Magistrala, • Pierścień, • Gwiazda, • Kratownica, • Drzewo, • Punkt – punkt • etc.
Elementy składające się na sieć: • Komputery (serwery oraz stacje robocze), • NIC (Network Interface Card) – karta sieciowa, • Medium transmisyjne, • Urządzenia sieciowe (aktywne i pasywne),
Urządzenia sieciowe: • Modem / Terminal Adapter (czy modem jest urządzeniem sieciowym ??), • Pętle sygnałowe, • Repeater (wzmacniak), • HUB (koncentrator), • Media-konwerter, • Bridge (most), • Switch (przełącznik), • Router,
Rodzaje mediów transmisyjnych: • Kabel miedziany (skrętka, koncentryk, para miedziana, etc.), • Kabel światłowodowy (wielomodowy, jednomodowy), • Pasmo radiowe (WI-FI 2,4 GHz, 5GHz, …), • Laser, • Podczerwień, Zalety i wady w/w mediów transmisyjnych.
Tryby transmisji danych: • Broadcast, Multicast, Unicast, • Szeregowa, Równoległa, • Simplex, Half-Duplex, Full-Duplex, • Synchroniczna, Asynchroniczna, • Symetryczna, Asymetryczna
Protokół komunikacyjny: • Protokół a stos protokołów • TCP/IP (IP, TCP, UDP, ICMP, ARP, …) • IPX/SPX (IPX, SPX, NCP, …) • NetBIOS oraz NetBEUI • Apple Talk • DEC NET • FTP, SMTP, SNMP, HTTP, … • Model referencyjny ISO OSI-7
Warstwy ISO OSI 7 • 7) Aplikacji, • 6) Prezentacyjna, • 5) Sesji, • 4) Transportowa, • 3) Sieciowa, • 2) Łącza danych, • 1) Fizyczna,
ISO OSI-7 Warstwa fizyczna (1) • Warstwa fizyczna zajmuje się transmisją „surowych” bitów kanałem komunikacyjnym. Problemem projektowym jest tu zapewnienie, że gdy jedna strona wyśle bit o wartości 1, druga strona odbierze go jako jedynkę, a nie zero. Typowe kwestie to np. wybór napięć reprezentujących 0 i 1, określenie, ile nanosekund ma trwać pojedynczy bit, czy transmisja może jednocześnie odbywać się w obydwu kierunkach, jak nawiązywane jest połączenie i jak jest przerywane po zakończeniu transmisji przez obie strony, ile styków ma mieć złącze sieciowe i do czego służy każdy styk. Zagadnienia projektowe w tej warstwie wiążą się głównie z interfejsami mechanicznymi, elektrycznymi i zależnościami czasowymi oraz fizycznym nośnikiem transmisyjnym, który znajduje się pod warstwą fizyczną.
ISO OSI-7 Warstwa łącza danych (2) • Głównym zadaniem warstwy łącza danych jest przekształcenie surowego łącza transmisyjnego w linię, która dla warstwy sieciowej sprawia wrażenie transmisji wolnej od błędów. To zadanie zostaje osiągnięte tu przez podział danych wejściowych nadawcy na ramki danych (zwykle o rozmiarach kilkuset lub kilku tysięcy bajtów) i sekwencyjną transmisję ramek. Jeśli usługa jest niezawodna, odbiorca potwierdza poprawny odbiór każdej ramki przez odesłanie ramki potwierdzającej. • Kolejnym problemem, który pojawia się w warstwie łącza danych (i w większości wyższych warstw) jest pytanie, jak powstrzymać szybki nadajnik przed zalaniem danymi wolnego odbiornika. Często potrzebny jest mechanizm sterowania ruchem, który informuje nadajnik, jak wiele miejsca w buforze ma w danej chwili odbiornik. Często to sterowanie jest zintegrowane z obsługą błędów. • Kontrola parzystości, kod CRC, kodowanie Reed-Solomon (FEC), etc.
ISO OSI-7 Warstwa sieciowa (3) 1/2 • Steruje działaniem podsieci. Podstawowym problemem projektowym jest tu ustalenie, jakie pakiety mają być kierowane od nadawcy do odbiorcy. Trasy mogą opierać się na tablicach statycznych, które są zakodowane „na sztywno” w sieci i rzadko zmieniane. Mogą też być ustalane na początku każdej konwersacji, np. sesji terminalowej. Na koniec trasy mogą też być wysoce dynamiczne i ustalane na nowo dla każdego pakietu, aby reagować na bieżące obciążenia sieci. • Jeśli w jednej chwili w podsieci znajduje się zbyt wiele pakietów, to będą one sobie nawzajem przeszkadzać, tworząc wąskie gardła. Za kontrolę nad takimi zatorami również odpowiada warstwa sieciowa. Bardziej ogólnie mówiąc, jakość świadczonych usług (opóźnienia, czas tranzytu, rozsynchronizowanie) jest problemem warstwy sieciowej.
ISO OSI-7 Warstwa sieciowa (3) 2/2 • Gdy pakiet musi przejść z jednej sieci do drugiej, aby dojść do miejsca przeznaczenia, może pojawić się szereg problemów. Adresowanie używane w drugiej sieci może różnić się od używanego w pierwszej. Druga sieć może w ogóle nie akceptować pakietów, ponieważ będą dla niej za duże, protokoły mogą się różnić, itd. Do warstwy sieciowej należy uporanie się z wszystkimi tymi problemami, pozwalając na łączenie niejednakowych sieci. • W sieciach rozgłoszeniowych problem wyboru trasy jest prosty, więc warstwa sieciowa może w nich być bardzo cienka lub w ogóle nie istnieć.
ISO OSI-7 Warstwa transportowa (4) 1/2 • Podstawową funkcją warstwy transportowej jest przyjmowanie danych z góry (z wyższych warstw), podział na mniejsze jednostki, przekazanie do warstwy sieciowej i zapewnienie, że wszystkie fragmenty dotrą bezbłędnie do miejsca przeznaczenia. Co więcej, wszystko to musi odbywać się wydajnie i w sposób izolujący wyższe warstwy od nieuniknionych zmian w technologii sprzętu. • Warstwa transportowa określa też, jakie typy usług świadczyć warstwie sesji i, ostatecznie, użytkownikom sieci. Najpopularniejszym typem połączenia transportowego jest wolny od błędów dwupunktowy kanał, który przekazuje wiadomości lub bajty w kolejności wysłania. Jednakże inne możliwe typy usług transportowych to przesył izolowanych wiadomości bez gwarancji kolejności doręczenia oraz rozgłaszanie wiadomości pod wiele adresów. Typ usługi jest ustalany podczas nawiązywania połączenia.
ISO OSI-7 Warstwa transportowa (4) 2/2 • Fizycznie kanał wolny od błędów jest niemożliwy do zrealizowania. Pod tym terminem tak naprawdę mamy na myśli stopę błędów tak niską, że można ją w praktyce zignorować. • Warstwa transportowa jest w pełni dwupunktowa, od źródła aż do odbiorcy. Inaczej mówiąc, program w komputerze źródłowym prowadzi konwersację z analogicznym programem w komputerze docelowym, używając nagłówków wiadomości i komunikatów sterujących. W niższych warstwach protokoły łączą każdy komputer z bezpośrednimi sąsiadami, a nie komputer źródłowy z ostatecznym komputerem docelowym, który może być oddzielony od źródłowego szeregiem routerów. Warstwy od 1 do 3 są łąńcuchowe, natomiast warstwy od 4 do 7 są dwupunktowe (wymiana danych odbywa się bezpośrednio pomiędzy punktem źródłowym, a punktem docelowym).
ISO OSI-7 Warstwa sesji (5) • Warstwa sesji pozwala użytkownikom różnych komputerów nawiązać pomiędzy nimi sesje. Sesje oferują różnorodne usługi, w tym sterowanie dialogiem (śledzenie, na kogo przyszła kolej nadawać), zarządzanie żetonem (zapobieganie przed próbą jednoczesnego wykonania krytycznej operacji przez dwie strony) i synchronizację (wprowadzenie punktów kontrolnych w długich transmisjach pozwalających na kontynuację od miejsca, w którym transmisja uległa załamaniu).
ISO OSI-7 Warstwa prezentacji (6) • W przeciwieństwie do niższych warstw, które zajmują się głównie przemieszczaniem bitów, warstwa prezentacji odpowiada za składnię i semantykę przesyłanych informacji. Aby umożliwić komunikację komputerom o odmiennej reprezentacji danych, wymieniane struktury danych mogą być definiowane w sposób abstrakcyjny, łącznie ze standardowym kodowaniem przeznaczonym do użycia „w kablu”. Warstwa prezentacji zarządza tymi abstrakcyjnymi strukturami danych i pozwala na definicję i wymianę struktur danych wyższego poziomu (np. rejestrów bankowych). • „Sieciowa” kolejność bitów.
ISO OSI-7 Warstwa aplikacji (7) • Warstwa aplikacji zawiera szereg różnych protokołów potrzebnych użytkownikom. Jednym z powszechnie używanych protokołów aplikacji jest HTTP (Hyper Text Transfer Protocol), stanowiący podstawę WWW. Gdy przeglądarka chce pobrać stronę WWW, wysyła nazwę tej strony do serwera przy użyciu HTTP, po czym serwer odsyła stronę do klienta. Inne protokoły aplikacji służą do przesyłu plików, poczty elektronicznej i obsługi grup dyskusyjnych.
ISO OSI 7 – jednostki transmisji • 1) surowe bity, • 2) ramki, • 3) pakiety, • 4) konwersacje, • 5) sesje, • 6) abstrakcyjne struktury danych, • 7) protokoły aplikacyjne,
ISO OSI 7 – adresacja • 1) adresy MAC, lub brak adresacji (transmisja rozgłoszeniowa), • 2) adresy MAC, • 3) adresy logiczne (IP, IPX, etc.), • 4) uchwyt konwersacji, • 5) uchwyt sesji, • 6) • 7)
ISO OSI 7 – protokoły • 1) • 2) ODI (Novell), NDIS (Microsoft) • 3) IP, IPX, Apple Talk, • 4) TCP, UDP, ICMP, SPX, • 5) • 6) • 7) HTTP, FTP, SMTP,
Usługi połączeniowe (1/2) • Usługi połączeniowe wzorują się na systemie telefonicznym. Aby z kimś porozmawiać musimy najpierw nawiązać połączenie (podnosimy słuchawkę i wybieramy numer, następnie czekamy na zestawienie połączenia). Numer telefonu to tak naprawdę rodzaj adresu. Analogicznie, aby można było skorzystać z połączeniowej usługi sieciowej, usługa najpierw nawiązuje połączenie, używa go, a następnie przerywa połączenie. Ważną właściwością połączenia jest to, że działa jak rura – nadawca wprowadza obiekty (bity) z jednego końca, a odbiorca wyjmuje je na drugim końcu. W większości przypadków kolejność zostaje zachowana, więc bity przechodzą w porządku wysyłania.
Usługi połączeniowe(2/2) • W niektórych rozwiązaniach po nawiązaniu połączenia nadawca, odbiorca i podsieć przeprowadzają negocjację parametrów, które mają zostać użyte, na przykład maksymalnej wielkości wiadomości, wymaganej jakości usługi i innych kwestii. • Taka negocjacja ma na przykład miejsce w przypadku telefonii VoIP. Musi zostać zagwarantowana przepustowość oraz minimalne opóźnienie.
Usługi bezpołączeniowe • Usługi bezpołączeniowe wzorują się na systemie pocztowym. Każda wiadomość (list) niesie w sobie pełny adres docelowy i każda jest kierowana przez system niezależnie od pozostałych. Gdy do jednego miejsca kierowane są dwie wiadomości, pierwsza wysłana zwykle również dociera pierwsza. Możliwe jest jednak opóźnienie pierwszej wysłanej, przez co druga wysłana dotrze jako pierwsza (nie ma gwarancji kolejności dotarcia do celu).
Jednostki transmisji danych: • 1 BOD = 1 znak na sekundę • Bit • Bajt = 8 Bitów • Bit na sekundę b/s • 1 Bajt na sekundę = 8 Bitów na sekundę • Mega Bit na sekundę Mb/s • Mega Bajt na sekundę MB/s (8 Mb/s)
Technologie sieciowe: • Arc-Net, • 100VG-Anylan, • Ethernet, • Token Ring, • FDDI, • ATM, • Frame-Relay, • PPP, • i inne,