Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli...

652
Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo

Transcript of Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli...

Page 1: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo

Page 2: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 1: introduzione e generalita’ sulle reti di trasmissione dati

Page 3: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Informazioni generali

Docente: Alessandro Brunengoe-mail: [email protected]: [353] 6317lab: Dipartimento di Fisica, PF1, L107orario preferenziale: prendere appuntamento

Sito del corso:

http://www.ge.infn.it/~brunengo/STC

Page 4: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Informazioni generali

Orario delle lezioni: mercoledi’ ore 14-16 aula 711 venerdi’ ore 9-11 aula 711

Valutazione: prova orale 20-30 minuti, 2 domande (3 se necessario) non e’ prevista una prova intermedia

Esami in date da definire (appelli a giugno, luglio, settembre, febbraio)

Page 5: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Testi di riferimento

Lucidi delle lezioni (sul sito del corso) A. S. Tanenbaum, “Reti di

calcolatori”, IV ed., Prentice Hall W. Stallings, “Trasmissione dati e reti

di computer”, Jackson W.Stevens, “Unix network

programming”, Prentice Hall

Page 6: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Programma

Generalita’ sulle reti di comunicazione Architettura delle reti e modelli di riferimento (OSI,

TCP/IP) Phisycal Layer

Funzionalita’ del livello fisico Caratterizzazione di dati, segnali, trasmissione Serie e trasformate di Fourier Caratterizzazione del segnale in frequenza Caratterizzazione del canale Alterazione delle trasmissioni dati Trasmissione dei segnali e codifica dei dati Multiplexing Mezzi trasmissivi

Page 7: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Programma (2)

Data Link Layer (connessioni punto-punto) Funzionalita’ del livello di data link Framing Checksum e controllo errori Gestione della trasmissione Controllo di flusso Esempi di protocolli

Page 8: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Programma (3)

Data Link Layer (connessioni broadcast) Protocolli di accesso al canale Protocolli Ethernet Altri protocolli LAN Wireless Bridging e switching Virtual LAN

Page 9: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Programma (4)

Network Layer Funzionalita’ del livello di rete Algoritmi di routing Routing gerarchico Routing multicast e broadcast Controllo congestione Tunneling

Page 10: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Programma (5)

Network Layer in TCP/IP IP: struttura del pacchetto ed

indirizzamento ICMP ARP/RARP/BOOTP Protocolli di routing (RIP/OSPF/BGP) IPV6 (cenni)

Page 11: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Programma (8)

Transport Layer Funzionalita’ del livello di trasporto Indirizzamento Connessione Controllo di flusso Il trasporto in TCP/IP (Protocolli TCP ed UDP) Cenni sulle librerie socket

Page 12: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Programma (9)

Cenni sullo sviluppo di Internet Cenni sulla struttura della rete di

Dipartimento e della rete Universitaria

Cenni sulla struttura della rete di ricerca nazionale ed internazionale

Page 13: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Generalita’ sulle reti

Esigenza emergente nel XX secolo: raccolta, trasferimento, archiviazione ed accesso ad informazioni (di tutti i tipi)

Le reti di comunicazione telefono radio televisione

Le reti di computer Convergenza della rete di comunicazione

verso la rete di computer

Page 14: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Scopi ed applicazioni delle reti di calcolatori

Condivisione delle risorse stampanti, scanner, fax, programmi, dati

Accesso a risorse centralizzate potenza di calcolo, database, area di storage,

accesso alla rete esterna, modelli client-server Affidabilita’ e performance

ridondanza dei servizi condivisi distribuzione del carico su piu’ server

Scalabilita’

Page 15: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Reti e sistemi distribuiti

Una rete di computer e’ un insieme di calcolatori interconnesso L’accesso ad una risorsa remota presuppone la

connessione esplicita verso un calcolatore della rete (es. terminale remoto, file transfer)

Un sistema distribuito e’ un sistema di calcolatori (interconnesso) e software che appaiono all’utente come una unica risorsa L’esistenza di diversi calcolatori e’ resa

trasparente all’utente tramite software (e hardware) opportuno (es. database, WWW)

Page 16: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Evoluzione verso i servizi

Servizi bancari/economici/finanziari acquisti, fatturazione, operazioni bancarie

Servizi di accesso ad informazioni riviste, giornali, biblioteche, WWW

Comunicazione tra individui posta elettronica, video conferenza, chat,

newsgroop Intrattenimento

video on demand, giochi distribuiti, realta’ virtuale condivisa

Page 17: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Componenti di una rete

Calcolatori dedicati alla esecuzione dei programmi utente (host o end system)

Sistema di interconnessione degli host (sottorete), costituito da linee di trasmissione (canali) elementi di commutazione (IMP:

Interface Message Processor, Intermediate System)

Page 18: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche di una rete

Velocita’ di trasmissione Affidabilita’ Flessibilita’ Scalabilita’ Costi

Page 19: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Unita’ di misura

bit: quantita’ minima di informazione (0 o 1) byte: insieme di 8 bit carattere: gruppo di bit costituente una

informazione unitaria (generalmente pari a 1 byte) velocita’ di trasmissione dei dati:

b/s = 1 bit al secondo (anche bps) Kb/s = 1000 b/s (Kbps) Mb/s = 1000 Kb/s (Mbps) Gb/s = 1000 Mb/s (Gbps)

velocita’ di trasmissione dei simboli: baud = 1 simbolo al secondo se 1 simbolo trasporta N bit di informazione, 1 baud = N

b/s

Page 20: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Unita’ di misura (2)

Misure di tempo secondo (s): misura base millisecondo (ms): 0.001 s ( s) microsecondo (µs): 0.001 ms ( s) nanosecondo (ns): 0.001 µs ( s) picosecondo (ps): 0.001 ns ( s)

Misure di occupazione disco: kilobyte (KB): bytes (1.024 bytes) megabyte (MB): bytes (1.048.576 bytes) gigabyte (GB): bytes (1.073.741.824 bytes) terabyte (TB): bytes

310610

9101210

102202

302402

Page 21: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Topologie di rete

La topologia della rete e’ la configurazione con cui gli host e gli IMP sono interconnessi. Esistono sostanzialmente due categorie di topologie: broadcast: gli oggetti connessi in rete

condividono lo stesso mezzo trasmissivo (lo stesso canale)

punto a punto: ogni canale connette direttamente tra loro solo due oggetti

Page 22: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Topologie broadcast

Page 23: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Reti broadcast

La trasmissione dei dati di un host raggiunge tutti gli altri. Sono possibili: trasmissioni unicast (verso un singolo host) trasmissioni multicast (verso gruppi di host) trasmissioni broadcast (per tutti gli host

connessi) Protocolli semplici, alta affidabilita’ Va gestito il problema di allocazione del

canale Frequente nelle reti di piccole dimensioni

Page 24: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Topologie per reti punto a punto

Page 25: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Reti punto a punto

Fino ad alcuni anni fa, utilizzata nelle reti di grandi dimensioni; ora alcune topologie (albero) sono diffuse anche per reti di piccole dimensioni

Nelle topologie non completamente interconnesse va gestito il recapito dei dati dalla sorgente alla destinazione tramite l’inoltro a nodi intermedi, eventualmente attraverso cammini multipli

Page 26: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Reti locali (LAN)

Reti che coprono un edificio o un campus (fino a qualche Km), tipicamente di proprieta’ e gestite da una unica organizzazione (private)

In passato quasi esclusivamente di tipo broadcast – ora realizzate anche con topologie a stella e ad albero

Velocita’ trasmissive elevate (da 10 Mb/s a 10 Gb/s) un tempo irraggiungibili su distanze elevate

Bassi tassi di errori trasmissivi Esempi di protocolli:

Ethernet/Fast Ethernet/Gigabit Ethernet (bus ed albero) FDDI (anello e doppio anello) Token bus e token ring (bus ed anello)

Page 27: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Reti geografiche (WAN)

Copertura di aree estese (una regione, una nazione, un continente, il pianeta)

Topologie punto a punto Tassi di errore piu’ elevati (ma in calo con

lo sviluppo della tecnologia) Velocita’ in passato piu’ basse che nelle

LAN, ma lo sviluppo della tecnologia ha reso possibili velocita’ paragonabili o superiori

Costituiscono spesso la sottorete di interconnessione tra reti locali

Generalmente pubbliche

Page 28: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Reti metropolitane (MAN)

Le reti metropolitane coprono distanze dell’ordine di decine di Km (tipicamente una citta’)

Spesso sono una evoluzione in crescita di una o piu’ reti locali, o una infrastruttura (generalmente pubblica) per l’interconessione di reti locali della stessa area geografica

Page 29: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Interconnessione di reti

Per interconnessione di reti (internet) si intende un insieme di reti (LAN, MAN, WAN) potenzialmente differenti nella struttura e nei protocolli utilizzati, interconnesse.

L’interconnessione e’ realizzata attraverso opportune apparecchiature (gateway) capaci eventualmente di convertire i protocolli di una rete nei protocolli dell’altra

Il termine Internet definisce la internet globale che tutti conoscono

Page 30: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 2: architettura delle reti e modello OSI

Page 31: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Standardizzazione

Una tecnologia di interesse prima o poi viene prodotta a livello industriale

L’esistenza di diversi produttori con implementazioni indipendenti ed incompatibili genera caos

La definizione di standard e’ indispensabile: per poter far cooperare oggetti di produttori

diversi perche’ aumenta il mercato dei prodotti che

aderiscono allo standard Esistono standard de jure e de facto

Page 32: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

ITU

International Telecommunication Union Nasce come esigenza di definire uno standard

per le telecomunicazioni tra i diversi paesi gia’ nel 1865 (prima telegrafia, poi telefonia)

Nel 1947 diviene organismo delle Nazioni Unite Diviso in tre settori:

ITU-R (comunicazioni radio) ITU-T (telecomunicazioni, noto fino al 1993 come

CCITT) ITU-D (ricerca e sviluppo)

Page 33: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

ITU (2)

Costituito essenzialmente da governi nazionali e membri di settore (societa’ telefoniche, produttori di hardware, produttori di servizi nel settore) Ministreo delle Comunicazioni, FastWeb, Alcatel, TIM,

Telecom Italia, Vodafone Omnitel, Wind Produce delle raccomandazioni (suggerimenti che

i governi possono adottare o meno) ma spesso diventano standard riconosciuti

Esempi: V.24 (EIA RS-232): comunicazione via porta seriale CCITT X.25: standard per la comunicazione dati di tipo

circuit switching V.90: standard per la comunicazione via modem a 56

Kbps

Page 34: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

ISO

International Standard Organization Organizzazione che produce e pubblica

gli standard internazionali (su tutto) Membri: gli organismi di

standardizzazione nazionali dei paesi membri (89 nel 2004) ANSI (per gli USA) uno dei membri principali UNI (Ente Nazionale Italiano di Unificazione)

per l’Italia L’ISO e’ membro dell’ITU

Page 35: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

IEEE

Institute of Electrical and Electronics Engineers La piu’ grossa organizzazione professionale

del mondo Sviluppa ricerca e produce standards nei

settori di ingegneria elettrica e computers I suoi standard spesso vengono adottati come

standard internazionali. Ad es., sulle reti locali: IEEE 802.3 (Ethernet) IEEE 802.5 (Token ring) IEEE 802.11 (Comunicazione wireless)

Page 36: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Standard di Internet Molti degli standard adottati in Internet sono un esempio di

standard de facto Alla creazione della prima rete embrionale Arpanet e’ stato

creato un comitato per la sua supervisione (IAB: Internet Activities Board)

In seguito all’ampliamento della rete si trasforma in organismo per “orientare gli sviluppatori” con nuovo acronimo (Internet Architecture Board)

I rapporti tecnici che produce si chiamano RFC (Request For Comment), numerati sequenzialmente. Non hanno formalmente valore di standard, ma di fatto lo sono.

Con la realizzazione di Internet l’informalita’ della gestione non regge piu’: vengono creati due organismi: IRTF (ricerca a lungo termine) IETF (soluzioni rapide a problemi specifici)

Infine e’ stata creata la Internet Society, che elegge i membri di IAB. E’ piu’ una associazione di interessati che un organismo di standardizzazione.

Page 37: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Architettura di rete

• Una rete e’ costituita da componenti hardware (cavi, interfacce, circuiti integrati, processori, RAM,…) e componenti software (per la implementazione di algoritmi finalizzati al trasferimento dei dati non realizzabili in hardware).

• L’architettura di una rete definisce le specifiche con cui si vuole realizzarla

Page 38: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Architettura strutturata

Per ridurre la complessita’ del problema lo si spezza in parti

Si definisce l’insieme di compiti che ogni parte deve eseguire

Si definiscono i meccanismi con cui le diverse parti interagiscono tra loro

Si maschera la implementazione di ciascuna parte alle altre parti

Page 39: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Architettura stratificata Una strutturazione ritenuta idonea per una architettura di

rete e’ la stratificazione La rete viene strutturata in livelli (strati, o layer), visti come

una pila di oggetti Ciascuno strato ha come compito quello di fornire un

servizio allo strato superiore. La definizione delle regole di accesso ai servizi offerti da uno

strato costituisce la interfaccia tra quello strato e lo strato superiore, ed e’ l’unica cosa che lo strato superiore deve conoscere

Ciascuno strato realizza i servizi per lo strato superiore comunicando logicamente con lo strato paritario del nodo remoto, attraverso un insieme di regole dette protocollo. Lo scambio di dati con lo strato paritario viene realizzato fisicamente utilizzando i servizi dello strato sottostante.

I dettagli implementativi di come i servizi che lo strato N fornisce allo strato N+1 vengano realizzati (il protocollo di strato N) sono sconosciuti agli altri strati

Page 40: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Struttura a strati

Page 41: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Lo strato

Uno strato e’ definito quando sono definite le sue funzioni Uno strato puo’ occuparsi dello scambio dei dati

tra due applicazioni, senza occuparsi di questioni relative al modo in cui i dati debbano viaggiare sulla rete, o alla codifica dei dati

Un altro strato puo’ occuparsi di come recapitare i dati attraverso i vari nodi della sottorete, senza occuparsi ne’ del significato dei dati, ne’ del modo in cui vanno codificati i bit sul mezzo trasmissivo

Un terzo strato puo’ infine occuparsi della comunicazione tra nodi adiacenti, senza preoccuparsi di quale sia il destinatario finale dei dati, ne’ del significato dei dati stessi

Page 42: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il protocollo

Un protocollo e’ un insieme di regole che definiscono la comunicazione tra due (o piu’) entita’

Esempio: protocollo per trasferimento di file il client comunica al server “voglio trasferire un file” ed attende

la risposta dal server il server risponde “e tu chi sei?” ed attende la comunicazione

dal client il client invia lo username il server risponde

non sei autorizzato dammi la password

nel primo caso il client chiude, nel secondo invia la password il client comunica il nome del file che vuole trasferire il server fornisce il file il client legge il file e lo copia localmente alla fine il server chiude la comunicazione

Page 43: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocol Data Unit

Il protocollo definisce quindi le modalita’ con cui due entita’ comunicano

Generalmente un protocollo prevede lo scambio di dati e di informazioni di controllo per gestire la comunicazione; ad esempio: informazioni di controllo per negoziare le caratteristiche

della comunicazione (la dimensione dei pacchetti, la velocita’, …)

informazioni di riscontro (acknowledge) sulla ricezione dei dati

Il pacchetto unitario (dati o informazioni di controllo) che si scambiano due strati pari e’ detto PDU

Normalmente ci si riferisce alla PDU dello strato X con la sigla X-PDU, o XPDU

Page 44: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il servizio

Il servizio offerto da uno strato allo strato superiore definisce cosa lo strato superiore puo’ ottenere dallo strato inferiore; ad esempio: servizio di recapito dei dati affidabile o non affidabile servizio orientato alla connessione o connection less lo strato puo’ implementare il controllo di flusso servizi di comunicazione multicast o broadcast

Il servizio e’ sostanzialmente la definizione di un rapporto client-server, dove il client e’ lo strato superiore ed il server e’ lo strato inferiore

Page 45: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

L’interfaccia

L’interfaccia tra due strati adiacenti definisce le modalita’ con cui lo strato superiore puo’ usufruire dei servizi offerti allo strato inferiore

L’interfaccia e’ specificata dalla definizione di primitive di servizio, che istruiscono lo strato inferiore ad eseguire determinate azioni

L’interfaccia definisce anche i parametri che gli strati si scambiano (ad esempio un puntatore alla PDU che lo strato superiore deve inviare o ched lo strato inferiore deve recapitare)

nel caso di implementazioni software, le primitive di servizio sono di fatto chiamate a funzione, ed i parametri sono gli argomenti delle funzioni

Page 46: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Definizione della architettura

L’architettura della rete si realizza con la definizione degli strati (partizionamento delle funzionalita’), dei protocolli (come comunicano i processi paritari) e delle interfacce tra gli strati (quali servizi offre uno strato allo strato superiore e come lo strato superiore accede allo strato inferiore)

Page 47: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Flusso dei dati

Page 48: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Flusso dei dati (2)

Ogni livello organizza la sua comunicazione come se avvenisse direttamente con il processo paritario, secondo il protocollo (flusso virtuale).

I dati in realta’ scorrono dal livello superiore al livello inferiore nel nodo che trasmette, ed in senso inverso nel nodo che riceve

In generale un livello N preleva la PDU del livello N+1, e costruisce la propria PDU: se necessario spezza la PDU dello strato superiore in pezzi aggiunge in testa a ciascun pezzo un header con informazioni di

controllo se deve, aggiunge in coda a ciascun pezzo un trailer con

informazioni di controllo ciscun pezzo cosi’ formato costituisce una PDU del livello N

Il livello N accede quindi ai servizi dello strato N-1 per inviare i dati al processo paritario N sul nodo remoto

Page 49: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Servizi orientati alla connessione

La comunicazione si sviluppa in tre fasi: attivazione della connessione: in questa fase non ci

si scambiano “dati”, ma si eseguono le operazioni necessarie al successivo scambio di dati (si allocano le risorse, ci si accorda sulle modalita’ di comunicazione, eventualmente si rifiuta la connessione, …)

trasferimento dati: non e’ necessario che i dati siano indirizzati, in quanto la loro destinazione e’ determinata dall’appartenenza ad una connessione.

rilascio della connessione: il rilascio lo si fa in modo che entrambi i lati della connessione siano consapevoli di cio’, e rilascino le risorse

L’esempio classico di servizio connection oriented e’ la comunicazione telefonica

Page 50: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Servizi non orientati alla connessione

La comunicazione non prevede una fase iniziale, ne’ una fase finale: i dati vengono inviati alla controparte senza sapere se e’ pronta a riceverli.

Ogni blocco di dati deve riportare l’indirizzo del destinatario (e del mittente)

Il servizio non orientato alla connessione funziona come il servizio postale

Page 51: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Qualita’ del servizio

Servizio affidabile garantisce che i dati arrivino correttamente a

destinazione, nell’ordine giusto il servizio connection less puo’ implementare un

servizio affidabile utilizzando riscontri sulla ricezione (esempio: posta raccomandata). Il meccanismo dei riscontri (ed eventuale ritrasmissione dei dati) introduce ritardi nella ricezione dei dati

Servizio inaffidabile non si occupa di garantire la riuscita del

trasferimento dei dati, o dell’ordinamento degli stessi: qualora fosse necessario, si occuperanno della cosa gli strati superiori.

Page 52: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Qualita’ del servizio (2)

I servizi orientati alla connessione si possono classificare: flusso affidabile di messaggi (servizio affidabile orientato

al messaggio: una sequenza di pagine di un libro, fax) flusso affidabile di byte (servizio affidabile orientato al

byte: trasferimento file) connessione inaffidabile (servizio non affidabile:

telefonia) I servizi non orientati alla connessione si possono

classificare: servizio di datagramma inaffidabile (servizio inaffidabile:

accesso ad un database) servizio di datagramma affidabile (protocolli di data link

layer)

Page 53: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Modello OSI

Nel 1977 l’ISO ha costituito un gruppo che producesse uno standard universale per le architetture di rete

Il modello e’ stato pubblicato nel 1983 col nome OSI (Open System Interconnection)

Lo scopo e’ quello di definire una architettura (strati, protocolli, interfacce) in modo sufficientemente preciso da consentire implementazioni indipendenti ma interoperanti in realta’ il modello non definisce esattamente i

protocolli ed i servizi, ma piu’ in generale quello che ogni strato deve fare; le specifiche di protocolli e servizi sono state definite e pubblicate a parte.

Page 54: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Livelli del modello OSI

Page 55: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Livelli OSI: fisico

Lo strato fisico si occupa della trasmissione dei bit sul mezzo trasmissivo

La sua funzione e’ di fare in modo che un bit 0 sia ricevuto dal livello fisico del nodo remoto come bit 0, e non come 1

Problemi tipici di questo livello sono: la codifica (i valori delle tensioni, la durata dei

bit) proprieta’ meccaniche dei connettori specifiche elettriche dei circuiti dell’interfaccia

Page 56: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Livelli OSI: data link

Lo strato di data link si occupa di trasformare una trasmissione di bit grezzi tra nodi adiacenti in una linea di trasmissione priva di errori non riconosciuti

Esegue funzioni quali divisione dei dati in frame controllo degli errori conferma della ricezione (acknowledge) controllo del flusso controllo di accesso al mezzo trasmissivo in

caso di canali condivisi (substrato MAC: Medium Access Control)

Page 57: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Livelli OSI: network

Lo strato di network si occupa del recapito dei dati tra nodi non necessariamente adiacenti (quindi del funzionamento della sottorete di comunicazione)

Funzioni caratteristiche sono: suddivisione dei dati in pacchetti indirizzamento dei nodi della rete recapito a destinazione (su quale canale uscente

inoltrare i dati provenienti da un canale), solitamente basandosi su tabelle

modalita’ di definizione ed aggiornamento delle tabelle

controllo della congestione, dei ritardi, dei tempi di transito

Page 58: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Livelli OSI: transport

Lo strato di trasporto deve prelevare dati dallo strato superiore, eventualmente suddividerli in unita’ piu’ piccole, ed inviarli (tramite lo strato di rete) la nodo remoto occupandosi di controllare che le unita’ arrivino al processo pari del nodo remoto nell’ordine di trasmissione

E’ il primo protocollo end-to-end Deve occuparsi del tipo di servizio offerto allo

strato superiore (affidabile, non affidabile) OSI specifica solo un servizio connection oriented

Affronta diverse problematiche simili a quelle del livello di data link

Page 59: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Livelli OSI: session

Lo strato di sessione si occupa del controllo del dialogo controllo su quale delle due parti abbia

diritto di trasmettere supervisione di una connessione lunga

con eventuale ripristino della connessione in caso di fallimento del livello sottostante

Page 60: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Livelli OSI: presentation

Il livello di presentazione si occupa essenzialmente di rendere trasparente eventuali rappresentazioni differenti dei dati codifiche differenti dei dati (ASCII/EBCDIC, …)

ASCII: American National Standard Code for Information Interchange

EBCDIC: Extended Binary Coded Decimal Interchange Code

compressione crittografia

Page 61: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Livelli OSI: application

Il livello di applicazione si occupa di definire le specifiche che le applicazioni utente possono utilizzare per accedere alla rete

L’ISO ha fornito specifiche su sole tre applicazioni: FTAM (file transfer) X.400 (posta elettronica) X.500 (servizio di directory)

Page 62: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Schema del modello OSI

Page 63: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Service Access Point

Uno strato puo’ fornire servizio a piu’ entita’ dello strato superiore

Per essere identificabili queste entita’ devono avere un indirizzo

L’indirizzo generico di accesso ad uno strato si chiama Service Access Point (SAP)

L’indirizzo di accesso allo strato di Network e’ detto NSAP, allo strato di trasporto TSAP

Lo strato N del computer ricevente deve sapere a quale entita’ dello strato N+1 deve recapitare le informazioni, quindi ricevere dal pari l’informazione del SAP dello strato N+1 destinatario

Page 64: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Primitive di servizio

Nel modello OSI ci sono 4 categorie di primitive: request: una entita’ chiede al servizio di

fare qualcosa indication: una entita’ deve essere

informata su un qualche evento response: una entita’ vuole rispondere

ad un evento confirm: una entita’ deve essere

informata sulla sua richiesta

Page 65: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio

In una comunicazione orientata alla connessione tra due computer si avra’ la seguente sequenza:

connect.request: lo strato N chiede che venga stabilita una connessione

connect.confirm: lo strato N-1 informa sulla realizzazione della connessione

data.request: lo strato N chiede di inviare dati

disconnect.request: lo strato N chiede di chiudere la connessione

connect.indication: lo strato N viene informato sulla richiesta di connessione

connect.response: lo strato N accetta (o rifiuta) la connessione

data.indication: lo strato N viene avvisato che sono arrivati dati

disconnect.indication: allo strato N viene notificata la richiesta di disconnessione

1 2

34

5 6

78

Page 66: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 3: Architettura TCP/IP

Page 67: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Commutazione di circuito

Una rete estesa, a topologia irregolare, deve occuparsi di come fare a realizzare una comunicazione tra nodi distanti

La tecnologia a commutazione di circuito prevede che si stabilisca a priori un percorso dedicato alla trasmissione dei dati, definendo la sequenza di linee punto punto che costituiranno il cammino verso la destinazione

Le risorse dedicate alla trasmissione vengono allocate e dedicate a quella specifica trasmissione, e vengono rilasciate alla fine della trasmissione dati

Una volta stabilito il circuito, i dati vengono instradati da ogni nodo intermedio verso il canale di uscita predisposto, senza introdurre ritardi

Page 68: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Schema di commutazione di circuito

Page 69: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Commutazione di pacchetto

La tecnologia a commutazione di pacchetto segue una logica completamente differente

nessuna risorsa viene preventivamente allocata per la trasmissione dei dati

i dati vengono separati in pacchetti, ciascuno dei quali viene inviato indipendentemente dagli altri

i pacchetti possono arrivare a destinazione in tempi diversi, con ritardi e perdite, lungo cammini potenzialmente differenti

ogni nodo della rete riceve il pacchetto, lo memorizza, prende una decisione su dove instrararlo e lo invia

Page 70: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Schema di commutazione di pacchetto

Page 71: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Considerazioni sulla commutazione

La commutazione di circuito ha le caratteristiche preallocazione risorse, quindi non c’e’ congestione predefinizione del circuito, quindi non c’e’ ritardo

per la trasmissione La commutazione di pacchetto e’

caratterizzata da maggiore efficienza perche’ le risorse inutilizzate

sono disponibili per altri maggiore flessibilita’ per guasti sulla rete: i

pacchetti successivi al guasto possono trovare un’altra strada

Page 72: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Modello TCP/IP

Il modello nasce da un progetto del Dipartimento della Difesa USA per la realizzazione di una rete di trasmissione solida per le necessita’ del DoD (Advanced Research Project Agency)

Lo scopo era quello di realizzare una rete di trasmissione dati dotata delle caratteristiche: Solidita’ rispetto a potenziali eventi distruttivi di

una parte della rete Possibilita’ di mettere in comunicazione reti

differenti sparse sul territorio L’ARPA decise di progettare e sviluppare una

rete a commutazione di pacchetto

Page 73: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Architettura del TCP/IP

Il TCP/IP e’ nato come realizzazione di un insieme di pezzi che svolgessero determinate funzioni

Questi pezzi sono stati sviluppati talvolta per risolvere problemi circostanziati, senza un disegno architetturale a priori

Solo dopo la sua realizzazione si e’ tentato di fornire una descrizione in termini di architettura stratificata, in modo analogo al modello OSI

La stratificazione risulta tuttavia meno precisa e meno vincolante rispetto al modello OSI (ad esempio, non e’ rigoroso l’impiego di tutti i livelli)

Page 74: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Strati del TCP/IP

TCP/IP ha una architettura stratificata, come OSI, ma a soli 3 livelli: Application: livello che si occupa di fornire un

accesso alla rete alle applicazioni. E’ un livello che equivale ai livelli 5, 6 e 7 di OSI.

Transport: livello di trasporto end-to-end, equivalente al livello 4 di OSI

Internet: livello di interconnessione di reti, sostanzialmente equivalente nelle funzioni al livello 3 di OSI

Sotto al livello internet, non viene specificato nulla se non che deve esistere un modo per recapitare i pacchetti del livello internet; questo talvolta e’ indicato come ulteriore livello, detto di accesso alla rete (host to network)

Page 75: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il livello internet Il livello internet si occupa di come recapitare i dati

nella sottorete (routing), e di inviarli infine nella rete di destinazione.

E’ specificato un protocollo non orientato alla connessione: IP (Internet Protocol)

Il protocollo richiede che per ogni computer connesso alla rete sia definito un indirizzo univoco (indirizzo IP)

Questo protocollo suddivide i dati in pacchetti e li instrada utilizzando tabelle che fanno corrispondere ad ogni indirizzo IP un canale in uscita

Funzione di questo livello e’ anche la costruzione ed il mantenimento dinamico delle tabelle; sono definiti per questa funzione protocolli che possono essere inseriti in questo strato, anche se utilizzano IP come se fosse un sottolivello

Page 76: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il livello di trasporto

Il modello definisce due protocolli differenti per il trasporto: TCP (Transmission Control Protocol) che realizza un

servizio di trasporto end-to-end affidabile orientato alla connessione. Questo protocollo si occupa di tutte le questioni caratteristiche del livello di trasporto di OSI

UDP (User Datagram Protocol) che realizza un servizio inaffidabile connection less

Le applicazioni accedono a questi protocolli tramite i punti di accesso al servizio, che nel modello si chiamano porte (port)

Entrambi i protocolli segmentano i dati del livello di applicazione, aggiungono un header, e passano i segmenti al livello di internet

Page 77: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Livello di applicazione

Originariamente le applicazioni disponibili erano terminale remoto, file transfer e posta elettronica

Esistono oggi innumerevoli applicazioni basate su TCP/IP terminale remoto: telnet, rsh, ssh file transfer: ftp, sftp trasferimento pagine di ipertesto: http trasferimento messaggi: smtp, nntp controllo remoto dei nodi della rete: snmp trasporto di interfacce grafiche: X conversione nomi-indirizzi: dns sincronizzazione tra computer: ntp …

Page 78: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Flusso dei dati in TCP/IP

Page 79: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Schema dei livelli del TCP/IP

Page 80: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Considerazioni sui modelli Il modello OSI e’ stato pensato a lungo, ed architettato con

cura, ed e’ stato realizzato con una chiara definizione delle funzionalita’ e dei confini tra le sue componenti

Tuttavia la complessita’ e la mancanza di esperienza sul campo hanno reso difficile la implementazione pratica funzionale del protocollo

Lo standard e’ arrivato troppo tardi: il mondo aveva gia’ preso un’altra strada

Alcuni strati sono sostanzialmente inutili, altri molto pesanti Molte funzionalita’ vengono ripetute in modo inefficiente in

strati differenti, e mancano funzionalita’ utili (un servizio connection less a livello di trasporto)

E’ stata realizzata una implementazione che ha avuto una certa diffusione: Decnet/OSI (dalla DEC): questa e’ stata utilizzata per alcuni anni nella rete di ricerca internazionale, ed in seguito abbandonata

Nonostante dichiarazioni di intenti (il DoD affermo’ che avrebbe pensionato i protocolli TCP/IP per una migrazione verso OSI) questa architettura non ha sfondato

Page 81: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Considerazioni sui modelli (2)

Il modello TCP/IP gode i frutti di una solida esperienza sul campo

Il suo utilizzo, diffuso anche grazie alla diffusione del sistema operativo Unix che utilizza TCP/IP come protocollo di rete nativo, si e’ ampliato fino a sbaragliare la concorrenza

La sua architettura non e’ ben definita nelle separazioni delle funzioni, e il concetto di stratificazione e’ violato (o violabile) in molte circostanze

Il modello e’ inadatto a descrivere protocolli differenti dal TCP/IP, quindi e’ legato alla implementazione specifica

Manca totalmente una definizione di come si debba fare per accedere al mezzo fisico (in pratica e’ incompleto)

Page 82: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Confronto tra i modelli

Page 83: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Apocalisse dei due elefanti

Page 84: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Modello ibrido Spesso per parlare di reti si prende come punto di

riferimento l’architettura OSI, ma si prende atto che i livelli di session e presentation sono sostanzialmente inutili, e si adotta una struttura a 5 livelli: applicazione trasporto rete data link strato fisico

In questo modo si puo’ parlare delle architetture OSI e TCP/IP disponendo di una corrispondenza uno a uno tra gli strati, assumendo che il modello TCP/IP raggruppi nello strato di accesso alla rete i primi due strati OSI (che poi e’ quello che accade in pratica)

Nel corso adotteremo questa struttura, fermandoci al livello di trasporto

Page 85: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 4: strato fisico: caratterizzazione del segnale in frequenza; formula di Nyquist

Page 86: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Lo strato fisico

Le principali funzioni dello strato fisico sono definizione delle interfacce meccaniche (specifiche dei

connettori) tra il mezzo trasmissivo ed il computer definzione delle interfacce elettriche o ottiche

(definizione dei livelli di tensione, lunghezze d’onda dei segnali)

codifica del segnale (rappresentazione dei dati in termini delle caratteristiche del segnale, modulazione)

amplificazione e rigenerazione del segnale definizione delle specifiche del mezzo trasmissivo (cavi,

fibre) Lo strato fisico riceve dal livello superiore un

insieme di bytes (frame) e lo trasmette sul mezzo trasmissivo come un flusso di bit indipendenti

Page 87: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Trasmissione delle informazioni

Le informazioni nella trasmissione dati vengono inviate tramite propagazione di segnali elettromagnetici (tensioni, onde radio, luce, …) utilizzando diversi mezzi trasmissivi (cavi in rame, fibre ottiche, aria, spazio vuoto)

L’informazione trasmessa viene codificata tramite la variazione di caratteristiche del segnale trasmesso, ed interpretata in ricezione secondo le stesse regole

Page 88: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio

Possiamo ad esempio pensare di trasmettere la sequenza di bit 0101100100100 tramite un segnale ad impulsi quadri di lunghezza T in modo che al bit 0 corrisponda un valore di tensione 0, al bit 1 corrisponda un valore di tensione V

Page 89: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Segnali periodici

Nella trasmissione dati hanno particolare importanza i segnali periodici

Caratteristiche: ampiezza (A): livello

massimo del segnale fase (φ): misura della

posizione relativa del segnale ad un dato istante

periodo (T): intervallo temporale della periodicita’

frequenza (f): inverso del periodo

sec

1 1Hz : Hertzin

1

Tf

Page 90: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche dei segnali periodici

Page 91: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Altre caratteristiche Per i segnali sinusoidali si definiscono anche:

lunghezza d’onda (λ): la distanza in metri tra due punti di uguale fase in periodi adiacenti (la distanza tra due creste d’onda)

velocita’ di propagazione (v): la velocita’ con cui si sposta una cresta d’onda nello spazio

In base alle definizioni si ha:

Velocita’ delle onde elettromagneliche:

Per la luce si ha

fT

v

rame) (nel m/s 102 vuoto),(nel m/s 103 88 cc

m 103103 Hz1010 761514 f

Page 92: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Somma di onde sinusoidali La somma di onde

sinusoidali le cui frequenze sono multipli di una di esse e’ ancora un segnale periodico

La frequenza piu’ bassa si chiama fondamentale

La frequenza si chiama armonican-esima

La frequenza del segnale risultante e’ pari alla frequenza fondamentale

0fn

nf

Page 93: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratterizzazione dei segnali in frequenza

In generale un segnale trasmesso in un certo modo in ricezione si presenta differente a causa di effetti dovuti alla trasmissione

La trattazione dei segnali in termini della loro evoluzione temporale si rivela complessa

Come vedremo in seguito puo’ caratterizzare la risposta della trasmissione dei segnali in funzione della frequenza di un segnale sinusoidale generato in trasmissione

Poiche’ non tutti i segnali sono sinusoidali, ne’ periodici, risulta di fondamentale importanza ricondurre la trattazione di un qualsiasi segnale in termini di segnali sinusoidali (a frequenza definita)

Esiste una teoria matematica, elaborata da Fourier, che ci permette di considerare ogni segnale come somma di segnali sinusoidali

Page 94: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Serie di Fourier Data una qualsiasi funzione periodica di periodo T continua

con derivata continua a tratti e limitata, e’ possibile scriverla come somma di seni e coseni:

dove f0 = 1/T e’ la frequenza della funzione I coefficienti dello sviluppo sono dati dalle relazioni:

tnfbtnfaa

tvn

nn

n 01

01

0 2sin2cos2

)(

T

n

T

n

T

dttnftvT

b

dttnftvT

a

dttvT

a

0 0

0 0

00

2sin)(2

2cos)(2

)(2

Page 95: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio 1: funzione coseno

Eseguiamo lo sviluppo di Fourier della funzione

I coefficienti sono:

Quindi lo sviluppo e’:

)2cos()( 0 tfAtv

T

n

T

n

T

nA

ndttnftfA

Tb

nA

ndttnftfA

Ta

dttfAT

a

0

00

0

00

0

00

1per sin

1per 02sin2cos

2

1per cos

1per 02cos2cos

2

02cos2

tfAtfAtfA 000 2sinsin2coscos2cos

Page 96: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Forma esponenziale della serie di Fourier

La serie di Fourier puo’ essere scritta in modo piu’ generale (anche per funzioni complesse) nella forma:

Per le funzioni reali si ha:

Ttnfi

n

n

tnfin

dtetfT

c

ectf

o

o

0

2

2

)(1

)(

nnnn

nn

cbcaca

cc

Im2 ,Re2 ,00

Page 97: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio 2: onda quadra

L’onda quadra e’ definita come:

ZkTktT

kTA

ZkT

kTtkTAtv

,12

per

,2

per )(

Page 98: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio 2: onda quadra

Il calcolo di coefficienti per l’onda quadra fornisce:

disp.

)sin(

dispari n per 2A

i-

pari n per

n

n

n

tfnAtv

n

c

024

0

Page 99: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Altra rappresentazione

La serie di Fourier si rappresenta anche come serie di soli coseni:

dove

1

00 )2cos(n

nn tnfvvtv

n

nn

nnn

a

b

bav

arctan

22

Page 100: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Segnali non periodici

Benche’ improprio, si puo’ pensare ad un segnale non periodico come ad un segnale periodico di periodo infinito

La frequenza fondamentale (quindi la distanza tra le armoniche) si riduce a zero

La rappresentazione del segnale tramite serie di Fourier, in questo limite, sara’ costituita da somma di frequenze sempre piu’ vicine all’aumentare del periodo

La serie di Fourier si trasforma da somma in integrale

Page 101: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Trasformata di Fourier Data una funzione v(t) integrabile, non periodica e tale che:

si ha:

dove

si dice trasformata di Fourier di v

)(

2dttv

dfefVtv fti 2)(

dtetvtvfV fti 2)(

Page 102: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Rappresentazione spettrale di un segnale

Il grafico delle ampiezze rispetto alle frequenze di cui e’ composto il nostro segnale si chiama rappresentazione spettrale

Le righe della rappresentazione spettrale mostrano il contributo alla ampiezza del segnale dovuto alle relative frequenze

Se il segnale ha un valore medio non nullo (cioe’ il coefficiente a0 non e’ nullo) il segnale ha una componente continua (a frequenza nulla)

Page 103: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Spettri continui e discreti

Una funzione periodica e’ esprimibile come somma di funzioni sinusoidali a frequenze che sono multipli interi della frequenza del segnale, quindi ha uno spettro discreto, cioe’ costituito da un insieme discreto di frequenze

Una funzione non periodica e’ esprimibile come integrale di funzioni sinusoidali; le sue componenti possono avere qualsiasi frequenza, quindi avra’ uno spettro continuo

Page 104: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio di spettro continuo

Il segnale di impulso quadro di ampiezza A e periodo T ha per trasformata di Fourier la funzione

il cui spettro e’ mostrato in figura

Tf

TfATfS

sin

)(

Page 105: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Potenza di un segnale

Si definisce potenza media del segnale periodico la quantita’:

In base alle trasformazioni di Fourier, si puo’ dimostrare che la potenza media del segnale periodico e’ data da (teorema di Parseval):

Spesso la rappresentazione spettrale viene fatta graficando il modulo dei coefficienti di Fourier dello sviluppo, evidenziando il contributo alla potenza del segnale dovuto alle diverse armoniche

Al limite per n ∞ il contributo alla potenza delle armoniche tende a zero (quindi i contributi principali vengono dalle armoniche piu’ basse)

T

dttfT

P0

21

1

222

02

2 nnn

nn ba

acP

Page 106: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Spettro dei contributi alla potenza

Page 107: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Larghezza di banda di un segnale

La larghezza di banda di un segnale e’ data dall’intervallo delle frequenze di cui e’ composto il suo spettro

Generalmente un segnale ha banda infinita Tuttavia spesso la potenza del segnale e’

contenuta per la maggior parte in un insieme limitato di frequenze

Questo intervallo limitato di frequenze si dice banda efficace del segnale

Page 108: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Limitazione della banda in trasmissione

Nella trasmissione dei segnali e’ impossibile trasmettere tutte le frequenze di cui e’ composto il segnale stesso

Il mezzo trasmissivo, la tecnologia che genera il segnale o scelte volontarie impongono una limitazione alla banda utilizzabile

La trasmissione di un numero limitato delle armoniche del segnale fa si che in ricezione il segnale apparira’ differente

Maggiore e’ il numero di armoniche trasmesse, migliore apparira’ il segnale in ricezione

Page 109: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Effetto della limitazione di banda

Supponiamo di voler trasmettere il carattere ASCII ‘B’, che secondo la codifica e’ dato dalla sequenza di bit 01100010, ad una velocita’ di trasferimento di 2000 bps

Il segnale che rappresenta il carattere di 8 bit avra’ un periodo di 8/2000 secondi, quindi una frequenza fondamentale pari a 250 Hz

La trasmissione su un canale con banda limitata permettera’ di trasmettere solo le prime armoniche

Vediamo nella figura seguente come un canale con 2 KHz di banda (8 armoniche) permette una ricostruzione agevole del segnale inviato, mentre un canale con banda ridotta a 500 Hz (2 armoniche) rende molto piu’ problematica la ricostruzione dei bit trasmessi, che diventa impossibile lasciando passare solo la prima armonica

Page 110: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Effetti della limitazione di banda

Page 111: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Velocita’ di trasmissione e larghezza di banda

Con lo stesso esempio possiamo vedere come la presenza di un canale a banda limitata, di fatto limita la velocita’ di trasmissione dati ottenibile sul canale

Supponiamo di avere una linea telefonica, la cui larghezza di banda e’ circa 3.1 KHz, e di trasmettere il carattere di prima alla velocita’ di B bit al secondo

La frequenza del segnale (cioe’ la frequenza della prima armonica) sara’ B/8 Hz

Ne segue che l’armonica piu’ alta che potra’ attraversare il canale avra’ n=3000/(B/8), cioe’ 24000/B.

Da questo consegue che, ad esempio, una trasmissione a 9600 bps lascera’ passare soltanto le prime due armoniche, compromettendo la ricostruibilita’ dei bit in ricezione, mentre una trasmissione a 2400 o 4800 bps sara’ efficace.

Page 112: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Formula di Nyquist

Nyquist ha dimostrato una relazione tra la velocita’ di trasmissione ottenibile attraverso un canale a banda limitata: il tasso di trasmissione dati massimo ottenibile attraverso

un canale privo di rumore con larghezza di banda H e’ dato da

Se si trasmettono segnali multilivello, con molteplicita’ M, il tasso di trasmissione massimo e’ dato da:

bit/s HB 2

bit/s Mlog22 HB

Page 113: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 5: strato fisico: caratterizzazione del canale in frequenza; capacita’ del canale

Page 114: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Una linea di trasmissione dati puo’ essere vista come un circuito che fa corrispondere ad un segnale in ingresso un segnale in uscita

Il comportamento di un circuito viene descritto dalla sua risposta in frequenza, vale a dire dalle caratteristiche del segnale in uscita in corrispondenza ad un segnale sinusoidale in ingresso

Si definisce funzione di trasferimento il rapporto tra il segnale in uscita e quello in ingresso, che in genere dipendera’ dalla frequenza del segnale in ingresso

Linee di trasmissione e circuiti

Page 115: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Circuiti lineari

Un circuito lineare soddisfa le seguenti caratteristiche: detto I il segnale di ingresso e U il segnale in uscita:

U = f(I) f(I1+I2) = f(I1)+f(I2) f(aI) = af(I)

La risposta di un circuito lineare ad un segnale sinusoidale sara’ in generale un segnale sinusoidale alla stessa frequenza, con fase ed ampiezza differenti

L’effetto del circuito sul segnale di ingresso cambiera’ al variare della frequenza del segnale di ingresso

Il comportamento in funzione della frequenza e’ la caratterizzazione del circuito in frequenza (cioe’ la definizione di come variano l’ampiezza e la fase dell’uscita in funzione della frequenza)

Page 116: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Root Mean Square Amplitude

La potenza di un segnale sinusoidale del tipo:

dove V e’ l’ampiezza ed f la frequenza, e’ data da:

Il valore

e’ detto ampiezza quadratica media del segnale Ad esempio, l’alimentazione elettrica domestica e’

data da un segnale di tensione a 50 Hz, con VRMS=220 volt

)sin( ftVtv 2

2

1 22

0

Vdttv

TP

T )(

22

2 VVV RMS

Page 117: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Decibel

Per confrontare potenze o ampiezze relative si fa utilizzo di una misura del rapporto in scala logaritmica, detto decibel:

In caso di segnali sinusoidali, il decibel si puo’ esprimere come:

Ad esempio:

1

210P

PdB log

1

22

1

22 2010

V

V

V

VdB loglog

RMS

RMS

dB . dB, . dB, 350201020101

2

1

2

1

2 V

V

V

V

V

V

Page 118: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Diagrammi di Bode La rappresentazione grafica della funzione di

trasferimento e’ realizzata tipicamente graficando il suo modulo in dB in funzione della frequenza, anch’essa in scala logaritmica (diagramma di Bode)

e la sua fase, anch’essa in funzione della frequenza sempre espressa in scala logaritmica

Page 119: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esmpio: circuito RC

Come esempio, calcoliamo la funzione di trasferimento di un circuito RC misurando la tensione in uscita ai capi del condensatore;qui ed in seguito si esprimera’ la frequenza in termini di pulsazione:

RCHArgCR

H

CiR

V

CiV

evV tii

arctan)(

inout

in

2221

1

11

f 2

Page 120: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Diagramma del circuito RC

Page 121: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Frequenza di taglio

Il circuito RC di esempio lascia passare pressoche’ inalterate le frequenze inferiori ad un certo valore, mentre attenua l’ampiezza di quelle superiori

Il circuito si comporta quindi come un filtro che elimina le alte frequenze

I filtri di questo tipo si chiamano filtro passa basso Si definisce frequenza di taglio la frequenza per la

quale si ha un valore di -3dB del rapporto tra le ampiezze (corrispondente al dimezzamento del livello del segnale)

Nel caso del circuito RC visto ora, la frequenza di taglio corrisponde alla frequenza

RCc

1

Page 122: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Filtro passa alto

Analizzando la risposta ad un circuito RC misurando la tensione ai capi della resistenza si ha:

RCHArg

CR

H

CiR

VRV

evV tii

1

11

1

1

222

arctan)(

inout

in

Page 123: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Filtro passa alto

In questo caso le frequenze che passano inalterate sono quelle alte, mentre vengono filtrate le basse frequenze

La frequenza di taglio, valutata sempre come la frequenza a -3 dB, vale ancora

RCc

1

Page 124: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Diagramma filtro passa alto

Page 125: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Filtro passa banda

Un filtro passa banda e’ un circuito che lascia passare solo le frequenze entro un certo intervallo

In questo caso avremo due frequenze di taglio, e si definisce banda passante del circuito:

12 B

Page 126: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Canali trasmissivi come filtri

Un canale trasmissivo e’ sostanzialmente un circuito dotato della sua funzione di trasferimento

Le condizioni ideali per la trasmissione dati e’ che la funzione di trasferimento abbia le seguenti caratteristiche: Modulo di H piatto ed indipendente dalla frequenza

(per non alterare in ricezione il rapporto di intensita’ delle diverse armoniche del segnale)

Fase di H funzione lineare della frequenza. Infatti:

tt

tatatA

quindi da teindipenden essere deve che ritardo il e' dove

sinsinsin

Page 127: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio di canale ideale

Page 128: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Effetti della non linearita’ Un circuito la cui risposta non sia lineare presenta un

comportamento che non puo’ essere descritto come abbiamo visto

Per dare una idea di cosa puo’ accadere, in approssimazione di piccoli segnali di input la risposta (temporale) puo’ essere approssimata da un polinomio

L’effetto dei termini non lineari si evidenzia nel caso di segnale sinusoidale in ingresso: ponendo

si ottengono in uscita termini a frequenza 2ω, 3ω, 4ω, …, cioe’ armoniche della frequenza del segnale in ingresso

...)()()()( tvatvatvatv iiio3

32

21

)cos()( tvtvi

Page 129: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Alterazioni dovute alla trasmissione dei segnali

La trasmissione dei segnali e’ sempre accompagnata da alterazioni, che essenzialmente si distinguono in attenuazione (riduzione della intensita’ e

distorsione) distorsione di ritardo rumore

Queste alterazioni comportano la possibilita’ di commettere errori in ricezione, ed in generale stabiliscono un limite alla distanza che puo’ percorrere un segnale ed alla velocita’ di trasmissione che possiamo ottenere su una larghezza di banda limitata

Page 130: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Attenuazione

Qualunque segnale viene attenuato per effetto del suo trasferimento su un mezzo trasmissivo, tanto piu’ quanto piu’ e’ grande la distanza che deve attraversare nei mezzi guidati in genere l’attenuazione

ha un andamento logaritmico con la distanza

nei mezzi non guidati e’ il risultato di molti fattori la cui analisi e’ piuttosto complessa (distanza, umidita’ dell’aria, pioggia, dispersione, …)

Page 131: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Attenuazione (cont.)

Vanno considerati alcuni aspetti nella trattazione della attenuazione: un segnale deve essere ricevuto con una intensita’ tale da

essere rilevato dai circuiti in ricezione, e deve essere distinguibile dal rumore (vedi oltre)

l’effetto della attenuazione e’ una funzione che dipende dalla frequenza del segnale (da cui la distorsione in ricezione)

Per ovviare al primo problema non e’ possibile semplicemente aumentare la potenza del segnale, per motivi di costi e perche’ al crescere della potenza compaiono effetti non lineari nel comportamento dei circuiti (in trasmissione o in ricezione) adibiti alla generazione o elaborazione del segnale

Page 132: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Attenuazione (amplificatori e ripetitori)

Poiche’ oltre una certa distanza il segnale si attenua troppo, si ovvia a questo in due modi, a seconda del tipo di trasmissione nella trasmissione analogica vengono introdotti

nel canale degli amplificatori, che aumentano la potenza del segnale il problema a cui si va incontro in questo caso e’ che

un amplificatore amplifica anche il rumore, quindi oltre un certo limite amplificare diventa inutile

nella trasmissione digitale vengono introdotti nel canale dei ripetitori, che ricostruiscono il segnale digitale e lo rigenerano ex-novo la rigenerazione ripulisce il segnale da tutti gli effetti

distorsivi che lo hanno modificato fino a quel punto della trasmissione

Page 133: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Attenuazione (equalizzatori)

La dipendenza della attenuazione dalla frequenza comporta una distorsione legata al fatto che le diverse armoniche che costituiscono il segnale originato vengono alterate in modo differente

La somma delle armoniche attenuate non sara’ solo un segnale uguale attenuato, bensi’ un segnale differente (distorto) questo problema spesso viene limitato utilizzando

delle tecniche di equalizzazione, che in base alla conoscenza delle caratteristiche del canale, possono amplificare in modo differenziato le diverse frequenze, correggendo l’effetto di distorsione (tipico nelle applicazioni foniche)

Page 134: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Effetto della equalizzazione

Page 135: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Distorsione di ritardo

La distorsione di ritardo e’ conseguente al fatto che i segnali a diversa frequenza viaggiano nel mezzo trasmissivo a velocita’ diversa

Questo comporta che in ricezione le diverse componenti arrivano in tempi diversi, cioe’ sfasate tra loro, quindi si ha una distorsione del segnale

E’ un fenomeno tipico dei mezzi guidati Nel caso di trasmissioni di bit, alcune componenti del

segnale relative ad un certo bit possono ritardare (o anticipare) ed interferire con le componenti relative a bit diversi (interferenza intersimbolica) anche in questo caso si adottano spesso tecniche di

equalizzazione per correggere il comportamento del canale

Page 136: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Effetto della equalizzazione

Page 137: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Rumore

Per rumore si intende un segnale presente sul canale (in ricezione) che non fa parte del segnale trasmesso

Il rumore si divide in rumore termico (o rumore bianco) rumore di intermodulazione diafonia rumore impulsivo

Page 138: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Rumore termico

Il rumore termico e’ dovuto alla agitazione degli elettroni dovuta alla temperatura

Il rumore termico e’ presente sia nei circuiti dedicati alla generazione o ricezione del segnale, sia nel mezzo trasmissivo

E’ caratterizzato da avere una intensita’ indipendente dalla frequenza (da qui il nome di rumore bianco)

Non puo’ essere eliminato (nell’elettronica dei circuiti puo’ essere limitato aumentando il livello qualitativo della realizzazione dell’elettronica) si combatte aumentando il livello del segnale

per quanto possibile

Page 139: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Rumore di intermodulazione

Spesso si utilizza lo stesso mezzo trasmissivo per trasmettere segnali indipendenti che occupano diverse bande di frequenza disponibile su quel mezzo (multiplexing in frequenza, lo vedremo piu’ avanti)

In questa circostanza sul canale ci saranno contemporaneamente, ad esempio, due segnali indipendenti a frequenza f1 ed f2

Effetti di non linearita’ possono generare segnali a frequenze multiple di (f1+f2) o (f1-f2), e questi potrebbero andare ad interferire con un terzo segnale contemporaneo trasmesso intorno a quelle frequenze

Questi effetti possono essere conseguenza di malfunzionamenti o invecchiamento dell’elettronica, eccesso di potenza nel segnale trasmesso

Page 140: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Diafonia

La diafonia e’ un fenomeno di accoppiamento elettrico tra mezzi trasmissivi vicini non isolati adeguatamente

Il segnale trasmesso su un cavo genera per induttanza un segnale corrispondente nel cavo vicino, che si sovrappone al segnale trasmesso in quest’ultimo

Si puo’ verificare anche nella trasmissione con mezzi non guidati, quando un segnale emesso da una antenna si disperde durante la propagazione nell’aria; la parte dispersa puo’ guingere in prossimita’ di un’altra antenna

Page 141: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Rumore impulsivo

Questa categoria di rumore e’ conseguenza di fenomeni sporadici che possono generare segnali indesiderati nell’elettronica o nel mezzo trasmissivo

Esempi possono essere l’accensione di dispositivi elettricomagnetici (monitor, forni a microonde) o sbalzi di tensione della alimentazione elettrica in vicinanza dei circuiti o del mezzo trasmissivo

A differenza degli altri, l’effetto del rumore impulsivo non e’ prevedibile a priori, ed e’ spesso molto piu’ elevato in intensita’

Ha un effetto limitato nelle trasmissioni analogiche, ma grave in quelle digitali (un picco di energia di 0.01 secondi su una linea telefonica non ha effetti sulla comunicazione vocale, ma fa perdere 560 bit in una comunicazione dati a 56 kbps)

Page 142: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Effetto del rumore nella trasmissione dati

Page 143: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Capacita’ del canale Quello che interessa nella trasmissione dati e’: dato un

canale con determinate caratteristiche, e definito un tasso di errore accettabile, quale velocita’ di trasferimento dati posso ottenere?

La legge di Nyquist (per un canale esente da rumore) dice che la capacita trasmissiva di un canale a banda B con livello di modulazione M e’ data da

Tuttavia non si puo’ aumentare la banda a piacere (per motivi di costi, di impossibilita’ pratica o di scelta deliberata)

Non si puo’ nemmeno aumentare a piacere il tasso di modulazione (M): aumentare il tasso di modulazione significa rendere piu’ complesso in ricezione distinguere il valore trasmesso, e fenomeni di distorsione o di rumore farebbero aumentare gli errori in ricezione

bps log MBC 22

Page 144: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Legge di Shannon

Shannon ha sviluppato e dimostrato una relazione relativa alla capacita’ trasmissiva massima di un canale in presenza di solo rumore bianco

Detto SNR (Signal to Noise Ratio) il rapporto di potenza tra il segnale ed il rumore, la massima capacita’ in assenza di errori su un canale di banda B e’ data da:

Questo e’ un limite massimo teorico, in pratica irraggiungibile (ad esempio perche’ non tiene conto di altri fattori distorsivi)

bps SNRlog 12BC

Page 145: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Commenti alla legge di Shannon

Secondo la relazione vista, sembrerebbe possibile aumentare il tasso di trasferimento dati aumentando il livello del segnale

Questo e’ vero, ma come gia’ osservato l’aumento del livello del segnale comporta l’aumento di effetti come la non linearita’ che vanno ad accrescere il tasso di errore in ricezione

Quindi effettivamente la limitazione di banda costituisce un limite alla velocita’ di trasferimento dei bit

Page 146: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio

Supponiamo di avere un canale trasmissivo la cui banda sia da 3 a 4 MHz, ed il cui rapporto segnale su rumore sia 24 dB:

La legge di Shannon dice che la capacita’ trasmissiva massima in assenza di errori e’

Con quale livello di modulazione posso ottenere questo tasso? Ce lo dice la legge di Nyquist:

25110SNRSNRlog10dB24 4.2

Mb/s 8252logMHz1SNR1log BC

162log2 2

8

2 MHz

Mbps

MMBC

Page 147: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 6: strato fisico: trasmissione digitale in banda base e modulazione

Page 148: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Tipizzazione di dati e segnali

Dati analogici: assumono valori continui in un determinato intervallo voce video dati raccolti da sensori quali temperatura, pressione,

tensione o corrente elettrica,… Dati digitali: dati che assumono valori discreti in

un certo intervallo testo (caratteri, rappresentati da codifiche opportune,

come codice Morse, ASCII) numeri interi

Segnali analogici: segnale elettromagnetico che varia le sue caratteristiche con continuita’

Segnali numerici: segnale elettromagnetico costituito da una sequenza di impulsi

Page 149: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Relazione tra dati e segnali

Un dato analogico puo’ essere rappresentato con un segnale analogico che occupa lo stesso spettro. il segnale che rappresenta la voce nel sistema telefonico

tradizionale e’ un segnale analogico con frequenza compresa tra 300 Hz e 3400 Hz, che riproduce lo spettro del suono emesso

Un dato digitale puo’ essere rappresentato con un segnale digitale che identifichi i numeri con livelli di ampiezza degli impulsi

E’ possibile rappresentare dati digitali con segnali analogici (modem) e dati analogici con segnali digitali (codec) la comunicazione tra calcolatori attraverso una linea telefonica:

il dato numerico viene trasformato dal modem in segnale analogico, e ricostruito in ricezione nuovamente come dato numerico da un altro modem

la comunicazione telefonica attraverso una linea ISDN: la voce viene digitalizzata mediante campionamenti da un codec, trasmessa come insieme di dati numerici, rigenerata come segnale analogico in ricezione

Page 150: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Trasmissione dei segnali La trasmissione dei segnali e’ detta analogica se il segnale

viene trasmesso senza curarsi del suo significato in questo caso la trasmissione si limita a recapitare il segnale,

eventualmente amplificandolo in intensita’ quando necessario la trasmissione digitale tiene conto del contenuto dei dati se si

deve intervenire per amplificare il segnale il segnale non viene semplicemente amplificato, ma viene

interpretato, si estrae il contenuto informativo e si rigenera il segnale tramite apparati detti ripetitori

questo puo’ essere fatto a prescindere dal tipo di segnale (numerico o analogico), che a sua volta puo’ rappresentare dati analogici o numerici

vantaggi della trasmissione digitale: immunita’ maggiore alla alterazione dei dati verso lunghe distanze omogeneizzazione della trasmissione per diverse tipologie di dato sicurezza e riservatezza

svantaggi della trasmissione digitale costi superiori maggiore complessita’ dell’elettronica richiede rinnovo di infrastrutture gia’ esistenti

Page 151: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Trasmissione in banda base e modulata

Una volta generato il segnale da trasmettere, questo puo’ essere immesso direttamente sul canale; in questo caso si parla di trasmissione in banda base: il segnale che trasporta le informazioni ed il segnale sulla linea sono identici

Vi sono diverse circostanze che rendono opportuno trasmettere il segnale in modo che occupi una banda differente di frequenze; questo tipo di trasmissione si realizza tramite un processo di modulazione

Page 152: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codifica dei dati numerici

La rappresentazione di dati numerici con segnali numerici e’ normalmente fatta tramite sequenze di impulsi discreti di tensione di una certa durata temporale.

Il dato binario e’ codificato in modo da far corrispondere al valore di un bit un determinato livello del segnale

Il ricevitore deve sapere quando inizia e finisce il bit, leggere il valore del segnale al momento giusto, determinare il valore del bit in base alla codifica utilizzata

La migliore valutazione si ottiene campionando il segnale al tempo corrispondente a meta’ bit

Page 153: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche delle codifiche

Sono possibili diverse scelte di codifica, con caratteristiche differenti che possono migliorare le prestazioni della trasmissione

Le caratteristiche determinanti sono: spettro del segnale:

componenti ad alta frequenza richiedono una banda maggiore

l’assenza di componente continua e’ preferibile spettro concentrato nel centro della banda

Page 154: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche delle codifiche

Altre caratteristiche determinanti sono: sincronizzazione temporale: il ricevitore deve

essere sincronizzato con il trasmettitore per identificare i bit; alcune codifiche facilitano questa funzione

rilevazione di errore: funzione caratteristica dei livelli superiori, ma puo’ essere utile anche a livello fisico

solidita’ del segnale rispetto ad interferenza o rumore

costo e complessita’ di realizzazione

Page 155: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codifica unipolare RZ ed NRZ

La codifica unipolare RZ (Return to Zero) prevede la trasmissione di un segnale di lunghezza T per ogni bit. Il segnale e’ nullo in corrispondenza del bit 0, mentre e’ un impulso di tensione di durata T/2 per il bit 1

La codifica unipolare NRZ (Non Return to Zero) differisce dalla RZ perche’ il livello di tensione per il bit 1 rimane alto per tutta la durata del bit

Page 156: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche della codifica NRZ

La codifica NRZ ha i pregi: facile da progettare e realizzare utilizzo efficiente della larghezza di banda (la

potenza e’ concentrata tra 0 ed R/2, dove R e’ la capacita’ trasmissiva in bit/s (transmission rate)

Difetti: esiste una componente continua lunghe sequenze di bit di uguale valore

producono un segnale continuo senza transizioni: il ricevitore puo’ perdere la sincronia

Page 157: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codifica NRZ-L ed NRZI

Per migliorare le caratteristiche si fa utilizzo di una codifica (NRZ-L: Non Return to Zero Level) che prevede un segnale a +V per il bit 1, ed a –V per il bit 0 questo riduce l’impatto della componente continua, ma non

la annulla Altra tecnica: codifica differenziale (NRZI: NRZ Invert

on ones): il segnale cambia in occasione di un bit 1

Page 158: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codifica multilivello binario

Le codifiche a multilivello binario utilizzano tre livelli: lo zero indica il bit 0, mentre il bit 1 e’ identificato con segnali a +V e –V alternati (AMI bipolare: Alternate Mark Inversion)

La codifica pseudoternaria e’ la stessa, con 1 e 0 invertiti

Page 159: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche della codifica AMI

La codifica AMI ha i seguenti vantaggi rispetto alla NRZ: risolve il problema della sequenza di bit 1, che presentano

sempre una transizione utilizzabile in ricezione per sincronizzare (ma resta il problema per sequenze di 0)

La componente continua e’ di fatto azzerata utilizza a parita’ di transmission rate una larghezza di banda

inferiore errori isolati possono essere evidenziati come violazione del

codice Vi sono anche svantaggi:

utilizza 3 livelli, quindi ogni simbolo potrebbe trasportare piu’ informazione (log2(3) = 1.58)

a parita’ di bit rate richiede circa 3 dB in piu’ rispetto alla NRZ Utilizzata in diversi casi su linee punto-punto (ISDN)

Page 160: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codifica Manchester

La codifica Manchester utilizza due livelli di tensione; il bit 1 e’ rappresentato da un segnale -V per mezzo periodo, +V per il seguente mezzo periodo; il bit 0 e’ rappresentato in modo opposto (+V per il primo mezzo periodo, -V per il restante mezzo periodo)

La codifica Manchester differenziale utilizza lo stesso tipo di rappresentazione, ma rappresenta il bit 1 come variazione rispetto alla codifica del bit precedente

Page 161: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche della codifica Manchester

Vantaggi: sincronizzazione: ogni bit ha una transizione in mezzo,

che puo’ essere utilizzata per la sincronizzazione dal ricevitore

totale assenza di componente continua rivelazione di errore (in assenza della transizione

prevista) Svantaggi:

richiede un segnale a frequenza doppia rispetto al bit rate: 1 bit richiede 2 baud, quindi richiede una banda doppia

L’utilizzo piu’ diffuso della codifica Manchester e’ negli standard 802.3 (ethernet) e 802.5 (token ring) sia su coassiale che su doppino

Page 162: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codifica B8ZS

Una modifica della AMI per risolvere il problema della sequenza di zeri e’ la B8ZS (Bipolar with 8 Zeros Substitution): ogni sequenza di 8 zeri viene codificata come

000+-0-+ se l’ultimo impulso e’ stato positivo 000-+0+- se l’ultimo impulso e’ stato negativo

in questo modo scompaiono lunghe sequenze di zeri, e la sequenza e’ identificata da due violazioni del codice AMI

Utilizzata nel Nord America

Page 163: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codifica HDB3

Stessa logica per la HDB3 (High Density Bipolar 3 zeros): ogni sequenza di 4 zeri viene codificata come

se la polarita’ dell’ultimo impulso e’ stata negativa: 000- se c’e’ stato numero dispari di 1 dall’ultima sostituzione +00+ se c’e’ stato un numero pari di 1 dall’ultima

sostituzione se la polarita’ dell’ultimo impulso e’ stata positiva:

000+ per un numero dispari di 1 dall’ultima sostituzione -00- per un numero pari di 1 dall’ultima sostituzione

anche in questo caso scompaiono lunghe sequenze di zeri, e la sequenza e’ identificata da violazioni opportune del codice AMI

Utilizzata in Europa e Giappone

Page 164: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche di B8ZS ed HDB3

Le due codifiche hanno sempre componente continua nulla (le violazioni sono alternate)

Hanno un efficiente utilizzo della banda, con la potenza concentrata a meta’ della banda

come con AMI, e’ possibile riconoscere gli errori singoli

Generalmente utilizzate nella trasmissione dati ad elevata distanza

Page 165: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Spettro delle codifiche numeriche in banda base

Page 166: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Modulazione

La modulazione e’ un processo con il quale il segnale da trasmettere (segnale modulante) viene utilizzato per modificare nel tempo le caratteristiche di un segnale ausiliario sinusoidale (portante)

Questa operazione ha la caratteristica di generare un segnale che ha una occupazione di banda dell’ordine di grandezza di quella del segnale modulante, centrata pero’ intorno alla frequenza del segnale portante

Utilizzando una portante ad alta frequenza si puo’ quindi spostare la banda necessaria alla trasmissione delle informazioni in un intervallo piu’ opportuno per la trasmissione stessa

Page 167: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Vantaggi della modulazione

Spesso per la trasmissione sono preferibili determinati intervalli di frequenza ad esempio, la trasmissione via ponte radio (a vista)

richiede una antenna; la dimensione della antenna deve essere dello stesso ordine di grandezza della lunghezza d’onda; per trasmissioni a 1 KHz l = 300 Km, per trasmissioni a 1 GHz l = 30 cm

per trasmettere i segnali radio si puo’ sfruttare la riflessione multipla dalla ionosfera, che riflette bene frequenze di 5-30 MHz

Un altro vantaggio e’ legato alla possibilita’ di trasmettere piu’ comunicazioni differenti e contemporanee sullo stesso mezzo, trasferendo le bande relative alle diverse comunicazioni in zone differenti della banda utile per la trasmissione (multiplexing a divisione di frequenza)

Page 168: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Tecniche di modulazione

Il segnale modulante viene utilizzato per modulare le caratteristiche della portante: ampiezza: il segnale viene utilizzato per

modificare il valore della ampiezza della portante (modulazione di ampiezza)

frequenza: il segnale modulante modifica istante per istante la frequenza della portante (modulazione di frequenza)

fase: il segnale modulante cambia la fase della portante (modulazione di fase)

Page 169: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempi di modulazione

Page 170: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Modulazione analogica di ampiezza (AM)

Il segnale modulante e’ un segnale analogico (es.: voce, o meglio il segnale elettromagnetico corrispondente alla voce in banda base)

Il segnale modulato si genera in questo modo:

L’ampiezza del segnale modulato e’ funzione del segnale modulante; n e’ detto indice di modulazione, e viene scelto in modo che

)cos()(1)( ttxnts c

0)(1 txn

Page 171: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio: modulante sinusoidale

Consideriamo come esempio il segnale modulante sinusoidale a frequenza ω:

Page 172: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio (cont)

Il segnale modulato ha la forma:

Il suo spettro sara’ costituito da una riga in corrispondenza della frequenza della portante, piu’ due righe simmetriche rispetto alla prima a distanza pari alla frequenza della modulante

tn

tn

tts

ttnts

ccc

c

)(cos2

)(cos2

)cos()(

)cos()cos(1)(

Page 173: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Spettro del segnale modulato

In generale un segnale modulato in ampiezza ha uno spettro costituito dallo spettro del segnale modulante raddoppiato e collocato simmetricamente attorno alla frequenza portante (bande laterali)

Ne segue che l’occupazione di banda del segnale modulato e’ doppia rispetto a quella del segnale modulante

Si possono adottare tecniche per sopprimere la banda laterale inferiore, ed anche la frequenza portante mediante filtri passa banda (Single Sided Band) la frequenza della portante generalmente si potra’ eliminare

quando il segnale in banda base non ha componente continua o comunque vicine alla frequenza nulla

Page 174: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Modulazione analogica angolare (PM)

Il segnale modulante puo’ essere utilizzato per modificare la fase della portante (modulazione di fase)

In questo caso il segnale modulato sara’ descritto da

dove np e’ l’indice di modulazione

)()(

)(cos)(txnt

ttAts

p

cc

Page 175: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Modulazione analogica angolare (FM)

Il segnale modulante puo’ essere utilizzato per modificare la frequenza della portante (modulazione di frequenza)

In questo caso il segnale modulato sara’ descritto da

dove nf e’ l’indice di modulazione La frequenza istantanea e’ di fatto la velocita’ con

cui varia la fase, quindi

)()(

)(cos)(' txnt

ttAts

f

cc

)()()( txnttdt

dt fcc

Page 176: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Spettro del segnale modulato in frequenza

Per la modulazione di frequenza si puo’ vedere come la banda occupata per effetto della ampiezza del segnale modulante sia

Si vede come per la modulazione di frequenza, un aumento della ampiezza del segnale modulante comporti un aumento della banda occupata, mentre nel caso della AM l’ampiezza del segnale modulante influenza la ampiezza del segnale modulato

La modulazione angolare non e’ lineare, e genera uno spettro generalmente costituito da banda infinita. Si puo’ approssimare alla seguente relazione:

mff AntxnF )(max)( minmax

PM per 12FM per 2222

BAnBBAnBFB

mpT

mfT

Page 177: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 7: strato fisico: modulazione di segnali numerici, digitalizzazione di segnali analogici, multiplexing in frequenza

Page 178: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Modulazione di segnali numerici

La tecnica della modulazione viene utilizzata in questo caso per trasformare un dato numerico in un segnale analogico

Si ottiene cio’ modulando una portante sinusoidale utilizzando il dato numerico (o il segnale numerico in banda base che codifica il dato numerico)

In ricezione il segnale viene demodulato ricostruendo il segnale numerico modulante

L’oggetto che realizza la conversione si chiama modem (modulatore-demodulatore)

Un esempio comune e’ la trasmissione dati via rete commutata

Un altro esempio e’ la trasmissione digitale su fibra ottica

Page 179: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Tecniche di modulazione: ASK

Partendo da un segnale numerico (ad esempio un segnale NRZ) si puo’ modulare in ampiezza una portante sinusoidale moltiplicando la sua ampiezza per il segnale numerico (ASK: Amplitude Shift Keying)

Page 180: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Tecniche di modulazione: FSK

Il segnale numerico puo’ essere utilizzato per modulare in frequenza una portante sinusoidale, modificando la sua frequenza in funzione del segnale modulante (FSK: Frequency Shift Keying), cioe’ facendo corrispondere due frequenze ai due valori del bit

Page 181: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Tecniche di modulazione: PSK

Il segnale numerico puo’ modulare in fase una portante sinusoidale associano un certo valore di fase ad un certo valore di bit (PSK: Phase Shift Keying). Nell’esempio in figura al bit 1 si associa un cambio di fase, al bit 0 nessun cambio di fase

Page 182: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Forma del segnale trasmesso

I segnali trasmessi con le diverse tecniche di modulazione hanno la seguente forma

0 bit )cos(1 bit )cos(

)( :PSK

0 bit )cos(1 bit )cos(

)( :FSK

0 bit 01 bit )cos(

)( :ASK

2

1

2

1

tAtA

ts

tAtA

ts

tAts

Page 183: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Spettro del segnale trasmesso

Le considerazioni viste per la modulazione analogica valgono anche in questo caso

Il segnale generato e’ costituito dallo spettro del segnale modulante (quello numerico) spostato sulla frequenza della portante

Ad esempio, i modem possono utilizzare una modulazione FSK a due valori per trasmettere dati fino a 1200 bps su un canale telefonico (limitato in banda a 3.1 KHz) per la trasmissione in un verso, si utilizza una portante a

1170 Hz, con una traslazione di 100 Hz su ciascun lato in funzione del valore dei bit

per la trasmissione nell’altro verso, si usa la stessa tecnica con la portante a 2125 Hz

Page 184: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio di spettro

Page 185: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Modulazioni piu’ complesse: QPSK

Si ottiene una migliore efficienza del canale modulando in modo che ogni simbolo trasporti piu’ bit

Nella modulazione QPSK (Quadrature PSK) si utilizzano quattro angoli di fase per trasmettere due bit per simbolo; ad esempio: 00 per fase = 0 01 per fase = 90 gradi 11 per fase = 180 gradi 10 per fase a 270 gradi

Si possono utilizzare modulazioni piu’ complesse utilizzando piu’ angoli di fase

Page 186: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

QAM

La modulazione QAM (Quadrature AM) consiste nel separare il segnale portante in due segnali uguali ma sfasati di 90 gradi

Successivamente si applica una modulazione di ampiezza a piu’ valori indipendentemente su entrambe, quindi si ricombinano le portanti in quadratura.

Si possono applicare modulazioni combinate in fase ed ampiezza sulle due componenti

Generalmente si rappresentano queste modulazioni su un piano che riporta le ampiezze in quadratura sui due assi, detti diagrammi di costellazione (i simboli sono rappresentati da punti su questo piano; l’insieme dei simboloi e’ detto costellazione)

Page 187: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Schema della QAM

Page 188: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempi

Esempi di QAM sono riportati in figura

Al complicarsi del livello della modulazione si complicano le cose in sede di ricezione, in quanto piccoli livelli di rumore possono diventare sufficienti ad interpretare in modo errato il valore dei bit

Page 189: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Applicazioni

Queste tecniche vengono utilizzate per la trasmissione digitale su segnale analogico (modem, ponti radio digitali, fibre ottiche)

Per i modem l’ITU ha definito degli standard per le trasmissioni modem a 2400 baud: V32 (costellazione a 32 punti, 5 bit/baud di cui 1

bit di parita’ e 4 bit di dati, 9600 bps) V32 bis (costellazione a 128 punti, 7 bit/baud di

cui 1 bit di parita’ e 6 bit di dati, 14400 bps) …

Page 190: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Modulazione analogica di segnali numerici

Per poter trasmettere un segnale analogico con una trasmissione digitale e’ necessario trasformare il segnale analogico in un segnale numerico (o meglio in un dato numerico)

Il processo si chiama numerizzazione del segnale analogico e si basa sul concetto di campionamento

Il campionamento consiste nel guardare con una certa frequenza il valore istantaneo del segnale analogico di fatto si utilizza il segnale analogico per modulare in

ampiezza una sequenza di impulsi a frequenza fissata: il segnale risultante sara’ una sequenza di impulsi ad ampiezza uguale al valore del segnale analogico in corrispondenza dell’istante di tempo corrispondente all’impulso

Page 191: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il campionamento

Il problema da affrontare e’: con quale frequenza si deve campionare il segnale per poterlo ricostruire a partire dal segnale campionato?

Page 192: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Teorema del campionamento

IL teorema del campionamento (o teorema di Nyquist-Shannon) afferma che:

dato un segnale x(t) a banda limitata B, si puo’ ricostruire completamente il segnale a partire da un campionamento del segnale se la frequenza di campionamento e’ F ≥ 2B

Page 193: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Dimostrazione

n

tnffins

fti

n

tnfin

ftiss

n

tnfins

n

tnfin

s

s

h

dtetxPfX

dteetxPdtetxfX

etxPtxePtp

tptxtx

ftpftx

s

s

ss

)(2

222

22

)()(

quindi

)()()(

:e' campionato segnale del atrasformat La

)()()(

)()()(:sara' campionato segnale il

frequenza a ntocampioname di segnale il )( sia banda a segnale il )( sia

Page 194: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Dimostrazione (cont.)

nsns

fti

n

tnffins

nffXPfX

dtetxfX

dtetxPfX s

)()(

:cui da

)()(

:e' segnale del atrasformat La

)()(

2

)(2

Questo significa che lo spettro del segnale campionato e’ costituito dalla replica dello spettro del segnale originale traslato ai multipli della frequenza del segnale di impulsi utilizzato per campionarlo, e moltiplicato per un fattore proporzionale (Pn)

Page 195: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Dimostrazione (cont.) Se gli spettri di due

repliche adiacenti del segnale originario non si sovrappongono, possiamo utilizzare in ricezione un filtro passa basso per isolare una sola replica del segnale, ottenendo cosi’ un segnale il cui spettro e’ identico (proporzionale) allo spettro del segnale originale

La condizione di non sovrapposizione implica:

cioe’ quello che si voleva dimostrare

hshsh fffff 2

Page 196: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Osservazioni sul teorema del campionamento

In generale la frequenza di campionamento dovra’ essere almeno leggermente superiore a 2B, per disporre di un intervallo utile al fine di prevenire effetti di non idealita’ dei filtri

Il teorema del campionamento e’ sostanzialmente la legge sulla massima capacita’ di un canale privo di rumore: il teorema afferma che possiamo ricostruire il segnale

campionando almeno a 2B, e campionando piu’ frequentemente non otteniamo maggiori informazioni sul segnale

se il segnale rappresenta una sequenza di simboli, la massima capacita’ di trasferimento la otteniamo quando ogni campione identifica un simbolo

ne segue che al massimo siamo in grado di identificare 2B simboli

Page 197: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Tecniche di modulazione di treno di impulsi

Esistono diverse tecniche di modulazione: PAM (Pulse Amplitude Modulation): gli impulsi

sono generati ad ampiezza proporzionale alla ampiezza del segnale modulante

PWM (Pulse Width Modulation): gli impulsi sono generati tutti alla stessa ampiezza, ma con durata proporzionale alla ampiezza del segnale modulante

PPM (Pulse Position Modulation): gli impulsi sono tutti della stessa ampiezza e di uguale durata, ma iniziano (all’interno del periodo T) in un istante dipendente dalla ampiezza del segnale modulante in questo caso il ricevente deve essere sincronizzato

con il trasmittente in quanto l’ampiezza del segnale modulante dipende dall’istante in cui si presenta l’impulso rispetto all’istante in cui inizia il periodo relativo a quell’impulso: negli altri casi l’impulsoi stesso puo’ fornire l’informazione di sincronismo

Page 198: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

PWM e PPM

Page 199: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Considerazioni sullo spettro

La trasmissione di un treno di impulsi di durata richiede una larghezza di banda almeno pari a

ed essendo

significa che la trasmissione di impulsi modulati richiede una banda superiore alla banda del segnale modulante

BB

BTT

2

1

ha si 2

1 e

2

1B

Page 200: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Digitalizzazione del segnale analogico

Il segnale analogico puo’ essere digitalizzato utilizzando diverse tecniche

Lo scopo della operazione e’ quella di poter trattare il segnale analogico come quello numerico, quindi di poter utilizzare metodi di trasmissione numerica, con i vantaggi che questa comporta (immunita’ dal rumore per via della rigenerazione del segnale durante la trasmissione, possibilita’ di utilizzare multiplexing a divisione di tempo (vedi piu’ avanti), omogeneizzazione della trasmissione dei segnali)

Vedremo due tecniche: PCM (Pulse Code Modulation) e PCM non lineare

Page 201: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

PCM Il segnale analogico viene campionato per generare un segnale

PAM. Il segnale PAM e’ ancora un segnale analogico, e deve essere

numerizzato, cioe’ codificato in modo da associare un numero intero al suo valore

Si realizza cio’ mediante una quantizzazione dei livelli della ampiezza degli impulsi

Maggiore e’ il numero di livelli, migliore sara’ l’approssimazione del segnale con il valore numerico

Tipicamente si utilizza un numero di livelli pari ad una potenza di due, facendo cosi’ corrispondere ogni valore ad un certo numero di bit ad esempio, una codifica a 4 livelli genera un numero

rappresentabile con 2 bit, una codifica a 256 livelli e’ rappresentabile con 8 bit

Il segnale cosi’ generato e’ una sequenza di numeri che rappresentano il segnale analogico (PCM: Pulse Code Modulation) e puo’ essere trasmesso come un qualsiasi altro segnale digitale

Page 202: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio: la digitalizzazione della voce

Come visto in precedenza, il canale telefonico utilizza una banda di circa 3.1 KHz per la voce

Per campionare la voce il teorema di Nyquist-Shannon afferma che servono campioni a frequenza di almeno 6.2 KHz. Per la voce lo standard definito dall’ITU prevede 8000 campioni al secondo

Il segnale PAM cosi’ generato viene quantizzato: per una resa paragonabile al segnale trasferito analogicamente si utilizzano 256 livelli (8 bit)

Ne segue che per trasferire la voce digitalizzata servira’ un tasso di trasmissione pari a 8 bit/campione * 8000 Hz, cioe’ 64 Kbps (che e’ la velocita’ del canale base ISDN).

Page 203: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

PCM non lineare

La digitalizzazione del segnale comporta una perdita di informazione per via della approssimazione

L’aumento del numero di livelli di quantizzazione produce a tutti gli effetti come un rumore detto rumore di quantizzazione

Dato un certo livello di quantizzazione, i segnali maggiormente affetti dalla approssimazione sono quelli a bassa intensita’ (per i quali si ha un errore relativo maggiore)

Si migliorano le prestazioni utilizzando una quantizzazione non lineare, dove i livelli sono piu’ ravvicinati nella regione di segnale debole, e piu’ distanziati nella regione in cui il segnale e’ piu’ intenso

Page 204: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Confronto PCM e PCM non lineare

Page 205: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 8: strato fisico: multiplexing FDM, WDM, TDM e gerarchie di multiplexing

Page 206: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Multiplexing

Il multiplexing e’ una tecnica utilizzata per trasportare piu’ comunicazioni indipendenti sullo stesso mezzo trasmissivo questa necessita’ si ha quando c’e’ bisogno di

trasmettere molte comunicazioni ciascuna delle quali ha una piccola occupazione di banda, e si dispone di un mezzo trasmissivo capace di una banda molto piu’ ampia

La porzione della banda occupata da una singola comunicazione e’ detta canale

Vedremo tre modalita’ di multiplexing: FDM (multiplexing a divisione di frequenza) WDM (multiplexing a divisione di lunghezza d’onda) TDM (multiplexing a divisione di tempo)

Page 207: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

FDM (Frequency Division Multiplexing)

Come visto in precedenza, l’effetto della modulazione analogica si un segnale sinusiodale a frequenza f si traduce nella generazione di un segnale il cui spettro ha la stessa forma dello spettro del segnale modulante ma traslato attorno alla frequenza f della portante

Se ipotizziamo di disporre di una serie di segnali ciascuno con banda B, e di un mezzo trasmissivo che ha una capacita’ di banda limitata dai valori F1 e F2 (con F2-F1 >> B), possiamo utilizzare ciascun segnale per modulare segnali sinusoidali alle frequenze F1+B, F1+2B, F1+3B, etc.

I segnali modulati occuperanno porzioni distinte entro la banda trasmissiva del mezzo, e potranno essere trasmessi contemporaneamente senza interferire.

In ricezione, opportune operazioni di demodulazione e filtraggio permetteranno di separare i diversi traffici.

Page 208: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Banda nella modulazione di frequenza

Page 209: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Schema di modulazione di frequenza

Page 210: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Generazione e ricezione del segnale

I diversi segnali da trasmettere (analogici, o digitali trasformati in analogici via modem) modulano portanti a diverse frequenze, dette sottoportanti

I segnali modulati vengono sommati, generando un segnale composito in banda base; le frequenze delle sottoportanti vengono scelte in modo da minimizzare la sovrapposizione dei segnali sommati

Il segnale composito (che e’ analogico) puo’ essere a sua volta utilizzato per modulare una portante per traslare il segnale ad una frequenza adatta al mezzo trasmissivo

In ricezione si demodula, riportando il segnale composito in banda base

Utilizzando ulteriori demodulatori (adattati alle sottoportanti) e filtri si separano infine i segnali originari

Page 211: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Occupazione di banda

Se ipotizziamo di generare la modulazione con la sola banda laterale, la larghezza di banda occupata dal segnale composito sara’:

In realta’ la banda occupata e’ in genere leggermente superiore, per mantenere una separazione tra i diversi canali in modo da non avere interferenza e per tenere in conto la non idealita’ dei filtri in fase di demodulazione

iBB

Page 212: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Gerarchia FDM per la telefonia

Una applicazione molto diffusa e’ il multiplexing di canali fonici per la trasmissione delle telefonate attraverso le dorsali a larga banda in coassiale o ponte radio

Il canale fonico e’ posto a 4 KHz (per distanziare i diversi canali multiplexati)

Sono definiti gli standard per diversi livelli di multiplexing, per adattarsi alla capacita’ di diversi mezzi: gruppo: 12 canali fonici, banda di 48 KHz tra 60 e 108 KHz supergruppo: 5 gruppi, 60 canali, 240 KHz tra 312 e 552 KHz gruppo master: 10 supergruppi, 600 canali, 2.52 MHz tra

564 KHz e 3.084 MHz … esistono standard fino a 230.000 canali fonici

Page 213: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Trasmissione radio/TV

L’esempio piu’ comune di FDM e’ la trasmissione radiotelevisiva. Questa utilizza diverse bande di frequenza, ciascuna delle quali viene suddivisa in canali di una certa capacita’, idonea a trasmettere i segnali delle diverse stazioni trasmittenti trasmissioni a modulazione di ampiezza (AM) nella banda

MF (Medium Frequency): 300-3000 KHz , con canali da 4 KHz per radio commerciali

trasmissioni AM nella banda HF (High Frequency): 3-30 MHz, con canali fino a 4 KHz (radio onde corte)

trasmissioni AM o FM nella banda VHF (Very High Frequency): 30-300 MHz, con canali fino a 5 MHz (radio FM e TV VHF)

trasmissioni FM nella banda UHF: 300-3000 MHz con canali fino a 20 MHz (TV UHF, ponti radio)

trasmissioni FM nella banda SHF: 3-30 GHz con canali fino a 500 MHz (microonde terrestri e satellitari)

Page 214: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

ADSL ADSL (Asymmetric Digital Subscriber Line) e’ lo standard per

fornire all’abbonato un accesso digitale a banda piu’ elevata di quanto non sia possibile con il modem

La linea telefonica terminale e’ costituita da un doppino su cui viene normalmente trasmessa la voce. Questa trasmissione si realizza applicando un filtro passa basso a 4 KHz

Tuttavia il doppino ha una capacita’ di banda che raggiunge il MHz (dipende dalla lunghezza del tratto terminale, che puo’ variare in base alla situazione tra poche centinaia di metri a diversi Km)

Lo spettro disponibile viene suddiviso in 256 canali da 4 KHz (fino a 60 Kbps ciascuno): Il canale 0 viene riservato per la telefonia I successivi 4 canali non vengono utilizzati per evitare problemi di

interferenza tra la trasmissione dati e quella telefonica I restanti canali vengono destinati al traffico dati. Alcuni per il traffico

uscente (upstream), altri per il traffico entrante (downstream) Il modem ADSL riceve i dati da trasmettere e li splitta in flussi

paralleli da trasmettere sui diversi canali, genera un segnale analogico in banda base per ciascun flusso (con una modulazione QAM fino a 15 bit/baud a 4000 baud/s) e li trasmette sui diversi canali utilizzando la modulazione di frequenza

Page 215: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Suddivisione dei canali nell’ADSL

In teoria l’ampiezza di banda disponibile consente un traffico pari a 13.44 Mbps, ma non tutti i canali sono capaci di trasmettere a piena banda. L’operatore decide quale servizio offrire.

Generalmente vengono dedicati alcuni canali per il traffico entrante, ed altri (meno) per il traffico uscente (da qui il termine Asymmetric)

Page 216: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

WDM (Wavelength Division Multiplexing)

La fibra ottica trasmette segnali elettromagnetici a lunghezza d’onda intorno a 850, 1300 o 1550 nm

Ognuna di queste bande puo’ trasmettere segnali a lunghezze d’onda che variano di circa 100 nm

In termini di frequenze si ha:

quindi una banda enorme a disposizione

GHz 28000 Hz 1028.0

Hz 1022.2 nm 900

Hz 1050.2 nm 800

1421

14

222

14

111

ffB

vf

vf

Page 217: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

WDM (cont.)

E’ stata sviluppata una tecnologia per poter trasmettere canali differenti su lunghezze d’onda differenti, chiamata WDM (Wavelength Division Multiplexing)

Si utilizza in multiplexing un combinatore ottico che mette insieme segnali alle diverse lunghezze d’onda

In ricezione un sistema analogo separa le diverse lunghezze d’onda

Sostanzialmente e’ una tecnica FDM, con la differenza che in questo caso il sistema sfrutta la diffrazione delle onde da reticolo, ed utilizza sistemi passivi, quindi altamente affidabili e che non introducono rumore

Con questa tecnologia e’ possibile gia’ ora trasmettere decine di canali a 10 Gbps su una sola fibra

Questo meccanismo permette di incrementare notevolmente la capacita’ trasmissiva ottenibile sulla fibra senza dover aumentare la frequenza della generazione degli impulsi ottici (cosa che oggi costituisce il fattore limitante per la velocita’ di trasmissione dati sulla fibra ottica)

Page 218: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Schema del multiplexing WDM

Page 219: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

TDM (Time Division Multiplexing)

Il multiplexing a divisione di tempo e’ utilizzato quando si dispone di un canale digitale capace di un elevato tasso di trasmissione dati in cui poter trasmettere contemporaneamente un insieme di comunicazioni a tasso inferiore

Invece che mettere insieme i segnali a frequenze differenti (FDM) si mischiano i dati delle diverse comunicazioni, inframezzando i bit delle diverse trasmissioni

Di fatto si divide la disponibilita’ del canale in periodi temporali, e si dedicano a turno i diversi periodi a diversi flussi trasmissivi

Page 220: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Slot e frame

Ogni intervallo temporale si chiama slot e puo’ contenere uno o piu’ bit relativi ad un flusso indipendente

Il flusso dei dati e’ organizzato in trame (frame)

Una trama e’ l’insieme di slot temorali che contiene almeno un bit per ciascuna trasmissione

Anche in questo caso il flusso relativo ad una singola trasmissione e’ detto canale

Page 221: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Schema del TDM

Page 222: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sorgenti di ingresso per il TDM

I dati in ingresso non debbono necessariamente essere tutti digitali: puo’ essere un ingresso analogico che viene convertito in segnale digitale tramite campionamento, con relativa generazione del codice PCM

I segnali in ingresso non debbono nemmeno essere tutti ad uguale tasso trasmissivo Ad esempio, possiamo fare multiplexing TDM di

due canali a 1200 bps ed uno a 2400 bps su un canale a 4800 bps, costruendo un frame di 4 bit (di 833 microsecondi) e dedicando una slot (1 bit) ciascuno ai canali a 1200 bps, e due slot (2 bit) al canale a 4800 bps

Page 223: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

TDM sincrono

Il TDM sincrono prevede di avere in ingresso un certo numero di trasmissioni a cui e’ staticamente allocato un canale, cioe’ ogni slot temporale e’ dedicata ad una particolare trasmissione

Quando un ingresso non ha dati da trasmettere, la trasmissione continua e le slot dedicate a quel canale non trasporteranno dati

Page 224: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sincronizzazione e framing

Poiche’ i frame sono trasmessi in continuazione, il ricevente deve poter identificare l’inizio dei frame e mantenere il sincronismo

Per fare cio’ il frame conterra’ alcuni bit dedicati allo scopo: in genere si dedicano uno o piu’ bit di controllo che assumono valori ben definiti e difficilmente presenti nel campo dei dati

All’inizio il ricevente cerca di identificare i bit di sincronizzazione: quando li trova in un certo numero di frame consecutivi, assume di avere agganciato il sincronismo e inizia a gestire il traffico dei dati

Durante il traffico, il ricevente continua a verificare i bit di sincronizzazione

Se si perde la sincronizzazione, il ricevente ritorna in modalita’ di sincronizzazione fino a che non identifica nuovamente i limiti dei frame

Page 225: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Pulse stuffing Uno dei problemi principali e’ la sincronizzazione dei diversi

canali da trasmettere, che essendo indipendenti non necessariamente hanno un clock in comune

Una variazione relativa dei diversi clock puo’ far perdere la sincronizzazione nella costruzione del frame

Diversamente, si potrebbe avere un insieme di trasmissioni i cui tassi trasmissivi non sono multipli uno dell’altro

Per ovviare a questi problemi si usa una tecnica detta pulse stuffing: il tasso trasmissivo in uscita e’ leggermente superiore alla

somma dei tassi in ingresso i bit in eccesso in ogni slot vengono riempiti con bit fittizi di

giustificazione, per allineare i diversi ingressi qualora si rendesse necessario, questi spazi possono essere

utilizzati per risincronizzare gli ingressi esisteranno bit di controllo nella trama per gestire le diverse

eventualita’

Page 226: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio

Page 227: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Gerarchie digitali

Anche per il TDM esistono gerarchie di multiplexing definite come standard per la trasmissione a diversi tassi in funzione delle possibilita’ trasmissive del mezzo

Il Nord America ed il Giappone utilizzano una gerarchia (nata prima) diversa da quella standardizzata dall’ISO ed adottata in Europa

Entrambi utilizzano come base di durata temporale del frame quella necessaria alla trasmissione di un canale vocale (8000 campionamenti al secondo = 125 microsecondi di tempo per il frame)

Page 228: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Gerarchia Nordamericana Il frame del livello primario e’ costituito dall’unione di 24

canali vocali Un frame contiene un campionamento per canale (24 canali

* 8 bit = 192 bit) piu’ un bit di sincronizzazione di frame Il tasso di trasmissione sara’ quindi 1.544 Mbps Per la trasmissione di dati numerici si utilizza lo stesso

frame, in cui vengono messi insieme 23 canali dati, mentre un byte viene riservato ad un ulteriore dato di sincronizzazione

Page 229: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Gerarchia Nordamericana (cont.)

Il formato descritto si chiama DS-1, o T1 Il livelli gerarchici successivi sono:

T2: 4*T1 a 6.312 Mbps T3: 7*T2 a 44.736 Mbps T4: 6*T3 a 274.176 Mbps

Si puo’ osservare come ad ogni livello successivo il tasso trasmissivo reale e’ superiore a quello utile, in quanto ad ogni passaggio si devono introdurre nella trama bit di controllo (per il framing, per la gestione della linea, per identificare gli errori)

Page 230: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Gerarchia digitale europea

L’ITU-T ha prodotto uno standard differente da quello nordamericano, adottato in Europa ed altrove

Questo standard si basa come quello americano sul canale fonico, con tempo di frame di 125 microsecondi

La gerarchia prevede i seguenti livelli di aggregazione: E1: 32 canali vocali (2 dedicati a controllo) a 2.048 Mbps E2 = 4*E1 a 8.448 Mbps E3 = 4*E2 a 34.368 Mbps E4 = 4*E3 a 139.264 Mbps E5 = 4*E4 a 565.148 Mbps

Page 231: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sonet e SDH

Sonet (Synchronous Optical NETwork) ed SDH (Sinchronous Digital Hierarchy) sono due standard di multiplexing gerarchico sviluppati per la trasmissione su fibra ottica

L’obiettivo e’ quello di sfruttare l’ampia banda trasmissiva della fibra per poter ospitare le trasmissioni delle gerarchie digitali gia’ viste

I due standard (AT&T e ITU-T) sono leggermente differenti STS-1/OC-1: 51.84 Mbps (ospita un T3) STS-3/OC-3 e STM-1: 155.52 Mbps (ospita un E4) … fino a STS-192/OC-192 e STM-64 a 9.9 Gbps

Page 232: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Frame del Sonet Il frame e’ costituito da 810 byte (di durata

temporale 125 microsecondi, da cui i 51.84 Mbps), e si descrivono come una matrice di 9 righe e 90 colonne

Le prime tre colonne vengono dedicate ad informazioni di controllo i primi due byte assumono sempre lo stesso valore e sono

utilizzati per il framing un byte viene utilizzato come puntatore per indicare l’inizio

dei dati validi sul frame, in modo da poter inviare dati utili anche se questi si presentano mentre si sta preparando un frame, senza dover attendere il frame successivo

alcuni byte nel campo di controllo sono utilizzati per costruire un singolo canale dati per il management, o anche un canale vocale

altri byte di controllo sono usati per informazioni di parita’, allineamento delle singole trame ed informazioni sul loro contenuto

Page 233: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Schema del frame in Sonet

Page 234: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

TDM asincrono Un limite del TDM sincrono e’ che quando un canale in

ingresso non trasmette, la capacita’ di banda assegnata a quel canale non viene utilizzata (le slot dedicate al canale non trasportano dati utili)

Una soluzione talvolta adottata e’ quella di accettare in input un insieme di canali per cui il tasso totale e’ superiore al tasso trasmissivo del canale in uscita

L’ipotesi e’ che non tutti trasmetteranno contemporaneamente a piena banda

Si utilizzano dei buffer per poter gestire gli intervalli in cui la banda in uscita non e’ sufficiente a gestire i dati in ingresso va pero’ considerato che maggiore e’ la dimensione dei buffer,

maggiore e’ il ritardo introdotto in trasmissione, quindi non si puo’ eccedere; d’altra parte minore e’ la dimensione dei buffer, minore e’ il margine oltre il quale si perdono dati

In questa modalita’ di multiplexing, non essendoci una assegnazione statica tra canale e trasmittente, si dovranno introdurre informazioni di controllo per identificare la trasmissione associata alle slot

Page 235: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 9: strato fisico: mezzi trasmissivi

Page 236: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Mezzi trasmissivi

Vedremo una panoramica sui diversi mezzi trasmissivi utilizzati tipicamente nelle reti di computer, sia guidati:

doppino e sue varianti cavo coassiale fibra ottica

che non guidati: ponti radio trasmissioni satellitari radiodiffusione infrarossi

Ne vedremo le caratteristiche e le applicazioni piu’ diffuse

Page 237: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il doppino

Il doppino (o doppino intrecciato) e’ costituito da una coppia di fili di rame isolati separatamente

La coppia di fili viene intrecciata, e costituisce una linea di comunicazione singola

Solitamente si utilizzano fasci di doppini, che possono essere costituiti da qualche coppia fino a centinaia di coppie (per lunghe distanze)

Il doppino e’ il mezzo piu’ economico e piu’ semplice da maneggiare

Page 238: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il doppino: caratteristiche

Utilizzato sia per trasmissioni analogiche che digitali Tra i mezzi guidati e’ quello piu’ sensibile a:

attenuazione del segnale sulla distanza: questo limita la distanza massima oltre la quale si richiede l’inserimento di amplificatori o ripetitori; tipicamente e’ necessario inserire amplificatori ogni 4/5 Km, mentre per le trasmissioni digitali si deve far uso di ripetitori ogni 2/3 Km

interferenza: una coppia di fili si comporta come una antenna; si limita il problema tramite l’avvolgimento della coppia di fili in una specie di spirale; questo riduce la ricettivita’ della “antenna” a segnali esterni

diafonia: questo fenomeno viene combattuto utilizzando avvolgimenti di passo differente tra coppie adiacenti

rumore impulsivo Per segnali analogici, il doppino fornisce una larghezza di

banda di circa 1 MHz Per segnali digitali si ottengono su brevi distanze tassi

trasmissivi fino a 1 Gbps

Page 239: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

UTP (Unshielded Twisted Pair)

L’ITU-T ha stabilito degli standard per la realizzazione dei doppini finalizzati alla trasmissione dati

Gli standard prevedono cavi costituiti solitamente da quattro coppie di fili, isolati singolarmente ed avvolti in spire a due a due; non e’ prevista schermatura aggiuntiva (UTP: Unshielded Twisted Pair)

Le differenze delle diverse categorie sono essenzialmente nella realizzazione degli avvolgimenti (piu’ o meno frequenti); le categorie sono definite in base a capacita’ di banda entro distanze definite (100 m) UTP cat. 3: garantisce fino a 16 MHz di banda UTP cat. 4: fino a 20 MHz UTP cat. 5: fino a 100 MHz

Esistono definizioni per standard piu’ performanti (cat. 5e, cat. 6, cat. 7)

I doppini UTP cat. 3 sono detti anche di qualita’ fonica, e sono utilizzati sia per la telefonia che per la trasmissione dati fino a 10 Mbps. I doppini UTP cat. 5 sono utilizzati nelle reti locali a velocita’ superiore (fino a 1 Gbps)

Page 240: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

STP (Shielded Twisted Pair)

L’ITU-T ha anche definito una standard per doppini dotati di schermatura, ottenuta avvolgendo l’insieme di coppie con una calza conduttrice, in modo da ridurre la sensibilita’ a segnali esterni

Questo standard si chiama STP (Shielded Twisted Pair) e viene utilizzato nella trasmissione dati sulle reti locali, come l’UTP cat. 5.

La migliore schermatura permette all’STP di fornire a parita’ di attenuazione una banda piu’ ampia (300 MHz)

Pur avendo migliori prestazioni l’STP e’ un cavo piu’ rigido dell’UTP, quindi di minore maneggevolezza, ed e’ utilizzato solamente in ambienti in cui sono presenti forti sorgenti di disturbi elettromagnetici

Page 241: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Applicazioni del doppino

Il doppino per le sue caratteristiche di maneggevolezza e di basso costo e’ molto diffuso per la telefonia (quasi tutte le connessioni del sistema

telefonico nell’ultimo tratto sono costituite da doppini) per le reti locali (il cablaggio degli edifici e’ generalmente

realizzato tramite UTP o STP) Utilizzato sia per trasmissioni analogiche

canale telefonico a 4 KHz, canali dati via modem o modem ADSL

sia per trasmissioni digitali Ethernet (10 Mbps) FastEthernet (100 Mbps) Gigabit Ethernet (1 Gbps) altri protocolli (token ring, …)

Page 242: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il cavo coassiale

Il cavo coassiale e’ costituito da un conduttore interno in rame, avvolto in un isolante di materiale plastico (dielettrico) attorno al quale e’ posto il conduttore esterno, costituito da una calza metallica, il tutto ricoperto da un rivestimento esterno isolante

Page 243: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il cavo coassiale (cont.)

La sua struttura permette un miglior isolamento elettromagnetico, quindi una minore sensibilita’ alle interferenze ed alla diafonia, ed una minore attenuazione del segnale sulla distanza (che pure rimane il maggior problema di questo mezzo) rispetto al doppino

E’ capace di una larghezza di banda fino a 500 MHz Per questi motivi e’ molto diffuso per le connessioni

a lunga distanza, per trasmissioni a larga banda Come il doppino necessita di amplificatori o

ripetitori ogni qualche Km (piu’ frequenti in caso di trasmissione digitale, in funzione del tasso trasmissivo)

Page 244: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Utilizzo del cavo coassiale

Esistono due tipi di cavo coassiale in base alle caratteristiche elettriche (che dipendono dalla geometria del cavo), utilizzati storicamente per scopi differenti: Cavo con impedenza a 75 Ω: usualmente utilizzato per la

trasmissione analogica (distribuzione televisiva, TV via cavo, tratte di back-bone del sistema telefonico con multiplexing FDM);in multiplexing FDM puo’ trasportare oltre 10000 canali vocali contemporanei

Cavo a 50 Ω: solitamente utilizzato nella trasmissione digitale (per reti locali, come Ethernet, token bus, e nelle connessioni dati a livello geografico)

Lo standard Ethernet specifica due cavi differenti a 50 Ω : il cavo “giallo”, o cavo thick, piu’ grosso e poco maneggevole, la cui lunghezza massima arriva intorno a 500 m, ed il cavo “nero”, o thin, piu’ flessibile e che non puo’ essere piu’ lungo di circa 180 m.

Page 245: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Fibra ottica Il cavo in fibra ottica e’ costituito da

nucleo: sottile filo di sostanza vetrosa, generalmente silicio, molto fragile, attraverso il quale si propaga la luce

mantello: sostanza che avvolge il nucleo con proprieta’ ottiche differenti dal nucleo

guaina: sostanza plastica protettiva che avvolge il mantello, che protegge il cavo da umidita’ e deformazioni

Le proprieta’ ottiche di nucleo e mantello sono tali che la luce introdotta nel nucleo con direzione opportuna non possa piu’ uscire dal nucleo, ma venga riflessa in modo da viaggiare lungo il nucleo fino a destinazione

I cavi per utilizzo breve possono essere a coppie di fibre; cavi per lunghe tratte possono invece contenere centinaia di fibre distinte

Page 246: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Trasmissione lungo la fibra: la rifrazione

Quando un raggio di luce passa da un mezzo ad un altro, subisce un cambio di direzione (rifrazione)

L’ampiezza dell’angolo di rifrazione dipende dalle caratteristiche fisiche dei due mezzi

Esiste un angolo di incidenza (angolo critico) oltre il quale il raggio viene completamente riflesso entro il mezzo piu’ denso

Page 247: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Fibre multimodali Nelle fibre multimodali il nucleo ha uno spessore di circa 50

micron In queste condizioni la luce puo’ avere diversi angoli di

incidenza (diversi “modi” di propagazione) e percorrere traiettorie spezzate di lunghezza diversa; questa fibra si dice multimodale con indice a gradino

Una categoria simile e’ la fibra in cui l’indice di rifrazione nel nucleo non e’ costante, ma variabile; la luce percorre traiettorie curve, sempre con modi diversi in funzione dell’angolo di incidenza (multimodale con indice graduato) e genera un impulso in uscita piu’ stretto

In entrambi i casi l’impulso in ingresso subisce una distorsione temporale dovuta ai diversi modi di propagazione, e genera un segnale in uscita (nel dominio tempo) generalemente allargato rispetto al segnale in ingresso

La larghezza dell’impulso limita la velocita’ di trasmissione dati in quanto gli impulsi devono essere spaziati e separati temporalmente in ricezione per essere identificati

Page 248: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Fibre monomodali Nelle fibre

monomodali il nucleo ha uno spessore di 8-10 micron

Riducendo la dimensione del nucleo si riducono i modi di propagazione della luce; arrivando alle dimensioni simili alla llunghezza d’onda, la luce si puo’ propagare solo lungo il modo principale, cioe’ quello che non ha riflessioni

In questo caso l’impulso di luce non subisce distorsione in uscita, e la fibra e’ capace di tassi trasmissivi maggiori

Page 249: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Led e laser

Il segnale luminoso viene generato in due modi differenti: tramite LED (Light Emitting Diode): piu’

economico, adatto per trasmissioni a tratta corta su fibre multimodali ed a basso tasso trasmissivo

tramite diodi ad emissione laser: molto piu’ costoso, adatto per trasmissioni ad alto tasso trasmissivo per lunghe distanze, piu’ sensibile al calore

Page 250: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Lunghezze d’onda

L’assorbimento del segnale sulla distanza dipende dalla lunghezza d’onda utilizzata

Ci sono tre bande in cui l’assorbimento ha una risposta piatta in frequenza, e bassa: queste sono le bande utilizzate per la trasmissione su fibra: 850 nm, 1300 nm e 1550 nm

Page 251: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche delle fibre ottiche

La fibra ottica e’ un ottimo mezzo per la trasmissione dati, per diversi fattori: banda trasmissiva: abbiamo gia’ visto come la banda

disponibile sulla fibra si aggiri intorno ai 30 THz (30000 GHz), sfruttabile tramite WDM; la tecnologia attuale permette tassi trasmissivi fino a 10 Gbps su singola lambda, ma in laboratorio si raggiungono tassi maggiori a breve distanza

dimensione e peso: le fibre sono molto piu’ sottili e leggere dei cavi in rame (problema non indifferente sia per i cablaggi nelle tubature cittadine, sia per la stesura di cavi multipli a lunga distanza, anche transoceanici)

attenuazione ridotta: la fibra garantisce una attenuazione significativamente inferiore al rame: questo permette l’utilizzo di ripetitori solo ogni qualche decina di Km o oltre a seconda della tecnologia utilizzata (laser e fibre monomodali sono piu’ efficienti)

Page 252: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Utilizzo della fibra ottica

La fibra ottica sta’ soppiantando il cavo coassiale per le connessioni a larga banda trasmissiva ed a lunga distanza

Gia’ da tempo utilizzata nelle reti locali per le trasmissioni ad elevato tasso trasmissivo (100-1000-10000 Mbps) a distanze che il rame non riesce a raggiungere

Ultimamente in incremento il suo utilizzo verso le case dei privati per soppiantare il rame in vista di servizi on demand via cavo (TV, cinema, giochi, musica, internet, telefonia, videofonia, …) che richiederanno sempre piu’ banda

Page 253: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Mezzi non guidati La trasmissione di dati viene spesso realizzata

utilizzando la trasmissione di onde elettromagnetiche nell’aria o nello spazio

Si possono considerare essenzialmente due diverse regioni dello spettro che hanno utilizzi differenti a causa delle differenti proprieta’ della trasmissione nelle tre regioni: radiodiffusione: trasmissione di onde in una banda

compresa tra il KHz ed il GHz; in questa regione le onde si propagano in modo diffusivo, ed e’ utilizzata generalmente in modalita’ unidirezionale per le trasmissioni radio o televisive

microonde: nella regione compresa tra 1 e 40 GHz la propagazione delle onde elettromagnetiche e’ abbastanza direzionale (o direzionabile con antenne paraboliche) , e viene utilizzata per trasmissioni punto-punto in ponte radio, o trasmissioni satellitari punto-punto o broadcast

Page 254: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Lo spettro elettromagnetico

Page 255: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Radiodiffusione La radiodiffusione viene utilizzata generalmente per la

trasmissione analogica di segnali radio-televisivi in modalita’ broadcast

Utilizza due tecniche trasmissive differenti in funzione della regione di frequenze: nella regione fino al MHz (VLF, LF ed MF) il segnale si propaga

seguendo la curvatura terrestre ed attraversa bene gli ostacoli: una stazione trasmittente puo’ essere ricevuta fino a 1000 Km di distanza; oltre l’attenuazione (proporzionale all’inverso del quadrato della distanza) diviene eccessiva

nella regione dal MHz al GHz (HF, VHF e UHF) il segnale viene assorbito dalla superficie della terra, ma viene riflesso molto bene dalla ionosfera; i segnali vengono quindi inviati verso il cielo raggiungono la stazione ricevente dopo la riflessione

Page 256: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Trasmissione via ponte radio

La banda di frequenza delle microonde (1-40 GHz) ha la caratteristiche di poter utilizzare antenne paraboliche di dimensioni maneggevoli (fino a qualche metro di diametro) per poter collimare e dare direzione all’emissione

Si puo’ quindi realizzare una comunicazione punto-punto tra sorgente e destinazione con allineamento ottico delle antenne: la trasmissione e’ rettilinea, ed e’ indispensabile la visibilita’ tra le antenne delle stazioni comunicanti

Questa tecnica di trasmissione va in competizione con le linee in coassiale e via fibra ottica per le lunghe distanze, quando l’alternativa con mezzo guidato risulta

troppo costosa o impossibile per motivi morfologici per le brevi distanze (ad esempio per connettere due palazzi vicini di

una stessa compagnia) come alternativa alla stesura di una fibra qualora si dovesse attraversare suolo pubblico o di altra proprieta’, per evitare le complicazioni connesse alle autorizzazioni

Utilizzando diverse stazioni ripetitrici si riescono a coprire distanze elevate (svariate centinaia di Km); una singola tratta puo’ coprire in condizioni favorevoli fino a qualche centinaia di Km

Page 257: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Ponti radio (cont.)

Gli aspetti caratteristici della trasmissione in questa banda di frequenza sono l’attenuazione con la distanza, che segue la relazione

ed e’ superiore a quella del coassiale, che cresce col logaritmo della distanza, ed e’ anche funzione crescente con la frequenza

l’attenuazione dovuta alla interferenza (da altre stazioni, da riflessioni della stessa trasmissione)

attenuazione da pioggia o umidita’, fortemente crescente con la frequenza

dB 4

log102

d

L

Page 258: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Ponti radio (cont.)

Data la dipendenza dell’attenuazione dalla distanza, per le tratte lunghe si utilizzano generalmente due bande di frequenza: 2-6 GHz e 10-14 GHz

Le connessioni a breve distanza possono utilizzare le frequenze piu’ alte (fino a 40 GHz) per le quali si hanno i vantaggi: antenne piu’ piccole fascio piu’ collimato (quindi minore necessita’ di

potenza) minori problemi di interferenza per lo scarso

utilizzo di trasmissioni in quella regione di frequenza

Page 259: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Utilizzo dei ponti radio

Generalmente utilizzati per trasmissioni analogiche (fonia, televisione) o digitali (per reti private o utilizzate dalle compagnie telefoniche fornitrici di servizi)

Le diverse bande di frequenza sono suddivise in canali di diversa larghezza (non uniformi nei diversi paesi), con canali tra i 7 MHz (a 2 GHz) ed i 220 MHz (a 18 GHz), e tassi trasmissivi che vanno dai 12 ai 274 Mbps (in funzione della banda disponibile e del livello di modulazione utilizzato, solitamente QAM-x)

Page 260: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Trasmissioni satellitari Il satellite si comporta come una stazione ripetitrice del

segnale di un ponte radio Il segnale viene inviato dalla stazione terrestre al satellite

(uplink), che lo rimanda a terra verso la stazione o le stazioni riceventi (downlink), generalmente utilizzando frequenze differenti

Un satellite opera su piu’ bande di frequenza, con la tecnologia FDM; i singoli canali si chiamano transponder (canali tra 15 e 500 MHz di banda)

Sui canali il satellite puo’ fare TDM per gestire diverse comunicazioni

Le bande utilizzate sono quelle tra 1 e 10 GHz sopra l’attenuazione atmosferica e’ troppo grande sotto ci sono interferenze ed assorbimento dalla ionosfera

Il sovraffollamento delle frequenze spinge attualmente verso l’utilizzo di bande a frequenza superiore, nonostante che i problemi di attenuazione atmosferica divengano sempre piu’ importanti

Page 261: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Satelliti GEO (Geostationary Earth Orbit): satelliti a 36000 Km di quota

in orbita equatoriale, che appaiono in posizione fissa nel cielo questi satelliti sono adatti alla trasmissione dati in quanto il

puntamento delle antenne e’ fisso per motivi di interferenza i satelliti vengono distanziati di due

gradi, quindi si possono avere al massimo 180 satelliti la trasmissione dati deve tenere conto del ritardo di propagazione

del segnale, che e’ pari a 0.25 secondi (inefficienti i protocolli con controllo degli errori e ritrasmissione dei pacchetti)

MEO (Medium Earth Orbit): satelliti a 18000 Km di quota, con 6 ore di periodo dell’orbita inadatti per la trasmissione dati esempio: i satelliti del GPS (Global Positioning System)

LEO (Low Earth Orbit): tra 750 e 1500 Km di quota molto veloci nel transito, ma vicini, quindi si ha poco ritardo e si

richiede poca potenza in trasmissione esempi: Iridium (per fonia, fax, dati, navigazione), Globalstar.

Page 262: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Riferimenti

Gli argomenti sviluppati nell’ambito del livello fisico possono essere approfonditi sullo Stallings: cap. 3: concetti generali, caratterizzazione di segnale e canale

in frequenza, alterazioni della trasmissione, leggi di Nyquist e Shannon

cap. 4: mezzi trasmissivi cap. 5: codifica dei dati analogici e digitali (fino al § 5.4

compreso) cap. 8: multiplexing (escluso ISDN, prestazioni TDM asincrono,

xDSL) Utili approfondimenti anche sul Tanenbaum:

cap. 2: (solo gli argomenti trattati a lezione) In entrambi i testi si possono trovare utili riferimenti

bibliografici per chi desidera approfondire gli argomenti (non richiesto all’esame)

Per le parti trattate a lezione e non presenti sui testi, fare riferimento ai lucidi ed agli appunti delle lezioni

Page 263: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 10: data link layer: definizione, framing, codici di correzione degli errori

Page 264: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il data link layer Il Data Link Layer (anche livello di collegamento dati, o piu’

semplicemente: livello 2) ha la funzione principale di fornire allo strato di rete servizi per il recapito di dati al nodo direttamente adiacente sulla rete

Il compito del data link layer e’ quindi quello di organizzare il trasferimento dei dati tra due apparati adiacenti, e di fornire una interfaccia definita per consentire allo strato di rete di accedere ai servizi offerti

Apparati adiacenti significa logicamente connessi da un “tubo” che trasmette i bit da una parte e li riceve dall’altra, nell’ordine di trasmissione

Il data link layer utilizzera’ i servizi dello strato fisico per il recapito dei dati al suo processo paritario sul calcolatore ricevente, ma logicamente la comunicazione avverra’ direttamente con il processo di data link layer remoto come sia fatto il “tubo” non e’ argomento che riguardi il data

link layer, ma lo strato fisico: non importa se ci sia un cavo, una fibra, una sequenza di mezzi differenti con interposti ripetitori, convertitori elettrico/ottici, modem, multiplexer, antenne o altro

Page 265: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il data link layer (cont.) Per realizzare le sue funzioni il data link layer riceve i dati

dallo strato di rete (pacchetti), li organizza in trame (frame) eventualmente spezzando in piu’ frame il blocco di dati ricevuto dal livello 3, aggiunge ad ogni frame una intestazione ed una coda (header e trailer), e passa il tutto allo strato fisico per la trasmissione

In ricezione il data link layer riceve i dati dallo strato fisico, effettua i controlli necessari, elimina header e trailer, ricombina i frame e passa i dati ricevuti allo strato di rete

Page 266: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Servizi del DLL

Normalmente la progettazione dello strato 2 fornisce allo strato di rete i servizi trasmissione dati senza riscontro e senza connessione trasmissione dati affidabile senza connessione trasmissione affidabile con connessione

La classe di servizio non affidabile senza connessione e’ adatta su linee di elevata qualita’ il controllo sugli errori e la ritrasmissione di frame errati

comporta una inefficienza in termini di numero di bit trasmessi rispetto ai dati, con riduzione del tasso utile ed aumento della probabilita’ di errore

il controllo puo’ essere demandato ai livelli superiori a vantaggio della efficienza del livello di data link

generalmente questi servizi sono utilizzati su rete locale come detto piu’ volte, servizi non affidabili sono utilizzati

anche per il traffico voce e video

Page 267: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Servizi del DLL (cont.) La classe di servizio affidabile con connessione e’

adatta su linee piu’ frequentemente soggette ad errori demandare il controllo e la ritrasmissione ai livelli superiori

(che generalmente trasmettono pacchetti costituiti da piu’ frame) in caso di elevata probabilita’ di errore potrebbe causare la ritrasmissione di molti pacchetti, mentre al livello due puo’ essere sufficiente la ritrasmissione del singolo frame

tipicamente utilizzata su linee a grande distanza (connessioni WAN), anche se la fibra ottica riduce notevolmente questo problema

Il data link layer deve quindi poter offrire le diverse classi di servizio, per soddisfare le diverse esigenze conseguenti alle diverse circostanze

I servizi vengono forniti attraverso una serie di regole di comunicazione (protocolli) tra i livelli di data link dei calcolatori adiacenti per realizzare il trasferimento dei dati

Page 268: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Problematiche del livello 2

Per poter svolgere le sue funzioni il data link layer dovra’ curare i seguenti aspetti: la organizzazione del flusso di bit in frame, con

controllo per la sincronizzazione, inserimento e rimozione di header e trailer, riordinamento dei frame in ricezione

organizzare il trasferimento dei dati in modo da gestire eventuali errori di trasmissione, utilizzando codici di correzione degli errori o codici di identificazione degli errori e gestendo la ritrasmissione dei frame errati

realizzare il controllo di flusso, per utilizzare in modo efficiente il canale trasmissivo impedendo al contempo ad un trasmettitore veloce di sovraccaricare un ricevitore lento

Page 269: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Framing

Per trasportare i bit il Data Link Layer utilizza i servizi dello strato fisico

Lo strato fisico non puo’ garantire il trasferimento privo di errori, che dovranno essere gestiti dal DLL

Per fare cio’ il DLL organizza i bit in frame, ed effettua i controlli per ogni frame

La gestione del frame deve prevedere in primo luogo la possibilita’ del ricevente di identificare il frame, quindi si devono adottare regole per delimitarlo e poterne identificare i limiti in ricezione

Esistono diverse tecniche conteggio dei caratteri byte di flag, e byte stuffing bit(s) di flag di inizio, e fine e bit stuffing

Page 270: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Framing a conteggio di caratteri

Il conteggio dei caratteri prevede l’utilizzo di un frame costituito da caratteri, ed un campo iniziale per specificare il numero dei caratteri di cui e’ costituito il frame

In ricezione si legge nel campo iniziale la lunghezza del frame, e si identifica cosi’ il primo carattere appartenente al frame successivo

Questo algoritmo e’ molto debole, in quanto in caso di errore non si riesce piu’ a riagganciare la sincronizzazione

Page 271: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Frame con byte di flag Il problema della sincronizzazione puo’ essere risolto utilizzando

un carattere speciale per indicare l’inizio e la fine del frame (flag)

In questo modo la perdita di sincronia si recupera semplicemente aspettando il carattere di inizio del frame

Si presenta il problema di gestire l’eventualita’ che il carattere di flag compaia nel campo dei dati: la soluzione e’ quella di utilizzare un carattere di escape da inserire prima del byte di flag nel campo dati, in modo da indicare al ricevente che quel carattere fa parte dei dati e non della struttura di controllo

In ricezione il carattere di escape verra’ rimosso dal campo dati Va pero’ considerato che anche il carattere di escape puo’

capitare casualmente nel campo dati: per evitare che venga erroneamente rimosso un carattere di escape facente parte dei dati, anche il carattere di escape verra’ preceduto dal carattere di escape stesso, in modo da identificarlo in ricezione come parte dei dati allo stesso modo dell’eventuale carattere di flag

Page 272: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Frame con byte di flag (cont.)

In molti protocolli si utilizza la coppia di caratteri DLE-STX (Data Link Escape – Start of Text) per delimitare l’inizio del frame, e la coppia DLE-ETX (End of Text) per delimitarne la fine; ogni volta che il carattere DLE compare nel campo dati viene raddoppiato.

Page 273: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Framing con bit stuffing L’utilizzo di protocolli basati sulla lunghezza del carattere a

livello di data link non sempre e’ auspicabile non tutti i codici sono concordi sulla lunghezza del carattere

(7/8 bit ASCII, 16 bit UNICODE, …) non sempre e’ adatto un frame costituito da un numero intero

di caratteri (vedi ad esempio SONET) Per ovviare a questo si utilizza una tecnica che prevede per

indicare l’inizio e la fine del frame una sequenza predefinita di bit (solitamente 01111110)

Ogni qualvolta la sequenza di flag compare nel campo dati, e’ sufficiente inserire in modo opportuno un bit che ne altera la sequenza (per la sequenza usuale, si inserisce un bit 0 dopo cinque bit 1 consecutivi)

In ricezione ogni volta che si riceve una sequenza di 5 bit 1 seguiti da un bit 0, lo zero viene eliminato

Anche in questo caso l’operazione di stuffing rende inequivocabile la sequenza di inizio e fine del frame, e quindi possibile la risincronizzazione

Page 274: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio di bit stuffing

Page 275: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Tecniche multiple

Va infine considerato che molti protocolli, per aumentare la ridondanza del protocollo, utilizzando piu’ di una tecnica assieme, tipicamente abbinando il conteggio dei caratteri ad una delle due tecniche di byte o bit stuffing

In ricezione si semplifica il controllo in quanto il delimitatore di fine si cerca solo nella posizione indicata come fine del frame dal contatore

Va osservato come questo non permette comunque di rinunciare alla necessita’ dello stuffing, che resta indispensabile per la risincronizzazione del frame

Page 276: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Frammentazione

Spesso lo strato di rete utilizza pacchetti di dimensione inadatta allo strato di data link

In questa condizione, il livello 2 spezza il pacchetto in piu’ frammenti, e tratta ciascun frammento indipendentemente (applica a ciascuno header, trailer e limiti del frame)

Per poter consegnare in ricezione allo strato di rete il pacchetto originario il livello 2 dovra’ occuparsi di ricombinare i frame nell’ordine corretto

Sara’ quindi necessario numerare i frame in un apposito campo dell’header per poterli riordinare

Vedremo piu’ approfonditamente come questo venga fatto nella analisi del controllo di flusso e di errore

Page 277: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllo degli errori

Come gia’ visto, lo strato fisico non puo’ garantire una consegna di bit senza errori

Lo strato di data link deve quindi operare algoritmi per assicurarsi che i frame inviati vengano ricevuti tutti senza errori senza duplicati nell’ordine corretto

Solitamente si utilizza una forma di riscontro che il ricevente manda al mittente per confermare la corretta ricezione dei frame

Questo viene fatto tramite l’invio di pacchetti appositi di acknowledge positivo (ACK) o negativo (NACK)

Page 278: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Problematiche del controllo degli errori

Il controllo deve prevedere un meccanismo per correggere o identificare gli errori di trasmissione

La perdita completa di un frame, o la perdita di un ACK, lascia il trasmittente in attesa dell’ACK, quindi si dovranno inserire timer per la ritrasmissione automatica di frame

La perdita di un ACK comporta la ritrasmissione di un frame gia’ ricevuto correttamente, quindi si deve identificare questa eventualita’ e scartare il duplicato, tramite ad esempio la numerazione dei frame

I meccanismi adottati per questa funzione sono differenti e dipendono dal protocollo utilizzato; ne vedremo alcuni tra i piu’ comuni

Page 279: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllo di flusso Puo’ capitare che una sorgente sia in grado di

trasmettere ad un tasso piu’ alto della capacita’ di ricevere a destinazione

Senza controllo, questo implica che la destinazione inizierebbe a scartare frame trasmessi correttamente per mancanza di risorse (tempo di processamento, buffer)

Il protocollo deve poter gestire questa situazione e prevedere meccanismi per rallentare la trasmissione

Tipicamente il protocollo prevedera’ dei frame di controllo con cui il ricevente puo’ inibire e riabilitare la trasmissione di frame, cioe’ il protocollo stabilisce quando il trasmittente puo’ inviare frame

Vedremo diverse tecniche, che si differenziano per complessita’ ed efficienza di utilizzo della linea

Page 280: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllare gli errori? Perche’ occuparsi degli errori trasmissivi? Vediamo un esempio

pratico: Una linea ISDN a 64 Kbps viene ritenuta idonea a fornire servizio se il

numero di frame errati e’ inferiore ad uno al giorno Ipotizzando di utilizzare frame di 1000 bit, e di trasmettere a piena

banda, si ha:

Ora, ipotizzando un BER di una parte su milione, si ha:

cioe’ senza controllo di errori il tasso di frame errati e’ 5000 volte superiore a quello richiesto, quindi e’ necessario operare per identificare e correggere gli errori trasmissivi

errato frame di prob. max 108.11053.5

1

noframe/gior 1053.5bit/frame 1000

bps 64000*s/giorno 86400

76

6

FEP

001.01999.0

101101000

66

FFEBF

BBE

PPPP

PP

Page 281: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Errori di trasmissione

Esistono due strategie per gestire errori di trasmissione del livello fisico: utilizzare codifiche a correzione di errore (forward error

correction): la codifica utilizzata e’ in grado di identificare i bit errati nel frame e di correggerli in ricezione

utilizzata tipicamente su linee ad alto tasso di errore, per le quali l’overhead della codifica e’ conveniente rispetto alla ritrasmissione del frame che ha elevate probabilita’ di essere ancora errato

utilizzare codifiche ad identificazione di errore: la codifica e’ in grado di capire se c’e’ stato un errore durante la trasmissione; in conseguenza dell’errore il protocollo chiedera’ la ritrasmissione del frame, o non fara’ nulla, aspettando lo scadere del timer in trasmissione

utilizzata tipicamente su linee a basso tasso di errore, nelle quali la ritrasmissione del frame errato risulta piu’ conveniente dell’overhead di una codifica a correzione di errore

Page 282: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codeword e distanza di Hamming

Un messaggio da inviare e’ costituito da m bit di dati, a cui si aggiungono r bit di ridondanza finalizzata alla rilevazione o correzione di errore

La quantita’ di bit trasmessi e’ costituita da n = m+r bit. Chiamiamo codeword l’insieme di n bit trasmessi

Date due codeword, si definisce distanza di Hamming tra le codeword il numero di bit corrispondenti che differiscono, cioe’ il numero di “1” nel risultato dell’OR esclusivo tra le codeword; ad esempio le due codeword

hanno distanza di Hamming pari a 3

00111000

1011000110001001

Page 283: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Correzione e rivelazione di errori basati sulla distanza di Hamming

L’idea e’ che per trasformare una codeword in un’altra codeword a distanza d, sono necessari d errori sul bit

Normalmente i codici ammettono tutte le possibili combinazioni di bit sui dati, ma non tutte le combinazioni sui bit di controllo

Dato l’algoritmo che determina gli r bit di controllo associati alle possibili combinazioni degli m bit di dati, esisteranno codeword valide e codeword invalide

La distanza minima tra le codeword valide e’ detta distanza di Hamming della codifica

m2 r2

Page 284: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Correzione e rivelazione di errori basati sulla distanza di Hamming (cont.)

Ogni errore di bit trasformera’ la codeword trasmessa (valida) in una codeword differente

Per poter rivelare d errori, il codice dovra’ avere una distanza di Hamming pari a d+1 (in questo modo d errori non potranno mai trasformare una codeword valida in un’ altra codeword valida)

L’esempio piu’ semplice e’ il bit di parita’: questo e’ un codice a distanza due, che permette di identificare l’errore di singolo bit dato un set di m bit, la codeword e’ costituita da m+1 bit dove

l’ultimo bit e’ determinato dalla parita’ la codeword valida piu’ vicina si trova cambiando un bit dei dati,

ma questo obbliga a cambiare anche il bit di parita’, quindi la distanza del codice e’ 2

un errore di singolo bit provoca sempre la trasformazione di una codeword valida in una non valida (viola la parita’)

Naturalmente questi codici in generale non sono in grado di rivelare errori di d+1 bit (o superiori) in trasmissione

Page 285: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Correzione e rivelazione di errori basati sulla distanza di Hamming (cont.)

Questa tecnica viene utilizzata per la correzione degli errori Per poter identificare e correggere d errori, serve una codifica a

distanza 2d+1 In questo modo d errori trasformeranno una codeword valida in una

codeword invalida, ma tale che la codeword valida trasmessa risulta quella a distanza minima, quindi e’ identificabile

Ad esempio, supponiamo che le codeword valide siano 0000000000 0000011111 1111100000 e 1111111111.

La distanza del codice e’ 5 Supponiamo di trasmettere 0000000000, e di avere 2 errori in

trasmissione, ad esempio riceviamo 1100000000. Il ricevente sa che la codeword trasmessa e’ quella piu’ vicina (che

dista 2 dalla codeword ricevuta), cioe’ ricostruisce il dato corretto In caso di errori di piu’ bit, la codifica commettera’ un errore di

interpretazione (proseguendo nell’esempio, se in trasmissione e’ stata trasmessa la codeword 1111100000 e si sono verificati 3 bit di errore, ricevendo 1111101011, il ricevente correggera’ il dato ricevuto in 1111111111)

Page 286: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Metodo di Hamming per un codice di correzione di un bit

Per realizzare la correzione di 1 bit di errore dobbiamo realizzare un codice a distanza 3

Si puo’ vedere la cosa nel seguente modo: per ciascun insieme di dati dovremo avere una codeword valida ed n codeword invalide, ottenute cambiando ad uno ad uno un bit della codeword valida

Si ha pertanto:

Questa relazione definisce il limite inferiore di r Ad esempio, per trasmettere la codifica ASCII a 7 bit dovremo

utilizzare 4 bit di ridondanza

1222212221n

possibili nicombinazio 2necessarie codeword 21

mrrm

n

rrmm

rmnm

n

m

Page 287: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Metodo di Hamming per un codice di correzione di un bit (cont.)

Hamming ha ideato un modo efficiente per realizzare questa codifica

Numeriamo i bit della codifica partendo da sinistra, iniziando da 1

I bit di ridondanza stanno nelle posizioni 1, 2, 4, … (quelle che rappresentano le potenze di 2)

I bit dei dati occupano le altre posizioni; ciascuna posizione puo’ essere espressa come somma di potenze di due: 7 = 1+2+4 10 = 2+8

Ciascun bit di ridondanza viene valutato per definire la parita’ (pari o dispari) dell’insieme dei bit la cui posizione e’ tale da avere il numero di posizione di quel bit di ridondanza nella sua scomposizione il bit 1 definira’ la parita’ dei bit 1, 3, 5, 7, .. il bit 2 definira’ la parita’ dei bit 2, 3, 6, 7, 10, 11, 14, 15, … il bit 4 definira’ la parita’ dei bit 4, 5, 6, 7, 12, 13, 14, 15, …

Page 288: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Metodo di Hamming per un codice di correzione di un bit (cont.)

Ogni bit di dati contribuisce alla parita’ dei bit di controllo tali che la somma delle posizioni di questi bit di controllo eguaglia la posizione del bit in questione, in quanto questi sono i bit le cui posizioni fanno parte della scomposizione in potenze di due della posizione del bit stesso

In ricezione si calcolano i bit di parita’ sulla base dei dati ricevuti, e si confrontano con i valori ricevuti; sommando le posizioni dei bit di controllo risultati errati, si ottiene la posizione del bit errato (si otterra’ zero se non c’e’ stato errore)

Ad esempio, supponiamo di trasmettere il carattere H, la cui codifica ASCII e’ 1001000. La codifica di Hamming (pari) per H e’ 00110010000 (in azzurro i bit di ridondanza)Se in ricezione otteniamo 0011011000 (con un errore di trasmissione, nel bit in posizione 6) e proviamo a ricalcolare la parita’, otteniamo: bit 1: x+1+0+1+0 = 0 giusto bit 2: x+1+1+1+0 = 1 errato bit 4: x+0+1+1 = 0 errato bit 8: x:0+0 = 0 giustoquindi il bit errato sara’ in posizione 2+4 = 6

Questo vale anche per identificare un eventuale errore sul bit di controllo, che risultera’ essere l’unico errato

Page 289: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Tecnica per correzione di errori a grappolo

Spesso gli errori su una linea di trasmissione dati si presentano a grappoli (burst)

Ad esempio, un evento di rumore impulsivo provoca l’errore di un certo numero di bit consecutivi

Benche’ la codifica Hamming permetta di correggere solo errori singoli, si usa un trucco per identificare e correggere gli errori a grappolo fino ad una lunghezza massima

Una sequenza di K codeword consecutive viene rappresentata in colonna, ed i bit vengono trasmessi per colonna

Un evento di errore burst di lunghezza non superiore a K provochera’ la trasmissione errata di non piu’ di K bit consecutivi (nell’ordine di trasmissione)

Poiche’ i bit sono trasmessi in colonne, risulteranno errati non piu’ di un bit per ciascuna codeword

In questa condizione gli errori burst di lunghezza non maggiore di K potranno essere corretti in ricezione

Page 290: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio di codifica di Hamming

Page 291: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 11: data link layer: codici di rilevazione di errore, gestione degli errori

Page 292: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

La rilevazione di errore

Un codice a rilevazione di errore ha lo scopo di permettere al ricevente di determinare se vi sono stati errori in trasmissione

Il codice non ha la finalita’ di correggere l’errore, ma solo di rilevare che c’e’ stato

Per raggiungere lo scopo si utilizzano bit di controllo in aggiunta ai bit dei dati

La tecnica utilizzata e’ di assegnare in trasmissione ai bit di controllo un valore opportuno in funzione dei bit dei dati; in ricezione si calcolano nuovamente i valori dei bit di controllo e si fa la verifica con quelli ricevuti

Page 293: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Tecniche di codifica Abbiamo gia’ visto un esempio: il bit di parita’

questa codifica permette la rilevazione di qualunque errore singolo, ed in generale di un numero dispari di errori

un numero pari di errori non potra’ essere rilevato la codifica sara’ quindi in grado di identificare burst di errori

con probabilita’ del 50% Anche in questo caso si puo’ utilizzare la tecnica di

trasmettere K codeword in colonna per identificare errori burst di lunghezza non superiore a K; errori piu’ estesi, o piccole serie multiple di errori produrranno un valore valido per ogni riga con probabilita’ 0.5

la probabilita’ che l’errore non venga rilevato sara’ complessivamente pari a

il vantaggio di questa codifica e’ il basso overhead (1 bit per ogni frame)

Generalmente si utilizza una tecnica piu’ efficiente, detta CRC (Cyclic Redundancy Check), o codifica polinomiale

k2

Page 294: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Rappresentazione di sequenze di bit tramite polinomi

Una sequenza di N bit puo’ essere rappresentata tramite un polinomio a coefficienti binari, di grado pari a N-1, tale che i suoi coefficienti siano uguali ai valori dei bit della sequenza

Il bit piu’ a sinistra rappresenta il coefficiente del termine di grado N-1, mentre il bit piu’ a destra rappresenta il termine noto (di grado 0)

Ad esempio, la sequenza 1001011011 puo’ essere rappresentata dal polinomio

Il grado del polinomio e’ determinato dal primo bit a sinistra di valore 1 presente nella sequenza

13469 xxxxx

Page 295: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Aritmetica dei polinomi in modulo 2

L’aritmetica dei polinomi a coefficienti binari si gestisce con le regole della aritmetica modulo 2: le somme e le sottrazioni non prevedono riporti; sono

pertanto coincidenti ed equivalenti all’OR esclusivo:

le divisioni sono eseguite normalmente, tranne che le sottrazioni seguono la regola sopra detta; in questi termini, il divisore “sta” nel dividendo quando il dividendo ha lo stesso numero di bit del divisore, mentre non si puo’ dividere quando il dividendo ha meno bit del divisore

11111110

1100110100110011

01010001

1100101010011011

Page 296: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Divisione binaria di polinomi

Ad esempio:

1

1

1

234

2

236

x

xxx

xx

xxx

resto con

Page 297: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codifica polinomiale (CRC)

La tecnica consiste nel considerare i dati (m bit) da inviare come un polinomio di grado m-1

Trasmettitore e ricevitore si accordano sull’utilizzo di un polinomio generatore G(x) di grado r

Il trasmettitore aggiunge in coda al messaggio una sequenza di bit di controllo (CRC) in modo che il polinomio associato ai bit del frame trasmesso, costituito dall’insieme di dati e CRC, sia divisibile per G(x)

In ricezione si divide il polinomio associato ai dati ricevuti per G(X) se la divisione ha resto nullo, si assume che la

trasmissione sia avvenuta senza errori se la divisione ha resto non nullo, sono certamente

avvenuti errori

Page 298: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codifica polinomiale (cont.)

Dal punto di vista logico, la generazione del codice CRC avviene nel seguente modo: Sia M(x) il polinomio associato agli m bit di dati Sia G(x) il polinomio generatore di grado r Si aggiungono r bit a valore 0 in fondo ai bit di dati; il

polinomio associato all’insieme di m+r bit e’ quindi M(x)

Si calcola il resto della divisione M(x)/G(x), che sara’ un polinomio R(x) di grado inferiore ad r, quindi rappresentativo di una sequenza di r bit

Si costruisce la sequenza di bit associata al polinomioT(x) = M(x)-R(x), che equivale ad aggiungere i bit corrispondenti a R(x) in coda ai dati da inviare: vanno riportati tutti gli r bit associati ad R(x), quindi anche eventuali zeri in testa al resto; questa e’ una sequenza di m+r bit

E’ evidente che il polinomio T(x) risultera’ divisibile per G(x) con resto nullo

rxrx

rx

Page 299: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio di calcolo di CRC

Supponiamo di voler trasmettere con CRC la sequenza 1101011011, utilizzando il polinomio generatore

equivalente alla sequenza di bit 10011 Si costruisce la sequenza 11010110110000, e la si

divide per 10011 Il resto della divisione e’ 1110 Il frame che verra’ trasmesso sara’ quindi

11010110111110 In ricezione si divide la sequenza ricevuta per lo

stesso polinomio, e si verifica che il resto sia nullo

14 xx

Page 300: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche del polinomio generatore

La codifica CRC si basa sulla definizione del polinomio generatore G(x)

Le caratteristiche del polinomio determinano quali errori saranno rilevabili e quali invece potranno passare inosservati

Detto T(x) il polinomio associato al frame trasmesso, il polinomio associato al frame ricevuto puo’ essere espresso come T(x)+E(x), dove E(x) avra’ coefficiente 1 per ogni bit che e’ stato modificato da errori trasmissivi

Risulta chiaro che un errore passera’ inosservato solo se T(x)+E(x) sara’ divisibile per G(x), ma essendo per definizione T(x)/G(x) = 0, l’errore passera’ inosservato se E(x) sara’ divisibile per G(x)

Page 301: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche del polinomio generatore (cont.)

Errori di singolo bit: il polinomio E(x) avra’ la forma

dove i e’ il bit errato; un polinomio G(x) costituito da piu’ di un termine non potra’ dividere E(x)

Errori di coppie di bit: il polinomio ha la forma

in questo caso G(x) non potra’ essere divisore di E(x) se G(x) non divide per ogni k: gia’ visto G(x) non divide ( +1) per ogni k possibile (cioe’ fino a k pari al numero

di bit del frame): esistono in letteratura molti polinomi semplici e di basso grado che non sono divisori di ( +1) fino a valori di K molto elevati; ad esempio, il polinomio

non divide ( +1) per K<32768

ixxE )(

ki xxxxxE kikki con 1)(

11415 xxxG )(

kxkx

kx

kx

Page 302: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche del polinomio generatore (cont.)

Errori in numero dispari di bit: se G(x) contiene a fattore (x+1) non puo’ essere

divisore di un polinomio con numero dispari di elementi: Per assurdo, supponiamo che E(x) sia divisibile per (x+1) si puo’ scrivere E(x) = (x+1)Q(x) calcoliamo E(1) = (1+1)Q(1) ma 1+1 = 0, quindi E(1) =

0 Pero’ se E(x) ha un numero dispari di elementi, E(1) e’ la

somma di un numero dispari di 1, che fa 1 si ha quindi un assurdo che nega l’ipotesi di partenza

Page 303: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche del polinomio generatore (cont.)

Sequenze di errori di lunghezza ≤ r un burst di errori lungo K si puo’

rappresentare come E(x) = xj (xk-1+xk-2+…+1)

j determina la distanza dell’ultimo bit errato dall’ultimo bit del frame

come detto, E(x) non divide xj la restante parte di E(x) non potra’

essere divisibile per G(x) se K ≤ r

Page 304: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche del polinomio generatore (cont.)

Sequenze di errori di lunghezza r+1 in questo caso E(x) sara’ divisibile per G(x)

solo se il burst genera una sequenza identica al polinomio generatore

la probabilita’ che questo accada e’ (½)r-1 Sequenze di errori di lunghezza maggiore

si puo’ dimostrare, nella assunzione che tutti i bit possano essere errati con uguale probabilita’, che negli altri casi la probabilita’ che E(x) sia divisibile per G(x) e’ pari a (½)r

Page 305: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Polinomi standard

Viste le caratteristiche dei polinomi, si sono identificati diversi polinomi opportuni per rendere molto improbabile la mancata rilevazione di errori

I piu’ comuni a 16 bit sono

Un polinomio standard a 32 bit utilizzato in molte applicazioni (tra cui IEEE 802) e’ il CRC-32:

CCITT-CRC 116-CRC 1

51216

21516

xxxxxx

1 2457810

11121622232632

xxxxxxxxxxxxxx

Page 306: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Gestione degli errori

I protocolli a rilevazione di errore devono gestire due tipi di evento: perdita di un frame perdita di un riscontro

dove la perdita puo’ essere un evento noto (ricezione di un frame errato) o un evento ignoto (distruzione del frame in trasmissione)

Generalmente si utilizzano una o piu’ delle seguenti tecniche: riscontro positivo attesa di timeout per la ricezione dell’ACK e

ritrasmissione riscontro negativo

Questi meccanismi si chiamano ARQ (Automatic Repeat reQuest)

Page 307: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Gestione degli errori

Esistono diversi meccanismi di ARQ, che si basano sulle funzionalita’ dei diversi protocolli di controllo di flusso ARQ stop-and-wait ARQ go-back N ARQ selective reject

Poiche’ il loro funzionamento dipende da questi protocolli, li vedremo assieme all’analisi del controllo di flusso

Page 308: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 12: data link layer: controllo di flusso, protocolli stop-and-wait e sliding window

Page 309: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllo di flusso

L’implementazione del data link layer prevedera’ la realizzazione della interfaccia con i livelli adiacenti, ad esempio due procedure from-network-layer() e to-network-layer() per scambiare dati con il livello superiore, e due procedure analoghe per scambiare dati con lo strato fisico

In aggiunta sara’ prevista una procedura wait-for-event() che mettera’ il data link layer in attesa di un evento

Questo evento sara’ in generale la segnalazione, da parte di uno dei due livelli adiacenti, che sono disponibili dei dati

Infine, saranno definite procedure per il trattamento dei dati (inserimento/rimozione di header, calcolo di checksum, …)

Page 310: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllo di flusso (cont.)

In ricezione, il data link layer verra’ svegliato per prelevare dati dallo strato fisico, processarli, e passarli allo strato di rete

Di fatto il DDL in ricezione non sara’ in grado di rispondere ad eventi per il tempo che intercorre tra la chiamata alla procedura from-physical-layer() e la fine della procedura to-network-layer()

In questo intervallo di tempo, dati in arrivo saranno messi in buffer, in attesa di essere processati

Poiche’ il tempo di elaborazione non e’ nullo, si deve gestire l’eventualita’ che i dati arrivino troppo velocemente

Page 311: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllo di flusso a priori

Un semplice meccanismo puo’ essere quello di valutare i tempi di risposta del ricevente, ed inserire dei ritardi nel processo di trasmissione per adattarlo alla capacita’ di ricezione

Il problema e’ che il tempo di processamento in ricezione non e’ una costante e puo’ dipendere dal numero di linee che il nodo ricevitore deve gestire

Basarsi sul caso peggiore comporta un grosso limite di efficienza

Vedremo esempi di protocolli che implementano un controllo di flusso di complessita’ crescente al fine di utilizzare al meglio la banda

Page 312: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo simplex stop-and-wait

Ipotizziamo che il canale sia privo di errori il traffico dati scorra in una direzione sola, dal trasmittente

(A) al ricevente (B), cioe’ protocollo simplex Il protocollo stop-and-wait prevede che A, dopo aver

inviato il frame, si fermi per attendere un riscontro B, una volta ricevuto il frame, inviera’ ad A un frame

di controllo, cioe’ un frame privo di dati, allo scopo di avvisare A che puo’ trasmettere un nuovo frame

Il frame di riscontro di indica generalmente con il termine ACK (ACKnowledge) o RR (Receiver Ready)

Va osservato che il traffico dati e’ simplex, ma i frame devono viaggiare nelle due direzioni, quindi il canale fisico deve essere almeno half-duplex

Page 313: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Efficienza del protocollo stop-and-wait

A inizia ad inviare un frame a B al tempo T=0, e potra’ inviare un altro frame solo dopo aver ricevuto l’ACK da B

Il tempo di attesa e’

T = Tframe+Tprop+Tproc+Tack+Tprop+Tproc

dove Tframe e Tack sono i tempi necessari a

trasmettere il frame e l’ack, Tprop e’ il tempo di

propagazione del segnale sul mezzo trasmissivo, Tproc e’ il tempo di processamento dei dati

Assumendo nulli Tproc e Tack si ha

T = 2Tprop+Tframe

Page 314: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Efficienza stop-and-wait (cont.)

Si definisce efficienza dell’utilizzo del canale il rapporto tra il tempo impiegato a trasmettere il frame, ed il tempo totale di attesa prima di poter trasmettere nuovamente:

u = Tframe/(2Tprop+Tframe)

Definiamo la quantita’

a= Tprop/Tframe

Possiamo quindi scrivere

u=1/(1+2a)

Al crescere di a si riduce l’efficienza di utilizzo del mezzo

Page 315: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Efficienza stop-and-wait (cont.)

Il valore di a dipende dalle caratteristiche della linea: detti d la lunghezza in metri del mezzo, V la

velocita’ di propagazione del segnale, R il tasso trasmissivo ed L la lunghezza in bit del frame, si ha

Tprop = d/V Tframe = L/R --> a = (Rd)/(LV)

Quindi possiamo vedere che, a parita’ degli altri fattori, l’efficienza si riduce con: l’aumento del tasso trasmissivo l’aumento della distanza la riduzione della dimensione del frame

Page 316: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Efficienza stop-and-wait (cont.)

Page 317: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Efficienza stop-and-wait (cont.)

Il valore di a puo’ essere interpretato come il rapporto tra la lunghezza in bit della linea e la lunghezza in bit del frame (cioe’ quanti frame stanno sulla linea); infatti la durata del bit e’ dato dall’inverso del rate:

la lunghezza spaziale del bit e’ data dalla velocita’ di trasmissione del segnale per la durata del bit, quindi

il numero di bit che stanno sulla linea e’ dato dal rapporto tra la lunghezza della linea e la lunghezza del bit:

quindi

RTb

1

R

VTVd bb

V

dR

d

dN

bb

L

N

LV

Rda b

Page 318: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Calcolo di efficienza

Connessione via modem a 56 Kbps, distanza di 1 Km dalla centralina, con frame lungo 1000 bit. L’efficienza sara’:

Connessione geografica a 1000 Km con frame di 424 bit, e throughput di 155 Mbps:

9994.021

1

102.31021000

101056 4

8

33

au

LV

Rda

4

3

8

66

107.221

1

108.1102424

1010155

au

LV

Rda

Page 319: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo stop-and-wait con errori (cont.)

Se aggiungiamo la eventualita’ di avere errori, dovremo gestire la perdita di frame se arriva a B un frame errato, B lo scarta e non fa nulla allo stesso modo se il frame viene perduto, B non sapra’

che e’ stato inviato un frame, e l’ACK non verra’ inviato per evitare che A aspetti per sempre si deve introdurre un

timer in A, che viene fatto partire dopo la trasmissione del frame

questo implica la necessita’ di disporre di un buffer in cui A possa memorizzare il frame fino alla ricezione del relativo ACK

allo scadere del timer, A inviera’ nuovamente il frame il valore del timer va valutato accuratamente per impedire

che un timer troppo corto provochi la ritrasmissione prima che l’ACK possa arrivare, mentre un timer troppo lungo costituira’ una inutile inefficienza

Page 320: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo stop-and-wait con errori (cont.)

La stessa procedura permette di fronteggiare la perdita di ACK, pero’ in questo caso A inviera’ nuovamente il frame che B ha gia’ ricevuto

Per ovviare a questo problema i frame devono essere numerati poiche’ l’ambiguita’ da risolvere e’ quella di distinguere

un frame da quello precedente, e’ sufficiente numerare i frame 0 e 1 (un bit nell’header)

gli ACK riporteranno l’informazione di quale sia il frame ricevuto (in generale si riporta il numero del prossimo frame che B si aspetta di ricevere)

Qualora B dovesse ricevere un duplicato, lo scarta ma rimanda lo stesso ACK precedentemente inviato

Page 321: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.
Page 322: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Efficienza stop-and-wait con errori

L’efficienza e’ sempre data dal rapporto tra il tempo impiegato per la trasmissione della trama ed il tempo che passa prima che A possa inviare la trama successiva

Il tempo che passa sara’ il tempo di timeout per il numero di ritrasmissioni dovute ad errore, piu’ il tempo per la trasmissione con successo:

Ipotizzando che il tempo di timeout sia pari all’intervallo di tempo dopo il quale A si aspetta di ricevere l’ACK (in realta’ sara’ leggermente di piu’) si ha:

dove NT e’ il numero di trasmissioni effettuate

aNTTN

Tu

TT 21

1

2 propframe

frame

propframetimeouttrasm 2)1( TTTNT T

Page 323: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Efficienza stop-and-wait con errori (cont.)

Detta PFE la probabilita’ di avere un errore (rilevato), il numero di trasmissioni dello stesso frame sara’

quindi l’efficienza del protocollo stop-and-wait con errori e’ data da

a

Pu

21

1 FE

FE1

)1(FE 1

1

PPN

i

iT

Page 324: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Trasmissioni full duplex

Quando il canale di comunicazione permette l’invio di dati in entrambe le direzioni contemporaneamente e’ possibile definire protocolli di comunicazione detti full duplex

In caso di linea full duplex il canale trasmette frame di dati in un verso e frame di ACK relativi alla comunicazione nel verso opposto, mischiati tra loro

I frame saranno distinti da una informazione contenuta nell’header del frame, che etichetta i frame come “dati” o come “frame di controllo”

Page 325: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Acknowledge in piggybacking

Per motivi di efficienza spesso si utilizza una tecnica (detta “piggybacking”) per evitare di dover costruire e trasmettere un frame di ACK: si dedica un campo dell’header di un frame di dati per

trasportare l’ACK della trasmissione in senso inverso Quando si deve trasmettere un ACK, si aspetta di

dover trasmettere un frame di dati che possa trasportare l’informazione di ACK

Se non ci sono dati da inviare, si dovra’ comunque inviare un frame di ACK prima che scada il timeout del trasmittente questo implica il dover utilizzare un altro timer per

decidere dopo quanto tempo inviare comunque l’ACK in caso di mancanza di dati da inviare in senso inverso

Page 326: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocolli a finestra scorrevole

I protocolli a finestra scorrevole (sliding window) permettono di inviare piu’ di un frame prima di fermarsi per attendere il riscontro, fino ad un valore massimo W fissato a priori

Poiche’ in ricezione possono arrivare piu’ frame consecutivi, i frame devono essere numerati per garantire in ricezione che non si siano persi frame: saranno dedicati n bit di controllo per la numerazione, ed i frame potranno avere numero da 0 a 2n-1

In ricezione non e’ necessario riscontrare tutti i frame: il ricevente puo’ attendere di ricevere un certo numero di frame (fino a W) prima di inviare un solo riscontro cumulativo

La numerazione dei frame e’ in modulo 2n, cioe’ il frame successivo a quello numerato 2n-1 avra’ come identificativo il numero 0

Per non avere sovrapposizione dei numeri identificativi tra i frame in attesa di riscontro, questi non dovranno essere in numero maggiore di 2n, quindi si avra’ sempre W ≤ 2n; in funzione del protocollo usato si potranno avere restrizioni maggiori

Page 327: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocolli a finestra scorrevole (cont.)

Questo tipo di protocolli necessita’ di maggiori risorse di buffer: in trasmissione devono essere memorizzati i frame inviati in

attesa di riscontro, per poterli ritrasmettere in caso di necessita’

ad ogni riscontro ricevuto, vengono liberati i buffer relativi ai frame riscontrati, per occuparli con i nuovi frame trasmessi

a seconda del protocollo anche in ricezione di deve disporre di buffer, ad esempio per memorizzare frame fuori sequenza;

ad ogni riscontro inviato, i frame riscontrati vengono passati allo strato di rete ed i relativi buffer vengono liberati per poter accogliere nuovi frame in arrivo

ed una maggiore complessita’ di calcolo La dimensione della finestra (W) puo’ essere fissata a

priori dal protocollo, ma esistono protocolli che permettono di modificarne il valore dinamicamente tramite informazioni di controllo del protocollo

Page 328: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

La finestra in trasmissione

In trasmissione si deve tenere conto dei frame inviati e non riscontrati, e del numero massimo di frame che possono essere ancora inviati prima di dover fermare la trasmissione

Si utilizza una sequenza di numeri, indicanti gli identificativi dei frame

In questa sequenza di numeri si tiene conto di una finestra che contiene l’insieme dei frame che il trasmittente e’ autorizzato ad inviare

Con il procedere della trasmissione la finestra scorre in avanti: inizialmente la finestra ha limiti 0 e W-1 ad ogni frame inviato, il limite inferiore della finestra cresce di

una unita’; quando la finestra si chiude (cioe’ quando sono stati inviati W frame in attesa di riscontro) la trasmissione deve fermarsi

per ogni frame riscontrato, il limite superiore della finestra si sposta in avanti di una unita’ (o piu’ se si e’ ricevuto un riscontro cumulativo), permettendo al trasmittente di inviare nuovi frame

La dimensione della finestra di trasmissione varia, ma non puo’ mai superare il valore di W

Page 329: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

La finestra in ricezione

In ricezione si deve tenere conto dei frame ricevuti di cui non e’ stato ancora inviato l’ACK, e del numero di frame ancora accettabili

Si utilizza una finestra analoga a quella in ricezione: la finestra contiene i numeri dei frame accettabili

il limite inferiore e’ il numero del frame successivo all’ultimo ricevuto, mentre il limite superiore e’ dato dal primo non ancora riscontrato piu’ W

Ad ogni nuovo frame ricevuto il limite inferiore della finestra cresce di una unita’, mentre ad ogni acknowledge inviato il limite superiore avanza di una unita’

La dimensione della finestra non puo’ eccedere il valore di W (tutti i frame ricevuti sono stati riscontrati)

Quando la finestra si azzera significa che si devono per forza inviare i riscontri, perche’ la ricezione e’ bloccata

Qualsiasi frame ricevuto con numero fuori dalla finestra di ricezione sara’ buttato via

La finestra in ricezione non deve necessariamente avere la stessa dimensione della finestra in trasmissione ad esempio una finestra in ricezione piu’ piccola costringera’ il ricevente

ad inviare ACK prima che in trasmissione sia stata azzerata la finestra

Page 330: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio con W = 7

Page 331: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Efficienza del protocollo sliding windows senza errori

Un protocollo che permette di trasmettere piu’ frame prima di attendere un riscontro comporta un utilizzo piu’ efficiente della linea: se la finestra e’ sufficientemente ampia da non

averla esaurita in trasmissione prima che arrivi l’ ACK del primo frame inviato, il flusso non si interrompe mai, cioe’ l’efficienza vale 1; questo si ha quando il tempo di W trasmissioni supera il tempo necessario a ricevere il riscontro del primo frame:

aWTTTWT

212 propframeframetrasm

Page 332: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Efficienza del protocollo sliding windows senza errori (cont.) se la finestra non e’ sufficientemente ampia, si ha:

quindi l’efficienza e’ data da:

che e’ W volte maggiore rispetto a quella del protocollo stop-and-wait

propframe

frametrasm

2TTTTWT

a

Wu

21

Page 333: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Calcolo di efficienza

Connessione geografica a 1000 Km con frame di 424 bit, e throughput di 155 Mbps stop-and-wait:

Stessa connessione con finestra a 8 bit (W=256):

KbpsuRRa

u 41107.221

1eff

4

MbpsRu 7.10109.6107.2256 eff24

Page 334: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 13: data link layer: protocolli go-back-n e selective reject; esempi: HDLC, PPP

Page 335: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocolli sliding windows con errori

L’utilizzo di un protocollo sliding window permette di utilizzare meglio la linea, ma complica il problema di gestire gli errori: il trasmittente, prima di accorgersi che un

frame e’ stato ricevuto con errore, ha gia’ inviato altri frame

in ricezione possono quindi arrivare frame corretti con numero di sequenza successivo ad un frame rigettato (non ricevuto)

Esistono due protocolli che gestiscono in modo differente questa situazione: protocollo go-back-N protocollo selective reject

Page 336: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocolli sliding windows con errori

Questi protocolli prevedono l’invio sia di frame ACK (per riscontrare un frame), indicati anche come RR (Receiver Ready), che NAK (Not AcKnowledged), indicato anche come REJ (REJect), utilizzato per informare il trasmittente che e’ stato ricevuto un frame fuori sequenza

Sia gli ACK (RR) che i REJ riportano l’indicazione del numero di sequenza del frame che e’ atteso in ricezione (quello successivo all’ultimo riscontrato)

Questi protocolli implementano anche frame di controllo RNR (Receiver Not Ready) che impongono al trasmittente di fermarsi fino alla ricezione di un nuovo RR; questi possono essere utilizzati come ulteriore controllo di flusso, per gestire situazioni non di errore ma di congestione o temporanea sospensione della attivita’ in ricezione

Page 337: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo go-back-N

Questo protocollo segue la logica che in ricezione vengano rifiutati tutti i frame successivi ad un frame danneggiato o mancante

Esistono due possibilita’: frame errato: in questo caso B scarta il frame:

se A non invia frame successivi, non accade nulla fino allo scadere del timer di A, quindi A ricomincia ad inviare frame a partire dal primo non riscontrato

se A invia frame successivi, B risponde con un REJ dei frame ricevuti, in modo da notificare ad A che il frame indicato nel REJ e’ andato perso; al primo REJ ricevuto, A ricomincia dal primo frame non riscontrato

Page 338: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo go-back-N (cont.)

ACK errato: in questo caso B ha accettato il frame: se A non invia frame successivi, allo scadere

del timer: A invia nuovamente il frame; B lo rifiuta (duplicato)

ma invia nuovamente l’ACK alternativamente, al timeout A puo’ inviare un frame

di controllo per chiedere conferma dell’ultimo frame ricevuto correttamente, a cui B risponde con l’ACK relativo

se A invia frame successivi, B risponde con l’ACK del frame successivo; poiche’ gli ACK sono cumulativi, l’ACK del frame successivo riscontra anche quello di cui A non ha ricevuto l’ACK, quindi il trasferimento dati continua senza interruzioni

Page 339: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio di go-back-N

In questa immagine gli ACK sono indicati come RR (Receiver Ready)

Alla ricezione del frame 5 B identifica la perdita del 4, ed invia un REJ che indica il 4 come frame atteso; questo permette a B di ripartire dal 4 prima del timeout

la perdita di RR7 comporta un timeout in quanto B non ha riscontrato i frame 7 e 0 in tempo; in questa situazione A sollecita un frame di RR, riceve il riscontro fino al frame 0 e ricomincia da 1

Page 340: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Dimensione della finestra per il go-back-N

Poiche’ i riscontri sono cumulativi, la dimensione della finestra deve essere W ≤ 2n-1; infatti supponiamo di avere n=3 (quindi numeri da 0 a 7) e

scegliamo per W il valore 8 A invia il frame 7, e riceve ACK0 (riscontro del frame 7) poi A invia i frame da 0 a 7, e riceve ACK0 A non puo’ sapere se tutti i frame sono stati ricevuti

(ACK0 e’ il riscontro dell’ultimo frame inviato) o sono stati tutti perduti (ACK0 e’ il riscontro ripetuto del primo frame inviato precedentemente

Se nell’esempio la finestra e’ W = 7, A puo’ inviare frame da 0 a 6; a questo punto se sono arrivati tutti, A ricevera’ ACK7 se sono andati tutti persi, A ricevera’ ACK0

quindi con W ≤ 2n-1 non c’e’ ambiguita’

Page 341: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo selective reject

Il protocollo selective reject prevede che in ricezione possano essere accettati frame fuori sequenza, utilizzando un meccanismo di ritrasmissione selettiva dei frame errati

in questo modo si riduce ulteriormente il numero di frame ritrasmessi, mantenendo la caratteristica di recapitare allo strato di rete i dati nell’ordine corretto

In ricezione i frame fuori ordine (ma dentro la finestra) vengono mantenuti nei buffer fino a che non siano stati ricevuti tutti i frame intermedi

Page 342: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo selective reject (cont.)

Quando si ha un frame perduto, B ricevera’ il frame successivo fuori sequenza, al quale rispondera’ con un ACK relativo al frame perduto

A non ritrasmette tutti i frame successivi a quello, ma solo quello perduto, quindi proseguira’ con la normale sequenza

B ha memorizzato i frame successivi, ed alla ricezione del frame ritrasmesso liberera’ tutti i buffer inviando un ACK relativo all’ultimo frame ricevuto correttamente

In caso di perdita dell’ACK, sara’ il timeout di A a generare un frame di sollecito di ACK per B, che rispondera’ di conseguenza

Page 343: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio di selective reject Alla ricezione del frame 5 B

identifica la perdita del 4, ed invia un REJ che indica il 4 come frame atteso; questo permette a B di trasmettere il 4 dopo aver trasmesso il 6

Nel frattempo A ha memorizzato il 5 ed il 6, ed alla ricezione del 4 invia l’RR per il 6

la perdita di RR1 comporta un timeout in quanto B non ha riscontrato i frame 1 e 2 in tempo; in questa situazione A sollecita un frame di RR, riceve il riscontro fino al frame 2 e ricomincia da 3

Page 344: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Dimensione della finestra per il protocollo selective reject

La ricezione non sequenziale limita ulteriormente la massima dimensione della finestra in funzione del numero di bit per la numerazione del frame

Come prima, supponiamo di avere 3 bit, ed una finestra a dimensione 7 (idonea per il protocollo go-back-N) A trasmette da 0 a 6, B risponde con ACK7 e sposta la sua finestra in

(7,0,1,2,3,4,5) l’ACK7 si perde; dopo il timeout A ritrasmette il frame 0 B accetta 0 come un nuovo frame (ipotizza che il 7 sia andato perduto)

e trasmette NACK7 A riceve NACK7, lo identifica come un errore di protocollo e chiede la

ripetizione del riscontro, a cui B risponde con un ACK7 A ritiene a questo punto che i frame da 0 a 6 siano arrivati tutti e riparte

con i nuovi: 7,0,1,… A riceve 7 (OK) ma lo 0 nuovo lo interpreta come duplicato di quello

ricevuto precedentemente e lo butta; quindi si proseguein questo esempio lo strato di rete riceve il frame 0 vecchio al posto del frame 0 nuovo

Per eliminare l’ambiguita’ e’ necessario che le finestre in trasmissione e ricezione non si sovrappongano; questo si ottiene imponendo che la finestra abbia dimensione W ≤ 2(n-1), cioe’ la meta’ dello spazio di indirizzamento dei frame

Page 345: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Efficienza del protocollo selective-reject

Per valutare sommariamente l’efficienza del protocollo selective-reject si possono fare le stesse considerazioni fatte per il protocollo stop-and-wait: l’efficienza la si ottiene dividendo l’efficienza del protocollo sliding windows senza errori per il numero di trasmissioni di ogni pacchetto dovute agli errori

Detta P la probabilita’ di avere un frame errato, si ha quindi:

12 21

1

12 1

aWa

PW

aWP

u

Page 346: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Efficienza del protocollo go-back-N

L’errore su un frame comporta la necessita’ di ritrasmettere quel frame e tutti i K frame successivamente inviati prima di ricevere il NAK

Detta P la probabilita’ di avere un frame errato, la probabilita’ di dover trasmettere i volte il frame e’ data da

ed il numero di frame trasmessi nel caso di i errori e’ dato da

da cui il numero di frame complessivamente trasmessi per inviare con successo il frame in questione e’

PP i 11

11 iK

P

KPP

P

KK

PPKiKi

i

1

1

11

111

1

Page 347: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Efficienza del protocollo go-back-N (cont)

Page 348: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Efficienza del protocollo go-back-N (cont)

Page 349: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Efficienza del protocollo go-back-N (cont)

Ora, considerando di effettuare il conto sul primo frame trasmesso nella finestra, K e’ il numero di frame inviati prima di ricevere il REJ, cioe’:

quindi l’efficienza del protocollo e’

aWaK

aWWK

21 se 21

21 se

aW

WPPa

PWu

aWaP

-Pu

21 se 112

1

21 se 21

1

Page 350: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Confronto di prestazioni

Page 351: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo HDLC

HDLC (High-level Data Link Control) e’ un protocollo di linea standard ISO, che implementa lo sliding window sia in modalita’ go-back-N che selective-reject con rilevazione degli errori tramite CRC a 16 o 32 bit

E’ uno dei protocolli piu’ utilizzati nelle connessioni punto-a-punto geografiche

Derivato dal protocollo IBM SDLC (Synchronous Data Link Control), come altri protocolli (ADCCP standardizzato da ANSI ed utilizzato da DEC)

E’ stato utilizzato come base di sviluppo per ulteriori protocolli di linea, come LAP e LAPB utilizzati dai protocolli X.25 e derivati

Page 352: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche di HDLC HDLC e’ un protocollo progettato per essere flessibile,

in modo da poterlo usare in diverse modalita’: configurazione sbilanciata, in cui una stazione (primaria) ha

funzioni di controllo e gestione della comunicazione, ed una o piu’ stazioni (secondarie) trasmettono dati solo come risposte ad interrogazioni della stazione primaria

questa configurazione si utilizza in ambienti in cui un calcolatore centrale e’ connesso a piu’ stazioni terminali “non intelligenti”

la stazione primaria mantiene connessioni logiche individuali con le stazioni secondarie

configurazione bilanciata, in cui due stazioni sono connesse ed hanno uguale rango

questo e’ l’utilizzo piu’ frequente, caratteristico nei link geografici

In entrambe le configurazioni il protocollo permette le trasmissioni half-duplex e full-duplex

Page 353: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche di HDLC (cont.)

L’HDLC specifica tre differenti modalita’ di trasferimento dati, in funzione della configurazione della linea:

NRM (Normal Response Mode): modalita’ di risposta normale; utilizzata in configurazione sbilanciata, in cui le stazioni secondarie non possono trasmettere senza richiesta esplicita

ABM (Asynchronous Balanced Mode): modalita’ asincrona bilanciata; utilizzata nella configurazione bilanciata

ARM (Asynchronous Response Mode): modalita’ di risposta asincrona; utilizzata in configurazione sbilanciata, in cui pero’ i dati possono essere trasmessi dalle stazioni secondarie senza preventiva autorizzazione. Il controllo della linea resta prerogativa della stazione primaria.

Page 354: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Struttura del frame in HDLC

Il protocollo e’ orientato al bit, ed utilizza la tecnica del bit stuffing

La struttura della trama e’ la seguente:

La flag e’ costituita dalla sequenza 01111110; lo stuffing viene eseguito inserendo un bit 0 dopo ogni sequenza di 5 bit 1 nel campo dati

La sequenza 01111111 seguita da una sequenza di 1 viene utilizzata per indicare che il frame in corso di trasmissione e’ invalido e va scartato

Page 355: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Campo indirizzo Il campo indirizzo serve ad identificare la stazione che ha inviato il

frame, o la stazione a cui e’ destinato, ed e’ utilizzato in configurazione sbilanciata quando ci sono diverse stazioni secondarie

Nella configurazione punto-punto non e’ utilizzato e puo’ essere omesso

E’ normalmente costituito da 8 bit, ma puo’ essere esteso a lunghezze superiori, sempre multipli di 8 bit

Il bit a sinistra di ciascun ottetto vale 1 per indicare l’ultimo ottetto dedicato all’indirizzamento (0 altrimenti)

I restanti 7 bit di ciascun ottetto fanno parte dell’indirizzo della stazione secondaria che ha inviato o deve ricevere il frame

Esiste un indirizzo speciale (tutti bit 1) per indicare che il frame e’ destinato a tutte le stazioni secondarie

Page 356: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Campo di controllo L’HDLC specifica tre diversi tipi di frame

frame di informazione, dedicato alla trasmissione di dati frame di supervisione, dedicato alla trasmissione di informazioni di

controllo frame senza numero, anche questi dedicati ad informazioni di controllo

Il campo di controllo permette di distinguere il tipo di frame, e trasporta informazioni di controllo

Questo campo puo’ avere dimensione 8 o 16 bit:

Page 357: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Campo di controllo (information frame)

Il frame di tipo informazione ha uno 0 nel primo bit del campo di controllo

Il campo N(S) e’ dedicato alla numerazione del frame trasmesso, ed il campo N(R) al riscontro in piggybacking

Questi campi hanno dimensione 3 bit, quindi permettono una numerazione di 8 frame, ma puo’ essere utilizzato un campo a 7 bit (in questo caso si utilizza un campo di controllo a 16 bit)

Il bit P/F (poll/final) e’ utilizzato per sollecitare nella stazione ricevente un frame di tipo supervisione senza attendere trasmissioni di dati in senso inverso per l’utilizzo del piggybacking

Il bit P/F nella configurazione in modalita’ sbilanciata indica la richiesta della stazione primaria di informazioni di controllo della comunicazione alla secondaria; la risposta potra’ comportare piu’ frame (indicati dal bit P) fino all’ultimo che e’ indicato con il bit F

Page 358: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Campo di controllo (supervision frame)

Il frame di tipo supervisione ha i primi due bit di valore 10 Questo frame presenta un campo di due bit (S) che ne

definisce il significato: il tipo 00 indica un frame di controllo RR, cioe’ il normale

acknowledge, utilizzato in assenza di piggybacking; in questo caso il campo N(R) trasporta l’informazione del riscontro

il tipo 01 indica un frame di tipo REJ, utilizzato nella implementazione del go-back-N; il campo N(R) indica il frame da cui il ricevente deve ripartire nella trasmissione in verso opposto

il tipo 10 indica un frame di tipo RNR (Receiver Not Ready), che indica il riscontro indicato nel campo N(R), ma obbliga la stazione che lo riceve ad interrompere le trasmissioni fino al successivo RR

il tipo 11 indica un frame di tipo SREJ (Selective REJect), che chiede la ritrasmissione del solo frame indicato in N(R) secondo il protocollo selective-reject

Il bit P/F ha la stessa funzione che ha nel frame di informazione.

Page 359: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Campo di controllo (unnumbered frame)

Il frame di tipo unnumbered ha i primi due bit del campo di controllo con valore 11; per questo frame il campo di controllo e’ sempre di 8 bit

Solitamente utilizzato per la trasmissione di informazioni di controllo della linea o di inizializzazione (per la definizione dei valori opzionali), puo’ essere utilizzato anche per la trasmissione di frame di dati con servizio senza connessione ed inaffidabile

Per i frame unnumbered, oltre al bit P/F, sono disponibili nel campo di controllo 5 bit (M) per definire il tipo di informazione trasmessa

Page 360: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Campo di controllo (unnumbered frame) (cont.)

I frame unnumbered utilizzati nella fase di inizializzazione sono relativi a segnalazione di richiesta di inizializzazione della linea definizione della modalita’ di trasferimento dati (NRM, ABM,

ARM) definizione della modalita’ normale o estesa per i numeri di

sequenza dei frame (a 3 o 7 bit) accettazione o rifiuto delle impostazioni proposte dalla

controparte Frame unnumbered utilizzati durante il trasferimento dati

possono essere: richiesta di informazioni di controllo notifica di ricezione di frame invalido (questi frame hanno 24 bit

nel campo dati per descrivere il problema incontrato) richiesta di reset della linea richiesta/notifica di disconessione unnumbered acknowledge (riscontro di frame unnumbered) test

Page 361: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Campo di informazione

Questo campo e’ presente solo nei frame di tipo information o unnumbrered

Il campo di informazione e’ costituito dai dati che lo strato di rete deve trasferire (con frame di tipo I o U) o dati di controllo della linea (frame di tipo U)

Questo campo puo’ avere una dimensione variabile, ma limitato da un valore massimo che deve essere predefinito nella configurazione del protocollo

La dimensione del campo di informazione e’ normalmente determinata dalla dimensione dei dati che vengono passati dallo strato di rete, e puo’ raggiungere qualche migliaio di bytes

Page 362: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Campo di rilevazione di errore

Questo campo e’ dedicato al CRC, normalmente a 16 bit

In circonstanze particolari (frame molto lunghi o linee molto rumorose) puo’ essere utilizzato un polinomio a 32 bit ; in questo caso il campo CRC sara’ di 32 bit

Il codice impiegato di norma e’ il CRC-CCITT per il controllo a 16 bit, o il CRC-32 (standard ISO) per il controllo a 32 bit

Page 363: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Point to Point Protocol (PPP)

Il PPP e’ un protocollo generico di livello due per connessioni punto-punto tra due stazioni

E’ nato per l’utilizzo come strato di data link di Internet (cioe’ da TCP/IP) ma e’ progettato per poter servire altri protocolli di livello 3

Il suo utilizzo e’ specifico per le connessioni punto a punto (sulle reti locali broadcast generalmente si utilizzano altri protocolli di livello 2)

Tipicamente utlizzato per connettere il PC di casa ad Internet utilizzando una connessione via modem, ma puo’ essere utilizzato su linee seriali HDLC, SONET etc…

Le specifiche del PPP sono definite in numerosi RFC (a partire dal 1661 e seguenti)

Page 364: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche

Le principali caratteristiche del PPP sono protocollo orientato al byte, con framing tramite byte di

flag e byte stuffing utilizzo di codifica a rilevazione di errori supporto di un protocollo (LCP: Link Control Protocol) per

la gestione della connessione, test della linea, negoziazione dei parametri della comunicazione

supporto di un protocollo (NCP: Network Control Protocol) per la negoziazione dei parametri relativi al protocollo di rete soprastante

supporto – tramite NCP – per diversi protocolli di rete autenticazione implementa servizio non affidabile, ma puo’ essere

configurato tramite LCP per fornire un servizio affidabile

Page 365: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il frame del PPP Il frame del PPP e’ costruito sull’esempio del frame HDLC

I limiti del frame sono definiti da un byte di flag di valore 0x7E (01111110), ma a differenza di HDLC il protocollo e’ orientato al carattere ed utilizza il byte stuffing (escape: 0x7D)

Il campo address e’ definito per essere sempre 0xFF (tutti uno), in quanto il protocollo non prevede di dover distinguere diverse potenziali stazioni trasmittenti

Il campo control ha per default il valore 0x03 (00000011), che indica frame senza numero, e questo e’ l’utilizzo previsto originariamente, e quello piu’ frequente; e’ possibile negoziare tramite LCP una modalita’ di numerazione dei frame (RFC 1663) per poter fornire un servizio affidabile in caso di canale fisico ad alto tasso di errore

Page 366: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il frame del PPP Poiche’ i campi address e control hanno, nella maggior parte

dei casi, sempre lo stesso valore, il protocollo LCP puo’ negoziare di farne a meno (compressione dell’header)

Il campo protocol (2 byte, negoziabili a 1) indica a quale protocollo si riferiscono i dati del campo payload questi possono essere relativi a protocolli dello strato di rete (IP,

IPX, Appletalk, OSI, …) ed hanno valori che iniziano con bit 0 protocolli di negoziazione (LCP, diversi NCP per i diversi

protocolli di rete supportati), con valori che iniziano con bit 1 Il campo payload trasporta i dati, ed ha lunghezza variabile

(di norma 1500 byte) Il campo checksum trasporta il CRC, normalmente a 16 bit

ma estendibile in configurazione a 32

Page 367: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Funzionamento del PPP Il PC inizia una connessione via modem verso il

provider Stabilita la connessione a livello fisico, si attiva il

PPP, che inizia la negoziazione dei parametri della connessione tramite il protocollo LCP

Stabiliti i valori dei parametri per la connessione corrente, opzionalmente si avvia una procedura di autenticazione

Segue una fase di negoziazione dei parametri del protocollo di livello 3, tramite il protocollo NCP

A questo punto la connessione a livello 3 e’ stabilita, e gli applicativi possono trasmettere i dati in rete lungo la pila dei protocolli

Alla fine del collegamento il PPP attiva, tramite LCP, una procedura per la chiusura della connessione

Page 368: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

LCP Il protocollo LCP ha la funzione di negoziare le caratteristiche

della trasmissione a livello 2 Non fornisce le specifiche dei parametri (che sono definiti e

capiti dal PPP), ma solo un mezzo per negoziarli Sostanzialmente LCP ha quattro tipi di istruzioni:

configure: permette ai processi paritari PPP di proporre, accettare, rifiutare con controproposte o dichiarare non negoziabili i parametri relativi a

massima dimensione del payload abilitazione della autenticazione protocollo di rete da utilizzare abilitazione del controllo sulla qualita’ della linea compressione dell’header

terminate: per notificare ed accettare la disconnessione della linea reject: per comunicare che un frame non e’ stato interpretato

(errore non rilevato o utilizzo di versioni differenti di PPP) echo: per il controllo della qualita’ della linea (ad esempio

utilizzabile per testare la funzionalita’ del canale trasmissivo in caso di problemi)

Page 369: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

NCP Il protocollo NCP e’ dedicato alla configurazione dei parametri

relativi al protocollo di rete che viene servito dal PPP Generalmente il corretto funzionamento del protocollo di

livello 3 prevede la configurazione di alcuni parametri specifici, quali indirizzo di rete, indirizzo del gateway di riferimento ed altri ancora

Tipicamente il proprietario del PC che si connette al provider non ha modo di sapere come configurare questi parametri

Il protocollo PPP, implementando NCP, permette una configurazione automatica di questi parametri, che generalmente vengono definiti dinamicamente all’atto della connessione

Poiche’ ogni protocollo di rete ha i propri parametri di configurazione, diversi in numero e significato, il PPP dovra’ fornire una implementazione specifica per ogni protocollo di rete supportato

Il PPP supporta sempre il protocollo IP (e quindi lo stack TCP/IP nel suo complesso)

Page 370: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 14: data link layer: sottostrato MAC (definizione, protocolli di assegnazione del canale)

Page 371: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Reti geografiche e reti locali

Quanto visto fin’ora e’ relativo a comunicazioni a livello due tra stazioni connesse da una linea punto-punto

La totalita’ delle reti geografiche e la quasi totalita’ delle reti metropolitane sono costituite da connessioni punto-punto, per motivi tecnici, economici o legali la impossibilita’ di stendere un cavo proprietario lungo una tratta

geografica di fatto obbliga il progettista della rete geografica ad appoggiarsi alle linee delle compagnie di telecomunicazione

quando anche fosse possibile l’utilizzo di una linea proprietaria, in molti casi entrano in gioco fattori economici che fanno preferire l’affitto di linee gia’ esistenti alla realizzazione di una infrastruttura proprietaria

Nel caso delle reti locali questi limiti non esistono: spesso l’area da interconnettere e’ tutta sotto il controllo della azienda o ente interessato, come il piano di un edificio, un palazzo o un campus

In questa condizione il progettista ha molta liberta’ nello scegliere la tecnologia ed il protocollo migliore, in base a costi, prestazioni, semplicita’ di gestione, robustezza, …

Page 372: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Canali broadcast L’estensione limitata delle reti locali permette l’utilizzo di

protocolli che sfruttano un mezzo trasmissivo comune a tutte le stazioni interconnesse (canali broadcast) reti locali con bus trasmissivo (Ethernet, token-bus) reti locali ad anello condiviso (FDDI, token ring) reti wireless a comunicazione broadcast, cioe’ non direzionale

(802.11a/b/g) Caratteristica di queste tecnologie e’ la disponibilita’ a costi

contenuti di una rete ad alte prestazioni ed a bassissimi tassi di errore sono normali rapporti di 1 a 1000 sui tassi di errore dei canali in

uso su rete locale rispetto ai canali tipici delle reti geografiche questo permette di realizzare, come in effetti si fa, protocolli di

livello 2 che forniscono servizi non affidabili, demandando ai livelli superiori i controlli sulla integrita’ dei dati

questa considerazione non si applica alle connessioni wireless, che anzi sono molto rumorose, a fronte pero’ della loro caratteristica unica che e’ il supporto alla mobilita’ della stazione connessa

Page 373: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Allocazione del canale condiviso

In queste reti esiste un problema che nelle reti punto-punto non esiste: stabilire quale stazione acquisisce il diritto di utilizzare il mezzo trasmissivo in condizioni di competizione (cioe’ quando piu’ di uno vuole trasmettere dati nello stesso intervallo di tempo)

Il problema e’ analogo alla gestione della comunicazione verbale tra gruppi di persone: deve esistere un meccanismo per regolare la comunicazione in quanto la sovrapposizione delle trasmissioni rende tutte le trasmissioni incomprensibili

Esistono protocolli per definire l’assegnazione del canale condiviso, che fanno parte del data link layer

La complessita’ di questo problema e la sua relativa indipendenza dalle questioni relative al trasferimento dei frame fanno si che l’argomento sia trattato come sottostrato indipendente del livello 2, chiamato MAC (Medium Access Control)

Page 374: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Assegnazione statica del canale

Studiando lo strato fisico abbiamo visto come lo stesso canale possa essere utilizzato da diversi utenti tramite tecniche di multiplexing FDM o TDM

Queste tecniche hanno la caratteristica di risultare efficienti e funzionali quando il traffico degli utenti e’ regolare e prevedibile, in modo da poter allocare per ogni trasmissione le risorse che questa richiede e che generalmente utilizzera’ per la maggior parte del tempo

In condizioni di traffico irregolare, le utenze che hanno allocato banda o slot temporali e che non le utilizzano costituiscono una inefficienza per l’utilizzo del canale

In genere i calcolatori connessi ad una rete locale non producono un flusso regolare di dati da trasmettere, ma piuttosto alternano periodi di inattivita’ a momenti in cui la quantita’ di dati da trasferire e’ elevata: si possono facilmente trovare differenze di tre ordini di grandezza tra i picchi di traffico ed il rate medio prodotto da una stazione

Page 375: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Assegnazione statica del canale (cont.)

In questo ambito la tecnica di multiplexing risulta essere molto inefficiente

Altro motivo di inadeguatezza e’ dato dalla complessita’ da affrontare per aggiungere nuove stazioni alla rete locale se il multiplexing di una configurazione e’ tale

da sfruttare al meglio le risorse del mezzo trasmissivo, un nuovo inserimento comporta la necessita’ di una riconfigurazione complessiva della distribuzione delle slot temporali o delle bande di frequenza

Page 376: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Assegnazione dinamica del canale

Per assegnazione dinamica si intende un meccanismo grazie al quale il canale viene assegnato al volo a chi ne ha bisogno, secondo criteri specifici dei protocolli, cercando un modo efficiente di risolvere le contese

L’analisi – sia dal punto di vista logico che quantitativo - di questi protocolli si basa su alcuni presupposti

Modello della stazione: ci sono N stazioni indipendenti, ciascuna con un programma utente che genera frame a frequenza costante; quando il frame e’ generato, la stazione non fa nulla fino a che il frame non e’ stato trasmesso con successo (l’analisi di modelli in cui la stazione puo’ utilizzare il tempo di attesa per eseguire altri programmi modificando la frequenza di generazione dei frame in funzione del ritardo in trasmissione risulta enormemente piu’ complessa)

Page 377: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Assegnazione dinamica del canale (cont)

Presupposto di canale singolo: esiste un unico canale trasmissivo, attraverso il quale transitano tutte le comunicazioni; non c’e’ modo per una stazione per poter avere informazioni se non attraverso questo canale (non e’ possibile instaurare un meccanismo per richiedere l’allocazione del canale del tipo: “alzo la mano”)

Presupposto della collisione: due frame trasmessi contemporaneamente si sovrappongono, il segnale diventa distorto ed incomprensibile; anche la sovrapposizione di un solo bit provoca il fallimento della trasmissione di entrambi i frame. Questo evento si chiama collisione, ed e’ l’unica causa di errore trasmissivo. Le collisioni possono essere rivelate da tutte le stazioni connesse al mezzo.

Page 378: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Assegnazione dinamica del canale (cont)

Presupposto sull’istante di inizio della trasmissione. Esistono due alternative mutuamente esclusive: tempo continuo: una stazione puo’ iniziare a trasmettere

un frame in qualsiasi istante tempo suddiviso in slot: le stazioni sono sincronizzate tra

loro, ed i frame possono essere inviati solo all’inizio delle slot temporali. In questa situazione una slot puo’ contenere 0, 1 o piu’ frame interi: nel primo caso nessuno trasmette, nel secondo caso la trasmissione ha successo, nel terzo caso si verifica una collisione

Presupporto di rilevamento di occupazione del canale. Anche in questo caso esistono due alternative: le stazioni, prima di iniziare la trasmissione, sono in grado

di capire se qualcuno sta’ gia’ trasmettendo (ad esempio: ethernet)

le stazioni non effettuano la rilevazione di occupazione del canale; solo dopo aver trasmesso possono capire se la trasmissione ha avuto successo (ad esempio: wireless)

Page 379: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocolli ad accesso multiplo

Aloha puro il protocollo prevede semplicemente che la stazione che

deve trasmettere un frame lo trasmette immediatamente i frame sono di lunghezza uguale e fissata le trasmissioni potranno sovrapporsi, generando una

collisione; le stazioni sono in grado di verificare l’evento di una collisione ascoltando il canale e verificando se qualcun altro trasmette durante la propria trasmissione

in caso di collisione, la stazione attende un tempo casuale e poi ritrasmette

Page 380: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Aloha puro in generale il protocollo avra’ una buona probabilita’ di

riuscita quando il traffico e’ molto basso (poche stazioni, e trasmissioni rarefatte)

in caso di alti carichi, le collisioni cresceranno, e con esse le ritrasmissioni, fino a rendere la trasmissione di fatto impossibile

Il calcolo della capacita’ di trasporto (S) del canale in funzione del numero di tentativi di trasmissione per tempo di frame (G) e’

Il protocollo ha quindi una efficienza massima quando per ogni tempo di frame ci sono G = 0.5 tentativi di trasmissione; in questa condizione l’efficienza di utilizzo del canale e’ pari circa al 18%

GGeS 2

Page 381: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Aloha a slot temporali

Slotted aloha questo protocollo migliora il precedente introducendo il

concetto di tempo diviso in slot ciascuna slot contiene esattamente un frame ogni stazione che vuole trasmettere un frame, deve

aspettare la successiva slot temporale per trasmettere in questo modo si riduce il numero di collisioni

nel protocollo aloha puro un frame trasmesso all’istante 0 andra’ in collisione se c’e’ stata un’altra stazione a voler trasmettere un frame nell’intervallo tra [-T, T]

nel protocollo slotted aloha un frame trasmesso andra’ in collisione se c’e’ stata un’altra stazione a voler trasmettere un frame nell’inetrvallo [-T,0], in quanto le stazioni che desiderano trasmettere un frame dopo l’istante 0 devono aspettare la slot successiva

questo protocollo richiede che le stazioni siano tutte sincronizzate temporalmente

Page 382: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Aloha a slot temporali (cont.)

L’efficienza dell’utilizzo del canale con questo protocollo e’ data da

e per G = 1 raggiunge il suo valore massimo (37%) che e’ doppio rispetto ad aloha puro

GGeS

Page 383: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocolli con rilevamento della portante

Una delle maggiori inefficienze dei protocolli aloha e’ determinato dal fatto che la trasmissione viene fatta senza controllare prima se il canale e’ libero

Vediamo una classe di protocolli che migliora la situazione: protocolli con rilevamento della portante (CSMA: Carrier Sense Multiple Access) in questo contesto il termine portante indica in

generale il livello del segnale presente sul mezzo trasmissivo

il segnale non e’ necessariamente un segnale costituito dalla modulazione di una portante, ma anche, ad esempio, un segnale in banda base

Page 384: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

CSMA 1-persistente

Il piu’ semplice di questi protocolli ha il seguente funzionamento: quando un calcolatore ha dati da trasmettere,

ascolta il segnale presente sul mezzo trasmissivo se trova il canale libero, trasmette il frame se trova il canale occupato, continua ad ascoltare fino a

che il canale non si libera, e poi trasmette il frame in caso di collisione, la stazione aspetta un

tempo casuale e ripete l’algoritmo Il protocollo si chiama 1-persistente perche’

quando trova il canale occupato, resta in ascolto continuamente, ed appena il canale si libera trasmette con probabilita’ 1 (sempre)

Page 385: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

CSMA 1-persistente (cont.) Con questo protocollo acquista grande importanza il

ritardo di propagazione del segnale tra due stazioni infatti, quando una stazione inizia a trasmettere, una

seconda stazione potrebbe voler trasmettere, ed ascolta il canale

se il segnale trasmesso dalla prima stazione non ha ancora avuto il tempo di propagarsi fino alla seconda stazione, questa trovera’ il canale libero e trasmettera’, generando una collisione

Maggiore e’ il ritardo di propagazione, piu’ numerose saranno le collisioni dovute alla eventualita’ sopra descritta nota: questa situazione si presentera’ sempre ed

indipendentemente dal ritardo di propagazione qualora due stazioni volessero trasmettere mentre una terza sta’ trasmettendo: alla fine della trasmissione della terza stazione, le due stazioni in attesa si metteranno sempre a trasmettere contemporaneamente

Page 386: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

CSMA 1-persistente (cont.)

Come slotted aloha, questo protocollo non interferisce con le trasmissioni gia’ in atto

A differenza di slotted aloha, questo protocollo non prevede di dover attendere la time slot successiva, evitando ad esempio di lasciare inutilizzata una slot temporale per il tempo di durata della slot stessa

Inoltre CSMA 1-persistente non richiede la sincronizzazione delle stazioni connesse alla rete

Page 387: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

CSMA non persistente Si differenzia dal precedente per il fatto che una stazione,

quando vuole trasmettere ma trova il canale occupato, non resta ad ascoltare in continuazione, ma attende un tempo casuale e riprova

Questo meccanismo riduce sensibilmente le collisioni dovute al fatto che due stazioni vogliano trasmettere durante la trasmissione di una terza: ora le stazioni attenderanno generalmente tempi diversi prima di

ritentare la prima che ritenta trovera’ il canale libero e trasmettera’ la seconda trovera’ nuovamente il canale occupato, quindi non

interferira’ ed aspettera’ ancora Questo protocollo alza notevolmente l’efficienza di utilizzo del

canale con l’aumento del carico, cioe’ delle stazioni connesse alla rete

Il problema principale di questo protocollo e’ che in condizioni di elevato carico il tempo che intercorre tra l’istante in cui la stazione vuole trasmettere e l’istante in cui riesce a trasmettere puo’ crescere enormemente

Page 388: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

CSMA p-persistente In questa ultima versione del protocollo a rilevamento della

portante, il tempo e’ suddiviso in slot temporali come nello slotted aloha

In questo caso, chi desidera trasmettere ascolta il canale continuamente e quando lo trova libero trasmette con probabilita’ p, oppure attende la slot successiva con

probabilita’ (1-p)

alla slot successiva, se libera, trasmette nuovamente con probabilita’ p o aspetta la successiva con probabilita’ 1-p, e cosi’ via

in caso di collisione, o se durante i tentativi di trasmissione qualche altra stazione inizia a trasmettere, la stazione attende un tempo casuale e ripete l’algoritmo

Questo protocollo e’ una via di mezzo tra il protocollo 1-persistente (a cui tende per p che tende ad 1) e quello non persistente

Come nel caso di CSMA non persistente, ad elevato carico e per bassi valori di p cresce l’efficienza di utilizzo della linea ma cresce il ritardo di trasmissione rispetto all’arrivo dei dati dallo strato di rete

Per alti valori di p l’efficienza di utilizzo della linea descesce rapidamente con l’aumentare del carico

Page 389: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Confronto tra protocolli CSMA

Page 390: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Rilevamento delle collisioni

Un ulteriore miglioramento delle prestazioni si ha con i protocolli CSMA/CD (Carrier Sense, Multiple Access, Collision Detection)

Questi protocolli prevedono che una stazione, rilevata una collisione sul frame che sta’ trasmettendo, interrompe la trasmissione del frame, riducendo in questo modo l’ occupazione del canale con frame comunque invalidi

Questi protocolli sono alla base di molti protocolli utilizzati sulla LAN, tra cui Ethernet

La caratteristica principale di questi protocolli e’ la durata del tempo in cui il canale e’ conteso tra stazioni pronte a trasmettere

Page 391: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Intervallo di contesa

Dopo quanto tempo una stazione e’ certa di avere allocato il canale per la sua trasmissione? Detto T il tempo necessario alla propagazione del segnale tra le due stazioni piu’ lontane, si ha: se la stazione A trasmette un frame al tempo 0, la stazione

B potrebbe iniziare una trasmissione al tempo T-ε (con ε piccolo, T- ε e’ l’ultimo istante in cui il canale apparira’ libero a B)

la stazione B si accorgera’ della collisione al tempo T, mentre la stazione A dovra’ aspettare che il segnale trasmesso da B la raggiunga prima di accorgersi della collisione

quindi una stazione potra’ essere certa di avere allocato il canale se non compaiono collisioni per un tempo 2T

ad esempio, su un canale lungo 1 Km si ha 2T = 10μs, che a 10 Mbps corrisponde al tempo di 100 bit

Page 392: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Intervallo di contesa (cont.)

La trasmissione con protocolli CSMA/CD consiste in una alternanza tra intervalli di contesa, ciascuno dei quali lunghi 2T, intervalli di trasmissione, in cui una stazione e’ riuscita ad allocare il mezzo trasmissivo, ed intervalli di inattivita’, in cui nessuno deve trasmettere dati

L’efficienza del canale dipendera’ dalla durata degli intervalli di contesa, che crescera’ con la durata del tempo di propagazione T e crescera’ col numero di trasmissioni tentate per unita’ di tempo

Anche in questo caso l’aumento del carico trasmissivo produce un crollo della efficienza oltre un certo limite, in modo analogo ai protocolli precedenti

Page 393: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codifiche per i protocolli a contesa

In tutti i protocolli fin qui analizzati esiste il presupposto che chi trasmette sia in grado di rilevare una collisione questo richiede che la codifica fornisca un metodo

per identificare una sovrapposizione di trasmissioni ad esempio codifiche che assegnano una tensione

di 0 volt al simbolo 0 non sempre sono in grado di identificare la collisione: due sequenze 01010101… e 10101010… contemporanee potrebbero non essere rilevate come collisione, ma come sequenza 111111…

i protocolli su cavo utilizzano normalmente la codifica Manchester, che accomuna a questa caratteristica la trasmissione implicita delle informazioni di sincronismo

Page 394: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche dei protocolli a contesa

Date le caratteristiche dei protocolli e’ evidente che il tipo di trasmissione a livello due non potra’ essere altro che half-duplex, in quanto non possono coesistere due trasmissioni contemporanee sul mezzo trasmissivo

Si puo’ anche osservare come i protocolli fin qui visti non saranno in grado di offrire servizi affidabili evitare la collisione di per se non garantisce che il frame

arrivi integro in linea di principio si potrebbe utilizzare una tecnica di

riscontro, ma questi protocolli hanno una efficienza che crolla in funzione del numero di frame trasmessi nell’unita’ di tempo

per le comunicazioni su cavo, l’elevata affidabilita’ del mezzo fisico (dovuta alle brevi distanze) rende piu’ efficiente demandare il controllo ai livelli superiori piuttosto che appesantire il carico con frame di acknowledgement

Page 395: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocolli senza collisione

Sono stati sviluppati protocolli per regolare l’accesso al mezzo che non comportano collisioni

Vedremo due esempi: protocollo a prenotazione

per protocollo a prenotazione si indica un protocollo per cui una stazione annuncia a tutti il suo desiderio di comunicare, prima di iniziare la trasmissione vera e propria

poiche’ tutti vengono a conoscenza a priori che la stazione deve trasmettere, nessuno interferisce con la trasmissione

protocollo a turno (round robin) in questo caso ad ogni stazione e’ data a turno la possibilita’

di trasmettere al proprio turno, una stazione trasmette i frame disponibili,

generalmente per un periodo di tempo massimo predeterminato, quindi il turno passa alla stazione successiva

il controllo della sequenza puo’ essere centralizzato (una stazione master che fa un polling delle altre stazioni) o distribuito (tramite lo scambio di un gettone), in entrambi i casi seguendo un ordine sequenziale predeterminato

Page 396: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo a prenotazione Un esempio di protocollo a prenotazione e’ il protocollo a mappa di

bit elementare: sulla rete ci sono N stazioni, numerate da 0 a N-1 alla fine della trasmissione di un frame inizia un periodo di contesa, in

cui ogni stazione, andando per ordine di indirizzo, trasmette un bit che vale 1 se la stazione deve trasmettere, 0 altrimenti

al termine del periodo di contesa (privo di collisioni in quanto ogni stazione aspetta il suo turno) tutti hanno appreso quali stazioni devono trasmettere, e le trasmissioni procedono un frame alla volta sempre andando per ordine

se una stazione riceve dati da trasmettere quando la fase di prenotazione e’ terminata, deve attendere il successivo periodo di contesa per prenotare la propria trasmissione

L’efficienza di questo protocollo e’ bassa per grandi valori di N e basso carico trasmissivo; in queste condizioni una stazione deve attendere tutti gli N bit delle altre stazioni (delle quali la maggior parte o la totalita’ non desidera trasmettere) prima di poter trasmettere

In condizioni di carico elevato l’overhead dovuto agli N bit di prenotazione si distribuisce sui ~N frame da trasmettere, riducendo l’inefficienza complessiva del protocollo

Page 397: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo round robin: token ring

Token ring (standard IEEE 802.5) questo protocollo prevede l’utilizzo di una topologia ad anello sull’anello circola un piccolo frame, detto token (gettone) che le

stazioni ricevono da una parte e ritrasmettono dall’altra in continuazione

una stazione e’ autorizzata a trasmettere dati solo quando e’ in possesso del token

la stazione riceve il token, lo trattiene ed inizia a trasmettere dati terminata la trasmissione, ritrasmette il token in coda ai frame di

dati esistono specifiche a 4 e 16 Mbps

Esiste una versione modificata del token ring standardizzata per trasmissione su doppio anello in fibra ottica, detto FDDI (Fiber Distributed Data Interface) a 100 Mbps

L’IEEE ha sviluppato uno standard molto simile, dedicato alle topologie a bus (token bus: IEEE 802.4) in questo protocollo il problema aggiuntivo e’ determinato dalla

necessita’ di configurare un ordine sequenziale delle stazioni, che viene fatto in una fase di inizializzazione del protocollo

Page 398: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo round robin: token ring

Il protocollo token ring (come tutti quelli a turno) e’ poco efficiente in condizioni di basso carico la stazione che deve trasmettere deve attendere di ricevere il

token (o in generale deve attendere il suo turno) prima di poterlo fare, anche se il canale non e’ occupato

In condizioni di carico elevato, quando tutti vogliono trasmettere, l’efficienza del protocollo sfiora l’unita’ il solo overhead e’ dovuto alla necessita’ che ha una stazione di

identificare il token prima di poter trasmettere in questi protocolli il token e’ scelto in modo opportuno per

minimizzare l’overhead Una importante caratteristica di questo genere di protocolli

e’ la possibilita’ di valutare un tempo massimo di ritardo per le trasmissioni una stazione che desidera trasmettere dovra’ attendere al piu’

N tempi di trasmissione (uno per stazione, nel caso tutti debbano trasmettere) prima che tocchi nuovamente ad essa

questo permette l’utilizzo del protocollo in situazioni in cui i tempi di risposta possono essere determinanti (ad esempio una catena di montaggio)

Page 399: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 15: data link layer: Ethernet e FastEthernet

Page 400: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Ethernet e IEEE 802.3

Ethernet nasce come protocollo CSMA/CD da una collaborazione DEC/Intel/Xerox, standardizzato nel 1978

Pochi anni dopo viene pubblicato lo standard IEEE 802.3, ereditato in seguito dall’ISO come 8802.3 con differenze minime che sono state poi accorpate

Normalmente si utilizzano Ethernet ed IEEE 802.3 come sinonimi

Ethernet, intesa come tecnologia, si e’ sviluppata a partire dalla prima versione a 10 Mbps, a cui e’ seguito un nuovo standard a 100 Mbps, quindi uno a 1000 Mbps; e’ gia’ stato sviluppato uno standard a 10 Gbps non ancora diffuso sul mercato

Page 401: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Cablaggio in Ethernet

Lo standard prevede quattro tipi differenti di cablaggio per Ethernet: 10Base5: cavo coassiale di tipo thick, di lunghezza

massima 500 m 10Base2: cavo coassiale di tipo thin, di lunghezza

massima 185 m 10BaseT: doppino intrecciato, di lunghezza

massima 100 m 10BaseF: fibra ottica capace di connessioni fino a

2000 mLa nomenclatura (nei primi due casi) indica la

velocita’(10), il fatto che il segnale trasmesso e’ in banda

base(Base), e la lunghezza espressa in centinaia di metri

Page 402: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Cablaggio 10Base5 Cavo coassiale di tipo thick, di lunghezza massima 500 m; e’

possibile connettere al cavo, a distanza di 2.5 m, prese vampiro a cui connettere le stazioni;

Alla presa vampiro e’ attaccato un transceiver, il modulo analogico che controlla il cavo per rilevare collisioni

Il transceiver e’ connesso all’interfaccia di rete del calcolatore da un cavo apposito che puo’ essere lungo 50 m il cavo transceiver e’ generalmente costituito da 5 coppie di cui due

sono dedicate al traffico nei due versi, due al controllo, una opzionale alla alimentazione del transceiver stesso

ad alcuni transceiver possono essere collegati fino a 8 stazioni Il cavo coassiale deve essere terminato ai due estremi da un

“tappo” a 50 Ohm per eliminare le riflessioni I problemi principali di questo tipo di cavo sono

la rigidita’ del cavo la difficolta’ nell’identificare la sorgente di eventuali problemi

(lunghezze eccessive, prese difettose, interruzioni totali o parziali del conduttore)

la difficolta’ tecnica dell’inserimento di nuove stazioni tramite le prese a vampiro

Page 403: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Cablaggio 10Base2 Cavo coassiale di tipo thin, di lunghezza massima

185 m, anch’esso terminato ai due capi da impedenze a 50 ohm

Le connessioni sono operate tramite connettori BNC a forma di T che permette di connettere alla T l’interfaccia della stazione (o un cavo thin che porta all’interfaccia della stazione, ma di lunghezza molto ridotta in quanto introduce riflessioni)

In questa soluzione il transceiver risiede direttamente nella interfaccia di rete della stazione connessa

I vantaggi rispetto al 10Base5 sono la maneggevolezza la semplicita’ di aggiunta di nuove stazioni (se la T e’ gia’

predisposta, altrimenti si deve interrompere il cavo) l’affidabilita’ dei connettori (maggiore che nel caso del

10Base5, ma comunque fonte di problemi)

Page 404: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Cablaggio 10BaseT Uno sviluppo tecnologico successivo ha portato alla realizzazione di uno

schema di cablaggio che fa uso di doppini in rame Ogni stazione e’ collegata tramite un cavo UTP (cat. 3 o superiore) ad un

dispositivo a piu’ porte chiamato HUB L’HUB non elabora i dati, ma costituisce dal punto di vista logico il mezzo

condiviso: i cavi in rame vengono connessi dall’elettronica interna all’HUB in modo da simulare il mezzo condiviso

L’HUB svolge le funzioni di un ripetitore, che rigenera il segnale e lo invia a tutte le linee connesse (tranne quella da cui ha ricevuto il frame)

Se si verifica una trasmissione contamporanea di due o piu’ stazioni connesse all’HUB, si avra’ una collisione

L’utilizzo di questa tecnica di cablaggio porta numerosi vantaggi dal punto di vista pratico semplicita’ di cablaggio (spesso potendo sfruttare il cablaggio telefonico

preesistente) semplicita’ nella aggiunta, rimozione o spostamento delle stazioni connesse affidabilita’ meccanica del mezzo fisico e semplificazione della ricerca dei guasti

Lo svantaggio di questa soluzione sta’ nella distanza limitata, che e’ di 100 m per l’UTP cat. 3, 200 m per l’UTP cat. 5

Page 405: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Schema dei cablaggi in rame

Page 406: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Ripetitori Per aumentare la distanza coperta dalla rete e’ possibile

collegare piu’ cavi tra loro tramite ripetitori Dal punto di vista del data link layer, l’unica differenza di

una struttura con ripetitori e’ data dal ritardo trasmissivo introdotto dalla loro presenza

Lo standard prevede dei limiti alla estendibilita’ della rete tramite ripetitori: tra due transceiver non possono esserci piu’ di 4 ripetitori tra due transceiver non possono esserci piu’ di 2.5 Km

L’utilizzo di ripetitori permette lo sviluppo di topologie diverse per il cablaggio di un edificio

Page 407: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codifica

Sul mezzo condiviso la condizione di “assenza di trasmissione” e’ necessariamente identificata da assenza di segnale

Non sono quindi possibili codifiche che utilizzino il segnale a 0 volt per identificare un bit

La necessita’ di trasferire l’informazione di clock assieme al segnale ha portato alla invenzione della codifica Manchester gia’ vista

Lo standard Ethernet utilizza la codifica Manchester con segnali a +0.85 V e -0.85 V (altri protocolli, come token ring, fanno uso della codifica Manchester differenziale)

Page 408: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Struttura del frame Il frame inizia con un “preambolo” di 8 byte con sequenza

10101010 la codifica Manchester genera un segnale in onda quadra a 10

MHz di durata 6.4 μs che permette ai rivevitori di sincronizzarsi la sincronizzazione deve essere mantenuta per il resto del

frame, utilizzando la caratteristica della codifica Manchester per aggiustare la sincronia

Seguono due campi di indirizzo relativi alla destinazione ed alla sorgente del frame l’indirizzo e’ costituito da 2 o da 6 byte, ma le specifiche a 10

Mbps utilizzano solo campi da 6 byte

Page 409: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Indirizzo Ethernet L’indirizzo Ethernet normalmente viene indicato come

sequenza di 6 byte rappresentati da una coppia di caratteri esadecimali, separati da “:” o da “-” (es: 08:00:2b:a2:01:5f)

Per la destinazione sono previsti indirizzi ordinari (con il primo bit 0) ed indirizzi di gruppo (primo bit 1) l’indirizzo di gruppo permette la trasmissione multicast: un solo

frame destinato e ricevuto da piu’ destinazioni (rara) l’indirizzo costituito da tutti 1 indica “per tutti” e permette la

comunicazione broadcast (utilizzata da molti protocolli di livello superiore)

Il secondo bit indica indirizzi globali (se vale 0) o a valenza locale (se vale 1) gli indirizzi globali sono assegnati dall’IEEE: ogni interfaccia di

rete prodotta nel mondo ha un suo indirizzo globale che e’ unico gli indirizzi locali possono essere assegnati dall’amministratore

di rete ed hanno garanzia di unicita’ solo localmente

Page 410: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Campo di tipo

Segue un campo di 2 byte che serve ad indicare al ricevente cosa deve fare del frame ricevuto generalmente il livello 2 viene utilizzato

da piu’ protocolli dello strato di rete simultaneamente

il campo type indica al ricevente a quale processo deve essere recapitato il frame

Page 411: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Campo dati e riempimento Il campo dati trasporta le informazioni del protocollo di

livello 3 ed ha dimensione variabile, con un limite superiore La sua dimensione massima e di 1500 byte, e fa si che la

lunghezza massima del frame Ethernet sia 1518 byte (preambolo elscuso) il valore massimo e’ determinato dal fatto che il transceiver

deve ospitare l’intero frame in RAM, ed al momento della definizione dello standard la RAM era piu’ costosa di oggi

Lo standard prevede che un frame Ethernet non possa essere inferiore a 64 byte

In caso di necessita’ il campo dati e’ seguito da un campo di riempimento costituito da tutti 0 per fare in modo che la somma dati+riempimento sia di almeno 46 byte e’ compito dei livelli superiori forzare il campo dati ad essere

almeno di 46 byte, od introdurre un indicatore di lunghezza per discriminare i dati dal riempimento

Page 412: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Requisito di lunghezza minima del frame

Questo requisito e’ dovuto al fatto che una stazione deve poter identificare una collisione sul frame che sta’ trasmettendo

Detto T l’intervallo di tempo per la propagazione del segnale lungo il mezzo tra le stazioni piu’ lontane, nel caso peggiore un eventuale segnale di collisione arriva al trasmittente dopo 2T secondi

Se la trasmissione terminasse entro 2T secondi, la stazione riterrebbe di aver trasmesso con successo quando invece potrebbe essere avvenuta una collisione

Lo standard Ethernet prevede la possibilita’ di avere 5 tratte da 500 m connesse da 4 ripetitori, ed il tempo di propagazione, tenuto in conto il ritardo introdotto dai ripetitori, e’ di circa 25 μs; il frame deve quindi durare almeno 50 μs che a 10 Mbps significano 500 bit

Il frame trasmesso deve essere lungo almeno 500 bit (arrotondato a 512 bit = 64 byte)

Page 413: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il campo di checksum

L’ultimo campo e’ dedicato al checksum, realizzato tramite un codice CRC a 32 bit

Page 414: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Differenze tra Ethernet ed IEEE 802.3

La standardizzazione IEEE (1997) ha introdotto due modifiche: l’ultimo byte del preambolo e’ trasformato in un byte di

inizio frame (Start Of Frame) di valore 10101011 il campo “type” e’ stato trasformato nel campo “length”,

e contiene la lunghezza del campo dati espressa in ottetti Fortunatamente al momento della

standardizzazione nessuno aveva ancora utilizzato un type di valore inferiore a 1500 (e dopo e’ stato proibito) , per cui le due differenti definizioni possono coesistere sulla stessa LAN

Page 415: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo di accesso al mezzo

La gestione dell’accesso al mezzo avviene tramite un algoritmo noto col nome di backoff esponenziale binario inizialmente una stazione si comporta secondo il protocollo 1-

persistente dopo la prima collisione il tempo viene diviso in slot di 512 bit (51.2 μs)

e la stazione attende un tempo casuale di 0 o 1 slot, poi riprova se avviene un’altra collisione la stazione attendera’ un numero di slot

scelto a caso tra 0 e 3 in generale dopo la n-esima collisione il tempo di attesa sara’ scelto

casualmente tra 0 e 2n-1, fino ad un massimo di 1023 intervalli (alla decima collisione consecutiva)

raggiunto il valore di 1023, questo valore non viene piu’ aumentato, ed il protocollo ritenta la trasmissione fino a raggiungere 16 collisioni consecutive, limite oltre il quale il livello 2 comunica allo strato superiore un errore

Questo meccanismo si adatta al carico presente sulla rete in condizioni di basso carico la stazione riesce rapidamente a

trasmettere in condizioni di carico elevato, l’aumento esponenziale degli intervalli di

attesa rende i tentativi sufficientemente rarefatti da permetter a tutte le stazioni di trasmettere con ritardi contenuti

Page 416: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Prestazioni di Ethernet

Come gli altri protocolli CSMA anche Ethernet presenta le seguenti caratteristiche in condizioni di basso carico i tempi di ritardo sono contenuti e

l’efficienza assomiglia al CSMA 1-persistente con la miglioria legata al fatto che c’e’ rilevazione della collisione

in condizioni di carico elevato crescono le collisioni, ma l’algoritmo di backoff esponenziale fa si che le stazioni mutino il loro comportamento rendendo il protocollo simile ad un CSMA p-persistente con p sempre piu’ piccolo

quindi al crescere del carico l’andamento dell’efficienza tende ad appiattirsi su una percentuale di valore non nullo

c’e’ una forte dipendenza dalla dimensione media dei frame trasmessi; piu’ piccolo e’ il frame, piu’ pesa l’overhead del periodo di contesa rispetto al periodo di trasmissione riuscita

Page 417: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Commutazione in Ethernet: lo switch

Al crescere delle stazioni connesse aumenta l’inefficienza del protocollo

Per risolvere questo problema si fa uso di un dispositivo, detto switch

Lo switch e’ un oggetto costituito da una scheda interna (backplane) ad alta velocita’ trasmissiva su cui possono essere innestate svariate schede di linea, ciascuna contenente diversi connettori

i connettori sono connessi a doppini 10BaseT; ciascuno connette una stazione alla rete

Page 418: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Funzionamento dello switch

Quando una stazione trasmette un frame, questo giunge allo switch

Lo switch sa (vedremo dopo come) a quale porta di quale scheda e’ connessa la stazione a cui e’ destinato il frame se la stazione e’ connessa ad una porta della stessa scheda

il frame e’ inoltrato su quella porta se la stazione e’ connessa ad una scheda diversa, il frame

viene trasmesso internamente alla scheda di destinazione attraverso il backplane, e da li inviato sulla porta connessa alla stazione destinataria

La scheda di backplane funziona con un protocollo proprietario, sviluppato dal produttore, generalmente a capacita’ molto superiore a 10 Mbps

Page 419: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Funzionamento dello switch (cont.)

Quando due stazioni connesse alla stessa scheda trasmettono contemporaneamente: negli switch piu’ vecchi la scheda e’ di fatto un HUB: tutte le

linee sono elettricamente connesse a formare un unico dominio di collisione, e la trasmissione contemporanea provoca una collisione gestita secondo il protocollo a contesa via backoff esponenziale binario

va osservato che la collisione riguarda solo le stazioni connesse alla scheda in questione

in questo caso e’ possibile solo una trasmissione per ogni scheda, ma diverse schede possono trasmettere frame in parallelo

gli switch piu’ moderni dispongono di un buffer per ogni porta: il frame viene memorizzato ed inoltrato sulla porta di destinazione appena possibile

in questo caso non esiste possibilita’ di collisione, perche’ ogni porta puo’ trasmettere e ricevere contemporaneamente senza influire sulle trasmissioni altrui

sara’ lo switch ad occuparsi di memorizzare su buffer il frame se non puo’ inoltrarlo immediatamente

in questo modo si realizza una comunicazione full duplex a piena banda

Page 420: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Funzionamento dello switch (cont.)

E’ possibile utilizzare alcune porte di uno switch come accentratore di linee: una porta puo’ essere connessa ad un HUB o ad un’altro switch, in modo da separare i domini di collisione

Questa tecnologia permette di aumentare notevolmente l’efficienza complessiva in condizioni di carico elevato, di fatto eliminando il problema delle collisioni o confinandolo entro rami distinti contenenti un numero di stazioni ridotto

Utilizzando gli switch in cascata si possono realizzare topologie ad albero rendendo molto flessibile la struttura topologica della rete e piu’ semplice il suo sviluppo nel tempo utilizzando questa topologia si deve fare molta attenzione

a non creare delle connessioni circolari

Page 421: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Apprendimento della topologia

Per sapere su quale porta debba essere trasmesso il frame, lo switch deve creare e mantenere aggiornata una tabella relativa alla associazione tra indirizzo di destinazione e porta

La costruzione manuale di questa tabella sarebbe troppo costosa in termini di gestione della rete, ed e’ stato opportunamente inventato un meccanismo di auto apprendimento

Inizialmente questa tabella e’ vuota, e lo switch deve inoltrare ciascun frame ricevuto su tutte le porte connesse

Poiche’ i frame contengono l’indirizzo del mittente, ad ogni frame che arriva lo switch impara che la stazione che ha inviato il frame e’ raggiungibile attraverso la porta da cui e’ arrivato il frame stesso

Con il passare del tempo lo switch riempie la tabella e puo’ svolgere la sua funzione in modo sempre piu’ efficiente

Tutti i frame broadcast e multicast continueranno a dover essere trasmessi su tutte le porte connesse (tranne quella di provenienza), cosi’ come i frame destinati ad indirizzi non presenti nella tabella

L’aggiunta di stazioni connesse viene gestita dallo switch automaticamente attraverso il meccanismo di auto apprendimento

Page 422: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Limiti di funzionalita’ degli switch

I limiti di funzionalita’ dello switch sono determinati dalla sua capacita’ di ritrasmettere i frame alla velocita’ necessaria

Poiche’ lo switch permette una trasmissione full duplex su tutte le porte di ogni scheda, il backplane puo’ costituire il limite alla capacita’ di supportare il traffico generato negli switch moderni di elevata qualita’ il backplane e’ costruito in modo

da garantire un throughput sufficiente alla trasmissione a piena banda di tutte le sue porte contemporaneamente

negli switch piu’ vecchi o di qualita’ inferiore la capacita’ del backplane e’ comunque molto elevata, e si gioca sul fatto che difficilmente tutti trasmettono a piena banda nello stesso momento (questo e’ sempre vero in condizioni normali)

Un altro problema puo’ derivare dal limite dei buffer: supponiamo che due stazioni trasmettano a piena banda verso una terza

stazione lo switch riceve un traffico di 20 Mbps in ingresso, ma dispone di soli 10

Mbps in uscita verso la destinazione non e’ possibile smistare tutto il traffico

In entrambe le situazioni i frame in eccesso verranno buttati via dallo switch: sara’ compito dei livelli superiori delle stazioni coinvolte gestire la situazione con ritrasmissioni e controllo di flusso

Page 423: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Fast Ethernet

Nel 1992 IEEE ha riunito il comitato 802.3 per sviluppare un protocollo a 100 Mbps basato sulla tecnologia Ethernet

Il lavoro si e’ sviluppato secondo una linea guida fondamentale: mantenere la compatibilita’ con le LAN esistenti

Questo ha significato: mantenere lo stesso formato del frame mantenere le stesse interfacce mantenere le stesse regole procedurali

Page 424: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Fast Ethernet (cont.)

L’aumento della velocita’ di un fattore 10 a parita’ di lunghezza minima del frame richiede che per rilevare le collisioni si debba accorciare di un fattore 10 la lunghezza massima del cavo

Questo non avrebbe permesso di mantenere le strutture di cablaggio preinstallate

La soluzione e’ stata di rinunciare al cavo coassiale; FastEthernet (802.3u) prevede come topologie possibili solo connessioni via HUB o switch, utilizzando come mezzi trasmissivi UTP cat. 3: 100Base-T4 (max. 100 m) UTP cat. 5: 100Base-TX (max. 100 m) Fibra ottica: 100Base-FX (max 2000 m) nota: il protocollo – come vedremo – permette per il rame

lunghezze maggiori; solo le specifiche limitano a 100 m la lunghezza dei cavi in rame, ma spesso si riesce a realizzare la connessione FastEthernet anche a 200 m

Page 425: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codifiche per FastEthernet

La codifca Manchester a 100 Mbps richiede 200 Mbaud, improponibile per i doppini alle distanze richieste, quindi si e’ cambiata la codifica gli apparati moderni che gestiscono il clock e le distanze

ridotte permettono di rinunciare ai suoi benefici 100Base-T4: lo standard per l’UTP cat. 3 prevede

l’utilizzo di 4 doppini con segnali a 25 MHz (supportati dal cavo a 100 m di distanza) un doppino dedicato alla trasmissione in un verso, uno a

quella in verso opposto, due commutabili si trasmette un segnale ternario: con tre doppini si hanno

27 simboli, che possono trasferire 4 bit di informazione con un po’ di ridondanza

25 MHz per 4 bit fornisce i 100 Mbps richiesti, ma non full duplex

Page 426: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codifiche per FastEthernet (cont.)

100Base-TX: l’UTP cat. 5 a 100 m e’ capace di supportare una frequenza di 125 MHz

Lo standard prevede l’utilizzo di due coppie (una per verso di trasmissione) utilizzanti una codifica a due livelli detta 4B/5B ereditata da FDDI (modificata per annullare la componente continua e per motivi spettrali) ogni gruppo di 5 periodi di clock contiene 32 combinazioni 16 sono utilizzate per per trasmettere 4 bit di dati, alcune delle

altre per funzioni di controllo le 16 combinazioni dedicate ai dati sono state scelte

opportunamente per garantire un adeguato numero di transizioni del segnale allo scopo di facilitare la sincronizzazione in ricezione

4 bit ogni 5 periodi di clock a 125 MHz fornisce i 100 Mbps desiderati, per ogni coppia di cavo, garantendo la comunicazione full duplex

100Base-FX: la connessione e’ realizzata tramite una coppia di fibre multimodali (una per ogni direzione) capaci di una distanza massima di 2000 m, ed utilizzano la codifica 4B/5B a 125 MHz convertita in segnale ottico

Page 427: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche del FastEthernet

Lo standard cosi’ definito permette di utilizzare le stesse regole di protocollo di Ethernet per le connessioni in rame, sono possibili topologie

ad albero tramite HUB o switch ciascun HUB costituisce un dominio di collisione separato;

la collisione e’ gestita con il meccanismo di contesa regolato dall’algoritmo di backoff esponenziale binario di Ethernet

la lunghezza massima del cavo per il funzionamento dell’algoritmo basato sulla rilevazione della collisione e’ 10 volte minore del limite per Ethernet, quindi pari a 250 m, compatibile con la lunghezza massima degli UTP

per le connessioni in fibra la lunghezza eccede quella massima per la corretta gestione delle collisioni, per cui 100Base-FX puo’ essere utilizzata solo con switch

Page 428: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Velocita’ miste Tutti gli switch possono utilizzare connessioni a velocita’ miste, con

porte a 10 o 100 Mbps La velocita’ della porta generalmente (non sempre) puo’ essere

negoziata dalle due interfacce all’atto della accensione delle macchine, cosi’ come la modalita’ di trasmissione (half duplex o full duplex)

In questo modo e’ possibile pianificare una migrazione della rete da Ethernet a FastEthernet senza dover cambiare tutti gli apparati di commutazione e le interfacce nello stesso momento

Le vecchie interfacce di rete, realizzate secondo lo standard Ethernet, non sono capaci di negoziare, ma gli switch possono capire da soli e configurare automaticamente la porta in modo opportuno

Gli switch di qualita’ (“manageble”, cioe’ configurabili) possono essere configurati manualmente per definire le modalita’ di funzionamento delle porte (essenziale per mettere daccordo interfacce che non si parlano correttamente in fase di inizializzazione)

Le porte in fibra non hanno queste caratteristiche: per le connessioni in fibra se si cambia la tecnologia dello switch si deve cambiare l’interfaccia

Page 429: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 16: data link layer: Gigabit Ethernet, Wireless (strato fisico)

Page 430: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Gigabit Ethernet Fast Ethernet ha sbaragliato la concorrenza

costi bassi (in particolare per le connessioni in rame) alta velocita’ alte prestazioni (grazie alla tecnologia di switching) flessibilita’ di topologia (e’ banale aggiungere, rimuovere, spostare

stazioni o interi rami della rete) compatibilita’ all’indietro, con possibilita’ di migrare progressivamente

la propria infrastruttura di rete Qualsiasi altro protocollo del momento (FDDI, Token ring, Token

bus) non ha retto alla concorrenza Tuttavia alcuni fattori hanno spinto a cercare soluzioni piu’ veloci

alcuni nuovi protocolli promettevano prestazioni migliori (ATM), anche se a costi molto elevati

esigenze di banda sempre superiore, per applicazioni multimediali interattive, o in generale per la crescita esponenziale delle dimensioni dei dati da maneggiare e della cresciuta velocita’ di elaborazione degli stessi da parte dei calcolatori

Nel 1995 IEEE inizia a lavorare su un nuovo incremento di velocita’ per Ethernet, e nel 1998 viene pubblicato lo standard 802.3z (Gigabit Ethernet)

Page 431: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche di Gigabit Ethernet

L’obiettivo e’ lo stesso: realizzare un protocollo 10 volte piu’ veloce mantenendo tutte le caratteristiche del precedente (stessa struttura e dimensione del frame, stesso schema di indirizzamento, stesso tipo di servizio non affidabile)

Di nuovo si e’ deciso di fare a meno della connettivita’ su coassiale (a maggior ragione, per gli stessi motivi)

Come Fast Ethernet, Gigabit Ethernet prevede due modalita’ operative full duplex (quella normale): la connessione e’ tra due switch o tra la

stazione e lo switch; le porte sono dotate di buffer e le collisioni non sono possibili, quindi non c’e’ utilizzo di CSMA/CD

half duplex: la connessione e’ con un hub, che non e’ dotato di buffer e connette elettricamente le linee in ingresso; c’e’ possibilita’ di collisione e va utilizzato CSMA/CD

La gestione delle collisioni riduce di un fattore 100 la dimensione massima del cavo rispetto ad Ethernet (25 m); per estendere questo limite a 200 m si utilizzano due tecniche: carrier extension: l’interfaccia inserisce riempitivi per portare la

dimensione del frame ad almeno 512 byte; poiche’ questa aggiunta e’ eseguita dall’hardware e rimossa dalla interfaccia in ricezione, le specifiche del protocollo non cambiano

frame bursting: permette a chi trasmette di inviare piu’ di un frame per volta; se l’aggregato non raggiunge i 512 byte, si applica ancora il carrier extension

Page 432: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Collisioni in Gigabit Ethernet

Queste specifiche rendono il protocollo meno efficiente in occasione di trasmissioni di frame piccoli

Tuttavia l’utilizzo di Gigabit Ethernet in modalita’ CSMA/CD (con HUB) e’ raramente applicata, anche perche’ il costo di uno switch e di poco superiore a quello di un HUB

Page 433: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Specifiche per i mezzi trasmissivi

Gigabit Ethernet specifica l’utilizzo di diversi mezzi trasmissivi: 1000Base-SX: fibra ottica multimodale

(fino a 550 m) 1000Base-LX: fibra ottica monomodale

(fino a 5000 m) 1000Base-T: 4 coppie di cavo UTP cat. 5

(fino a 100 m) 1000Base-CX: 2 coppie di cavo STP (fino

a 25 m) (raramente utilizzata)

Page 434: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Codifiche in Gigabit Ethernet

Su fibra si utilizza una codifica nota come 8B/10B: una sequenza di 8 bit e’ codificata utilizzando 10 bit: 1024 codeword per 8 bit: c’e’ margine per scegliere

opportunamente le codeword in modo che non ci siano mai piu’ di 4 bit uguali consecutivi non ci siano mai piu’ di sei 0 o sei 1

spesso una sequenza ha piu’ codeword associate, e viene scelta la migliore in funzione delle precedenti inviate per mantenere alternanza tra 0 ed 1 ed annullare la componente continua che passa nell’elettronica di conversione ottico/elettrico

Su rame si utilizzano tutte le quattro coppie del cavo UTP in modalita’ duplex con un simbolo a 5 livelli ogni ciclo di clock trasmette 5 simboli per coppia: 2 bit piu’ un

bit usato per segnali di controllo si ciascuna coppia 8 bit per ciclo a 125 MHz danno il throughput di 1 Gbps la modalita’ di trasmissione duplex si realizza con una

elettronica complessa finalizzata al trattamento del segnale per separare l’ingresso dall’uscita

Page 435: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllo di flusso in GE

Poiche’ lo standard ammette la connessione di una stazione GE con una FE o Ethernet, e’ stato introdotto un meccanismo per il controllo di flusso a livello MAC

Lo switch comunica all’interfaccia GE della stazione di sospendere le trasmissioni di frame utilizzando un frame Ethernet normale, con tipo 0x8808 (seguito da parametri nel campo dati, indicanti tra l’altro per quanto tempo sospendere la trasmissione)

Un meccanismo analogo esiste nelle specifiche di Fast Ethernet

Page 436: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Reti wireless Motivazioni:

principalmente la diffusione di computer portatili, per offrire mobilita’ senza perdita di connessione

un altro fattore e’ l’estensibilita’ della rete senza necessita’ di cablaggio

Bande trasmissive ISM lo strato fisico e’ realizzato con la trasmissione

omnidirezionale in modulazione digitale di una portante esistono bande di frequenza dedicate all’utilizzo senza

necessita’ di registrazione ed allocazione queste bande si chiamano ISM (Industrial, Scientific, Medical) la legislazione specifica determinate caratteristiche obbligatorie

per utilizzare queste bande, come ad esempio la potenza massima di trasmissione e l’utilizzo di tecniche trasmissive spread spectrum

le bande utilizzate nelle trasmissioni wireless sono a 2.4 GHz ed a 5 GHz

in questa regione le trasmissioni competono con apparati radiocomandati, telefoni cordless, forni a microonde, …

Page 437: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Standard 802.11x

L’IEEE ha definito diversi standard nel corso del tempo per le trasmissioni wireless

Questi standard sono IEEE 802.11 con tre differenti tecniche

trasmissive (IR, FHSS, DSSS) e velocita’ ad 1 o 2 Mbps nella banda a 2.4 GHz

IEEE 802.11b a velocita’ 1, 2, 5.5 e 11 Mbps nella banda a 2.4 GHz

IEEE 802.11a con velocita’ fino a 54 Mbps nella banda a 5 GHz

IEEE 802.11g fino a 54 Mbps nella banda a 2.4 GHz

Page 438: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Strato fisico per le reti 802.11

802.11 ad infrarosso utilizza trasmissioni a 0.85 e 0.95 micron supporta velocita’ a 1 e 2 Mbps di fatto non utilizzato

802.11 FHSS (Frequency Hopping Spread Spectrum) utilizza 79 canali ad 1 MHz a partire da 2.4 GHz con la

tecnologia Frequency Hopping: la trasmissione salta ad intervalli temporali definiti (minori di 400 ms) da una frequenza ad un’altra secondo una sequenza pseudocasuale nota a tutti

la banda disponibile ad ogni istante e’ 1 MHz questa tecnica fornisce sicurezza (impossibile seguire la

comunicazione senza conoscere la sequenza pseudocasuale) e solidita’ contro il multipath fading (quando arriva il segnale riflesso la ricezione e’ gia’ spostata su un altro canale)

supporta standard ad 1 e 2 Mbps, con codifiche a 2 o 4 simboli con (G)FSK

Page 439: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Strato fisico per le reti 802.11 (cont.)

802.11 DSSS (Direct Sequence Spread Spectrum) il tempo di un bit viene suddiviso in m intervalli temporali il valore trasmesso e’ la combinazione in or esclusivo dei

bit dei dati (di durata Tb) combinati con una sequenza pseudocasuale o predefinita di bit, ciascuno di durata Tc=Tb/m, detti chip

lo standard opera nella banda a 2.4 GHz ed utilizza una sequenza fissa di 11 chip (sequenza di Barker) per codificare un bit di dati

Page 440: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Strato fisico per le reti 802.11 (cont.)

802.11 DSSS (Direct Sequence Spread Spectrum) (cont.) la banda disponibile e’ suddivisa in 14 canali di 5 MHz

ciascuno, a partire da 2.412 GHz le stazioni debbono essere configurate per determinare il

canale utilizzato non tutti i canali sono disponibili in tutti i paesi in USA il canale 14 e’ proibito, in Spagna sono ammessi solo il

10 e l’11, in Italia sono tutti ammessi le antenne trasmettono a 11 MHz; con modulazioni PSK a 2

o 4 livelli e 11 chip per bit lo standard permette trasmissioni a 1 o 2 Mbps

poiche’ l’ampiezza di banda del segnale inviato e’ intorno ai 22 MHz, nonostante i filtri dell’elettronica per non interferire due trasmissioni indipendenti nella stessa area debbono utilizzare canali separati da almeno 5 canali

Page 441: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Strato fisico per le reti 802.11 (cont.)

802.11b questo standard prevede l’utilizzo della banda a 2.4 GHz

per trasmettere fino a 11 Mbps utilizza la tecnica HR-DSSS (High Rate DSSS)

questa tecnica utilizza codeword non fisse prevede trasmissioni a 1 e 2 Mbps in modalita’

compatibile con 802.11 DSSS e velocita’ a 5.5 e 11 Mbps 802.11b prevede l’utilizzo di codeword a 8 chip, sempre a 11

MHz utilizzando PSK a 4 livelli (2 chip per simbolo) la trasmissione a 2.75 Mchip/s trasmette 2 o 4 bit per chip

producendo i rate a 5.5 o 11 Mbps la velocita’ di trasmissione e’ adattabile dinamicamente

in funzione della potenza del segnale, del carico e del rumore presenti

il suo campo di azione si aggira, in assenza di ostacoli, attorno ai 150/200 m

Page 442: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Strato fisico per le reti 802.11 (cont.)

802.11a questo standard prevede l’utilizzo della banda a 5 GHz

per trasmettere fino a 54 Mbps utilizza la tecnica OFDM (Orthogonal FDM)

similmente ad ADSL utilizza 52 canali distinti, di cui 48 per i dati e 4 per la sincronizzazione, con sottoportanti separate di 0.3125 MHz (per un totale di 20 MHz disponibili)

a differenza della FDM classica, le frequenze delle sottoportanti sono scelte in modo tale che lo spettro di ogni sottoportante modulata abbia ampiezza zero in corrispondenza della frequenza della altre sottoportanti (da qui il termine orthogonal)

utilizza differenti tecniche di encoding e di modulazione per supportare velocita’ di 6, 9, 12, 18, 24, 36, 48 e 54 Mbps a 250 KHz di symbol rate

il suo campo di azione copre poche decine di metri questo standard e’ stato definito da poco, ed ancora poco

diffuso

Page 443: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Strato fisico per le reti 802.11 (cont.)

802.11g questa e’ l’evoluzione di 802.11b che

prevede un data rate fino a 54 Mbps utilizza la stessa tecnica OFDM di 802.11a

nella banda di frequenze a 2.4 GHz, con tecniche di modulazione piu’ complesse

ultimo arrivato tra gli standard, non ha ancora un utilizzo diffuso

ancora da verificare sul campo la reale possibilita’ di andare alla velocita’ massima

Page 444: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

CSMA: stazione nascosta Come esempio consideriamo tre stazioni A, B e C tali che B

sia a portata di A e di C, ma A e C non possano rilevare le rispettive trasmissioni

Se C sta trasmettendo dati a B, A non potra’ rilevare l’occupazione del canale in quanto e’ fuori portata

A iniziera’ a trasmettere ed il suo segnale arrivera’ a B interferendo con i dati che C sta’ trasmettendo

Questo e’ detto problema della stazione nascosta

Page 445: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

CSMA: stazione esposta Se nelle stesse ipotesi supponiamo che A stia trasmettendo

verso un’altra destinazione, e che B desideri inviare dati a C B ascolta il canale e lo trova occupato, quindi non trasmette In realta’ il canale sarebbe disponibile (nella ipotesi che la

destinazione della trasmissione di A sia fuori dalla portata di B) perche’ in C i segnali non interferirebbero

Questo e’ il problema della stazione esposta

Page 446: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

MACA L’inefficacia del protocollo CSMA deriva dal fatto

che per le trasmissioni wireless quello che conta e’ l’interferenza in prossimita’ del ricevente, mentre l’analisi della portante che puo’ fare una stazione e’ solo in prossimita’ di se stessa, cioe’ del trasmittente

Il protocollo MACA (Multiple Access with Collision Avoidance) tenta di risolvere il problema nel seguente modo: il trasmettitore A invia un piccolo frame (RTS: Request To

Send) al ricevitore B il frame RTS contiene la richiesta di trasmettere un frame a B,

specificandone la lunghezza il ricevitore B trasmette un piccolo frame di conferma

(CTS: Clear To Send) ad A, con le stesse informazioni del RTS

quando A riceve il CTS trasmette il frame di dati a B

Page 447: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

MACA (cont.)

Tutte le stazioni che ricevono il frame RTS sanno che B rispondera’ con un CTS in seguito A trasmettera’ un frame di dati di lunghezza

specificata in RTS Queste stazioni attenderanno senza trasmettere

un tempo sufficiente alla trasmissione dei dati Le stazioni nascoste non vedono il frame RTS, ma

vedono il frame CTS, quindi sanno che trasmesso il CTS B dovra’ ricevere il frame di dati, di

lunghezza specificato nel CTS Queste stazioni attenderanno senza trasmettere

per il tempo necessario alla trasmissione del frame di A (che loro non vedranno in quanto nascoste, ma sanno che ci sara’)

Page 448: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

MACA (cont.)

Collisioni saranno possibili se un frame RTS venisse trasmesso contemporaneamente verso una destinazione collocata nel campo di ricezione dei due trasmittenti: i due frame andranno perduti

In questo caso la stazione che non riceve il CTS dopo un timeout applica l’algoritmo di backoff esponenziale binario e ritenta

Page 449: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

MACAW

Il protocollo MACAW (MACA per Wireless) introduce migliorie specifiche per le applicazioni wireless nella maggior parte dei casi la mancanza di ACK

a livello 2 provoca la ritrasmissione solo a livello 4, con grossi ritardi

per questo motivo e’ stato introdotto l’utilizzo di frame di ACK con meccanismo stop-and-wait

si e’ anche notato che CSMA puo’ essere utilizzato per impedire ad una stazione di trasmettere un RTS durante la trasmissione di un altro RTS verso la stessa destinazione

infine si e’ modificato l’algoritmo di backoff in modo da applicarlo separatamente ai diversi flussi trasmissivi

Page 450: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 17: data link layer: Wireless (protocollo), LLC, bridge

Page 451: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo del sottostrato MAC di 802.11

802.11 supporta due modalita’ operative: DCF (Distributed Coordination Function)

prevede la comunicazione tra stazioni senza un arbitraggio centralizzato

questa modalita’ prevede la contesa del mezzo e la gestione delle collisioni

nota come rete ad hoc PCF (Point Coordination Function)

prevede che ci sia una stazione base che coordina la trasmissione di tutti

in questa modalita’ non ci sono collisioni perche’ l’ordine delle trasmissioni e’ determinato dalla stazione di controllo

Tutte le schede wireless devono supportare la trasmissione DCF, mentre quella PCF e’ opzionale (ma molto diffusa)

Page 452: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo in modalita’ DCF

In questa modalita’ si utilizza un protocollo chiamato CSMA/CA (Carrier Sense Multiple Access Collision Avoidance) che opera in due modi la stazione controlla se il canale e’ libero

(per quello che puo’ vedere) se e’ libero trasmette (senza collision detection) se e’ occupato, aspetta che si liberi e trasmette se si verifica una collisione (rilevata) utilizza il

backoff esponenziale binario e ritenta

Page 453: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo in modalita’ DCF (cont.)

la seconda modalita’ e’ derivata da MACAW, con utilizzo di RTS, CTS ed ACK per ogni frame trasmesso l’interfaccia della stazione che rileva un RTS o

un CTS rivendica per se’ un canale virtuale NAV (Network Allocation Vector) che impedisce alla stazione di trasmettere per tutto il tempo che deve durare la trasmissione in preparazione, fino all’ACK

Page 454: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo in modalita’ DCF (cont.)

Poiche’ le reti wireless sono molto rumorose, il protocollo prevede la possibilita’ di spezzare il frame in frammenti, ciascuno trasmesso e riscontrato individualmente

i frammenti vengono inviati tutti di seguito, senza bisogno di invio di RTS

le stazioni in ascolto utilizzaranno il NAV per attendere solo fino al primo riscontro: per evitare colisioni con gli altri frammenti si utilizza un meccanismo che vedremo piu’ avanti

Page 455: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo in modalita’ PCF Nella modalita’ PCF la stazione base sonda le altre

stazioni per vedere se hanno frame da trasmettere La trasmissione e’ regolata ed autorizzata dalla

stazione base e non avvengono collisioni Il protocollo specifica la modalita’ di interrogazione,

e prevede che le stazioni si registrino con la stazione base per entrare nel meccanismo delle interrogazioni

La stazione base regola tutto il meccanismo della trasmissione, comprese le informazioni sulle sequenze di salto di frequenza (per FHSS) e le temporizzazioni

Il protocollo, ottimizzato per i computer portatili, prevede anche che la stazione base possa imporre alla stazione mobile di mettersi in modalita’ di sospensione, al fine di risparmiare batteria

Page 456: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Coesistenza PCF e DCF 802.11 prevede un meccanismo di attesa a tempi

differenziati che permette la coesistenza di PCF e DCF terminata una trasmissione, inizia un periodo di tempo detto

SIFS (Shotr IntreFrame Spacing), dopo il quale puo’ trasmettere solo:

una stazione che ha ricevuto l’ACK di un frammento ed invia un altro frammento (in questo modo la stazione potra’ trasmettere tutti i frammenti senza perdere il controllo del canale)

una stazione che ha ricevuto un RTS ed invia un CTS (gli altri aspettano)

una stazione che ha ricevuto una interrogazione (in modalita’ PCF) e puo’ rispondere (solo lei)

in ogni caso c’e’ sempre al massimo una stazione che puo’ trasmettere dopo un intervallo SIFS, quindi non ci possono essere collisioni

l’intervallo SIFS permette alle stazioni con trasmissioni in corso (dopo un frammento, dopo un RTS, dopo una interrogazione) di portare a termine la trasmissione

Page 457: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Coesistenza PCF e DCF (cont.)

il secondo intervallo temporale in ordine di lunghezza e’ detto PIFS (PCF IFS); se nessuno ha trasmesso tra lo scadere del SIFS e lo scadere del PIFS, sono autorizzate le trasmissioni che la stazione base utilizza in modalita’ PCF per interrogare le stazioni in questo modo la stazione base ha la priorita’ su tutto il

traffico “non in corso” esiste un meccanismo per evitare che una stazione base

allochi per sempre il canale con trasmissioni di interrogazione, lasciando spazio alle eventuali trasmissioni DFS

il terzo intervallo di tempo e’ detto DIFS (DCF IFS): se nessuno ha trasmesso frame PCF entro la scadenza del DIFS, iniziano le regole di contesa relative alle trasmissioni in modalita’ DCF questo e’ il momento per poter trasmettere un frame RTS

Page 458: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Coesistenza PCF e DCF (cont.)

L’ultimo intervallo (EIFS: Extended IFS) e’ utilizzato (alla priorita’ piu’ bassa) dalle stazioni che hanno ricevuto un frame danneggiato per annunciare il fatto

Page 459: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Frame in 802.11

Esistono tre tipi di frame dati: dedicati al trasferimento dei dati dei

protocolli superiori gestione: dedicati alle funzioni di

gestione della cella, quali associazione, autenticazione, interrogazione

controllo: sono i frame ACK, RTS, CTS

Page 460: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Frame di dati

La struttura del frame di dati e’ costituita da diversi campi frame control: definisce la versione del

protocollo, il tipo di frame, se il frame proviene o e’ diretto alla rete di distribuzione (Ethernet, ad esempio), se sara’ seguito da altri frammenti, se e’ una ritrasmissione, se e’ stata utilizzata crittazione

durata: specifica per quanto tempo il frame occupera’ il canale

Page 461: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Frame di dati (cont.) quattro indirizzi, che definiscono

destinazione del frame (per il recapito) sorgente del frame (usato per l’ack) stazione base di partenza del frame stazione base di arrivo del frame

queste distinzioni servono, ad esempio, per distinguere il fatto che il frame 802.11 e’ trasmesso da A verso l’access point B, ma la destinazione e’ la stazione C che si trova sulla rete cablata oltre l’access point

Il campo sequenza numera i frammenti Infine i dati (fino a 2312 byte) ed il checksum con CRC a 32 bit

Page 462: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Altri frame

I frame di gestione hanno un formato simile, ma solo due campi address in quanto il loro traffico e’ confinato entro la cella

I frame di controllo non hanno campo dati ne’ sequenza; l’informazione del controllo inviato (RTS, CTS, ACK) e’ contenunto nel campo subtype dei byte di controllo di frame

Page 463: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Access point

Le reti wireless sono connesse alla rete cablata (una qualche rete 802.x) tramite una stazione che ha funzioni di bridge (converte il protocollo tra 802.11 ed il protocollo della rete cablata)

Questa stazione e’ detta access point L’access point ha anche funzioni di stazione

di controllo della cella per le trasmissioni in modalita’ PCF

E’ possibile realizzare topologie di estensione della rete tramite una catena di access point che rimpallano la trasmissione wireless di un frame fino a raggiungere la rete cablata

Page 464: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

LLC (IEEE 802.2) I protocolli MAC visti fin qui non esauriscono le funzioni del

data link layer Le specifiche dei protocolli MAC devono essere filtrate per

poter offrire allo strato di rete una interfaccia analoga ai protocolli delle linee punto-punto

IEEE ha definito le specifiche di un sottostrato del data link layer che fornisce verso l’alto questa interfaccia, appoggiandosi sopra il sottostrato MAC: il Logical Link Control

Page 465: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Funzioni del LLC La funzione principale del LLC definito da IEEE e’ di

mascherare allo strato di rete le specifiche dei protocolli 802utilizzati a livello di MAC, in modo da offrire allo strato superiore una interfaccia uniforme

Un esempio del suo utilizzo e’ quello di implementare un servizio orientato alla connessione, o non connesso ma affidabile per la comunicazione a livello 2

Lo strato di rete passa i suoi dati al LLC, che aggiunge un suo header con le informazioni di numerazione del frame, riscontro etc.

Quindi il LLC passa al sottostrato MAC il campo dati che il MAC gestisce con le sue specifiche

In ricezione il MAC recapita il frame al LLC che rimuove l’header e passa i dati allo strato di rete

Il formato dell’header ed i meccanismi di funzionamento del LLC ricalcano quelli dell’HDLC

Page 466: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

LLC e TCP/IP

In TCP/IP lo strato di rete (IP) richiede solamente trasmissioni “best-effort”, cioe’ inaffidabili, al data link layer

Di fatto in TCP/IP il LLC non fa nulla piu’ che passare i dati di IP al sottostrato MAC

Page 467: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Commutazione tra LAN

Esiste la necessita’ di interconnettere reti locali differenti sviluppatesi in modo indipendente, utilizzanti protocolli differenti

Queste reti possono essere connesse con tecnologie di internetworking operando a livello di rete

Tuttavia e’ spesso possibile ed opportuno realizzare l’interconnessione a livello di data link per motivi di costi: un apparato di interconnessione a livello

di rete, specie in passato, risulta piu’ costoso per motivi di prestazioni: l’interconnessione a livello di data

link permette di sfruttare le tecnologie di rete locale per motivi di flessibilita’: spesso lo spostamento di una

stazione su rami interconnessi a livello di data link non richiede riconfigurazioni

Page 468: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il bridge Il dispositivo che realizza l’interconnessione a livello di data link si

chiama bridge Il bridge interconnette due reti locali potenzialmente utilizzanti

tecnologia differente generalmente i bridge realizzano una interconnessione tra reti 802.x ed

802.y Questi dispositivi lavorano a livello di data link, quindi non si

occupano di analizzare i dati del livello di rete Il frame in arrivo al bridge viene trasferito dallo strato fisico allo

strato di data link generalmente i sottolivelli MAC delle reti locali interconnesse saranno

differenti il frame risale il sottolivello MAC per giungere al sottolivello LLC che e’

comune il bridge determina a quale rete locale il frame debba essere inviato, ed il

frame riscende la pila dei protocolli passando al sottostrato MAC di destinazione, quindi al livello fisico di destinazione e viene trasmesso

Di fatto i bridge effettuano una conversione di protocollo tra diversi sottostrati MAC

Per realizzare questa funzionalita’ il bridge deve supportare un protocollo MAC per ogni linea interconnessa

Page 469: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Esempio di trasmissione attraverso bridge

Page 470: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Bridge trasparente

La modalita’ “trasparente” indica che il bridge si limita ad inoltrare il frame verso la rete locale su cui si trova la stazione di destinazione (o verso tutte le reti se la destinazione non e’ nota o se il frame e’ broadcast)

In questa modalita’ il bridge realizza una estensione logica della rete locale, eventualmente mascherando differenze di protocollo

Il bridge funziona quindi in modalita’ store-and-forward utilizzando le tabelle di instradamento abbiamo gia’ visto il funzionamento di questo

meccanismo studiando lo switch, che puo’ essere visto come un bridge monoprotocollo in modalita’ trasparente

Page 471: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Bridge in modalita’ non trasparente

I bridge possono essere configurati ed utilizzati per realizzare un filtro alla trasmissione dei frame da una rete all’altra

Il filtro puo’ essere realizzato in funzione del protocollo o degli indirizzi in generale si utilizzano le proprieta’ di filtraggio

per evitare di propagare un protocollo specifico su rami in cui questo protocollo non e’ utilizzato, ad esempio per limitare la propagazione del protocollo Appletalk o NetBIOS su rami privi di clienti appropriati

si puo’ cosi’ limitare la propagazione del traffico broadcast inutile

Page 472: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Spanning tree

Per aumentare l’affidabilita’ della connettivita’ all’interno di una rete locale si possono connettere i bridge (o gli switch) della rete con linee ridondanti

Questo genera percorsi circolari che, senza opportune contromisure, impedirebbero al meccanismi di auto apprendimento e di inoltro di funzionare correttamente

Page 473: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Spanning tree (cont.) Perlman ha sviluppato un meccanismo detto spanning tree,

standardizzato come IEEE 802.1D, che permette ai bridge di configurarsi automaticamente in modo da disabilitare i link che generano ridondanza, ottenendo cosi’ una struttura ad albero

Il protocollo continua a operare in modalita’ di controllo durante il funzionamento della rete, ed attiva o disattiva le connessioni in base alle esigenze (ad esempio se un bridge smette di funzionare, vengono attivati i link di ridondanza che permettono di raggiungere i rami che altrimenti rimarrebbero tagliati fuori

Tutti i bridge della topologia devono supportare il protocollo dello spanning tree

Page 474: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Riferimenti

Data Link Layer punto-punto: Tanenbaum cap. 3 tranne § 3.5

Medium Access Control Tanenbaum cap. 4 ma solo le parti viste

a lezione: escludere § 4.1.1, 4.2.3, 4.2.4, 4.2.5, 4.3.5,

da 4.4.5 fino a 4.6.7, da 4.7.6 in poi

Page 475: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 18: network layer: introduzione, algoritmi di routing

Page 476: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Funzioni dello strato di rete

Allo strato di trasporto la comunicazione tra i processi paritari di livello 4 deve apparire come una comunicazione punto-punto

Lo strato di rete ha quindi come funzione quella di fornire allo strato di trasporto un servizio per la consegna dei dati in modo da mascherare l’infrastruttura della rete (la sottorete)

Nomenclatura: host o end-node: stazione su cui opera lo strato di

trasporto che deve trasmettere o ricevere i dati utilizzando il servizio dello strato di rete

pacchetto: insieme di dati+header+trailer che lo strato di rete costruisce e deve trasmettere fino a destinazione

router: stazione intermedia che opera a livello 3, che riceve i pacchetti e li inoltra attraverso la (sotto)rete

Page 477: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Funzioni dello strato di rete (cont.)

In generale due host sono separati da un certo numero di nodi, interconnessi da svariate linee

Spesso sono possibili piu’ tragitti tra i due nodi (ad esempio nelle reti magliate)

Potenzialmente i nodi sono separati da reti funzionanti con tecnologie differenti

Page 478: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Funzioni dello strato di rete (cont.)

Lo strato di rete dovra’ quindi occuparsi dei seguenti argomenti determinare quale tragitto tra quelli disponibili

dovranno seguire i dati (instradamento, routing) questo puo’ richiedere che lo strato di rete conosca la

topologia della rete reagire a modifiche di topologie della rete

se esiste un meccanismo dinamico per l’apprendimento della topologia, questo permettera’ di apprenderne anche le modifiche nel tempo

evitare di sovraccaricare linee quando sono disponibili percorsi alternativi (congestione)

risolvere i problemi connessi al transito attraverso reti differenti (internetworking)

Page 479: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Servizi offerti allo strato superiore

Inizialmente OSI prevedeva che lo strato di rete fornisse solo un servizio connection oriented in modo analogo al funzionamento del servizio telefonico questo servizio, caldeggiato dalle compagnie telefoniche,

permette di operare fatturazione a tempo e di offrire servizi di qualita’ riservando le risorse a priori

In seguito c’e’ stata forte richiesta di introdurre nello standard anche un servizio connection less, e cosi’ e’ stato fatto l’inaffidabilita’ intrinseca della sottorete richiede un

meccanismo piu’ flessibile per il recapito dei dati comunque lo strato di trasporto dovra’ occuparsi della

integrita’ dei dati, inutile farlo anche a livello di rete

Page 480: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Servizio connection less Il servizio senza connessione richiede che i pacchetti siano

instradati indipendentemente uno dall’altro Generalmente un router dispone di una tabella che definisce

su quale linea di uscita debba essere trasmesso un pacchetto in base alla destinazione finale il router riceve il pacchetto, lo memorizza per analizzarlo, quindi

lo trasmette in base alla tabella (store and forward) Ogni pacchetto deve quindi contenere l’indirizzo di

destinazione Poiche’ le tabelle possono modificarsi nel tempo, non e’ detto

che tutti i pacchetti seguano la stessa strada

Page 481: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Servizio connection oriented

L’idea di base e’ di associare ad una connessione un circuito virtuale nella sottorete

Si definisce a priori – durante la fase di inizializzazione della connessione – la sequenza di router che i pacchetti dovranno attraversare

Tutti i pacchetti appartenenti alla stessa connessione seguiranno la stessa strada

L’instradamento del pacchetto sara’ quindi fatto in base alla sua appartenenza ad una connessione e non alla sua destinazione finale

L’intestazione del pacchetto sara’ piu’ semplice, dovendo contenere solo l’identificativo della connessione

La connessione potra’ essere stabilita in modo da garantire le risorse necessarie alla trasmissione, rendendola piu’ affidabile

Una connessione successiva tra gli stessi nodi potrebbe definire un circuito virtuale differente dal precedente

Page 482: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Tabelle per la definizione dei circuiti virtuali

Il nodo sceglie un identificativo per il circuito virtuale, utilizzando un numero (il piu’ basso disponibile)

Il router adiacente non e’ detto che abbia disponibile l’identificativo scelto dal nodo potrebbe averlo gia’ assegnato ad un’altro circuito virtuale proveniente

da un altro nodo In generale scegliera’ un identificativo differente, ma lo associera’

all’identificativo scelto dal nodo per i pacchetti provenienti dal nodo stesso

Questo processo si itera fino a destinazione Ogni router avra’ quindi una tabella del tipo

Ad ogni pacchetto in arrivo da un certo nodo (host o router) contenente un certo identificativo, il router cerchera’ nella tabella l’host a cui inoltrare il pacchetto e l’identificativo relativo

Sostituira’ l’ID vecchio col nuovo ed inoltrera’ il pacchetto

Nodo provenienza

Circuito virtuale Nodo destinazione

Circuito virtuale

Page 483: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

ConfrontoProblema Datagrammi Circuito virtuale

Impostazione circuito

Non necessaria Richiesta

Indirizzamento Ogni pacchetto contiene l’indirizzo completo di mittente e destinatario

Ogni pacchetto contiene un numero di circuito virtuale

Informazioni sullo stato

I router non conservano informazioni sullo stato delle connessioni

Ogni CV richiede spazio nella tabella dei router per la connessione

Routing Ogni pacchetto instradato indipendentemente

Il percorso e’ definito all’impostazione del CV

Effetto dei guasti Nessuno tranne i pacchetti che si trovano sul router che si guasta al momento del guasto

Tutti i CV che attraversano il router che si guasta vengono terminati

Qualita’ del servizio Difficile Semplice

Controllo congestione

Difficile Semplice

Page 484: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Routing ed inoltro La funzione principale dello strato di rete e’ il routing Questo e’ il processo che permette al router di scegliere –

tramite un algoritmo – la linea di uscita verso cui instradare i dati questa operazione sara’ ripetuta per ogni pacchetto dal resvizio

connection less, o una sola volta all’inizio per il servizio connection oriented

Spesso si possono distinguere le due operazioni: inoltro: il processo che, in base all’indirizzo di destinazione o al

circuito virtuale, sceglie la linea di uscita in funzione di dati noti (tabelle, stato delle linee, …)

routing: il processo di creazione ed aggiornamento della tabella (detta tabella di routing) che associa alla destinazione la linea di uscita da utilizzare; questa operazione viene eseguita in base ad algoritmi detti algoritmi di routing

Per molti algoritmi queste sono operazioni distinte eseguite in momenti diversi da processi distinti all’interno dello strato di rete

Page 485: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche di un algoritmo di routing

E’ desiderabile che un algoritmo di routing abbia le seguenti caratteristiche correttezza: ovvio semplicita’: meno soggetto ad errori in

implementazione o in esecuzione robustezza: la rete non e’ stabile, e l’algoritmo

deve poter fare fronte alle modifiche di topologia stabilita’: convergenza verso l’equilibrio imparzialita’: servire qualunque tragitto possibile

senza penalizzare nessuno ottimizzazione: efficienza globale

Page 486: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Algoritmi adattivi e non adattivi

Esistono due classi di algoritmi di routing non adattivi: l’algoritmo per l’instradamento viene calcolato a priori e

non si modifica piu’ (routing statico) adattivi: questi algoritmi modificano le tabelle in funzione di cosa

accade sulla rete (modifiche di topologia, carico sulla rete) Gli algoritmi adattivi si differenziano in base alla sorgente delle

informazioni locale dai router vicini da tutti i router della rete

al momento in cui effettuano le modifiche ad intervalli regolari in funzione del carico della rete in funzione di modifiche della topologia

ed al tipo di informazioni su cui si basano le decisioni (la metrica) la distanza il numero di salti il tempo di transito stimato

Page 487: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Percorso piu’ breve Gli algoritmi di routing spesso si basano sulla analisi della

rappresentazione della rete tramite un grafo (i punti identificano i router, gli archi rappresentano le linee di connessione)

Per scegliere il percorso ottimale la soluzione e’ trovare il percorso piu’ breve, in base ad una certa metrica

Possono essere scelte differenti metriche: distanza geografica numero di salti costo delle linee ritardo di accodamento distanza chilometrica larghezza di banda

o una funzione di alcune di queste Definita una metrica, le linee potranno essere etichettate con un

numero (peso o metrica): piu’ basso e’ il numero, “piu’ breve” e’ la linea (quindi preferibile)

La distanza di un percorso e’ dato dalla somma delle distanze dei singoli salti

Dijkstra ha ideato un algoritmo (Shorted Path First) che determina, in base alla topologia ed ai pesi, il cammino piu’ breve tra due nodi del grafo

Page 488: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Algoritmo di Dijkstra

Page 489: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Routing statico L’esempio piu’ semplice di algoritmo non adattivo e’ il

routing statico La tabella di routing viene inserita a mano nella

configurazione del router, e non viene modificata dinamicamente eventualmente puo’ essere modificata manualmente anche in

corso d’opera Questo algoritmo e’ virtualmente ingestibile in condizioni di

reti anche banalmente complesse, ma viene utilizzato diffusamente quando si presentano circostanze particolari: un router ha una unica connessione un router ha piu’ di una connessione, ma per tutte le

connessioni tranne una c’e’ una destinazione ben precisa che non puo’ cambiare per motivi di topologia, e l’ultima connessione deve essere utilizzata per tutte le altre destinazioni

Page 490: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Instradamento multicammino

Questa tecnica si applica quando esistono piu’ percorsi possibili, e si vogliono utilizzare tutti, ciascuno con intensita’ di carico potenzialmente differente

A ciascun cammino viene assegnato un peso, e la scelta di instradamento viene fatta in base ad una estrazione casuale pesata

In questo modo si separa il traffico statisticamente con probabilita’ pari al peso delle alternative (per ogni pacchetto in caso di protocollo senza connessione, per ogni circuito virtuale in caso di protocollo connection oriented)

Page 491: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Instradamento flooding Altro esempio di algoritmo statico, prevede di

inoltrare ogni pacchetto entrante su tutte le linee disponibili tranne quella da cui e’ arrivato

Viene generato un elevato numero di duplicati del pacchetto, che possono anche ritornare piu’ volte a chi lo ha gia’ ricevuto si utilizza in ogni pacchetto un contatore di hop (salti),

inizializzato ad un valore massimo e decrementato da ogni router: allo 0 il pacchetto viene eliminato

si puo’ anche utilizzare un meccanismo per evitare le ritrasmissioni

ad ogni pacchetto viene assegnato dal router che lo trasmette per primo un numero di sequenza ed il suo indirizzo

ogni router tiene una tabella dei numeri di sequenza originati dai diversi router e gia’ trasmessi

se arriva un pacchetto gia’ trasmesso si evita la ritrasmissione se i numeri di sequenza sono incrementali, la tabella da

memorizzare sara’ di dimensioni ragionevoli (si memorizza solo l’ultimo)

Page 492: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Algoritmo flooding (cont.) Gli aspetti negativi di questo algoritmo sono

essenzialmente legati alla inefficienza ogni pacchetto va a finire su tutte le linee della rete,

provocando un utilizzo inefficiente della rete stessa ogni pacchetto va a finire su tutti i router, aumentando il

carico di lavoro dei router stessi (CPU, occupazione di buffer) Aspetti positivi sono:

qualsiasi pacchetto arrivera’ nel tempo piu’ breve possibile (segue tutte le strade, anche la piu’ veloce)

estremamente resistente a modifiche della topologia anche il malfunzionamento di grandi porzioni della rete permette

il recapito del pacchetto se almeno un cammino rimane operativo non richiede una conoscenza a priori della topologia della rete

Scarsamente utilizzato per via della inefficienza, le caratteristiche di estrema affidabilita’ di questo protocollo sono sfruttate in diverse circostanze particolari, ad esempio in campo militare

Page 493: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Algoritmo della patata bollente

Questo meccanismo e’ finalizzato a liberarsi del pacchetto nel piu’ breve tempo possibile basando la scelta su informazioni locali del router

Tipicamente la linea scelta per l’inoltro del pacchetto e’ quella con la coda piu’ corta

Questo algoritmo puo’ essere migliorato utilizzando una combinazione tra lunghezza della coda e costi delle linee in condizioni di carico ridotto saranno privilegiati i

costi in condizioni di carico elevato, sara’ data priorita’

alla lunghezza della coda

Page 494: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Distance vector (Bellman-Ford)

Algoritmo adattivo sviluppato attorno al 1960, utilizzato per molto tempo Arpanet lo ha utilizzato fino al 1979 nella implementazione chiamata RIP

(ancora in uso adesso in realta’ di piccole dimensioni) Ad ogni linea e’ assegnata una distanza, valutata in base ad una

metrica, indicata anche col nome di costo La tabella di routing e’ costituita dalla associazione di tre

informazioni: destinazione distanza fino alla destinazione linea di uscita

La tabella di routing viene scambiata con tutti i router adiacenti In base alle informazioni ricevute dai vicini viene ricostruita la tabella

di routing nuova Il valore della distanza avra’ un certo limite massimo, indicante che la

destinazione non e’ raggiungibile nel caso di metrica ad hop, la distanza di infinito sara’ pari al numero

massimo di hop possibili nella rete piu’ uno in caso di metrica secondo i ritardi puo’ essere piu’ complesso determinare

l’irraggiungibilta’ della destinazione: si deve valutare a priori un valore ragionevolmente elevato ma non troppo

Page 495: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Distance vector (Bellman-Ford)

Valutazione delle distanze: il router deve conoscere i router adiacenti, ed il costo

delle linee che li connettono direttamente per fare questo un router scambia a tempi definiti con i propri

vicini dei pacchetti per essere aggiornati sulla loro presenza se la metrica scelta dipende dal ritardo della linea, questi

pacchetti sono utilizzati per aggiornare la valutazione del costo della linea diretta verso il router adiacente

Quando viene ricevuta la tabella di routing dai vicini, per ogni destinazione si valuta la distanza aggiungendo alla distanza riportata dal router adiacente quella relativa alla linea che li connette

Tra tutte le distanze relative alla stessa destinazione riportate dai router adiacenti, e rivalutate in base alla distanza verso ciascun router adiacente, si sceglie quella con distanza inferiore

Page 496: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Distance vector (Bellman-Ford)

Come esempio, vediamo la costruzione della tabella di routing del router J

Page 497: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Problemi del Distance Vector

Il distance vector, in condizioni normali, raggiunge sempre la convergenza

Il problema e’ che la convergenza e’ lenta, in particolare in occasione della perdita di un router (o di una linea)

Questo problema e’ noto come conto all’infinito, e peggiora all’aumentare del numero di router

Nell’esempio, a sinistra vediamo cosa accade quando il router A viene acceso, a destra se si spegne o se va giu’ il link con B

In quest’ultimo caso si vede come l’informazione che A non e’ piu’ raggiungibile si propaga con lentezza

Page 498: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Link State

Per superare i problemi legati al distance vector e’ stato sviluppato un algoritmo differente, il link state, che basa il suo funzionamento sulla conoscenza che ciascun router deve avere relativamente ai collegamenti di tutti gli altri router della rete

L’lalgoritmo si sviluppa secondo i seguenti punti: scoprire i router adiacenti ed i loro indirizzi misurare il costo della linea verso ogni vicino costruire un pacchetto contenente questi dati inviare questa informazione a tutti i router della rete elaborare in base alle informazioni ricevute da tutti i

router i percorsi piu’ brevi per ogni destinazione

Page 499: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Scoperta dei vicini

Per realizzare questa funzione il protocollo prevede che un router invii ciclicamente (a cominciare dalla sua accensione) sulle linee a disposizione dei pacchetti speciali detti “HELLO”

Questi pacchetti contengono l’indirizzo di rete del router che lo invia l’indirizzo del router deve essere unico in tutta la rete,

per poter essere distinto da tutti gli altri Il router che riceve un HELLO, deve rispondere con

un pacchetto analogo In questo modo un router, alla accensione, impara

a conoscere tutti i vicini, ed i vicini acquisicono l’informazione della esistenza del nuovo router

Page 500: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Misura del costo della linea

L’algoritmo si basa, come vedremo, sulla conoscenza del costo delle linee dirette con i router vicini

Come prima, sono possibili diverse metriche generalmente il router utilizza un pacchetto speciale, detto

ECHO, al quale il router adiacente deve rispondere immediatamente

misurando il tempo di andata e ritorno e dividendo per due si ha una misura del ritardo della linea

E’ possibile inserire nel computo il ritardo dovuto al carico del traffico, contando il tempo di accodamento del pacchetto questa soluzione puo’ comportare instabilita’ nel routing: nel

caso di un doppio cammino, quello migliore sara’ caricato di traffico, quindi l’altro, scarico, diventera’ preferibile, ma dopo poco tempo il secondo sara’ carico di traffico mentre il primo sara’ scarico, rendendo nuovamente preferibile il primo, e cosi’ via.

in queste circostanze e’ piu’ opportuno utilizzare metodi di suddivisione del carico utilizzando opportunamente i costi delle linee

Page 501: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Costruzione dello stato dei collegamenti

Ora il router dispone dello stato dei suoi collegamenti

Questi dati vengono messi in una tabella contenente il nome del router in questione, un numero sequenziale, un numero indicante l’eta’ del pacchetto, e l’elenco di record “router adiacente”-”ritardo della linea”

Questi pacchetti possono essere costruiti periodicamente, o in occasione di modifiche di topologia

Page 502: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Distribuzione del link state

Il problema di propagare l’informazione agli altri ha due aspetti bisognerebbe sapere a priori chi sono gli altri via via che il pacchetto raggiunge alcuni router, questi

potrebbero cambiare la loro topologia mentre altri no, quindi si potrebbero verificare inconsistenze che impediscono la diffuzione completa dell’informazione

L’idea fondamentale, che risolve entrambi i problemi, e’ di utilizzare il flooding per propagare le informazioni di link state

Il carico complessivo sulla rete dovuto al meccanismo di flooding e’ accettabile in quanto solo i pacchetti di link state vengono propagati con questa tecnica

Page 503: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Distribuzione del link state Vi sono alcuni aspetti da osservare

il numero di sequenza viene incrementato da un router ogni volta che genera un nuovo pacchetto di link state

questo permette ai router che devono instradare l’informazione via flooding di rimuovere dalla rete i pacchetti relativi ad informazioni obsolete

per evitare numeri duplicati si utilizza una numerazione a 32 bit Questo meccanismo ha pero’ due problemi

al riavvio del router, questo ricominciera’ da zero! se per un errore di trasmissione non rilevato giungesse un numero alto

al posto di uno basso, tutti i pacchetti successivi verrebbero scartati Per ovviare a questi problemi si inserisce anche un numero

indicante l’ “eta’” del pacchetto, che viene decrementato di una unita’ al secondo

Quando l’eta’ raggiunge lo zero, l’informazione viene comunque considerata obsoleta e scartata

Tipicamente i pacchetti di link state vengono inviati ogni qualche secondo o decina di secondi, quindi un valore di eta’ dello stesso ordine di grandezza garantisce di poter ricevere sempre informazioni aggiornate

Page 504: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Elaborazione dei percorsi

Quando un router ha ricevuto una serie completa di pacchetti sullo stato dei collegamenti dei router della rete, di fatto conosce la topologia della rete (i router ed i costi delle linee)

Viene quindi eseguito l’algoritmo di Dijkstra per valutare i percorsi in base al cammino piu’ breve

Il risultato di questi calcoli viene utilizzato per costruire la tabella di routing

Page 505: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche del link state

Questo protocollo richiede ai router una discreta capacita’ di memoria (per memorizzare i pacchetti del link state, che sono in numero proporzionale al numero di router ed al numero medio di collegamenti per router)

Richiede anche capacita’ di calcolo per eseguire gli algoritmi di Dijkstra una volta per ogni destinazione

Ha pero’ la caratteristica di rispondere molto rapidamente a modifiche della topologia appena un router vede una modifica, manda le informazioni

aggiornate a tutti i router immediatamente la nuova topologia si stabilizza sulla rete in tempi di alcuni

secondi al massimo, contro i minuti o decine di minuti dell’algoritmo distance vector

Anche per questo, come per tutti gli algoritmi di routing adattivi, il malfunzionamento di un router che annunci informazioni errate puo’ avere effetti disastrosi

Page 506: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Implementazioni del link state

La prima implementazione di un protocollo di routing Link State e’ stata fatta per DECnet, col nome di IS-IS (Intermediate System to Intermediate System), successivamente standardizzata come protocollo CLNS di OSI

Una sua successiva estensione, nota col nome di I-IS-IS (Integrated IS-IS) supportava l’utilizzo di protocolli differenti, come DECnet, TCP/IP, Appletalk ed altri) anche contemporaneamente

In TCP/IP ne e’ utilizzata una implementazione derivante dall’IS-IS che ha per nome OSPF (Open Shortest Path First), che ha sostituito protocolli Bellman-Ford (RIP) nella totalita’ delle reti di una certa dimensione

A differenza di I-IS-IS, OSPF e’ una implementazione monoprotocollo (solo TCP/IP)

Page 507: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Routing gerarchico Al crescere delle dimensioni della rete i protocolli di

routing manifestano difficolta’ crescenti per i tempi di convergenza, come nel caso di protocolli

distance vector per le dimensioni delle tabelle di routing da memorizzare

ed elaborare La risposta a questo problema e’ il routing

gerarchico i router vengono divisi in regioni (geograficamente o

secondo altri criteri) il routing viene operato a due livelli:

internamente alla regione i router utilizzano un protocollo che si preoccupa della topologia esclusivamente all’interno della regione

alcuni router per ciascuna regione operano il routing inter-regionale e conoscono il modo per raggiungere le altre regioni, senza conoscerne la topologia interna

Page 508: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Routing gerarchico (cont.)

Il routing gerarchico puo’ occasionalmente generare cammini non ottimali, ma il vantaggio in termini di riduzione delle tabelle di routing vale la spesa

Page 509: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Routing broadcast

Alcune applicazioni desiderano inviare pacchetti a molti o tutti gli host della rete

Molti protocolli di livello di data link delle reti locali hanno questa funzionalita’, che pero’ non e’ disponibile nelle reti geografiche

Esistono diverse soluzioni: la sorgente invia un pacchetto distinto a tutte le

destinazioni poco pratico, perche’ la sorgente deve sapere quali

sono le destinazioni possibili costoso in termini di efficienza

l’instradamento flooding puo’ essere utilizzato a questo scopo, ma ha il difetto di inondare la rete di pacchetti

Page 510: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Routing broadcast (cont.) Una soluzione funzionale (anzi, la soluzione ottimale) e’

quella di applicare un algoritmo funzionalmente simile allo spanning tree del data link layer, a partire dal router che ha generato la trasmissione

Questo meccanismo si basa sul principio di ottimalita’: se il cammino ottimale da I a J attraversa K, allora il percorso ottimale da K a J segue la stessa strada

L’insieme dei cammini ottimali da un router verso tutte le destinazioni non puo’ quindi contenere percorsi circolari, cioe’ ha una struttura ad albero, detta sink tree

Page 511: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Routing broadcast (cont.)

Utilizzando il sink tree, la trasmissione del pacchetto broadcast si puo’ ottenere semplicemente: i router inviano il pacchetto solo sulle proprie

linee uscenti appartenenti a quel sink tree Questo protocollo ha il difetto che ogni

router deve essere capace di calcolare il sink tree relativo al router che ha generato il pacchetto, quindi deve conoscere la topologia della rete ad esempio il distance vector non puo’ farlo il link state puo’ farlo

Page 512: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Routing broadcast (cont.)

Una soluzione che non richiede la conoscenza della topologia e’ quella nota come reverse path forwarding: quando un router riceve un pacchetto broadcast

da una sorgente, calcola se l’interfaccia da cui ha ricevuto il pacchetto e’ quella verso la quale instraderebbe un pacchetto destinato al router sorgente se la strada e’ la stessa, allora il router che ha ricevuto

il pacchetto appartiene al sink tree del router sorgente, ed inoltra il pacchetto su tutte le altre linee

se la strada non e’ la stessa, il pacchetto viene scartato

E’ meno efficiente del sink tree, ma di applicabilita’ piu’ generale

Page 513: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Routing broadcast (cont.)

Il numero di pacchetti generati dal reverse path forwarding e’ superiore a quello del sink tree, ma ampiamente inferiore rispetto alla soluzione del meccanismo flooding

Page 514: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 19: network layer: congestione, internetworking

Page 515: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Congestione della rete La congestione della rete e’ il fenomeno che si

verifica quando le sorgenti immettono nella rete piu’ pacchetti di quanti la rete riesca a trasmettere a destinazione

Le cause della congestione possono essere molteplici diversi flussi verso la stessa linea: i pacchetti non possono

essere trasmessi al ritmo con cui arrivano ad un router, si forma una coda nel router

l’esaurimento dei buffer nel router determina lo scarto dei pacchetti successivi

anche la lentezza della CPU del router (nell’analizzare i pacchetti, la tabella di routing, o per attivita’ di logging degli eventi) puo’ provocare lentezza di risposta ed esaurimento della memoria

aumentare la memoria non serve: code lunghe amuentano il ritardo di inoltro dei pacchetti; quando il ritardo cresce, i pacchetti scadono, verranno scartati ed andranno ritrasmessi comunque

Page 516: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Effetto valanga

Tipicamente l’insorgere di congestione in un punto della rete ha un effetto che in mancanza di contromisure peggiora nel tempo: i pacchetti vengono scartati dal router, quindi verranno

ritrasmessi provocando un ulteriore aumento del flusso verso la zona congestionata

i pacchetti ritrasmessi andranno in generale ad aumentare il carico anche a monte del router congestionato, provocando un sovraccarico conseguente anche in altre zone della sottorete

Questo provoca un effetto a valanga che, in prossimita’ di una certa soglia di sovraccarico, rapidamente porta la rete in condizioni di congestione diffusa

Senza azioni correttive la rete puo’ collassare

Page 517: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Principi generali per il controllo della congestione

Le contromisure si classificano in due categorie: soluzioni a ciclo aperto: si opera in sede di progetto della

rete, destinando risorse di banda, CPU, memoria, valutando scelte di routing e valutando correttamente il tempo di vita massimo di un pacchetto

un lungo tempo di vita fa si che i pacchetti intasino la rete per molto tempo

un tempo troppo corto provochera’ la ritrasmissione troppo spesso

la progettazione deve considerare anche il comportamento del protocollo di trasporto

soluzioni a ciclo chiuso: queste si attivano tenendo in conto lo stato corrente della rete, ed operando retroazioni, quindi

definire le metriche ed i meccanismi per rilevare la congestione

definire i modi per la trasmissione di queste informazioni in punti dove operare correttivi

attivare le azioni correttive

Page 518: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllo del sistema

Le metriche per l’identificazione di una congestione (imminente) sono diverse: percentuale di pacchetti scartati lunghezza media delle code frequenza dei pacchetti scaduti ritardo medio dei pacchetti

Alcune di queste metriche sono utilizzabili dalla sorgente per provocare una autolimitazione del traffico immesso nella rete

In tutti i casi valori crescenti indicano un peggioramento della situazione

Page 519: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllo nella rete connection oriented

Una soluzione al problema e’ il controllo di ammissione: quando una parte della sottorete risulta

congestionata, nessun circuito virtuale puo’ essere definito attraverso quella zona

alternativamente si permettono nuove connessioni solo attraverso strade diverse (se possibile)

si possono anche attivare meccanismi piu’ stringenti nella allocazione delle risorse per le nuove connessioni tipicamente le reti a circuiti virtuali fanno una sorta di

overbooking delle risorse impedire ulteriori overbooking permette di garantire che

le nuove connessioni dispongano delle risorse necessarie, e non aggraveranno la situazione

Page 520: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllo nelle reti connectionless

Il router puo’ tenere sotto controllo lo stato delle sue linee e determinare lo stato di allarme

Una soluzione (utilizzata nel DECnet) prevede che il router in stato di allarme setti un bit particolare nell’header dei pacchetti lo strato di trasporto della destinazione ricopia il

bit di congestione nel pacchetto di acknowledge, quindi la sorgente rileva il problema e riduce la velocita’ di trasmissione

poiche’ qualunque router puo’ settare il bit di allarme, la condizione di allarme termina solo qiando tutti i router coinvolti nel tragitto congestionato sono tornati in condizione normale

Page 521: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Choke packet

Una soluzione diversa consiste nel comunicare direttamente alla sorgente il problema, tramite un pacchetto specifico detto choke packet il pacchetto originale viene marcato in modo da

non generare altri chocke packet durante il resto del suo tragitto

il choke packet contiene le informazioni di quale destinazione e’ affetta dal problema

la sorgente puo’ quindi ridurre di una certa percentuale il rate di trasmissione verso quella destinazione

dopo un intervallo di tempo definito di assenza di choke packet, la sorgente riprende ad aumentare il rate di trasmissione

Page 522: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Choke packet hop-by-hop Il meccanismo del choke packet difetta di lentezza nella

risposta al problema fino a che il choke packet non arriva alla sorgente, questa

continua ad inviare troppo rapidamente per la rete Una soluzione migliorativa e’ che il choke packet, durante il

tragitto, provoca in ciascun router la diminuzione delle trasmissioni verso la sorgente (choke packet hop by hop) quando il choke packet raggiunge il primo router a monte di

quello congestionato, questo rallenta alleviando il router congestionato, ed aggrava la sua situazione perche’ a monte il traffico e’ sempre a rate elevato, ma solo finche’ il choke packet non fa un altro hop

via via che il choke packet viaggia all’indietro, ogni router rallenta le trasmissioni verso il successivo

il meccanismo sposta verso la sorgente parte del problema, ma per tempi brevi, cioe’ spalma la congestione su diversi router che saranno in crisi per tempi brevi ed in modo meno intenso

Page 523: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Scarto dei pacchetti Quando non ce la si fa piu’ i router scartano i pacchetti Questo generalmente provoca ritrasmissioni, che non

risolvono il problema Si puo’ pero’ sfruttare il comportamento dello strato di

trasporto per scartare oculatamente i pacchetti e ridurre il carico se lo strato di trasporto ha un meccanismo del tipo go-back-n,

e’ opportuno scartare i pacchetti piu’ nuovi, in modo da generare meno ritrasmissioni

in alcuni protocolli di trasporto (come il TCP) la perdita di pacchetti provoca un rallentamento della velocita’ di trasmissione, cosa funzionale alla soluzione del problema di congestione

Normalmente questa tecnica viene utilizzata prima di raggiungere una condizione totalmente congestionata, per evitare di non avere risorse per gestire il problema (Random Early Detection)

Page 524: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Internetworking L’evoluzione delle reti si e’ sviluppata indipendentemente

nelle diverse realta’ locali (dal punto di vista geografico o amministrativo)

Le diverse necessita’ hanno prodotto la definizione e l’implementazione di reti utilizzanti protocolli differenti

Si utilizzano protocolli variegati sia a livello di rete locale che geografica quasi tutti i PC utilizzano TCP/IP molti PC utilizzano NETBIOS i mainframe IBM delle grandi aziende utilizzano SNA o DECnet i MacIntosh utilizzano (anche) Appletalk alcune LAN di PC usano IPX (Novell) molte aziende telefoniche usano ATM wireless rappresenta uno standard differente dagli altri

Un bel giorno si e’ scoperto opportuno che alcune – o tutte – queste realta’ possano comunicare tra loro

Page 525: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Problematiche di internetworking

Le differenze tra reti sono di diversa natura esistono differenze a livello di strato fisico o di

data link layer a livello di rete, differenze possono derivare da

comunicazione tra reti connection oriented e connection less

utilizzo di funzionalita’ in una rete non previste dall’altra rete (ad esempio, controllo di flusso, comunicazione multicast o qualita’ di servizio)

differenze di indirizzamento, che richiedono tabelle di conversione

alcuni protocolli di rete possono richiedere dimensioni massime dei pacchetti di valore differente

differenze possono presentarsi anche a livello di trasporto o di applicazione

Page 526: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Connessioni tra reti

Livelli fisici differenti possono essere connessi da convertitori di segnale (ad esempio, una tratta costituita da una connessione in coassiale che si inserisce in un ponte radio, per finire in una connessione in fibra ottica)

A livello di data link layer abbiamo visto l’interconnessione tra protocolli differenti tramite dispositivi detti bridge

A livello di rete una possibile soluzione e’ l’utilizzo di router multiprotocollo

Le conversioni di protocollo a livello di trasporto o di applicazione vengono eseguite da dispositivi chiamati generalmente gateway (termine talvolta utilizzato anche per indicare i router nel contesto del livello di rete)

Nel seguito vedremo il problema relativo allo strato di rete

Page 527: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Circuiti virtuali concatenati

Quando l’interconnessione e’ relativa a due sottoreti orientate alla connessione, e’ possibile operare nel seguente modo al momento di stabilire la connessione, la sottorete si accorge

che la destinazione e’ esterna alla rete viene stabilito un circuito virtuale tra la sorgente ed il router

piu’ vicino al bordo della sottorete di partenza il router crea quindi una connessione con il gateway (router)

multiprotocollo che interconnette le due reti adiacenti, ed “incolla” la connessione con la sorgente a questa nuova connessione

analogamente il router multiprotocollo creera’ una connessione (secondo le specifiche del protocollo della rete successiva, che lui conosce) verso un router vicino situato nella nuova sottorete ed associa i due circuiti virtuali

questo processo puo’ iterarsi fino alla destinazione, realizzando una concatenazione di circuiti virtuali da sorgente a destinazione

Page 528: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Circuiti virtuali concatenati

Questa tecnica funziona bene quando le caratteristiche delle comunicazioni orientate alla connessione sono simili ad esempio tutte le reti forniscono un flusso affidabile

In caso contrario la natura della connessione puo’ essere pregiudicata la rete della sorgente e della destinazione possono offrire un servizio

affidabile, ma se nel mezzo c’e’ una rete con servizio connection oriented inaffidabile, l’affidabilita’ della connessione viene chiaramente pregiudicata

Questa tecnica e’ spesso utilizzata anche a livello di trasporto (dove esiste sempre un protocollo connection oriented affidabile)

Page 529: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Collegamento connectionless

In questo caso il servizio fornito allo strato di trasporto e’ di tipo datagram (inaffidabile)

Come previsto dal protocollo ogni pacchetto e’ instradato indipendentemente, ed i percorsi dei pacchetti potrebbero anche attraversare gateway differenti

In questo caso i problemi sono maggiori i router multiprotocollo debbono estrarre dal pacchetto in

transito le informazioni essenziali, e tentare di tradurre queste informazioni nel protocollo della rete verso cui il pacchetto viene instradato

questo raramente puo’ essere fatto se i protocolli non sono molto simili

altro problema grave e’ l’indirizzamento: protocolli diversi utilizzeranno indirizzamenti diversi, e non sempre e’ possibile mantenere una mappatura sul gateway

Questo approccio ha il vantaggio di essere utilizzabile anche con reti a circuiti virtuali; tentare di fare il contrario provoca problemi

Page 530: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Tunneling

Non esiste una soluzione generale per realizzare una interconnessione di reti: ogni situazione va risolta in modo opportuno

Un caso particolare ma molto frequente e’ quello di una interconnessione tra reti differenti, dove pero’ la rete di partenza e quella di arrivo sono omogenee ad esempio una LAN connessa in TCP/IP alla

rete di partenza, deve attraversare una sottorete ATM per raggiungere una rete TCP/IP a destinazione

Page 531: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Tunneling (cont.) In questo caso si puo’ applicare una semplice tecnica

nota come tunneling: il pacchetto della rete di partenza arriva al gateway, che

dispone di un collegamento verso un router della rete da attraversare (secondo il protocollo della rete in questione)

il router inserisce il pacchetto nel campo dati di un pacchetto del protocollo specifico della rete da attraversare, ed indirizza il nuovo pacchetto al gateway che connette la rete intermedia con quella di destinazione

il gateway di destinazione riceve il pacchetto, estrae da questo il pacchetto originario e lo instrada secondo il protocollo della rete di destinazione, uguale a quello della rete di partenza

in questo caso la rete intermedia si comporta a tutti gli effetti come un tubo, i cui dettagli sono ignoti a mittente e destinatario

i due gateway dovranno avere nella tabella di routing l’informazione che le destinazioni connesse al gateway dirimpettaio vanno raggiunte attraverso di lui, tramite il tunnel

Page 532: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Tunneling (cont.)

Questa tecnica e’ applicata diffusamente in Internet, dove le destinazioni sono generalmente reti locali che utilizzano il TCP/IP, e le dorsali di interconnessione possono attraversare reti di qualunque tipo

Il TCP/IP (in particolare IP) supporta questo tipo di trasferimento dei dati

Page 533: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Routing in una internet

Il routing attraverso una interconnessione di reti si gestisce in modo simile al routing gerarchico

Si utilizza un routing a due livelli il routing interno a ciascuna rete sara’ gestito tramite un

protocollo di routing interno (Interior Gateway Protocol) quale ad esmpio RIP, OSPF, CLNS, X.25

il traffico interno non si preoccupa di questioni relative all’internetworking; le zone interne vengono chiamate Autonomous System (AS)

i gateway (router multiprotocollo) utilizzeranno tra loro un protocollo differente (Exterior Gateway Protocol), che permettera’ ai gateway di decidere attraverso quali reti instradare il pacchetto

fatta la scelta, si puo’ utilizzare il tunneling per trasferire i dati a destinazione

Page 534: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Frammentazione

L’attraversamento di reti differenti puo’ richiedere che un gateway spezzi il pacchetto in frammenti per motivi di protocollo un pacchetto IP puo’ essere lungo 65515 byte se si deve attraversare una Ethernet, deve essere

spezzato in frammenti di circa 1500 byte se poi deve attraversare una rete ATM, deve essere

ulteriormente frammentato in parti di 48 byte ciascuna Esistono due modi di affrontare il problema

evitare il problema a monte: il protocollo puo’ tentare di capire la dimensione minima richiesta dalle reti da attraversare, ed imporre questo limite alla sorgente, o evitare di transitare su reti che non possono supportare la dimensione del pacchetto originato

meglio: permettere ai router di frammentare il pacchetto

Page 535: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Frammentazione (cont.)

In caso di frammentazione, esistono ancora due strategie riassemblare il pacchetto all’uscita della rete che ha importa

la frammentazione (ATM fa cosi’) questo rende la frammentazione trasparente alle reti a valle,

cioe’ ai gateway successivi, che lo riceveranno intero puo’ pero richiedere di frammentare e riassemblare piu’ volte il

pacchetto (lavoro aggiuntivo per i gateway) inoltre i gateway devono sapere quando hanno ricevuto tutti i

frammenti, e devono poterli riordinare (quindi tutti i pacchetti devono uscire dalla rete intermedia attraverso lo stesso gateway)

non riassemblare il pacchetto frammentato, ma trasmettere i diversi frammenti fino a destinazione, dove il pacchetto verra’ riassemblato (IP usa questa soluzione)

questo ha il vantaggio di non dover ripetere piu’ volte la stessa operazione

i gateway non si devono preoccupare del riassemblaggio

Page 536: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Frammentazione (cont.)

Gli aspetti negativi della frammentazione non traspasrente sono tutti gli host devono saper riassemblare il pacchetto l’overhead della frammentazione (una intestazione

completa per ogni frammento) si propaga fino a destinazione

si deve introdurre una numerazione che permetta di riassemblare il pacchetto e di identificare pezzi mancanti

IP utilizza la seguente tecnica ogni frammento deve avere una dimensione fissa (quella

richiesta dalla rete di transito), tranne l’ultimo l’intestazione deve contenere il numero del pacchetto, un

bit che indica il frammento finale, ed un numero che indica l’offset in byte del primo byte del frammento rispetto al pacchetto originale

Page 537: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Frammentazione (cont.)

Page 538: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 20: network layer: IP, ARP, ICMP

Page 539: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Internet Protocol (IP) IP e’ il protocollo di rete della suite TCP/IP Definito negli RFC 791 e 1122 Dall’RFC 791:

IP ha la funzione di recapitare un insieme di bit (internet datagram) dalla sorgente alla destinazione attraverso un sistema di reti interconnesse

Non sono previsti meccanismi di affidabilita’, controllo di flusso, sequenzialita’, rilevazione o correzione di errore

Il recapito viene operato direttamente se la destinazione appartiene alla stessa rete della sorgente, attraverso un sistema intermedio (router) altrimenti

Se possibile il datagramma viaggia intero, altrimenti viene spezzato in piu’ parti, ciascuna trasportata poi individualmente; in questo caso il datagramma viene riassemblato a destinazione

Ip si preoccupa di trasmettere il datagramma da un host all’altro, fino alla destinazione, una rete alla volta

Questa definizione corrisponde ad un protocollo che fornisce un servizio connection less inaffidabile

Page 540: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Delivery locale o remoto Due host appartengono alla stessa rete se sono nella stessa

rete locale, o se sono i due punti terminali di una connessione punto-punto “stessa rete locale” va intesa in senso logico: possono esistere

host appartenenti a reti IP distinte anche se sono connessi alla stessa rete locale, ed host appartenenti alla stessa rete IP anche se sono connessi a due reti locali connesse da un link punto-punto opportunamente mascherato

sono comunque casi particolari; in generale vale la corrispondenza“rete IP = LAN”

IP distingue il modo in cui viene recapitato il datagramma: se sorgente e destinazione fanno parte della stessa rete, il

datagramma viene consegnato direttamente utilizzando il protocollo di data link layer sottostante (delivery locale)

in caso contrario, deve esistere sulla rete direttamente connessa al mittente un router capace di trasmettere il datagramma attraverso le reti che interconnettono mittente e destinatario;il datagramma verra’ trasmesso al router (tramite delivery locale) e questo instradera’ a sua volta il datagramma ad altri router direttamente connessi fino a raggiungere la destinazione

Page 541: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Indirizzamento IP

Per poter identificare il destinatario, ogni host e router devono avere un indirizzo (IP) univoco, che distingue la rete di appartenenza dalle altre, e l’host dagli altri host appartenenti alla stessa rete l’indirizzamento IP e’ gerarchico, a due livelli: indirizzo di

rete ed indirizzo di host, a differenza di quello Ethernet che e’ piatto

in realta’ ogni interfaccia di rete (cioe’ ogni connessione ad una rete) deve avere un indirizzo IP

generalmente i PC hanno una sola interfaccia di rete, ma i router (sempre) o i server di grosse dimensioni (talvolta) hanno piu’ interfacce di rete: ciascuna di queste deve avere un indirizzo IP

tutti i nodi IP hanno un ulteriore indirizzo, detto loopback, che rappresenta un indirizzo fittizio indicante “se stesso”, ed utilizzato per motivi di diagnostica o per simulare connessioni di rete di un host con se stesso

Page 542: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Struttura dell’indirizzo IP

L’indirizzo IP e’ costituito da 32 bit, o 4 byte, generalmente rappresentati da 4 numeri decimali di valore compreso tra 0 e 255, separati da un punto ad esempio: 10.103.0.21

Questo indirizzo contiene una parte che specifica la rete, ed una parte che identifica l’host all’interno di quella rete

Page 543: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Classi di indirizzi

Gli indirizzi IP sono raggruppati in diverse categorie, dette classi: indirizzi di classe A: tutti quelli che iniziano con un bit 0,

cioe’ con il primo byte di valore compreso tra 0 e 127 gli indirizzi di classe A hanno il primo byte dedicato

all’indirizzo di rete, i restanti all’indirizzo di host ad esmpio, l’indirizzo 20.9.0.200 individua l’host appartenente

alla rete “20”, il cui indirizzo di host e’ 9.0.200 esistono quindi 125 network di classe A (le reti 0, 10 e 127

non vengono utilizzate) ciascuna rete di classe A puo’ indirizzare 224 host differenti

(quasi 17 milioni) indirizzi di classe B: tutti quelli che iniziano con la

sequenza di bit 10, cioe’ con il primo byte di valore compreso tra 128 e 191

gli indirizzi di classe B hanno i primi due byte dedicati all’indirizzo di rete, i restanti due dedicati all’indirizzo di host

131.154.10.21 indica l’host di indirizzo “10.21” appartenente alla rete “131.154”

esistono quindi 16383 reti di classe B, ciascuna contenente 65533 host

Page 544: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Classi di indirizzi (cont.) indirizzi di classe C: tutti quelli che iniziano con la sequenza

di bit 110, cioe’ con il primo byte di valore compreso tra 192 e 223

questi indirizzi hanno i primi tre byte dedicati alla rete, il quarto all’indirizzo di host (193.206.144.1 indica l’host “1” della rete “193.206.144”)

in classe C esistono circa 2 milioni di reti, ciascuna contenente al piu’ 254 host

indirizzi di classe D: tutti quelli che iniziano con la sequenza di bit 1110, cioe’ con il primo byte compreso tra 224 e 239

gli indirizzi di classe D sono dedicati all’indirizzamento dei gruppi multicast

indirizzi di classe E: tutti quelli che iniziano con la sequenza di bit 1111, cioe’ con il primo byte compreso tra 240 e 255

gli indirizzi di classe E sono dedicati ad utilizzi sperimetali, e non devono mai essere utilizzati come effettivo indirizzo di macchine sulla rete

Page 545: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Indirizzi speciali L’indirizzo contenente tutti “0” nel campo di host viene

utilizzato per indicare la rete l’indirizzo 10.0.0.0 indica la rete “10” (di classe A) l’indirizzo 193.206.144.0 indica la rete “193.206.144” (di classe C)

L’indirizzo 0.0.0.0 ha il significato di “questo host di questa rete”, e viene utilizzato dai calcolatori che, in fase di boot, non conoscono ancora il proprio indirizzo IP

L’indirizzo IP con tutti “0” nella parte di rete ha il significato di “questa rete” ad esempio, se l’host 193.206.144.10 vuole inviare sulla rete

locale un pacchetto all’host 193.206.144.20, puo’ indirizzarlo a 0.0.0.20

Queste convenzioni spiegano perche’ la rete di classe A: 0.0.0.0 non venga utilizzata come rete indirizzabile in IP: ad esempio, se cosi’ non fosse, il pacchetto indirizzato all’host 1 di una qualunque rete tramite la notazione “questa rete”.1 non potrebbe essere distinto dal pacchetto indirizzato all’host 1 della rete 0.0.0.0

Page 546: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Indirizzi speciali (cont.)

L’indirizzo 255.255.255.255 (tutti bit 1) rappresenta l’indirizzo broadcast della rete locale direttamente connessa e’ l’indirizzo utilizzato per inviare un pacchetto

IP broadcast sulla propria rete L’indirizzo con tutti 1 nel campo host

rappresenta l’indirizzo broadcast della rete specificata nel campo rete ad esempio: l’indirizzo 130.90.255.255 indica

l’indirizzo broadcast della rete 130.90.0.0 questo meccanismo permette di indirizzare un

pacchetto a tutti gli host di una rete remota

Page 547: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Indirizzi dedicati a scopi speciali

La rete di classe A 127.0.0.0 e’ dedicata all’interfaccia di loopback l’interfaccia prende sempre l’indirizzo 127.0.0.1

Tre campi di indirizzamento sono dedicati ad indirizzi privati 10.0.0.0 (una rete di classe A) da 172.16.0.0 a 172.31.0.0 (16 reti di classe B) da 192.168.0.0 a 192.168.255.0 (256 reti di classe C)

Gli indirizzi privati possono essere utilizzati all’interno di una rete privata, ma non devono mai venire annunciati nelle tabelle di routing (cosi’ come la rete dell’interfaccia di loopback)

Il routing verso le macchine ad indirizzo privato deve essere fatto dal router di interconnessione con la rete pubblica ad insaputa del resto della rete lo scopo degli indirizzi privati e’ quello di poter utilizzare la tecnologia

TCP/IP in una realta’ locale senza dover necessariamente chiedere ed utilizzare indirizzi pubblici

una tecnica diffusa che fa uso di questi indirizzi per dare connettivita’ senza sprecare indirizzi pubblici e’ il NAT (Network Address Translation) che vedremo in seguito

Page 548: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Routing e classi

In base alle convenzioni sulle classi di indirizzi, qualunque indirizzo contiene in se l’informazione della rete di appartenenza l’indirizzo 100.31.254.20 appartiene alla rete

100.0.0.0 (classe A) l’indirizzo 191.23.0.43 appartiene alla rete

191.23.0.0 (classe B) Questo permette ai pacchetti di essere

indirizzati specificando solamente l’indirizzo di 32 bit, senza informazioni aggiuntive su quale sia la rete di appartenenza della destinazione (e del mittente)

Page 549: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Assegnazione degli indirizzi in Internet

Affinche’ tutto funzioni correttamente in una internet gli indirizzi devono essere assegnati da una autorita’ centrale che garantisca innanzi tutto l’unicita’ delle assegnazioni

Per Internet gli indirizzi sono assegnati dalla ICANN (Internet Corporation for Assigned Names and Numbers)

La ICANN ha poi delegato organizzazioni regionali (Europa, Asia, America, …) assegnando loro gruppi di indirizzi da riassegnare al loro interno per l’Europa: RIPE NCC

A loro volta le organizzazioni regionali possono delegare verso il basso, partizionando gli indirizzi a loro destinati dalla ICANN in Italia: diverse istituzioni (ISP); per gli enti di ricerca si

deve chiedere a GARR

Page 550: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Carenza di indirizzi Lo spazio di indirizzamento disponibile conta due miliardi di

indirizzi, raggruppabili in 16500 reti di enormi dimensioni e 2 milioni di reti di piccole dimensioni

Sembrava impossibile esaurire lo spazio di indirizzamento La 100000-sima rete si e’ connessa in Internet nel 1996! Tre i fattori che hanno determinato l’insorgere di problemi:

lo spazio di indirizzamento delle classi A, e spesso anche quello delle classi B, e’ troppo vasto: nessuna rete puo’ contenere 16 milioni di nodi distinti, o anche solo 65000

un enorme numero di indirizzi rimangono inutilizzati una azienda o campus a cui e’ stata assegnata una classe A che

deve estendere la sua rete per interconnettere diversi dipartimenti su reti locali distinte hanno bisogno di altre reti, benche’ il numero di indirizzi disponibile ecceda di gran lunga la necessita’ di indirizzi di host

la connessione punto-punto tra due router richiede l’utilizzo di una rete IP, per la quale sono utilizzati solo due indirizzi

lo spazio di indirizzamento delle reti di classe C risulta troppo piccolo con il crescere delle reti locali

Page 551: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Subnet Per risolvere i problemi di carenza di indirizzi di rete

e’ stata sviluppata una tecnica detta subnetting un campus a cui e’ stata assegnata una rete di classe A

puo’ suddividere il suo campo di indirizzi in gruppi piu’ piccoli, trattando ogni gruppo come se fosse una “rete” a se stante

ad esempio, se la rete assegnata e’ la 100.0.0.0, il campus puo’ dedicare gli indirizzi 100.1.0.0 ad un dipartimento, gli indirizzi 100.2.0.0 ad un secondo dipartimento e cosi’ via, trattando le due reti come se fossero reti di classe B

affinche’ tutto funzioni a dovere, il router del campus dovra’ annunciare verso l’esterno la sola rete di classe A, mentre internamente potra’ trattare i vari pezzi come se fossero reti piu’ piccole

per implementare le sottoreti e’ necessario introdurre una informazione aggiuntiva agli indirizzi di rete, che specifichi quali bit dell’indirizzo definiscano l’indirizzo della (sotto)rete e quali definiscano l’indirizzo degli host

Page 552: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Network mask Per identificare quali bit definiscono la rete e quali bit l’host, si

utilizza una “maschera”, anch’essa costituita da 32 bit, col significato seguente: se un bit della maschera vale 1, il corrispondente bit dell’indirizzo fa

parte dell’indirizzo della rete se un bit della maschera vale 0, il corrispondente bit dell’indirizzo fa

parte dell’indirizzo di host Con questa convenzione, gli indirizzi di classe A hanno maschera

255.0.0.0, quelli di classe B hanno maschera 255.255.0.0, quelli di classe C hanno maschera 255.255.255.0

Utilizzando opportunamente le maschere e’ possibile spezzare una rete in sottoreti: 100.1.0.0 con maschera 255.255.0.0 indica una rete che puo’ indirizzare

gli host da 100.1.0.1 a 100.1.255.254 Tutte le reti possono essere “subnettate”, anche le classi C:

la rete 193.206.144.0 (classe C) puo’ essere ad esempio suddivisa in quattro sottoreti:

193.206.144.0 255.255.255.192 (indirizzi da 0 a 63) 193.206.144.64 255.255.255.192 (indirizzi da 64 a 127) 193.206.144.128 255.255.255.192 (indirizzi da 128 a 191) 193.206.144.192 255.255.255.192 (indirizzi da 192 a 255)

Page 553: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Network mask (cont.) Una notazione molto diffusa per indicare la maschera e’ quella di

indicare in coda all’indirizzo il numero di bit, a partire dal piu’ significativo, che costituiscono l’indirizzo di rete la rete 131.154.20.0 255.255.255.0 si indica anche con la notazione

131.154.20.0/24: i primi 24 bit costituiscono l’indirizzo di rete la subnet 193.206.144.64 255.255.255.192 si indica con

193.206.144.64/26 (26 bit per l’indirizzo di rete)

Vale la pena di osservare che la sottorete di dimensioni minime deve avere un campo di 4 indirizzi: uno per indicare la sottorete, uno per indicare il broadcast, ed almeno uno per indirizzare un host; poiche’ al campo host vanno assegnati un certo numero di bit, un bit non e’ sufficiente, quindi ne servono almeno due, che forniscono due indirizzi per host questa tecnica e’ utilizzata per assegnare indirizzi di rete alle

connessioni punto-punto tra i router, risparmiando il maggior numero di indirizzi possibile

La definizione delle sottoreti non coinvolge la authority internazionale (o quella regionale) per gli indirizzi le sottoreti fanno tutte parte dell’insieme degli indirizzi gia’ assegnati

Page 554: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Accorpamento di reti L’indirizzamento a classi ha anche portato al problema

opposto: una classe C prevede un massimo di 254 indirizzi (lo 0 ed il 255

non sono utilizzabili) spesso aziende o universita’ hanno aumentato il numero di host

connessi in rete fino ad eccedere questo limite Utilizzando la tecnica della maschera e’ possibile accorpare

classi C con indirizzi contigui opportuni ad esempio, la sezione INFN di Genova ha avuto assegnate 4

classi C, dalla 193.206.144.0 alla 193.206.147.0 il valore binario di queste reti e’

11000001 11001110 10010000 0000000011000001 11001110 10010001 0000000011000001 11001110 10010010 0000000011000001 11001110 10010011 00000000

utilizzando una maschera a 22 bit e’ possibile accorpare queste quattro reti in una unica rete IP indicata come 193.206.144.0/22 (o con maschera 255.255.252.0)

Page 555: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Classless InterDomain Routing

Per gestire questo nuovo schema di indirizzamento il modo in cui il router gestisce le tabelle di routing deve cambiare

E’ stato introdotto un nuovo standard che specifica queste modifiche (RFC 1519), col nome di CIDR

Secondo questo standard ogni record della tabella di routing specifica l’indirizzo della destinazione con la sua maschera, in modo da superare la definizione delle classi

Non esiste piu’ una vera distinzione tra una rete 100.1.2.0/24 ed una rete 200.201.20.0/24

Page 556: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Classless InterDomain Routing

Questa soluzione comporta pero’ un problema potenziale grave: l’aumento considerevole delle reti indirizzabili puo’ far

esplodere la dimensione delle tabelle di routing, che virtualmente potrebbero dover contenere milioni di record

Per ovviare a cio’ gli indirizzi vengono assegnati per quanto possibile a blocchi alle varie organizzazioni regionali e locali

Queste organizzazioni devono annunciare verso l’esterno della loro area solo una rete, che costituisce l’aggregato delle sottoreti al suo interno

Page 557: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Instradamento con CIDR I pacchetti IP non sanno nulla delle maschere: come

instradare? Supponiamo di dover instradare un pacchetto indirizzato a

130.251.61.129, e di avere nelle tabelle di routing: 130.0.0.0/8 verso l’interfaccia 1 130.251.0.0/16 verso l’interfaccia 2 130.251.61.0/24 verso l’interfaccia 3 130.251.61.64/26 verso l’interfaccia 4

La scelta viene sempre fatta verso la rete (adatta) che ha la maschera piu’ lunga nell’esempio si ha:

1000010 1111011 0011101 10000001 (indirizzo di destinazione)

1000010 (130.0.0.0/8) 1000010 1111011 (130.251.0.0/16) 1000010 1111011 0011101 (130.251.61.0/24) 1000010 1111011 0011101 01 (130.251.61.64/26)

In questo caso l’indirizzo non fa parte della rete relativa alla quarta riga, ma puo’ far parte delle reti relative alle altre righe; tra queste si scegliera’ l’interfaccia 3 perche’ e’ quella verso la rete adatta con la maschera piu’ lunga

Page 558: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Pacchetto IP

Il pacchetto IP e’ costituito da un header di lunghezza fissa 20 byte, piu’ una parte opzionale (fino a 40 byte)

Il campo version contiene il numero identificativo della versione di IP (per IPv4 e’ 4, per IPv6 e’ 6) questo permette transizioni lente in caso di evoluzione

del protocollo

Page 559: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Pacchetto IP (cont.)

Il campo IHL (4 bit) contiene la lunghezza dell’header in parole di 32 bit (quindi un massimo di 60 byte complessivi)

Il campo type-of-service serve ad indicare diverse classi di servizio (precedenza del pacchetto, basso ritardo, etc.), di solito ignorato dai router

total-length indica la lunghezza totale del pacchetto in byte, che ha un valore massimo di 65535

Page 560: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Pacchetto IP: frammentazione

I campi identification, DF, MF e fragment-offset sono dedicati alla frammentazione ogni datagramma IP inviato da una sorgente ha un numero

identificativo differente dagli altri, riportato nel campo identification

se un datagramma viene frammentato, ogni frammento contiene nel campo identification lo stesso valore, mentre nel campo fragment-offset viene indicata la posizione del primo byte del frammento rispetto all’inizio del datagramma, espressa in multipli di 8 byte

in base all’identification la destinazione puo’ raggruppare i diversi frammenti, in base a total-length ed agli offset, la destinazione puo’ valutare se si fossero persi frammenti del datagramma

il bit MF (More Fragments) viene impostato a 0 nell’ultimo frammento (o nel datagramma se non viene frammentato), ad 1 altrimenti

il bit DF (Don’t Fragment) viene impostato ad 1 se il datagramma non deve essere frammentato

Page 561: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Pacchetto IP (cont.) Il campo time-to-live e’ un contatore che viene decrementato via

via che il pacchetto viaggia in rete Il pacchetto viene buttato via quando il time-to-live arriva a zero Normalmente dovrebbe essere decrementato ad ogni secondo o ad

ogni hop, ma talvolta i router non tengono conto del tempo Il campo protocol indica il protocollo di livello superiore a cui sono

destinati i dati del pacchetto vi sono diversi protocolli che possono fare uso di IP, come TCP (6) ed

UDP (17), ma anche ICMP (1) ed altri Il campo checksum contiene un codice CRC a 16 bit relativo al solo

header viene controllato solo l’header per motivi di performance, secondo la

logica di TCP/IP che delega il controllo della affidabilita’ ai livelli superiori il campo checksum viene ricalcolato ad ogni hop, in quanto alcuni dei

campi precedenti (come quelli relativi alla frammentazione o time-to-live) cambiano durante il trasferimento del pacchetto

Source e destination address contengono gli indirizzi a 32 bit del sorgente e del destinatario del pacchetto

Page 562: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Pacchetto IP (cont.) Le opzioni aggiuntive dell’header vengono utilizzate,

se necessario, per svariati motivi, tra cui security options: classifica il pacchetto da “non classificato”

a “top secret”; router che onorano questi campi possono essere indotti a instradamenti differenti in base a questa opzione

record route: istruisce i router a registrare il loro indirizzo nei successivi campi opzionali via via che il pacchetto transita in rete (usato per motivi di debug del routing)

loose o strict source routing: istruisce i router a seguire un instradamento specifico definito dalla sorgente (che riempie i campi opzionali con gli indirizzi dei router che il pacchetto deve attraversare)

Sono disponibili 40 byte per queste opzioni ogni campo inizia con un ottetto che definisce il tipo di

estensione, seguito eventualmente da uno o piu’ ottetti contenenti le informazioni relative (indirizzi IP, timestamp, …)

Page 563: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Instradamento locale: ARP Per instradare un pacchetto IP verso una destinazione

appartenente alla stessa rete del mittente viene incapsulato il pacchetto IP in un pacchetto dello strato di data link sottostante (ad esempio: Ethernet) un host conosce il proprio indirizzo IP e la propria rete di

appartenenza: analizzando l’indirizzo di destinazione di un pacchetto l’host puo’ capire se il destinatario appartiene alla sua stessa rete, e quindi operare il delivery locale

Il problema da risolvere e’ come fare a sapere a quale indirizzo di data link (Ethernet) inviare il pacchetto l’host conosce solo l’indirizzo IP del destinatario serve quindi una mappa che associ un indirizzo IP della stessa

rete al suo indirizzo di data link Per risolvere questo problema IP si appoggia ad un

protocollo chiamato ARP (Adderss Resoluzion Protocol)

Page 564: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

ARP Quando un host con indirizzo IP1 ed indirizzo hardware HW1

deve inviare un pacchetto IP ad un host con indirizzo IP2 sulla stessa rete, ARP si procura l’informazione necessaria in questo modo: viene costruito un pacchetto di data link (ARP request)

contenente IP1, HW1, ed IP2, con un campo dedicato ad HW2 riempito con tutti 0

questo pacchetto viene inviato broadcast sulla rete locale tutti ricevono il pacchetto ARP, ma solo l’host che ha l’indirizzo

IP2 lo processa (gli altri lo scartano) l’host costruisce un pacchetto di data link (ARP response)

contenente l’informazione mancante, e lo invia direttamente ad HW1 (non broadcast)

ARP sul primo host acquisisce quindi l’informazione dell’indirizzo Ethernet dell’host remoto, e lo comunica ad IP, che puo’ cosi’ incapsulare i propri pacchetti IP in frame del protocollo di data link indirizzati alla destinazione corretta

Page 565: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

ARP cache Per migliorare le prestazioni, ARP puo’ gestire sull’host locale una

cache in memoria Ogni volta che viene appresa una nuova associazione IPaddress-

Hwaddress, viene memorizzata nella cache Quando ARP deve individuare un indirizzo HW, prima controlla nella

cache: se l’informazione e’ presente viene utilizzata senza inviare pacchetti sulla rete

Le entry nella cache di ARP hanno un tempo di scadenza, per evitare che eventi quali sostituzione di schede di rete o reindirizzamento degli host possano rendere impossibile la comunicazione alla scadenza del tempo di validita’ l’entry viene rimossa dalla cache, ed

una successiva richiesta per quell’indirizzo provochera’ una nuova emissione di ARP request sulla LAN

Alcuni sistemi permettono di definire nella cache di ARP delle entry manuali prive di scadenza talvolta necessarie, qualora l’host di destinazione non supporti

correttamente il protocollo ARP questa tecnica puo’ essere utilizzata anche per motivi di efficienza in ogni caso difficile da mantenere aggiornata la cache delle macchine:

meglio evitare

Page 566: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

ICMP Internet Control Message Protocol e’ il protocollo utilizzato

per monitorare il funzionamento del livello di rete Esistono una dozzina di messaggi ICMP destinati ad avvisare

i router o gli host di qualche evento specifico della rete ICMP non ha lo scopo di rendere IP affidabile, ma di

notificare allo strato di rete problemi non transienti nella comunicazione a livello 3 in modo da attivare quelle reazioni dinamiche al malfunzionamento della rete necessarie, ad esempio, a ridisegnare dinamicamente la topologia utilizzata per l’instradamento

ICMP utilizza IP come protocollo di trasporto per instradare i propri messaggi in questo senso c’e’ una sorta di miscuglio degli strati in IP:

ICMP e’ una parte del protocollo di rete, in quanto ha funzioni di (auto)controllo dello strato di rete e non fornisce servizi agli strati superiori

tuttavia ICMP utilizza IP come sottoprotocollo per trasmettere le sue informazioni tra gli host/router interessati

Page 567: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Messaggi ICMP I principali messaggi ICMP disponibilio sono:

destinazione irraggiungibile: questo messaggio e’ inviato dai router agli host sorgenti di un pacchetto IP per notificare che la destinazione non e’ raggiungibile

time exceeded: viene notificato alla sorgente di un pacchetto che il pacchetto ha raggiunto la scadenza del time-to-live

problema di parametri: un router annuncia al router che gli ha inviato un pacchetto che i parametri dell’header sono inconsistenti

source quench: utilizzato (in passato) per rallentare la sorgente che trasmette troppo velocemente in caso di congestione; l’evoluzione del TCP/IP ha spostato pero’ il controllo della congestione sul livello di trasporto

redirect (reindirizzamento): il router avvisa l’host sorgente che ha inviato il pacchetto iniziale secondo un instradamento errato (ad esempio: se ci sono due router sulla LAN, ed un pacchetto viene inviato da un host verso il router sbagliato)

Page 568: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Messaggi ICMP (cont.)

echo ed echo reply: utilizzati per verificare la raggiungibilita’ di un host: quando un host riceve un ICMP ECHO da una

sorgente, deve immediatamente rispondere con un ICMP ECHO REPLY

molte utility fanno uso di questo messaggio ICMP (ad esempio ping)

timestamp e timestamp response: analoghi ai messaggi ECHO/ECHO REPLY, inseriscono nei pacchetti informazioni di tempo per valutare il ritardo della connessione

Page 569: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 21: network layer: protocolli di routing in IP, IPV6

Page 570: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Routing in TCP/IP

Una rete TCP/IP (come Internet) e’ costituita da un insieme di Autonomous Systems interconnessi

Ogni AS adotta un algoritmo di routing indipendente da quello adottato negli altri AS

Gli algoritmi di routing degli AS sono indicati generalmente col nome di IGP (Interior Gateway Protocol)

La comunicazione tra gli AS e’ governata da un algoritmo di routing differente, indipendente dai protocoli IGP utilizzati internamente, indicato con il nome generico di EGP (Exterior Gateway Protocol)

Page 571: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocolli IGP: RIP

Il primo protocollo di routing interno utilizzato in Internet e’ il RIP (Routing Information Protocol), ereditato da Arpanet

RIP e’ un protocollo basato sull’algoritmo distance vector

Deve la sua diffusione al fatto che una sua implementazione (routed) era compresa nella Berkeley Software Distribution di Unix che supportava il TCP/IP

Adatto a reti di dimensioni limitate, ha iniziato a mostrare i suoi limiti gia’ alla fine degli anni ’70

Attualmente ancora utilizzato come protocollo di routing in qualche piccola rete privata

Page 572: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

RIP (cont.)

Caratteristiche del modello distance vector utilizzate da RIP: Usa numero degli hop come metrica per il costo dei link:

tutte le linee hanno costo 1 Il costo massimo e’ fissato a 15, quindi impone il suo uso

su reti di estensione limitata (diametro inferiore a 15 hop) Le tabelle di routing vengono scambiate tra router

adiacenti ogni 30s via un messaggio di replica del RIP (RIP response message) o avviso di RIP (RIP advertisment) Questo messaggio contiene voci della tabella del

mittente per un massimo di 25 reti di destinazione dell’AS

Page 573: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

RIP (cont.) Qualora un router non ricevesse informazioni da un

suo vicino per 180s, quest’ultimo viene etichettato come irraggiungibile Quando questo si verifica, modifica la sua tabella di routing

e propaga l’informazione a tutti i suoi vicini ancora raggiungibili

I router possono inviare anche messaggi di richiesta del costo dei vicini verso una destinazione usando messaggi di richiesta del RIP

I messaggi di richiesta e di replica vengono inviati usando come trasporto l’UDP (protocollo di trasporto del TCP/IP connection less inaffidabile) I pacchetti UDP vengono trasportati in un datagram IP

standard RIP di fatto usa un protocollo del livello di trasporto

(UDP) su un protocollo di rete (IP) per realizzare le funzioni di instradamento che sono proprie del livello di rete

Page 574: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocolli IGP: OSPF

Nel 1979 Internet e’ passata ad un protocollo di tipo link state ciascun router utilizza il flooding per propagare lo

stato delle sue connessioni agli altri router della rete ciascun router conosce la topologia completa della

rete Alla fine del 1988 e’ stato sviluppato un

successore chiamato OSPF (Open Short Path First), definito nell’RFC 2328

OSPF e’ oggi il piu’ diffuso protocollo IGP utilizzato in Internet

Page 575: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche di OSPF

OSPF e’ stato progettato cercando di soddisfare diversi requisiti: nessun vincolo di brevetto (O = Open) supporto di diverse metriche per la distanza (distanza

fisica, hop, ritardo, costo della linea, …) algoritmo capace di reagire dinamicamente e

rapidamente ad eventi che modificano la topologia (link state)

instradamento basato sul tipo di servizio (sfruttando i campi esistenti nell’header di IP, ad esempio)

questo e’ stato incluso in OSPF, ma tutti (implementazioni ed applicativi) hanno continuato ad ignorare questa possibilita’

capacita’ di bilanciare il carico su diversi cammini supporto per sistemi gerarchici (quindi routing gerarchico

anche all’interno dello stesso AS) implementazione di sicurezza supporto per il tunneling

Page 576: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Connessioni di OSPF OSPF gestisce tre tipi di connessione:

linea punto-punto tra router rete locale multiaccesso

una rete locale dotata di piu’ accessi, quindi di piu’ router rete geografica multiaccesso

rete geografica connessa al resto dell’AS da piu’ di un router OSPF considera la rete come un grafo con i router come

punti, e le linee come archi ogni linea fisica e’ costituita da due archi, uno per ogni verso una rete multiaccesso e’ considerata come un punto del grafo,

connessa a ciascun router della rete da una coppia di archi OSPF assegna un costo ad ogni arco, e determina il

cammino piu’ breve in base al costo complessivo del tragitto i cammini nei due versi di una singola connessione possono

avere costi differenti I nodi di rete non hanno peso in OSPF, ed la loro connessione

al router viene valutata a costo 0

Page 577: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Rete OSPF e schematizzazione

Page 578: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

OSPF: le aree

Al crescere delle dimensioni anche alcuni AS sono diventati troppo complessi per essere gestiti in modo non gerarchico

OSPF permette di dividere un AS in piu’ aree ogni area e’ una rete o un insieme di reti

direttamente connesse le aree non hanno componenti sovrapposti in ciascun AS deve esistere un’area dorsale

(l’area 0) a cui sono collegate tutte le altre aree dell’AS e’ possibile passare da un’area qualunque ad un’altra

area dell’AS attraverso la dorsale, che le connette tutte

Page 579: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

OSPF: tipi di router

OSPF definisce quattro tipi di router router interni (internal router): router interni ad un’area router di confine (border router): router che collega due o

piu’ aree (una e’ sempre l’area della dorsale) router di dorsale (backbone router): router interno della

dorsale router di confine dell’AS (boundary router): router che

collega l’AS ad uno o piu’ AS differenti Naturalmente le funzioni possono sovrapporsi

un router di confine e’ anche router interno un boundary router e’ anche un backbone router un backbone router non connesso ad altre aree o ad altri

AS e’ un router interno (per l’area 0)

Page 580: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

OSPF: costruzione delle tabelle

Secondo il protocollo link state, ogni router di ogni area conosce la topologia dell’area e puo’ effettuare routing interno

I router di backbone accettano le informazioni anche dai router di confine delle altre aree in questo modo ogni router di backbone sa a quale router

di confine di un’area inviare i pacchetti destinati a quella area

Le informazioni delle adiacenze dei router di confine verso l’area di backbone sono propagate dentro l’area in questo modo ogni router interno sa a quale router di

confine della propria area inviare un pacchetto destinato ad un’altra area

Page 581: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Schema rete OSPF

Page 582: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

BGP (protocollo di tipo EGP)

Gli AS sono generalmente gestiti da una stessa organizzazione, e spesso sono racchiusi entro i confini nazionali

La connessione tra diversi AS deve essere regolata da un protocollo che tenga conto di parametri aggiuntivi, che OSPF o altri protocolli IGP non possono considerare ad esempio, un AS puo’ voler accettare pacchetti

provenienti da un altro AS solo se destinati al suo interno, ma non come transito

un AS potrebbe accettare di fare da transito per alcuni (che magari hanno pagato per il servizio) e non per altri

Per soddisfare queste esigenze e’ stato realizzato il protocollo BGP (Border Gateway Protocol)

Page 583: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche del BGP Il BGP e’ progettato per poter tenere conto di vincoli indipententi

dalla logica del cammino piu’ breve BGP considera la rete (costituita dai boundary router) come un

grafico a maglia, dove gli AS sono punti e le connessioni tra AS linee

I costi delle linee ed eventuali vincoli vengono generalmente configurati manualmente sui router

BGP si basa sulla logica del distance vector: ogni router scambia con i vicini la propria tabella di routing

La sostanziale differenza rispetto al distance vector e’ che le informazioni scambiate contengono anche i cammini completi verso le destinazioni (per questo viene definito come algoritmo path vector) in conseguenza di cio’ un router sa che, scegliendo una certa strada,

attraversera’ determinati AS in questo modo possono essere applicati i vincoli sul routing

Va osservato che la conoscenza dei percorsi completi permette di risolvere il problema del conto all’infinito, in quanto ogni router e’ in grado di capire se un percorso scelto dal vicino passa per se stesso, e quindi scartarlo

Page 584: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Messaggi BGP In BGP si definiscono peer (pari) i nodi adiacenti nel grafo Le informazioni BGP vengono propagate nella rete

attraverso lo scambio di messaggi BGP tra peer Sono definiti 4 tipi di messaggio:

OPEN: i peer comunicano usando il protocollo di trasporto TCP ( a differenza del RIP che utilizza UDP). In questo modo un gateway stabilisce un primo contatto con un peer per autenticarsi e fornire informazioni sul timer

KEEPALIVE: e’ il messaggio che il peer ricevente l’OPEN spedisce in risposta al peer mittente, ma viene usato anche per far sapere a un peer che il sender e’ attivo anche se non ha informazioni nuove da inviare

UPDATE: serve per aggiornare informazioni di nuovi percorsi ma anche di revocare informazioni gia’ inviate ormai obsolete

NOTIFICATION: usato per informare un peer della presenza di un errore trasmesso in precedenza o per chiudere una sessione BGP

Page 585: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

IPv6 (versione 6) All’inizio degli anni ’90 l’IETF inizio’ la ricerca di un

successore di IPv4 Motivazione primaria: la necessita’ di ampliare lo spazio di indirizzi

che potesse soddisfare tutte le nuove esigenze di interconnessione di nuovi elaboratori

Basandosi sul trend dell’epoca si affacciavano previsioni di esaurimento degli indirizzi tra il 2008 e il 2018 Nel 1996 l’American Registry for Internet Numbers dichiarava esaurita

la classe A, risultava assegnato il 62% dello spazio indirizzi di classe B e il 37% di quelli della classe C

Sebbene questo consentisse comunque ancora del tempo prima dell’esaurimento totale, lo sforzo necessario e il tempo previsto per trovare un’alternativa stimolo’ l’avvio dello studio e progettazione di un nuovo protocollo

Fu sviluppato un protocollo che i progettisti modellarono sull’IPv4 esistente, ampliando e migliorando alcune sue caratteristiche, chiamato IPv6 (o IPng: next generation)

Page 586: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Obiettivi di IPv6

Indirizzamento illimitato Semplicita’ del protocollo per ridurre i tempi

di elaborazione nei router Sicurezza Supporto per pacchetti di grosse dimensioni Gestione del tipo di servizio Prevedere evoluzioni future del protocollo Supportare i protocolli di livello superiore

che si appoggiano ad IPv4

Page 587: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Indirizzi IPv6 IPv6 prevede l’utilizzo di indirizzi a 16 byte (128 bit) La notazione utilizzata e’ una sequenza di otto

gruppi di quattro cifre esadecimali, separate da “:”8000:0000:0000:0000:0123:4567:89AB:CDEF

Per rappresentare piu’ comodamente gli indirizzi si possono utilizzare ottimizzazioni: si possono omettere gli zeri ad inizio di un gruppo

(:0123: diventa :123:) si possono omettere gruppi di zeri consecutivi,

rappresentati da una sequenza “::”8000::123:4567:89AB:CDEF

Gli indirizzi IPv4 sono rappresentati con 6 gruppi di zeri, e due gruppi che rappresentano l’indirizzo IPv4 (rappresentabili anche in notazione decimale): ::89AB:CDEF oppure ::137.171.205.239

Page 588: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Indirizzi IPv6 (cont.)

Come per IPv4 l’indirizzo contiene una informazione di rete ed una informazione di host

La notazione per definire quale parte dell’indirizzo e’ dedicato alla rete e’ quella di specificare la lunghezza in bit dell’indirizzo di rete dopo un “/” in coda all’indirizzo (come in IPv4)

Anche in IPv6 la “rete” e identificata dall’indirizzo con tutti “0” nel campo di indirizzo dell’host

Page 589: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Pacchetto IPv6

Il pacchetto IPv6 e’ costituito da un header di lunghezza fissa (40 byte) ed un campo dati; il campo dati puo’ opzionalmente contenere altri header prima dei dativeri e propri

Page 590: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Header di IPv6

Il campo version non cambia significato, ed assume il valore 6

Il campo traffic class serve ad identificare i pacchetti che necessitano di un instradamento particolare essenzialmente introdotto per supportare il traffico

prioritario, o il traffico di tipo voce o video stream che richiede ritardi costanti

un campo simile esiste nell’header di IPv4, inutilizzato Il campo flow label e’ stato introdotto per

identificare in qualche modo i pacchetti appartenenti allo stesso flusso trasmissivo sempre al fine di supportare meglio il traffico voce/video e’ un tentativo di identificare il flusso di dati di una

“connessione” in un protocollo connection less attualmente in fase sperimentale

Page 591: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Header di IPv6 (cont.) Il campo payload length indica la lunghezza del pacchetto in

byte, esclusi i 40 byte fissi dell’header la lunghezza massima del pacchetto e’ di 65536 bytes (+ 40)

Il campo next header indica il protocollo del livello di trasporto a cui sono destinati i dati

(TCP o UDP) se non c’e’ intestazione estesa il tipo di intestazione estesa successiva utilizzata (se c’e’): in

questo caso sara’ il corrispondente campo dell’header dell’ultima intestazione estesa a specificare il protocollo di trasporto di destinazione

Il campo hop limit e’ equivalente al campo time to live dell’header IPv4, ma ora ha l’esclusivo significato di conto degli hop viene decrementato ad ogni hop; raggiunto lo zero il pacchetto

viene scartato ha la stessa funzione del corrispondente campo IPv4: evitare

che un pacchetto rimanga troppo a lungo in rete in caso di problemi di routing

Gli ultimi campi sono gli indirizzi sorgente e destinatario del pacchetto

Page 592: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Cosa non c’e’ piu’ Il campo IHL (Internet Header Length) che

rappresenta la lunghezza dell’header non e’ piu’ necessario, perche’ la lunghezza dell’header e’

fissata a 40 Il campo protocol e’ sostituito dal campo next

header I campi riguardanti la frammentazione

IPv6 non prevede che i router eseguano frammentazione, perche’ fa perdere tempo

i nodi IPv6 tentano di identificare la dimensione corretta dei pacchetti da scambiarsi in modo dinamico

non basta: se il router non puo’ inoltrare un pacchetto, invia un messaggio (ICMP) indietro per notificare il fatto e butta il pacchetto

di fatto risulta piu’ efficiente fare in modo che l’host di partenza invii i pacchetti di dimensione corretta che non frammentare nei router

Page 593: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Cosa non c’e’ piu’ (cont.)

Il campo checksum IPv6 non utilizza checksum sui suoi

pacchetti, per motivi di efficienza pur nel caso ridotto di un checksum

dedicato all’header, il controllo della correttezza risulta un processo molto costoso per i router

essendoci meccanismi analoghi a livello di data link ed a livello di trasporto, IPv6 ne fa a meno

Page 594: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Intestazione estesa

I progettisti di IPv6 hanno previsto la possibilita’ di utilizzare header aggiuntivi (extension header) il campo next header dell’header fisso identifica con

un codice opportuno il tipo di extension header che segue

Ciascun extension header inizia con 2 byte: next header: il tipo di estension header che segue il

corrente (o il protocollo di destinazione se il corrente e’ l’ultimo header)

extension header length: la lunghezza in byte dell’extension header corrente (i diversi tipi hanno lunghezze differenti, ed alcuni tipi hanno lunghezza variabile)

seguita dai dati specifici dell’hestension header

Page 595: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Tipi di estension header Sono stati definiti 6 tipi di estension header

opzioni hop-by-hop: sono opzioni che tutti i router devono esaminare; al momento e’ definito un solo tipo di opzione (jumbo datagram) che serve per poter inviare pacchetti di dimensione superiore a 64 KB

opzioni di destinazione: introdotte per essere interpretate dall’host di destinazione, attualmente non ancora definite (fornisce flessibilita’ al protocollo per utilizzi futuri)

opzioni di routing: per implementare source-routing, cioe’ instradamento definito dalla sorgente (simile al loose source routing di IPv4)

opzioni di frammentazione: da utilizzare se “la sorgente” deve frammentare (i router non frammentano); gestita come in IPv4

autenticazione: finalizzato a fornire un meccanismo per accertare l’identita’ del mittente del pacchetto

crittazione: finalizzato a proteggere i dati tramite codifiche di cifratura

Page 596: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Transizione da IPv4 a IPv6

Problema che deve essere affrontato perche’ mentre l’IPv6 puo’ essere costruito compatibile con IPv4 nel senso che puo’ spedire, instradare e ricevere datagram IPv4, IPv4 non e’ in grado di gestire datagram IPv6

Possibile opzione Definire giorno e ora in cui tutte le macchine si

aggiornano da IPv4 a IPv6 Questa soluzione e’ stata gia’ provata in passato

per altre transizioni quando la rete era ancora agli esordi e provoco’ non pochi problemi

Diventa ancor piu’ impensabile oggi che i nodi e i router convolti sono decine (centinaia?) di milioni

Page 597: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Opzione: nodi dual stack

Questa opzione prevede l’introduzione di nodi IPv6 compatibili, in cui i nodi IPv6 dispongono pure di una completa implementazione IPv4

I nodi IPv6/IPv4 (RFC 1933) hanno entrambi gli indirizzi e devono essere in grado di determinare se il nodo con cui devono parlare e’ un nodo IPv6 compatibile o solo IPv4

Questo puo’ comunque portare come risultato che 2 nodi IPv6 compatibili si scambino comunque tra loro datagram IPv4

Page 598: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Opzione tunneling

Un alternativa al dual stack definita nell’RFC 1933 prevede il tunneling

Il tunneling permette di risolvere il problema evidenziato nell’approccio dual stack

Viene definito un tunnel tra nodi IPv6 che puo’ passare attraverso un percorso IPv4

Verranno incapsulati i datagram IPv6 nei datagram IPv4

Il nodo destinazione del tunnel IPv6 determina che il datagram IPv4 contiene un datagram IPv6, lo estrae e lo inoltra come se l’avesse ricevuto direttamente dal nodo mittente dall’altra estremita’ del tunnel

Page 599: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 22: transport layer: introduzione, funzionalita’

Page 600: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Funzione del livello di trasporto

Il livello di trasporto ha lo scopo di fornire allo strato superiore un servizio di trasferimento dei dati end to end, mascherando completamente al livello superiore il fatto che tra i due host terminali esista una rete di qualsiasi tipo, topologia, tecnologia e complessita’ per OSI lo strato superiore e’ il livello di sessione per TCP/IP lo strato superiore e’ il livello di

applicazione Per assolvere le sue funzioni lo strato di

trasporto utilizza i servizi dello strato di rete

Page 601: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Necessita’ dello strato di trasporto

Perche’ introdurre un nuovo strato? lo strato di rete opera su tutte le macchine attraversate dai

dati, indipendentemente in mancanza di uno strato che operi esclusivamente sui

nodi terminali della comunicazione l’utente della rete non puo’ tenere sotto controllo cosa accade ai dati una volta che lasciano l’host sorgente

lo strato di trasporto rende trasparente allo strato superiore la complessita’ (l’esistenza!) della sottorete

La presenza di uno strato intermedio tra applicazione e rete puo’ offrire un meccanismo per rendere affidabile una comunicazione su sottoreti inaffidabili

Inoltre offre al suo utente una interfaccia indipendente dalle diverse tecnologtie dello strato di rete

Page 602: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Servizi forniti allo strato superiore

Lo strato di trasporto offre servizio affidabile orientato alla connessione servizio inaffidabile non orientato alla connessione

In modo analogo ai servizi equivalenti dello strato di rete: il servizio orientato alla connessione realizza un

trasferimento dei dati affidabile (controllo della integrita’, della completezza, dell’ordine) e permette di gestire controllo di flusso; i dati vengono trasferiti con un procedimento in tre fasi

si stabilisce la connessione si inviano i dati attraverso la connessione si chiude la connessione

il servizio non orientato alla connessione fornisce un meccanismo di trasferimento dati “best-effort”: ogni blocco di dati viene inviato e ci si dimentica di lui; se arrivano, bene, se no l’applicazione dovra’ farsi carico di operare azioni correttive (se necessarie)

Page 603: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Primitive di servizio Le primitive di servizio costituiscono l’interfaccia che lo

strato di trasporto rende disponibile allo strato superiore Per il servizio connection oriented si possono elencare in

LISTEN: lo strato superiore notifica al trasporto che e’ pronto a ricevere una connessione

CONNECT: lo strato superiore chiede allo strato di trasporto di effettuare una connessione (si traduce nell’invio da parte del trasporto di un messaggio “Connection Request” al destinatario)

SEND: lo strato superiore chiede al trasporto di inviare dati RECEIVE: lo strato superiore chiede allo strato di trasporto di

trasmettergli i dati in arrivo DISCONNECT: lo strato superiore chiede di chiudere la

connessione (si traduce nell’invio da parte dello strato di trasporto di un messaggio “Disconnection Request”)

Per il servizio connection less, le due primitive SEND e RECEIVE possono essere sufficienti

Page 604: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Protocollo di trasporto Il livello di trasporto realizza le sue funzioni

comunicando con il processo paritario secondo un protocollo definito

Le informazioni vengono scambiate tramite la trasmissione di blocchi di dati in OSI si chiamano TPDU (Transport Protocol Data Unit) in TCP/IP si chiamano segmenti (ma spesso anche

pacchetti) Il protocollo si dovra’ occupare dei meccanismi per

gestire i diversi eventi (ove necessari): come si stabilisce la connessione come si chiude una connessione controllo di flusso controllo degli errori, ritrasmissioni e acknowledge ordinamento in sequenza dei dati

Le problematiche sono simili a quelle del livello di data link

Page 605: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Differenze rispetto al data link

Il fatto che a livello di trasporto i due terminali siano separati da una rete provoca complicazioni

e’ necessario un indirizzamento per gestire diverse applicazioni utenti del servizio di trasporto

a livello 2 un pacchetto o arriva o non arriva, mentre a livello 4 la sottorete provoca ritardi e riapparizione di pacchetti che si credevano perduti e quindi ritrasmessi, con conseguente duplicazione

il numero delle connessioni cui il livello di trasporto deve far fronte e’ molto piu’ elevato che nel caso del data link layer: non sara’ possibile dedicare a tutti i buffer necessari alle comunicazioni

Page 606: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Ritardo dei pacchetti e numeri di sequenza

Come visto a livello di data link, la gestione delle funzioni di acknowledge e ritrasmissione prevede di utilizzare numeri di sequenza sulle TPDU inviate in una connessione

Il fatto che la rete possa ritardare il recapito dei pacchetti comporta delle necessita’ sulla scelta dei numeri di sequenza

Vediamo un esempio che mostra come partire sempre da 0 puo’ comportare dei problemi: si stabilisce una connessione e si iniziano ad inviare TPDU con

seq = 0 dopo 10 secondi la TPDU con seq = X si ferma in un router

congestionato; viene reinviata dopo il tempo di timeout e la connessione si chiude

si apre subito un’altra connessione, nuovamente con seq = 0 a questo punto la TPDU originaria si sblocca ed arriva a

destinazione prima che una TPDU con seq = X della nuova connessione venga inviata

la vecchia TPDU verra’ accettata e si ha un errore

Page 607: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Ritardo dei pacchetti e numeri di sequenza

Per ovviare a questo problema, si devono prendere delle precauzioni: lo strato di rete deve essere in grado di invalidare

pacchetti troppo vecchi in questo modo un numero di sequenza gia’ utilizzato puo’

essere riutilizzabile dopo un tempo pari o superiore al tempo di vita massimo dei pacchetti

la assegnazione dei numeri di sequenza iniziali deve essere fatta in modo da essere sicuri che non esistano sulla rete TPDU con numerazione valida

solitamente i numeri di sequenza iniziali di una connessione vengono scelti (da chi inizia la connessione) con un valore legato ad un orologio

una scelta opportuna rende impossibile avere ritardati con numeri di sequenza validi che possano essere interpretati in modo errato

Page 608: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Stabilire la connessione

Il problema della inaffidabilita’ della sottorete e dei duplicati ritardati si presenta anche nella fase di inizializzazione della connessione

Per risolverli e’ stato sviluppato un meccanismo detto handshake a 3 vie: il client invia una TPDU di Connection Request in cui

propone un certo valore iniziale di sequenza il server risponde con un acknowledge che riporta il valore

iniziale di sequenza proposto dal client, ed il valore di sequenza proposto dal server per il traffico in senso inverso

il client invia una terza TPDU che riporta l’acknowledge per il numero di sequenza iniziale proposto dal server, e riporta nuovamente il proprio numero di sequenza iniziale (eventualmente questa TPDU puo’ anche trasportare i primi dati)

Page 609: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Handshake a tre vie Il meccanismo visto risponde positivamente ai problemi di

duplicati sulla rete sempre nella ipotesi che non possano esistere

contemporaneamente sulla rete TPDU con lo stesso numero di sequenza (vedi slide precedenti)

In figura a sinistra la procedura normale, a destra cosa accade se arriva una Connection Request ritardata relativa ad una vecchia connessione

Page 610: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Handshake a tre vie (cont.)

In figura e’ mostrato cosa accade se arriva una Connection Request ritardata relativa ad una vecchia connessione, seguita dalla TPDU di acknowledge finale, anch’essa ritardata

Poiche’ host 2 ha proposto come seq il valore y e riceve l’acknowledge per z si accorge che deve scartare la TPDU

Page 611: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Rilascio della connessione Anche qui ci sono problemi da affrontare La connessione puo’ essere rilasciata in modo asimmetrico o

simmetrico

Nel modo asimmetrico la disconnessione viene decisa da uno dei due, che invia una TPDU Disconnect Request e chiude

Questo puo’ comportare la perdita di dati, come mostrato in figura: dopo la disconnessione l’host 2 non accetta piu’ i dati in ingresso

Page 612: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Rilascio simmetrico Il rilascio simmetrico richiede che le parti siano

entrambe consapevoli e daccordo Sorge il problema (insolubile) di essere entrambi

sicuri che l’altro sia daccordo (problema dei due eserciti)

Page 613: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Rilascio simmetrico (cont.)

La soluzione adottata usualmente e’ un handshake a tre vie con timeout: il primo invia una TPDU Disconnect Request, ma lascia la

connessione aperta in ricezione ed avvia un timer il secondo invia in risposta una TPDU Disconnect Request

lasciando aperta la connessione, ed avvia un timer il primo risponde alla DR ricevuta con una TPDU di ACK

e chiude la connessione in caso di perdita delle TPDU i timeout provocheranno, a

seconda dei casi, una ritrasmissione o il rilascio definitivo della connessione anche in assenza di riscontro

Questa soluzione garantisce quasi sempre che nessun dato venga perduto

Page 614: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Rilascio simmetrico (cont.)

Page 615: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllo di flusso e buffering

Come visto per il data link layer, il controllo di flusso puo’ essere gestito tramite un protocollo sliding window

Questo protocollo richiede che vengano dedicati buffer in trasmissione per contenere le TPDU inviate e non ancora riscontrate, e buffer in ricezione per contenere dati ricevuti in ordine non corretto

Tuttavia il livello di trasporto presenta problemi che non affliggono il data link layer un host puo’ dover gestire a livello di trasporto svariate decine di

connessioni contemporanee: si devono trovare le risorse per i buffer

la dimensione dei buffer e’ un altro problema: le applicazioni possono richiedere di trasferire blocchi dati di dimensioni molto differenti (dal singolo carattere di una sessione telnet a svariati KB di un file transfer); allocare buffer di dimensioni definite puo’ costituire un problema

lo strato applicativo potrebbe liberare i buffer in ricezione in modo lento, generando una situazione in cui una TPDU e’ stata riscontrata in quanto ricevuta, ma il buffer allocato dalla TPDU non e’ ancora libero

Page 616: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Alternative in funzione della sottorete

In caso di sottorete inaffidabile, il trasmittente deve mantenere i dati nei buffer in questo caso il ricevente potrebbe non utilizzare buffer

specifici per la connessione, ma ad esempio un pool di buffer per tutti, richiedendo la disponibilita’ di buffer dinamicamente e scartando le TPDU in caso di indisponibilita’ (tanto il trasmittente conserva i dati)

Se la sottorete offre un servizio affidabile: se il ricevente rende disponibili buffer in ricezione, il

trasmittente potrebbe farne a meno se pero’ il ricevente non puo’ garantire spazio sufficiente

di buffer, l’affidabilita’ della sottorete garantisce il recapito ma non l’accettazione, quindi la risorsa di buffer deve essere allocata anche in trasmissione

Page 617: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Alternative in funzione della TPDU size

Se le TPDU hanno generalmente una dimensione simile si puo’ allocare un pool di buffer uguali

In caso contrario questa soluzione rappresenta uno spreco di risorse utilizzare buffer di dimensioni medie puo’ essere piu’

efficiente, ma le TPDU di grosse dimensioni vanno a occupare piu’ buffer, complicandone notevolmente la gestione

possono essere utilizzati buffer a dimensione variabile, ma anche questo complica la gestione dei dati

una terza possibilita’ e’ l’utilizzo di un grosso buffer circolare per ogni connessione

in questo caso si semplifica la gestione dei buffer, ma di nuovo si ha spreco di risorse per connessioni a basso carico trasmissivo

Page 618: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Alternative in funzione della applicazione

Applicazioni che utilizzano TPDU piccole possono essere efficientemente gestite tramite un pool comunie ed allocazione dinamica dei buffer in trasmissione e ricezione (TPDU piccole significa buona probabilita’ di trovare buffer disponibili)

Applicazioni tipo file transfer richiedono invece la disponibilita’ in ricezione di un pool di buffer pari alla window size (come nel caso del data link layer), per sfruttare al meglio la banda disponibile

Page 619: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Gestione dinamica dei buffer

Poiche’ le caratteristiche delle diverse connessioni possono cambiare rapidamente, e le esigenze sono differenti, la soluzione adottata e’ che le due parti regolino dinamicamente le allocazioni

ad esempio, se due stazioni dedicano un pool comune di buffer alle connessioni attive tra i due host, e ad un certo punto il numero di connessioni aumenta, il ricevitore potra’ comunicare al trasmittente che il numero di buffer per una singola connessione e’ diminuito

Il protocollo di trasporto deve prevedere questa possibilita’

Page 620: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Buffer dinamici come window size

L’utilizzo della gestione dinamica dei buffer permette al ricevente di regolare la velocita’ del trasmittente in funzione della quantita’ di buffer disponibili in ricezione; di fatto il numero di buffer disponibili in ricezione definisce la window size

Quello che viene fatto dal protocollo e’ sostanzialmente la seguente cosa: il trasmittente (all’atto dell’attivazione della connessione)

richiede un certo numero di buffer in funzione delle sue esigenze

il ricevente risponde concedendo il numero di buffer che puo’ offrire, ed il ricevente memorizza il numero e tiene conto della disponibilita’ di buffer in ricezione durante tutta la trasmissione

ad ogni TPDU inviata il trasmittente riduce il numero di buffer che il ricevente ha disponibili

quando arriva a zero il trasmittente si ferma ad ogni acknowledge, il ricevente comunica quanti buffer ha

disponibili

Page 621: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Separazione ack/window size

Tuttavia, come gia’ detto, gli eventi “TPDU riscontrata” e “buffer liberato” nello strato di trasporto non sono contemporanei questo e’ essenzialmente dovuto al fatto che “chi libera il buffer” e’ un

applicativo scritto dall’utente (non dal progettista della rete), che magari riceve 4 KB di TPDU ma le legge un byte per volta

Questo fatto obbliga a separare la funzione dell’acknowledge dalla definizione della window disponibile (cioe’ dei buffer disponibili in ricezione)

Di fatto il ricevente puo’ inviare un riscontro relativo a tutte le TPDU trasmesse, ma comunque indicare disponibilita’ di buffer a zero (quindi bloccare il trasmittente)

Quando l’applicativo libera uno o piu’ buffer, il ricevente inviera’ un nuovo ack (relativo sempre all’ultima TPDU rucevuta) ma comunicando la nuova disponibilita’ di buffer questo puo’ generare uno stallo, perche’ le TPDU di controllo non

vengono riscontrate e non hanno timeout: se l’ultima TPDU (ack+nuovi buffer liberi) si perde, il trasmittente resta fermo ed il ricevente pure

per risolvere questa situazione ogni host deve periodicamente trasmettere una TPDU di controllo per fornire l’ack e la situazione dei buffer

Page 622: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllo della congestione

Quando il collo di bottiglia e’ la rete, il controllo di flusso non e’ sufficiente

Il controllo di questa situazione nel livello di trasporto e’ compito del trasmittente

Il livello di trasporto non definisce meccanismi; generalmente a livello pratico si utilizza la tecnica seguente: il trasmittente utilizza come parametro di misura il

numero di TPDU che non hanno ricevuto un ack prima del timeout

ciclicamente viene effettuata una analisi di questo dato quando si verifica un aumento dei timeout, il trasmittente

riduce la velocita’ di trasmissione, ad esempio riducendo la window size (anche se c’e’ disponibilita’ di buffer in ricezione)

Page 623: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Indirizzamento: TSAP Un processo applicativo deve specificare a quale

applicazione remota vuole connettersi Lo strato di trasporto puo’ servire contemporaneamente

diverse applicazioni quando riceve una connection request, (o dati in una

trasmissione connection less) deve sapere a quale applicazione trasmetterli

E’ necessario quindi associare univocamente ad una applicazione un punto di accesso al trasporto

In pratica si devono utilizzare indirizzi a livello di trasporto, per identificare l’applicazione destinataria dei dati

Questi indirizzi in OSI sono chiamati TSAP (Transport Service Access point) in TCP/IP esiste una cosa equivalente: in questo caso gli indirizzi

sono chiamati porte

Page 624: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Quale TSAP?

Un applicativo server deve quindi registrarsi presso il protocollo di trasporto (tramite la primitiva LISTEN) per creare la associazione “applicazione-TSAP”

L’applicativo client, per connettersi con il server, deve sapere a quale TSAP remoto (di quale NSAP remoto, cioe’ di quale indirizzo di rete) connettersi

Per conoscere l’NSAP, generalmente esiste un applicativo di conversione nome-indirizzo che risolve questo problema (si presuppone che almeno si conosca il nome) in OSI si chiama servizio di directory (X.500) in TCP/IP si chiama Domain Name System

Per conoscere il TSAP si puo’ (parzialmente) utilizzare un sistema simile

Page 625: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

TSAP “ben noti”

La soluzione adottata usualmente e’ quella di associare sempre lo stesso TSAP a tutte le applicazioni server (sui diversi host) che svolgono la stessa funzione server web server di posta elettronica server di connessione remota server di sincronizzazione oraria server di file transfer

L’applicativo client in questo modo puo’ specificare al livello di trasporto a quale TSAP di quale host deve essere fatta la connessione, in quanto il TSAP e’ predefinito dallo standard dell’applicativo server

Page 626: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

TSAP ad hoc I TSAP ben noti sono quelli che offrono servizi standardizzati

servizi che rispondono ad un protocollo ben definito generalmente lo standard specifica il TSAP da utilizzare (piu’

spesso si limita a suggerirlo) in TCP/IP esiste un sistema che, analogamente al DNS, associa

una stringa di caratteri alle porte dei servizi, ma a differenza del DNS non e’ distribuito: le associazioni si trovano in un file di testo interrogato dagli applicativi (/etc/services in unix/linux)

Se si devono utilizzare applicativi sviluppati localmente, per funzioni specifiche, la strategia da utilizzare e’ quella di definire un TSAP per questo servizio sulle sole macchine interessate dalla applicazione il client in qualche modo deve essere messo al corrente del

TSAP da utilizzare buona norma e’ quella di non utilizzare TSAP assegnati ai servizi

standardizzati

Page 627: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Sistemi e Tecnologie della Comunicazione

Lezione 23: transport layer: TCP e UDP

Page 628: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Trasporto in TCP/IP TCP/IP utilizza due protocolli di trasporto

UDP (User Datagram Protocol): protocollo inaffidabile connection less

TCP (Transmission Control Protocol): protocollo connection oriented affidabile

Entrambi i protocolli forniscono una interfaccia agli applicativi per la trasmissione dei dati, ed utilizzano IP per il trasporto dei dati (e, nel caso di TCP, delle informazioni di controllo del protocollo)

Esiste una interfaccia di programmazione, chiamata socket, standardizzata per il linguaggio C esistono implementazioni di interfacce al socket anche per altri

linguaggi (ad esempio per il perl) Questo rende possibile scrivere applicazioni specifiche

(home-made) che debbano far uso della rete di trasmissione dati in aggiunta agli applicativi standardizzati esistenti (generalmente forniti con il sistema operativo)

Page 629: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Indirizzamento del trasporto in TCP/IP

Le applicazioni che utilizzano il TCP/IP si registrano sullo strato di trasporto ad un indirizzo specifico, detto porta

La porta e’ il meccanismo che ha a disposizione una applicazione per identificare l’applicazione remota a cui inviare i dati

La porta e’ un numero di 16 bit (da 1 a 65535; la porta 0 non e’ utilizzata)

TCP/IP permette alla applicazione di registrarsi su una porta definita (nel caso dei server) o su una qualunque porta libera scelta dal livello di trasporto (spesso e’ il caso dei client)

Per rendere funzionali i servizi di utilizzo diffuso, TCP/IP prevede che determinati servizio utilizzino dal lato server delle porte ben definite il valore dei numeri di porta vengono definiti negli RFC che definiscono il

protocollo delle applicazioni in questione Esiste una autorita’ centrale, lo IANA (Internet Assigned Numbers

Authority), che pubblica la raccolta dei numeri di porta assegnati alle applicazioni negli RFC (http://www.iana.org) non solo: lo IANA centralizza la gestione anche di altro, come le

assegnazioni dei numeri di protocollo dei diversi protocolli di trasporto utilizzati nel protocol number di IP o l’assegnazione dei domini di primo livello del DNS

Page 630: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

User Datagram Protocol UDP implementa un servizio di consegna inaffidabile dei dati

a destinazione UDP riceve i dati dalla applicazione e vi aggiunge un header

di 8 byte, costruendo cosi’ il segmento da inviare L’applicazione specifica (l’indirizzo di rete e) la porta di

destinazione, ed in ricezione UDP recapita il campo dati al destinatario

UDP non si preoccupa di sapere nulla sul destino del segmento inviato, ne’ comunica alla applicazione qualsiasi informazione

Di fatto costituisce semplicemente una interfaccia ad IP (che fornisce lo stesso tipo di servizio), con l’aggiunta di fare multiplexing del traffico delle applicazioni su IP tramite il meccanismo delle porte a cui sono associate le

applicazioni, di fatto UDP realizza un multiplexing dei dati delle diverse applicazioni su IP

Page 631: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Orientato al datagramma

A differenza di TCP, UDP si occupa di un datagramma per volta quando una applicazione passa dati ad UDP, UDP

li maneggia in un unico segmento, senza suddividerlo in pezzi

il segmento di massime dimensioni che UDP puo’ gestire deve stare interamente nel campo dati del pacchetto IP

il segmento viene passato ad IP che eventualmente lo frammenta, ma a destinazione UDP ricevera’ il datagramma intero

l’applicazione di destinazione ricevera’ quindi il blocco completo di dati inviato dalla applicazione che li ha trasmessi

Page 632: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Il segmento UDP

Il segmento UDP e’ costituito da un header di lunghezza fissata (8 byte) piu’ il campo dati, che deve avere dimensione massima tale da stare dentro il campo dati di IP poiche’ il pacchetto IP puo’ essere lungo

65535 byte, il campo dati UDP puo’ essere lungo al massimo (65535 – 8 – lunghezza header IP) byte

Page 633: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

UDP header

L’header e’ costituito da quattro campi di due byte: source e destination port: le porte di associazione alle

applicazioni mittente e destinataria dei dati length: lunghezza del segmento in byte (compreso

l’header) checksum: questo campo contiene una checksum del

segmento completo (anzi: viene aggiunto uno pseudo-header con le informazioni degli indirizzi IP di sorgente e destinazione)

l’utilizzo del campo checksum e’ opzionale, e l’applicativo puo’ decidere di non utilizzarlo (in questo caso il campo e’ riempito con zeri)

molti applicativi non lo utilizzano per motivi di efficienza se viene utilizzato, un errore provoca la rimozione del

segmento senza che vengano prese altre iniziative

Page 634: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Caratteristiche di UDP

Benche’ inaffidabile, UDP ha caratteristiche che per molte applicazioni sono appetibili puo’ utilizzare trasmissione multicast o

broadcast TCP e’ un protocollo orientato alla connessione, quindi

per definizione non puo’ gestire una comunicazione tra piu’ di due entita’

e’ molto leggero, quindi efficiente la dimensione ridotta dell’header impone un overhead

minimo, ed una rapidita’ di elaborazione elevata la mancanza di meccanismi di controllo rende ancora

piu’ rapida l’elaborazione del segmento ed il recapito dei dati

Page 635: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Applicativi che utilizzano UDP

Applicativi che necessitano di trasmissioni broadcast Applicativi per i quali la perdita di una porzione di dati non e’

essenziale, ma richiedono un protocollo rapido e leggero stream voce/video

Applicativi che si scambiano messaggi (e non flussi di byte) di piccole dimensioni, e che non risentono della perdita di un messaggio interrogazione di database sincronizzazione oraria in questi casi la perdita della richiesta e della risposta provoca

un nuovo tentativo di interrogazione Applicativi che necessitano di risparmiare l’overhead

temporale provocato dalla connessione, ed implementano a livello di applicazione il controllo della correttezza dei dati ad esempio applicativi che scambiano dati con molti host,

rapidamente, per i quali dover stabilire ogni volta una connessione e’ peggio che ritentare se qualcosa va storto

Page 636: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Applicativi standard su UDP

Sono molti, ed in aumento Gli applicativi che storicamente utilizzano

UDP sono DNS, sulla porta 53 TFTP (Trivial File Transfer Protocol), sulla porta 69 NetBIOS Name Service (anche WINS) sulla porta

137 SNMP (Simple Network Management Protocol)

sulla porta 161 NTP (Network Time Protocol) sulla porta 123 NFS (Network File System) via portmap

Page 637: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Transmission Control Protocol

TCP e’ stato progettato per offrire un flusso di byte affidabile orientato alla connessione

TCP offre i seguenti servizi allo strato applicativo: protocollo orientato alla connessione affidabilita’ dei dati (controllo,

ritrasmissione, ordinamento) gestione del controllo di flusso gestione della congestione

Page 638: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Trasmissione dei dati in TCP

TCP trasmette dati in segmenti, ciascuno costituito da un header ed un campo dati

TCP considera i dati da trasmettere come flusso di byte (a differenza di UDP che opera in termini di messaggi)

TCP utilizza buffer in trasmissione e ricezione per la gestione dei dati TCP non invia necessariamente i dati appena li riceve dalla

applicazione: per motivi di efficienza puo’ tenere nei buffer i dati da inviare fino a che non ce ne siano abbastanza per evitare messaggi troppo piccoli

L’informazione sul numero di sequenza e’ quindi riferito al byte trasmesso, ed e’ utilizzato sia per l’acknowledge che per il riordinamento e la ritrasmissione

Page 639: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Dimensione del segmento TCP

Il segmento TCP e’ costituito da un header di 20 byte (piu’ campi opzionali, come in IP) seguito dal campo dati

La dimensione massima del segmento TCP deve stare nel campo dati di un pacchetto IP poiche’ il pacchetto IP ha lunghezza massima

65535 byte, con un header di 20 byte, il campo dati di TCP avra’ valore massimo 65495 byte (ma in caso di utilizzo di intestazione estesa sara’ meno)

Page 640: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

MTU, MRU e MSS Ogni rete e’ caratterizzata dall’avere un valore massimo della

dimensione del campo dati nel frame a livello 2 Questa lunghezza si chiama MTU (Maximum Transfer Unit)

nel caso di Ethernet, la MTU e’ di 1500 byte Ogni volta che IP deve inviare un pacchetto piu’ grande della MTU

deve frammentare Per motivi di efficienza TCP tiene conto di questo, e la MTU

solitamente definisce la dimensione massima del segmento TCP (meno i 20 byte dell’header IP) va osservato che TCP non sa nulla sulla eventuale intestazione estesa di

IP, che potrebbe ridurre il campo utile nel pacchetto IP: in questo caso si avrebbe frammentazione

Per tentare di raggiungere la massima efficienza, i due lati della connessione TCP si scambiano le informazioni delle rispettive MTU, in modo che il trasmittente possa correttamente dimensionare i segmenti in base al valore minimo tra le due MTU (quella in ricezione viene chiamata MRU: Maximum Receive Unit) per definire la MSS (Maximum Segment Size)

MSS = min(MTU,MRU) – 20 byte In caso di mancanza di informazioni (dipende dalle implementazioni

del TCP) viene utilizzato come valore di default 536 byte (il valore di default del pacchetto IP: 576 bytes meno i 20 byte di header IP e meno i 20 byte dell’header TCP

Page 641: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Connessione TCP TCP utilizza per la connessione il meccanismo di handshake a

3 vie un segmento (SYN) viene inviato dal client al server; questo

trasporta il sequence number iniziale del client, e le informazioni di porta sorgente e destinazione

un segmento (SYN+ACK) viene inviato in risposta dal server; questo trasporta l’acknowledge del SYN precedente, ed il sequence number iniziale el server, per le comunicazioni in verso opposto

se nessuno ascolta sulla porta di destinazione, il server inviera’ un segmento RST (Reset) per rifiutare la connessione

un segmento di ACK viene inviato dal client al server; questo riporta lo stesso sequence number iniziale (non sono ancora stati trasmessi dati) e l’acknowledge del secondo segmento SYN

A questo punto la connessione viene considerata stabilita (la connessione e’ definita dalla quaterna host1-port1-host2-port2)

I messaggi di SYN possono opzionalmente trasportare le informazioni di MTU/MRU per determinare il MSS della connessione

Page 642: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Disconnessione TCP

La connessione TCP e’ full duplex Per la disconnessione, si utilizza un

handshake a due vie per ogni direzione: chi vuole disconnettere invia un segmento FIN l’altro invia un ACK del FIN: il primo considera

chiusa la comunicazione in quel verso, ma non nel verso opposto

la stessa cosa fa il secondo quando non ha piu’ dati da trasmettere, ed aspetta il relativo ACK

il tutto spesso viene fatto con tre segmenti, inviando il secondo FIN assieme all’ACK del primo

Vengono utilizzati dei timer per aggirare il problema dei due eserciti

Page 643: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllo di flusso Il controllo di flusso

viene realizzato tramite la comunicazione dello spazio nei buffer disponibile in ricezione lo spazio viene

comunicato sempre in termini di byte liberi nei buffer

Come gia’ visto, il meccanismo permette al ricevente di regolare la trasmissione del trasmittente, in modo disgiunto dagli acknowledge

La “dimensione della finestra” (quanti segmenti si possono inviare) e’ data dal rapporto tra i byte a disposizione ed il valore del MSS

Page 644: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllo della congestione

Accanto alla finestra di ricezione (legata ai buffer) viene utilizzata una finestra di congestione: il limite a cui si puo’ trasmettere e’ il minimo tra la finestra di ricezione e quella di congestione

Per prevenire le congestioni, il TCP utlizza una tecnica detta “slow start”: inizialmente il trasmittente inizializza la finestra di congestione al valore

del MSS, ed invia un segmento se il segmento riceve l’ACK, raddoppia la finestra di congestione, e via

cosi’ fino al massimo valore determinato dalla finestra di ricezione, o fino a che si incontra un timeout; questo valore viene quindi mantenuto per la comunicazione

in base alla insorgenza di timeout o di ack duplicati (o di ICMP source quench), il trasmittente puo’ valutare l’insorgere di una congestione

quando questo avviene, la finestra di congestione viene ridotta ad un MSS, ed una soglia viene impostata alla meta’ del valore precedente (il limite raggiunto dallo startup lento)

riprende la progressione iniziale, ma solo fino al valore di soglia, oltre il quale si incrementa la dimensione di un MSS per volta

In questo modo il TCP tenta di prevenire la congestione (con l’avvio lento), ed abbatte immediatamente la trasmissione di segmenti quando la congestione inizia a presentarsi, risale rapidamente fino ad un certo valore per non perdere in efficienza e poi piu’ lentamente per non ricreare le condizioni di congestione

Page 645: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Controllo della congestione

Page 646: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Header TCP

Page 647: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Header TCP (cont.) source e destination port

le porte del sorgente e del destinatario, che permettono di identificare le applicazioni a cui sono destinati i dati (16 bit ciascuna)

sequence number (32 bit) il valore del primo byte trasmesso nel segmento; all’atto della

connessione viene stabilito il valore iniziale, basato sul clock del trasmittente

acknowledge number (32 bit) il valore dell’ultimo byte riscontrato piu’ uno (cioe’ del successivo

atteso) TCP header length (4 bit)

il numero di gruppi di 32 bit contenuti nella intestazione; necessario perche’ sono previsti campi opzionali (non piu’ di 60 byte)

flag URG (urgent) il campo dati contiene dati urgenti, che devono essere passati alla

applicazione prima degli altri ancora in attesa nei buffer (ad esempio: il CTRL^C in applicazioni di terminale remoto)

Page 648: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Header TCP (cont.) flag ACK

il segmento trasporta un riscontro; tutti i segmenti tranne il primo dovrebbero averlo settato

flag PSH (push) indica che l’applicativo ha richiesto l’invio dei dati senza

ulteriore attesa (ed in ricezione deve essere fatto lo stesso) flag RST (reset)

utilizzato per comunicare che la connessione deve essere abortita, o quando viene rifiutata una nuova connessione

flag SYN (synchronize) utilizzato per stabilire una connessione; questi segmenti

definiscono il sequence number iniziale per i due versi flag FIN (finish)

utilizzato per comunicare alla controparte che non si hanno piu’ dati da inviare e che si desidera chiudere la connessione; il doppio FIN con relativo riscontro genera il rilascio della connessione

Page 649: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Header TCP (cont.)

window size (16 bit) la dimensione in byte dello spazio disponibile dei buffer in

ricezione: il valore massimo e’ di 64 KB le reti moderne molto veloci rendono questo limite

inefficiente: e’ possibile utilizzare un header opzionale per accordarsi su una window size a 30 bit (buffer fino ad 1 GB)

checksum (16 bit) obbligatoria per TCP (al contrario di UDP); anche in TCP la

checksum viene calcolata su tutto il segmento piu’ uno pseudo header che riporta gli indirizzi IP di sorgente e destinazione

urgent pointer (16 bit) definisce l’offset dell’ultimo byte facente parte dei dati

urgenti quando la flag URG e’ settata

Page 650: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Header opzionali

Le opzioni sono definite da una lunghezza, un tipo, ed i dati relativi; sono definite diverse opzioni, tra cui: padding: necessario in presenza di opzioni per rendere il

campo header nel suo complesso un multiplo di 32 bit MSS: utilizzato con i segmenti SYN per determinare il MSS

scambiandosi i valori di MTU ed MRU window scale: utilizzata per definire la dimensione della

finestra fino a 30 bit selective acknowledge: TCP utilizza normalmente il go-

back-N; questa opzione permette di utilizzare il selective reject

timestamp: utilizzata per valutare (a livello di trasporto) il round trip time e poter definire valori opportuni per i timer interni

Page 651: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Applicazioni che usano TCP

Tutte quelle che richiedono affidabilita’ dei dati, e che non hanno bisogno della comunicazione multicast/broadcast la comunicazione in TCP e’ orientata alla connessione tra

due punti terminali; non puo’ quindi supportare comunicazione multicast

Esistono tantissime applicazioni; tra le piu’ diffuse: file transfer (port 21) login remoto criptato (ssh, port 22) login remoto (port 23) posta elettronica (port 25) TFTP (port 69) (esiste anche su UDP) HTTP (port 80) (il protocollo del World Wide Web) …

Page 652: Sistemi e Tecnologie della Comunicazione Corso di Laurea in Informatica – Universita’ degli Studi di Genova – Alessandro Brunengo.

Riferimenti

Network Layer: Tanenbaum cap. 5 fino a § 5.2.6, da § 5.3

a § 5.3.5, da § 5.5 a § 5.6.5, e § 5.6.8 Transport Layer:

Tanenbaum cap. fino a § 6.1.2, da § 6.2 a § 6.2.4, da § 6.4 a § 6.4.1, da § 6.5 a § 6.5.9

interessante (non fatto a lezione e non richiesto all’esame) il paragrafo 6.6 sulle prestazioni di una rete