Benvenuto caro Lettore!

UF è un blog di ingegneria informatica pieno di articoli più o menoo tecnici. Iscriviti per rimanere aggiornato all'uscità dei prossimi articoli.

Ad Ad ads ads

Ricerca

23 dic 2011

Tutto quello che devi sapere su VoIP



VoIP è l’acronimo di Voice over IP e può essere definito come l’insieme dei protocolli che rende possibile il trasporto attraverso una rete IP del segnale della voce.
Questo significa per esempio chiamate telefoniche lunga distanza a costo basso o gratuite se si sfrutta una connessione internet di qualità accettabile. In quest’articolo vedremmo in dettaglio che cos’è e come funziona VoIP dopo averne elencati svantaggi e vantaggi.

                   

Vantaggi di VoIP


Basso costo


Le chiamate telefoniche fate via VoIP costano meno anche se di lunga distanza. Possiamo addirittura dire che non costano niente, infatti, basta pensare che le chiamate VoIP abbiano bisogno di una connessione a una rete (internet) che l’utente sta già pagando. I servizi VoIP sono visti come aggiuntivi a quelli che già ne offre una.

Liberta

VoIP rende possibile una maggiore libertà che non c’è con la rete telefonica tradizionale.

Mobilità fisica.

Si può trasportare il suo telefono IP e in qualsiasi luogo lo connettiamo a una rete, possiamo ricevere le telefonate.

Lavoro flessibile

Questo permette quindi ad agenti di call center di lavorare da casa se hanno una buona connessione internet.

Manutenzione inesistente o quasi


Non c’è bisogno di avere sempre il supporto di una compagnia telefonica per sistemare I guasti. Di solito i guasti si riassumono alla perdita del servizio dovuta all’abbassamento della qualità del servizio della rete. In questo caso basterà riavviare il suo impianto VoIP e la sua connessione. 

Integrazione con la rete tradizionale

Esiste anche un’integrazione del VoIP con la rete telefonica tradizione. Il che significa che ora ci può chiamare un PC o un telephono IP sul nostro telephono normale e vice versa.
Questo è un bel vantaggio e significa che ognuno può fare il passaggio al VoIP oppure usare entrambi i servizi senza perdere il contatto con la rete telefonica tradizionale.

Servizi Aggiuntivi

Usando le chiamate telefoniche via VoIP, abbiamo la possibilità di avere servizi aggiuntivi senza costo aggiuntivo: FAX, SMS, Applicazione per i messaggi vocali o video chiamate.
Durante una chiamata, c’è la possibilità di trasmettere altri tipi di dati come video, audio, file.

Risparmio per le aziende

All’interno di un’azienda, si può usare la stessa rete per il trasporto della voce e dei dati.
Infatti, telefonate interni e altre comunicazioni useranno la stessa e sola rete IP.
L’azienda paga una volta e usufruisce di video conferenze, chiamate o video chiamate e trasmissione d’informazioni.

Svantaggi di VoIP


Qualità vocale non perfetta

E’ normale pensare che se si usi la stessa rete IP per le nostre chiamate e per la trasmissione di dati (pagine internet, download e upload di file, streaming di contenuto online), alla fine la qualità della voce non sarà alta visto che le risorse de la rete sono condivise

Banda insufficiente

Sappiamo che l’orecchio ha una certa tolleranza per quanto riguarda pezzi mancanti (perdita pacchetti nella rete) oppure ritardi in un messaggio vocale da capire.
Per avere una qualità di VoIP accettabile, serve una banda di 128 Kbit/sec bidirezionali minimi, e una latenza di 150 ms. 
A volte la nostra connessione internet non celo permette.

 

VoIP in dettaglio



Ora vediamo come funziona VoIP in dettaglio.
La tecnologia converte il segnale della voce in un segnale digitale. 
Questo ultimo può viaggiare compresso in "pacchetti" sulla nostra rete dati, utilizzando un protocollo IP e subendo poi, il processo inverso per riconvertirlo in segnale vocale analogico.



Ci sono due tipi di conversione: ADC (analog to digital converter) per digitalizzare l’analogico e DAC (digital to analog converter) che fa la conversione inversa.

