]> gitweb.morketsmerke.org Git - mmdev.git/commitdiff
Zakończono pisanie 15 rozdziału. Do przeredagowania
authorxf0r3m <jakubstasinski@protonmaill.com>
Mon, 5 Feb 2024 13:09:07 +0000 (14:09 +0100)
committerxf0r3m <jakubstasinski@protonmaill.com>
Mon, 5 Feb 2024 13:09:07 +0000 (14:09 +0100)
articles/terminallog/Cisco_-_CCNA.html

index caa053b0b4267efa5dbc9b0bbc8fa8565511d4b9..e6228614c2e9f1e21b439fbb518c9762fbd39bd5 100755 (executable)
@@ -34,6 +34,7 @@
         <li><a href="#0.introduction">0. Wstęp</a></li>
         <li><a href="#1.module1">1. Moduł 1: Wprowadzenie do sieci komputerowych</a>
           <ul class="toc">
+          <li><a href="#1.15.applicationlayer">1.15. Warstwa aplikacji</a></li>
           <li><a href="#1.16.networksecurityfundamentals">1.16. Wprowadzenie do bezpieczeństwa sięci</a></li>
           <li><a href="#1.17.buildingasmallnetwork">1.17. Budowanie małej sieci</a></li>
           <!--
         wydawać się nieco dziwne, dlatego też przy takich informacjach będę
         zapisywać oznacznie oryginalności zapisu (<strong>sic/sic!</strong>).
       </p>
