Przewodowe sieci dostępu do Internetu
Transkrypt
Przewodowe sieci dostępu do Internetu
Przewodowe sieci dostępu do Internetu - model OSI Dr inż. Małgorzata Langer ISO 7498-1 (1994 rok) • OSI - Open System Interconnection Cele OSI: • Logiczny rozkład złożonej sieci na mniejsze części (WARSTWY) • Możliwość zdefiniowania znormalizowanych interfejsów dla funkcji sieci • Zapewnienie symetrii funkcji przy każdym węźle • Umożliwienie przewidywalności skutków i kontroli nad wszelkimi zmianami w sieci • Ujednolicenie definicji i terminów umożliwiających precyzyjną i jednoznaczną wymianę informacji pomiędzy projektantami sieci, zarządcami, kupcami i producentami sprzętu oraz użytkownikami Założenie: • Każda warstwa daje projektantowi/producentowi/inwestorowi dowolne własne podejście, wykorzystanie know-how i opatentowanych rozwiązań • ZNORMALIZOWANE SĄ „PUNKTY STYKU” (SAP – Service Access Point) – INTERFEJSY POMIĘDZY WARSTWAMI, lub do dostawcy usługi SAP – Service Access Point • Przez SAP przechodzą 4 funkcje pierwotne A Request B Confirm Response Indication SAP SAP Usługodawca (Jedna lub wiele funkcji) Komunikacja pomiędzy warstwami SDU Service Data Unit PCI Protocol Control Information PDU Protocol Data Unit IDU Interface Data Unit ICI Interface Control Information • SDU – Dane użytkownika (CAŁKOWICIE PRZEZROCZYSTE!!) przenoszone przez warstwę N+1 do warstwy N, następnie do N-1 • PCI – informacja wymieniana przez jednostki tej samej warstwy (PEER ENTITIES) w różnych lokalizacjach, aby poinstruować jedna drugą, że należy wykonać określoną funkcję serwisową (NAGŁÓWEK) • PDU – połączenie SDU i PCI • ICI – tymczasowy parametr przenoszony pomiędzy N i N-1 dla właściwego wykonania usługi (np. połączenie na koszt abonenta) • IDU – kompletna jednostka informacji, która przekracza granice warstw – transmitowana poprzez SAP NADAWCA ODBIORCA Symetria H: Header H1 H1 DATA DATA N+1 H1 DATA H2 H1 DATA H1 DATA H1 DATA H2 N H2 H2 H3 H2 H1 DATA H3 H1 DATA H1 DATA H2 H1 DATA N-1 H3 H2 H1 DATA Kanał transmisyjny H3 H2 H1 DATA Podstawowy Model OSI – 7 warstw Application Layer Presentation Layer AUI: Attachment Unit Interface Session Layer MDI: Medium Dependent Interface Transport Layer Network Layer Data Link Layer Physical Layer Port AUI MDI Port DCE Port K A N A Ł Niektóre, pośredniczące, systemy nie muszą wykorzystywać wszystkich warstw – pełnią rolę „przekaźników” Wewnątrz kanału można łączyć wiele obwodów danych (np. różne media) – aktywowana jest warstwa fizyczna SIECI „CONNECTION-ORIENTED” oraz „CONNECTIONLESS” • Connection- oriented – początkowo nie istnieje żadne legalne połączenie pomiędzy DTE i siecią (stan „jałowy” - idle) By nawiązać komunikację niezbędne są procedury ‘handshake’ Dane użytkownika wymieniane są zgodnie z wcześniej ustalonym protokołem Po realizacji połączenia następuje powrót do stanu jałowego Connection oriented Idle – brak połączenia Połączenie ustalone Transfer danych Zwolnienie połączenia Idle – brak połączenia Potrzebne są ACKs (acknowledgments) do nawiązania połączenia, kontroli przepływu, ujawniania i naprawiania błędów Idle – brak połączenia Connectionless – jak skrzynka pocztowa Transfer danych Idle – brak połączenia Nie ma ACKs, brak kontroli przepływu, żadnych mechanizmów do ujawniania i kontroli błędów Ale oczywiście można dołożyć kontrolę błędów do aplikacji lub protokołu w wyższej warstwie Model 5 warstw TCP/IP • 5. Application layer (DHCP – Dynamic Host Configuration Protocol, DNS – Domain Name Service, FTP – File Transfer Protocol, TELNET, SSH – Secure Shell Encryption…) • 4. Transport layer (TCP – Transport Control Protocol, UDP – User Datagram Protocol, IGMP – Internet Group Management Protocol, ICMP – Internet Control Message Protocol …) • 3. Network/Internet Layer (IPv4, IPv.6, OSPF – Open Shortest Path First, ARP – Address Resolution Protocol, …) • 2. Data link layer (Token Ring, Ethernet, GPRS – General Packet Radio Service, …) • 1. Physical layer (Modemy, światłowód, radio,… Warstwa bardzo złożona, obejmuje wiele technologii, tutaj są np. technologie LTE) Przykład operacji TCP/IP PDU segment datagram frame The TCP Segment (PDU) 32 bits H E A D E R P A R T Source port (16) Destination port (16) Sequence number (32) Acknowledgment number (32) Data offset Reserv ed (6) (4) UAPRS F RCSSYI GKHTNN Checksum (16) Options (Variable) DATA (Variable) Window (16) Urgent Pointer (16) Padding Flagi • URG wskazuje, czy znaczące jest pole wskaźnika „pilny” (urgent) • ACK wskazuje, czy znaczące jest pole potwierdzenia (acknowledgment) • PSH wskazuje, że moduł będzie wymagał wciśnięcia przycisku („czy chcesz…?) • RST wskazuje na konieczność zresetowania połączenia Flagi – c.d. • SYN wskazuje na konieczność synchronizacji numerów kolejnych • FIN wskazuje, że wysyłający nie ma już nic więcej do wysłania – inaczej „end of transmission” - EOT) • Window – wartość wskazująca ile bajtów jednorazowo może zaakceptować odbiorca • Checksum – suma kontrolna jedynek (uwzględnia nagłówek i dane) • Urgent pointer – używany, gdy ustawiona jest flaga URG. Służy do oznaczenia danych „pilnych”, z priorytetem (out-ofband). Format dla UDP 32 bity SOURCE PORT DESTINATION PORT CHECKSUM LENGTH DATA Source Port: Pole jest opcjonalne! Jeżeli nie jest wypełnione adresem nadawcy – wpisane są zera Internet Protocol IP • Wersja 4 (v.4) – 32 bity • Wersja 6 (v.6) – 128 bitów • Nazwy Domain Name System (DNS) – obsługiwane są w warstwie aplikacji IPv6 • Od 2001r. – dotychczasowe adresy są „przedłużane” o zera: 0DB8:AC10:FE01:0000:0000:0000:0000 • - zera mogą być pomijane • Założenie: powinno zostać wyeliminowane CIDR (classless inter-domain routing) przy wdrożeniu IPv6 Adresy IP • Przestrzeń adresową (32 bity) podzielono na klasy Nazwa Zakres adresów Liczba Przeznaadresów w klasy czenie sieci A 0.1.0.0. do 126.0.0.0 16.777.216 Ogromne sieci B 128.0.0.0 do 191.255.0.0 65.536 Duże sieci C 192.0.1.0 do 223.255.255.0 256 Małe sieci D – 224.0.0.0 do 239.255.255.255 – Sieci rozgłoszeniowe (radio, TV) E – 240.0.0.0 do 247.255.255.255 – Do doświadczeń Sieć 127.0.0.0 jest zarezerwowana dla adresów pętli zwrotnych Pojemność przestrzeni adresowej • 32 bity dają 4.294.967.296 (232) możliwych pojedynczych adresów, z czego: ~18 milionów zarezerwowano dla sieci prywatnych, ~270 milionów na radio i TV(sieci rozgłoszeniowe multicast) • IPv6 pozwala na około 5.000 adresów na każdy kwadratowy mikrometr powierzchni naszego Globu!! Adresy IP 32-bity pisane są w następujące sposoby: • • • • 10101100000100000000101000010100 10101100 00010000 00001010 00010100 10101100.00010000.00001010.00010100 172.16.10.20 • Klasa: B • Sieć, do której należy adres: 172.16.0.0. Już dawno zabrakło miejsca w poszczególnych klasach (zwłaszcza dla sieci małych) i wykorzystuje się bezklasową przestrzeń adresową (np. metoda variable length masking) Adresy • Adres statyczny – dane urządzenie (np. komputer) ma przypisany STAŁY adres IP • Dynamiczny – urządzenie otrzymuje każdorazowo jeden z adresów należących do grupy współużytkowników (np. przy użytkowaniu neostrady) Sieci – Podsieci - Maski Pole sieci przykład 16 bitów Pole sieci 16 bitów Pole hosta 16 bitów Pole podsieci 8 bitów Pole hosta 8 bitów Pole sieci – unikalny numer identyfikujący sieć główną Pole hosta – unikalny numer identyfikujący hosty w danej sieci głównej Pole podsieci – zabiera się pewną ilość skrajnych lewych bitów z pola hosta Maski • ‘1’ Jedynki wskazują pole sieci • ‘0’ Zera wskazują pole hosta Pola po dodaniu podsieci Maska podsieci: Przykład Zapis maski w notacji dziesiętnej Pole sieci Pole podsieci Pole hosta JEDYNKI 11111111 11111111 11111111 255.255.255.0 ZERA 00000000 Adres sieci głównej + „slash” (/) i liczba jedynek – dają pełną maskę podsieci Przykład: Pole sieci 192.168.1 bity na pole podsieci oraz 8 bitów na pole hosta, z którego zabrano 3 Notacja binarna: Sieć główna: 11000000.10101000.00000001. 00000000 Maska podsieci: 11111111.11111111.11111111. 111 00000 Maska podsieci w notacji dziesiętnej: 255.255.255.224 Pełen poprawny zapis adresu 192.168.1.0 z maską 255.255.255.224 192.168.1.0/27 ĆWICZENIA • Przykład: Podać w notacji binarnej i dziesiętnej numer sieci dla adresu hosta: 172.16.9.136/22 Jak urządzenia obliczają adresy Wykonywane jest mnożenie logiczne (AND) adresu i maski dla każdego bitu Adres rozgłoszeniowy (BROADCAST ADRES) Wszystkie bity w polu hosta są jedynkami Ćwiczenie: podaj adres rozgłoszeniowy dla 172.16.8.0/22 Struktura pakietu IP po 32 bity • • • • • • • Bity 0-3 wersja IP 4-7 długość nagłówka 8-15 typ usługi (Type of Service) 16-31 całkowita długość pakietu + (0-15) numer ID + (16-18) Flagi + (19-31) Offset (przesunięcie) c.d. • • • • • • • ++ (0-7) TTL – czas życia pakietu ++ (8-15) – protokół warstwy wyższej ++ (16-31) – Suma kontrolna nagłówka +++ (0-31) adres źródłowy IP ++++(0-31) adres docelowy IP +++++(0-18) opcje (19-31) uzupełnienie Od 192 bitu - dane Długość nagłówka • Pole zawiera 4 bity; ilość 32-bitowych słów składających się na nagłówek. Typowo nagłówek zawiera 20 bajtów, więc wartość w polu zazwyczaj wynosi 5 (0101) TOS (Type of Service) • Ustalanie priorytetu i klasy usługi (pierwsze 2 bity dają rodzaj usługi – np. ssh, ftp; „1” w trzecim bicie – to prosba o opóźnienie, w czwartym – żądanie zwiększenia przepływności, w 5 – tzw bit niezawodności – żądanie zwiększenia jakości, dwa ostatnie – zależnie od operatora; nie są ustandaryzowane) Całkowita długość pakietu • 16 bitów pozwala na ustawienie wielkości maksymalnej na 65.536 bajtów • Wszystkie bramki w sieci globalnej „muszą dać sobie radę” przynajmniej z 576 bajtów • Minimalna długość pakietu: 20 bajtów (czyli typowa długość nagłówka) ID • Potrzebny do fragmentacji i defragmentacji (pozwala odbiorcy zidentyfikować, skąd pochodzi fragment) Flagi • Wskazują, czy wolno dzielić fragment, a jeżeli tak – ostatni bit mówi, czy to jest ostatni fragment pakietu; Offset pokazuje numer fragmentu (od 0 w górę) Time to live - TTL • Liczba (8 bitów) zostaje zmniejszana przy przejściu przez każdy router. Po osiągnięciu 0 pakiet nie jest dalej przekazywany – zapobiega to nieskończonemu błąkaniu się pakietów po sieci Protokół warstwy wyższej Na przykład: • TCP – to wartość 6 • ICMP – to 1 • UDP – to 17 • OSI transport layer - 20 Główne usługi IP • Source routing (protokół warstwy wyższej [ULP] może dać listę kolejnych adresów IP aż do końcowego skoku) • Routing operations – decyzje co do soku zgodnie z listą lub tabelą dostępnych bramek (statycznych lub dynamicznych); obliczanie drogi najkrótszej • Informację o niedostępności może przesłać ICMP, IP nie ma takich mechanizmów Główne usługi IP – c.d. • Loose and strict routing • Loose – dopóki „da się”, wykorzystana jest ‘source list’, jeżeli nie ma możliwości, droga i najbliższy skok wykonywany jest zgodnie z innymi algorytmami • Strict – tylko zgodnie z ‘source list’, jeżeli nie – to wcale Główne usługi IP – c.d. • Route-Recording Option – tak, jak ‘source routing’, ale z zapisywaniem ścieżki • Timestamp Option – każdy moduł IP daje swój czas z dokładnością do milisekund, wg czasu Greenvich • ICMP module (internet control message protocol) – BO IP JEST BEZPOŁĄCZENIOWY (CONECTIONLESS) I NIE MA ŻADNYCH MECHANIZMÓW KONTROLI DHCP – Dynamic Host Configuration Protocol • Znajduje się w warstwie aplikacji • Został opublikowany jako standard w roku 1993 (RFC 2131); DHCPv6 opisany w RFC 3315 jest integralną częścią opisu IPv6 • Protokół komunikacyjny - umożliwia uzyskanie od serwera danych konfiguracyjnych (adres IP hosta, bramy sieciowej, DNS, maski podsieci…) • Protokół DHCP opisuje trzy techniki przydzielania adresów IP: • Przydzielanie ręczne (oparte na tablicy adresów MAC i ich odpowiednich adresów IP - tworzonej przez administratora serwera DHCP). Prawo do pracy w sieci mają tylko komputery zarejestrowane wcześniej przez obsługę systemu. • Przydzielanie automatyczne, gdzie wolne adresy IP z zakresu ustalonego przez administratora są przydzielane kolejnym zgłaszającym się po nie klientom na cały czas podłączenia. • Przydzielanie dynamiczne. Administrator sieci nadaje zakres adresów IP do rozdzielenia, zwykle mniejszy niż ilość klientów. Po starcie systemu klienci automatycznie pobierają swoje adresy ale tylko na pewien czas. Taka konfiguracja powoduje, że zwykły użytkownik ma ułatwioną pracę z siecią. • Niektóre serwery DHCP dodatkowo przydzielają każdemu klientowi własny adres DNS, przekazywany na serwer nazw protokołem zgodnym ze specyfikacją RFC 2136 Komunikaty dla przydziału dynamicznego • DHCPDISCOVER – zlokalizowanie serwerów "Do wszystkich serwerów DHCP w sieci. Potrzebny mi adres IP„ Klient nie ma jeszcze przydzielonego adresu, nie może korzystać z TCP/IP – wysyła więc to żądanie w UDP • DHCPOFFER – przesyłanie parametrów - serwer DHCP przesyła adres IP W sieci może być kilka serwerów DHCP i klient może otrzymać kilka ofert – KRYTERIA WYBORU NIE SĄ OPISANE W STANDARDZIE Klient podejmuje decyzję i ponownie w UDP wysyła do wybranego serwera DHCP: • DHCPREQUEST – żądanie przydzielenia używanych parametrów Komunikaty DHCP – c.d. • DHCPACK – potwierdzenie przydziału parametrów – serwer przydziela klientowi tymczasowy numer IP, klient sprawdza, czy adresu nie stosuje inny komputer w sieci i wpisuje otrzymane parametry do komputera Nieodłącznym elementem jest przyznanie czasu ważności ustawień (użytkowania przyznanego numeru) (lease – minuty? Godziny? Dni?). W tle pracują dwa zegary - T1 odmierza połowę czasu ważności, zaś T2 - 87,5 procent pełnego czasu ważności ustawień. Obie wartości można zmienić w opcjonalnych ustawieniach serwera DHCP - jeśli takie funkcje zostały zaimplementowane. Po upływie czasu T1 klient wysyła komunikat DHCPREQUEST do serwera i pyta, czy serwer może przedłużyć czas użytkowania. Stan ten określa się jako renewing status. Z reguły serwer odpowiada wiadomością DHCPACK i przydziela nowy czas użytkowania. Serwer resetuje wówczas zegary T1 i T2. Komunikaty DHCP – c.d. Jeżeli po upływie czasu T2 klient nie otrzyma wiadomości DHCPACK, rozpoczyna się tak zwany rebinding status. Klient musi ponownie wysłać komunikat DHCPREQUEST, żeby uzyskać przedłużenie czasu użytkowania. Serwer może odpowiedzieć na to żądanie potwierdzeniem DHCPACK. Jeżeli jednak i to żądanie pozostanie bez odpowiedzi, klient musi zażądać nowego adresu IP od początku, czyli rozsyła zapytania do wszystkich serwerów DHCP w sieci. Komunikaty DHCP – c.d. • DHCPNAK – odmowa przydziału parametrów – klient „wraca do punktu wyjścia” • DHCPDECLINE – wskazanie że adres sieciowy przesłany w DHCPACK jest już używany • DHCPRELEASE – zwolnienie adresu • DHCPINFORM – żądanie przydziału parametrów (bez adresu IP).