108
TCP/IP TCP/IP - Aplikacioni sloj

TCP/IP - Aplikacioni sloj

  • Upload
    jonny

  • View
    95

  • Download
    3

Embed Size (px)

DESCRIPTION

TCP/IP - Aplikacioni sloj. Aplikacioni sloj. Aplikacioni sloj. Klijent - server model TELNET FTP Elektronska pošta (SMTP, POP3) DNS. Klijent-server model. - PowerPoint PPT Presentation

Citation preview

Page 1: TCP/IP -   Aplikacioni sloj

TCP/IP

TCP/IP - Aplikacioni sloj

Page 2: TCP/IP -   Aplikacioni sloj

TCP/IP

Aplikacioni sloj

SMTP FTP TELNET DNS HTTP

Aplikacije

TCP UDPTransport

Aplikacija

Prezentacija

Sesija

IP

ICMP IGMP

ARP RARP

Mreza

“Host-mreza” protokoli

Veza

Fiz. sloj

Page 3: TCP/IP -   Aplikacioni sloj

TCP/IP

Aplikacioni sloj Klijent-server model TELNET FTP Elektronska pošta (SMTP, POP3) DNS

Page 4: TCP/IP -   Aplikacioni sloj

TCP/IP

Klijent-server model Klijent, aplikacioni program koji se izvršava na lokalnoj mašini,

zahteva uslugu (servis) od drugog aplikacionog programa, server, koji se izvršava na udaljenoj mašini.

Server nudi usluge mnogim klijentima. Relacija tipa: ˝više-prema-jedan˝: više klijenata može koristiti servise jednog servera

Klijentski program se izvršava samo onda kada je usluga servera potrebna.

Serverski program, radi sve vreme, zato što unapred ne zna kada će neki klijent zatražiti uslugu.

Internet

Klijent Server

Page 5: TCP/IP -   Aplikacioni sloj

TCP/IP

TELNET Klijent-server program opšte namene Omogućiti korisniku da pristupi aplikacionom programu na

udaljenom računaru: korisnik se prijavi za rad (login-uje) na udaljenom

računaru koristi aplikacije dostupne na udaljenom računaru i

prenosi rezultate nazad na svoj računar Lokalni terminal se ponaša kao da je terminal udaljenog

sistema

Page 6: TCP/IP -   Aplikacioni sloj

TCP/IP

TELNET - koncepti Sistemi sa raspodelom vremena

Više korisnika putem izdvojenih terminala koriste jedan veliki računar.

Terminal (tastatura + monitor) se koristi za unos podataka i prikaz razultata. Obrada se vrši na centralnom računaru

Iluzija da svaki korisnik radi na posebnom sistemu.

Page 7: TCP/IP -   Aplikacioni sloj

TCP/IP

Lokalni login

Terminal drajver

Operativnisistem

. . .

. . .

Aplikacioni programi

Terminal

Page 8: TCP/IP -   Aplikacioni sloj

TCP/IP

Udaljeni login

Terminal drajver

Operativnisistem

. . .

Terminal

TCP

IP

veza

fiz.

TELNET klijent

Pseudoterminal drajverOperativni

sistem

. . .

. . .

Aplikacioni programi

TCP

IP

veza

fiz.

TELNET server

Internet

Page 9: TCP/IP -   Aplikacioni sloj

TCP/IP

NVT Različiti računari i operativni sistemi koriste različita

kodiranja karaktera i prepoznaju različite specijalne kombinacije karaktera

NVT (Network Virtual Terminal - mrežni virtuelni terminal) - definiše univerzalni skup karaktera

TELNET klijentTerminal

Internet

TELNET server

Pseudoterminal drajver

Skup karaktera lokalnog racunara

NVT skup karaktera Skup karaktera udaljenog racunara

Page 10: TCP/IP -   Aplikacioni sloj

TCP/IP

NVT skup karaktera Definiše dva skupa 8-bitnih karaktera:

Za podatke Za kontrolne informacije

Podatak Kontrolni karakter

ASCII

Page 11: TCP/IP -   Aplikacioni sloj

TCP/IP

Neki kontrolni karakteri

Page 12: TCP/IP -   Aplikacioni sloj

TCP/IP

Ugrađivanje

TELENT koristi istu TCP konekciju za prenos podataka i kontrolnih karaktera.

To se poštiže ugradnjom kontrolnih karaktera u tok bajtova

Server Klijent

IACa ECeliftac 1

IAC (Interpret As Control - interpretiraj kao kontrolu) označava početak niza

kontrolnih karaktera

Page 13: TCP/IP -   Aplikacioni sloj

TCP/IP

Opcije

TELNET pruža mogućnost klijentu i serveru da se dogovore oko opcija koje će koristiti tokom sesije.

Opcije su dodatne mogućnosti raspoložive korisnicima sa naprednijim terminalima.

Korisnici sa jednostavnijiim terminalima mogu koristiti podrazumevane opcije.

Page 14: TCP/IP -   Aplikacioni sloj

TCP/IP

OpcijeKôd Opcija Značenje

0 Binary 8-bitni (binarni) prenos

1 Echo Svi primljeni podaci se vraćaju drugoj strani

3 Suppress go ahead Ignoriši go-ahead opciju

5 Status Zahteva status TELENT-a

6 Timing mark Definiše vremenski marker

24 Terminal type Postavlja tip terminala

32 Terminal speed Postavlja brzinu terminala

34 Line mode Promena na linijski način rada

Page 15: TCP/IP -   Aplikacioni sloj

TCP/IP

NVT skup karaktera za pregovaranjeKarakter Decimalno Binarno Značenje

