IX. APLIKACIJSKI SLOJ
- slojevi ispod aplikacijskog sloja osiguravaju pouzdani
prijenos, ali ne vrše nikakav konkretni posao za korisnike
- u aplikacijskom sloju se pored korisničkih aplikacija
nalaze i pomoćni protokoli koji omogućuju njihovo izvršavanje: protokoli
(i koncepti) koji osiguravaju sigurnost, DNS koji upravlja dodjelom imena
na Internetu i protokol za upravljanje mrežom
- programi rijetko koriste brojčane IP adrese hostova,
umjesto njih koriste ASCII stringove to jest tekstualna imena ili puna
imena domena (fully qualified domain name, FQDN)
- potreban je mehanizam za pretvaranje iz jednog oblika u
drugi
- na primjer, umjesto pero@161.53.45.3 ->
pero@mapef.pefri.hr
- sama mreža i dalje koristi IP (mrežne) adrese
- u početku razvoja ARPANET-a koristila se jedna datoteka
hosts koja je sadržavala popis svih hostova sa njihovim IP adresama
i koju su hostovi svake noći dohvaćali sa računala koje ju je održavalo
- povećanjem broja računala u mreži razvila se
hijerarhijska shema koja se bazira na imenu domena - DNS (Domain Name
System) i koji prvenstveno služi za preslikavanje imena hostova u
njihove IP adrese
Korištenje DNS
- da bi se ime preslikalo u IP adresu, aplikacijski
program poziva proceduru koja se naziva resolver i kojoj kao
parametar daje ime;
- resolver šalje UDP paket lokalnom DNS serveru koji
pronalazi odgovarajuću IP adresu i vraća je resolveru, a on programu koji
ga je pozvao
- taj program sada ima IP adresu te može uspostaviti TCP
vezu sa odredištem ili slati UDP pakete
1.1 DNS imena
- Internet je konceptualno podijeljen u preko 200 domena
najvišeg nivoa od kojih svaka sadrži mnoštvo hostova,
- svaka domena najvišeg nivoa podijeljena je u poddomene
(subdomains) koje se dalje dijele
- sve domene mogu prikazati kao stablo čiji su listovi
domene bez poddomena (ali sadrže računala), na primjer:

Slika: Dio Internet
stabla domena (Tanenbaum,
1996)
- domene najvišeg nivoa mogu biti:
- generičke (generic domains)
- domene zemalja (country domains):
- generičke su:
- com - komercijalne (commercial)
- edu - za obrazovne institucije (educational
institutions)
- gov - za vladine institucije (government)
- int - za međunarodne organizacije (international
organizations)
- mil - za U.S. vojne institucije (military)
- net - za davaoce mrežnih usluga (network
prowiders)
- org - za nekomercijalne organizacije (nonprofit
organizations)
- domene zemalja uključuju po jednu oznaku za svaku
zemlju
- 2000. ICANN odobrio nove generičke domene:
- biz - poslovni korisnici (businesses)
- info (information)
- name - imena osoba
- pro (professions) - zanimanja, na pr.
pravnici, liječnici,...
- aero (aerospace industry) - avionska
industrija
- coop (co-operatives) - zadruge
- museum - muzeji
- u praksi skoro sve organizacije u US su pod nekom
generičkom domenom, a u ostalim zemljama pod domenom te zemlje
- domene oblika ime_tvrtke.com lako se registriraju
ukoliko već nisu zauzete
- svaka domena je imenovana stazom u stablu od njenog
čvora prema neimenovanom korijenu, a komponente su razdvojene točkama, na
pr.
- eng.yale.edu
- robot.ai.cs.yale.edu
- edu.sun.com
- u imenima domena se ne razlikuju mala i velika slova,
imena komponenti mogu biti duga do 63 znaka, a čitavo ime do 255 znakova
- da bi se kreirala nova domena, potrebna je dozvola
domene koja bi je trebala sadržavati
- kad je jednom nova domena kreirana i registrirana, može
kreirati svoje poddomene bez potreba da traži dozvolu od nekog višeg od
nje u stablu (hijerarhiji)
- imena slijede organizacijske granice, a ne fizičke
mreže -> hostovi u različitim lokalnim mrežama mogu pripadati istoj domeni
i obrnuto
1.2 Poslužitelji imena (Name Servers)
- želi se izbjeći jedan server na kojem je cijela DNS
baza -> prostor DNS imena podijeljen je u neprekrivajuće zone, na pr:

Slika: Podjela
dijela prostora DNS na zone (Tanenbaum,
1996)
- svaka zona sadrži dio stabla, te DNS servere koji imaju
informacije o toj zoni
- uobičajeno je da postoji
- jedan primarni DNS server - informacije
dohvaća iz svoje datoteke
- jedan ili više sekundarnih DNS servera -
informacije dobivaju od primarnih DNS servera
- kad resolver primi upit o imenu domene, šalje ga
jednom od lokalnih DNS servera
- ako domena pripada u njegovu nadležnost, lokalni server
vraća traženi podatak: uvijek točan podatak (authoritative record)
- ako je riječ o udaljenoj domeni za koju lokalno ne
postoje informacije, DNS server šalje zahtjev DNS serveru domene najvišeg
nivoa kojemu pripada ta tražena domena
- taj server prosljeđuje zahtjev DNS serverima
odgovarajućih poddomena
- primjer rekurzivnog upita (recursive query):
- resolver na flits.cs.vu.nl želi saznati IP
adresu hosta linda.cs.yale.edu:

Slika: Podjela
dijela prostora DNS na zone (Tanenbaum,
1996)
- usluga za razmjenjivanje poruka na računalima povezanim
u Internet - najpopularniji način asinkrone komunikacije
- prvi email sustavi koristili su običan protokol za
prijenos datoteka s tim da je prvi redak poruke (tj. datoteke) sadržavao
adresu primatelja
- neki nedostaci takvog pristupa bili su:
- poruke nisu imale svoju unutrašnju strukturu, pa je
njihova obrada bila teška,
- slanje poruke grupi ljudi bilo je nezgodno
- pošiljatelj nije znao da li je njegova poruka stigla
do primatelja ili nije
- korisničko sučelje bilo je loše integrirano sa
sistemom za prijenos datoteka,
- nije bilo moguće kreirati i poslati poruku koja se
sastojala i od teksta, grafike, zvuka...
- 1982. objavljen je ARPANET-ov prijedlog za email sistem
kao RFC 821 (protokol za prijenos) i RFC 822 (format poruke)
2.1 Arhitektura i usluge
- email sistem se obično sastoji od dva podsustava:
- korisnički (user agents) koji omogućuje
slanje i čitanje pošte
- podsustav za slanje poruka (message transfer)
koji prenosi poruke od izvora do odredišta
- korisnički podsustavi (agenti) su lokalni programi koji
omogućuju interakciju sa email sistemom preko naredbenih redaka, menua ili
grafičkih sučelja
- podsustavi (agenti) za slanje poruka su obično
deamon programi koji se izvršavaju u pozadini i prenose email poruke
kroz sistem
- 5 osnovnih funkcija email sustava:
- izrada (composition) - proces kreiranja
poruka i odgovora na poruke
- prijenos (transfer) - prenošenje poruka
od pošiljatelje do primatelja (uspostavljanje veze - sa odredištem ili
nekim strojem na putu, slanje poruke, oslobađanje veze)
- izvještavanje (reporting) - da li je
poruka dostavljena ili nije
- prikaz (displaying) - da bi se
pročitale primljene poruke
- raspoređivanje (disposition) -
spremanje, brisanje, prosljeđivanje... primljenih poruka
- uz osnovne, većina email sustava podržava i dodatne
funkcije (npr. automatsko prosljeđivanje poruka na drugu adresu, kreiranje
različitih “poštanskih pretinaca” (mailboxes, folders) za čuvanje
poruka, kreiranje poštanskih listi (mailing lists), kreiranje
šifriranog emaila, definiranje prioriteta poruka...)
- kod email sustava razlikuje se omotnica (envelope)
i sadržaj
- omotnica uključuje unutar sebe poruku i sadrži sve
informacije koje su prijenosnim agentima potrebne za prijenos poruke,
odnosno za usmjeravanje na pravu adresu
- poruka unutar omotnice sastoji se od zaglavlja (header)
sa kontrolnim podacima za korisničke agente i tijela (body) sa
samom porukom

