Sieci Komputerowe. Protokół ICMP - Internet Control Message Protocol Protokół ICMP version 6. dr Zbigniew Lipiński

Podobne dokumenty
Internet Control Message Protocol (ICMP) Łukasz Trzciałkowski

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

Laboratorium 6.7.2: Śledzenie pakietów ICMP

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

Instrukcja 5 - Zastosowania protokołu ICMP

ZiMSK. Routing statyczny, ICMP 1

Warstwa sieciowa. mgr inż. Krzysztof Szałajko

MODEL OSI A INTERNET

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

Sieci komputerowe - administracja

Sieci Komputerowe Protokół TCP

polega na opakowaniu danych - w każdej warstwie modelu OSI, kolejno idąc z góry na dół - w konieczne nagłówki/stopki odpowiednich protokołów

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Katedra Inżynierii Komputerowej Politechnika Częstochowska. Zastosowania protokołu ICMP Laboratorium podstaw sieci komputerowych

ADRESY PRYWATNE W IPv4

Architektura INTERNET

Protokoły wspomagające. Mikołaj Leszczuk

Protokoły sieciowe - TCP/IP

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Sieci komputerowe - Protokoły wspierające IPv4

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Sieci Komputerowe. Protokół IPv4 - Internet Protocol ver.4 Protokół IP ver.6. dr Zbigniew Lipiński

Określanie konfiguracji TCP/IP

Dlaczego? Mało adresów IPv4. Wprowadzenie ulepszeń względem IPv4 NAT CIDR

Laboratorium 6.7.1: Ping i Traceroute

TCP/IP formaty ramek, datagramów, pakietów...

Przesyłania danych przez protokół TCP/IP

Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

Charakterystyka grupy protokołów TCP/IP

Internet Control Messaging Protocol

ARP Address Resolution Protocol (RFC 826)

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

OSI Network Layer. Network Fundamentals Chapter 5. ITE PC v4.0 Chapter Cisco Systems, Inc. All rights reserved.

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Aby lepiej zrozumieć działanie adresów przedstawmy uproszczony schemat pakietów IP podróżujących w sieci.

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Adresy IP v.6 IP version 4 IP version 6 byte 0 byte 1 byte 2 byte 3 byte 0 byte 1 byte 2 byte 3

1 Moduł Diagnostyki Sieci

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Stos TCP/IP Warstwa Internetu. Sieci komputerowe Wykład 4

Adresy w sieciach komputerowych

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

Komunikacja pomiędzy sterownikami PLC za pomocą łącza GSM GPRS

Omówienie TCP/IP. Historia

Konfiguracja sieci, podstawy protokołów IP, TCP, UDP, rodzaje transmisji w sieciach teleinformatycznych

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Sieci Komputerowe. Protokół ARP Address Resolution Protocol. Protokół RARP Reverse Address Resolution Protocol

Protokół ICMP. Autor: Grzegorz Burgiel 4FDS

Rodzina protokołów TCP/IP

Sieci komputerowe. Wykład 3: Protokół IP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski. Sieci komputerowe (II UWr) Wykład 3 1 / 24

Plan i problematyka wykładu. Sieci komputerowe IPv6. Rozwój sieci Internet. Dlaczego IPv6? Przykład zatykania dziur w funkcjonalności IPv4 - NAT

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Narzędzia do diagnozowania sieci w systemie Windows

ISO/OSI TCP/IP SIECI KOMPUTEROWE

Porównanie protokołów IPv4 i IPv6

Sieci komputerowe Warstwa transportowa

1. Informacje ogólne: 2. Standardy TCP/IP. 2.1 Adresowanie IPv4

Zarządzanie przepływem

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

Unicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców

1. Budowa stosu TCP/IP

Internet Protocol v6 - w czym tkwi problem?

Podstawy działania sieci komputerowych

Sieci Komputerowe Standard Ethernet

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Laboratorium - Wykorzystanie programu Wireskark do badania ramek Ethernetowych

