Przewodnik po protokołach warstwy aplikacji
W modelu OSI warstwa aplikacji jest warstwą najwyższą. Zajmuje się ona specyfikacją interfejsu, który wykorzystują aplikacje do przesyłania danych do sieci poprzez kolejne warstwy. W przypadku sieci komputerowych aplikacje są zwykle procesami uruchomionymi na odległych hostach
W modelu TCP/IP warstwa procesowa czy warstwa aplikacji to także najwyższy poziom, w którym pracują użyteczne dla człowieka aplikacje takie jak np. serwer WWW czy przeglądarka internetowa. Obejmuje ona zestaw gotowych protokołów, które aplikacje wykorzystują do przesyłania różnego typu informacji w sieci.
Protokoły w warstwie aplikacji:
telnet
ssh
http
smtp
pop3
ftp
TELNET
Jest to prosty program oparty na interfejsie tekstowym umożliwiający nawiązanie połączenia z innym komputerem za pośrednictwem Internetu. Jeśli właściciel lub administrator komputera przyznał danej osobie prawo do łączenia się z komputerem, wówczas taka osoba może korzystać z programu Telnet, aby wprowadzać polecenia dające dostęp do programów i usług działających na komputerze, tak jakby była jego bezpośrednim operatorem. Program Telnet może mieć wiele zastosowań, takich jak uzyskiwanie dostępu do poczty e‑mail, baz danych czy plików.
Połączenie za pośrednictwem protokołu Telnet to metoda, którą można stosować w przypadku komputerów z różnymi systemami operacyjnymi, takimi jak Linux, Unix lub Windows. W przypadku korzystania tylko z komputerów wyposażonych w system operacyjny Windows może okazać się, że łatwiejsza w obsłudze jest funkcja pulpitu zdalnego systemu Windows.
Jak zainstalować?
Kliknij przycisk Start, kliknij polecenie Panel sterowania, a następnie pozycję Programy.
W sekcji Programy i funkcje kliknij przycisk Włącz lub wyłącz funkcje systemu Windows. Jeśli zostanie wyświetlony monit o hasło administratora lub potwierdzenie, wpisz hasło lub potwierdź.
W oknie dialogowym Funkcje systemu Windows zaznacz pole wyboru Klient programu Telnet.
Kliknij przycisk OK. Instalacja może potrwać kilka minut.
Gotowe
SSH (SECURE SHELL)
Jest to standard protokołów komunikacyjnych używanych w sieciach komputerowych TCP/IP.
Służy to zdalnego łączenia terminalowego z komputerami. SSH jest następcą protokołu "telnet". W przeciwieństwie do swojego "poprzednika" połączenia zestawiane przez SSH są szyfrowane. Dzięki SSH możemy połączyć się ze zdalnym serwerem i uzyskać dostęp do powłoki systemowej.
Ogólne cechy SSH:
Protokół SSH działa w warstwie sesji modelu ISO/OSI, a w warstwie aplikacji modelu TCP/IP.
Opiera si ˛e na protokole transportu strumieniowego (TCP).
Dodatkowo zapewnia kompresję.
Zapewnia tunelowanie sesji terminala.
Zapewnia tunelowanie protokołu X11.
Zapewnia tunelowanie innych protokołów.
Zapewnia negocjację algorytmów kryptograficznych.
Zastosowania SSH
Zdalna praca na terminalu tekstowym
także graficznym dzięki tunelowaniu X11.
Dostęp do serwerów pozbawionych monitora i klawiatury.
Tunelowanie dowolnych połączeń TCP
zabezpieczenie niezabezpieczonych protokołów (alternatywa dla TLS),
pokonanie firewalli, dostępu do maszyn w wewnętrznej sieci.
Bezpieczny transfer plików (przy pomocy dodatkowych protokołów).
Składniki SSH
Protokół składa się z trzech zasadniczych komponentów:
Protokołu transportowego
Zapewnia uwierzytelnienie serwera, poufność danych i ich integralność opcjonalnie obsługuje kompresję.
Protokołu uwierzytelnienia użytkownika
˙ Zapewnia uwierzytelnienie klienta.
Protokołu połączenia
Multipleksuje różne połączenia.
HTTP (Hyper text Transfer Protocol)
Jest to protokół przesyłania danych dla sieci internetowej. Przy jego pomocy przesyła się żądania udostępniania klientowi dokumentów z sieci.
Komunikacja w ramach protokołu http oparta jest na wysyłaniu danych pomiędzy klientem i serwerem(odpowiadającym). Klient wysyła zapytanie – serwer wysyła odpowiednie dane. Trzeba jednak pamiętać, że protokół http zaliczany jest do protokołów bezstanowych, czyli takich, które nie przechowują danych. Z jednej strony pozwala to na zmniejszenie obciążenia serwera danymi, z drugiej może okazać się kłopotliwe przy kilkurazowym korzystaniu ze strony.
Dlatego też praktycznie do każdego serwisu opartego na protokole http wprowadzany jest mechanizm ciasteczek, które zapamiętują dane sesji na stronie odwiedzanego serwera (dane zapisane dzięki ciasteczkom mogą być później wykorzystywane przez właściciela serwera do różnych celów – np. kampania remarketingowa).
Zalety:
Prostota realizacji
Rozszerzalność: nieznane nagłówki będą ignorowane
Rozpowszechnioność
Wady:
Duzy rozmiar przekazywanych komunikatów
Cachowanie danych u klienta
Kompresja danych
Proxy-serwery
Diff-kodowanie
Brak nawigacji
Strony Site map
Pliki Sitemap
protokół WebDAV
Brak rozproszoności
protokół HTTP-NG
SMTP (Simple Mail Transfer Protocol)
Jest to protokół komunikacyjny opisujący sposób przekazywania poczty elektronicznej w Internecie. Standard został zdefiniowany w dokumencie RFC 821 a następnie zaktualizowany w 2008 roku w dokumencie RFC 532
SMTP to względnie prosty, tekstowy protokół, w którym określa się co najmniej jednego odbiorcę wiadomości (w większości przypadków weryfikowane jest jego istnienie), a następnie przekazuje treść wiadomości. Demon SMTP działa najczęściej na porcie 25. Łatwo przetestować serwer SMTP przy użyciu programu telnet.
Jednym z ograniczeń pierwotnego SMTP jest brak mechanizmu weryfikacji nadawcy, co ułatwia rozpowszechnianie niepożądanych treści poprzez pocztę elektroniczną
POP3 (Post Office Protocol)
Jest to protokół internetowy z warstwy aplikacji pozwalający na odbiór poczty elektronicznej ze zdalnego serwera do lokalnego komputera poprzez połączenie TCP/IP. Ogromna większość współczesnych internautów korzysta z POP3 do odbioru poczty.
Kiedy użytkownik połączy się z siecią, to korzystając z POP3 może pobrać czekające na niego listy do lokalnego komputera.
Jednak protokół ten ma wiele ograniczeń:
połączenie trwa tylko, jeżeli użytkownik pobiera pocztę i nie może pozostać uśpione,
każdy list musi być pobierany razem z załącznikami i żadnej jego części nie można w łatwy sposób pominąć - istnieje co prawda komenda top, ale pozwala ona jedynie określić przesyłaną liczbę linii od początku wiadomości,
wszystkie odbierane listy trafiają do jednej skrzynki, nie da się utworzyć ich kilku,
serwer POP3 nie potrafi sam przeszukiwać czekających w kolejce listów.
Protokół jest przeznaczony do pracy „offline”. Po połączeniu z serwerem cała nieprzeczytana korespondencja wraz z załącznikami transmitowana jest ze skrzynki pocztowej na serwerze do foldera na komputerze lokalnym. Odebrane listy zostają następnie oznaczone jako odczytane i w zależności od ustawień, pozostawione lub kasowane z serwera.
Po zakończeniu tych operacji, czytanie listów i przygotowywanie odpowiedzi może być prowadzone lokalnie bez konieczności utrzymania połączenia z Internetem. Kolejne połączenie wymagane jest tylko w celu zredagowanych odpowiedzi i ewentualnego sprawdzenia obecności nowych listów.
FTP (File Transfer Protocol)
Protokół transferu plików (FTP) to protokół używany do transferu plików w Internecie. Najczęściej protokół FTP używany jest do udostępniania plików do pobrania; protokołu FTP można jednak używać do przekazywania stron sieci Web przy budowaniu witryny sieci Web lub umieszczania zdjęć cyfrowych w witrynie udostępniania obrazów.
Najważniejsze cechy
Wykorzystuje dwa kanały transmisji w warstwie protokołu TCP – Do transmisji poleceń sterujących (control) – Do transmisji danych binarnych (data transfer)
Protokół oparty jest na liniach tekstu.
Każda linia rozdzielona jest symbolem
Popularne zastosowania FTP to:
Przesyłanie danych między komputerem w miejscu pracy a komputerem w domu, jeśli ktoś lubi pracę po godzinach
Wysyłanie stron i plików na serwer WWW (w ramach procesu publikacji strony Web)
Wiele istniejących serwerów pozwala na tzw. logowania anonimowe (user = anonymous) i dowolne pobieranie plików objętych tym kontem. – Pliki na koncie anonymous są plikami dostępnymi publicznie.
TFTP (Trivial File Transfer Protocol)
Jest to względnie prosty protokół wykorzystywany do przesyłania plików.
TFTP jest uproszczonym protokołem transferu plików, korzystającym z usług bezpołączeniowych protokołu UDP (numer portu = 69), a nie z TCP (jak FTP). Jest to silnie okrojona i oddzielnie implementowana wersja protokołu FTP, bez żadnych zabezpieczeń i udogodnień.
Dialog TFTP inicjuje zawsze klient, wysyłając do serwera określone zlecenie. Protokół dopuszcza dwa tryby transmisji – znakową ASCII i binarną 8-bitową. Klient ma do dyspozycji 5 formatów wiadomości. Serwer wysyła dane kolejnymi blokami, podając jednocześnie ich numery (kolejno). Klient w potwierdzeniu podaje numer odebranego bloku.
Serwer TFTP ma możliwość jednoczesnej współpracy z wieloma klientami. Ponieważ UDP nie ustanawia unikatowego połączenia z klientem, więc serwer TFTP tworzy nowy port dla każdego z nich. W taki sposób każdy klient będzie otrzymywał datagramy, które będą demultipleksowane przez moduł serwera na podstawie numerów portów przeznaczenia.
Protokół TFTP obsługuje trzy tryby przesyłania, chociaż tylko dwa z nich są zazwyczaj wykorzystywane:
Netascii – standardowy 8-bitowy kod ASCII zmodyfikowany przez specyfikację protokołu Telnet (RFC 854)
Oktet – wykorzystywany do przesyłania informacji bit po bicie. Tryb ten składa się z „surowych” 8-bitowych bajtów i jest on podobny do trybu binarnego protokołu FTP
Poczta – znaki Netascii wysyłane do użytkownika zamiast pliku. Choć jest wciąż obsługiwany, tryb ten jest przestarzały i nie powinien być implementowany ani używany
Typy pakietów TFTP
DNS (Domain Name System)
Używany w Internecie protokół i system nazewnictwa domen w sieci Internet; pozwala nadawać komputerom nazwy zrozumiałe dla człowieka i tłumaczy je na numery adresów IP ( Dzięki DNS nazwa mnemoniczna, np. pl.wikipedia.org jest tłumaczona na odpowiadający jej adres IP, czyli 91.198.174.192).
Protokół DNS oferuje statyczną, hierarchiczną usługę rozróżniania nazw dla hostów TCP/IP; administrator sieci konfiguruje DNS używając listy nazw hostów i adresów IP, umożliwiając użytkownikom stacji roboczych skonfigurowanych na kwerendy DNS określanie systemów zdalnych przez nazwy hostów, a nie przez adresy IP.
Rozproszona baza danych DNS jest indeksowana nazwami domen, tworzącymi drzewiastą strukturę hierarchiczną.
Znaczenie domen trzyliterowych jest następujące:
com organizacje komercyjne;
edu instytucje edukacyjne;
gov agencje rządowe;
mil organizacje wojskowe;
net organizacje utrzymania sieci komputerowych;
org pozostałe organizacje
System DNS posiada następujące cechy:
Nie ma jednej centralnej bazy danych adresów IP i nazw. Najważniejszych jest 13 głównych serwerów rozrzuconych na różnych kontynentach.
Serwery DNS przechowują dane tylko wybranych domen.
Każda domena powinna mieć co najmniej 2 serwery DNS obsługujące ją, jeśli więc nawet któryś z nich będzie nieczynny, to drugi może przejąć jego zadanie.
Każda domena posiada jeden główny dla niej serwer DNS (tzw. master), na którym to wprowadza się konfigurację tej domeny, wszystkie inne serwery obsługujące tę domenę są typu slave i dane dotyczące tej domeny pobierają automatycznie z jej serwera głównego po każdej zmianie zawartości domeny.
Serwery DNS mogą przechowywać przez pewien czas odpowiedzi z innych serwerów (ang. caching), a więc proces zamiany nazw na adresy IP jest często krótszy niż w podanym przykładzie.
Na dany adres IP może wskazywać wiele różnych nazw. Na przykład na adres IP 207.142.131.245 mogą wskazywać nazwy pl.wikipedia.org oraz de.wikipedia.org
Czasami pod jedną nazwą może kryć się więcej niż 1 adres IP po to, aby jeśli jeden z nich zawiedzie, inny mógł spełnić jego rolę.
Przy zmianie adresu IP komputera pełniącego funkcję serwera WWW, nie ma konieczności zmiany adresu internetowego strony, a jedynie poprawy wpisu w serwerze DNS obsługującym domenę.
Protokół DNS posługuje się do komunikacji serwer-klient głównie protokołem UDP, serwer pracuje na porcie numer 53, przesyłanie domeny pomiędzy serwerami master islave odbywa się protokołem TCP na porcie 53.
Rodzaje zapytań DNS
rekurencyjne
iteracyjne
Odpowiedzi na zapytania
autorytatywne
nieautorytatywne