13
Reti e dintorni Luglio/Agosto 2001 N° 4

Reti e dintorni 4

  • Upload
    rgaeta

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Reti e dintorni  4

8/6/2019 Reti e dintorni 4

http://slidepdf.com/reader/full/reti-e-dintorni-4 1/13

Reti e dintorniLuglio/Ag osto 2001 N° 4

Page 2: Reti e dintorni  4

8/6/2019 Reti e dintorni 4

http://slidepdf.com/reader/full/reti-e-dintorni-4 2/13

2

TECNONET S.p.A.

INFORMATION SECURITY 

INFORMATION WARFARE disciplina che tratta attacchi e contromisure atte a degradare o proteggere il patrimonioinformativo del target

CYBRNETIC WARFARE branca dell’Information Warfare legata al patrimonio informativo dell’InformationTechnology

OFFENSIVE INFOWARE operazioni finalizzate all’attacco del patrimonio informativo. Vengono eseguite daicosiddetti soggetti attivi (Attacker)

DEFENSIVE INFOWARE contromisure da effettuare per la difesa del patrimonio informativo. Vengono eseguite daiSecurity Officer.

Esistono, in Italia, delle norme impositive che determinano:1)  La redazione di un “Piano per la sicurezza” (DPCM 8/2/99 e circolare 22/99 dell’AIPA)2)  Le misure minime di sicurezza (DPR 318/99)

  Analizzare e definire le misure minime di sicurezza  Le metodiche di analisi dello scenario  La pianificazione di un documento programmatico per la sicurezza  La procedura attuativa del piano

SOGGETTI ATTIVI (Attacker) è l’artefice delle violazioni Hacker qualsiasi tecnico che applichi positivamente il proprio skill in materia di programmazione e utilizzo avanzato

delle tecnologie.Uber Hacker soggetti con esperienza su attività scientifiche universalmente riconosciute.White Hat Hacker  soggetti dall’elevato skill tecnico i quali sono stati coinvolti, almeno una volta, in episodi di

violazione di sistemi altrui.  Black Hat Hacker soggetti che agiscono nel modo più anonimo possibile mossi da motivazioni filosofico-politico-

sociali.Cracker (Criminal Hacker) soggetti che compiono le loro azioni per fini distruttivi, di lucro, spionaggio industriale ecc..  Lamer (Script Kiddies) soggetti che utilizzano tool scritti da altri in quanto non sono in grado di operare

autonomamente.SOGGETTI PASSIVI (Security Officer) è l’artefice delle contromisureBusiness Management Information Owner è il proprietario delle informazioni

  Verifica e approva le linee guida relative all’accesso e ai privilegi stabiliti dall’ISM

  Determina i requisiti minimi di sicurezza Administrator  Information Security Manager è il braccio destro del proprietario delle informazioni

  È dotato di una cultura trasversale in materia di sicurezza informatica  Rappresenta l’interfaccia con Forze dell’Ordine e Magistratura  È responsabile di tutti i processi (coadiuvato dal Process Owner e dal Product Line Manager)  Redige linee guida e policy  Ha funzione decisionale sulle scelte commerciali dell’azienda in materia di Information Security

 Process Owner ha una funzione di responsabile di progetto. Product line Manager si interfaccia con il personale commerciale delle aziende fornitrici. Information Custodian la sua funzinoe è legata a backup e recovery delle informazioni

Information Owner 

Security Administrator 

User Manager 

Information Custodian Security Analyst

Process Owner Product Line Manager 

InfoSecurity Manager 

Application Owner ChControl Analyst Solution Provider 

End User 

Page 3: Reti e dintorni  4

8/6/2019 Reti e dintorni 4

http://slidepdf.com/reader/full/reti-e-dintorni-4 3/13

3

TECNONET S.p.A.

Security Analyst  è il responsabile della determinazione del livello di sicurezza delle varie categorie di dati e dellecorrispondenti direttive

SistemistiSecurity Administrator la sua funzione è quella di coordinare una serie di sistemisti e tecnici Administration Owner amministatore di una determinata risorsa (firewall, IDS, Mail, Web, DB …)User Manager è la prima interfaccia tra utenti e il resto del team IT

Change Control Analyst verifica l’impatto delle modifiche strutturali alle applicazioniSolution Provider fornisce materialmente le soluzioni Hw-Sw

STRUTTURA DI UN ATTACCO Information Gathering – è la fase cruciale di acquisizione dell informazioni sull’obiettivoSystem Requirement Analisys – è la ricerca dei bug architetturali e di configurazioneCall For Attack – è la ricerca di complici (diretti o indiretti) per strutturare l’attacco First Attempt – è la simulazione di un attacco contro il target selezionato, solitamente viene fatto per vedere eventuali

reazioni dell’infrastruttura che si desidera colpire Attack – attacco e cancellazione delle proprie tracce. In questa fase possono essere installate delle backdoor al fine di

semplificare un successivo ritorno o utilizzare il sistema compromesso come stepping stenes per attaccare un nuovotarget Advisor - far sapere agli altri che si è riusciti a portare a buon fine un defacement

TEORIA DELL’ATTACK TREEL’Attack Tree nasce per le procedure di auditing distribuito, consiste nell’attaccare il target da più punti; non esistonovincoli nella metodica da utilizzare anche se sono indicativamente obbligatorie la pianificazione e la schematizzazionedegli attacchi.

  Qualificare il livello di sicurezza del target  Definire la giusta metodica per conseguire l’obiettivo