Organizacje związane ze standaryzacją sieci komputerowych

Instytut Teleinformatyki

Vladimir vovcia Mitiouchev icmp blind attacks Oparto o draft-gont-tcpm-icmp-attacks-04 (Fernando Gont)

ZiMSK NAT, PAT, ACL 1

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

IPv6 Protokół następnej generacji

Moduł Ethernetowy. instrukcja obsługi. Spis treści

Połączenie sieci w intersieci ( internet ) Intersieci oparte o IP Internet

Część I Warstwa interfejsu sieciowego

Sieci komputerowe Warstwa sieci i warstwa transportowa

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Bezpieczeństwo w M875

Programowanie w Internecie

Plan wykładu. Warstwa sieci. Po co adresacja w warstwie sieci? Warstwa sieci

Opis protokołu RPC. Grzegorz Maj nr indeksu:

Administracja sieciami LAN/WAN

Sieci komputerowe. Router. Router

Warstwa sieciowa w Internecie

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Laboratorium Sieci Komputerowych - 2

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Narzędzia diagnostyczne protokołów TCP/IP

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

dostępu do okręslonej usługi odbywa się na podstawie tego adresu dostaniemu inie uprawniony dostep

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Transkrypt:

Sieci Komputerowe Protokół ICMP - Internet Control Message Protocol Protokół ICMP version 6 dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl

Zagadnienia Funkcje protokołu ICMP Typy wiadomości ICMP Format wiadomości ICMP z parametrami datagramu IP Komunikaty o błędach w transmisji wiadomości ICMP Przykład: datagram ICMP ECHO Response Narzedzia ping, tracert Protokołu ICMP ver.6 2

Protokół ICMP. Wstęp ICMP, ang. Internet Control Message Protocol. RFC 792 Protokół ICMP jest protokołem warstwy sieci modelu OSI. Protokół IP jest protokołem bezpołączeniowym, bez mechanizmów kontroli błędów. Protokół ICMP został opracowany do obsługi błędów w transmisji datagramów IP. Protokół ICMP wykorzystywany jest do: przesyłania informacji do nadawcy o błędach w transmisji generowania pakietów do testowania sieci. Po odebraniu komunikatu ICMP nadawca datagramu IP może: zidentyfikować datagram z którym pojawiły się problemy zidentyfikować rodzaj błędu. 3

Protokół ICMP. Wstęp Wiadomości ICMP są kapsułkowane w datagram IP i są traktowane przez routery tak, jak datagramy IP. Wiadomości ICMP są generowane gdy: datagram IP nie dotrze do odbiorcy (np. ze względu na wartość pola TTL=0) szybkość transmisji jest zbyt duża i odbiorca nie może odebrać nadchodzących pakietów (pole 'Window' w nagłówku TCP) odbiorca chce aby datagramy były przesyłane inna trasą (pole 'Opcje' w datagramie IP) nastąpiło uszkodzenie datagramu (błędna wartość w polu 'Header Checksum'). W datagramie ICMP przesyłany jest Nagłówek, pierwsze 8 bajtów danych datagramu IP w którym wystąpił błąd. 4

Struktura datagramu ICMP Każdy pakiet ICMP składa się z: nagłówka IP danych wiadomości ICMP pola: typ wiadomości pola: kod pola: suma kontrolna. innych pól w zależności od typu wiadomości ICMP. Wszystkie pola ze statusem 'nieużywane' mają wartość 0. Wiadomości ICMP zawarte są w polu 'Dane' datagramu IP. Pierwszy bajt danych datagramu IP zawiera pole 'Type' (typ wiadomości). Wartość pola 'Type' określa format pozostałej części datagramu. 5