WILL 251 11111011 1. Ponuda dozvole2. Prihvatanje tražene dozvole

WONT 252 11111000 1. Odbijanje tražene dozvole2. Ponuda zabrane3. Prihvatanje ponuđene zabrane

DO 253 11111001 1. Prihvatanje tražene dozvole2. Traženje dozvole

DONT 254 1111110 1. Neprihvatanje ponuđene dozvole

2. Prihvatanje ponuđene zabrane3. Traženje zabrane.

Page 16: TCP/IP -   Aplikacioni sloj

TCP/IP

Pregovaranje - ponuda dozvole

WILL

DO ili DONT

Da li da dozvolim opciju?

Dozvoli (ili Nemoj da dozvoliš)Predajnik Prijemnik

Page 17: TCP/IP -   Aplikacioni sloj

TCP/IP

Pregovaranje - traženje dozvole

DO

WILL ili WONT

Tražim od tebe da dozvoliš opciju.

Hoću (ili Neću)Predajnik Prijemnik

Page 18: TCP/IP -   Aplikacioni sloj

TCP/IP

Pregovaranje - ponuda zabrane

WONT

DONT

Ne želim više da koristim ovu opciju

Nemoj više da je koristišPredajnik Prijemnik

Page 19: TCP/IP -   Aplikacioni sloj

TCP/IP

Pregovaranje - traženje zabrane

DONT

WONT

Nemoj više da koristiš ovu opciju

Neću je više koristitiPredajnik Prijemnik

Page 20: TCP/IP -   Aplikacioni sloj

TCP/IP

Pregovaranje - primer

Klijent

ECHO DO IAC

ECHOWILLIAC

Tražim od tebe da dozvoliš opciju Echo.

Dozvoliću opciju Echo.

Server

Page 21: TCP/IP -   Aplikacioni sloj

TCP/IP

Pregovaranje oko podopcija

Karakter Decimalno Binarno Značenje

SE 240 11110000 Kraj podopcije

SB 250 11111010 Početak podopcije

Pojedine opcije zahtevaju dodatne informacije.

Klijent i server razmenjuju dodatne informacije kroz proceduru pregovaranje oko podopcija

NVT karakteri za pregovaranje oko podopcija

Page 22: TCP/IP -   Aplikacioni sloj

TCP/IP

Pregovaranje oko podopcija - primer

Klijent

Terminal Type WILL IAC

DOIAC

Da li da dozvolim opciju ˝terminal type˝

Dozvoli opciju ˝terminal type˝

Server

Terminal Type

IACSB´V´ Terminal Type´T´IACSE

Postavljam tip terminala na ´VT´

Page 23: TCP/IP -   Aplikacioni sloj

TCP/IP

Simetrija

Klijent i server su ravnopravni.

Na početku sesije obe strane koriste podrazumevane opcije.

Ako bilo koja strana želi da dozvoli neku opciju, ona je može ponuditi ili zatražiti

Koncept pregovaranja omogućava lako proširenje TELNET-a

Page 24: TCP/IP -   Aplikacioni sloj

TCP/IP

Kontrola servera

Kôd Decimalno Binarno Značenje

IP 244 11110100 Prekid (interrupt) procesa

AO 245 11110101 Prekid (abort) procesa

AYT 246 11110110 Da li si tamo?

EC 247 11110111 Brisanje karkatera

EL 248 11110000 Brisanje linije

NVT karakteri koji se koriste za kontrolu aplikacije koja se izvršava na udaljenom serveru.

Page 25: TCP/IP -   Aplikacioni sloj

TCP/IP

Primer kontrole servera - prekid aplikacije

Page 26: TCP/IP -   Aplikacioni sloj

TCP/IP

Out-of-band signalizacija Da bi u svim situacijama obezbedio dejstvo kontrolnih karaktera, TELENT koristi out-of-band signalizaciju.

Kod out-of-band signalizacije, kontrolni karakteri se šalju udaljenom procesu izvan redosleda

Klijent

Podaci IAC PodaciIPDM

Server

Urgentni pointer

odbacuju seprihvataju se

Page 27: TCP/IP -   Aplikacioni sloj

TCP/IP

Načini rada Podrazumevani Karakter-orijentisani Linijski

Page 28: TCP/IP -   Aplikacioni sloj

TCP/IP

Podrazumevani način rada Eho obavlja klijent Klijent šalje severu liniju teksta Klijent je spreman da prihvati novu liniju od

korisnika tek kada od severa dobije komandu GA (Go Ahead)

Page 29: TCP/IP -   Aplikacioni sloj

TCP/IP

Podrazumevani način rada - primerKlijent Server

GO AHEAD

WILL TERMINAL TYPE

WILL TERMINAL SPEED

DO TERMINAL TYPE

DONT TERMINAL SPEED

GO AHEAD

GO AHEAD

Login:

milan

Password:

****

GO AHEAD

GO AHEAD

GO AHEAD

cp file1 file2

Microsoft Word Document

Page 30: TCP/IP -   Aplikacioni sloj

TCP/IP

Karakter-orijentisani način rada Eho karaktera obavlja server

Klijent šalje serveru svaki pojedinačni karakter kojeg korisnik unese preko tastature. Server vraća nazad primljene karaktere, a klijent ih prikazuje na ekranu.

Nije efikasan jer generiše nepotrebno veliki mrežni saobraćaj. Jedan karakter - tri TCP segmenta.

Page 31: TCP/IP -   Aplikacioni sloj

TCP/IP

Linijski način rada Editovanje linije teksta se obavlja na strani

klijenta (eho, brisanje, umetanje karaktera i sl.) Serveru se šalju komplente linije Za razliku od podrazumevanog načina rada,

