Sieci komputerowe Wykład 3: Protokół IP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 3 1 / 24
Przypomnienie W poprzednim odcinku Podstawy warstwy pierwszej (fizycznej) i drugiej (łacza danych). Druga warstwa: Umożliwia wysyłanie ramek. Jest zawodna, bezpołaczeniowa (potwierdzanie jest opcjonalne, w Ethernecie nie ma). Umożliwia wysyłanie wiadomości: w sieciach rozgłoszeniowych (Ethernet z koncentratorem), albo dwupunktowych (komputer do komputera). Przełaczanie pakietów na podstawie adresów (przełaczniki sieciowe i mosty). Karty sieciowe interfejsy sieciowe Sieci komputerowe (II UWr) Wykład 3 2 / 24
Warstwa trzecia Warstwa sieci Warstwa trzecia (sieci) Daje warstwie czwartej możliwość wysyłania pakietów pomiędzy dwoma dowolnymi komputerami. Warstwa 3 odpowiada za routing = warstwa 4 nie musi przejmować się liczba, typem i technologia routerów. Adresy sieciowe stosuja jednolita numerację w całej sieci (adresy IP w Internecie). Usługi bezpołaczeniowe i zawodne. Sieci komputerowe (II UWr) Wykład 3 3 / 24
Warstwa sieci Warstwa sieci Umożliwia łaczenie dwóch różnych sieci (być może opartych na różnych technologiach warstwy drugiej). R Łaczenie jest możliwe też za pomoca mostów (szybsze, kłopoty z różnym MTU). Sieci komputerowe (II UWr) Wykład 3 4 / 24
Adresy IP Adresacja Założenia: Każdy komputer w sieci ma unikatowy 4-bajtowy numer. Komputery w jednej sieci maja adresy z pewnej podgrupy. Sieci sa łaczone routerami. Notacja dziesiętna z kropkami, np. 156.17.4.1 Sieci komputerowe (II UWr) Wykład 3 5 / 24
Adresy IP Adresacja Założenia: Każda karta sieciowa ma unikatowy 4-bajtowy numer. Komputery w jednej sieci maja adresy z pewnej podgrupy. Sieci sa łaczone routerami. Notacja dziesiętna z kropkami, np. 156.17.4.1 Sieci komputerowe (II UWr) Wykład 3 5 / 24
Adresacja Historycznie: klasy adresów Każdy adres IP dzielimy na numer sieci i numer komputera. Linie podziału sa wyznaczone przez pierwsze bity adresu IP. Sieć klasy A: pierwszy bit IP równy 0, 1 bajt na numer sieci, 3 bajty na numer komputera w tej sieci. Sieć klasy B: pierwsze bity IP równe 10, 2 bajty na numer sieci, 2 bajty na numer komputera w tej sieci. Sieć klasy C: pierwsze bity IP równe 110, 3 bajty na numer sieci, 1 bajt na numer komputera w tej sieci. Sieć klasy D: pierwsze bity IP równe 1110, zarezerwowana do multicastingu (rozgłaszania grupowego). Sieć klasy E: pierwsze bity IP równe 1111, zarezerwowana. Sieci komputerowe (II UWr) Wykład 3 6 / 24
Adresacja Historycznie: klasy adresów Każdy adres IP dzielimy na numer sieci i numer komputera. Linie podziału sa wyznaczone przez pierwsze bity adresu IP. Sieć klasy A: pierwszy bit IP równy 0, 1 bajt na numer sieci, 3 bajty na numer komputera w tej sieci. Sieć klasy B: pierwsze bity IP równe 10, 2 bajty na numer sieci, 2 bajty na numer komputera w tej sieci. Sieć klasy C: pierwsze bity IP równe 110, 3 bajty na numer sieci, 1 bajt na numer komputera w tej sieci. Sieć klasy D: pierwsze bity IP równe 1110, zarezerwowana do multicastingu (rozgłaszania grupowego). Sieć klasy E: pierwsze bity IP równe 1111, zarezerwowana. Sieci komputerowe (II UWr) Wykład 3 6 / 24
Klasy adresów, cd. Adresacja Adresy przydziela organizacja niedochodowa IANA. Przykłady: Sieć klasy A: adresy od 6.0.0.0 do 6.255.255.255 Sieć klasy B: adresy od 156.17.0.0 do 156.17.255.255 Sieć klasy C: adresy od 201.66.155.0 do 201.66.155.255 Najniższy i najwyższy adres w sieci nie może być wykorzystany na adres dla komputera. Sa to odpowiednio adres sieci i adres rozgłoszeniowy (broadcast). Sieci komputerowe (II UWr) Wykład 3 7 / 24
Klasy adresów, cd. Adresacja Adresy przydziela organizacja niedochodowa IANA. Przykłady: Sieć klasy A: adresy od 6.0.0.0 do 6.255.255.255 Sieć klasy B: adresy od 156.17.0.0 do 156.17.255.255 Sieć klasy C: adresy od 201.66.155.0 do 201.66.155.255 Najniższy i najwyższy adres w sieci nie może być wykorzystany na adres dla komputera. Sa to odpowiednio adres sieci i adres rozgłoszeniowy (broadcast). Sieci komputerowe (II UWr) Wykład 3 7 / 24
Adresacja Problemy z klasami adresów Adresy jednej klasy teoretycznie powinny odnosić się do pojedynczej sieci. Ethernet = fizyczne ograniczenia na liczbę komputerów. Nie można sensownie wykorzystać sieci klasy A czy B. Rozwiazanie: zmiana w systemie adresowania. Sieci komputerowe (II UWr) Wykład 3 8 / 24
CIDR Adresacja CIDR Sieci klasy A, B lub C: odpowiednio 8, 16 lub 24 bity z adresu IP sa adresem sieci. CIDR: Classless InterDomain Routing Adres (pod)sieci ma dowolna długość w bitach. Przykład: Sieć 192.168.2.0/23 może zawierać 512-2 komputerów o adresach od 192.168.2.1 do 192.168.3.254. Konwencja: Przy podawaniu sieci, bity po adresie sieci równe 0. Klasy: Szczególny przypadek CIDR, np.: sieć 8.0.0.0 = sieć 8.0.0.0/8. Sieci komputerowe (II UWr) Wykład 3 9 / 24
CIDR Adresacja CIDR Sieci klasy A, B lub C: odpowiednio 8, 16 lub 24 bity z adresu IP sa adresem sieci. CIDR: Classless InterDomain Routing Adres (pod)sieci ma dowolna długość w bitach. Przykład: Sieć 192.168.2.0/23 może zawierać 512-2 komputerów o adresach od 192.168.2.1 do 192.168.3.254. Konwencja: Przy podawaniu sieci, bity po adresie sieci równe 0. Klasy: Szczególny przypadek CIDR, np.: sieć 8.0.0.0 = sieć 8.0.0.0/8. Sieci komputerowe (II UWr) Wykład 3 9 / 24
Hierarchie Adresacja CIDR CIDR umożliwia bardziej hierarchiczne podejście do adresowania komputerów. Obrazek ze strony http://en.wikipedia.org/wiki/classless_inter-domain_routing Ostatni przykład: CIDR użyty jako zbiór adresów IP, a nie jako faktyczna sieć. Sieci komputerowe (II UWr) Wykład 3 10 / 24
Maski podsieci Adresacja CIDR Przykład: sieć 123.234.34.64/26 = adresy IP 123.234.34.64 123.234.34.127. W tym przypadku maska podsieci = /26 Inna notacja: maska równa 255.255.255.192, sieć = 123.234.34.64/255.255.255.192 Wyłuskiwanie adresu sieci: 01111011 11101010 00100010 01010000 = 123.234. 34. 80 11111111 11111111 11111111 11000000 = 255.255.255.192 ---AND------AND------AND-------AND------------------- 01111011 11101010 00100010 01000000 = 123.234. 34. 64 Sieci komputerowe (II UWr) Wykład 3 11 / 24
Uwagi i pułapki Adresacja CIDR Przy CIDR sam adres IP sieci nie wystarcza, potrzebna jeszcze maska. Przykładowo: 123.234.34.64/26 =123.234.34.64/27 + 123.234.34.96/27 =123.234.34.64/28 + 123.234.34.80/28 + 123.234.34.96/28 + 123.234.34.112/28. Adres 123.234.34.80 nie może być adresem komputera w sieci 123.234.34.80/28, ale może być w sieci 123.234.34.64/26. Analogicznie: adres 123.234.34.95 jest adresem rozgłoszeniowym w sieci 123.234.34.80/28 i w sieci 123.234.34.64/27, ale już nie w sieci 123.234.34.64/26. Sieci komputerowe (II UWr) Wykład 3 12 / 24
Uwagi i pułapki, cd. Adresacja CIDR Maska /32 oznacza pojedynczy komputer. Przy maskach /32 i /31 (łacze dwupunktowe) nie używa się adresów sieci i broadcast. Sieci komputerowe (II UWr) Wykład 3 13 / 24
Pętla lokalna Adresacja Adresy specjalne Sieć 127.0.0.0/8 Pętla lokalna (ang. loopback) łacz ac się z dowolnym komputerem z tej sieci (zazwyczaj z 127.0.0.1), łaczymy się sami ze soba. Zastosowanie: możemy pisać i testować aplikacje sieciowe nie posiadajac połaczenia z siecia. Sieci komputerowe (II UWr) Wykład 3 14 / 24
Adresy lokalne Adresacja Adresy specjalne Zarezerwowana część adresów IP Nie powinny być przekazywane dalej przez routery. Moga być wykorzystywane w sieciach lokalnych (w różnych sieciach takie same adresy). Pule adresów: 10.0.0.0/8 (jedna sieć klasy A), 172.16.0.0/12 (16 sieci klasy B), 192.168.0.0/16 (256 sieci klasy C). Żeby komputery mogły się komunikować z Internetem router łacz acy taka sieć ze światem zewnętrznym musi specjalnie modyfikować przechodzace przez niego pakiety (NAT). Sieci komputerowe (II UWr) Wykład 3 15 / 24
Adresy lokalne Adresacja Adresy specjalne Zarezerwowana część adresów IP Nie powinny być przekazywane dalej przez routery. Moga być wykorzystywane w sieciach lokalnych (w różnych sieciach takie same adresy). Pule adresów: 10.0.0.0/8 (jedna sieć klasy A), 172.16.0.0/12 (16 sieci klasy B), 192.168.0.0/16 (256 sieci klasy C). Żeby komputery mogły się komunikować z Internetem router łacz acy taka sieć ze światem zewnętrznym musi specjalnie modyfikować przechodzace przez niego pakiety (NAT). Sieci komputerowe (II UWr) Wykład 3 15 / 24
Nagłówek pakietu Protokół IP strona WWW Sieci komputerowe (II UWr) Wykład 3 16 / 24
Routing statyczny Protokół IP Każdy router przechowuje tzw. tablicę routingu zawierajac a wpisy typu: Jeśli podany pakiet jest skierowany do sieci S, to wyślij go przez interfejs sieciowy I (do bramy (gateway) B). Sieci komputerowe (II UWr) Wykład 3 17 / 24
Protokół IP Routing statyczny, przykład Router z dwiema kartami sieciowymi: eth0 = 81.219.234.7, eth1 = 10.0.0.2. Wpisy: 81.219.234.0/24, brama = brak, interfejs = eth0 10.0.0.0/8, brama = brak, interfejs = eth1 10.1.0.0/16, brama = 10.1.0.1, interfejs = eth1 127.0.0.0/8, brama = brak, interfejs = lo 0.0.0.0/0, brama = 81.219.234.3, interfejs = eth0 Reguła najlepszego dopasowania. Sieci komputerowe (II UWr) Wykład 3 18 / 24
Agregacja wpisów Protokół IP Router może mieć wiele wpisów w tablicy routingu. Składanie (agregacja) wpisów Wpisy dotyczace sieci, co do których można zastosować tę sama regułę (wysłanie do tego samego kolejnego routera) można scalać, jeśli opisuja one spójne fragmenty sieci. Przykład: trzy wpisy 10.0.0.0/24, brama = 10.1.0.1, interfejs = eth1 10.0.1.0/24, brama = 10.1.0.1, interfejs = eth1 10.0.2.0/23, brama = 10.1.0.1, interfejs = eth1 można zamienić na jeden dotyczacy (logicznej) podsieci 10.0.0.0/22. Sieci komputerowe (II UWr) Wykład 3 19 / 24
Agregacja wpisów Protokół IP Router może mieć wiele wpisów w tablicy routingu. Składanie (agregacja) wpisów Wpisy dotyczace sieci, co do których można zastosować tę sama regułę (wysłanie do tego samego kolejnego routera) można scalać, jeśli opisuja one spójne fragmenty sieci. Przykład: trzy wpisy 10.0.0.0/24, brama = 10.1.0.1, interfejs = eth1 10.0.1.0/24, brama = 10.1.0.1, interfejs = eth1 10.0.2.0/23, brama = 10.1.0.1, interfejs = eth1 można zamienić na jeden dotyczacy (logicznej) podsieci 10.0.0.0/22. Sieci komputerowe (II UWr) Wykład 3 19 / 24
Protokół IP Agregacja wpisów, cd. Zasady: Dwie rozłaczne sieci, ze wspólna reguła (wspólna brama) można połaczyć w jedna sieć będac a mnogościowa suma tych sieci. Jeśli mamy wspólna regułę dla dwóch sieci A B, to A można usunać z tablicy pod warunkiem, że nie istnieje sieć C z inna reguła, taka że A C B. Sieci komputerowe (II UWr) Wykład 3 20 / 24
Protokół IP Współpraca z warstwa druga Problem: Warstwa 2 nie rozumie adresów IP ARP (Address Resolution Protocol) Umożliwia zapytania kto ma adres IP... i odpowiedzi ja. A jeśli potrzebujemy odwzorowania w druga stronę? Sieci komputerowe (II UWr) Wykład 3 21 / 24
Protokół IP Współpraca z warstwa druga Problem: Warstwa 2 nie rozumie adresów IP ARP (Address Resolution Protocol) Umożliwia zapytania kto ma adres IP... i odpowiedzi ja. A jeśli potrzebujemy odwzorowania w druga stronę? Sieci komputerowe (II UWr) Wykład 3 21 / 24
Protokół IP Współpraca z warstwa druga, cd. Po co? Warstwa 2 powinna być niezależna od warstwy 3. komputery bezdyskowe: maja adres ethernetowy, ale nie znaja IP. wygoda Protokoły: RARP, BOOTP (umożliwia też ściaganie obrazu systemu operacyjnego), DHCP (uogólnienie dwóch poprzednich). automatyczna konfiguracja (Zeroconf, APIPA (169.254.0.0/16)) Sieci komputerowe (II UWr) Wykład 3 22 / 24
Protokół IP Współpraca z warstwa druga, cd. Po co? Warstwa 2 powinna być niezależna od warstwy 3. komputery bezdyskowe: maja adres ethernetowy, ale nie znaja IP. wygoda Protokoły: RARP, BOOTP (umożliwia też ściaganie obrazu systemu operacyjnego), DHCP (uogólnienie dwóch poprzednich). automatyczna konfiguracja (Zeroconf, APIPA (169.254.0.0/16)) Sieci komputerowe (II UWr) Wykład 3 22 / 24
Protokół IP Współpraca z warstwa druga, cd. Po co? Warstwa 2 powinna być niezależna od warstwy 3. komputery bezdyskowe: maja adres ethernetowy, ale nie znaja IP. wygoda Protokoły: RARP, BOOTP (umożliwia też ściaganie obrazu systemu operacyjnego), DHCP (uogólnienie dwóch poprzednich). automatyczna konfiguracja (Zeroconf, APIPA (169.254.0.0/16)) Sieci komputerowe (II UWr) Wykład 3 22 / 24
Protokół IP Protokół sterujacy ICMP ICMP Internet Control Message Protocol Testowanie warstwy sieciowej. Różne typy komunikatów, niektóre z nich: Echo (żadanie echa), Echo reply (odpowiedź na żadanie echa), Destination unreachable (pakietu nie można dostarczyć), W tym: Can t fragment (zabroniona fragmentacja pakietu). Redirect (przekierowanie), Time exceeded (TTL = 0). Opieraja się na nim narzędzia ping i traceroute. Sieci komputerowe (II UWr) Wykład 3 23 / 24
Fragmentacja Protokół IP Motywacja: pakiet musi przejść przez sieć, z małym MTU (maximum transmission unit), maksymalny rozmiar pakietu. MTU jest własnościa protokołu warstwy drugiej. Router może podzielić pakiet na mniejsze części...... pod warunkiem, że pakiet nie ma ustawionego bitu DF (don t fragment) Technika wykrywania MTU ścieżki Ustawiamy bit DF, wysyłamy pakiet Jeśli zachodzi konieczność fragmentacji, router odrzuca pakiet i wysyła komunikat ICMP z wartościa MTU. Znajdujemy maksymalne dopuszczalne MTU Sieci komputerowe (II UWr) Wykład 3 24 / 24
Fragmentacja Protokół IP Motywacja: pakiet musi przejść przez sieć, z małym MTU (maximum transmission unit), maksymalny rozmiar pakietu. MTU jest własnościa protokołu warstwy drugiej. Router może podzielić pakiet na mniejsze części...... pod warunkiem, że pakiet nie ma ustawionego bitu DF (don t fragment) Technika wykrywania MTU ścieżki Ustawiamy bit DF, wysyłamy pakiet Jeśli zachodzi konieczność fragmentacji, router odrzuca pakiet i wysyła komunikat ICMP z wartościa MTU. Znajdujemy maksymalne dopuszczalne MTU Sieci komputerowe (II UWr) Wykład 3 24 / 24