Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)
IP Internet Protocol (wersja 4) Protokół komunikacyjny dla sieci z komutacją pakietów, będący podstawą Internetu Zapewnia wytyczanie tras pomiędzy sieciami (tzw. routing) oraz przesyłanie pakietów po wytyczonych trasach Każdy pakiet jest trasowany indywidualnie więc teoretycznie części tych samych danych mogą docierać do celu różnymi drogami co czasami jest robione celowo w celu równomiernego rozłożenia obciążenia łącz (ang. load balancing)
IP Internet Protocol (wersja 4) Działa na zasadzie podaj dalej więc pakiet na swojej drodze odwiedza wiele węzłów pośrednich co można zobaczyć narzędziem traceroute (Linux) lub tracert (Windows) Protokół IP nie zapewnia: Że pakiet w ogóle dotrze do miejsca przeznaczenia Że pakiety dotrą we właściwej kolejności Zatem muszą to zapewnić protokoły wyższych warstw
IP Internet Protocol (wersja 4) Powstał w latach 1980/81 Od połowy lat 90-ątych jest standardem de-facto sieci komputerowej (po wyparciu Novell IPX/SPX) W roku 2005 twórcy protokołu IPv4 (Vinton Cerf i Robert Kahn) otrzymali Prezydencki Medal Wolności czyli najwyższe amerykańskie odznaczenie cywilne. za wybitny wkład w kulturę amerykańską
IP Internet Protocol (wersja 4) Pakiety IP są zwane datagramami i składają się z nagłówka i danych Nagłówek określa nadawcę, adresata i warunki dostarczenia jest więc odpowiednikiem koperty a dane są odpowiednikiem listu.
Nagłówek datagramu IPv4
Nagłówek datagramu IPv4 Wersja zawsze liczba 4 DN długość nagłówka (ze względu na różną ilość opcji nie jest stała) Typ obsługi teoretycznie służy do zapewnienia priorytetowego traktowania datagramów wysyłanych przez usługi czasu rzeczywistego (np. telefonia VoIP czy streaming filmów) w praktyce często jest ignorowany przez routery
Nagłówek datagramu IPv4 Łączna długość całkowita długość datagramu łącznie z danymi Nr identyfikacyjny, flagi i przesunięcie fragmentu opcje związane z fragmentacją
Nagłówek datagramu IPv4 Fragmentacja Sieci warstwy 2 przez które przechodzi pakiet mogą mieć różną maksymalną długość ramki co jest określane przez MTU (Maximum Transmission Unit) Może się więc zdarzyć że pakiet w pewnym momencie swojej drogi okaże się zbyt duży żeby przejść do kolejnej sieci Wtedy router na początku tej sieci dzieli pakiet na mniejsze pakiety drugiego rzędu (zwane fragmentami) a router na końcu tej sieci składa z fragmentów pierwotny datagram
Nagłówek datagramu IPv4 Fragmentacja Bardzo obciąża routery dzielące i składające fragmenty Zmniejsza niezawodność (więcej fragmentów to większe ryzyko że któryś zaginie) co powoduje konieczność jego retransmisji przez router czyli jeszcze większe obciążenie sieci i routera
Nagłówek datagramu IPv4 Dlatego obecnie fragmentacja jest zastępowana przez nowszą metodę path MTU discovery polegającą na tym że nadawca i odbiorca badają jaki największy pakiet przejdzie całą drogę w jednym kawałku wtedy pola związane z fragmentacją w nagłówku datagramu IP przestają być używane.
Nagłówek datagramu IPv4 Czas życia (TTL Time To Live) Liczba z zakresu od 0 do 255 wpisywana do nagłówka przez nadawcę datagramu i zmniejszana o 1 przez każdy kolejny router na drodze datagramu Datagram o TTL równym 0 jest kasowany przez router dlatego nie ma pakietów krążących w nieskończoność nawet jeżeli ktoś ustawi sobie routing w kółko.
Nagłówek datagramu IPv4 Protokół kod protokołu warstwy 4 (najczęściej TCP), którego dane zawiera datagram Suma kontrolna pozwala na sprawdzenie czy nagłówek dotarł bez błędów ale nie sprawdza poprawności danych datagramu Adres źródłowy adres IP nadawcy datagramu Adres docelowy adres IP adresata datagramu
Nagłówek datagramu IPv4 Opcje Teoretycznie pozwalają dodawać nowe pola do nagłówka IP w razie potrzeby w praktyce nieużywane Wypełnienie tyle zer żeby nagłówek miał długość będącą wielokrotnością 32 bitów.
IP Internet Protocol (wersja 4) Każde urządzenie jest identyfikowane przez adres IP Adres IP składa się z 4 bajtów Dla ułatwienia bajty są oddzielane kropkami Czyli adres IP ma postać a.b.c.d Gdzie a,b,c,d to liczby z zakresu 0-255 Np. 150.254.65.21
IP Internet Protocol (wersja 4) Adres IP składa się z 2 części Adresu sieci Adresu hosta Adres sieci jest zawsze umieszczony przed adresem hosta W przeciwieństwie do adresu MAC obie części adresu IP mogą mieć różną długość Ale zawsze w sumie muszą mieć 4 bajty O tym jaką część adresu IP zajmuje adres sieci określa maska sieci
IP Internet Protocol (wersja 4) Maska sieci zapisywana jest w dwóch postaciach Analogicznej do adresu IP, ale w postaci binarnej składającej się z ciągu samych jedynek a potem ciągu samych zer co daje adresy dziesiętne postaci np. 255.255.255.0 Albo poprzez określenie ile bitów na początku jest jedynkami co zapisuje się /x gdzie x to liczba bitów np. /8, /24, itp.
IP Internet Protocol (wersja 4) Adresy IP, które różnią się tylko maską są różnymi adresami! W jednym segmencie sieci nie może być dwóch urządzeń o identycznym adresie IP. Jeżeli takie są to oba przestają działać. W sąsiednich segmentach sieci nie może być dwóch urządzeń o tym samym adresie IP Bo router nie będzie wiedział do którego urządzenia ma wysyłać
IP Internet Protocol (wersja 4) Dwa urządzenia mogą mieć ten sam adres IP jeżeli Nie znajdują się w sąsiadujących segmentach sieci Żadne z urządzeń nie jest serwerem Co oznacza że adresy IP klientów mogą się powtarzać
Klasy adresów IPv4 Klasa A Dla sieci dużych rozmiarów Binarnie adres zawsze zaczyna się od 0 Maska /8 Maksymalnie 16 mln urządzeń w jednej sieci
Klasy adresów IPv4 Klasa B Dla sieci średnich rozmiarów Binarnie adres zawsze zaczyna się od 10 Maska /16 Maksymalnie 65 tys. urządzeń w jednej sieci
Klasy adresów IPv4 Klasa C Dla sieci małych rozmiarów Binarnie adres zawsze zaczyna się od 110 Maska /24 Maksymalnie 250 urządzeń w jednej sieci
Klasy adresów IPv4 Klasa D Zarezerwowane dla adresów grupowych (multicast) Binarnie adres zawsze zaczyna się od 1110 Rzadko używane Czasami używane dla pojedynczych urządzeń nie wchodzących w skład żadnej sieci
Klasy adresów IPv4 Pierwotnie klasy adresowe były obowiązkowe Po wprowadzeniu zmiennej maski sieci formalnie przestały obowiązywać Ale ponieważ większość adresów była już przydzielona zgodnie z klasami w praktyce funkcjonują nieoficjalnie dalej.
Specjalne adresy IPv4 Adres mój komputer (localhost albo loopback) Adres zawsze 127.0.0.1 Jest zawsze adresem komputera na którym aktualnie się pracuje co oznacza że po zmianie komputera ten sam adres wskazuje na inną maszynę Używany do komunikacji pomiędzy programami na tej samej maszynie (np. pomiędzy programem pocztowym a antywirusem)
Specjalne adresy IPv4 Adres dowolny adres Adres zawsze 0.0.0.0 Jest adresem wszystkich na raz (i każdego z osobna) komputera w Internecie Bezpośrednie połączenie na ten adres nie ma sensu (nie zostanie odebrane) natomiast adres 0.0.0.0 jest stosowany w filtrach adresów (np. NAT, firewalle, itp.)
Specjalne adresy IPv4 Adresy prywatne 1 sieć klasy A: 10.0.0.0/8 16 sieci klasy B: 172.16.0.0/12 256 sieci klasy C: 192.168.0.0/24 Routery ISP nie przekazują połączeń z i do tych adresów.. dlatego adresy te nie są widoczne z poza sieci organizacji Służą do tworzenia intranetów Mogą się powtarzać w różnych organizacjach Komputer z adresem prywatnym może korzystać z Internetu wyłącznie jako klient, przy pomocy NAT (Network Address Translation) dokonywanego przez ISP
Specjalne adresy IPv4 Dla każdej sieci: Adres binarny same zera jest zastrzeżonym adresem sieci Nie może być adresem żadnego konkretnego urządzenia Nie może być użyty bezpośrednio, występuje jedynie w tablicach routingu Np. dla sieci 150.254.114.0/8 adresem sieci jest 150.254.114.0
Specjalne adresy IPv4 Dla każdej sieci: Adres binarny same jedynki jest adresem do wszystkich w sieci (broadcast) Nie może być adresem żadnego konkretnego urządzenia Może być użyty bezpośrednio przez usługi specjalnie do tego przystosowane których w praktyce nie ma Np. dla sieci 150.254.114.0/8 adresem broadcast jest 150.254.114.255
Routing IPv4 Protokół IP działa na zasadzie podaj dalej dzięki czemu żaden komputer nie musi znać mapy całego Internetu. Co musi znać komputer: Adres IP swojej lokalnej sieci Adres IP routera brzegowego tej sieci który to router jest nazywany bramą (ang. gateway albo gw)
Routing IPv4 Routery niższej klasy (np. domowe) konfiguruje się tak jak komputery czyli router będący bramą ma z kolei swoją bramę, itd. co oznacza że awaria bramy odcina cały obsługiwany przez nią fragment sieci
Routing IPv4 Routery wysokiej klasy (używane przez większych ISP) potrafią same znaleźć najlepszą trasę pomiędzy sieciami... przy pomocy protokołu BGP (Border Gateway Protocol) i mogą w każdej chwili zmienić tą trasę w razie potrzeby dzięki czemu nie da się odciąć od sieci np. dużego telekomu czy całego kraju no chyba że z danego kraju na zewnątrz wychodzi tylko jedno łącze
IANA (Internet Assigned Numbers Authority) Amerykańska organizacja non-profit Zajmuje się przydzielaniem: zakresów adresów IPv4 (pula wyczerpana) zakresów adresów IPv6 Przydziela zakresy adresowe wyłącznie Regionalnym Rejestrom Internetowym (RIR Regional Internet Register) i nikomu innemu, nawet w USA
Regionalne Rejestry Internetowe (RIR) Kontynentalne odpowiedniki IANA Zajmują się przydzielaniem: zakresów adresów IPv4 zakresów adresów IPv6 Obsługują wyłącznie użytkowników hurtowych zarejestrowanych jako LIR (Local Internet Register) różne organizacje krajowe i duże telekomy
Regionalne Rejestry Internetowe (RIR) RIPE Europa, Rosja (cała) i Bliski Wschód AFRINIC Afryka APNIC Azja, Australia i wyspy na Pacyfiku ARIN Ameryka Północna (bez Karaibów) LACNIC Ameryka Południowa i Karaiby
Regionalne Rejestry Internetowe (RIR)
Droga przydzielania adresu IP wygląda następująco 1. IANA przydziela zakres adresowy RIR 2. RIR przydziela części swojego zakresu adresowego LIR 3. LIR przydziela części swojego zakresu adresowego ISP 4. ISP przydzielają (lub nie zależnie od umowy) adresy swoim klientom
Problem wyczerpania puli adresów IPv4 Protokół IPv4 powstał w czasach gdy nie wyobrażano sobie komputerów w każdym domu połączeń typu DSL umożliwiających osobom prywatnym bycie podłączonym w trybie 7x24 ani podłączania do Internetu urządzeń innych niż komputery zwłaszcza smartfonów i tabletów
Problem wyczerpania puli adresów IPv4 Teoretycznie 4 bajtowy adres IP umożliwiałby podłączenie niemal 4 mld urządzeń ( niemal ze względu na rezerwację części adresów) czyli 4 razy więcej niż jest podłączone obecnie ale duża ilość adresów jest marnowana ze względu na konieczność przydziału ciągłych zakresów adresowych bo inaczej nie byłby możliwy routing pomiędzy sieciami
Problem wyczerpania puli adresów IPv4 Np. UAM posiada zakres adresów IPv4 150.254.65.0 150.254.119.0 z których dużo adresów nie jest wykorzystywane ale są routowane do sieci AMU-NET, więc nikt inny i tak ich nie może użyć poza tym każdy chce mieć rezerwę wolnych adresów na wszelki wypadek
Problem wyczerpania puli adresów IPv4 Problem został odłożony w czasie poprzez Rezygnację ze sztywnego podziału na klasy adresowe Dynamiczne przydzielanie IP klientom ISP, tak że Adresy IP wyłączonych klientów są przydzielane innym klientom Jeżeli wszyscy klienci włączą swoje urządzenia to ISP ma problem Szerokie stosowanie NAT (Network Address Translation) dla urządzeń nie będących serwerami
Problem wyczerpania puli adresów IPv4 stan na koniec 2013 Ostatni wolny zakres adresowy został przez IANA przydzielony RIR na początku 2011 roku RIPE i APNIC wyczerpały swoje zakresy adresowe w latach 2011-20122012 Pozostałe RIR posiadają jeszcze wolne adresy Ale niektórzy ISP są bliscy wyczerpania swoich zakresów a nowych już nie dostaną
NAT (Network Address Translation) Specjalna funkcja routera IPv4 umożliwiająca mu wstawienie się w środek połączenia internetowego tak że serwerowi wydaje się że klientem jest router NAT a router NAT sam rozdziela przychodzące dane pomiędzy urządzenia w sieci lokalnej dzięki czemu cała sieć lokalna może działać na pojedynczym publicznym adresie IP
NAT (Network Address Translation) Dzięki NAT cała sieć lokalna może działać na pojedynczym publicznym adresie IP Ale urządzenia za NAT-em mogą być tylko klientami ponieważ to one muszą zainicjować połączenie natomiast nikt z zewnątrz do nich się nie połączy dzięki czemu NAT w dużym stopniu chroni również przed hackerami i wirusami
NAT (Network Address Translation)
Internet Protocol version 6 IPv6 Następca protokołu IPv4 Opracowywany od 1992 roku... głównie w celu rozwiązania problemu wyczerpywania się puli adresów IPv4 ale bardzo powoli wdrażany np. Google twierdzi że w 2013 roku jedynie 2% połączeń z wyszukiwarką dokonywanych było przy pomocy IPv6
Internet Protocol version 6 IPv6 Różnice w stosunku do IPv4 Długość adresu IP zwiększona do 128 bitów (z 32 bitów w IPv4) Bardzo rozrzutny przydział adresów np. typowa sieć IPv6 zawiera 2 64 adresów czyli więcej niż cała przestrzeń adresowa IPv4 (!) co ułatwia i przyspiesza routing ale w praktyce uniemożliwia zapamiętanie adresu sieci IPv6 przez człowieka
Internet Protocol version 6 IPv6 Różnice w stosunku do IPv4 Możliwość przemieszczania się odbiorcy pomiędzy sieciami przy zachowaniu stałego adresu IP (niemożliwe w IPv4) Pierwotnie każde urządzenie miało mieć stały adres IPv6 podobny do MAC z czego zrezygnowano (ale opcjonalnie!) ze względu na zagrożenie prywatności ponieważ adres IP jest widoczny z całego świata w przeciwieństwie do MAC widocznego tylko z lokalnej sieci
Internet Protocol version 6 IPv6 Różnice w stosunku do IPv4 Brak fragmentacji, obowiązkowy path MTU discovery Usprawnienie przesyłania dużych strumieni danych (tzw. jumbogramy) Funkcje IPv6 przeniesione również do IPv4 Automatyczne uzyskiwanie adresu IP - DHCP w IPv4 Szyfrowanie zawartości pakietów IP - IPSec
Internet Protocol version 6 IPv6 IPv6 nie jest zgodny w dół z IPv4 więc żeby datagram IPv6 przeszedł przez fragmenty Internetu dalej pracujące na IPv4 konieczne jest tunelowanie czyli potraktowanie datagramu IPv6 jako danych datagramu IPv4 co zmniejsza przepływność (podwójne nagłówki) i zwiększa obciążenie routerów Dodatkowo urządzenia muszą mieć osobne stosy TCP/IP dla wersji v4 i dla wersji v6 co wymaga podwójnej konfiguracji hostów, routerów, firewalli, itp.
Internet Protocol version 6 IPv6 Adres IPv6 ma postać 8 dwubajtowych liczb szesnastkowych oddzielonych dwukropkami Dla skrócenia zapisu często: Pomija się grupy samych zer, zastępując je podwójnym dwukropkiem Grupy więcej niż dwóch dwukropków skraca się do dwóch Np. adres localhost w IPv6 ma postać Forma pełna 0000:0000:0000:0000:0000:0000:0000:0001 Forma skrócona ::1
Internet Protocol version 6 IPv6 Przykładowe adresy IPv6 2a01:110f:67c:2d00:88:cbf9:2d0d:30a2 fe80::3a46:8ff:feb8:405b
DNS Domain Name System System tłumaczący adresy IP na nazwy tekstowe Ponieważ nazwy tekstowe są łatwiejsze do zapamiętania Nazwy DNS mają postać ciągu słów lub skrótów oddzielonych kropkami Np. adresowi 150.254.65.187 odpowiada nazwa www.amu.edu.pl Pierwszy człon (np. www) ) nazwy DNS to nazwa hosta (serwera) Kolejne człony (np. amu.edu.pl) ) to nazwa domeny
DNS Domain Name System Domeny DNS są ułożone hierarchicznie Np. domena amu.edu.pl należy do domeny edu.pl a domena edu.pl należy do domeny pl Tłumaczenie pomiędzy nazwą a adresem dokonywane jest przez tzw. serwery DNS inaczej zwane nameserver Każda domena powinna mieć co najmniej dwa serwery DNS (główny primary i rezerwowy secondary) aczkolwiek małe domeny mają czasami tylko jeden
DNS Domain Name System Domeny bez kropki (np. pl) ) są nazywane domenami najwyższego rzędu (ang. top-level) Każdy kraj ma swoją własną domenę nawet egzotyczne wysepki na Pacyfiku (np. Tuvalu ma domenę tv) jedynym wyjątkiem jest USA, które nie mają swojej domeny krajowej więc po prostu w nazwach domen pomijana jest część krajowa (np. www.whitehouse.gov) dzięki czemu nazwy są krótsze
DNS Domain Name System Niektóre organizacje posiadają własne domeny najwyższego rzędu, niezależne od domen krajowych Np. eu domena instytucji Unii Europejskiej (np. www.europarl.europa.eu)
DNS Domain Name System Drugi człon od końca (a w USA ostatni) zazwyczaj określa rodzaj właściciela serwera Standardowe domeny drugiego rzędu: com firmy, szczególnie duże (np. www.samsung.com) edu szkoły i uczelnie (np. www.amu.edu.pl) gov administracja publiczna (np. sejm.gov.pl) org organizacje non-profit (np. pl.wikipedia.org)
DNS Domain Name System Stosowanie standardowych domen drugiego rzędu nie jest obowiązkowe w praktyce każdy może zarejestrować się w każdej z tych domen Często też firmy rejestrują się bezpośrednio w domenie krajowej dla skrócenia nazwy (np. www.orange.pl)
DNS Domain Name System Domeny najwyższego rzędu również mają swoje serwery DNS Które są zarządzane przez ICANN (Internet Corporation for Assigned Names and Numbers) która podobnie jak IANA jest amerykańską organizacją non-profit.
DNS Domain Name System ICANN (w przeciwieństwie do IANA) jest bardzo nie lubiane przez kraje skonfliktowane z USA ponieważ teoretycznie ICANN może wyłączyć każdą domenę krajową mimo że nigdy dotychczas coś takiego nie nastąpiło ani nikt czymś takim nie groził. Co kilka lat podejmowane są próby poddania ICANN jakiejś formie międzynarodowej kontroli dotychczas bezskutecznie.
DNS Domain Name System Pierwotnie w nazwach domen nie można było stosować znaków narodowych co zostało zmienione pod wpływem Chin i krajów Arabskich ale w praktyce domena zawierająca znaki narodowe będzie niedostępna (bezpośrednio) z poza danego kraju bo znaki te nie będą dostępne na klawiaturach więc co najwyżej można tam trafić poprzez link z innej strony.
DHCP Dynamic Host Configuration Protocol Rozszerzenie protokołu IPv4 i standardowa część protokołu IPv6 Umożliwia urządzeniu na automatyczne uzyskanie adresu IP dzięki czemu urządzenia nie trzeba ręcznie konfigurować co jest bardzo wygodne dla klientów
DHCP Dynamic Host Configuration Protocol Adres IP jest przydzielany przez serwer DHCP na podstawie adresu MAC co oznacza że serwer DHCP musi znajdować się w lokalnym segmencie sieci a pakiety DHCP nie przechodzą przez routery. W jednym segmencie sieci może znajdować się tylko jeden serwer DHCP
DHCP Dynamic Host Configuration Protocol Serwer DHCP może: Przydzielać zawsze ten sam adres IP dla danego adresu MAC (tzw. rezerwacja) Przydzielać pierwszy wolny adres IP z posiadanej puli (tzw. dzierżawa) przy czym zazwyczaj serwer DHCP zapamiętuje jaki adres IP przydzielił danemu adresowi MAC i na kilka dni zarezerwuje ten adres IP dzięki czemu urządzenie często łączące się z siecią ma w praktyce stały adres.