<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