linijski način rada omogućava punu-dupleks komunikaciju, jer klijent može, bez čekanja na komandu GA, da pošalje serveru više linija teksta, jednu za drugom

Page 32: TCP/IP -   Aplikacioni sloj

TCP/IP

FTPFTP (File Transfer Protocol – Protokol za prenos fajlova) je aplikacioni protokol za kopiranje fajlova sa jednog na neki

drugi host.

Page 33: TCP/IP -   Aplikacioni sloj

TCP/IP

FTP konekcije

Proces za prenos

podataka

Upravljacki proces

Proces korisnickog interfejsa

Korisnik

Internet

TCP/IP Proces za prenos

podataka

Upravljacki proces

Hard disk

FTP klijent FTP server

Hard disk

Upravljačka konekcija

Konekcija za prenos podataka

FTP zahteva dve TCP konekcije.Dobro-poznati port 21 se koristi za upravljačku

konekciju, a port 20 za konekciju za prenos podatakaUpravljačka konekcija je otvorena za sve vreme

trajanja sesijeKonekcija za prenos podataka se otvara, a onda i

zatvara za prenos svakog pojedinačnog fajla

Page 34: TCP/IP -   Aplikacioni sloj

TCP/IP

Otvaranje upravljačke konekcije

Proces za prenos

podataka

Upravljacki proces

Proces za prenos

podataka

Upravljacki proces

21

ServerKlijent

Proces za prenos

podataka

Upravljacki proces

Proces za prenos

podataka

Upravljacki proces

21

ServerKlijent

62012

Aktivno otvoren port

(1)

Server je izvršio pasivno otvaranje dobro-poznatog porta 21 i čeka na

klijenta.

(2)

Klijent koristi dinamički prort i inicira aktivno otvaranje konekcije sa

serverom.

Page 35: TCP/IP -   Aplikacioni sloj

TCP/IP

(3)Server izvršava aktivno otvaranje

konekcije sa klijentom koristeći dobro-poznati port 20 za sebe i

primljeni dinamički broj porta za klijenta.

Kreiranje konekcije za prenos podataka

Proces za prenos

podataka

Upravljacki proces

Proces za prenos

podataka

Upravljacki proces

21

ServerKlijent

62012

63000

Pasivnootvoren port

Proces za prenos

podataka

Upravljacki proces

Proces za prenos

podataka

Upravljacki proces

21

ServerKlijent

62012

63000

Pasivnootvoren port

PORT 63000

Proces za prenos

podataka

Upravljacki proces

Proces za prenos

podataka

Upravljacki proces

21

ServerKlijent

62012

63000 20Aktivno

otvoren port

(1)Klijent, a ne server, izvršava pasivno

otvaranje dinamičkog porta.

(2)Klijent šalje broj dinamičkog porta

serveru, korišćenjem komande PORT (prenosi se preko upravljačke konekcije)

Page 36: TCP/IP -   Aplikacioni sloj

TCP/IP

Komunikacija preko upravljačke konekcije

Upravljački proces

Upravljački proces

NVT ASCII

Upravljačka konekcija

Klijent Server

Komunikacija se stvaruje putem komandi i odziva kodiranih u NVT skupom karatkera.

Page 37: TCP/IP -   Aplikacioni sloj

TCP/IP

Komunikacija preko konekcije za podatke

Proces za prenos

podataka

Proces za prenos

podatakaKonekcija za prenos podataka

Klijent Server

Lokalni tipovi podataka i strukture

Lokalni tipovi podataka i strukture

Klijent definiše: tip fajla, struktura podataka i

način prenosa.

Za prenos fajlova.

Prenosu svakog fajla prethodi priprema prenosa preko upravljačke konekcije, kojom se definiše tip, strukutra i način prenosa fajla.

Page 38: TCP/IP -   Aplikacioni sloj

TCP/IP

Komande

Odzivi

Komande

Upravljačka konekcije

Page 39: TCP/IP -   Aplikacioni sloj

TCP/IP

Komande za pristup

Komanda Argument(i) Opis

USER User id Korisničko ime

PASS User password Korisnička lozinka

ACCT Nalog koji se menja Podaci o nalogu

REIN Ponovna inicijalizacija

QUIT Logout (odjavljivanje)

ABOR Poništavanje prethodne komande

Page 40: TCP/IP -   Aplikacioni sloj

TCP/IP

Komande za menadžment fajlovaKoman. Argument(i) Opis

CWD Ime direktorijuma Promena radnog direktorijuma

CDUP Prelazak na roditeljski direktorijum

DELE Ime fajla Brisanje fajla

LIST Ime direktorijuma Listanje poddirektorijuma ili fajlova

NLIST Ime direktorijuma Listanje imena direktorijuma ili fajlova

MKD Ime direktorijuma Kreiranje novog direktorijuma

PWD Prikazivanje imena radnog direktorijuma

RMD Ime direktorijuma Brisanje direktorijuma

RNFR Ime fajla (staro ime fajla) Identifikuje fajla čije se ime menja

RNTO Ime fajla (novo ime fajla) Promena imena fajla

SMNT Ime fajl-sistema Priključivanje fajl-sistema.

Page 41: TCP/IP -   Aplikacioni sloj

TCP/IP

Komande za formatiranje podataka

Komanda Argument(i) Opis

TYPE A (ASCII), E (EBCDIC), I (Image) Definisanje tipa fajla

STRU F (File), R (Record), P (Page) Definisanje strukture fajla

MODE S (Stream), B (Block), C (Compressed) Definisanje načina prenosa

Page 42: TCP/IP -   Aplikacioni sloj

