PDA

View Full Version : Multicast,broadcast


Mezzetti0903
24-01-2005, 20:11
Qualcuno mi puo parlare sinteticamente di Multicast e broadcast a livello di "socket"?

Insomma....mi farebbe piacere iniziaste poi vi chiederò qualcosa di specifico...però intanto iniziate perfavore!

Grazie!

Mezzetti0903
25-01-2005, 18:39
uppppppp

cionci
25-01-2005, 19:05
L'argomento è molto vasto...

Prima di tutto la trasmissione multicast avviene solo tramite UDP...slcuni protocolli possono utilizzare connessioni TCP, ma non in multicast...

Ci sono molti protocolli già assodati...come PIM, RTP/RTCP, PGM, PGMCC...sinceramente non ho mai realizzato niente di questo tipo...ma se ti devo dare un indizio: la primitiva setsockopt serve per aggiungersi/togliersi da un gruppo multicast...

Ogni gruppo multicast è identificato da un indirizzo multicast i cui primi 4 bit sono 1110... In realtà un indirizzo mutlicast non è formato dal solo indirizzo del gruppo, ma nei protocolli più moderni è l'unione di <IP sorgente, IP multicast>....


struct ip_mreq ipm;

ipm.imr_multiaddr <--- indirizzo multicast
ipm.imr_interface <--- interfaccia sulla quale si lavora (anche INADDR_ANY)

setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, &ipm, sizeof(ipm));


oppure per togliersi:

setsockopt(s, IPPROTO_IP, IP_DROP_MEMBERSHIP, &ipm, sizeof(ipm));

Dai un'occhiata qui: http://howtos.linux.com/howtos/Multicast-HOWTO.shtml#toc7

Mezzetti0903
25-01-2005, 19:26
Grazie cionci...però a quanto ho capito non può funzionare su internet ...

e per il broadcast??

Insomma, aspetta che arrivo al dunque!
E' possibile mandare un singolo paccetto(o un flusso dati) a più host "su internet" ??

cionci
25-01-2005, 19:29
Originariamente inviato da Mezzetti0903
Grazie cionci...però a quanto ho capito non può funzionare su internet ...

e per il broadcast??

Insomma, aspetta che arrivo al dunque!
E' possibile mandare un singolo paccetto(o un flusso dati) a più host "su internet" ??
Come no...si può si può...

Il broadcast non è altro una connessione multicast da uno a molti...mentre il multicast può essere da molti a molti...

Mezzetti0903
25-01-2005, 19:32
Spettta cionci!!

If you have information (a lot of information, usually) that should be transmitted to various (but usually not all) hosts over an internet, then Multicast is the answer


ok ora me lo divoro tutto! congela la situazione...non fare caso a ciò che ho scritto prima...è il frutto di ricerche precedenti evidentemente mendaci!

:D :D :D :D

Grazie ancora...e abbi pazienza!