Sunteți pe pagina 1din 38

Retele de calculatoare

Retele de calculatoare
Nivelul aplicatie – I
Sabin-Corneliu Buraga
busaco@infoiasi.ro
http://www.infoiasi.ro/~busaco

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [1]


Retele de calculatoare

Cuprins
• Protocoale la nivelul aplicatie
–Proiectare
–Accesul la terminal de la distanta
–Posta electronica
• SMTP (Simple Mail Transfer Protocol)
• POP (Post Office Protocol)

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [2]


Retele de calculatoare

Preliminarii
• Nivelul aplicatie pune la dispozitie o serie de
servicii Internet standard:
– Terminal la distanta (TELNET, SSH,…)
– Posta electronica (SMTP, IMAP, POP,…)
– Transferul de fisiere (TFTP, FTP si altele)
– Accesul la grupurile de stiri (NNTP)
– World-Wide Web (HTTP)
– Conversatii instantanee (IRC, ICQ, Jabber,…)
• Ofera si protocoale pentru rezolvarea unor
sarcini de sistem – /etc/services, /etc/protocols
– Sistemul de fisiere in retea (NFS)
– Conectivitate cu alte sisteme de fisiere (SMB)
– Servicii de baze de date (MySQL, PostgreSQL,...)
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [3]
Retele de calculatoare

Proiectare
• Tipuri de protocoale de comunicatie folosite
– Fluxuri de caractere generate de utilizator
• Folosite pentru aplicatii interactive la distanta
(telnet, rlogin,…)
• Traficul este in mare masura compus din date
neinterpretate
• Se pot include secvente de control (i.e. controlul
terminalului, coduri de culoare) – coduri ANSI
– Mesaje intrebare/raspuns ASCII
• Serverul si clientul vehiculeaza siruri de caractere
care pot fi citite si de utilizatori umani (SMTP, FTP,…)
• Uzual, sunt compuse din linii de text
• Caracterele neafisabile (extinse) pot fi convertite
in cod ASCII standard (7 biti)
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [4]
Retele de calculatoare

Proiectare
• Tipuri de protocoale de comunicatie folosite
(continuare)
– Protocoale binare
• Utilizate pentru protocoale de nivel inferior
(TCP/IP, SNMP – Simple Network Management Protocol)
sau de nivel inalt (NFS peste RPC)
• Apar probleme la reprezentarea datelor
(i.e. ordinea octetilor)
– Protocoale ad-hoc folosite de aplicatiile
(nestandard) scrise de utilizatori
• Pot adopta unele dintre tipurile anterioare

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [5]


Retele de calculatoare

Proiectare
• Cerinte referitoare la proiectarea unui protocol
– Parametri critici: lungimea numelui comenzilor,
marimea buffer-elor, modul de adresare
– Definirea operatiilor permise
(e.g., creare, citire, scriere, stergere, actualizare)
– Raportarea erorilor: coduri de eroare, mesaje, altfel
– Formatul mesajelor: sursa, destinatie, parametri,
codificarea datelor, lungime fixa/variabila,…
• Scenariul uzual
– Serverul – citeste coduri de operatii (opcode-uri) si
raporteaza starea folosind coduri de eroare
– Clientul – construieste mesaje folosind
opcode-urile permise
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [6]
Retele de calculatoare

Proiectare
• Moduri de adresare (distribuita)
– Proces executat pe o singura masina:
adresa (fizica/logica) a masinii: thor.infoiasi.ro
– Procese executate pe masini diferite:
• Adrese formate din 2 parti (proces, masina)
thor.infoiasi.ro:80, proces@thor.infoiasi.ro
– Avantaj: nu necesita coordonare centralizata
– Dezavantaj: adresele trebuie codate hard in programe
• Adrese ca nr. generate aleatoriu (universal ID)
– Avantaj: nu necesita control centralizat
– Dezavantaj: fiecare ID trebuie difuzat tuturor
• Stocarea numelui procesului in interfata de retea
– Avantaj: nivelul de date poate procesa adresele
– Dezavantaj: necesita hardware special
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [7]
Retele de calculatoare

Proiectare
• Problema sigurantei comunicarii (reliability)
– Reteaua poate pierde mesajele
– Abordari:
• Posta clasica (post-office)
– nu asteapta nici un fel de confirmari
• Handshaking – toate mesaje sint confirmate
• Cerere/raspuns (request/reply) – expeditorul
asteapta (un timp) venirea raspunsului
• Raspuns confirmat (acknowledged reply)
– se asteapta un raspuns, iar expeditorul
raspunsului asteapta confirmarea primirii lui

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [8]


Retele de calculatoare

Proiectare
• Problema sigurantei comunicarii (reliability)
– Raspuns confirmat (acknowledged reply)
• Se foloseste un automat similar celui TCP

