aplikacijski sloj interneta. aplikacijski sloj.pdf · • elektronička pošta. 3 mreže računala...
TRANSCRIPT
1
Mreže računala
Aplikacijski sloj Interneta
Stjepan Groš
222Mreže računala
Sadržaj
• Sustav DNS
• Elektronička pošta
333Mreže računala
Sustava DNS
• Definicija problema
• Temeljna usluga DNS-a: pretvaranje imena u IP adrese
• Hijerarhijska organizacija DNS sustava
• Poslužitelji u sustavu DNS
• DNS baze sa podacima (o imenima)
• Slanje upita DNS poslužiteljima
444Mreže računala
Definicija problema
• Ljudima je teško pamtiti brojeve• IP adrese su samo brojevi
• Puno prirodnije je pamtiti imena
• Međutim, rad s nizovima znakova je neefikasan
• Dodatni problemi• vrlo česte promjene
• stalno dodavanje i uklanjanje računala
• ogromne količine promjena
555Mreže računala
Usluga pretvaranja imena u IP adrese
• Ideja je svim IP mrežama dati ime• Hijerarhija IP mreža se oslikava u hijerarhiji domena
• Na temelju ideje izgrađena raspodijeljena baza• Temeljna namjena pretvaranje imena u adresu
• Baza i protokol za razmjenu podataka se nazivaju DNS
• Domain Name System
• Dvosmislenost! Kontekst je bitan!
• Raspodjeljena zbog nemogućnosti održavanja centralizirane baze!
666Mreže računala
Organizacija DNS-a
• Sva imena organizirana su u stablo• Svaki čvor pokazuje na svoje podčvorove
• Iznimka je isključivo korijen stabla
• Nalazi se na fiksnim, unaprijed predefiniranim, IP adresama
• U svakom čvoru stabla nalazi se baza sa sljedećim podacima
• Imena koja su unutar domene
• Pokazivači na poddomene
• Puno ime domene/računala dobija se čitanjem odozdo prema gore
• To se često naziva FQDN
777Mreže računala
Primjer hijerarhije
hrcomnet milinfo
google fer www
cc zea zemris
wwwsmtp pop3
zone
domene
• Neka imena:net.
google.hr.
www.hr.
www.zemris.fer.hr.
pop3.zemris.fer.hr.
888Mreže računala
Poslužitelji u DNS sustavu (1)
• Za svaku domenu postoji barem jedan poslužitelj• Radi raspoloživosti ima ih obično dva ili tri
• Poslužitelj može biti zadužen i za više domena!• Primjer je poslužitelj zadužen za fer.hr, cc.fer.hr i
zea.fer.hr domene
• Poslužitelj ne mora biti nužno u IP mreži u kojoj je domena
• Na prethodnoj slici poslužitelj fer.hr, cc.fer.hr i zea.fer.hr domena se nalazi u cc.fer.hr domeni
• Poslužitelj sadrži pokazivače na poslužitelje poddomena
999Mreže računala
Poslužitelji u DNS sustavu (2)
• Zona• Zona je skup domena za koju je zadužen isti DNS
poslužitelj
• Autoritativni poslužitelj• Poslužitelj(i) zaduženi za pojedinu zonu/domenu
• Pomoćni (slave) poslužitelji• Sadrže kopiju DNS baze
• Periodički sinkroniziraju bazu s primarnim poslužiteljem
101010Mreže računala
DNS baze
• Tekstualna baza se sastoji od zapisa• Svaki zapis (uglavnom) jedna linija
• Nekoliko bitnih zapisa koje ćemo koristiti• SOA (Start of Authority)
• Definira temeljne podatke o domeni
• A i AAAA• Definira IPv4 (IPv6) adresu za neko ime
• NS• Definira poslužitelj domene
• CNAME
• Definira alias za neko postojeće ime
111111Mreže računala
Primjeri zapisa u DNS bazi (1)
• SOA zapis za domenu zemris.fer.hr@ 360000 IN SOA Iluvatar postmaster ( 2007111101 ; Serial 10800 ; Refresh 3600 ; Retry 432000 ; Expire 86400) ; Minimum
• Većina podataka u ovom zapisu odnosi se na pomoćne poslužitelje
121212Mreže računala
Primjeri zapisa u DNS bazi (2)
• A zapis računala iluvatar.zemris.fer.hriluvatar 86400 IN A 161.53.65.13
• U primjerima ćemo A zapis pisati na sljedeći način:
(<ime računala>, <ip adresa>, A [, <ttl vrijednost>])
• Odnos imena i IP adresa je 1:n ili m:1• Za jedno ime može biti više IP adresa
• Jedna IP adresa se može koristiti za više imena
131313Mreže računala
Primjeri zapisa u DNS bazi (3)
• NS zapisa• Koristi se za dvije namjene
• Definira poslužitelj za tekuću domenu/zonu
• Primjer poslužitelja zemris.fer.hr domene
zemris.fer.hr. 86400 IN NS gandalf.zemris.fer.hr.
• Zapis u primjerima
(<domena>, <poslužitelj>, NS [, <ttl vrijednost>])
• Definiranje poddomene i njenog poslužitelja• Primjer zapisa u fer.hr domeni za zemris.fer.hr domenu
zemris.fer.hr. 86400 IN NS gandalf.zemris.fer.hr.gandalf.zemris.fer.hr. IN A 161.53.65.11
141414Mreže računala
Slanje upita DNS sustavu
• Naredba nslookup• Postoji i na Unixu i na Windowsima
• Najčešća sintaksa
nslookup [-type=tip_zapisa] atribut [dns poslužitelj]
• Primjer saznavanja IP adrese# nslookup www.carnet.hrServer: 161.53.65.13Address: 161.53.65.13#53
Non-authoritative answer:Name: www.carnet.hrAddress: 161.53.160.25
151515Mreže računala
Pretraživanje DNS baza (1)
• Rekurzivno razrješavanje imena• Klijent pošalje upit DNS poslužitelju koji potom
razrješava ime dok ne dođe do konačnog odgovora
• Iterativno razrješavanje imena• Klijent pošalje upit DNS poslužitelju koji šalje podatke
o DNS poslužitelju kojeg idućeg treba pitati
• DNS poslužitelji imaju isključivo informaciju o korijenu hijerarhije!
• Prilikom pretraživanja moguće je ići samo "prema dolje"
161616Mreže računala
Pretraživanje DNS baza (2)
• Naredba dig• Slanje upita DNS poslužiteljima
• Više mogućnosti od nslookup naredbe
• Oblik naredbe
dig [opcije] [-t tip_zapisa] atribut [@dns_poslužitelj]
• Korisna opcija +trace
171717Mreže računala
Neke krive upotrebe DNS poslužitelja
• Neke krive upotrebe DNS poslužitelja• Balansiranje opterećenja
• Mail poslužitelj da dinamičkim adresama
• Upravljanje prometom
• Sigurnost DNS sustava• Radi se o kritičnoj komponenti s vrlo lošom
sigurnošću
• Postoji DNSSEC ali nije (još) zaživio
181818Mreže računala
Elektronička pošta
• Arhitektura i komponente sustava
• Isporuka pošte lokalnim i udaljenim korisnicima
• DNS i elektronička pošta
• SMTP protokol
• Dohvat elektroničke pošte
• Sigurnost elektroničke pošte
191919Mreže računala
Sustav elektroničke pošte
• Arhitektura sustava elektroničke pošte
MTAMUA
MDA
MTA
MDA
MUA
FilePOP3IMAP
FilePOP3IMAP
SMTP SMTP SMTP
202020Mreže računala
Komponente sustava (1)
• MTA (Mail Transfer Agent)• Komponenta zadužena za slanje elektroničke pošte
• postfix, sendmail, qmail, Exchange(!), ...
• Na temelju adrese
• proslijeđuje poruku udaljenom stroju
• vrši lokalnu isporuku
• MDA (Mail Delivery Agent)• Komponenta koja doista vrši lokalnu isporuku
• procmail
• Lokalna isporuka znači pisanje u datoteke i/ili baze
212121Mreže računala
Komponente sustava (2)
• MUA (Mail User Agent)• Klijentski program
• Thunderbird, Outlook, Outlook Express, Eudora, Evolution, ...
• U njega je upisan odlazni poslužitelj elektroničke pošte (MTA)
• IP adresa ili ime
• MTA preuzima poruku nakon što se odabere opcija Send
• Također je definiran i dolazni poslužitelj elektroničke pošte
• Moguć pristup porukama direktno ili putem različitih protokola
222222Mreže računala
Isporuka poruka lokalnim korisnicima
• Primjer slanja lokalnom korisniku
• Prima: [email protected]
• Šalje: [email protected]
• Koraci• korisnikA priprema poruku u
MUA
• MUA koristeći SMTP šalje poruku svom lokalnom MTA
• MTA isporučuje poruku kroz MDA u sandućić od korisnika B
MTAMUA
MDA
232323Mreže računala
Isporuka poruka udaljenim korisnicima (1)
• Primjer slanja poruke od [email protected] korisniku [email protected]
MTAMUA
MDA
korisnikA
@primjer.com
MTA
@primjer.hr
DNS usluga
12
34
6
5
242424Mreže računala
Isporuka poruka udaljenim korisnicima (2)
• Tijek isporuke1. korisnikA priprema poruku u svom MUA
2. putem SMTP protokola šalje poruku svom MTA
3. MTA putem DNS protokola saznaje odredišni MTA• Traži MX zapis za domenu u adresi elektroničke poruke
• U našem primjeru to je MX zapis za primjer.hr domenu
4. DNS vraća ime i adresu odredišnog MTA
5. Protokolom SMTP šalje poruku odredišnom MTA
6. Odredišni MTA isporučuje poruku lokalnom korisniku koristeći MDA
252525Mreže računala
MX zapisi u DNS bazi (1)
• Temelj usmjeravanja pošte na Internetu• Određuje koji stroj prihvaća poštu za pojedinu
domenu!
• MX zapis u DNS-u domene primjer.hrmail 86400 IN A 192.168.0.10....primjer.hr 86400 IN MX 10 mail.primjer.hr
• U primjerima ćemo MX zapis pisati na sljedeći način:
(<ime domene>, <prioritet poslužitelj>, MX[, <ttl vrijednost>])
262626Mreže računala
MX zapisi u DNS bazi (2)
• Ispitivanje MX zapisa, primjeri$ nslookup -type=mx fer.hrServer: 161.53.65.11Address: 161.53.65.11#53
Non-authoritative answer:fer.hr mail exchanger = 10 labs3.cc.fer.hr.
$ dig -t mx gmail.com....
272727Mreže računala
Primjer slanja poruke protokolom SMTP
• Primjer slanja porukeS: 220 mail.primjer.hr ESMTP WelcomeC: EHLO 10.0.0.10S: 250-mail.primjer.hrS: 250 SIZE 10240000C: MAIL FROM: <[email protected]>S: 250 OkC: RCPT TO: <[email protected]>S: 250 OkC: DATAS: 354 End data with <CR><LF>.<CR><LF>C: To: Korisnik B <[email protected]>C: Subject: TestC:C: Ovo je testC: .S: 250 Ok: queued as 172D2100034C: QUITS: 221 Bye
282828Mreže računala
Dohvat elektroničke pošte
• Zajedničke karakteristike• Jednostavni aplikacijski protokoli temeljeni na
razmjeni tekstualnih APDU-ova
• Koriste TCP za prijenos
• Protokol POP3• Jednostavniji protokol za dohvat elektroničke pošte
• Protokol IMAP• Osim dohvata omogućava i postavljanje poruka na
poslužitelj• Ne i slanje poruka!
292929Mreže računala
Primjer dohvata poruke protokolom POP3
S: +OK Hello there.C: USER korisnikBS: +OK Password required.C: PASS lozinkaS: +OK logged in.C: LISTS: 1 968S: .C: RETR 1S: +OK 968 octets follow.S: <poruka>S: .C: DELE 1S: +OK Deleted.C: DELE 1S: -ERR Invalid message number.C: QUITS: +OK Bye-bye.
303030Mreže računala
Izgled poruke elektroničke pošte
• Poruka se sastoji od zaglavlja (do prve prazne linije) i tijela porukeReturn-Path: <[email protected]>X-Original-To: [email protected]: [email protected]: from 10.0.0.10 (mail.primjer.com [10.0.0.10]) by mail.primjer.hr (Postfix) with ESMTP id 172D2100034 for <[email protected]>; Mon, 17 Dec 2007 19:28:21 +0100 (CET)To: Korisnik B <[email protected]>Subject: TestMessage-Id: <[email protected]>Date: Mon, 17 Dec 2007 19:28:21 +0100 (CET)From: [email protected]
Ovo je test.
313131Mreže računala
Sigurnost elektroničke pošte
• Slanje elektroničke pošte• Neprovjeravanje (ili loša provjera) izvorišne adrese
• Otvoreni prijenos (relay) poruka• MTA koji prihvaća mailove od vanjskih korisnika za vanjske
korisnike
• Dohvat elektroničke pošte• Prijenos lozinki u otvorenom tekstu