Reti e dintorni 7

Embed Size (px)

Citation preview

  • 8/4/2019 Reti e dintorni 7

    1/30

    Reti e dintorniNovem bre/D icembre 2001 N 7

  • 8/4/2019 Reti e dintorni 7

    2/30

    2

    EEEDDDIIITTTOOORRRIIIAAALLLEEE

    Siamo arrivati a Natale e al settimo numero di questo magazine e devoringraziare pubblicamente chi di Voi ha contribuito con propri articoli a non fartrasformare RETI e DINTORNI in una specie di ROBERTO e DINTORNI, espero che anche altri che finora non hanno avuto n il tempo n la voglia dicontribuire, possano farlo prima o poi. Ricordo che lintento fondamentale diquesta rivista lo scambio di informazioni tecniche riguardante il mondo delle retie dei suoi apparati, e infine, il tentativo di creare uno spazio astratto che serva dacoesivo per un nascente spirito di collaborazione tra noi tecnici, sistemisti ecommerciali (il mondo di Utopia sempre desiderabile!). evidente che fra queste tre categorie esistono differenze sostanziali e talvoltaabissali, vediamo se riesco a definirne in qualche modo le competenze (sempreutopistiche ovviamente!):

    1) Commerciali: scopo fondamentale di questa figura trovare nuovi potenzialiclienti e soprattutto mantenere i clienti gi acquisiti.a) Per i nuovi potenziali clienti il commerciale rappresenta limmagine e il

    biglietto di presentazione dellazienda stessa. Per questo motivoprerequisiti base di un commerciale sono:i) Capacit di relazionarsi socialmente e quindi con il cliente.ii) Aspetto sempre ordinato e pulito.iii) Capacit di individuare rapidamente il personaggio che veramente decide.iv) Capacit di individuare in modo preciso e circostanziato le effettive esigenze del

    potenziale cliente.v) Conoscenze tecniche generiche ma globali.vi) Sviluppare, da solo o insieme ai sistemisti, e fornire la soluzione ottimale

    tecnica/economica che possano soddisfare le problematiche del cliente potenziale.(1) Il commerciale deve comunque valutare il rischio dimpatto associato alle tecnologie

    proposte, e ci dipende dalle conoscenze tecniche e di esperienza dei sistemisti e dei tecnicisulla tecnologia proposta.

    vii) Italiano parlato e scritto perfetto.viii)Conoscenza approfondita dellInglese parlato e scritto.

    b) Per mantenere i clienti gi acquisiti, non sufficiente, il commerciale dasolo, ma necessaria la cooperazione, tramite un meccanismo diretroazione continua, con i sistemisti e i tecnici. Per questo motivo altriprerequisiti di un commerciale sono:i) Periodiche e costanti relazioni con il cliente, che servano a far sentire al cliente

    lattenzione che lazienda ha nei suoi confronti, e che di contro, serva al commercialeper verificare e/o scoprire nuove opportunit di vendita.

    ii) Collaborazione costante con il responsabile dei sistemisti e con il responsabile tecnico,e ci essenziale per presentarsi al cliente sempre e comunque come unazienda conunorganizzazione interna efficiente e valida.

    2) Sistemisti: scopo fondamentale di questa figura di coadiuvare il lavoro diprevendita del commerciale, di progettazione e di risoluzione di problemi adalto livello. Prerequisiti base di un sistemista sono:

    i) Approfondita conoscenza tecnica dei protocolli esistenti.ii) Approfondita conoscenza delle metodologie di progettazione e di ingegneria deltraffico dati.iii) Approfondita conoscenza degli apparati commercializzati dallazienda.iv) Capacit di sviluppare e tenere corsi ad alto livello tecnico presso i clienti.v) Capacit di coordinare e coadiuvare i tecnici assegnati allimplementazione di un

    progetto.vi) Capacit di analisi dei problemi di rete, tramite debug di apparato e tramite

    analizzatori di protocollo.

    vii) Capacit di relazionarsi con il cliente, fornendo una solida immagine tecnica diriferimento complementare al commerciale.

    viii)Conoscenza dellInglese parlato e scritto.3) Tecnici: scopo fondamentale di questa figura di installare e configurare gli

    apparati di rete, inoltre deve fornire un primo livello di analisi per larisoluzione dei problemi di rete. Prerequisiti base di un tecnico sono:

    i) Approfondita conoscenza sia Hardware che Software degli apparati commercializzatidallazienda.ii) Buona conoscenza dei protocolli maggiormente utilizzati.

    iii) Capacit di fornire un primo livello di analisi dei problemi di rete.iv) Capacit di sviluppare e tenere corsi su apparati e/o configurazioni specifiche presso i

  • 8/4/2019 Reti e dintorni 7

    3/30

    3

    clienti.

    Il raccordo principale fra commerciali, sistemisti e tecnici, rappresentato dallefigure dei rispettivi responsabili, le quali devono fornire principalmente unafunzione di coordinamento, di sviluppo di un ambiente di lavoro cooperativo emostrare equidistanza ed equilibrio nelle loro scelte. Prerequisiti base di un

    responsabile sono:i) Capacit di coordinamento del lavoro nel modo pi equo possibile.ii) Favorire la cooperazione e lo scambio di informazioni tecnico/pratico e commerciale.iii) Favorire tramite periodici corsi interni e/o esterni ladeguamento tecnico o

    commerciale del personale.iv) Favorire laffiancamento di personale neo-assunto a personale certicato e/o di lunga

    esperienza lavorativa.v) Favorire il turn-over di personale adibito normalmente a presidio fisso presso il

    cliente.

    A livello di dirigenti, oltre a mantenere rapporti ad alto livello con i clienti piimportanti, devono pianificare lo sviluppo a medio e lungo termine dellaziendastessa, e sviluppare politiche di marketing esterno (per costruire unimmagine o unlogo come valore aggiunto dellazienda) e interno (per far sentire i dipendentiimportanti, per il lavoro svolto come e talvolta pi del dovuto).

    La parola base e fondamentale comunque: cooperazione, seguita dalla parolaimpegno e dalla parola aggiornamento.Insistere sulla cooperazione non capzioso, infatti moltissimi studi hannodimostrato che la competizione allinterno dellambiente di lavoro negativo perlazienda nel suo insieme.A livello personale, lambiente competitivo, non favorisce lo scambio diinformazioni e si crea alla lunga un ambiente lavorativo teso e spiacevole. In unasituazione del genere ognuno di noi tende a diventare un mercenario del lavoro,iniziando a vedere il collega come un nemico, che cerca di sottrargli informazioni per diventare pi importante. evidente che lefficienza totale dellazienda, inquesto caso, molto al di sotto delle sue effettive potenzialit.

    Nel caso si formino situazioni non cooperative, le colpe maggiori, sono deidirigenti e dei responsabili, i quali o hanno favorito situazioni fortementecompetitive fra gli stessi colleghi di lavoro, oppure non si rendono conto di ci cheaccade sotto la loro responabilit.In questo caso, penso, che tali dirigenti e responsabili, forse attuando la vecchiafilosofia del dividi e impera, non si rendano conto che questa mentalit antica einefficiente.Dato che nelle aziende non esiste lelezione democratica tramite voto dei propriresponsabili, in casi simili, si deve attendere che un dirigente ad alto livello siacolto da illuminazione, oppure si cambia azienda, sperando di trovare ambientipi favorevoli alla crescita e alla cooperazione.

    R.G.

  • 8/4/2019 Reti e dintorni 7

    4/30

    4

    La sicurezza

    In generale, la sicurezza ha a che fare con i seguenti aspetti: controllo del diritto di accesso alle informazioni; protezione delle risorse da danneggiamenti (volontari o involontari); protezione delle informazioni mentre esse sono in transito sulla rete; verifica che l'interlocutore sia veramente chi dice di essere.La rete Internet nata con la finalit originaria di offrire un efficace strumento per lo scambio di informazioni fragruppi di ricercatori sparsi per il mondo. Di conseguenza le problematiche relative alla sicurezza non sono state prese inconsiderazione nel progetto dell'architettura TCP/IP, n tantomeno in quello dei protocolli di livello application.

    L'interesse mostrato da chi sfrutta commercialmente Internet, per, sta cambiando la tipologia di utilizzo della rete, e iproblemi legati alla scarsa sicurezza diventano sempre pi pesanti, per cui ci sono molte attivit in corso (compresa lariprogettazione di alcuni protocolli fondamentali quali IP) per incorporare nell'architettura meccanismi di sicurezza.

    Nel caso specifico del Web, il fatto che esso sia nato come sistema aperto e disponibile a tutti lo rende particolarmentevulnerabile dal punto di vista della sicurezza (ovviamente, un sistema chiuso piu facile da proteggere). Cinonostante, alcuni meccanismi sono disponibili e verranno brevemente descritti nel seguito.

    Controllo dei diritti di accesso

    Basic authentication in HTTP 1.0

    Nel protocollo HTTP presente un servizio dettoBasic Authentication per fornire selettivamente l'accesso ainformazioni private, sulla base di un meccanismo di gestione di password.

    Sul server si mantengono, in opportuni file di configurazione: una lista di realm, ossia di porzioni del file system gestito dal server Web per accedere alle quali ci vuole un

    permesso; per ogni realm, una lista degli utenti abilitati con le relative password.Un realm di fatto una stringa di testo. Tutti i documenti la cui URL contiene quella stringa fanno parte del realm.

    Quando arriva una richiesta GET per un documento che appartiene a un realm, il server non restituisce il documento,ma un messaggio come questo:

    HTTP/1.0 401 Unauthorized

    WWW-Authenticate: Basic realm="NomeRealm"

    Server: .....

    Date: .....

    Content-type: .....

    Content-length: 0

    Quando il client riceve questo messaggio, fa apparire automaticamente una finestra di dialogo predisposta perl'immissione di una username e di unapassword.

    L'utente immette i dati, e poi preme OK. A questo punto il client invia una nuova richiesta al server, simile allaseguente:

    GET url(la stessa di prima) HTTP/1.0

    Authorization: Basic *****************

    User-agent: .....

  • 8/4/2019 Reti e dintorni 7

    5/30

    5

    Accept: .....

    ecc.

    dove il testo rappresentato con gli asterischi contiene la username e la password immesse dall'utente, codificate con ilmetodo base64 encoding(uno standard del mondo Unix, definito negli rfc 1341 e 1521, che non costituisce unacifratura ma serve solo a poter trasmettere caratteri ASCII estesi).

    Quando il server riceve la richiesta, applica l'algoritmo di decodifica alla stringa di username-password, le confrontacon quelle in suo possesso per il realm NomeRealm e: se tutto OK restituisce il documento richiesto; altrimenti, restituisce un messaggio di errore (403 forbidden).Il client di norma ricorda in una cache la coppia username-password immessa dall'utente e la utilizza anche per isuccessivi accessi a documenti dello stesso realm; il server deve comunque decodificare tale coppia ogni volta chearriva e verificarne la corrispondenza con quelle in suo possesso.

    Digest authentication in HTTP 1.1

    Il problema con questo approccio che username e password di fatto viaggiano in chiaro sulla rete, dato che glialgoritmi usati per la codifica e la decodifica sono noti a tutti, e quindi pu essere intercettata.

    In proposito c' una proposta (Digest Authentication, rfc 2069) per istituire un meccanismo di cifratura di username epassword basato sul meccanismo diMessage Digest, una sorta di funzione hash facile da calcolare ma difficile dainvertire (la vedremo pi avanti).

    Questo protocollo di tipo challenge-response dove: il challenge, inviato dal server al client, contiene un valore detto nonce che ogni volta diverso; la response, inviata dal client al server, il Message Digest (calcolato con l'algoritmoMD5) di:

    nonce ricevuto dal server;

    username dell'utente; password dell'utente.In questo modo i dati riservati dell'utente (username e password) non viaggiano mai in chiaro sulla rete.

    Quando il server riceve il Message Digest dal client, effettua anch'esso un identico calcolo e confronta i due valori. Sesono uguali tutto OK, altrimenti no.

    Firewall

    In molte situazioni in cui esiste una rete aziendale connessa con una rete esterna (ad esempio Internet), pu sorgere lanecessit di: proteggere le informazioni riservate (ad esempio piani strategici, dati finanziari, ecc.) da accessi provenienti

    dall'esterno della rete aziendale, consentendo solo l'accesso a informazioni pubbliche (ad esempio listino prodotti); limitare l'accesso, da parte degli elaboratori posti sulla rete aziendale, alle informazioni presenti sulla rete esterna.Questo si pu ottenere per mezzo di unfirewall(parete tagliafuoco), che l'incarnazione moderna del fossato pienod'acqua (e magari anche di coccodrilli) e del ponte levatoio che proteggevano gli antichi castelli.

    Il principio lo stesso: forzare il passaggio di tutto ci che transita (esseri umani nell'antichit, traffico di rete oggi) attraverso un unico

    punto di ingresso e uscita, dove si provvede ad effettuare gli opportuni controlli.

    Il firewall si inserisce fra la rete aziendale e quella esterna. In tal modo, tutto il traffico dall'una all'altra parte deve per

    forza transitare attraverso il firewall.

  • 8/4/2019 Reti e dintorni 7

    6/30

    6

    Applicationgateway

    RouterA

    RouterB

    Rete interna Rete esterna

    Filtra i pacchettiin uscita

    Filtra i pacchettiin ingresso

    Figura 1: Tipica configurazione di un firewall

    Esistono molte configurazioni di firewall, pi o meno raffinate. In quella sopra illustrata si ricorre a due tipi dicomponenti: due routerche filtrano i pacchetti (A filtra in uscita, B filtra in ingresso): ogni pacchetto in transito viene esaminato

    secondo criteri opportunamente impostati; se li soddisfa viene lasciato passare, altrimenti no; un application gateway: questa componente opera a livello application, e quindi entra nel merito del contenuto dei

    dati in transito. Ad esempio, un mail gateway pu decidere se lasciar passare un messaggio di posta elettronicasulla base di subject, o destinatario, o addirittura esaminando il contenuto del messaggio (ad esempio, se c' laparola "bomb" lo ferma).

    Criteri tipici di filtraggio dei pacchetti, che possono anche essere combinati fra loro, sono: indirizzo IP (o range di indirizzi) di partenza o di destinazione: questo pu servire quando si vogliono connettere

    fra loro due reti aziendali remote attraverso una rete esterna, ottenendo una cosiddetta extranet; numero di port di destinazione: questo pu servire per abilitare certi servizi e altri no (ad esempio, si disabilita in

    ingresso il port 23: nessuno dalla rete esterna pu fare login su un elaboratore della rete interna). Un problema inproposito che alcuni servizi (come il Web) sono spesso offerti anche su porte non standard;

    tipo di connessione usata: abbastanza comune bloccare tutto il traffico UDP, pi difficile da analizzare.Possono esistere vari application gateway, uno per ogni protocollo di livello application che si vuole controllare.

    Spesso, per semplificare il controllo, si installa sulla rete interna unserver proxy (che pu anche coincidere colgateway), cio un oggetto che agisce da intermediario fra i clienti della rete interna ed i serventi della rete esterna.

    Ad esempio, nel caso di un server proxy per il protocollo HTTP (HTTP proxy) si ha tipicamente una situazione comequesta:

    i client della rete interna vengono configurati in modo da fare riferimento all'HTTP proxy; il firewall viene configurato per lasciar transitare il traffico HTTP da e per l'HTTP proxy.Quando un utente attiva un link che punta a un server Web della rete esterna succede questo:1. il client apre una connessione col proxy e gli invia la richiesta;2. il proxy (che pu passare dal firewall) apre una connessione con il server Web esterno e gli invia la richiesta del

    client;3. il server Web esterno invia la risposta al proxy;4. il proxy "gira" la risposta al client.

  • 8/4/2019 Reti e dintorni 7

    7/30

    7

    Firewall

    Rete interna Rete esterna

    Webclient

    HTTPproxy

    Webserver

    1 2

    34

    Figura 2: Uso di un HTTP proxy

    I proxy server hanno anche una funzione di cachingdelle pagine pi recenti, in modo da poterle offrireimmediatamente se vengono richieste pi di una volta, aumentando cos l'efficienza e diminuendo l'uso di bandatrasmissiva.

    Infine, un'ultima nota: se l'azienda vuole pubblicare all'esterno sue informazioni (ad esempio con un server Web)baster che collochi tale server all'esterno del firewall.

    Protezione delle risorse da danneggiamento

    Di norma i server Web non accettano altri metodi che GET (e POST in relazione alle form), quindi impedisconooperazioni pericolose quali la scrittura o la cancellazione di file. Inoltre, di norma i server Web non considerano legalile URL che fanno riferimento a porzioni del file system esterne alla parte di competenza del server Web stesso.

    Dunque, per lo meno quando si chiedono al server servizi standard (per il recupero di pagine Web) non ci sono grandi

    pericoli.

    La sicurezza e le estensioni del Web

    Il discorso per cambia completamente quando si allargano le funzionalit rese disponibili: sul server, con programmi CGI; sul client, con applicazioni helper.In entrambi i casi, le opportunit per azioni che causano danneggiamenti travalicano le possibilit di controllo di client eserver, e dipendono esclusivamente dalle caratteristiche dei programmi esterni. Si possono aprire delle voragini nellasicurezza!

    Essenzialmente, si pu dire questo: pi potente il programma (helper sul client e CGI sul server) e maggiori sono i pericoli ai quali si esposti.Lato clientSupponiamo che l'utente abbia configurato il suo client per lanciare un interprete PostScriptquando riceve un filePostScript, che di norma contiene un insieme di comandi per la formattazione di testo e grafica indipendenti dallapiattaforma.

    In questo scenario, l'interprete PostScript viene lanciato ed esegue uno a uno i comandi contenuti nel file, mostrando sulvideo (o stampando) il documento.

    Ora, PostScript un completo linguaggio di programmazione, e contiene anche comandi per operazioni sul file system.Se l'autore del documento PostScript ha sfruttato tali potenzialit per recare danni, l'utente ne sopporter leconseguenze: ad esempio, il file PostScript potrebbe contenere delle istruzioni che cancellano tutti i file dal disco rigidodell'elaboratore.

  • 8/4/2019 Reti e dintorni 7

    8/30

    8

    Lato serverUno scenario tipico, come abbiamo gi detto, questo: il programma CGI compone, in base ai dati immessi nei campi della form, un comando destinato ad un altro

    programma esterno; passa il comando a tale programma esterno e gli chiede di eseguirlo.Abbiamo visto che nel caso di una interrogazione a una base dati: il comando la formulazione di una query; il programma esterno il gestore della base dati.Ora, se invece: il programma esterno molto potente (ad esempio: lashell); il programma CGI non entra a sufficienza nel merito del comando che viene costruito; il server Web ha i privilegi di root, e lancia con tali privilegi anche il programma CGI (e quindi, di riflesso, anche

    la shell);

    allora si corrono enormi rischi: un utente remoto pu inviare un comando per distruggere dei file, ricevere il file dellepassword, eccetera.

    Alcune delle possibili precauzioni per evitare le situazioni sopra descritte sono le seguenti: il server in ascolto sulla porta 80 deve girare come root (altrimenti non pu aprire un socket su nessuna well-known

    port), ma i suoi figli (o i thread) che gestiscono le singole richieste devono avere i minimi privilegi necessari perpoter svolgere il loro compito (e questo vale anche per i programmi CGI ed i programmi esterni);

    i programmi CGI devono controllare la potenziale pericolosit di ogni comando che ricevono prima di consegnarloal programma esterno;

    il programma esterno deve essere il meno potente possibile: ad esempio la shell certamente da evitare, sepossibile.

    La sicurezza e Java

    Una grande attenzione stata posta, nel progetto del linguaggio e della JVM, ai problemi di sicurezza derivantipotenzialmente dal fatto di mandare in esecuzione sulla propria macchina un codice proveniente da una fonte ignota (eperci non affidabile in linea di principio).

    Ad esempio, si potrebbero ipotizzare questi scenari certamente indesiderabili: un applet cifra tutti i file del disco, e chi lo ha programmato chiede un riscatto per fornire la chiave di decifratura; un applet ruba informazioni riservate e le invia a qualcun altro; un applet cancella tutti i file del disco.La prima linea di difesa stata incorporata nel linguaggio, che : fortemente tipato; con controlli sui limiti degli array; senza puntatori.In tal modo impossibile accedere a zone di memoria esterne a quelle allocate all'applet.

    Tuttavia, Trudy (un personaggio che conosceremo di pi in seguito) si diverte a modificare un compilatore C perprodurre dei bytecode in modo da aggirare i controlli effettuati dal compilatore Java.

    Per questa ragione, la JVM offre la seconda linea di difesa sotto forma di una componente, detta bytecode verifier, cheeffettua numerosi controlli sui bytecode prima di mandarli in esecuzione, verificando ad esempio che non si cerchi di: costruire puntatori; chiamare metodi con parametri non validi; usare variabili non inizializzate.

  • 8/4/2019 Reti e dintorni 7

    9/30

    9

    La terza linea di difesa rappresentata dal class loader, il meccanismo di caricamento delle classi. Esso impedisce, adesempio, che una classe dell'applet vada a sostituirsi a una delle classi di sistema in modo da aggirare i meccanismi disicurezza di quest'ultima.

    Infine, un'ulteriore linea di difesa il security manager, una classe che ha il compito di stabilire dei limiti a ci che ilprogramma (applet o application) pu fare.

    In particolare, di norma i client Web (e gli AppletViewer) caricano all'avvio un security manager che impedisce a tuttigli applet di: accedere al file system locale; aprire connessioni di rete con host diversi da quello di provenienza; lanciare altri programmi.Viceversa, un'applicazione Java viene avviata di norma senza alcun security manager associato (a meno che non vengaprogrammata diversamente), e quindi non ha alcuna delle limitazioni sopra citate.

    Protezione delle informazioni durante il transito sulla rete

    Esistono ulteriori problemi legati alla sicurezza, che non si possono risolvere semplicemente con meccanismi basatisull'uso di password.

    Essi possono essere divisi nelle seguenti aree, collegate fra loro: segretezza: si desidera inviare delle informazioni riservate, in modo che solo il destinatario sia in grado di leggerle; autenticazione del mittente: si vuole essere sicuri che colui col quale si dialoga sia veramente chi dice di essere; integrit del messaggio: si vuole esseri sicuri che il messaggio che arriva non sia stato manomesso durante il

    viaggio.

    Nel campo dell'informatica e soprattutto delle reti, dove da un lato possibile facilmente creare copie (e anche

    modificarle) di documenti e dall'altro non si pu escludere che Trudy (ovvero un intruso) intercetti le informazioni intransito sulla rete, tutto pi difficile che nella vita quotidiana, dove esistono al proposito meccanismi consolidati(buste sigillate, documenti di identit, autenticazione dei documenti).

    E ci soprattutto vero in una rete come Internet, dove: esiste la necessit di dialogare con entit precedentemente sconosciute; ci sono potenzialmente in ogni momento molte Trudy all'ascolto, pronte a rubare informazioni e a sfruttarle a

    proprio vantaggio.

    I problemi precedenti possono essere risolti con unprotocollo crittografico, che consiste in una serie di passi nei qualisi utilizzano le tecnologie seguenti: crittografia; firme digitali.

    Crittografia

    La crittografia (o scrittura nascosta) la disciplina che si occupa di studiare le tecniche per scrivere un messaggio inmodo tale che solo il legittimo destinatario sia in grado di leggerlo. Si occupa dunque del problema della segretezza.

    I requisiti principali di tale tecnica sono: ragionevole efficienza nella creazione del messaggio; estrema difficolt nella interpretazione del messaggio da parte di chi non autorizzato; possibilit di cambiare con estrema rapidit il metodo usato.Una prima possibilit stabilire un metodo di trasformazione (cifratura o encryption) del messaggio originale e uncorrispondente metodo di interpretazione (decifratura o decryption) che vengono tenuti gelosamente segreti, e sononoti solo alle persone autorizzate.

  • 8/4/2019 Reti e dintorni 7

    10/30

    10

    Encryption

    Internet

    Decryption

    Testo in chiaro

    Testo incomprensibile

    Testo in chiaro

    Testo incomprensibile

    Figura 3: Cifratura e decifratura

    Ad esempio, un banale metodo di trasformazione (segreto) pu essere il seguente: sostituire ogni carattere con quelloche, nell'alfabeto, lo segue immediatamente (con wrap-around).

    Questo approccio per non soddisfa il terzo requisito, perch per cambiare metodo lo si deve riprogettarecompletamente. Per questo motivo, si ricorre invece a uno schema diverso, che consiste in: un metodo di cifratura e uno di decifratura che sono noti a tutti, ma sono parametrizzati da una chiave che deve

    essere data loro in input assieme al messaggio; una sequenza di bit, detta chiave, che nota solo alle persone autorizzate.Di fatto il metodo di cifratura unafunzione E che accetta in ingresso il testo in chiaro (plaintext) P e una chiave k,producendo il testo cifrato (ciphertext) C:

    C = E(P,k)

    e che normalmente si indica come:

    C = Ek(P)

    Quindi, per ogni valore possibile della chiave si ottiene un diverso metodo di cifratura.

    A titolo di sempio: metodo di cifratura (pubblico): sostituire ogni carattere con quello che lo segue a distanza k (con wrap-around); chiave (segreta): il valore k.Il metodo di decifratura un'altra funzione (ovviamente collegata alla prima) che accetta in ingresso il testo cifrato C,una chiave k e restituisce il testo in chiaro originale P:

    P = Dk(C)

    Ovviamente, si dovr avere che:

    Dk(Ek(P)) = P

    Come vedremo, non detto che si debba usare la stessa chiave nelle due fasi.Il modello risultante il seguente:

  • 8/4/2019 Reti e dintorni 7

    11/30

    11

    Metodo diencryption

    Internet

    Metodo didecryptionk kTrudy passiva

    Trudy attivaC

    P

    C

    P

    Figura 4: Cifratura e decifratura basate su chiave

    Trudy pu essere passiva (ascolta solamente) o attiva (ascolta ed altera i messaggi che riesce ad intercettare).

    La crittografia, come abbiamo detto, si occupa di trovare buoni metodi per effettuare la cifratura e la decifratura. Lacryptoanalisi(cryptoanalysis) invece si occupa di scoprire modi per decifrare i messaggi pur non conoscendo le regolenote alle persone autorizzate (in particolare, la chiave).

    Questa operazione pu essere portata avanti in due modi: provare ad applicare al testo cifrato il metodo di decifratura con tutti i possibili valori della chiave. Questo

    approccio, detto diforza bruta, produce certamente il testo in chiaro originale prima o poi, ma ovviamente moltooneroso, ed anzi lo tanto pi quanto lunga la chiave (ad esempio con 128 bit di chiave, ci sono 2 128 prove daeffettuare);

    scoprire le eventuali debolezze delle funzioni E e D, per ridurre lo spazio delle chiavi da esplorare.Ci sono due principi fondamentali che ogni metodo di cifrature deve rispettare: i messaggi originali devono contenere della ridondanza: se cos non fosse, ogni possibile messaggio cifrato sarebbe

    comunque valido e Trudy potrebbe quindi inviarne a piacere, dato che a destinazione essi verrebbero consideratiautentici dopo essere stati decifrati;

    i messaggi originali devono contenere qualcosa (ad esempio un time stamp) che impedisca a Trudy di rispedirenuovamente un messaggio valido. Altrimenti, ogni volta che Trudy intercetta un messaggio puo inviarlonuovamente per i propri scopi.

    Crittografia a chiave segreta (o simmetrica)

    In questo tipo di crittografia, il mittente e il destinatario (Alice e Bob) si accordano, ad esempio incontrandosi dipersona lontano da occhi indiscreti, su una singola chiave che verr usata sia in fase di cifratura che di decifratura.

  • 8/4/2019 Reti e dintorni 7

    12/30

    12

    Alice Bob

    Canale sicuro

    E DCanale insicuro

    C

    P P

    Figura 5: Crittografia a chiave segreta

    L'algoritmo pi diffuso in questa categoria ilDES(Data Encryption Standard), inventato dall'IBM e adottato comestandard del governo U.S.A. nel 1977.

    Il testo in chiaro codificato in blocchi di 64 bit, che producono ciascuno 64 bit di testo cifrato ( cifratura a blocchi).

    L'algoritmo parametrizzato da una chiave di 56 bit e consiste di ben 19 stadi, in ciascuno dei quali si opera unatrasformazione dell'output dello stadio precedente.

    Inoltre, in 16 dei 19 stadi la trasformazione effettuata funzionalmente identica, ma parametrizzata da opportunetrasformazioni della chiave.

    Il DES stato al centro di controversie sin dal giorno in cui nato: il progetto originale IBM prevedeva chiavi da 128 bit invece che da 56 bit, ma i militari U.S.A. "suggerirono"

    attraverso l'NSA (National Security Agency, detta anche malignamenteNo Such Agency) tale riduzione. Secondomolti, la riduzione fu motivata dall'esigenza di mantenere la capacit (con opportune potenti macchine) di rompereil codice;

    oggi il DES non pi considerato sicuro, in quanto recenti tecniche di criptanalisi differenziale hanno ridotto lospazio di ricerca a 243 possibilit;

    Una sua variante, il Triple DES, per a tutt'oggi considerato sicuro, in quanto non si conosce alcun modo diromperlo. Il meccanismo il seguente.

  • 8/4/2019 Reti e dintorni 7

    13/30

    13

    E D E

    Encryption

    k1 k2 k1

    D E D

    Decryption

    k1 k2 k1

    C

    P

    P

    C

    Figura 6: Triple DES

    Questo schema, ponendo k1=k2, garantisce la compatibilit all'indietro col normale DES.

    Effettivamente il Triple DES costituisce un codice per il quale l'approccio della forza bruta richiede 2 112 tentativi: anchecon un miliardo di chip che effettuano un miliardo di operazioni al secondo, ci vorrebbero 100 milioni di anni per laricerca esaustiva.

    Il DES funziona alla velocit di 2,5 MBps su un Pentium Pro a 200 MHz, e fino a 64 MBps su hardware specializzato.

    Un altro importante algoritmo a chiave segreta IDEA (International Data Encryption Algorithm).

    Esso fu progettato nel '90 in Svizzera, e per questa ragione non soggetto alle limitazioni sull'uso e sull'esportazioneche esistono in U.S.A. (dove gli algoritmi di cifratura sono a tutti gli effetti di legge considerati armi da guerra).

    Come il DES, IDEA effettua una cifratura a blocchi (di 64 bit), ma usa una chiave di 128 bit e consiste di otto stadi, neiquali ogni bit di output dipende da tutti i bit in input (il che non vale per il DES).

    Non sono noti risultati di criptanalisi che lo indeboliscono.

    IDEA funziona alla velocit di 2 MBps su un Pentium Pro a 200 MHz e a 22 MBps su hardware specializzato.

    Crittografia a chiave pubblica

    Un problema di fondo affligge la crittografia a chiave segreta quando aumenta il numero di persone che voglionoessere in grado di comunicare fra loro.

    Poich ogni coppia di persone deve essere in possesso di una corrispondente chiave, se N persone desideranocomunicare fra loro ci vogliono N(N-1)/2 chiavi, cio una per ogni coppia.

    Ci rende estremamente difficile il problema della distribuzione delle chiavi, che resta il punto debole di tutto ilsistema.

    Nella seconda met degli anni '70 fu introdotto (Diffie e Hellmann, Stanford University) un tipo di crittografiaradicalmente nuovo, detto a chiave pubblica (o asimmetrica).

    L'idea questa:

  • 8/4/2019 Reti e dintorni 7

    14/30

    14

    ognuno possiede due chiavi, legate una all'altra: una la chiave privata, nota solo al proprietario; l'altra la chiave pubblica, nota a tutti;

    ci che viene cifrato con la prima chiave pu essere decifrato con l'altra (e di solito viceversa); quasi impossibile, e comunque estremamente oneroso, derivare la prima chiave anche se si conosce la seconda.Dunque, per un gruppo di N persone sono necessarie solo 2N chiavi.

    Il funzionamento, per ottenere lasegretezza, questo: Alice cifra il messaggio con la chiave pubblica di Bob (che nota a tutti); Bob decifra il messaggio con la propria chiave privata (che nota solo a lui).

    Alice Bob

    E DCanale insicuro

    Chiavepubblica

    di Bob

    Chiaveprivatadi Bob

    C

    P P

    Figura 7: Riservatezza mediante crittografia a chiave pubblica

    La crittografia a chiave pubblica fornisce anche un meccanismo per garantire l'autenticazione del mittente, cio lagaranzia che esso provenga veramente dall'autore e non da qualcun altro, e l'integrit del messaggio, cio la garanziache il messaggio non sia stato alterato.

    In questo caso si opera alla rovescia: Alice cifra il messaggio con la propria chiave privata; Bob lo decifra con la chiave pubblica di Alice.

    Alice Bob

    E DCanale insicuro

    Chiaveprivatadi Alice

    Chiavepubblicadi Alice

    C

    P P

    Figura 8: Autenticazione mediante crittografia a chiave pubblica

    In questo caso non c' segretezza, dato che chiunque pu decifrare il messaggio, ma nessuno se non Alice avrebbe

    potuto costruirlo, ed inoltre nessuno pu averlo alterato.

    L'algoritmo a chiave pubblica piu noto ed usato l'algoritmoRSA (dalle iniziali degli autori Rivest, Shamir eAdleman), nato nel 1978.

  • 8/4/2019 Reti e dintorni 7

    15/30

    15

    Esso trae la sua efficacia dalla enorme difficolt di trovare la fattorizzazione di un grande numero (si stima che serva unmiliardo di anni di tempo macchina per fattorizzare un numero di 200 cifre, e 10 25 anni per un numero di 500 cifre).

    Schematicamente, l'algoritmo funziona cos:1. scegliere due grandi numeri primi p e q (tipicamente maggiori di 10100);2. calcolare n = p*q e z = (p - 1)*(q - 1);3. scegliere un numero d primo relativamente a z;4. trovare il numero e tale che e*d = 1 modulo z;La base matematica di questo procedimento il teorema di Eulero, che in un particolare sottocaso afferma che, dati duenumeri primi p e q, vale la relazione:

    x(p-1)(q-1) = 1 modulo p*q

    per tutti gli x tali che gcd(x, p*q) = 1.

    A questo punto il procedimento prevede di porre: chiave pubblica = la coppia (e, n); chiave privata = la coppia (d, n).Si noti che se non fosse difficile fattorizzare n (che noto a tutti), Trudy potrebbe facilmente:1. trovare p e q, e da questi z;2. una volta determinati z ed e (anch'esso noto a tutti), trovare d con l'algoritmo di Euclide.La cifratura e la decifratura vengono effettuate nel seguente modo: si divide il testo da cifrare in blocchi tali che, considerandoli come numeri binari, ogni blocco abbia un valore 0

  • 8/4/2019 Reti e dintorni 7

    16/30

    16

    Tale riassunto in generale di dimensioni ridotte, tipicamente fra i 10 e i 20 byte, indipendentemente dalla lunghezzadel messaggio originario.

    MD(funzione hash)

    Message digestMessaggio originario

    MD(P)P

    Figura 9: Calcolo del riassunto del messaggio

    Per essere adatta allo scopo, la funzione hash deve possedere i seguenti requisiti: computazionalmente poco oneroso calcolare MD(P); dato MD(P) praticamente impossibile risalire a P; praticamente impossibile trovare due documenti P1 e P2 tali per cui MD(P1) = MD(P2). Si noti che questo

    requisito non discende dalla propriet precedente.

    Per soddisfare l'ultimo requisito il riassunto deve essere piuttosto lungo, almeno 128 bit. Ad ogni modo, chiaro che dal

    punto di vista teorico non possibile garantire che il requisito sia sempre soddisfatto, poich in generale la cardinalitdello spazio dei messaggi molto superiore a quella dello spazio dei riassunti.

    L'algoritmo pi diffuso per la generazione del message digest MD5 (Message Digest 5, Rivest 1992), il quinto di unaserie. definito nell'rfc 1321. Produce digest di 128 bit, ognuno dei quali funzione di tutti i bit del messaggio. Funzionaa circa 7 MBps su un Pentium Pro a 200 MHz.

    Un primo e semplice schema di utilizzo del message digest il seguente, volto a garantire l'integrit del messaggio,ovvero a garantire che il messaggio che giunge a destinazione sia identico a quello che stato inviato:

    Alice Bob

    Canale insicuroMD + +

    MD

    =

    Si

    OK

    No

    ERRORE;messaggio alterato

    MD(P)

    P

    MD(P)

    P

    MD(P)

    Figura 10: Uso del digest per il controllo di integrit del messaggio

    Alice invia il messaggio corredato del riassunto; quando Bob riceve il tutto, ricalcola il riassunto e lo confronta conquello ricevuto.

    Ovviamente, questa semplice modalit esposta all'attacco di Trudy, che potrebbe intercettare il messaggio, sostituirlocon uno diverso correlato del relativo digest, e inviarlo a Bob come se fosse quello proveniente da Alice.

  • 8/4/2019 Reti e dintorni 7

    17/30

    17

    Per risolvere questo problema si ricorre a uno schema leggermente pi complesso, che fa uso anche della crittografia achiave pubblica: il riassunto, prima di essere spedito, viene cifrato dal mittente con la propria chiave privata e decifratodal destinatario con la chiave pubblica del mittente. Un riassunto cifrato in questo modo si dicefirma digitale (digitalsignature) del mittente, perch assicura sia l'integrit del messaggio che l'autenticit del mittente, proprio come unafirma apposta (in originale) in calce a un documento cartaceo.

    Alice

    Bob

    Canale insicuroMD +

    MD

    =

    Si

    OK

    No

    ERRORE;messaggio alterato

    E

    Chiaveprivatadi Alice

    +

    +

    D

    Chiavepubblicadi Alice

    Canale insicuro

    MD(P)

    P

    MD(P) MD(P)

    P

    Firma

    digitale

    P

    Firmadigitale

    Figura 11: Firma digitale

    Protocolli crittografici

    Quello visto sopra un esempio diprotocollo crittografico, cio di una serie di regole che le parti debbono seguire perassicurarsi una conversazione conforme ai requisiti desiderati.

    Un protocollo crittografico in generale non specifica gli algoritmi da usare nei vari passi, ma piuttosto: quali tecniche adottare (ad esempio: crittografia a chiave pubblica e/o privata, message digest, ecc.); quale successione di passi deve essere seguita, e quale tecnica va adottata in ogni passo.

  • 8/4/2019 Reti e dintorni 7

    18/30

    18

    Esistono vari protocolli crittografici, che si differenziano per: il contesto iniziale (ad esempio: i due partecipanti hanno una chiave segreta in comune o no? Conoscono le

    rispettive chiavi pubbliche o no?); gli scopi da raggiungere (ad esempio: autenticazione, segretezza, o entrambi?).Vedremo ora alcuni protocolli che rivestono un particolare interesse in un contesto come quello del Web, dove: possibile aver bisogno di autenticazione e segretezza nel dialogo con entit mai conosciute prima; i canali sono insicuri, e soggetti all'intrusione di Trudy (e magari anche di Gambadilegno!).

    Chiave segreta di sessione

    Un primo problema da affrontare e risolvere mediante un protocollo crittografico il seguente: poich la crittografia achiave segreta molto pi efficiente di quella a chiave pubblica, si vuole usare la prima nel corso della comunicazioneeffettiva che deve essere portata avanti.

    Per, in un contesto distribuito come il Web, impensabile che ogni potenziale coppia di fruitori disponga di una chiave

    segreta. Dunque, bisogna trovare un protocollo per concordare, all'inizio della sessione, la chiave segreta da usaredurante il resto della sessione, detta per questo chiavesegreta di sessione.

    Un primo protocollo di per se molto semplice, e sfrutta la crittografia a chiave pubblica:1. Bob invia la sua chiave pubblica ad Alice;2. Alice genera una nuova chiave segreta, la cifra con la chiave pubblica di Bob e la invia a Bob;3. Bob riceve la chiave segeta (cifrata) e la decifra con la propria chiave privata;4. Alice e Bob a questo punto condividono la chiave segreta di sessione per mezzo della quale possono comunicare in

    tutta sicurezza.

    Alice Bob

    E DCanale insicuro

    Chiavepubblica

    di Bob

    Chiaveprivatadi Bob

    1)

    Chiavepubblica

    di Bob

    2)

    3)

    4)

    Chiave segretadi sessione

    E(chiave segreta di sessione)

    Chiave segretadi sessione

    Figura 12: Determinazione della chiave segreta di sessione

    Per evitare problemi derivanti dalla possibilit che Trudy esegua un replay attack(cio invii duplicati di tutto ci cheintercetta) la chiave segreta di sessione dev'essere ogni volta diversa. Di norma la si calcola per mezzo di un generatoredi numeri casuali, che deve essere progettato molto accuratamente (si veda in proposito il clamore suscitato da un bugcontenuto in Netscape Navigator, riportato anche sul New York Times del 19/9/95).

    Centro di distribuzione delle chiavi

  • 8/4/2019 Reti e dintorni 7

    19/30

    19

    Il protocollo precedente per ha un problema di fondo molto serio. Infatti, Trudy pu riuscire a fare in modo che Alicericeva, al posto della chiave pubblica di Bob, quella di Trudy, e quindi interporsi nella successiva comunicazione edecifrare tutto (man in the middle attack).

    Alice BobChiavepubblicadi Bob

    1)

    $

    Chiavepubblicadi Trudy

    2)

    Chiavepubblicadi Trudy

    Chiavepubblica

    di Bob

    Trudy

    4)3)

    E(chiave segreta di sessione) E(chiave segreta di sessione)

    Figura 13: Trudy si interpone fra Alice e Bob

    Per risolvere questo problema si introduce sulla scena una nuova entit, il centro di distribuzione delle chiavi.

    Esso un ente, di norma governativo o comunque dotato di credibilit internazionale, che: possiede adeguati meccanismi di sicurezza (anche fisica) per garantire i dati in proprio possesso; possiede una coppia di chiavi (pubblica e privata), e provvede periodicamente a confermare ufficialmente la propria

    chiave pubblica, ad esempio con la pubblicazione sui principali quotidiani; offre a chiunque la richieda una coppia di chiavi (pubblica e privata), che poi provvede a mantenere con sicurezza; crea, per ciascuno dei clienti registrati (cio coloro ai quali ha rilasciato una coppia di chiavi) un certificato

    digitale, che in sostanza un documento: contenente la chiave pubblica del cliente; contenente altre informazioni relative al cliente (nome, ecc.); cifrato con la chiave privata del centro (ossia,firmato dal centro).

    Per questa ragione, il centro viene anche detto Certificate Authority (CA).

    In generale il software usato da Alice ha cablata al suo interno la chiave pubblica della CA, per cui in grado diverificare la firma dei certificati provenienti dalla CA, e quindi di essere sicuro della loro autenticit e integrit.

    Il protocollo visto precedentemente per stabilire la chiave segreta di sessione viene quindi modificato nel senso che lachiave pubblica di Bob viene consegnata ad Alice sotto forma di un certificato rilasciato a Bob da una CA; in questomodo Alice ha la garanzia che si tratta proprio della chiave di Bob e non di quella di Trudy.

  • 8/4/2019 Reti e dintorni 7

    20/30

    20

    Alice Bob

    1)

    2)

    Chiavepubblica

    di Bob

    Chiaveprivata

    dellaCA

    CA

    E(chiave segreta di sessione)

    Certificato di Bob(contiene la chiavepubblica di Bob)

    Figura 14: Ricorso ad una CA per avere la chiave pubblica di Bob

    Secure Socket Layer e Secure-HTTP

    I certificati prodotti da una CA possono essere conservati dove si desidera. Ad esempio, Bob pu tenere una copia delproprio certificato, ed Alice pu chiederlo direttamente a lui invece che alla CA.

    Questo precisamente quanto avviene sul Web quando si incontra un link gestito col metodo

    https://

    che viene gestito dal protocollo chiamatoSecure Socket Layer(SSL), introdotto da Netscape.

    Esso protegge l'intero stream di dati che fluisce sulla connessione TCP, per cui pu essere usato sia con HTTP che conFTP o TELNET.

    Ad esempio, una form HTML che consente l'ordine di beni da acquistare fornendo il numero della propria carta dicredito potr essere riferita col link:

    https://www.server.com/order.html

    Quando l'utente del client decide di seguire tale link, si sviluppa questa catena di eventi:

  • 8/4/2019 Reti e dintorni 7

    21/30

    21

    Alice(client Web)

    Bob(server Web)

    1) Dammi la form "order.html"

    2) Ecco il mio certificato

    3) Il tuo certificato OK,ecco la chiave segreta di sessionecifrata con la tua chiave pubblica

    4) Transazione sicura cifrata con la chiave segreta

    E(chiave segreta di sessione)

    Certif.

    Figura 15: Funzionamento del protocollo SSL

    Nell protocollo SSL previsto l'utilizzo di: RSA come algoritmo a chiave pubblica; DES oppure RC4 a 128 bit come algoritmo a chiave segreta; MD5 oppure SHA per la creazione dei digest.Per via delle leggi americane, le versioni internazionali del Navigator usano RC4 a soli 40 bit per la cifratura a chiavesegreta. Peraltro, una recentissima legge ha diminuito le restrizioni esistenti relativamente all'uso del DES a 56 bit, cheverr quindi incorporato anche nei prodotti destinati all'esportazione.

    Infine va citato un altro protocollo sicuro per il Web, Secure-HTTP(S-HTTP). Esso si basa su principi analoghi a SSL,ma si applica solo al traffico HTTP. Infatti, nella sostanza, si cifrano i singoli messaggi HTTP e non lo stream TCPsottostante.

    Header S-HTTP

    Body S-HTTP (cifrato con la chiave di sessione)

    Header HTTP Body HTTP

    Figura 16: Formato di un messaggio S-HTTP

    Nell'header S-HTTP, all'inizio, contenuta la chiave di sessione cifrata con la chiave pubblica del server. Il certificatodel server, invece, incorporato dentro ogni pagina HTML sicura.

    Bibliografia "Computer Networks" di A. Tanenbaum, terza edizione, ed. Prentice-Hall

    R. Gaeta

  • 8/4/2019 Reti e dintorni 7

    22/30

    22

    Configurazione iniziale

    dellinterfaccia E1 e dell ISDN

    PRI su routers CISCO

    Linterfaccia E1 pu essere utilizzata per latrasmissione dati senza avere lISDN.Ci significa che il 16 Time slot (IT15) non sarutilizzato per la segnalazione (canale D) ma vieneutilizzato come gli altri time slot.Il primo time slot (IT0) comunque sempre utilizzatoper la sincronizzazione.Lo standard prevede che la possibilit di raggruppare pi time slot in un singolo canale logico di velocittrasmissiva globale N x 64 Kb/s (dove N il numero ditime slot raggruppati.)

    Per configurare linterfaccia E1 si digiti come primo

    comando:Router(config)# controller e1 slot/port

    Siamo entrati nella configurazione del controller e1.A questo punto per definire quali sono i time slot chedevono essere raggruppati in un singolo canale logicosi usi il comando:

    Router(config-controller)# channel-group num timeslot range

    Dove num il numero che identifica il nuovo canalelogico e range definisce i timeslot utilizzati.Appena digitato questo comando, compare dal nulla(fai show run!) linterfaccia seriale logica:

    inteface serial slot/port:num

    A questo punto potete configurare questa interfacciacome sempre, indirizzo ip, il tipo di encapsulation ecos via.

    In Italia comunque deve essere configurato il tipo dicodifica utilizzato (sempre hdb3) e il crc4, con iseguenti comandi:

    Router(config-controller)# linecode hdb3

    Router(config-controller)# framing crc4

    Se invece linterfaccia E1 utilizzata con lISDN PRI,allora dobbiamo aggiungere sulla configurazioneglobale il comando:

    Router(config)# isdn switch-type pri-net5

    E invece di usare il comando channel-group deveessere utilizzato il seguente comando:

    Router(config-controller)# pri-group timeslot range

    Appena digitato questo comando compare linterfacciaseriale logica:

    interface serial slot/port:15

    A questo punto potete configurare questa interfacciacome sempre, indirizzo ip, il tipo di encapsulation ealtro.

    Configurazione iniziale dell

    ISDN BRI su routers CISCO

    Linterfaccia BRI presenta due canali B e un canale Ddi segnalazione. Sui routers Cisco queste interfacce

    sono visibili tramite il comandoshow interface.Se nella configurazione troviamo linterfacciadenominata bri m/n tramite il comando precedentesono mostrate le caratteristiche delle seguentiinterfacce:

    - bri m/n: canale D- bri m/n:1:canale B1- bri m/n:2: canale B2

    ciononostante non possibile configurare in modoseparato il canale B1 dal canale B2. La configurazioneanche delle caratteristiche dei due canali viene fatta sulcanale D (bri m/n).

    Il primo comando che deve essere sempre presentenella configurazione di un ISDN BRI il seguente:

    Router(config)# isdn switch-type basic-net3

    Il quale definisce in modo univoco che viene utilizzatola modalit isdn utilizzata in europa.

    A questo punto nella configurazione dellinterfaccia brim/n possiamo definire lindirizzo ip e il tipo diprotocollo di livello 2 usato sui due canali B. Si usi:

    Router(config-if)# encapsulation [ppp|hdlc|lapb|frame-relay]

    Di default viene usato hdlc.

    Per default la negoziazione del TEI avviene appena ilrouter viene acceso (logicamente linterfaccia bri deve esserecollegata alla borchia isdn).

    Legacy DDR (Dial on Demand Routing)

    Per alzare la chiamata si devono eseguire i seguentipassi:

    1) Definire il tipo di traffico interessante.a) Questo il traffico che fa alzare la chiamata.

    Una volta che il canale B attivo allorapasser tutto il traffico interessante e noninteressante. Si usi il comando:

    b) Router(config)# dialer-list num_d protocol prot[permit|deny|list access_list_num]

    c) Lutilizzo di unaccess list permette di definireil traffico interessante in modo moltodettagliato.

    2) Associare linterfaccia bri alla dialer-list appenaconfigurata:a) Router(config-if)# dialer-group num_d

    3) Definire il numero telefonico che deve essereeffettuato:

    a) Router(config-if)# dialer string

    tel_numIl comando dialer string permette di effettuare DDRsoltanto verso una destinazione. possibile usare

  • 8/4/2019 Reti e dintorni 7

    23/30

    23

    diversi comandi dialer string in successione. In questocaso se la prima telefonata fallisce si passa al secondonumero. Se lesigenza quella di effettuare DDR versodestinazioni diverse, oppure di incanalare protocollidiversi verso differenti destinazioni, allora si usi ilcomando:

    Router(config-if)# dialer mapprotocolnext_hop_addr tel_num

    Dove: protocol il protocollo che viene mappato sulnumero telefonico tel_num e il next_hop_addr lindirizzo ip dellinterfaccia bri del router che deveessere contattato (logicamente questo indirizzo deveessere presente nella tabella di routing come next hopdi qualche subnet di destinazione!).

    Parametri opzionali per il legacy DDR

    Dopo che il collegamento stato effettuato se per 120secondi consecutivi non passano frames appartenenti al

    traffico che stato definito come interessante, allora lalinea ISDN viene chiusa. Ogni volta che in uscitadallinterfaccia passa almeno una frame appartenente altraffico definito interessante il timer viene resettato. Sesi vuole modificare questo tempo si utilizzi il comando:

    Router(config-if)# dialer idle-timeout secs [inbound|either]

    Nel caso la stessa interfaccia utilizzata per chiamateverso destinazioni diverse o da sorgenti diverse, punascere una contesa della linea, ed necessario liberarela linea in un tempo minore dei 120 secondiprecedentemente definiti. In caso di contesa il tempo

    per chiudere la linea ISDN di 20 secondi. Permodificare questo tempo si usi:

    Router(config-if)# dialer fast-idle secs

    Quando al router arrivano le prime frames appartenential traffico interessante, inizia tutta la procedura perattivare il collegamento. intuibile che il collegamentonon sar effettuato immediatamente. necessario chele prime frames siano congelate nel buffer di uscitain attesa che il collegamento venga effettuato. Per fareci si usi il comando:

    Router(config-if)# dialer hold-queue num_pack timeout secs

    Dove num_pack il numero di frames che si vuole chesiano mantenute nel buffer in attesa del buon esito delcollegamento.

    Bandwidth On Demand (BOD)

    Abbiamo visto nellarticolo teorico sul protocollo PPPche prevista una modalit multilink (PPP/MLP). Senon viene utilizzato il protocollo PPP questa possibilit pu essere rimpiazzata dal protocollo proprietarioCisco BOD, il quale permette, superata una certa sogliadi traffico di attivare anche il secondo canale B in

    modo da ottenere un canale logico di 128Kb/s.Si utilizzi il seguente comando:

    Router(config-if)# dialer load-thershold load [inbound |outbound | either]

    Dove load un numero compreso fra 1 e 255 ecorrisponde praticamente alla percentuale (non in100esimi ma in 255esimi !!) della banda (definita dalcomando bandwidth !!) che deve essere superata peralzare il secondo canale B. Per trovare il valore di loadin riferimento alla soglia di traffico S (b/s) si usi laseguente formula:

    loadS

    Bandwidth 255

    invece in riferimento alla percentuale P dellaBandwidth (per esempio P=25%) si usi:

    load P 2 55,

    inoltre:

    Inbound: il secondo canale B sar attivato quandoil traffico in ingresso sul primo canale B raggiungela soglia definita da load.

    Outbound: il secondo canale B sar attivatoquando il traffico in uscita sul primo canale Braggiunge la soglia definita da load.

    Either: il secondo canale B sar attivato quando iltraffico in ingresso o in uscita sul primo canale Braggiunge la soglia definita da load.

    Essendo il protocollo BOD proprietario Cisco richiedeche il router allaltro estremo deve essere Cisco.

    Verifica del chiamante

    Abbiamo visto nellarticolo teorico sul protocollo PPPche possibile utilizzare un protocollo diautenticazione di linea tipo il PAP o il CHAP. Ma seuso HDLC, Frame Relay o LAPB non posso utilizzareil PAP o il CHAP per lautenticazione di linea. LISDN permette di verificare il numero telefonico delchiamante e ci pu essere utilizzato per un controllo.Si usi il comando:

    Router(config-if)# isdn caller tel_num

    Dove tel_num il numero telefonico del chiamante. Sipu usare la wildcard X al posto dei numeri che noninteressa specificare.Qualche esempio:

    tel_num = 06845XX vuol dire che sono accettatechiamate da un range di numeri da 0684500 fino a0684599.

    Se il numero chiamante non rientra in quelli specificatiallora la chiamata viene chiusa.Fate attenzione che qualche volta possibile che loswitch isdn della rete pu non fornire il numero

    chiamante.Callback

  • 8/4/2019 Reti e dintorni 7

    24/30

    24

    possibile richiamare immediatamente il chiamante, esenza che la prima chiamata si alzi. Logicamente sisfrutta il numero telefonico del chiamante presente sulmessaggio di setup proveniente dalla centrale isdn. Ilcomando da usare :

    Router(config-if)# isdn caller tel_num callback

    Questa tecnica pu essere utilizzata, anche per ulterioresicurezza o per motivi amministrativi.

    Esempi di configurazione legacy DDR

    1) Semplice peer-to-peer con route statiche.Ambedue i peer possono attivare la chiamata:

    Configurazione router R1:R1(config)# isdn switch-type basic-net3

    R1(config)# interface bri 0/0

    R1(config-if)# ip address ip1 mask3R1(config-if)# dialer string tel_num_r2R1(config-if)# dialer-group 1

    R1(config-if)# exit

    R1(config)# dialer-list 1 protocol ip permit

    R1(config)# ip route net2 mask2 ip2

    Configurazione router R2:R2(config)# isdn switch-type basic-net3

    R2(config)# interface bri 0/0

    R2(config-if)# ip address ip2 mask3R2(config-if)# dialer string tel_num_r1R2(config-if)# dialer-group 1

    R2(config-if)# exitR2(config)# dialer-list 1 protocol ip permit

    R2(config)# ip route net1 mask1 ip1

    2) Semplice peer-to-peer con route statiche. SoltantoR1 pu attivare la chiamata. La chiamata vieneeffettuata prima verso R2, se non risponde prova achiamare R3. Viene utilizzato lindirizzamentounnumbered sulle bri e sono presenti due dialerstring su R1. Viene effettuata la verifica delchiamante su R2 e R3:

    Configurazione router R1:R1(config)# isdn switch-type basic-net3

    R1(config)# interface bri 0/0

    R1(config-if)# ip unnumbered ethernet 0/0

    R1(config-if)# dialer string tel_num_r2R1(config-if)# dialer string tel_num_r3R1(config-if)# dialer-group 1

    R1(config-if)# exit

    R1(config)# dialer-list 1 protocol ip permit

    R1(config)# ip route net2 mask2 bri0/0

    Configurazione router R2:R2(config)# isdn switch-type basic-net3

    R2(config)# interface bri 0/0R2(config-if)# ip unnumbered ethernet 0/0

    R2(config-if)# isdn caller tel_num_r1R2(config-if)# exit

    R2(config)# ip route net1 mask1 bri0/0

    Configurazione router R3:R3(config)# isdn switch-type basic-net3

    R3(config)# interface bri 0/0

    R3(config-if)# ip unnumbered ethernet 0/0

    R3(config-if)# isdn caller tel_num_r1R3(config-if)# exit

    R3(config)# ip route net1 mask1 bri0/0

    R. Gaeta

  • 8/4/2019 Reti e dintorni 7

    25/30

    25

    ATM(Asynchronous Transfer Mode oppure Another Terrible Mistake)

    Per usare in modo pi efficiente le linee ditelecomunicazioni ad alta velocit, si adoperano alcuneforme di multiplexing, che consentono a diverse

    sorgenti di condividere ununica linea con una capacittrasmissiva elevata.Le due forme pi comuni di multiplexing sono ilmultiplexing a divisione di frequenza (FDM) e quello adivisione di tempo (TDM).

    1) FDM: pu essere usato con segnali analogici che,con questa tecnica, vengono trasportatisimultaneamente sullo stesso mezzo trasmissivo,allocando una banda di frequenza diversa per ognisegnale.

    2) TDM: ne esistono due tipi:a) Multiplexing sincrono a divisione di tempo: i

    dati provenienti da vari sorgenti sono inseritiin una sequenza periodica di trame, ognunadelle quali consiste in un insieme di slottemporali. Ad ogni sorgente viene assegnatauna o pi slot per trama. Esempi sono:E1/RSVP ISDN BRI ISDN PRI E3.

    b) Multiplexing statistico a divisione di tempo:con il TDM statistico gli slot temporali nonsono pre-assegnate a particolari sorgenti, ma idati inviati dallutente sono memorizzati inuna coda e trasmessi il pi rapidamente possibile, utilizzando tutte le slot temporalidisponibili. Il TDM statistico generalmente pi efficiente rispetto al TDM sincrono.Esempio di TDM statistico lATM.

    La prima ricerca su ATM e sulle tecniche ad essarelative venne pubblicata nel 1983 dalla AT&T BellLabs.ATM ha le medesime caratteristiche di base dellacommutazione di pacchetto ma anche le particolarit(riguardanti il ritardo) della commutazione di circuito.Questa combinazione ottenuta riducendo al minimole funzionalit di rete.LATM usa pacchetti di dimensione fissa, chiamaticelle.LATM fornisce servizi sia in tempo reale che non intempo reale

    Architettura protocollare

    Gli standards rilasciati per lATM dallITU-T si basanosullarchitettura protocollare mostrata nella figuraseguente:

    Il livello fisico: il livello fisico richiede una specifica per il mezzo trasmissivo utilizzato e lo schema dicodifica utilizzato. Sono utilizzabili per esempio: E1 E3 E4 SDH.

    Il livello ATM: il livello ATM definisce sia la

    modalit di trasmissione dati tramite celle aventidimensione fissa, che limpiego di connessioni logiche.

    Il livello AAL: questo livello trasforma leinformazioni, provenienti da un livello alto, in celleATM trasportabili sulla rete ATM, e ricostruisce leinformazioni originarie a partire dalle celle ricevute.

    Piano dutente (U-plane): si occupa della trasmissionedelle informazioni dellutente e dei relativi controlli adessa associati (per esempiuo, il controllo di flusso e ilcontrollo derrore).

    Piano di controllo (C-plane): esegue il controllo dellechiamate e le funzioni relative al controllo delleconnessioni.

    Piano di gestione (M-plane): comprende la gestione deidiversi piani, inoltre svolge le funzioni di gestione dellerisorse.

    Connessioni logiche ATM

    Lelemento base del livello ATM il circuito virtuale(virtual channel). I circuiti virtuali sono unidirezionali,ma una coppia di circuiti pu essere creata nello stessoistante. La coppia distinta dallo stesso identificatore,

    e quindi in pratica i circuiti virtuali sono full-duplex.Il livello ATM supporta una gerarchia di connessione adue livelli:

    Un insieme di circuiti virtuali pu essere raggruppatoin quello che viene detto percorso virtuale (virtualpath). La tecnica a percorso virtuale utile per limitareil costo associato alle operazioni di controllo,raggruppando le connessioni che condividono percorsicomuni sulla rete in singole unit, in modo che leazioni di gestione della rete possano essere applicate adun numero ristretto di gruppi di connessioni anzich adun numero elevato di connessioni singole.Abbiamo tre possibilit di switching ATM:1):

  • 8/4/2019 Reti e dintorni 7

    26/30

    26

    2):

    3):

    Le celle ATM

    In ATM sono definite due interfacce: linterfaccia UNI(User-Network Interface) e linterfaccia NNI(Network-Network Interface).

    In entrambi i casi lATM utilizza celle di dimensionefissa da 53 Bytes, formate da unintestazione di 5 Bytes

    e da un campo dati di 48 Bytes.La seguente figura mostra le celle ATM UNI e NNI:

    Significato dei campi:1) GFC: (Generic Flow Control) questo campo

    presente solo nelle celle UNI. Viene sovrascrittodal primo commutatore che raggiunge, quindi nonha significato e non viene consegnato alladestinazione. Concepito in origine per essereutilizzato nel controllo di flusso o di priorit, manessun valore stato definito (tranne il valore0000 = non utilizzo del GFC). La cosa migliore dafare pensarlo come un errore nello standard(fonti bibliografiche: Reti di computer autoreTanenbaum).

    2) VCI: (Virtual Channel Identifier) il campodellintestazione VCI lungo 16 bits e identifica ilcircuito virtuale.

    3) VPI: (Virtual Path Identifier) il campodellintestazione VPI lungo 8 bits (UNI) o 12bits (NNI) e identifica il percorso virtuale.

    4) PT: (Payload Type) indica il tipo dinformazionecontenuta nel campo dati e la seguente figuramostra linterpretazione dei bits che lo

    compongono:

    Un valore pari a 0 nel primo bit indica un

    contenuto informativo dutente. In questo caso, ilsecondo bit indica se stata rilevata dellacongestione, mentre il terzo bit, noto come bit diService Data Unit (SDU), permette di trasferireinformazioni di segnalazione allinterno del canalevirtuale (terzo bit = 1).

    5) CLP: (Cell Loss Priority) un valore pari ad 1indica che la cella, in presenza di congestione, puessere scartata. Un valore pari a zero indica che lacella non dovrebbe essere scartata a meno che nonrimangano altre alternative. Lutente potrebbeimpiegare questo campo in modo che celle extra(al di fuori del tasso concordato) possano venire

    introdotte nella rete, ma con un CLP pari ad 1, egiungere a destinazione solo se la rete non congestionata. La rete pu inoltre porre questocampo ad 1 in ogni cella dati che viola laccordotra utente e rete.

    6) HEC: (Header Error Control) effettua un calcolodi tipo CRC sui primi quattro Bytes dellheader.LHEC attua il controllo degli errori solamentesullheader delle celle ATM, per il payload la reteATM non svolge alcun controllo di errore.

    Riconoscimento di celle particolari

    Legenda: VPI = VPI valido; A = indica che il bit a disposizione dellivello ATM per il suo normale impiego; X = non preoccuparsi delvalore di questo bit; C = indica che lentit di segnalazione deve

  • 8/4/2019 Reti e dintorni 7

    27/30

    27

    impostare il bit a 0 e la rete pu eventualmente cambiarne il valore; T= tipo di SDU;

    1) Unassigned cell: per segnalare assenza diinformazioni trasmesse (idle state) vengono usatequesto tipo di celle.

    2) Metasignalling cell: utilizzate dal protocollo dimetasegnalazione, al quale spetta il compito dicreare i canali virtuali di segnalazione.

    3) Broadcast signalling cell: sono celle usate dallarete ATM per la diffusione di informazioni dimanagement a tutti gli End System.

    4) OAM F4 flow cell: sono utilizzate per la gestionedei percorsi virtuali.

    5) ILMI message cell: sono utilizzate per il trasportodei messaggi del protocollo di managementInterim Local Management Interface.

    OAM (Operations Administration Management)

    LOAM fornisce linformazione di supervisione

    relativa, alla prova ed alle prestazioni dei diversiprotocolli.Per ottenere una funzionalit ottimale con OAM sonodefinite le seguenti funzioni:

    1) Controllo delle prestazioni: durante il normalefunzionamento, la supervisione delle prestazionicontrolla continuamente, o verifica periodicamente, le funzioni per generare leinformazioni di manutenzione.

    2) Rilevazione di guasti e malfunzionamenti:controllando continuamente o periodicamente lefunzioni, si possono rilevare i guasti.

    3) Protezione del sistema: se viene rilevato un guasto,lentit malfunzionante viene esclusa dalleoperazioni.

    4) Informazioni sulle prestazioni: Se una entit siguasta, le altre entit di gestione vengonoinformate della sua situazione.

    5) Localizzazione dei guasti: Al fine di identificareesattamente i problemi, ITU-T ha definito 5 livellifisici gerarchici.

    I primi tre livelli F1; F2 e F3 sono posti nel livellofisico (e in questo articolo non saranno trattati). Ilivelli F4 e F5, invece, sono posti a livello ATM.

    a) OAM F5: controllo delle prestazioni a livellodi canale virtuale.

    b) OAM F4: controllo delle prestazioni a livellodi percorso virtuale.

    i) Significato di alcuni campi:

    Cell Synchronization

    Come fanno i commutatori ATM a sincronizzarsi sullacella? I protocolli derivati da HDLC, per esempio,usano un campo flag (0x7E) adibito a questo compito.In ATM non abbiamo nessun campo per fornire questainformazione.ATM utilizza, per la sincronizzazione, unalgoritmo diriconoscimento a tre stati:

  • 8/4/2019 Reti e dintorni 7

    28/30

    28

    Il trucco consiste nellutilizzare il campo HEC. Quandoarrivano i bits, si memorizzano i primi 40 bit pervedere se c unintestazione valida di cella. Se latrova, gli 8 bits pi a destra saranno un HEC valido peri 32 bits pi a sinistra. Se questa condizione non valida, il buffer non conterr una cella valida e i bits

    del buffer saranno spostati a destra di 1 bit. Questatecnica ripetuta finch non viene individuato un HECvalido. Si continua in questo modo esaminando gliheader in questo modo finch non trova m headercorretti su una riga, dopodich assume di esseresincronizzato. Nonostante tutto un utente malizioso pu tentare diingannare questo algoritmo e per evitare questo possibile rimescolare (scrambling) i bits del payloadprima della trasmissione e riordinarli alla ricezione.

    Categorie di servizi ATM

    Servizi in tempo reale: la differenza pi importante tradiverse applicazioni riguarda il valore e la variabilitdel ritardo, denominata jitter. Le applicazioni in temporeale hanno stretti vincoli di ritardo:

    a) Tasso costante (CBR): il CBR comunemente utilizzato per informazioniaudio/video non compresse.

    b)

    Tasso variabile in tempo reale (rt-VBR): leapplicazioni rt-VBR trasmettono con un tassovariabile nel tempo; in altre parole, unasorgente rt-VBR di tipo impulsivo.

    Servizi non in tempo reale: fanno parte di questacategoria le applicazioni che hanno caratteristiche ditraffico intermittente e che non hanno vincoli sulritardo:

    a) Tasso variabile, senza vincoli di temporeale (nrt-VBR): il servizio nrt-VBR puessere utilizzato per il trasferimento di dati

    che hanno criticit in termini di tempi dirisposta. Questo servizio definisce un tasso di picco e un tasso medio sostenibili e unamisura dellintermittenza (burst) delle celle.

    b) Tasso disponibile (ABR): applicazioniimpulsive, che utilizzano un protocolloaffidabile end-to-end, come il TCP possonodeterminare la presenza di congestione nellarete. Tuttavia il TCP non minimizza lacongestione nel modo pi efficiente possibile,

    come potrebbe fare se utilizzasse delleinformazioni esplicite provenienti dai nodicongestionati della rete. Un applicazione cheutilizza ABR specifica il tasso di picco dellecelle (PCR, Peak Cell Rate) che vorrebbeutilizzare, e quello minimo (MCR, MinimumCell Rate) che richiede. La rete assegna lerisorse in modo tale che tutte le applicazioniABR ricevano almeno la capacit MCRrichiesta, mentre quella non utilizzata vienecondivisa in maniera equa e controllata datutte le sorgenti ABR.

    c) Tasso non specificato (UBR): questo servizio adatto a quelle applicazioni che possonotollerare ritardi variabili e perdite di celle. ConUBR le celle sono inviate tramite la politicaFIFO, utilizzando la capacit non impegnatadagli altri servizi.

    La seguente figura mostra la matrice di utilizzoapplicazioni / servizi ATM:

    I protocolli di livello AAL

    Il livello ATM non fa altro che inviare in output celledi 53 Bytes una dopo laltra. Il livello AAL (ATMAdaptation Layer) deve fornire servizi utili alleapplicazioni e di schermatura dal meccanismo disuddivisione dei dati in celle alla sorgente e quello diriassemblamento alla destinazione.Il livello AAL suddiviso in due sezioni principali:

  • 8/4/2019 Reti e dintorni 7

    29/30

    29

    Il sottolivello SAR, che interfaccia direttamente illivello ATM, responsabile delle operazioni disegmentazione e di riassemblaggio. Nel caso in cui lalunghezza di trama della PDU non corrisponda a unmultiplo di 48 Bytes, il sottolivello SAR provvedeanche al riempimento della porzione del payload

    rimasta vuota in modo da realizzare sempre celle didimensione standard.Il sottolivello CS ha invece il compito di realizzare lefunzioni dipendenti dal tipo di servizio trasportato.I sottolivelli SAR e/o CS possono anche non esistere per alcuni tipi di applicazioni. In questo caso si usalindicazione di AAL0 (raw AAL).

    AAL1: viene utilizzato per applicazioni caratterizzateda un flusso di dati costante e fortemente sensibili allavarianza del ritardo. Applicazioni tipiche in questocampo sono lemulazione di circuito.

    Il sottolivello CS si occupa della creazione dei blocchidati destinati al sottolivello SAR.Lheader della SAR-PDU, lungo un Byte, compostodai seguenti campi:1) Campo SN (Sequence Number): composto a sua

    volta da:

    a) Campo CSI (Convergence SublayerIndication): lindicatore delle funzioni dicontrollo adottate dal sottolivello CS. Ilsignificato di tale campo non dipende soltantodal valore che esso assume, ma anche dallaposizione nella sequenza delle celle trasmesse:i) CSI =1 nelle celle dispari indica lutilizzo del metodo SRTS

    per il recupero del clock

    ii) CSI=1 nelle celle pari segnala la presenza del puntatore distruttura

    b) Campo SC (Sequence Count): impiegato perla numerazione sequenziale.

    2) Campo SNP (Sequence Number Protection)composto a sua volta da:

    a) Campo CRC: si occupa della protezionetramite un CRC a 3 bits del campo SN.

    b) Campo P1: si occupa della protezione delcampo CRC.

    AAL2: standard inutilizzabile (il mondo degli standardATM pieno di intrighi, misteri e assurdit !!!)

    AAL3/4: le principali funzionalit offerte da tale AALsono multiplazione di pi flussi su ununicaconnessione virtuale, ritrasmissione di trame errate econtrollo di flusso end-to-end, supporto a connessionidi tipo punto-punto o multipunto. In AAL3/4 il

    sottolivello CS suddiviso ulteriormente in due parti.

    SSCS (Service Specific CS) e CPCS (Common PartCS). Le funzionalit base per il trasferimento di serviziconnectionless e connection-oriented vengonoassicurate dal CPCS, mentre le funzioni specifiche deiservizi sono disponibili nel SSCS.

    La struttura del CPCS da un header di 4 Bytes, unpayload variabile da 1 a 65535 Bytes e un trailer di 4Bytes.Lheader della CPCS-PDU costituito dai seguenticampi:1) CPI (Common Part Indicator): unit di misura

    della dimensione del buffer indicata nel BASize2) Btag (Beginning Tag): numerazione sequenzialesu modulo 256

    3) BASize (Buffer Allocation Size): fornisce allastazione ricevente una indicazione sulla quantit di buffer, da allocare per la ricezione della CPCS-PDU

    Il trailer della CPCS-PDU costituito dai campiseguenti:1) AL (Alignment): un campo di riempimento2) Etag (End Tag): valore identico al Btag, il loro

    valore incrementato ad ogni successiva CPCS-PDU

    3) Length: lunghezza del payloadLheader della SAR-PDU lungo 2 Bytes costituito daiseguenti campi:1) ST (Segmentation Type): indica se lunit dati

    linizio (BOM, Beginning Of Message), lacontinuazione (COM, Continuation Of Message) ola fine del messaggio (EOM, End Of Message),oppure indica la presenza di un messaggio singolo(SSM, Single Segment Message).

    2) SN (Sequence Number): permette la ricostruzionedella corretta sequenza di SAR-PDU medianteluso di una numerazione modulo 16.

    3) MID (Message Identifier): permette lassociazionedi una SAR-PDU ad un determinato messaggio.Permette la multiplazione di pi connessioniCPCS.

  • 8/4/2019 Reti e dintorni 7

    30/30

    30

    Il campo trailer della SAR-PDU lungo 2 Bytescostituito dai seguenti campi:1) LI (Length Indicator): indica il numero di Bytes

    della SAR-PDU contenuti nel payload2) CRC: usato per la rilevazione e il recupero degli

    eventuali errori presenti nellintera SAR-PDU

    AAL5: i protocolli AAL1, AAL2 e AAL3/4 furono progettati dallindustria delle telecomunicazioni estandardizzati dallITU senza una vera partecipazionedellindustria informatica. Quando lindustriainformatica si svegli si diffuse un senso di panico. Lacomplessit e linefficienza generate dai due livelli CSe SAR di AAL3/4, combinate con un CRC di soli 10 bits, obblig alcuni ricercatori a inventare un nuovoprotocollo di adattamento. F chiamato SEAL (SimpleEfficient Adaptation Layer) e f accolto da ATMForum con il nome di AAL5.

    I principali vantaggi rispetto ad AAL3/4 sono iseguenti: Maggiore efficienza trasmissiva dovuta al ridotto

    ammontare di overhead introdotto in AAL5 Rilevazione degli errori pi rapida tramite un CRC

    a 32 bit Facilit di implementazioneAAL5 non prevede la multiplazione di pi flussi sullastessa connessione virtuale ATM.

    La struttura della CPCS-PDU costituita da tre partiprincipali:1) CPCS-PDU Payload: il campo che contiene i dati

    da trasmettere. La sua lunghezza pu variare da 1 a65535 Bytes.

    2) PAD: un campo di riempimento.3) CPCS-PDU Trailer: un campo di controllo a sua

    volta composto da:a) UU (User-to-User information): trasporta in

    maniera trasparente informazioni d'utente presenti nei livelli superiori, oltre ainformazioni di congestione.

    b) CPI (Common Part Indicator): ha il compitodi ricondurre la dimensione del trailer a 64 bits. Sono tuttavia in fase di studio nuoveapplicazioni del CPI.

    c) Length: utilizzato per indicare la lunghezzaeffettiva del payload della CPCS-PDU. Inricezione, questo campo permette di rivelareleventuale perdita di informazioni.

    d) CRC: campo di controllo a 32 bits.

    A livello ATM il campo PTI identifica con il suovalore linizio/continuazione della CPCS-PDU(valore PTI = 000 = 0) e la sua fine (valore PTI =001 = 1).

    Confronto dei protocolli AAL

    Se avete avuto lidea che i vari protocolli AALsembrano assurdamente simili luno allaltro e malcongegnati, ebbene vi siete fatti unidea giustadella situazione.Anche il vantaggio di avere due sottolivelli distinti(CS e SAR) discutibile, specialmente perch ilSAR di AAL5 vuoto.Un preambolo ATM leggermente miglioratoavrebbe potuto fornire un supporto adeguato per inumeri di sequenza, il multiplexing e laframmentazione.Limpressione generale che si riceve da AAL quella di un lavoro compiuto a met, con troppe

    varianti e differenze di minore importanza.Probabilmente AAL1 non realmente necessario;AAL2 non funziona; AAL3 e AAL4 non hannomai visto la luce del giorno; AAL3/4 inefficientee ha una CRC troppo breve; AAL5 sicuramenteil migliore della famiglia, ma anche in questo casoc spazio per miglioramenti.Per ulteriori critiche vedi Report and Discussionof the IEEE ComSoc TCGN IEEE NetworkMagazine vol.9 pp. 9-29.

    R. Gaeta