Suportul pentru mobilitate la nivel aplicatie Localizare protocoale
Suportul pentru mobilitate la nivel aplicatie Localizare protocoale in stiva TCP/IP Dynamic Host Configuration Protocol Domain Name System Email Session Description Protocol Session Initiation Protocol
Localizare protocoale in stiva TCP/IP • Suita de protocoale TCP/IP – Standardizeaza comunicatia intre calculatoare
• Modele de referinta
• Adrese: – Protocol – Network host – Physical
• Incapsularea – Impartirea datelor in bucati mai mici se numeste segmentare si are doua beneficii: • Segmentation • Multiplexing – Datele sunt incapsulate cu informatiile protocoalelor pe masura ce sunt transmise in jos pe stiva – Forma pe care datele incapsulate o iau la orice nivel se numeste protocol data unit (PDU).
• Incapsularea (continuare) – Procesul este inversat la receptie – Decapsulare (de-encapsulation) – Datele sunt decapsulate pe masura ce sunt urcate pe stiva
• Protocoalele care fac obiectul prezentarii – DHCP – DNS – SMTP, POP 3, IMAP – SDP – SIP
Dynamic Host Configuration Protocol • DHCP • Furnizeaza informatii de adresare IP cum ar fi: adresa IP, masca de subretea, default gateway, adresa IP a serverului de DNS si numele domeniului
• Mesaje – Discover – Offer – Request – Ack(nowledge)
Domain Name System • DNS • Dezvoltat pentru a oferi un mijloc sigur de gestionare si furnizare a numelor de domenii si a adreselor IP asociate acestora
• Constă dintr-o ierarhie globală de servere distribuite care conțin baze de date cu maparile numelor la adresele IP • Clientul trimite o cerere la serverul DNS pentru a primi adresa IP pentru un nume • 90% din softul malitios folosit pentru a ataca retele foloseste DNS pentru a efectua campanii de atac
• Ierarhia de domenii DNS – DNS consta dintr-o ierarhie de generic top level domains (g. TLD) • Care consta din. com, . net, . org, . gov, . edu, si numeroase country-level domains, cum ar fi. uk (United Kingdom)
• Ierarhia de domenii DNS (continuare) – La urmatorul nivel al ierarhiei DNS sunt secondlevel domains • Reprezentate de un nume de domeniu urmat de un toplevel domain
• Ierarhia de domenii DNS (continuare) – Subdomeniile se gasesc la urmatorul nivel a ierarhiei DNS • Reprezinta o diviziune a second-level domain
• Ierarhia de domenii DNS (continuare) – Un al patrulea nivel poate reprezenta un host intrun subdomeniu – Fiecare element al unui domeniu este denumit uneori eticheta (label) – Etichetele se muta din varful ierarhiei in jos din dreapta spre stanga
• Ierarhia de domenii DNS (continuare) – Un punct (“. “) la sfarsitul numelui de domeniu reprezinta root server-ul din varful ierarhiei
• Ierarhia DNS – Structura de nume este impartita in zone mici – Fiecare server DNS mentine o baza de date specufica si este responsabil pentru gestionarea maparilor numela-IP doar pentru acea mica portiune din intreaga structura DNS
• Ierarhia DNS (continuare) – Cand un server DNS primeste o cerere pentru o translatare de nume care nu este in propria zona DNS, serverul inainteaza cererea spre un alt server DNS aflat in zona corespunzatoare pentru translatare
• Procesul de căutare DNS – Resolver – un client DNS care trimite mesaje DNS pentru a obtine informatii despre spatiul numelui de domeniu cerut – Recursion – Acțiunea efectuată atunci când unui server DNS i se cere să interogheze în numele unui resolver DNS – Authoritative Server – Un server DNS care răspunde la mesaje de interogare cu informații stocate în Resource Records (RRs) pentru un spațiu de nume de domeniu stocat pe server
• Procesul de căutare DNS (continuare) – Recursive Resolver – Un server DNS care interogheaza în mod recursiv pentru informațiile solicitate în interogarea DNS – FQDN - Un Fully Qualified Domain Name este numele absolut al unui dispozitiv in baza de date DNS distribuita – RR - Un Resource Record este un format folosit in mesajele DNS care este compus din urmatoarele campuri: NAME, TYPE, CLASS, TTL, RDLENGTH si RDATA. – Zone – O baza de date care contine informatii despre spatiul numelui de domeniu stocat pe un server autoritativ
• Procesul de căutare DNS (continuare) – Când încearcă să rezolve un nume la o adresă IP, un utilizator host, cunoscut în sistem ca un resolver, va verifica mai întâi cache-ul DNS local. – Daca maparea nu este găsită acolo, o interogare va fi emisă spre serverul/serverele DNS care sunt configurate pentru resolver • Aceste servere pot fi prezente la institutie sau la ISP
• Procesul de căutare DNS (continuare) – Dacă maparea nu este găsită acolo, serverul DNS va interoga alte servere DNS de nivel superior care sunt autoritative pentru top-level domain pentru a găsi maparea • Acestea sunt cunoscute ca interogări recursive
• Procesul de căutare DNS (continuare) – Unele servere DNS din ierarhie mențin cache-urile tuturor înregistrărilor DNS pe care le-au rezolvat intr-o perioadă de timp – Aceste servere DNS de cache pot rezolva interogări recursive fără a înainta interogările către servere de nivel superior – Dacă un server necesită date pentru o zonă, acesta va solicita transferul acelor date de la un server autoritativ pentru acea zonă – Procesul de transfer al blocurilor de date DNS între servere este cunoscut ca un transfer de zonă
• Formatul mesajului DNS – DNS foloseste UDP portul 53 pentru interogarile si raspunsurile DNS – Interogarile DNS isi au originea la client si raspunsurile sunt emise de la serverele DNS – Daca un raspuns DNS depaseste 512 bytes, ca in cazul Dynamic DNS (DDNS), TCP portul 53 este folosit pentru a gestiona mesajul
• Formatul mesajului DNS (continuare) – Un singur format numit mesaj
• Formatul mesajului DNS (continuare) – Tipuri de inregistrari DNS: • • A – O adresa IPv 4 a unui dispozitiv final NS - Un authoritative name server AAAA - O adresa IPv 6 a unui dispozitiv final MX - Un mail exchange record
• Dynamic DNS – DDNS – Procesul de creare a unei mapari initiale intre un nume de domeniu si adresa IP poate dura 24 ore sau mai mult – La schimbarea adresei IP mapate la numele domeniului, noua mapare va fi disponibila doar dupa cateva ore
• Dynamic DNS (continuare) – In situatii in care un ISP foloseste DHCP pentru a furniza adrese unui domeniu, este posibil ca adresa care este mapata la domeniu sa expire si o noua adresa sa fie acordata de ISP – Acest lucru ar duce la o întrerupere a conectivității la domeniu prin DNS – O nouă abordare era necesară pentru a permite organizațiilor să facă schimbări rapide la adresa IP mapată la un domeniu
• Dynamic DNS (continuare) – Permite unui utilizator sau unei organizatii sa inregistreze o adresa IP cu un nume de domeniu ca in DNS – Cand adresa IP a maparii se schimba, noua mapare poate fi propagata prin DNS aproape instantaneu – Un utilizator obtine un subdomeniu de la un provider de DDNS – Subdomeniul este mapat la adresa IP a dispozitivului utilizatorului (server, conexiunea router-ului spre Internet …)
• Dynamic DNS (continuare) – Software-ul clientului ruleaza pe router sau pe calculator si detecteaza a schimbare in adresa IP – Cand o schimbare este detectata, provider-ul DDNS este imediat informat despre schimbare si maparea dintre subdomeniu si adresa IP este actualizata imediat
• Dynamic DNS (continuare) – DDNS nu utilizează o intrare DNS adevărată pentru adresa IP a unui utilizator – În schimb, acționează ca intermediar – Domeniul furnizorului DDNS este înregistrat cu DNS, dar subdomeniul este mapat la o adresă IP complet diferită – Serviciul de furnizor DDNS furnizează acea adresă IP serverului DNS de nivel doi al resolverului. – Acest server DNS, fie la nivelul organizației, fie la ISP, furnizează adresa IP DDNS la resolver
Email • Metoda store-and-forward de trimitere, stocare si preluare a mesajelor electronice • Mesajele email sunt stocate in baze de date pe serverele de mail
• Clientii de mail comunica cu serverele de mail pentru a trimite si primi mailuri • Serverele de mail comunica cu alte servere de mail pentru a transporta mesaje dintr-un domeniu in altul • Un client de mail nu comunica direct cu alt client de mail cand trimite un email • Clientii se bazeaza pe serverele de mail pentru a transporta mesajele
• • Simple Mail Transfer Protocol (SMTP) Post Office Protocol version 3 (POP 3) Internet Message Access Protocol (IMAP) Procesul nivelului aplicatie care trimite mail foloseste SMTP • Clientul preia emailurile folosind unul dintre cele doua protocoale de nivel aplicatie: POP 3 sau IMAP
• SMTP – Formatul mesajului necesita un header si un body • Body – orice text • Header – trebuie sa contina o adresa de e-mail a destinatarului si o adresa a expeditorului – Cand un client trimite un email, procesul SMTP al clientului se conecteaza cu procesul SMTP al serverului pe portul 25
• SMTP (continuare) – Clientul incearca sa trimita emailul serverului – Cand serverul primeste mesajul • Fie plaseaza mesajul intr-un cont local, daca destinatarul este local • Fie inainteaza mesajul spre alt server de mail pentru livrare
• SMTP (continuare) – Serverul de email destinatie poate sa nu fie online sau poate fi ocupat (busy) cand mesajele email sunt trimise – Periodic, server-ul verifica coada pentru mesaje si incearca sa le trimita din nou – Daca mesajul nu este livrat dupa un timp de expirare predeterminat, este returnat expeditorului ca nelivrabil
• POP 3 – Folosit de o aplicatie pentru a prelua un mail de la un server de mail – Mailul este descarcat de la server la client si apoi sters de pe server
• POP 3 (continuare) – Serverul porneste serviciul POP 3 ascultand pe TCP port 110 cererile de conectare ale clientilor – Clientul trimite o cerere pentru a stabili o conexiune TCP cu serverul
• POP 3 (continuare) – Cand conexiunea este stabilita, serverul POP 3 trimite un salut – Clientul si serverul POP 3 schimba apoi comenzi si raspunsuri pana cand conexiunea este inchisa sau intrerupta
• IMAP – Alt protocol care descrie o metoda pentru preluarea mesajelor email – Spre deosebire de POP 3, cand utilizatorul se conecteaza la un server IMAP, copii ale mesajelor sunt descarcate la aplicatia clientului
• IMAP (continuare) – Mesajele originale sunt pastrate pe server pana cand sunt sterse manual – Utilizatorii vad copii ale mesajelor in aplicatia client de mail
• IMAP (continuare) – Utilizatorii pot crea o ierarhie de fisiere pe server – Respectiva structura este duplicata pe clientul de mail – Cand utilizatorul sterge un mesaj, serverul sincronizeaza actiunea si sterge mesajul de pe server
Session Description Protocol • SDP • Transmite urmatoarele informatii – Numele si scopul sesiunii – Timpii de inceput si sfarsit pentru sesiune – Tipurile media care cuprind sesiunea (audio, video) – Informatii necesare receptionarii sesiunii (adresa multicast, protocolul de nivel transport, numerele porturilor, schema/schemele de codare)
• Format ASCII, secventa linii de text – <type>=<value> • Type – Fiecare tip de informatie este identificat printrun singur caracter – version, versiunea SDP – origin, originea sesiunii, identifica unic sesiunea (username creator sesiune, identificator sesiune, numar versiune pentru SDP announcement, adresa IP a creatorului sesiunii)
• Type (continuare) – session name – i – session description – u – session URI – e – adresa email de contact in ceea ce priveste sesiunea – c – adresa IP multicast la care datele vor fi transmise – timpii de inceput si sfarsit pentru sesiune – media • <media> <port> <transport> <format>
Session Initiation Protocol • SIP • Bazat pe modelul request/response (cerere/raspuns) • Capabilitati – Localizarea utilizatorului – Disponibilitatea utilizatorului – Capabilitatile utilizatorului – Setarea sesiunii – Managementul sesiunii
• Localizarea utilizatorilor este necesara pentru comunicarea in timp real • SIP proxy – Punct de contact pentru utilizatori – Efectueaza functii in numele utilizatorilor care apeleaza • Fiecare utilizator are un nume in format utilizator@domeniu • SIP URI – SIP: utilizator@domeniu – Identificare utilizator
• Serverele SIP proxy au acces la o baza de date populata cu maparile intre utilizatori si localizarea acestora. Popularea bazei de date poate fi realizata manual sau utilizand capabilitatile registration ale SIP: – Un utilizator se poate inregistra transmitand un mesaj SIP register – Acest mesaj creaza o legatura intre address of record si contact address – Address of record – uzual SIP URI – Contact address – adresa la care utilizatorul poate fi gasit
• Location service – Folosit de un server SIP proxy sau redirect pentru a obtine informatii despre posibilele locatii ale unui utilizator apelat – Mentine o baza de date a maparilor SIP-address/IP-address
• Serverele SIP registrar mentin baza de date cu maparile intre utilizatori si localizarea acestora.
Componente si protocoale SIP
• Procedura de inregistrare permite mobilitatea utilizatorilor • Un utilizator SIP trebuie sa se inregistreze pentru a putea primi apeluri multimedia • Utilizatorul comunica serverului registrar SIP propriu locatia sa prezenta (“location” SIP URI) si identitatea sa publica • Serverul registrar SIP va mentine o tabela cu maparea
• Tabela are doua coloane • Prima coloana contine identitatile publice (Addresses of Record - AORs) exprimate ca “logical” SIP URIs • A doua coloana contine locatiile corespunzatoare (Contact Addresses) exprimate ca “location” SIP URIs. ADDRESS OF RECORD CONTACT ADDRESS sip: bob@biloxy. com sip: bob@210. 2. 2. 17 … …
• Cand un utilizator doreste sa initieze o sesiune cu un alt utilizator, trimite un mesaj SIP (uzual invite) proxy-ului local pentru domeniul propriu • Mesajul transmite mai multe informatii, ca de exemplu: – Tipul (invite), resursa careia i se adreseaza (SIP URI-ul utilizatorului apelat), versiunea protocolului – Continutul mesajului care urmeaza header-ului (uzual mesaj SDP)
• Serverul SIP proxy la care este inregistrat utilizatorul care initiaza apelul – Extrage din mesaj informatia care identifica serverul SIP proxy la care este inregistrat utilizatorul apelat si transmite mesajul acestui server – Transmite utilizatorului care initiaza apelul un mesaj raspuns (trying)
• Serverul SIP proxy la care este inregistrat utilizatorul apelat – Inainteaza mesajul spre dispozitivul (dispozitivele) acestui utilizator. Transmiterea mesajului la mai multe dispozitive se numeste forking – Transmite serverului SIP proxy la care este inregistrat utilizatorul care initiaza apelul un mesaj raspuns (trying)
• Utilizatorul apelat transmite un mesaj raspuns (ringing) • Mesajul este transmis prin intermediul serverelor SIP proxy pana la utilizatorul care a initiat apelul
• Daca utilizatorul apelat accepta comunicatia, acesta va transmite un mesaj (OK) • Mesajul este transmis prin intermediul serverelor SIP proxy pana la utilizatorul care a initiat apelul
• Fiecare utilizator a invatat adresa celuilalt utilizator din schimbul INVITE/200 (OK) • Utilizatorul care a initiat apelul raspunde cu un mesaj (ACK). • Deoarece partile isi cunosc una alteia adresele, mesajul poate fi trimis direct, fara ajutorul serverelor SIP
• Comunicatia poate incepe intre cele doua parti • Serverele SIP proxy nu mai sunt implicate in comunicatie • Comunicatia are loc direct intre cele doua parti, fara ajutorul serverelor SIP proxy
• Partea care doreste sa incheie sesiunea transmite un mesaj celeilalte parti (BYE) • Partea pereche raspunde cu un mesaj (OK)
Exemplu de operare
• • Problema Descrieti procedura de inregistrare a user agent Bob User agent Alice initiaza o sesiune cu user agent Bob avand ca scop o comunicatie multimedia intre parti. La sfarsitul comunicatiei user agent Alice incheie sesiunea. Descrieti operarea retelei.
- Slides: 65