Prezentare_Lamba_Laurianx

Download Report

Transcript Prezentare_Lamba_Laurianx

Slide 1

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


Slide 2







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.


Slide 3





Î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.


Slide 4











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.


Slide 5

Distribuţia datelor folosind Multicasting


Slide 6











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)


Slide 7



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


Slide 8





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

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


Slide 9

Adresarea grupurilor Multicast


Slide 10







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.


Slide 11



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.


Slide 12



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.

32.979877
10.321736
19.606400
26.921123
.
.
.





Slide 13







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.


Slide 14







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.


Slide 15









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.