CORSO DI RETI DI CALCOLATORI -...

64
CORSO DI RETI DI CALCOLATORI Ingegneria Informatica (A.A. 2004/2005) Introduzione o Scopi delle reti di calcolatori: Applicazioni aziendali. Applicazioni domestiche. Applicazioni mobili. o Hardware di rete: Reti locali. Metropolitan Area Network. Wide Area Network. Reti wireless. Reti domestiche. Reti tra sistemi. o Software di rete: Gerarchie di protocolli. Progettazione degli strati. Servizi orientati alla connessione e senza connessione. Primitive di servizio. o Modelli di riferimento: Il modello di riferimento OSI. L'architettura TCP/IP. Confronto tra OSI e TCP/IP. o Esempio di rete: Internet Lo strato fisico o Le basi teoriche: Analisi di Fourier. Segnali a banda limitata. La velocità massima di un canale. o Mezzi di trasmissione guidati: Mezzi magnetici. Doppino telefonico. Cavo coassiale. Fibra ottica. o Trasmissioni wireless: Trasmissioni radio. Trasmissione a microonde. Infrarosso ed onde millimetriche. Trasmissione a onde luminose. o Comunicazioni satellitari: Satelliti geostazionari. Satelliti su orbite medie. Satelliti su orbite basse. o I collegamenti locali: Modem, ADSL e connessioni wireless. Lo strato data link o Progetto dello strato data link: Servizi forniti allo strato network. Suddivisione in frame. Controllo degli errori. Controllo di flusso. o Rilevazione e correzione degli errori: Codici per la correzione degli errori. Codici di Hamming. Codici a rilevazione di errori. Controllo ciclico di ridondanza (CRC). o Protocolli data link elementari: Simplex senza restrizioni. Simplex stop-and-wait. Simplex su canali rumorosi. o Protocolli sliding window: Protocollo sliding window ad 1 bit. Protocollo "go back n". Protocollo a ripetizione selettiva. o Verifica dei protocolli: Modelli a stati finiti. Modelli a rete di Petri. o Lo strato data link in Internet: Il protocollo PPP. Il sottostrato MAC o Il problema dell'assegnazione del canale: Assegnazione statica. Assegnazione dinamica. o Protocolli ad accesso multiplo: ALOHA. Protocolli CSMA. Protocolli senza collisione. Protocolli a contesa limitata. Protocolli per LAN wireless. o Ethernet: Cablaggio Ethernet. Codifica Manchester. Il MAC di Ethernet. L'algoritmo di backoff esponenziale binario. Prestazioni di Ethernet. Ethernet commutata. Fast Ethernet. Gigabit Ethernet. LLC. o LAN wireless: Lo standard IEEE 802.11. Lo strato fisico. Il sottostrato MAC. La struttura delle frame. o Wireless a larga banda: Lo standard IEEE 802.16. Lo strato fisico. Il sottostrato MAC. La struttura delle frame. o Bluetooth: Architettura. Applicazioni. La pila di protocolli e lo standard IEEE 802.15. Lo strato radio. Lo strato baseband. Lo strato L2CAP. La struttura delle frame. o La commutazione nello strato data link: Bridge tra 802.x e 802.y. Internetworking locale. Bridge spanning Tree. Bridge remoti. Ripetitori, hub, bridge, switch, router e gateway. LAN virtuali. Lo strato Network o L'architettura dello strato network: Commutazione di pacchetto store-and-forward. Servizi offerti allo strato di trasporto. Implementazioni di servizi senza connessione. Implementazione di servizi orientati alla connessione. Confronto tra sottoreti a circuito virtuale e a datagrammi. 1

Transcript of CORSO DI RETI DI CALCOLATORI -...

Page 1: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

CORSO DI RETI DI CALCOLATORI

Ingegneria Informatica (A.A. 2004/2005)

• Introduzione o Scopi delle reti di calcolatori: Applicazioni aziendali. Applicazioni domestiche.

Applicazioni mobili. o Hardware di rete: Reti locali. Metropolitan Area Network. Wide Area Network. Reti

wireless. Reti domestiche. Reti tra sistemi. o Software di rete: Gerarchie di protocolli. Progettazione degli strati. Servizi orientati alla

connessione e senza connessione. Primitive di servizio. o Modelli di riferimento: Il modello di riferimento OSI. L'architettura TCP/IP. Confronto tra

OSI e TCP/IP. o Esempio di rete: Internet

• Lo strato fisico o Le basi teoriche: Analisi di Fourier. Segnali a banda limitata. La velocità massima di un

canale. o Mezzi di trasmissione guidati: Mezzi magnetici. Doppino telefonico. Cavo coassiale. Fibra

ottica. o Trasmissioni wireless: Trasmissioni radio. Trasmissione a microonde. Infrarosso ed onde

millimetriche. Trasmissione a onde luminose. o Comunicazioni satellitari: Satelliti geostazionari. Satelliti su orbite medie. Satelliti su

orbite basse. o I collegamenti locali: Modem, ADSL e connessioni wireless.

• Lo strato data link o Progetto dello strato data link: Servizi forniti allo strato network. Suddivisione in frame.

Controllo degli errori. Controllo di flusso. o Rilevazione e correzione degli errori: Codici per la correzione degli errori. Codici di

Hamming. Codici a rilevazione di errori. Controllo ciclico di ridondanza (CRC). o Protocolli data link elementari: Simplex senza restrizioni. Simplex stop-and-wait.

Simplex su canali rumorosi. o Protocolli sliding window: Protocollo sliding window ad 1 bit. Protocollo "go back n".

Protocollo a ripetizione selettiva. o Verifica dei protocolli: Modelli a stati finiti. Modelli a rete di Petri. o Lo strato data link in Internet: Il protocollo PPP.

• Il sottostrato MAC o Il problema dell'assegnazione del canale: Assegnazione statica. Assegnazione

dinamica. o Protocolli ad accesso multiplo: ALOHA. Protocolli CSMA. Protocolli senza collisione.

Protocolli a contesa limitata. Protocolli per LAN wireless. o Ethernet: Cablaggio Ethernet. Codifica Manchester. Il MAC di Ethernet. L'algoritmo di

backoff esponenziale binario. Prestazioni di Ethernet. Ethernet commutata. Fast Ethernet. Gigabit Ethernet. LLC.

o LAN wireless: Lo standard IEEE 802.11. Lo strato fisico. Il sottostrato MAC. La struttura delle frame.

o Wireless a larga banda: Lo standard IEEE 802.16. Lo strato fisico. Il sottostrato MAC. La struttura delle frame.

o Bluetooth: Architettura. Applicazioni. La pila di protocolli e lo standard IEEE 802.15. Lo strato radio. Lo strato baseband. Lo strato L2CAP. La struttura delle frame.

o La commutazione nello strato data link: Bridge tra 802.x e 802.y. Internetworking locale. Bridge spanning Tree. Bridge remoti. Ripetitori, hub, bridge, switch, router e gateway. LAN virtuali.

• Lo strato Network o L'architettura dello strato network: Commutazione di pacchetto store-and-forward.

Servizi offerti allo strato di trasporto. Implementazioni di servizi senza connessione. Implementazione di servizi orientati alla connessione. Confronto tra sottoreti a circuito virtuale e a datagrammi.

1

Page 2: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

2

o Algoritmi di routing: Algoritmi di routing non adattativi e adattativi. Algoritmo basato sul percorso più breve. Flooding. Routing basato sul vettore delle distanze. Routing basato sullo stato dei collegamenti. Routing gerarchico. Routing broadcast. Routing multicast.

o Algoritmi per il controllo della congestione: Principi generali. Criteri di prevenzione. Controllo della congestione nelle sottoreti a circuito virtuale e a datagrammi. Load shedding. Controllo del jitter.

o Qualità del servizio: Requisiti e tecniche per la gestione della qualità del servizio. L'algoritmo leaky bucket e token bucket.

o Collegamento tra reti: Problematiche. Tunnelling. Routing in una internetwork. Il problema della frammentazione.

o Lo strato network di Internet: Il protocollo IP. Indirizzi IP. Maschere di sottore e segmentazione. Protocolli di controllo Internet: ICMP, ARP, RARP, BOOT e DHCP. Protocollo di routing per i gateway interni: OSPF. Protocollo di routing per i gateway esterni: BGP. IPV6.

• Lo strato di trasporto o Il servizio di trasporto: I servizi offerti allo strato superiore. Le primitive del servizio di

trasporto. I socket Berkeley. o Gli elementi dei protocolli di trasporto: Indirizzamento. Instaurazione e rilascio di una

connessione. Il controllo del flusso e il buffering. Il multiplexing. o Un semplice protocollo di trasporto: Esempio di implementazione di una entità di

trasporto. La sua macchina a stati finiti. o I protocolli di trasporto Internet: UDP: Il formato dei pacchetti. o o I protocolli di trasporto Internet: TCP: Il modello di servizio. Il protocollo.

L'intestazione dei segmenti. Instaurazione e rilascio delle connessioni. Il modello di gestione della connessione. I criteri di trasmissione. Il controllo della congestione. La gestione dei timer.

• Domain Name System: Lo spazio dei nomi: piatto e gerarchico. Il DNS di Internet. Le zone di autorità. La risoluzione dei nomi: query iterative e ricorsive. La risoluzione inversa. I record delle risorse.

Page 3: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

3

INTRODUZIONE: Classificazione delle reti (tassonomia)

Basate sulla tecnologia trasmissiva: la topologia della rete, e quindi le caratteristiche della comunicazione Basate sulla scala dimensionale:l’estensione fisica della rete, e quindi l’utilizzo della rete

Tecnologia trasmissiva Esistono essenzialmente due differenti topologie di rete: 1. reti broadcast: un unico canale di comunicazione è condiviso da tutti i calcolatori 2. reti punto a punto: ogni canale di comunicazione collega due diversi calcolatori della rete Le reti broadcast In una rete broadcast tutti i calcolatori sono connessi ad un unico canale trasmissivo. La comunicazione è basata su piccole sequenze di dati (pacchetti). In ciascun pacchetto è riportato un identificatore del calcolatore a cui i dati sono destinati. Ogni calcolatore legge tutti i pacchetti, ma considera solo quelli indirizzati a se stesso. E’ generalmente possibile indirizzare un pacchetto a tutti i calcolatori nella rete (broadcasting). Alcune reti permettono anche il multicasting, ossia l’invio di pacchetti ad un sottoinsieme dei calcolatori nella rete. Due tipiche topologie: bus ed anello(ring) In ogni istante un solo calcolatore può trasmettere. Cosa succede se due calcolatori iniziano a trasmettere contemporaneamente? Esempi commerciali: Ethernet e TokenRing Le reti punto-punto Per arrivare alla sua destinazione, ogni pacchetto deve attraversare più calcolatori Sono anche dette in inglese store-and-forward networks In generale esistono molti percorsi che portano alla stessa destinazione, quindi è necessario sceglierne uno: routine (o instradamento) dei pacchetti. Le scala dimensionale In base alla scala dimensionale, le reti si possono classificare in:

reti locali reti metropolitane reti geografiche

Reti locali - LAN (Local Area Network) Hanno una dimensione massima prefissata (fino a pochi chilometri), quindi si conosce il ritardo massimo di un pacchetto Hanno un basso tasso d’errore Sono generalmente di tipo broadcast, con una velocità di trasmissione da 10 Mbps a 10 Gbps. Sono in genere basate su topologia a bus oppure ad anello (ring) Reti metropolitane - MAN (Metropolitan Area Network) Hanno una dimensione ben superiore alle LAN, coprono una intera città Le vecchie MAN erano basate su tecnologie per le reti geografiche Negli Stati Uniti le prime MAN sono nate sfruttando la rete di televisione via cavo.

Page 4: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Reti geografiche –WAN (Wide Area Network) Possono estendersi per intere nazioni o continenti, o su scala planetaria Sono costituite da due componenti distinte:

un insieme di elaboratori detti host (i calcolatori che si intendono effettivamente collegare) una communication subnet che connette gli host tra di loro, costituita da:

linee di trasmissione (anche dette canali o trunk) elementi di commutazione (anche detti switching element o router)

Una WAN collega solitamente più LAN e MAN tra loro La communication subnet è in genere realizzata con una topologia punto-punto Alcune communication subnet sono realizzate con topologia wireless oppure mista (ad es., quando basate su trasmissioni radio o satellitari)

Le reti wireless Comunicazione con segnale radio od ottico (laser, infrarosso) nell’etere. Generalmente con canale di comunicazione condiviso per segnali radio, con canale di comunicazione “punto-punto” per segnali ottici Il tasso d’errore della trasmissione è molto alto Usate per mobile computing e integrazione con la telefonia cellulare e satellitare Categorie di reti wireless

o Connessioni all’interno di un sistema o Wireless LAN o Wireless WAN

- Bluetooth configuration - Wireless LAN - Computer portatili individuali - LAN volante Reti domestiche Computer (desktop PC, PDA, periferiche condivise) Intrattenimento (TV, DVD, VCR, videocamera, stereo, MP3) Telecomunicazioni (telefoni, telefoni cellulari, citofoni, fax) Elettrodomestici (microonde, frigoriferi, orologi, condizionatori, lampade) Telemetria (contatori, allarmi, sistemi di sorveglianza) Internetworking Si ha internetworking quando due o più reti (LAN, MAN, o WAN) sono connesse tra loro. Una particolare internetwork è detta Internet Software di rete

4

Page 5: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Gerarchie dei protocolli Progettazione degli strati Servizi Connection-Oriented e Connectionless Primitive di servizio Relazione tra servizi e protocolli Per facilitare la progettazione, la verifica, l’implementazione ed il testing, il software di rete è altamente strutturato ed organizzato in gerarchie di protocolli (protocol hierarchies) Le reti sono organizzate in livelli (layers), ciascuno dei quali è costruito sopra il precedente Lo scopo di ogni livello è fornire servizi al livello immediatamente superiore, nascondendo i dettagli su come tali servizi sono implementati Ciascun tipo di rete ha:

un diverso numero di livelli diversi nomi e funzioni associati a ciascun livello

Gerarchie di protocolli Il livello n su un host “dialoga” con il livello n di un altro host (solo logicamente!) Regole e convenzioni della comunicazione a livello n sono indicate col termine protocollo di livello n Le entità logiche che portano avanti la conversazione a livello n sono dette peer entità (entità di pari livello) Ciascuna peer entity di livello n porta avanti il dialogo utilizzando i servizi offerti dal livello n - 1 Fra ogni coppia di livelli adiacenti c’è una interfaccia L’interfaccia definisce

1. i servizi offerti dal livello sottostante 2. le operazioni primitive che possono essere richieste al livello sottostante

Analogia con i sistemi operativi : l’interfaccia tra il livello superiore e quello inferiore è simile alle API (funzioni di libreria e chiamate di sistema) tra i programmi applicativi ed il sistema operativo

Architettura di rete Una collezione di livelli e relativi protocolli è chiamata architettura di rete Due host possono dialogare anche se utilizzano diverse piattaforme hardware e diversi sistemi operativi, purché adottino la stessa architettura di rete L’insieme dei protocolli di una architettura utilizzati su un certo host viene detto pila di protocolli (protocol stack).

5

Page 6: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

I principi di progetto dei livelli OSI Ogni livello deve avere un diverso livello di astrazione Ogni livello deve avere una funzione ben definita I livelli devono essere tali da:

minimizzare il passaggio di informazioni tra i livelli evitare troppe funzioni in un livello evitare troppi livelli

I sette livelli OSI

OSI – Livello Fisico Ha a che fare con la trasmissione di bit “grezzi” sul mezzo fisico: deve fare in modo che se parte un bit “1”, arriva un bit “1”, e non un bit “0”, e viceversa Tipiche specifiche definite dal livello:

1. tensioni scelte per rappresentare 0 ed 1 2. durata di un bit 3. modalità di trasmissione simultanea 4. forma dei connettori

OSI – Livello Data Link Il suo scopo principale è far apparire il mezzo trasmissivo come un canale di comunicazione esente da errori non rilevati Deve quindi:

1. raggruppare i bit da inviare in PDU chiamate frame e aggiungere delimitatori al frame (framing) 2. inviare i frame in sequenza 3. aspettare un acknowledgment frame (ack) per i frame inviati

Lunghezza del frame: dal centinaio al migliaio di byte Il livello deve anche:

gestire gli errori di trasmissione: errori in ricezione (un frame non viene completato) perdita di frame (timeout per un ack) duplicazione di frame (dovuta a perdita di un frame di ack)