Tipo di Attacco – Identificare tutti gli attacchi possibili, documentati e inediti, mirati e propedeuticiTipologia di Obiettivo – Identificare il target (applicazione, rete, server farm, risorsa, ecc.)  Difficoltà Tempo di Attuazione – Verificare il livello di difficoltà dell’attacco, anche in base alla tipologia media

dell’eventuale attacker Costi – Identificare i costi dell’attacco, in termini di ore (compresa la fase di information gathering) e di tecnologie Fattibilità – Identificare il giudizio finale con questi tre indicatori: Impossibile, Possibile e Difficile

ATTACCHI DISTRIBUITI (Distributed Approach) Distributed Port Scanning (DPS) metodo il cui obiettivo è quello di intrudere i Network Intrusion Detection System.Consiste nel distribuire i punti di partenza del port scanning, il tempo di scansione ed effettuare delle scansioni randomdelle porte evitando la pianificazione sequenziale delle porte stesse spesso riconosciuta come segnale di InformationGarthering.  Raccolta e correlazione delle info distribuite. Ad attività distribuite corrispondono metodi differenziati di raccolta,analisi e correlazione dei dati acquisiti.Per comprendere il concetto degli attacchi e dell’Information Gathering distribuiti è opportuno assimilare quello piùgenerale di Distributed Net Applications. L’impostazione è di tipo piramidale, il master comunica con i client volontari

o involontari, suddivide i compiti, lancia l’attacco, analizza i dati acquisiti dai client ecc.Corse-Grained Application – il computer Master si occupa di gestire quelli gerarchicamente inferiori anche a mezzo diuno strato intermedio

Page 4: Reti e dintorni  4

8/6/2019 Reti e dintorni 4

http://slidepdf.com/reader/full/reti-e-dintorni-4 4/13

4

TECNONET S.p.A.

 Fine Grained – ogni componente deve essere in grado di comunicare con gli altri

I due esempi rientrano nella categoria del Pervasive Information Gathering, difficile da individuare a meno che non si

utilizzi una Distributed Detection in grado di operare allo stesso modo degli intruder, ma con finalità opposte.

ATTACCOLe svariate tipologie di attacco possono essere raggruppate in queste quattro categorie, :

 Acquisizione di informazioni: non è una tipologia di attacco vera e propria ma un insieme di azioni che anticipano unattacco. Esempi potrebbero essere: scanning e sniffing.

 Accesso non autorizzato: un intruso ottiene l'accesso ad una rete o ad un computer non avendone l'autorizzazione dopodi ciò potrebbe ottenere l'accesso ad ulteriori informazioni o bloccare determinati servizi.

  Accesso alle informazioni (ed eventuale modifica): l'operazione di accesso alle informazioni e l'eventuale modifica potrebbe derivare da un accesso non autorizzato al sistema mediante interrogazione a servizi esistenti o mediantespoofed mail.

  Denial of Service (interruzione del servizio): l'intruso rende un sistema, un servizio o una rete non disponibileesaurendone le risorse, siano queste risorse di rete (banda), connessioni TCP (Syn Floods) o spazio disco

(effettuando un upload di dati o causando delle registrazioni nei logs). Non richiede nessun accesso al sistema.METODI DI ATTACCOI metodi sono vari ed a volte possono essere combinati insieme.

Page 5: Reti e dintorni  4

8/6/2019 Reti e dintorni 4

http://slidepdf.com/reader/full/reti-e-dintorni-4 5/13

5

TECNONET S.p.A.

Social Engineering 

Il meno tecnico dei metodi di attacco. Consiste nell'acquisizione di informazioni parlando dei metodi di sicurezza con lagente sfruttando il fatto che di solito si è portati ad aver fiducia e ad aiutare gli altri. L'attaccante finge di essere una  persona degna di fiducia. La migliore difesa consiste nell'autenticazione (chiamata di conferma e richiesta diautenticazione).Acquisizione di informazioni

Ci sono diverse tecniche per acquisire informazioni utili all'attaccante:  Dumpster diving : analisi dei rifiuti alla ricerca di organigrammi (per trovare nomi di persone da impersonare in unattacco di social engineering), archivi cartacei, appunti o altre informazioni.

Shoulder surfing : consiste nello spiare stando alle spalle le operazioni di inserimento di informazioni sensibili(password, codici di accesso, numeri telefonici).

Scanning : il tentativo di connettersi ad un intervallo di numeri di porta o indirizzi IP per vedere quali servizi o sistemisono presenti ed attivi.

Servizi di base (Basic services): i servizi di base (finger, netstat, primitive SMTP VRFY e EXPN) possono essereutilizzati da un attaccante per ottenere informazioni sugli utenti o per verificare l'esistenza di un utente.

Sniffing : Il processo di acquisire il traffico di rete utilizzando un analizzatore di protocollo. E' necessario un accesso allarete.

Version information: è utilizzata per fornire informazioni all'attaccante circa le problematiche di sicurezza note (knownsecurity holes) all'interno della rete.