Diagrama de stari
ale protocolului
request-reply-acknowledge
pe partea client
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [9]
Retele de calculatoare

Accesul la terminal
• Serviciu “antic” standard Internet
• Folosit prin comenzi precum rlogin, telnet,
ssh (varianta securizata a telnet)
• Utilizeaza modelul client/server:
– Clientul – interactioneaza cu utilizatorul
(via interfata text)
– Serverul – furnizeaza acces la un shell
(i.e. bash)

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [10]


Retele de calculatoare

Accesul la terminal

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [11]


Retele de calculatoare

Accesul la terminal|probleme
• Initializarea & autentificarea
– Cum identificam clientul?
– Cum stim ca serverul este unul oficial?
• Procesarea caracterelor speciale
(inclusiv sfirsitul de linie – EOL)
• Cine proceseaza actiuni precum editarea liniei,
afisarea caracterelor tastate (echoing),
suspendarea terminalului (CTRL+S) etc.?
• Modul de comunicare intre client si server
– Intreruperi din partea utilizatorului
– Controlul dimensiunii ferestrei de afisare
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [12]
Retele de calculatoare

Accesul la terminal|rlogin
• Protocol simplu de acces la distanta
• Utilizat exclusiv intre masini UNIX
• Autentificarea se face prin apelarea la gazde
“de incredere” (“trusted” hosts)
– Nu se solicita parole in cazul in care clientul
utilizeaza porturi < 1024 sau
adresa clientului se gaseste in fisierul .rlogin
• Serverul e responsabil pentru echoing
• Caracterele speciale (0x02, 0x10, 0x12, 0x80)
sunt trimise ca segmente TCP urgente
(se foloseste URG, prin OOB)
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [13]
Retele de calculatoare

Accesul la terminal|telnet
• Protocol complex de acces la distanta
• RFC 854
• Utilizat indiferent de platforma
• Ofera optiuni numeroase pentru compatibilitate
cu terminale vechi (dumb, vt52, vt100,…)
• Poate fi utilizat drept client generic
pentru a se conecta la servicii non-login
• Autentificarea clientilor nu se face de
catre protocol, ci de catre aplicatie (e.g., getty)
• Clientul se poate ocupa de echoing,
editarea liniilor etc. – negociere cu serverul
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [14]
Retele de calculatoare

Accesul la terminal|telnet
• Dialogul se face prin caractere ASCII pe 7 biti
– Final de linie: \r\n (carriage return, new line)
– Carriage return: \r\0
– Aceasta abordare poate fi utilizata
si de finger, ftp, SMTP etc.
• Caractere de control
– Precedate de un octet cu valoarea
255 – IAC (Interpret As Command)
– Exemple: 236 – EOF, 241 – No op, 243 – Break
• Negocierea se face via caractere de control
– Optiuni pentru echoing, editarea liniei,
dimens. ferestrei de afisare, controlul fluxului etc.
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [15]
Retele de calculatoare

Accesul la terminal|implem.
• Pentru conectarea la distanta, fiecare client
va fi deservit de un proces copil al serverului

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [16]


Retele de calculatoare

Accesul la terminal|implem.
• Procesul copil va crea un alt proces care
va conecta clientul la un pseudo-terminal
si va executa shell-ul

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [17]


Retele de calculatoare

E-mail
• Terminologie:
– Agent utilizator (MUA – Mail User Agent)
client (local) pentru posta electronica
pine, mutt, Mozilla Thunderbird, KMail, Outlook, etc.
– Agent de transfer (MTA – Mail Transport Agent)
responsabil cu comunicarea cu gazdele la distanta
si cu trimiterea/receptionarea de posta
(client & server) – sendmail, qmail
– Agent de distributie (MDA – Mail Distribution
Agent) directioneaza mesajele primite
catre casuta postala a utilizatorului – procmail
– Mail exchanger (MX) – gazda responsabila
cu e-mail-urile unui domeniu (masina intermediara)
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [18]
Retele de calculatoare

E-mail
• Protocoale (bazate pe TCP):
– SMTP (Simple Mail Transfer Protocol)
RFC 821
– POP (Post Office Protocol)
RFC 1939
– POP3S – varianta securizata a POP3

• Vezi si RFC 822, 1521, 1522

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [19]


Retele de calculatoare

E-mail
• Caracteristici:
– Distinctia dintre plic si continut
– Plicul incapsuleaza mesajul, contine date necesare
pentru transportul mesajului:
destinatar, adresa, prioritate, securitate,…
– Plicul este folosit pentru dirijarea mesajului
la destinatar
– Mesajul din plic contine un antet (date de control
pentru MUA) si un corp (date pentru utilizator)
– Fiecare utilizator este identificat printr-o adresa
de e-mail: cutie_postala@locatie
(cont@adresaInternet)
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [20]
Retele de calculatoare