realizzare meccanismi per l’invio dell’ack: con frame separati con piggybacking (da pickaback, “portare sulle spalle”)

regolare il traffico e per reti broadcast, arbitrare l’accesso al canale (sottolivello MAC)

6

Page 7: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

7

OSI – Livello Network Controlla il funzionamento della communication subnet. Alcune delle sue funzioni:

routing dei pacchetti: routing statico (fissato ogni tanto e raramente variabile) routing dinamico (continuamente aggiornato fra un pacchetto all’altro)

gestione della congestione della communication subnet accounting (contabilizzazione) del traffico conversione di dati nel passaggio fra una rete ed un’altra (indirizzi da rimappare, pacchetti da

frammentare, protocolli diversi da gestire, . . . ) OSI – Livello Transport Frammenta i dati che arrivano dal livello superiore in pacchetti Trasmette i dati alla peer entity finale Isola i livelli superiori dalla tecnologia particolare della rete sottostante Utilizza connessioni di livello network:

una connessione network per una connessione transport molte connessioni network per una conness. transport (alto throughput) una connessione network per molte connessioni transport (multiplexing)

Controlla la congestione (flow control) Offre varie tipologie di servizio (connection-oriented affidabile, connectionless, broadcasting,. . . ) OSI – Livello Session Permette agli utenti su diversi calcolatori di stabilire sessioni di lavoro tra di loro Una sessione è analoga ad una connessione transport, però può fornire servizi supplementari quali:

controllo della direzione del traffico sincronizzazione tra applicazioni basata su token management frammentazione di lunghe attività (ad esempio, trasferimento di file) in tronconi rieseguibili

indipendentemente OSI – Livello Presentation Si occupa della sintassi e della semantica delle informazioni da trasferire Servizi tipicamente svolti:

nell’host di partenza, convertire tipi di dati standard (stringhe, interi, . . . ) in una rappresentazione comune “on the wire”

nell’host di arrivo, convertire la rappresentazione “on the wire” dei tipi di dati standard nella rappresentazione specifica dell’host

OSI – Livello Application Fornisce tutti i protocolli utilizzati dalle applicazioni comunemente usate dall’utente. Ad esempio:

1. Posta elettronica 2. Terminale virtuale 3. Trasferimento di file 4. World Wide Web …

Internet Protocol Suite (IPS) Internet deriva da ARPANET, una rete geografica di derivazione militare americana L’obiettivo fondamentale era l’affidabilità: la rete doveva continuare a funzionare anche se intere porzioni di essa fossero state distrutte Col tempo, Internet si è diffusa in tutto il mondo ed ha acquisito la capacità di integrare reti utilizzanti ogni tipo di tecnologia ed architettura L’architettura di Internet è chiamata Internet Protocol Suite, ed anche, impropriamente, architettura TCP/IP e TCP/IP reference model

Page 8: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

I livelli TCP/IP

IPS – Livello Host-to-Network Corrisponde ai livelli Fisico e Data Link del modello OSI L’architettura TCP/IP non specifica nulla in questo livello: deve solo garantire che il calcolatore possa trasmettere pacchetti sulla rete I protocolli utilizzati possono dunque variare da calcolatore a calcolatore e da rete a rete IPS – Livello Internet E’ il livello fondamentale dell’architettura: permette agli host di inviare pacchetti su qualunque rete e instradarli verso la loro destinazione. Definisce un formato standard dei pacchetti Definisce un protocollo chiamato IP (Internet Protocol) Principalmente svolge compiti di:

1. routing dei pacchetti 2. controllo della congestione

IPS – Livello Transport Consente la comunicazione tra le peer entità degli host sorgente e destinazione (“end-to-end”) Sono definiti due diversi servizi, con relativi protocolli:

1. un servizio connection-oriented affidabile 2. un servizio connectionless non affidabile

IPS – Livello Transport – TCP Il servizio connection-oriented è affidabile ed è definito da un protocollo chiamato TCP (Transmission Control Protocol) Il servizio riceve un flusso di dati e lo spezzetta in pacchetti, che vengono ricomposti in ordine e senza errori dall’entità di pari livello sull’host destinazione Il servizio gestisce anche il controllo della velocità di trasmissione (flow control) IPS – Livello Transport – UDP Il servizio connectionless è non affidabile ed è definito da un protocollo chiamato UDP (User Datagram Protocol) Il servizio riceve un pacchetto che invia all’entità di pari livello sull’host destinazione I pacchetti possono arrivare in ordine diverso da quello dell’invio, o non arrivare affatto IPS – Livello Application Fornisce tutti i protocolli utilizzati dalle applicazioni Poiché mancano i livelli OSI Session e Presentation, le relative funzionalità devono essere realizzate direttamente dalle applicazioni che le richiedono (nessun supporto è fornito dall’architettura) I primi servizi offerti, con relativi protocolli, erano:

terminale virtuale TELNET trasferimento di file FTP (File Transfer Protocol) posta elettronica SMTP (Simple Mail Transfer Protocol)

8

Page 9: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Successivamente sono stati aggiunti al livello molti atri servizi, quali: indirizzi simbolici DNS (Domain Name Service) sincronizzazione temporale NTP (Network Time Protocol) booting via rete BOOTP (BOOTstrap Protocol) prelievo di posta elettronica POP (Post Office Protocol) news NNTP (Network News Transfer Protocol) esecuzione remota di procedure RPC (Remote Procedure Call) World Wide Web HTTP (HyperText Transfer Protocol)

IPS – Protocolli e reti (iniziali)

Critiche al modello OSI

1. Poca tempestività 2. Tecnologia scadente 3. Implementazioni carenti 4. Incapacità politica 5. Poca tempestività

Pregi e difetti del modello OSI

È un modello molto generale Χ i livelli non sono ben progettati:

o Session e Presentation sono praticamente inutili o Data Link è stato sdoppiato per le reti broadcast o funzionalità duplicate in vari livelli (ad es, gestione degli errori)

Χ l’internetworking non è stato quasi considerato Χ non ha avuto successo commerciale

Pregi e difetti del modello TCP/IP

descrive fedelmente l’architettura TCP/IP Χ non è applicabile ad altre architetture Χ non vi è chiara distinzione tra servizi, interfacce e protocolli

notevole successo commerciale (standard de facto) Χ a livello Network (Internet), solo un servizio connectionless Χ molti protocolli del livello Application sono ormai obsoleti (ad es., TELNET)

La rete GARR • Nasce alla fine degli anni ‘80 il GARR (Gruppo per l’Armonizzazione delle Reti per la Ricerca). • Prima rete: 2Mbit/sec. • GARR-2 (seconda metà anni ‘90) – Maglia a 34Mbit/sec. • GARR-B (1998) – 155Mbit/sec. • Nel 2002 nasce GARR Consortium (Gestione e Ampliamento della Rete della Ricerca). • Si avvia il progetto GARR-Giganet.

9

Page 10: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

10

Mezzi Trasmissivi Doppino: Struttura: 2 conduttori di rame isolati, spessi circa 1mm, avvolti uno intorno all’altro in forma elicoidale in

modo da irradiare di meno (paralleli = antenna).

Velocità: può raggiungere alcuni Mb al secondo. Banda:

o Cat. 3 = 16 MHz o Cat. 5 = 100 MHz o Cat. 6 = 200 MHz o Cat. 7 = 600 MHz

Estensione: i doppini possono estendersi per centinaia di metri senza richiedere ripetitori. Cavo Coassiale: Struttura: nucleo conduttore coperto da un rivestimento isolante, a sua volta circondato da un conduttore

cilindrico solitamente realizzato con una calza di conduttori sottili, che infine è avvolto da una guaina protettiva in plastica (anima in rame, isolante, calza conduttrice, guaina di protezione in plastica).

Tipologie: o 50 Ohm = trasmissioni digitali o 75 Ohm = trasmissioni analogiche (TV e Internet via cavo)

Velocità: elevata. Banda: vicina ad 1 GHz Estensione: (lunghe distanze) utilizzato nelle reti metropolitane e per la TV via cavo. Fibra Ottica: Struttura: nucleo di vetro (al silicio e molto trasparente) in cui si propaga la luce (core) circondato da un

rivestimento di vetro (cladding) che ha un indice di rifrazione più basso, a sua volta ricoperto da una sottile fodera di plastica che protegge il rivestimento (Core, Cladding, Rivestimento in plastica).

Tipologie: o monomodali = nucleo di 8-10 micron, solo Laser, unico fascio luminoso. o multimodali = nucleo di 50 micron, LED o Laser, più fasci luminosi.

Velocità: 50Gbps per 100 Km. Banda: 25.000 - 30.000 GHz Estensione: centinaia di Km con tre tipi di connessione: connettori su prese, attacco meccanico, fusione. Comunicazioni Satellitari: Struttura: sfruttano i satelliti naturali (anni ’50 ’60) oppure i satelliti di comunicazione (capaci di amplificare il

segnale e coprire vaste aree quando è di ritorno sulla terra). Un satellite è un ripetitore di microonde collocato in cielo con diversi trasponder (ricetrasmettitori satellitari).

Caratteristiche e Problemi:o il periodo orbitale è dato dal raggio della sua orbita elevato alla potenza 3/2. o non possono occupare le fasce di Van Allen (0 – 5.000 Km e 15.000 – 20.000 Km) poiché, essendo

zone con particelle molto cariche intrappolate dal campo magnetico terrestre, verrebbero distrutti. o devono continuamente essere orientati (station keeping) e quando dopo una decina d’anni il

propellente dei motori a razzo che hanno a bordo si esaurisce il satellite va alla deriva e deve essere disattivato.

Page 11: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Tipologie: o GEO (Geostationary Earth Orbit): sono situati a 35000 Km di altitudine e disposti a intervalli non

minori di 2 gradi (se ne possono avere 360/2=180). Il sistema più diffuso è il VSAT (19,2 kbps in uplink e 512 kbps in downlink). Questo sistema usa degli hub terrestri per comunicare di satellite in satellite. Ritardo di propagazione pari a 5 µsec/km.

o MEO (Medium Earth Orbit): sono situati tra le 2 fasce di Van Allen impiegano 6 ore per fare il giro

del pianeta. Coprono un area più piccola e usano trasmettitori meno potenti. Sistema più diffuso sono i 24 satelliti GPS (Global Position System).

o LEO (Low Earth Orbit): posti sotto la fascia inferiore di Van Allen, si spostano molto rapidamente

quindi richiede molti satelliti di questo tipo. Non hanno bisogno di molta energia e il ritardo e di pochi millisecondi. Applicazioni sono Iridium(a), Globalstar(b) e Teledesic.

11

Page 12: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Rilevazione e correzione degli errori: Codici ridondanti Per codificare M simboli distinti (parole) con un codice binario, occorrono:

Un codice si dice ridondante, quando codifica gli M simboli distinti con n = m+r bit, cioè usando r bit aggiuntivi rispetto agli m bit strettamente richiesti dalla codifica binaria. L’aggiunta di bit di ridondanza permette di costruire codici che consentono di controllare eventuali errori di trasmissione. Si hanno due tipi di codici ridondanti:

o Codici a rivelazione di errore - Consentono di individuare la presenza di un errore; o Codici a correzione di errore - Consentono non solo di individuare la presenza di un errore, ma

anche di identificarne la posizione in modo da poterlo correggere. Es: Codice BCD (Binary Coded Decimal) con bit di parità. Per costruire un codice BCD a rivelazione di errore, si può aggiungere ad ogni parola codice un bit ridondante (r= 1) detto di parità. Il bit di parità viene posto a 0 o a 1, in modo tale che la somma degli uno nella parola codice sia pari:

Codici per la rilevazione degli errori - CRC Un metodo più sofisticato del semplice controllo di parità è il Controllo Ciclico di Ridondanza o CRC. Il CRC è basato sull’utilizzo di codici ciclici. In tali codici si associano stringhe di bit a polinomi. Una sequenza di K bit viene interpretata come un polinomio di K coefficienti di grado minore o uguale a K-1.

Ad esempio: L'aritmetica su cui è basato il calcolo è modulo 2, senza riporti né prestiti. Innanzitutto trasmettitore e ricevitore devono scegliere un polinomio G(x) comune, detto polinomio generatore. L'idea è quella di aggiungere alla sequenza un checksum tale che il polinomio corrispondente sia divisibile per G(x). Algoritmo per il calcolo del checksum:

o si aggiungono r bit 0 ai dati ottenendo un sequenza di m+r bit che corrispondono al polinomio

, dove r è il grado di G(x), M(x) è il polinomio corrispondente ai dati ed m il numero di bit di quest'ultimo;

o si divide per G(x) usando la divisione modulo 2

o si sottrae, modulo 2, il resto R(x) della divisione precedente a e si ottiene il nuovo dato da trasmettere completo di checksum (T(x)).

Supponiamo che durante la trasmissione si verifichi un errore e che venga ricevuta la sequenza T(x) + E(x) dove ogni bit 1 di E(x) corrisponde ad un bit che è stato invertito.

12

Page 13: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

La destinazione a questo punto calcola il resto della divisione dei dati ricevuti per G(x): Resto [(T(x) + E(x))/G(x)] = Resto [T(x)/G(x) + E(x)/G(x)] = Resto [E(x)/G(x)] Tutti gli errori E(x) che corrispondono a polinomi che non contengono G(x) saranno rilevati. Il polinomio generatore di codici ciclici non può essere un polinomio qualunque. Esistono dei criteri che rispecchiano il numero ed il tipo di errori che si vogliono rilevare. Es. quello usato nello standard IEEE 802 è:

Distanza di Hamming La distanza di Hamming fra due parole codice, si ottiene contando il numero di bit diversi in posizioni corrispondenti:

In un codice a rivelazione di errore la distanza di Hamming fra due parole codice deve essere ≥ 2, in quanto un errore singolo deve produrre una sequenza di bit che non appartiene a nessuna parola codice. In un codice a correzione di errore singolo la distanza di Hamming fra due parole codice deve essere ≥ 3, in quanto un errore singolo deve produrre una sequenza di bit che ha distanza di Hamming 1 dalla parola originaria e distanza di Hamming almeno 2 rispetto a ogni altra parola codice, in modo da identificare univocamente la parola originaria. Il codice di Hamming fornisce una procedura sistematica per generare codici ridondanti correttivi, tali che sia palese l’indicazione degli eventuali bit errati nella parola codice. Verrà considerato solo il caso di codice di Hamming autocorrettivo per bit singolo (in grado cioè di correggere un eventuale errore su un solo bit). Siano:

o m bit di parola o r bit di ridondanza o n = m + r bit di parola codice

Ognuna delle parole legali, ha n parole codice errate a distanza di Hamming 1, ottenute cambiando un bit alla volta nella parola originaria. Ognuna delle parole legali richiede (n + 1) configurazioni di bit dedicate. Per cui deve essere:

Ci consente di determinare il numero r di bit di ridondandanza per codici autocorrettivi per bit singolo. Codice di Hamming Autocorrettivo (4+3) Con m = 4 si devono avere r = 3 bit di ridondanza. Si dispongono gli m bit della parola e gli r bit di ridondanza (o di controllo) nel seguente modo:

13

Page 14: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Ad ogni bit di controllo viene assegnato un valore di parità sulle sequenze di bit individuate come dalla seguente tabella:

bit 1 Controlla la parità dei bit 1, 3, 5, 7 bit 2 Controlla la parità dei bit 2, 3, 6, 7 bit 3 Controlla la parità dei bit 4, 5, 6, 7

Il generico bit è controllato dai bit secondo la seguente tavola della verità:

La rilevazione e correzione di un eventuale bit errato avviene controllando il valore di parità dei bit di controllo. Se il valore di parità del bit di controllo è corretto si pone a zero il valore nella tabella precedente; se non è corretto si pone a 1 il valore. Esempio: se si riscontra errata la parità nei bit r1 e r3, il bit errato è b = 5. Infatti:

Esempio: Si determini il codice di Hamming per la parola su m=4 bit: 1 0 1 1 Si dispongono i bit assegnati nelle rispettive posizioni:

Quindi: r1 = 0 perché sia pari la sequenza 1, 3, 5, 7 r2 = 1 perché sia pari la sequenza 2, 3, 6, 7 r3 = 0 perché sia pari la sequenza 4, 5, 6, 7 Il codice di Hamming completo per la parola data è: 0 1 1 0 0 1 1 Esempio: Si supponga di avere la seguente parola di codice e di voler controllare se è corretta: 0100011