INTERCETTAZIONI PASSIVE: Sniffing e EavesdoppingIl termine ‘sniffer’ deriva dal nome di un prodotto, chiamato appunto Sniffer, sviluppato originariamente dalla Network General Corporation ed ora prodotto e distribuito da NAI. Con l’aumento delle quote di mercato di questo prodotto,questo termine è diventato sempre più popolare fino ad indicare quella categoria di prodotti dedicati all’analisi di protocollo.L’intercettazione passiva viene fatta per mezzo di strumenti che rientrano nella categoria dei Packet Sniffer (programmiche monitorizzano il flusso di dati in una determinata porzione della rete di appartenenza). Il compito principale èquello di intercettare determinate porzioni di testo che sono utilizzate per aprire connessioni (username/password). Lemodalità dipendono da dove viene posizionato il software: Workstation, Interi segmenti di reti locali (se esistono delleschede di rete in promiscuous mode è possibile intercettare tutto il traffico in transito) e Internet Gateway o Router (questo intervento è il più difficile perché legato alla larghezza di banda della connessione diretta verso Internet).La scheda di rete del sistema sniffer, per poter leggere tutti i pacchetti che viaggiano sulla rete, viene posta in unamodalità promiscua.

Concetto di Promiscuous Mode

Prima di procedere all’instradamento vengono effettuate le seguenti operazioni:1.  Il router riceve un nuovo datagramma e decide che si tratta di un pacchetto di sua competenza e fa un match tra

l’IP e la tabella dei MAC2.  Una volta effettuato il matching, il router inserisce nel datagramma delle informazioni addizionali relative al

MAC e lo trasmette.

3. 

Ogni macchina appartenente alla rete di appartenenza del router, intercettato il datagramma, verifica che ilMAC sia il proprio, in caso positivo la macchina copia il datagramma nel proprio kernelQuando una scheda è impostata in promiscuous mode, la copia avviene per tutti i datagrammi in transito sul segmentoanche quelli che non sono indirizzati direttamente alla macchina particolare.

Page 6: Reti e dintorni  4

8/6/2019 Reti e dintorni 4

http://slidepdf.com/reader/full/reti-e-dintorni-4 6/13

6

TECNONET S.p.A.

 Rilevamento di uno sniffer 

Il rilevamento di uno sniffer può avvenire controllando localmente lo stato dell’interfaccia di rete dei singoli sistemioppure utilizzando software specializzati nell’analisi delle prestazioni come AntiSniff, prodotto da L0pht Industries.Alcuni sniffer sono rilevabili attraverso l'analisi delle eventuali sonde utilizzate, per esempio, la versione completa diMS Network Monitor, presente in SMS Server, può rilevare altre installazioni dello stesso programma presentiall’interno della rete.

Impedire un attacco sniffer Per impedire un attacco sniffer avete diverse possibilità:  Topologia di rete sicura: suddivisione in compartimenti utilizzando:

Switches;Routers;Bridges;Hub attivi: in grado di instradare il pacchetto esclusivamente verso il sistema destinazione.

  Crittografia: per rendere i dati non comprensibili se non al legittimo destinatario.  Sistemi di autenticazione avanzati:

Kerberos;One Time Password.

  Aumento del traffico sulla rete: le macchine non direttamente interessate alla trasmissione non sarannoinfluenzate dall'aumento del traffico mentre il sistema sniffer sarà costretto a leggere ed analizzare tutto il

traffico.  Interfacce di rete non aventi la possibilità di passare in modalità promiscua.

Sfruttamento di relazioni di fiducia mal gestiteLe relazioni di fiducia sono degli strumenti potenti e potenzialmente pericolosi che possono sia aumentare la produttività degli utenti che, se mal gestite o peggio, lasciate nella loro configurazione "di vendita", creare delle vaste brecce nella sicurezza.User Accounts e Passwords: la più semplice delle relazioni di fiducia soffre di queste problematiche:

  Gli utenti tendono a scegliere delle passwords semplici da ricordare.  Se gli utenti sono portati a scegliere passwords difficili da ricordare tendono a scriverle da qualche parte. La

soluzione prevede l'uso di software in grado di generare passwords difficili ma allo stesso tempo semplici daricordare.

  Le passwords sono suscettibili ad un attacco di sniffing.  I files che contengono le passwords sono a volte accessibili e quindi decrittabili utilizzando strumenti sviluppati

ad hoc (NTCrack, L0pht Crack)La soluzione potrebbe essere quella di utilizzare uno schema di password resistente, a singolo uso, memorizzato sutoken card.

Windows Disk Sharing : L'accesso alle risorse avviene o attraverso quelli che sono i diritti dell'utente una voltaautenticato all'interno della rete (Dominio NT) o sulla base della singola condivisione, o senza autenticazione (MSWindows 95/3.11). L'accesso da parte di un attaccante potrebbe essere causato da un'erronea assegnazione dei  permessi. Quindi, per un utilizzo di questa risorsa bisognerebbe prevedere un'amministrazione tesa a ridurre i privilegi ed a filtrare o bloccarne l'uso dall'esterno della rete. Venendo a mancare tutto questo, questa funzionalitànon dovrebbe essere utilizzata.

Sfruttamento di servizi non autenticatiUn certo numero di servizi di rete non utilizzano l'autenticazione, e per questo possono facilmente subire un attacco dispoofing o l'accesso e la successiva modifica delle informazioni:

TFTP : si basa solo sui permessi del filesystem e potrebbe essere utilizzato per acquisire files sensibili del sistema.SMTP : la maggior parte dei sistemi non effettuano dei controlli sulla vera identità degli utenti e quindi possono essereutilizzati per un attacco di spoofing.

 DNS : il sistema potrebbe essere sensibile ad un attacco di spoofing, portando l'utente a connetersi al sistema sbagliato. RIP : visto che il protocollo non utilizza l'autenticazione, qualsiasi sitema o router in ascolto di pacchetti di RIP

  potrebbero essere indirizzati verso la rete errata dove l'attaccante potrebbe (per esempio) intercettare o almenomonitorare il traffico.

 Redirezione ICMP : soffre degli stessi problemi del protocollo RIP.La migliore soluzione consiste nel disabilitare i servizi che non vengono utilizzati o limitarne l'uso/accesso agli elementidella rete degni di fiducia. La migliore soluzione in assoluto per l'SMTP è la crittografia o l'autenticazione.Sfruttamento dei servizi centralizzatiI servizi centralizzati vengono utilizzati per la gestione dei sistemi connessi alla rete:SNMP : SNMP utilizza una community name da non confondere con una password che viene trasmessa in chiaro e che

di solito è uguale a public o private.L'utilizzo di questi servizi dovrebbe essere ridotto alle reti sicure.Malicious DataLe nuove caratteristiche dei software permettono azioni non pianificate durante la fase di sviluppo degli stessi:

Page 7: Reti e dintorni  4

8/6/2019 Reti e dintorni 4

http://slidepdf.com/reader/full/reti-e-dintorni-4 7/13

7

TECNONET S.p.A.

Vulnerabilità intenzionali, per esempio:  Macros (per esempio in MS Office);  Primitive di I/O nei files PostScript;  Java & ActiveX;  Funzionalità di Autoplay attiva (MS Windows).

La soluzione ovvia sarebbe quella di disabilitare queste funzionalità, in attesa dello sviluppo delle stesse con

caratteristiche più sicure; ma questo potrebbe limitare l'utilità dei programmi verso gli utenti.Vulnerabilità non intenzionali:

  Dati inseriti in un programma non validi;  Buffer overflow: viene utilizzato per interrompere il funzionamento di un sistema o per ottenerne l'accesso. E'

richiesta una rilevante conoscenza tecnica nell'analisi delle variabili di una applicazione alla ricerca di valorinon testati o al di fuori dei limiti consentiti. In pratica, il codice dell'attaccante invia una stringa in ingresso cheè superiore al buffer allocato dal programma e sovrascrive il byte successivo in memoria che potrebbecontenere i valori puntati dallo stack. Visto che questi valori indicano al programma dove andare per eseguirele prossime istruzioni, inserendo all'interno dei dati ben calcolati, l'attaccante potrebbe reindirizzare il tutto per far si che vengano eseguite delle operazioni presenti nella stringa di input. L'operazione è mirata ad unaspecifica variabile di uno specifico programma su uno specifico hardware o piattaforma software.

L'unica soluzione è quella di analizzare in fase di sviluppo la lunghezza delle variabili in input.Spoofing

Lo spoofing è la capacità di sostituirsi a qualcuno o a qualcosa. Esistono vari tipi di spoofing:User account spoofing : usare nome utente e password di un altro utente senza averne il diritto. Può avvenire utilizzandostrumenti come sniffing e password crackers. DNS spoofing : invio di una risposta DNS ad un Name Server nella rete della vittima. E' difficile da contrastare ma èanche difficile da attuare.  IP Address spoofing : è l'attacco più diffuso. Si basa sul fatto che la maggior parte dei routers all'interno di una retecontrollino solo l'indirizzo IP di destinazione e non quello sorgente. Questo fa si che un attaccante possa inviare dei pacchetti ad un sistema bersaglio e le risposte di quest'ultimo saranno invece inviate al falso IP utilizzato dall'attaccante.L'IP spoofing potrebbe essere limitato inserendo dei filtri sull'indirizzo IP sorgente a livello routers. IP Address spoofing e TCP Sequence Number Prediction: è suddiviso in diversi passaggi:

1. L'attaccante (X) apre diverse connessioni TCP successive per determinare il modo con cui viene generato il numero

di sequenza TCP sull'host della vittima. Quindi effettua un TCP Syn Flood di A, l'host a cui si deve sostituire.2. L'attaccante invia un pacchetto a B pretendendo di essere A ed imposta il flag SYN nel pacchetto.3. B invia un pacchetto ACK, SYN ad A che non può riceverlo perchè è sottoposto al flooding. L'attaccante deve

indovinare quale sarà il valore utilizzato nella parte di SYN del pacchetto basandosi sulle analisi fatte nel punto 1.4. L'attaccante invia l'ultimo pacchetto dell'handshake a 3 passaggi del TCP a B (ACK al posto di A più il numero di

sequenza indovinato) ed invia dei comandi a B impersonando una eventuale relazione di fiducia esistente con A.Questo tipo di attacco può essere evitato filtrando l'indirizzo IP sorgente ed utilizzando software che non utilizzino deglialgoritmi che consentano di indovinare i numeri di sequenza TCP.Sfruttamento di bugs nel softwareMolti problemi di sicurezza nascono come bugs nel software e possono essere raggruppati in:Software complesso: più il software è complesso maggiore è la probabilità di sbagliare;Opzioni per il debug o trapdoors inserite dal programmatore: inserendo una certa parola il programma esegue una