Funzionamento


Ci sono vari modi di usare VoIP.

VOIP via ATA


Prendere un telefono normale e trasformarlo in telefono IP usando ATA (Analog Telephone Adaptator) che premette di connettere un telefono normale a internet occupandosi della conversione da analogico a digitale e vice versa. 

 


VOIP via telefono IP


In questo caso non c’è bisogno di adattatore (ADA).


VOIP connessione diretta


In questo caso la connessione non passa per un Service provider ma va direttamente al destinatario.



L’IP Phone ha un costo, ADA ha un costo e i servizi del VOIP Service Provider hanno un costo. Per usare il VOIP con il computer, ci servono una connessione internet, un software VoIP, delle cuffie e un microfono.
Un elemento importante al funzionamento del VoIP è la Compressione/Decompressione della voce digitalizzata che permette di occupare uno spazio più ridotto durante la trasmissione. Per farlo si usa i CODEC.
Un CODEC è un algoritmo di Compressione/Decompressione che premette di ridurre la banda necessaria per trasmettere il suono.

I protocolli VoIP


Quali protocolli utilizza il VoIP?
Ci sono due principali protocolli che permettono il funzionamento del VOIP e che lavorano in parallelo.
Il primo si occupa del trasporto dei pacchetti di voce digitalizzata. Per questo scopo è usato RTP (Real-Time Transport Protocol).
Il secondo si occupa della “segnalazione” della comunicazione (ricostruzione del frame audio, sincronizzazione, identificazione del chiamante, …)
In questo caso ci sono più protocolli standard tra cui scegliere:

SIP (Session Initiation Protocol) della IETF;
H.323 dell’ITU;
Skinny Client Control Protocol, protocollo proprietario della Cisco;
Megaco (conosciuto anche come H.248);
MGCP;
MiNET, protocollo proprietario della Mitel;

