Warstwa aplikacja między innymi umożliwia:
- kontakt z użytkownikiem lub procesem,
- konwersję danych do jednolitego formatu,
- szyfrowanie, deszyfrowanie i kompresję danych,
- przesyłanie danych,
- zdalne wywoływanie procedur,
- emulowanie działania zdalnego terminala.
Dialog między aplikacjami odbywa się za pomocą ustalonych protokołów i pracuje na portach, które zostały opisane poniżej.
DNS (ang. Domain Name System)
System DNS działa na porcie 53. Jest to system serwerów oraz protokół komunikacyjny zapewniający zamianę adresów znanych użytkownikom Internetu na adresy zrozumiałe dla urządzeń tworzących sieć komputerową. Dla przykładu strona:
https://sieci.infopl.info odpowiada konkretnemu adresowi IP.
DNS, jako system organizacyjny składa się z dwóch instytucji: IANA i ICANN. Nadzorują one ogólne zasady przyznawania nazw domen i adresów IP. Wewnątrz każdej domeny można tworzyć tzw. subdomeny, ustalając w ten sposób pewną hierarchię:
- korzeń (domena główna)- oznaczony jest przez kropkę (jest ona pomijana w zapisie pełnej nazwy),
- domeny górnego poziomu- mogą być organizacyjne lub geograficzne.
Domeny organizacyjne górnego poziomu są używane głównie w USA:
- com- organizacje komercyjne,
- edu- instytucje naukowe,
- gov- agencje rządowe,
- mil- organizacje wojskowe,
- net- organizacje podtrzymujące działanie sieci,
- int- organizacje międzynarodowe,
- org- inne organizacje (niedochodowe).
Domeny geograficzne górnego poziomu są przydzielane wszystkim krajom na świecie i oznaczane dwuliterowymi skrótami (pl, de, fr, uk, ne itd.). Geograficzna domena Stanów Zjednoczonych (us) również istnieje i jest używana.
Poniżej domen górnego poziomu są domeny niższych poziomów (co najmniej drugiego, zwykle też trzeciego, a czasem nawet czwartego i niższych).
Zazwyczaj domeny geograficzne górnego poziomu dzielą się na domeny drugiego poziomu w sposób odzwierciedlający podział na górnym poziomie (np. istnieją domeny organizacyjne drugiego poziomu com.pl oraz edu.pl, jak również domeny geograficzne drugiego poziomu, np. waw.pl czy gda.pl).
Protokoły poczty elektronicznej
Poczta elektroniczna służy do przesyłania komunikatów tekstowych, jak również dołączonych do nich informacji nietekstowych (obraz, dźwięk) pomiędzy użytkownikami różnych komputerów- zarówno w obrębie sieci lokalnej LAN, jak i w sieciach rozległych WAN- a w szczególnym przypadku również pomiędzy użytkownikami jednego komputera.
System poczty elektronicznej zakłada istnienie serwerów pocztowych, które są włączone przez cały czas i są zawsze dostępne. Indywidualni użytkownicy mogą posiadać na nich konta pocztowe, zwane też skrzynkami pocztowymi (mailbox), których zawartość mogą pobierać okresowo do własnego komputera i tam przeglądać, bądź przeglądać bezpośrednio w skrzynce, jeśli mają prawo wykonywania programów obsługi poczty bezpośrednio na serwerze).
Rodzaje protokołów:
- SMTP (ang. Simple Mail Transfer Protocol)- protokół dostarczania poczty. Wykorzystuje port TCP nr 25, 587 lub 465 z szyfrowaniem SSL (ang. Secure Socket Layer). Rozwinięciem SMTP jest protokół SMTP-AUTH zapewniającym uwierzytelnienie.
Komendy SMTP:
- HELO (host nadawcy)- umożliwia identyfikację hosta i nawiązanie połączenia,
- MAIL FROM: (adres nadawcy)- podaje adres nadawcy,
- RCPT TO: (adres odbiorcy)- podaje adres odbiorcy,
- DATA- znacza początek wiadomości,
- RSET- unieważnienie nadawanej wiadomości,
- QUIT- zakończenie sesji i zerwanie połączenia,
- HELP- podaje listę dostępnych komend,
- HELP KOMENDA- podaje skrótowy opis danej komendy,
- VRFY (użytkownik)- podaje informacje związane z nazwą użytkownika (np. aliasy),
- EXPN (lista)- podaje zawartość listy adresowej o podanej nazwie.
W przypadku, gdy serwer pocztowy jest w danej chwili nieosiągalny (np. uszkodzony), nadawca otrzymuje komunikat o błędzie. Systemy pocztowe często w takim przypadku buforują wiadomość i usiłują przekazać ją ponownie po pewnym czasie.
- POP (ang. Post Office Protocol)- protokół służący do odbierania poczty ze skrzynki pocztowej. Jego wersje to: POP2 i POP3. Różnią się one komendami, ale funkcjonalnie zapewniają prawie to samo. POP2 wykorzystuje port TCP nr 109, a POP3 - port TCP nr 110 lub 995. POP3 może zostać zaszyfrowany protokołem SSL (ang. Secure Socket Layer) lub jego rozwinięciem TLS (ang. Transport Layer Security). Szyfrowanie zapewnia uwierzytelnienie serwera, poufność i integralność transmisji danych.
Komendy POP2:
- HELO użytkownik hasło- nazwa konta i hasło użytkownika, nawiązanie połączenia,
- FOLD folder- wybór foldera pocztowego,
- READ- odczytanie wszystkich wiadomości,
- READ n- odczytanie wszystkich wiadomości od numeru n,
- RETR- pobranie wszystkich wiadomości,
- ACKS- potwierdzenie odbioru i polecenie dalszego zachowania wiadomości,
- ACKD- potwierdzenie odbioru i polecenie usunięcia wiadomości,
- NACK- zawiadomienie o nieodebraniu wiadomości,
- QUIT- zakończenie sesji i zerwanie połączenia.
Komendy POP3:
- USER użytkownik- nazwa konta użytkownika,
- PASS hasło- podanie hasła,
- STAT- zwraca liczbę nieodebranych wiadomości i ich łączną objętość w bajtach,
- RETR n- pobranie wiadomości o numerze n,
- DELE n- usunięcie wiadomości o numerze n,
- LAST- zwraca numer wiadomości, na której ostatnio wykonano jakieś polecenie,
- LIST- zwraca objętość (w bajtach) wszystkich przechowywanych wiadomości,
- LIST n- zwraca objętość (w bajtach) wiadomości o numerze n,
- RSET- usuwa zaznaczenia wszystkich wiadomości zaznaczonych do usunięcia,
- TOP n k- podaje nagłówek i k początkowych linii wiadomości o numerze n,
- NOOP- nic nie wykonuje,
- QUIT- zakończenie sesji i zerwanie połączenia.
- IMAP (ang. Interactive Mail Access Protocol)- protokoły, które zostały zaprojektowane do przesyłania informacji tekstowych. Gdy pojawiła się potrzeba przesyłania załączników nietekstowych (multimedialnych lub programów wykonywalnych), opracowano standard MIME (ang. Multipurpose Internet Mail Extensions).
Zestwienie protokołów poczty elektronicznej:
Protokół |
Nr portu |
Wariant SSL |
Nr portu SSL |
SMTP |
25/587 |
SMTPS |
465 |
POP3 |
110 |
POP3S |
995 |
IMAP |
143 |
IMAPS |
993 |
Protokół FTP (ang. File Transfer Protocol)
Jest to protokół typu klient-serwer, który umożliwia przesyłanie plików z i na serwer poprzez sieć TCP/IP. Pracuje na portach TCP nr 20, 21 i >1024.
Do komunikacji wykorzystywane są dwa połączenia TCP. Jedno z nich jest połączeniem kontrolnym, za pomocą którego przesyłane są np. polecenia do serwera, drugie natomiast służy do transmisji danych. FTP działa w dwóch trybach: aktywnym i pasywnym, w zależności od tego, w jakim jest trybie, używa innych portów do komunikacji. Jeżeli FTP pracuje w trybie aktywnym, korzysta z portów: 21 dla poleceń (połączenie to jest zestawiane przez klienta) oraz 20 do przesyłu danych. Połączenie nawiązywane jest wówczas przez serwer. Jeżeli FTP pracuje w trybie pasywnym, wykorzystuje port 21 do poleceń i port o numerze > 1024 do transmisji danych, gdzie obydwa połączenia zestawiane są przez klienta.
Komendy:
- USER- nazwa użytkownika,
- PASS- hasło logowania,
- LIST- wyświetlenie listy plików i katalogów,
- ABOR- przerwanie wszystkich połączeń,
- QUIT- wylogowanie z serwera,
- RETR- pobieranie pliku,
- STOR- wgrywanie pliku,
- PORT- zestawienie połączenia aktywnego,
- PASV- zestawienie połączenia pasywnego.
Protokołem bezpieczniejszym od FTP jest
SFTP (
ang. SSH File Transfer Protocol), gdzie dane szyfrowane są za pomoca klucza szyfrującego. Nie jest on rozszerzeniem protokołu FTP. Jest nim natomiast protokół
FTP-SSL (FTPS) ze wsparciem dla szyfrowania TLS i SSL. Do kontroli przesyłania FTPS używa portu nr 990, a do transferu danych portu nr 989.
Protokół HTTP (ang. HyperText Transfer Protocol)
Jest to protokół sieci WWW (
ang. World Wide Web). Standardowo pracuje na porcie TCP nr 80. Za pomocą protokołu HTTP przesyła się żądania udostępnienia dokumentów WWW i informacje o kliknięciu odsyłacza czy informacje z formularzy. Zadaniem stron WWW jest publikowanie informacji- natomiast protokół HTTP właśnie to umożliwia. Jest zaliczany do protokołów bezstanowych (
ang. stateless), ponieważ nie zachowuje żadnych informacji o poprzednich transakcjach z klientem (po zakończeniu transakcji wszystko przepada). Zmniejsza to obciążenie serwera, jednak jest kłopotliwe w sytuacji, gdy np. trzeba zapamiętać konkretny stan dla użytkownika, który wcześniej łączył się już z serwerem. Istnieją jednak inne mechanizmy częściowo likwidujące tę niedogodność (
np. cookies).
Żądania HTTP:
- GET- pobranie wskazanego zasobu,
- HEAD- pobiera informacje o zasobie,
- PUT- przyjęcie danych w postaci pliku przesyłanych od klienta do serwera,
- POST- przyjęcie danych przesyłanych od klienta do serwera,
- DELETE- żądanie usunięcia zasobu, włączone dla uprawnionych użytkowników,
- OPTIONS- informacje o opcjach i wymaganiach istniejących w kanale komunikacyjnym,
- TRACE- diagnostyka, analiza kanału komunikacyjnego,
- CONNECT- żądanie przeznaczone dla serwerów proxy pełniących funkcje tunelowania.
Protokół HTTPS (ang. HyperText Transfer Protocol Secure)
Jest to szyfrowana wersja protokołu HTTP. Działa domyślnie na porcie TCP nr 443. Dane szyfruje się za pomocą technologii SSL.
Zapobiega to przechwytywaniu i zmienianiu przesyłanych danych.
Rozwinięciem protokołu SSL jest TLS.
Protokół Telnet
Jest to standard protokołu komunikacyjnego używanego w sieciach komputerowych do obsługi odległego terminala w architekturze klient-serwer.
Telnet jest programem pozwalającą na zdalne połączenie się komputera (terminala) z oddalonym od niego komputerem (serwerem) przy użyciu sieci. Standardowo przypisany jest port TCP nr 23. Następcą Telnetu jest
SSH (
ang. secure shell). SSH różni się od Telnetu tym, że transfer wszelkich danych jest zaszyfrowany oraz możliwe jest rozpoznawanie użytkownika na wiele różnych sposobów.
Inne protokoły
- NTP (ang. Network Time Protocol)- umożliwia precyzyjną synchronizację czasu pomiędzy komputerami,
- NetBIOS (ang. Network Basic Input/Output System) - zapewnia podstawowy interfejs łączenia aplikacji z innymi komputerami oraz współdzielenie danych,
- AFP (ang. Apple Filing Protocol)- oferuje usługi plików dla systemu operacyjnego Mac OS X i Mac OS,
- NNTP (ang. Network News Transfer Protocol)- używany do obsługi grup dyskusyjnych, w szczególności Usenetu,
- XML (ang. Extensible Markup Language)- to uniwersalny język formalny przeznaczony do reprezentowania różnych danych w ustrukturalizowany sposób,
- SNMP (ang. Simple Network Management Protocol)- to standard protokołu używanego do nadzoru i zarządzania różnymi elementami sieci telekomunikacyjnych, takimi jak routery, przełączniki, komputery czy centrale telefoniczne,
- SMB (ang. Server Message Block)- protokół służący do udostępniania zasobów komputerowych, takich jak: drukarki czy pliki,
- NFS (ang. Network File System)- sieciowy system plików,
- NIS (ang. Network Information Service)- służy do śledzenia użytkowników i nazw hostów w sieci,
- LPD (ang. Line Printer Daemon)- zbiór programów do obsługi drukarek, oferujących również usługi serwera druku dla systemów operacyjnych klasy Unix.
Domeny kolizyjne
Domeny kolizyjne są to połączone fizyczne segmenty sieci, w których mogą wystąpić kolizje. Sprawić one mogą, że sieć będzie działać mniej wydajnie. Przy każdym wystąpieniu kolizji transmisja zatrzymywana jest na pewien czas, a czas przerwy jest zależny od algorytmu odczekiwania w przypadku każdego urządzenia. Wobec tego powstała pewna reguła
5-4-3-2-1, która mówi o maksymalnych wartościach:
- 5 segmentów medium sieciowego,
- 4 wtórniki lub koncentratory,
- 3 segmenty sieci zawierające hosty,
- 2 sekcje łączy (bez stacji roboczych),
- 1 duża domena kolizyjna.
Podział sieci na segmenty pozwala na zmniejszenie obciążenia sieci lokalnej przez separacje ruchu na ruch segmentowy i międzysegmentowy. Jeżeli dwa komputery znajdują się w jednym segmencie, przesyłane między nimi pakiety nie wychodzą poza segment. Segmentacja zwiększa ilość domen kolizyjnych, ale pozwala na zmniejszenie kolizji pakietów w danej sieci.
Logicznym segmentem sieci jest domena rozgłoszeniowa (ang. broadcast domain). Komputer lub inne urządzenie połączone do sieci może bezpośrednio transmitować do innego urządzenia w domenie, bez przechodzenia przez urządzenia routujące, pod warunkiem, że dzieli tę samą podsieć, bramę domyślną i są w tej samej sieci VLAN.