determinata operazione a volte non documentata;

Scarsa pratica di programmazione: il programmatore per mancanza di esperienza non sviluppa il programma valutandotutti gli accorgimenti necessari dal punto di vista della sicurezza:  non verifica la lunghezza delle variabili di input;  non verifica la corretta implementazione dei protocolli (ping of death);

Page 8: Reti e dintorni  4

8/6/2019 Reti e dintorni 4

http://slidepdf.com/reader/full/reti-e-dintorni-4 8/13

8

TECNONET S.p.A.

  condizioni transitorie non valutate: il programma effettua delle operazioni passando da un livello ad uno condiritti superiori. Riuscendo a bloccare il programma si potrebbe ottenere una shell con i diritti associati al programma in quel momento.

  Scarsa protezione dei segreti: molte applicazioni inviano o memorizzano informazioni sensibili in chiaro oppureutilizzano algoritmi crittografici facilmente decrittabili. Lo stesso dicasi per i protocolli

(FTP/Telnet/SMTP/POP3).

 Anomalie nel protocollo: difficili da prevenire, sfruttano caratteristiche del protocollo non analizzate:    Frammentazione IP : l'attaccante invia un secondo frame IP con una parte che si sovrappone al primo già

ricevuto.  TCP SYN Flood :

E' un attacco di tipo Denial of Service (DOS) che può interrompere un servizio su un host inviando solo da 4 a 6 pacchetti ogni due minuti. Funziona utilizzando l'handshake a 3 passaggi del TCP.

1.   Nell'attacco X invia il primo SYN fingendo di essere un indirizzo IP che non esiste (NOBODY). B invia unSYN, ACK al sistema che non esiste ed attende da questo l'invio dell'ACK. Questa attesa a volte può durarefino a 76 secondi.

2.   Nel frattempo comunque il sistema occupa risorse per attendere l'eventuale risposta all'interno del BacklogQueue, un'apposita area, riservata a questo, ma limitata comunque in quantità (dipende dall'implementazionedel fornitore e può variare da 6 a 10 slots o più). Se l'attaccante invia un numero di pacchetti tale da riempire ilBacklog Queue, il sistema attaccato non sarà più in grado di accettare connessioni e l'amministratore potrebbe

anche non accorgersi di nulla. La soluzione potrebbe essere quella di adottare dei software in grado di rilevarel'anomalia e di inviare dei pacchetti RST al sistema attaccato per ripure il Backlog Queue.

Denial of ServiceCausano la perdita dell'utilizzo di una risorsa sovraccaricandola, ma non ne permettono l'accesso all'attacante. I principali attacchi sono:  Ping floods: invio di ICMP echo request in numero maggiore a quelli gestibili dalla rete o dal sistema attaccato

(FPING);Out of Band Data Crash: l'attaccante invia un pacchetto con l'Urgent Pointer impostato e visto che la macchina

 bersaglio non lo gestisce ne causa il crash oppure il riavvio.TCP SYN Floods, Ping of Death, UDP Bombs ...Le soluzioni al problema non sono semplici. Nel caso dell'ICMP si può risolvere inserendo dei filtri. Alcuni servizi possono essere interrotti, ma non lo si può fare con tutti visto che questo non farebbe altro che far raggiungere lo scopo prefissato dall'attaccante.

M. Scapellato

Page 9: Reti e dintorni  4

8/6/2019 Reti e dintorni 4

http://slidepdf.com/reader/full/reti-e-dintorni-4 9/13

9

TECNONET S.p.A.

Efficienza, errori e pacchetti

Supponiamo di avere due hosts collegati tramite unlink come in figura:

Sulla natura del link non facciamo nessuna ipotesitranne di conoscere il tempo T che impiega un segnalead attraversare il link da un host all’altro.Per quanto riguarda la velocità di trasmissione dei datisul link, dato che non ne conosciamo la natura (che puòessere composto da vari collegamenti Lan e Wan equindi velocità diverse), possiamo soltanto parlare di

una velocità di trasmissione media v (bit/s).La velocità media di trasmissione tende comunque adassumere il valore della velocità di trasmissione delcollegamento più lento che compone il link stesso.Possiamo dunque semplificare notevolmente il modello precedente con le seguenti ipotesi:  I buffer delle code d’ingresso e di uscita di

eventuali apparati attivi presenti nel link hannouna memoria infinita.

  La velocità di trasmissione media è uguale allavelocità del collegamento più lento che compone illink.

Sotto queste due ipotesi la figura precedente diventa:

Supponiamo che ora uno dei due host deve trasmetteredei dati all’altro host e che per immettere questi dati(alla velocità v (bit/s)) sul link impieghi un tempo t.L’altro host quando ha ricevuto tutti i dati invia unauna conferma dell’avvenuta ricezione.Si ipotizzi per semplicità che l’host che riceve i dati:  Invii istantaneamente un ack (conferma ricezione)

appena ricevuto l’ultimo bit dei dati trasmessi  La dimensione dell’ ack sia di un bit (o comunque di

dimensione trascurabile rispetto ai dati trasmessi!)Si definisca a questo punto efficienza di occupazionedel link con la seguente formula:

et 

T t 

2  sia x (bit) la quantità di dati che devono esseretrasmessi. Ma abbiamo anche: x (bit) = v (bit/s) t (s)dunque l’efficienza e si può riscrivere come:

eTv x

2  

Il grafico seguente mostra l’andamento dell’efficienza per alcuni valori di T (valori scelti 2; 5; 10):

si nota che l’efficienza di occupazione del canale èmigliore se t >> 2T. Ciò potrebbe portare allaconclusione che se un host deve trasmettere dei dati, lacosa migliore che può fare è trasmettere tutti i dati insequenza senza alcuna interruzione, in modo daaumentare al massimo l’efficienza della trasmissione.Ma questa conclusione non tiene conto che ogni link èsottoposto a rumore che in modo inevitabile altereràqualche bit trasmesso.

 BER (Bit Error Ratio)

Ipotizziamo che la probabilità di errore siauniformemente distribuita nel tempo.

Sia p la probabilità che un bit trasmesso arrivi alricevitore alterato.Allora la probabilità P che una sequenza di x bit siatrasmessa senza alterazioni è data da:

 P px

( )1  Il problema è come misurare il valore di p ?La risposta è tramite il BER che è dato da:

 BER bit errati

 bit trasmessi  quindi gli strumenti che misurano il BER immettonosul link sequenze di bit conosciute e dall’altro estremodel link si misura quanti sono i bit che sono statialterati e li divide per il totale dei bit trasmessi.Se la misura è effettuata per un periodo di temposufficientemente lungo (almeno 1 giorno) possiamoscrivere con buona approssimazione:

  BER p  Allora la probabilità P che una sequenza di x bit siatrasmessa senza alterazioni diviene:

  P BERx

( )1  

H HTX

TX

RX

RX

v (bit/s)H HTX

TX

RX

RX

Page 10: Reti e dintorni  4

8/6/2019 Reti e dintorni 4

http://slidepdf.com/reader/full/reti-e-dintorni-4 10/13

10

TECNONET S.p.A.

Il grafico seguente mostra l’andamento della probabilità P per alcuni valori di BER (10-3; 10-4; 10-5;10-6):

Come si nota dal grafico si può affermare che più

 piccola è la lunghezza x dei dati trasmessi maggiore èla probabilità che la sequenza dei bit arrivi senzaalcuna alterazione.A questo punto abbiamo che per ottimizzarel’efficienza di utilizzazione la sequenza trasmessa deveessere la più lunga possibile, mentre per ottimizzare la probabilità che la sequenza arrivi inalterata al ricevitoredeve essere la più corta possibile.È evidente che deve esistere una lunghezza dellasequenza trasmessa che ottimizza contemporaneamenteambedue le esigenze.Come trovare questo valore?

Qual è la lunghezza della sequenza ottimale ?

Per chi si ricorda un po’di matematica, la risposta sitrova costruendo una funzione composta data dal prodotto:

W x e P  x BER

Tv x

 x

( )( )

( )

1

2  ora si risolvi l’equazione:

W x

 x

( ) 0

 

dopo un po’ di conti si trova la soluzioneapprossimata1:

1

La soluzione esatta è:

ora la maggior parte di voi a questo punto o avrannogià abbandonato la lettura di questo articolo o lo stanno  per fare….. ma la formula che abbiamo appenatrovato… è di importanza fondamentale sulla sceltadelle tecniche di trasmissioni dati, sull’eventuale tuningdei timers di ritrasmissione dei pacchetti, sulla

dimensione dei pacchetti trasmessi e sulla dimensionedella finestra di trasmissione.Immergiamoci ora su alcune tecniche di trasmissioneconosciute.

Tecnica Stop and Wait 

Con questa tecnica il trasmettitore:  invia una sequenza (o PDU : Protocol Data Unit)  attiva un timer   si pone in attesa di un ack   se riceve l’ack resetta il timer e può trasmettere

un’altra PDU  se scade il timer e non ha ricevuto l’ack rispedisce

la PDUUno dei protocolli più conosciuti che utilizza questatecnica è il:

TFTP (Trivial File Transfer Protocol)

Il Tftp è un protocollo connesso di livelloapplicativo, e si basa sul protocollo di trasportoUDP.È utilizzato per trasferire files.Esso trasmette i dati di un files in sequenze di 512

Bytes detti blocchi (l’intera PDU trasmessa suEthernet completa dei vari header è lunga 558Bytes), appena inviato un blocco il trasmettitoreattiva un timer in attesa di un ack, se riceve l’ack invia il blocco successivo, se scade il timer rispedisce il blocco.Ora la domanda che mi pongo è: su quali tipi dilink conviene usare il tftp per trasmettere deifiles?

Essendo per il tftp la lunghezza della sequenza xdi valore fisso, è sufficiente fare le seguenticonsiderazioni:

se il valore del BER del link sul quale si vuoleutilizzare il tftp è: 

allora è sufficiente analizzare l’andamentodell’efficienza. Nel grafico sulle ascisse è posto K = T v.

 xTv

 BER

2

 BERTv

2

2

Page 11: Reti e dintorni  4

8/6/2019 Reti e dintorni 4

http://slidepdf.com/reader/full/reti-e-dintorni-4 11/13

11

TECNONET S.p.A.

Esempio 1: Si voglia utilizzare il tftp per trasferire un file su un collegamento a 100Mb/s e con un delay T di 1 ms. Il BER è di un bit errato su un miliardo.Con i valori forniti abbiamo un K = 105 troviamo un’efficienza di occupazione del link di circa 0,02.