E-mail|SMTP
• Utilizat in schimbul de mesaje de posta
intre serverele de mail (MTA-uri)

MTA SMTP SMTP


MTA MTA
MTA MTA
MTA

Sistem
Sistem
de
defisiere
fisiere

MUA
MUA MUA
MUA

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [21]


Retele de calculatoare

E-mail|SMTP
• Expeditorul SMTP ≡ client
• Destinatarul SMTP ≡ server
• Dialogul:
– Clientul trimite comenzi SMTP,
iar serverul raspunde cu coduri de stare
– Ordinea comenzilor este importanta
– Mesajele de stare includ coduri numerice NNN
si texte explicative
• Se utilizeaza portul 25
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [22]
Retele de calculatoare

E-mail|SMTP
• Comenzi uzuale:
– HELO / EHLO identifica gazda expeditoare
– MAIL FROM: porneste o tranzactie si
identifica originea e-mail-ului
– RCPT TO: identifica recipientii individuali
ai mesajului (adrese de e-mail);
pot exista comenzi RCPT TO: multiple
– DATA desemneaza o serie de linii text terminate
cu \r\n, ultima linie continind doar ‘.’
• Mesajul trebuie sa contina doar text ASCII
pe 7 biti (uuencode, uudecode)
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [23]
Retele de calculatoare

E-mail|SMTP
(infoiasi)$ telnet fenrir.infoiasi.ro 25
Trying 193.231.30.197...
Connected to fenrir.info.uaic.ro.
Escape character is '^]'.
220 fenrir ESMTP Sendmail 8.9.3/8.9.3; Tue, 08 Nov 2006
19:33:07 +0200
HELO thor.infoiasi.ro
250 fenrir Hello busaco@thor [193.231.30.225], pleased to
meet you
MAIL FROM: tux@undeva.ro
250 tux@undeva.ro... Sender ok
RCPT TO: asii
250 asii... Recipient ok
Adresa
DATA fictiva!
354 Enter mail, end with "." on a line by itself
Salut, este un mesaj de test!
.
250 VAA07541 Message accepted for delivery
• Exemplu
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [24]
Retele de calculatoare

E-mail|SMTP
• Alte comenzi:
– VRFY verifica validitatea unui recipient
– EXPN expandeaza un grup de adrese (alias)
– TURN interchimba destinatarul cu expeditorul
– RSET abandoneaza tranzactia curenta
• Fiecare mesaj va fi prefixat de o serie de antete
(create de MUA sau adaugate de MTA)
• Fiecare MTA adauga cel putin un cimp de antet
“Received”
• Unele cimpuri din antet pot fi analizate de MTA
intermediari, dar continutul mesajului este ignorat
• Pentru masini neconectate la Internet,
pentru transfer se folosesc porti de e-mail
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [25]
Retele de calculatoare

E-mail|SMTP
• Cimpuri de antet utilizate in transportul de e-mail-uri

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [26]


Retele de calculatoare

E-mail|SMTP
• Alte cimpuri de antet

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [27]


Retele de calculatoare

E-mail|SMTP
• MIME
(Multipurpose Internet Mail Extensions)
– RFC 1521, 1522
– Standard de codificare a
continutului mesajelor non-ASCII
• Limbi cu accente, cu alfabete non-latine,
fara alfabet, mesaje non-textuale
– Permite atasarea la e-mail
a fisierelor de orice tip
– Se foloseste cimpul
Content-Type: tip/subtip
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [28]
Retele de calculatoare

E-mail|SMTP
• Tipuri MIME principale:
– application defineste aplicatiile client
(application/executable)
– text defineste formatele text
(text/plain, text/html)
– image specifica formatele grafice
(image/gif, image/jpeg)
– audio specifica formatele audio (audio/basic)
– video specifica formatele video (video/mpeg)
– multipart utilizat pentru trans. datelor compuse
(multipart/mixed, multipart/alternative)
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [29]
Retele de calculatoare

From marcin@cs.okstate.edu Thu Mar 13 05:44:56 2003


