Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, e-mail

Transkrypt

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, e-mail
N,
Wykład 5:
Najważniejsze usługi sieciowe:
DNS, SSH, HTTP, e-mail
A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail
1
Domain Name Service
■
Usługa Domain Name Service (DNS)

Protokół UDP (port 53), klient-serwer

Sformalizowana w postaci protokołu DNS

Odpowiada za rozwiązywanie (resolve) nazw
zrozumiałych dla człowieka na numery IP

Realizuje usługę na zasadzie rozproszonej
struktury danych

Działa na zasadzie hierarchicznej struktury nazw
domen oraz serwerów nazw

Organizacja nadrzędna: ICANN (.pl: NASK)
http://www.icann.org, http://iana.org,
http://www.dns.pl
A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail
2
Hierarchiczna struktura nazw
..
com
com
google
google
org
org
(...)
amazon
amazon
pl
pl
fr
fr
(...)
edu
edu
pw
pw
arpa
arpa
in-addr
in-addr
212
212
195
195
Nazwy mają strukturę odwróconego drzewa
■ Zapisujemy je od najbardziej szczegółowego
członu (konkretnego komputera) po lewej do
najbardziej ogólnego po prawej, zwykle pomijając
kończącą kropkę (korzeń drzewa – root)
■ Domeny głównego poziomu: organizacyjne (.com,
.org, .net etc.) i geograficzne (.pl, .fr, .eu, etc.)
■
A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail
3
Serwery DNS
Pojedynczy serwer ma informację na temat części
przestrzeni nazw (tzw. strefy). Strefa może
zawierać mniejsze części, na temat których
informacje zawierają inne serwery DNS (delegacja
strefy). Np. serwer domeny .edu.pl deleguje
obsługę domeny .pw.edu.pl serwerowi DNS na PW
■ Każda domena wymaga minimum dwóch
serwerów DNS (primary, secondary). Drugi zwykle
pobiera informacje z pierwotnego (zone transfer)
■ W internecie mamy 13 głównych serwerów (root
servers), które odpowiadają za domeny głównego
poziomu
■
A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail
4
DNS – sekwencja zapytań
aplikacja
?
resolver
www.pw.edu.pl
.pl =
?
serwer
DNS
globalny
DNS
?
.ed
pw
w.
ww
plik
danych
?
u.p
l=
cache
?
edu.pl =
pw.edu.pl =
Za komunikację z DNS odpowiada „resolver”, w Linuxie to po
prostu biblioteka systemowa
■ „Lokalny” serwer DNS przechowuje informacje o komputerach we
własnej strefie, i buforuje informacje z „globalnego” DNS
■ Globalny DNS działa na zasadzie rozproszonej, poprzez delegację
stref
■ Zapytanie rekurencyjne (resolver do serwera) wymaga pełnej
odpowiedzi (lub błędu), zapytanie iteracyjne (serwer do serwera)
pozwala na wskazanie kolejnego serwera
■
A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail
5
Rekordy zasobów
■
DNS przechowuje nie tylko dane o nazwach.
Możliwe są następujące typy rekordów:

SOA – w konfiguracji serwera DNS opisuje
parametry strefy i potwierdza wiarygodność
(authority) serwera

NS – podaje numery IP serwerów DNS strefy

A – zwykły wpis (nazwa – numer IP)

PTR – domena odwrotna (numer IP – nazwa)

CNAME – alias dla już zdefiniowanej nazwy

MX – domyślny serwer poczty dla domeny

HINFO – dodatkowe informacje o serwerze
(często pusty ze względów bezpieczeństwa)
A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail
6
Diagnostyka: nslookup i dig
nslookup umożliwia odpytywanie o rekordy DNS.
Standardowo pytania wysyła do domyślnego
serwera, zakłada że pytamy o adres IP (typ A)

set debug – włącza tryb debug (więcej
informacji)

server=yyy.zzz.vvv – zmienia serwer

