UNIVERSITATEA “Transilvania” din Braşov

15
UNIVERSITATEA “Transilvania” din Braşov Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor Specializarea: Automatică şi Informatică Aplicată Aplicaţii Multicast în Automatică Student: Laurian – Mugurel LAMBĂ Îndrumător: Şef lucr. dr. ing.

description

UNIVERSITATEA “Transilvania” din Braşov. Aplicaţii Multicast în Automatică. Facultatea de Inginerie Electric ă şi Ştiinţa Calculatoarelor Specializarea: Automatic ă şi Informatic ă Aplicat ă. Student: Laurian – Mugurel LAMBĂ Îndrumător: Şef lucr. dr. ing. Robert DEMETER. - PowerPoint PPT Presentation

Transcript of UNIVERSITATEA “Transilvania” din Braşov

Page 1: UNIVERSITATEA “Transilvania” din Braşov

UNIVERSITATEA “Transilvania” din Braşov

Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

Specializarea: Automatică şi Informatică Aplicată

Aplicaţii Multicast în Automatică

Student: Laurian – Mugurel LAMBĂÎndrumător: Şef lucr. dr. ing. Robert DEMETER

Page 2: UNIVERSITATEA “Transilvania” din Braşov

Prezentarea de faţă are în vedere descrierea metodei de transmitere a informaţiilor folosind metoda multicast şi aplicabilitatea ei în domeniul automaticii.

Noţiunea de multicast nu este ceva nou, însă implementarea acestei tehnologii abia începe să prindă contur.

Când avem nevoie să transmitem o cantitate mare de informaţii, multicast este cea mai bună soluţie. Deşi, se foloseşte mai mult pentru transmiterea de conţinut multimedia (fluxuri de date audio-video), transmiterea informaţiilor prin metoda multicast se poate folosi cu succes şi în domenii precum automatica, servicii de meteorologie, piața bursieră,etc.

Introducere

Page 3: UNIVERSITATEA “Transilvania” din Braşov

În inginerie, ne confruntăm des cu necesitatea de a livra date, preluate de la automate sau alte dispozitive, către centre specializate în prelucrarea acestora, sau către clienţi ce au nevoie de aceste informaţii.

Folosind multicast pentru realizarea acestor necesităţi, pe lângă faptul că vom putea transmite aceste date selectiv, adică numai acelor receptori care vor le primească, se va evita şi congestionarea reţelei dacă datele sunt foarte mari din punct de vedere cantitativ.

Introducere

Page 4: UNIVERSITATEA “Transilvania” din Braşov

Trimiterea datelor la mai mulţi utilizatori Servicii de acest gen sunt: - Unicasting – transmiterea datelor pe canale separate

pentru fiecare utilizator (legături de tip unu-la-unu) – exemplu: http, ftp, smtp.

- Broadcasting – se transmit aceleaşi date la un grup specific de utilizatori (chiar dacă aceştia vor sau nu să primească datele) – exemplu: televiziunea prin cablu.

- Anycasting – setarea unei conexiuni de comunicare la cea mai apropiată sursa, sau cea mai potrivită.

- Multicasting – procesul de transmitere şi recepţionare a datelor utilizând canalele distribuite.

Distributia Multipunct

Page 5: UNIVERSITATEA “Transilvania” din Braşov

Distributia MultipunctDistribuţia datelor folosind Multicasting

Page 6: UNIVERSITATEA “Transilvania” din Braşov

Există două metode cheie ( algoritmi de rutare) pe care routerele le folosesc pentru a determina unde să trimită pachetele:

- Distance Vector Routing - Link State Routing

Pentru multicast sunt definite mai multe protocoale de rutare a datelor, însă cele mai des folosite, având în vedere că majoritatea reţelelor au la baza IPv4 sunt:

- IGMP (Internet Group Management Protocol) - DVMRP (Distance Vector Multicast Routing Protocol)

Rutarea Datelor Multicast

Page 7: UNIVERSITATEA “Transilvania” din Braşov

Datagramele IP Multicast sunt caracterizare de adresele IP de clasa D:

Adresarea in Multicast

Page 8: UNIVERSITATEA “Transilvania” din Braşov

TTL (Time to Live) – câmp din header-ul IP cu dublă semnificaţie: - controlează timpul de viaţă al datagramelor - are rolul de prag

Adresarea in Multicast