RTP (Real Time Transport Protocol


E' un protocollo usato per il trasferimento dei dati in real time come audio e video. Inoltre permette di incapsulare I pacchetti nello stack TCP/IP.
Questa è la struttura
 

Abbiamo I pacchetti VoIP che sono incapsulati all’interno dei pacchetti RTP che a loro volta sono incapsulati nei pacchetti UDP-IP.
Non si usa TCP, perché sarebbe troppo pesante per applicazioni di tipo Real time, invece si usa UDP che ci va bene perché butta i pacchetti invece di aspettare quelli in ritardo (opzione di lusso in condizione real time).
RTP si occupa dell’ordine del trasporto dei pacchetti in particolare un flusso per sessione.

 
  • Ver. (Version): (2bit) indica la versione del protocollo.
  • P (Padding): (1 bit) indica se è presente un byte di padding alla fine del pacchetto.
  • X (Extension): (1 bit) indica la presenza di un Extension header tra l’header standard e il payload.
  • CC (CSRC Count): (4 bit) contiene il numero di CSRC
  • M (Marker): (1 bit) Usato dal livello applicativo . Se è settato, significa che il pacchetto ha una qualche speciale rilevanza per il livello applicativo.
  • PT (Payload Type): (7 bit) indica il formato del payload .
  • Sequence Number: (16 bit) il sequence number è incrementato di uno per ogni pacchetto RTP inviato e permette al ricevente di identificare perdite di pacchetti e ripristinare l’ordine corretto.
  • Timestamp: (32 bit) utilizzato per permettere al ricevente di riprodurre il media ricevuto nell’intervallo appropriato.
  • SSRC: (32 bit) il synchronization source identifier identifica in modo univoco la fonte dello stream all’interno della sessione RTP.
  •       CSRC: (da 0 a 15, 32 bit ciascuno) gli identificatori contributing source enumerano le fonti di uno stream generato da più fonti. Il numero d’identificatori CSRC è dato dal valore del campo CC

H.323 e SIP


H.323
È un protocollo standard che contiene requisiti per consegnare audio tramite rete e include I codec della voce.
SIP (Session Initiation Protocol)
È un protocollo per organizzare , cambiare e finire una connessione di conversazione (Conferenze multimedia, connessione fra telefoni e connessione fra diverse applicazioni)
Per capire meglio come funzionano H.323 e SIP , leggete i miei prossimi articoli.

Terminiamo quest’articolo precisando che per quelli che non sanno se passare al VoIP, ho una notizia interessante per loro: Il mondo è già passato a VoIP e forse anche voi. Ecco la prova:
Applicazioni che usano VoIP:
Skype, Justvoip …

Fonti e Approfondimenti:
Wikipedia

10 nov 2011

Tutto quello che devi sapere su IPv6


IPV6 è semplicemente la nuova versione dell’IP (internet Protocol) successore della version 4.

E’ un protocollo molto importante della pila OSI. Infatti, si occupa dell’indirizzamento, del routing, della frammentazione e del riassemblaggio dei dati da un host all’altro all’interno di una rete (Internet, Intranet, reti private …). E’ il protocollo più usato per trasmettere qualsiasi tipo d’informazione usando le tecnologie esistenti.

In quest’articolo, analizzeremo in profondità L’IPV6 e faremmo anche delle correlazioni con il suo predecessore IPv4.

Vantaggi dell’IPv6


Ci sono molti cambiamenti in questa nuova versione dell’IP.

Numero di bit dell’indirizzo


Il numero di bit usato per l’indirizzo è passato da 32 bit a 128. Questo significa un maggiore numero d’indirizzi IP il che risolve il problema imminente di esaurimento del numero d’indirizzi IPV4. In sostanza nella versione 4, c’erano 2^32 (circa 4,3 miliardi d’indirizzi). Ora con la nuova versione , abbiamo 2^128 ( circa 340.282.366.920.938.463.463.374.607.431.768.211.45 indirizzi ) cioè un numero talmente grande che non si può pronunciare.

La Frammentazione dei pacchetti. 


Nella versione 4, c’èra la possibilità per i router di frammentare i pacchetti quando erano troppo grandi (superiore alla MTU) per determinate sotto reti. Nella versione attuale i router non lo possono più fare, cosi da alleggerire il loro lavoro.Solo gli Host sono in grado di frammentare e poi assembrare i pacchetti.

BroadCast e Multicast


Il broadcast usato nella versione 4 era molto costoso perche si usava tante risorse per mandare pacchetti a un’intera rete anche quando non era necessario. In questa Versione Il Broadcast non si usa più. Invece abbiamo il Multicast integrato e obbligatorio.

Configurazione StateFull o stateless


Con informazioni sullo stato (ad esempio da un server DHCP), IPv6 configura gli indirizzi di rete. Senza Informazioni IPv6 configura lo stesso automaticamente gli indirizzi aiutandosi con i prefissi annunciati dai router presenti nella rete.

Sicurezza


IPv6 è stato implementato con IPSec come elemento nativo. Qualsiasi rete anche non sicura usando IPv6 come protocollo di trasmissione può essere sicuro dell’integrità la confidenzialità e la provenienza dei pacchetti trasmessi. 

Qualità del servizio


La qualità del servizio qui è gestita meglio con l’apparizione dei nuovi campi nell’IP il Flow Label e Traffic Class. Cosi Si può gestire in modo appropriato ogni tipologia di traffico. 

Estensibilità


L’IPV4 usava il campo Opzione variabile per specificare gli opzioni. Ora con L’IPV6 abbiamo un’intestazione fissa che poi è seguita da una concatenazione d’intestazioni che definiscono e impostano ciascuna un’opzione. Questo rende la dimensione dell’intestazione dell’IPv6 fissa. 

Un'altra vantaggio è la mobilità che garantisce la possibilità di mantenere l'indirizzo IP anche nel caso in cui si cambi l'interfaccia fisica di rete. 

IPV6 in dettaglio


Architettura


ICMPv6


ICMPv6 sostituisce ICMPv4 ed è responsabile di fornire analisi e appuntare errori dovuti all’insuccesso nella ricezione dei pacchetti IPv6.

Neighbor Discovery (ND)


Neighbor Discovery si occupa dell’interazione fra nodi adiacenti e include scambio di messaggi per segnalare indirizzi, scoprire doppi indirizzi, segnalare Router e cambio di direzione. Sostituisce il protocollo (ARP), ICMPv4 Router Discovery, e ICMPv4 Redirect message.

Multicast Listener Discovery (MLD)


Multicast Listener Discovery è una serie di 3 messaggi che sostituisce IGMP (Internet Group Management Protocol) per la gestione dell’appartenenza a una sotto rette Multicast.



Il pacchetto IPV6





Il pacchetto IPv6 è composto dall’intestazione seguito di una serie di Intestazioni da estensione (opzioni) e finalmente il carico utile.


Il Campo Next Header esiste in ogni intestazione e permette quindi di avere una struttura a catena.



Abbiamo sei tipi di intestazione corrispondendo a un opzione (Hop By Hop Option Header, Routing Header Fragment ,  Header,Authentication Header,Encrypted Security Payload Header, Destination Option Header)
architettura indirizzamento



formato indirizzi

L’indirizzo è di 128 bit. Per poterlo scrivere, usiamo 8 gruppi di 4 numeri in base esadecimale separati da “: “.


Concludiamo quest’articolo specificando che per rendere il processo di migrazione progressivo esistono delle tecnologie di compatibilità fra IPv6 e IPv4 fra cui possiamo citare il Dual Stack, il Tunelling e L’Header Translation.

Riferimenti:

Slide del Prof Ciminiera



11 gen 2011

Il Protocollo Alohanet



ALOHA è un protocollo di rete del livello MAC che gestisce l'accesso al mezzo trasmissivo in modalità casuale per connessioni broadcast.
E stato sviluppato negli anni settanta nelle università Hawaii per collegare le facoltà sparse in diverse isole.
In questo articolo,vedremmo come funziona il protocollo Alohanet originale e poi quello Slotted sviluppato in seguito.


Funzionamento di Alohanet

La filosofia del protocollo è il seguente:
-se hai da trasmettere dati,trasmettili e poi ascolta per un eventuale conferma di successo o insuccesso del trasferimento. Dopo un certo tempo di attesa ,se non ricevi una conferma di ricezione dell'informazione che hai trasmesso in precedenza,ritrasmettilo.
-se c'è una collisione (più stazioni trasmettono contemporaneamente),ritrasmetti dopo un tempo casuale.
Si capisce che una stazione trasmette appena ne ha la necessita indipendentemente da falto che un'altra stazione sta già trasmettendo o meno.
Per evitare che una collisione si ripeta più volte, il tempo di attesa prima della ritrasmissione deve essere diverso per ogni stazione coinvolta nella collisione. Per fare questo si usa il metodo di Back-off secondo il quale il tempo di attesa prima della ritrasmissione viene scelto casualmente fra 0 e (K-1)T dove T è il tempo totale di trasmissione dell'informazione e K puo dipendere dal numero di collisione già avvenute.
Ora vediamo com'è stato migliorato alohanet in aloha slotted.

Funzionamento del protocollo Aloha Slotted

Questo protocollo funziona come prima eccetto l'aggiunta di due vincoli:
-il tempo viene diviso in unita discrete chiamate slot.
-ogni stazione ha l'obbligo di trasmettere sollo all'inizio di un slot.
Quindi se una stazione è pronta a trasmettere ,deve comunque aspettare l'inizio di un slot prima di trasmettere.
Il vantaggio è che due stazione possono collidere solo all'interno di slot. Lo svantaggio qui è che il protocollo deve prevedere un meccanismo di sincronizzazione per indicare ad ogni stazione quando possono trasmettere.
Terminiamo l'articolo con un confronto di efficienza. Il protocollo Alohanet originario ha un efficienza di 18,4% e nella versione migliorata Aloha slotted ha un efficienza pari a 36,8%
Grazie per l'attenzione
Riferimenti e approfondimenti:
Articolo Aloha su Wikipedia.

Tutto quello che devi sapere su DQDB


una rete DQDB(Distributed-Queue Dual-Bus) è una rete del livello collegamento ad accesso multiplo che usa un doppio bus e una coda distribuita fornendo acceso alle reti locali o metropolitane.
DBDQ è definito nello standard 802.6 e fornisce fra l'altro servizi di comunicazione a traffico isocrono come la voce per esempio.
In questo articolo vedremmo in dettaglio la topologia di una rete DQDB, come funziona e analizzeremmo la sua trama.

Topologia


DQDB è formato da due code in parallelo che attraversano I nodi. Ogni bus ha un punto di inizio flusso e un punto di fine flusso. DQDB si puo usare con 2 configurazioni :

bus aperto



In questo caso, se c'è guasto fisico di una connessione, la rete viene riconfigurata come due sotto reti diverse.

bus chiuso ad anello



In questo caso I punti di inizio e fine flusso della configurazione precedente sono collegati. In caso di guasto fisico di una connessione ,la rete si riconfigura come una rete a doppio bus aperto

Funzionamento


Il primo bus A è usato per trasmettere I dati e il secondo B per prenotare l'accesso e poter mandare I dati.
Se una trama è occupata nessun altro nodo lo puo usare. Se un nodo vuole trasmettere sul Bus A ,deve prenotare su una trama del BUS B il che notifica agli altro nodi che una prenotazione è stata fatta.
Ogni nodo ha due contatori :
.-RC: Request Counter che tiene traccia del numero di prenotazioni.
-CD: Count Down Tiene traccia del numero di prenotazioni che ci sono prima della trasmissione di un segmento del nodo corrente.
Il Request Conuter incrementa ogni volta che c'è una nuova prenotazione sul Bus B e decrementa ogni volta che una trama vuota esce dal bus A.
Quando un nodo vuole trasmettere deve :
  • mettere il segmento da trasferire nella coda di accesso del bus A;
  • impostare una richiesta di accesso sul bus B;
  • copiare il valore corrente del contatore RC nel contatore CD ;
  • azzerare il contatore RC e ricomincia a contare le richieste di accesso successive;
  • contare le trame libere che transitano sul bus A ed al passaggio di ognuno di questi decrementa il contatore CD. Quando il contatore CD arriva a zero il segmento può essere trasferito;
  • impostare il bit di busy , al passaggio della prima trama, per indicare che è
    stata utilizzata e trasferire il segmento che era in coda.
In riassunto, un nodo deve aspettare I nodi che hanno prenotato la trama prima della sua prenotazione,solo a questo punto potra trasmettere.

Trama DQDB


Ogni trama ha un bit Busy e un insieme di bit Request. L'uno serve a scpecificare se la trama è libera (Busy bit = 0) o se sta trasportando un messaggio (Busy bit = 1) e l'altro serve a prenotare la trama.
Il segmento è suddiviso in due ulteriori campi:
- il segment header contiene le informazioni relative al payload e al tipo di connessione;
- il segment payload è il campo dati, lungo 48 ottetti.
Concludiamo dicendo che la trama di una rete DQDB è molto simile a qualla della cella ATM (ogetto di un articolo che farò fra un po di giorni)
Grazie per l'attenzione.
Riferimenti e Approfondimenti:
Articolo sul DQDB su Wikipedia
Articoli su internet :
Laboratorio nislab della boston university nislab.bu.edu
javvin.com

Tutto quello che devi sapere sulle reti Token Ring


Una rete Token Ring è una rete di livello collegamento che implementa le specifiche descritte nell'802.5 .
Si tratta in particolare i una rete ad anello in cui l'ascesso al canale trasmissivo è determinato dal passaggio di un gettone chiamato Token.
Esseno di livello collegamento ,si capisce che la topologia ad anello della token ring è una topologia logica e quindi fisicamente i terminali non sono per forza organizzati in questo modo.



In questo articolo vedremo come funziona una rete token Ring e analizzeremo il formatto di un messaggio Token Ring(trama).

Funzionamento


    Sistema di manutenzione autonomo

      All'inizializzazione i una rete Token ring,c'è una competizione per determinare quale Terminale della rete giocherà il ruolo di Monitor. Vince chi l'indirizzo Mac più alto. A questo punto, il Monitor avrà come compiti quelli di :
      • ogni 7 secondi monitorare la rete alla ricerca di qualsiasi guasto o perdita del gettone.
      • rigenerare un nuovo gettone in caso di perdita o di gettone orfani (senza mittente).
      • eliminare un terminale se questo qui crea problemi nella rete.
      • ripristinare la rete in caso di guasto generale o globale.

      Sistema di trasmissione di dati


      Un gettone o Token è una trama di bit che puo essere riempito dai terminali della rete. Il gettone della rete Token Ring fa il giro passando da un terminale all'altro. I scenari di funzionamento sono questi:
      1. Se è libero ,un terminale che vuole tramettere deve aspettare il suo arrivo e poi mettere il segnale occupato e riempire la trama del suo messaggio e dell'indirizzo Mac del destinatario.
      2. se il gettone non è libero, il terminale che lo riceve deve :
      • verificare se Mac destinatario è suo. Se è cosi legge il messaggio e manda una conferma al terminale sorgente riempendo la parte acknowledgment della trama. Se il Mac non è suo ,può passare il gettone al suo vicino.
      • prenotare il gettone sul bit apposito della trama se vuole trasmettere.
      1. Se il gettone si libera di nuovo. Le prenotazioni fate in precedenza diventano delle priorità. Chi ha una priorità alta cioè (ha prenotato lui per primo) potra avere accesso al getto al prossimo passaggio.

      E importante notare che il Token funziona in due modi :
      1. Token token quando è libero e gira per la rete.
      2. Token dati quando è riempito o da un messaggio o da una conferma ricezione di messaggio (ACK)

      La trama della rete Token Ring




      La trama del Token Ring è formata da 24 bit. In dettaglio è formata da:
      1. Start Delimiter
      Formato da 8 bit e serve per separare il resto del frame.
        2. Access Control (formato a sua volta dall'Access Control e anche dal Frame Control, dal Destination Address, dal Source Address, dal Data e dal Frame Check Sequence)
      • Il campo Priority Bit rappresenta il bit di priorità usato da una stazione che vuole trasmettere ma che vede che il token è di tipo dati e non di tipo token. A questo punto prenota solo se la priorità che si vuole imporre è maggiore di quella già presente;
      • Il campo Type è usato per sapere se il token è di tipo dati o tipo token;
      • Il campo Monitor è usato dalla stazione monitor per vedere se il frame è orfano (ossia senza mittente e/o destinatario);
      • Il campo Reservation Bit è il bit necessario per trasmettere.
        3. Ending Delimiter (formato a sua volta, oltre che dall'Ending Delimiter, anche dal Frame Status).
      Segue lo schema JK1JK1IE, dove l'Intermediate Bit, indica se è finita la trasmissione della trama o meno, e l'Error Bit indica gli errori nella trama.


      Concludiamo l'articolo con un confronto della Token Ring con Ethernet.
      -Mentre Ethernet ha una rete flessibile in cui la rimossione o l'aggiunta di un Terminale alla rete non crea nessun tipo di problema, in una rete Token Ring ,la rete è rigida e rimuovere o aggiungere un Terminale richiede una nuova inizializzazione della rete.
      -Mentre Ethernet funzionava efficientemente in un scenario di traffico scarso per poca probabilità di collisione ,nel Token Ring un terminale che vuole trasmettere deve comunque aspettare l'arrivo del gettone anche se il canale è libero per scarsità di traffico.
      -In un scenario di traffico intenso in Ethernet la probabilità di collisione aumenta e quindi garantire l'arrivo di un messaggio in un dato tempo non è possibile. Mentre nel Token Ring con l'uso delle prenotazioni e delle priorità , c'è la garanzia di invio di messaggi entro un dato tempo.


      Grazie per l'attenzione.
      Riferimenti e approfondimenti:
      Articolo Token Ring su Wikipedia
      Articoli sul Token Ring nella rete (trovate con Google)
      Appunti di sistemi informatici

        10 gen 2011

        Tutto quello che devi sapere sul routing

        Tutto quello che devi sapere sul routing

        Quando un terminale A manda un pacchetto a un terminale B,questo pacchetto attraverso tanti router nella rete. Come fa ogni router che riceve il pacchetto a determinare qual'è il prossimo router più vicino al terminale B ? Questa domanda pone in modo molto semplice il problema del routing.



        Prima di andare nello specifico,vediamo cosa fa il router. Il router
        Elabora l’indirizzo dei pacchetti IP e determina la subnet in cui si trova l’host
        di destinazione.
        1. se l’host di destinazione si trova in una delle subnets a cui il router `e
          direttamente connesso affida il pacchetto alla subnet per la consegna;
        2. altrimenti determina il router successivo verso cui instradare il pacchetto. L'obbiettivo è di determinare il percorso migliore per ogni terminale possibile.
        Il routing è composto da due elementi:
        1. Un protocollo di routing per costruire la Routing Table. Viene eseguito periodicamente a prescindere dai pacchetti dati.
        2. Un algoritmo di switching, che si applica ad ogni pacchetto in transito.
        Una routing table è una tabella che permette di determinare dove mandare il pacchetto analizzando il suo indirizzo ip di destinazione.

        In questo articolo,vedremmo gli algoritmi di routing con i protocolli che gli implementano.

        Algoritmi di routing


        Distance Vector:


        Questo algoritmo locale e dinamico è un implementazione di BellMan Ford distribuita. Ogni router mantiene una tabella che dice dove mandare un pacchetto diretto verso uno specifico router e quanto costa questo trasferimento. Quindi la tabella da tre informazioni: destinazione,costo e prossima fermata. Per avere queste informazioni su tutte le destinazioni della rete,Ogni router misura la distanza o costo (secondo una metrica che può includere vari fattori) che lo separa dai nodi adiacenti e riceve la stessa informazione dai nodi vicini .Utilizzando l'algoritmo di Bellman-Ford con i suoi dati e quelli dei nodi adiacenti, il router costruisce una tabella che associa ad ogni destinazione conosciuta: la stima della distanza che lo separa dalla destinazione e il primo passo del percorso calcolato.Periodicamente ogni router manda un aggiornamento ai suoi vicini. Un aggiornamento è una lista di coppie (destinazione,distanza) cioè tutta la tabella di routing.

        Il problema con quest'algoritmo resta la formazione di cicli all'interno dei percorsi calcolati. Ci sono varie alternative per evitare la formazione di cicli. Per esempio Split Horizon che segue questa regola:
        Quando mandi un aggiornamento al router A,non specificare le destinazioni che raggiungi tramite A.
        Un altro svantaggio è la propagazione di un informazione errata attraverso la rete nel caso di un malfunzionamento di un router per esempio.


        Link State

        Questo è un algoritmo basato sullo stato dei collegamenti della rete che implementa al suo interno Dijkstra.
        La strategia usata è quella di mandare dei messaggi a tutti i router (non solo i vicini). I messaggi tratta solo di informazioni sui collegamenti diretti(non di tutta la tabella di routing).
        I messaggi sono chiamati Link state Packet e sono composti di un ID (indentifica il nodo che manda il pacchetto),il costo del collegamento a tutti i nodi direttamente connessi a lui,un numero di sequenza e un Time-To-Live (durata di vita del pacchetto).
        Il numero di sequenza serve a sapere se un pacchetto è recente o meno rispetto a pacchetti ricevuti in precedenza.
        Ogni nodo memorizza i pacchetti ricevuti e costruisce una mappa completa e aggiornata della rete: il Link State Database.
        A questo punto ogni router usando l'algoritmo Dijkstra single shortest Path sugli informazioni ottenuti dagli altri nodi calcola il percorso a più basso costo partendo da se stesso.
        Quindi in questo caso la topologia dell'intera rete è conosciuta.
        È possibile costruire la tabella di routing di un nodo memorizzando per ciascuna destinazione il nodo successivo sul cammino a costo minimo.

        Vantaggi e svantaggi

        L'utilizzo di un algoritmo di routing Link State, presenta diversi vantaggi:
        • può gestire reti composte da un gran numero di nodi;
        • converge rapidamente al cammino minimo;
        • difficilmente genera cammini ciclici;
        • è facile da comprendere poiché ogni nodo ha la mappa della rete;
        Il principale svantaggio di un algoritmo Link State è la complessità di realizzazione, anche dovuta alla notevole capacità di memoria ed elaborazione richiesti.
        Ora vediamo i protocolli di routing.


        Protocolli di routing.

        Ci sono 2 grande categorie di routing che hanno a che vedere con l'organizzazione delle reti di internet:Interior Gateway Protocol e Exterior Gateway protocol. Internet è fatta di più sotto reti(AS:autonomous System) connesse fra loro. Interior Gateway Protocol raggruppa l'insieme dei protocolli che si occupa del routing interno a un AS. Exterior Gateway protocol si occupa del routing esterno ad un AS cioè fra due router di bordo .



        Interior Gateway Protocol



        RIP(routing information protocol)



        Il Routing Information Protocol (RIP) è molto usato su reti locali ed aiuta i router ad adattarsi dinamicamente ai cambiamenti dei collegamenti di rete, scambiandosi informazioni riguardo a quali reti possono raggiungere e quanto siano lontane. Il RIP è un'implementazione del Distance Vector che impiega il conteggio dei numeri di passi (hop count) come metrica di routing. Il massimo numero di hop permessi è 15. Ogni router RIP trasmette di default, ogni 30 secondi, la propria tabella completa di routing a tutti i vicini direttamente collegati, generando grandi quantità di traffico di rete. Opzionalmente può utilizzare un meccanismo di ottimizzazione denominato split horizon.
        E da notare che il basso numero di hop impone un limite alla grandezza della rete. D'altra parte, è molto facile da configurare.

        OSPF(open shortest path first)



        Il protocollo Open Shortest Path First(OSPF) è un protocollo, che gestisce le tabelle di routing in una rete con il metodo del Link State. Questo standard è open (aperto) nel senso che è un protocollo non proprietario. Il protocollo utilizza un metodo di instradamento che non si differenzia sostanzialmente dal Link State, ma aggiunge delle altre proprietà:Autenticazione dei messaggi, Bilanciamento del carico,e Aggiunta di un ulteriore grado di gerarchia nei domini.


        Exterior Gateway Protocol



        raggiungibilità di una rete e una serie di attributi relativi al link (o ai link) tra i
        due AS coinvolti:

        Weight (prop. Cisco)

        E’ un attributo locale (interno ad un router).
        Non `e propagato (advertised).
        In caso di multipath, viene preferita la route con maggior weight.
        Local preference

        E’ usato per scegliere la strada di uscita preferita tra due o più router.
        In caso di multi-route, viene preferita la route con maggior peso.
        Multi-exit discriminator (MED) o metric attribute

        MED

        E’ usato per suggerire la strada di ingresso preferita tra due o pi `u router.
        In caso di multi-route, viene preferita la route con minor peso.

        Origin

        E’ usato per classificare il modo in cui BGP ha appreso una route.
        Le route sono divise in:
        IGP - la route e generata da un protocollo IGP ed `e interna all’AS che la
        propaga
        EGP - la route e stata appresa attraverso un protocollo EGP
        Incomplete - la route e di origine sconosciuta o appresa tramite altra via

        La classificazione `e usata per la scelta della tabella di routing, ovviamente
        preferendo le prime alle altre: IGP >EGP >Incomplete

        AS path

        usato per determinare i loop:
        Ogni router traversato viene aggiunto ad una lista ordinata.
        Vengono scartate tutte le routes che contengano loops.

        Next hop

        usato per indicare il next hop (numero IP del router che fa
        l’advertising)

        Community

        E’ usato per raggruppare destinazioni (comunità) per le quali le decisioni di
        routing debbano subire speciali trattamenti.
        Per definire le comunità si usano Route maps.

        Terminiamo l'articolo dicendo che il RIP è un protocollo molto usato ma è spesso sostituito dal OSPF soprattutto per reti molto grandi.

        Grazie per l'attenzione

        Riferimenti e approfondimenti:
        Slide del Professore Peccorella dell'università degli studi di Firenze
        Articoli presi su internet: Wikipedia

        Siamo su Facebook

        Google+