set query=aa – zmienia typ rekordu w pytaniu
■ Polecenie dig działa podobnie, ale nie ma trybu
interaktywnego. Parametry podajemy w linii
poleceń: @xxx – serwer inny niż domyślny, [mx,
ns, a, ...] - typ rekordu, opcja -x – zapytanie
odwrotne.
■
A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail
7
Secure Shell (SSH)
SSH to zestaw aplikacji i bibliotek umożliwiających szyfrowanie
połączeń oraz kompresję danych
■ Szyfrowanie odbywa się przy pomocy algorytmu
asymetrycznego (klucz prywatny i publiczny)
■ Aby móc połączyć się z komputerem przy pomocy SSH, należy
na nim uruchomić odpowiedni serwer (sshd), nasłuchujący na
porcie 22
■ Możliwości ssh:

zdalny terminal (możliwość zalogowania na zdalny
komputer), z całkowicie szyfrowanym połączeniem (polecenie
ssh)

szyfrowane kopiowanie plików (polecenie scp)

przekierowywanie niechronionych połączeń przez szyfrowany
kanał

możliwość logowania przy pomocy kluczy prywatnych (bez
konieczności podawania hasła)
■
A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail
8
Protokół HTTP
Usługa oferująca na żądanie transfer danych, w
szczególności plików w formacie HTML (stron
WWW)
■ Protokół TCP, port 80 (8080, 8008) dla HTTP, oraz
443 dla HTTPS (połączenie z szyfrowaniem)
■ Strona WWW składa się w obiektów: samego
podstawowego tekstu strony, oraz innych
elementów, np. plików graficznych
■ Dokumenty adresujemy w standardzie URL
■ Dla HTTP serwerem są dedykowane aplikacje
(serwery WWW), klientem jest przeglądarka
■ http://netcraft.com
■
A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail
9
Komunikacja HTTP
Komunikacja HTTP polega na wymianie wiadomości
(message), czyli pytania i odpowiedzi.
■ Najpopularniejsze usługi (metody – pytania) HTTP:

GET – żadanie zasobu (nagłówek + treść)

HEAD – żądanie tylko nagłówka zasobu

POST – żądanie odebrania danych od klienta

PUT – żądanie odebrania pliku od klienta
■ Serwer odsyła odpowiedź, w której znajduje się kod statusu
żądania oraz sam obiekt:

1xx: informacyjne (żądanie w trakcie realizacji)

2xx: sukces (akcja wykonana)

3xx: przekierowanie (przeniesienie obiektu)

4xx: błąd klienta (złe żądanie, brak możliwości spełnienia
żądania)

5xx: błąd serwera

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 10
■
A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail
e-mail: SMTP, POP3, IMAP
SMTP
POP3, IMAP, HTTP
■
Poczta internetowa (e-mail) to jedna z
najstarszych usług warstwy aplikacji. Udostępnia
asynchroniczne dostarczanie wiadomości
(tekstowych) pomiędzy użytkownikami.
A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail
11
Wysyłanie: SMTP i MIME
Simple Mail Transfer Protocol (SMTP) to protokół przesyłania
wiadomości pomiędzy serwerami

korzysta z połączeń TCP port 25 (niezawodność), zwykle bez
pośredników – dwa symetryczne połączenia klient-serwer.
Nie wymaga autoryzacji.

Umożliwia ponawianie wysyłania w przypadku niemożności
dostarczenia przesyłki

Używa tylko znaków ASCII (7 bitów)

Wymaga poprawnego adresu nadawcy i odbiorcy

Można ograniczyć wysyłanie/odbieranie wiadomości tylko do
lokalnych użytkowników (close relay vs. open relay)
■ MIME

Rozszerzenie SMTP pozwalające na wysyłanie danych innych
niż tekstowe: konwersję na 7-bitowe kody ASCII
■
A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail
12
Odbieranie: POP3, IMAP, HTML
POP3 to prosty protokół odbioru informacji ze
skrzynki pocztowej. Umożliwia pobranie i
skasowanie wiadomości ze skrzynki. Wymaga
autentykacji (logowania). Port 110.
■ IMAP to zaawansowany protokół manipulowania
skrzynką pocztową. Umożliwia przetrzymywanie
informacji w folderach na serwerze, wyszukiwanie,
dostęp offline, dostęp z wielu punktów (mobilne)
■ Skrzynka może być też dostępna przy pomocy
dedykowanego serwera HTTP. Wykorzystujemy
dwustronną komunikację udostępnianą przez
protokół HTTP.
■
A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail
13

Podobne dokumenty