TCP/IP

Komande za definisanje porta

Komanda Argument(i) Opis

PORT 6-cifreni idnetifikator Klijent bira port

PASV Server bira port.

Page 43: TCP/IP -   Aplikacioni sloj

TCP/IP

Komande za prenos fajlovaKom. Argument(i) Opis

RETR Ime fajla(ova) Preuzimanje fajla. Fajl se prenosi sa servera na klijenta.

STOR Ime fajla(ova) Smeštanje fajla. Fajl (ili fajlovi) se prenosi sa klijenta na server

APPE Ime fajla(ova) Slično STOR s tom razlikom da ako fajl postoji, podaci se dodaju fajlu

STOU Ime fajla(ova) Isto kao STOR, s tim da se očekuje da ime fajla bude jedinstveno u direktorijumu. Ako fajl sa datim imenom postoji, postojeći fajl neće biti prebrisan.

ALLO Ime fajla(ova) Rezerviše prostor za smeštanje fajla na serveru.

REST Ime fajla(ova) Pozicionira marker fajla na navedenu poziciju u fajlu.

STAT Ime fajla(ova) Vraća status fajla.

Page 44: TCP/IP -   Aplikacioni sloj

TCP/IP

Ostale komande

Komanda Argument(i) Opis

HELP Traži informacije o serveru.

NOOP Testiranje da li je server ˝živ˝

SITE Komande Za komande specifične za konkretan sajt

SYST Traži informaciju o operativnom sistemu servera

Page 45: TCP/IP -   Aplikacioni sloj

TCP/IP

Odzivi Odziv se sastoji od trocifarskog koda (xyz) i

pratećeg teksta

Page 46: TCP/IP -   Aplikacioni sloj

TCP/IP

Prva cifra odziva Prva cirfra. Prva cifra odziva definiše status kmande. Na

ovoj poziciji može se naći jedna od pet cifara (1-5): 1yz (pozitivan preliminarni odziv). Akcija zahtevana komandom je

startovana. Kada završi akciju, server će poslati još jedan odziv. 2yz (konačni pozitivan odziv). Akcija je završena. Server je spreman

da prihvati sledeću komandu. 3yz (pozitivan među-odziv). Komanda je prihvaćena, ali su

neophodne dodatne informacije. 4yz (prolazni negativan odziv). Akcija nije startovana, jer server

trenutno nije u mogućnosti da je izvrši. Ista komanda može biti poslata kasnije.

5yz (konačni negativni odziv). Komanda nije prihvaćena i ne bi trebalo pokušavati ponovo.

Page 47: TCP/IP -   Aplikacioni sloj

TCP/IP

Druga cirfra odziva Druga cifra. Druga cifra odziva takođe

definiše status komande. Na ovoj poziciji meže se naći jedna od šest cifara (1-6): x0z - odziv se odnosi na sintaksu komande x1z - odziv je informativne prirode x2z - odziv se odnosi na konekciju x3z - odziv se odnosi na autorizaciju korisnika x4z - značenje nije definisano x5z - odziv se odnosi na fajl sistem

Page 48: TCP/IP -   Aplikacioni sloj

TCP/IP

Treća cifra odziva Treća cifra ukazuje na dodatne informacije

Page 49: TCP/IP -   Aplikacioni sloj

TCP/IP

Prenos fajlova - tri operacije1. Fajl se kopira sa serverskog na klijentski računar. Ova

operacija se pod kontrolom komande RETR i zove se preuzimanje fajla.

2. Fajl se kopira sa klijentskog na serverski računar. Ova operacija je pod kontrolom komande STOR i zove se smeštanje fajla.

3. Server šalje klijentu spisak direktorijuma ili imena fajlova. Ova operacija je pod kontrolom komande LIST.

Page 50: TCP/IP -   Aplikacioni sloj

TCP/IP

Primer - listanje sadržaja direktorijuma

Upravljački proces

Upravljački proces

Klijent Server

220 (Servis je spreman)

USER petar

PASS ****

331 (Korisničko ime OK. Lozinka?)

150 (Sledi otvaranje kon. za podatke)

PORT 7777

230 (Login OK)

LIST predavanja/IT

226 (Konekcija za podatke OK)

236 (Zatvaranje kon. za podatke)

QUIT

221 (Zatvaranje servisa)

Spisak fajlova ili direktorijuma

Spisak fajlova ili direktorijuma

PRENOSPODATAKA

Proces za prenos

podataka

Proces za prenos

podataka

Klijent Server

Upravljačka konekcija Konekcija za podatke

Microsoft Word Document

Page 51: TCP/IP -   Aplikacioni sloj

TCP/IP

Elektronska pošta

Elektronska pošta (e-mail) je sigurno jedan od najpopularnijih i najstarijih mrežnih servisa.

Na početku ere Interneta, poruke koje su slate elektronskom poštom bile su kratke i isključivo tekstualne. Danas je elektronska pošta mnogo složenija i omogućava

prenos ne samo teksta, već i audio i video zapisa.

Page 52: TCP/IP -   Aplikacioni sloj

TCP/IP

Arhitektura elektronske pošte

Arhitekturu e-mail sistema istražićemo kroz opis četiri tipična scenarija. Počećemo sa najjednostavnijom, a završiti sa najsloženijom i u isto vreme

najčešćom situacijom

Page 53: TCP/IP -   Aplikacioni sloj

TCP/IP

Prvi scenario

Ana Milan

Sistem

UA UA

Poštanski sandučići

UA - Korisnički agent

Pošiljalac i primalac e-mail-a su korisnici (ili aplikacioni programi) na istom sistemu - dovoljna su dva korisnička agenta

