1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

24
1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking

Transcript of 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

Page 1: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

1

Sistemi e Tecnologie della Comunicazione

Lezione 19: network layer: congestione, internetworking

Page 2: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

2

Congestione della rete La congestione della rete e’ il fenomeno che si

verifica quando le sorgenti immettono nella rete piu’ pacchetti di quanti la rete riesca a trasmettere a destinazione

Le cause della congestione possono essere molteplici diversi flussi attraversano la stessa linea: i pacchetti non

possono essere trasmessi al ritmo con cui arrivano ad un router, si forma una coda nel router

l’esaurimento dei buffer nel router determina lo scarto dei pacchetti successivi

anche la lentezza della CPU del router (nell’analizzare i pacchetti, la tabella di routing, o per attivita’ di logging degli eventi) puo’ provocare lentezza di risposta ed esaurimento della memoria

aumentare la memoria non serve: code lunghe aumentano il ritardo di inoltro dei pacchetti; quando il ritardo cresce, i pacchetti scadono, verranno scartati ed andranno ritrasmessi comunque

Page 3: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

3

Effetto valanga

Tipicamente l’insorgere di congestione in un punto della rete ha un effetto che in mancanza di contromisure peggiora nel tempo:

i pacchetti vengono scartati dal router, quindi verranno ritrasmessi provocando un ulteriore aumento del flusso verso la zona congestionata

i pacchetti ritrasmessi andranno in generale ad aumentare il carico anche a monte del router congestionato, provocando un sovraccarico conseguente anche in altre zone della sottorete

Questo provoca un effetto a valanga che, in prossimita’ di una certa soglia di sovraccarico, rapidamente porta la rete in condizioni di congestione diffusa

Senza azioni correttive la rete puo’ collassare

Page 4: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

4

Principi generali per il controllo della congestione

Le contromisure si classificano in due categorie: soluzioni a ciclo aperto: si opera in sede di progetto della

rete, destinando risorse di banda, CPU, memoria, valutando scelte di routing e valutando correttamente il tempo di vita massimo di un pacchetto

un lungo tempo di vita fa si che i pacchetti intasino la rete per molto tempo

un tempo troppo corto provochera’ la ritrasmissione troppo spesso

la progettazione deve considerare anche il comportamento del protocollo di trasporto

soluzioni a ciclo chiuso: queste si attivano tenendo in conto lo stato corrente della rete, ed operando retroazioni, quindi

definire le metriche ed i meccanismi per rilevare la congestione

definire i modi per la trasmissione di queste informazioni in punti dove operare azioni correttive

attivare le azioni correttive

Page 5: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

5

Controllo del sistema

Le metriche per l’identificazione di una congestione (imminente) sono diverse: percentuale di pacchetti scartati lunghezza media delle code frequenza dei pacchetti scaduti ritardo medio dei pacchetti

Alcune di queste metriche sono utilizzabili dalla sorgente per provocare una autolimitazione del traffico immesso nella rete

In tutti i casi valori crescenti indicano un peggioramento della situazione

Page 6: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

6

Controllo nella rete connection oriented

Una soluzione al problema e’ il controllo di ammissione: quando una parte della sottorete risulta

congestionata, nessun circuito virtuale puo’ essere definito attraverso quella zona: si permettono nuove connessioni solo attraverso strade diverse (se possibile)

si possono anche attivare meccanismi piu’ stringenti nella allocazione delle risorse per le nuove connessioni

tipicamente le reti a circuiti virtuali fanno una sorta di overbooking delle risorse

impedire ulteriori overbooking permette di garantire che le nuove connessioni dispongano delle risorse necessarie, e non aggraveranno la situazione

Page 7: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

7

Controllo nelle reti connectionless

Il router puo’ tenere sotto controllo lo stato delle sue linee e determinare lo stato di allarme

Una soluzione (utilizzata nel DECnet) prevede che il router in stato di allarme modifichi un bit particolare nell’header dei pacchetti

lo strato di rete del nodo di destinazione riporta l’informazione allo strato di trasporto

