]> gitweb.morketsmerke.org Git - mmdev.git/commitdiff
Zakończenie pisania rozdziału 13. Do przeredagowania.
authorxf0r3m <jakubstasinski@protonmaill.com>
Wed, 7 Feb 2024 12:34:53 +0000 (13:34 +0100)
committerxf0r3m <jakubstasinski@protonmaill.com>
Wed, 7 Feb 2024 12:34:53 +0000 (13:34 +0100)
articles/terminallog/Cisco_-_CCNA.html

index 2680e5e841841fa9516111c4b9ce90ace109f516..ca2932480825df43b734b5669dad336d81863d1a 100755 (executable)
         wydawać się nieco dziwne, dlatego też przy takich informacjach będę
         zapisywać oznacznie oryginalności zapisu (<strong>sic/sic!</strong>).
       </p>
+      <h1 id="1.13.icmpprotocol">1.13. Protokół ICMP</h1>
+      <p>
+        Protokół ICMP jest protokołem diagnostyczno-kontrolnym, wspomagając
+        protokoł IP. Przez użytkowników może zostać wykorzystany do sprawdzenia
+        połączenia z siecią oraz weryfikacji transy wysyłanych pakietów.
+      </p>
+      <h2 id="1.13.icmpmessages">1.13.1. Komunikaty protokołu ICMP</h2>
+      <p>
+        Protokoł ICMP dostarcza informacji o problemach związanych z
+        przetwarzaniem pakietów IP w określonych warunkach.
+      </p>
+      <p>
+        ICMP w wersji 4 posiada głównie funkcjonalność sygnalizacyjną na IPv4.
+        Natomast w przypadku IPv6 funkcjonalność protokołu ICMPv6
+        rozszerzono o dodatkowe role.
+      </p>
+      <p>
+        Oczywiśćie ICMP dla IPv6 dalej pozostaje protokołem sygnalizacyjnym.
+        Obie wersje protokółu wspierają podstawowe komunikaty takie
+        jak:
+      </p>
+      <ul>
+        <li>Osiągalność hosta</li>
+        <li>Nieosiągalność celu lub usług</li>
+        <li>Wyczerpanie czasu</li>
+      </ul>
+      <p>
+        Warto zaznaczyć, że nie ze wszystkich sieci otrzymamy odpowiedź,
+        ponieważ w wielu z nich protokół ICMP jest blokowany przy użyciu
+        zapory, ze względów bezpieczeństwa.
+      </p>
+      <p>
+        Do badania osiągalności hosta, można wykorzystać komunikat 
+        ICMP <strong>Echo</strong>. Jeden z hostów wysyła do drugiego
+        żądanie <em>Echo</em> (<em>request</em>), jeśli ten drugi host jest
+        osiągalny to odpowie przy użyciu komunikatu odpowiedzi <em>Echo</em>
+        (<em>reply</em>)
+      </p>
+      <p>
+        W przypadku mierzenia osiagalności celów oraz usług sprawa trochę
+        bardziej skomplikowana. Komunikat ICMP może zawierać specjalny
+        kod, który wskaże nam dlaczego pakiety nie mogą dotrzeć.
+      </p>
+      <p>
+        Dla IPv4 są to kolejno:
+      </p>
+      <ul>
+        <li><strong>0</strong> - sieć jest nieosiągalna</li>
+        <li><strong>1</strong> - host jest nieosiągalny</li>
+        <li><strong>2</strong> - protokół jest nieosiągalny</li>
+        <li><strong>3</strong> - port jest nieosiągalny</li>
+      </ul>
+      <p>
+        Natomiast dla IPv6 są to kolejno:
+      </p>
+      <ul>
+        <li><strong>0</strong> - brak trasy do celu</li>
+        <li><strong>1</strong> - komunikacja z celem została zablokowana przez
+          administratora (np. na komunikację nie pozwala firewall)</li>
+        <li><strong>2</strong> - poza zakresem adresu źródłowego</li>
+        <li><strong>3</strong> - adres nieosiągalny</li>
+        <li><strong>4</strong> - port nieosiągalny</li>
+      </ul>
+      <p>
+        Innym rodzajem komunikatu jest upłynięcie czasu. Jak możemy pamiętać
+        z budowy nagłówka pakietu IPv4, to zawiera on pole TTL, każde
+        przejście pakietu przez router obniża tą wartość o 1, aż do jej
+        wyzerowania. W momecie wyzerowania pola TTL, dla np. naszego
+        żądania <em>Echo</em>, możemy otrzymać komunikat o tym, że pole TTL
+        zostało wyzerowane w trakcie przesyłu pakietu
+      </p>
+      <p>
+        Protokół ICMP dla IPv6 został zaktualizowany, a jego funkcjonalność
+        została rozszerzona na 4 nowe rodzaje komunikatów jako część
+        protokołu <em>Neighbor Discover Protocol</em>.
+      </p>
+      <p>
+        Nowe komunikaty dzielą się na wymieniane między hostem a routerem,
+        to jest:
+      </p>
+      <ul>
+        <li><strong>Zapytanie o router</strong> - <em>Router Solicitation</em>
+          (RS)</li>
+        <li><strong>Ogłaszanie się routera</strong> -
+          <em>Router Advertisement</em> (RA)</li>
+      </ul>
+      <p>
+        Jak i na te wymienie między hostami, to jest:
+      </p>
+      <ul>
+        <li><strong>Zgłoszenie się hosta</strong> -
+          <em>Neighbor Solicitation</em> (NS)</li>
+        <li><strong>Ogłoszenie się hosta</strong> -
+          <em>Neighbor Advertisement</em> (NA)</li>
+      </ul>
+      <p>
+        ICMPv6 zawiera jeszcze inne komunikaty, ale są one np. podobne do 
+        komunikatu przekierowania (<em>redirect</em>) wykorzystywanego IPv4.
+      </p>
+      <p>
+        Komunikaty RA w IPv6 są wysyłane przez router co 200 sekund, aby
+        dostarczyć informacje do wszystkich obsługujących IPv6 urządzeń.
+        Poza adresami routera przekazywany jest prefix i jego długość, adresy
+        DNS czy nazwa domenowa. Komunikaty RA są wykorzystywane do konfiguracji
+        bramy domyślnej dla hostów, które są ustawione na samodzielną
+        konfigurację przy ustawią one adres lokalny.
+      </p>
+      <p>
+        Routery odpowiedzą za pomocą komunikatu RA na otrzymany komunikat RS.
+        Hosty wysyłają RS w celu określenia informacji na temat adresacji
+        protokołu IPv6.
+      </p>
+      <p>
+        Urządzenia, które mają skonfigurowane IPv6 pod GUA lub Local-Link,
+        mogą używać mechanizmu <strong>DAD</strong>
+        (<em>Duplicate Adress Detection</em>) w celu upewnienia się o
+        unikalności adresu. W celu sprawdzenia unikalności swojego adresu
+        host wysyła komunikat NS, ustawiając swój adres jako adres docelowy.
+        Jeśli jeden z hostów będzie mieć taki adres, wówczas odpowie na tem
+        pakiet komunikatem (NA).
+      </p>
+      <p>
+        W przypadku IPv6 protokół ICMP w wersji 6, przejął rozwiązywanie
+        adresów IP na adresy MAC. Host, który potrzebuje adresu MAC innego
+        hosta wysła do niego komunikat NS. W odpowiedzi host odpowiada
+        komunika NA zawierającym adres MAC stacji, która go wysłała.
+      </p>
+      <h2 id="1.13.2.pingandtraceroutetests">1.13.2. Testy ping oraz traceroute</h2>
+      <p>
+        Polecenie <strong>ping</strong> jest narzędziem testowym zarówno dla
+        IPv4 i IPv6. Polega ono na wysłaniu kilku komunikatów 
+        <em>echo requests</em> i oczekiwaniu na <em>echo reply</em>
+        wyswietlając każdą odpowiedź. Na koniec zwracane jest podsumowanie
+        zawierające m. in. uśredniony czas wszystkich odpowiedzi. Polecenia
+        ping mogą wyglądać różnie w zależności od systemu.
+      </p>
+<!-- Przykład z pingiem na loopback z Windowsa, Linux i IOS -->
+      <p>
+        Polecenie ping możemy zastosować kilku scenariuszach aby uzyskać kilka
+        odpowiedzi. Jeśli chcemy sprawdzić czy nasz stos siciowy działa
+        poprawnie możemy zpingować swój adres pętli zwrotnej:
+        <code class="code-inline">ping 127.0.0.1</code>. Pozytywna odpowiedź
+        oznacza, że nasz host może funkcjonować we wszystkich współczesnych
+        sieciach. Drugim testem jaki możemy wykonać jest ping na adres bramy
+        domyślnej, pozwoli nam to ustalić czy nasz konfiguracja IP jest
+        prawidłowa. Szczególnie przydatne, gdy konfigurowaliśmy nasz ręcznie
+        bez użycia serwera DHCP. Jeśli odpowiedź na ten test będzie pozytywna
+        to oznacza, to że nasz host ma możliwość komunikacji w sieci, do
+        której jest podpięty. Ostatnim trzecim testem jest sprawdzenie
+        dostępności jakiegoś hosta w Internecie lub w drugiej sieci. Takie
+        działania może mieć na celu upewnienie się, że mamy dostęp Internetu
+        oraz, że nasz router jest skonfigurowany jeśli obsługuje on więcej niż
+        dwie sieci.
+      </p>
+      <p>
+        Innym z narzędzi pozwalających nam testować możliwości połączenia. Jest
+        <strong>traceroute</strong> w systematch takich jak Windows może
+        nosić nazwę <em>tracert</em>. Nie koniecznie może być przedatne
+        zwykłym użytkownikom, ale jeśli administrator ma kilka routerów, to
+        za pomocą tego narzędzia sprawdzić możliwości komunikacji miedzy
+        odległymi sieciami. Działa ono w oparciu o komunikat 
+        <em>Time exceeded</em> manipulując wartością TTL. Na początku nadawca
+        wysyła pakiet IP z zawartością ICMP do docelowego hosta
+        ustawia TTL na jeden i przesyła do bramy. Brama zmniejsza TTL i
+        odsyła do klienta komunikata <em>time exceeded</em>, nam na ekranie
+        pojawia się pierwszy skok. Następnie nadawca zwiększa TTL o 1 i
+        wysyła ponownie i tak dalej, aż osiągnie cel podany podczas wydawania
+        polecenia lub liczba skoków osiągnie 30. Zamiast nazw hostów (routerów)
+        lub ich adresów IP zobaczymy gwiazdki (<strong>*</strong>), wówczas
+        oznaczna to, że wysłany pakiet został utracony lub host nie jest
+        w stanie (np. ze względów bezpieczeństwa) opowiedzieć za pomoca
+        komunikatu <em>time exceede</em>.
+      </p>
+      <p>
+        W przypadku nagłówków pakietów IPv6 nie mamy doczynienia z polem TTL, a
+        z polem <em>Hop Limit</em>.
+      </p>
+      <h3 id="1.13.2.pka">Zadanie praktyczne - Packet Tracer</h3>
+      <p>
+        <a href="">Weryfikacja adresacji IPv4 i IPv6</a><br />
+        <a href="">Użycie ping oraz traceroute do sprawdzenia łączności w sieci</a>
+      </p>
+      <h2 id="ch13summary">Podsumowanie</h2>
+      <p>
+        Ten rozdział zamyka warstwę trzecią. Poznaliśmy w nim protokoł ICMP, 
+        podstawowe komunikaty oraz ich rodzaje. Dowiedzieliśmy się jaką ważną
+        rolę będzie pełnić ten protokół w sieciach opartych na IPv6. 
+        Na koniec omówiliśmy sobie sposób działania narzędzi takich jak 
+        <em>ping</em>
+        czy <em>traceroute</em> oraz w jaki sposób wykorzystują do swojego
+        działania komunikaty protokołu ICMP.
+      </p>
+      <h3 id="1.13.pka">Zadanie praktyczne - Packet Tracer</h3>
+      <p>
+         <a href="">Użyj ICMP do naprawy połączeń w sieci</a>
+      </p>
+      <h3 id="1.13.lab">Laboratorium</h3>
+      <p>
+        <a href="">Wykorzystaj ping oraz traceroute do testów sieciowych</a>
+      </p>
       <h1 id="1.14.transportlayer">1.14. Warstwa transportowa</h1>
       <p>
         Warstwa transportowa jest odpowiedzialna za komunikację pomiędzy