Page 54: TCP/IP -   Aplikacioni sloj

TCP/IP

Drugi scenario

Ana

Sistem(mail server)

UA

MTAklijent Internet

MTAserver

Milan

UA

Sistem(mail server)

Red čekanja

Pošiljalac i primalac e-mail-a su korisnici (ili aplikacioni programi) na dva različita sistema. Potrebna su dva korisnička agenta (UA) i par agenata za prenos

prouka MTA (klijent i server)

MTA - Agent za prenos poruka

Page 55: TCP/IP -   Aplikacioni sloj

TCP/IP

Treći scenario

Ana

Sistem(mail server)

UA

MTAklijent Internet

MTAserver

Milan

UA

Sistem(mail server)

Red čekanja

MTAklijent

LAN

MTAserver

Pošiljalac nije direktno povezan sa svojim sistemom, već preko LAN-a.

Potrebna su dva korisnička agenta i dva para agentata za prenos prouka (klijent i server)

Page 56: TCP/IP -   Aplikacioni sloj

TCP/IP

Četvrti scenario - najčešći

Milan UAMAAklijent

LAN

Ana

Sistem(mail server)

UA

MTAklijent Internet

MTAserver

Sistem(mail server)

MTAklijent

LAN

MTAserver

MAAserver

Kada su i pošiljalac i primalac povezani sa mail serverom preko LAN-a, potrebna su dva korisnička agenta, dva para MTA (klijent i server) i jedan par agentata za preuzimanje

pourka MAA (klijent i server)

MAA - Agent za preuzimanje poruka

Page 57: TCP/IP -   Aplikacioni sloj

TCP/IP

Push vs. pop

MTAklijent

MTAserver

Klijent šalje (push) poruku

MAAklijent

MAAserver

Klijent preuzima (poll) poruku

Page 58: TCP/IP -   Aplikacioni sloj

TCP/IP

Korisnički agent Softverski paket (program kao npr. Microsoft

Outlook) za kompoziciju (kreiranje) poruka, čitanje poruka, odgovaranje na i prosleđivanje poruka. Kreiranje poruka. Čitanje poruka. Odgovaranje na poruku. Prosleđivanje poruka. Mailbox-ovi. Korisnički agent obično kreira dva mailbox-

a: za primljene poruke (inbox) i poslate poruke (outbox).

Page 59: TCP/IP -   Aplikacioni sloj

TCP/IP

Format elektronskog pisma

Tel

oZ

agla

vlje

Ko

vert

a

Koverta

Poruka

Page 60: TCP/IP -   Aplikacioni sloj

TCP/IP

Email adresa

Lokalni deo Ime domena

Adresa poštanskog

sandučeta na mail severu

Ime domena mail servera

@

Page 61: TCP/IP -   Aplikacioni sloj

TCP/IP

MIME

MIME (Multipurpose Internet Mail Extensions – višenamenska proširenja Internet pošte) je dodatni protokol koje omogućava prenos ne-ASCII sadržaja u e-mail poruci.

Page 62: TCP/IP -   Aplikacioni sloj

TCP/IP

MIME - princip

UA

MIME

MTA

UA

MIME

MTA

ne-ASCII kod

7-bitni NVT ASCII

7-bitni NVT ASCII

7-bitni NVT ASCII

ne-ASCII kod

Korisnik Korisnik

Page 63: TCP/IP -   Aplikacioni sloj

TCP/IP

MIME zaglavlja

MIME-Version: 1.1Content-Type: tip/podtipContent-Transfer-Encoding: tip kodiranjaContent-Id: identifikator porukeContent-Description: tekstualni opis netekstualnog sadrzaja

Telo elektronskog pisma

Zaglavlje elektronskog pisma

MIME zaglavlja

Page 64: TCP/IP -   Aplikacioni sloj

TCP/IP

MIME tipovi i podtipovi

Tip Podtip Opis

Text

Plane Neformatirani tekst

Enriched Tekst sa jednostavnim formatiranjem

HTML HTML format

ImageGif Slike u GIF formatu

Jpeg Slike u JPEG formatu

Audio Basic Zvuk

Video Mpeg Film u MPEG formatu

Page 65: TCP/IP -   Aplikacioni sloj

TCP/IP

MIME tipovi i podtipovi

Tip Podtip Opis

ApplicationOcet-stream sekvenca bajtova

Postscript dokument za štampanje u PostScript formatu

Message

Rfc822 MIME RFC 822 poruka

Partial Poruka je podeljena na delove

External-body Poruka se mora preneti nezavisno

Multipart

Mixed Nezavisni delovi definisanom redosledu

Alternative Više poruka različitog formata

Parallel Delovi moraju biti prikazani istovremeno

Digest Svaki deo je jedna kompletna RFC 822 poruka

Page 66: TCP/IP -   Aplikacioni sloj

TCP/IP

Multipart poruka

Content-Type: multipart/alternative; boundary=qwerqcewfqweffqe

--qwerqcewfqweffqeContent-Type: text/enriched;

Happy birthday to youHappy birthday to youHappy birthday dear <bold> Tanja </bold>Happy birthday to you

--qwerqcewfqweffqeContent-Type: message/external-body;access-tipe=”ftp”;site=”music.com”name=”birthday.snd”

Content-type:audio&basicContent-transfer-encoding: base64--qwerqcewfqweffqe--

Za

glavlje

po

ruke

Telo

poruke

Page 67: TCP/IP -   Aplikacioni sloj

TCP/IP

Tip kodiranja (Content-Transfer-Encoding)

Tip Opis

7bit NVT ASCII karakteri i kratke linije

