title: MBus
text: # MBus
  
  Mbus è l'acronimo di Message Bus, un protocollo di comunicazione sviluppato dall'Università di Brema e dall'University College of London. È utilizzato come protocollo di coordinamento tra elementi distribuiti in una rete locale.
  
  ## Caratteristiche generali
  
  È un protocollo message oriented che permette l'invio dati secondo diversi modelli: un messaggio può essere destinato a tutti i nodi della rete, solo a determinate classi di nodi o raggruppamenti di nodi. Supporta alcune funzionalità come
  
  * localizzazione dei nodi
  * indirizzamento IPv4/IPv6
  * cifratura dei messaggi secondo gli algoritmi AES (obbligatorio), DES, Triple DES, IDEA; gli ultimi tre algoritmi sono opzionali
  
  ## Messaggi
  
  La messaggistica base comprende tutti quei comandi che sono indipendenti dalle applicazioni che si appoggiano al protocollo.
  
  * mbus.hello: utilizzato dai nodi per conoscere lo stato degli altri nodi
  * mbus.ping: verifica la raggiungibilità dei nodi in rete; se i nodi sono raggiungibili, rispondono con mbus.hello
  * mbus.bye: quando un nodo si stacca dalla rete, questo messaggio viene trasmesso a tutti gli altri nodi
  * mbus.quit: viene inviato a quei nodi di cui è richiesto il distacco dalla rete
  * mbus.waiting(condition): la periferica è in attesa di un determinato evento
  