Quindi si verifica la correttezza dei bit di controllo: La sequenza 1, 3, 5, 7 è dispari ( r1errato) La sequenza 2, 3, 6, 7 è dispari (r2 errato) La sequenza 4, 5, 6, 7 è pari (r3 corretto)

14

Page 15: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

La parola codice data contiene un bit errato che è il bit b = 3. Infatti:

La parola codice corretta risulta quindi essere:

15

Page 16: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

16

Protocolli Data Link Elementari: Nozioni generali: lo strato network costruisce i pacchetti prendendo i messaggi dallo strato trasporto e aggiungendo un’intestazione di tipo network. Questo pacchetto viene passato allo strato data link, che lo include nel campo “info” del frame in uscita. Quando il frame arriva a destinazione, lo stato data link estrae il pacchetto dal frame e lo passa allo stato network. In questo modo lo strato network agisce come se le due macchine si stessero scambiando direttamente i pacchetti. Nella maggior parte dei protocolli si assume che il canale non sia affidabile e quindi che perda degli interi frame. Per poter ripristinare questi disastri, lo strato data link della sorgente deve far partire internamente un allarme a tempo (timer) ogni volta che invia un frame. Se non viene ricevuta nessuna risposta entro un tempo determinato, l’allarme scatta e lo strato riceve un segnale di interrupt. Simplex:

t

t

Caratteristiche: o Dati trasmessi in un'unica direzione o Strati network sempre pronti o Tempo per l’elaborazione trascurabile o Buffer infinito o Il canale di comunicazione non perde mai nessun frame

Mitten e: svolge fondamentalmente tre funzioni, ovvero prendere il pacchetto dallo strato network, costruire un frame in uscita e instradare il frame. Usa solo il campo info del frame in quanto gli altri campi servono al controllo degli errori che in questo caso sono inesistenti.

Destinatario: inizialmente aspetta che succeda qualcosa, e l’unica possibilità è l’arrivo di un frame integro. All’arrivo del frame una funzione (from_physical_layer) rimuove dal buffer hardware il frame appena arrivato e la porzione di frame che contiene dati viene passata allo strato network mentre lo strato data link torna ad aspettare un nuovo frame.

Simplex stop-and-wait:

Caratteristiche: o Traffico di tipo simplex o Il canale di comunicazione senza errori o Buffer di capacità finita o Velocità di elaborazione finita o Evitare che la trasmissione sia più veloce di quanto i dati possano essere ricevuti o Il mittente può trasmettere solo dopo che il ricevente abbia prelevato il frame

precedente dal buffer (pena la sovrastruttura dell’ultimo frame trasmesso)

Mitten e: prima di svolgere le solite funzioni di invio deve attendere che il frame precedente sia già stato consegnato allo strato network. Per sapere ciò deve attendere l’arrivo di un frame senza dati (dummy) che gli darà il permesso di riprendere l’invio di nuove informazioni.

Destinatario: ogni volta che è pronto a ricevere nuove informazioni (buffer vuoto perché i dati sono già stati consegnati allo strato network) deve inviare un frame di acknowledgement al mittente. Questo tornare indietro dei dati fa si che il canale venga utilizzato da half duplex anziché da simplex.

Simplex per canali rumorosi:

Caratteristiche: o Traffico di tipo simplex o Il canale di comunicazione commette degli errori (frame danneggiati o persi) o Buffer di capacità finita o Velocità di elaborazione finita o I frame in circolazione sono “marchiati” da un numero di sequenza per impedire che si

perda l’ack (del messaggio ricevuto dalla destinazione) e il mittente invii per due volte lo stesso frame

o Mittente e ricevente tengono memoria del frame che devono mandare e si aspettano in arrivo (rispettivamente)

Page 17: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

17

t

t

Mitten e: dopo la trasmissione del frame, la sorgente fa partire il timer. Se era già avviato esegue un reset e l fa ripartire. L’intervallo di tempo dovrebbe essere scelto in modo da consentire che il frame arrivi a destinazione, venga elaborato e che il frame di acknowledgement abbia il tempo di tornare indietro. Solo dopo tale intervallo si possono assumere persi frame o ack e ritrasmettere i dati non giunti a destinazione. Nel caso in cui scada il timer o arrivi un ack di frame danneggiato, allora ne buffer ne numero di sequenza vengono modificati e viene inviato un duplicato.

Destinatario: all’arrivo del frame, viene controllato il numero di sequenza, confrontandolo con la variabile in memoria (in cui c’è il numero del frame atteso). Se non è un duplicato viene accettato e inviato allo strato network quindi generato un acknowledgement.

Sliding Window:

Caratteristiche: o Traffico gestito su 2 canali di tipo simplex o su un canale di tipo full dulex o Il canale di comunicazione commette degli errori (frame danneggiati o persi) o Piggy-backing = l’acknowledgement sfrutta il campo ack del frame per tornare indietro

insieme ai nuovi dati così da evitare un passaggio in più. o Utilizza una finestra di invio (contiene i frame da trasmettere nella sequenza in cui

devono essere trasmessi) e una finestra di ricezione (contiene l’elenco dei frame che può ricevere e scala man mano che si aspetta un nuovo frame dopo l’arrivo del precedente)

Mitten e: memorizza fino a esaurimento buffer i frame da trasmettere datigli dallo strato network e man mano che trasmette avanza la finestra. Se riceve l’ack allora l’avanza e invia il frame successivo, se arriva un ack di errore o scade il timer viene ritrasmesso l’ultimo frame. In caso di esaurimento buffer forza lo strato network ad interrompere l’invio di nuovi pacchetti.

Destinatario: la finestra di ricezione va avanti man mano che riceve nuovi frame i quali vengono accettato solo se nel numero di sequenza giusto e atteso dalla successione di valori precedentemente determinata.

Ripristino degli errori:

a) Go back n: la destinazione scarta tutti i frame successivi all’errore senza mandare acknowledgement per questi frame scartati. Al mittente, che continua ad inviare frame ignaro, scatterà il timeout (poiché non riceve segnale dalla destinazione) e quindi riprenderà la trasmissione dal frame successivo all’ultimo di cui aveva ricevuto l’ack prima che si verificasse l’errore. La finestra di ricezione è quindi uguale a 1.

Page 18: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

b) Ripetizione selettiva: un frame in errore viene scartato, mentre i frame buoni vengono messi in un buffer. Quando la sorgente va in timeout, solo il frame più vecchio senza ack viene ritrasmesso. Se quel frame arriva correttamente, la destinazione può passare in sequenza allo strato network tutti i frame che ha nel buffer. Avvolte la destinazione invia un acknowledgement negativo (NAK) quando trova un errore così da stimolare la ritrasmissione prima della scadenza del timeout aumentandone così le prestazioni. Con questo metodo la finestra di ricezione deve essere maggiore di 1.

PPP – Point to Point Protocol Internet ha bisogno di un protocollo punto-punto per una varietà di scopi, fra cui la gestione del traffico da router a router e quello tra gli utenti di casa e gli ISP. Il protocollo usato da internet si chiama PPP (Point to Point Protocoll, protocollo punto a punto). Tra le funzionalità del PPP troviamo:

o La rilevazione degli errori o Il supporto per più protocolli o La possibilità di negoziare gli IP o La possibilità di effettuare l’autenticazione

Caratteristiche principali del PPP: o Un metodo di framing. o Gestione degli errori (tramite checksum) o Un protocollo per la gestione della connessione e la contrattazione dei parametri chiamato LCP (Link

Control Protocol) o Un protocollo per la gestione e la negoziazione dei parametri dello strato network chiamato NCP

(Network Control Protocol)

18

Page 19: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Il sottostrato MAC (Medium Access Control): Nelle reti Broadcast il problema chiave è la scelta dell’entità che dovrà acquisire il diritto di utilizzo del canale (singolo) in caso di competizione. I protocolli per assegnare l’uso di un canale multiaccesso appartengono a un sottostrato dello strato collegamento dati, chiamato MAC (Medium Access Control). L’assegnazione del canale può avvenire in due modi:

• Assegnazione statica del canale • Assegnazione dinamica del canale

Assegnazione statica del canale Per assegnare un canale a più utenti in competizione si utilizza la tecnica FDM (Frequency Division Multiplexing) Se ci sono N utenti la banda è divisa in N parti uguali e ciascuna parte è assegnata ad ogni utente. Problemi:

1. Se il numero di utenti che comunicano è minore di N si ha uno spreco di banda. 2. Se invece più di N utenti vogliono comunicare non potranno farlo anche se ci sono parti di banda

assegnate ma non utilizzate. 3. La suddivisione di un canale in N sottocanali è un’operazione inefficiente.

Se chiamiamo:

• C(bps) = Capacità del canale • λ(frame/sec) = Frequenza di generazione (arrivo) dei frame • Se ipotizziamo che la lunghezza dei frame sia data da una funzione densità di probabilità

esponenziale con valore medio 1/µ(bit/frame) • T (sec) = Ritardo medio per un frame.

Allora, dalla teoria delle code si ricava:

Esempio: C= 100Mbps, 1/µ= 10000 bit/frame, λ= 5000 frame/sec T= 200 µsec Supponiamo adesso di dividere il canale in N sottocanali indipendenti ognuno di capacità C/N. In questo caso la frequenza media degli arrivi per ogni sottocanale sarà: λ/N. In questo caso T sarà:

Le prestazioni di una FDM sono N volte peggiori del caso di canale singolo Assegnazione dinamica del canale Per lo studio dell’assegnazione dinamica del canale utilizzeremo un modello che si basa sulle seguenti ipotesi.

1. Modello della stazione. Supporremo il sistema costituito da N stazioni indipendenti. Una volta generato un nuovo frame una stazione rimane bloccata fino a che il frame non è trasmesso con successo.

2. Ipotesi di singolo canale. Assegnazione dinamica del canale 3. Presupposto della collisione Due frame trasmessi contemporaneamente si sovrappongono

(collisione) e devono essere ritrasmessi. Tutte le stazioni sono in grado di rilevare il verificarsi di una collisione.

19

Page 20: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

4. Modello del tempo: • Tempo continuo. I frame possono essere trasmessi in qualunque istante. • Tempo diviso in intervalli (slot). Il tempo è diviso in intervalli discreti e la trasmissione di un

frame coincide con l’inizio di un intervallo. 5. Occupazione del canale:

• Verificabile. Con rilevamento della portante. • Non verificabile. Le stazioni non sono in grado di capire se il canale è occupato.

Protocolli ad accesso multiplo

• ALOHA • Carrier Sense Multiple Access Protocols (Protocolli ad Accesso Multiplo con Rilevamento della

Portante) • Collision-Free Protocols (Protocolli Senza Collisione) • Limited-Contention Protocols (Protocolli a Contesa Limitata) • Wavelength Division Multiple Access Protocols • Wireless LAN Protocols

ALOHA puro Idea: consentire agli utenti di trasmettere ogni volta che hanno dati da inviare. Si verificheranno delle collisioni (che saranno rilevate). Dopo una collisione il trasmettitore rimane in attesa per un tempo casuale e poi ripete la trasmissione. Nel sistema ALOHA puro i frame sono trasmessi in momenti totalmente arbitrari ALOHA puro – Calcolo delle prestazioni Chiamiamo:

• Tempo di Frame il tempo richiesto per trasmettere un frame (per ipotesi di lunghezza fissa). • N il numero medio di frame generati per tempo di frame. • G (carico) il numero medio totale di frame da trasmettere. • S il throughput (capacità di trasporto)

NB: le stazioni, oltre ai nuovi frame, provano a ritrasmettere i frame entrati in precedenza in collisione. Ovviamente: G ≥ N.

A basso carico G ≈ N (poche collisioni) A carico elevato G > N (molte collisioni)

Se indichiamo con il throughput (capacità di trasporto) e con la probabilità che un frame non collida (trasmissione con successo), allora:

La probabilità che k frame siano generati durante un tempo di frame è data dalla distribuzione di Poisson:

Quindi, la probabilità che siano generati 0 frame vale: In un intervallo lungo due tempi di frame il numero medio di frame generati è pari a 2G, quindi la probabilità che nessun traffico inizi durante il periodo di vulnerabilità è pari a:

Infine (relazione tra throughput e traffico/carico):

Slotted ALOHA Ogni stazione non può inviare dati ogni volta che lo desidera, ma deve aspettare l’inizio del successivo slot. In questo caso il periodo di vulnerabilità si dimezza ed il throughput diventa:

20

Page 21: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Protocolli ad accesso multiplo con rilevamento della portante I protocolli in cui le stazioni rimangono in ascolto di una portante sono chiamati protocolli con rilevamento della portante (carrier sense protocol)

21

t CSMA 1-persistente (Carrier Sense Multiple Access 1-persisten e) Quando una stazione ha dei dati da trasmettere:

• Prima ascolta il canale per scoprire se qualcun altro sta trasmettendo. • Se il canale è occupato aspetto fino a quando non si libera. • Quando il canale si libera, trasmette il frame. • In caso di collisione la stazione rimane in attesa per un tempo casuale e poi riprova a trasmettere.

Il protocollo si chiama 1-persistente perché quando il canale si libera la stazione trasmette con probabilità 1. CSMA non-persistente Quando una stazione ha dei dati da trasmettere:

• Prima ascolta il canale per scoprire se qualcun altro sta trasmettendo. • Se il canale è libero trasmette il frame. • Se il canale è occupato non aspetta fino a quando non si libera, ma invece attende un intervallo di

tempo casuale e quindi ripete l’algoritmo. CSMA p-persistente Si applica a canali divisi in intervalli temporali. Quando una stazione ha dei dati da trasmettere:

• Prima ascolta il canale per scoprire se qualcun altro sta trasmettendo. • Se il canale è occupato aspetto fino a quando non si libera. • Quando il canale si libera, trasmette subito con una probabilità p e rimanda al successivo intervallo

con probabilità q = 1 – p. • In caso di collisione la stazione rimane in attesa per un tempo casuale e poi riprova a trasmettere.

CSMA con collision detection Un miglioramento delle prestazioni si ottiene consentendo alle stazioni di annullare la propria trasmissione in caso di collisioni in modo da risparmiare tempo e banda. Questo protocollo è chiamato CSMA/CD ( Carrier Sense Multiple Access with Collision Detection). Costituisce la base delle LAN Ethernet. Stati nei quali può trovarsi un protocollo di tipo CSMA/CD:

Una stazione per avere la certezza che non si siano verificate delle collisioni utilizza l’algoritmo di calcolo della durata dell’intervallo di contesa. Se con indichiamo il tempo che il segnale impiega per propagarsi tra le due stazioni più lontane, allora nel caso peggiore una stazione può essere certa di aver assunto il controllo del canale solo se non rileva una

collisione per un tempo pari a . Protocolli senza collisione Sono dei protocolli che risolvono il problema della contesa per il canale senza generare collisioni.

• Protocollo a mappa di bit • Protocollo a conteggio binario

Page 22: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Mappa di bit Il periodo di contesa è suddiviso in N slot temporali (tanti quanto sono le stazioni) di un bit. In generale, la stazione k può annunciare di voler trasmettere un frame inserendo un bit 1 nello slot k. Dopo il periodo di contesa le stazioni che si sono prenotate iniziano la trasmissione. Ecco perché questo tipo di protocollo è detto a prenotazione.

Efficienza (con N bit di controllo e d bit di dati):

• A basso carico: d/(d+N) • Con carico elevato: d/(d+1)

Conteggio binario Ad ogni stazione è associato un indirizzo binario. Ogni stazione che intende utilizzare il canale invia il proprio indirizzo sul canale a partire dal bit di ordine più elevato. Se un’altra stazione invia contemporaneamente il proprio indirizzo sul canale, verrà effettuata un’operazione di OR logico bit a bit. In questo caso si applica la seguente regola di arbitraggio: la stazione rinuncia non appena si accorge che è stata sovrascritta da un 1 una posizione di bit di ordine elevato che nel proprio indirizzo vale 0. Con questo metodo si raggiunge un’efficienza del canale paria a: d/(d + log2 N)

Protocolli a contesa limitata Osservazione:

• Protocolli a contesa (ALOHA, CSMA, …) o Basso carico Basso ritardo o Alto carico Troppe collisioni, bassa efficienza del canale

• Protocolli senza collisioni o Basso carico Ritardo elevato o Alto carico Alta efficienza del canale

I protocolli a contesa limitata combinano le proprietà dei precedenti protocolli. In tali protocolli non tutte le stazioni hanno la stessa probabilità di acquisire il canale (protocolli asimmetrici). L’idea è quella di avere un meccanismo che consenta di assegnare dinamicamente le stazioni agli intervalli di contesa, in modo che:

o Se il carico è limitato si assegnano molte stazioni o Se il carico è elevato si assegnano poche stazioni

22

Page 23: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Protocollo Adaptive Tree Walk E’ un algoritmo di assegnazione delle stazioni ai vari intervalli di contesa basato su una rappresentazione ad albero di tutte le stazioni. Nel primo intervallo di contesa (intervallo 0) tutte le stazioni possono competere per acquisire il canale. Se si verificano delle collisioni, parte un altro intervallo di contesa (intervallo 1) al quale possono partecipare solo le stazioni sotto il nodo 2. Se non si verificano collisioni, l’intervallo successivo (dopo la conclusione della precedente trasmissione) è riservato alle stazioni sotto il nodo 3. Se si verifica una collisione, parte un altro intervallo di contesa (intervallo 2) al quale possono partecipare solo le stazioni sotto il nodo 4. E così via…

Protocolli LAN wireless Il CSMA base non è utilizzabile poiché il rilevamento della portante fallisce a causa dei seguenti problemi:

2. Problema della stazione nascosta (A trasmette a B): la stazione C non riesce a rilevare la trasmissione che avviene da A verso B perché il segnale è troppo distante quindi interpreta libero il canale e trasmettendo i suoi dati crea collisione con il segnale che già occupa il mezzo trasmissivo.

3. Problema della stazione esposta (B trasmette ad A): C deve trasmettere a D, controlla il canale e nota una trasmissione di B (che però trasmette verso A). Così in interpreta il canale occupato e non comincia erroneamente la sua trasmissione (in attesa di avere il canale libero) che invece potrebbe avvenire senza alcun problema (B occupa A ma non D!).

Sono stati sviluppati due protocolli specifici: o MACA ( Multiple Access with Collision Avoidance) o MACAW ( MACA for Wireless)

MACA: o Funzionamen o: A invia un RTS (Request To Send) a B per richiedere la possibilità di cominciare l’invio di

dati. Questo piccolo frame (30 byte) contiene la lunghezza dei dati che verrà inviato successivamente. B risponde con un CTS (Clear To Send) che contiene la lunghezza dei dati copiata da RTS. Non appena riceve il CTS, A comincia trasmettere. Tutte le stazioni vicine ad A ricevono l’ RTS e dovranno quindi rimanere in silenzio per il tempo necessario

t

23

Page 24: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

affinché la stazione non riceva indietro il CTS. Il CTS inviato da B verrà ricevuto a sua volta da tutte le macchine vicine a quest’ultima che dovranno restare in silenzio per il tempo necessario alla trasmissione da A verso B (calcolabile tramite la lunghezza dei dati contenuta nel CTS).

o Problemi: Due stazioni possono inviare il frame RTS contemporaneamente verso la stessa destinazione.

Questi frame entrerebbero in collisione e andrebbero perduti. In caso di collisione, il trasmettitore che non riceve un frame CTS entro un intervallo di tempo previsto, aspetta per un intervallo di tempo casuale prima di ripetere l’operazione (seguendo l’algoritmo di backoff esponenziale binario).

MACAW o Novità: Per evitare che i frame perduti durante la trasmissione non siano ritrasmessi se non prima che lo

strato network rilevi la loro mancanza, gli sviluppatori hanno creato il protocollo MACAW. Questo introduce l’invio di un ack all’arrivo di ogni frame e inoltre si è visto che può comunque essere utilizzato il protocollo CSMA per impedire alle stazioni vicine di trasmettere un frame RTS mentre un’altra stazione ha avviato la trasmissione. Per questo motivo è stato inserito il rilevamento della portante.

Lo standard IEEE 802 IEEE ha prodotto diversi standard per le LAN, collettivamente noti come IEEE 802. I vari standard differiscono a livello fisico e nel sottostrato MAC, ma sono compatibili a livello datalink. Ciò è ottenuto tramite il sottostrato LLC, che offre una interfaccia uniforme verso lo strato network.

Ethernet Nasce nel 1976 da un’idea di Bob Metcalfe Nel 1978, DEC, INTEL e XEROX misero a punto uno standard per la versione a 10Mbps con tecnica CSMA/CD chiamato DIX. Nel 1983 DIX (con delle piccole varianti) viene standardizzato dall’IEEE ed assume il nome di 802.3

24

Page 25: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Sintesi degli argomenti che verranno trattati:

o Cablaggio Ethernet o Codifica Manchester o Il sottostrato MAC Ethernet o Backoff esponenziale binario o Prestazioni di Ethernet o Switched Ethernet * o Fast Ethernet * o Gigabit Ethernet * o IEEE 802.2: Logical Link Control *

* = tralasciati Ethernet - Cablaggio Cablaggi per reti Ethernet a 10Mpbs

Ethernet – Cablaggio – 10Base5 Cablaggio 10Base5. Cosa significa?

o 10 = indica la velocità in Mbps (10 Mbps) o Base = Abbreviazione di baseband (banda base). Il termine indica che il segnale trasmissivo viaggia

sulla rete usando un'onda portante (con codifica Manchester) che ha una sola frequenza, 20 MHz, sulla quale vengono convogliate le informazioni binarie che devono passare da un nodo all'altro.

o 5 = Indica la lunghezza massima di ogni segmento (500 metri) Utilizza un cavo coassiale spesso chiamato thick Ethernet (RG213) Le connessioni sono realizzate mediante spine a vampiro. Questi connettori sono (erano) abbastanza costosi perché incorporano tutta la circuiteria elettronica per trasmettere e ricevere i segnali sul cavo e, nel loro insieme (presa vampiro più ricetrasmettitore) prendono il nome di transceiver (transmitter-receiver). Le spine a vampiro devono essere posizionate per lo meno 2,5 metri l'una dall'altra (in teoria dovrebbero essere poste a distanze, una dall'altra, che siano multiple di 2,5 metri). Per facilitare il posizionamento del transceiver, il cavo coassiale reca stampigliate bande nere ogni 2,5 metri.

La connessione fra transceiver e stazione di lavoro avviene per mezzo di un cavo a 8 coppie (drop cable) che si allaccia da una parte alla presa AUI (Attachment Unit Interface) sul retro della scheda e dall'altra a un'analoga presa alla base del transceiver. La lunghezza massima del drop cable è di 50 metri, anche se solitamente i tagli vanno da 3 a 15, e fornisce al transceiver anche l'alimentazione di cui ha bisogno. Il motivo per cui serve questo ulteriore cavo di derivazione viene dal fatto che il cavo coassiale rigido usato nelle reti 10Base-5 può compiere solo curve molto larghe e difficilmente può essere sagomato in modo da avvicinarsi a tutti i nodi presenti.

25

Page 26: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Una rete 10Base5 consente di creare un singolo troncone ininterrotto di cavo coassiale lungo 500 metri nel quale devono trovare posto fino a 100 stazioni. A entrambi gli estremi di questo segmento deve essere obbligatoriamente montato un terminatore, detto anche tappo di terminazione. Si tratta di un particolare tipo di connettore che serve ad evitare che un segnale in arrivo si rifletta all'indietro e vada a collidere con altri impulsi trasmessi. Nel caso in cui la rete dovesse estendersi oltre i 500 metri consentiti, bisognerebbe ricorrere a un ripetitore che amplifichi e ritemporizzi il segnale. Il ripetitore fa parte delle 100 stazioni che possono essere ospitate nel segmento. Dall'altra parte del ripetitore può naturalmente esserci un secondo segmento, anch'esso con 100 stazioni. La regola d'oro di tutte delle reti Ethernet dice che si possono collegare fino a 5 segmenti con 4 ripetitori tra loro. Il vincolo è che solo tre di questi segmenti contengano stazioni di lavoro (trunk segment) e che due siano invece solamente segmenti di collegamento tra un ripetitore e l'altro (link segment). Ethernet – Cablaggio – 10Base2 Ethernet a 10Mbps con lunghezza massima dei segmenti di 185m (da cui il 2 di 10Base2). Utilizza un cavo coassiale sottile chiamato thin Ethernet (cavo RG58 da 50 Ω).

o RG58/U – Anima rame pieno o RG58A/U - Anima multifili intrecciati o RG58C/U - Specifiche militari

Supporta fino a 30 stazioni per segmento. Rispetto alla versione su coassiale grosso, questa rete è estremamente maneggevole e può essere montata da chiunque, con una spesa minima. Le connessioni sono realizzate usando connettori BNC standard che formano giunzioni a “T”. I connettori BNC sono semplici da installare ed hanno un costo minore rispetto a quelli a vampiro. Tutte le schede devono collegarsi alla rete mediante un connettore a T. Questo vale anche per l’ultima scheda del segmento. In questo caso a un estremo della T entra il cavo che va alla prossima stazione, mentre all'altro estremo c'è un terminatore di chiusura (detto tappo).

giunzione T TAP

Il rovescio della medaglia di questa rete estremamente economica e versatile è proprio la vulnerabilità. Il cavo coassiale non ha la robustezza di quello usato per le reti 10Base5 e soprattutto in prossimità dei connettori tende a staccarsi, specie se qualcuno c'inciampa involontariamente. Qualunque interruzione o cortocircuito provocato su un tratto del coassiale provoca la caduta dell'intera rete e non è possibile ripristinare la connessione fino a che il pezzo difettoso non viene rimpiazzato. Anche il guasto di una delle schede collegate in rete può provocare l'arresto del sistema. Spesso è difficile localizzare esattamente dove il guasto si è verificato e, se la rete fosse particolarmente estesa, diventa poco pratico passare da una macchina all'altra per controllare tutti i connettori e tutte le schede, staccandoli uno per uno. Ethernet – Cablaggio – 10Base-T Ethernet a 10Mbps con lunghezza massima dei segmenti di 100m. Utilizza il doppino telefonico (UTP). La topologia elettrica è a bus mentre la topologia fisica è a stella. Questo significa che nel deporre i cavi all'interno dell'edificio si segue un impianto stellare: tutte le connessioni di un certo gruppo confluiscono in un singolo punto dove vengono collegate a un concentratore (hub). Il concentratore funziona da ripetitore.

26

Page 27: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Il vantaggio di portare tutte le connessioni verso un singolo punto, oltre all'economicità del doppino, comporta due vantaggi importanti:

o È possibile allestire in anticipo diverse prese in punti uniformemente distribuiti nel locale, senza doverle attivare tutte immediatamente.

o Inoltre, qualsiasi ramo difettoso viene automaticamente escluso senza influire sul funzionamento del resto della rete. Perciò eventuali interruzioni di cavo o guasti della scheda vengono risolti automaticamente dal concentratore che isola la macchina interessata e segnala con una luce gialla che esiste un problema su quella presa.

Il cavo utilizzato (come già detto) è un doppino ritorto non schermato (UTP - Unshielded Twisted Pair) dello stesso tipo usato negli impianti telefonici. Per le reti 10Base-T basta che il doppino abbia due coppie: una per trasmettere e una per ricevere. Di solito il cablaggio viene però realizzato con un doppino a otto fili (quattro coppie) così da poterlo usare per qualsiasi genere di applicazione: collegamento di linea seriale per un terminale (servono otto fili), presa per rete Ethernet (bastano 4 fili), presa per rete Token Ring (bastano 4 fili ma sono diversi dai 4 usati per Ethernet), … Sono utilizzati due tipi di doppino:

1) Il doppino di categoria 3 è il più economico e consente di trasportare fino a 25 Mbps. Va benissimo per una rete 10 Base-T ed è stato utilizzato ampiamente, soprattutto nei primi anni Novanta. Con questo cavo la distanza massima dall’hub deve essere di 100 metri.

2) Il doppino di categoria 5 regge velocità fino a 100 Mbps (Fast Ethernet e altre reti di pari velocità) e costa ormai quasi quanto il cavo di categoria 3, perciò viene usato in tutti i nuovi cablaggi realizzati di questi tempi. Con questo cavo si può arrivare a distanze dall’hub intorno ai 200 metri.

E’ possibili raggiungere i 500 metri utilizzando cavi STP (Shielded Twisted Pair) per reti 10Base-T prodotti da IBM. In collegamento in rete di una macchina è quindi realizzato connettendo una delle due estremità del doppino all’hub e l’altra alla scheda di rete installata sulla macchina (connessione mediante cavo diretto o dritto). E’ anche possibile realizzare connessione dirette macchina-macchina, in questo caso è necessario utilizzare un cavo incrociato (crossover). I connettori installati alle estremità dei cavi prendono il nome di RJ45.

RJ45 Assemblaggio di cavi UTP. Cosa serve:

o Cavo UTP (generalmente a 4 coppie). o 2 connettori RJ45 o Una pinza a crimpare o Un tester per verificare il cavo realizzato.

27

Page 28: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

RJ45: connessione dei fili

1) TD+ (pin 1) 2) TD- (pin 2) 3) RD+ (pin 3) 4) Non Utilizzato da 10Base-T 5) Non Utilizzato da 10Base-T 6) RD- (pin 6) 7) Non Utilizzato da 10Base-T 8) Non utilizzato da 10Base-T

Generalmente agli otto fili del cavo UTP sono associati altrettanti colori (tipicamente: Bianco-Verde, Verde, Bianco-Arancio, Arancio, Bianco-Blu, Blu,Bianco-Marrone, Marrone). Nelle reti 10Base-T la collisione non si verifica sul doppino in quanto è intrinsecamente fullduplex. Nel caso 10Base-T la collisione avviene solo dentro il concentratore che è il vero elemento di condivisione della banda trasmissiva: quando su due o più segmenti c’è trasmissione di dati all’interno del concentratore si verifica la reale collisione Ethernet – Cablaggio – 10Base-F Ethernet a 10Mbps con lunghezza massima dei segmenti di 2000m. Utilizza fibre ottiche. E’ costosa a causa del prezzo dei connettori e dei terminatori. Offre una eccellente immunità ai rumori. Si possono utilizzare cavi lunghi anche un chilometro. Lo standard 10Base-F è diviso in tre parti:

o 10Base-FP (Passive) – Topologia a stella passiva. Fino a 1 km. o 10Base-FB (Backbone - Synchronous Active) – Per realizzare backbone. Fino a 2km. o 10Base-FL (Link - Asynchronous Active) – Per interconnettere repeater. Fino a 2km.

Ethernet – Codifica Manchester

N.B. Tutti i sistemi Ethernet adottano la codifica Manchester. Rappresentazione dei bit

o “0” logico: segnale basso (-0.85 Volt) per mezzo tempo di simbolo e segnale alto (+0.85 Volt) per l’altro mezzo (BASSO ALTO)

o “1” logico: segnale alto per mezzo tempo di simbolo e poi segnale basso (ALTO BASSO)

28

Page 29: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Vantaggi o Una transizione al centro di ogni bit facilita o L’acquisizione del sincronismo o Il carrier sensing o Il collision detect o Sono disponibili simboli (alto alto e basso basso) per rappresentare non dati

Svantaggi o Per trasmettere a 10 Mbit/s il segnale deve cambiare 20 milioni di volte al secondo

29

Ethernet – Codifica Manchester Differenziale

Rappresentazione dei bit o “0” logico: presenza di una transazione all’inizio dell’intervallo (cambia) o “1” logico: assenza di transazione all’inizio dell’intervallo (non cambia)

Vantaggi o Maggiore immunità ai rumori

Svantaggi o Richiede dispositivi più complessi

Ethernet – Protocollo MAC

o Preamble (7 byte 802.3 e 8 byte Ethernet). Ogni byte contiene lo schema di bit 10101010. La codifica Manchester di questo schema produce un’onda quadra di 10Mhz per 5,6 µsec (6,4 µsec Ethernet). E’ utilizzato per sincronizzare il clock del ricevitore.

o SOF (1 byte). Uguale a 10101011 ha la funzione di flag di inizio frame. o Indirizzo di destinazione (6 byte). (*) o Indirizzo d’origine (6 byte). Identifica la stazione mittente. E’ sempre un indirizzo individuale. o Length/Type (2 byte). Indica o il numero di byte che sono contenuti nel campo dati (IEEE 802.3)

o il tipo di pacchetto LLC incapsulato nel campo dati (Ethernet). Se il campo Length/Type è minore o uguale al valore 1500 allora indica il numero di byte di cui è composto il campo dati. In questo caso il tipo di payload è dato da LLC. Se, invece, il valore di Length/Type è maggiore di 1536, allora indica il tipo di frame inviata o trasmessa.