Conclusione: non è consigliabile utilizzare tftpcome prassi normale di trasferimento dei filessu reti lan.

Esempio 2: Si abbia ora i seguenti linksdescritti in tabella:

V (b/s) T (ms) efficienza Descrizione

64000 5 0,875 Link ISDN64000 50 0,411 Link Seriale64000 500 0,065 Link 

Satellitare

L’uso del tftp diviene inefficiente anche con

velocità più basse di quelle tipiche delle lan seil delay diviene elevato. In tabella l’utilizzo ditftp su un link satellitare per il trasferimento difiles non è consigliabile.

L’utilizzo del protocollo tftp è difatti limitatoal trasferimento dei files di configurazione odi aggiornamento degli apparati di rete.

In generale la lunghezza della sequenza trasmessa nonè fissata come in tftp.Se prendiamo come esempio le caratteristiche del link 

satellitare descritto in precedenza, e che questo link abbia un BER = 10-6 un generico protocollo che utilizzila tecnica del stop and wait per sfruttare al meglio illink avrà:

Lunghezza della

sequenza ottimale x

(bit)

efficienza Probabilità di

trasmissione senza

errori

253000 0,80 0,78

Ciò significa che per ottimizzare la trasmissione sullink satellitare dovrò trasmettere una sequenza lunga253000 bit, fermarmi, aspettare l’ack e così via. Il  problema è che su 100 sequenze trasmesse mi aspetto(purtroppo!) che in media ben 22 arrivino errate.Questo fa capire che si deve utilizzare un’altra tecnicadi trasmissione:

Tecnica Go Back N 

Spezziamo la sequenza che ottimizza il trasferimentodati in frames con lunghezza massima data dal valoreMTU (Bytes).

Il numero di frames di lunghezza MTU è detta finestradi trasmissione.Essa è data da:

dove INT significa prendere dal risultato soltanto la parte intera.

 Nell’esempio precedente del link satellitare, se MTU =1500 Bytes allora troviamo N = 21.

Il vantaggio di questa tecnica, rispetto al semplice Stopand Wait, è enorme.Si può dimostrare che la percentuale di dati ritrasmessia parità di BER, è minore con il GoBack N.Più precisamente questa percentuale è compresa fra:

01

P P 

 P 

 F 

 dove PF = (1 – BER )

8MTU

.

Ricapitoliamo le caratteristiche della tecnica GoBack  N. Il trasmettitore:  invia N frames sequenzialmente   per ogni frame inviata viene attivato un timer     per ogni frame si attende un ack (oppure si

 possono avere ack cumulativi)  se sono state inviate N frames, e finchè non si

riceve l’ack della prima frame trasmessa non si possono inviare altre frame

  se scade il timer associato ad una frame inviata,essa viene ritrasmessa insieme a tutte le frame

successive già trasmesse.

I protocolli che utilizzano questa tecnica sono molti.Alcuni sono: LAPB; HDLC; Q.931; LLC2; X25.

Esempio 3: Un collegamento CDN fra due routersCisco utilizza di default il protocollo HDLC (ricordarsiche l’HDLC nonostante sia uno standard è implementato in modo

  proprietario, quindi non è assicurata l’interoperabilità fra router dicostruttori diversi!).Il collegamento ha una velocità di linea di 128 Kb/s, undelay T = 70 ms, MTU = 576 Bytes e un BER = 10 -8 ,trovare la dimensione della finestra N ottimale per il

trasferimento dati. (Soluzione: N = 91 e i due router devono essere configurati per avere la numerazionedell’HDLC uguale a modulo 128).

Page 12: Reti e dintorni  4

8/6/2019 Reti e dintorni 4

http://slidepdf.com/reader/full/reti-e-dintorni-4 12/13

12

TECNONET S.p.A.

Lo svantaggio principale di questa tecnica è che se unaframe viene modificata o viene persa, viene siritrasmessa ma insieme a tutte le frames successive giàtrasmesse anche se ricevute senza alterazioni.

La soluzione è di utilizzare la tecnica del Selective

Repeat, che consiste banalmente nel ritrasmetteresoltanto le frames che effettivamente non sono stateconfermate dagli ack.

Questa variazione permette una riduzione percentualedei dati ritrasmessi rispetto alla tecnica del Stop andWait esattamente di:

 P P 

 P 

 F 

1  

Fino ad adesso abbiamo implicitamente supposto che ilvalore del BER o di T su un link siano valori costanti.In realtà nella maggior parte dei casi ciò non è vero.Vediamo perché:

  Per esempio la probabilità di errore normalmentenon è uniformemente distribuita nel tempo, ma haun andamento molto complesso noncaratterizzabile da un semplice valor medio comeil BER.

  Il tempo di ritardo T può variare notevolmente per:congestioni; modifica del percorso per motivi dirouting;

  Anche la velocità v può modificarsi. Pensiamosemplicemente al Backup ISDN di un CDN a 2

Mb/s.Per risolvere il problema dell’efficienza di trasmissionedi un protocollo connesso su link caratterizzati da  parametri molto variabili, le tecniche precedenti nonsono l’ottimale.È necessario che possa in modo automatico cambiare i propri parametri a fronte di cambiamenti trasmissivi.Un protocollo di questo tipo è il:

TCP  

Il comportamento del TCP è stato descritto sul n°1 di

