Sieci komputerowe Wykład 3: Protokół IP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 3 1 / 25
W poprzednim odcinku Podstawy warstwy pierwszej (fizycznej) i drugiej (łacza danych). Warstwa 2: Umożliwia wysyłanie ramek pomiędzy dwoma bezpośrednio połaczonymi komputerami. Bezpołaczeniowa, zawodna. Potwierdzanie jest opcjonalne (w Ethernecie nie ma). Bezpośrednie połaczenie = dwupunktowe lub w ramach tej samej sieci połaczonej urzadzeniami warstwy 1 (koncentratory) lub warstwy 2 (przełaczniki). Sieci komputerowe (II UWr) Wykład 3 2 / 25
Dzisiaj 1 Warstwa sieci 2 Adresowanie CIDR Adresy specjalne 3 Routing 4 Współpraca z warstwa 2 Sieci komputerowe (II UWr) Wykład 3 3 / 25
Warstwa sieci (1) Warstwa sieci Również bezpołaczeniowa i zawodna. Daje warstwie czwartej możliwość wysyłania pakietów pomiędzy dwoma dowolnymi komputerami. Wymaga jednolitego adresowania w całej sieci (adresy IP w Internecie). Warstwa 4 nie musi przejmować się liczba, typem i technologia pośredniczacych routerów. Sieci komputerowe (II UWr) Wykład 3 4 / 25
Warstwa sieci (2) Warstwa sieci Umożliwia łaczenie dwóch różnych sieci warstwy 2. R Sieci komputerowe (II UWr) Wykład 3 5 / 25
Adresy IP Adresowanie Każda karta sieciowa ma unikatowy 4-bajtowy adres. Komputery w jednej sieci maja adresy z pewnego spójnego zakresu adresów. Notacja dziesiętna z kropkami, np. 156.17.4.1. Sieci komputerowe (II UWr) Wykład 3 6 / 25
CIDR (1) Adresowanie CIDR Classless InterDomain Routing Sposób opisywania przedziałów adresów IP posiadajacych wspólny prefiks. Przedział zapisujemy w postaci IP/długość, gdzie IP jest pierwszym adresem z przedziału, a długość jest długościa wspólnego prefiksu w bitach. Przykład Chcemy opisać zakres adresów IP, którego binarna reprezentacja zaczyna się od 10011100.00010001.00000100.0010: Pierwszy adres IP z zakresu: 10011100.00010001.00000100.00100000= 156.17.4.32 Długość prefiksu = 28 Zapis = 156.17.4.32/28 Sieci komputerowe (II UWr) Wykład 3 7 / 25
CIDR (2) Adresowanie CIDR CIDR używany głównie do opisu pojedynczych sieci 156.17.4.32/28 opisuje adresy pomiędzy 156.17.4.32 i 156.17.4.47 Pierwszy adres jest zarezerwowany (adres sieci) Ostatni adres jest również zarezerwowany: adres rozgłoszeniowy (broadcast) Pozostałe adresy IP moga być przypisane do komputerów (kart sieciowych). Sieci komputerowe (II UWr) Wykład 3 8 / 25
Podsieci (1) Adresowanie CIDR CIDR umożliwia tworzenie hierarchii sieci i podsieci Obrazek z http://en.wikipedia.org/wiki/classless_inter-domain_routing Uwaga: Blok 208.128.0.0/11 otrzymany bezpośrednio z organizacji IANA. Uwaga: 208.130.29.33/32 = zakres składajacy się z jednego adresu IP = jeden komputer, nie sieć. Sieci komputerowe (II UWr) Wykład 3 9 / 25
Podsieci (2) Adresowanie CIDR Zakres adresów IP może być podzielony na dwa zakresy równych rozmiarów: Przykład 156.17.4.64/26 = 156.17.4.64/27 + 156.17.4.96/27 = 156.17.4.64/28 + 156.17.4.80/28 + 156.17.4.96/28 + 156.17.4.112/28 Czy adres 156.17.4.95 jest adresem rozgłoszeniowym? To zależy! Jest w sieciach 156.17.4.80/28 i 156.17.4.64/27, ale nie w sieci 156.17.4.64/26! Sieci komputerowe (II UWr) Wykład 3 10 / 25
Podsieci (2) Adresowanie CIDR Zakres adresów IP może być podzielony na dwa zakresy równych rozmiarów: Przykład 156.17.4.64/26 = 156.17.4.64/27 + 156.17.4.96/27 = 156.17.4.64/28 + 156.17.4.80/28 + 156.17.4.96/28 + 156.17.4.112/28 Czy adres 156.17.4.95 jest adresem rozgłoszeniowym? To zależy! Jest w sieciach 156.17.4.80/28 i 156.17.4.64/27, ale nie w sieci 156.17.4.64/26! Sieci komputerowe (II UWr) Wykład 3 10 / 25
Podsieci (2) Adresowanie CIDR Zakres adresów IP może być podzielony na dwa zakresy równych rozmiarów: Przykład 156.17.4.64/26 = 156.17.4.64/27 + 156.17.4.96/27 = 156.17.4.64/28 + 156.17.4.80/28 + 156.17.4.96/28 + 156.17.4.112/28 Czy adres 156.17.4.95 jest adresem rozgłoszeniowym? To zależy! Jest w sieciach 156.17.4.80/28 i 156.17.4.64/27, ale nie w sieci 156.17.4.64/26! Sieci komputerowe (II UWr) Wykład 3 10 / 25
Notacja CIDR Adresowanie CIDR Dodajemy /xx (nazywane maska podsieci) do wszystkich adresów IP. Przykładowo: 156.17.4.32/28: Oznacza cała sieć 156.17.4.33/28: Pierwszy komputer w tej sieci... 156.17.4.46/28: Ostatni komputer w tej sieci 156.17.4.47/28: Adres rozgłoszeniowy w tej sieci Majac dany adres i maskę podsieci, jak sprawdzić, czy jest to adres sieci, komputera czy adres rozgłoszeniowy? Uwaga: Maskę /n można zapisać też jako n bitów o wartości jeden i 32 n o wartości zero. Przykładowo: /25 = /255.255.255.128. Sieci komputerowe (II UWr) Wykład 3 11 / 25
Notacja CIDR Adresowanie CIDR Dodajemy /xx (nazywane maska podsieci) do wszystkich adresów IP. Przykładowo: 156.17.4.32/28: Oznacza cała sieć 156.17.4.33/28: Pierwszy komputer w tej sieci... 156.17.4.46/28: Ostatni komputer w tej sieci 156.17.4.47/28: Adres rozgłoszeniowy w tej sieci Majac dany adres i maskę podsieci, jak sprawdzić, czy jest to adres sieci, komputera czy adres rozgłoszeniowy? Uwaga: Maskę /n można zapisać też jako n bitów o wartości jeden i 32 n o wartości zero. Przykładowo: /25 = /255.255.255.128. Sieci komputerowe (II UWr) Wykład 3 11 / 25
Notacja CIDR Adresowanie CIDR Dodajemy /xx (nazywane maska podsieci) do wszystkich adresów IP. Przykładowo: 156.17.4.32/28: Oznacza cała sieć 156.17.4.33/28: Pierwszy komputer w tej sieci... 156.17.4.46/28: Ostatni komputer w tej sieci 156.17.4.47/28: Adres rozgłoszeniowy w tej sieci Majac dany adres i maskę podsieci, jak sprawdzić, czy jest to adres sieci, komputera czy adres rozgłoszeniowy? Uwaga: Maskę /n można zapisać też jako n bitów o wartości jeden i 32 n o wartości zero. Przykładowo: /25 = /255.255.255.128. Sieci komputerowe (II UWr) Wykład 3 11 / 25
Adresowanie Przypadki szczególne CIDR CIDR Pytanie: ile adresów w sieci CIDR z maska podsieci /27 może być przypisanych do komputerów? Odpowiedź: 2 32 27 2 = 30. Podobne odpowiedzi dla pozostałych masek podsieci poza: /32: oznacza pojedynczy adres IP komputera /31: połaczenie dwupunktowe, dwa adresy IP przypisywane do komputerów, nie ma adresu sieci, nie ma adresu rozgłoszeniowego. Sieci komputerowe (II UWr) Wykład 3 12 / 25
Adresowanie Przypadki szczególne CIDR CIDR Pytanie: ile adresów w sieci CIDR z maska podsieci /27 może być przypisanych do komputerów? Odpowiedź: 2 32 27 2 = 30. Podobne odpowiedzi dla pozostałych masek podsieci poza: /32: oznacza pojedynczy adres IP komputera /31: połaczenie dwupunktowe, dwa adresy IP przypisywane do komputerów, nie ma adresu sieci, nie ma adresu rozgłoszeniowego. Sieci komputerowe (II UWr) Wykład 3 12 / 25
Adresowanie Przypadki szczególne CIDR CIDR Pytanie: ile adresów w sieci CIDR z maska podsieci /27 może być przypisanych do komputerów? Odpowiedź: 2 32 27 2 = 30. Podobne odpowiedzi dla pozostałych masek podsieci poza: /32: oznacza pojedynczy adres IP komputera /31: połaczenie dwupunktowe, dwa adresy IP przypisywane do komputerów, nie ma adresu sieci, nie ma adresu rozgłoszeniowego. Sieci komputerowe (II UWr) Wykład 3 12 / 25
Klasy adresów Adresowanie CIDR Jeśli przypiszemy adres 10.0.0.1 do karty sieciowej zostanie on zinterpretowany jako 10.0.0.1/8. Dlaczego? Adresowanie klasowe (sprzed ery CIDR) Jeśli pierwszy bit adresu IP jest równy 0, maska podsieci to /8 (sieć klasy A). Przykład: 6.0.0.0/8 Jeśli pierwsze bity adresu IP sa równe 10, maska podsieci to /16 (sieć klasy B). Przykład: 156.17.0.0/16 Jeśli pierwsze bity adresu IP sa równe 110, maska podsieci to /24 (sieć klasy C). Przykład: 200.200.200.0/24 Sieci komputerowe (II UWr) Wykład 3 13 / 25
Klasy adresów Adresowanie CIDR Jeśli przypiszemy adres 10.0.0.1 do karty sieciowej zostanie on zinterpretowany jako 10.0.0.1/8. Dlaczego? Adresowanie klasowe (sprzed ery CIDR) Jeśli pierwszy bit adresu IP jest równy 0, maska podsieci to /8 (sieć klasy A). Przykład: 6.0.0.0/8 Jeśli pierwsze bity adresu IP sa równe 10, maska podsieci to /16 (sieć klasy B). Przykład: 156.17.0.0/16 Jeśli pierwsze bity adresu IP sa równe 110, maska podsieci to /24 (sieć klasy C). Przykład: 200.200.200.0/24 Sieci komputerowe (II UWr) Wykład 3 13 / 25
Pętla lokalna Adresowanie Adresy specjalne Sieć 127.0.0.0/8 Pętla lokalna (ang. loopback), interfejs lo. Ł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 / 25
Adresy prywatne Adresowanie Adresy specjalne Zarezerwowane zakresy adresów IP Pakiety z takimi adresami 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 takie adresy IP mogły się komunikować z Internetem (a właściwie, żeby Internet mógł komunikować się z nimi!) 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 / 25
Adresy prywatne Adresowanie Adresy specjalne Zarezerwowane zakresy adresów IP Pakiety z takimi adresami 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 takie adresy IP mogły się komunikować z Internetem (a właściwie, żeby Internet mógł komunikować się z nimi!) 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 / 25
Nagłówek pakietu Routing strona WWW Sieci komputerowe (II UWr) Wykład 3 16 / 25
Tablice routingu Routing Każde urzadzenie rozumiejace warstwę 3 (routery, komputery) 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 routera (bramy) B). Routing statyczny = wpisy sa dodawane ręcznie przez administratora komputera/routera. Sieci komputerowe (II UWr) Wykład 3 17 / 25
Routing Przykład routingu statycznego 81.219.234.0/24 10.0.0.0/9 81.219.234.7 10.0.0.2 81.219.234.3 10.127.255.254 10.128.0.0/9 The Internet 10.128.0.1 Router z dwiema kartami sieciowymi: eth0 = 81.219.234.7, eth1 = 10.0.0.2. Wpisy: 81.219.234.0/24, przez eth0, bez bramy 10.0.0.0/8, przez eth1, bez bramy 10.128.0.0/9, przez eth1, brama = 10.127.255.254 127.0.0.0/8, przez lo, bez bramy 0.0.0.0/0, przez eth0, brama = 81.219.234.3 Reguła najdłuższego pasujacego prefiksu. Sieci komputerowe (II UWr) Wykład 3 18 / 25
Scalanie wpisów Routing Wiele wpisów w tablicy gorsza wydajność, większe zużycie pamięci Scalanie wpisów Wpisy dotyczace różnych sieci ze wspólna reguła można łaczyć, jeśli da się je opisać razem za pomoca poprawnego zakresu CIDR. Czasem wpisy moga zostać usunięte bez zmiany znaczenia tablicy routingu. Sieci komputerowe (II UWr) Wykład 3 19 / 25
Scalanie wpisów Routing Wiele wpisów w tablicy gorsza wydajność, większe zużycie pamięci Scalanie wpisów Wpisy dotyczace różnych sieci ze wspólna reguła można łaczyć, jeśli da się je opisać razem za pomoca poprawnego zakresu CIDR. Czasem wpisy moga zostać usunięte bez zmiany znaczenia tablicy routingu. Przykład 1: wpisy 10.0.0.0/24, przez eth1, brama = 10.1.0.1 10.0.1.0/24, przez eth1, brama = 10.1.0.1 10.0.2.0/23, przez eth1, brama = 10.1.0.1 można zastapić przez: 10.0.0.0/22, przez eth1, brama = 10.1.0.1 Sieci komputerowe (II UWr) Wykład 3 19 / 25
Scalanie wpisów Routing Wiele wpisów w tablicy gorsza wydajność, większe zużycie pamięci Scalanie wpisów Wpisy dotyczace różnych sieci ze wspólna reguła można łaczyć, jeśli da się je opisać razem za pomoca poprawnego zakresu CIDR. Czasem wpisy moga zostać usunięte bez zmiany znaczenia tablicy routingu. Przykład 2: wpisów 10.0.1.0/24, przez eth1, brama = 10.1.0.1 10.0.2.0/24, przez eth1, brama = 10.1.0.1 nie można połaczyć. Dlaczego? Sieci komputerowe (II UWr) Wykład 3 19 / 25
Scalanie wpisów Routing Wiele wpisów w tablicy gorsza wydajność, większe zużycie pamięci Scalanie wpisów Wpisy dotyczace różnych sieci ze wspólna reguła można łaczyć, jeśli da się je opisać razem za pomoca poprawnego zakresu CIDR. Czasem wpisy moga zostać usunięte bez zmiany znaczenia tablicy routingu. Przykład 3: Jeśli wszystkie wpisy to: 10.0.0.0/8, przez eth1, brama = 10.1.0.1 10.0.0.0/24, przez eth1, brama = 10.1.0.1 można usunać druga regułę. Sieci komputerowe (II UWr) Wykład 3 19 / 25
Scalanie wpisów Routing Wiele wpisów w tablicy gorsza wydajność, większe zużycie pamięci Scalanie wpisów Wpisy dotyczace różnych sieci ze wspólna reguła można łaczyć, jeśli da się je opisać razem za pomoca poprawnego zakresu CIDR. Czasem wpisy moga zostać usunięte bez zmiany znaczenia tablicy routingu. Przykład 4: Ale z wpisów 10.0.0.0/8, przez eth1, brama = 10.1.0.1 10.0.0.0/16, przez eth0, brama = 20.0.0.1 10.0.0.0/24, przez eth1, brama = 10.1.0.1 nie można nic usunać. Sieci komputerowe (II UWr) Wykład 3 19 / 25
Scalanie wpisów Routing Wiele wpisów w tablicy gorsza wydajność, większe zużycie pamięci Scalanie wpisów Wpisy dotyczace różnych sieci ze wspólna reguła można łaczyć, jeśli da się je opisać razem za pomoca poprawnego zakresu CIDR. Czasem wpisy moga zostać usunięte bez zmiany znaczenia tablicy routingu. W praktyce czasem stosuje się bardziej agresywna ale niedokładna agregację wpisów. (Nie będziemy się tym zajmować.) Przykład 2 (jeszcze raz) wpisy 10.0.1.0/24, przez eth1, brama = 10.1.0.1 10.0.2.0/24, przez eth1, brama = 10.1.0.1 mogłyby zostać zastapione przez drogę do 10.0.0.0/22. Sieci komputerowe (II UWr) Wykład 3 19 / 25
Współpraca z warstwa 2 Współpraca z warstwa druga (1) Problem: Warstwa 2 nie rozumie adresów IP Rozwiazanie: ARP (Address Resolution Protocol). Rozgłasza zapytania typu: kto ma dany adres IP. Jeden komputer powinien odpowiedzieć: ja mam. Sieci komputerowe (II UWr) Wykład 3 20 / 25
Współpraca z warstwa 2 Współpraca z warstwa druga (2) Problem: A jeśli potrzebujemy przekształcenia MAC IP? Po co? Warstwa 2 powinna być niezależna od warstwy 3! Automatyczne przypisywanie adresów IP Niezbędne dla komputerów bezdyskowych (znaja tylko adres MAC swojej karty sieciowej). Protokoły: RARP (Reverse ARP) BOOTP (RARP + możliwość pobierania obrazu systemu operacyjnego) DHCP (działa też pomiędzy sieciami lokalnymi) Konfiguracja automatyczna (APIPA = Automatic Private IP Addressing (169.254.0.0/16)) Sieci komputerowe (II UWr) Wykład 3 21 / 25
Współpraca z warstwa 2 Współpraca z warstwa druga (2) Problem: A jeśli potrzebujemy przekształcenia MAC IP? Po co? Warstwa 2 powinna być niezależna od warstwy 3! Automatyczne przypisywanie adresów IP Niezbędne dla komputerów bezdyskowych (znaja tylko adres MAC swojej karty sieciowej). Protokoły: RARP (Reverse ARP) BOOTP (RARP + możliwość pobierania obrazu systemu operacyjnego) DHCP (działa też pomiędzy sieciami lokalnymi) Konfiguracja automatyczna (APIPA = Automatic Private IP Addressing (169.254.0.0/16)) Sieci komputerowe (II UWr) Wykład 3 21 / 25
Współpraca z warstwa 2 Protokół pomocniczy ICMP ICMP = Internet Control Message Protocol Testowanie warstwy sieciowej. Komunikaty enkapsulowane w pakietach IP. Różne typy komunikatów, niektóre z nich: Echo request Echo reply Destination unreachable (pakietu nie można dostarczyć) Time exceeded (TTL = 0) Na ICMP opieraja się narzędzia ping i traceroute. Sieci komputerowe (II UWr) Wykład 3 22 / 25
Współpraca z warstwa 2 MTU = Maximum Transmission Unit MTU jest własnościa drugiej warstwy (maksymalna wielkość danych z warstwy trzeciej) Dla Ethernetu: MTU = 1500 Dla sieci bezprzedowodowych: MTU = 2312 R Router może dzielić pakiety na mniejsze części (fragmentacja pakietów IP) Most zamiast routera szybszy, ale nie radzi sobie z różnymi wartościami MTU! Sieci komputerowe (II UWr) Wykład 3 23 / 25
Współpraca z warstwa 2 MTU = Maximum Transmission Unit MTU jest własnościa drugiej warstwy (maksymalna wielkość danych z warstwy trzeciej) Dla Ethernetu: MTU = 1500 Dla sieci bezprzedowodowych: MTU = 2312 R Router może dzielić pakiety na mniejsze części (fragmentacja pakietów IP) Most zamiast routera szybszy, ale nie radzi sobie z różnymi wartościami MTU! Sieci komputerowe (II UWr) Wykład 3 23 / 25
Współpraca z warstwa 2 MTU = Maximum Transmission Unit MTU jest własnościa drugiej warstwy (maksymalna wielkość danych z warstwy trzeciej) Dla Ethernetu: MTU = 1500 Dla sieci bezprzedowodowych: MTU = 2312 R Router może dzielić pakiety na mniejsze części (fragmentacja pakietów IP) Most zamiast routera szybszy, ale nie radzi sobie z różnymi wartościami MTU! Sieci komputerowe (II UWr) Wykład 3 23 / 25
Współpraca z warstwa 2 Fragmentacja pakietów IP (cd.) Problem: Fragmentacja zazwyczaj niepożadana (strata wydajności, zwiększa złożoność procesu) Rozwiazanie: Ustaw bit DF (don t fragment) w nagłówku pakietu IP jeśli konieczna będzie fragmentacja, pakiet zostanie wyrzucony, a router odsyła z powrotem komunikat ICMP (destination unreachable, can t fragment). Wysyłajacy komputer może odpowiednio zmniejszyć rozmiar pakietu. Powtarzamy to, aż pakiet zostanie dostarczony = technika wykrywania MTU (path MTU). Sieci komputerowe (II UWr) Wykład 3 24 / 25
Współpraca z warstwa 2 Lektura dodatkowa Kurose, Ross: 4.1 4.4 Sieci komputerowe (II UWr) Wykład 3 25 / 25