o Data (0-1500 byte). Contiene il payload del livello superiore fino ad un massimo di 1500 byte. o Pad (0-46 byte). Se il frame (escluso il preambolo) è più corto di 64 byte, con questo campo lo si

porta alla lunghezza di 64 byte. (**) o Checksum (FCS – Frame Check Sequence) (4 byte). E’ un CRC calcolato utilizzando il

seguente polinomio generatore:

(*) Indirizzo di destinazione (6 byte). Il bit di ordine più alto (bit 47) è 0 per gli indirizzi individuali (indirizzi unicast) e 1 per gli indirizzi di gruppo (indirizzi multicast). Il bit 46 è 0 per gli indirizzi gestiti globalmente e 1 per quelli gestiti localmente (assegnati dall’amministratore di rete). Gli indirizzi globali sono assegnati centralmente dall’IEEE per garantire che nessuna stazione al mondo utilizzi lo stesso indirizzo globale. Con 46 bit si hanno a disposizione circa 7x1013 indirizzi globali. Gli indirizzi di gruppo consentono la comunicazione 1-a-molti. E’ possibile inviare un frame ad un gruppo di stazioni multicast Oppure a tutte le stazioni broadcast In questo caso l’indirizzo di destinazione contiene tutti bit 1.

Page 30: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

(**) Imporre una lunghezza minima ad un frame serve per impedire a una stazione di completare la trasmissione di un frame prima che il primo bit abbia raggiunto la fine del cavo. Se una stazione trasmette un frame molto corto potrebbe succedere che avvenga una collisione ma la trasmissione si concluda prima che il burst di rumore torni indietro, cioè prima dell’istante . In questo caso il trasmettitore concluderà erroneamente che il frame è stato inviato con successo. Per risolvere questo problema bisogna imporre una lunghezza minima ai frame.

Esempio: LAN a 10Mbps 10Base5, lunghezza massima 2500m (5 segmenti da 500 metri e 4 ripetitori),

= 50µsec lunghezza minima dei frame = 500 bit ≈ 512 bit ≈ 64 byte Ethernet – Backoff Esponenziale Binario Dopo una collisione il tempo è diviso in intervalli discreti di ampiezza pari a 2τ (che per reti a 10Mbps è stato posto pari a 51,2 µsec). Algoritmo di back-off:

o Avvenuta una collisione ogni stazione aspetterà 0 o 1 intervalli temporali prima di ritentare. o Dopo la seconda collisione, ogni stazione aspetterà, in maniera casuale, 0, 1, 2 o 3 intervalli prima di

ritentare. o In generale, dopo n collisioni viene scelto un numero casuale r tale che: 0 ≤ r < 2k-1 dove

k = min (n, 10) cioè deve essere r ≤ 1023 o In ogni caso il MAC dopo 16 tentativi ( n>16) segnalerà un errore di trasmissione.

L’algoritmo assicura un basso ritardo quando poche stazioni collidono e garantisce la risoluzione della collisione in un intervallo di tempo ragionevole quando molte stazioni collidono. IEEE 802.2 LLC (Logical Link Control) Il protocollo LLC forma la metà superiore dello strato Data Link. In genere è utilizzato nel seguente modo:

o Lo strato network sulla macchina trasmittente passa un pacchetto a LLC, usando le primitive di accesso LLC

o Il sottostrato LLC aggiunge un intestazione LLC, contenente numeri di sequenza e ack o La struttura risultante è inserita nel campo carico utile di un frame 802 o Il frame viene trasmesso attraverso la connessione o Il ricevitore farà il percorso inverso.

LLC fornisce tre modalità di servizio:

o Datagram inaffidabile o Datagram con ack o Servizio affidabile orientato alla connessione

LAN Wireless (802.11) Sintesi degli argomenti che verranno trattati:

o La pila di protocolli 802.11 o Lo strato fisico di 802.11 o Il sottostrato MAC 802.11 o La struttura delle frame 802.11 o Servizi

30

Page 31: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Storia: Lo standard 802.11 nasce nel 1997 (1 e 2 Mbps) Nel 1999 802.11 viene esteso e nasce 802.11a e 802.11b. (Wi-Fi) Nel 2001 IEEE standardizza una nuova versione che chiama 802.11g Nel 2007??? è previsto 802.11n con velocità > 100Mbps La pila di protocolli 802.11 Lo standard 802.11 può operare in due modi:

a) In presenza di una stazione base (access point) b) In assenza di una stazione base (rete ad hoc)

Problematiche tipiche delle reti wireless:

• Portata dei segnali • Problema del multipath fading (segnale riflesso da oggetti solidi e ricevuto più volte) • Mancanza di software concepito per ambienti mobili

802.11: lo stack protocollare

802.11: Lo strato fisico

Trasmissione a infrarossi Trasmissione diffusa a 0.85 e 0.95 micron Due velocità supportate: 1 Mbps e 2Mbps Codifica:

• Alla velocità di 1 Mbps ogni gruppo di 4 bit è codificato mediante una codeword di 16 bit (15 zero ed un 1 – Codice Gray)

• Alla velocità di 2 Mbps ogni gruppo di 2 bit è codificato con una parola di 4 bit contenente un solo 1.

Problemi: • Le trasmissioni non passano attraverso I muri • Scarsa banda • Interferenza con la luce solare

Trasmissione FHSS (Frequency Hopping Spread Spectrum)

Utilizza 79 canali da 1 Mhz nella banda ISM da 2.4 GHz. Utilizza una sequenza di numeri pseudocasuale per produrre la sequenza con cui le frequenza si susseguono.

31

Page 32: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Problemi: • Scarsa banda

Trasmissione DSSS (Direct Sequence Spread Spectrum)

Può operare a 1 Mbps e 2 Mbps. Utilizza una modulazione di fase. Problemi:

• Scarsa banda

Trasmissione OFDM (Orthogonal Frequency Division Multiplexing) – IEEE 802.11a Opera nella banda ISM dei 5Ghz e può arrivare fino a 54Mbps. La trasmissione avviene contemporaneamente su 52 frequenze (similmente ad ADSL), 48 per i dati e 4 per la sincronizzazione. Fino a 18Mbps si utilizza una modulazione di fase. Oltre 18Mbps si utilizza uno schema di codifica QAM. Vantaggi:

• Buona efficienza di spettro (bit/Hz) • Buona resistenza al multipath fading

Trasmissione HR-DSSS (High Rate Direct Sequence Spread Spectrum) – IEEE 802.11b

Opera nella banda ISM dei 2.4 Ghz e può arrivare fino a 11Mbps (1, 2, 5.5 e 11 Mbps). Utilizza una modulazione di fase 1 Mbps e 2 Mbps sono raggiunti, rispettivamente, trasmettendo 1 bit e 2 bit per simbolo a 1 Mbaud. 5.5 Mbps e 11 Mbps sono raggiunti, rispettivamente, trasmettendo 4 bit e 8 bit per simbolo a 1.375 Mbaud. Svantaggi:

• Velocità più bassa rispetto a 802.11a Vantaggi

• Portata circa sette volte maggiore

IEEE 802.11g Utilizza il metodo di modulazione OFDM ( Orthogonal Frequency Division Multiplexing) Opera nella banda ISM dei 2.4 Ghz e può arrivare fino a 54Mbps (teorici…).

802.11: il sottostrato MAC

(a) Problema della stazione nascosta (b) Problema della stazione esposta.

Per gestire i problemi (a) e (b), 802.11 supporta due modalità operative:

o DCF ( Distributed Coordination Function) – Controllo distribuito (modalità obbligatoria). o PCF ( Point Coordination Function) – Controllo centralizzato (modalità opzionale).

DCF: Opera secondo un protocollo del tipo CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance).

Tale protocollo supporta due modalità operative 1. Ascolta il canale prima di trasmettere, ma durate la trasmissione dei dati non lo controlla. Se

è occupato attende fin quando non è libero prima di iniziare la trasmissione. In caso di collisione è utilizzato un algoritmo di back-off esponenziale binario.

32

2. Una basata su MACAW NAV (Network Allocation Vector) canale virtuale per rimanere fermi.

Page 33: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

MACAW 802.11: Servizi

Servizi di distribuzione • Association: Utilizzato dalle stazioni mobili per effettuare la connessione alle stazioni base. • Disassociation: Utilizzato da una stazione mobile per disconnettersi dalla stazione base. • Reassociation: Utilizzato da una stazione mobile per cambiare la propria stazione base quando, per

esempio, si passa da una cella all’altra. • Distribution: Stabilisce come saranno instradati i frame verso la stazione base. • Integration: Quando un frame è inoltrato verso una rete non 802.11, questo servizio si occupa

della traduzione dal formato 802.11 a quello della rete di destinazione. Servizi Intracell (servizi stazione)

• Authentication: Utilizzato per autenticare le stazioni mobili. • Deauthentication: Utilizzato per invalidare una stazione che lascia la rete. • Privacy: 802.11 utilizza l’algoritmo di codifica RC4 per cifrare le informazioni e quindi garantire la

riservatezza. • Data Delivery: Servizio base per la trasmissione dei dati

802.11: Sicurezza Il tallone d’Achille delle prime versioni di 802.11 era la sicurezza. Il meccanismo di sicurezza WEP (Wired Equivalent Privacy) non garantiva un grado di sicurezza accettabile. Lo standard 802.11i ha definito due nuovi standard per la gestione della sicurezza chiamati WPA (Wireless Protected Access) e WPA2 Wireless a larga banda (broadband wireless) (802.16) Sintesi degli argomenti che verranno trattati:

• 802.16: Stack protocollare • 802.16: Lo strato fisico • 802.16: Sottostrato MAC • 802.16: Struttura della Frame

Informazioni Generali IEEE 802.16 – “Air Interface for Fixed Broadband Wireless Access Systems” Wireless MAN Opera nella banda tra i 10 e i 66 Ghz Offre un servizio di livello MAC orientato alla connessione. 802.16: Stack Protocollare

33

Page 34: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

802.16: Lo strato fisico

802.16: Sottostrato MAC Il sistema definisce quattro classi di servizio:

• Servizio a bit rate costante • Servizio a bit rate variabile nel tempo • Servizio a bit rate variabile non in tempo reale • Servizio Best efforts

802.16: Struttura delle Frame

(a) Frame generica. (b) Frame di richiesta di banda. Bluetooth – IEEE 802.15 Sintesi degli argomenti che verranno trattati:

• Standard IEEE 802.15 – “Wireless Personal Area Networks (WPAN)” • Architettura • Applicazioni • Protocol Stack • Lo strato Radio • Lo strato Baseband • Lo strato L2CAP • Struttura del frame

Storia Nel 1994 Ericsson, IBM, Intel, Nokia, e Toshiba formarono un SIG per sviluppare uno standard per la connessione wireless di telefoni cellulari ad altri dispositivi. Nel 1999 SIG pubblicò le specifiche Bluetooth. Nel 2002 IEEE ha pubblicato il primo standard 802.15.1. SIG Bluetooth è ancora attivo e lavora parallelamente ad IEEE… Bluetooth: Architettura

34

Page 35: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Bluetooth: Stack Protocollare

Bluetooth: Lo strato radio Si occupa del trasporto dei bit. Opera nella banda ISM 2.4 Ghz, con 79 canali da 1 Mhz. Utilizza la modulazione FSK ( Frequency Shift Keying) con 1 bit per Hz con la quale si raggiunge la velocità di 1 Mbps. E’ un sistema a bassa potenza con portata fino a 10 metri. Bluetooth: Lo strato baseband Svolge attività tipiche dello strato MAC ma include anche elementi dello strato fisico. Le trasmissioni avvengono secondo una TDM (Time Division Multiplexing) con slot da 625µsec. Il master trasmette negli intervalli pari mentre gli slave in quelli dispari. Trasmette i frame attraverso un canale logico stabilito tra il master e lo slave. Esistono due tipologie di link:

• ACL (Asynchronous ConnectioLess) • SCO (Synchronous Connection Oriented)

Bluetooth: Lo strato L2CAP Svolge tre funzioni principali:

1. Accetta dagli strati superiori pacchetti grandi fino a 64KB e li divide in frame. 2. Gestisce il de/multiplexing da più sorgenti di pacchetti. 3. Gestisce I requisiti di qualità del servizio.

Bluetooth: Struttura del frame

35

Page 36: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Commutazione nello strato Data Link Ripetitori: si trovano sul fondo dello strato fisico e sono dispostivi analogici collegati a due segmenti di

cavo. Un segnale che appare su un segmento è amplificato e trasmesso sull’altro. Non sanno nulla di pacchetti, intestazioni o frame, comprendono solo Volt.

Hub: ha diverse linee di input collegate elettricamente. I frame che arrivano su queste linee sono trasmessi su tutte le altre. Due freme che arrivano contemporaneamente collidono. Gli hub non esaminano gli indirizzi e non li utilizzano in alcun modo.

Bridge: collega due o più LAN. Quando arriva un frame il software che si trova nel bridge estrae l’indirizzo di destinazione (lungo 48 bit) dall’intestazione e lo confronta con le voci della sua tabella per scoprire la destinazione dei dati.

Switch: sono simili ai bridge, in quanto entrambi instradano i dati in base agli indirizzi dei frame, ma la differenza principale è che lo switch è utilizzato prevalentemente per collegare singoli computer. Poiché ogni porta dello switch di solito conduce a un singolo computer, gli switch devono poter contenere un numero maggiore di schede di linea rispetto a i bridge usati per collegare solo le LAN. Ogni scheda di linea è in grado di memorizzare in un buffer i frame che arrivano attraverso le sue porte. Anche se non perdono mai frame a causa di collisioni, quando esaurisce il buffer comincia a scartare i frame in eccesso.

Router: non hanno nulla in comune con i dispositivi precedenti. Quando un pacchetto raggiunge un router, l’intestazione e la coda del frame sono strappati via e il pacchetto contenuto nel carico utile del frame è passato al software di instradamento che utilizza l’intestazione per stabilire l’output.

Gateway di Trasporto: questi dispositivi collegano due computer che usano protocolli di trasporto orientati alle connessioni differenti. Può copiare i pacchetti provenienti da una connessione sull’altra, modificando il formato secondo necessità.

Gateway di Applicazione: comprendono il formato e il contenuto dei dati e traducono i messaggi da un formato all’altro.

Virtual LAN (VLAN) Le VLAN sono un metodo per ricablare velocemente gli edifici con molte LAN interconnesse, facendo solo modifiche a livello software. L’amministratore decide quante VLAN creare, quanti computer collegare ad ognuna di esse e quale nome assegnare ad ognuna.

36

Page 37: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Lo Strato Network Lo strato Network si occupa del trasposto dei pacchetti lungo tutto il cammino percorso dall’origine alla destinazione finale. E’ lo strato più basso ad occuparsi della trasmissione da punto a punto e per svolgere le se mansioni deve conoscere la topologia della sottorete di comunicazione e scegliere i percorsi appropriati attraverso essa. Lo Strato Network: problematiche

o Store-and-Forward Packet Switching o Servizi forniti allo strato di trasporto

• Implementazione del servizio ConnessionLess • Implementazione del servizio Connection-Oriented

Commutazione di pacchetto Store-and-Forward Il pacchetto viene instradato dall’host trasmittente al router più vicino. Una volta arrivato tutto il pacchetto e controllato il checksum viene inoltrato al router successivo che si trova sul percorso finché non arriva all’host destinazione dove viene consegnato.

Implementazione del servizio Connectionless (a Datagramma) Il messaggio viene scomposto in pacchetti dallo strato network e passato al primo router. Questo tramite una tabella di routing aggiornata in tempo reale, sceglie la migliore strada sulla quale inoltrare il pacchetto. Così, se abbiamo un messaggio suddiviso in 4 pacchetti, i primi tre potrebbero seguire una strada, e il quarto (causa traffico eccessivo delle linee o collisioni) potrebbe anche seguire un percorso alternativo.

37

Page 38: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Implementazione del servizio Connection-Oriented (a Circuito Virtuale) All’avvio della comunicazione si stabilisce un circuito virtuale lungo il quale tutti i pacchetti del messaggio durante quella connessione saranno instradati. Tale percorso è inserito nella prima voce delle tabelle di routing e ogni pacchetto avrà un identificatore di connessione per sapere la strada da seguire.

Algoritmi di Routing

• Principio di ottimalità • Shortest Path Routing (Percorso più Breve) • Flooding • Distance Vector Routing (Vettore delle Distanze) • Link State Routing (Stato dei Collegamenti) • Hierarchical Routing (Routing Gerarchico) • Broadcast Routing* • Multicast Routing*