+      <h1 id="1.15.applicationlayer">1.15. Warstwa aplikacji</h1>
+      <p>
+        W warstwie aplikacji znajdują się elementy komunikacji sieciowej,
+        z którymi użytkownik ma styczność podczas korzystania z zasobów
+        Internetu. Na warstwę aplikacji składają się nie tylko aplikacje jakby
+        sama nazwa miała wskazywać, ale także stojące za nimi protokoły, czy
+        też metody prezentacji treści audio czy wideo, ale także utrzymanie
+        połączenia między aplikacjami. W materiałach Cisco jak pamiętamy 
+        posługujemy się siedmiowarstowym modelem ISO/OSI, tak więc tutaj
+        warstwa aplikacji, jaką możemy znać z modelu TCP/IP jest przedstawiona
+        w postaci trzech mniejszych warstw.
+      </p>
+      <h2 id="1.15.1.aplicationpresentationsession">1.15.1. Warstwy aplikacji, prezentacji i sesji</h2>
+      <p>
+        Warstwa aplikacji dostarcza interfejsu wykorzystywanego przez aplikacje
+        do komunikacji oraz umożliwia korzystanie z sieci do przesyłania
+        wiadomości między nimi.
+      </p>
+      <p>
+        W tej warstwie rezydują znane wszystkim protokoły takie jak HTTP, DNS,
+        FTP, IMAP, SMTP, ale także taki protokoł jak DHCP.
+      </p>
+      <p>
+        Niższa wartswa prezentacji odpowiedzialna jest za formatowanie i
+        prezentacje pozwalając dostosować dane źródłowe do postaci
+        kompatybilnej z urządzeniem końcowym. Metody kompresji pozwalające
+        na przyspieszenie ładowania zasosbu oraz ewentualną oszczędność miejsca
+        jeśli taki zasób miał by zostać przechowany na naszych urządzeniach
+        również rezydują w tej warstwie. Ostatnią cechą warstwy prezentacji
+        jest zabzpieczenie transmisji przy użyciu metod szyfrowania, takich jak
+        dobrze nam znany <strong>TLS</strong>.
+      </p>
+      <p>
+        Warstwa sesji jest natomiast odpowiedzialna za utrzymaniem wirtualnego
+        dialogu pomiędzy aplikacjiami, tzw. <strong>sesji</strong>. Warstwa ta
+        zajmuje się umożliwieniem jej inicjalizacji celem wymiany informacji
+        pomiędzy aplikacjami, jej utrzymaniem oraz ewentualnym restartem jeśl
+        będą ku temu przesłanki.
+      </p>
+      <p>
+        W warstwie aplikacji znajdują się protokoły określające standardy
+        w wiekszości komunikacji sieciowej. Te protokoły muszą być stosowane
+        przez obie strony i ich implementacje powinny być ze sobą kompatybilne,
+        aby komunikacja mogła dość do skutku.
+      </p>
+      <h2 id="1.15.2.p2p">1.15.2. Komunikacja peer-to-peer</h2>
+      <p>
+        Obecny model komunikacji w Internecie opiera się o model
+        <strong>klient-serwer</strong>, jego działanie opiera się na żądaniu
+        przez klienta zasobów, które udostępnia serwer. Procesy zarówno
+        klienta jak i serwera znajdują się w warstwie klienta. Format żądań
+        i odpowiedzi klienta i serwera jest określany przez protokoły warstwy
+        aplikacji.
+      </p>
+      <p>
+        W modelu P2P dwoje lub więcej komputerów może współdzielić zasoby takie
+        jak pliki czy drukarki bez dedykowanego serwera. W tym modelu każdy
+        jest serwerem oraz klientem, dla jednego połączenia dany host może być
+        serwerem a w miedzy czasie przy użyciu innego połączenia pobierać plik
+        z innego hosta. Popularnymi programami działającymi w trybie 
+        <em>peer-to-peer</em> jest klienci sieci BitTorrent, czy usługa Freenet.
+      </p>
+      <h2 id="1.15.3.webandemail">1.15.3. Protokół HTTP oraz protokoły pocztowe.</h2>
+      <p>
+        Wpisująć w pasek adresu przeglądarki adres URL żądanej strony,
+        przeglądarka nawiąże połączenie z serwerem WWW stojącym za żądaną
+        stroną i pobierze ją. Połączenia między przeglądarką a serwerem strony
+        zostaną zrealizowane za pomocą protokołu HTTP lub jego szyfrowanej
+        wersji jaką jest HTTPS. Jak pamiętamy protokoły określają sposób
+        komunikacji. W przypadku protokołu HTTP, jest on dosyć prosty więc
+        warto sobie go opisać. 
+      </p>
+      <ol>
+        <li>Po wpisaniu adresu do przeglądarki np. 
+          <em>https://www.cisco.com/index.html</em> zostanie on zinterpretowany
+          i podzielony na konkretne sekcje określające: protokoł
+          (<em>https</em>), nazwę hosta, który udostępnia tą witrynę
+          (<em>www.cisco.com</em>) oraz żądany pliki (<em>index.html</em>).
+        </li>
+        <li>Na drugim etapie przeglądarka wysła do hosta żądanie wskazanego w 
+          adresie pliku.  Wcześniej określając adres IP poprzez wykorzystanie
+          protokołu DNS.
+          Tego typu żądanie określa się mianem żądania <strong>GET</strong>. 
+          W ten sposób sesja protokołu HTTP zostaje rozpoczęta.
+        </li>
+        <li>W odpowiedzi serwer wysła żądaną stronę. W tym momencie możemy
+          uznać sesję HTTP uznać za zakończoną.</li>
+        <li>Przeglądarką interpretuje otrzymaną stronę i wyświetla wynik
+          użytkownikowki.</li>
+      </ol>
+      <p>
+        W drugim kroku wspomniano, że żądanie strony można określić jako
+        <em>GET</em>, <em>GET</em> jest jednym z faktycznych komunikatów
+        protokołu HTTP. Jest on używany w momencie gdy klient chce pobrać zasób
+        z serwera, wówczas taki zasób jest mu udostępniany po przez wysłanie
+        go do klienta. Po za klasycznym <em>GET</em>-em mamy do dyspozycji
+        komunikat typu <strong>POST</strong>, jego zadaniem jest wysłanie
+        osobnych danych na serwer lub do aplikacji, na przykład za pomocą
+        formularza na stronie. Innym rodzajem komuniktów jest 
+        <strong>PUT</strong>, które zadaniem jest przysłanie plików na serwer
+        WWW.
+      </p>
+      <p>
+        Obecnie poza sieciami lokalnymi, nie spotkamy transmisji z użyciem
+        protokołu HTTP, ale przy użyciu protkołu HTTPS - bezpieczniejszej
+        wersji. Oczywiście mogą zdarzyć się wyjątki, gdzie takie strony jak
+        np. ta, kompletnie nie potrzebują HTTPS
+      </p>
+      <p>
+        Nieco innym rodzajem transmisji jest korzystanie z poczty
+        elektronicznej. W dużym skrócie, przy poczcie elektronicznej
+        wykorzystywane są trzy protokoły, jeden dla wysyłania oraz dwa do
+        odbierania poczty. Obecnie nikt nie korzysta z gołych protokółów,
+        choć w przypadku poczty jest jak najbardziej możliwe, to na co dzień
+        wykorzystuje się programy pocztowe, będące klientami a ich zadaniem
+        jest ułatwienie użytkownikowi korzystanie z poczty elektronicznej.
+        Uruchamiając taki program, to jeśli posiadamy konfigurację konta
+        pocztowego, to z serwera zostanie pobrana poczta ponieważ program
+        połączy się albo z <strong>IMAP</strong>-em po porcie TCP/993
+        dla transmisji szyfrowanej lub po porcie TCP/143 dla transmisji
+        nieszyfrowanej lub też z protokołem <strong>POP3</strong> po porcie
+        TCP/995 dla transmisji szyfrowanej oraz TCP/110 dla transmisji
+        nieszyfrowanej. Rożnica w tych protokołach polega na tym, że
+        protokół POP3 pobiera zawartość naszej skrzynki na serwerze, bez
+        pozostawienia jej kopii na nim (chociaż w ustawieniach mozna wymuść,
+        aby kopia pozostała na serwerze), z kolei działanie protokołu IMAP
+        opiera się na synchronizacji, do klienta trafia ją szczątkowe
+        informacje o poczcie na serwerze, w momencie gdy użytkownik kliknie w
+        wiadomość zostanie ona pobrana z serwera i wyświetlona.
+      </p>
+      <p>
+        Inaczej jest w przypadku gdy chcemy wysłać wiadomość. W momencie gdy 
+        użytkownik
+        zdecyduje się na kliknięcie przycisku wyśli zostanie on połączony z
+        z serwerem <strong>SMTP</strong> TCP/465 dla transmisji szyfrowanej
+        oraz TCP/25 dla transmisji nieszyfrowanej, wskazanym w konfiguracji
+        konta. Wiadomość zostanie przekazan do serwera wraz ze wszystkimi
+        danymi takimi jak odbiorca czy temat. Na podstawie odbiorcy nasz
+        serwer SMTP prześle wiadomość do <strong>odpowiedniego dla odbiorcy
+        serwera SMTP</strong>, z tam tąd odbiorca pobierze ją za pomocą jednego
+        z wyżej opisanych protokołów.
+      </p>
+      <h2 id="1.15.4.ipaddressingservices">1.15.4. Usługi adresacji IP</h2>
+      <p>
+        W obecnych czasach ciężko było by się poruszać po Internecie, przy
+        użyciu adresów IP. Dlatego też wynaleziono specjalny rodzaj usługi,
+        jaką jest <strong>DNS</strong>. Zadaniem tego protokołu jest
+        rozwiązywanie nazw domenowych na adresy IP, DNS wykorzystuje tutaj
+        transmisję UDP po porcie 53. Serwery DNS przechowują dane w postaci
+        rekordów, rekordy te mają określony typ. Tak więc, rekordy typu:
+      </p>
+      <ul>
+        <li><strong>A</strong> - adres IPv4</li>
+        <li><strong>NS</strong> - adres IP serwera autorytatywnego
+          (serwera obsługjącego tą domenę) dla domeny</li>
+        <li><strong>AAAA</strong> - adres IPv6</li>
+        <li><strong>MX</strong> - rekord wskazujący na serwer pocztowy.</li>
+      </ul>
+      <p>
+        System DNS używa tych samych formatów wiadomości między serwerami
+        (uwaga, serwery DNS wymieniają informacje wykorzystując transmisję TCP
+        na porcie 53, a UDP jak w przypadku wymiany informacji z klientami).
+        Ten format zawiera takie informacje jak kolejno:
+      </p>
+      <ol>
+        <li><strong>Zapytanie</strong> - zapytanie do serwera DNS</li>
+        <li><strong>Odpowiedź</strong> - opowiedź od serwera DNS</li>
+        <li><strong>Autorytatywność</strong> - wskazanie serwera 
+          autorytatywnego dla zapytania.</li>
+        <li><strong>Dodatkowe</strong> - przechowuje dodatkowe informacje</li>
+      </ol>
+      <p>
+        Klient szukając adresu IP dla nazwy domenowej hosta na początku odpyta
+        serwer DNS, który ma ustawiony w swoim systemie. Jeśli nie będzie on
+        posiadać odpowiedzy, to wówczas rozpocznie się odpytywanie
+        hierarchiczne.
+      </p>
+      <p>
+        Otóż system DNS ma budowę hierarchiczną i cała hierarchia jest zapisana
+        w adresie URL strony. Za przykład weźmy naszą wcześniejszą witrynę jaką
+        jest <em>www.cisco.com</em>. Jeśli odczytamy ją od lewej do prawej,
+        wówczas będziemy mieć rozeznanie w hierarchi DNS. W tym przypadku
+        najważniejszą domeną jest <em>.com</em> i serwer tej domeny zawiera
+        adres serwera DNS dla subdomeny <em>cisco</em>, a ten z kolei zawiera
+        adres hosta <em>www</em>. Tak własnie wygląda rozwiązywanie nazw, gdy
+        nasz najbliżej położony DNS, nie posiada odpowiedzi na zadane mu
+        pytanie. Warto dodać, że serwery trzymają taką odpowiedź
+        (nieautorytatywną, hosta z innej domeny) w pamięci podręcznej, wrazie
+        gdyby inny z hostów w sieci pytał o tego hosta.
+      </p>
+      <p>
+        Pomocnym narzędziem, które pozwoli nam odpytać system DNS jest
+        polecenie <strong>nslookup</strong>. Polecenie to pozwala na
+        <strong>odpytanie serwera DNS z pominięciem pamięci podręcznej
+        urządzenia</strong>. Dostępne jest ono w każdym system operacyjnym.
+      </p>
+      <p>
+        Kolejnym przykładem protokołu, który pracuje wraz z adresacją IP jest
+        <strong>DHCP</strong>. Jego zadaniem jest automatyczna konfiguracja
+        interfejsów sieciowych hostów. Przypisanie im adresów IP oraz
+        pozostałych parametrów pozwalających na komunikację w sieci.
+        Konfiguracja hosta wykonan przez serwer DHCP uznawana jest za
+        dynamiczną z racji tego, że może się zmienić, po określonym czasie.
+        W sieci z włączonym DHCP uzyskamy
+        <strong>dzierżawę</strong> (adresy IP z serwera DHCP uzyskuje się na
+        konkretny, zapisany w konfiguracji serwera czas) adres IP z
+        <strong>puli</strong>
+        (zakresu adresów, przydzielonych do tego zadania). W wielu sieciach
+        stosuje się mieszane podejście do konfiguracji adresów IP, niektóre
+        urządzenia takie jak serwery czy urządzenia pośredniczące w
+        komunikacji sieciowej, np. przełączniki posiadają statycznie (ręcznie)
+        skonfigurowane adresy IP. Można równiez statycznie skonfigurować adresy
+        urządzeń wykorzystując DHCP (rezerwacje adresów).
+      </p>
+      <p>
+        W przypadku adresów IPv6, również może działać serwer DHCP. Z tą
+        różnicą, że nie konfiguruje on adresu bramy domyślnej, ten parametr
+        jest pobierany z komunikatów <em>Router Advertisement</em>
+        rozgłaszanych przez router.
+      </p>
+      <p>
+        Wymiana komunikatów między nowymi hostami w sieci serwerem DHCP wygląda
+        następująco: 
+      </p>
+      <ul>
+        <li>Kiedy host z ustawioną automatyczną konfiguracją chce skonfigurować
+          swój interfejs wysyła pakiet <em>broadcast</em> na port 67 
+          zawierający komunikat <em>DHCPDISCOVER</em></li>
+        <li>Serwer DHCP odpowiada na oferując dzierżawę klientowi, komunikat
+          <em>DHCPOFFER</em>.</li>
+        <li>Klient akceptuje ofertę serwera wysyłając do serwera żądanie
+          <em>DHCPREQUEST</em></li>
+        <li>Jeśli oferta serwera jest jeszcze aktualna serwer odsyła
+          <em>DHCPACK</em>, wówczas cały proces można uznać za zakończony.</li>
+        <li>Jeśli natomiast oferta dzierżawy nie jest juz aktualna serwer
+          wysyła do klienta komunikat <em>DHCPNACK</em>, w tym przypadku
+          cała procedurę należy powtórzy i ponownie rozpocząć od poszukiwania
+          serwera DHCP.</li>
+      </ul>
+      <p>
+        Dla IPv6 proces wygląd podobnie, różnicą są nazwy komunikatów. W DHCPv6
+        mamy <em>SOLICIT</em>, <em>ADVERTISE</em>, <em>INFORMATION REQUEST</em>
+        oraz <em>REPLY</em>.
+      </p>
+      <h3 id=="1.15.4.lab">Laboratorium</h3>
+      <p>
+        <a href="">Obserwacja rozwiązywania nazw przy użyciu systemu DNS</a>
+      </p>
+      <h2 id="1.15.5.filesharing">1.15.5. Usługi współdzielenia plików</h2>
+      <p>
+        Jednym z protokołów, które możemy wykorzystać do współdzielenia plików
+        jest protokół FTP. FTP jako jedna z nielicznych usług posiada dwa
+        porty TCP/21 oraz TCP/20. Pierwszy z nich służy do nawiązania
+        nawiązania połączenia z serwerem i przesyłania do niego poleceń
+        protokoł FTP. Jeśli zdecydujemy się na wysłanie lub pobranie danych z
+        serwera, wówczas pomiędzy naszymi komputerami zostanie otwarte nowe
+        połączenie na portcie TCP/20. Warto pamiętać o tym, że w przypadku
+        protokołu FTP możliwe jest przesyłanie danych w obu kierunkach. Klient
+        może pobierać dane lub ładowanie je na serwer.
+      </p>
+      <p>
+        Innym protokołem jaki możemy wykorzystać udostępniania plików jest
+        protokół SMB (<em>Server Message Block</em>), działanie tego protokołu
+        opiera się na żądaniach i odpowiedziach. Trzema głównymi funkcjami
+        komunikatów SMB jest:
+      </p>
+      <ul>
+        <li>Rozpoczenie oraz zerwanie sesji i autentykacja</li>
+        <li>Kontrola plików i drukarek</li>
+        <li>Pozwolenie na wysyłanie komunikatów do innych urządzeń (sic)</li>
+      </ul>
+      <p>
+        W przeciwieństwie do protokołu FTP połączenie SMB jest długoterminowe,
+        a użytkownicy mogą korzystać z zasobów udostępnianych przez SMB, jakby
+        były ich lokalnymi zasobami.
+      </p>
+      <h2 id="ch15summary">Podsumowanie</h2>
+      <p>
+        Ten rozdział związany był z warstwą aplikacji. Poznaliśmy definicje
+        oraz funkcje warstw prezentacji oraz sesji modelu OSI. Dowiedzieliśmy
+        się w jaki sposób funkcjonują najważniejsze protokoły wykorzystywane
+        zarówno w sieciach lokalnych jak i w internecie.
+      </p>
       <h1 id="1.16.networksecurityfundamentals">1.16. Wprowadzenie do bezpieczeństwa sięci</h1>
       <p>
         Jak możemy sobie zdawać sprawę lub też nie zadaniem sieci w ujęciu