William Stallings Data and Computer Communications
Download
Report
Transcript William Stallings Data and Computer Communications
William Stallings
Data and Computer
Communications
Curs 12
Chapter 19
Aplicatii distribuite
1
Gestionarea retelelor- SNMP
SNMP (Simple Network Management Protocol)
Retelele devin indispensabile
Cresterea complexitatii duce si la cresterea
erorilor de functionare
Apare necesitatea uneltelor de gestionare
automata a retelelor
Sunt necesare standarde pentru compatibilitatea
intre producatori, standarde referitoare la
Servicii
Protocoale
Gestionarea informatiilor de baza (Management
information base - MIB)
2
Sisteme de management al
retelelor
O colectie de unelte pentru gestionarea retelelor
Interfata pentru un singur operator
Set de comenzi puternice
Realizeaza majoritatea sau toate taskurile necesare
managementului
Sa necesite o cantitate minima de echipament separat
Sa se foloseasca echipamentul existent
Elementele active ofera feedback
Sa aiba o vedere asupra intregii retele drept o
arhitectura unificata
3
Elemente cheie
Statii pentru management
Agentul
Baza de informatii pentru gestionare (MIB Management Information Base)
Protocol pentru gestionarea retelei
4
Statii pentru management
Sisteme independente sau parti dintr-un sistem partajat
Interfata pentru persoana gare realizeaza gestionarea
retelei
Setul aplicatiilor pentru gestiune
Analiza traficului
Recuperarea dupa erori
Interfata pentru monitorizarea si controlul retelei
Translatarea cererilor de gestiune ale administratorului
in actiuni de monitorizare si control al elementelor
retelei
Baza de date cu informatii de management extrase din
entitatile gestionate
5
Agentul
Statii, bridgeuri, hhuburi, routere echipate cu
programe agent
Trebuie sa permita sa fie gestionate de catre
statia de management
Trebuie sa raspunda la cererile pentru informatii
Sa raspunda la cererile pentru actiuni
Sa ofere in mod asincron informatii nesolicitate
6
Baza de informatii pentru gestiune
MIB - Management Information Base
O reprezentare a resurselor retelei ca si obiecte
Fiecare variabila a unui obiect reprezinta un
aspect al obiectului gestionat
MIB este o colectie de puncte de acces la nivelul
agentului pentru managementul statiilor
Obiecte standardizate (bridge-uri, routere etc)
7
Protocol pentru gestiunea retelelor
O legatura intre statia gestionata si agent
TCP/IP foloseste SNMP
OSI foloseste Common Management
Information Protocol (CMIP)
SNMPv2 (SNMP inbunatatit) se foloseste pentru
OSI si TCP/IP
8
Capabilitatile protocolului
Get – preia valoarea unui obiect la agent
Set – seteaza valoarea unui obiect la agent
Notify – permite unui agent sa notifice statia
gestionata in legatura cu anumite evenimente
semnificative
9
Organizarea managementului
Poate fi centralizat in retelele simple
Poate fi distribuit in retelele mari, complexe
Mai multe servere de management
Fiecare gestioneaza o lista de agenti
Managementul poate fi atribuit managerilor
intermediari
10
Exemplu de configuratie pentru
managementul distribuit
11
SNMP v1
August 1988 apar specificatiile SNMP
Statii individuale pentru management, bridgeuri, routere, statii, agenti
Functionalitate limitata
Lipsa securitatii
SNMP v2 1993, revizuit in 1996
RFC 1901-1908
12
SNMP v2 (1)
Framework pe care se pot implementa aplicatiile
pentru management
De exemplu: managementul erorilor, monitorizarea
performantei
Protocol folosit pentru schimbul informatiilor de
management
Fiecare agent pastraza MIB local
Structura e definita in standard
Macar un sistem este responsabil cu
managementul
13
SNMP v2 (2)
Permite managemenul central sau distribuit
La sistemele distribuite unele elemente opereaza
drept manageri si agenti
Schimburile se fac folosind protocolul SNMP v2
Protocol pentru cereri/raspunsuri
Foloseste de obicei UDP
Nu e necesara o conexiune sigura
Reduce overheadul introdus de operatia de gestionare
14
Configuratia
SNMP v2
15
Structura informatiei de
management
SMI - Structure of Management Information
Defineste un framework general pentru definirea
si constructia MIB
Identifica tipurile de date
Modul in care resursele se reprezinta si se
denumesc
Identifica tipurile de date
Incurajeaza simplitatea si extensibilitatea
16
Modul de operare al protocolului
Schimbul de mesaje
Header pentru securitate in mesaje
Sapte tipuri de PDU (Protocol Data Unit)
17
Formatul PDU la SNMP v2
18
SNMP v3
Problemele de securitate de la SNMP v1/2
RFC 2570-2575
Standard propus in ianuarie 1998
Defineste arhitectura generala si probleme
legate de securitate
Se foloseste impreuna cu SNMP v2
19
Servicii SNMP v3
Autentificarea
Parte a UBS (User-Based Security)
Se asigura ca mesajul:
Vine de la sursa identificata
Nu a fost modificat
Nu a fost intarziat suplimentar sau inlocuit
Confidentialitate
Se cripteaza mesajele folosind DES
Controlul accesului
Se pot configura agentii pentru a oferi un numar de nivele de
acces la MIB
Accesul la infrmatie
Limitarea operatiilor
20
Serviciul de e-mail
Este printre cele mai des folosite aplicatii in
orice retea
Simple Mail Transfer Protocol (SMTP)
TCP/IP
Livreaza mesaje text
Multi-purpose Internet Mail Extension (MIME)
Livreaza alte tipuri de date
Voce, imagini, videoclipuri
21
SMTP
Specificat in RFC 821
Nu este interesat de formatul mesajelor sau datele
continute
Specificat in RFC 822
SMTP foloseste informatii care se scriu si pe plicurile
scrisorilor convetionale
Headerul mesajului
Nu se uita la continutul mesajului
Corpul mesajului
Exceptii
Standardizeaza setul de caractere al mesajului la ASCII pe 7 biti
Adauga informatii de logare la inceputul mesajului
Arata calea pe unde trece mesajul
22
Operatii de baza
Mailiul este creat de un program utilizator (client
de mail)
Mesajul consta din
Header – contine adresa destinatarului si alte informatii
Corpul mesajului – contine datele utilizator
Mesajele de pun intr-o coada si se trimit ca date
de intrare unui program ce trimite date prin
protocolul SMTP
De regula acesta este un proces pe server (daemon
in UNIX)
23
Continutul mesajelor de mail
Fiecare mesaj pus incoada are:
Textul mesajului
Headerul (RFC 822) cu “plicul” mesajului si lista
destinatarilor
Corpul mesajului (scris de utilizator)
Lista destinatarilor
Se deduce de agentul utilizator din header
Poate fi continuta in header
Poate necesita extinderea listei de mail
Poate necesita inlocuirea prescurtarilor prin nume cu adrese
de mail
Daca se indica BCC (BlindCarbonCopy) agentul
utilizator trebuie sa pregateasca formatul corect
al mesajului
24
Procesul care trimite mesaje SMTP
Priea mesajul din coada
Il transmite statiei destinatie
Folosind o tranzactie SMTP
Folosing una sau mai multe conexiuni TCP pe portul
25
Hostul poate mai multe adrese active
Dupa livrare, cel care trimite (sender-ul) sterge
destinatia din lista pentru acel mesaj
Dupa procesarea tuturor destinatiilor se sterge
mesajul
25
Optimizare
Daca mesajul are mai multe adrese destinatie
aflate pe acelasi host, acesta se trimite doar o
data
Livrarea catre toti utilizatorii se face la nivelul
destinatiei
Daca exista mai multe mesaje destinate
aceluiasi host se foloseste o singura conexiune
TCP
Se reduce overheadul datorat stabilirii si terminarii
conexiunii
26
Erori posibile
Host unreachable
Host out of operation
Conexiunea TCP “cade” in timpul transferului
Sender-ul poate repune mailul in coada
Renunta dupa o anumita perioada
Adrese destinatie gresite
Erori utilizator
Utilizatorul destinatie si-a schimbat adresa
Redirectare daca e posibil
Se informeaza utilizatorul daca nu
27
Caracteristicile SMTP
Se foloseste pentru transferul mesajelor folosind
o conexiune TCP
Incearca sa ofere un serviciu fiabil
Nu garanteaza recuperarea mesajelor pierdute
Nu se realizeaza ACK capat la capat
Nu se garanteaza indicarea erorilor de livrare a
mesajului
In genereal e considerat fiabil
28
Receptorul SMTP
Accepta mesajele care sosesc
Plaseaza mesajul in cutia postala a utilizatorului sau in
pune in coada de iesire (pentru forward)
Receptorul trebuie sa:
Verifice adresele destinatie locale
Faca fata erorilor de:
Transmisie
Lipsa de spatiu pentru mesaj
Hostul care trimite mesajul este responsabil de acesta
pana cand seprimeste confirmarea transferului complet
Indica mailurile care sosesc la nivel de hst, nu de utilizator
29
Fluxul SMTP
30
Fazele operatiilor
Stabilirea conexiunii
Schimbul de perechi de comenzi-raspunsuri
Terminarea conexiunii
31
Connection Setup
Expeditorul deschide conexiuni TCP cu destinatarul
Dupa stabilirea conexiunii destinatarul se identifica
220 <domain> service ready
Expeeditorul se identifica
HELO
Destinatarul accepta identificarea expeditorului
250 OK
Daca serviciul de mail nu e disponibil pasul 2 devine
421 serviciu nedisponibil
32
Transferul mailului
Expeditorul poate trimite unul sau mai multe mesaje la
destinatar
Comanda MAIL identifica sursa
Ofera o cale inversa pentru raportarea erorilor
Destinatarul raspunde 250 OK sau cu mesajul de eroare
corespunzator
Una sau mai multe comenzi RCPT identifica destinatarii
mesajului
Raspuns separat delafiecare destinatar
Cu comanda DATA se transmite corpul mesajului
Sfarsitul mesajului este indicat printr-o linie care continedoar
caracterul punct (.)
33
Terminarea conexiunii
Contine 2 pasi
Expeditorul trimite comnda QUIT si asteapta
raspuns
Doar apoi initiaza terminarea conexiunii TCP
Destinatarul intiaza inchiderea conexiunii TCP
dupa ce trmite raspuns la comanda QUIT
34
Exemplu de mesaj
Date:Tue, 16 Jan 1996 10:37:17 (EST)
From: “William Stallings” <[email protected]>
Subject:The syntax of RFC 822
To: [email protected]
Cc: Jones@Yet-another_host.com
Aici se pune continutul mesajului delimitat de
header si de o linie libera
35
Protocolul HTTP
HyperText Transfer Protocol
Protocolul sta la baza WWW (World Wide Web)
Protocolul poate transfera text simplu, hipertext,
informatii audio, imagini.
Protocol client-server
Orientat pe tranzactii
Foloseste conexiuni TCP
Fiecare tranzactie este tratata independent
Pentru fiecare tranzactie se creeaza o noua
conexiune
Se inchide conexiunea cand se termina tranzactia
36
Cuvine cheie
Cache
Client
Connection
Entity
Gateway
Message
Origin server
Proxy
Resource
Server
Tunnel
User agent
37
Exemple de operatii HTTP
38
Sisteme intermediare HTTP
39
Mesaje HTTP
Cereri (Requests)
Client la server
Raspunsuri (Responses)
Server la client
Request line
Response line
General header
Request header
Response header
Entity header
Entity body
40
Structura mesajelor HTTP
41
Campurile antetului general
(General Header)
Cache control
Connection
Data
Forwarded
Keep alive
MIME version
Pragma
Upgrade
42
Metodele HTTP
Linia_cerere = metoda <SP> URL_cerut <SP>
versiunea_HTTP <CRLF>
Metodele HTTP:
Get
Head
Post
Put
Copy
Move
Delete
Link
Unlink
Trace
Options
43
Request Header Field
Accept
Accept charset – setul de caractere acceptat
Accept encoding – codificarea acceptata
Accept language – limba acceptata
Authorization – autorizarea
From
Host
If modified since – data ultimei modificari
Proxy authentication – autentificare proxy
44
Mesaje de raspuns (Response
Messages)
Linia de stare urmata de raspuns sau antete,
eventual corpul entitatii
Linia_stare = versiunea HTTP <SP> Cod_stare
<SP> Reason-Phrase <CRLF>
Coduri de stare:
Informational
Successful – raspuns cu succes
Redirection – redirectare
Client error – eroare la client
Server error – eroare la server
45
Campurile headerului de raspuns
Location – locarea
Proxy authentication – autentificare cu proxy
Public
Retry after – reincercare mai tarziu
Server
WWW-Authenticate
46
Campurile antetului entitate
Allow - permite
Content encoding – codificarea
continutului
Content language – limba
continutului
Content length – lungimea
continutului
Content MD5 – continut MD5
Content range – domeniul
continutului
Content type – tipul
Content version - versiunea
Derived from
Expires
Last modified – data ultimei
modificari
Link
Title
Transfer encoding
URL header – antet URL
Extension header – antet de
extensie
47
Corpul entitatii
O secventa arbitrara de octeti
Protocolul HTTP poate transfera orice tip de date
incluzand:
text
date binare
audio
imagini
video
Interpretarea datelor este determinata de campurile din
antet
Content encoding – codificare continut
Content type – tipul continutului
Transfer encoding – codificarea continutului
Bibliografie: Stallings cap. 19
48