Nagłówek IP wiadomości ICMP Nagłówek IP wiadomości ICMP ma strukturę standardowego nagłówka IP: Wersja, (Version). Wielkość: 4 bity. Pole określa wersje protokołu IP. Wartość pola Version = 4. Długość nagłówka (IHL, Internet header length). Wielkość: 4 bity. Pole zgodne ze specyfikacja protokołu IP. Pole określa liczbę 32 bitowych slow nagłówku IP. Typ usługi, (Type of Service). Wielkość: 8 bitów. Wartość pola Type of Service = 0. Długość całkowita, (Total Length). Wielkość: 16 bitów. Pole zgodne ze specyfikacja protokołu IP. Pole określa liczbę bajtów w nagłówku IP i danych datagramu ICMP. Identyfikator, (Identification). Wielkość: 16 bitów. Flagi, (Flags). Wielkość: 3 bity. Przesuniecie fragmentu, (Fragment Offset). Wielkość: 13 bitów. Pole zgodne ze specyfikacja protokołu IP. 6

Nagłówek IP wiadomości ICMP Czas życia, (Time to Live). Wielkość: 8 bitów. Pole zgodne ze specyfikacja protokołu IP. Czas życia datagramu liczony jest w sekundach. Typ protokołu, (Protocol). Wielkość: 8 bitów. Typ protokołu w datagramie IP. Dla protokołu ICMP wartość pola Protocol = 1. Suma kontrolna nagłówka, (Header Checksum). Wielkość:16 bitów. Pole zgodne ze specyfikacja protokołu IP. Adres IP nadawcy, (Source Address). Wielkość: 32 bity. Pole zgodne ze specyfikacja protokołu IP. Pole zawiera adres nadawcy wiadomości ICMP. Adres IP odbiorcy, (Destination Address). Wielkość: 32 bity. Pole zgodne ze specyfikacja protokołu IP. Pole zawiera adres odbiorcy wiadomości ICMP. 7

Nagłówek IP wiadomości ICMP 4 8 12 B ity 16 20 24 28 32 1 W ersja D lugosc naglowka Typ uslugi C alkowita dlugosc datagramu 2 3 4 5 6 7 Identyfikator F lagi P rzesuniecie fragmentu C zas zycia Typ protokolu Suma kontrolna naglowka Adres IP nadawcy Adres IP odbiorcy O pcje IP Uzupelnienie D ane N aglowek datagram IP v4 8

Format danych wiadomości ICMP Ogólny format wiadomości ICMP: Typ, (Type). Wielkość: 8 bitów. Pole określa rodzaj wiadomości ICMP. Kod, (Code). Wielkość: 32 bity. Pole określa kod błędu. 1 2 3 Bajty 1 2 3 4 Typ ICMP Kod Suma kontrolna Wskaznik Pole nieuzywane Naglowek datagramu IP + 64 bity z pola Dane datagramu IP Wiadomosc ICMP Suma kontrolna, (Checksum). Wielkość: 16 bity. Suma kontrolna jest ilością 16-bitowych słów w wiadomości ICMP, liczonej od pola 'Type'. Przy liczeniu sumy kontrolnej pole 'Checksum' ma długość zero. Wskaźnik, (Pointer). Wielkość: 8 bitów. Pole określa numer bajtu, w którym wystąpił błąd. Pole 'Code' musi mieć wartość 0 (komunikat o błędzie). Pole nieużywane, (unused). Wielkość: 32 bity. Informacje o błędnym datagramie. Informacja zawiera nagłówek i pierwsze 64 bity danych datagramu IP w którym wykryto błąd. W pierwszych 8 bajtach danych zawarte może być np. typ i numer portu nadawcy. 9

Wartości pola 'Typ wiadomości' w komunikacie ICMP Pole 'Type' 0 3 4 5 8 11 12 13 14 15 16 Opis pola Odpowiedz Echo Cel nieosiagalny (Destination Unreachable). Wygasniecie zrodla (Source Quench). Przekierowanie (Redirect). Zadanie Echo (Echo Request). Parametr TTL =0 (Time To Live Exceeded) Niewlasciwy parametr (Parameter Problem). Zadanie znacznika czasu (Timestamp). Odpowiedz ze znacznikiem czasu (Timestamp Reply). Zadanie informacji (Information Request). Odpowiedz z informacja (Information Reply). Wartosci pola 'Typ wiadomosci' 10

