Sieci dostępu do Internetu wykład 1 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 B Request 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 H: Header Symetria H1 DATA H1 DATA N + 1 H1 DATA H1 DATA H2 H1 DATA H2 H1 DATA H2 H1 DATA N H2 H1 DATA H3 H2 H1 DATA H3 H2 H1 DATA H3 H2 H1 DATA N - 1 H3 H2 H1 DATA Kanał transmisyjny
Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Port AUI Port DCE Port MDI Podstawowy Model OSI 7 warstw AUI: Attachment Unit Interface MDI: Medium Dependent Interface 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 Potrzebne są ACKs (acknowledgments) do nawiązania połączenia, kontroli przepływu, ujawniania i naprawiania błędów Zwolnienie połączenia Idle brak połączenia
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) Data offset (4) Sequence number (32) Acknowledgment number (32) Reserv ed (6) U A P R S F R C S S Y I G K H T N N Window (16) Checksum (16) Urgent Pointer (16) Options (Variable) Padding DATA (Variable)
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 LENGTH CHECKSUM 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) 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 klasy A B C Zakres adresów 0.1.0.0. do 126.0.0.0 128.0.0.0 do 191.255.0.0 192.0.1.0 do 223.255.255.0 Liczba adresów w sieci Przeznaczenie 16.777.216 Ogromne sieci 65.536 Duże sieci 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 (2 32 ) 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 Pole hosta przykład 16 bitów 16 bitów Pole sieci Pole podsieci Pole hosta 16 bitów 8 bitów 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 Pole sieci Pole podsieci Pole hosta Maska podsieci: JEDYNKI ZERA Przykład 11111111 11111111 11111111 00000000 Zapis maski w notacji dziesiętnej 255.255.255.0
Adres sieci głównej + slash (/) i liczba jedynek dają pełną maskę podsieci Przykład: Pole sieci 192.168.1 oraz 8 bitów na pole hosta, z którego zabrano 3 bity na pole podsieci 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