Return-Path: <marcin@cs.okstate.edu>
Received: from infoiasi.ro (IDENT:root@fenrir [193.231.30.197])
by thor.info.uaic.ro (8.11.6/8.11.6) with ESMTP id h2D3iuw26685
for <busaco@thor.info.uaic.ro>; Thu, 13 Mar 2003 05:44:56 +0200
Received: from a.cs.okstate.edu (a.cs.okstate.edu [139.78.113.1])
by infoiasi.ro (8.11.6/8.11.6) with ESMTP id h2D3iwt16306
for <busaco@infoiasi.ro>; Thu, 13 Mar 2003 05:44:59 +0200
Received: from barszcz (ras18.osu-com.okstate.edu [139.78.239.53])
by a.cs.okstate.edu (Postfix) with SMTP id 390B626F99
for <busaco@infoiasi.ro>; Wed, 12 Mar 2003 21:44:52 -0600 (CST)
From: "Marcin Paprzycki" <marcin@cs.okstate.edu>
To: "Sabin-Corneliu Buraga" <busaco@infoiasi.ro>
Subject: RE: ISPDC 2003 - updated site
Date: Wed, 12 Mar 2003 21:44:43 -0600
Message-ID:
<DAEOLDFGMJNALPKDGDGDGEPDEBAA.marcin@cs.okstate.edu>
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [30]
Retele de calculatoare
MIME-Version: 1.0
Content-Type: text/plain; Anteturi nestandard
charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0)
In-Reply-To: <Pine.LNX.4.44.0302031040400.8851-
100000@thor.info.uaic.ro>
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Status: RO
X-Status: A
X-Keywords:

HI, we are rolling on the ISPDC! So, first, comments on the WWW site …
yours, Marcin
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [31]
Retele de calculatoare

E-mail|POP
• Utilizat la transferul de mesaje
de pe un server de posta la un MUA – portul 110
• Similar cu SMTP, dar necesita autentificare
• Comenzile si raspunsurile sint mesaje ASCII
• Raspunsurile incep cu “+OK” sau “-ERR”

Mail POP3
Mail
Server
Server MUA
MUA
Sistem
Sistem
de
defisiere
fisiere

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [32]


Retele de calculatoare

E-mail|POP
• Comenzi uzuale:
– USER specifica numele de cont
– PASS specifica parola
– STAT furnizeaza numarul de mesaje din cutia postala
(mailbox)
– LIST afiseaza lista de mesaje si lungimea, cite 1 pe linie
– RETR preia un mesaj
– DELE marcheaza un mesaj pentru stergere
– RSET reseteaza tranzactia,
iar orice marcaj de stergere este eliminat
– QUIT sterge mesajele marcate si inchide conexiunea
• Alte solutii: IMAP (Interactive Mail Access Protocol),
DMSP (Distributed Mail System Protocol)
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [33]
Retele de calculatoare

E-mail|POP
(infoiasi)$ telnet fenrir 110
Trying 193.231.30.197...
Connected to fenrir (193.231.30.197).
Escape character is '^]'.
+OK POP3 fenrir.infoiasi.ro v7.59 server ready
user asii
+OK User name accepted, password please
pass a/s!II
+OK Mailbox open, 1 messages
stat
+OK 1 412 Parola
list necriptata!
+OK Mailbox scan listing follows
1 412
.
• Exemplu
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [34]
Retele de calculatoare

retr 1
E-mail|POP
+OK 412 octets
Return-Path: <busaco>
Received: (from busaco@localhost)
by fenrir.infoiasi.ro (8.9.3/8.9.3)
id NAA06943 for asii;
Mon, 20 Nov 2006 13:07:33 +0200
Date: Mon, 20 Nov 2006 13:07:33 +0200
From: Sabin Buraga <busaco@fenrir.infoiasi.ro>
Message-Id:
<200611201307.NAA06943@fenrir.infoiasi.ro>
To: asii@fenrir.infoiasi.ro
Status: O

Un alt mesaj de test • Exemplu (cont.)


.
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [35]
Retele de calculatoare

E-mail
• Consultarea cozii de mesaje de e-mail
prin comanda mailq (aici, raportarea erorilor)
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
AA4F5133A5 3435 Fri Nov 3 01:49:58 MAILER-DAEMON
(connect to route22rest.com[64.225.41.38]: server dropped connection
without sending the initial SMTP greeting) Sellerscoincide@route22rest.com
563B5133B5 16030 Fri Nov 3 09:39:58 MAILER-DAEMON
(host mx5.biz.mail.yahoo.com[68.142.202.13] said:
451 VS14-PR Mailbox bounce arrival rate exceeds system limit (#4.2.2) 193.231.30.131
(in reply to RCPT TO command)) newsletter@123greetings.info
5FC08133BC 5281 Fri Nov 3 04:26:13 MAILER-DAEMON
(host mail.bsports.com[85.158.248.46] said:
452 4.2.2 Disk quota exceeded (in reply to RCPT TO command)) de@bsports.com
1F10B133F3 3220 Sat Nov 4 13:05:10 MAILER-DAEMON
(connect to rotto.it[217.220.37.122]: Connection refused) broccoli@rotto.it

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [36]


Retele de calculatoare

Rezumat

• Protocoale la nivelul aplicatie


–Proiectare
–Accesul la terminal de la distanta
–Posta electronica

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [37]


Retele de calculatoare

Intrebari?

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [38]

S-ar putea să vă placă și