Versione 7 del 2016-03-15 11:02:46

Nascondi questo messaggio
Italiano English
Modifica History Actions

TopologyVisualizer

Collettore e visualizzatore topologia di rete

https://raw.githubusercontent.com/interop-dev/django-netjsongraph/master/docs/images/visualizer.png

Da qualche mese è in sperimentazione un nuovo collettore e visualizzatore della topologia di rete che potrebbe rimpiazzare quello attuale.

Al momento è disponibile un istanza di test su ninux-graph.netjson.org

Dettagli tecnici

I vantaggi del nuovo collettore sono i seguenti:

  • supporta 5 formati differenti tra cui NetJSON NetworkGraph

  • i link che vanno giù non vengono cancellati ma contrassegnati come "down"
  • ha un'architettura modulare facilmente estensibile
  • permette l'invio della topologia direttamente dai nodi, evitando l'onere di dover pubblicare la topologia su una URL pubblica
  • permette l'invio della topologia da parte di più nodi, mitigando il problema del singolo punto di guasto
  • può essere incluso in progetti più grandi, ad esempio nodeshot (la nuova versione dell'attuale map.ninux.org)

  • ha un API HTTP che restituisce le informazioni della topologia in formato NetJSON

Per sapere più dettagli tecnici sull'implementazione e sull'architettura, è possibile consultare un post sul blog di nemesis: Network Topology Visualizer: django-netjsongraph.

Visualizzare la topologia della vostra rete

Per visualizzare la topologia di rete potete usare l'istanza di test condivisa o installare autonomamente una vostra istanza.

Se volete usare l'istanza condivisa, potete partecipare alla sperimentazione aggiungendo la vostra topologia, potete effettuare i seguenti step:

  1. chiedete l'accesso come amministratori all'istanza di test inviando un email a contatti [at] ninux [dot] org.
  2. scegliete una tra le due strategie disponibili per la raccolta dei dati (FETCH e RECEIVE) - LEGGETE LA DOCUMENTAZIONE

  3. create una nuova topologia scegliendo la strategia che preferite, inserendo i dati correttamente
  4. se avete bisogno di supporto non esitate a chiedere

Esempio script per RECEIVE strategy

Questo è uno script che invia la topologia OLSR al collettore: push-olsr-data.sh.

BASE_URL="http://ninux-graph.netjson.org"
# put your network topology id here
UUID="<uuid>"
# put your network topology key here
KEY="<key>"
# host where OLSR is running
OLSR_HOST="127.0.0.1"
# port on which OLSR is listening, change it according to your configuration
OLSR_PORT="2006"

COLLECTOR_URL="$BASE_URL/api/receive/$UUID/?key=$KEY"
DATA=$(echo "GET /\n\n" | nc $OLSR_HOST $OLSR_PORT)
curl -s -X POST -d "$DATA" --header "Content-Type: text/plain" "$COLLECTOR_URL"

Lo script è facilmente adattabile anche per altri protocolli di routing.

Installare un istanza del collettore

Al momento non è ancora disponibile una procedura di installazione automatica.

Potete partire leggendo il README del progetto django-netjsongraph.

Se sei pratici di pacchettizzazione su distribuzioni linux potreste aiutarci a fare un pacchetto facile da installare.