Warstwa sieciowa Model OSI Model TCP/IP Aplikacji Prezentacji Aplikacji podjęcie decyzji o trasowaniu (rutingu) na podstawie znanej, lokalnej topologii sieci ; - podział danych na pakiety Sesji Transportowa Sieciowa Łącza danych Fizyczna Transportowa Sieciowa Dostępu do sieci
Intersieć IP )))))))))))))))) Globalna sieć umożliwiająca komunikację z dowolnym urządzeniem posiadającym adres IP (((((((((((((((((
Urządzenia warstwy sieciowej HOST_A podjęcie decyzji rutingu (skierowania na odpowiedni interfejs) HOST_B RUTER warstwy wyższe warstwy wyższe Sieciowa Sieciowa Sieciowa Łącza danych ł. danych ł. danych Łącza danych ł. danych ł. danych Łącza danych Fizyczna 101001010101101 Fizyczna 101001010101101 Fizyczna
Nagłówek protokołu IP (Internet Protocol) 0 4 8 12 16 20 24 28 32 wersja długość nagłówka Typ usługi (TOS) łączna długość pakietu (TL) identyfikator znaczniki przesunięcie fragmentu czas życia pakietu (TTL) protokół warstwy wyższej adres źródłowy adres docelowy opcje suma kontrolna nagłówka dopełnienie
Klasy adresów IPv4 Klasa adresu IP (publiczne) Zakres adresów (wartość dziesiętna i binarna I oktetu) Maska sieci (w bitach) A 1-126 ( 00000001-01111110) 8 (x.y.z.t) B 128-191 ( 10000000-10111111) 16 (x.y.z.t) C 192-223 ( 11000000-11011111) 24 (x.y.z.t) D (multicasting) 224-239 ( 11100000-11101111) - E (rezerw.) 240-255 ( 11110000-11110111) - Klasa adresu IP (specjalne) Zakres adresów Maska sieci (w bitach) własna sieć 0.0.0.0 0.255.255.255 8+ własny komputer 127.0.0.1 127.255.255.255 8 Klasa adresu IP (prywatne) Zakres adresów Maska sieci (w bitach) A 10.0.0.0 10.255.255.255 8 B 176.16.0.0 176.31.255.255 12 C 192.168.0.0 192.168.255.255 16
Tworzenie podsieci - przykład Adres sieci: 123. 45. 48. 0 /20 Postać binarna: 01111011 00101101 00110000 00000000 bity sieci bity hostów Adres sieci: 123. 45. 48. 0 /26 Postać binarna: 01111011 00101101 00110000 00000000 bity stworzonej podsieci bity hostów Podsieć 1: 123. 45. 00110000. 00000000 = 123.45.48.0/26 Podsieć 2: 123. 45. 00110000. 01000000 = 123.45.48.64/26 Podsieć 3: 123. 45. 00110000. 10000000 = 123.45.48.128/26 Podsieć 14: 123. 45. 00110011. 10000000 = 123.45.51.128/26 Podsieć 34: 123. 45. 00111000. 10000000 = 123.45.56.128/26
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.28 2.0.0.25 2.0.0.33 2.0.0.34 2.0.0.27 2.0.0.26 2.0.0.24 adres pod którym widziana jest sieć z zewnatrz
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 1.0.0.1 wysyłam pakiet na adres broadcastowy mojej sieci wysyłam pakiety: -jeden adresowany do 2.0.0.1 -drugi adresowany do 2.0.0.2 -trzeci adresowany do 2.0.0.3 wysyłam pakiet do grupy multicastowej 228.0.0.2 dostałem pakiety z niemojej sieci, przesyłam wszystkie po kolei do innego rutera 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
Nagłówek protokołu IP (c.d.) 0 4 8 12 16 20 24 28 32 wersja długość nagłówka Typ usługi (TOS) łączna długość pakietu (TL) inne pola... czas życia pakietu (TTL) protokół warstwy wyższej suma kontrolna nagłówka inne pola... 8 9 10 11 12 13 14 15 16 priorytet opóźnienie przepustowość niezawodność koszt zarezerw. (...) (...) TTL=64 TTL=63 TTL=62 TTL=0?
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) IP ID: 9876 _1234 _5678 16 17 18 19 Jednostka MTU IP ID: 9876 MF _1234 IP ID: 9876 offset: 0x4321 _5678 Jednostka MTU Jednostka MTU
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) ups, nie mogę przesłać dalej pakietu, bez fragmentowania go. Ponieważ nadawca ustawił bit DF, odsyłamy stosowny komunikat ICMP ups, nie mogę przesłać dalej pakietu, bez fragmentowania go. Ponieważ nadawca ustawił bit DF, odsyłamy stosowny komunikat ICMP dostałem pakiet adresowany do mojej sieci, przesyłam dalej 880 680 1480 1480 880 680 MTU=1500 MTU=900 MTU=700 R_A R_B R_C R_D znów dostałem komunikat ICMP, ponownie zmniejszam rozmiar pakietu
Pole opcji w nagłówku pakietu IP 0 4 8 12 16 20 24 28 32 inne pola... opcje dopełnienie inne pola... 0 7 68 130 131 137 136 TYP OPCJI (8 bit) 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ść)
Protokół ICMP (Internet Control Message Protocol) 0 4 8 12 16 20 24 28 32 typ komunikatu kod komunikatu suma kontrolna treść komunikatu (opcjonalne) (np zacytowany pakiet który wywołał dany komunikat itp.) 0 3 4 5 6 8 9 10 11 13 14 15 16 17 18 TYP KOMUNIKATU 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 Net Unreachable 1 Host Unreachable 2 Protocol Unreachable 3 Port Unreachable 4 Fragmentation Needed and Don't Fragment was Set 5 Source Route Failed 6 Destination Network Unknown 7 Destination Host Unknown
wyznaczanie ścieżki rutowania pakietów na przykładzie działania programu traceroute 10.0.0.1 10.0.0.2 10.0.0.6 10.0.0.8 TTL=1 TTL=2 TTL=3 TTL=0 TTL=0 TTL=0 ICMP : TTL Exceeded ICMP : TTL Exceeded ICMP : TTL Exceeded ilość skoków adres IP 1 10.0.0.2 2 10.0.0.6 3 10.0.0.8