Algoritmi di Routing: è quella parte dello strato network che si occupa di scegliere lungo quale linea di

uscita vanno instradati i pacchetti in arrivo. Proprietà: Precisione, semplicità, robustezza, stabilità, imparzialità e ottimizzazione (ritardo medio dei

pacchetti, massimizzazione della capacità di carico totale della rete, numero di salti). Gli algoritmi di routing si distinguono in:

• Non adattativi (o outing statici): non basano le loro decisioni su misure o stime del traffico e della topologia corrente.

r

• Adattativi (o routing dinamici): cambiano le loro decisioni secondo le modifiche apportate alla topologia, e di solito anche al traffico.

Il principio di ottimalità Il principio di ottimalità afferma che se un router J si trova sul percorso ottimale per andare da I a K, allora per andare da J a K il percorso da seguire sarà lo stesso che collegava I e K. Si può così formare una struttura ad albero per ogni router che contenga solo i percorsi ottimali detta sinck tree.

(a) Una subnet. (b) Un sink tree per il router B.

38

Page 39: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Shortest Path Routing (Percorso più Breve) È un tipo di routing statico. Ogni nodo è associato ad un etichetta (tra parentesi) che riporta la sua distanza dall’origine lungo il miglior percorso conosciuto. Inizialmente nessun percorso è conosciuto (etichetta = *) ma man mano che l’algoritmo procede le etichette cambiano rispecchiando i migliori percorsi. Inizialmente sono provvisorie ma quando si scopre che il percorso è realmente il più breve si smette di cambiarle facendole diventare permanenti.

Algoritmo di Flooding È un tipo di routing statico. Ogni pacchetto in arrivo è inviato a tutte le linee tranne quella da cui proviene. Bisogna utilizzare dei meccanismi per limitare il numero di pacchetti duplicati come:

• Contatore dei salti: decrementato ad ogni salto e pacchetto eliminato al raggiungimento dello zero. Il valore iniziale dovrebbe corrispondere alla lunghezza del percorso dall’origine alla destinazione.

• Numero di sequenza: Bisogna memorizzare i numeri di sequenza dei pacchetti già inviati. • Flooding selettivo: I pacchetti sono inoltrati solo verso le linee che vanno approssimativamente

verso la direzione giusta. Routing basato sul vettore delle distanze Routing di tipo Dinamico. Opera in modo che ogni router conservi una tabella (vettore) che definisce la miglior distanza conosciuta per ogni destinazione e la linea che conduce a tale destinazione.

(a) Una subnet. (b) Input da A(to .. A,B,C ..), I, H, K e la nuova tabella di routing di J

39

Page 40: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Il problema del conteggio all’infinito Se una stazione entra in rete, in n (= numero di stazioni) passaggi verrà riconosciuta da tutti perchè ad ogni salto la stazione direttamente collegata alla successiva dirà di poter raggiungere tale stazione. Però se una stazione esce il raggiungimento dell’infinito ( = stazione disconnessa) è molto lento in quanto una stazione afferma sempre di essere distante 1 salto dalla stazione disconnessa. La successiva, leggendo questa, afferma di arrivare in due salti a destinazione, ma la prima stazione, al passaggio successivo, non riconosce più la stazione disconnessa e quindi si accoda alla seconda che farà lo stesso ragionamento dopo ancora e così via fino al raggiungimento dell’infinito.

Routing basato sullo stato dei collegamenti È un routing dinamico. Si basa su cinque punti fondamentali. Ogni router deve:

1. Scoprire i propri vicini e i relativi indirizzi di rete. 2. Misurare il ritardo o il costo di ogni vicino. 3. Costruire un pacchetto che contiene tutte le informazioni raccolte. 4. Inviare questo pacchetto a tutti gli altri router. 5. Elaborare il percorso più breve verso tutti gli altri router

1. scoperta dei vicini: Un router, quando viene acceso, cerca di scoprire chi sono i suoi vicini e per far ciò invia uno speciale pacchetto HELLO su ogni linea punto-punto. I router dall’altro capo della linea rispondono fornendo la loro identità.

2. misurazione del costo della linea: Ogni router devo conoscere il ritardo dai suoi vicini. Il modo più diretto per determinarlo consiste nell’inviare attraverso la linea un pacchetto ECHO al quale dall’altra parte deve essere fornita una risposta immediata. Misurando il tempo di andata e ritorno e dividendolo per due il router trasmittente può avere un’idea del ritardo.

3. costruzione dei pacchetti con lo stato dei collegamenti: Dopo aver raccolto le informazioni necessarie ogni router deve costruire un pacchetto contenente tutti i dati. Il pacchetto contiene l’identità del trasmittente, un numero di sequenza, l’età e una lista dei vicini con il relativo ritardo misurato.

(a) Una subnet. (b) I pacchetti che contengono lo stato dei collegamenti

Routing gerarchico Con il crescere delle stazioni connesse in rete una tabella di routing potrebbe crescere a dismisura provocando un rallentamento delle elaborazioni del processore o completare la memoria a sua disposizione. Con il routing gerarchico i router sono divisi in regioni ognuna collegata alle altre tramite una linea tra due router della rispettiva regione collegata. Un tabella di routing gerarchica, contiene indirizzi e salti per tutti i nodi appartenenti alla propria regione e un solo indirizzo con router di collegamento e salti per raggiungere uno dei router più esterni ad ognuna delle altre regioni.

40

Page 41: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Algoritmi per il controllo della congestione

• Principi generali del controllo della congestione • Criteri per prevenire la congestione • Controllo della congestione nelle sottoreti a circuito virtuale • Controllo della congestione nelle sottoreti a datagrammi • Load Shedding • Controllo del Jitter

Congestione Una congestione è un eccesso di pacchetti un una porzione di sottorete. Se il traffico aumenta in modo eccessivo i router non riescono più a far fronte alle richieste e cominciano a perdere pacchetti. Con un traffico elevatissimo le prestazioni crollano totalmente e quasi nessun pacchetto viene inviato. Controllare la congestione significa garantire che la sottorete sia in grado di trasportare il traffico immesso.

Principi generali del controllo della congestione

• Monitorare il sistema: rilevare quando e dove si presenta la congestione. • Passare queste informazioni ai punti dove si possono eseguire le azioni di correzione. • Regolare il funzionamento del sistema per correggere il problema.

Controllo della congestione nelle sottoreti a circuito virtuale Nei sistemi di controllo a ciclo aperto si tenta di prevenire le congestioni agendo sui protocolli dei vari strati in modo da impostare connessioni, routing, acknowledgement e quant’altro che impediscano l’accumularsi di pacchetti in un ramo della rete. I sistemi di controllo a ciclo chiuso invece riconoscono il problema della congestione come già avvenuto e cercano di alleviarne i danni e correggere il flusso di modo da evitare peggioramenti e per quanto possibile risolvere tale ingorgo. Una di queste tecniche, per reti a circuito virtuale, è chiamata a controllo di ammissione. Una volta che la congestione è stata segnalata, la rete non assegna più circuiti virtuali ad altre connessioni finché il problema non scompare, oppure pilota le nuove rotte per vie non intasate. Altro metodo può essere stabilire a priori il carico che la rete dovrà supportare durante la connessione che sta per cominciare.

41

Page 42: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Controllo della congestione nelle sottoreti a datagrammi: Nelle sottoreti a datagrammi il controllo delle congestioni è relativamente più semplice perchè ogni router può tenere sotto controllo le trasmissioni dirette su ogni linea. Si usano principalmente e seguenti metodi:

42

a) Choke Packets: l’host di destinazione, rilevata la congestione invia un choke packet, ovvero un pacchetto di richiesta di diminuire la velocità di invio dei dati, al mittente che percorrendo il percorso inverso ai pacchetti di dati, giunge al nodo colpevole della congestione. L’host mittente ricevuto questo diminuisce il flusso di pacchetti che quindi ridurrà anche il flusso in tutti i router che sono interessati nella comunicazione.

b) Choke Packets hop-by-hop: il sistema è simile al precedente solo che questa volta il choke packet invece di far partire la diminuzione del flusso dal mittente, imporrà un’immediata diminuzione del flusso già dal primo nodo che riceve il pacchetto di ritorno. Ogni hop così ridurrà il flusso fino a giungere all’host mittente.

(a) Choke Packets (b) Choke Packets hop-by-hop Controllo del Jitter Per trasmissioni di flussi audio o video il flusso deve essere costante. Il Jitter misura la variazione nel tempo di arrivo del pacchetto. Maggiore è il jitter peggiore sarà la qualità di trasmissione audio/video.

(a) Jitter alto. (b) Jitter basso.

Tecniche per ottenere una buona qualità del servizio

• Buffering • L’algoritmo leaky bucket • L’algoritmo token bucket

Buffering Consiste nel memorizzare i pacchetti in arrivo in un buffer per poi trasmetterli in sequenza successivamente in modo da diminuire lo jitter. Così facendo i pacchetti che completano il flusso audio/video possono essere riprodotti consequenzialmente alla riproduzione dei dati già in buffer di modo da avere una proiezione più fluida.

Page 43: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

L’algoritmo di Leaky Bucket (1) Se uno o più processi all’interno dell’host tentano di inviare un pacchetto quando il numero massimo è già accodato, il nuovo pacchetto viene automaticamente scartato. L’host è autorizzato a inserire nella rete un solo pacchetto per ogni ciclo di clock. Questo meccanismo trasforma un flusso irregolare di pacchetti provenienti dai processi dell’utente dell’host in un flusso regolare di pacchetti immesso nella rete, appianando i picchi e riducendo le congestioni. L’algoritmo Token Bucket (2)

(1) Leaky Bucket (2) Token Bucket

Internetworking

• Connessione tra le reti • Circuiti virtuali concatenati • Collegamento tra reti senza connessione • Tunneling • Internetwork Routing • Frammentazione

Collegamento tra reti Esistono molti tipi di reti, ognuna con dei protocolli e delle specifiche diverse l’una dall’altra. Il problema sorge proprio quando bisogna unire queste reti differenti per formare una internet. L’obiettivo

43

Page 44: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

dell’interconnessione tra reti è proprio quello di consentire agli utenti di ogni rete di comunicare (e di poter accedere ai dati) con gli utenti di tutte le altre. Le connessioni tra reti possono avvenire o tramite connessione di sottoreti a circuito virtuale o a connessione basata sui datagrammi. Circuiti virtuali concatenati Nel modello a circuiti virtuali, viene impostata una connessione ad un host lontano. La sottorete, si accorge che un host e remoto e crea un primo circuito virtuale fino al router più vicino. Qui la connessione viene presa in consegna da un gateway esterno (multiprotocol router) che si occuperà creare il circuito virtuale di router i router fino ad arrivare alla destinazione. Ognuno di essi gestisce tabelle contenenti i circuiti virtuali che passano attraverso essa, le destinazioni degli instradamenti e i numeri dei nuovi circuiti virtuali.

Collegamento tra reti senza connessione In questo modello, l’unico servizio che lo strato network offre allo strato trasporto è la capacità di introdurre datagrammi nella sottorete, sperando per il meglio. I datagrammi provenienti dall’host1 e diretti all’host2 seguono percorsi diversi attraverso la internetwork.

Tunneling Se due host si trovano nello stesso tipo di rete, ma sono separati da una rete differente, per scambiare informazioni verrà adottata la tecnica del Tunneling. Consiste nel costruire un pacchetto contenente l’indirizzo IP dell’host ricevente e inserire il tutto in un frame Ethernet indirizzato al router multiprotocollo. A questo punto si possono immettere i dati nella Ethernet. Quando riceve il frame, il router rimuove il pacchetto IP, lo inserisce nel carico utile dello strato network della WAN e indirizza quest’ultimo all’indirizzo WAN del protocollo del ricevente.

44

Page 45: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Lo strato network in Internet Nello strato network la rete di internet può essere vista come un insieme di sottoreti o di Autonomus System (AS) interconnessi. Non esiste alcuna vera struttura, esistono solo molte dorsali principali formate da linee a banda larga e router veloci. La colla che tiene unita Internet è il protocollo dello strato network IP (Internet Protocol). La comunicazione in Internet avviene in questo modo: lo strato trasposto prende i flussi dei dati e li divide in datagrammi, ogni datagramma è trasmesso attraverso Internet e può venire frammentato in unità più piccole. Quando alla fine tutti i pezzi raggiungono la destinazione, lo strato network ricostruisce il datagramma originale che sarà passato allo strato trasporto che lo inserisce nel flusso di input del processo ricevente.

Routing in Internet Dal punto di vista del routing, Internet è suddivisa in modo gerarchico in Autonomous System (AS)

o un AS è un gruppo connesso di una o più reti IP gestite da uno o più operatori che adottano le stesse politiche di routing verso gli altri AS

o un AS può essere ulteriormente suddiviso in porzioni dette Routing Area (RA) interconnesse da un backbone (dorsale)

o ogni rete IP è tutta contenuta in un AS o in una RA o gli AS decidono autonomamente i protocolli e le politiche di routing che intendono adottare al loro

interno I protocolli di routing all’interno di un AS sono detti Interior Gateway Protocol (IGP) I protocolli di routing fra AS sono detti Exterior Gateway Protocol (EGP) Interior Gateway Protocol

o RIP: Routing Information Protocol o OSPF: Open Shortest Path First

Exterior Gateway Protocol o EGP: Exterior Gateway Protocol o BGP: Border Gateway Protocol

OSPF (Open Shortest Path First) Interior Gateway Routing Protocol

45

Page 46: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

46

Divenuto standard nella versione 2 (RFC 2328) Oggi è il più diffuso IGP Requisiti seguiti in fase di standardizzazione

o Standard Open o Supporto per diverse metriche o Algoritmo di routing dinamico o Routing basato sul tipo di servizio o Supporto al bilanciamento del carico o Supporto per i sistemi gerarchici o Un occhio alla sicurezza…

Protocollo di tipo link state

o ogni router raccoglie informazioni sullo stato dei collegamenti con le reti ed i router (vicini) a cui è connesso

o ogni router scambia queste informazioni con tutti gli altri router della rete inviando i Link State Advertisement (LSA)

o ogni router quindi crea un’immagine della topologia della rete in base alla quale calcola le tabelle di routing utilizzando un determinato algoritmo (es. Dijkstra)

Ogni pacchetto OSPF è incapsulato direttamente in IP; il valore del campo protocol dell’intestazione IP (89 per OSPF) serve a distinguere questi pacchetti da altri. OSPF: Aree di routing Un AS può essere suddiviso in porzioni dette Routing Area (RA) interconnesse da un backbone (Area 0)

o ciascuna area risulta separata dalle altre per quanto riguarda lo scambio delle informazioni di routing e si comporta come un’entità indipendente (3° livello gerarchico di routing)

o per interconnettere le aree vi devono essere router connessi a più aree e/o al backbone (almeno un router per area)

Classificazione dei router secondo OSPF:

o Internal Router: router interni a ciascuna area o Area Border Router: router che scambiano informazioni con altre aree o Backbone Router: router che si interfacciano con il backbone o AS Boundary Router: router che scambiano informazioni con altri AS usando un protocollo EGP

BGP (Border Gateway Protocol) Exterior Gateway Routing Protocol

• Consente lo scambio di informazioni utili all’instradamento tra router di frontiera di differenti sistemi autonomi

• TCP è utilizzato a livello di trasporto per lo scambio dei messaggi BGP • Il router di frontiera invia messaggi di open per indicare la sua disponibilità allo scambio di tabelle di

routing • La richiesta può essere accettata o rifiutata (sulla base degli accordi stipulati) • Ogni AS ha un identificativo unico • La tabella di instradamento contiene, per ogni rete raggiungibile, la sequenza di AS da attraversare

(protocollo path vector – simile al vettore delle distanze) Protocolli nello strato network di Internet

o Internet Protocol (IP) o Address Resolution Protocol (ARP) o Internet Control Message Protocol (ICMP) o Internet Group Management Protocol (IGMP)

Internet Protocol (IP)

o L’Internet Protocol definisce l’indirizzamento degli host. o Ciascun host ha assegnato un indirizzo IP univoco. o Il protocollo IP è senza connessione.

Page 47: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

o Confrontando l’indirizzo IP di un computer destinatario con l’indirizzo IP dell’origine, l’IP può determinare se il pacchetto deve essere instradato verso l’host di destinazione o se è possibile mandarglielo direttamente.