Wiadomość: Destination Unreachable Wiadomość: Destination Unreachable. Typ = 3, (typ wiadomości: Destination Unreachable). Kod 0 = net unreachable (kod generowany przez gateway) 1 = host unreachable (kod generowany przez gateway) 2 = protocol unreachable (kod może być generowany przez hosta) 3 = port unreachable (kod może być generowany przez hosta) 4 = fragmentation needed and DFset (kod generowany przez gateway) 5 = source route failed (kod generowany przez gateway) Suma kontrolna Nagłówek IP + 64 bitów danych z zgubionego datagramu. Wiadomość destination unreachable służy do informowania nadawcy ze odbiorca datagramu IP jest nieosiągalnych. Wiadomość jest wysyłana jest przez router w przypadku gdy: adres docelowy IP nie istnieje (host docelowy jest wyłączony, ma odłączona siec, źle ustawioną maskę), występuje wtedy typ wiadomości 'host unreachable' router nie może dostarczyć datagramu do danej sieci, występuje wtedy typ 'network unreachable'. 11

Wiadomość: Destination Unreachable Gdy wiadomość 'destination unreachable' jest wysyłana przez hosta oznacza to, że: dany host nie obsługuje któregoś z protokołów, występuje wtedy komunikat 'protocol unreachable' port protokołu TCP jest nieosiągalny, występuje wtedy typ 'port unreachable'. Typ=3 Kod Suma kontr. Pole niewykorzystane Naglowek IP + 64 bity danych z dat agramu IP Wiadomosc ICMP: Destination Unreachable 12

Wiadomość: Time Exceeded Wiadomość: Time Exceeded. Router wysyła do nadawcy datagramu wiadomość typu 'time exceeded' (typ 11) jeśli pole 'czas życia' (pole TTL) osiągnie wartość 0. Typ = 11, (typ wiadomości: Time Exceeded). Kod 0, time to live exceeded in transit (kod może być generowany przez gateway) 1, fragment reassembly time exceeded (kod może być generowany przez hosta) Suma kontrolna Nagłówek datagramu IP + 64 bitów danych z datagramu. T yp=11 Kod Suma kontr. Pole niewykorzystane N aglowek IP + 64 bity danych z dat agramu IP W iadomosc IC M P: T ime Exceeded 13

Wiadomość: Parameter Problem Wiadomość: Parameter Problem. Typ = 12, (typ wiadomości: Parameter Problem). Kod = 0, (wskazuje na błąd). Wskaźnik, (Pointer). Wielkość: 8 bitów. Numer bajtu w którym wykryto błąd. Suma kontrolna. Nagłówek datagramu IP + 64 bitów danych z datagramu. Wiadomość: parameter problem, typ12, używane jest gdy wystąpi błąd w nagłówku IP. Gdy wiadomości 'parameter problem' jest wysalana do nadawcy datagramu, dodawana jest informacja o numerze bajtu w nagłówku datagramu w którym wystąpił błąd. T yp=12 Kod=0 Suma kontr. W skaznik Pole nie wykorzystane N aglowek IP + 64 bity danych z dat agramu IP W iadomosc IC M P: Parameter Problem 14

