Protokół ICMP


 
  Strona główna
  Inf. podstawowe
  Budowa pakietu
  Szczegóły działania
    ICMPv4
    ICMPv6
  Typy komunikatów  
    ICMPv4
    ICMPv6
  Opcje ICMPv6
  Przykłady działania
    Polecenie ping
    Polecenie traceroute
    Redirect
  Kod źródłowy
 

Szczegóły działania ICMPv6

W protokole ICMPv6 jest wyraźne rozróżnienie komunikatów o błędach i komunikatów informacyjnych. Wiadomości o błędach mają typy mniejsze niż 128 a wiadomości informacyjne od 128 w górę.
Komunikaty informujące o błędach w protokole ICMPv6 nie mogą być wysyłane jako odpowiedź na:

Zasady te mają pochodzenie analogiczne jak w przypadku ICMPv4.
Każdy komunikat o błędzie w protokole ICMPv6 zawiera początek pakietu, podczas przesyłania którego wystąpił błąd. Ilość zwracanych danych jest taka, aby wiadomość ICMPv6 nie przekroczyła rozmiaru równego najmniejszej wartości MTU (Maximum Transmission Unit) protokołu IPv6.
W przypadku gdy urządzenie otrzymuje wiadomość ICMPv6, musi podjąć pewne działania. Jeżeli typ wiadomości nie jest znany oprogramowaniu ICMPv6 musi ono przekazać komunikat protokołom wyższych warstw w przypadku gdy jest to komunikat o błędzie (typ jest mniejszy niż 128). Komunikat informacyjny ICMPv6 nieznanego typu musi być przez oprogramowanie protokołu odrzucony.
Gdy wiadomość o błędzie ICMPv6 musi być przekazana do oprogramowania pracującego w wyższych warstwach modelu OSI, proces który powinien ją otrzymać rozpoznawany jest na podstawie protokołu wyższej warstwy (np. TCP) i numeru portu. Informacje te są uzyskiwane z fragmentu pakietu wywołującego błąd zawartego w wiadomości ICMPv6. Może się jednak zdarzyć tak, że błędny pakiet IPv6 zawierał dużo rozszerzonych nagłówków (extension headers). Nagłówek protokołu wyższej warstwy nie może wtedy zostać dołączony do wiadomości ponieważ przekroczyłaby ona dopuszczalną wielkość. W takim przypadku komunikat o błędzie jest odrzucany.
Protokół ICMPv6 musi ograniczać ilość wysyłanych komunikatów o błędach aby nie obciążać zbytnio łączy. Przykładami takich ograniczeń są:

  • ograniczenie ilości wysyłanych komunikatów do najwyżej jednego w ciągu T milisekund
  • ograniczenie wykorzystania maksymalnej przepustowości łącza przez ICMPv6 do F procent

W każdym urządzeniu musi być możliwość ustawienia parametrów ograniczających (T oraz F) a przykładowymi wartościami domyślnymi mogą być np. T=1 sekunda, F=2%.


Autorzy: Dariusz Obidowski
Marek Wardziński

22.01.2003r.