Slika: Usporedba
omotnice i sadržaja obične i elektronske pošte (Tanenbaum,
1996)
2.2 Korisnički podsustav (user agent)
- program za:
- prikazivanje
- slanje poruka
- čitanje poruka
- odgovaranje na poruke i prosljeđivanje
- upravljanje poštanskim sandučićima
- programi najčešće koriste izbornike ili ikone kao
sučelje -> ista funkcionalnost
Slanje maila
- navode se barem poruka i odredišna adresa oblika
korisnik@dns_adresa

Slika: primjer poruke pripremljene za
slanje u MS Outlook Express programu
Čitanje poruka
- prikaz poruka s različitim poljima

Slika: popis pristiglih poruka u MS Outlook
Express programu
2.3 Formati poruka
- osnovni ASCII email po RFC 822 i
multimedijska proširenja za RFC 822
ASCII email po RFC 822
- poruka se sastoji od primitivne omotnice, nekoliko
polja zaglavlja, praznog retka i tijela poruke; svako polje zaglavlja se
sastoji od jednog retka ASCII teksta sa imenom polja, dvotočkom i (za
većinu polja) vrijednosti
- glavna polja koja se odnose na prijenos poruka:
|
To: |
email adresa primaoca
|
|
Cc: |
email adrese osoba kojima su poslane
kopije poruka |
|
Bcc: |
email adrese
osoba kojima su poslane kopije, a ostali primaoci ih ne vide |
|
From: |
osoba koja je kreirala poruku |
|
Sender: |
email adresa pošiljaoca |
|
Received: |
kako je poruka putovala od polazišne
adrese do odredišta |
|
Return-Path: |
bilježi se staza do pošiljaoca |
|
Date: |
datum i
vrijeme slanja |
|
Reply-To: |
email
adresa na koju će se poslati odgovor |
|
Message-Id: |
jedinstveni broj poruke za kasnije referenciranje |
|
In-Reply-To: |
Message-Id poruke na koju se odgovorilo |
|
References: |
ostali
važni Message-Id |
|
Subject: |
naslov
poruke |
-
korisnicima je
dozvoljeno definirati nova polja za vlastitu upotrebu uz uvjet da njihova
imena počinju s X- kako se ne bi zamijenila za službeno definirana polja
-
Primjer: X-Mailer:
polje sadrži podatak o email programu korištenom za slanje poruke
Multimedijska proširenja za RFC 822 - MIME (Multipurpose
Internet Mail Extensions)
- kod RFC 822 problem za poruke koje pisane na jezicima
s posebnim znakovima ili koje sadrže netekstualne sadržaje (slike,
zvuk,...)
- i dalje se koristi RFC 822 format, ali se u tijelo
poruke dodaje nova struktura i definiraju se pravila šifriranja za poruke
koje nisu ASCII
- na taj se način MIME poruke mogu slati korištenjem
postojećih mail programa i protokola
- MIME definira 5 novih zaglavlje poruka:
|
MIME-Version: |
govori da je riječ o MIME poruci
određene verzije (poruka koja nema to polje smatra se običnom
tekstualnom porukom) |
|
Content-Description: |
ACSII string koji govori primatelju
što je u poruci |
|
Content-ID: |
služi za identificiranje sadržaja
|
|
Content-Transfer-Encoding: |
način kodiranja (šifriranja)
netekstualnog dijela |
|
Content-Type: |
određuje tip i podtip tijela poruke,
npr. video/mpeg |
- MIME-Version: - govori korisničkom agentu da je
riječ o MIME poruci određene verzije (poruka koja nema to polje smatra se
običnom tekstualnom porukom)
- Content-Description: - ACSII string koji govori
primatelju što je u poruci
- Content-ID: - za identificiranje sadržaja
- Content-Transfer-Encoding: - na koji način je
netekstualni dio šifriran da se može prenijeti mrežom, može se koristiti 5
shema:
- običan ASCII tekst - znakovi koriste 7 bita, a
dostavljaju se direktno pomoću email protokola (ako reci ne prelaze
dužinu od 1000 znakova)
- 8-bitno šifriranje - narušava originalni
Internet email protokol, pa mu je potrebno implementirati neka dodatke
- binarno šifriranje - za slanje binarnih
datoteka koje ne poštuju ograničenje od 1000 znakova u redu; nepouzdano,
bolji način:
- base64 šifriranje - grupe od 24 bita razbijene
su u četiri 6-bitna dijela i svaki se šalje kao ASCII znak; šifra
(određuje se za svaku vrijednost od 0-63) je “A” za 0, “B” za 1, ...,
nakon velikih slova slijedi 26 malih, zatim 10 brojki i na kraju + za 62
i / za 63; znakovi == i = označavaju da zadnja grupa ima samo 8, odnosno
16 bita
- quoted-printable šifriranje - 7-bitni ASCII
kod kojeg su svi znakovi iznad 127 šifrirani kao znak = nakon kojeg
slijedi vrijednost znaka kao 2 heksadecimalne znamenke; koristio se za
poruke koje su gotovo cijele ACSII osim nekoliko ne-ASCII znakova
5. Content-Type: - određuje tip i podtip tijela
poruke, npr: Content-Type: video/mpeg
- MIME tipovi i podtipovi koji su bili početno definirani
(u RFC 1521):
text/plain
text/richtext
image/gif
image/jpeg
audio/basic
video/mpeg
application/octet-stream
application/postscript
message/rfc822
message/partial
message/external-body
multipart/mixed
multipart/alternative
multipart/parallel
multipart/digest
-
Text, Image, Audio, Video i Application
tipovi se odnose na sam multimedijski sadržaj koji se šalje porukom,
-
Message navodi kako je jedna poruka
uključena u drugu (npr. kod prosljeđivanja)
-
Multipart opisuje poruku koja se
sastoji od više dijelova pri čemu svaki dio ima jasno označen početak i
kraj
Na primjer:
multipart/alternative – za poruku koja je poslana i kao obični tekst i
kao HTML tekst
multipart/mixed – za poruku s tekstom i sa slikom kao dodatkom
Primjer
multipart poruke:
Received: from as104.tel.hr (as104.tel.hr
[195.29.150.2])
by mapef.pefri.hr (8.9.3/8.9.3/Debian/GNU) with ESMTP id HAA14139
for <natasah@pefri.hr>; Sun, 11 Mar 2001 07:20:23 +0100
Received: from natasa (ar4-m182.net.hinet.hr [195.29.67.182])
by as104.tel.hr (0.0.0/0.0.0) with SMTP id HAA313598
for <natasah@pefri.hr>; Sun, 11 Mar 2001 07:25:31 +0100 (MET)
From: "Natasa Hoic-Bozic" <natasa.hoic@ri.tel.hr>
To: <natasah@pefri.hr>
Subject: Primjer MIME email poruke
Date: Sun, 11 Mar 2001 07:22:45 +0100
Message-ID: <DLEOJOBEMEHDJAAMJGLHOEICCCAA.natasa.hoic@ri.tel.hr>
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_NextPart_000_0000_01C0A9FC.1176B960"
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
Status:
This is a multi-part message in MIME format.
------=_NextPart_000_0000_01C0A9FC.1176B960
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_0001_01C0A9FC.1176B960"
------=_NextPart_001_0001_01C0A9FC.1176B960
Content-Type: text/plain;
charset="iso-8859-2"
Content-Transfer-Encoding: 7bit
Ovo je poruka u HTML formatu koja ima pridodanu binarnu datoteku sa slikom
jpeg formata.
------=_NextPart_001_0001_01C0A9FC.1176B960
Content-Type: text/html;
charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE></TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-2">
<META content=3D"MSHTML 5.50.4134.600" name=3DGENERATOR></HEAD>
<BODY bgColor=3D#00ffff>
<DIV><FONT size=3D4><FONT face=3DGaramond><FONT =
color=3D#000080><STRONG>Ovo je poruka=20
u <EM>HTML formatu</EM> koja ima pridodanu binarnu datoteku sa slikom =
<EM>jpeg=20
formata.</EM></STRONG></FONT></FONT></FONT></DIV>
<DIV> </DIV></BODY></HTML>
------=_NextPart_001_0001_01C0A9FC.1176B960--
------=_NextPart_000_0000_01C0A9FC.1176B960
Content-Type: image/jpeg;
name="slika.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="slika.jpg"
/9j/4AAQSkZJRgABAAEAZABkAAD//gAXVS1MZluYy4A/9sAhAADAgICAgI
AgICAwMDAwQIBQQEBAQJBwcFCAsKDAwLCgsLNEQ0LCxAVEBBgSFBQ
(…ovdje dolazi preostali dio kodirane jpeg slike )
------=_NextPart_000_0000_01C0A9FC.1176B960--
2.4. Prijenos poruka
SMTP - Simple Mail Transfer Protocol
- na Internetu se email dostavlja tako da izvorišno
računalo uspostavi TCP vezu sa portom 25 na odredišnom računalu, na tom
portu osluškuje email deamon koji raspoznaje SMTP protokol
- deamon prihvaća dolazeće veze i kopira poruke s
njih u odgovarajuće poštanske sandučiće
- ako se poruka ne može dostaviti, pošiljatelju se vraća
poruka o pogreški
- SMTP je jednostavan ASCII protokol:
- nakon uspostavljanja TCP veze na portu 25, klijent
(računalo-pošiljatelj) čeka da server (računalo-primatelj) prvi počne
slati podatke o svom identitetu i da li je spreman primiti email ili ne
- ako server nije spreman prihvatiti email, klijent
oslobađa vezu; ako je spreman, klijent oglašava od koga je email i za
koga
- ako primatelj postoji, server daje dozvolu za slanje
i klijent šalje poruku, a server potvrđuje njen primitak
- ukoliko postoji još poruka, razmjenjuju se (u oba
smjera) i na kraju se veza oslobađa
- Primjer za komunikaciju (S-sender (primatelj), C-client
(pošiljatelj)):