Wiadomość: Source Quench Wiadomość: Source Quench (wygaśniecie źródła). Typ =4, (typ wiadomości: Source Quench) Kod =0. Suma kontrolna Nagłówek datagramu IP + 64 bitów danych z datagramu. Wiadomość: source quench, typ wiadomości 4, używana jest do kontroli szybkości wysyłania datagramów. Gdy odbiorca nie nadąża z odbiorem datagramów IP, odbiorca wysyła wiadomości ICMP 'source quench', po którym nadawca wstrzymuje transmisje do czasu ponownego pojawienia się wiadomości 'source quench'. Wiadomość 'source quench' może być wysłana przez router lub hosta odbierającego datagramy, np. z powodu przepełnionego bufora. T yp=4 Kod=0 Suma kontr. Pole niewykorzystane N aglowek IP + 64 bity danych z dat agramu IP W iadomosc IC M P: Source Q uench 15

Wiadomość: Redirect Wiadomość: Redirect. Typ = 5, (typ wiadomości: Redirect). Kod 0 = Redirect datagrams for the Network. 1 = Redirect datagrams for the Host. 2 = Redirect datagrams for the Type of Service and Network. 3 = Redirect datagrams for the Type of Service and Host. Suma kontrolna Adres IP gatewaya Nagłówek datagramu IP + 64 bitów danych z datagramu. Wiadomość: redirect (typ 5) jest wysyłana gdy odbiorca datagramu IP, chce zmienić gateway przez który są przesyłane datagramy. Wiadomość zawiera adres nowego gatewaya. Gateway musi znajdować sie w tej samej sieci. Po otrzymaniu wiadomości 'redirect' nadawca aktualizuje swoja tablice routingu. Wiadomość typu 'redirect' wysyłana jest do gateway a w przypadku gdy została znaleziona lepsza trasa przesyłania datagramow. 16

Wiadomość: Redirect W polu code, wiadomości 'redirect' wpisany zostaje parametr określający warunki przekierowania datagramow: 0 oznacza, ze datagram musi być przekierowany 1 oznacza, ze tylko datagramy kierowane do konkretnego węzła powinny być przekierowane 2 oznacza, ze powinny być przekierowane datagramy z tym samym polem 'type of service' (pole w nagłówku datagram IP) 3 oznacza, ze powinny być przekierowne tylko datagramy kierowane do konkretnego węzła z tym samym polem 'type of service'. Typ=5 Kod Suma kontr. Adres IP gateway'a Naglowek IP + 64 bity danych z datagramu IP Wiadomosc ICMP: Redirect 17

Wiadomość: Echo, Echo Reply Wiadomość: Echo, Echo Reply. Typ = 8 (typ wiadomości: echo). 0 (typ wiadomości: echo reply). Kod = 0. Suma kontrolna. Identyfikator Kolejny numer Dane Typ=8, 0 Identyfikator Kod=0 Suma kontr. Kolejny numer Dane Wiadomosci ICMP: Echo, Echo Reply Dane zwarte w wiadomości 'Echo' musza być zwrócone w wiadomości 'Echo Replay'. Wiadomości: echo, echo reply (typ 8, 0) są używane do sprawdzania jakości łączy i stanu urządzeń w sieci. Sprawdzanie komunikacji ze zdalnym hostem odbywa się poprzez wysalanie żądanie Echa', jeżeli host jest dostępny odpowiada komunikatem 'echo reply'. Narzędzia korzystające wiadomości ICMP 'echo': ping, tracert. 18

Wiadomość: Timestamp, Timestamp Reply (znacznik czasu) Wiadomość: Timestamp, Timestamp Reply (znacznik czasu). Typ = 13 (typ wiadomości: timestamp). 14 (typ wiadomości: timestamp reply). Kod = 0. Suma kontrolna. Identyfikator (identifier). Kolejny numer (sequence number). Znacznik czasu źródła. Znacznik czasu otrzymany. Znacznik czasu wysłany. Typ=13, 14 Identyfikator Kod=0 Suma kontr. Kolejny numer Znacznik czasu zrodla Znacznik czasu otrzymany Znacznik czasu wyslany Wiadomosci ICMP: Timestamp, Timestamp Reply Pola Identyfikator (identifier) i Kolejny numer (sequence number) mogą być użyte przez nadawcę do identyfikacji odpowiedzi na wysłane zapytanie (matching replies with requests). Znacznik czasu jest 32 bitowa liczba określająca liczbę milisekund jaki upłynął od początku dnia (od godz. 0.00) czasu Universal Time do chwili wysłania wiadomości ICMP. Czas odbioru (timestamp) zawarty w wiadomości jest zwracany w widomości 'timestamp reply' z dodatkowym znacznikiem. 19

