Wprowadzenie do TCP/IP Wykład nr 3
Wprowadzenie do TCP/IP TCP/IP to zestaw protokołów dla pakietowej sieci rozległej WAN, o nazwie pochodzącej od dwóch protokołów składowych TCP - Transmission Control Protocol IP - Internet Protocol
Możliwości TCP/IP Może działać na sprzęcie różnych producentów Zawiera wbudowane trzy podstawowe aplikacje umożliwiające: pracę zdalną, transfer plików, korzystanie z poczty elektronicznej Schemat adresowania IP pozwala na łatwe łączenie wielu sieci Udostępnia dwa niezależne mechanizmy transportowe W warstwie aplikacyjnej TCP/IP opiera się na relacji klient/serwer Może współpracować z różnymi protokołami poziomu łącza danych i różnymi typami nośnika
Protokół TCP/IP - zalety otwartość i niezależność od specyfikacji sprzętowoprogramowej systemów komputerowych, możliwość integracji wielu różnych rodzajów sieci komputerowych, wspólny schemat adresacji pozwalający na jednoznaczne zaadresowanie każdego użytkownika, istnienie standardowych protokołów warstw wyższych. dobrą odtwarzalność po awarii, wysoki współczynnik obsługi błędów, mały stopień obciążenie danych własnymi strukturami, możliwość dodawania nowych sieci bez przerywania istniejącej obsługi, 4
Historia protokołu TCP/IP 1962 - pojawienie się koncepcji wielkiej sieci komputerowej, rozpoczęcie prac nad projektem DARPA 1966-69 - powstanie sieci ARPANET i prace nad jej rozwojem 1970 - powstanie protokołu NCP (Network Control Protocol) 1973 - idea sieci o architekturze otwartej TCP/IP (Transmission Control Protocol-Internet Protocol) 1977-80 - powstanie dwóch protokołów dotyczących scalania sieci IGP i EGP (Interior Gateway Protocol i Exterior Gateway Protocol) 1985 - akceptacja TCP/IP jako ogólnego standardu i rozpoczęcie prac nad jego udoskonalaniem
Problemy TCP/IP Internet rozrasta się w postępie geometrycznym, ilość przyłączonych hostów podwaja się z każdym rokiem. Groźba wyczerpania się możliwości 32-bitowego adresowania stała się faktem.
Przyszłość TCP/IP - Next Generation Nowy, 128-bitowy system adresowania Udoskonalona postać nagłówka IP z rozszerzeniami dla aplikacji i opcji Brak sumy kontrolnej Nowe pole kontrolne zwane etykietą potoku Zabezpieczenie przed zjawiskiem tzw. fragmentacji pośredniej Wbudowane narzędzia kryptograficzne i mechanizmy weryfikacji
Architektura TCP/IP TCP/IP a model OSI Adresowanie Warstwy TCP/IP
TCP/IP a model OSI Zestaw protokołów TCP/IP nie jest w pełni zgodny z siedmiowarstwowym modelem odniesienia OSI. wyłącznie trzy warstwy ponad warstwą łącza danych nie tworzy pełnej hierarchii w ścisłym znaczeniu tego słowa funkcje spełniane przez poszczególne warstwy modelu OSI nie pokrywają się z funkcjami warstw modelu TCP/IP siłą napędową rozwoju TCP/IP są użytkownicy końcowi
TCP/IP a model OSI
Adresowanie Każdy komputer w sieci TCP/IP ma niepowtarzalny, 32- bitowy adres IP identyfikujący nie tylko komputer, lecz również sieć do której należy. Adresy IP są 32-bitowe i zapisuje się je w notacji dziesiętnej oddzielając poszczególne segmenty adresu kropkami. Na adres IP składają się trzy podstawowe elementy : bity określające klasę adresu część identyfikująca sieć lokalną część identyfikującą konkretny komputer w sieci
Adresowanie Aplikacje komunikują się ze sobą z wykorzystaniem portów Istnieje tzw. lista dobrze znanych portów, zawierająca adresy standardowych aplikacji i usług TCP/IP. Porty służą do identyfikacji aplikacji i usług wykorzystujących TCP lub UDP jako protokół transportowy.
Adresowanie IP Format adresu IP 149.156.96.9 Klasy adresów IP Bity 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Klasa A 0 Adres sieci (7 bitów) Adres hosta (24 bitów) Klasa B 1 0 Adres sieci (14 bitów) Adres hosta (16 bitów) Klasa C 1 1 0 Adres sieci (21 bitów) Adres hosta (8 bit) Klasa D 1 1 1 0 Adresy grupowe Klasa E 1 1 1 1 Adresy eksperymentalne 13
Adresowanie klasy adresowe klasę A rozpoczyna liczba od 0 do 127. klasę B rozpoczyna liczba od 128 do 191. klasę C rozpoczyna liczba od 192 do 223. klasę D rozpoczyna liczba od 224 do 239. klasę E rozpoczyna liczba od 240 do 255.
Adresowanie IP Maski podsieci Adres w notacji dziesiętnej Notacja binarna Pełny adres sieciowy 192.168.5.10 11000000.10101000.00000101.00001010 Maska podsieci 255.255.255.0 11111111.11111111.11111111.00000000 Adres sieci 192.168.5.0 11000000.10101000.00000101.00000000 Adres klienta 0.0.0.10 00000000.00000000.00000000.00001010 Zastosowanie Bity 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Adres klasy B 1 0 Adres sieci (14 bitów) Adres hosta (16 bitów) Maska klasy B 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Klasa B 1 0 Adres sieci (14 bitów) Adres posieci Adres hosta (8 bitów) Maska podsieci 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 15
DNS (Domain Name System) DNS jest usługą polegającą na tłumaczeniu podanych w formacie mnemonicznej adresów internetowych (np. www.agh.edu.pl) na odpowiadające im numery IP. Wprowadzono w celu ułatwienia zapamiętania adresów www.agh.edu.pl <==> 149.156.96.2 Kod Rozwinięcie Opis com commercial komputer komercyjny (np.: microsoft.com) edu educational komputer edukacyjny (np.: uniwersytecki: agh.edu.pl) gov governemet komputer rządowy (np.: urm.gov.pl) mil military komputer wojskowy lub organizacji związanej z wojskiem org organization inne organizacje int international organizacje międzynarodowe net network komputer zawierający zasoby sieciowe 16
DNS Znaczenie poszczególnych części adresu usługa.nazwa.kategoria.kraj Wykaz dostępnych usług Lista występujących kategorii ftp www archie gopher irc serwer FTP serwer World Wide Web serwer usługi Archie serwer usługi Gopher serwer usługi IRC com (commercial)komercjalny edu (educational) edukacyjny gov (governemet) rządowy mil (military) wojskowy org (organization) inne organizacje net (network) zasobów sieciowych
Warstwy TCP/IP Warstwa aplikacji Warstwa sieciowa Warstwa transportowa Warstwa łącza danych
Warstwa łącza danych W TCP/IP nie ma określonych standardowych protokołów na poziomie warstwy łącza. Wybór zależy od przeznaczenia i wymagań stawianych sieci. W sieci TCP/IP mogą być wykorzystywane różne protokoły łącza, np.: Ethernet Token Ring FDDI (Fiber Distributed Data Interface) X.25
Technologie sieciowe Arcnet - Attached Resource Computer Network pierwszy standard sieci lokalnych, umożliwiał transport z prędkością 2,5 Mbps. Sieć budowana była w oparciu o magistralę przy wykorzystaniu kabla koncentrycznego. Ethernet - standard sieci lokalnych opracowany w 1976 przez Xerox, Dec i Intel, określający techniczne zasady transmisji danych do 10 Mbps. FastEthernet - standard umożliwiający transmisję z prędkością do 100 Mbps TokenRing - prędkość 4-16 Mbps budowana w topologii pierścień. FDDI - transmisja do 100 Mbps, topologia podwójnego pierścienia, światłowód. ATM - Asynchronous Transfer Mode, transmisja do 622 Mbps. 20
Ewolucja technologii sieciowych Szybkość transmisji w Mb/s Obsługiwane aplikacje 1000 100 Sieci LAN FDDI FE 100VGany LAN GE HSTR ATM 622 100 25 interakcyjne usługi mutlimedialne (interakcyjny przekaz obrazów) usługi mutlimedialne (przekaz obrazów stałych o dużej rozdzielczości) 10 Eth10 TR16 interakcyjny przekaz danych 1 TR4 Eth3 ISDN-P wspomagane komputerowo projektowanie, zarządzanie i wytwarzanie (CAD/CAM) 0,1 0,01 X.25 X.25 ISDN Sieci WAN asynchroniczny transfer plików (poczta elektroniczna, asynchoniczny transfer danych 1985 1990 Rok wprowadzenia 1995 2000 21
Urządzenia pomocnicze Regeneratory to urządzenia mające za zadanie utrzymanie fizycznej komunikacji między stacjami roboczymi a serwerem. Koncentrator (hub) to elementarny węzeł komunikacyjny w sieci LAN umożliwiający łączenie i rozgałęzianie dróg komunikacyjnych. Wzmacniak (repeater) to urządzenie sieci lokalnej wzmacniające sygnał, dzięki czemu istnieje możliwość rozszerzenia sieci. 22
Urządzenia pomocnicze Druga grupa obejmuje urządzenia umożliwiające połączenie między sieciami tj. Most (bridge) urządzenie łączące dwie lub więcej jednakowe sieci umożliwiające przesyłanie danych między nimi. Router umożliwia połączenie sieci LAN i WAN Brama (gateway) łączy sieci o różnych sposobach przesyłania danych 23
Warstwa aplikacji Warstwa aplikacyjna jest niezależna od platformy sprzętowej i wykorzystuje technologię klient/serwer. Klient inicjuje aplikacje, a serwer odpowiada na żądanie klientów. Realizacją tej koncepcji są podstawowe aplikacje TCP/IP: TELNET (aplikacja umożliwiająca pracę zdalną) FTP (aplikacja umożliwiająca transfer plików) SMTP (aplikacja obsługująca pocztę elektroniczną)
Inne protokoły warstwy aplikacyjnej X (protokół udostępniający rozproszone środowisko okienkowe) KERBEROS (protokół zabezpieczający) CMOT (protokół zarządzania informacjami) SNMP (protokół zarządzania siecią) RPC (programy pozwalające aplikacjom wywoływać procedurę uruchamiającą serwer) NFS (rozproszony system zarządzania plikami) TFTP (protokół przesyłania plików wykorzystującym UDP jako mechanizm transportowy) DNS (rozproszona baza danych zawierająca adresy IP i ich aliasy)
Warstwa transportowa TCP/IP zawiera dwa mechanizmy transportowe: TCP jest zorientowanym połączeniowo bezpiecznym protokołem, przeprowadzającym automatyczne retransmisje w przypadku wykrycia błędów. Steruje on danymi otrzymanymi z góry, z warstwy aplikacyjnej. UDP jest protokołem typu bezpołączeniowego, to znaczy nie sprawdzającym poprawności danych i nie przeprowadzającym retransmisji. UDP jest używany w specyficznych warunkach przez niektóre aplikacje sieciowe. Aplikacje korzystające z UDP muszą mieć własne mechanizmy weryfikacji i retransmisji danych.
Realizacja niezawodnego połączenia
Reakcja na utratę pakietu
Warstwa sieciowa Odpowiada za obsługę komunikację między komputerami. Przyjmuje pakiety z warstwy transportowej razem z informacjami identyfikującymi odbiorcę, sprawdza czy wysłać datagram wprost do odbiorcy czy też do routera. Zajmuje się także datagramami przychodzącym sprawdzając ich poprawność i stwierdzając czy należy je przesłać dalej czy też przetwarzać na miejscu.
Warstwa sieciowa - protokoły IP (Internet Protocol) ICMP (Internet Control Message Protocol) ARP (Address Resolution Protocol) RARP (Reverse Address Resolution Protocol)
IP - Internet Protocol Najbardziej podstawowa usługa - przenoszenie pakietów bez użycia połączenia nosi nazwę Internet Protocol Usługa ta jest zdefiniowana jako zawodny system przenoszenia pakietów bez użycia połączenia. Każdy pakiet obsługiwany jest niezależnie od innych. Pakiety z jednego ciągu mogą podróżować różnymi ścieżkam, niektóre z nich mogą zostać zgubione, inne natomiast dotrą bez problemów. Pakiet może zostać zagubiony, zduplikowany, zatrzymany lub dostarczony z błędem, a system nie sprawdzi, że coś takiego zaszło, a także nie powiadomi o tym ani nadawcy, ani odbiorcy
IP - zadania Definiuje podstawowe jednostki przesyłanych danych, używane w sieciach TCP/IP. Określa dokładny format wszystkich danych przesyłanych przez sieć. Definiuje operacje trasowania, wykonywane przez oprogramowanie IP. Polega ono na wybieraniu trasy, którą będą przesyłane dane. Określa zbiór reguł, które służą do realizacji zawodnego przenoszenia pakietów. Opisują one w jaki sposób węzły i routery powinny przetwarzać pakiety, jak i kiedy powinny być generowane komunikaty o błędach oraz kiedy pakiety mogą być porzucane.
ICMP (Internet Control Message Protocol) Powstał aby umożliwić routerom oznajmianie o błędach oraz udostępnianie informacji o niespodziewanych sytuacjach Protokół ICMP jest traktowany jako wymagana część IP i musi być realizowany przez każdą implementację IP Gdy datagram powoduje błąd, ICMP może jedynie powiadomić pierwotnego nadawcę o przyczynie
ARP (Address Resolution Protocol) Aby dwie maszyny mogą się komunikować zachodzi potrzeba przekształcenia adresu IP na adres fizyczny tak aby informacja mogła być poprawnie przesyłana. Przekształcenia adresu IP na adres fizyczny dokonuje protokół odwzorowania adresów ARP, który zapewnia dynamiczne odwzorowanie i nie wymaga przechowywania tablicy przekształcania adresowego.
Zasada działania ARP
RARP (Reverse ARP) protokół odwrotnego odwzorowania adresów RARP umożliwia uzyskiwanie adresu IP na podstawie znajomości własnego adresu fizycznego (pobranego z interfejsu sieciowego). Komputery bez dysku twardego pobierają adres IP z maszyny uprawnionej do świadczenia usług RARP, po przesłaniu zapytania z własnym adresem fizycznym.
Zasada działania RARP
Adresowanie zasobów za pomocą URL
URL - Uniform Resource Locator oznacza ujednolicony format adresowania zasobów (informacji, danych, usług), stosowany w Internecie i w sieciach lokalnych. URL składa się z części określającej rodzaj zasobu/usługi (ang. scheme), dwukropka i części zależnej od rodzaju zasobu (ang. scheme-specific part). np: http://agh.edu.pl 39
URL - Uniform Resource Locator <schemat> : <autoryzacja> : <port> / <ścieżka>? <zapytanie> # <fragment> lub z użytkownikiem i hasłem: <schemat> : // użytkownik:hasło @ <autoryzacja> : <port> / <ścieżka>? <zapytanie> # <fragm> http://www.jakis-serwer.pl:8080/katalog1/katalog2/plik? \ / \ /\ /\ / schemat autoryzacja port ścieżka do pliku (protokół) (nazwa serwera) parametr1=wartosc1¶metr2=wartosc2#fragment_dokumentu \ / \ / zapytanie fragment 40
URL - Uniform Resource Locator Przykładowy URL: http://www.wikipedia.com/wiki/url gdzie: http protokół dostępu do zasobu www.wikipedia.com adres serwera wiki/url ścieżka dostępu do zasobu 41
URL - Uniform Resource Locator najpopularniejsze rodzaje zasobów * FTP * HTTP * HTTPS * MAILTO * telnet * NNTP * file * news 42