lo strato di trasporto della destinazione ricopia il bit di congestione nel pacchetto di acknowledge, quindi la sorgente rileva il problema e riduce la velocita’ di trasmissione

poiche’ qualunque router puo’ settare il bit di allarme, la condizione di allarme termina solo quando tutti i router coinvolti nel tragitto congestionato sono tornati in condizione normale

Page 8: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

8

Choke packet

Una soluzione diversa consiste nel comunicare direttamente alla sorgente il problema, tramite un pacchetto specifico detto choke packet il pacchetto originale viene marcato in modo da

non generare altri chocke packet durante il resto del suo tragitto

il choke packet contiene le informazioni di quale destinazione e’ affetta dal problema

la sorgente puo’ quindi ridurre di una certa percentuale il rate di trasmissione verso quella destinazione

dopo un intervallo di tempo (predefinito) di assenza di choke packet, la sorgente riprende ad aumentare il rate di trasmissione

Page 9: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

9

Choke packet hop-by-hop Il meccanismo del choke packet difetta di lentezza nella

risposta al problema fino a che il choke packet non arriva alla sorgente, questa

continua ad inviare troppo rapidamente per la rete Una soluzione migliorativa e’ che il choke packet, durante il

tragitto, provoca in ciascun router la diminuzione delle trasmissioni verso la sorgente (choke packet hop by hop)

quando il choke packet raggiunge il primo router a monte di quello congestionato, questo rallenta alleviando il router congestionato, ed aggrava la sua situazione perche’ a monte il traffico e’ sempre a rate elevato, ma solo finche’ il choke packet non fa un altro hop

via via che il choke packet viaggia all’indietro, ogni router rallenta le trasmissioni verso il successivo

il meccanismo sposta verso la sorgente parte del problema, ma per tempi brevi, cioe’ spalma la congestione su diversi router che saranno in crisi per tempi brevi ed in modo meno intenso

Page 10: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

10

Scarto dei pacchetti

Quando non ce la si fa piu’ i router scartano i pacchetti

Questo generalmente provoca ritrasmissioni, che non risolvono il problema

Si puo’ pero’ sfruttare il comportamento dello strato di trasporto per scartare oculatamente i pacchetti e ridurre il carico

ad esempio, se lo strato di trasporto ha un meccanismo del tipo go-back-n, e’ opportuno scartare i pacchetti piu’ nuovi, in modo da generare meno ritrasmissioni

in alcuni protocolli di trasporto (come il TCP) la perdita di pacchetti provoca un rallentamento della velocita’ di trasmissione, cosa funzionale alla soluzione del problema di congestione

Page 11: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

11

Internetworking L’evoluzione delle reti si e’ sviluppata indipendentemente

nelle diverse realta’ locali (dal punto di vista geografico o amministrativo)

Le diverse necessita’ hanno prodotto la definizione e l’implementazione di reti utilizzanti protocolli differenti

Si utilizzano protocolli variegati sia a livello di rete locale che geografica

quasi tutti i PC utilizzano TCP/IP molti PC utilizzano NETBIOS i mainframe IBM delle grandi aziende utilizzano SNA o DECnet i MacIntosh utilizzano (anche) Appletalk alcune LAN di PC usano IPX (Novell) molte aziende telefoniche usano ATM wireless rappresenta uno standard differente dagli altri

Un bel giorno si e’ scoperto opportuno che alcune – o tutte – queste realta’ possano comunicare tra loro

Page 12: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

12

Problematiche di internetworking

Le differenze tra reti sono di diversa natura esistono differenze a livello di strato fisico o di

data link layer a livello di rete, differenze possono derivare da

comunicazione tra reti connection oriented e connection less

utilizzo di funzionalita’ in una rete non previste dall’altra rete (ad esempio, controllo di flusso, comunicazione multicast o qualita’ di servizio)

differenze di indirizzamento, che richiedono tabelle di conversione

alcuni protocolli di rete possono richiedere dimensioni massime dei pacchetti di valore differente

differenze possono presentarsi anche a livello di trasporto o di applicazione

Page 13: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

13

Connessioni tra reti