Wiadomość: Timestamp, Timestamp Reply (znacznik czasu) Znacznik czasu źródła (timestamp source) określa moment (czas jaki upłynął od godz. 0.00 czasu UT) ostatniej modyfikacji wiadomość przez nadawcę. Znacznik czasu otrzymany (receive timestamp) określa czas w którym urządzenie odpowiadające (echoer) odebrało zapytanie (first touched it on receipt). Znacznik czasu wysłany (transmit timestamp) jest czasem w którym 'echoer' wysłał odpowiedz (last touched message on sending it). Wiadomości: timestamp requests i tmestamp replies umożliwiają monitorowanie czasu transmisji wiadomości. Typ=13, 14 Identyfikator Kod=0 Suma kontr. Kolejny numer Znacznik czasu zrodla Znacznik czasu otrzymany Znacznik czasu wyslany Wiadomosci ICMP: Timestamp, Timestamp Reply 20

Wiadomość: Information Request, Information Reply Wiadomość: Information Request, Information Reply. Typ = 15, (typ wiadomości: Information Request) 16, (typ wiadomości: Information Reply) Kod = 0. Suma kontrolna. Identyfikator (identifier). Kolejny numer (sequence number). Wiadomość może być wysłana przez hosta do wszystkich hostów w danej sieci, pola 'source address' i 'destination address' w nagłówku datagramu IP są wypełnione zerami (co oznacza 'ta siec') w celu zidentyfikowania adresu sieci. Pole 'identyfikator' w zapytaniu musi być wypełnione w celu identyfikacji i skojarzenia odpowiedzi z odpowiednim zapytaniem. T yp=15, 16 Kod=0 Suma kontr. Identyfikator Kolejny numer Wiadomosci IC MP: Information Request, Information Reply 21

Funkcje protokołu ICMP Wiadomości: address mask requests (typ 17) address mask replies (typ 18) są używane do testowania stanu sieci. Błędy w transmisji komunikatów ICMP Trasy datagramów z wiadomościami ICMP sa wyznaczane tak, jak dla datagramów IP z danymi aplikacji, tzn. nie mają dodatkowych priorytetów i zabezpieczeń. Wiadomości ICMP o błędach mogą zostać zagubione lub zniszczone. Dla wiadomości ICMP stworzono wyjątek w procedurach obsługi błędów: komunikat o błędach nie jest tworzony w przypadku gdy błąd został spowodowany przez datagram IP zawierający wiadomości ICMP. 22

Przykład: datagram ICMP ECHO Response # ----- Nagłówek Ethernetowy ----- Packet 2 arrived at 17:37:12.02 Packet size = 98 bytes Destination = 8:0:20:86:35:4b, Sun Source = 0:e0:f7:26:3f:e9, CISCO Router Ethertype = 0800 (IP) # ----- Nagłówek IP ----- Version = 4 Header length = 20 bytes Type of service = 0x00 (normal) Total length = 84 bytes Identification = 43771 Flags = 0x4.1..... = do not fragment..0.... = last fragment Fragment offset = 0 bytes Time to live = 252 seconds/hops Protocol = 1 (ICMP) Header checksum = fa30 Source address = 150.168.233.2, server.math.edu.pl Destination address = 150.168.217.110, client No options # ----- Naglowek ICMP ----- Type = 0 (Echo reply) Code = 0 (net unreachable) Checksum = 45da Payload Data 23

