Warstwa sieciowa
Transkrypt
Warstwa sieciowa
Warstwa sieciowa Model OSI Model TCP/IP Aplikacji Prezentacji Aplikacji Sesji podjęcie decyzji o trasowaniu (rutingu) na podstawie znanej, lokalnej topologii sieci ; - podział danych na pakiety Transportowa Transportowa Sieciowa Sieciowa Łącza danych Fizyczna Dostępu do sieci (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Intersieć IP ) ) )) ) ) )) )) ) )) ) Globalna sieć ((((((((((((((((( umożliwiająca komunikację z dowolnym urządzeniem posiadającym adres IP )) (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Urządzenia warstwy sieciowej podjęcie decyzji rutingu (skierowania na odpowiedni interfejs) HOST_A HOST_B RUTER warstwy wyższe Sieciowa Łącza danych Fizyczna dane nagłówek sieciowy nagłówek nagłówek ł. danych sieciowy dane nagłówek sieciowy dane nagłówek danenagłówek ł. danych sieciowy dane 101001010101101 Sieciowa Łącza danych nagłówek sieciowy nagłówek nagłówek ł. danych sieciowy Fizyczna dane nagłówek sieciowy dane warstwy wyższe dane Sieciowa nagłówek nagłówek dane ł. danych sieciowy dane 101001010101101 Łącza danych Fizyczna (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Nagłówek protokołu IP (Internet Protocol) 0 4 wersja 8 długość nagłówka 12 16 Typ usługi (TOS) identyfikator czas życia pakietu (TTL) 20 24 28 32 łączna długość pakietu (TL) znaczniki protokół warstwy wyższej przesunięcie fragmentu suma kontrolna nagłówka adres źródłowy adres docelowy opcje dopełnienie dane (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Klasy adresów IPv4 Klasa adresu IP (publiczne) A B C D (multicasting) E (rezerw.) Zakres adresów (wartość dziesiętna i binarna I oktetu) 1-126 ( 00000001-01111110) 128-191 ( 10000000-10111111) 192-223 ( 11000000-11011111) 224-239 ( 11100000-11101111) 240-255 ( 11110000-11110111) Maska sieci (w bitach) 8 (x.y.z.t) 16 (x.y.z.t) 24 (x.y.z.t) - Klasa adresu IP (specjalne) własna sieć własny komputer Zakres adresów 0.0.0.0 – 0.255.255.255 127.0.0.1 – 127.255.255.255 Maska sieci (w bitach) 8+ 8 Klasa adresu IP (prywatne) A B C Zakres adresów 10.0.0.0 – 10.255.255.255 176.16.0.0 – 176.31.255.255 192.168.0.0 – 192.168.255.255 Maska sieci (w bitach) 8 12 16 (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Tworzenie podsieci - przykład Adres sieci: Postać binarna: 123 . 45 . 48 . 0 01111011 00101101 00110000 00000000 bity sieci Adres sieci: Postać binarna: bity hostów 123 . 45 . 48 . 0 01111011 00101101 00110000 00000000 bity stworzonej podsieci Podsieć 1: Podsieć 2: Podsieć 3: Podsieć 14: Podsieć 34: 123 123 123 123 123 . . . . . 45 45 45 45 45 . . . . . /20 /26 bity hostów 00110000 . 00000000 = 123.45.48.0/26 00110000 . 01000000 = 123.45.48.64/26 00110000 . 10000000 = 123.45.48.128/26 00110011 . 10000000 = 123.45.51.128/26 00111000 . 10000000 = 123.45.56.128/26 (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Adres sieci, Adres rozgłoszeniowy Adres sieci: 2 . 0 . 0 . 24 /29 Postać binarna: 00000010 00000000 00000000 00011000 Adres rozgłoszeniowy: 2 . 0 . 0 . 31 Postać binarna: 00000010 00000000 00000000 00011111 2.0.0.7 – adres pod który rozsyłane są pakiety do wszystkich urządzeń wewnątrz sieci. 2.0.0.29 2.0.0.30 sieć 2.0.0.32/29 2.0.0.25 2.0.0.33 2.0.0.34 2.0.0.28 2.0.0.27 2.0.0.26 2.0.0.24 – adres pod którym widziana jest sieć z zewnatrz (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Unicasting, Broadcasting i Multicasting w sieciach IP dostałem pakiet do grupy multicastowej 228.0.0.2, przesyłam wszystkim ruterom które mają w sieci hosty z tej grupy ok, mam w swojej sieci kilka komputerów grupy multicastowej dostałem pakiety do mojej 228.0.0.2, rozgłaszam to sąsiednim sieci, rozsyłam do ruterom poszczególnych komputerów dostałem pakiet broadcastowy, nie przesyłam do innej sieci 2.0.0.2 dostałem pakiety z niemojej sieci, przesyłam wszystkie po kolei do innego rutera 1.0.0.1 wysyłam pakiet na adres broadcastowy mojej sieci wysyłam pakiet do grupy multicastowej 228.0.0.2 wysyłam pakiety: -jeden adresowany do 2.0.0.1 -drugi adresowany do 2.0.0.2 -trzeci adresowany do 2.0.0.3 dostałem pakiet do grupy multicastowej 228.0.0.2, rozsyłam wszystkim hostom z tej grupy 2.0.0.1 2.0.0.3 informujemy ruter,że chcemy się dołączyć do grupy multicastowej 228.0.0.2 (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Nagłówek protokołu IP (c.d.) 0 4 wersja 8 12 długość nagłówka 16 20 Typ usługi (TOS) 24 28 32 łączna długość pakietu (TL) inne pola... czas życia pakietu (TTL) protokół warstwy wyższej suma kontrolna nagłówka inne pola... 8 9 10 12 13 14 15 (...) TTL=64 TTL=63 TTL=62 16 zarezerw. koszt niezawodność przepustowość opóźnienie priorytet 11 (...) TTL=0 ? (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Fragmentacja pakietu IP 0 4 8 12 16 20 24 28 32 inne pola... identyfikator znaczniki przesunięcie fragmentu inne pola... zarezerw. więcej fragmentów nie fragmentować (MF) (DF) nagłówek IP ID: 9876 dane_1234 dane_5678 16 17 18 19 Jednostka MTU nagłówek IP ID: 9876 MF nagłówek IP dane_1234 Jednostka MTU ID: 9876 offset: 0x4321 dane_5678 Jednostka MTU (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Algorytm PMTUD (Path MTU Discovery) dostałem komunikat ICMP, zmniejszam rozmiar pakietu wysyłam pakiet do sieci do której należy R_D. Nastawiam bit DF (dont fragment) 880 680 1480 R_A ups, nie mogę przesłać dalej pakietu, bez fragmentowania go. Ponieważ nadawca ustawił bit DF, odsyłamy stosowny komunikat ICMP 1480 MTU=1500 ups, nie mogę przesłać dalej pakietu, bez fragmentowania go. Ponieważ nadawca ustawił bit DF, odsyłamy stosowny komunikat ICMP 880 R_B MTU=900 dostałem pakiet adresowany do mojej sieci, przesyłam dalej 680 R_C MTU=700 R_D znów dostałem komunikat ICMP, ponownie zmniejszam rozmiar pakietu (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Pole opcji w nagłówku pakietu IP 0 4 8 12 16 20 24 28 32 inne pola... opcje dopełnienie inne pola... TYP OPCJI (8 bit) ● ● ● ● ● ● ● 0 7 68 130 131 137 136 End of Option list Record Route Internet Timestamp Security Loose Source Routing Strict Source Routing Stream ID DŁUGOŚĆ OPCJI (8 bit) DANE OPCJI (zmienna długość) (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Protokół ICMP (Internet Control Message Protocol) 0 4 typ komunikatu 8 12 16 kod komunikatu 20 24 28 32 suma kontrolna treść komunikatu (opcjonalne) (np zacytowany pakiet który wywołał dany komunikat itp.) TYP KOMUNIKATU 0 3 ● 4 ● 5 ● 6 ● 8 ● 9 ● 10 ● 11 ● 13 ● 14 ● 15 ● 16 ● 17 ● 18 ● ● Echo Reply Destination Unreachable Source Quench Redirect Alternate Host Address Echo Router Advertisement Router Solicitation Time Exceeded Timestamp Timestamp Reply Information Request Information Reply Address Mask Request Address Mask Reply KOD KOMUNIKATU 0 ● 1 ● 2 ● 3 ● 4 ● 5 ● 6 ● 7 ● Net Unreachable Host Unreachable Protocol Unreachable Port Unreachable Fragmentation Needed and Don't Fragment was Set Source Route Failed Destination Network Unknown Destination Host Unknown (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej wyznaczanie ścieżki rutowania pakietów na przykładzie działania programu traceroute 10.0.0.1 TTL=1 TTL=2 TTL=3 TTL=0 10.0.0.2 ICMP : TTL Exceeded ilość skoków TTL=0 10.0.0.6 ICMP : TTL Exceeded TTL=0 10.0.0.8 ICMP : TTL Exceeded adres IP 1 10.0.0.2 2 10.0.0.6 3 10.0.0.8 (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej