Source specific multicast
# Source specific multicast

Source Specific Multicast (SSM) è un modello per il multicast in Internet definito nell'RFC 4607. Estende il modello di base Any-Source Multicast (ASM) permettendo ad un'applicazione host di specificare da quali sorgenti di un gruppo ricevere e ad esso si sono adattati alcuni dei protocolli standard in Internet per la membership (come IGMP nella versione 3) e per il routing multicast (come PIM-SM). SSM ha queste caratteristiche:

* Le sorgenti del gruppo non sono a conoscenza dei riceventi, inviano semplicemente all'indirizzo multicast di classe D al quale gli host interessati sono in ascolto;
* I riceventi non sanno a quale gruppo appartengono e non si conoscono tra di loro, però possono conoscere le sorgenti;
* I riceventi possono invocare procedure di join (con le quali chiedono di voler iniziare a ricevere) e di leave (con le quali chiedono di smettere di ricevere) dinamicamente e in qualunque momento;
* Non dice nulla di come il servizio multicast è fornito.

Il fatto che sorgenti e riceventi non si conoscano è importante altrimenti se la sorgente dovesse essere a conoscenza di tutti i riceventi si avrebbe il problema dell'ack-implosion, tipico dei modelli source-driven: la sorgente deve tenere traccia dello stato di ricezione e delle eventuali perdite di ogni ricevente diventando un collo di bottiglia per l'intera architettura. Questo svincolo permette quindi il passaggio al modello receiver-driven dove sono le destinazioni che si devono attivare per recuperare le perdite in una maniera cooperativa, simile ai modelli peer-to-peer.