Indirizzi dell’Internet Protocol Ad ogni host di una rete è assegnato un indirizzo IP univoco. Per garantire, su scala mondiale, che non ci siano due host con lo stesso indirizzo IP, esiste un’autorità che si occupa dell’assegnazione degli IP: Internet Assigned Number Authority (IANA) Ciascun indirizzo IP è formato da una sequenza di 32 bit, generalmente rappresentati mediante quattro campi decimali separati da punti:

Es.: 151.97.6.4 Tutti gli indirizzi IP sono stati suddivisi in cinque classi, delle quali solo tre possono essere assegnate agli host di una rete. In ciascuna delle prime tre classi di indirizzi IP, gli ID sono composti da una porzione relativa alla rete e da una porzione relativa all’host. Le cinque classi di indirizzi IP:

Indirizzi di classe A:

o 8 bit individuano la rete o 24 bit gli host presenti nella rete o Il primo ottetto può assumere valori compresi tra 1 e 126 (0#######) o Questo suddivisione consente di avere 126 reti distinte, ciascuna composta da 16.774.214 host

. Indirizzi di classe B:

o 16 bit individuano la rete o 16 bit gli host presenti nella rete o Il primo ottetto può assumere valori compresi tra 128 e 191 (10######) o Questo suddivisione consente di avere 16.384 reti distinte, ciascuna composta da 65.534

host .

47

Page 48: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Indirizzi di classe C: o 24 bit individuano la rete o 8 bit gli host presenti nella rete o Il primo ottetto può assumere valori compresi tra 192 e 223 (110#####) o Questo suddivisione consente di avere 2.097.152 reti distinte, ciascuna composta da 254

host . Indirizzi di classe D:

o Sono riservati ai gruppi multicast o Il primo ottetto può assumere valori compresi tra 224 e 239 (1110####) o I rimanenti 28 bit rappresentano il gruppo multicast al quale l’host appartiene.

Indirizzi di classe E:

o Sono sperimentali e pertanto riservati. Sono riservati per usi futuri. o Il primo ottetto può assumere valori compresi tra 240 e 255 (1111####)

Regole generali da applicare nell’assegnazione degli ID di rete e degli host:

1. Un ID di rete non può mai essere 127. Questo valore è riservato a funzioni di loopback. 2. Un ID di rete non può mai essere costituito da tutti 1, poiché questo rappresenta un indirizzo

broadcast. 3. Un ID di un host non può essere costituito da tutti 1, poiché rappresenta un indirizzo broadcast per

la rete. 4. Un ID di rete non può essere costituito da tutti 0, poiché questo rappresenta la rete locale. 5. Un ID di un host non può essere costituito da tutti 0, poiché questa rappresentazione viene utilizzata

per indicare la rete sulla quale si trova l’host. Indirizzi IP speciali

Per l’utilizzo su reti locali poste dietro un firewall o un proxy, sono stati riservati tre gruppi di indirizzi IP:

1. Da 10.0.0.0 a 10.255.255.255 2. Da 172.16.0.0 a 172.31.255.255 3. Da 192.168.0.0 a 192.168.255.255

Sottoreti e Segmentazione

IP – Maschere di sottorete Le maschere di sottorete indicano quali bit di un indirizzo IP rappresentano la porzione della rete e quali rappresentano l’host. Gli indirizzi di classe A, B, C utilizzano le seguenti maschere:

48

Page 49: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

o Classe A – 255.0.0.0 o Classe B – 255.255.0.0 o Classe C – 255.255.255.0

Utilizzando la maschera di rete un host può riconoscere se un altro host appartiene o meno alla sua stessa sottorete (“processo di messa in AND”). Talvolta risulta necessario e/o opportuno segmentare la rete. Per esempio, quando:

o La rete usa topologie diverse, quali ethernet e token-ring, sarà necessario segmentare la rete in base alla topologia.

o E’ necessario reindirizzare del traffico di rete per isolare le applicazioni o gli host che richiedono molta banda.

o Si vuole razionalizzare e distribuire in modo più efficace gli indirizzi IP. o …

Il processo di creazione di sottoreti a partire da un indirizzo di rete assegnato si basa sulle domande seguenti alle quali bisogna dare una risposta:

o Allo stato attuale, quanti segmenti di rete richiedono indirizzi? o Di quanti segmenti di rete avrò bisogno in futuro? o Quanti host devo indirizzare, allo stato attuale, nel segmento di rete più grande? o Quali saranno le necessità future di host per ogni segmento della rete?

In uno scenario che prevede delle sottoreti, la parte host di un indirizzo IP viene a sua volta suddivisa in una parte sottorete ed in una host. Es. maschera per sottoreti di una rete di classe A:

Esempio di determinazione delle maschere delle sottoreti della rete con indirizzo di classe B 156.32.0.0

Address Resolution Protocol (ARP) Perché due host possano comunicare su un segmento di rete devono “risolvere” gli indirizzi hardware l’uno dell’altro (cioè trovare l’indirizzo MAC a partire dall’indirizzo IP). Il protocollo ARP si occupa di risolvere un indirizzo IP di un host destinatario in un indirizzo MAC. Gli indirizzi risolti vengono inseriti in un archivio chiamato cache ARP. Il processo ARP nel caso di comunicazione tra host posti sullo stesso segmento di rete locale :

49

Page 50: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

1. L’host che vuole comunicare controlla la propria cache ARP per determinare se c’è una voce che corrisponde all’indirizzo IP dell’host destinatario.

2. Se non trova la voce, l’host crea un pacchetto ARP che chiede all’host destinatario di rispondere con il proprio indirizzo MAC. Tale pacchetto ARP è inviato all’indirizzo broadcast (FF-FF-FF-FF-FF-FF nel caso di rete Ethernet) in modo che tutti gli host del segmento possano esaminare il pacchetto.

3. Ciascun host analizza il pacchetto ARP per vedere se l’indirizzo IP dell’host destinatario coincide con il proprio indirizzo IP. In caso di risposta negativa ignora il pacchetto. Nel caso opposto, l’host destinatario inserisce nella propria cache ARP il MAC e l’IP dell’host mittente.

4. A questo punto l’host destinatario crea una risposta ARP contenente il proprio IP ed il proprio MAC e la invia all’host mittente.

5. L’host che ha originato la richiesta ARP riceve il pacchetto di risposta, aggiorna la propria cache ARP e, a questo punto possono iniziare le comunicazioni tra i due host.

Il processo ARP nel caso di comunicazione tra host posti sul segmenti di rete diversi:

1. Se l’host destinatario si trova su una rete remota, l’host mittente ispeziona la propria configurazione TCP/IP e trova l’indirizzo del gateway predefinito.

2. L’host mittente ispeziona la propria cache ARP per verificare se ha già risolto in precedenza l’indirizzo MAC del gateway. Se non trova nella cache il MAC del gateway inizia una sessione ARP come quella vista in precedenza. Alla fine l’host mittente avrà determinato il MAC del gateway.

3. I dati da inviare all’host remoto vengono inviati al gateway. 4. Il gateway si occuperà di far giungere a destinazione i dati secondo il proprio algoritmo di routing.

RARP, BOOTP, DHCP Spesso le macchine non conoscono però l’indirizzo IP ma solo l’indirizzo MAC. Per compiere l’operazione inversa della risoluzione degli indirizzi ARP si usano i seguenti protocolli:

o RARP ( Reverse Address Resolution Protocol ) o BOOTP ( Boot Protocol ) o DHCP ( Dynamic Host Configuration Protocol )

Dynamic Host Configuration Protocol (DHCP) Il protocollo DHCP permette l’assegnazione automatica o manuale degli indirizzi IP. Si basa su un server speciale che assegna l’indirizzo ad ogni host che ne richieda uno. Poiché questo server può stare anche su

50

Page 51: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

una LAN remota, su ogni LAN è necessario un agente di inoltro DHCP (DHCP relay) che all’arrivo del pacchetto broadcast di richiesta indirizzo, inoltri tale richiesta alla LAN contenente il server.

Internet Control Message Protocol (ICMP) L’ICMP fornisce un meccanismo di monitoraggio sugli errori e messaggi di controllo per l’insieme dei protocollo TCP/IP. Può svolgere le seguenti funzioni:

o Fornire messaggi di eco e di risposta per verificare l’attendibilità di una connessione tra due host (generalmente tramite il comando PING).

o Reindirizzare il traffico per fornire un instradamento più efficiente quando un router è intasato a causa di un traffico eccessivo.

o Emettere un messaggio di tempo scaduto quando un pacchetto ha superato il tempo di durata in vita (TTL) che gli era stato assegnato e viene scartato.

o Emettere annunci per l’instradamento per determinare l’indirizzo di tutti i router su un segmento di rete.

o Fornisce un messaggio di inibizione dell’origine per dire ad un host di rallentare le proprie comunicazioni, nel caso che queste stiano saturando un router.

o Determinare quale maschera di sottorete è in uso su un segmento di rete. Internet Group Management Protocol (IGMP) Quando si vogliono inviare delle informazioni da un host origine a più host destinatari si può utilizzare il metodo di trasmissione broadcast. Tale metodo presenta almeno due problemi:

1. Tutti gli host della rete devono esaminare i pacchetti per capire se sono destinati a loro. 2. Molti router sono configurati in modo da non inoltrare il traffico broadcast ad altri segmenti di

rete. Un’alternativa al broadcasting è il multicasting: con il multicasting si può fare in modo che la destinazione di un pacchetto sia un gruppo di host. La consegna dei pacchetti multicast avviene tramite UDP, pertanto è possibile che si verifichino smarrimenti o ritardi durante la trasmissione. Tutti gli indirizzi multicast si basano su indirizzi IP di classe D, che vanno da 224.0.0.1 a 239.255.255.255. L’indirizzo 224.0.0.1 è riservato e rappresenta il gruppo “tutti gli host”. Questo gruppo comprende gli host e i router che partecipano a un multicasting IP su un segmento di rete. Gli indirizzi multicast IP devono apparire solo come indirizzi destinazione. IPv6 IPv6 venne elaborato a partire dal 1990 per sopperire alle carenze di IPv4. I principali criteri progettuali sono stati:

o Supporto per miliardi di host. o Riduzione della dimensione delle tabelle di routing. o Semplificazione del protocollo per migliorare la velocità di elaborazione dei pacchetti da parte dei

router. o Migliore sicurezza di quella fornita da IPv4. o Più attenzione al tipo di servizio (dati in tempo reale). o Migliore supporto alla trasmissione multicast. o Il supporto alla mobilità degli host. o Possibilità di fare facilmente evolvere il protocollo in futuro. o Coesistenza con i protocolli già esistenti.

51

Page 52: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Lo Strato Trasporto I servizi offerti agli strati superiori L’obbiettivo dello strato trasporto è di fornire un servizio efficace, affidabile ed efficiente in termini di costi ai suoi utenti. L’hardware o il software che svolge il lavoro è detto entità di trasporto. Ilo servizio di trasporto può essere orientato o non orientato alla connessione, e uno dei compiti principali di questo livello è di isolare gli strati superori (livelli utente) dalla tecnologia e dalle imperfezioni della sottorete.

TPDU, Pacchetti e Frame Le TPDU (Trasfer Protocol Data Unit) sono le unità scambiate tra due livelli di trasporto dei due host paritari. Essi sono contenuti in pacchetti (scambiati dallo strato network) che a loro volta sono inseriti dentro frame (scambiati dallo strato data link).

Le primitive del servizio di trasporto Stabilire una connessione è un operazione molto semplice: uno dei due host invia una TPDU CONNECTION REQUEST all’altro che si trova nello stato LISTEN. Questo risponderà con un TPDU CONNECTION ACCEPTED e la comunicazione potrà avere inizio. Nel rilascio invece esistono due varianti:

1. Asimmetrica: ogni utente del trasporto può emettere una primitiva DISCONNECT, che provoca l’invio di una TDPU DISCONNECT all’entità di trasporto remota. Dopo l’arrivo la connessione è rilasciata.

2. Simmetrica : ogni direzione viene chiusa separatamente, indipendentemente dall’altra. Quando un lato emette una primitiva DISCONNECT, significa che non ha altri dati da inviare ma è ancora in grado di accertare dati dal suo partner. In questo modello, una connessione viene rilasciata quando entrambi i lati hanno inviato DISCONNECT.

52

Page 53: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Elementi del protocollo di trasporto

o Indirizzamento o Creazione di una connessione o Chiusura di una connessione o Multiplexing

Indirizzamento: TSAP, NSAP e connessioni L’indirizzamento delle informazioni passa tra due tipi di porte quando avviene un cambiamento di livello. La porte che connette lo strato trasporto con i livelli superiori è detta TSAP (Transport Service Acceess Point) mentre quella di accesso allo strato Network è detta NSAP (Network Service Access Point). Il TSAP ha dunque un indirizzo che può essere conosciuto in caso di connessione a server non temporanei oppure non conosciuto perché appunto temporaneo. Per la gestione di questo secondo tipo di connessione, si utilizza un process server che sta in ascolto su più porte TSAP e crea il collegamento al server desiderato quando arriva una richiesta di connessione.

Creazione di una connessione All’istaurarsi di una connessione, il problema più grosso è che si possono avere ritardi nei pacchetti che vengono proprio persi durante la comunicazione, ma che rispuntano quando la connessione è ormai stata chiusa.

a) I TPDU non possono entrare nella regione proibita. b) Il problema della risincronizzazione

53

Page 54: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Handshake a tre vie: L’handshake a tre vie impedisce che una qualsiasi combinazione di pacchetti duplicati in arrivo possa causare un errore. Quando l’host 1 decide di stabilire una connessione invia un CONNECTION REQUEST (CR) con un numero di sequenza x. L’host 2, ricevuto questo, invia un ACK per accettare la connessione contenente il numero di sequenza della richiesta (ovvero ACK = x) e un nuovo numero di sequenza y che identifichi la comunicazione inversa (seq = y) stabilendo univocamente la connessione. A questo punto potrebbe iniziare la trasmissione dei dati che però terrà sempre i numeri di sequenza stabiliti all’istauro della connessione (ACK = x seq = y) (fig. a). Se l’host 1 riceve un Ack dall’host 2 senza aver mandato nulla, invia indietro un frame di REJECT segnalando in numero di sequenza errato (ACK = y). Ricevuto dall’host 2 questo capirà di essere stato ingannato da un pacchetto duplicato ritardatario e interromperà la richiesta di connessione (fig. b). Se sia il CR che il pacchetto DATA (contenente i dati della trasmissione) fossero duplicati, l’host 1 riconoscerebbe comunque i differenti numeri di sequenza e potrebbe mandare indietro una REJECT per bloccare il tentativo di connessione (fig. c).

Chiusura di una connessione Il rilascio di una connessione può avvenire in modo simmetrico o asimmetrico (vedi sopra). Una disconnessione asimmetrica è improvvisa e può provocare la perdita dei dati (come mostra la figura sotto) poiché se l’host 2 decide autonomamente di inviare una DISCONNECTION REQUEST mentre l’host 1 ancora trasmette, i dati in transito andranno persi.

La chiusura simmetrica della connessione invece può risultare più affidabile ma è pienamente efficiente solo se entrambe le parti sanno già quanti dati inviare, sennò decidere ed avere la certezza che entrambi i lati siano pronti al rilascio della comunicazione è impresa ardua (causa canale insicuro e perdita dei pacchetti). Un classico esempio è il problema dei due eserciti: Il problema dei sue eserciti

54

Page 55: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Chiusura di una connessione: scenari possibili Nella più rosea delle ipotesi (fig. a) se l’host 1 decide di chiudere la connessione, invia un DR all’host 2 e inizializza un timer attendendo risposta. Se l’host 2 è d’accordo al rilascio invia indietro un DR a sua volta e attende un ACK dall’altra macchina avviando un timer interno. Se questa risposta arriva l’operazione sarà compiuta e la connessione rilasciata. Se però questo ACK non arrivasse, l’host 2, in ogni caso, rilascia la connessione alla fine del timer (l’host 1 la rilascia all’arrivo del DR prima di inviare l’ACK di risposta) (fig. b).

Sono però possibili altri problemi. Se l’host 1 non riceve risposta dopo il suo DR, appena scatta il timeout invia nuovamente il DR che ricevuto dall’host 2 provoca la reinizializzazione del timer e il nuovo invio di un DR che se ricevuto e corrisposto da un ACK da parte dell’altra macchina provoca il rilascio di entrambe le connessioni (fig. c). Un ultimo problema si può avere nel caso in cui nessuno dei DR dopo l’arrivo del primo (dall’host 1 al 2) venga recapitato. L’host 1 in questo caso ripeterà l’invio del DR per N volte e se non riceverà risposta a nessuna di queste rilascerà di sua iniziativa la connessione. Processo simile avrà l’host 2 che non ricevendo più risposta dopo l’invio del suo DR, attenderà il timeout per effettuare il rilascio (fig. d).

Avvolte può essere utile invece usare la disconnessione automatica perché si può avere il caso in cui il primo DR venga perduto e così anche tutti i successivi. L’host 1 dopo N invii si scollegherebbe dalla comunicazione, mentre l’host 2 ignaro di tutto resterebbe connesso e in attesa o in invio di pacchetti che saranno ovviamente persi. Questa disconnessione consiste nell’impostare un timer che alla scadenza rilasci la comunicazione e che venga riavviato all’arrivo di ogni TDPU. Per evitare la perdita della connessione bisognerebbe così inviare una TPDU vuota per far si che l’altra postazione non vada in timeout. Multiplexing

a) Multiplexing verso l’alto. b) Multiplexing verso il basso

55

Page 56: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

I pacchetti del livello di rete utilizzati in un semplice protocollo di trasporto

Ogni connessione può trovarsi in uno dei seguenti sette stati:

1. IDLE. Connessione non ancora stabilita. 2. WAITING. E’ stato eseguito CONNECT ed è stato spedito CALL REQUEST 3. QUEUED. E’ arrivato un CALL REQUEST; ancora nessun LISTEN. 4. ESTABILISHED. La connessione è stata creata. 5. SENDING. L’utente sta aspettando il permesso di spedire un pacchetto. 6. RECEIVING. E’ stata eseguita una RECEIVE. 7. DISCONNECTING. E’ stata eseguita localmente una DISCONNECT.

Lo strato di trasporto in Internet: UDP

o UDP ( User Datagram Protocol ) o Definito in RFC 768 o Fornisce un servizio senza connessione per invio e risposta di pacchetti brevi (es. DNS) o Header UDP:

TCP

o TCP ( Transmission Control Protocol ) o Definito nelle RFC 793, 1122 e 1323 o Fornisce un servizio affidabile (come flusso di byte) ed-to-end su una internetwork inaffidabile o Si adatta dinamicamente alle proprietà della internetwork (dove ogni rete può avere specifiche

diverse l’una dall’altra) o Utilizza connessioni full-duplex punto-punto e non supporta multicasting o broadcasting.

TCP: Alcune well-known ports

a) Quattro segmenti di 512 byte inviati su pacchetti IP separati b) I 2048 byte consegnati all’applicazione in risposta ad una READ 56