Livelli fisici differenti possono essere connessi da convertitori di segnale (ad esempio, una tratta costituita da una connessione in coassiale che si inserisce in un ponte radio, per finire in una connessione in fibra ottica)

A livello di data link layer abbiamo visto l’interconnessione tra protocolli differenti tramite dispositivi detti bridge

A livello di rete una possibile soluzione e’ l’utilizzo di router multiprotocollo

Le conversioni di protocollo a livello di trasporto o di applicazione vengono eseguite da dispositivi chiamati generalmente gateway (termine talvolta utilizzato anche per indicare i router nel contesto del livello di rete)

Nel seguito vedremo il problema relativo allo strato di rete, che richiede in ogni caso la presenza di un router (gateway) di frontiera che sia capace di parlare entrambi i protocolli

Page 14: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

14

Circuiti virtuali concatenati

Quando l’interconnessione e’ relativa a due sottoreti orientate alla connessione, e’ possibile operare nel seguente modo

al momento di stabilire la connessione, la sottorete si accorge che la destinazione e’ esterna alla rete

viene stabilito un circuito virtuale tra la sorgente ed il router piu’ vicino al bordo della sottorete di partenza

il router crea quindi una connessione con il gateway multiprotocollo che interconnette le due reti adiacenti, ed “incolla” la connessione con la sorgente a questa nuova connessione

analogamente il router multiprotocollo creera’ una connessione (secondo le specifiche del protocollo della rete successiva, che lui conosce) verso un router vicino situato nella nuova sottorete ed associa i due circuiti virtuali

questo processo puo’ iterarsi fino alla destinazione, realizzando una concatenazione di circuiti virtuali da sorgente a destinazione

Page 15: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

15

Circuiti virtuali concatenati

Questa tecnica funziona bene quando le caratteristiche delle comunicazioni orientate alla connessione sono simili

ad esempio tutte le reti forniscono un flusso affidabile In caso contrario la natura della connessione puo’ essere

pregiudicata la rete della sorgente e della destinazione possono offrire un

servizio affidabile, ma se nel mezzo c’e’ una rete con servizio connection oriented inaffidabile, l’affidabilita’ della connessione viene chiaramente pregiudicata

Page 16: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

16

Collegamento connectionless

In questo caso il servizio fornito allo strato di trasporto e’ di tipo datagram

Come previsto dal protocollo ogni pacchetto e’ instradato indipendentemente, ed i percorsi dei pacchetti potrebbero anche attraversare gateway differenti

In questo caso i problemi sono maggiori i router multiprotocollo debbono estrarre dal pacchetto in

transito le informazioni essenziali, e tentare di tradurre queste informazioni nel protocollo della rete verso cui il pacchetto viene instradato

questo raramente puo’ essere fatto se i protocolli non sono molto simili

altro problema grave e’ l’indirizzamento: protocolli diversi utilizzeranno indirizzamenti diversi, e non sempre e’ possibile mantenere una mappatura sul gateway

Page 17: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

17

Tunneling

Non esiste una soluzione generale per realizzare una interconnessione di reti: ogni situazione va risolta in modo opportuno

Un caso particolare ma molto frequente e’ quello di una interconnessione tra reti differenti, dove pero’ la rete di partenza e quella di arrivo sono omogenee ad esempio una LAN connessa in TCP/IP alla

rete di partenza, deve attraversare una sottorete ATM per raggiungere una rete TCP/IP a destinazione

Page 18: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

18

Tunneling (cont.) In questo caso si puo’ applicare una semplice tecnica

nota come tunneling: il pacchetto della rete di partenza arriva al gateway, che

dispone di un collegamento verso un router della rete da attraversare (secondo il protocollo della rete in questione)

il router inserisce il pacchetto nel campo dati di un pacchetto del protocollo specifico della rete da attraversare, ed indirizza il nuovo pacchetto al gateway che connette la rete intermedia con quella di destinazione

il gateway di destinazione riceve il pacchetto, estrae da questo il pacchetto originario e lo instrada secondo il protocollo della rete di destinazione, uguale a quello della rete di partenza