Grupurile Multicast – sunt definite de adresele Multicast la care sunt trimise datele

Page 9: UNIVERSITATEA “Transilvania” din Braşov

Adresarea in MulticastAdresarea grupurilor Multicast

Page 10: UNIVERSITATEA “Transilvania” din Braşov

La baza programării folosind tehnologia Multicast se află Windows Sockets şi protocolul UDP (User Datagram Protocol).

Există două funcţii de bază pentru programarea cu multicast:getsockopt( ) şi setsockopt( ).

Aceste funcţii primesc ca parametri structuri ce definesc adresa multicast a grupului, adresa interfeţei pe care se primesc datele multicast şi parametri ce specifică dacă un client vrea să se aboneze sau vrea să părăsească grupul multicast - IP_ADD_MEMBERSHIP respectiv IP_DROP_MEMBERSHIP.

Programarea Multicast - Aplicatie

Page 11: UNIVERSITATEA “Transilvania” din Braşov

Alte două funcţii importante sunt cele pentru trimiterea şi recepţionarea datagramelor :

sendto( ) //trimitere datagrame

recvfrom( ); //recepţionare datagrame

Ambele funcţii primesc ca parametrii: bufferul de tip string în care se stochează datagramele ce trebuie trimise, mărimea acestui buffer şi adresa de destinaţie.

Programarea Multicast - Aplicatie

Page 12: UNIVERSITATEA “Transilvania” din Braşov

Datele care ce sunt trimise folosind aplicaţia acestei lucrări reprezintă valori sinus calculate pentru o amplitudine dată.

for (i=0;i<50;i++){ sinus_buff[i]=sin((float)i/3.1415)*ampl; }

Aceste date au fost structurate in câmpuri clar definite folosind limbajul XML. <Date>

<Amplitudine> 32.979877

<sinus1> 10.321736 </sinus1>

<sinus2> 19.606400 </sinus2>

<sinus3> 26.921123 </sinus3>

.

.

.

</Amplitudine>

</Date>

Structurarea Pachetelor de Date

Page 13: UNIVERSITATEA “Transilvania” din Braşov

Modul în care am aplicat structurarea datagramelor este următorul:

- valorile sinus generate pentru o anumită amplitudine sunt citite şi stocate într-un fişier, de tip XML, fiecărui câmp, definit de fişierul respectiv, fiindu-i atribuită o valoare din cele citite după cum s-a putut observa anterior.

- datele astfel structurate sunt trimise printr-un mesaj multicast la client care le citeşte, le stochează la rândul lui pe disc, şi decodează apoi structura XML, citind valorile care îl interesează și afişându-le totodată pe ecran.

Structurarea Pachetelor de Date

Page 14: UNIVERSITATEA “Transilvania” din Braşov

Pentru manipularea fişierelor de tip XML în C/C++ a fost nevoie de folosirea unui parser XML (CMarkup) pus la dispoziţie de firma “First Objective Software”.

Urmărind toţi aceşti paşi de transmitere şi recepţionare a datelor, se poate spune multicast îşi poate găsi uşor aplicabilitate într-un laborator în care se lucrează mai ales cu date generate în timp real, o aplicaţie multicast fiind capabilă să preia aceste date şi să le transmită către receptori cu o întârziere minimă.

Una dintre caracteristicile tehnologiei multicast este că ne interesează datagramele doar în momentul în care acestea au fost primite. O dată ce un nou flux de date a fost trimis, anteriorul nu mai prezintă importanţă prea mare.

Structurarea Pachetelor de Date

Page 15: UNIVERSITATEA “Transilvania” din Braşov

Multicast este astfel o tehnologie foarte folositoare în sistemele de comunicaţie a datelor. Cel mai important aspect este acela că datele sunt trimise o singură dată pentru toți clienții și astfel se folosesc mai eficient resursele rețelei.

Un alt aspect este acela că datele sunt ușor de manevrat, chiar și în cantități mari.

Unul dintre dezavantaje este acela ca metoda multicast folosește protocolul UDP care prin construcția sa nu garanteaza livrarea datelor către clienți.

Dezavantajul cel mai mare este că deocamdată nu toate dispozitivele de reţea permit traficul multicast, lucru pentru care aceasta tehnologie nu are o dezvoltare foarte mare în rețelele de comunicație a datelor.

Concluzii