Reti e Dintorni.  Nella descrizione che seguirà si suppone che il TCPutilizzi la tecnica del Selective Repeat (detto ancheSACK TCP).Se vogliamo ottenere una stima dell’efficienza ditrasmissione del TCP, dobbiamo fare qualcheassunzione semplificativa:  RTT (Round Trip Time) costante. (Considerate

RTT = 2T + t della formula che abbiamo dato per l’efficienza)

  La probabilità p di perdita di un pacchettotrasmesso sia costante.

Sotto queste condizioni l’andamento della cwnd 

(congestion window) ha un andamento a dente di sega.

Si trova che la banda BW occupata da TCP è data da:

 BW MSS 

 RTT  N 

 dove MSS (Maximum Segment Size) è negoziato

all’inizio della connessione TCP,  N è il valore mediodella dimensione della finestra di trasmissione (innumero di segmenti e non in Bytes).

Tipicamente MSS = 1460 Bytes. Nella formula MSSdeve essere espresso in bits.  Notiamo che BW fornisce la banda occupata dai datitrasmessi da TCP.

Esempio 4: Un trasferimento di un file su una LANFastEthernet viene effettuato tramite FTP. Sia MSS =

1460, RTT = 1 ms e  N  = 8. Si ottiene BW = 9,344Mb/s

Un limite massimo per BW è dato da:

 BW 

 RTT 

MAX 

8

 dove WMAX è il valore della massima dimensione dellafinestra di trasmissione (in Bytes), negoziato all’iniziodella connessione TCP.

Esempio 5: Un trasferimento di un file da un server   posto su una lan remota viene effettuato da un clienttramite FTP. Il client ha un buffer di ricezione di 8760Bytes e RTT = 100 ms. Qual è la banda massimateorica che può occupare il trasferimento dati ?(Risposta: 700.800 b/s).

Questo esempio mostra l’importanza fondamentaledella dimensione dei buffers di r icezione di un client. Èmolto più importante operare sui client e sui server,aumentando le loro prestazioni in termini di CPUmemoria e buffers che aumentare la velocità ditrasmissione.Infatti aumentare la velocità di trasmissione aumenta la possibilità di avere più flussi contemporanei da originie destinazioni diverse, ma se la velocità di trasmissionev è già maggiore alla banda massima teorica per iltrasferimento dati, non si hanno miglioramenti neltrasferimento dati del singolo link TCP.

Inoltre il valore di RTT difficilmente può esseremodificato in modo consistente.

Page 13: Reti e dintorni  4

8/6/2019 Reti e dintorni 4

http://slidepdf.com/reader/full/reti-e-dintorni-4 13/13

13

TECNONET S.p.A.

I seguenti grafici mostrano l’andamento della bandamassima teorica al variare di RTT per alcuni valori diWMAX:

Dal grafico si può fare qualche considerazione:

1)  Una singola connessione TCP, anche con RTT più breve possibile e con la finestra massima possibile(il valore massimo possibile è proprio 65535Bytes) non saturerà mai un collegamento inGigabit.

2)  Ricordiamoci che la finestra W corrisponde ai datieffettivamente trasportati. Il limite effettivomassimo di trasferimento dati, deve esserecalcolato tenendo conto di:a)  Lunghezza testata TCP = 20 Bytes b)  Lunghezza testata IP = 20 Bytesc)  Lunghezza testata Ethernet + FCS = 18 Bytesd)  Lunghezza SFD = 1 Bytese)  Lunghezza Preamble = 7 Bytesf)  Lunghezza minima InterPacketGap = 12

Bytesg)  Lunghezza massima dati (MSS) = 1460 BytesDunque sommando tutti questi valori troviamol’effettiva lunghezza di un pacchetto di dimensionemassima in Bytes che può essere trasmesso suEthernet/FastEthernet e si ottiene 1538 Bytes,essendo i dati effettivamente trasportati 1460Bytes otteniamo che al massimo la percentuale su

Ethernet/FastEthernet di trasferimento dati è:1460

1538100 95 % 

ciò significa che al massimo potrò trasferire dati suEthernet a 9,5 Mb/s e su FastEthernet a 95 Mb/s.

3)  Se il valore di RTT è molto elevato e il cliente silamenta per le performance, potrebbe esserecompletamente inutile fare aumentare la velocitàdei collegamenti WAN.

Ricordiamo che i protocolli connessi di livello 4 comeil TCP sono di tipo end-to-end, e la tendenza attuale èquella di utilizzare un solo protocollo connesso su tutta

la pila OSI. Questo è stato possibile grazie allamaggiore qualità delle linee. Infatti ricordiamo chequalche decina di anni fa sulle linee Wan era molto

utilizzato X.25, che si basava sul livello 2 del  protocollo LAPB che è un protocollo connesso e sullivello 3 del protocollo X.25 che è anch’esso un protocollo connesso.

Sulle LAN soltanto IBM usava il protocollo di livello 2

LLC2 come protocollo connesso, oggi i protocolli dilivello 2 (praticamente ormai esiste soloEthernet/FastEthernet e Gigabit) sono tutti di tipo nonconnesso.

Solo in rari casi e su collegamenti Wan può essere utileutilizzare protocolli di livello 2 connessi.

R. Gaeta

GigabitEthernet

FastEthernet

Ethernet

E1

Canale BISDN

W=65535

W=32767

W=8760