in questo caso la rete intermedia si comporta a tutti gli effetti come un tubo, i cui dettagli sono ignoti a mittente e destinatario

i due gateway dovranno avere nella tabella di routing l’informazione che le destinazioni connesse al gateway dirimpettaio vanno raggiunte attraverso di lui, tramite il tunnel

Page 19: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

19

Tunneling (cont.)

Questa tecnica e’ applicata diffusamente in Internet, dove le destinazioni sono generalmente reti locali che utilizzano il TCP/IP, e le dorsali di interconnessione possono attraversare reti di qualunque tipo

Il TCP/IP (in particolare IP) supporta questo tipo di trasferimento dei dati

Page 20: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

20

Routing in una internet

Il routing attraverso una interconnessione di reti si gestisce in modo simile al routing gerarchico

Si utilizza un routing a due livelli il routing interno a ciascuna rete sara’ gestito tramite un

protocollo di routing interno (Interior Gateway Protocol) quale ad esmpio RIP, OSPF, OSI-CLNS, X.25

il traffico interno non si preoccupa di questioni relative all’internetworking; le zone interne vengono chiamate Autonomous System (AS)

i gateway (router multiprotocollo) utilizzeranno tra loro un protocollo differente (Exterior Gateway Protocol), che permettera’ ai gateway di decidere attraverso quali reti instradare il pacchetto

fatta la scelta, si puo’ utilizzare il tunneling per trasferire i dati a destinazione

Page 21: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

21

Frammentazione

L’attraversamento di reti differenti puo’ richiedere che un gateway spezzi il pacchetto in frammenti per motivi di protocollo

un pacchetto IP puo’ essere lungo 65515 byte se si deve attraversare una Ethernet, deve essere

spezzato in frammenti di circa 1500 byte se poi deve attraversare una rete ATM, deve essere

ulteriormente frammentato in parti di 48 byte ciascuna Esistono due modi di affrontare il problema

evitare il problema a monte: il protocollo puo’ tentare di capire la dimensione minima richiesta dalle reti da attraversare, ed imporre questo limite alla sorgente, o evitare di transitare su reti che non possono supportare la dimensione del pacchetto originato

meglio: permettere ai router di frammentare il pacchetto

Page 22: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

22

Frammentazione (cont.) In caso di frammentazione, esistono ancora due

strategie riassemblare il pacchetto all’uscita della rete che ha

imposta la frammentazione (ATM fa cosi’) questo rende la frammentazione trasparente alle reti a valle,

cioe’ ai gateway successivi, che lo riceveranno intero puo’ pero richiedere di frammentare e riassemblare piu’ volte

il pacchetto (lavoro aggiuntivo per i gateway) inoltre i gateway devono sapere quando hanno ricevuto tutti i

frammenti, e devono poterli riordinare (quindi tutti i frammenti devono uscire dalla rete intermedia attraverso lo stesso gateway)

non riassemblare il pacchetto frammentato, ma trasmettere i diversi frammenti fino a destinazione, dove il pacchetto verra’ riassemblato (IP usa questa soluzione)

questo ha il vantaggio di non dover ripetere piu’ volte la stessa operazione

i gateway non si devono preoccupare del riassemblaggio (ne’ potrebbero)

Page 23: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

23

Frammentazione (cont.)

Gli aspetti negativi della frammentazione non traspasrente sono

tutti gli host devono saper riassemblare il pacchetto l’overhead della frammentazione (una intestazione

completa per ogni frammento) si propaga fino a destinazione

si deve introdurre una numerazione che permetta di riassemblare il pacchetto e di identificare pezzi mancanti

IP utilizza la seguente tecnica ogni frammento deve avere una dimensione fissa (quella

richiesta dalla rete di transito), tranne l’ultimo l’intestazione di ogni frammento deve contenere il

numero del pacchetto, un bit che indica il frammento finale, ed un numero che indica l’offset in byte del primo byte del frammento rispetto al pacchetto originale

Page 24: 1 Sistemi e Tecnologie della Comunicazione Lezione 19: network layer: congestione, internetworking.

24

Frammentazione (cont.)