480 likes | 571 Views
William Stallings Data and Computer Communications. Curs 12 Chapter 19 Aplicatii distribuite. Gestionarea retelelor- SNMP. SNMP (Simple Network Management Protocol) Retelele devin indispensabile Cresterea complexitatii duce si la cresterea erorilor de functionare
E N D
William StallingsData and Computer Communications Curs 12 Chapter 19 Aplicatii distribuite
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)
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
Elemente cheie • Statii pentru management • Agentul • Baza de informatii pentru gestionare (MIB - Management Information Base) • Protocol pentru gestionarea retelei
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
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
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)
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
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
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
SNMP v1 • August 1988 apar specificatiile SNMP • Statii individuale pentru management, bridge-uri, routere, statii, agenti • Functionalitate limitata • Lipsa securitatii • SNMP v2 1993, revizuit in 1996 • RFC 1901-1908
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
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
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
Modul de operare al protocolului • Schimbul de mesaje • Header pentru securitate in mesaje • Sapte tipuri de PDU (Protocol Data Unit)
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
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
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
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
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)
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
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
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
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
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
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
Fazele operatiilor • Stabilirea conexiunii • Schimbul de perechi de comenzi-raspunsuri • Terminarea conexiunii
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
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 (.)
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
Exemplu de mesaj Date:Tue, 16 Jan 1996 10:37:17 (EST) From: “William Stallings” <ws@host.com> Subject:The syntax of RFC 822 To: Smith@otherhost.com Cc: Jones@Yet-another_host.com Aici se pune continutul mesajului delimitat de header si de o linie libera
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
Cuvine cheie • Cache • Client • Connection • Entity • Gateway • Message • Origin server • Proxy • Resource • Server • Tunnel • User agent
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
Campurile antetului general (General Header) • Cache control • Connection • Data • Forwarded • Keep alive • MIME version • Pragma • Upgrade
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
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
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
Campurile headerului de raspuns • Location – locarea • Proxy authentication – autentificare cu proxy • Public • Retry after – reincercare mai tarziu • Server • WWW-Authenticate
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 Campurile antetului entitate
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