Slika: Prijenos
email poruke (Tanenbaum,
1996)
2.5. Dostavljanje poruka
POP3 (Post Office Protocol)
- jednostavan protokol za dohvaćanje poruka iz udaljenog
mailboxa i njihovo spremanje na lokalno računalo korisnika kako bi se
mogle čitati i kasnije
- razvio se zbog potrebe da PC računala koja sama ne mogu
slati i primati email izvan npr. kompanije mogu komunicirati s email
serverom
- POP3 započinje kad korisnik pokrene program za čitanje
emaila koji putem napr. modemske veze preko ISP uspostavlja TCP vezu na
portu 110 sa serverom koji je spremio poruke
- POP3 ima 3 stanja:
- autorizacija - korisnike se prijavljuje korisničkim
imenom (login) i šifrom (password)
- transakcija - korisnik prikuplja poruke i označava ih
za brisanje (opcionalno)
- ažuriranje - email poruke se brišu sa servera

Slika: Prijenos
email poruka s POP3 (Tanenbaum,
2003)
IMAP (Interactive Mail Access Protocol)
- složeniji od POP3 i omogućuje održavanje pošte na
serveru korištenjem različitih udaljenih računala
- pošta se ne kopira sa servera na osobno računalo jer ih
korisnik može imati više (računalo u uredu, kod kuće, prijenosno računalo)
- ovaj protokol ne podržavaju svi ISP niti svi email
klijenti
Webmail
- poruke se čitaju i šalju putem Web sučelja
- koriste se HTML forme za unos podataka i programi na
serveru koji sadržaj mailboxa formatiraju i kreiraju HTML stranu za prikaz
u pregledniku
Filtriranje poruka
-
mogućnost koju imaju današnji
korisnički e-mail programi je definiranje filtera
-
sastoje se od uvjeta i akcije i
primjenjuju se na dolazeće poruke
-
primjer: slanje spam poruka u
posebne mape
|