8bit Ne-ASCII karakteri i kratke linije

Binary Jedinstveni ne-ASCII karakteri sa linijama neograničene dužine

Base64 6-bitni blokovi podataka su kodirani 8-bitnim ASCII karakterima

Quated-printable Ne-ASCII karakteri su kodirani parom znak jednakosti i ASCII kod

Page 68: TCP/IP -   Aplikacioni sloj

TCP/IP

Base64 kodiranje

11001100 10000001 00111001

Base64konvertor

110011(51)

001000(8)

000100(4)

111001(57)

01111010 01001001 01000101 00110101

5EIz

Ne-ASCIIpodaci

ASCIIpodaci

Page 69: TCP/IP -   Aplikacioni sloj

TCP/IP

Base64 - tabela kodiranja

Page 70: TCP/IP -   Aplikacioni sloj

TCP/IP

Binarni fajl kodiran šemom Base64

SVNBKjAwKiAgICAgICAgICAqMDAqICAgICAgICAgICowMSo5ODc2NTQzMjEgICAgICAqMTIqODAwNTU1MTIzNCAgICAgKjkxMDYwNyowMTExKlUqMDAyMDAqMTEwMDAwNzc3KjAqVCo+CkdTKlBPKjk4NzY1NDMyMSo4MDA1NTUxMjM0KjkyMDUwMSoyMDMyKjc3MjEqWCowMDIwMDMKU1QqODUwKjAwMDAwMDAwMQpCRUcqMDAqTkUqTVMxMTEyKio5MjA1MDEqKkNPTlRSQUNUIwpSRUYqSVQqODEyODgyNzc2MwpOMSpTVCpNQVZFUklDSyBTWVNURU1TCk4zKjMzMTIgTkVXIEhBTVBTSElSRSBTVFJFRVQKTjQqU0FOIEpPU0UqQ0EqOTQ4MTEKUE8xKjEqMjUqRUEqKipWQypUUDhNTSpDQipUQVBFOE1NClBPMSoyKjMwKkVBKioqVkMqVFAxLzQqQ0IqVEFQRTEvNElOQ0gKUE8xKjMqMTI1KkVBKioqVkMqRFNLMzEvMipDQipESVNLMzUKQ1RUKjMKU0UqMTEqMDAwMDAwMDAxCkdFKjEqNzcyMQpJRUEqMSoxMTAwMDA3NzcK

Page 71: TCP/IP -   Aplikacioni sloj

TCP/IP

Quated-printable kodiranje

00100110&

0100110L

10011101ne-ASCII

001110019

01001011K

Quated-printable

00100110&

0100110L

00111110=

001110019

01001011K

001110019

01000100D

Kombinacija ASCII i ne-ASCII podataka

ASCII podaci

Page 72: TCP/IP -   Aplikacioni sloj

TCP/IP

SMTP - Agent za prenos poruka

Pošiljac

LAN

Mail server Internet Mail server

Primalac

LAN

SMTP SMTP

Page 73: TCP/IP -   Aplikacioni sloj

TCP/IP

SMTP - Komande i odzivi

MTAklijent

MTAserver

Komande

Odzivi

Page 74: TCP/IP -   Aplikacioni sloj

TCP/IP

Format komandi

Ključna_reč : argument(i)

Page 75: TCP/IP -   Aplikacioni sloj

TCP/IP

KomandeKljučna reč Argumenti

HELO Ime hosta pošiljaoca

MAIL FROM Pošiljalac poruke

RCPT TO Primalac poruke

DATA Telo poruke

QUIT

RSET

VRFY Ime primaoca koje treba verifikovati

NOOP

TURN

EXPN Mailing lista koju treba proširiti

HELP Ime komande

SEND FROM Primalac poruke

SMOL FROM Primalac poruke

SMAL FROM Primalac poruke

Page 76: TCP/IP -   Aplikacioni sloj

TCP/IP

Odzivi Odzivi se prenose od servera ka klijentu. Odziv je tro-cifarski

numerički kôd. Posle kôda, u istoj liniji, može da sledi tekstualna informacija.

Značenja prve cifre su: 2yz (konačni pozitivan odziv). Akcija je završena. Server je spreman

da prihvati sledeću komandu. 3yz (pozitivan među-odziv). Komanda je prihvaćena, ali su

neophodne dodatne informacije. 4yz (prolazni negativan odziv). Akcija nije startovana, jer server

trenutno nije u mogućnosti da je izvrši. Ista komanda može biti poslata kasnije.

5yz (permanentni negativan odziv). Komanda nije prihvaćena i ne bi trebalo pokušavati ponovo.

Druga i treća cifra pružaju dodatne informacije o odzivu.

Page 77: TCP/IP -   Aplikacioni sloj

TCP/IP

Faze prenosa poruke Uspostavljanje veze Prenos poruke Raskidanje veze

Page 78: TCP/IP -   Aplikacioni sloj

TCP/IP

Uspostavljanje veze

MTAklijent

MTAserver

220 service is ready

HELO: elfak.ni.ac.yu

250 OK

Page 79: TCP/IP -   Aplikacioni sloj

TCP/IP

Prenos porukeMTAklijent

MTAserver

MAIL FROM: [email protected]

250 OK

RCPT TO: [email protected]

250 OK

DATA

354 start mail input

From: Ana Petrovic

To: Milan Petkovic

Date: 25/10/06

Subject: Pozdrav

Milane,

Obavestavam te da sam primila ...

Puno pozdrava,

Ana

.

250 OK

Ko

vertaZ

ag

lavlje

Te

lo

Microsoft Word Document

Page 80: TCP/IP -   Aplikacioni sloj