Page 57: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

TCP: Intestazione del segmento

NB: I campi SYN e ACK servono per stabilire una connessione:

o SYN=1 e ACK=0 CONNECTION REQUEST o SYN=1 e ACK=1 CONNECTION ACCEPTED

TCP: Instaurazione di una connessione Il protocollo TCP, per stabilire la connessione usa un handshake a tre vie con numeri di sequenza che identifichino un coppia (x,y) univoca per la comunicazione che dovrà avere inizio.

a) Caso normale b) Collisione tra le chiamate

TCP: Modello di gestione della connessione Gli stati in cui il sistema può trovarsi sono i seguenti:

57

Page 58: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Macchina a stati finiti del TCP Nella macchina a stati finiti per la gestione della connessione TCP, la linea spessa è il percorso normale per un client e la linea tratteggiata è il percorso normale per un server. Le linee sottili rappresentano eventi insoliti e ogni transazione è etichettata con l’evento che la provoca e l’azione risultante, separati da una barra.

TCP: Transmission Policy La gestione della finestra di trasmissione nel TCP avviene comunicando al mittente lo spazio a disposizione nel buffer per ricevere nuovi dati. Se all’inizio il buffer è vuoto e il mittente invia 2k (buffer di 4k=4096 byte), il ricevente invierà indietro un ack con il numero di byte memorizzati e il campo Window Size che dichiari i byte ancora ricevibili. Se la finestra è piena il mittente dovrà attendere un ack che segnali che una parte dei dati nel buffer è stata letta. Prima di questo segnale non potrà effettuare trasmissioni. Due soli pacchetti speciali possono essere inviati ovvero dati urgenti (es. fermare un elaborazione) o 1 byte per riceve annunci sul successivo byte previsto e la dimensione della finestra.

58

Page 59: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Silly Window Syndrome La silly window syndrome si verifica quando l’applicazione ricevente legge I dati dal buffer un byte alla vota, mentre il mittente comunica con pacchetti più grossi. Può avvenire infatti che una volta completato il buffer, l’applicazione invii un segnale di ack per dire di aver letto il primo byte e che quindi la finestra è disposta ad accettarne altrettanti. Il mittente visto un byte disponibile effettua l’invio ma occuperà nuovamente tutto il buffer e dovrà quindi nuovamente attendere una nuova lettura istaurando così un ciclo infinito di invio-ricezione di 1 byte alla volta. Per evitare questo problema la soluzione di Clark dice che il mittente può inviare dati solo se la finestra è in grado di gestire l’intero frame o se il buffer del ricevente è libero a metà.

Un altro problema può presentarsi nel caso inverso ovvero se è il mettente a poter inviare pacchetti di un singolo byte. In tal caso ci viene in aiuto l’algoritmo di Neagle. Esso dice che è sufficiente inviare il primo byte della comunicazione e tenere il resto in un buffer fino alla ricezione dell’ack. A questo punto si possono inviare tutti i byte della comunicazione in un solo segmento TCP. TCP: Controllo della congestione La vera soluzione alle congestioni è la diminuzione della velocità dei dati. Tuttavia si può provare limitarle provando a far entrare nella rete un pacchetto solo dopo che il precedente l’abbia lasciata. Per sapere la grandezza dei pacchetti indirizzabili bisogna tener conto dunque di due parametri:

1. grandezza della finestra di ricezione 2. grandezza della finestra di congestione

Se la rete ha una buona capacità, basterà inviare un flusso di dati inferiore alla finestra di ricezione per evitare congestioni. Se la finestra di congestione è bassa bisognerà inviare dati inferiori alla sua massima capacità anche se il ricevente può ricevere più dati.

(a) rete veloce ricevente bassa capacità (b) rete lenta ricevente alta capacità L’algoritmo di avvio lento è quello che effettivamente gestisce le congestioni e usa un terzo parametro la soglia. Questa, impostata inizialmente a 64k, diviene la metà dell’attuale dimensione della finestra di congestione ad ogni timeout. La finestra di congestione parte dalla grandezza massima di un pacchetto e cresce esponenzialmente fino alla soglia. Dal quel punto in poi le trasmissioni avvenute con successo incrementano la finestra di congestione in modo lineare.

59

Page 60: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

DOMAIN NAME SYSTEM (DNS) Indirizzi IP: nomi e numeri Indirizzo IP: stringa a 32 bit

o 10010111 01100001 00000110 00000001 o 151.97.6.1 o Facile da manipolare per un computer o Difficile da ricordare per una persona

Nome mnemonico: stringa di caratteri o Facile da ricordare per una persona o Difficile da manipolare per un computer

E’ possibile associare nomi a indirizzi IP o l’associazione deve essere 1-a-1 per evitare ambiguità o serve un’applicazione che effettui le conversioni

Gestione dello spazio dei nomi Si deve garantire che ogni nome mnemonico identifichi univocamente un host

o si fissa una politica di gestione dello spazio dei nomi o un’autorità garantisce l’applicazione della politica

Due possibili soluzioni o spazio dei nomi piatto (flat) o spazio dei nomi gerarchico

Spazio dei nomi piatto Una lista di nomi senza una particolare struttura

o Una funzione associa ogni nome univocamente ad un indirizzo IP o Gestione centralizzata o La tabella di conversione deve essere nota a tutti i computer della rete o Difficile da gestire e da consultare quando la rete è grande

Spazio dei nomi gerarchico Lo spazio dei nomi viene diviso in zone dette domini, per ogni dominio viene definita un’autorità di dominio Consente la decentralizzazione della gestione della tabella

o l’autorità centrale si occupa solo di coordinare le autorità di zona o ogni autorità di dominio è delegata a gestire l’assegnazione dei nomi della sua zona ed effettuare le

corrispondenze tra indirizzi e nomi o ogni dominio può essere diviso in sottodomini affidati ad autorità di sottodominio o le autorità di dominio sono autonome o lo stesso nome può essere usato in domini diversi

Un nome gerarchico è formato da vari campi, detti etichette separate da punti Ogni etichetta è assegnata da un’autorità ed identifica una zona. L’autorità garantisce che nella sua zona quel nome è unico Es. diit.unict.it

o it è unico a livello globale o unict è unico nel dominio it o diit è unico nel dominio unict.it

60

Page 61: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

DNS Il Domain Name System implementa uno spazio dei nomi gerarchici per le interreti TCP/IP

o utilizzato su Internet o basato su un database distribuito

Il DNS provvede a: o specificare la sintassi dei nomi e le regole per delegare l’autorità sulle zone o implementare il sistema di calcolo distribuito per convertire nomi in indirizzi e viceversa

Regole sintattiche L’intero spazio dei nomi è rappresentato come una zona senza nome Le etichette dei vari livelli gerarchici sono separate con un “.” Non c’è differenza fra maiuscole e minuscole I livelli gerarchici sono ordinati da destra a sinistra Il nome www.diit.unict.it. identifica l’indirizzo 151.97.6.4 Il “.” rappresenta il livello più alto (root) “it” rappresenta tutti i domini italiani

o L’autorità centrale delega dei responsabili per la gestione dei nomi sotto il dominio “it” “unict” rappresenta i nomi per l’università di Catania

o L’autorità di it delega dei responsabili per la gestione dei nomi sotto il dominio unict.it “diit” rappresenta i nomi per il dipartimento di Ingegneria Informatica e delle Telecomunicazioni

o l’autorità di unict.it delega dei responsabili per la gestione dei nomi sotto il dominio diit.unict.it “www” è il nome di un host fissato dall’autorità di diit.unict.it Struttura gerarchica del DNS

Domini di primo livello L’autorità centrale ha individuato un insieme di domini di primo livello individuati su base geografica o in base alla funzione

o COM Organizzazioni commerciali o EDU Istituzioni didattiche o GOV Istituzioni statali (americane) o MIL Gruppi militari (americani) o NET Centri di supporto di Internet o ORG Altre organizzazioni o INT Organizzazioni internazionali o IT,US,UK,DE,RU Codici di nazione (due lettere)

61

Page 62: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

62

Recentemente sono stati introdotti nuovi domini di primo livello necessari per soddisfare esigenze commerciali e risolvere problemi di esaurimento dei nomi Nuovi domini:

o BIZ attività commerciali o INFO siti informativi o COOP siti di cooperative o AERO attività aerospaziali o MUSEUM musei o NAME siti personali o EU codice dell’Unione Europea

Ogni dominio di primo livello è gestito secondo regole proprie ovvero cambiano le regole ed i costi di registrazione. Alcuni domini geografici sono ripartiti secondo uno schema simile a quello di primo livello:

o ac.uk università inglesi o ac.il università israeliane o co.uk organizzazioni commerciali inglesi o …

Name Server La risoluzione dei nomi è affidata ad un sistema distribuito

o I membri del sistema sono detti name server o Ogni applicazione deve contattare un name server per risolvere un nome

Ogni autorità deve avere almeno un name server o Gestisce la risoluzione dei nomi per quel dominio o Un’autorità è totalmente responsabile del funzionamento dei propri name server

I name server associati alla radice dell’albero sono detti root name server o Per ogni nome conoscono un name server in grado di convertire quel nome

Zone di autorità Il sottoalbero di domini gestito da un name server costituisce la sua zona di autorità Per ottenere una zona di autorità un’organizzazione deve soddisfare alcuni vincoli fissati dall’autorità centrale

o supportare tutti i protocolli standard per le interrogazioni e le risposte dal DNS o conoscere almeno un root name server o conoscere un name server per ciascuno dei suoi sottodomini o avere almeno due name server attivi che non hanno punti di guasto comuni (un name server

primario ed uno di backup). Risoluzione di un nome La comunicazione con il name server è gestita dal resolver: il resolver fa parte del livello applicazione ed è invocato prima di contattare il livello di trasporto Es. un utente sulla macchina A lancia il comando ping diretto alla macchina B

o A richiede al name server S l’indirizzo di B o S risponde con l’indirizzo o A invia un messaggio ping all’indirizzo di B

Individuazione del Name Server Non esiste per gli host un metodo standard per individuare un name server sulla rete locale

o in genere il nome del name server è memorizzato in un file di configurazione oppure prelevato da un server DHCP

o il name server si trova sulla porta 53 (sia UDP che TCP) In ambiente Unix/Linux gli indirizzi dei name server sono memorizzati in /etc/resolv.conf

o specifica una lista di suffissi per il completamento degli indirizzi o Es. nameserver 192.41.218.1

domain diit.unict.it

Page 63: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

Completamento degli indirizzi Il name server accetta solo richieste per nomi completamente qualificati (FQDN)

o specificano le etichette di tutti i livelli a partire dal root level Il resolver permette all’utente di specificare nomi parziali

o prova ad estenderli per ottenere nomi completamente qualificati o aggiunge al nome i suffissi specificati nel file di configurazione

Es. ftp www ftp www.diit.unict.it. Modalità di risoluzione degli indirizzi Il name server può utilizzare due diverse modalità per rispondere ad una interrogazione

1. modalità ricorsiva: se non conosce la risposta interroga altri name server e poi passa la risposta al client (usata dai name server locali)

2. modalità iterativa: se non conosce la risposta passa al client l’indirizzo di un altro name server (usata dai name server di livello superiore)

Il client sceglie la modalità di risposta

o setta un flag nel messaggio di richiesta L’applicazione interroga il name server locale

o se il nome appartiene alla sua zona di autorità il name server locale risponde direttamente Altrimenti, il name server locale interroga un root name server

o ottiene in risposta il nome di un name server che ha l’autorità sul dominio di primo livello del nome richiesto

Quindi, il name server locale interroga il name server di primo livello o ottiene in risposta il nome di un name server di secondo livello

E ricorsivamente fino alla risoluzione del nome… Caching degli indirizzi Ogni name server mantiene in una cache tutte le corrispondenze tra nomi e indirizzi di cui viene a conoscenza

o nell’esempio il name server locale mette in cache i name server di it, unict.it e diit.unict.it o una successiva richiesta per www.diit.unict.it viene risolta direttamente dal name server locale

ogni corrispondenza viene mantenuta nella cache per un periodo fissato o il tempo di validità è fissato dal name server che ha l’autorità su quel nome nel messaggio inviato

agli altri name server o per default il timeout è 2 giorni

Tipi degli oggetti Il DNS può essere utilizzato per implementare un qualsiasi spazio gerarchico dei nomi Può implementare corrispondenze arbitrarie es. corrispondenze tra nomi e indirizzi IP e tra nomi e caselle di posta Il tipo di un oggetto definisce il tipo di corrispondenza a cui si riferisce: esistono circa 20 tipi di oggetti e ne vengono introdotti continuamente di nuovi. Principali tipi:

63

Page 64: CORSO DI RETI DI CALCOLATORI - liuct.altervista.orgliuct.altervista.org/.../Corso_di_Reti_Di_Calcolatori_1.1.pdf · wireless. Reti domestiche. Reti tra sistemi. o Software di rete:

64

Richiesta di tipo A per www.diit.unict.it o 151.97.6.4 (indirizzo IP associato al nome)

Richiesta di tipo PTR per 151.97.6.4 o www.diit.unict.it (nome associato all’indirizzo)

Richiesta di tipo MX per www.diit.unict.it o relay.cdc.unict.it (mail exchanger per diit.unict.it)

Richiesta di tipo NS per www.diit.unict.it o ns.cdc.unict.it (name server che ha l’autorità su diit.unict.it)

Richiesta di tipo SOA per www.diit.unict.it o diit.unict.it (zona di autorità di www.diit.unict.it)

Interrogazioni inverse Utilizzata per recuperare il nome associato ad un indirizzo IP

o utilizzata da alcuni server per verificare la correttezza delle informazioni ottenute dal client Implementata come la ricerca di un nome

o tutti gli indirizzi IP sono rappresentati come nomi nel dominio in-addr.arpa Es. 151.97.6.4 4.6.97.151.in-addr.arpa I root name server mantengono un database di tutti gli indirizzi IP validi e dei name server che li possono risolvere.

© By Sciuto Lorenzo ©