Narzędzie: ping Narzędzie ping, (ang.) Packet InterNet Groper, służy do sprawdzenia stanu łączy i dostępności węzła sieci. Ping korzysta z protokołu ICMP, komunikatów ICMP 'Echo Request' i 'Echo Reply'. RFC 2151, 'A Primer On Internet and TCP/IP Tools and Utilities', 1997. Składnia polecenia: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] [-k host-list]] [-w timeout] destination-list Opcje: -t Ping the specified host until stopped. To see statistics and continue - type Control-Break; To stop - type Control-C. -a Resolve addresses to hostnames. -n wartosc Liczba komunikatow typu 'echo requests' do wyslania. -l wielkosc Wielkość wysylanych zaytan typu 'echo requests' -f ustaw parametr 'don't Fragment' w pakiecie -i TTL ustawia wartosc TTL -v TOS Type Of Service. -r count Record route for count hops. -s count Timestamp for count hops. -j host-list Loose source route along host-list. -k host-list Strict source route along host-list. -w timeout Timeout in milliseconds to wait for each reply. 24

Narzędzie: tracert Narzędzie tracert służy do sprawdzenia stanu łączy, dostępności węzła sieci, zwraca nazwę kolejnych routerów przez które przechodzi zapytanie tracert. Narzędzie tracert wykorzystuje protokół ICMP. Składnia polecenia: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name Opcje: -d Do not resolve addresses to hostnames. -h maximum_hops Maximum number of hops to search for target. -j host-list Loose source route along host-list. -w timeout Wait timeout milliseconds for each reply. 25

Protokół ICMPv6. Wstęp ICMPv6, (ang.) Internet Control Message Protocol version 6. Protokół ICMP dla protokołu IPv6. RFC 2463,Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6),1998. Wiadomości ICMPv6 są przesyłane w datagramie IPv6 z wartością pola Next Header = 58. Bity 4 8 12 16 20 24 28 32 1 Wersja Klasa ruchu Etykieta protokolu 2 Dlugosc danych Nastepny naglowek Ilosc Etapow 3 Adres IP nadawcy (4 x 32 bity = 128 bitow) 4 Adres IP odbiorcy (4 x 32 bity = 128 bitow) Naglowek datagramu IPv6 26

Typy wiadomości ICMPv6 Wiadomości związane z obsługą błędów (wartość pola 'type' 0-127): Destination Unreachable (pole Type = 1) Packet Too Big (pole Type = 2) Time Exceeded (pole Type = 3) Parameter Problem (pole Type = 4). W wiadomościach związanych z obsługą błędów (error messages) pierwszy bit w polu 'type' ma wartość 0. Wiadomości informacyjne (wartość pola 'type' 128-255): Echo Request (pole Type = 128) Echo Reply (pole Type = 129). 27

Struktura wiadomości ICMPv6 Struktura wiadomości ICMPv6: Typ, (Type). Wielkość: 8 bitów. Kod, (Code). Wielkość: 8 bitów. Wartość pola 'Code' jest określona dla każdego typu wiadomości ICMPv6. Suma kontrolna, (Checksum). Wielkość: 16 bitów. Liczba 16-bitowych slow w wiadomości ICMPv6, liczona od pola 'Type' z uwzględnieniem pseudonagłówka IPv6, tzn. pseudonagłówka IP dla TCPv6 i UDPv6. Dane, (Message Body). Wielkość: zmienna. Pseudonagłówek IPv6 (dla TCpv6 i UDPv6) składa sie z następujących pól: Source Address. Wielkość: 128 bitów. Destination Address. Wielkość: 128 bitów. Upper-Layer Packet Length. Wielkość: 8 bitów. Długość nagłówka i pola 'dane' pakietu z 'zapakowanego' w datagram IPv6. Zero. Wielkość: 120 bitów. Next Header. Wielkość: 8 bitów. Pole określa typ następnego nagłówka, np. wartość pola 6 dla TCP, 17 dla UDP. 28