TCP/IP

Raskidanje veze

MTAklijent

MTAserver

QUIT

221 Service closed

Page 81: TCP/IP -   Aplikacioni sloj

TCP/IP

POP3 - Agent za preuzimanje poruka

Anapošiljac

LAN

Mail server Internet Mail server

Milanprimalac

LAN

SMTP SMTPPOP3IMAP4

Page 82: TCP/IP -   Aplikacioni sloj

TCP/IP

POP3 - tri faze Autorizacija

Provera prava pristupa korisnika mailbox-u na mail serveru (putem korisničkog imena i lozinke)

Transakcije Korisnik može da pregleda sadžaj mailbox-a i

preuzme poruke Ažuriranje

Brisanje preuzetih mejlova iz mailbox-a

Page 83: TCP/IP -   Aplikacioni sloj

TCP/IP

POP3 - PrimerPOP3server

POP3klijent

USER ana

+OK

PASS *****

+OK

LIST

1 25052 14302.

E-mail 1

Au

toriza

cija

+OK POP3 server je spreman

RETR 1

+OK

DELE 1

+OK

QUIT

E-mail 2

RETR 2

+OK

DELE 2

Tra

nsa

kcijaA

žurira

nje

Microsoft Word Document

Page 84: TCP/IP -   Aplikacioni sloj

TCP/IP

DNS

160.136.4.100www.elfak.ni.ac.yuDNS

DNS (Domain Name System - Sistem imenâ domena) - servis za pronalaženje IP adrese hosta poznatog simboličkog imena

Page 85: TCP/IP -   Aplikacioni sloj

TCP/IP

DNSDNS klijent: zeli da

posalje poruku hostu elfak.ni.ac.yu DNS server

Upit (elfak.ni.ac.yu ?)

Odgovor (160.136.4.23)

DNS baza zapisa

Host: elfak.ni.ac.yuIP: 160.136.4.23

Salje poruku na

160.136.4.23

Page 86: TCP/IP -   Aplikacioni sloj

TCP/IP

Prostor imena domena

edu com gov org au yu

Page 87: TCP/IP -   Aplikacioni sloj

TCP/IP

Imena domena i labele

Koren

yu

ac

ni

elfak

golijat

Labela

golijat.elfak.ni.ac.yu.

elfak.ni.ac.yu.

ni.ac.yu.

ac.yu.

yu.

Ime domena

Page 88: TCP/IP -   Aplikacioni sloj

TCP/IP

FQDN i PQDN FQDN - puno ime domena

golijat.elfak.ni.ac.yu. PQDN - delimično ime domena

golijat golijat.elfak golijat.elfak.ni golijat.elfak.ni.ac.yu

Page 89: TCP/IP -   Aplikacioni sloj

TCP/IP

Domeni

Domen

Domen

Domen

com edu

Domen

Domen

Domen je podstablo prostora imena domena. Ime domena je ime domena čvora na vrhu podstabla

Page 90: TCP/IP -   Aplikacioni sloj

TCP/IP

Podela prostora imena Hijerarhija DNS servera Zona Root server Primarni i sekundarni serveri

Page 91: TCP/IP -   Aplikacioni sloj

TCP/IP

Hijerarhija DNS servera

Page 92: TCP/IP -   Aplikacioni sloj

TCP/IP

Zone i domeni

com

yahoo

Zona

Domen

Zona i domen

Koren

Oblast odgovornosti DNS severa se naziva zonom. Zona se može definisati kao povezani deo stabla.

Page 93: TCP/IP -   Aplikacioni sloj

TCP/IP

Primarni i senkundarni serveri Primarni server je onaj koji na svom hard disku čuva fajl o

zoni za koju je odgovoran. Primarni server kriera održava i ažurira zonski fajl.

Sekundarni server informacije o zoni dobija od nekog drugog servera (primarnog ili sekundarnog). Sekundarni serveri ne kreiraju niti ažuriraju zonske fajlove. Ako je ažuruiranje neophodno, ono se obavlja na primarnom serveru, koji potom sekundarnim serverima šalje ažurnu verziju.

I primarni i seknundarni serveri su odgovorni za zonu koju pokrivaju. Ideja nije da se sekundarni severi postave na niži nivo odgovornosti u odnosu na primarni server, već da se postigne redundantnost tako da u slučaju da jedan server otkaže preostali mogu nastaviti da opslužuju klijente

Page 94: TCP/IP -   Aplikacioni sloj

TCP/IP

Root server

Root (ili vršni) server je server čiju zonu čini čitavo stablo.

Vršni server obično ne čuva bilo kakve informacije o domenima, već delegira svoju odgovornost na druge servere, čuvajući samo reference na

te servere.

Postoji nekoliko vršnih server, distribuiranih po celom svetu, od kojih svaki pokriva celokupan prostor imena domena.

Page 95: TCP/IP -   Aplikacioni sloj

TCP/IP

DNS na Internetu

com gov mil edu org net jp de yu us

philips

semiconductors

yahoo yale

cs eng

ai linda

robot

co ac

bg ni ns

elfak

genericki nacionalni

Page 96: TCP/IP -   Aplikacioni sloj

TCP/IP

Generički domeniOznaka Opis

com komercijalne organizacije

edu obrazovne institucije

gov vladine institucije

int međunarodne organizacije

mil vojne grupacije

net centri za podršku mreži

org neprofitne organizacije

aero avio-kompanije

biz komercijalne organizacije i firme (slično .com)

coop organizacije za kooperativno poslovanje

info informacioni servisi

museum muzeji i druge neprofitne organizacije

name lična imena (pojedinci)

