06.09.2015 Views

Warstwa aplikacji

Warstwa aplikacji - Przegląd usług sieciowych występujących w ...

Warstwa aplikacji - Przegląd usług sieciowych występujących w ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Warstwa</strong> <strong>aplikacji</strong><br />

Model TCP/IP Model OSI<br />

- kontakt z użytkownikiem (bądź<br />

procesem),<br />

- transformacja danych <strong>aplikacji</strong> do<br />

jednolitego formatu<br />

- dialog między zdalnymi aplikacjami<br />

wg ustalonego protokołu<br />

Aplikacji<br />

Transportowa<br />

Sieciowa<br />

Aplikacji<br />

Prezentacji<br />

Sesji<br />

Transportowa<br />

Sieciowa<br />

Dostępu<br />

do sieci<br />

Łącza danych<br />

Fizyczna<br />

(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej


Port 53: DNS<br />

(Domain Name System)<br />

domena .pl<br />

NS: kis.p.lodz.pl?<br />

domena .uk<br />

TLD (Top Level Domain)<br />

domena .gov<br />

domena .com<br />

NS: kis.p.lodz.pl?<br />

domena<br />

.firma.pl<br />

domena<br />

p.lodz.pl<br />

NS: kis.p.lodz.pl ?<br />

NS: kis.p.lodz.pl?<br />

domena<br />

.lodz.pl<br />

A: www.kis.p.lodz.pl?<br />

lokalny serwer DNS<br />

212.191.89.2<br />

domena .com<br />

(backup)<br />

A: www.kis.p.lodz.pl?<br />

klient<br />

DNS<br />

(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej


DNS – Dialog między klientem a<br />

serwerem<br />

klient DNS<br />

(192.168.0.10)<br />

UDP | TRNS. ID: 43265<br />

SRC: 192.168.0.10:1087 | DST: 192.168.0.1:53<br />

(((((((( )))))))) !!!<br />

UDP | TRNS. ID: 43265<br />

DST: 192.168.0.10:1087 | SRC: 192.168.0.1:53<br />

serwer DNS<br />

(192.168.0.1)<br />

●<br />

●<br />

●<br />

●<br />

łatwy do podszycia się (tzw. spoofing) protokół UDP<br />

nr transakcji liczbą 16 bitową (0-65534)<br />

transmisja nieszyfrowana<br />

próby zabezpieczenia: DNSSEC<br />

(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej


Rodzaje rekordów DNS (fragment)<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

SOA (Start of Authority)<br />

generalne informacje o domenie<br />

NS (Name Server)<br />

Wskazanie na serwer nazw dla tej domeny<br />

A (Address)<br />

„zwykła” translacja nazwy na numer IP<br />

CNAME (Cannonical Name)<br />

Alias. Wskazanie na inna nazwę<br />

MX (Mail Exchange)<br />

Wskazanie na serwer pocztowy obsługujący tą domenę<br />

PTR (Pointer)<br />

Translacja odwrotna numeru IP na nazwę<br />

HINFO (Host Info)<br />

Informacje o sprzęcie który obsługuje tą domenę<br />

(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej


Komendy SMTP i ESMTP<br />

(fragment)<br />

komenda<br />

AUTH<br />

DSN<br />

EHLO<br />

ETRN<br />

PIPELINING<br />

SIZE<br />

8BITMIME<br />

RESTART<br />

ESMTP<br />

Opis<br />

autoryzacja<br />

powiadamianie o statusie<br />

doręczenia<br />

spis obsługiwanych komend<br />

ESMTP<br />

przesłanie kolejki listów<br />

przeznaczonych do<br />

podłączającego się serwera<br />

potokowe przesyłanie<br />

wiadomości<br />

określenie wielkości przesyłanej<br />

wiadomości<br />

wsparcie dla 8bitowego<br />

kodowania wiadomości<br />

wznowienie przesyłania<br />

wiadomości przy rozłączeniu<br />

sesji<br />

komenda<br />

DATA<br />

HELO<br />

HELP<br />

MAIL<br />

NOOP<br />

QUIT<br />

RCPT<br />

RSET<br />

VRFY<br />

SMTP<br />

Opis<br />

przesłanie treści listu<br />

nawiązanie połączenia SMTP<br />

wypis dostępnych komend<br />

nadawca listu<br />

podtrzymywanie połączenia<br />

zakończenie sesji SMTP<br />

odbiorca listu<br />

przerwanie sesji SMTP<br />

sprawdzenie obecności skrzynki<br />

pocztowej o podanej nazwie<br />

(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej


Kody zwrotne SMTP<br />

●<br />

1xy Wstępna akceptacja komendy<br />

Komenda zaakceptowana, ale oczekiwanie na dalszą decyzję użytkownika. Używane<br />

tylko w ESMTP<br />

●<br />

2xy Akceptacja komendy<br />

Komenda zaakceptowana, oczekiwanie na<br />

następną.<br />

●<br />

3xy Pośrednia akceptacja komendy<br />

Komenda zaakceptowana, ale oczekiwanie na<br />

dalszą jej część.<br />

●<br />

4xy Przejściowe odrzucenie komendy<br />

Komenda nie zaakceptowana, tymczasowo<br />

●<br />

5xy Permanentne odrzucenie<br />

komendy<br />

Komenda nie zaakceptowana, ostatecznie<br />

kod<br />

Opis<br />

220 Usługa aktywna, oczekiwanie na<br />

komendy<br />

250 akceptacja komendy<br />

354 oczekiwanie na wprowadzanie<br />

treści listu<br />

450 skrzynka użytkownika zajęta (np.<br />

zablokowana przez proces)<br />

452 skrzynka użytkownika przepełniona<br />

500 brak takiego polecenia<br />

501 błąd w składni polecenia<br />

552 brak miejsca na dysku (serwer)<br />

(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej


Port 21: FTP<br />

(File Transfer Protocol)<br />

klient FTP<br />

port x<br />

port y<br />

zestawienie połączenia przez<br />

komendy sterujące<br />

(kody zwrotne podobne do SMTP)<br />

wymiana danych<br />

serwer FTP<br />

port v<br />

port z<br />

komenda<br />

USER<br />

PASS<br />

LIST<br />

ABOR<br />

QUIT<br />

RETR<br />

STOR<br />

PORT<br />

PASV<br />

Opis<br />

nazwa użytkownika<br />

hasło logowania<br />

wyświetlenie listy plików i katalogów<br />

przerwanie wszystkich połączeń<br />

wylogowanie z serwera<br />

pobieranie pliku<br />

wgrywanie pliku<br />

zestawienie połączenia aktywnego<br />

zestawienie połączenia pasywnego<br />

(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej


Rodzaje połączeń FTP<br />

klient FTP (192.168.0.1)<br />

port 1288<br />

port 1638<br />

POŁĄCZENIE AKTYWNE<br />

zestawienie połączenia<br />

PORT 192,168,0,1,6,102<br />

(((((((( )))))))) !!!<br />

wymiana danych<br />

serwer FTP (10.0.0.1)<br />

port 21<br />

port 20<br />

klient FTP (192.168.0.1)<br />

port 1288<br />

port 1774<br />

POŁĄCZENIE PASYWNE<br />

serwer FTP (10.0.0.1)<br />

zestawienie połączenia (PASV)<br />

port 21<br />

PORT 10,0,0,1,14,215<br />

(((((((( )))))))) !!!<br />

wymiana danych<br />

port 3799<br />

(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej


Port 80: HTTP<br />

(HyperText Transfer Protocol)<br />

Bezstanowy (bazujący na prostej regule „żądanieodpowiedź)<br />

protokół udostępniania dokumentów<br />

WWW (w formie tzw. „hipertekstu” - tekstu,<br />

odnośników, formularzy, tabel, grafiki itp. ) za<br />

pomocą prostych komend tekstowych.<br />

Jeden z najpopularniejszych protokołów<br />

stosowanych w Internecie i rdzeń jego<br />

funkcjonalności.<br />

(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej


Metody żądań HTTP<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

OPTIONS<br />

Żądanie określenia możliwości serwera (podanych w nagłówku żądania)<br />

GET<br />

Pobranie wskazanego zasobu<br />

HEAD<br />

Pobranie tylko nagłówka z meta-informacjami strony WWW<br />

POST<br />

Przesłanie danych na serwer do podanego zasobu ( np. skrypt, potok, itp.)<br />

PUT<br />

Przesłanie danych na serwer do podanej lokalizacji (katalog)<br />

DELETE<br />

Usunięcie wskazanego zasobu<br />

TRACE<br />

Odesłania żądania do nadawcy (diagnostyka połączenia)<br />

CONNECT<br />

Żądanie tunelowania połączenia ze wskazanym proxy<br />

(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej


Kody odpowiedzi HTTP<br />

●<br />

●<br />

●<br />

●<br />

●<br />

1xy Informacja<br />

Żądanie otrzymane, proces wykonywania<br />

w toku<br />

2xy Akceptacja<br />

Żądanie otrzymane i poprawnie<br />

wykonane<br />

3xy Przekierowanie<br />

Żądanie otrzymane , ale wymagana dalsza<br />

interakcja klienta<br />

4xy Błąd klienta<br />

Żądanie ma złą składnie, bądź nie może<br />

być wykonane<br />

5xy Błąd serwera<br />

Serwer nie był w stanie wykonać<br />

prawdopodobnie poprawnego żądania<br />

Kod<br />

Opis<br />

100 Continue Serwer wykonuje żądanie,klient<br />

może wysyłać kolejne żądania<br />

200 OK Żądanie wykonane prawidłowo<br />

301 Moved<br />

Permanently<br />

400 Bad<br />

Request<br />

401<br />

Unauthorized<br />

Żądany zasób znajduje się pod<br />

innym adresem, konieczne<br />

podanie nowego URI<br />

Nieznane żądanie (błąd<br />

syntaktyczny)<br />

Odmowa dostępu do zasobu, z<br />

powodu błędnej autoryzacji<br />

404 Not Found Nie ma takiego zasobu<br />

500 Internal<br />

Server Error<br />

503 Service<br />

Unavailable<br />

Serwer napotkał<br />

niespodziewany błąd<br />

wewnętrzny<br />

Serwer jest zbyt obciążony<br />

(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej


Port 5269,5222: XMPP<br />

(eXtensible Messaging and<br />

Presence Protocol)<br />

<br />

<br />

<br />

<br />

<br />

alice<br />

password<br />

Work<br />

<br />

<br />

<br />

<br />

Hello!<br />

Can't wait to see you tomorrow.<br />

<br />

<br />

Logged out<br />

<br />

<br />

<br />

Protokoły<br />

Protokół<br />

XMPP/Jabber<br />

“zamknięte”<br />

CCC.NET<br />

GADU-GADU<br />

12345<br />

mary@ccc.net<br />

AAA.COM<br />

BBB.ORG<br />

TLEN<br />

ICQ<br />

bob@tlen.pl alice@tlen.pl 12345<br />

bob@aaa.com alice@aaa.com frank@bbb.org<br />

(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej


Sieci P2P (Peer-to-Peer) –<br />

port 1214: Kazaa, port 6881: BitTorrent<br />

port 4667: eDonkey/Overnet<br />

model klient-serwer<br />

kwerendy i informacje o lokalizacji pliku<br />

wymiana danych<br />

model 'Napster'<br />

informacje “sterujące”, brak wyszukiwania danych<br />

model 'FastTrack/GNUtella'<br />

model 'eDonkey/Overnet'<br />

model 'BitTorrent'<br />

(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!