title: Distance Vector Multicast Routing Protocol
text: # Distance Vector Multicast Routing Protocol
  
  Il Distance Vector Multicast Routing Protocol (DVMRP) è un protocollo di routing, ovvero un insieme di regole che sovraintende la comunicazione tra router, che permette ad essi di condividere informazioni utili al trasporto di pacchetti IP Multicast nella rete. Definito originariamente nella RFC 1075, assomiglia nel funzionamento al protocollo di routing unicast RIP (Routing Information Protocol), e ne conserva pro e contro, anche se può essere impiegato indipendentemente dall'IGP utilizzato nella rete. In origine esso utilizzava un algoritmo di tipo Truncated Reverse Path Broadcasting (TRPB) per la costruzione dell'albero di distribuzione multicast. Nelle successive implementazioni, esso è stato dotato di un algoritmo più efficiente, detto di Reverse Path Multicasting (RPM), che consente un mantenimento più dinamico dello stesso albero di distribuzione.
  
  Il DVMRP viene inserito nell'intestazione dei datagrammi delle informazioni in transito e definisce il clock di inizio trasmissione, un valore numerico intero progressivamente decrescente in funzione del numero di passaggi attraverso un multicast router. Al raggiungimento del valore zero, il pacchetto si disperde in quanto si suppone già transitato in precedenza e quindi non utile all'instradamento successivo alla macchina di destinazione. Il TTL (time to live) definisce il tempo di vita del pacchetto stesso. La trasmissione tra due multicast router viene resa possibile da un processo di incapsulamento del datagramma multicast in un datagramma "fittizio" di tipo unicast che previene il processo di perdita dei pacchetti a causa del traffico su router che non riconoscono l'indirizzo di classe D specifico dei packet multicast. All'arrivo al multicast router destinatario l'intestazione unicast viene rimossa e il pacchetto viene ad essere distribuito, in copie multiple, tra tutte le macchine del gruppo di ricezione multicast presente nell'area e collegate al multicast router ricevente. Nel datagramma fittizio è presente l'indirizzo dell'unità mittente a cui pervengo messaggi di errore lungo il canale definito tra due multicast router (tunnel).
  
  