pro profesionalne individualne organizacije

Page 97: TCP/IP -   Aplikacioni sloj

TCP/IP

Razrešavanje imenaProces preslikavanja imena na adrese ili adresa na imena naziva se

razrešavanjem ili rezolucijom (od name-address resolution)

1. Host kome je potrebno preslikavanje, bilo imena na adrese bilo adresa na imena, poziva DNS klijenta koji se naziva razrešivačem.

2. Razrešivač se obraća najbližem DNS serveru za zahtevom za razrešavanje.

3. Ako poseduje traženu informaciju, server vraća odgovor razrešivaču; inače, server upućuje rezrešivač na nekog drugog servera ili se sam obraća drugim serverima.

4. Kada dobije rezultat preslikavanja, razrešivač najpre interpretira odgovor, da bi proverio da li odgovor sadrži traženo razrešavanje ili grešku, i konačno, isporučuje rezultat procesu koji je zahtevao razrešavanje.

Page 98: TCP/IP -   Aplikacioni sloj

TCP/IP

Rekurzivno razrešavanje

Klijent

edu

Root server

com

yahoo.comfhda.edu

1

10

Page 99: TCP/IP -   Aplikacioni sloj

TCP/IP

Iterativno razrešavanje

Klijent

edu

Root server

com

yahoo.comfhda.edu

1

2

3

4

5

6

7

89

10

Page 100: TCP/IP -   Aplikacioni sloj

TCP/IP

KeširanjeServer, svaki put kada primi odgovor na upti poslat drugom serveru, smešta

informacije iz odgovora u svoju keš memoriju, za slučaj da kasnije ponovo bude potrebna.

Problem: Keširana preslikavanja nekog servera potiču iz nekog drugog domena, za koji taj server nije odgovoran, a promena učinjena na udaljenom domenu se neće preneti, sama od sebe u njegovu keš

memoriju

Rešenje: kada odgovara na upit koji se odnosi na domen za koji je nadležan, sever preslikavanju koje vraća pridodaje i vreme života (TTL -

time-to-live ). TTL je vreme u sekundama koje definiše koliko dugo infomacija iz odgovora može boraviti u keš memoriji bilo kog severa koji

dođe u njen posed. Posle tog vremena, preslikavanje se smatra zastarelim, a svaki sledeći upit mora ponovo biti proleđen nadležnom

serveru

Page 101: TCP/IP -   Aplikacioni sloj

TCP/IP

DNS poruke

Zaglavlje

Sekcija za pitanja

Zaglavlje

Sekcija za pitanja

Sekcija za odgovore

Sekcija za nadležnosti

Sekcija za dodatne informacije

Upit Odziv

Page 102: TCP/IP -   Aplikacioni sloj

TCP/IP

Zaglavlje

Identifikacija Markeri

Broj zapisa za pitanjaBroj zapisa za odgovore(sve nule u poruci upita)

Broj zapisa za nadležnosti(sve nule u poruci upita)

Broj dodatnih zapisa(sve nule u poruci upita)

Page 103: TCP/IP -   Aplikacioni sloj

TCP/IP

MarkeriQR AA TC RD RA rCodeOpCode Tri nule

QR - upit/odziv OpCode - tip upita/odziva (0 - standardni, 1 -

inverzni upit/odziv i 2 za zahtev za status servera) AA - autorizovani server TT - odziv je skraćen na 512 bajta RD - klijent zahteva rekurzivno razrešavanje RA - server podržava rekurziju rCode - informacija o grešci

Page 104: TCP/IP -   Aplikacioni sloj

TCP/IP

Tipovi zapisa Zapis za pitanja Zapis za resurse

Page 105: TCP/IP -   Aplikacioni sloj

TCP/IP

Zapis za pitanja

Ime upita

Tip upita Klasa upita

e l f a k 2 n i 2 a c 2 y u 05

Page 106: TCP/IP -   Aplikacioni sloj

TCP/IP

Tipovi upitaTip Mnemonik Opis

1 A IP Adresa

2 NS Server imena. Identifikuje nadležni server zone.

5 CNAME Kanoničko ime. Definiše alternativno ime oficijelnog imena hosta.

6 SOA Označava početak zone. Obično prvi zapis u fajlu zone.

11 WKS Dobro-poznati servis. Definiše mrežni servis kojeg pruža host.

12 PTR Pointer. Koristi se za konverziju IP adrese u ime domena.

13 HINFO Informacije o hostu. Sadrži opis hardvera i operativnog sistema hosta

15 MX Mail izmenjivač (server). Saadrži IP adresu mail servera domena.

28 AAAA Adresa. IPv6 adresa.

252 AXFR Traži se prenos celokupne zone.

255 ANY Traže se svi zapisi.

Page 107: TCP/IP -   Aplikacioni sloj

TCP/IP

Zapisi resursa

Ime domena

Tip domena Klasa domena

Vreme života

Podaci o resursu

Dužina polja za podat

Page 108: TCP/IP -   Aplikacioni sloj

TCP/IP

Primer

0x1333 0x0100

1 0

0 0

5 ‘e’ ‘l’ ‘f’

‘a’ ‘k’ 2 ‘n’

‘i’ 2 ‘a’ ‘c’

2 ‘y’ ‘u’ 0

1 1

0x1333 0x8180

1 1

0 0

5 ‘e’ ‘l’ ‘f’

‘a’ ‘k’ 2 ‘n’

‘i’ 2 ‘a’ ‘c’

2 ‘y’ ‘u’ 0

1 1 0xC0

0xC0 1nastavaku sl. lin.

1200nastavaku sl. lin.

4 153

18 8 105

Upit Odziv