Copyrigtht © 1996, 1997 Universita' di Firenze. All rights reserved.
Free license available.
In RFC 1577 non c'è uno specifico supporto per il multicasting mentre nel LANE ciò è possibile in quanto la Ethernet è simulata in tutto e per tutto. Per ovviare a questo inconveniente IETF ha prodotto la specifica MARS.
La sigla MARS sta per Multicast Address Resolution Server. Un MARS è un server che può essere considerato analogo all'ATMARP server dell'RFC 1577.
E' chiaro come RFC 1577 possa servire per fare il mapping IP-ATM mentre non è specificato come questo mapping possa essere usato per permettere ad un host di registrarsi, all'interno di una LIS, nel multicast group.
Nel protocollo MARS il multicasting può essere realizzato mediante uno o più multicast server oppure con una sovrapposizione di connessioni punto-multipunto tra gli host del gruppo, ma ai fini della procedura ciò è trasparente agli host. Descriviamo brevemente di seguito quale è la sequenza di operazioni necessarie affinchè un host possa essere coinvolto in un multicast group. Premetto che la base di tutto il discorso è il classico protocollo di multicast IGMP (RFC 1112).
Ogni host che vuole ricevere (NB. in IGMP chi vuole trasmettere non deve registrarsi (MARS_JOIN) ma su ATM comunque deve chiamare il MARS per ottenere il mapping dell'indirizzo di multicast con gli indirizzi ATM) su di un particolare gruppo deve registrarsi sul MARS il quale aggiornerà le sue tabelle interne. Se l'host vuole trasmettere esegue un MARS_REQUEST al MARS e questo gli ritornerà, a seconda che si usi un multicast server oppure una serie di connessioni punto-multipunto, l'indirizzo ATM dei multicast server oppure direttamente l'indirizzi degli host coinvolti. Se non ci sono host registrati in quel gruppo il server ritornerà MARS_NAK viceversa se vi sono "auditori" ritornerà un MARS_MULTI con l'indirizzo dei multicast server oppure direttamente degli host nel caso di sovrapposizione di connessioni punto-multipunto.
Per far funzionare bene il protocollo IGMP insieme al MARS, si introducono dei gruppi riservati su cui tutti gli host di qualsiasi gruppo multicast devono registrarsi (MARS_JOIN) affinché vi si possa scambiare segnalazioni IGMP (in IGMP l'indirizzo riservato è 224.0.0.1). Questi gruppi sono, come è ovvio in ATM, delle connessioni virtuali denominate Server Control VC e Cluster Control VC. La prima interconnette i multicast server, se presenti, la seconda tutti gli host: sono realizzate tra ogni nodo ed il MARS al momento del boot dei singoli host.
Su di esse si scambia ad esempio la segnalazione, destinata ai membri di un gruppo, che un particolare host si è unito a loro (MARS_JOIN) oppure è uscito (MARS_LEAVE).
Un caso a parte sono i cosidetti Multicast Routers (cioè i "classici" routers che operano su legacy LAN ma che hanno una interfaccia sulla rete ATM); essi devono agire come tutta la legacy LAN quindi devono registrarsi ed ascoltare promiscuamente per tutti gli host che sono connessi su qualunque multicast group all'interno della legacy LAN.