Sei sulla pagina 1di 296

1.

1.1

Introduzione
Evoluzione Storica delle Reti di Telecomunicazione

In meno di quaranta anni levoluzione tecnologica ha portato drastici cambiamenti al modo ed alla facilit con cui la gente pu scambiare informazioni, grazie alla rivoluzione avutasi nel campo delle reti di telecomunicazioni e del computer technology. Negli anni 60 i calcolatori erano molto costosi e solo grosse organizzazioni potevano permettersi il lusso di possederne uno. La potenza di calcolo messa a disposizione da questi calcolatori (grandi quanto un paio di armadi), veniva usata sottoponendo al sistema dei processi batch (job) tramite delle schede forate. Linterazione uomocomputer (HCI - Human Computer Interaction) era praticamente nulla. In Fig. 1.1-1 riportato uno schema che rappresenta il computing environment di quegli anni.

Stampante

Memoria Secondaria (Dispositivi a nastro magnetico)

Posto Operatore (telescrivente)

Unit centrale di Elaborazione (CPU)

Lettore di schede

Sala Calcolatore

Fig. 1.1-1 Il primo passo verso la condivisione delle risorse di calcolo stato compiuto intorno agli anni 70. In questi anni il costo di un calcolatore veniva ammortizzato da pi organizzazioni, che quindi avevano la necessit di condividere la risorsa di calcolo. Laccesso alla risorsa avveniva secondo una politica di tipo time-sharing. Lo schema utilizzato allora riportato in Fig. 1.1-2, dalla quale si possono notare i terminali usati per accedere al calcolatore. Questi terminali comunicavano con lelaboratore centrale, tramite delle linee dati dedicate ed analogiche. La conversione digitale-analogico veniva affidata a dei modem (MOdulatore DEModulatore ). Un altro passo avanti fu quello di disaccoppiare i moduli relativi alla gestione della comunicazione dallelaboratore, racchiudendo le loro funzionalit in un Front-End processor. Da questo momento in poi le funzionalit di comunicazione saranno sempre separate dalle funzionalit elaborative. 1-1

Rete Telefonica Pubblica

Fig. 1.1-2 Per sfruttare meglio le costose linee di comunicazione, venne introdotto il multiplexing di pi terminali su una singola linea. In generale il multiplexing era gestito da uno dei seguenti dispositivi (vedi Fig. 1.1-3) : Multiplatore di Terminali Calcolatore Remoto Cluster Controller Il multiplatore di terminale pu operare in due modi differenti : Multiplexing Deterministico : Ogni terminale collegato ha riservato staticamente un intervallo di tempo per inviare dati, a prescindere dal fatto che esso abbia o meno la necessit di spedire qualche cosa. Multiplexing Statistico : In questo caso viene assegnato un intervallo di tempo per spedire i dati solo a chi ne ha effettivamente bisogno, eliminando gli sprechi introdotti dal Multiplexing Deterministico. Il Cluster Controller eseguiva il polling dei terminali ad esso connessi, mentre il Calcolatore Remoto assegnava la linea ai terminali secondo una determinata politica di scheduling. La topologia che veniva fuori da tale scenario era una stella avente centro nel calcolatore condiviso tra i vari terminali. Una svolta nella filosofia della comunicazione si ebbe con lavvento di ARPANET, nata dun progetto del DoD (United States Departement Of Defence), la quale propose come alternativa alla topologia stellare sin ora utilizzata una topologia magliata, basata sul packet switching piuttosto del tradizionale circuit switching. 1-2

Multiplexer di Terminali

Elaboratore Centrale Calcolatore di Interfaccia

Calcolatore Remoto

Sistema Centrale di Comunicazione

Cluster Controller

Modem

Rete Telefonica Pubblica

Terminale

Fig. 1.1-3

A met degli anni 80 si pens di costruire un nuovo tipo di rete pubblica, interamente digitale, utilizzabile sia per il trasferimento vocale che per il trasferimento dati. Inizia a farsi avanti il concetto di ISDN (Integrated Service Digital Networks) che mette a disposizione due canali dati a 64kbps e un canale di controllo a 16 kbps (vedi Fig. 1.1-4).

1-3

NTE NTE

ISDN

NTE NTE

NTE = Network Termination Equipment ISDN = Integrated Service Digital Network

Fig. 1.1-4

Attualmente, un grande sforzo si sta facendo per permettere il trasferimento di informazioni multimediali sulla rete, le quali richiedono un alto bit rate. Per questo motivo si stanno sviluppando le reti B-ISDN (Broadband ISDN), in cui introdotto un nuovo paradigma sia per la trasmissione che per lo switching conosciuto come ATM (Asynchronous transfer mode). Sono gi disponibili delle ATM LAN (Local Area Network) mentre si stanno sviluppando delle ATM WAN (Wide Area Network) capaci di interconnettere le varie LAN. Sono anche in via di sviluppo delle ATM MAN (Metropolitan Area Network) che permettano linterconnessione sia di ATM LAN che di Data-only LAN in una stessa citt (vedi Fig. 1.1-5). Per adesso si hanno a disposizione solo delle Isole Broadband collegate ad Internet, allinterno delle quali sono disponibili i servizi a larga banda.

1-4

Data-only LAN

ATM LAN

ATM MAN

ATM WAN

ATM MAN

ATM LAN

Data-only LAN

Data Only Workstation / Server

Multimedia Workstation / Server

Fig. 1.1-5

Lultima sfida tecnologica (ultima in senso temporale) riguarda la comunicazione wireless (senza cavo), tramite la quale possibile comunicare con chiunque, in qualunque posto ed in qualsiasi ora. La ricerca si sta dunque orientando verso delle reti wireless a larga banda per il trasferimento di applicazioni multimediali.

1-5

2.
2.1

Network Organization
Concetto di Protocollo

Due entit che desiderano cooperare, hanno la necessit di concordare un insieme di regole su come portare avanti la comunicazione stessa. Linsieme delle regole usate per cooperare viene in genere definita protocollo. Un protocollo un insieme di regole sintattiche e semantiche concordate tra due o pi processi indipendenti al fine di cooperare. Una rappresentazione semplificato del collegamento che si instaura tra due interlocutori, A e B, mostrata in Fig. 2.1-1.

T
A
1

T
B

Fig. 2.1-1: Modello semplificato del collegamento tra due interlocutori A e B. In figura sono evidenziati due punti associati alle porte utilizzate dai due interlocutori per comunicare, rispettivamente, con il mondo esterno (porta T) e con la peer entity (porta M). La condizione necessaria e sufficiente affinch due interlocutori, A e B, possano realizzare un protocollo che : 1. Il dizionario dei messaggi in ingresso dellinterlocutore A sia incluso nel dizionario dei messaggi di B, e viceversa. 2. Linsieme di regole e di codifiche dei messaggi con cui luno si comporta in corrispondenza di messaggi in ingresso sia compatibile con le regole seguite dallaltro. I due interlocutori comunicano scambiando messaggi (la cui sintassi e semantica definita dal protocollo) tramite la porta M, mentre interagiscono con il mondo esterno fornendo una serie di servizi mediante la porta T. Gli interlocutori di Fig. 2-1 vengono in genere detti protocol entity o protocol machine, essi possono essere rappresentati da una Finite State Machine (FSM).

2-1

2.2

Architetture di Rete

Il principio che si seguito nella progettazione delle reti di comunicazione, stato quello della decomposizione dei servizi in servizi pi semplici, inoltre nonostante siano possibili differenti architetture, la maggior parte delle reti fanno riferimento ad unarchitettura a livelli (Fig. 2.2-2). Lorganizzazione dei servizi in servizi pi semplici detta Network Architecture. Si definisce Network Architecture un insieme di livelli e protocolli. Ogni livello risolve un certo numero di problemi, e fornisce ai livelli superiori un set ben definito di servizi, nascondendo i dettagli di come il servizio effettivamente implementato. Ci consente di sostituire, in modo del tutto trasparente, limplementazione di un dato livello con unaltra che implementa la stessa interfaccia. Il livello n di tale architettura rappresenta un interlocutore che comunica con la sua peer entity tramite il protocollo del livello n. Tra ogni coppia di livelli adiacenti n ed (n-1) vi uninterfaccia che definisce linsieme dei servizi messi a disposizione dal livello (n-1) al livello superiore . In realt nessun dato spedito direttamente dalla protocol entity di livello n su un calcolatore alla peer entity su di un altro calcolatore, infatti, ogni livello passa i dati e delle informazioni di controllo al livello immediatamente sottostante, finche non si sia raggiunto il livello pi basso. Nonostante ci le protocol entity hanno la sensazione di comunicare direttamente come mostrato in Fig. 2.2-2 della linee trattegiate. Prima di proseguire, importante enfatizzare sulla differenza dei concetti relativi ai protocolli ed ai servizi. Un servizio un insieme di primitive che ogni livello fornisce al livello superiore, esso definisce cosa un livello pu fare ma non come esso effettivamente implementato. Un protocollo, invece un insieme di regole che governa la comunicazione tra due peer entity. Le entity usano il protocollo per implementare i servizi forniti dallinterfaccia. In unanalogia con i linguaggi di programmazione si potrebbe pensare che un servizio come un oggetto, il quale definisce i metodi tramite cui interagire, ma non specifica come essi sono effettivamente implementati. Mentre un protocollo rappresenta in un certo senso limplementazione del metodo, e proprio per questo non visibile a chi usa loggetto.

2-2

Layer 5 Protocol

Layer 5 Layer 5
Layer 4-5 Interface Layer 4 Protocol

Layer 5 Layer 5

Layer 4 Layer 4
Layer 3-4 Interface Layer 3 Protocol

Layer 4 Layer 4

Layer 3 Layer 3
Layer 2-3 Interface Layer 2 Protocol

Layer 3 Layer 3

Layer 2 Layer 2
Layer 1-2 Interface Layer 1 Protocol

Layer 2 Layer 2

Layer 1 Layer 1

Layer 1 Layer 1

Physical Medium

Fig. 2.2-2 : Architettura di una rete a cinque livelli.

2-3

Consideriamo larchitettura di rete mostrata in Fig. 2.2-3 e vediamo di capire con un esempio come due processi attivi al livello 5 possano scambiarsi messaggi.

Layer 5 Layer 5
Layer 4-5 Interface

Layer 5 Protocol

Layer 5 Layer 5

Layer 4 Layer 4
Layer 3-4 Interface

Layer 4 Protocol

Layer 4 Layer 4

Layer 3 Layer 3
Layer 2-3 Interface

Layer 3 Protocol

Layer 3 Layer 3

Layer 2 Layer 2
Layer 1-2 Interface

Layer 2 Protocol

Layer 2 Layer 2

Layer 1 Layer 1

101100011 .. 101000110110

Layer 1 Protocol

101100011 .. 101000110110

Layer 1 Layer 1

Physical Medium

Fig. 2.2-3 : Flusso effettivo dei messaggi in un sistema a livelli. Supponiamo che il processo attivo al livello 5 generi un messaggio m di protocollo da spedire allinterlocutore di livello pari. Il messaggio in questione verr passato dal livello 5 al livello 4, sfruttando i servizi messi a disposizione dellinterfaccia 4-5. Il livello 4 aggiunge un header (rappresentato con una H in Fig. 2-3) al messaggio passatogli dal livello 5. Lheader contiene in genere informazioni di controllo che servono a gestire il protocollo. Fatto ci il livello 4 passa il messaggio risultante al livello 3, il quale come il livello precedente gli aggiunge un header. Infine a differenza degli altri, il livello 2 aggiunge al messaggio passatogli sia un header che un trailer e passa il tutto al livello 1 che fisicamente si preoccupa di spedire il messaggio. A questo punto (se tutto va bene) il messaggio arriver al livello 1 dellhost di destinazione, il quale passera quanto ricevuto al livello superiore che rimuover lheader ed il trailer e passera la rimanente porzione al livello superiore, e cosi via. In sostanza allhost ricevente ogni layer si preoccuper di eliminare lheader che il peer level aveva introdotto e passare quindi il risultato al layer superiore. importante osservare in Fig. 2-3, le frecce (colorate in rosso) che rappresentare il flusso dei messaggi del caso preso in considerazione, unaltra cosa da notare che le peer entity hanno effettivamente la sensazione che la comunicazione stia avvenendo in orizzontale, come mostrato dalle linee tratteggiate.

2-4

2.3

Generalit sui Servizi

2.3.1 Un po di terminologia Abbiamo sin ora visto che nellarchitettura a livelli, ogni layer fornisce allo strato soprastante un certo numero di servizi, inoltre i servizi forniti allinterfaccia tra due generici livelli sono potenziati, secondo uno schema a valore aggiunto, man mano che si sale di livello. In generale si definisce (n+1)-Service User lentit di livello (n+1) che usa i servizi messi a disposizione del livello (n), mentre n-Service Povider lentit distribuita costituita dallentit di livello n e dal service provider di livello (n-1) (vedi Fig. 2.3-1).

(n)-Entity

(n+1)-Service User

(n)-Entity

n-Service Provider

(n)-Entity

(n) Level Protocol

(n)-Entity

(n-1)-Service Provider

Fig. 2.3-1 : Modello dellarchitettura a valore aggiunto.

2-5

I servizi messi a disposizione dal n-Service Provider sono accessibili tramite gli n Service Access Points (n-SAPs). Ogni SAP ha un indirizzo che lo identifica in modo univoco. Il livello (n+1) richiede un servizio al livello n, passando una (n+1)-SDU tramite un n-SAP (vedi in Fig. 2.3-2). La (n+1)-SDU passata al livello sottostante costituita dalla (n+1)-PDU da spedire alla peer entity, e viene incapsulata, insieme ad altre informazioni aggiuntive, in una (n)-PDU.

(n+1) PDU

(n+1Level

(n) SDU

(n) PCI

(n) Level

(n) PCI

(n) SDU

(n) PDU

PDU : Protocol Data Unit SDU : Service Data Unit PCI : Protocol Control Information

Fig. 2.3-2

2.3.2 Classificazione dei Servizi I servizi che un livello offre possono essere distinti nelle seguenti categorie: Servizi Connection Oriented Servizi Connectionless Lutilizzo di un servizio connection oriented prevede tre step, (1)Connection Establishment, (2)Data Transfer, (3)Connection Release. Una connessione si comporta come un tubo allinterno del quale immettere i messaggi da spedire, questi ultimi sono ricevuti dal destinatario nello stesso ordine con cui sono stati immessi. Questi servizi necessitano di un Three-Party Agreement fra local user, remote user e service provider. Per certi versi i servizi connection oriented sono simili al sistema telefonico, nei quali per parlare a qualcuno, bisogna prima instaurare una connessione digitando il numero telefonico del chiamato. Una volta che la connessione stata instaurata possiamo parlare quanto vogliamo, ed infine la connessione viene chiusa riagganciando la cornetta. I servizi connectionless a differenza di quelli connection oriented, richiedono un Two Party Agreement fra service user e service provider. In tal caso si ha la trasmissione di unit dati fra loro indipendenti, senza la necessit di instaurare un connessione. Questo tipo di servizi analogo a quello fornito del servizio postale per la spedizione delle lettere.

2-6

2.3.3 Classificazione degli Elementi di Servizio Formalmente un servizio specificato da un insieme di primitive tramite cui i service user possono accedere al servizio. Le primitive di servizio possono essere classificate nelle quattro classi mostrate in Tabella 2.3-1. Tabella 2.3-1:Classificazione delle primitive di servizio Primitiva Request Indication Response Confirm Significato Un entit vuole che il servizio faccia qualcosa Unentit deve essere informata su qualche evento Unentit vuole rispondere ad un evento Unentit devessere informata sulla sua richiesta

I servizi sono in genere classificati in tre categorie : Confirmed Non-Confirmed Provider Initiated I servizi confermati (Confirmed Services) sono costituiti da tutte le primitive presenti nella Tabella 2.3-1, quindi presente una Request , una Indication, una Response ed una Confirm. Mentre i servizi non confermati sono costituiti dalle sole primitive di Request e Confirm. Nel caso dei servizi Provider Initiated, presente solo la primitiva di Indication. In Fig. 2.3-3, Fig. 2.3-4, Fig. 2.3-5 sono riportati i diagrammi temporali dei servizi sopra descritti.

User A
Request

Service Provider

User B

User A

Service Provider

User B

Request Indication

Responce

Indication

Confirm Time Time

Fig. 2.3-4: Diagramma temporale delle primitive di un servizio Confirmed.

Fig. 2.3-3: Diagramma temporale delle primitive di un servizio Non-Confirmed. 2-7

User A

Service Provider

User B

Indication

Indication

Time

Fig. 2.3-5 : Diagramma temporale delle primitive di un servizio ProviderInitiated

2-8

3.

Modelli di riferimento

Agli inizi degli anni 70 le case produttrici di hardware e software di reti orientavano i loro prodotti verso specifiche macchine (prodotte spesso dalla casa stessa) rendendo praticamente impossibile la comunicazione di sistemi diversi. Per questa ragione, questi sistemi vengono classificati come closed system. A met degli anni 70 lInternational Standards Organization (ISO) avvi un processo di standardizzazione proponendo un modello di riferimento chiamato Open System Interconnection reference model (OSI reference model) il cui obiettivo era quello di permettere la comunicazione tra processi applicativi residenti su computer di case costruttrici diverse che rispettavano un dato insieme di regole standard.

3.1

OSI Reference Model

Larchitettura scelta per lOSI naturalmente organizzata in livelli, ognuno dei quali svolge dei ben determinati compiti. Tali livelli vengono suddivisi in due categorie, in base alle funzioni svolte: network depended function application oriented function Questo porta alla definizione di tre ambienti operativi: Network Environment OSI Environment Real System Environment Il primo (Network Environment) si occupa dei protocolli e degli standard relativi ai differenti tipi di sottorete. LOSI Environment racchiude il Network Environment e si occupa dei protocolli e degli standard per la comunicazione di sistemi aperti. Infine il Real System Environment costruito sullOSI Environment e rappresenta i processi utente che necessitano la comunicazione con sistemi remoti. Quanto detto riassunto schematicamente in Fig. 3.1-1. Il modello OSI composto da 7 livelli; i principi che hanno portato a questa scelta sono: 1. Deve essere aggiunto un livello solo se necessario inserire un nuovo livello di astrazione. 2. Ogni livello deve eseguire delle particolari e ben determinate funzioni. 3. Le funzioni definite nei vari livelli devono essere scelte tenendo in considerazione che tale modello dovrebbe essere alla base della definizione di protocolli standard internazionali. 4. I confini fra i vari livelli devono essere scelti in modo da minimizzare lo scambio di informazioni attraverso le interfacce. 5. Il numero di livelli deve essere abbastanza alto in modo da non mischiare assieme (nello stesso livello) funzioni che non hanno nulla in comune, e deve essere sufficientemente basso da non appesantire troppo larchitettura stessa.

3-1

Computer A AP

Computer B AP

Application - oriented function Network - depended function

Application - oriented function

Network - depended function

Data network Network Environment OSI Environment

Real System Envirinment

Fig. 3.1-1

Bisogna sottolineare che lOSI Reference Model non unarchitettura di rete perch non specifica esattamente i servizi e i protocolli da usare in ogni livello. Essa semplicamente dice cosa ogni livello deve fare1. Comunque lISO ha prodotto degli standard per ognuno di tali livelli, ma essi non fanno parte del modello OSI. Come si pu notare dalla Fig. 3.1-2 i primi tre livelli dellarchitettura OSI (Physical, Data Link e Network layer) fanno parte del Network Environment e sono presenti negli eventuali nodi intermedi che connettono il Computer A al Computer B. Il loro compito strettamente legato con la Data Network usata per connettere i vari nodi della rete. I livelli superiori (Transport, Session, Presentation e Application Layer) fanno parte dellOSI Environment e vengono detti Application Oriented. Il loro compito quello di permettere linterazione fra due processi utente che si trovano su computer diversi. Tali livelli sono end-to-end cio essi non sono presenti nei nodi intermedi nella rete di comunicazione. Bisogna comunque precisare che il Transport Layer non un livello Application Oriented, bens esso maschera ai livelli superiori (Application Oriented) i dettagli dei livelli sottostanti (Network Depended). Nella Fig. 3.1-3 sono riportati i 7 livelli dellarchitettura OSI con le funzionalit svolte da ognuno di essi. Adesso analizzeremo pi in dettaglio tali livelli (Layer) partendo dal Physical Layer (livello 1) fino ad arrivare allApplication Layer (livello7).

Andrew S. Tanenbaum - Computer Network Third Edition - Prentice Hall.

3-2

Computer A AP
Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer

Computer B AP
Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer

Data network Network Environment OSI Environment

Real System Envirinment

Fig. 3.1-2

3-3

End-user application process End-user application process


Distribuited information services

File transfer, access and management, File transfer, access and management, document and message interchange, document and message interchange, job transfer and manipulation job transfer and manipulation
System-independed message interchange service

Application layer

Trasfer syntax negotiation, Trasfer syntax negotiation, data representation transformations data representation transformations Dialog and synchronization Dialog and synchronization control for application entities control for application entities
Network-independed message interchange service

Presentation layer

Session layer

End-to-end message transfer End-to-end message transfer (connection mamagement, error control, (connection mamagement, error control, frafmentation,flow control) frafmentation,flow control) Network routing, addressing, Network routing, addressing, call set-up, and clearing call set-up, and clearing Data link control Data link control (framing, data trasparency, error control) (framing, data trasparency, error control) Mechanical and electrical Mechanical and electrical network interface definitions network interface definitions

Transport layer

Network layer

Data Link layer

Physical layer

Physical connection to network termination equipment

Data Communication network Data Communication network

Fig. 3.1-3

3-4

3.1.1 Physical Layer Lo scopo primario di tale livello la definizione delle interfacce meccaniche ed elettriche, in base al mezzo trasmissivo che sta sotto di esso. Ad esempio bisogna specificare che tipo di connettore usare, il significato di ogni pin del connettore, che forma donda assegnata al bit 1 e quale al bit 0 ecc. Al di sopra di tale livello, si avr quindi a disposizione un servizio per il trasferimento di bit.

3.1.2 Data Link Layer Il compito principale del livello di Data Link (DLL - Data Link Layer) quello di mettere a disposizione del Network Layer un canale di comunicazione affidabile e privo di errori. Notiamo come questo livello, sfruttando quanto fornito dal Physical layer (e cio la possibilit di trasferire bit su un mezzo trasmissivo) realizza, tramite il protocollo di Data Link, una comunicazione affidabile. Tale servizio sar messo a disposizione al livello superiore. Analizziamo adesso come, il livello Data Link riesce a realizzare una comunicazione affidabile. Esso spezzetta i dati provenienti dal Network layer in delle data Frame (la cui lunghezza pu variare dalle centinaia alle migliaia di byte) li spedisce in maniera sequenziale e controlla le acknowledgement frame spedite dal ricevente. Il Data Link layer deve anche prevedere che la linea di comunicazione potrebbe distruggere o modificare il contenuto delle frame a causa di disturbi elettromagnetici, quindi deve supportare dei meccanismi di ritrasmissione delle frame perse o corrotte. Daltro canto potrebbe anche accadere che al ricevente arrivi pi volte la stessa frame (se viene persa una acknowledgement frame) quindi bisogna prevedere dei meccanismi per il riconoscimento di pacchetti duplicati. Unaltra importante funzione svolta da questo livello il flow control per impedire ad un trasmettitore molto veloce di inondare di frame un ricevente pi lento che, esauriti i buffer in cui memorizzare i dati in ingresso, sarebbe costretto a scartare delle frame ricevute correttamente (sprecando quindi le risorse di rete inutilmente). Il Data Link layer deve anche risolvere le problematiche riguardanti laccesso al mezzo fisico, nel caso di reti con canale comune. In particolare questo compito svolto da un sottolivello del DLL detto MAC Medium Access Control.

3.1.3 Network Layer Il Network Layer (NL) svolge un importante compito che quello del routing. Il DLL mette a disposizione un canale di comunicazione affidabile per inviare dati tra computer collegati con un link fisico. Il NL deve quindi risolvere il problema di trovare un percorso per far giungere i dati allHOST di destinazione. Ovviamente in semplici reti di tipo broadcast (reti in cui tutti i nodi collegati ricevono il dato trasmesso, e solo il destinatario del messaggio processa il messaggio stesso) questa funzionalit non presente. Il network layer inoltre si occupa del set-up della connessione prima del trasferimento dei dati e del rilascio della stessa alla fine della comunicazione. Infine, compito del Network Layer gestire linternetworking cio, se un pacchetto deve attraversare reti di tipo diverso (per andare dalla sorgente alla destinazione) potrebbero insorgere alcuni problemi, quali lindirizzamento e la lunghezza dei messaggi. 3-5

3.1.4 Transport Layer Il Transport Layer (TL) il primo livello End-to-End, cio esso non presente nei nodi intermedi della rete, quindi, si deve far carico di tutte le problematiche relative al trasferimento dei dati dalla sorgente alla destinazione. Ad esempio se la tecnica di trasferimento dei dati nella rete di tipo datagram, quando si dovr ricostruire il messaggio, nel nodo destinazione, bisogner effettuare opportuni controlli per ripristinare il messaggio originale. A livello superiore si avr dunque a disposizione un canale di comunicazione affidabile. Le funzioni svolte da tale layer sono quindi frammentazione, controllo derrore e controllo di flusso End-to-End. Solitamente, il livello di trasporto crea una nuova connessione di rete (livello sottostante) per ogni richiesta di connessione di trasporto effettuata dal Session layer. Nel caso in cui venga richiesto un throughput (quantit di dati al secondo da trasferire) elevato per una particolare connessione di trasporto, in corrispondenza di essa potrebbero essere aperte due connessioni di rete. Analogamente se vi sono due o pi connessioni di trasporto che richiedono un basso throughput, esse possono essere mappate in ununica connessione di rete. Per concludere, il livello di trasporto funge un po da livellatore; in base alla qualit del servizio (QOS - quality of service) messa a disposizione dal network layer, esso ha 5 classi di servizio (classes of services). La classe 0 provvede solo le funzionalit base per creare una connessione e trasferire dati, mentre la classe 4 provvede una connessione affidabile e prevede delle procedure per il flow control.

3.1.5 Session Layer Nonostante con il Transport Layer vengono esaurite le problematiche del trasferimento affidabile dellinformazione, i servizi fino ad ora a disposizione non permettono a due qualunque processi applicativi di colloquiare. Il Session Layer (SL) permette di organizzare e sincronizzare il dialogo delle entit di livello superiore. Infatti nel caso in cui la comunicazione pu avvenire secondo la tecnica half-duplex (entrambe le entit possono trasmettere ma in modo alternato) necessario, tramite un sistema a token, permettere la trasmissione solo allentit che possiede il token. Devono inoltre essere previsti dei meccanismi di richiesta del token. Unaltra utile funzione svolta da tale livello la sincronizzazione. In caso di crash, solo i dati trasferiti dopo lultimo punto di sincronizzazione dovranno essere ritrasferiti.

3.1.6 Presentation Layer Tale livello si occupa della sintassi e della semantica delle informazioni da trasferire. Il livello di presentazione negozia una sintassi di trasferimento da usare per il colloquio. Se tale sintassi differente da quella locale, allora dovr effettuare una conversione prima di trasmettere (o ricevere) i dati. Tale comportamento molto simile a quello che succede quando due persone vogliono dialogare. Se una di esse parla solo litaliano mentre laltra solo il giapponese, sar necessario il ricorso a degli interpreti. Tali interpreti potrebbero ad esempio tradurre rispettivamente litaliano in inglese e il giapponese in inglese (e viceversa) e rendere dunque possibile il colloquio. Bisogna per notare che necessario un linguaggio universalmente compreso che permetta laccordo sul 3-6

linguaggio di trasferimento (nellesempio precedente il linguaggio di trasferimento era linglese). Unaltra funzione svolta dal presentation layer il criptaggio dei dati.

3.1.7 Application Layer Nonostante si ha gi con il Presentation Layer una lingua comune con la quale colloquiare, affinch il dialogo sia costruttivo necessario che un universo del discorso comune. Continuando lesempio precedente dei due interlocutori (italiano e giapponese), se litaliano un conoscitore dellarte moderna mentre il giapponese un scienziato esperto di esperimenti nucleari, sar difficile che il dialogo fra i due interlocutori sia costruttivo. LApplication layer il livello pi alto dellarchitettura OSI, e il suo compito dunque quello di mettere a disposizione dei programmi utente un insieme di funzionalit che, a causa dellenorme diversit tra di esse, vengono raggruppate in entit dette ASE (Application Service Element). Il vantaggio di tale approccio che i programmatori di applicazioni possono invocare direttamente il servizio fornito dell'ASE, non avendo cos la necessit di crearsi proprie routines per risolvere i problemi pi comuni. Il livello applicativo dunque formato da tanti blocchi funzionali (ASE) ognuno dei quali mette a disposizione delle particolari funzionalit. Laccesso ai servizi a disposizione dellapplicazione avviene tramite un opportuno insieme di primitive, che sono supportati dal sistema operativo locale. Tali primitive sono simili alle chiamate di sistema e scatenano delle particolari procedure che usano il sottosistema di comunicazione come se fosse un dispositivo locale, rendendo il tutto trasparente allutente.

3.1.8 Trasmissione dei Dati In Fig. 3.1-1 mostrato come avviene il trasferimento dei dai nel modello di riferimento OSI. Come si vede esso rispecchia esattamente il principio che sta alla base delle architetture a valore aggiunto. Infatti un generico livello N incapsula nel campo dati della N-PDU la SDU passata attraverso la SAP dal livello N+1, ed aggiunge un header. Da osservare che il DLL oltre ad aggiungere un header, che precede il campo dati, aggiunge un trailer, accodato al dato. Essi servono a delimitare esattamente il campo dati della frame stessa. Lidea di base dunque quella che, nonostante leffettivo flusso dei dati avviene in maniera verticale, ogni livello programmato come se il flusso dati fosse orizzontale.

3-7

Sending Process

DATA

Receiving Process

Application layer Presentation layer Session layer Transport layer Network layer Data link layer Physical layer
DH NH TH SH PH

AH DATA

Application layer Presentation layer Session layer Transport layer Network layer
DT

DATA

DATA

DATA

DATA

Network layer Data link layer Physical layer

DATA

Data link layer Physical layer

Bits

Fig. 3.1-1

3-8

3.2

TCP/IP Reference Model

Consideriamo adesso il modello di riferimento di ARPANET e del successore INTERNET. Iniziamo col dire che ARPANET fu un progetto sponsorizzato dal DoD (U.S. Department of Defense) e fu sviluppato da varie universit americane. Gli obiettivi che si volevano raggiungere erano la possibilit di interconnettere pi reti e la robustezza intesa come la capacit di funzionamento anche in caso di guasto di nodi intermedi. Iniziarono dunque ad essere realizzati questi protocolli, i quali raggiunsero ben presto un alto grado di efficienza e di popolarit a causa del fatto che erano disponibili a costo nullo. Inizi cos quello che poi venne chiamato TCP/IP Reference Model.

OSI
Application Presentation Session Transport Network Data Link

TCP/IP

Application

Transport Internet

Host-to-network Physical

Fig. 3.2-1 3.2.1 Internet Layer I due obiettivi prima introdotti hanno portato alla scelta di una rete a commutazione di pacchetto di tipo connectionless. Infatti con tale architettura semplice far comunicare reti locali sia connectionoriented che connectionless. Inoltre si ha un alto grado di robustezza in caso di guasto di un nodo intermedio poich ogni pacchetto verr instradato indipendentemente dagli altri. Il compito dellInternet Layer quello di permettere la spedizione di pacchetti in ogni rete e in un qualsiasi nodo di destinazione. Notiamo dunque una forte analogia con il Network Layer dellarchitettura OSI. Dato che la comunicazione di tipo connectionless lordine di arrivo dei pacchetti potrebbe differire dallordine con cui sono stati spediti, per cui, sar compito del livello superiore il riordino del messaggio (se esso necessario). Il protocollo associato a tale livello detto Internet Protocol (IP).

3.2.2 Transport Layer Il Transport layer il livello immediatamente superiore allInternet Layer. Le funzionalit svolte sono simili al TL dellarchitettura OSI, in particolare sono stati sviluppati due protocolli: il TCP ( 3-9

Transmission Control Protocol ) un protocollo basato su una comunicazione affidabile e a circuito virtuale mentre lUDP ( User Datagram Protocol ) basato su una comunicazione a datagramma inaffidabile. Il TCP dunque permette ad un utente di inviare dati in modo affidabile, cio frammenta i dati in pacchetti e li passa allIP. A destinazione riassembla tutti i pacchetti ricevuti, ricostruendo il dato inviato. Inoltre effettua il controllo di flusso (flow control) per evitare che una sorgente di messaggi veloce, inondi di messaggi un ricevente lento. LUDP, a differenza del TCP, non effettua il flow control e il riassemblaggio dei pacchetti, dunque pu essere usata per applicazioni di tipo client-server che necessitano il passaggio di piccole quantit di dati e per applicazioni in cui preferita la velocit allaccuratezza delle informazioni (ad. Esempio quando vengono trasmesse sequenze audio o video).

Nomenclatura nell OSI RF


TELNET FTP SMTP DNS

Application

Protocols

TCP

UDP

Transport

IP

Network

Network

ARPANET

SATNET

Packet Radio

LAN

Data Link + Physical

Fig. 3.2-1

3.2.3 Application Layer Come si vede dalla Fig. 3.2-1 e dalla Fig. 3.2-1 non sono presenti i livelli di sessione e di presentazione, e sopra al livello di trasporto vi quello di Applicazione. In esso sono contenuti dei protocolli ad alto livello, e in Fig. 3.2-1 sono nominati i pi noti: TELNET : terminale virtuale. Permette agli utenti di lavorare su una macchina remota. FTP : File Transfer Protocol. Permette di spostare file. SMTP : Posta elettronica. DNS : Domain Name Server. Esegue il mappaggio fra nomi e indirizzi delle macchine. HTTP : Protocollo usato per caricare le pagine del World Wide Web.

3-10

3.2.4 Host-to-Network Layer Quello che c sotto lInternet Layer non in realt specificato rigorosamente del TCP/IP RM. Il protocollo non definito e varia da host a host e da rete a rete.

3.3

Confronto tra TCP/IP e OSI

Come si gi intuito, il TCP/IP e lOSI Reference Model hanno molte cose in comune, ad esempio la suddivisione in livelli. Bisogna comunque mettere in evidenza che mentre nellOSI i protocolli sono stati realizzati successivamente al modello di riferimento nel TCP/IP prima sono stati realizzati i protocolli e da questi nato il modello di riferimento. Come conseguenza, nellOSI RM vengono perfettamente definiti e differenziati i concetti di servizio, interfaccia e protocollo, mentre nel TCP/IP la separazione non cos netta. Questo implica che limplementazione dei protocolli OSI ben nascosta e pu essere modificata in base allevoluzione tecnologica. Infine, mentre lOSI RM supposta sia la comunicazione connection oriented che la comunicazione connectionless nel network layer e solamente la comunicazione connection-oriented nel transport layer, nel TCP/IP RM prevista solo la tecnica connectionless nel NL ed entrambe le tecniche nel TL. Analizziamo adesso i difetti dei due modelli di riferimento visti e dei corrispondenti protocolli. Affinch uno standard abbia successo la sua stesura deve avvenire in un ben preciso periodo. Quando un nuovo argomento viene studiato si ha prima un intenso lavoro di ricerca e successivamente vi linvestimento delle ditte interessate. Lo standard deve essere prodotto tra queste due attivit per evitare da un lato che le scelte inserite nello standard siano sbagliate (perch ancora lattivit di ricerca non ha mostrato quali sono le soluzioni migliori) e dallaltro che lo standard venga ignorato dalle case costruttrici perch hanno gi investito enormi quantit di denaro. Questa seconda situazione accaduta proprio allOSI, infatti gli OSI protocol sono stati prodotti quando le industrie avevano gi investito molto sul TCP/IP che era gi ampiamente usato dalle universit. Inoltre lOSI stato fortemente influenzato dallarchitettura SNATM (System Network Architecture) sviluppato dallIBM. LIBM infatti, in quel periodo era il punto di riferimento dellindustria del computer e, nonostante sette livelli sembravano troppi, lOSI fu progettato con troppi livelli. Questo ha portato allappesantimento dei protocolli che, una volta sviluppati, erano molto, anzi troppo lenti. In definitiva, lISO inizi lo sviluppo dellOSI con lobiettivo di proporre un modello al di sopra delle parti che, sostituisse i vari e incompatibili protocolli proprietari. Tale progetto ovviamente intaccava gli interessi delle grosse case costruttrici le quali avevano gi i propri protocolli proprietari e dunque fall. LISO allora cambi lobiettivo, affermando che lOSI doveva considerarsi come un ponte fra le varie architetture. Cio le varie case costruttrici possono realizzare i propri protocolli proprietari e poi, tramite dei Gateway OSI (costruiti dalle case costruttrici stesse) rendere possibile linterconnesione fra le varie reti. Anche il modello di riferimento TCP/IP ha i propri difetti. Il primo, che non distingue in maniera adeguata i concetti di servizio, interfaccia e protocollo. Un altro grosso difetto che il livello pi basso (host-to-network) non un vero e proprio livello. In realt esso uninterfaccia tra il network layer e il data link. Inoltre questultimo livello comprende sia il physical che il data link layer. Questi due strati hanno compiti completamente diversi ed assurdo inglobarli in un unico livello.

3-11

4.
4.1

Generalit sulle Reti di Telecomunicazioni


Definizione e Classificazione delle Reti di Telecomunicazione

Una Rete di Telecomunicazione possiamo definirla, in modo funzionale, come un sistema distribuito che permette la trasmissione di informazioni da un capo allaltro della rete stessa consentendo un indirizzamento universale. Quindi una rete di telecomunicazioni deve implementare al proprio interno sia delle funzionalit per il trasporto dellinformazione, sia delle funzionalit per lindirizzamento e la commutazione (switching). A partire da tale modello funzionale, un possibile modello fisico per una rete di telecomunicazioni potrebbe essere costituito da dei link (collegamenti) tipicamente punto-punto, interconnessi fra loro tramite dei nodi di commutazione il cui compito quello di riconoscere le richieste per lapertura di una connessione e fare in modo che i dati relativi a tale connessione arrivino al nodo di destinazione.

Utente A

Utente B

Link

Nodi di commutazione (Nodi interni)

Percorso di comunicazione fra A e B

Fig. 4.1-1

La Fig. 4.1-1 mostra un esempio di topologia di rete di comunicazione. In essa sono presenti i nodi interni che svolgono le funzionalit di commutazione e i link che si occupano del trasferimento delle informazioni. Altre topologie di rete sono riportate in Fig. 4.1-2. La topologia a stella permette un collegamento veloce fra la stazione trasmittente e quella ricevente ed inoltre presenta una buona espandibilit ( possibile aggiungere nuove stazioni alla rete), per ha il grosso difetto di concentrare tutte le comunicazioni sul nodo di centro stella. Esso risulter dunque il collo di bottiglia del sistema, ed in caso di guasto impedirebbe la comunicazione fra qualsiasi coppia di utenti. La topologia ad anello presenta il difetto della fragilit. Basta infatti il guasto di una stazione dellanello per impedire la comunicazione. Nella topologia ad albero la criticit dei nodi dipende dalla posizione occupata.

4-1

(a)

(b)

(c)

(d)

(e)

(f)

Fig. 4.1-2 - Possibili topologie di reti point-to-point. (a) Stella. (b) Anello. (c) Albero. (d) Maglia completa (o grafo completo). (e) Interconnessione di anelli. (f) Maglia incompleta.

La topologia a maglia completa (o a grafo completo) permette una comunicazione veloce (tutte le coppie di nodi sono collegate, quindi non necessario nessun nodo intermedio per la comunicazione) molto robusta, ma non utilizzabile in un ambiente globale a causa dellenorme quantit di collegamenti richiesta. Se vogliamo infatti collegare fra loro N nodi, sono necessari N*(N-1)/2 link (il fattore dovuto al fatto che i link permettono una comunicazione in entrambe le direzioni, quindi se presente un link che collega il nodo A al nodo B non necessario un ulteriore collegamento tra il nodo B e il nodo A). Ci si orienta, eventualmente, verso una struttura a grafo incompleta in cui alcuni nodi terminali non sono collegati direttamente ma, per comunicare, devono usare dei nodi intermedi.

4-2

Nella realt lo schema pi utilizzato formato da un backbone (spina dorsale) al quale sono connesse le varie reti periferiche di accesso secondo ad una struttura simile a quella ad albero. Il backbone invece organizzato secondo una struttura a grafo completo, o eventualmente a grafo incompleto. Alcune tipologie di reti, comunque, non hanno i nodi di commutazione (detti anche nodi di switching) e vengono classificate come reti con accesso multiplo (Multiple Access Network). Tutti gli schemi visti in precedenza infatti, presuppongono che la funzione di commutazione sia implementata esplicitamente. In realt, esistono altri schemi che non si basano sul un concetto di linea punto-punto della quale possono usufruire i nodi terminali che sono collegati ad essa bens su un singolo cavo a cui tutti gli utenti della rete sono collegati (vedi Fig. 4.1-3a). La struttura a bus una delle pi diffuse. Nasce dunque il problema della contesa del bus. infatti necessaria una forma di arbitraggio in modo tale che una sola stazione trasmetta in un dato istante. Entrano in gioco dunque degli opportuni protocolli di accesso che regolarizzano laccesso al mezzo fisico in comune. Unaltra struttura molto usata quella a ring (Fig. 4.1-3b) in cui le stazioni possono essere collegate in modo attivo o passivo. Nel primo caso, linformazione circolante sul bus viene memorizzata e quindi ritrasmessa, permettendo dunque la rigenerazione del segnale stesso a prezzo di un tempo di latenza superiore.

(a)

(b)

Fig. 4.1-3 - Due tipi di reti broadcast. (a) Bus. (b) Ring.

Queste due strutture, sono particolarmente usate in ambito locale (LAN - Local Area Network) o al pi in ambito metropolitano (MAN - Metropolitan Area Network) in cui le esigenze di trasporto dati sono dellordine dei Megabits/sec (Mbps)1 (valori tipici sono 10 Mbps, 100Mbps), i tempi di ritardo sono molto contenuti (decine di millisecondi) e la probabilit di errore molto bassa. Queste topologie per non possono essere usate in ambito nazionale, poich non esistono protocolli di accesso efficienti e veloci quando le dimensioni della rete aumentano. Vedremo infatti che le prestazioni degradano fortemente allaumentare dellestensione della rete stessa. Discorso a parte meritano le reti wireless (senza cavo). Distinguiamo in particolare le reti via Radio e le reti via Satellite, entrambe wireless ma con bande di frequenze molto differenti. Come le LAN tali reti sono di tipo broadcast2, quindi sono necessari dei meccanismi di arbitraggio per risolvere le contese. Tipicamente le capacit trasmissive sono inferiori (valori tipici sono 1-2 Mbps), i tempi di
1 2

Nellambito delle reti un megabits equivale ad 1.000.000 bits e no ad 1.048.576 (220) bits. Tutte le stazioni sfruttano lo stesso mezzo trasmissivo per colloquiare.

4-3

ritardo sono superiori e la probabilit di errore spesso elevata. Inoltre le reti wireless sono usate non in ambito locale, bens in ambito nazionale (centinaia di Km). Nella seguente tabella riassumiamo quanto detto:

Tipo di Sistema Estensione Reti Geografiche (WAN Wide Area Network) 100 - 1000 Km

Ordine di grandezza Capacit di Trasmissione Fino a 100 Kbps Tempi di Trasferimento3 Secondi o Frazioni di secondo

Reti Locali o Metropolitane (LAN - MAN)

10m - 1Km LAN 10 Km - 50 Km MAN

Decine o Centinaia di Mbps

Millisecondi

Sistemi Multiprocessore

Metri

Centinaia di Mbps

Frazione di microsecondo

La tabella sopra riportata, in effetti, non tiene conto delle reti integrate (ISDN, B-ISDN) grazie alle quali, le capacit trasmissive in ambito locale riescono a raggiungere i Gbps, mentre quelle in ambito nazionale i Mbps. In realt, questa la classificazione delle reti in LAN, MAN e WAN tende a scomparire con il discorso del villaggio globale. La rete deve essere vista come una internet (una rete globale) capace di trasferire informazioni allinterno della quale sono presenti le varie LAN, MAN, reti Wireless in base alle esigenze dellutente e/o dellamministratore di rete. Nel seguito analizzeremo pi in dettaglio le reti punto-punto. Le reti broadcast saranno ampiamente trattate successivamente.

Tempo di latenza dellinformazione nella tratta congiungente la sorgente e la destinazione.

4-4

5. Tecniche di Trasferimento dellInformazione


Le reti di telecomunicazioni mettono a disposizione, fondamentalmente, due tipi di risorse: Risorse trasmissive, intese come banda a disposizione nei link. Risorse elaborative, necessarie per le operazioni di commutazione e di indirizzamento. Nei nodi interni alla rete sono infatti necessari degli elaboratori che processano delle informazioni fornite dallutente (indirizzo di destinazione) per inviare i dati correttamente. I gestori di rete hanno come obiettivo quello di sfruttare al meglio le risorse, in maniera da aumentare al massimo i guadagni. Questo si traduce nel cercare di utilizzare tali risorse pi vicino possibile alla saturazione, fermo restando lobiettivo di garantire una appropriata qualit di servizio (QOS). Per contro gli utenti, indipendentemente da come la rete organizzata e gestita, gradirebbero avere limpressione di comunicare tramite una linea dedicata che assicuri una determinata QOS. Pensare di strutturare la rete secondo una topologia a maglia completa, abbiamo gi visto che non pensabile, di conseguenza sono necessarie delle tecniche per la condivisione delle risorse trasmissive.

5.1

Assegnazione di Risorse Condivise

Per prima cosa affrontiamo il problema riguardante lassegnazione di risorse condivise. Le strategie di assegnazione di risorse possono essere classificate in: assegnazione statica assegnazione dinamica Nel caso di assegnazione statica, le risorse trasmissive vengono pre-assegnate a dei gruppi di utenti o a particolari nodi di transito (i canali via satellite sono spesso assegnati in questa maniera). Osserviamo immediatamente che lassegnazione statica del canale trasmissivo (o dei canali logici in cui il canale trasmissivo suddiviso) troppo costosa e pu essere utilizzata solo da particolari utenti. Nel caso si assegnazione dinamica le risorse trasmissive vengono di volta in volta assegnate agli utenti in base a delle esigenze specifiche. Nellambito del multiplexing dinamico esistono diversi schemi: Assegnazione a domanda. lo schema pi favorevole per il gestore di rete in quanto tende a massimizzare lutilizzazione del canale trasmissivo. Lassegnazione del canale avviene ad ogni inizio di utilizzazione e il rilascio avviene alla fine. Durante i periodi di non utilizzo, allinterno del periodo di attivit, la risorsa pu essere usata per altre attivit. Questa tecnica dunque permette di ottenere unalta utilizzazione della risorsa trasmissiva perch si sposta il problema della condivisione solo quando lutente ha bisogno di trasferire i dati. Pre-Assegnazione. La risorsa viene assegnata on demand quando insorge lattivit e viene mantenuta per tutta la durata dellattivit stessa. Distinguiamo due sottocasi: pre-assegnazione individuale. la tecnica pi diffusa, nella quale la risorsa viene assegnata in modo indiviso ad una sola attivit. Cio, una volta che la richiesta viene processata, la risorsa viene assegnata a quellutente per tutta la durata della 5-1

attivit. La rete telefonica opera proprio in questa maniera, le risorse trasmissive vengono assegnate ad un singolo utente indipendentemente dal tasso di attivit. pre-assegnazione collettiva. Come lassegnazione a domanda, ma con la differenza che il numero di attivit che possono usare la risorsa controllato da unautorizzazione di accesso, ottenuta allinizio della comunicazione su richiesta. Lutente in pratica, quando vuole aprire unattivit, lo segnala alla rete specificando la QOS richiesta. Lorgano di autorizzazione controlla le risorse che statisticamente sono a disposizione in quel momento facendo una previsione delle risorse disponibili a breve e medio termine e decide di effettuare unassegnazione statistica in base alle previsioni effettuate e alla QOS richiesta dallutente. Una volta accettata la connessione la rete dovr trattare le varie richieste di utilizzazione cercando di garantire la QOS promessa allutente cercando di privilegiare quelli che avevano richiesto una qualit di servizio maggiore.

Utilizzazione

Utilizzazione attivit

Utilizzazione

Fig. 5.1-1 Le reti a commutazione di circuito utilizzano la tecnica della pre-assegnazione individuale, le reti a commutazione di pacchetto e le reti integrate usano la pre-assegnazione collettiva mentre le reti connectionless usano la tecnica di assegnazione a domanda (solitamente le reti geografiche usano tale tecnica perch per esse fondamentale gestire in modo efficiente le risorse).

5-2

5.2

Multiplexing

Per i vari link della rete, lo schema di multiplazione definisce le modalit con cui le unit informative (UI) entranti condividono logicamente la banda disponibile dal ramo di rete detto appunto canale multiplato. Lo scopo quello di rendere efficiente luso della connessione fisica oppure quello di soddisfare dei requisiti prestazionali specifici. Tra i vari requisiti prestazionali che caratterizzano la QOS, due particolarmente importanti sono: Integrit informativa Trasparenza temporale Lintegrit informativa si riferisce alla possibilit che, durante la trasmissione vengano corrotti e/o persi alcuni bit del messaggio o lintero messaggio. Un elevato grado di integrit informativa molto importante nel caso di comunicazione di dati, dove il tasso di errore binario residuo richiesto dellordine di 10-10. La trasparenza temporale si riferisce ai ritardi di transito che differenti unit informative della sequenza di ricezione possono presentare rispetto alle corrispondenti UI della sequenza di emissione. Maggiore la trasparenza temporale della comunicazione, minore la variabilit dei ritardi osservati nelle varie UI trasmesse. Esistono dei servizi detti isocroni in cui per una corretta interpretazione dellinformazione a destinazione, necessario che il trasferimento sia temporalmente trasparente. Ad esempio nella codifica numerica della voce PCM necessario che ogni 125 s un campione vocale venga messo in rete, e che ogni 125 s tale campione vocale venga prelevato dal destinatario e utilizzato per ricostruire il segnale analogico. Nel caso in cui il campione arriva con un po di ritardo si avr una imperfezione nel segnale ricostruito. Sono detti anisocroni i servizi che non richiedono unelevata trasparenza temporale nel trasferimento. Va osservato che un servizio isocrono pu utilizzare un trasferimento non temporalmente trasparente a patto che il valore medio della distribuzione dei ritardi di transito sia abbastanza piccolo e a destinazione si operi una equalizzazione dei ritardi che elevi il grado di trasparenza temporale. Quindi riassumendo, gli obiettivi del multiplexing sono di rendere efficiente lutilizzo del canale tenendo presente gli obiettivi prestazionali richiesti dallutente. Bisogna osservare che, accanto al problema della gestione della banda (che pu avvenire in modo statico o dinamico) c il problema della formazione del flusso multiplato in base alla modalit di accesso al canale. Se laccesso di tipo centralizzato vi un multiplexer con a monte un buffer, in cui vengono immagazzinate tutte le UI provenenti dalle sorgenti tributarie che, attraverso unopportuna politica di scheduling, immetter nel canale trasmissivo le varie unit informative. Se laccesso di tipo distribuito o multiplo la formazione del flusso multiplato viene effettuata direttamente dalle sorgenti. Non c un unico buffer in cui arrivano le UI dalle varie sorgenti, bens c un ramo della rete a cui afferiscono diverse stazioni, ciascuna delle quali ha un buffer locale. Si dovr far uso di un opportuno protocollo, detto MAC (Medium Access Control protocol) che dovr assegnare la banda a disposizione alle varie sorgenti, risolvendo eventuali situazioni di contesa cercando di assicurare laccesso a tutti i richiedenti. Consideriamo adesso solo gli schemi di multiplazione con accesso centralizzato. Per ogni link della rete si hanno a disposizioni diversi canali di comunicazione. Tali possono essere realizzati tramite: Multiplexing a divisione di spazio Multiplexing a divisione di frequenza 5-3

Multiplexing a divisione di tempo Il multiplexing spaziale una tecnica primordiale, ormai non pi usata che consiste nel realizzare i canali logici di comunicazione tramite collegamenti fisici. Il link si presentava, dunque, come un fascio di cavi e, i canali erano spazialmente divisi luno dallaltro. Il multiplexing a divisione di frequenza, in cui i vari canali logici condividono lo stesso mezzo fisico ma sono caratterizzati da spettri di frequenza che non si sovrappongono. Nelle reti per dati, lo schema di multiplexing pi usato quello a divisione di tempo. A differenza dei precedenti schemi nel multiplexing a divisione di tempo non si hanno tanti canali logici ma il canale di comunicazione uno solo e viene assegnato alle varie comunicazioni in istanti temporali diversi. Un primo problema che insorge al demultiplatore quello di individuare ogni singola UI nel flusso di bit ricevuto. necessaria dunque una delimitazione, implicita o esplicita delle varie UI. Nel caso di delimitazione esplicita vengono aggiunti delle opportune sequenze di bit che individuano univocamente linizio e la fine della UI. Questa seconda tecnica introduce necessariamente un overhead poich necessario trasferire dei bit aggiuntivi per ogni UI da trasmettere ( uninformazione di controllo). Nel caso di delimitazione implicita non si introduce nessun campo di controllo, e il riconoscimento della UI viene effettuato dal nodo di destinazione. Lunico modo per effettuare questo tipo di delimitazione quello di incasellare i messaggi in intervalli temporali siincronizzati fra loro ( necessaria la perfetta sincronizzazione tra sorgente e destinatario). Un secondo problema riguarda la necessit di indirizzare ogni singole UI in modo che il demultiplatore possa riconoscere la destinazione. Anche qui le tecniche possono essere due: indirizzamento implicito e indirizzamento esplicito. Ovviamente nel caso di indirizzamento esplicito necessario un overhead. Una prima classificazione degli schemi di multiplexing a divisione di tempo pu essere effettuata in base a come gestito lasse dei tempi. Due possibili alternative sono: Asse temporale indiviso (U - Unslotted). Asse dei tempi suddiviso in Slot (IT - intervalli temporali) di lunghezza fissa. Consideriamo il primo caso: asse temporale indiviso (Unslotted). Le unit informative possono essere di lunghezza variabile, e non esiste nessun vincolo sullistante in cui tale UI possono essere trasferite (supponendo che il canale trasmissivo sia disponibile). Proprio per queste caratteristiche necessario adottare la tecnica della delimitazione esplicita per permettere al demultiplexer di interpretare correttamente il dato. Questa tecnica usata nelle reti a commutazione di pacchetto tradizionali.

5-4

delimitatore

unit informativa (di lunghezza variabile)

Fig. 5.2-1

Lalternativa Slotted considera lasse temporale suddiviso in slot di lunghezza fissa. Le UI avranno tutte la stessa lunghezza pari allo slot e dunque possibile usare la delimitazione implicita (possono inoltre essere previste delle tecniche di recupero della sincronizzazione). Esistono due varianti della tecnica slotted: Slotted Framed Multiplexing (SF) Slotted Unframed Multiplexing (SU) Lo slotted framed multiplexing adotta unorganizzazione a trama, in cui una trama costituita da un numero intero di slot. Le parole di allineamento, necessarie per la sincronizzazione fra multiplatore e demultiplatore sono posizionate in un particolare slot della trama (solitamente i primo). Questa tecnica usata nel PCM. La tecnica slotted unframed multiplexing non organizzata a trama e le unit di sincronizzazione possono essere inserite in degli slot non occupati dalle UI. Da notare che in condizioni di alto carico, gli slot vuoti sono molto pochi e quindi la probabilit di perdita di sincronizzazione molto superiore rispetto alle condizioni di basso carico. Questo schema usato nelle nuove reti a commutazione di pacchetto ATM.

5-5

Slotted
Slot

Slotted Framed
Frame Frame Frame

Slotted Unframed

Parola di allineamento

Unit di sincronizzazione

Fig. 5.2-2

Riprendendo il problema dellindirizzamento, abbiamo gi accennato che le soluzioni possono essere due. Nel caso di indirizzamento esplicito necessario inserire nellheader del pacchetto da inviare un identificativo che pu essere o lindirizzo completo della destinazione o unetichetta che caratterizza la comunicazione. In ogni caso c laggiunta di un overhead. Lindirizzamento implicito pu essere usato in abbinamento con la tecnica slotted framed, e la caratterizzazione di una unit informativa come appartenente ad una particolare comunicazione data dalla posizione dellUI allinterno della frame. Ad esempio nella Fig. 5.2-2 ogni frame composta da 5 slot di cui 4 sono disponibili. Se i sub-canali vengono gestiti con la tecnica della pre-assegnazione individuale, si possono assegnare a 4 distinte comunicazione i 4 sub-canali, e identificare le UI in base alla posizione che occupano nella frame. Ritornando al concetto di assegnazione del canale trasmissivo, possiamo affermare che nel caso di assegnazione rigida della capacit complessiva della banda del canale bisogna usare una tecnica di tipo slotted framed multiplexing che permette la suddivisione della capacit totale di trasmissione del canale in sub-canali. Effettuando dunque una pre-assegnazione individuale su base chiamata possibile assegnare per tutta lattivit un sub-canale ad una comunicazione (viene anche limitata perfettamente la qantit di banda a disposizione dellattivit). Questa tecnica assicura una completa trasparenza temporale ed idonea sia per servizi isocroni che per trasferimenti orientati al circuito. 5-6

Le politiche di assegnazione a domanda e di assegnazione collettiva della banda a disposizione possono essere realizzate sia con una modalit slotted (se le UI sono di lunghezza costante) che con una modalit unslotted (se le UI sono di lunghezza variabile) e tipicamente si basano su unassegnazione a divisione di tempo asincrona poich la sequenza di unit informative emesse dalle varie sorgenti non periodica. Inoltre vi sar contesa di utilizzazione e contesa di pre-assegnazione se viene usata la strategia di pre-assegnazione collettiva.

5.3

Switching

Abbiamo visto come possono essere gestite le risorse di comunicazione, adesso vediamo come la rete riesce a trasferire i dati dal nodo sorgente al nodo di destinazione, cio come le UI vengono gestite dai nodi interni della rete. Nelle reti per dati le tecniche di commutazione (switching) pi usate sono: Commutazione di circuito (Circuit Switching). Commutazione di messaggio (Message Switching). Commutazione di pacchetto (Packet Switching). Il circuit switching la tecnica usata nella rete telefonica e consiste nel creare un percorso tra il nodo chiamante e il nodo chiamato in una fase preliminare alla comunicazione vera e propria (tale fase chiamata set-up del circuito). Una volta costruito il percorso le risorse usate vengono assegnate secondo la tecnica di pre-assegnazione individuale e mantenute per tutta la durata della comunicazione. I nodi interni alla rete sono semplicemente degli autocommutatori che cortocircuitano una porta di ingresso con una porta di uscita. Se la fase di set-up va a buon fine, la rete scompare, nel senso che gli utenti come se fossero collegati tramite un link (virtuale) esteso punto-punto fra lutente chiamante e lutente chiamato.

5-7

Switching Node

Una connessione fisica viene realizzata quando viene effettuata una chiamata

Fig. 5.3-1

La tecnica di commutazione di circuito schematizzata in Fig. 5.3-1 in modo molto semplificato. Nelle tecniche message switching e packet switching ogni messaggio o pacchetto viene trattato in modo autonomo e i canali logici coinvolti dalla comunicazione saranno multiplexati e verranno utilizzati solo per il tempo necessario per il trasferimento dellunit informativa. I nodi interni alla rete, immagazzineranno le UI provenienti dalle porte di ingresso inserendoli in unopportuna coda. Processeranno il primo elemento della coda e in base al nodo di destinazione e a delle tecniche di routing rilanceranno lUI in una particolare porta di uscita. Una rete che usa questo schema anche detta di store and forward (memorizza e rilancia). La tecnica di multiplexing usata con tale schema ovviamente di tipo statistico. La differenza tra message e packet switching sta nel fatto che nella commutazione di messaggio lUI costituita dallintero messaggio mentre nel packet switching il messaggio suddiviso in pacchetti di dimensioni abbastanza ridotte. Cos facendo si riesce a diminuire il tempo di trasferimento perch possibile fare viaggiare contemporaneamente sulla rete diversi pacchetti dello stesso messaggio. Questa pipeline introdotta non pu spingersi oltre un certo limite (riducendo ulteriormente la dimensione dei pacchetti) a causa delloverhead introdotto dallheader di ogni pacchetto che deve contenere un numero di sequenza (per ricostruire il messaggio di partenza) oltre che lindirizzo di destinazione. Per capire meglio le differenze esistenti fra queste tre tecniche consideriamo un semplice esempio. Vediamo la sequenza di eventi che si hanno nelle tre tipologie di commutazione nel caso riportato in Fig. 5.3-2.

5-8

Utente 1

B D Utente 2

A C E Link Percorso di comunicazione fra A e B

Nodi di commutazione (Nodi interni)

Fig. 5.3-2 Nel caso di circuit switching, come mostrato in Fig. 5.3-3 vi una fase preliminare di connessione che, una volta trascorsa crea un collegamento fisico tra i due nodi interlocutori. Il ritardo che si osserva sui dati dunque dovuto semplicemente al ritardo di propagazione perch i nodi intermedi non eseguono nessun processamento dellinformazione.
Segnali di Richiesta di chiamata Ritardo di Propagazione

Tempo

Tempo speso per ricercare una linea di uscita libera e cortocircuitala con quella di ingresso Segnale di accettazione della chiamata

Data

AB trunk A B

BC trunk C

CD trunk D

Fig. 5.3-3 5-9

Nodi Messaggio
Header Campo Informativo

Msg

Msg Tempo Ritardo di Propagazione Tempo di attesa in coda, prima del processamento da parte del nodo C Msg AB trunk BC trunk CD trunk

Fig. 5.3-4

Nel caso del Message Switching (Fig. 5.3-4) lintero messaggio viene spedito senza che prima venga creato un link che collega il nodo sorgente al nodo di destinazione. Si osserver dunque, oltre al ritardo di propagazione, il ritardo dovuto al tempo di attesa in coda e al tempo di processamento del messaggio allinterno di ogni nodo intermedio appartenente al percorso di routing del messaggio stesso. Bisogna inoltre osservare che il messaggio successivo, anche se appartenente alla stessa connessione logica potrebbe seguire un percorso differente. Con questo schema le risorse elaborative e le risorse di comunicazione vengono usate solo quando se ne ha bisogno. Infine nel caso del Packet Switching (Fig. 5.3-5) valgono le considerazioni fatte per il message switching, con la differenza che il messaggio spezzettato in pacchetti di dimensione ridotta. Tali pacchetti possono seguire lo stesso percorso o percorsi distinti per arrivare a destinazione, per, in ogni caso, possibile una sorta di pipeline. Come si vede dalla Fig. 5.3-5, infatti, fissato un istante temporale, possibile trovare diversi pacchetti in transito nei vari link della rete. Il tempo di trasmissione sar dunque inferiore rispetto a quello osservato con la tecnica Message Switching.

5-10

Nodi Pacchetto A
Header Campo Informativo

B 1 2

Ritardo di Propagazione

1 2 3 1 2 3

Tempo di attesa in coda del pacchetto n 1, prima del processamento da parte del nodo C

Tempo

Messaggio 1 2 Pacchetti

AB trunk

BC trunk

CD trunk

Fig. 5.3-5

Le reti packet switching possono operare in due modi distinti: a) Circuito Virtuale b) Datagramma Nel caso di circuito virtuale, prima che possa avvenire lo scambio di informazioni vi una fase di setup del circuito virtuale in cui viene scelto un percorso che collega la sorgente con la destinazione. Questo percorso verr usato da tutti i pacchetti che saranno spediti, garantendo cos lordine di arrivo dei pacchetti stessi. importante sottolineare che tale circuito virtuale, e cio non dedicato solo a questa connessione, come avviene nel circuit switching, quindi le risorse trasmissive vengono utilizzate solo quando se ne ha realmente bisogno (Multiplexing Statistico). Nella tecnica Datagramma, ogni pacchetto istradato indipendentemente dagli altri, quindi in generale lordine di arrivo dei pacchetti potrebbe essere differente rispetto allordine con cui essi sono stati immessi nella rete dalla sorgente. Nellhost di destinazione dovr dunque avvenire il riassemblaggio del messaggio tenendo in considerazione il numero di sequenza dei pacchetti stessi. La tecnica datagramma presenta comunque alcuni vantaggi rispetto al circuito virtuale: non necessario il set-up del circuito, quindi per brevi comunicazioni che richiedono la spedizione di pochi pacchetti questa tecnica preferita.

5-11

pi robusta poich se un nodo intermedio va in crash, nel caso di circuito virtuale, tutte le connessioni passanti per quel nodo vengono interrotte mentre nel caso datagramma tutto risulta trasparente se vengono previsti opportuni accorgimenti. Il routing (instradamento) dei pacchetti pu tenere conto del traffico sulla rete scegliendo percorsi alternativi in caso di congestione. Daltro canto, per ogni pacchetto inviato necessario inserire lindirizzo completo del nodo di destinazione (nel circuito virtuale basta solamente il numero di circuito virtuale) per chi si ha un overhead introdotto da questo campo che maggiore allaumentare del numero di pacchetti trasferiti. Consideriamo nuovamente lesempio di Fig. 5.3-2 e analizziamo la sequenza di eventi nel caso di rete a commutazione di pacchetto con tecnica a circuito virtuale.

Nodi Pacchetto di segnalazione


Header Campo Informativo

Segnale di accettazione della chiamata


Header

Tempo

Pacchetto
Header

Campo Informativo

2 3

Messaggio 1 2 3 1 2 3 CD trunk 1 2 3 Pacchetti

AB trunk

BC trunk

Fig. 5.3-6

Come si vede dalla Fig. 5.3-6 vi sono due fasi: Fase di set-up Fase di trasferimento dei dati Questo analogo a quanto succedeva nelle reti a commutazione di circuito, ma la sostanziale differenza dovuta al fatto che in questo caso il circuito virtuale. Questo si vede immediatamente analizzando la Fig. 5.3-3 e la Fig. 5.3-6. Nella fase di trasferimento dati, nel caso di circuit switching, il ritardo dovuto solamente al tempo di propagazione, nel caso di commutazione di pacchetto con 5-12

Trasferimento dati

Campo Informativo

Fase di set-up

circuito virtuale, il ritardo che si osserver sui pacchetti dovuto anche (e soprattutto) al meccanismo di store and forward usato dai nodi interni della rete. Analizziamo adesso cosa avviene durante la fase di set-up del circuito virtuale. Il problema che i vari nodi devono risolvere essenzialmente la ricerca della porta di uscita nella quale rilanciare il pacchetto di richiesta della connessione e la memorizzazione di tale porta in modo che gli ulteriori pacchetti dati appartenenti alla stessa comunicazione seguano lo stesso percorso. Pensare di assegnare un contatore per ogni circuito virtuale che identifichi tale percorso in maniera univoca su tutta la rete una cosa impensabile, soprattutto in ambito geografico. Ogni macchina sceglier dunque un numero per tale circuito virtuale e tale valore avr significato solo in ambito locale. Consideriamo il seguente esempio:

DTE 1

A
6

DTE 2

6E

6A

4B

4E

Nodo A

Nodo E

Nodo B

Fig. 5.3-7

Il DTE-1 vuole instaurare una connessione con il DTE-2. Invia dunque un pacchetto di segnalazione al quale assegna il primo valore di connessione libero (nel nostro caso assegna il numero 2). Il nodo A, ricevuto il pacchetto decide su quale porta di uscita instradare il pacchetto secondo una qualche politica di routing (nel nostro caso la porta scelta quella che collega il nodo A al nodo E. Chiameremo tale porta AE), e sostituisce nellheader del pacchetto il numero di connessione presente con il primo valore di connessione disponibile sul nodo stesso. Supponiamo che tale valore sia 6. Inserir dunque in una tabella interna tali valori in modo che, tutti i successivi dati in arrivo dal DTE1 con indirizzo di circuito virtuale pari a 2, verranno inviati nella porta di uscita AE con indirizzo di circuito virtuale pari a 6. Discorso analogo vale per tutti gli altri nodi della rete. Infatti il nodo E, decider di inoltrare il pacchetto verso B (porta EB), inserir nellheader il numero 4 e aggiorner la 5-13

tabella interna. Il nodo B a sua volta assegner il numero 5 alla connessione e aggiorner a sua volta la propria tabella. Dato che i circuiti virtuali possono essere creati da entrambe le direzioni, potrebbero esserci problemi quando vengono propagate contemporaneamente dalle due parti le richieste di connessione. In tal caso previsto un opportuno meccanismo che impedisce linstaurazione della connessione da una parte, evitando dunque inconsistenze nellalgoritmo prima riportato.

5.4

Conclusioni

Per concludere, nella tabella sottostante sono riportate le differenze pi rilevanti fra il Circuit Switching e il Packet Switching

Circuit Switching

Packet Switching
Datagramma Circuito Virtuale

Dedicated Copper Path Banda a Disposizione Possibilit di sprecare banda Basato su trasmissione Store anf Forward Tutti i pacchetti seguono lo stesso percorso di routing. Set Up della connessione Possibilit di avere congestione Tariffazione

Si Fissa Si No Si Si Durante la fase di set-up della connessione stessa Per unit di tempo No No

No Dinamica No Si Si Si

Per ogni pacchetto trasferito Per pacchetti trasferiti (in linea di principio)1

Unulteriore differenza fra le due tecniche che nel Circuit Switching la tariffazione dipende dalla distanza degli utenti che vogliono instaurare una connessione mentre nel caso del Packet Switching questo non avviene. Definiamo il tasso di attivit come: Tasso di attivit = tempo impiegato per il trasferim ento dell' informazio ne durata della connession e

In Fig. 5.4-8 sono graficate le aree di convenienza per la commutazione di circuito e di pacchetto in funzione della distanza fra i due interlocutori e del tasso di attivit.

In realt nelle reti pubbliche la tariffazione avviene in modalit mista poich, sostengono gli amministratori di rete, che vengono sempre e comunque usate risorse (entry nelle tabelle) anche quando non si inviano pacchetti.

5-14

0.8

Tasso di attivit

CS
0.6 0.4

PS
0.2

0.1

0.2

0.5

10

100

Fattore di distanza

Fig. 5.4-8

Osserviamo che per brevi distanze spesso conviene il circuit switching anche per bassi tassi di attivit. Quando il fattore di distanza aumenta, anche per elevati tassi di attivit preferibile (perch pi economico) utilizzare la tecnica Packet Switching.

5-15

6. Analisi del Ritardo in una Rete Dati


In questo capitolo, vedremo di analizzare in modo quantitativo e qualitativo gli elementi di ritardo presenti in una rete per dati. Fondamentalmente considereremo reti di tipo packed switched, ma qualche cenno verr fatto anche per le reti di tipo circuit switched. I parametri che vedremo di valutare sono il ritardo medio che un pacchetto sperimenta nellandare da una data sorgente ad una destinazione, ed il volume di traffico che la rete riesce a smaltire nellunit di tempo (throughput). Questi parametri consentono di valutare lutilizzazione delle risorse ed in un certo senso la qualit del servizio, in termini di ritardo medio, offerto ai clienti.

6.1 Elementi di Ritardo in una Rete Dati Consideriamo la subnet mostrata in Fig. 6.1-1, il ritardo che un generico pacchetto sperimenter sar dovuto alla somma dei ritardi accumulati su ogni link attraversato.

Fig. 6.1-1 Il ritardo associato ad ogni link, costituito da quattro componenti: 1. Processing Delay: Tempo che trascorre tra quando il pacchetto correttamente ricevuto al nodo di testa del link e quando esso viene assegnato alla coda di trasmissione di un link duscita. Se supponiamo di avere un pacchetto che arriva al nodo A di Fig. 6.1-1, e deve andare al nodo B, il processing delay rappresentato dal tempo che trascorre tra listante in cui il pacchetto ricevuto al nodo A, e listante in cui il pacchetto assegnato alla coda di trasmissione associata al link che collega A e B. 2. Queueing Delay: Tempo che trascorre tra listante in cui il pacchetto assegnato ad una coda per la trasmissione e listante in cui il pacchetto inizia ad essere trasmesso. 3. Transmission Delay: Tempo che trascorre tra listante in cui il primo e lultimo bit del pacchetto sono spediti. 6-1

4. Propagation Delay: Tempo che trascorre tra listante in cui lultimo bit spedito dal nodo di testa del link e listante in cui esso ricevuto dal nodo di coda del link. Questo tempo dipende dalle caratteristiche del mezzo trasmissivo, ed proporzionale alla distanza che separa il sender dal receiver. Si ha ancora che tale delay risulta essere molto piccolo a meno del caso delle trasmissioni via satellite. Da quanto detto sin ora, il nodo A di Fig. 6.1-1 potrebbe essere schematizzato come in Fig. 6.1-2, dalla quale si deduce che il processing delay non altro che la somma del tempo di attesa nella input queue pi il tempo di processamento al server S1, il queueing delay il tempo di attesa nella output queue, mentre il transmission delay non altro che il tempo di processamento o di servizio al server corrispondente alla output queue. Osserviamo che quanto detto sin ora trascura la possibilit che un pacchetto debba essere ritrasmesso a causa di un errore o per qualche altra causa, ma daltro canto, questo non deve preoccuparci, perch nella maggior parte dei link le ritrasmissioni sono cos rare che possono essere trascurate.

Output Queue

S3

S1 Input Queue S2

Fig. 6.1-2 - Schematizzazione delle code presenti nel generico nodo di una subnet. In seguito nel modellare il generico nodo trascureremo sia il propagation delay, che il processing delay, in quanto il primo dipende dalle caratteristiche del mezzo e dalla distanza dei nodi connessi dal link, ma del tutto indipendente dal traffico presente nella rete. Il processing delay, nelle reti a banda stretta, pu essere trascurato poich incide poco sul ritardo totale. Esso infatti rappresenta il tempo di lettura e di processamento del dato da parte del nodo di commutazione. Questultima assunzione ha leffetto di far sparire la input queue ed il relativo servente dalla Fig. 6.1-2.

6.1.1 Ritardo di Trasmissione per Traffico Multiplexato Abbiamo visto nel paragrafo precedente che uno degli addendi del ritardo di un pacchetto costituito dal ritardo di trasmissione (transmission delay). Vedremo ora di valutare questo termine nel caso in cui la tecnica di multiplexing sia TDM, FDM o Statistical Multiplexing. In ogni caso il 6-2

link verr visto come un bit pipe, sul quale possono essere trasmessi un certo numero di bit al secondo. Questo valore indicato tipicamente con C ed espresso in bps (bit/sec), dipende sia dalle caratteristiche del mezzo fisico di cui il link costituito, che dalle interfaccie usate per la comunicazione. 6.1.1.1 Caso 1: Statistical Multiplexing In questo caso i pacchetti che arrivano dalle varie sorgenti sono posti in un unica coda e vengono serviti con una politica di tipo FIFO. Detta L bits la lunghezza di un generico pacchetto, e detta C bps la capacit del canale, poich la risorsa trasmissiva allocata interamente ad un singolo pacchetto alla volta si ha: Eq. 6.1-1 L d = C

6.1.1.2 Caso 2: Frequency Division Multiplexing Supponiamo di avere m sorgenti di traffico, le quali devono essere multiplexate mediante FDM sul nostro link. In tal caso, detta W la banda passante del canale, ad ogni stream di traffico verr associato un canale avente banda circa pari a W/m. Detta C bps la capacit trasmissiva del canale, alli-esimo traffic stream sar associato un canale C/m bps circa. Da cui segue che il tempo necessario a trasmettere un pacchetto lungo L bits pari a:

td

mL C

Eq. 6.1-2

Osserviamo come questo tempo sia m volte pi grande rispetto a quello relativo allo statistical multiplexing. 6.1.1.3 Caso 3: Time Division Multiplexing Supponendo di avere sempre m stream di traffico, dobbiamo distinguere il caso in cui la dimensione degli slot piccola rispetto alla lunghezza del pacchetto, dal caso in cui slot e pacchetto hanno la stessa dimensione. Nel primo caso, per trasmettere un pacchetto lungo L bits, si ha lo stesso tempo di trasmissione dato dalla (Eq. 6.1-2), infatti anche in questo caso come se ogni stream avesse associato un canale di capacit C/m. Mentre nel caso in cui la dimensione del pacchetto e quella dello slot coincidono vale la relazione (Eq. 6.1-1) ma bisogna aspettare un tempo pari a: (m 1) L C

6-3

prima di poter trasmettere un altro pacchetto appartenente allo stesso stream. Dalle relazioni ricavate sin ora si nota che lo statistical multiplexing quello che garantisce il trasmission delay pi piccolo. Ci dovuto al fatto che le risorse allocate ai traffic stream dagli schemi di multiplazione TDM ed FDM vengono sprecate nel caso in cui una sorgente non ha nulla da spedire. Ci resta adesso da calcolare il Queueing Delay. Questa grandezza pi difficile da calcolare poich un parametro statistico e per il suo studio faremo uso della teoria delle code.

6.2 Sistemi a Coda Il processo assunto alla base della maggior parte dei sistemi a coda il seguente. Dei clienti (customers) richiedenti un dato servizio, sono generati nel tempo da una input source. Questi clienti entrando nel queueing system formano una coda. A certi istanti, un membro della coda viene scelto come prossimo cliente da servire, secondo una certa politica nota come disciplina della coda (per esempio la disciplina potrebbe essere FIFO, LIFO, etc. ) . Il servizio richiesto dal cliente viene quindi svolto dal server e il customer pu uscire dal sistema a coda. Questo processo rappresentato in Fig. 6.2-1.

Queue Customers

Server

Fig. 6.2-1 - Schema di un sistema a coda. Possono essere fatte diverse assunzioni sui vari elementi che costituiscono il queueing system. In generale per caratterizzare un sistema a coda deve essere specificata la statistica dei tempi di interarrivo, la statistica dei tempi di servizio, nonch la disciplina usata per gestire la coda. Sin ora abbiamo parlato di clienti, serventi e code in generale, ma poich il nostro interesse quello di usare i sistemi a coda per modellare dei comportamenti presenti nel generico nodo di una rete dati, dobbiamo capire a cosa corrispondono queste entit nel nostro ambiente. Se prendiamo come riferimento il nodo A di Fig. 6.1-1 i customers sono rappresentati dai pacchetti che arrivano e vengono assegnati ad un link per la trasmissione, mentre il server rappresentato dalla transmission facility. La coda corrisponde invece al buffer associato al link uscente dal nodo, tramite cui il pacchetto deve essere spedito. Date le distribuzioni di probabilit dei tempi di interarrivo e dei tempi di servizio, il nostro obiettivo sar quello di determinare le seguenti quantit: Il numero medio di clienti nel sistema 6-4

Il ritardo medio del generico cliente Dove per numero di clienti nel sistema si intende il numero di utenti presenti nella coda pi il numero dei clienti che stanno usufruendo del servizio offerto dal sistema. Mentre il ritardo di un cliente costituito dal tempo di attesa in coda pi il tempo di servizio. Detta: pn (t ) = Probabilit che all' istante t vi siano n clienti nel sistema Supposte note le informazioni statistiche necessarie per la determinazione delle probabilit pn(t), per ogni t, definito:

N (t ) = Numero medio di clienti nel sistema al tempo t si ha1: E{N (t )} = N (t ) = n pn(t )


n =0 +

Eq. 6.2-1

Osserviamo che sia pn(t) che E{N(t)} dipendono dal tempo e dalla distribuzione delle probabilit al tempo t=0, ossia, {p0(0), p1(0), p2(0), ..., pn(0), ...}. I sistemi con cui avremo a che fare saranno caratterizzati dal fatto di raggiungere una condizione di equilibrio, nel senso che: p n, N :
t +

Eq. 6.2-2 lim p n(t ) = p n

N =

np

= lim N ( t )
t +

n=0

dove pn e N sono indipendenti dalla distribuzione delle probabilit iniziale. Potrebbe anche risultare N= nonostante il sistema sia stazionario, ci accade per esempio nel caso in cui il rate con cui arrivano i clienti superiore rispetto a quello con cui il sistema riesce a servirli. Detta N(t) una funzione di campionamento del numero dei clienti nel sistema, definiamo media temporale di tale funzione nellintervallo [0,t] la grandezza:

La relazione segue chiaramente dalla definizione di valore medio.

6-5

t 1 N ( ) d Nt = t 0
Si definisce ergodico, un sistema per cui la relazione: lim Nt = lim N (t ) = N
t +

Eq. 6.2-3

t +

Eq. 6.2-4

vale con probabilit uno. Notiamo che se un sistema ergodico, la media di insieme e quella temporale coincidono. Consideriamo ora il ritardo medio del generico cliente. Supposta nota la distribuzione di probabilit di ritardo di ciascun cliente, siamo in grado di calcolare il ritardo medio di ogni cliente. Sia E{Tk} il ritardo medio del k-esimo cliente. Nel caso in cui il sistema converge ad un valore stazionario per k+, si ha allora che il ritardo medio del generico cliente sar: T = lim Tk
k +

Eq. 6.2-5

(Anche in questo caso possibile che risulti T= ) Se inoltre il sistema risulta essere ergodico si ha che: 1 k Ti k + k i =1 Eq. 6.2-6

T = lim Tk = lim
k +

dove Ti rappresenta il ritardo dello i-esimo cliente. Ricapitolando quanto trovato sin ora, abbiamo che dato un sistema stazionario ed ergodico, il numero medio di clienti nel sistema dato dalla relazione Eq. 6.2-4,ed indicato con N, mentre il ritardo medio che il generico cliente sperimenter dato dalla Eq. 6.2-6, ed indicato con T. Nel prossimo paragrafo, vedremo come tali grandezze sono tra di loro legate.

6.2.1 Applicazione dei Sistemi a Coda nelle Reti I sistemi a coda possono essere usati per modellare sia delle reti a commutazione di pacchetto che le reti a commutazione di circuito. Nelle reti a commutazione di pacchetto i clienti sono i pacchetti da trasmettere. Supponendo che i pacchetti abbiano dimensione variabile con media di L bit e che il canale trasmissivo abbia capacit di trasmissione pari a C bit/sec, il tempo medio di trasmissione di un pacchetto dato da: 6-6

1 L = C

Eq. 6.2-7

Dove il Rate Medio di Servizio (espresso in Pacchetti/Sec). Detto il rate medio di arrivo si definisce Fattore di Utilizzazione :

=
e sostituendo nella Eq. 6.2-8 la Eq. 6.2-7 si ha:

Eq. 6.2-8

L C

Eq. 6.2-9

Il numeratore della Eq. 6.2-9 rappresenta il carico medio nella rete ( L [bit/sec]), mentre il denominatore rappresenta la capacit di trasmissione della rete [bit/sec]. Dunque il parametro fornisce quantitativamente la misura di quanto caricato il sistema. Se tale parametro maggiore di 1, il sistema non riesce a smaltire il carico poich il numero medio di arrivi superiore rispetto al numero medio di partenze. Come annunciato in precedenza, anche le reti a commutazione di circuito possono essere modellate con i sistemi a coda. I clienti sono le chiamate telefoniche attive e il tempo di servizio medio costituito dalla durata media di una conversazione. La statistica entra in gioco solo durante la fase di set-up di una nuova connessione e le risorse sono le porte di uscita degli autocommutatori. Indicheremo dunque con il rate medio con cui arrivano le chiamate e con 1/ la durata media

6-7

6.2.2 Teorema di Little Il teorema di Little stabilisce che tra N e T intercorre una dipendenza lineare. Detta la costante di proporzionalit risulta2:

N = T
dove: = Rate medio degli arrivi ed dato dalla relazione: Valore atteso degli arrivi in [0, t] t + t

Eq. 6.2-10

= lim

Eq. 6.2-11

Vediamo ora di dimostrare il teorema di Little. Supponiamo per ipotesi che i clienti siano gestiti secondo una politica di tipo First Come Fist Served (FCFS)3. Definiamo rispettivamente: (t) = Numero degli arrivi nellintervallo [0, t] (t) = Numero delle partenze nellintevello [0, t] Supposto N(0) = 0, dalla definizione di (t) e (t) risulta chiaramente: N (t ) = (t ) (t ) Eq. 6.2-12

dove N(t) indica il numero di clienti presenti nel sistema allistante t. Indichiamo con ti listante in cui li-esimo utente arriva al sistema, mentre con Ti il tempo speso nel sistema dalli-esimo utente. Consideriamo ora un istante t, larea racchiusa tra le due curve di Fig. 6.2-2, in virt della Eq. 6.212, pari a:

Ma daltro canto risulta:

t 0

N ( ) d

t 0

N ( ) d = Ti +
i =1

(t )

(t )

i = ( t )+1

(t t )
i

Eq. 6.2-13

Questa formula viene tipicamente chiamata formula di Little, in quanto John D. C. Little fu il primo a darne una prova rigorosa. Essa infatti veniva ritenuta valida come regola del buon senso. 3 La formula di Little valida anche se la coda non gestita con la tecnica FCFS. La dimostrazione presentata per vale solo se la tecnica di scheduling usata FCFS.

6-8

Dividendo ambo i membri della Eq. 6.2-13 per t si ottiene:

10 9 8 7 6 5 4

N()
3 2

T2
1

T1
0 t1 t2

()

()

Fig. 6.2-2

(t )

1 t (t ) 0 N ( ) d = t t

Ti +
i =1

(t)

i = ( t ) +1

(t t )
i

Eq. 6.2-14

(t )

Osserviamo che il primo membro della Eq. 6.2-14 non altro che la media temporale in [0, t] del numero di clienti presente nel sistema (vedi Eq. 6.2-3). Daltro canto si ha che:

6-9

(t ) = t t dove t rappresenta la media temporale del rate degli arrivi nellintervallo [0, t]. Infine notiamo che risulta:
(t ) i =1 (t )

Ti +

i = ( t ) +1

(t t )
i

(t )

= Tt

dove Tt rappresenta la media temporale del tempo che un cliente spende nel sistema nellintervallo [0,t]. In virt di queste osservazioni possiamo scrivere:

N t = tT t
Se supponiamo che si abbia: lim Nt = N
t +

Eq. 6.2-15

t +

lim t = lim Tt = T

t +

segue subito la formula di Little N=T. importante notare che Tt include il tempo speso nel sistema da tutti i clienti arrivati tra 1 e (t), ma tralascia il tempo speso dai clienti ancora nel sistema allistante t. Se si suppone che Nt N < , (il che implica che tutti i clienti sono serviti in un tempo finito) leffetto dovuto ai clienti presenti nel sistema allistante t diviene via via trascurabile, ed al crescere di t, Tt pu effettivamente essere interpretato come la media temporale del tempo di sistema. Limportanza del teorema di Little deriva dalla sua generalit. Esso pu essere applicato ad un qualsiasi sistema a coda che raggiunga una condizione di equilibrio statistico. Il sistema non deve necessariamente essere una singola coda, ma pu essere in generale un complesso sistema di arrival-departure. La cosa importante nellapplicare il teorema di Little quella di interpretare nel modo appropriato N, e T. Prendiamo in esame la coda del Queueing System; detta la frequenza di arrivo dei clienti, la lunghezza media coda data dalla relazione:

6-10

Dove W il tempo medio di attesa in coda. Analogamente, applicando il teorema di Little nella parte

N Q = W

Eq. 6.2-16

di uscita del sistema a coda, si ha che il numero medio di pacchetti in trasmissione dato dalla frequenza di arrivo dei pacchetti per il tempo medio di trasmissione ( X ):

= X
X = Tempo medio di trasmissi one = 1

Eq. 6.2-17

Il parametro anche chiamato fattore di utilizzazione della linea, perch definito come il numero medio di pacchetti entranti nel servente per il tempo medio di trasmissione, ovvero rappresenta la porzione di tempo per la quale la linea occupata nella trasmissione di un pacchetto.

6-11

6.2.2.1

Applicazione del Teorema di Little

Controllo di Flusso a Finestra Consideriamo un canale di trasmissione su cui opera un controllo di flusso a finestra. Questo pu essere visto come un sistema in cui c sempre lo stesso numero di clienti, infatti supponiamo che la sorgente (oppure le sorgenti) di messaggi abbia sempre un pacchetto pronto da inviare e i segnali di acknowledgements sono trascurabili. Appena il pacchetto i arriva a destinazione verr inserito in rete il pacchetto i+N. Dal teorema di Little si ricava che:

N = T
dove : N = numero di pacchetti medio nel sistema. = frequenza di arrivo dei pacchetti. T = ritardo medio di trasmissione dei pacchetti. Osserviamo dunque che se il canale congestionato e T cresce, deve diminuire. Inoltre a parit di se si aumenta la finestra (N) il tempo medio trascorso dai pacchetti sul canale aumenta. Sistema Time Sharing Il teorema di Little consente anche di valutare i limiti di throughput in un sistema time-sharing a N terminali. Gli utenti accedono al sistema tramite i terminali e, dopo un periodo medio di setting R inviano la richiesta di esecuzione al computer che richieder un tempo di processamento medio P. Tali richieste vengono accodate e servite dal computer (il quale ha una singola CPU) secondo degli specifici algoritmi di scheduling. Dato che vogliamo calcolare il massimo throughtput, supponiamo che vi siano sempre tutti i terminali attivi che inviano richieste di esecuzione di job. Applicando il teorema di Little fra i punti A e C (vedi Fig. 6.2-3) si ha:

N T

Eq. 6.2-18

6-12

Terminale 1

Computer

Terminale 2

Tempo medio di processamento P

Terminale N Tempo medio di impostazione R

Fig. 6.2-3

Il tempo medio che un utente spende nel sistema T dato da: T=R+D dove D il ritardo medio osservato dallistante in cui il job accodato allistante in cui il job completato. Tale ritardo varia a secondo che il job deve o non deve attendere in coda (perch sono o non sono presenti altri job). Quindi il caso pi fortunato D=P (P=tempo di processamento) si ha quando il job in esame non deve attendere il completamento di altri task mentre nel caso pi sfortunato quando il job deve attendere il completamento dei lavori degli altri N-1 utenti si ha D=NP. Si deduce dunque che:

R+ P T R+ N P
Sostituendo quanto espresso nella Eq. 6.2-18 si ha:

6-13

R+P

N R + NP

1 1 R + NP N R + P da cui:

N N R + NP R+P

Eq. 6.2-19

Il throughput anche limitato dalla capacit di processamento del computer, per cui si ha che:

1 P

Eq. 6.2-20

Combinando lEq. 6.2-19 e lEq. 6.2-20 si ottiene che:

N N 1 min , R + NP P R + P
Dalla Eq. 6.2-21 si ottiene un limite il tempo di attesa medio che dato da:

Eq. 6.2-21

max{NP, R + P} T R + NP

Eq. 6.2-22

Le equazioni Eq. 6.2-21 e Eq. 6.2-22 sono riportate in Fig. 6.2-4. Si nota che allaumentare del numero di terminali N, il throughput tende al valore massimo (1/P), ed il tempo medio di attesa cresce in maniera proporzionale ad N. Il numero di terminali diventano il collo di bottiglia del sistema quando N<1+R/P, e la CPU idle (senza nulla da fare) per porzioni pi o meno lunghe di tempo. Viceversa la CPU diventa il collo di bottiglia del sistema quando N>1+R/P.

6-14

Limite introdotto dal numero di terminali

Limite introdotto dalla capacit di processamento della CPU

1/P Curva di throughput garantita

1+R/P

Numero di Terminali N

R+P R

Numero di Terminali N

Fig. 6.2-4

delle conversazioni (valori tipici sono 3 minuti, perch bisogna considerare anche le connessioni che non vanno a buon fine). Il buffer non presente nel modello per le reti a commutazione di circuito, perch se ci sono risorse disponibili vengono assegnate, viceversa se le porte di uscita sono tutte occupate, la richiesta di chiamata rigettata e la connessione non viene stabilita.

6-15

6.3

Nomenclatura per i sistemi a coda la prima lettera indica la natura del processo degli arrivi. I valori tipici sono: M: memoryless, indica che il processo degli arrivi un processo di Poisson (distribuzione di probabilit esponenziale). G: general, indica che il processo degli arrivi caratterizzato da una distribuzione di probabilit generale. In questo caso non si conosce landamento della funzione distribuzione di probabilit degli arrivi ma si conoscono solamente i momenti del 1 e del 2 ordine. D: deterministic, indica che il processo degli arrivi caratterizzato da una distribuzione di probabilit deterministica. Cio i tempi di servizio sono costanti. la seconda lettera indica la natura della distribuzione di probabilit dei tempi di servizio. I valori possibili, anche in questo caso, sono M, G, D e il significato uguale a quello spiegato precedentemente con lunica differenza che tali simboli si riferiscono alla distribuzione di probabilit del processo delle partenze. Il terzo simbolo indica il numero di serventi del sistema a coda. Il quarto simbolo indica il numero massimo di clienti nel sistema. Questo simbolo potrebbe non essere presente e, per default infinito.4 Il quinto simbolo indica il numero massimo di sorgenti attive. Anche questo simbolo potrebbe non essere presente e, per default infinito. Ogni sorgente (nel nostro caso sorgente di pacchetti) pu immettere un solo pacchetto alla volta, e potr produrne un altro solo quando il precedente stato spedito. Limitando il numero sorgenti attive si pu imporre un throughput massimo al sistema.

La nomenclatura che useremo per identificare i vari tipi di sistemi a coda fa uso di 5 simboli.

Un sistema a coda di tipo M/M/1 dunque caratterizzato da un solo servente (terzo simbolo), i clienti arrivano secondo un processo di Poisson con frequenza e la distribuzione dei tempi di servizio esponenziale con valor medio 1/ sec. Il numero massimo di clienti nel sistema e il numero massimo di sorgenti attive nel sistema infinito. I sistemi caratterizzati da processo di arrivo e processo delle partenze Poissoniano sono i pi semplici da studiare e, come vedremo successivamente, anche i pi conservativi. Essi infatti tendono a sovradimensionare il sistema, assicurando dunque le performance richieste. I sistemi M/M/N possono essere studiati e risolti con la teoria delle catene di Markov. possibile, in particolare, calcolare la probabilit pn che nel sistema vi siano n utenti e tramite essa possibile ricavare il numero medio di utenti nel sistema (N). Si ha infatti che:

N = n pn
n= 0

Eq. 6.3-1

6-16

Sfruttando il teorema di Little facile ricavare anche il tempo medio trascorso da un utente nel sistema (T) :

T=

Eq. 6.3-2

In modo analogo possibile ricavare il numero medio di utenti in coda (NQ) ed il tempo medio di attesa in coda di un utente (W).

6.4

Processi di Poisson

Un processo di Poisson un processo di enumerazione, caratterizzato da una distribuzione esponenziale, le cui variabili sono indipendenti e identicamente distribuite (i.i.d.). Passando ad una definizione pi rigorosa, un processo stocastico {A(t) | t 0} che assume valori interi non negativi, si dice processo di Poisson con frequenza se: 1. A(t) un processo di enumerazione che rappresenta il numero totale di arrivi occorsi dal tempo 0 al tempo t. Cio : A(0)=0, e per s<t, A(t)-A(s) rappresenta il numero di arrivi nellintervallo (s,t]. 2. I numeri degli arrivi che occorrono in intervalli di tempo disgiunti sono indipendenti. 3. Il numero degli arrivi in ciascun intervallo di lunghezza distribuito secondo Poisson con parametro .

t , > 0 : P{A(t + ) A(t ) = n} = e

( )n
n!

n = 0,1,2,...

Eq. 6.4-1

Quindi, nella distribuzione di Poisson, la probabilit che nellintervallo [0,] vi siano n arrivi sar data dalla Eq. 6.4-1. Per semplicit indicheremo questa probabilit con il simbolo p(n), per cui:

p{n} = ( )

e n!

n = 0,1,2,...

Eq. 6.4-2

In alcuni testi questo simbolo indica il numero massimo di clienti in coda (cio lampiezza del buffer). 6-17

Risulter ovviamente che :

p ( n) = 1
n= 0

Eq. 6.4-3

e si pu dimostrare che: il valor medio dato da: E (n) = n p (n) =


n =0

Eq. 6.4-4

la costante di proporzionalit: = rappresenta il rate medio degli arrivi di Poisson. la varianza data da:
2 n E ( n 2 ) E 2 ( n) =

E (n)

Eq. 6.4-5

Eq. 6.4-6

la deviazione standard normalizzata uguale a: n 1 = E (n) Eq. 6.4-7

Essa tende a zero per tendente ad infinito, cio per valori grandi di (>>1/), la distribuzione concentrata attorno al valore medio, dunque se si misurano i numero di arrivi n in un intervallo grande (cio >>1), n/T rappresenta una buona approssimazione di . La probabilit che non vi sia nessun arrivo nellintervallo [0,] (dalla Eq. 6.4-2):

p(0) = e
e va a 0 al crescere di .

Eq. 6.4-8

6.4.1 Propriet dei processi di Poisson Analizziamo adesso delle interessanti propriet dei processi di Poisson. Propriet 1. I tempi di interarrivo sono indipendenti ed esponenzialmente distribuiti con parametro cio, detto tn listante di tempo delln-esimo arrivo, gli intervalli n= tn+1 - tn hanno distribuzione di probabilit:

P{ n s} = 1 e s , s 0

Eq. 6.4-9 6-18

e sono mutuamente indipendenti. La corrispondente funzione densit di probabilit :

p ( n ) = e n
Il valor medio e la varianza di n rispettivamente 1/ e 1/2.
Dimostrazione:

Eq. 6.4-10

La distribuzione di probabilit cumulativa dei tempi di interarrivo si ottiene facilmente osservando la Fig. 6.4-1.

Istante di arrivo

istante di origine arbitrario

Istante s

tempo

Fig. 6.4-1

Essa infatti equivale alla probabilit che il numero di arrivi nellintervallo [0,s] sia nullo, da cui: P{ n > s} = prob{numero degli arrivi in [0, s] = 0} = ps (0) = e s

da cui segue che: P{ n s} = 1 e s Eq. 6.4-11

La funzione densit di probabilit si ottiene derivando la Eq. 6.4-11, e si ottiene: p( n ) = e n Eq. 6.4-12

6-19

p() e-1

1/

Fig. 6.4-2

Come mostrato in Fig. 6.4-2, per arrivi di Poisson, la probabilit tra due eventi successivi decresce esponenzialmente con il tempo intercorrente tra loro. Propriet 2. Per ogni t 0 e 0, P( A(t + ) A(t ) = 0 ) = 1 + o( ) P( A(t + ) A(t ) = 1) = + o( ) P( A(t + ) A(t ) 2) = o( ) dove con o() una funzione di tale che: Eq. 6.4-13 Eq. 6.4-14 Eq. 6.4-15

lim
0

o( ) =0

Propriet 3. Se gli arrivi in n intervalli disgiunti sono indipendenti e distribuiti secondo Poisson con parametri 1, 2, ..., n il numero degli arrivi nellunione di tali intervalli distribuito secondo Poisson con parametro (1+2+...+n). Propriet 4. Dati k processi di Poisson indipendenti A1,A2, ... , Ak, la loro unione ancora processo di Poisson con frequenza pari alla somma delle frequenze dei processi componenti: =1+2+...+k Questa propriet molto utile nella pratica, poich se in un dato nodo della rete arrivano pi flussi di pacchetti provenienti da sorgenti indipendenti che emettono dati secondo un processo di 6-20

Poisson, il flusso risultante sar distribuito ancora secondo Poisson con frequenza pari alla somma delle frequenze delle sorgenti. Bisogna comunque osservare che le ipotesi di emissione poissoniana ed indipendente delle sorgenti di pacchetti spesso grossolana e lontanissima dalla realt. Soprattutto, vedremo successivamente come lindipendenza non mai verificata. La distribuzione dei tempi di servizio esponenziale con parametro cio, detto sn il tempo di servizio delln-esimo utente:

P{sn s} = 1 e s , s 0
La funzione densit di probabilit :

Eq. 6.4-16

p (s n ) = e s

Eq. 6.4-17

con media 1/ e varianza 1/2. Il parametro si dice frequenza di servizio ed la frequenza (in clienti serviti per unit di tempo) alla quale il servente lavora quando occupato. possibile ripetere tutti i discorsi fatti per il processo delle partenze. In un sistema M/M/N si assume che: I tempi di interarrivo hanno distribuzione esponenziale, sono tra loro indipendenti identicamente distribuiti. ed

I tempi di servizio hanno distribuzione esponenziale, sono tra loro indipendenti ed identicamente distribuiti. I tempi di servizio e di interarrivo sono fra loro indipendenti. Una importante propriet delle distribuzioni esponenziale la memoryless. Applicando tale propriet al processo delle partenze e al processo degli arrivi si pu affermare che: Il tempo residuo necessario per completare un servizio in corso nel servente indipendente da quando il servizio cominciato. Il tempo occorrente per il prossimo arrivo indipendente da quando si verificato lultimo arrivo. Queste due affermazioni si traducono in termini di probabilit:

P{sn > r + t | sn > t} = P{sn > r} P{ n > r + t | n > t} = P{ n > r}

per r, t 0 per r, t 0

Quindi, gli istanti di tempo in cui i futuri clienti di un sistema arriveranno o completeranno il servizio sono indipendenti dai tempi di arrivo degli N(t) clienti presenti nel sistema e da quanto servizio hanno gi ricevuto i clienti correntemente sotto servizio. Questo significa che il processo {N(t) | t 0} una catena di Markov tempo continua.

6-21

6.5

Catene di Markov tempo discrete

Abbiamo preannunciato che il processo N(t) (utenti nel sistema allistante t) pu essere studiato facendo uso delle catene di Markov tempo continue, dove la variabile t assume valori continui. sufficiente comunque per i nostri scopi utilizzare la teoria (pi semplice) delle catene di Markov tempo discrete (la variabile t discreta) utilizzando questo semplice artificio: consideriamo gli istanti di tempo 0, , 2, .... , k, .... dove un numero positivo piccolo. Indichiamo con: Nk = numero di utenti nel sistema allistante k = N(k) Poich N(t) una catena di Markov tempo continua e Nk = N(k), si vede che: { Nk | k = 0,1,2,....} una catena di Markov tempo discreta. Detto questo, diamo una definizione pi rigorosa alle catene di Markov tempo discrete. Sia { Xn | n = 0, 1, ... } un processo stocastico tempo discreto che assume valori interi non negativi. Gli stati in cui il processo pu trovarsi sono: i = 0, 1, ... Il processo una catena di Markov se, c una probabilit fissa Pij che il processo si trover prossimamente nello stato j supponendo che si trovi nello stato i e tale probabilit indipendente dalla storia che ha portato il processo nello stato i. Tale concetto riassunto nelle equazioni sottostanti: Pij = P{X n+1 = j | X n = i, X n1 = in1 ,..., X 0 = i0 } = P{X n+1 = j | X n = i} n > 0, in1 , ... , i0 , i , j Le Pij cos definite sono dette probabilit di transizione dallo i allo stato j. Ovviamente, essendo probabilit risulter che:

Eq. 6.5-1

Pij 0 ,

P
j =0

ij

= 1 , i = 0, 1, ....

Eq. 6.5-2

Si definisce matrice delle probabilit di transizione :

6-22

P00 P01 P02 P 12 10 P11 P P = ...... ...... ...... Pi 0 Pi1 Pi 2 ...... ...... ......

............ ............ ............ ............

1 0 2

j i

Possono essere definite anche le probabilit di transizione ad n passi: Pijn = P{X n + m = j | X m = i}, n 0, i 0, j 0

e pu essere calcolata la matrice di transizione ad n passi Pn. Date le probabilit di transizione ad n passi vale lequazione di Chapman-Kolmogorov:
m Pijn+ m = Pikn Pkj , n, m 0, k =0

i, j 0

Eq. 6.5-3

Introduciamo adesso alcune definizioni. Si dice che due stati i e j comunicano tra loro se esistono due indici n e n1 tali che: Pijn > 0 Pjin > 0
1

6-23

Se tutti gli stati comunicano fra loro, la catena di Markov si dice irriducibile.

Catena di Markov irriducibile

Catena di Markov NON irriducibile

Fig. 6.5-1

Una catena di Markov si dice aperiodica se per qualunque stato i, non esiste un numero intero d2 tale che Piin=0 con n multiplo di d. Cio una catena di Markov detta periodica se esiste uno stato in cui possibile ritornare solo in un numero di passi multiplo di d. Una distribuzione di probabilit {pj | j 0 } si dice essere una distribuzione stazionaria per la catena di Markov se: p j = pi Pij ,
i =0

j0

Eq. 6.5-4

Per catene di Markov irriducibili e aperiodiche si ha che: p j = lim Pjjn ,


n

j0

Eq. 6.5-5

pj rappresenta la probabilit, a regime, che il sistema si trovi in quello stato; essa rappresenta dunque anche la porzione di tempo in cui il processo visita in media lo stato j. 1/pj il tempo medio di ricorrenza, ovvero il numero atteso di transizioni tra due successive visite dello stato j (se pj=0, il tempo medio di ricorrenza infinito). Si pu inoltre dimostrare che in una catena di Markov irriducibile e aperiodica possono verificarsi due possibilit: 1. pj = 0 per tutti gli stati j0. In questo caso la catena di Markov non ha distribuzione stazionaria ( il caso di un sistema M/M/1 in cui >). 2. pj > 0 per tutti gli stati j0. In questo caso la distribuzione di probabilit:

6-24

p j = pi Pij ,
i =0

j0

lunica distribuzione stazionaria della catena. La distribuzione stazionaria di una catena di Markov, se esiste, pu essere calcolata attraverso le equazioni di bilanciamento globale. Esse derivano dalla Eq. 6.5-2. Si ha infatti che:

Pji = Pjj + Pji =1


i =0 i=0 i j

P
i =0 i j

ji

=1 Pjj

moltiplicando ambo i membri per pj si ha: p j Pji = p j p j Pjj


i =0 i j

Sfruttando la Eq. 6.5-4 si ha che: p j Pji = pi Pij p j Pjj


i =0 i j i =0

p j Pji = pi Pij ( pi Pij )i = j


i =0 i j i =0

da cui si ottiene: p j Pji = pi Pij


i=0 i j i =0 i j

Eq. 6.5-6

La Eq. 6.5-6 indica che in condizioni di equilibrio, la probabilit di una transizione in partenza da j eguaglia la probabilit di una transizione in arrivo a j. Generalizzando il discorso ad un insieme di stati S si ha:

p P = p P
jS j iS ji iS i jS

ij

Eq. 6.5-7

La Eq. 6.5-7 indica che la probabilit che si abbia una transizione in partenza da S pari alla probabilit che si abbia una transizione verso S.

6.6

Processi di Nascita e Morte

I processi di nascita e morte (birth-death) sono catene di Markov in cui due stati successivi differiscono solo di una unit. Tali processi sono ideali per caratterizzare levolvere di una coda. In essa infatti gli utenti arrivano uno alla volta e si accodano per ricevere il servizio. Condizione necessaria e sufficiente affinch la catena sia irriducibile che: Pi,i+1 > 0 e Pi+1,i > 0 per ogni i 6-25

n+1

Fig. 6.6-1

Considerando linsieme di stati S={0, 1, 2, ..., n}, le equazioni di bilanciamento parziali (Eq. 6.5-7) danno: pn Pn,n+1 = pn+1 Pn+1,n n = 0, 1, ..... Eq. 6.6-1

ovvero, la probabilit di una transizione dallo stato n allo stato n+1 pari alla probabilit di una transizione dallo stato n+1 allo stato n. Generalizzando lEq. 6.6-1 si ottengono le equazioni di bilanciamento dettagliate:

p j Pji = pi Pij

i, j 0

Eq. 6.6-2

Queste equazioni permettono di calcolare facilmente la distribuzione stazionaria {pj | j 0 }. Osserviamo che non sempre valgono le equazioni di bilanciamento dettagliate per una data catena di Markov irriducibile e aperiodica. Un modo per verificare la loro validit ipotizzare la validit e tentare di risolvere il sistema che ne viene fuori per ottenere le probabilit pj con la condizione al contorno che:

Esistono due possibilit:

pj =1

a) Lassunzione non vera, ed il sistema di equazioni inconsistente. b) Lassunto vero, e la distribuzione di probabilit {pj | j 0} trovata lunica distribuzione stazionaria del sistema (sicuramente essa soddisfa anche le equazioni di bilanciamento globali).

6-26

Alcune catene di Markov (irriducibili e aperiodiche) hanno la propriet che la loro distribuzione {pj | j 0 } soddisfa un insieme di equazioni che intermedio tra quello di bilanciamento globale e quelle di bilanciamento dettagliate. Per ogni stato j, si consideri una partizione Sj1, Sj2,..., Sjk di stati complementari. Le equazioni: p j Pji = pi Pji , m = 1,2,...., k Eq. 6.6-3
iS m j iS m j

Le Eq. 6.6-3 vengono dette equazioni di bilanciamento parziali. Si pu dimostrare che se la {pj | j 0} risolve un insieme di equazioni di bilanciamento parziali, allora risolve anche le equazioni di bilanciamento globali, e quindi lunica distribuzione stazionaria della catena di Markov irriducibile e aperiodica. quindi importante individuare il giusto insieme di equazioni parziali soddisfatte dalla distribuzione stazionaria per calcolare questultima nel modo pi semplice possibile.

6-27

6.7

Sistemi M/M/1

I sistemi M/M/1 sono, come preannunciato i sistemi a coda pi semplici da studiare. Essi sono caratterizzati dal processo { N(t) | t 0 } (numero di clienti nel sistema allistante t) in cui i tempi di interarrivo e di servizio sono distribuiti esponenzialmente. Abbiamo visto, nel paragrafo precedente, come tale processo continuo pu essere studiato tramite una catena di Markov tempo discreta (Nk = N(k). { Nk | k = 0,1,2,....} dunque una catena di Markov tempo discreta). Dette Pij le probabilit di transizione (definite nelle Eq. 6.5-1), sfruttando le propriet dei processi di Poisson (Eq. 5.395.41) si ha che: P00 = 1 + o( ) Pii = 1 + o( ) Pi ,i +1 = + o( ) Pi ,i 1 = + o( ) Pij = o( ) i0 i 1 i 1 Eq. 6.7-1 Eq. 6.7-2 Eq. 6.7-3 Eq. 6.7-4 Eq. 6.7-5

i, j i, i + 1, i 1

Per verificare queste equazioni, osserviamo che, la probabilit che vi siano 0 arrivi e 0 partenze da uno stato i 0, in un intervallo Ik = (k, (k+1) ) pari a (e-)(e-) perch i processi degli arrivi e delle partenze sono di Poisson e sono indipendenti. Sviluppando questa probabilit in serie si ha appunto la Eq. 6.7-2. Analogamente, supponendo che il sistema si trovi nello stato 0, la probabilit di restare nello stato 0 equivale a dire che nellintervallo vi siano 0 arrivi, per cui tale probabilit data da (e-) che sviluppata in serie da proprio la Eq. 6.7-1. In maniera analoga si possono ricavare le altre equazioni.

1- 0

1- 1

1-

1-

1- n+1

Fig. 6.7-1

Nella Fig. 6.7-1 rappresentato in forma grafica il sistema M/M/1, in cui gli archi sono etichettati con le probabilit di transizione da uno stato allaltro5.

In alcuni testi gli archi sono etichettati con i rate medio (, ), quindi le transizioni ricorsive non possono essere etichettate con (1--).
5

6-28

6.7.1 Equazioni di bilanciamento per sistemi M/M/1 Consideriamo le probabilit stazionarie: pn = lim P{N k = n} = lim P{N (t ) = n}
k t

Eq. 6.7-6

Dalla Eq. 6.6-1 (equazione di bilanciamento dettagliata) si ha che: pn Pn,n+1 = pn+1 Pn+1,n Facendo uso delle Eq. 6.7-1, Eq. 6.7-2, Eq. 6.7-3, Eq. 6.7-4 e Eq. 6.7-5 si ha che: pn + o() = pn+1 + o() Poich pn non dipende da , eseguendo il limite di ambo i membri con tendente a 0 si ottiene: pn+1 = pn dove: = / il fattore di utilizzazione. Applicando la Eq. 6.7-7 con n e n-1 piuttosto che con n+1 e n si ha: pn = pn-1 Sostituendo tale risultato nella Eq. 6.7-7 si ha: pn+1 = 2 pn-1 Iterando il ragionamento si ottiene che: pn+1 = n p0 n=0, 1, ... Eq. 6.7-8 n=0, 1, ... n=0, 1, ... Eq. 6.7-7

Le probabilit pn sono ovviamente tutte positive, ed inoltre la loro somma (per n che va da 0 a infinito) deve risultare pari a 1. Si ha dunque:

p
n= 0

=1

Sostituendo a pn il valore ottenuto nella Eq. 6.7-8, si ha:

pn = n p0 = 1
n= 0 n =0

Se il fattore di utilizzazione () minore di 1, cio il rate di servizio maggiore del rate di arrivo, la serie precedente una serie geometrica, la cui somma data da:

n= 0

p0 =

p0 1 6-29

Eguagliando dunque le due equazioni si ha che: p0 =1 1 p0 = 1

Sostituendo tale risultato nella Eq. 6.7-8 otteniamo che:

pn = n (1 ) n=0,1,...

Eq. 6.7-9

La Eq. 6.7-9 rappresenta dunque la probabilit di avere n clienti nel sistema ed espressa in funzione di . Per n=0 la Eq. 6.7-9 diviene: p0 = (1-) da cui si vede come rappresenta il complemento ad 1 della probabilit che nel sistema non ci sia nessun cliente, cio rappresenta la probabilit che il servente sia occupato. Questo in accordo con il significato fisico assegnato al parametro in esame. Una volta conosciute le pn semplice calcolare il numero medio di clienti nel sistema, infatti, dalla definizione si ha:

N = n pn = n n (1 ) = (1 ) n n1 = (1 )
n =0 n =0 n =0

d d n = (1 ) n = d n=0 n = 0 d

( )

( )

= (1 ) da cui si ha:

d 1 1 1 = (1 ) (1 )2 d N= = 1 Eq. 6.7-10

Numero medio dei clienti nel sistema

10 8 6 4 2 0 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9


Fattore di Utilizzazione
Numero Medio di clienti nel Sistema (N)

Fig. 6.7-2

6-30

La Eq. 6.7-10 graficata in Fig. 6.7-2. Si nota che allaumentare del fattore di utilizzazione anche il numero di clienti medio aumenta e per che tende a 1 il numero di clienti tende a infinito. Il diagramma valido solo per <1, mentre per 1 il sistema diviene instabile . Nel contesto di un sistema di trasmissione a commutazione di pacchetto, 1/=L/C, dove L la lunghezza media dei pacchetti e C la capacit trasmissiva del canale. La condizione di instabilit diviene dunque: LC
[pacch./sec.] , L [bit/pacch.], C [bit/Sec.]

A questo punto possiamo calcolare il ritardo medio di un cliente nel sistema, applicando il teorema di Little. Si ha: N 1 Eq. 6.7-11 T= = = (1 ) Il tempo medio di attesa in coda per un cliente dato dal tempo medio di attesa nel sistema meno il tempo medio di servizio, quindi: 1 1 Eq. 6.7-12 W= =

Facendo uso del teorema di Little possibile, dunque, calcolare il numero medio di clienti in coda: 2 Nq = W = 1

6.7.2 Confronto fra Multiplexing Statistico e Deterministico I sistemi M/M/1 possono modellare un multiplexer con buffer infinito e con tempi di servizio e di arrivo esponenziali. Per questa ragione consideriamo m flussi di traffico Poissoniano statisticamente identici e indipendenti con frequenza di interarrivo pari a /m pacchetti al secondo. Le lunghezze dei pacchetti sono indipendenti ed esponenzialmente distribuite e il tempo medio di trasmissione 1/. Nel caso di multiplexing statistico, i flussi di traffico sono riuniti in un unico flusso poissoniano con frequenza di interarrivo pari a (questo grazie allindipendenza dei flussi di ingresso), per cui il ritardo medio dato dalla Eq. 6.7-11 ed pari a: T= 1

Nel caso di multiplexing deterministico (FDM o TDM), il canale fisico suddiviso in canali logici, ognuno dei quali si comporta come un sistema M/M/1 con frequenza di interarrivo /m e frequenza media di servizio pari a /m (la capacit trasmissiva del canale ripartita equamente tra gli m richiedenti). Il ritardo medio sperimentato dai pacchetti sar dunque (applicando la Eq. 6.7-11):

6-31

T=

Osserviamo dunque che nel caso di multiplexing deterministico il tempo medio di attesa m volte maggiore rispetto quello ottenuto con un multiplexing statistico. Questi risultati valgono solamente se il traffico di ingresso di tipo poissoniano. Nel caso in cui, il traffico di ingresso regolare, nel senso che una sorgente non pu produrre ulteriori pacchetti finch il precedente non stato inviato, con una tecnica di multiplexing di tipo deterministico, dato che ogni sorgente ha un canale dedicato, il tempo medio di attesa in coda nullo. Se viene usata la tecnica di multiplexing statistico, il ritardo medio per pacchetto diminuisce, ma il tempo medio di attesa in coda diviene positivo.

6.8

Sistemi M/M/1/N

Questi sistemi sono un caso particolare di sistema M/M/1. Essi sono composti da N+1 stati (dallo stato 0 allo stato N), e servono a modellare dei sistemi in cui si ha un buffer finito nel quale memorizzare le richieste di servizio. Dato che si ha a disposizione un servente, il numero massimo di utenti in coda sar N-1. Levoluzione temporale di un sistema M/M/1/N del tutto analoga a quella di un sistema M/M/1, con leccezione che se un cliente arriva quando vi sono gi N clienti nel sistema viene scartato perch il buffer completamente pieno. Le equazioni di bilanciamento portano ancora al risultato dellEq. 6.7-8 con la variazione del range di n che in questo caso va da 0 a N. pn+1 = n p0 La condizione di normalizzazione : n=0, 1, ... , N

p
n= 0

=1

Da cui si ha:

pn = p0 n = p0 n = 1
n= 0 n =0 n =0

p0 =

n
n =0

n
n =0

n = N +1

1
1 n 1 n = N +1

Ponendo x=n-N-1(che equivale a n=x+N+1): p0 = 1 1 x+ N +1 1 x =0

1 1 N +1 x 1 x=0

1 1 1 1
N +1

1 1 N +1

Quindi, sostituendo si ha che:

pn

(1 ) n =
1 N +1

Eq. 6.8-1

6-32

Calcolando lEq. 6.8-1 per n=N, si ha la probabilit di blocco, ossia la probabilit che il sistema si trovi allo stato N, cio la situazione in cui il buffer pieno ed ogni pacchetto in entrata viene scartato.

PB = p N

(1 ) N =
1
N +1

Eq. 6.8-2

In un sistema M/M/1/N, la condizione < 1 non pi necessaria per lequilibrio. Si pu inoltre dimostrare che la Eq. 6.8-2 vale anche per 1. Graficando dunque la Eq. 6.8-2 si ha:

Fig. 6.8-1 Dalla Fig. 6.8-1 si nota che quando il carico aumenta ( aumenta e dunque =/ aumenta di conseguenza), la probabilit che la coda si riempi completamente aumenta, e al limite, per che tende ad infinito, la probabilit che nel sistema vi siano N clienti (probabilit di blocco) tende a 1. La regione con maggiore di 1 detta regione di congestione nella quale si ha maggiore probabilit che la coda sia piena. Applicando il teorema di Hopital facile ricavare che per 1 la PB ricavata con la Eq. 6.8-2 tende a 1/(N+1). LEq. 6.8-2 pu essere usata per progettare la dimensione della coda del multiplexer in base alla probabilit di perdita voluta. Se < 1 e N >> 1 la Eq. 6.8-2 pu essere semplificata e diviene: PB = (1 ) N N+1<<1 Eq. 6.8-3

Questa significa che per PB basse, la probabilit che una coda finita sia nello stato n=N pu essere calcolata come la probabilit che una coda infinita sia nello stesso stato. Un esempio di utilizzo della Eq. 6.8-3 : consideriamo un concentratore su linea a 2400 bit/s che riceve traffico di pacchetti con lunghezza media pari a 1200 bit e intensit di 1 pacch/sec. Il parametro pari allinverso del tempo medio di trasmissione che 0.5 sec, per cui =2, mentre =1. Il fattore di utilizzazione dunque =1/2=0.5. La seguente tabella mostra la lunghezza del buffer per due valori di probabilit di perdita: 6-33

Probabilit di perdita 10
-3

N 9 19

10-9

6.9

Relazione tra carico e throughput (in sistemi single server)

Per un sistema single-server il throughput6 si pu calcolare come traffico smaltito. Osserviamo che il throughput sarebbe uguale al rate medio di servizio () se la coda non fosse mai vuota, per cui si ha che: = (1-p0 ) Il termine (1-p0) rappresenta infatti la probabilit che il servente sia occupato. Nel caso ideale di sistema M/M/1, sostituendo a p0 il valore ottenuto precedentemente si ha che: = (1-(1-)) = = Per sistemi con buffer infinito, infatti, tutti i clienti che entrano nel sistema, prima o poi verranno serviti, dunque il throughput uguale alla frequenza degli arrivi. Il throughput normalizzato / il fattore di utilizzazione (<1). Nel caso reale di sistemi con buffer finito M/M/1/N, il throughput normalizzato dato dalla: 1 1 N +1 1 + 1 N = (1 p0 ) = 1 = = 1 N +1 1 N +1 1 N +1 Eq. 6.9-1

Fig. 6.9-1

Throughput: volume di traffico nellunit di tempo.

6-34

In Fig. 6.9-1 riportata in forma grafica lequazione del throughput normalizzato per sistemi M/M/1/N. Si nota che quando uguale a 1, il throughput normalizzato pari a N/N+1. Questo significa che su N+1 clienti solo N verranno serviti. Nei sistemi a coda finita, il carico netto in arrivo dato da: (1-PB) dove PB la probabilit di perdita. Per il principio di conservazione (tutto quello che entra nel sistema a coda prima o poi esce), si avr che: = (1-PB) Eq. 6.9-2

Quindi il throughput pu essere calcolato in due modi, in uscita dal sistema a coda o in ingresso dal sistema stesso.

6-35

6.10

Sistemi State Dependent

In questo paragrafo vedremo di analizzare i sistemi a coda in cui il rate di arrivo e/o di servizio dipendono dallo stato del sistema stesso. Il generico stato n sar caratterizzato da una coppia n, n la quale rappresenta il rate con cui arrivano i clienti, ed il rate con cui vengono serviti, quando il sistema si trova nello stato n. In generale un sistema di questo tipo pu essere schematizzato come in Fig. 6.10-1.

1-0 0

1- 1 -1 1

1- 2 -2

1-n-1 -n-1 n-1

1- n -n n

1- n+1 -n+1

0
1

1
2

n-1
n

n
n+1

n+1

Fig. 6.10-1: Sistema a coda State Dependent

Analogamente ai sistemi M/M/1, detta pn la probabilit di stato in regime stazionario, possiamo scrivere la seguente equazione di bilanciamento:
pnn + o( ) = pn + 1n + 1 + o( )

Eq. 6.10-1

Da cui, dividendo ambo i membri per , e facendo tendere 0 si ha:

pnn = pn + 1n + 1
Dalla quale si ha:

Eq. 6.10-2

6-36

p0 0 = p11 p1 1 = p 2 2

p1 = p2 =

0 p0 1 1 0 1 p1 = p0 2 0 1

per n = 0 per n = 1

............ Generalizzando le relazioni precedenti si ha:


n 1

pn =


k =1 k =0 n

p0
k

Eq. 6.10-3

A partire dalla relazione Eq. 6.10-3, si possono ricavare sia N che T.

6.10.1 Sistemi M/M/N I sistemi M/M/N, similmente ai sistemi M/M/1 sono caratterizzati da un processo degli arrivi poissoniano, una distribuzione dei tempi di servizio esponenziale, ed indipendente dai tempi di interarrivo. Lunica differenza risiede nel fatto che i sistemi M/M/N hanno N serventi in grado di servire le richieste dei clienti. Se supponiamo che gli N serventi siano identici (ci implica che dato un cliente, ognuno di essi impiega lo stesso tempo a servirlo), la catena di Markov che modella un sistema siffatto rappresentata in Fig. 6.10-2.

1-

1- -

1- -2

1- -(N-1)

1- -N

1- -N

1
2

N-1
(N-1) N

N
N

N+1

Fig. 6.10-2: Modello Markoviano di un sistema M/M/N

Osserviamo che in questo caso ci che dipende dallo stato il rate con cui vengono serviti i clienti. In particolare con riferimento alla Fig. 6.10-2, possiamo scrivere:

6-37

n = n n 0 n N n = N n > N

Eq. 6.10-4

Sostituendo le (Eq. 6.10-4) nella relazione (Eq. 6.10-3 ) si ottiene:

pn =

k =1

k
k

k =0 +

n n! n p 0 0 n N p0 = n p n > N N ! N n N n 0

da cui posto =

si ottiene : N

N nn n! p 0 0 n N pn = N n N p0 n > N N!

Eq. 6.10-5

Per ricavare p0 imponiamo la condizione di normalizzazione: 1 = pn =


+ N N n n N N + n Nn n NN n p0 + p0 = p0 + = N ! n= N +1 n =0 n = 0 n! n = N +1 N ! n =0 n! n N + n N N N + N N N N = p0 n + k + N +1 = p0 n! n + N! N +1 k = N ! k =0 k =0 n=0 n! n =0 + N

N N n n N N N +1 1 N N n n ( N ) N = p0 + = p0 + * . N! N! 1 1 n=0 n! n=0 n!

Dai semplici passaggi sopra riportati si ricava quindi che:

6-38

p0 =

1 N n ( N) N n! + N! *1 n=0
N n

Eq. 6.10-6

Vediamo ora di calcolare la probabilit che un cliente trovi tutti i serventi occupati, e venga quindi costretto ad attendere in coda. Si ha:
+ NN NN n p0 n = P{Accomodamento} = p n = p0 = N! n= N n= N n= N N! + +

+ + p ( N ) N ( N ) N NN p0 k + N = p0 k = 0 N !(1 ) N ! k =0 N! k =0

La relazione:

PQ = P{Accomodamento} =

p0 ( N ) N N!(1 )

Eq. 6.10-7

nota in letteratura con il nome di Formula C di Erlang. Consideriamo ora il numero medio di clienti in coda, si ha:
+ + + N N n+ N ( N ) N ( N ) N n = n p0 = p 0 n = p0 n n1 = N! N! N! n =0 n =0 n =0 +

N Q = np n+ N
n =0

+ ( N ) N d ( N ) N d + n ( N ) N d 1 = p0 ( n ) = p0 = p0 N! N! d n= 0 N! d 1 n =0 d

( N ) N ( N ) N = p0 = p0 2 N! (1 ) N !(1 ) (1 )

Ma in virt della formula C di Erlang (Eq. 6.10-7) possiamo ancora scrivere:

6-39

N Q = PQ

(1 )

Eq. 6.10-8

Mediante il teorema di Little possiamo ora ricavare il tempo medio di attesa in coda: NQ PQ (1 ) Eq. 6.10-9

W=

Una volta calcolato il tempo medio di attesa in coda immediato ricavare il tempo medio di attesa nellintero sistema. Infatti ricordando che il tempo medio di servizio 1/ , si ha: PQ 1 1 +W = + (1 ) Eq. 6.10-10

T =

Ma essendo

si ha :

T=

PQ 1 + N

Infine usando nuovamente il teorema di Little ricaviamo il numero medio di clienti nel sistema:
PQ PQ + = N + N 1

N = T =

Eq. 6.10-11

6.10.2 Sistemi M/M/ I sistemi a coda di questo tipo presentano un numero infinito di serventi, per cui a differenza dei sistemi di tipo M/M/N risulta: n = n = n n n 6-40 Eq. 6.10-12

Sostituendo queste relazioni nella relazione Eq. 6.10-3, ricavata per un generico sistema state dependent, si ottiene:
n

1 pn = p0 n!

Eq. 6.10-13

Imponendo la condizione di normalizzazione si ha:


+ ( ) n ( ) n 1 = pn = p 0 = p0 = p0 exp n! n! n =0 n =0 n =0 + +

da cui: p0 = exp Sostituendo la Eq. 6.10-14 nella Eq. 6.10-13 si ottiene:


n

Eq. 6.10-14

1 pn = exp n!

Eq. 6.10-15

La relazione Eq. 6.10-15 ci dice che in condizioni stazionarie, il numero di clienti nel sistema ha una distribuizione di Poisson con parametro , per cui il numero medio di clienti nel sistema dato da: N=

Mentre come poteva essere intuito risulta: T= 1 6-41

Infatti poich il numero di serventi infinito7, ogni cliente attende nel sistema solo per il tempo necessario ad essere servito. Pu essere dimostrato che anche nel caso in cui i tempi di servizio non sono distribuititi esponenzialmente, se il numero di serventi infinito, allora, la distribuzione del numero di clienti nel sistema Poissoniana.

6.10.3 Sistemi M/M/N/N I sistemi M/M/N/N vengono detti sistemi a perdita, in quanto la dimensione della coda di attesa nulla. Quindi tutti gli utenti che trovano il sistema occupato vengono persi. Questo modello di grande importanza nella telefonia. La catena di Markov che modella un sistema questo tipo mostrata in Fig. 6.10-3.
1- 1- - 1- -2 1- -(N-1) 1--N

1
2

N-1
(N-1) N

Fig. 6.10-3: Modello Markoviano di un sistema M/M/N/N

Con riferimento alla Fig. 6.10-3 possiamo scrivere: n = n = n 0 n N , n 0 n N , n Eq. 6.10-16

In virt delle Eq. 6.10-16 la relazione Eq. 6.10-3 diviene:

1 pn = p0 n!

0 n N , n

Imponendo la condizione di normalizzazione, al fine di ricavare p0, si ha:

Un infinito in atto non pu essere pensato sicch il numero infinito in potenza ma non in atto - Aristotele (Per una trattazione filosofica sullinfinito vedi: Linfinito di Lucio Lombardo Radice). Editori Riuniti.

6-42

1 = pn =
n =0

N ( ) n ( ) n p0 = p0 n! n! n =0 n =0 N

da cui si ricava: p0 = 1 ( ) n n! n =0
N

Eq. 6.10-17

La probabilit che un cliente arrivando trovi tutti i server occupati, e quindi vada via, data dalla relazione: 1 N! p N = P{Blocco} = N ( ) n n! n =0
N

Eq. 6.10-18

Questa equazione nota in letteratura con il nome di Formula B di Erlang.

6-43

6.10.4 Confronto tra Sistemi M/M/N e M/M/1 Lo scopo di questa sezione quello di valutare le differenze, in termini quantitativi, tra un sistema M/M/2 caratterizzato dallavere un tempo medio di servizio pari a 1/, ed un sistema M/M/1 avente un tempo medio di servizio pari a 1/2. Consideriamo per il momento il sistema M/M/2, in virt della Eq. 6.10-5 possiamo scrivere:

N nn p0 0 n 2 p n = n!N n 2 p0 n > 2 2!

Ma se sviluppiamo un paio di termini otteniamo: p1 = 2 p0 4 p0 2 = 2 p0 2 2 4 p3 = p0 3 = 2 p 0 3 2 4 p4 = p0 4 = 2 p 0 4 2 ... p2 = pk = 2 p 0 k ... Imponendo la condizione di normalizzazione, possiamo scrivere:
+ + +

1 = pn = p0 + 2 p0 n = p0 + 2 p0 n 1 = p0 +
n =0 n =1 n =1

2 p0 = 1

p0 p0 + 2 p0 p0 (1 + ) = . 1 1

Da cui si deduce: p0 = 1 1+ pn = 2(1 ) n 1+ n - {0}

6-44

Calcoliamo ora il numero medio di clienti nel sistema: N = npn =


n =0 +

2(1 ) n 2(1 ) + n -1 2(1 ) d + n n = n = = 1+ 1+ d n =0 n =0 1 + n =0


+

2(1 ) d 1 2(1 ) 2 1 = 1 + (1 ) 2 = 1 2 1+ d

Si ha quindi: N= 2 1 2 Eq. 6.10-19

Mentre il tempo medio di attesa ne sistema dato da:

T=

N 1/ = 1 2

Eq. 6.10-20

Se consideriamo invece un sistema M/M/1 con rate di servizio 2 si ha:

N=

(1 ) 1/ 2 T= 1

Eq. 6.10-21

Osserviamo dalle relazioni sopra riportate che per 0 il tempo medio che un cliente passa nel sistema M/M/1 circa la met di quello speso nel sistema M/M/2. Mentre per 1 i due sistemi hanno un comportamento analogo. In Fig. 6.10-4 riportato landamento di T al variare di .

6-45

Fig. 6.10-4

6-46

6.10.5 Modello di un Auto Commutatore a Perdita. In questa sezione vedremo di usare i sistemi M/M/N/N per modellare un auto commutatore a perdita. Dove la parola perdita fa riferimento al fatto che gli eventuali clienti che dovessero trovare il sistema occupato sarebbero persi (un generico cliente viene servito oppure viene perso, ma nel modello che prenderemo in considerazione non capita mai che un cliente debba essere accodato). In Fig. 6.10-5 riportato la schema di principio di un auto commutatore.

Input Lines

Output Lines

1 2 3

1 2

Auto Auto Commutatore


N

Fig. 6.10-5: Modello di un autocommutatore per una rete circuit switched. Osserviamo che sono presenti M linee di ingresso ed N di uscita. Tipicamente M > N in modo tale da condividere le risorse di comunicazione al fine ridurre i costi seppur mantenendo bassa la probabilit di blocco. Vediamo ora di studiare le performance di un sistema siffatto. A tal fine supponiamo trascurabili i tempi di processamento ed i tempi necessario a compiere le commutazioni per connettere una linea di ingresso alla corretta linea duscita. Detto ci osserviamo che ognuno delle M input lines pu essere o nello stato di idle per un tempo esponenzialmente distribuito avente valor medio pari ad 1/, oppure potrebbe generare una chiamata avente durata media pari a 1/. Ad ogni chiamata (cliente) assegnata una delle N linee duscita; nel caso in cui tutte le linee duscita dovessero essere occupate la chiamata viene bloccata. Lautocommutatore di Fig. 6.10-5 si comporta come un sistema di nascita e morte in cui larrival rate ed il service rate sono: n = ( M n ) n = n 0n N M 0n N M

Eq. 6.10-22

La catena di Markov associata al sistema in esame dunque quella riportata in Fig. 6.10-6, notiamo che a differenza del sistema M/M/N/N studiato nella sezione precedente, qui anche il rate degli arrivi dipende dallo stato del sistema. Vediamo ora di ricavare la distribuzione delle probabilit di stato.

6-47

1-M M

1-(M-1) - (M-1)

1-(M-2) -2

1-(M-N+1) -(N-1) (M-N+1)

1-N

1
2

N-1
(N-1) N

Fig. 6.10-6: Catena di Marcov associata allautocommutatore. Ricordiamo che risulta per un generico sistema state dependent:

pn =


k =1 k =0 n

n 1

p0
k

Eq. 6.10-23

Per cui sostituendo nella Eq. 6.10-23) le relazioni Eq. 6.10-22) si ottiene: pn = M ( M 1)(M 2) L ( M n + 1)n M ( M 1)(M 2) L (M n + 1)(M n)L 2 1n p0 = p0 = 1 2 3L n n n!( M n) L 2 1 n
n n

M M! p0 = p0 = n (M n)!n!

M pn = p0 0 n N n

Eq. 6.10-24

Vediamo ora di ricavare unespressione per p0 , imponendo la condizione di normalizzazione si ha: N M n p0 = n =0 n Possiamo ora scrivere la distribuzione di probabilit del processo delle chiamate, risulta infatti: M 1 = pn = p0 n =0 n = 0 n
N N n 1

M n pn = n N M n n =0

0n N

Eq. 6.10-25

Tale distribuzione di probabilit detta Distribuzione di Engset. 6-48

6.10.5.1

Probabilit di Blocco e di Perdita

Ricavata la distribuzione delle probabilit di stato, vedremo in questa sezione come sia possibile ricavare due parametri estremamente importanti, quali la probabilit di blocco e la probabilit di perdita. Tali probabilit sono cos definite: Definizione 1: Si definisce probabilit di blocco PB la probabilit che tutte le N output lines siano occupate. Ossia: PB = Prob{N Output Lines Occupate} Definizione 2: Si definisce probabilit di perdita (Loss Probability) PL la probabilit che una chiamate sia persa (la perdita chiaramente da attribuire alla indisponibilit di risorse). PL = Prob{Venga persa una chiamata} La probabilit di blocco viene spesso chiamata time congestion, mentre la probabilit di perdita spesso detta call congestion. Questi nomi derivano dal fatto che praticamente la PB pu essere calcolata osservando per quanto tempo il sistema risulta essere del tutto occupato e rapportando questo tempo al tempo di osservazione; mentre la PL puo essere calcolata considerando il rapporto tra il numero di chamate perse, ed il numero di chiamate osservate. Nel caso di sistemi in cui larrival rate state dependent questi due parametri sono tipicamente diversi (anche se la loro differenza tipicamente piccola), mentre nel caso in cui larrival rate non dipende dallo stato essi sono identici. Vediamo ora di ricavare la probabilit di blocco PB, dalla definizione dovrebbe risultare chiaro che essa coincide con la probabilit che il sistema si trovi nello stato N, per cui risulta: M N PB = n N M n n =0
N

Eq. 6.10-26

Il calcolo della probabilit di perdita non cos immediato come quello della probabilit di blocco. Per ricavare PL conveniente esprimerla in funzione della PB, a tal fine consideriamo le seguenti grandezze: PN(a) = Prob{arrivo di una chiamata | il sitema bloccato} p(a) = Prob{arrivo di una chiamata} Osserviamo che la probabilit dellarrivo di una chiamata per la probabilit di perdita deve uguagliare il prodotto tra la probabilit dellarrivo di una chiamata condizionato dal fatto che il sistema sia blocato (PN) per la probabilit che il sistema si effettivamente bloccato. Si ha quindi: p(a ) PL = PN (a ) PB Eq. 6.10-27

6-49

Se consideriamo il processo di nascita e morte di Fig. 6.10-6, si nota che la probabilit PN(a) proporzionale a N, dove N dato dalle Eq. 6.10-22) per n = N. Mentre p(a) risulta essere proporzionale a T, dove T il rate di interarrivo medio: T = n pn
n =0 N

Eq. 6.10-28

Dalla relazione Eq. 6.10-27) si ottiene dunque: PL = N PB T Eq. 6.10-29

Osserviamo che in virt della Eq. 6.10-28) risuta: PL PB In base a quanto ricavato sin ora possiamo scrivere: M N N ( M N ) ( M N ) = PL = PB = N PB = k n N T M M n pn N n =0 ( M n) n k =0 k k N n =0 M k k =0 M ( M N ) k =0 k = n N M ( M n) n n =0
N N k N

M M (M N ) N N = = k n N N M M k (M n) n k =0 n =0
N N

M ( M N ) N = n N M ( M n ) n n =0

M! 1 1 ( M N ) ( M N )! N ! ( M N 1)! N ! [(M 1) N ]! N ! = = n = n = n N N N M! 1 1 ( M n) ( M n)!n! ( M n 1)!n! [(M 1) n]!n! n =0 n =0 n =0 (M 1)! [(M 1) N ]! N ! = = n N (M 1)! [(M 1) n]!n! n = 0
N

M 1 N n N M 1 n n = 0
N

6-50

Risulta dunque: M 1 N PL = n N M 1 n n = 0
N

Eq. 6.10-30

Confrontando la relazione ottenuta per la PB Eq. 6.10-26) con la relazione appena ottenuta si deduce che: PL ( M ) = PB ( M 1) Dalla relazione precedente si deduce che PLPB per M+. Inoltre se calcoliamo il limite per M+ di PB si ha: N N M M! ( M N )! N ! N = lim PB = lim n = lim n M + M + N M + N M M! n ( M n)!n! n= 0 n =0 N! = lim = n M + N (M N )! ( M n)!n! n= 0
N N

n =0
N n

N!

( M N )! n! lim M + ( M n )!

N! lim PB = n . M + N n! n =0

Mediante questi semplici passaggi abbiamo quindi trovato che la probabilit di blocco PB tende alla formula B di Erlang, e di conseguenza la distribuzione di probabilit di Engset tende alla distribuzione di Erlang. Vediamo ora di studiare il caso particolare in cui risulta M=N. In tal caso non si ha blocco, in quanto le input lines sono tanta quanto le output lines. Consideriamo ora la distribuzione delle probabilit di stato, data dalla relazione Eq. 6.10-25), risulta: M N N N n n n = = = n pn = n n N N N N M N + 1 + n n n =0 n= 0
n n n n

6-51

Ma essendo : a= Possiamo ancora scrivere: N n n N n = (1 a) N = N + (1 a ) N = N a n (1 a ) n (1 a) N = pn = N n n + n + N = a n (1 a) N n . n Risulta in definitiva: N pn = a n (1 a ) N n n Eq. 6.10-31


n

1- a = + +

Si ha quindi che nel caso in cui M=N la probabilit di stato ha una distribuzione binomiale. Ci segue dal fatto che essendo M=N ogni sorgente ha la sensazione di avere un canale dedicato. Un canale pu quindi essere modellato come un processo di nascita e morte a due stati (Fig. 6.10-7), in cui il rate con cui il canale diviene busy , mentre il rate con cui il canale diviene idle .

Idle

Busy

Fig. 6.10-7 In questo sistema la probabilit di stato si ottengono banalmente dalle realzioni: pidle = pbusy pidle + pbusy = 1

6-52

Da cui con semplici passaggi si ottiene: pidle = = 1 a + pbusy = =a + Eq. 6.10-32

Le relazioni Eq. 6.10-32 valgono per il generico canale, ed indicano la probabilit che esso sia libero oppure occupato. Da ci segue che la probabilit di avere n canali occupati data dalla distribuzione binomiale: N pn = a n (1 a ) N n n La quale proprio quanto trovato precedentemente come distribuzione della probabilit di stato.

6-53

6.11

Sistemi M/G/1

I sistemi M/G/1 sono sistemi a singolo servente in cui i clienti arrivano secondo un processo di Poisson con frequenza e i tempi di servizio seguono una distribuzione generica (non necessariamente esponenziale come accadeva nei sistemi M/M/1). Supponiamo che i clienti siano serviti secondo una politica FIFO, e sia Xi il tempo di servizio delliesimo clente. Assumiamo che le variabili casuali (X1, X2, .... ) siano identicamente distribuite e indipendenti dai tempi di interarrivo. Indichiamo con: X = E{X } = 1

il tempo di servizio medio (momento del primo ordine) e con: X2 =E X2 il momento del secondo ordine del tempo di servizio. Si pu dimostrare che, per i sistemi M/G/1 vale la formula di Pollaczek-Khinchin (P-K): X2 2 (1 )

{ }

W =

Eq. 6.11-1

dove W il tempo medio di attesa in coda, mentre risulta : = =X

Il tempo medio di attesa nel sistema sar pari alla somma del tempo medio speso nel servente pi il tempo medio di attesa in coda dato dalla Eq. 6.11-1, dunque: X2 T = X + 2 (1 ) Eq. 6.11-2

facile adesso calcolare il numero medio di clienti in attesa in coda e nel sistema, applicando il teorema di Little, si ottiene che:

NQ =

2 X 2 2 (1 )
2 X 2 2 (1 )

N =+

6-54

Adesso proviamo a calcolare il tempo medio di attesa in coda per sistemi M/M/1 come caso particolare della formula P-K. Ricordiamo che il momento del secondo ordine (o valore quadratico medio) dato dalla somma della varianza pi il valor medio al quadrato: X 2 = 2 + X 2 8 In una distribuzione esponenziale 2 = 1/2, dove il valore medio, quindi: X2 = 1 1 2 + 2 = 2 2

Sostituendo tale valore nella Eq. 6.11-1 si ha: W= = (1 ) Eq. 6.11-3

Questo risultato indica che la formula P-K per i sistemi M/G/1 vale anche per i sistemi M/M/1, che in fondo sono un caso particolare di sistema M/G/1. Analizziamo adesso un altro sottocaso dei sistemi M/G/1, i sistemi M/D/1. In tali sistemi il tempo di servizio deterministico. Un riscontro pratico a questi tipi di sistemi pu essere fatto con reti in cui la lunghezza dei pacchetti costante, quindi il tempo di servizio costante per tutti i pacchetti. La varianza del tempo di servizio dunque nulla (2 = 0), quindi: X 2 = 0+ Dalla formula P-K si ottiene: W= 1 1 = 2 2

2 (1 )

Eq. 6.11-4

Nel caso M/D/1, si ha il valore minimo del momento del secondo ordine, e quindi anche W, T, NQ, e N hanno il valore minimo. In particolare, W e NQ sono la met dei corrispondenti valori per sistemi M/M/1 con uguale rate di servizio e di arrivo. I valori di T e N per i sistemi M/D/1 sono la met dei corrispondenti in M/M/1 se 1 e sono uguali ai corrispondenti in M/M/1 per piccolo. Ci accade perch il tempo di servizio circa lo stesso nei due casi e, per piccolo, il tempo che incide di pi quello di servizio, mentre per grande il termine pi pesante il tempo di attesa. In genere, i valori di T e N per sistemi M/G/1 sono intermedi tra quelli per lM/D/1 (che corrispondono al caso migliore) e quelli per mM/M/1 (che corrispondono al caso peggiore).

Infatti, indicando per semplicit con la media, risulta: 2 2 = E ( x ) = E x 2 2x + 2 = E x 2 2E{x} + 2 = E x 2 2

} {

} { }

{ }

6-55

Come conseguenza di quanto ricavato, osserviamo che, usare il multiplexing statistico suddividendo lasse temporale in slot (in cui la durata dello slot coincide con il tempo di trasmissione di un pacchetto), implica il minimo tempo medio di attesa dei pacchetti in coda. Inoltre, bisogna evidenziare anche che, se per un dato sistema non possibile conoscere il momento del primo e del secondo ordine del tempo di servizio, giustificato lutilizzo di un sistema M/M/1 come modello analitico del sistema in esame, in quanto esso porta eventualmente al sovradimensionamento del sistema. Dimostriamo adesso la formula di P-K. Tale dimostrazione far riferimento alla definizione del tempo residuo di servizio. Def. Si definisce tempo residuo di servizio relativamente alli-esimo cliente , il tempo necessario affinch lutente sotto servizio allarrivo del cliente i-esimo, esaurisca il servizio stesso. Siano: Wi : Tempo di attesa in coda delli-esimo cliente. Ri : Tempo di servizio residuo visto dalli-esimo cliente. Cio, se nel servente presente il cliente j-esimo quando il cliente i arriva, con Ri indichiamo il tempo rimanente affinch il cliente j completi il servizio. Se non vi sono clienti nel sistema quando i arriva (cio il sistema vuoto), Ri sar zero. Xi : Tempo di servizio delli-esimo cliente. Ni : Numero di clienti trovati in attesa in coda allarrivo delli-esimo cliente. Si ha che il tempo di attesa in coda per li-esimo cliente pari al tempo di servizio residuo (del cliente gi nel sevente quando i arriva) pi la somma dei tempi di servizio degli Ni utenti in coda prima dellarrivo di i: Wi = Ri +

j =i N i

i 1

Essendo le variabili Ni, Xi-1, .... , Xi-Ni indipendenti, si ha che: i 1 E{Wi } = E{Ri } + E E{X j | N i } = E{Ri } + X E{N i } j =i N i Facendo il limite per i che tende a infinito si ha:

W = R+

1 NQ

Eq. 6.11-5

dove R il tempo residuo medio ed definito come:

R = lim E{Ri }
i

6-56

Usando la formula di Little, si ha che: NQ = W, e sostituendo nella Eq. 6.11-5 si ha:

W = R+
da cui:

1 W
W=

W (1 ) = R

R 1

Eq. 6.11-6

Per ottenere dunque il tempo medio di attesa in coda bisogna trovare il tempo residuo medio e sostituirlo nella Eq. 6.11-6. Calcoliamo R graficamente.

r() Tempo di servizio residuo

x1 0 x1 x2 xM(t) t

Fig. 6.11-1

In Fig. 6.11-1 rappresentato il tempo residuo di servizio in funzione di . Osserviamo che quando inizia un nuovo servizio di durata X, r() parte dal valore X e decresce linearmente fino a raggiungere il valore 0 dopo X unit di tempo. Consideriamo un istante t in cui r(t)=0. Si ha che:

1 t 1 M (t ) 1 2 r ( ) d = X i t 0 t i =1 2
dove M(t) il numero di servizi completati in [0,t], e Xi il tempo di servizio delli-esimo cliente. Moltiplicando e dividendo il secondo membro per M(t) si ha:
2 1 t 1 M (t ) i =1 X i r ( ) d = M (t ) t 0 2 t M (t )

Effettuando il limite per t tendente ad infinito (supponendo che tale limite esista), si ha:

6-57

1 t 1 M (t ) i=1 X i2 lim r ( ) d = lim lim 0 t t t 2 t t M (t )


M (t )

I limiti a secondo membro sono rispettivamente il rate medio di servizio dei clienti (che equivale al rate medio di arrivo9), e il momento del secondo ordine del tempo di servizio. Il secondo membro rappresenta invece il tempo di servizio residuo medio. Si ha dunque che: R= Sostituendo dunque nella Eq. 6.11-6 si ha: W = X2 2 (1 ) c.v.d. 1 X 2 2

Si noti che un sistema M/G/1 con < 1 pu presentare tempi di attesa infiniti se il momento del secondo ordine tende ad infinito. Quello che succede in questo caso che una piccola quantit di utenti hanno un tempo di servizio molto lungo. Durante questo ampio intervallo di tempo, un numero molto elevati di clienti arrivano nel sistema e vengono accodati e sperimenteranno dunque un lungo ritardo.

6.11.1 Sistemi a coda con priorit Consideriamo un sistema M/G/1 in cui i clienti sono divisi in classi di priorit decrescente. Supponiamo inoltre che le priorit vengano gestite senza preemption. Cio al cliente sotto servizio permesso di completare il servizio senza interruzione anche se arriva un cliente a pi alta priorit. Una coda separata mantenuta per ogni classe di priorit. Quando un server diventa disponibile, il primo cliente in attesa nella coda a pi alta priorit non vuota viene servito. Indichiamo con : k il rate di arrivo degli utenti di classe k. XK = X k2 1 il momento del primo ordine del tempo di servizio relativo alla classe k. k il momento del secondo ordine del tempo di servizio relativo alla classe k.

Calcoleremo adesso il tempo medio di attesa in coda per le varie classi di priorit. Indichiamo con:
( N Qk ) : Il numero medio di utenti nella coda di priorit k.

Wk

: Il tempo medio di attesa nella coda con priorit k.

k = k / k : Lutilizzazione del sistema per la priorit k.

Per t che tende ad infinito, il numero degli utenti che sono serviti pari al numero degli utenti che sono arrivati, quindi la media temporale della frequenza di servizio p pari a quella della frequenza di arrivo. 6-58

R : Il tempo residuo di servizio medio. Tale parametro non dipende da k perche stiamo supponendo che non ci sia preemption. Per la classe di priorit pi alta si ha che (dalla Eq. 6.11-5):

W1 = R +
Ed usando il teorema di Little si ha:

1 ( N Q1) 1

W1 =
Per la seconda classe di priorit si ha:

R 1 1

W2 = R +

1 1 1 ( ( N Q1) + N Q2 ) + 1 W2 1 2 1

dove il quarto addendo del secondo termine rappresenta il ritardo aggiuntivo causato dai clienti di priorit pi alta che arrivano quando il customer di priorit 2 gi in attesa in coda. W2 = R + 1 W1 + 2 W2 + 1 W2 W2 = R + 1 W1 R = 1 1 2 (1 1 ) (1 1 2 )

Analogamente si trova che: Wk = R (1 1 .... k 1 ) (1 1 .... k ) Eq. 6.11-7

Con un procedimento analogo al precedente si trova che:

R=

1 1 n X 2 = i X 2 2 2 i=1
2 n

dove X 2 il momento del secondo ordine mediato su tutte le classi di priorit:

X2 =

i =1

X 12 +
i

i =1

2 X 2 + .... + i

i =1

2 Xn i

Sostituendo nella Eq. 6.11-7 si ottiene:

n 2 i X i =1 Wk = 2 (1 1 .... k 1 ) (1 1 .... k )

Eq. 6.11-8 6-59

Tk =

1 + Wk k

Eq. 6.11-9

Tali valori dipendono fortemente dalle distribuzioni dei tempi di servizio delle varie classi. Si pu facilmente dimostrare che il ritardo medio per cliente tende a ridursi quando si attribuisce priorit pi alta ai clienti con tempi di servizio pi brevi. Questo si traduce nelle reti a commutazione di pacchetto nellattribuire priorit maggiore ai pacchetti di controllo che solitamente sono molto pi brevi rispetto ai pacchetti dati. Ad esempio, consideriamo una rete a commutazione di pacchetto con capacit trasmissiva di 9600 bit/sec. Supponiamo che in tale rete circolino due tipi di pacchetti: Pacchetti di controllo, con lunghezza fissa di 48 bit;

1 48 = = 5 m sec . 1 9600 1 960 = = 0.1 sec . 2 9600

12 = 0

X 12 =

1 12 3 12

Pacchetti dati con lunghezza media di 960 bit, e con varianza pari a 2/(2)2;
2 2 =

2 2 2

2 2 2 X2 =2 + X2 =

Supponiamo che il 20% del traffico totale dovuto ai pacchetti di controllo, mentre l80% dovuto ai pacchetti dati. Si avr che: = 1 + 2 =0.2 + 0.8 Supponendo un fattore di utilizzazione =0.5, si ricava che:

1 2 + = 0.5 1 2

= 6.17 pacch.

sec.

Se non ci fosse priorit, il tempo medio di attesa in coda per tutti i pacchetti sarebbe dato dalla Eq. 6.11-1, dove il momento del secondo ordine dato dalla somma pesata dei singoli momenti del secondo ordine: X2 = Da cui si ottiene che: W = X2 6 . 17 * 2 .4 10 2 = = 148 m sec 2 (1 ) 2 * 0 .5 1 X 12 + 2 X 22 = 2.4 10 2

Consideriamo adesso uno schema a priorit, in cui i pacchetti di controllo hanno precedenza rispetto ai pacchetti dati. Il tempo medio di attesa nelle due diverse code con priorit sar:

6-60

W1 = W2 =

1 X 12 + 2 X 22 6.17 * 2.4 10 2 = = 74.5m sec 2 (1 1 2 ) 2 * 0.5

2 1 X 12 + 2 X 2 6.17 * 2.4 10 2 = = 149m sec 2 (1 1 2 ) (1 1 ) 2 * 0.5 * 0.9

Da questo semplice esempio si vede come il tempo medio di attesa in coda per i pacchetti con alta priorit si praticamente dimezzato, mentre per i pacchetti a pi alta priorit rimasto praticamente invariato (un solo msec di differenza).

6-61

6.12

Intensit del Traffico

Lintensit del traffico si definisce come la quantit media di unit di lavoro che viene offerta al sistema (o viene smaltita dal sistema) nellunit di tempo. Pur essendo un numero puro, lunit di misura attribuita convenzionalmente a tale grandezza lErlang e la lettera usata per indicarla la lettera A. Viene definito dunque il Traffico offerto: AO = il quale rappresenta, lutilizzazione del sistema. Si definisce Traffico smaltito: AO =

Nel caso di reti a commutazione di circuito, la grandezza che indica quanto impegno le risorse della rete : chiamate tempo tempo di chiamata Nel caso di reti a commutazione di pacchetto, si ha: messaggi tempo tempo di trasmissi one Consideriamo adesso due semplici esempi. In un sistema telefonico, supponiamo che la frequenza di interarrivo delle chiamate sia = 4 chiamate/minuto, e il tempo medio di conversazione sia 1/=3 minuti/chiamata. AO=12 Erlang. Questo significa che a regime avr 12 linee occupate. In una rete a commutazione di circuito con =1.5 messaggi/sec. e tempo medio di trasmissione 1/=10 sec/msg. Si ricava che AS = 15 Erlang. Lintensit di traffico da anche: il numero medio di sorgenti contemporaneamente attive (traffico offerto) Cio da una misura del carico che bisogna prevedere per dimensionare il sistema. Il numero medio di risorse (serventi) contemporaneamente occupate (traffico smaltito). Mi da una misura della capacit di smaltimento di traffico del sistema. Si definisce, Traffico perso: AP = In equilibrio statistico: 6-62 PB

AO = AS + AP Il fattore di utilizzazione indica lintensit di traffico smaltita dal singolo servente:

A = S <1 N N

Erlang linea

Eq. 6.12-1

In condizione di stabilit deve essere minore di 1, dunque AS deve essere minore di N. Dalla Eq. 6.12-1 si ricava che: AS = N Per questo motivo, a volte lunit di Erlang si indica la frazione di tempo per la quale una linea impiegata, moltiplicata per il numero di linee in uscita al sistema. Le formule ricavate nei paragrafi precedenti possono essere espresse in funzione di A. Infatti, la probabilit di accodamento, secondo Erlang-C in un sistema M/M/N si pu riscrivere: N AN PQ = pO N !( N A) con: N 1 An A N N pO = + n =0 n! N ! N A La probabilit di blocco secondo Erlang-B (o secondo Engset con M>>N) in un sistema M/M/N/N : AN PB = N !

An n! n =0
N

Esistono delle tabelle che permettono di calcolare il numero di linee in uscita che garantiscono una certa PB a fronte di una data intensit di traffico A. Ad esempio, con A compreso fra 5 e 50 si ha che: PB = 1% N = 5.5 + 1.17 A 5 < A < 50 PB = 0.1% N = 7.8 + 1.28 A 5 < A < 50

6-63

6.13 Analisi di Reti Nelle reti dati, vi sono molti nodi di commutazione, ognuno dei quali, ai fini della valutazione delle prestazioni, pu essere schematizzato come un sistema a coda per il calcolo delle performance. In definitiva, si ha dunque un insieme di sistemi a coda che interagiscono fra loro, in quanto il traffico dati uscente da un sistema a coda entra in una o pi code successive, prima di uscire dalla rete ed arrivare a destinazione. Nella
Destination Host

Source Terminal

1
Source Terminal

2 3

4
Destination Host

Fig. 6.13-1 mostrato un semplice esempio di rete di code.

Fig. 6.13-1 Analiticamente, questo tipo di sistemi sono difficili da studiare. Questo dovuto principalmente al fatto che il tempo di interarrivo dei pacchetti diviene strettamente correlato con la lunghezza dei pacchetti una volta che essi hanno attraversato la prima coda che corrisponde al punto di ingresso del flusso in esame. Consideriamo infatti il seguente esempio. Supponiamo di avere due nodi di uguale capacit in cascata, un unico flusso di pacchetti di lunghezza fissa con arrivi distribuiti esponenzialmente. 6-64

pacch./sec.

Fig. 6.13-2 La prima coda sar dunque un sistema di tipo M/D/1. Sia 1/ il tempo di trasmissione di entrambi i nodi. I pacchetti dunque arriveranno nella seconda coda con intervalli maggiori o uguali a 1/ (arriveranno esattamente a intervalli pari a 1/ se il servente 1 fosse sempre occupato). Ma poich, come gi detto prima, 1/ anche il tempo di servizio nella seconda coda, in questultima non vi sar attesa. Quindi un modello basato su arrivi di Poisson anche per il secondo nodo sarebbe del tutto inappropriato. Consideriamo adesso, un altro esempio, uguale al precedente, con lunica differenza che la lunghezza dei pacchetti non pi fissa ma distribuita esponenzialmente e indipendente sia da pacchetto a pacchetto, sia dal tempo di interarrivo nella prima coda. La prima coda dunque M/M/1. La seconda per non pu essere modellata come un sistema M/M/1, perch il tempo di interarrivo nella seconda coda strettamente correlato con la lunghezza dei pacchetti. Infatti, consideriamo un intervallo temporale in cui arrivano molti pacchetti nella prima coda. Il tempo di interarrivo tra due qualsiasi pacchetti nella seconda coda equivale con il tempo di trasmissione del secondo pacchetto nella 1a coda. Dunque, i pacchetti lunghi aspetteranno tipicamente meno tempo nella seconda coda rispetto a pacchetti brevi, poich la loro trasmissione nella prima coda richieder un tempo elevato, e la seconda coda avr dunque la possibilit di svuotarsi. In pratica, non esiste la soluzione analitica neanche per il primo esempio sopra riportato. Per studiare tali sistemi si ricorre dunque alla simulazione, la quale ha mostrato che in condizioni di alto traffico, i risultati ottenuti analiticamente (ignorando la correlazione fra la lunghezza dei pacchetti e il tempo di interarrivo; modellando cio i sistemi come M/M/1) sono cautelativi (ritardi pi elevati), mentre a basso carico, i risultati ottenuti analiticamente danno ritardi inferiori rispetto a quelli che si sperimentano nella realt. Un altro esempio che mostra come in generale il processo degli arrivi ad una coda in una rete non Poissoniano il seguente. Consideriamo una rete con feedback (retroazione). Questa rete caratterizzata dal fatto che con probabilit p un cliente servito venga riportato in ingresso.

6-65

Poisson

/(1-p) +

/(1-p)

p/(1-p)

Fig. 6.13-3 Affinch sia la frequenza del traffico che esce dalla rete, la frequenza del traffico x servito dalla coda : (1 p ) x = Questa anche la frequenza del traffico alla coda: + p x = + p = 1 p 1 p x= 1 p

Ovvero il traffico di ingresso non Poissoniano. Se >>, si vede facilmente che si tratta di traffico a burst. In generali si distinguono due classi di reti di code, che sono raffigurate schematicamente in Fig. 6.13-4. Nel primo caso (Fig. 6.13-4 (a)), sono presenti dei flussi di traffico entranti ed uscenti dalla rete. Per questo motivo, tali reti vengono chiamate Reti di code Aperte (open-network). Nella Fig. 6.13-4 (b), i clienti sono intrappolati allinterno della rete, non vi sono arrivi o partenze da e verso lesterno. Per tale motivo, queste reti vengono chiamate Reti di code Chiuse (closed-network).

6-66

Una rete di code aperta si dice di Jackson se:

Fig. 6.13-4 Il flusso di traffico esterno esponenziale. La distribuzione dei tempi di servizio di tipo esponenziale per ciascuna delle code della rete. I tempi di servizio nelle varie code sono indipendenti. Il teorema di Jackson afferma che: Una rete di Jackson risolvibile, e la p(n) una forma prodotto, cio data dal prodotto delle singole probabilit relative alle singole code (questo mostra lindipendenza dei processi dalle code). Le probabilit di ogni singola coda risultano essere quello che si ottengono considerandole di tipo M/M/1. Consideriamo una rete di Jackson aperta formata da M code, in cui il tempo di servizio dei clienti nelle varie code distribuito esponenzialmente. Sia il rate di arrivo Poissoniano dalla sorgente esterna. Sia qij la probabilit (fissa) che un pacchetto che completa il servizio nella coda i sia instradato verso la coda j. Indichiamo come di consueto con i il rate di servizio.

6-67

Sorgenti esterne

Destinazioni esterne

qsi

+ + i i i

qid k

qki k

qsi

qij i qii i
Flussi uscenti verso altre code della rete

Flussi provenienti da altre code della rete

Fig. 6.13-5

Risulta ovvio che: qid + qij = 1


j =1 M

1 i M

Eq. 6.13-1 (equazione di equilibrio in uscita)

i = q si + qki k
j =1

1 i M

Eq. 6.13-2 (equazione di equilibrio in ingresso)

Lobiettivo quello di determinare la probabilit pi(ni)che la coda i-esima si trovi nello stato ni. Poich siamo in presenza di una interconnessione di code, le varie probabilit potrebbero non essere indipendenti. Quindi calcoliamo la probabilit: p(n) p (n1 , n2 ,..., ni ,..., nM ) Estendiamo adesso il concetto di equazione di bilanciamento visto in precedenza a questo caso in cui p(n) un vettore. In particolare uguaglieremo la probabilit di entrare nello stato (multidimensionale) n con la probabilit di uscire da questo stato. Per semplificare la notazione indicheremo con: p(n 1i ) p (n1 , n2 ,..., ni 1,..., nM ) e analogamente con: p(n 1i + 1 j ) p (n1 , n2 ,..., ni 1,..., n j + 1,..., nM ) Con questa notazione lequazione di bilanciamento globale, ottenuta uguagliando il rate totale delle partenze dallo stato n con il rate degli arrivi in n, :

6-68

M M + i p (n ) = qsi p(n 1i ) i =1 i =1

+ qid i p(n + 1i )
i =1 M

Eq. 6.13-3

+ q ji j p (n + 1 j 1i )
M i =1 j =1

La parte sinistra della Eq. 6.13-3 rappresenta la frequenza di uscita dallo stato n (ci pu essere un arrivo con rate , oppure una partenza da una qualsiasi delle M code con corrispondente rate pari a i). La parte destra dellequazione Eq. 6.13-3 rappresenta la somma delle frequenze di tutti i possibili modi per entrare nello stato n. Ad esempio, nello stato n possibile entrarci dallo stato n-1i con un arrivo nella coda i-esima. Questo pu avvenire in due modi diversi: larrivo di un pacchetto dallesterno con rate qsi oppure con larrivo di un pacchetto dalla coda j con rate qjij. Infine un pacchetto pu uscire dalla coda i verso una destinazione esterna con rate qidd. Sostituendo nella Eq. 6.13-3 a qsi il valore ricavabile dalla Eq. 6.13-2 si ha:
M M + i p (n ) = i =1 i =1 M M

i q ji j
j =1

p(n 1i ) Eq. 6.13-4

+ qid i p (n + 1i )
i =1 M

+ q ji j p (n + 1 j 1i )
M i =1 j =1

Si dimostra che tale equazione soddisfatta da:

i p (n 1i ) = i p (n )

Eq. 6.13-5

Ovvero lequazione di bilanciamento dettagliata per la quale la frequenza con cui una coda cambia stato per incremento del numero di pacchetti uguale alla frequenza con cui la stessa coda (o unaltra nel sistema) cambia stato per decremento del numero di pacchetti. Per verifica, sostituendo la Eq. 6.13-5 nella Eq. 6.13-4 si ha:

6-69

M M M p (n ) + i p (n ) = i p (n 1i ) i =1 i =1 i =1

q
j =1

ji

j p(n 1i )

+ qid i p(n + 1i )
i =1 M

+ q ji j p(n + 1 j 1i )
M i =1 j =1 M M M p (n ) + i p (n 1i ) = i p(n 1i ) i =1 i =1 i =1

q
j =1

ji

j p(n 1i )

+ qid i p(n )
i =1 M

+ q ji j p (n 1i )
i =1 j =1

da cui: p (n ) = p(n ) qid i = p(n )


i =1 M

c.v.d.

La Eq. 6.13-5 dunque una soluzione del sistema, cio della rete di code aperta. Riordinando la Eq. 6.13-5 si ha:

p (n ) = i i
Ripetendo ni volte si ha:

p(n1 , n2 ,..., ni 1,..., nM )


ni

p(n) = i p(n1 , n2 ,...,0,..., nM ) i


che equivale a:

p (n ) = ini p(n1 , n2 ,...,0,..., nM )


Eseguendo lo stesso procedimento per tutte le code si ha:
M

p (n ) = ini p(0 )
i =1

dove p(0) indica la probabilit che tutte le code siano vuote. Questo valore si calcola dalla condizione di normalizzazione, e cio: M M p(n ) = ini p (0 ) = p (0 ) ini = 1 n n i =1 n i =1 Se la serie converge, cio del prodotto, per cui si ha: 6-70


n i =1

ni i

< , allora il segno di sommatoria pu scambiarsi con quello

p(0 ) ini = p(0 ) (1 i ) =1


1 i =1 n i =1

i < 1 i

p(0 ) = (1 i )
i =1

i < 1 i

da cui si ricava che:

p(n ) = (1 i ) ini
i =1

i < 1 i

Eq. 6.13-6

La soluzione trovata si dice in forma prodotto e indica che ciascuna delle M code pu essere trattata come un sistema M/M/1 indipendente dagli altri. Nel calcolo della Eq. 6.13-6 si assunto che le frequenze di servizio sono fra loro indipendenti (lunghezza dei pacchetti indipendenti) e il risultato ottenuto vale se il fattore di utilizzazione di ogni coda inferiore a 1. Per una rete di code chiusa, si ottiene ancora:

p (n ) = ini p(0 )
i =1

ma: le frequenze i non sono legate ad una frequenza esterna come nella Eq. 6.13-2. nella rete c un numero fisso N di pacchetti che circola. Questo porta al calcolo di una costante di normalizzazione f(N,M) per cui:

p (n ) =

M 1 ini f ( N , M ) i =1

Il calcolo pu essere risolto facilmente attraverso lalgoritmo di Buzen. In definitiva, una rete a commutazione di pacchetto pu essere risolta se riconducibile alle assunzioni della rete di Jackson.

6-71

6.14

Approssimazione di indipendenza di Kleinrock

Consideriamo una rete in cui i flussi di traffico entranti seguono percorsi p costituiti da sequenze di collegamenti fra la rete. Sia xp (pacch./sec.) la frequenza di arrivo del flusso associato al percorso p. La frequenza di arrivo totale relativa al collegamento (i,j) : ij =
p tutti i percorsi che attraversa no il link (i, j)

Lapprossimazione di Kleinrock assume che si pu studiare (i,j) come un sistema M/M/1, non tenendo conto delle interazioni del traffico su (i,j) con il traffico esistente sugli altri collegamenti, perch il confluire di diversi flussi ha leffetto di ripristinare la indipendenza tra i tempi di interarrivo e la lunghezza dei messaggio. Lapprossimazione di Kleinrock risulta ragionevolmente vera se: La rete densamente connessa. Gli arrivi ai nodi di ingresso della rete sono Poissoniani. Le lunghezze dei pacchetti sono distribuite esponenzialmente. Il carico della rete vicino ai valori massimi. Secondo il modello M/M/1, il numero medio dei pacchetti sul collegamento (i,j) : ij Eq. 6.14-1 N ij = ij ij

dove 1/ij il tempo medio di trasmissione su (i,j). Il numero medio di pacchetti su tutta la rete sar: N = ij ij
(i , j ) ij

Eq. 6.14-2

Usando il teorema di Little, il ritardo medio per pacchetto nel sistema (dovuto agli accodamenti e alle trasmissioni, trascurando il tempo di processamento e di propagazione), : T= ij 1 (i , j ) ij ij Eq. 6.14-3

dove = p x p la frequenza di arrivo del traffico totale in ingresso al sistema. Se i tempi di processamento e di propagazione dij non sono trascurabili, il tempo medio di ritardo diventa: ij 1 Eq. 6.14-4 T = + ij d ij (i , j ) ij ij

6-72

Infine, il ritardo medio per pacchetto in un flusso di traffico associato al percorso p : ij 1 1 Eq. 6.14-5 Tp = + + d ij ( ) tutti gli (i , j ) ij ij ij ij appartenen ti
ap

Se lassunzione fatta sulla distribuzione delle lunghezze dei pacchetti non realistica, cio tale distribuzione non esponenziale, la Eq. 6.14-1 va sostituita con la formula P-K, mentre la Eq. 6.14-2 e la Eq. 6.14-5 vanno modificate. Nellipotesi di Kleinrock, il ritardo end-to-end pu dunque essere calcolato come il ritardo dovuto a una catena di M sistemi M/M/1 indipendenti: 1 M M Eq. 6.14-6 1 i = T = i =1 1 i i =1 i i

Consideriamo la rete di Fig. 6.14-1, in cui per semplicit i link trasmissivi sono unidirezionali. I i rappresentano i rate di arrivo poissoniani ai rispettivi nodi. Accanto ai link sono anche riportate le probabilit che un pacchetto venga instradato su di esso.
2=2

1/4 1=2 1 (1/2)

1/3 (17/12) 2/3 3 17/12

3/4 1/2 (3/2) 5

(7/4)

(17/6)

(7/4) 1/2

55/12

5=2

Fig. 6.14-1

I numeri in parentesi, accanto ai link, rappresentano il carico nel link espresso in pacchetti al secondo. Questi valori sono ottenuti semplicemente sommando la frequenza di arrivo al nodo e 6-73

moltiplicandola per la probabilit che i pacchetti vengano instradati sul link. Infatti sul link (1,2) bisogna moltiplicare il rate di arrivo al nodo 1 (2 pacch./sec) per la probabilit che i pacchetti vengano dirottati sul link (1/4). Per cui il traffico sar . Analogamente: Link (i,j) (1,2) (1,5) (5,2) (5,4) (2,4) (2,3) Rate nel nodo i 2 2 2+3/2=7/2 2+3/2=7/2 2+1/2+7/4=17/4 2+1/2+7/4=17/4 Prob. di instradamento 2/3 1/3 Traffico sul link 3/2 7/4 7/4 17/6 17/12

Osserviamo infine che il rate medio di ingresso di pacchetti (1+2+3)=6 pacch./sec. La frequenza di uscita dei pacchetti sui nodi 3 e 4 data da (17/12+55/12)=72/12=6. Supponendo che il rate medio di servizio di tutti i link sia i=3 pacch./sec., il tempo medio di attesa dei pacchetti dal nodo 1 al nodo 3 (passanti per il nodo 2), dato dalla Eq. 6.14-6: T= 1 1 + 1 17 3 2 3 12 1 1 + 3 3 3 7 2 4 N = T dove rappresenta il rate di arrivo netto sulla rete. Prima di concludere osserviamo che questultima equazione equivale alla Eq. 6.14-3. Infatti: N = N i = i Ti = i
i =1 i =1 i =1 M M M

Analogamente il ritardo medio end-to-end dal nodo 1 al nodo 4 passando per il nodo 5 : T=

Infine il ritardo medio su tutta la rete, mediato su tutti i link, si ottiene:

1 i i

T=

ij 1 (i , j ) ij ij

6-74

7. Teoria del Traffico


In questo capitolo concentreremo le nostre attenzioni sul dimensionamento e sullanalisi delle reti di telecomunicazione.

7.1

Dimensionamento ed Analisi delle Reti di Telecomunicazioni

Iniziamo con losservare che una rete di telecomunicazioni pu essere schematizzata come in Fig. 7.1-1, dove sono presenti delle stazioni sorgenti che generano dei dati che vengono immessi nella rete, e delle stazioni destinazioni che li ricevono.

Sorgenti

Destinazioni

Rete

Fig. 7.1-1

I passi da effettuare per realizzare e gestire una rete sono: 1. Dimensionare gli apparati allinterno della rete (in fase di realizzazione). 2. Gestire la rete di telecomunicazione, cio decidere se accettare o meno le chiamate di richiesta di trasmissione. La decisione presa cercando di garantire la qualit di servizio (QOS), note le caratteristiche delle sorgenti di traffico. La QOS si caratterizza con dei parametri, quali: Loss Probability (probabilit di perdita). Delay (ritardo). Delay Jitter (variazione del ritardo intorno la media). Skew ( definito come il valore medio della differenza dei ritardi fra le unit informative appartenenti a due media diversi e sincronizzati tra di loro). La trattazione che segue far riferimento a reti a pacchetto di tipo ATM. Le fasi della progettazione di una rete possono essere cos classificati:

1. Caratterizzazione delle Sorgenti 2. Modellizzazione delle Sorgenti 3. Modellizzazione della rete 4. Valutazione delle prestazioni

7.2

Caratterizzazione e Modellizzazione delle Sorgenti

Caratterizzare una sorgente significa capire statisticamente il comportamento della sorgente di traffico. La sorgente di traffico (DTE) pu essere modellata tramite una sorgente e un codificatore (Fig. 7.2-1).

Sorgente

Codificatore

Rete

DTE

Fig. 7.2-1

Ci sono 4 grosse famiglie di sorgenti di traffico: Sorgenti Audio Sorgenti Video Sorgenti Dati Sorgenti Multimediali. Esse sono un aggregato delle sorgenti precedentemente elencate, le quali risultano correlate fra loro. Ad esempio il movimento delle labbra di un parlatore fortemente correlato con i dati audio, relativi alla voce dello speaker stesso. Una prima classificazione delle sorgenti di traffico (DTE) pu essere effettuata in base alla modalit con cui i dati vengono emessi dal codificatore. In particolare distinguiamo Constant Bit Rate (CBR) e Variable Bit Rate (VBR); nel primo caso la sorgente emette a bit-rate costante, nel secondo a bit-rate variabile. Il PCM di tipo CBR perch

codifica la voce con bit/rate costante (64 kbit/sec.). Esso per poco efficiente in quanto trasmette anche quando si ha silenzio. Trasmettere con bit rate costante spesso poco conveniente, per cui si preferisce usare usualmente la tecnica VBR. Caratterizziamo adesso le sorgenti.

7.3

Traffico vocale

Il traffico vocale prodotto campionando ad intervalli regolari, e poi comprimendo, il segnale proveniente da una sorgente vocale. I metodi di compressione sono tali che il messaggio vocale ricostruito al ricevitore non risenta dei problemi di qualit. Inoltre, a seconda del tipo di codifica usata, le perdite di celle possono essere compensate oppure no. La perdita di un certo numero di celle pu causare a destinazione periodi di silenzio o troncamento del segnale ricostruito. Come gi detto, a seconda del tipo di codifica usata dalle sorgenti vocali, il traffico generato pu essere CBR o VBR. Se stato usato un codificatore PCM (Pulse Code Modulation) a 64 kbit/sec, il traffico generato CBR. Se invece la codifica si basa sulluso delle tecniche Speech Activity Detector (SAD) e Digital Speech Interpolation (DSI), il traffico risultante di tipo VBR. Queste tecniche sfruttano la ridondanza intrinseca in un segnale vocale ed eliminano la non necessaria trasmissione degli intervalli di silenzio durante una chiamata. In letteratura stato proposto un modello che assume una sorgente vocale come un processo ON-OFF, cio un processo di rinnovamento (renewal process) che pu assumere due stati: uno stato di attivit (talkspurt o ON) e uno stato di inattivit (silenzio o OFF). Ogni volta che il processo cambia stato si ha un rinnovamento, cio viene dimenticata la storia passata. Le sorgenti vocali che emettono questo tipo di traffico sono dette bursty ed il periodo in cui la sorgente emette detto burst. Generalmente il burst ha una durata relativamente limitata nel tempo, ma caratterizzato da un bit-rate molto elevato. A tal proposito, si definisce una quantit detta burstiness, data dal rapporto tra la banda di picco e la banda media della sorgente. Essa un indice della sua attivit; infatti, maggiore questa quantit, pi la sorgente si discosta dallessere di tipo CBR (per le sorgenti CBR la burstiness unitaria).
Talkspurt Silenzio

TON

TOFF

t T T

Fig. 7.3-1 - Comportamento di una sorgente vocale

Il tipico comportamento di una sorgente vocale bursty illustrato in Fig. 7.3-1: una sorgente vocale attiva quando il talker parla, mentre inattiva e non genera pacchetti durante i periodi in cui il talker in silenzio. Come conseguenza, il numero di celle in trasmissione nella rete si riduce del 35-

40% rispetto al caso in cui la sorgente venisse codificata non considerando i periodi di silenzio. Inoltre il tempo di interarrivo dei pacchetti nei periodi di attivit coincide con il periodo di pacchettizzazione. Assumiamo che i periodi di talkspurt e i periodi di silenzio costituiscano un processo di rinnovamento alternante (alternating renewal process) e che questi intervalli temporali siano indipendenti tra di loro. Sia TOFF la durata di ciascun periodo di silenzio, R il numero di celle nel periodo di talkspurt; quindi, se T rappresenta il periodo di pacchettizzazione di ciascuna cella, la durata temporale del talkspurt TON = RT . Si osservato che il numero R di pacchetti in un talkspurt una variabile aleatoria distribuita geometricamente sugli interi positivi, cio la durata temporale dei periodi di talkspurt una variabile aleatoria distribuita esponenzialmente. In una normale conversazione la distribuzione esponenziale si adatta bene alla durata dei periodi di attivit, mentre la durata dei periodi di inattivit approssimata meno bene da questa distribuzione. Per facilitare lanalisi si assume comunque che entrambi i periodi siano distribuiti esponenzialmente con medie pari a T ON per il periodo di talkspurt e T OFF per il periodo di silenzio. Valori tipici di questi parametri sono T ON 352 ms e T OFF 650 ms. Il processo vocale dunque un processo ON-OFF caratterizzato dai parametri T ON e T OFF e dalla banda di picco P = 1 / T , cio dalla frequenza di arrivo delle celle nei periodi di ON. In funzione di questi parametri la burstiness b pu essere calcolata come segue: T OFF + T ON T ON Eq. 7.3-1

b=

La distribuzione di probabilit del tempo di interarrivo delle celle data da:


1 T T 1 e T OFF (t T ) U (t T ) F (t ) = 1 + T ON T ON

Eq. 7.3-2

dove U (t T ) rappresenta la funzione gradino unitario definita come 1 t T U (t T ) = 0 t < T

La funzione densit di probabilit la derivata di F (t ) , cio:

f (t ) =

1 T ON

1 T OFF

e T OFF ( t T )

Eq. 7.3-3

Se indichiamo con F(s) la funzione generatrice dei momenti, cio la trasformata di Laplace della distribuzione di probabilit del tempo di interarrivo delle celle, F(t), da essa possiamo ricavare il valore medio del tempo di interarrivo: dF (s) ds
s=0

T OFF = 1 + T T ON

Eq. 7.3-4

Il coefficiente di variazione (ovvero il rapporto tra la varianza e il quadrato del valor medio) del tempo di interarrivo, dato da:
1 2

c=

(T

2T ON T T ON T
1 ON

Eq. 7.3-5

+ T OFF T

7.3.1 Modello tempo-continuo IPP per il traffico vocale Il processo degli arrivi delle celle da una singola sorgente vocale ON-OFF pu essere modellato con un modello IPP (Interrupted poisson Process), come quello illustrato in Fig. 7.3-2.

Fig. 7.3-2 - Modello IPP

Esso un processo a due stati {0,1} ; gli arrivi si hanno solo quando il processo nello stato 1, e avvengono con distribuzione Poissoniana e con frequenza media 1 . Questo processo descritto da una catena di Markov tempo-continua (phase process o catena sottostante) con spazio di stato dato da {0,1} ; sia Q l infinitesimal generator di questo processo, cio la matrice dei rate di transizione di stato della catena di Markov relativa; Q una matrice 2 2 , in cui il generico elemento Q[i , j ] rappresenta il rate di transizione dallo stato i allo stato j. Per definizione di matrice dei rate di transizione si ha che Q[i , j ] < 0, Q[i , j ] 0 e

Q
j =0

[i , j ]

= 0. Se, come in Fig. 7.3-2,

indichiamo con r il rate di transizione del processo delle fasi dallo stato 0 allo stato 1, e con s il rate di transizione dallo stato 1 allo stato 0, la matrice di transizione del processo : r Q= s r s Eq. 7.3-6

Riassumendo, un processo IPP caratterizzato dal generatore infinitesimo Q e dalla frequenza media di emissione nello stato 1, 1 . LIPP dunque un processo di Poisson interrotto: linterruzione si ha nel momento in cui la catena di Markov sottostante, cio il processo delle fasi, passa dalla fase 1 alla fase 0. Questo modello approssima nel dominio tempo-continuo il comportamento della sorgente vocale ON-OFF precedentemente descritta, con lunica differenza che nella sorgente reale i tempi di interrarrivo delle celle sono costanti e pari a T, e non aleatori con valore medio pari a T. Le probabilit asintotiche di stato della sorgente si possono ricavare risolvendo il sistema: Q = 0 =0 i i Eq. 7.3-7

dove, se S (t ) rappresenta lo stato della catena sottostante, il vettore riga il cui generico elemento i = lim Prob {S (t ) = i} , con i {0,1} .
t

Risolvendo il sistema Eq. 7.3-7 si trova: s r+s r r+s Eq. 7.3-8

0 =

1 =

Nel modello IPP fondamentale la scelta dei parametri, noti i parametri del processo ON-OFF reale. Il tempo medio di soggiorno del processo nello stato 1 pari a 1 s , il tempo medio di soggiorno del processo nello stato 0 pari a 1 r , e la frequenza degli arrivi durante il periodo di 1 pari a 1 . Il modo pi semplice di determinare i parametri di un IPP in funzione dei parametri della sorgente vocale reale quello di fissare il tempo medio di stato 1 pari alla lunghezza media di un periodo di talkspurt, cio T ON , il tempo medio di stato 0 pari alla lunghezza media di un periodo di silenzio, cio T OFF , e la frequenza di emissione in 1 pari alla banda di picco P. Si ha quindi: 1 Eq. 7.3-9

r=

T OFF 1 s= T ON 1 = P

E stato per dimostrato che in tal modo le prestazioni sono sottostimate, cosicch stato proposto il metodo two moments and peakedness. Siano , c e z rispettivamente il valore medio, il coefficiente di variazione e la peakedness del tempo di interarrivo dei pacchetti per una sorgente vocale (cio il rapporto tra la varianza e la media del numero di serventi occupati in un sistema fittizio a infiniti serventi e con ingresso un processo bursty). Facendo lassunzione che le distribuzioni dei periodi di talkspurt e di silenzio siano esponenziali e che il processo di arrivo dei pacchetti sia un renewal process, questi parametri sono dati da: dF (s) ds
1 ON s=0

T OFF = 1 + T T ON
2 ON

Eq. 7.3-10 T

c=

(T

2T

T T

1 ON

+T

1 OFF

)T

1 1 1 T OFF T T ON T OFF T T / e 1 + z = 1 1 1 1 T ON 1 + T OFF T ON + T OFF T

Quindi i parametri di un IPP si possono cos esprimere, in funzione di , c e z, nel modo seguente:
2 1 1 c 1 (z 1) 1 = + c 2 + 1 2z

r=

(z 1)(c 2 1) + c 2 + 1 2 z

2(z 1) 1

Eq. 7.3-11

s=

[(c 1)(z 1) + c
2

2 c 2 1 (z 1) 1
2 2

+ 1 2z c 2 + 1 2z

](

7.3.2 Modello tempo-discreto IBP Poich nelle reti ATM le celle hanno lunghezza costante, il tempo pu essere visto come slottato e ciascuno slot ha una durata pari al tempo di trasmissione di una cella. Quindi, la modellizzazione delle reti ATM preferibile che avvenga nel dominio tempo-discreto. I modelli tempo-discreto sono particolarmente adatti per la valutazione delle prestazioni dei nodi di rete, dal momento che le operazioni allinterno di un nodo sono sincronizzate sugli slot. Per cogliere la natura bursty del traffico vocale, sono stati proposti diversi modelli. LInterrupted Bernoulli Process (IBP) uno di questi ed il corrispondente tempo-discreto dellIPP. NellIBP una sorgente caratterizzata da due stati (0 e 1), come mostrato in Fig. 7.3-3.

Fig. 7.3-3 - Modello IBP

Se il processo in uno slot nello stato 0, durante lo slot successivo esso rimane nello stato 0 con probabilit 1 p , o transita nello stato 1 con probabilit p. Analogamente, quando il processo nello stato 1, esso vi rimane con probabilit 1 q , o transita nello stato 0 con probabilit q. Quindi, i tempi di soggiorno in ciascuno stato sono distribuiti geometricamente con parametri 1 p e 1 q rispettivamente. Non si hanno arrivi quando il processo nello stato 0. Nello stato 1 si hanno gli arrivi secondo un processo di Bernoulli, cio per ogni slot in cui il processo nello stato 1, si ha un arrivo con probabilit B, oppure lo slot rimane vuoto con probabilit 1 B . Questo processo di emissione viene interrotto quando la catena di Markov sottostante passa nello stato 0. La matrice delle probabilit di transizione della catena di Markov sottostante data da: p 1 p Q= 1 q q Le probabilit di stato si possono ricavare risolvendo il sistema: Q = =1 i i Eq. 7.3-13 Eq. 7.3-12

dove, se S (n) rappresenta lo stato della catena sottostante, il vettore riga il cui generico elemento i = lim Prob {S (n) = i} , con i {0,1} .
n

Risolvendo il sistema (3.13), si trova: q p+q p p+q Eq. 7.3-14

0 =

1 =

I parametri del modello IBP possono essere ricavati conoscendo le durate medie dei periodi di ON e di OFF e la bit-rate di picco P: Eq. 7.3-15

T OFF q= T ON B = P dove la durata temporale dello slot. 7.3.3 Modelli di traffico vocale aggregato

p=

Per modellare la sovrapposizione di traffico vocale, si possono seguire due metodi: sovrapposizione statistica e sovrapposizione markoviana. Nella sovrapposizione statistica si valuta la statistica dei processi componenti e la si usa per ricavare la statistica del processo aggregato. Alla fine si determina un modello che si adatta alle caratteristiche statistiche del traffico aggregato. Il metodo che sar esposto nel paragrafo 7.3.4, un tipico esempio di sovrapposizione statistica. Le quattro caratteristiche usate in questo metodo rappresentano la statistica del processo di arrivo delle celle da parte di un aggregato di sorgenti; i parametri del modello vengono fissati in modo tale che il modello risultante abbia gli stessi valori statistici dellaggregato. I vantaggi della sovrapposizione statistica sono i seguenti: non richiede il modello del singolo processo, semplice dal punto di vista computazionale, le dimensioni dello spazio di stato non aumentano allaumentare delle sorgenti (come invece avviene nella sovrapposizione markoviana) e quindi la complessit del modello non dipende dal numero di sorgenti, n dal modello usato per le singole sorgenti. Gli svantaggi sono rappresentati essenzialmente dalla sua talvolta scarsa accuratezza e dal fatto che non fornisce informazioni riguardo lo stato dei singoli processi componenti. Con la tecnica di sovrapposizione markoviana si determinano prima i modelli per i singoli processi e quindi li si sovrappone facendo il prodotto cartesiano dei loro stati, cio considerando come spazio degli stati linsieme di tutte le possibili combinazioni degli stati delle singole sorgenti componenti. Con questo metodo si ha il vantaggio di mantenere in evidenza gli stati delle singole sorgenti, ma le dimensioni del modello diventano inaccettabili con laumentare del numero di sorgenti costituenti laggregato. Nel paragrafo 7.3.4 verr descritto il modello tempo-continuo MMPP per la sovrapposizione statistica di sorgenti vocali, mentre nel paragrafo 7.3.5 lo stesso modello verr usato per la sovrapposizione markoviana. Infine, nei paragrafi 7.3.6 e 7.3.7 verranno proposti due modelli per la

sovrapposizione di traffico vocale nel dominio tempo-discreto. In particolare, in 7.3.6, verr descritto il modello MMBP per la sovrapposizione statistica, mentre nel paragrafo 7.3.7 verr illustrato il modello SBBP per la sovrapposizione markoviana. 7.3.4 Modello tempo-continuo MMPP per la sovrapposizione statistica Un Markov Modulated Poisson Process (MMPP) un processo di Poisson doppiamente stocastico in cui il rate di emissione (t ) un processo determinato dallo stato di una catena di Markov tempo-continua a M + 1 stati, detta phase process (chiamata anche processo sottostante o modulante) e i suoi stati sono detti fasi. Durante la permanenza nello stato i ( 0 i M ), si hanno gli arrivi in accordo ad un processo di Poisson con frequenza i. Sia lo spazio di stato della catena di Markov modulante e Q la sua matrice di transizione di stato, che risulta essere una matrice ( M + 1) ( M + 1) , con Q[ii ] < 0, Q[ij ] 0 per i j e

{0,1,, M }
[ij ]

Q
j =0

= 0 . Sia = [ 0 , 1 , , M ] il vettore delle frequenze di arrivo, i cui elementi specificano

la frequenza di arrivo in ciascuna fase. Il sistema rimane nello stato i per un intervallo di tempo distribuito esponenzialmente con media

j =0

Q[1] . Per semplicit tratteremo il modello MMPP a 2 ij

stati, detto anche Switched Poisson Process (SPP), e lo indicheremo con 2_MMPP (Fig. 3.4).

Fig. 7.3-4 - Modello MMPP a 2 stati

Siano r ed s i rate di transizione della catena di Markov dallo stato 0 allo stato 1 e viceversa. Quando la catena di Markov si trova nello stato j ( j {0,1}) il processo degli arrivi un processo di Poisson con rate j . Il modello 2_MMPP viene definito dalla matrice di transizione di stato Q e dal vettore delle bit-rate di emissione nei diversi stati:

r Q= s

r s

= [ 0 , 1 ]

Eq. 7.3-16

Indichiamo con S (t ) lo stato della catena di Markov nellistante t, e con il vettore delle probabilit asintotiche di stato, il cui generico elemento i = lim Prob{S ( t ) = i} pu essere
t

calcolato come soluzione del sistema di equazioni

Q = 0 =1 i i Risolvendo il sistema Eq. 7.3-17, risulta: = [ 0 , 1 ] = 1 [s, r ] r+s

Eq. 7.3-17

Eq. 7.3-18

Calcoliamo ora la funzione di autocorrelazione R ( ) del processo del rate di emissione (t ) . Per definizione di funzione di autocorrelazione si ha:
R ( ) = E( ( t ) ( t + ) ) = lim 02 Pr {S ( t ) = 0, S ( t + ) = 0} + lim 0 1 Pr {S ( t ) = 0, S ( t + ) = 1} + + lim 1 0 Pr {S ( t ) = 1, S ( t + ) = 0} + lim 12 Pr {S ( t ) = 1, S (t + ) = 1}
t t t t

Se poniamo pij ( ) = lim Pr{S (t + ) = j S (t ) = i} , che rappresenta la probabilit di transizione di


t

stato dopo un tempo , lequazione precedente pu essere riscritta nel modo seguente: R ( ) =

i , j =0

i j pij ( )

Eq. 7.3-19

Come noto, i termini pij ( ) sono gli elementi di una matrice H( ) che soddisfa la seguente equazione differenziale matriciale: d H ( ) = H ( ) Q d Eq. 7.3-20

dove Q la matrice di transizione di stato. La soluzione dellequazione differenziale Eq. 7.3-19 :


Q dt H ( ) = e 0 = e Q

Eq. 7.3-21

Il calcolo di e Q pu essere ottenuto usando la decomposizione spettrale della matrice Q = TT 1 , dove T la matrice avente per colonne gli autovettori e la matrice diagonale avente sulla diagonale principale gli autovalori. Poich Q ha le righe linearmente dipendenti, un suo autovalore nullo. Risulta quindi: 0 0 = 0 (r + s) T= 1 2 1 2 r 2 + s2 s 2 2 r +s r Eq. 7.3-22

Sostituendo le Eq. 7.3-20 in Eq. 7.3-36, si ha:


H ( ) = e TT
1

0 1 1 = Te T 1 = T ( r1 + r2 ) T 0 e

Eq. 7.3-23

esponente pari a (r + s) , cio pari alla somma, cambiata di segno, delle due frequenze del processo 2_MMPP. Poich, per la Eq. 7.3-19, R ( ) a sua volta combinazione lineare dei termini pij , allora anche R ( ) costituita da un termine costante e da un termine esponenziale: R ( ) = R0 + R1e 1 Eq. 7.3-24

e quindi pij risulta pari alla somma di un termine costante e di un termine esponenziale con

Per definizione di funzione di autocorrelazione, essa vale E{2} per = 0, e tende a E2{} per . Quindi: R0 = E 2

{ }

R0 + R1 = E 2 {}

Eq. 7.3-25

Inoltre, il valore medio del processo degli arrivi (t) e il suo valore quadratico medio sono dati da: E{} = 1 1 + 2 2 e E{2 } = 12 1 + 22 2 Eq. 7.3-26

Per descrivere la sovrapposizione statistica di N sorgenti vocali, la scelta dei quattro parametri r, s, 0 e 1 del modello 2_MMPP avviene in maniera tale che il processo degli arrivi risultante abbia le seguenti grandezze statistiche uguali a quelle della sorgente che si vuole modellare: 1. valore medio; 2. rapporto fra varianza e valore medio del numero di arrivi N t1 in (0,t1 ) ; 3. rapporto fra varianza e valore medio del numero di arrivi N t a lungo termine; 4. momenti del terzo ordine del numero di arrivi N t2 in (0,t 2 ) ; dove t1 e t 2 sono due valori che devono essere scelti in maniera tale che la curva della varianza in funzione del tempo del processo 2_MMPP, che ne specifica la struttura di correlazione, sia molto vicina a quella del processo reale. Il calcolo dei quattro parametri statistici del modello 2_MMPP stato riportato per completezza nellAppendice A. Se si vuole modellare un processo considerando un numero maggiore di grandezze statistiche, si pu usare un modello MMPP con un numero maggiore di stati. Analogamente al processo 2_MMPP, un modello MMPP ad M + 1 stati ( M + 1_MMPP) viene definito dalla coppia , Q , dove = [ 0 , 1 , , M ] il vettore contenente i rate medi di emissione del processo di Poisson nelle singoli fasi e Q la matrice dei rate di transizione dello stato della catena sottostante. Analogamente a quanto fatto per i processi 2_MMPP, per i processi M + 1_MMPP si pu dimostrare che la funzione di autocorrelazione la somma di un termine costante e della combinazione lineare di M termini esponenziali.

[ ]

Il modello MMPP molto versatile perch, per come stato definito, pu essere usato per modellare i processi di emissione composti, cio ottenuti dallaggregato di singoli processi di emissione, o per modellare singole sorgenti con processi di emissione molto complessi. Dal numero degli stati del processo MMPP dipende il numero di parametri statistici che il modello riesce a garantire. 7.3.5 Modello tempo-continuo MMPP per la sovrapposizione markoviana Secondo lapproccio di sovrapposizione markoviana, laggregato di N sorgenti vocali pu essere modellato con un processo con 2N stati che sono gli elementi del prodotto cartesiano degli stati delle sorgenti componenti; quindi lo stato dellaggregato allistante t dato da S A (t ) = {S1 (t ), , S N (t )} , dove Si(t) rappresenta lo stato delli-esima sorgente vocale allistante t. Allora, se modelliamo con un IPP il processo degli arrivi delle celle di una singola sorgente vocale, il processo globale degli arrivi pu essere modellato da un MMPP a 2 N stati. Per N sorgenti sovrapposte, linfinitesimal generator Q del phase process e il vettore delle frequenze di arrivo , che specifica la frequenza di arrivo in ciascuna fase, sono calcolabili dagli infinitesimal generator Qi (i=1,2,...,N) e dai vettori delle frequenze di arrivo i (i=1,2,...,N) che caratterizzano le singole sorgenti, in tal modo: Q = i Qi = i i dove denota la somma di Kronecker definita come A B = A I + I B, nella quale denota il prodotto di Kronecker. Lo svantaggio di questo modello che il numero di fasi diventa grande quando si sovrappongono molte sorgenti. Se si vuole modellare per la sovrapposizione di N processi IPP uguali sufficiente un processo MMPP a N+1 stati, in cui ogni stato rappresenta il numero di sorgenti in stato di talkspurt; notiamo quindi che il numero di stati si riduce notevolmente rispetto al caso generale, in cui era pari a 2N. Per esempio, nel caso di due sorgenti vocali, gli stati dellMMPP che descrivono il processo di sovrapposizione possono essere ridotti a tre, cio: entrambe le sorgenti sono in silenzio (STATO 0), una sorgente in talkspurt e laltra in silenzio (STATO 1), entrambe le sorgenti sono in talkspurt (STATO 2). 7.3.6 Modello tempo-discreto MMBP per la sovrapposizione statistica Il Markov Modulated Bernoulli Process (MMBP) un modello tempo-discreto adatto per modellare la sovrapposizione statistica di sorgenti vocali. Esso un processo di Bernoulli doppiamente stocastico in cui il processo delle probabilit di emissione determinato dallo stato di una catena di Markov tempo-discreta a n stati detta phase process (chiamata anche underlying Markov chain, processo sottostante, o processo modulante). Esso rappresenta il corrispondente nel caso tempo-discreto del modello MMPP. Analogamente a quanto fatto per il modello MMPP, anche per il modello MMBP, per facilit di notazione, parleremo del caso pi semplice, cio quello di un modello a due stati, detto anche Switched Bernoulli Process (SBP), che noi indicheremo con 2_MMBP; una volta trattato questo caso, lestensione al caso generale risulta banale. Eq. 7.3-27

Fig. 7.3-5 - Modello MMBP a 2 stati

La Fig. 7.3-5 rappresenta il modello 2_MMBP caratterizzato dalle probabilit di transizione di stato p e q e dalle probabilit B0 e B1 di emissione di una cella rispettivamente negli stati 0 e 1. Se il processo alla fine del generico slot n si trova nello stato 0, nello slot n + 1 sar ancora nello stato 0 con probabilit 1 p , oppure andr nello stato 1 con probabilit p. Se invece si trova nello stato 1, esso andr nello stato 0 con probabilit q, o rester nello stato 1 con probabilit 1 q . Il modello 2_MMBP caratterizzato dalla matrice delle probabilit di transizione del processo delle fasi p 1 p Q= 1 q q e dal vettore delle probabilit di emissione b = [ B0 , B1 ] . Nota Q, si possono ricavare le probabilit di stato risolvendo il sistema: Q = =1 i i dove = [ 0 , 1 ] il vettore riga delle probabilit di stato. Risolvendo si trova: Eq. 7.3-29 Eq. 7.3-28

0 =

q p+q

1 =

p p+q

Eq. 7.3-30

Indichiamo con S (n) lo stato del phase process nello slot n ( S (n) {0,1} ). Definiamo la probabilit di arrivo di r celle in uno slot per ciascuno stato del processo:
a w ( r ) = lim Prob{(numero di celle emesse nello slot n ) = r / S ( n ) = w}
n

Eq. 7.3-31

Chiaramente in tal caso r vale 0 o 1 perch il processo prevede che al massimo si possa emettere una sola cella per ogni slot. Si ha quindi:

1 B0 w = 0 a w ( 0) = 1 B1 w = 1 B0 w = 0 a w (1) = B1 w = 1

Eq. 7.3-32

Denotiamo con Ar la matrice avente i termini aw(r) come elementi della sua diagonale principale e gli altri termini nulli, cio: Ar = diag ( a 0 ( r ), a1 ( r ) ) Eq. 7.3-33

La matrice di transizione di stato che include anche la probabilit che vengano emesse r celle sar data allora da: C(r ) = Q A(r ) Eq. 7.3-34

Definiamo anche la matrice di transizione che tiene conto della probabilit di emettere almeno r celle: C(r ) = C(i )
i =r 2

Eq. 7.3-35

Nel caso di un SBP possiamo definire come matrici C (r ) soltanto le matrici: C(0) = C(0) + C(1) C(1) = C(1) Eq. 7.3-36

Calcoliamo ora la funzione di autocorrelazione R NN ( k ) del processo degli arrivi N ( n) in uno slot. Esprimendo N ( n) in funzione dello stato del processo delle fasi e delle probabilit di emissione negli stati 0 e 1, si ha:
R NN ( k ) = E {N (n) N ( k + n)} =
n

Eq. 7.3-37
n

2 = B0 lim Prob {S ( n) = 0, S ( k + n) = 0} + B0 B1 lim Prob {S (n) = 0, S ( k + n) = 1} +

+ B1 B0 lim Prob {S (n) = 1, S ( k + n) = 0} + B12 lim Prob {S (n) = 1, S ( k + n) = 1}


n n

Se passiamo dalle probabilit congiunte a quelle condizionate,lEq. 7.3-37diventa: RNN ( k ) = B02 0 p00 ( k ) + B0 B1 0 p01 ( k ) + B1 B0 1 p10 ( k ) + B12 1 p11 ( k ) Eq. 7.3-38

dove pij ( k ) = lim Prob {S ( k + n) = j S ( n) = i} lelemento (i,j) della matrice Q k che contiene le
n

probabilit di transizione a k passi. Per ricavare Q k , ne facciamo la decomposizione spettrale e

otteniamo cos Q k = Tk T 1 , dove la matrice diagonale contenente sulla diagonale principale gli autovalori 0 e 1 di Q, e T la matrice avente per colonne gli autovettori 0 e 1 di Q. La decomposizione spettrale di Q gode delle seguenti propriet: 1. 1 < i < 1 per i {0,1} e, in particolare: 2. 0 = 0 ; 3. 1 = 1 p q ; 4. pij ( k ) = ih kh hj , dove ih lelemento (i , h) di T e hj lelemento (h, j ) di T 1 .
h= 0 1

A questo punto, dalla Eq. 7.3-38 e da queste propriet, segue che R NN ( k ) la somma di un termine costante, relativo allautovalore nullo, e di un termine dato dallautovalore non nullo, 1 , elevato a k, cio: R NN ( k ) = R0 + R1 k1 per k 1 Eq. 7.3-39

dove R0 ed R1 sono delle opportune costanti. La Eq. 7.3-39 vale solo per k 1. Per k = 0 sappiamo che R NN ( k ) uguale al valore quadratico medio del processo N. Allora la Eq. 7.3-39 pu essere meglio riscritta nel modo seguente: R NN ( k ) = E N 2 ( k ) + R0 + R1 k1

{ }

per k 0

Eq. 7.3-40

dove ( k ) rappresenta la funzione impulso, pari ad 1 per k = 0 , e pari a zero per k 0 . Inoltre, per 1 < 0 , cio per p + q > 1, R NN ( k ) ha carattere oscillatorio smorzato mentre, per 1 > 0 , cio per p + q < 1, ha carattere esponenziale decrescente.

7.3.7 Modello tempo-discreto SBBP per la sovrapposizione markoviana I modelli IBP ed MMBP precedentemente esaminati potrebbero non essere adatti per descrivere la sovrapposizione di sorgenti bursty in tempo reale poich essi non prevedono pi di un arrivo per slot. Lo Switched Batch Bernoulli Process (SBBP) a M stati si adatta invece a tale scopo. Esso un processo caratterizzato da M distribuzioni, una per ogni stato, del numero di arrivi per slot quando il processo si trova in quello stato. In altre parole, il processo genera batch in accordo a queste distribuzioni che dipendono dallo stato della catena sottostante. In Fig. 7.3-6(a) illustrato un SBBP a due stati, a ciascuno dei quali corrisponde una distribuzione della dimensione dei batch. In Fig. 7.3-6(b) riportato invece un esempio del comportamento di un processo modellato con un SBBP come quello in Fig. 7.3-6(a).

(a): Modello SBBP

(b): Processo SBBP

Fig. 7.3-6 - Modello SBBP e suo andamento nel tempo

Le transizioni di stato della catena sottostante sono determinate come nel modello MMBP e caratterizzate da una matrice di transizione Q. Le distribuzioni del numero di arrivi per slot vengono invece caratterizzate dalle matrici Ar , come quelle definite nel paragrafo 7.3.6, in cui r rappresenta il numero di arrivi di cui si vuole descrivere la distribuzione, e varia da 0 al numero massimo di arrivi per slot. Ciascuna matrice Ar diagonale, cio ha tutti i termini uguali a zero, tranne gli elementi a w (r )

( w {0,, M 1})
n

sulla diagonale principale dove, se S (n) indica lo stato del

processo delle fasi nello slot n, a w ( r ) = lim Prob{(numero di celle emesse nello slot n ) = r / S ( n ) = w}.

7.4

Traffico Video

La codifica del segnale video pu richiedere parecchi megabit al secondo ed quindi di gran lunga superiore ai 64 kbit/sec richiesti dal segnale vocale; inoltre la variabilit del bit-rate di un segnale video molto pi alta di quella di un segnale vocale e pertanto un semplice modello, come quello ON-OFF usato per i segnali vocali, non adatto per i segnali video. Inoltre, in base al tipo di video, si ha una notevole ridondanza di dati, che deriva da unalta correlazione intraframe e interframe. Sono dunque necessarie delle codifiche particolari. La codifica JPEG molto diffusa per le immagini fisse perch riesce a caratterizzare molto bene la correlazione intraframe. Viceversa lo standard MPEG, molto usato per codificare le sorgenti video in quanto tiene contro anche della correlazione interframe (tra frame diverse). Con lMPEG si suddivide il filmato in GOP (Group of

Picture), che costituito da un insieme di frame consecutive. Secondo lo standard PAL si trasmettono 25 immagini al secondo. Il GOP ha questa struttura: IBBPBBPBBPBB La frame I viene codificata per intero con tecnica JPEG. Le frame P vengono codificate secondo una codifica differenziale rispetto alla frame I e alle frame P nello stesso GOP. Infine le frame B vengono codificate esaminando la frame I precedente e quella successiva e anche le frame P precedente e successiva appartenenti allo stesso GOP. Le frame I contengono la maggiore informazione e sono le pi pesanti da trasmettere. Viceversa le frame B sono le pi leggere e le pi povere di contenuto informativo. Caratterizzare le sorgenti MPEG non affatto semplice, in quanto bisogna caratterizzare statisticamente le frame I, B e P. Sono in corso delle ricerche per capire qual il numero minomo di parametri per caratterizzare tali sorgenti.

7.5

Traffico dati

Sebbene ci si aspetti che il traffico dati sia il tipo di traffico pi semplice da modellare, ci in realt non vero. Ci dovuto alla variet dei tipi di traffico dati. I processi di arrivo dei pacchetti sono stati analizzati, ma non ancora stato identificato un modello adatto in ambiente ATM. La natura del traffico dati spesso considerata di tipo Poissoniana o Geometrica. Come tale, questo tipo di traffico pu essere semplicemente incorporato nei modelli esistenti del traffico bursty. Per esempio, se il traffico dati di frequenza sovrapposto ad un flusso di traffico vocale che modellato con un MMPP (in cui 0 e 1 sono le frequenze in ciascuno stato), allora il traffico totale pu essere modellato da un MMPP con frequenze 0 + e 1 + per ciascuno stato. Gli altri due parametri, cio r ed s, rimangono invariati. Quindi, se la sovrapposizione dei flussi di dati pu essere approssimata con un processo di Poisson, allora un MMPP per il traffico vocale leggermente modificato pu modellare i flussi aggregati di voce e dati. Se il traffico dati non Poissoniano, allora la metodologia vista per costruire il modello MMPP per il traffico vocale pu essere applicata direttamente al flusso aggregato.

7.6

Traffico Multimediale

Una sorgente multimediale la composizione di pi sorgenti monomediali correlate tra di loro. Allora, per la definizione di un modello di sorgente multimediale non solo si devono modellare le singole sorgenti monomediali, come illustrato nei paragrafi precedenti, ma devono essere definite in maniera analitica anche le relazioni intermediali.

7.7

Descrittori di traffico

Una volta analizzate le sorgenti, bisogna individuare quali sono i descrittori di traffico grazie ai quali si caratterizzano le sorgenti dal punto di vista della rete. Cio bisogna trovare quali sono i parametri della sorgente che influiscono sulle prestazioni della rete. Per le sorgenti ON-OFF (di tipo vocale o dati), il parametro che solitamente viene considerato la burstiness, gi considerata nel paragrafo 7.3. Unaltra caratteristica della sorgente la funzione di autocorrelazione o di autocovarianza, anchessa studiata per le sorgenti vocali. Questultima, in particolare fornisce maggiori informazioni rispetto alla burstiness ed dunque preferita per sorgenti pi complicate rispetto alla semplice ON/OFF. Ci sono altri parametri, quali lIndex of Dispersion for Intervals (IDI) per descrivere la covarianza cumulativa fra tempi di interarrivo successivi, e lIndex of Dispersion for Counts (IDC) per descrivere il processo degli arrivi di un insieme di celle; La cosa importante capire, in base alla sorgente, il minor numero di parametri descrittori di traffico. Ad esempio per le semplici sorgenti ON-OFF bisogna trovare 3 parametri TON , TOFF e BP.

7.8

Calcolo delle Prestazioni secondo un approccio Simulativo

La simulazione un tipo particolare di esperimento condotto su un modello astratto, riprodotto per mezzo di un calcolatore piuttosto che su un sistema reale. La simulazione spesso molto pi utile rispetto alle soluzioni analitiche, in quanto queste ultime richiedono di frequente delle assunzioni semplificative per rendere trattabile analiticamente il problema. La simulazione per ha lo svantaggio che richiede dei tempi molto pi lunghi per fornire i risultati, rispetto alle tecniche analitiche che addirittura, nei casi pi fortunati, esprimono la soluzione del problema in forma chiusa. Nel seguito saranno presentati dei criteri per pianificare le simulazioni e analizzare i risultati in modo da estrarre da essi il maggior numero di informazioni. 7.8.1 Pianificazione e realizzazione di una simulazione I passi da seguire per effettuare una corretta simulazione sono, a grandi linee, i seguenti: 1. formulazione del problema; 2. raccolta ed analisi dei dati reali; 3. formulazione di un modello matematico; 4. impostazione e scrittura del programma di simulazione; 5. verifica del modello; 6. pianificazione degli esperimenti; 7. analisi dei risultati; La prima fase consiste appunto nella formulazione del problema. In essa non intervengono problematiche di carattere statistico, ma il target principale quello di descrivere lobiettivo della simulazione stessa. Esso pu essere, ad esempio, lanalisi delle prestazioni del sistema, oppure la determinazione delle relazioni funzionali fra ingresso e uscita, o ancora lottimizzazione dei parametri di controllo, etc.

La seconda fase si propone di raccogliere dati sperimentali sulle distribuzioni delle grandezze aleatorie di interesse per la simulazione. Tali grandezze possono essere usate, ad esempio, per ricavare una distribuzione teorica oppure per effettuare delle verifiche sul modello. La formulazione del modello matematico sicuramente il passo pi delicato e consiste nello scegliere il modello matematico da dare in pasto al calcolatore che rappresenti il sistema reale. La quarta fase riguarda la scrittura e limpostazione del programma di simulazione. Prima della scrittura del codice bisogna prendere delle decisioni riguardo lo stato di partenza del sistema, e la presenza o meno di condizioni iniziali, la precisione dei risultati e leventuale utilizzo di conoscenze acquisite sul processo per velocizzare la simulazione stessa. La quinta fase impone di verificare ladeguatezza del modello al sistema reale. Questo pu essere fatto o paragonando le uscite del sistema simulato con le uscite reali del sistema (se il sistema disponibile), oppure simulando delle situazioni particolarmente semplici di cui si calcolano i risultati, sfruttando delle tecniche analitiche. La pianificazione degli esperimenti varia in base agli obiettivi focalizzati nella prima fase. Gli esperimenti che possono essere eseguiti sono molteplici, tra cui, lanalisi delle prestazioni di un sistema al variare dei dati dingresso o dei parametri di controllo; in questo caso la simulazione deve solamente preoccuparsi della precisione statistica dei risultati, in modo da bilanciare il tempo di elaborazione con laccuratezza raggiunta. Oppure la determinazione delle relazioni funzionali tra i parametri di ingresso e le prestazioni di uscita di un sistema; in tal caso bisogna per prima cosa ipotizzare la forma della funzione e quindi stimare i parametri che la caratterizzano. Se invece lobiettivo della simulazione riguarda lottimizzazione dei parametri di controllo, bisogner ricercare il massimo o il minimo della funzione qualit che lega i parametri di ingresso da quelli di uscita. Infine lanalisi dei risultati consiste nella raccolta ed interpretazione dei risultati ottenuti. Talvolta pu accadere che lanalisi dei risultati faccia nascere lesigenza di unulteriore simulazione. Fondamentalmente, i due pi grossi problemi che si incontrano nelle simulazioni sono: Analisi del Transitorio. Precisione dei Risultati. Nelle sezioni successive analizzeremo separatamente queste due situazioni.

7.8.2 Analisi del Transitorio Il primo problema che si incontra nelle simulazioni stazionarie1, quello del transitorio. Per effettuare una corretta valutazione del sistema simulato necessario scartare i risultati relativi alla fase transitoria, perch essi sono influenzati dalle condizioni iniziali della simulazione stessa. Esistono diverse tecniche che permettono lindividuazione della durata del transitorio, alcune sono puramente empiriche (ad esempio, far partire in contemporanea due simulazioni con condizioni iniziali opposte, buffer completamente pieno, e buffer completamente vuoto nel caso di un sistema a coda, e attendere che il numero di elementi in coda sia pressoch uguale nelle due prove. Da quel punto in poi si pu considerare esaurito il transitorio). Un approccio pi scientifico quello di
1

Indichiamo con simulazioni stazionarie, le simulazioni il cui scopo quello di indagare il comportamento del sistema in regime di equilibrio statistico. Il sistema raggiunge la condizione di equilibrio statistico quando il suo comportamento non dipende pi dalle condizioni iniziali con cui iniziata la simulazione e le probabilit di stato sono indipendenti dal tempo.

stimare la funzione di auto-correlazione del processo e considerare terminato il transitorio quando la correlazione praticamente nulla.

7.8.3 Precisione dei Risultati Consideriamo, ad esempio, che lobiettivo della simulazione sia quello di calcolare le prestazioni di un sistema, in particolare, calcolare il tempo medio di attesa in un sistema di servizio, note le condizioni di carico. Per prima cosa bisogna capire quanto tempo far durare la simulazione, sapendo che maggiore il tempo di simulazione e pi precisi sono i risultati. Inoltre, una volta ottenuti i risultati, bisogna valutare il loro grado di attendibilit. In realt il risultato dipende da molti fattori, tra cui i dati di ingresso, il generatore di numeri pseudo-casuali, la durata della simulazione, le condizioni iniziali, etc. Per questa ragione esso non pu essere considerato un numero, bens una vera e propria variabile aleatoria. La cosa pi immediata che si pu fare quella di ripetere un certo numero di volte la simulazione, ottenendo tanti campioni della variabile aleatoria stimata, e quindi effettuare una media. Ma questo ancora non basta perch quello che bisogna calcolare il cosiddetto intervallo di confidenza, ossia bisogna garantire con una certa probabilit che il risultato reale si trovi allinterno dellintervallo di confidenza. Tale valore si chiama Percentile. Lintervallo di confidenza si calcola con la Eq. 7.8-1: S N 1 Eq. 7.8-1

= tp

dove: N il numero di campioni calcolati,

S lo scarto quadratico medio, calcolato con: S = ~ 1 gi sono i campioni misurati, mentre g = N

(g
i =1

~ g)

g
i =1

tp ottenuto dalla Tabella 7.8-1 in cui sulle colonne sono indicati i valori dei percentili in base alla probabilit con cui si assicurano i risultati, mentre sulle righe vi il parametro N-1, indicato anche con .

Tabella 7.8-1

7.9

Simulazioni Statiche e Dinamiche

Le simulazioni si suddividono fondamentalmente in simulazioni statiche e dinamiche a seconda che il tempo influenzi o meno la simulazione stessa. Inoltre le simulazioni dinamiche si suddividono a loro volta in tempo continue e tempo discrete. 7.9.1 Simulazioni Dinamiche Tempo Continue In questo tipo di simulazioni lo stato del sistema cambia solo al verificarsi di opportuni eventi. Tra un evento e il successivo, nel sistema non cambia nulla, e dunque inutile osservare il sistema in tale intervallo. In definitiva, non necessario riprodurre sul calcolatore lintervallo fra due eventi consecutivi, basta saltare da un evento al successivo, facendo avanzare ogni volta una variabile Tc che registra il trascorrere del tempo (questa variabile denominata clock). 7.9.2 Simulazioni Dinamiche Tempo Discrete In questo caso la scansione della variabile clock viene fatta in base al tempo (discreto) del sistema. Ad esempio nel caso di un multiplexer, si controlla lo stato del sistema slot dopo slot. 7.9.3 Simulazioni Statiche Lidea fondamentale delle simulazioni statiche quella di isolare, nel processo in esame, la sola successione di eventi, trascurando completamente il fattore tempo. Gli eventi non vengono pi collocati nel tempo bens vengono individuati semplicemente dalla loro posizione nella successione. In sostanza, nelle simulazioni asincrone si tiene conto solo dei cambiamenti di stato del sistema e non degli istanti in cui i cambiamenti di stato avvengono. Poich in questo tipo di simulazioni il tempo non compare esplicitamente, pu sembrare che non sia possibile stimare le grandezze temporali del processo. Per superare questa difficolt si introducono i cosiddetti campionamenti; in tali istanti si osserva il sistema registrandone lo stato.

7.10 Modello del multiplexer


Consideriamo un multiplexer di sorgenti multimediali (Fig. 7.10-1), e calcoliamo le prestazioni in modo analitico. Supponiamo che il multiplexer sia caricato da N sorgenti, e assumiamo per esso il modello Late arrival with immediate access, rappresentato in Fig. 7.10-2.

Fig. 7.10-1 - Multiplexer di ingresso alla rete

Istanti di osservazione

Arrivi

Arrivi

Arrivi

th

slot

(n+1)

th

slot

Partenza

Partenza

Partenza

Fig. 7.10-2 - Diagramma della successione temporale del sistema

Secondo tale modello, le celle arrivano a gruppi (batch), e un gruppo di celle potenzialmente arriva immediatamente prima della fine di uno slot. Se al momento dellarrivo di una cella al multiplexer il server della coda libero, essa viene immediatamente servita. Perci definiamo il tempo di permanenza di una cella nel multiplexer come il numero di delimitazioni di slot (slot boundaries) fra listante di arrivo della cella al multiplexer e listante della sua partenza. Cos, anche se la cella

trova al suo arrivo il server libero e viene pertanto immediatamente servita, il suo tempo di permanenza nel multiplexer viene contato pari ad uno slot. Supponiamo che il multiplexer possa contenere fino a K celle, inclusa quella nel servizio, e che louput del multiplexer sia un link ATM di capacit pari a c . Se c viene espressa in bit/s, e poich 53 8 una cella ATM costituita da 53 bytes, il tempo di servizio di una cella pari a = . Per c modellare il multiplexer usiamo un modello di sistema a coda tempo-discreto, dove il tempo di servizio di una cella supposto costante; assumiamo inoltre la durata dello slot temporale pari proprio al tempo di servizio di una cella ATM sul link di uscita del multiplexer. Una descrizione completa del sistema a coda nello slot n-esimo richiede uno stato ( ( ( bidimensionale S ( ) (n) = S AW ) (n), S ( Q ) (n) , dove S AW ) (n) = S1(W ) (n),  , S NW ) (n) lo stato dellaggregato delle N sorgenti multimediali nello slot n e S (n) {0,1,..., K} invece lo stato del multiplexer nello stesso slot, cio il numero di celle in coda e in servizio allistante di osservazione di tale slot.
(Q)

Iindichiamo con Ci(W ) (ri ) la matrice di transizione della i-esima sorgente multimediale, comprendente la probabilit che siano trasmesse ri celle. La matrice delle probabilit di transizione per laggregato di sorgenti multimediali, comprendente la probabilit che siano trasmesse r celle, : C A ( r) = ri = r
i =1 N

(W ) 1

( ( r1 ) ... C NW ) ( rN )

Eq. 7.10-1

dove indica il prodotto di Kronecker, ri {0,1,2} , r {0,  ,2 N } e la sommatoria estesa a tutti gli ri tali che la loro somma sia uguale a r. La matrice delle probabilit di transizione per laggregato di sorgenti multimediali, comprendente la probabilit che siano trasmesse almeno r celle, pu essere calcolata nel modo seguente: C A (r) = CA (k )
k =r 2N

Eq. 7.10-2

( ( Ovviamente dalla definizione di C A (r ) risulta che C A (0) = Q AW ) , dove Q AW ) indica la matrice delle ( ( probabilit di transizione per laggregato di sorgenti multimediali, cio Q AW ) = Q1(W )  QNW ) . Le

matrici che abbiamo appena definito possono essere usate per calcolare la probabilit di transizione per la catena di Markov bidimensionale che modella il sistema a coda . Infatti, tale probabilit pu essere definita come:
n ( ( lim Prob S AW ) (n + 1) = j , S ( Q ) (n + 1) = k S AW ) (n) = i , S ( Q ) (n) = h =

Eq. 7.10-3

(C A (0) + C A (1))[ i , j ] (C A ( k + 1) )[ i , j ] (C ( k h + 1) ) [i , j ] = A 2N C A (r ) [i , j ] r = K h 0

if h = 0, k = 0 if h = 0, k < K 2, k h + 2 N if h > 0, h 1 k K 2, k < h + 2 N if k = K 1, k < h + 2 N altrove

dove [i , j ] indica lelemento (i,j)-esimo della matrice. Notiamo che, poich il numero massimo di arrivi in uno slot 2N, tale probabilit di transizione pari a zero se k h + 2 N .

Infine la matrice delle probabilit di transizione Q ( ) caratterizzante lintero sistema pu essere definita come segue:
C A (0) + C A (1) C A (2 ) C A (3) C A (0) C A (1) C A (2 ) C A (0) C A (1) 0 = C A (0 ) 0 0 0 0 0 0 0 0

Q ( )

 C (K 1)  C (K 2)  C (K 3)  C (K 4)     C (0)  0
A A A A A

0 1) 0 C A (K C A ( K 2 ) 0 C A ( K 3) 0 C A (1) 0 C A (0) 0 C A (K )

Eq. 7.10-4

dove C A ( r ) e C A ( r ) sono matrici nulle quando r > 2 N . Una volta nota la matrice del sistema complessivo, noi possiamo calcolare le probabilit asintotiche ( ) della catena di Markov bidimensionale come soluzione del seguente sistema lineare: ( ) Q ( ) = ( ) K () = 1 = 0 Eq. 7.10-5

dove

()

= 0 , 1 , , K

()

()

()

] il vettore delle probabilit asintotiche e


}

()

un vettore 3 -

2N

dimensionale contenente le probabilit di stato dellaggregato di sorgenti quando il multiplexer nello stato , e cio il suo generico termine :
( ( , )j = lim Prob S AW ) (n) = j, S ( Q) (n) = = n

Eq. 7.10-6

( ( ( ( = lim Prob S1( M ) (n) = j1( M ) , S1( Sl ) ( n) = j1( Sl ) , , S NM ) (n) = j NM ) , S NSl ) ( n) = j NSl ) , S ( Q ) ( n) = n 2N



)

( ( ( ( con j = j1( M ) , j1( Sl ) , , j NM ) , j NSl ) e j1( M ) , j1( Sl ) ,  , j NM ) , j NSl ) {0,1,2} .

8. Data Link Layer


In questo capitolo ci occuperemo del Data Link Layer (DLL), ossia il livello due del modello di riferimento OSI. Fondamentalmente il ruolo del DLL quello di fornire i mezzi funzionali e procedurali per il trasferimento trasparente, affidabile ed efficiente di unit dati tra Network Layer Entity, nascondendo i dettagli su come le risorse di comunicazione fornite dal Physical Layer sono usate per fornire il servizio. I protocolli di linea (Data Link Layer Protocol) gestiscono il colloquio tra due interlocutori fisicamente connessi da un canale di comunicazione. In generale linsieme di problematiche che il Data Link Layer deve risolvere sono: Framing. Controllo di errore. Controllo di sequenza. Recupero degli errori. Controllo di flusso. Gestione del collegamento. I protocolli di linea si distinguono in Character-Oriented e Bit-Oriented, in base al fatto che lunit informativa di cui costituita una frame1 sia un byte o un bit. Unaltra distinzione che si suole fare quella di distinguere i protocolli di linea, in Asincroni e Sincroni. La differenza in questo caso dipende dal fatto che i clock delle peer entity siano o meno sincronizzati. Per essere precisi, lentit ricevente per interpretare correttamente il messaggio speditogli deve essere in grado di determinare: 1. Linizio di ogni bit (bit or clock synchronization). 2. Linizio e la fine di ogni carattere (character or byte synchronization). 3. Linizio e la fine della frame (block or frame synchronization). Nei protocolli asincroni, i due interlocutori ottengono la sincronizzazione a livello di carattere introducendo dei pattern di bit opportuni (detti start e stop bits) per delimitare caratteri successivi. Mentre le frame synchronization per entrambi i protocolli ottenuta incapsulando la frame allinterno di opportuni delimitatori. I protocolli moderni sono tutti bit oriented e sincroni, di seguito faremo riferimento a protocolli sincroni i quali possono essere bit oriented o character oriented.

Le 2-PDU ossia le Protocol Data Unit del Data Link Layer vengono dette frame, mentre le PDU del Network Layer, Packet. Per gli altri livelli si parla solo di N-PDU.

8.1

Framing

Il framing consiste nellorganizzare il flusso di dati entrante in frame aventi un opportuno e ben definito formato, ossia bisogna determinare non solo la dimensione di ogni campo della frame, ma anche il tipo di codifica usata. Il formato varia chiaramente da protocollo a protocollo, ma una struttura abbastanza generale potrebbe essere quella mostrata in Fig. 8.1-1.
Synchonization Field Error Check Synchonization Field Field

Address Field

Control Field

Data Field (Packet)

Fig. 8.1-1: Formato della frame. Il Synchronization Field consente di distinguere linizio e la fine di una frame, mediante luso di opportuni pattern di bit. Nei protocolli character oriented linizio di una frame marcato con la sequenza di caratteri ASCII DLE STX mentre la fine con la sequenza DLE ETX, per evitare la presenza di sequenze di questo tipo allinterno dei synchronization field si usa la tecnica del character stuffing (vedi esempio in Fig. 8.1-2), la quale prevede linserimento di un carattere DLE prima di ogni carattere DLE presente tra i due delimitatori. Invece, i protocolli bit oriented, usano come synchronization field il pattern di bit 01111110, per evitare che questa sequenza sia ripetuta tra i due delimitatori si usa la tecnica del bit stuffing (vedi esempio in Fig. 8.1-3)la quale prevede linserimento di un bit 0 ogni cinque bit uno consecutivi trovati allinterno dei delimitatori. In entrambi i casi una volta che la frame giunta a destinazione il ricevente dovr fare rispettivamente il character o il bit stripping o destuffing.

DLE DLE

STX STX

C C

A A

D D

DLE DLE

S DLE DLE

STX STX

S DLE

Stuffed DLE

Fig. 8.1-2: Character stuffing.


01111110 01110110010111110100011 01111110 01111110 011101100101111100100011 01111110
Stuffed bit

Fig. 8.1-3: Bit Stuffing

LAddress Field contiene lindirizzo del destinatario, mentre il Control Field contiene una serie di informazioni di controllo utilizzate per fare il controllo di sequenza e di flusso. Notiamo inoltre, che come evidenziato in Fig. 8.1-1, il Data Field della frame contiene esattamente un pacchetto del Network Layer (come del resto bisognava aspettarsi per quanto descritto nei capitoli precedenti.), la lunghezza di questo campo viene in genere fissata in modo tale da avere un buon compromesso tra rendimento della linea e probabilit di errore. Infatti pi grande il DataField maggiore

lutilizzazione della linea, ma maggiore risulta essere anche la probabilit di errore. Infine lError Check Field contiene una sequenza di byte utilizzati per la rilevazione di eventuali errori presenti nella frame.

8.2 Controllo di Errore2 (Error Detection) Quando dei dati vengono scambiati tra due interlocutori, comune che a causa di disturbi elettrici, il segnale rappresentante lo stream di bit trasmesso venga alterato. Ci porta alla conseguenza che il ricevitore in alcuni casi potrebbe ricevere un messaggio diverso da quello trasmesso. Quindi il controllo e la correzione degli errori sono delle funzioni indispensabili al fine di garantire una comunicazione affidabile (una comunicazione in cui la probabilit di errore sia ragionevolmente bassa). Tipicamente gli errori si presentano in burst, nel senso che vengono persi o alterati non singoli bit, ma intere sequenze. La tecnica di controllo di errore pi usata quella del Cyclic Redundancy Check (CRC), essa adatta a rilevare errori multipli. Questo metodo considera una stringa di bit come un polinomio con coefficienti 0 ed 1. Ad una generica frame costituita da k bit viene associato un polinomio di grado k-1, per esempio la alla stringa di bit 10101101 corrisponde il polinomio x7+x5+ x3+ x2+ 1. Per usare questo metodo le parti coinvolte nella comunicazione devono concordare un Polinomio Generatore G(x) il quale deve avere sia il MSB che il LSB pari ad 1 (vedi Tabella 8.2-1). Lidea alla base di questo metodo quella di ricavare il checksum (Error Check Field) in modo tale che il polinomio associato alla frame ottenuta sia divisibile3 per G(x). Data una frame, detto M(x) il polinomio da essa individuato, deve necessariamente essere:
grado(M(x)) > grado(G(x)) i passi previsti da questo metodo possono essere cos riassunti: 1. Detto k il grado del polinomio G(x) considerare il polinomio xkM(x), il quale ottenuto aggiungendo k zeri alla fine di G(x). 2. Fare la divisione modulo 2 di xkM(x)per G(x), sia R(x) il resto di questa divisione (esso sar un polinomio al pi di grado (r-1). 3. Sottrarre R(x) a xkM(x), usando la sottrazione modulo 2. Detto T(x) il risultato, la stringa di bit ad esso associata la frame da trasmettere. 4. La stringa di bit associata al polinomio R(x) rappresenta il checksum.

Il tasso di errori non rilevati che si pu raggiungere usando questa tecnica di rilevazione abbastanza soddisfacente (in Tabella 8.2-1 sono riportati alcuni polinomi generatori).

Nella letteratura anglosassone, la problematica trattata da questo paragrafo nota come Error Detection,in quanto con il termine Error Control si intende la gestione dellerrore. 3 Le operazioni di somma sottrazione sono fatte in modulo 2, ci implica che non vi sono ne riporti per le addizioni ne prestiti nelle divisioni.

Tabella 8.2-1: Alcuni polinomi generatori standardizzati. CRC-CCITT CRC-16 CRC-12 x16 + x12 + x5 + 1 x16 + x15 + x2 + 1 x12 + x11 +x3 + x2 + x + 1

Nonostante il metodo esposto potrebbe sembrare laborioso, stato provato da Peterson e Brown (1961) che tutti i calcoli necessari possono essere effettuati con un circuito costituito da shift registers, nonostante ci, questo hardware non quasi mai usato in pratica.

8.3

Gestione degli Errori

Sin ora abbiamo visto quali funzionalit devono essere presenti allinterno del DLL al fine di rendere possibile il colloquio tra due peer entity. Con le funzionalit sin ora considerate il servizio offerto del tipo Best-Try in quanto se una frame arriva a destinazione corrotta non viene attivato alcun meccanismo di recovery. Questo pu andare bene per un protocollo Connection-Less, ma chiaramente insufficiente per un protocollo Connection Oriented. Tipicamente la fase di rilevazione e correzione degli errori viene detta Error Control. 8.3.1 Automatic Repeat Request (ARQ) LAutomatic Repeat Request una tecnica di error control nella quale lentit ricevente, controlla di volta in volta lintegrit della frame ricevuta e si preoccupa di mandare una frame di controllo detta ACK (ACKnowledgement) per confermare la corretta ricezione della frame. Nel caso in cui la frame dovesse arrivare corrotta allora lentit ricevente pu semplicemente attendere che il sender rispedisca la frame oppure pu rendersi un po pi attiva inviando un NACK (Negative ACKnowledgement) per sollecitare la ritrasmissione. Esistono in sostanza due tipi di ARQ: 1. Idle RQ 2. Continuous RQ LIdle RQ viene tipicamente utilizzato in protocolli character-oriented, mentre il continuous RQ viene usato soprattutto nei protocolli bit-oriented. In particolare esistono due varianti del continuonus RQ note come Selctive Repeat e Go-Back-N. 8.3.1.1 Idle RQ

LIdle RQ stato ideato per consentire lo scambio, tra interlocutori, di frame contenenti caratteri stampabili e di controllo in modo affidabile. Tipicamente le frame trasmesse vengono dette Information-Frame (I-Frame), mentre lentit trasmittente viene detta Primary (P) e quella ricevente Secondary (S). Fissata la nomenclatura possiamo quindi dire che lIdle RQ si preoccupa di garantire lo scambio di I-Frame tra P ed S mediante un collegamento seriale. LIdle RQ prevede che P spedisca una I-Frame e quindi attenda lACK da S, solo dopo che lultima frame spedita stata riscontrata, P ha il diritto di spedire una nuova I-Frame. Daltro canto S invia un ACK solo nel caso in cui la I-Frame ricevuta corretta (vedi Fig. 8.3-1). Nel caso in cui P non riceve lACK entro un certo intervallo di tempo (a causa del fatto che la I-Frame giunta corrotta a S, o perch lACK si perso) allora P autorizzato a rispedire lultima I-Frame inviata. Questa modalit di funzionamento anche detta Implicit Retransmission (vedi Fig. 8.1-3), per distringuerla dalla modalit detta Explicit Request (Fig. 8.3-3) nella quale ogni qual volta S riceve una I-Frame corrotta invia un NACK a P per sollecitare la ritrasmissione. Osserviamo che in entrambe le configurazioni il timeout interval (intervallo di tempo entro il quale si attende larrivo di un ACK o NACK) deve essere scelto opportunamente, infatti esso deve essere almeno pari al tempo che passa affinch una I-Frame venga ricevuta e processata da S pi il tempo necessario affinch lACK (NACK) sia ricevuto e processato da P. Notiamo che nel caso in cui sia lACK ad essere perduto, allora P allo scadere del timeout interval rispedirebbe lultima I-Frame non confermata, e S riceverebbe un duplicato. Questa situazione gestita dallIdle RQ considerando due contatori V(S) e V(R). V(S) rappresenta il numero di sequenza da assegnare alla prossima frame da spedire, mentre V(R) rappresenta il numero di sequenza della prossima frame attesa. Si suppone

inoltre che i numeri di sequenza non siano limitati, ossia possono crescere indefinitivamente senza ripetersi. Il contatore V(R) viene incrementato ogni volta che viene ricevuta una I-Frame corretta, mentre V(S) ogni qual volta si riceve lACK per lultima I-Frame trasmessa. Grazie a questi contatori, nel caso in cui un ACK venga perso, non si hanno duplicati. Infatti, quando S riceve la I-Frame ritrasmessa da P si rende conto di essere di fronte ad un duplicato confrontando il suo contatore V(R) con il numero di sequenza contenuto nella frame. Trascura quindi quest'I-Frame ed invia lACK a P per farlo sincronizzare. LACK (NACK) contiene sempre il numero di sequenza dellultima frame ricevuta.

Timer Started

Timer Stopped

Timer Started

Timer Stopped

Timer Started

Primary (P)

I(N)
I(N )

I(N+1)
ACK (N + 1)
I(N+

I(N+2)

ACK (N )

1)

Secondary (S)

I(N)

I(N+1)

Fig. 8.3-1: Comportamento del protocollo Idle RQ nel caso in cui non vi sono errori in trasmissione.

Timer Started Timeout Interval

Timer Retarted

Timer Stopped

Timer Started

Primary (P)

I(N)
I(N )

I(N)
AC K ( N)
I(N)

I(N+1)

Secondary (S)

I(N)

I(N)

Fig. 8.3-2: Idle RQ nel caso in cui si danneggia una I-Frame (Implicit Retransmission) LIdle RQ noto in letteratura anche come Send-and-Wait o Stop-and-Wait, questi nomi enfatizzano il fatto che il Primary spedisce una I-Frame e quindi attende lACK dal Secondary.

Lutilizzazione del link con questa tecnica non risulta essere molto alta, ma pu essere incrementata usando lexplicit request. Cos facendo non necessario attendere un intero timeout interval per avere la ritrasmissione, ogni qual volta una frame viene danneggiata. Il vantaggio che si ha nelluso di questa tecnica tanto maggiore quanto pi alto il BER (bit error rate). Per implementare questo protocollo sufficiente un link half-duplex.

Timer Started

Timer Stopped

Timer Started

Timer Stopped

Timer Started

Primary (P)

I(N)
NAC K (N )
I(N )

I(N)
ACK (N )
I(N)

I(N+1)

Secondary (S)

I(N)

I(N)

Fig. 8.3-3: Idle RQ nel caso in cui si danneggia una I-Frame (Explicit Request)

8.3.1.2

Continuous RQ

Il Continuous RQ consente utilizzazioni del link decisamente migliori rispetto allIdle RQ, questo a spese di maggiori requisiti in termini di buffer. Questa tecnica di error control contrariamente allIdle RQ, prevede che P spedisca continuamente I-Frame. Poich istante per istante vi sono un certo numero di frame che attendono lACK, P mantiene una lista detta Retransmission List, nella quale ripone tutte le I-Frame non ancora confermate. Ogni I-Frame contiene un numero di sequenza distinto, scelto tenendo conto del contatore V(S). Le I-Frame correttamente ricevute da S vengono poste in una lista detta Link Receive List, in attesa di processamento. Per ogni frame ricevuta correttamente S invia un ACK con numero di sequenza pari a quello della I-Frame correttamente ricevuta. La ricezione di un ACK da parte di P porta alla rimozione della I-Frame, a cui lACK fa riferimento, dalla Retransmission List. In assenza di errori questa tecnica garantisce un utilizzazione del link che si avvicina al 100% in quanto P pu spedire I-Frame senza alcuna restrizione. Quanto descritto sin ora va bene se non vi sono errori in trasmissione, nel caso in cui si verifica un errore possono essere usate due tecniche di ritrasmissione il Selective Repeat oppure il Go-Back N.

8.3.1.2.1

Selective Repeat

Esistono due varianti del Selective Repeat, quella con implicit retransmission e quella con explicit request (proprio come nel caso dellIdle RQ). Nella prima P deduce solo dallo scadere di un timeout interval associato ad una data I-Frame che questultima stata danneggiata o addirittura persa, e procede quindi alla ritrasmissione. Mentre nella seconda variante S invia un NACK per richiedere la ritrasmissione di una ben precisa I-Frame, nonostante ci anche in questo caso P mantiene un timer associato ad ogni I-Frame, infatti il NACK potrebbe perdersi ! Ricordiamo per che uno degli obiettivi del DLL di consegnare i pacchetti al livello superiore nello stesso ordine con cui essi sono stati spediti. Quindi come risulta chiaro dalla Fig. 8.3-4, nel caso in cui una frame si viene corrotta si attende la ritrasmissione di questultima, conservando le frame che intanto continuano ad arrivare nella link receive list. Non appena la I-Frame mancante arriva si riordina la lista ed il tutto viene passato al livello superiore. La versione con explicit request funziona in modo analogo.

Retransmission List Timeout Interval


I(N+4) I(N+3) I(N+2) I(N+1)

I(N)

I(N+1) I(N)

I(N+2) I(N+1) I(N)

I(N+3) I(N+2) I(N+1)

I(N+1) I(N+4) I(N+3)

I(N+5) I(N+1) I(N+4)

I(N+6) I(N+5) I(N+1)

I(N)
I(N)

I(N+1)
I(N+ 1)

I(N+2)
I(N+ 2)

I(N+3)
I(N+ 3)

I(N+4)
I(N+ 4)

I(N+1)
I(N+ 1)

I(N+5)
I(N+ 5)

I(N+6)
I(N+ 5)

CK

(N

) A CK

(N

+2

) A CK (N

+3

) A CK (N

+4

) A CK (N

+1

) A CK (N

+5

I(N)

I(N+1)
I(N)

I(N+2)

I(N+3)
I(N+2)

I(N+4)
I(N+2) I(N+3)

I(N+1)
I(N+2) I(N+3) I(N+4)

I(N+5)
I(N+2) I(N+3) I(N+4) I(N+1)

I(N+6)
I(N+5)

Link Receive List

Fig. 8.3-4: Selective Repeat nel caso dellimplicit retransmission.

La tecnica di Selective Repeat ha un piccolo problema, infatti dovendo S bufferizzare tutte le frame ricevute fuori ordine, la dimensione dei buffer richiesti nel sottosistema di comunicazione potrebbe essere estremamente alta, specialmente nel caso in cui le frame hanno dimensioni notevoli. A causa di questo problema molti protocolli preferiscono usare lo schema di controllo Go-Back N.

8.3.1.2.2

Go-Back N

Lo schema di controllo Go-Back N, come suggerisce lo stesso nome, prevede che non appena S rileva una I-Frame fuori ordine, informa P, implicitamente (sfruttando il timeout interval) o esplicitamente (inviando un NACK), di iniziare a ritrasmettere le frame a partire da un certo numero di sequenza. Tutte le I-Frame arrivate fuori ordine vengono scartate senza alcuna esitazione.

Retransmission List Timeout Interval


I(N+4) I(N+3) I(N+2) I(N+1) I(N+4) I(N+3) I(N+2) I(N+1) I(N+4) I(N+3) I(N+2) I(N+1) I(N+4) I(N+3) I(N+2) I(N+1)

I(N)

I(N+1) I(N)

I(N+2) I(N+1) I(N)

I(N+3) I(N+2) I(N+1)

I(N)
I(N)

I(N+1)
I(N+ 1)

I(N+2)
I(N+ 2)

I(N+3)
I(N+ 3)

I(N+4)
I(N+ 4)

I(N+1)
I(N+ 1)

I(N+2)
I(N+ 5)

I(N+3)
I(N+ 5)

(N CK

) N A CK

(N

) +1 A

(N CK

) +1

I(N)

I(N+1)
I(N)

I(N+2)

I(N+3)

I(N+4)

I(N+1)

I(N+2)
I(N+1)

I(N+3)
I(N+2)

Link Receive List

Fig. 8.3-5: Go-Back N nel caso della richiesta esplicita.


Retransmission List Timeout Interval
I(N+4) I(N+3) I(N+2) I(N+1) I(N+4) I(N+3) I(N+2) I(N+1) I(N+4) I(N+3) I(N+2) I(N+1) I(N+4) I(N+3) I(N+2) I(N+1)

I(N)

I(N+1) I(N)

I(N+2) I(N+1) I(N)

I(N+3) I(N+2) I(N+1)

I(N)
I(N)

I(N+1)
I(N+ 1)

I(N+2)
I(N+ 2)

I(N+3)
I(N+ 3)

I(N+4)
I(N+ 4)

I(N+1)
I(N+ 1)

I(N+2)
I(N+ 5)

I(N+3)
I(N+

CK

) (N A

CK

+1 (N

5)

I(N)

I(N+1)
I(N)

I(N+2)

I(N+3)

I(N+4)

I(N+1)

I(N+2)
I(N+1)

I(N+3)
I(N+2)

Link Receive List

Fig. 8.3-6: Go-Back N nel caso di richiesta implicita.

In Fig. 8.3-5 mostrato il comportamento del Go-Back N nel caso di explicit request, mentre in Fig. 8.3-6 viene mostrato un esempio relativo al caso di implicit retransmission. importante notare che nel caso del Go-Back N gli ACK possono essere cumulativi, ossia un dato ACK conferma tutte le frame che precedono la frame a cui lACK fa riferimento. Osserviamo infine che poich le frame vengono accettate solo in ordine, allora non sorge il problema di mantenere grandi buffer per riordinare le frame arrivate fuori sequenza. Sin ora si supposto che il traffico di I-Frame fosse solo da P ad S, ma in generale esso bidirezionale. Questo fatto pu essere sfruttato per evitare di mandare gli ACK con delle frame di controllo. Si pu usare una tecnica nota con il nome di piggybacking (farcire il maiale), la quale consiste nellinviare il riscontro includendolo in un campo di controllo opportuno di una I-Frame. In questo caso ogni I-Frame ha un campo del control field contenete in numero di sequenza N(S), ed un altro campo contenente N(R), il quale rappresenta il numero di sequenza dellultima I-Frame ricevuta correttamente.

8.4 Controllo di Flusso Il controllo di flusso (Flow Control) consiste nellimpedire che P trasmetta ad un ritmo medio pi alto rispetto a quello che S pu, o vuole, accettare, in modo tale da garantire che il riceiver abbia sempre buffer a disposizione in cui memorizzare le I-Frame ricevute. La tecnica tipicamente usata per realizzare questo tipo di controllo nota con il nome di Sliding Window (Finestra Scorrevole). Essenzialmente questa tecnica consiste nel porre un limite massimo al numero di I-Frame che possono essere spedite, senza ricevere conferma. Questo schema ha una azione auto-regolante, infatti nel caso in cui S invia ACK con un ritmo compatibile a quello con cui riceve le I-Frame, allora P trasmette continuamente. Ma nel caso in cui S dovesse trovarsi in affanno, gli basta smettere di inviare ACK per bloccare P. Per spiegare nel dettaglio questo metodo faremo riferimento alla Fig. 8.4-1, la quale rappresenta la situazione in cui si trova ogni singola I-Frame spedita. Dalla Fig. 8.4-1 si vede che la frame I(ct) in corso di trasmissione, mentre la frame I(cr) in fase di ricezione, quindi le frame, comprese tra queste due sono in volo, ossia si stanno propagando nel mezzo di comunicazione. La frame I(i t-1) lultima di cui P ha ricevuto lACK, mentre allistante rappresentato in Fig. 8.4-1 il trasmettitore non ha ancora avuto alcuna conferma (ne smentita) sulla corretta ricezione di I(it). Il meccanismo dello Sliding Window, consiste nellimporre a P di trasmettere solo I-Frame il cui numero di sequenza appartiene ad un certo intervallo avente ampiezza pari ad ft, tale intervallo detto finestra di trasmissione. Nel caso rappresentato in Fig. 8.4-1, essendo it lestremo inferiore di tale intervallo, P pu spedire solo le frame I(k) i cui numeri di sequenza sono tali che:
it k it + ft = st Daltro canto S ha una visione della situazione un po diversa rispetto a quella di P, infatti ha gi confermato tutte le frame sino a I(ir-1), mentre non ha ancora inviato lACK per la frame I(ir). La finestra del ricevitore ha come estremo inferiore ir, ed accetter quindi solo le frame I(k) il cui numero di sequenza soddisfa la seguente relazione: ir k ir + fr = sr Si ha dunque che P non pu trasmettere le frame aventi numero di sequenza minore dellestremo inferiore della finestra di trasmissione, in quanto esse sono gi state ricevute correttamente. Daltro canto non pu spedire neanche le I-Frame alla destra della finestra di ricezione in quanto non ha ancora ricevuto il permesso. Mentre S, ignorer tutte I-Frame il cui numero di sequenza cade fuori dalla finestra di ricezione.

Fig. 8.4-1: Sliding Window

P View
Prima frame non ancora confermata

Frame in corso di trasmissione Frame in volo Frame spedibili

I(0)

I(1)

I(2)

I(it-1)

I(it)

I(ir-1)

I(ir)

I(cr)

I(ct)

I(st)

I(sr)

Ultima Frame confermata Conferme in volo

Frame ricevute ma non ancora confermata

Frame in corso di ricezione

S View

fr

Tipicamente le finestre di trasmissione e di ricezione si sovrappongono parzialmente, infatti ft ed fr devono essere scelte in modo tale che si abbia: ir-1 st sr Sin ora abbiamo ipotizzato che i numeri di sequenza potevano crescere indefinitamente, ma questa ipotesi tuttaltro che realistica. In generale essi possono infatti crescere solo da 0 ad un certo numero m-1, quindi gli incrementi devono essere intesi modulo m. Per garantire anche in questo caso che non vengano ricevute frame duplicate, bisogna far s che ft ed fr soddisfino inoltre la seguente relazione: ft + fr m Esistono protocolli in cui la dimensione delle finestre di trasmissione e ricezione pu essere negoziata in fase di apertura della connessione, mentre in altri ancora la dimensione pu essere variata dinamicamente in base alle esigenze del momento.

8.5 Gestione del Collegamento Sin ora abbiamo visto come sia possibile scambiare frame tra due entit connesse da un link seriale. Affinch questo scambio possa avvenire, le entit che desiderano colloquiare devono poter instaurare una connessione, ed analogamente, quando le due entit hanno concluso il loro colloquio devono poter chiudere tale connessione. Quindi uno dei requisiti dei protocolli di linea quello di essere capaci di guidare il sistema da una fase allaltra seguendo una serie di procedure dipendenti dal particolare protocollo. 8.6 Il protocollo HDLC (High-Level Data Link Control) LHDLC, un protocollo sincrono e bit-oriented, definito dallISO per essere usato sia in collegamenti multipunto, che in collegamenti punto punto. Esso risulta essere lestensione di un protocollo della IBM, chiamato SDLC (Synchronous Data Link Control). Il formato delle frame dellHDLC riportato in Fig. 8.6-1. I campi Flag, costituiscono rispettivamente lo start delimiter e

bits

16

Flag

Address Control

Data

FCS

Flag

Fig. 8.6-1: Formato delle frame del protocollo HDLC. lend delimiter, e sono costituiti dalla sequenza 01111110. Due frame contigue devono essere separate da almeno un Flag, mentre in assenza di traffico vengono inviati continuamente Flag. Chiaramente la trasparenza dei dati ottenuta utilizzando la tecnica di bit-stuffing vista nei capitoli precedenti. Il campo FCS, contiene i bit di ridondanza calcolati su tutto il contenuto della frame

(ossia Address+Control+Data). La tecnica usata quella del CRC con polinomio generatore: G(x) = x16 + x12 + x5 + 1 Le frame corrotte vengono ignorate rimandando allerror control la rilevazione e relativa soluzione del problema. Le modalit secondo le quali operano i due interlocutori, vengono dette, nella terminologia dellHDLC, modi operazionali. I modi operazionali dellHDLC sono raggruppati in due classi di procedura: Unbalanced Configuration Balanced Configuration Nella configurazione Unbalanced solo un dei due interlocutori, detto Primario (P), si occupa del recupero degli errori e del controllo di flusso. Tipicamente un sistema multipunto costituito da un primario ed un certo numero di Secondari (S). Inoltre per enfatizzare la sottomissione dei secondari, i messaggi inviati dal primario vengono detti comandi, mentre i messaggi inviati dai secondari risposte. Nella configurazione Unbalanced sono possibili due modi operazionali: 1. NRM (Normal Responce Mode): I secondari possono iniziare la trasmissione di dati, solo dopo aver ricevuto lesplicito permesso da parte del primario. 2. ARM (Asynchronous Responce Mode): I secondari possono iniziare la trasmissione di dati anche senza lesplicito permesso del primario. La configurazione Balanced, applicabile solo a configurazioni punto punto, in tal caso entrambi gli Tabella 8.6-1: Elementi di procedura della classe bilanciata. Tipo Comandi Risposte
0 1 2

Control Field
3 4 5 6 7

Information Frame

I (information)

N(S) 1000 1000 1000 1111 1111 1100

P
P/F P/F P/F

N(R) N(R) N(R) N(R) 000 100 010 110 001

Supervisory RR (Receive Ready) RR (Receive Ready) Frame RNR (Receive Not Ready) REJ (Reject) Unnumbered Frame SABM (Set Asynchronous Balanced Mode) DISC (Disconnect) UA (Unnambered Ack.) FRMR (Frame Reject) RNR (Receive Not Ready) REJ (Reject) DM (Disconnect Mode)

F P P F F

1100 1110

interlocutori possono comportarsi sia da primario che da secondario. Lunico modo operazionale definito per questa classe lABM (Asyinchronous Balanced Mode), in cui entrambi gli interlocutori possono inviare comandi e risposte senza dover richiedere il permesso dellaltra entit. Ogni combinazione (classe di procedura, modo operazionale) usa un certo set di comandi e risposte, i quali vengono detti, nella terminologia dellHDLC, elementi di procedura. In particolare la Tabella 8.6-1 contiene un elenco degli elementi di procedura utilizzati nella classe bilanciata. Osserviamo che, il contenuto del campo di controllo, consente di discriminare i diversi tipi di frame. In particolare le Information Frame servono per trasmettere dati, mentre le Supervisory Frame, servono per linvio di informazioni sul controllo di flusso. Infine le Unnumbered Frame sono usate per segnali di controllo, di inizializzazione o disconnesione. LAddress Field nella configurazione Balanced, viene usato solo per distinguere i comandi dalle risposte. In Fig. 8.6-2 riportato un diagramma che rappresenta le fasi di colloquio in una procedura bilanciata. Osserviamo che linizializzazione del link avviene mediante linvio di un frame unnumbered di tipo SABM, alla quale linterlocutore ricevente risponde con una frame UA, la ricezione di questultima porta alla fase di trasferimento delle informazioni.

Fig. 8.6-2: Colloquio tra due entit. Durante la fase di trasferimento dati, il controllo di sequenza ed il controllo di flusso, sono implementati con un meccanismo a finestra, il quale prevede una finestra di ricezione di ampiezza unitaria (fr = 1), mentre una finestra di trasmissione compresa tra 1 e 7 (ft = 1-7), chiaramente la numerazione delle frame modulo 8.

Ogni I-Frame contriene nel suo Control Field due numeri di sequenza (vedi Tabella 8.6-1), N(S) contiene il numero di sequenza della frame, mentre N(R) rappresenta il numero di sequenza della prossima frame attesa, esso conferma inoltre la corretta ricezione delle N(R)-1 (se N(R) > 0) IFrame. Quindi N(R) serve a fare in piggybacking, dellACK. Nel caso in cui non vi siano I-Frame da spedire su cui fare il piggybacking, vengono inviate delle Supervisory frame del tipo RR o RNR per indicare disponibilit o meno a ricevere altre I-Frame. Ogni frame ricevuta fuori sequenza, viene scartata ed inoltre induce il ricevente ad inviare in messaggio di REJ (vedi Tabella 8.6-1) il quale provoca la ritrasmissione di tutte le frame a partire da quella avente come numero di sequenza N(R) (numero presente nel campo di controllo della frame REJ). Per prevenire i problemi che potrebbero creare le perdite degli ACK, ad ogni frame inviata associato un timer. Lo scadere del timer implica la ritrasmissione del comando, con il bit 5 del campo di controllo posto ad 1 (questo bit viene detto Poll-bit per i comandi mentre Final-bit per le risposte), ci serve a forzare linterlocutore ad inviare comunque una risposta, anche se questo in uno stato in cui non dovrebbe necessariamente rispondere. La risposta una Supervisory frame avente il bit 5 del campo di controllo posto ad 1. Nel caso in cui una frame viene ritrasmessa un certo numero di volte, senza ottenere alcuna risposta, viene allora avviata la procedura di reset del link, la quale analoga a quella di inizializzazione, ossia consiste nellinvio di un comando SABME e nella conseguente attesa di una frame UA (Nel caso in cui non si ottiene risposta nemmeno al SABME, dopo un certo numero di ritrasmissioni si avvia la di sconnessione). La procedura di risincronizzazione, viene attivata ogni qual volta il recupero degli errori non pu essere ottenuto mediante la semplice ritrasmissione di una frame. La fase di sconnessione attivata mediante linvio di un comando DISC, al quale laltro interlocutore deve rispondere con un UA.

8.7

Analisi dei Protocolli di Linea

In questa sezione vedremo di valutare le prestazioni, in termini di throughput, ottenibili con due dei protocolli visti in precedenza, quali: Stop and Wait Go-Back N Ricordiamo che il protocollo Stop and Wait non altro che lIdle RQ, mentre il protocollo Go-Back N una delle tecniche utilizzabili in caso di Continuous RQ. Lanalisi presentata di seguito, presuppone valide le seguenti ipotesi: 1. I numeri di sequenza non sono limitati. 2. Le frame hanno lunghezza fissa. 3. Il round trip propagation delay tra il trasmettitore ed il ricevitore costante, ed noto. 4. Il processing delay al ricevitore costante, ed noto. 5. Il trasmettitore opera in condizioni di saturazione, ossia ha sempre delle frame da spedire (questa ipotesi essenziale in quanto noi siamo interessati a ricavare il massimo throughput). Nonostante le ipotesi semplificative introdotte, i risultati che otterremo evidenzieranno le principali differenze tra i due tipi di protocolli anzidetti. 8.7.1 Protocollo Stop and Wait Per valutare il throughput dei questo protocollo, nelle ipotesi presupposte, definiamo i seguenti tempi: ti : Tempo necessario per trasmettere una frame. tout : Timeout interval. tproc : Tempo di processamento. tp : Tempo di propagazione. Osserviamo che il timeout interval tout deve soddisfare la relazione: tout 2 tp + tproc + ts dove ts rappresenta il tempo necessario a spedire lACK (il quale tipicamente piggybaked da cui ts=ti). Nellanalisi che segue supporremo tproc incluso allinterno del tempo di propagazione, cos che il tempo minimo tra due frame successive sia (vedi Fig. 8.7-1): tT = ti + tout

Allo scadere del tempo tout, in virt delle assunzioni fatte, o sar arrivato un ACK indicando che una nuova frame pu essere trasmessa, oppure lultima frame dovr essere ritrasmessa. Quindi, il sistema

New Frame

New or Retransmitted Frame

...

ti

tout

ti

...
time

tT

Fig. 8.7-1

non pu spedire pi di una frame ogni tT secondi. Ci equivale a dire che, nel caso in cui non vi siano errori in trasmissione, il massimo throughput proprio 1/ tT . In realt il throughput ottenibile sar minore in quanto il mezzo di comunicazione sar affetto da una certa probabilit di errore p. Detta q=(1-p) la probabilit che una frame sia ricevuta corretta, allora la probabilit di ricevere una frame corretta dopo n ritrasmissioni : Prob{n ritrasm.} = pnq Il numero medio di errori in trasmissione quindi:

npnq
Possiamo quindi scrivere che il tempo medio necessario per ricevere una frame correttamente pari a: tv = tT [1+ npn(1-p)] = tT [1+ p(1-p) npn-1]= tT / (1-p) Notiamo che nel caso in cui p = 0, riotteniamo il risultato precedente. In questa relazione sono stati trascurati gli errori che potrebbero rovinare gli ACK. Nelle ipotesi in cui il trasmettitore sia in saturazione allora tv, rappresenta il tempo che trascorre tra la corretta trasmissione di due frame. Quindi il massimo throughput risulta essere linverso di tv, ossia:

max = 1 / tv = (1-p) / tT = (1-p) / ati


Dove il parametro a = tT / ti (a 1)4, viene introdotto per correlare il throughput alla lunghezza delle frame. Detto leffettivo arrival rate delle frame al trasmettitore, se si considera il throughput normalizzato = ti , dovr risultare:

Tipicamente il fattore a viene indicato come il rapporto tp / ti . Esso rappresenta il numero di frame che possono stare sul mezzo.

(1-p) / a < 1
Questa relazione mostra chiaramente come il throughput diminuisca allaumentare della probabilit di errore, ed allaumentare del fattore a.

8.7.2 Protocollo Go-Back N In questa sezione vedremo di analizzare le performance di un protocollo Go-Back N, ritenendo valide le stesse ipotesi supposte in precedenza, e supponendo inoltre che la finestra di trasmissione abbia dimensione infinita. Poich, in questo protocollo, le frame vengono spedite continuamente il tempo minimo che trascorre tra due trasmissioni risulta essere pari al tempo necessario a spedire una frame, risulta quindi tT = ti. Si ha dunque che il tempo medio necessario per trasmettere una frame correttamente dato dalla relazione: tv = ti + npn(1-p) tT = ti {[1+(a-1)p]/(1-p)} Poich abbiamo supposto che il sistema in condizioni di saturazione, il massimo throughput dato da:

max = 1 / tv = (1-p) / { ti [1+(a-1)p] }


Dalla formula appena trovata si deduce che fissato a, il massimo throughput raggiungibile con un protocollo Go-Back N risulta essere maggiore (luguaglianza si ha per a = 1) di quello ottenibile con un protocollo di tipo Stop and Wait. I protocolli reali hanno una finestra di trasmissione finita, la cui dimensione influenza il throughput. Detta N la dimensione di tale finestra, allora N ti dovr essere maggiore del tempo necessario a ricevere un ACK. Ci affinch non si abbiano idle time anche nel caso in cui tutte le frame sono ricevute correttamente. Ma daltro canto la finestra deve essere opportunamente dimensionata perch finestre troppo grandi implicano pesanti ritrasmissioni.

8.8 Dimensionamento della Frame. La dimensione della frame, influenza il throughput del protocollo di linea, infatti utilizzare frame troppo piccole equivale a spedire sul canale per lo pi control bits, piuttosto che dati. Daltro canto, se le frame sono troppo lunghe si ha una maggiore probabilit che queste vengano corrotte, per cui la loro corretta ricezione richiede pi ritrasmissioni (riduzione del throughput). Esiste una lunghezza ottima per le frame, la quale consente di massimizzare il data throughput. Degli studi compiuti in questarea, hanno mostrato che le variazioni del throughput sono contenute per valori della lunghezza della frame appartenenti ad un intorno abbastanza ampio del valore ottimo. Al fine di ricavare la lunghezza ottima della frame necessario conoscere la caratteristica degli errori del link. Supponiamo quindi che i bit di cui costituita la frame, siano indipendentemente soggetti ad errori, e che la probabilit di avere un bit corrotto sia pb. (questassunzione valida per i link via satellite). Detta l la lunghezza in bit del data field, ed l la lunghezza del control field, la probabilit che almeno un bit della frame sia affetto da errore data dalla relazione:
p = 1 - (1 - pb)l+l Da questa relazione, fissati pb e l, si pu ricavare il valore ottimo di l

Il modello dei bit indipendentemente soggetti ad errori, non risulta essere valido nel caso di link terrestri, per i quali gli errori sono per lo pi burstly, ossia tendono a danneggiare un gruppo di bit in sequenza. Degli esperimenti condotti, hanno per mostrato che la probabilit di errore risulta essere proporzionale alla lunghezza della frame. Vediamo adesso come la lunghezza della frame influenza il throughput del protocollo Go-Back N. Supponiamo data una stazione A, in saturazione, che trasmette frame con un rate pari a max frame/sec Allora il data rate medio, in bits/sec, inviato alla stazione ricevente pari a: D = max l =(1-p)l / { ti [1+(a-1)p] } Detta C bps la capacit trasmissiva del canale, allora possiamo scrivere: ti = (l+l) / C Da cui si ottiene: l (1 - p) D/C = l + l' 1 + (a - 1)p Landamento di D/C riportato in Fig.6.8-1, con l = 48 bits e pb=10-5. interessante notare come nella prima parte della curva, il rapporto D/C (data rate normalizzato), cresce linearmente al crescere di l. Dalla figura si evince inoltre che la lunghezza ottima per il campo dati della frame di circa 1000 bits.

Fig. 8.8-1 - Throughput del protocollo Go-Back N per pb=10-5 , l = 48 bits

9. Network Layer
Il Network Layer (NL) fornisce i mezzi funzionali e procedurali per il trasferimento trasparente di unit dati tra entit di trasporto, nascondendo daltronde le modalit con cui il servizio fornito. Il Network Layer tenta inoltre di nascondere i dettagli della subnet mostrando al Transport Layer uninterfaccia standard. Osserviamo inoltre che il NL il primo livello che offre un servizio di tipo end-to-end, il quale per espletato mediante una cascata di protocolli di rete. Vedremo ora di esaminare pi in dettaglio il ruolo del Network Layer analizzando la raccomandazione X.25.

9.1 La Raccomandazione X.25


La raccomandazione X.25, emessa dal CCITT, definisce linterfaccia DTE (Data Terminal Equipment) DCE (Data Circuit-Terminating Equipment) per una rete pubblica a commutazione di pacchetto (PSPDN). In particolare questa raccomandazione definisce i protocolli da usare per i primi tre livelli, nel caso in cui si voglia interconnettere un DTE ad una PSPDN.

Interface

Interface

Network
DTE DCE DCE DTE

X.25

X.25

Fig. 9.1-1: Interfaccia su cui opera la raccomandazione X.25.

Linterfaccia1 mostrata in Fig. 9.1-1, posta al confine tra la rete e lutente. La raccomandazione X.25 non impone alcun vincolo sui protocolli da usare internamente alla rete. Il livello 1 della X.25 ha a che vedere con linterfaccia elettrica, meccanica, procedurale e funzionale tra il DCE ed il DTE. Per questo livello la raccomandazione X.25 impone che linterfaccia DTE/DCE sia conforme alla raccomandazione X.21. Inoltre essendo la X.21 relativa ad interfaccie interamente digitali, la X.25 consente luso della raccomandazione X.21bis la quale consente ai DTE, luso di un interfaccia analogica di tipo V.24. Il livello due della raccomandazione X.25 detto LAPB (Link Access Procedure Balanced) essenzialmente identico al protocollo HDLC nella classe di procedura ABM. (vedi Cap. 6). Il livello tre della raccomandazione X.25, tipicamente detto Packet Layer, definisce le regole con cui vengono scambiati i pacchetti tra DTE e DCE, in accordo con il tipo di servizio offerto dalla rete, il quale pu essere di tipo virtual circuit o datagram. Il livello 3 della X.25, mette a disposizione due tipi di connessioni dette rispettivamente Virtual Call e Permanent Virtual Circuit. Una Virtual Call analoga ad una chiamata telefonica, essa infatti
1

importante non confondere ci che si intende come interfaccia nella nomenclatura del CCITT con la definizione che si era data nel Cap. 2. Infatti mentre il CCITT intende per interfaccia la superficie logica che separa due interlocutori, noi seguendo la definizione data dallISO avevamo definito interfaccia la superficie logica che separa due livelli.

9-1

costituita da tre fasi, instaurazione della connessione, trasferimento dati ed infine chiusura della connessione. Invece un Permanent Virtual Circuit analogo ad una linea affittata, i dati possono essere trasferiti senza una fase di setup della connessione, in quanto vi unassociazione permanente tra due DTE. Linterfaccia DTE/DCE, a livello 3, costituita da 4096 canali logici, suddivisi in 16 gruppi da 256, il canale 0 per riservato come canale di controllo. Unaltra differenza tra Virtual Call e Permanent Virtual Circuit che, mentre per la chiamata virtuale viene occupato un canale logico sullinterfaccia DTE/DCE locale, solo per la durata della chiamata, nel secondo caso i canali logici sulle interfacce locali e remote sono permanentemente dedicati al circuito virtuale. Tipicamente il numero di canali logici disponibili ad un dato DTE, viene fissato allatto del contratto, inoltre per ogni canale si pu anche precisare se esso bidirezionale o unidirezionale ( in questo caso bisogna precisare la direzione, ossia DTEDCE o DTE DCE). In Fig. 9.1-2 sono riportati i formati di alcuni dei pacchetti del Packet Layer della X.25. Osserviamo che pacchetti aventi lo stesso formato, hanno un significato ed una funzione diversa in base alla direzione con cui attraversano linterfaccia DTE/DCE (vedi Fig. 9.1-2). Notiamo inoltre che tutti i pacchetti hanno un header contenente il numero di canale logico, un campo di controllo che identifica il tipo di pacchetto, un identificatore generale del formato, un numero di gruppo del canale logico, ed eventualmente altri campi dipendenti dal tipo di pacchetto. Quando un DTE vuole stabilire una virtual call, emette un pacchetto di CALL REQUEST (CR), specificando lindirizzo del DTE chiamato, eventuali prestazioni richieste, ed opzionalmente un campo dati di al pi 16 bytes. Per inviare il pacchetto, il DTE usa il canale logico libero sullinterfaccia DTE/DCE, avente numero pi alto. A questo punto, una volta che il DCE locale ha ricevuto il pacchetto sar compito della rete trasportarlo sino al DCE remoto, il quale dopo averlo ricevuto, lo trasmette al DTE usando il canale logico libero avente numero pi basso. Sullinterfaccia remota il pacchetto assume il significato di INCAMING CALL (IC). Osserviamo che mentre il DTE sceglie i canali logici liberi a partire da quelli aventi numero pi alto, il DCE li sceglie a partire da quelli aventi numero pi basso. Ci ha lo scopo di ridurre la probabilit di avere una call collision (collisione di chiamata), la quale si verifica ogni qual volta il DTE ed il DCE scelgono lo stesso canale, rispettivamente per stabilire una chiamata e per inoltrare una chiamata. In tal caso il protocollo prevede che il conflitto deve essere risolto in favore del DTE, e quindi in favore della chiamata uscente, annullando la chiamata entrante. Una volta che il DTE remoto ha ricevuto il pacchetto di INCAMING CALL, se decide di accettare la chiamata, invia, sullo stesso canale logico su cui ha ricevuto lIC, un pacchetto di CALL ACCEPTED, e si prepara alla fase di trasferimento dati (vedi Fig. 9.1-3). Sullinterfaccia locale questo pacchetto assumer il significato di CALL CONNECTED, e porter il DTE alla fase di trasferimento dati. La chiusura delle connessione brusca, infatti ognuno dei due DTE pu chiedere la chiusura della connessione in qualsiasi momento della fase di trasferimento dati, mediante linvio di un pacchetto di CLEAR REQUEST. Questo pacchetto viene immediatamente confermato dal DCE posto allinterfaccia mediante un pacchetto di DCE CLEAR CONFIRMATION. Sar quindi il DCE locale che informer il DCE remoto dellavvenuta chiusura, e questultimo inoltrer al suo DTE un pacchetto di CLEAR INDICATION2. Alla chiusura della connessione canali logici tornano nello stato di pronto. La dimensione massima del campo dati dei data packet, dipende dal tipo di rete, quindi nel caso in cui lutente volesse trasmettere messaggi pi lunghi deve frammentarli e trasmetterli mediante una sequenza di pi pacchetti. Il bit M (More Data) del Data Packet mostrato in Fig. 9.1-2, se posto pari ad 1, serve ad indicare che vi sono altri pacchetti appartenenti alla stessa sequenza.
2

Il pacchetto di CLEAR CONFIRMATION, pu essere inoltrato dal DCE al DTE anche nel caso in cui vi sia stato un guasto in rete. Per tale motivo, questo pacchetto reca con se il motivo della chiusura del circuito.

9-2

La trasmissione dati, regolata da un meccanismo di controllo di flusso a finestra, su ogni canale logico e per ciascun verso di trasmissione. Ogni pacchetto dati, contiene due numeri di sequenza indicati con P(S) e P(R) (vedi Fig. 9.1-2), i quali seguono un conteggio modulo 8 ed indicano rispettivamente, il numero di sequenza del pacchetto spedito, ed il numero di sequenza del prossimo pacchetto atteso. Inoltre P(R) conferma in modo cumulativo lavvenuta, e corretta ricezione dei pacchetti fino a P(R)-1. Lampiezza della finestra in trasmissione un parametro definito allatto del contratto, o durante la fase di apertura di un circuito virtuale (indicandola nel campo relativo alle prestazioni dutente), ma in ogni caso la sua dimensione pu essere pi di 7. La finestra in ricezione ha invece dimensione unitaria, ci implica che i pacchetti sono accettati solo in ordine. Inoltre nel caso in viene ricevuto un pacchetto fuori sequenza, non si ricorre ad una procedura di ritrasmissione come per il livello 2, ma si avvia una procedura di Reset; questultima prevede lazzeramento dei numeri di sequenza relativi al circuito virtuale su entrambe le interfacce e la distruzione di tutti i pacchetti appartenenti al circuito virtuale ancora presenti in rete. La procedura di reset in generale avviata ogni qualvolta si verifica un errore di procedura su di un canale logico, mentre nel caso in cui pi canali logici sono colpiti da errori di procedura si attiva la procedura di Restart, la quale chiude tutti i circuiti virtuali attivi e risincronizza tutti i circuiti virtuali permanenti. Nel caso in cui lentit ricevente volesse momentaneamente bloccare la trasmissione di pacchetti su un dato canale logico, pu inviare un pacchetto di RECEIVE NOT READY (RNR). Una volta pronta, per ricevere nuovi pacchetti su quel dato canale virtuale gli baster inviare un RECEIVE READY (RR). Il pacchetto RR inoltre usato per confermare la corretta ricezione di un pacchetto, nel caso in cui non vi traffico nella direzione opposta su cui fare il piggybaking.

9-3

Fig. 9.1-2 - Formato dei Pacchetti del Livello 3 della X.25. 9-4

Fig. 9.1-3 - Fasi del colloquio tra due entit del Packet Layer

Usualmente il controllo di flusso ha un azione locale, ossia fatto tra DTE e DCE, per ,nel caso in cui il bit D (delivery confirmation) dellheader (vedi Fig. 9.1-2) settato ad 1, allora il controllo di flusso ha un azione end-to-end e, di conseguenza il numero di sequenza P(R) diviene la conferma del fatto che il DTE remoto ha ricevuto correttamente tutti i pacchetti sino al P(R)-1. Il packet Layer 9-5

prevede inoltre la presenza dei pacchetti di INTERRUPT. Questi ultimi consentono linvio di piccoli pacchetti di controllo (al pi 32 bytes) i quali sfuggono al controllo di flusso. Una volta inviato un pacchetto di interrupt, necessario attendere un pacchetto di INTERRUPT CONFIRMATION prima di poterne inviare un altro, ci per evitare che la rete possa essere invasa da pacchetti non soggetti al controllo di flusso (infatti ci potrebbe condurre alla congestione). Nel 1980, in seguito a forti spinte da parte degli USA e del Giappone, il CCITT ha aggiunto alla raccomandazione X.25 la possibilit di avere anche un servizio di tipo datagram, Ma nel 1984, notando che nessuno aveva effettivamente implementato il sevizio di tipo datagramma, esso fu rimosso dalla raccomandazione. Tuttavia per soddisfare chi richiedeva un servizio connectionless, nella raccomandazione del 1984 stato introdotto il servizio di fast select. In questo caso il pacchetto di CALL REQUEST pu contenere un campo dati la cui dimensione massima di 128 byte. La rete tratta il pacchetto di CR come il tentativo di instaurare un circuito virtuale. Il DTE chiamato pu rifiutare la chiamata inviando un pacchetto di CLEAR REQUEST avente campo dati esteso ad un max di 128 byte, oppure pu accettarla stabilendo come di norma un circuito virtuale. Sin ora abbiamo descritto il protocolli che un DTE deve utilizzare per accedere ad una rete, ma non abbiamo fatto alcuna ipotesi sui protocolli usati allinterno della rete, ne sui servizi che essi devono fornire. Tipicamente il protocollo di livello 3 utilizzato dallutente per interconnettersi alla rete viene detto Protocollo Calcolatore-Rete, mentre quello usato dai nodi della rete, per trasportare i pacchetti da un DTE allaltro viene detto Protocollo Nodo-Nodo. I protocolli Nodo-Nodo non sono oggetto di normative internazionali, quindi in linea di principio essi possono essere scelti in base a decisioni prettamente sistemistiche. Ma daltro canto per ragioni di semplicit conveniente scegliere un protocollo nodo-nodo simile a quello calcolatore rete. Notiamo per che la scelta dello stesso protocollo non implica che i servizi forniti dal protocollo nodo-nodo, debbano essere uguali a quelli forniti dal protocollo calcolatore-rete. Infatti il servizio offerto dal protocollo nodo-nodo potrebbe essere di tipo datagram, anche se il servizio offerto ai clienti di tipo virtual circuit. Il CCITT ha definito la raccomandazione X.75 per linterconnessione di reti X.25, ma ciononostante, essa viene spesso usata per interconnettere i nodi di una stessa rete. Come mostrato in Fig. 9.1-4, la raccomandazione X.75 definisce linterfaccia STE-STE (Signaling Terminal Equipment).

X.25 Subnet

STE

STE

X.25 Subnet

X.75

Fig. 9.1-4 - Interfaccia su cui opera la raccomandazione X.75.

9-6

Come la raccomandazione X.25, anche la X.75 strutturata in tre livelli. Il Packet Layer della X.75 molto simile a quello della X.25, esso prevede per esempio che il colloquio sia suddiviso in tre fasi quali apertura di una connessione, trasferimento dati e chiusura le quali risultano essere identiche a quelle viste per la X.25. Altre raccomandazioni emanate dal CCITT nellambito delle PSPDN sono riportate in Tabella 9.11. Tabella 9.1-1 Raccomandazione Descrizione Definisce la modalit di interconnessione di un terminale asincrono a carattere ad una rete X.25. Richiede in particolare luso di unattrezzatura addizionale detta PAD (Packet Assembler Disassembler) che ha il compito di assemblare i caratteri ricevuti dal terminale ed inserirli in pacchetti adatti ad essere inviati su una rete X.25, e viceversa di disassemblare i pacchetti ricevuti in singoli caratteri da inviare al terminale. Definisce le operazioni ed i servizi forniti dal PAD Questa raccomandazione definisce le regole di interazione tra un PAD ed una DTE remoto. essenzialmente identica alla X.25, e lunica differenza consiste nella presenza di procedure aggiuntive necessarie per gestire la presenza del PAD tra il terminale ed il DTE remoto.

X.28

X.3

X.29

Infine doveroso citare che per le reti pubbliche a commutazione di circuito (CSPDN), il CCITT ha emanato la raccomandazione X.21. Anche la raccomandazione X.21 costituita da 3 livelli e definisce per linterfaccia DTE/DCE, le caratteristiche fisiche e le procedure da seguire per stabilire una connessione, su una rete a commutazione di circuito ed a trasmissione sincrona.

9-7

9.2 Controllo della Congestione


Allaumentare del carico offerto alla rete, segue un aumento del throughput solo entro un certo intervallo di valori. Superata una data soglia, nella rete si manifesta un fenomeno detto congestione. Nel caso in cui il carico offerto alla rete continua ad aumentare, la congestione pu condurre ad una condizione di deadlock Gli effetti della congestione sono essenzialmente due: 1. Aumento del time delay dei pacchetti. 1. Diminuzione del throughput.

Fig. 9.2-1 - Andamento del throughput allaumentare del traffico offerto alla rete.

In Fig. 9.2-1, mostrato landamento del throughput in dipendenza del carico offerto. In sostanza la congestione insorge ogni qual volta il carico offerto risulta essere maggiore di quello che la rete pu smaltire. Le tecniche utilizzabili per il controllo della congestione possono essere classificate in: Tecniche di Controllo Preventivo. Tecniche di Controllo della Congestione (Reattive). Le tecniche di controllo preventivo si preoccupano di garantire che la congestione non avvenga mai, imponendo opportuni vincoli sul traffico generato dalle varie stazioni. Mentre le tecniche di controllo della congestione, ammettono che la congestione possa verificarsi e si preoccupano quindi di rilevarla e combatterla. Volendo fare unanalogia con i sistemi di controllo queste tecniche sono analoghe rispettivamente, al controllo in catena aperta (Open Loop) ed al controllo in catena chiusa (Closed Loop), esse condividono quindi, i vantaggi e gli svantaggi. 9-8

9.2.1 Tecniche Reattive Le tecniche reattive, si preoccupano di eliminare la congestione una volta che questultima sia insorta. Quindi, tutti i meccanismi di controllo della congestione appartenenti a questa categoria, devono necessariamente prevedere una strategia per la rilevazione della congestione, ed una per la sua eliminazione. 9.2.1.1 Scarto dei Pacchetti Questa tecnica, pu essere applicata sia a reti di tipo datagram che a reti di tipo virtual circuit. Lidea alla base di questo meccanismo quella per cui il generico nodo della subnet scarta i pacchetti entranti ogni qual volta i sui buffer sono esauriti. Daltro canto scartare il pacchetto brutalmente non conveniente, in quanto esso potrebbe contenere un ACK piggybacked o potrebbe esso stesso essere un ACK, e ci porterebbe alla liberazione di uno o pi buffer. Conviene quindi mantenere libero un buffer per ogni input line in modo tale da poter controllare il contenuto dei pacchetti entranti, prima di procedere alleventuale scarto. Un altro accorgimento che pu migliorare lefficacia di questo metodo, quello di fissare un numero massimo di buffer che possono essere associati ad ogni linea duscita.

Input Lines

Output Lines

Input Lines

Output Lines

Switch
available

Switch
available

Fig. 9.2-3

Fig. 9.2-2

Potrebbe infatti accadere, come mostrato in Fig. 9.2-3, che una data linea di uscita monopolizzi tutti i buffer, costringendo il nodo a scartare pacchetti destinati alle linee rimanenti. La scelta del numero di buffer ottimo da associare ad ogni linea di uscita dipende, in modo abbastanza complicato, dal traffico medio della linea. Irlang, ideatore di questa strategia, ha trovato una regola euristica che consente di determinare quanti buffer associare al pi ad ogni linea. Detto k il numero di buffer (esclusi quelli associati alle input lines) e s il numero di output lines, il numero massimo di buffer da allocare alla generica linea duscita : m = k s

In questo caso lo switch preso in esame poco fa si troverebbe nella situazione di Fig. 9.2-2 (avendo scartato tre pacchetti destinati alla prima output line). 9-9

9.2.1.2 Choke Packets Questa tecnica prevede che ogni nodo della subnet, controlli lutilizzazione delle sue output lines. Nel caso in cui il valore dellutilizzazione supera una certa soglia, la output line viene considerata in Warning State. Per ogni nuovo pacchetto arrivato, si controlla la sua output line, se questultima risulta essere in warning state allora il nodo invia un choke packet (pacchetto di strozzamento), contenente la destinazione del pacchetto, allhost che lha generato. Un opportuno bit del pacchetto viene settato, in modo tale che esso non generi altri choke packet durante il suo cammino, dopodich esso viene inoltrato come di norma. Lhost, ricevendo il choke packet, ridurr il suo rate di trasmissione di un certo fattore. Fatto ci ignorer tutti i choke packet che gli giungono per un certo intervallo di tempo. Trascorso questo intervallo di tempo, se lhost riceve un altro choke packet diminuisce ulteriormente il suo rate di trasmissione, altrimenti presuppone che la congestione sia finita e comincia ad aumentare nuovamente il rate di trasmissione. Vi sono alcune varianti di questo algoritmo di controllo che, al posto di usare lutilizzazione delle linee duscita al fine della rilevazione della congestione usano la lunghezza media dei buffer, o lutilizzazione dei buffer. 9.2.2 Tecniche Preventive Come accennato precedentemente, le tecniche preventive tentano di evitare linsorgere della congestione. Nel caso in cui la subnet sia di tipo virtual circuit, una soluzione al problema della congestione potrebbe essere quella di pre-allocare, durante la fase di setup del VC (Virtual Circuit), le risorse necessarie. Nel caso in cui non vi fossero risorse sufficienti sul dato path, si potrebbe cambiare percorso o eventualmente abortire la connessione. Questo schema elimina la congestione, ma causa daltro canto uno scarso utilizzo delle risorse. 9.2.2.1 Controllo Isaritmico Questo metodo, parte dallosservazione che, il problema alla base della congestione leccesso di pacchetti nella subnet. Quindi in linea di principio per evitare la congestione basterebbe mantenere il numero di pacchetti al disotto di una certa soglia. In particolare, questo metodo viene definito isaritmico, perch mantiene costante il numero di pacchetti presenti nella rete. Per mantenere il numero di pacchetti costante, si fanno circolare nella rete dei permessi. Ogni qual volta un nodo deve spedire un pacchetto, deve prima catturare un permesso e distruggerlo, sar quindi la stazione ricevente a rigenerare il permesso, non appena avr ricevuto il pacchetto. Osserviamo che, con questo metodo il numero totale di pacchetti contemporaneamente presenti nella rete, non pu mai superare il numero di permessi inizialmente presenti. Questa tecnica garantisce che la rete nel suo insieme non sia mai congestionata, ma non esclude il fatto che un singolo nodo possa essere inondato di pacchetti. Altri punti deboli di questa tecnica sono costituiti dal fatto che la distribuzione dei pacchetti abbastanza trickly, ed inoltre molto difficile mantenere un conteggio dei permessi presenti in rete, in modo da rigenerare gli eventuali permessi che si sono distrutti. 9.2.2.2 Controllo Window Based Alcuni protocolli di rete tentano di risolvere il problema della congestione utilizzando dei meccanismi per il controllo di flusso. Ciononostante, bisogna evidenziare che, il controllo di flusso 9-10

serve ad adattare il rate con cui il sender trasmette, a quello con cui il receiver pu ricevere, in modo tale che il receiver non venga inondato di pacchetti. Mentre il controllo della congestione, serve a garantire che il traffico offerto alla rete non superi le capacit della rete stessa. Il controllo window based, tenta di risolvere il problema della congestione mediante una tecnica (di controllo di flusso) a finestra. Questo metodo pu essere usato nel caso di reti di tipo VC. Supponendo che il controllo a finestra elimini la congestione, vediamo ora di ricavare un modello analitico del circuito virtuale, e di trovare quindi, lampiezza ottima della finestra3 (nel senso che ottimizza il rapporto throughput, time delay).

7 6

2 5

VC 1

VC 2

VC 3

Fig. 9.2-4 - Circuiti Virtuali da S a D.

In Fig. 9.2-4 mostrata una ipotetica subnet, in cui sono evidenziati tre circuititi virtuali (VC) da S a D, questi ultimi condividono alcuni link. Se poniamo la nostra attenzione su un singolo VC, il quale passa per M nodi, esso, pu essere modellato come una serie di M code (vedi Fig. 9.2-5). Supponiamo che sia il rate con cui arrivano i pacchetti alla sorgente S, supponiamo inoltre che i ritardi di propagazione siano trascurabili, in modo tale che le uniche fonti di ritardo siano il tempo di attesa in coda ed il transmission time. Sia inoltre i (packet/sec) la capacit trasmissiva delliesimo (1 i M) link (si suppone che il termine i tenga conto del fatto che per un dato link possano passare pi VC, e sia quindi opportunamente scalato).

La dimensione della finestra del livello 3 deve essere inferiore di quella del livello 2.

9-11

Source

Stage 1
1

Stage 2
2

Stage M
M

Destination

Fig. 9.2-5 - Modello del Circuito Virtuale. Unaltra ipotesi essenziale, per rendere il problema trattabile, consiste nel supporre che sia valido il principio di indipendenza di Kleinrock. In virt di questa assunzione, la serie di code presenti in Fig. 9.2-5, pu essere considerata come una cascata di sistemi M/M/1, tra di loro indipendenti, sicch il modello del VC, costituisce un caso particolare di Open Queueing Network, il quale, in tali ipotesi, ammette una soluzione in forma prodotto. Ricordiamo che ci vuol dire che, la probabilit di stato della rete di code, pu essere scritta come prodotto delle probabilit di stato di ogni singola coda. Sin ora, abbiamo ricavato un modello per il circuito virtuale, ma le nostre intenzioni erano quelle di ricavare la dimensione ottima della finestra. Dobbiamo ora, ricavare un modello per il meccanismo di sliding window. Supponiamo che la dimensione della finestra sia N, e supponiamo inoltre che i pacchetti siano confermati uno per uno (non vi sono ACK cumulativi), non appena arrivano a destinazione (lACK end-to-end). Supponiamo infine che, il tempo di propagazione degli ACK sia trascurabile. Possiamo allora modellare il meccanismo di controllo sliding window, con la rete di code chiusa, mostrata in Fig. 9.2-6, in cui la sorgente e la destinazione sono connesse tramite una coda avente service rate pari a , che rappresentava (vedi Fig. 9.2-5) linput rate del circuito virtuale.

Source

1
1

2
2

M
M

Destination

N Packets

M+1

Fig. 9.2-6 - Modello dello Sliding Window Control. 9-12

Osserviamo che nel modello mostrato in Fig. 9.2-6, il numero di pacchetti circolanti in rete costante, ed pari ad N. Vediamo ora di capire, come il modello appena mostrato carpisca il funzionamento del meccanismo di sliding window. Se vi sono N pacchetti in viaggio lungo il VC, la coda M+1, risulta essere vuota, e non pu servire altri pacchetti. Non appena uno dei pacchetti arriva a destinazione, un cliente arriva di conseguenza alla coda M+1, la quale pu servirlo con rate . Daltro canto, se vi sono P (P<N) pacchetti lungo il VC, allora N-P saranno nella coda M+1. Prima di procedere con lanalisi di questo modello, vediamo di fare qualche considerazione di tipo qualitativo, relativamente alla dipendenza del time delay e del throughput da N. Osserviamo innanzitutto che, senza alcun controllo, allaumentare di (vedi Fig. 9.2-5), le code presenti nei nodi del VC comincerebbero a crescere, inducendo una rapida crescita del time delay end-to-end, a cui seguirebbe la congestione. Con il controllo sliding window, poich il numero di pacchetti presenti sul VC al pi N, la congestione limitata. Inoltre, al diminuire di N, decresce il time delay end-to-end, ma diminuisce anche throughput. Analogamente, allaumentare di N, si ha una crescita del time delay end-to-end, ed un aumento del throughput. quindi necessario scegliere N in modo tale da avere un compromesso ragionevole tra throughput e time delay. Se consideriamo M, ossia il numero di switch attraversati dal VC, si intuisce che allaumentare di M (fissato N) aumenta il minimo time delay end-to-end. Si ha inoltre una diminuzione del throughput, in quanto il tempo necessario per attraversare il VC aumenta con M. Poich a noi interessa la valutazione di grandezze end-to-end, quali il throughput ed il time delay, per analizzare il sistema a code di Fig. 9.2-6, possiamo utilizzare il seguente risultato: Teorema di Norton: Data una rete di code, che ammette una soluzione in forma prodotto, essa puo essere sostituita da una singola coda state dependent, ottenuta mettendo in cortocircuito i punti estremi della rete di code, e calcolando il throughput di cortocircuito u(n) (ottenuto facendo circolare n clienti nella rete cortocircuitata, vedi Fig. 9.2-7, Fig. 9.2-8, Fig. 9.2-9).

Queueing Network

N Packets

Fig. 9.2-7 - Rete di code su cui applicare Norton.

9-13

Queueing Network

u(n) n Packets

Fig. 9.2-8 - Applicazione del teorema di Norton.

u(n) B

N Packets

Fig. 9.2-9 - Rete equivalente ottenuta dopo lapplicazione del teorema di Norton.

Prima di applicare il teorema di Norton alla rete di Fig. 9.2-6, vediamo di introdurre qualche altra ipotesi semplificativa. Supponiamo che i rate di servizio i siano tali che:

i =

i = 1..M

Ci equivale a dire che tutti i link che costituiscono il VC sono della stessa capacit, e che in media, ognuno di essi attraversato dallo stesso volume di traffico. La rete a cui applicare il teorema di Norton e dunque quella mostrata in

9-14

Source

Destination

N Packets

M+1

Fig. 9.2-10 - Modello semplificato dello Sliding Window

Applicando il teorema di Norton si trova che il rate di servizio, u(n), del sistema a coda state dependent paria a: n n + ( M 1) Eq. 9.2-1

u( n) =

Si ricava inoltre che la probabilit di stato della coda state dependent data da: pn M 1 + n n = n p0 dove =/, mentre p0 dato dalla relazione:
+ M 1 + n n 1 = n p0 n= 0

Eq. 9.2-2

Eq. 9.2-3

Nota la distribuzione della probabilit di stato (vedi Eq. 9.2-2) possiamo ora ricavare tutte le statistiche end-to-end che ci interessano. Si ha quindi che il throughput pu essere calcolato mediando gli N possibili service rate:
N

= pn u ( n )
n =1

Eq. 9.2-4 9-15

Mentre il valore medio dellend-to-end time delay E(T) pu essere ricavato, sfrutando la formula di Little, come il rapporto tra il numero medio di pacchetti in coda E(n), ed il throughput :

E ( n) E (T ) = =

np
n =1

Eq. 9.2-5

A partire dalle relazioni Eq. 9.2-4 e Eq. 9.2-5 si possono trovare le performance ottenute con lo Sliding Window control, al variare di N e . Al fine di ottenere qualche indicazione pi utile sul dimensionamento della finestra, consideriamo il caso in cui il rate con cui vengono generati i pacchetti tende ad infinito, ossia supponiamo che +. In tal caso, non appena un pacchetto arriva a destinazione, ed confermato, un altro pacchetto immediatamente immesso sul VC, quindi la coda state dependent, in questo caso limite si trova sempre nello stato N. Da ci segue che E(n) = N, e di conseguenza il throughput risulta essere:

=
Mentre per E(T) si ottiene:

N N + ( M 1)

Eq. 9.2-6

E (T ) =

M 1+ N

Eq. 9.2-7

Se si combinano le relazioni Eq. 9.2-6Eq. 9.2-7 si ottiene la seguente espressione, che lega E(T) a : ( M 1) 1 Eq. 9.2-8

E ( T ) =

Landamento di E(T) e / al variare di N, fissato M = 3 mostrato in Fig. 9.2-11.

9-16

Fig. 9.2-11 - Dipendenza del Time delay e del throughput da N, per M = 3, e +. Dalla Eq. 9.2-7 si vede chiaramente che E(T) dipende linearmente da N, mentre dallEq. 9.2-6 si nota che il throughput, inizialmente cresce proporzionalmente a N, ma poi dopo un certo punto tende a saturare4. Se invece consideriamo lEq. 9.2-8, si vede chiaramente come per che tende a , variazioni di danno luogo a grandi variazioni di E(T), ci ben visibile in Fig. 9.2-11. Il valore di N che garantisce il miglior trade off pu essere ricavato massimizzando il rapporto /E(T). Questo rapporto talvolta chiamato potenza del sistema. Il valore che si ottiene N=M-1. Se si considera il caso pi realistico in cui =, allora come se in Fig. 9.2-10 fossero presenti M+1 code piuttosto che M. Questo modello del tutto analogo a quello che si aveva nel caso in cui +, con lunica differenza che in tal caso vi sono M+1 code. Si ha quindi che il throughput, in virt dellEq. 9.2-6, dato da:

N N+M

Eq. 9.2-9

Provate a tracciare il grafico dellEq. =

N , per esempio scegliendo = 1 M = 3, assomiglia molto alla N + ( M 1)

carica di un condensatore.

9-17

Nel caso in esame, lEq. 9.2-7 considerata per M+1 code non costituisce lend-to-end time delay tra sorgente e destinazione; ad essa deve essere sottratto il ritardo medio introdotto dalla (M+1)-esima coda. Ma essendo le code identiche, i ritardi medi saranno uguali, e di conseguenza basta moltiplicare quanto ottenuto dallEq. 9.2-7 per M/(M+1)5, ottenendo: M (M + N) M +1 Eq. 9.2-10

E ( T ) =

Utilizzando un ragionamento analogo al precedente si arriva alla conclusione che, nel caso in cui =, il valore di N che garantisce il miglior trade off tra throughput e time delay N=M. Per reti densamente connesse, il numero medio di nodi attraversati da un VC tipicamente appartenente allinsieme H={2,3,4}. La dimensione della finestra, viene quindi scelta considerando gli elementi dellinsieme H, e la classe di throughput dellutente.

Detto d il ritardo medio sperimentato dal generico pacchetto in una delle (M+1) code, il ritardo totale, in virt dellindipendenza, (M+1)d.

9-18

9.3 Tecniche di Routing


Una delle funzioni principali del Network Layer, quella di instradare (route) i pacchetti dalla sorgente alla destinazione. A tal fine, ogni nodo mantiene una tabella di instradamento6 in cui ad ogni coppia (source, dest) fa corrispondere una (o pi) linee duscita. In particolare nelle reti di tipo datagram il problema del routing si pone per ogni pacchetto, mentre nelle reti di tipo virtual circuit, il problema si pone solo per il primo pacchetto di una connessione, tutti gli altri messaggi fluiranno sul circuito virtuale tracciato da questultimo. In questo caso si usa parlare di Session Routing, in quanto il percorso scelto rimare valido per unintera sessione dutente. Gli algoritmi di routing possono essere distinti in due categorie: Algoritmi Non Adattativi. Algoritmi Adattativi. Gli algoritmi Non Adattativi, prendono le decisioni di instradamento senza tenere conto delle condizioni attuali della rete. I percorsi di routing sono in tal caso calcolati off line e quindi scaricati sui router quanto la rete attivata. Mentre, gli algoritmi adattativi, tengono conto delle condizioni attuali della rete, al fine di determinare il percorso ottimo tra due nodi. Questi ultimi si dividono in centralizzati e distribuiti. 9.3.1 Algoritmi Non Adattativi 9.3.1.1 Algoritmo di Dijkstra Poich la subnet costituita da un insieme di nodi collegati da dei link, ad essa pu essere associato un grafo G=(V,E), dove V linsieme dei vertici, mentre E una relazione binaria su V. Tipicamente E viene detto insieme degli archi, ed costituito da coppie ordinate di vertici (u,v). Tipicamente al grafo G, associata una funzione peso w:ER, questa funzione rappresenta una misura della distanza tra i due nodi. Tutti gli algoritmi che risolvono il problema dei cammini minimi con sorgente singola7 per i grafi pesati8 sono dei buoni candidati per essere utilizzati come algoritmi di routing. Gli algoritmi di cammino minimo normalmente sfruttano la propriet che un cammino minimo tra due vertici contiene al suo interno altri cammini minimi (Principio di Ottimalit). Lalgoritmo di Dijkstra, come altri, usa inoltre la propriet di Relax. Ci consiste nel mantenere per ogni nodo del grafo un attributo d[v], vV che costituisce un limite superiore al costo di un cammino minimo dalla sorgente s al vertice v. In genere d[v] viene detto stima del cammino minimo. Tipicamente per ogni nodo si mantiene anche un altro attributo che rappresenta il suo predecessore nel cammino ottimo che lo congiunge ad s, questultimo viene in genere indicato con [v], vV. La stima del cammino minimo e del predecessore per i vertici di un grafo sono cos inizializzate:

Esistono per degli algoritmi di routing che non richiedono la presenza di tabelle di instradamento sui nodi della rete, come per esempio il Flooding e lalgoritmo Hot Potato. 7 Il problema della ricerca dei cammini minimi con sorgente singola, consiste nella determinazione dei percorsi ottimi, nel senso che ottimizzano una qualche funzione costo, che connettono un nodo del grafo scelto come sorgente ed i rimanenti nodi. 8 Nel caso in cui il grafo non fosse pesato e si volesse semplicemente minimizzare il numero di hops, basta usare lalgoritmo di BFS (Breadth-First Search) il quale, fissata una sorgente, crea lalbero BFS. Questultimo contiene i cammini minimi tra la sorgente ed i restanti nodi.

9-19

,QLWDOL]H *V EHJLQ IRUHYHU\Y9>*@GR EHJLQ G>Y@ >Y@QLO HQG G>V@ HQG Il processo di rilassare (relax) un arco (u,v) consiste nel verificare se si pu migliorare il cammino minimo per v trovato sino a quel momento, passando per u, ed eventualmente aggiornare d[v] e [v]. Il relax di un arco pu essere cos descritto: 5HOD[ XYZ EHJLQ LI G>Y@!G>X@Z XY WKHQ Z XY qLOSHVRGHOODUFR XY   EHJLQ G>Y@G>X@Z XY  >Y@X HQG HQG In particolare nellalgoritmo di Dijkstra ogni arco viene rilassato una sola volta. Lalgoritmo di Dijkstra mantiene un insieme S contenente i vertici, il cui cammino minimo dalla sorgente s gi stato determinato. Lalgoritmo non fa altro che selezionare un vertice uV-S con la minima stima del cammino minimo, inserire u in S e quindi rilassare tutti gli archi uscenti da u. Supponendo che il grafo G sia rappresentato mediante liste di adiacenza9, lalgoritmo di Dijkstra pu cos essere espresso: 'LMNVWUD *ZV EHJLQ ,QLWLDOL]H *V  6 49>*@ ZKLOH 4 GR EHJLQ X([WUDFW0LQ 4  66^X` IRUHYHU\Y$GM>X@GR 5HOD[ XYZ  HQG HQG In questa procedura Adj[u] rappresenta la lista di adiacenza associata al vertice u, mentre ExtractMin(Q) una funzione che sceglie da Q il nodo avente la minima stima di cammino minimo.
9

La rappresentazione di un grafo mediante liste di adiacenza prevede che ad ogni nodo sia associata una lista contenente i nodi connessi ad esso connessi. Ci consente di ridurre notevolmente la quantit di memoria necessaria alla memorizzazione di un grafo, soprattutto nel caso in cui il grafo non densamente connesso.

9-20

Dovrebbe risultare apparente al lettore che, lalgoritmo di Dijkstra un algoritmo greedy (goloso), infatti, ad ogni passo si muove verso la soluzione che sembra essere la migliore, scegliendo il nodo u con la stima di cammino minimo rispetto ad s. Ossia sceglie sempre la soluzione localmente ottima, senza preoccuparsi se tale scelta porter allottimo globale. Ciononostante lalgoritmo di Dijkstra fornisce la soluzione ottima. Notiamo che il percorso ottimo che congiunge il vertice v alla sorgente s ottenuto seguendo la lista dei predecessori partendo da v. Lalgoritmo di Dijkstra pu essere usato off line per determinare le tabelle di instradamento dei router, in una tecnica non adattativa. In Fig. 9.3-1 riportato un esempio che rappresenta una esecuzione dellalgoritmo di Dijkstra. La sorgente il vertice pi a sinistra. Le stime di cammino minimo sono indicate allinterno dei vertici, e gli archi grigi indicano i valori del campo predecessore: se larco (u,v) grigio, allora [v]=u. I vertici neri sono nellinsieme S, mentre i vertici bianchi sono nella coda con priorit Q=V-S. In Fig. 9.3-1 (a) riportata la situazione subito prima della prima iterazione del ciclo while. Il vertice in grigio ha il valore minimo di d ed scelto come vertice u. Nelle figure da (b) ad (f), riportata la situazione dopo ogni iterazione del ciclo while dellalgoritmo. Il vertice in grigio in ogni fase scelto come vertice u, della prossima iterazione. I valori d e nella Fig. 9.3-1(f) sono i valori finali.

9-21

Fig. 9.3-1

9-22

Routing Multicammino Questo algoritmo prevede di calcolare per ogni coppia, oltre al cammino ottimo, un certo numero di percorsi subottimi. Quindi ogni router, ha per ogni destinazione un certo numero di alternative, siano m le differenti possibilit. La scelta di una delle alternative potrebbe essere probabilistica, ossia la i-esima alternativa scelta dal router con probabilit pi. Oppure la scelta di un cammino potrebbe dipendere dal tipo di traffico. Inoltre se i cammini alternativi sono scelti in modo tale da essere disgiunti, allora linstradamento multicammino pu essere usato anche per aumantare laffidabilit della rete. 9.3.1.2 Flooding Il flooding un algoritmo non adattativo, in cui ogni pacchetto ricevuto da un router viene rispedito su tutte le linee uscenti, eccezione fatta per la linea da cui il pacchetto arrivato. Il problema principale di questo algoritmo il fatto che esso genera molti duplicati, e bisogna quindi usare qualche tecnica per attenuare questa tendenza. Tipicamente, per limitare la vita di un pacchetto si usa un contatore di hop, che viene decrementato hop by hop, non appena questo contatore raggiunge lo zero il pacchetto viene distrutto. Idealmente il contatore dovrebbe essere inizializzato con il numero di hop contenuti nel cammino tra sorgente e destinazione, ma nel caso in cui tale numero non dovesse essere noto, esso pu essere inizializzato con il diametro, in hop, della subnet. Il vantaggio principale del flooding la sua robustezza. Infatti questa tecnica per instradare un pacchetto da una data sorgente ad una destinazione prova tutti i percorsi possibili, quindi anche in presenza di gravi danni alla subnet, se esiste ancora un path che collega sender e receiver, il flooding lo scover. Una variante del flooding costituita dal selective flooding, in cui ogni router ricevendo un pacchetto, lo inoltra solo sulle linee duscita che vanno nella direzione della destinazione. Osserviamo infine che il flooding pu in ogni caso essere usato per valutare le performance di un algoritmo di routing. Infatti il flooding, sceglie sempre il percorso migliore, in quanto prova in parallelo tutti i possibili path. Come conseguenza nessun algoritmo pu produrre un ritardo minore (se si trascura loverhead introdotto dal processo di flooding stesso). 9.3.1.3 Flow-Based Routing Il flow based routing, oltre a tenere in considerazione informazioni di tipo topologico, considera anche delle informazioni relative al traffico presente tra i nodi della rete. In alcune reti il flusso medio di dati tra ogni coppia di nodi relativamente stabile e prevedibile. Il flow based routing applicabile in tutti i casi in cui il traffico medio tra i nodi della rete costante, ed noto a priori. In queste condizioni possibile (assumendo valido il principio di indipendenza di Kleinrock) calcolare il ritardo medio sperimentato da un pacchetto per ogni link. A partire dalla conoscenza dei ritardi associati ai vari link possibile quindi determinare il ritardo medio per lintera subnet, inteso come la media pesata dei ritardi sperimentati su ogni link della rete. Quindi il problema del routing si riduce in tal caso a trovare i percorsi che garantiscono il minor ritardo medio per la subnet. Per applicare questo metodo bisogna conoscere la topologia della rete, la matrice del traffico F, il cui generico elemento Fi,j rappresenta il flusso medio tra il nodo i ed il nodo j della rete, e la matrice di capacit delle linee G, il cui generico elemento Gi,j rappresenta la capacit trasmissiva del link che connette il nodo i al nodo j. Infine deve essere fissato un (temporaneo) algoritmo di routing. Per spiegare come funziona questo metodo, consideriamo la rete mostrata in Fig. 9.3-3, in cui i link 9-23

sono etichettati con le loro capacit Ci,j misurate in kbps (supponiamo che le linee siano full duplex).

Fig. 9.3-2: (a) Una subnet in cui gli archi tra i nodi sono etichettati con la capacit del link. (b) Il traffico in pacchetti al secondo e la matrice di routing.

Mentre la matrice mostrata in Fig. 9.3-3, contiene il traffico medio presente tra ogni coppia di nodi ed il percorso di routing da utilizzare per andare da luno allaltro. A partire da questi dati immediato ricavare i vari i associati alle linee della rete. Inoltre supposto che la lunghezza media di un pacchetto sia pari a 1/=800 bits si pu calcolare il ritardo medio associato alli-esima linea come: Ti = 1 Ci i

dove con Ci si intende la capacit delli-esimo link. Nella Tabella 9.3-1 sono riportati i risultati ottenuti nel caso in esame.

9-24

Tabella 9.3-1

Una volta ricavati i delay time associati ai link della subnet (vedi Tabella 9.3-1) possiamo quindi ricavare il ritardo medio per lintera rete, calcolando la media pesata dei vari Ti, in cui il peso wi costituito dalla frazione di traffico passante per la linea i-esima, si ha quindi:

Tnet =

w T
i =1

i i

A questo punto lintero processo pu essere ripetuto, sfruttando un altro algoritmo di routing, finch non si trova la configurazione che garantisce il minimo Tnet.

9.3.2 Algoritmi Adattativi 9.3.2.1 Routing Centralizzato Lalgoritmo che presenteremo in questa sezione di tipo adattativo e centralizzato. Esso prevede la presenza di un RCC (Routing Control Center) al quale periodicamente ogni router della rete invia informazioni di stato, quali la lunghezza delle code, lo stato dei nodi vicini, il volume di traffico elaborato su ogni linea etc. Sfruttando la conoscenza della topologia della rete, e le informazioni fornitegli dai vari router, lRRC calcola periodicamente i percorsi ottimi tra ciascun nodo della rete, (usando per esempio lalgoritmo di Dijkstra) quindi genera e distribuisce le nuove tabelle di routing. Nonostante questalgoritmo potrebbe sembrare simpatico, esso soffre di diversi problemi. Uno dei punti deboli di questo schema laffidabilit, infatti se lRCC v in crash le tabelle non possono pi essere aggiornate, un altro problema quello della comunicazione delle nuove tabelle di instradamento, infatti i router pi vicini le riceveranno prima di quelli pi lontani, e ci potrebbe portare ad incoerenze. Infine unaltro punto debole di questo algoritmo la grande mole di traffico concentrate sulle linee che conducono allRCC. 9-25

9.3.2.2 Routintg Isolato Nella sezione precedente abbiamo avuto modo di vedere alcuni dei problemi di cui soffrono gli algoritmi centralizzati. Gli algoritmi di routing adattativi isolati costituiscono una sottoclasse degli algoritmi distribuiti. Questi algoritmi sono caratterizzati dal fatto che le decisioni di instradamento vengono fatte in base a delle informazioni acquisite dai router in modo isolato, ossia senza scambiare messaggi con altri router. Un algoritmo che appartiene a questa categoria quello noto con il nome di Hot Potato. In questo algoritmo quando arriva un pacchetto, esso viene immesso sulla linea duscita avente la coda pi breve. Una variante di questo algoritmo costituita dalla combinazione dellinstradamento statico, con quello di tipo Hot Potato. In tal caso la linea duscita ottimale viene scelta solo se la lunghezza della coda associata non supera un certo massimo, altrimenti si usa la tecnica di instradamento Hot Potato (Esistono molte altre varianti). Un altro algoritmo di instradamento isolato quello di backward learning. In questo algoritmo ciascun pacchetto contiene lidentit del router (R2) di provenienza, insieme ad un time stamp. Ogni qual volta un router (R1) riceve un pacchetto da una data linea, sfruttando il time-stamp, controlla se la stima della distanza tra R1 ed R2 presente nella sua tabella risulta essere maggiore di quella appena misurata. In caso affermativo, aggiorna la tabella associando alla destinazione R2 la linea da cui il pacchetto arrivato. Il problema di questo algoritmo che risulta essere sensibile solo alle buone notizie, infatti nel caso in cui un link dovesse rompersi non vi alcun meccanismo per notificarlo. Per evitare le conseguenze che questo problema potrebbe causare, ad ogni entry della tabella viene associato un timer, e allo scadere del timer, linformazione contenuta nella data entry viene cancellata, cosicch il router costretto ad aggiornare le sue informazioni periodicamente. La cadenza con cui le informazioni vengono aggiornate molto importante, un aggiornamento troppo frequente porta i router ad instradare buona parte dei pacchetti usando dei percorsi la cui qualit sconosciuta, mentre un aggiornamento sporadico rende meno adattativo lalgoritmo. 9.3.2.3 Distance Vector Routing Il Distance Vector Routing un algoritmo adattativo, distribuito e non isolato, che costituiva lalgoritmo di instradamento della rete ARPANET. Questalgoritmo prevede che ogni router mantenga una tabella contenente la migliore stima della distanza per ogni destinazione e la linea su cui instradare i pacchetti li diretti. Questa tabella (a differenza degli algoritmi di tipo isolato), viene aggiornata scambiando informazioni con i router vicini. In Fig. 9.3-3, mostrata la struttura della tabella di routing del nodo A della subnet mostrata nella stessa figura. Per ogni destinazione, la tabella contiene la distanza misurata secondo una qualche metrica quale il numero di hop oppure il time delay etc. Ogni router misura periodicamente la distanza tra se ed i router che gli stanno vicino inoltre ogni T msec il generico router invia a tutti i suoi vicini la lista della distanze stimate per ogni destinazione. A partire dalla conoscenza della distanza tra se ed i suoi vicini, e grazie alle stime ottenute il generico nodo aggiorna la tabella di instradamento, in modo tale da scegliere per ogni destinazione la linea che garantisce una distanza minima.

9-26

Dest. A B C D E F

Length 0 1 1 2 1 2

Line B C C E B

Fig. 9.3-3: Una ipotetica subnet, e la Distance Table per il nodo A (la distanza misurata in hop).

9.3.2.4 Routing Gerarchico Per reti molto grandi non conveniente che ogni router mantenga una tabella di instradamento relativa allintera rete, poich le tabelle di routing crescono proporzionalmente con la dimensione della rete, e gli algoritmi di routing hanno problemi di scalabilit. Si preferisce quindi utilizzare un approccio gerarchico per risolvere il problema del routing. Lidea alla base del routing gerarchico quella di suddividere la rete in Regioni, e far s che ogni router conosca i dettagli della regione di appartenenza, ma non sappia nulla sulla struttura interna delle altre regioni (vedi Fig. 9.3-4). Region 1
A1 E1 B4 B1 D1 C1 C4

Region 4

A4 D4

Region 3
F3

Region 2

A3 E3 G3 B3

A2 C2 D3 B2 C3

Fig. 9.3-4: Suddivisione in regioni di una rete.

9-27

Inoltre ogni router deve sapere verso quale nodo della propria regione inviare il traffico destinato ad unaltra regione. Per esempio la tabella di instradamento del nodo B2 sar del tipo: Tabella 9.3-2 Dest. A2 B2 C2 1 3 4 Line A2 C2 A2 C2 A2 Hops 1 0 1 2 2 5

Osserviamo che se si fosse usata una tecnica di routing non gerarchica le entry della Tabella 9.3-2 sarebbero state 19, mentre ora sono solo 6. Daltro canto lintroduzione di questi livelli gerarchici provoca una crescita dei percorsi di routing, dovuta al fatto che i router non hanno una visibilit globale della rete. Nel caso di reti di dimensioni notevoli possibile utilizzare differenti livelli gerarchici, in particolare Kamoun e Kleinrock nel 1979 hanno scoperto che il numero ottimo di livelli gerarchici per una rete costituita da N router ln N. Gli stessi hanno mostrato che con tale scelta, laumento della lunghezza media dei percorsi di routing introdotta dal routing gerarchico tipicamente accettabile.

9.4 Internetworking
Lo scenario odierno caratterizzato dalla presenza di differenti reti, basate su principi e protocolli diversi tra loro. Di conseguenza per rendere queste reti interoperabili, ossia per rendere possibile lo scambio di informazioni tra utenti connessi a reti differenti, necessario risolvere una serie di problemi (spesso contrastanti tra loro) detti di internetworking. Si definisce internet10 linterconnessione di due o pi reti, dette in questo caso subnetwork, mediante opportuni dispositivi detti Intermadiate Systems. Tipicamente il nome associato allintermediate system, dipende dal livello a cui esso opera per rendere possibile linterconnessione. In particolare si usa fare la seguente classificazione: Repeaters: Opera a livello fisico . Bridge: Opera a livello data link. Router: Opera a livello di rete. Gateway: Opera a livello di trasporto o superiore. I repeaters operando a livello fisico, possono semplicemente agire sul segnale che viaggia sul mezzo trasmissivo, di conseguenza essi vengono usati per amplificare o rigenerare il segnale. Chiaramente i repeaters possono essere usati solo per aumentare lestensione di una rete, ma non per interconnettere reti differenti (questi dispositivi non operano alcuna conversione di protocollo).

10

Bisogna stare attenti a non confondere il termine internet associato allinterconnessione di pi subnet secondo una certa strategia di internetworking, con la rete Internet su cui tutti noi surfiamo, che adotta come protocollo di internetworking lIP (internet Protocol).

9-28

I bridge operano a livello 2, possono quindi essere usati per interconnettere reti che differiscono a livello data link. Questi dispositivi si comportano come dei nodi di store and foreward, infatti quando devono inoltrare una frame da una subnet 1 ad una subnet 2, ricevono interamente la frame, verificano il checksum, rendono il formato della frame compatibile con quello della subnet 2, eventualmente aggiungendo o eliminando campi, e quindi inoltrano la frame. I bridge, in linea con i principi di protocol engineering non intervengono in alcun modo sul formato dei pacchetti11, quindi due reti possono essere interconnesse mediante bridge solo se sono uguali a partire dal livello di rete in poi. Lunica differenza sostanziale tra bridge e routers che questi ultimi operano a livello di rete, quindi possono essere usati per connettere reti differenti. Analogamente i gateway operando dal livello di trasporto, in su, possono essere usati per connettere reti a diversi livelli. In particolare i gateway che connettono reti a livello superiore da quello di trasporto vengono spesso detti application gateway. 9.4.1 Problematiche di Internetworking Nellinterconnessione di pi reti bisogna, per quanto possibile, rendere trasparente la presenza di reti diverse tra loro, e fornire allutente la visione di un unica rete, linternet. Ci significa che linternet dovr fornire ai suoi utenti un ben definito servizio. Daltro canto, poich le reti che costituiscono linternet sono in genere differenti, bisogna costruire i servizi forniti dalla internet a partire dai servizi forniti dalle varie reti. Vedremo ora quali sono le problematiche principali dellinternetworking. Una delle prime decisioni che deve essere presa quella relativa al tipo di servizio che linternet dovr fornire. Le possibilit sono chiaramente un servizio di tipo connection-less, oppure un servizio di tipo connection oriented. Una volta scelto il tipo di servizio, bisogna considerare come armonizzarlo con i servizi forniti dalle reti di cui linternet costituita. Infatti potrebbero essere presenti nellinternet, reti che forniscono solo un servizio connection-less di tipo best try, insieme ad altre reti che magari forniscono un servizio connection oriented molto sofisticato. Le reti che costituiscono linternet potrebbero usare schemi di indirizzamento differenti, bisogna quindi fornire uno schema di indirizzamento globale per linternet, in modo tale che un utente possa essere identificato in modo univoco allinterno dellintera rete. Un altro problema che ogni rete ha un limite massimo alla dimensione dei pacchetti, questi valori differiscono tipicamente di rete in rete. Ci implica che bisogner prevedere qualche strategia di frammentazione e riassemblamento dei pacchetti. Altri problemi sono inoltre legati ai differenti meccanismi di flow control ed error control che possono essere usati nelle varie reti. Altri problemi da risolvere hanno a che vedere con la gestione del multicasting nelle reti in cui non presente, la gestione dei parametri di QoS etc.

9.4.2 Filosofie di Internetworking Tipicamente vengono seguite due differenti filosofie di internetworking, una connection oriented basata sulla concatenazione di circuiti virtuali, ed una connection less.

11

Ricordiamo che i pacchetti sono i messaggi di protocollo scambiati tra le Network Layer entity.

9-29

9.4.2.1 Concatenated Virtual Circuit Questo approccio pu essere seguito nel caso in cui tutte le reti della internet supportano un servizio di tipo connection oriented. In tal caso, quando un utente vuole stabilire una connessione, la rete controlla se la destinazione appartiene alla stessa subnet o meno. Nel primo caso allora verr stabilito un circuito virtuale tra sorgente e destinazione. Nel caso in cui la destinazione sta su unaltra subnet, allora costruisce una cascata si virtual circuit, a partire dalla sorgente sino alla destinazione (vedi Fig. 9.4-1). In particolare il primo virtual circuit viene instaurato tra la sorgente ed il router pi conveniente rispetto alla destinazione. Sar quindi questo router che si preoccuper di memorizzare le informazioni relative a questo VC e procedere allinstaurazione di un altro VC con il router della prossima subnet, sino ad arrivare al router collegato alla subnet di destinazione che quindi instaurer un circuito virtuale con la destinazione. Una volta instaurata la cascata di circuiti virtuali, i pacchetti verranno immessi dalla sorgente ad unestremit e saranno ricevuti dalla destinazione allaltro capo, saranno i router a preoccuparsi di effettuare le opportune conversioni.

Fig. 9.4-1 - Concatenazione di Virtual Circuit.

9-30

9.4.2.2 Connectionless Internetworking In questo caso viene fornito allutente un servizio connection less di tipo best try, in cui i pacchetti spediti dalluser vengono instradati separatamente luno rispetto allaltro (vedi Fig. 9.4-2). Questo schema consente in linea di principio di sfruttare una banda maggiore rispetto al caso dei VC concatenati, ma daltro canto non d la garanzia della consegna n dellordine con cui i pacchetti sono consegnati.

Fig. 9.4-2 - Connectionless Internetworking.

Questo metodo ha il vantaggio di essere adattato anche al caso in cui alcune subnet forniscono servizio connection oriented ed altre connection less, mentre questa eventualit rende la concatenazione di circuiti virtuali molto complicata in quanto i circuiti virtuali devono in un qualche modo essere emulati allinterno delle reti che non li supportano.

9-31

10. Reti ad Accesso Multiplo


Abbiamo gi visto che le reti possono essere suddivise in due categorie: reti che usano connessioni punto-punto e reti che usano un singolo canale nel quale sono attestate pi stazioni. Queste ultime sono denominare Reti ad Accesso Multiplo (o anche broadcast network), e le topologie possibili sono varie, tra cui la topologia Stellare, a Ring (basato sull nterconnessione di vari circuiti puntoi punto), a Bus, ad Albero etc. Nel seguito analizzeremo i meccanismi protocollari per risolvere le contese del bus comune. Questa funzionalit compete al protocollo di linea ( LL), il quale, in tali reti, viene suddiviso in due D sottolivelli: 1. LLC (Logical Link Control) 2. MAC (Medium Access Control) L LC, basandosi sui servizi messi a disposizione dal MAC, fornisce ai livelli superiori un canale di L comunicazione affidabile (nel senso del protocollo di livello 2). Il MAC invece si occupa della gestione del link ad accesso multiplo. Il processo di standardizzazione iniziato negli anni 0 stato chiamato IEEE 802 e nel 1987 erano 8 stati realizzati i seguenti protocolli: IEEE 802.2 (LLC) IEEE 802.3 anche indicato col nome CSMA/CD, Carrier Sense Multiple Access/Collision Detection (MAC) IEEE 802.4 anche indicato col nome Token Bus (MAC) IEEE 802.5 anche indicato col nome Token Ring (MAC) IEEE 802.6 anche indicato col nome DQDB, Distributed Queue Dual Bus (MAC) Nel definire gli standard si pensato di fornire servizi connection oriented e connectionless. In particolare nell LC sono presenti i tre tipi di servizi: L 1. Connection-less 2. Connection Oriented (coincide con l DLC in classe ABM) H 3. Acknowledged Connection-less, il quale un servizio connection-less che prevede un ack a livello end to end. L 02.3 si basa su una tecnica di accesso al mezzo CSMA/CD. Si ha un physical layer con 8 collegamento a bus, il quale pu essere un cavo coassiale (banda base o banda larga) o un doppino intrecciato. Di questa famiglia fa parte la classicaethernet anche detta 10 Base 5, che una rete che fa uso del cavo coassiale e permette un throughput massimo di 10Mbit/sec. L 02.4 e l 02.5 sono completamente diversi dall 02.3 e si basano su un accesso al mezzo 8 8 8 controllato da un token. L 02.4 stato definito per applicazioni industriali, mentre l 02.5 ha una 8 8 struttura a ring e la sua standardizzazione fu fortemente voluta da IBM. Una prima classificazione dei protocolli di MAC pu essere effettuata secondo le tecniche di accesso al messo: Accesso Random: si permette a tutte le stazioni di trasmettere in un qualunque istante, ammettendo che possa avvenire una contesa. Analizzeremo in particolare tre varianti denominate: 1. Accesso Random

2. CSMA 3. CSMA/CD Accesso Controllato: si disciplina l ccesso al mezzo e la collisione in ogni caso evitata. Questo a potrebbe comportare degli sprechi in quanto ogni stazione deve comunque attendere il proprio turno prima di poter trasmettere anche nel caso in cui le altre stazioni non hanno nulla da inviare. Due varianti di tale tecnica sono: 1. Centralizzato: vi una stazione master che disciplina l ccesso eseguendo un polling a oppure sfruttando delle tecniche di prenotazione (le stazioni slave informano il master che devono trasmettere sfruttando un canale di controllo). 2. Distribuito: Tramite ad esempio un token, oppure tramite una sorta di prenotazione distribuita (come accade nel protocollo DQDB), oppure sfruttando la tecnica collision avoidance, usata nel protocollo 802.11 per reti locali di tipo wireless. Analizziamo pi in dettaglio le tecniche elencate. 10.1 Metodi di Accesso Random per le Reti Locali 10.1.1 Aloha Fu introdotto nei primi anni 0 da Norman Abramson e dai suoi collaboratori dell niversit delle 7 U Hawaii. L biettivo del progetto era quello di permettere lo scambio dati tra i vari atolli delle isole o Hawaii, e dunque si basava su un nterfaccia radio. i In questa tecnica l sse temporale indiviso; ogni stazione pu dunque trasmettere in ogni istante, a quando ne ha bisogno. I pacchetti (frame) sono di lunghezza fissa e tramite un meccanismo di feedback ogni stazione riesce a capire se si avuta una collisione durante la trasmissione dei dati (questo realizzato semplicemente ascoltando quello che si ha sul canale trasmissivo e confrontandolo con quello che si sta trasmettendo; se si ha discrepanza fra queste due informazioni, e non si ha un guasto nel dispositivo ricevente, vuol dire che si avuta una collisione). L ck in questa a tecnica sempre necessario perch in realt la stazione ricevente potrebbe ricevere i dati con qualche interferenza, mentre la stazione trasmittente, nell scoltare il pacchetto in trasmissione, potrebbe non a rilevare problemi. Ogni qual volta due stazioni trasmettono contemporaneamente si ha una collisione e i pacchetti in fase di trasmissione divengono inutilizzabili. Il caso peggiore si ha ovviamente quando il primo bit di un nuovo pacchetto viene trasmesso mentre un ltra stazione stava inviando l ltimo a u bit di un altro pacchetto. Infatti entrambe le frame verranno corrotte e dovranno essere ritrasmesse successivamente. Ovviamente le stazioni aspetteranno un tempo random prima di ritrasmettere la frame perch altrimenti la collisione si ripeterebbe all nfinito. i Il rendimento di tale tecnica molto limitato. In particolare si osserva che al crescere del fattore di utilizzazione, aumenta il numero medio di ritrasmissioni per il singolo pacchetto e con esso la probabilit di avere collisioni. Il massimo throughput ottenibile con l loha il 18,4% della capacit a del canale.

10.1.2 Slotted Aloha Un voluzione naturale dell loha lo Slotted Aloha. In questo caso l sse temporale slottato e e A a ogni stazione pu iniziare la trasmissione solo in particolari istanti temporali scanditi da un clock di rete globale (all nizio dello slot, che sufficiente a contenere un pacchetto). Con tale variante si i

dimezza il periodo di vulnerabilit (intervallo temporale in cui la trasmissione di una frame da parte di un ltra stazione comporta la distruzione del pacchetto), che nel caso dell loha puro due volte il a a tempo di trasmissione del pacchetto. Il fattore di utilizzazione massimo dunque il 36% della capacit trasmissiva del canale. Rimane comunque il problema dell nstabilit di tale sistema. i

10.1.3 CSMA Il protocollo Carrier Sense Multiple Access (CSMA), consente delle prestazioni superiori all loha a poich le stazioni prima di iniziare la trasmissione di un pacchetto controllano se vi una trasmissione in corso (carrier sense). Questo tipo di approccio anche chiamato listening before talking (ascoltare prima di parlare). Il CSMA comunque non evita le collisioni a causa del tempo di propagazione che non nullo. Il tempo di vulnerabilit sempre legato al tempo di propagazione massimo lungo il mezzo che si sta considerando. In realt, anche se il tempo di propagazione fosse nullo, la collisione potrebbe avvenire se due stazioni iniziano la trasmissione esattamente nello stesso istante. Vediamo come si pu gestire il CSMA nel caso pi generale. Abbiamo detto che se una stazione sente che il canale libero, trasmette. Se la stazione sente che il canale occupato possono essere adottate due strategie: 1. si desiste 2. si persiste Nel caso in cui si persiste, la stazione resta ad origliare fin quando si accorge che il canale si libera. Se la stazione stessa effettua la trasmissione non appena si accorge che il canale libero, si parla di politica 1-persistente. Cio, in questo caso le stazioni persistono nell scolto e trasmettono con a probabilit 1 non appena il canale si libera. Questo meccanismo ha la migliore prestazione in condizioni di basso carico. In condizioni di saturazione, viceversa, si ha un levata probabilit che vi e siano pi stazioni in attesa di trasmissione, e non appena il canale si libera, tutte inizieranno la trasmissione con conseguente collisione. Per evitare questo inconveniente si potrebbe usare una politica detta p-persistente, cio le stazioni ascoltano il canale e trasmettono con probabilitp minore di 1, non appena il canale si libera. Questo potrebbe diminuire la probabilit di collisione nel caso in cui ci sono pi stazioni in attesa di trasmissione. Se a fronte dell strazione del numero viene fuori un e 1-p, la stazione p-persistente desiste per un attimo, aspetta uno slot temporale, e riattiva il meccanismo. Nel caso non persistente, le stazioni che trovano che il canale occupato, ritentano la trasmissione dopo un certo tempo random. Se avviene la collisione (rilevata dalla mancata ricezione dell ck) il messaggio verr ritrasmesso. Il a tempo minimo per rilevare la collisione dunque pari a 2 volte il tempo di trasmissione del pacchetto sul mezzo trasmissivo (indicato con il simbolo). Tale intervallo Questo intervallo chiamato round trip delay ed spesso indicato con il simbolo 2.

10.1.4 CSMA/CD Un lteriore evoluzione stata quella denominata listening while talking (ascoltare mentre si parla). u In questa variante, la stazione ascolta il canale durante la trasmissione in modo tale da rilevare la collisione (il livello del segnale trasmesso differente da quello contemporaneamente ricevuto). In caso di collisione dunque, si interrompe repentinamente la trasmissione in corso (poich essa ormai

inutile), e si avviano i meccanismi di ritrasmissione senza aspettare il limite di2del caso precedente. Questo meccanismo anche indicato col termine CSMA/CD (Carrier Sense Multiple Access/Collision Detection). Nel caso di collisione, abbiamo detto che si sospende la trasmissione e si trasmette una particolare sequenza, detta sequenza di jamming (pattern di 32 o 40 bit) che permette a tutte le stazioni di rilevare la collisione. Su questo meccanismo si basato lo standard 802.3. Osserviamo che con tale schema, non possibile determinare in modo esatto il tempo massimo entro cui una stazione possa trasmettere perch potrebbe accadere che una stazione molto sfortunata incappi sempre in continue collisioni.. Esistono differenti implementazioni del CSMA/CD, tra cui, la pi nota laethernet, che prende il nome anche di 10 base 5 (10Mbit di capacit del canale e 5x100 la lunghezza massima del bus), la quale si basa su un bus formato da cavo coassiale a 50 (thick cable). Nel cavo vi sono delle tacche (ad una distanza minima di due metri e mezzo l na dall ltra) attraverso le quali possibile collegare u a le stazioni attraverso un sistema che si chiama tappo e sul quale collocato un transceiver. Il tranceiver ha funzioni di rilevamento della portante, delle collisioni, etc, mentre la scheda, situata all nterno della workstation e collegata al tranceiver tramite doppino intrecciato regola la logica i dell lgoritmo (calcola i tempi in cui bisogna trasmettere ed eventualmente quando bisogna a ritrasmettere, effettua il controllo di errore, etc.). Abbiamo gi detto che la lunghezza massima del bus nel 10 base 5 di 500m, ma possibile collegare fra loro diversi segmenti tramite dei dispositivi chiamati repeater (amplificatori di segnale) fino ad un massimo di 2500m (vedi Fig. 10.1-1(c)). Vi anche la possibilit di utilizzare un cavo coassiale (sempre a 50, a 10Mbit/sec.) pi sottile, detto thin cable. In questo caso le stazioni non vengono collegate con dei tappi ma con dei transceiver a T, ma l mpiezza massima del segmento ridotta a 185m. Questo standard chiamato a 10 base 2 (lunghezza massima, circa 2x100m) e offre delle prestazioni decisamente peggiori rispetto al 10 base 5, per pi economico (vedi Fig. 10.1-1(b)). Un ltra possibile implementazione del CSMA/CD la S a tarlan che non pi basata su cavo coassiale bens su doppini. In questo caso la lunghezza massima simile al caso precedente la la banda a disposizione ridotta a circa 1Mbit/sec. Una variante della starlan la 10 base T che fa uso di doppini intrecciati ma ha una capacit di canale di 10Mbit/sec. grazie a dei dispositivi detti hub (vedi Fig. 10.1-1(a)). La rete tutta compattata su tali dispositivi e le stazioni sono collegate all ub tramite doppino intrecciato. h Il nuovo standard, chiamato fast ethernet, con capacit di canale di 100Mbit/sec. fa uso degli hub (100 base T) e si basa essenzialmente sul 10 base T. Analizzeremo tale protocollo successivamente nel paragrafo 10.9.1. Sono anche possibili implementazioni con cavo coassiale non pi in banda base baseband) ma in ( banda larga (broadband) con impedenza di 75 . Andando pi in dettaglio sulle caratteristiche dei vari standard, si nota che vi una limitazione sul numero di stazioni che possono essere collegate ma soprattutto sulla lunghezza minima della frame che di 512 bit. Quest ltimo vincolo necessario per evitare che il tempo di trasmissione della u frame sia inferiore al round trip delay. (2 Se cos non fosse verrebbe vanificato il principio ). ispiratore del CSMA/CD, cio la possibilit di rilevare la collisione prima che la trasmissione termini e dunque di risparmiare il tempo di attesa pari almeno a 2 relativo all ck del pacchetto. a Considerando dunque le velocit in gioco nel cavo coassiale (10 Mbit/sec.), la velocit di propagazione di 5sec./Km, e la lunghezza massima permessa di 10 Km (4 segmenti da 2500 metri); il tempo critico che chiamiamo , relativo al trasferimento del messaggio da un capo all ltro di tutto a il sistema, di 50 sec.

Fig. 10.1-1

In questi 50 sec. si possono trasmettere 500 bit (a 10 Mbit/sec.), dunque il pacchetto deve avere una dimensione superiore a 500 bit affinch la stazione possa rilevare in ogni caso la collisione prima che venga trasmesso l ntero messaggio. Si fissa dunque che la lunghezza minima della trame nelle i ethernet di 512 bit (potenza del 2) che corrisponde a 64byte.

Fig. 10.1-2

In Fig. 10.1-2 rappresentata la struttura della frame nello standard 802.3. Osserviamo che in essa presente un campo detto pad (riempimento). Il suo compito quello di rendere tutte le frame almeno uguali a 64 byte anche quando il campo dati vuoto. I calcoli affrontati si basano sulle caratteristiche di ethernet. In reti con capacit pi elevate che usano il CSMA/CD sono necessarie trame pi lunghe. Vediamo adesso cosa succede quando si ha una collisione. Secondo la logica CSMA/CD, quando si hanno dei dati da trasmettere, per prima cosa si costruisce la frame, e dunque si esegue il carrier sense. Appena non si ha pi portante la stazione trasmette seguendo la politica 1-persistente. In caso di collisione il tempo diviso in slot di 51.2sec, e la stazione aspetta 0 o 1 slot prima di tentare la ritrasmissione. Se si ha ancora una collisione (la seconda) verr scelto un altro numero casualex, questa volta compreso fra 0 e 3, e la stazione aspetter x slot prima di tentare di ritrasmettere. In i generale, dopo la i-esima collisione, verr generato un numero casuale fra 0 e 2-1, che corrisponder al numero di slot di attesa prima di ritentare la trasmissione. Dopo la decima collisione consecutiva, il numero casuale scelto fra 0 e 1023, e dopo 16 collisioni, la trasmissione abortita e viene segnalato un guasto. Questo algoritmo detto bynary exponentiol backoff. La tabella sotto indicata riassume i principali pregi e difetti del CSMA/CD:

CSMA/CD Vantaggi
protocollo semplice diffusissimo accesso fear (cio tutte le stazioni possono trasmettere)

Svantaggi
Con elevato carico le prestazioni degradano I dispositivi usati per il rilevamento della portante e delle collisioni sono analogici e dunque superati fault diagnose

Con carico inferiore al 70% della capacit del canale, Limiti legati al tempo di propagazione l efficienza buona. Sono avvantaggiate le stazioni che trasmettono frame lunghe.

Tabella 10.1-1

10.2 Metodi di Accesso Controllato per le Reti Locali Due importanti esempi di reti locali che sfruttano dei metodi di accesso controllato sono stati standardizzati e prendono il nome di token bus (IEEE 802.4) e token ring (IEEE 802.5). Nelle seguenti sezioni analizzeremo pi in dettaglio tali protocolli.

10.2.1 Token Bus (IEEE 802.4) L 02.4 nasce dall sigenza di utilizzare le reti nell mbito del controllo di processo. Per tali 8 e a applicazione necessario poter valutare per tutte le stazioni il tempo massimo di attesa prima di poter trasferire i dati. Abbiamo gi osservato come tale tempo non determinabile nello standard IEEE 802.3, infatti potrebbe capitare che una stazione entri sempre in collisione e non riesca mai a inviare i dati. Un semplice sistema in cui si pu valutare il tempo massimo di attesa per una

trasmissione un anello (ring), in cui le N stazioni collegate trasmettono a turno. Supponendo che ogni stazione impiega al pi T secondi per trasferire il dato, il tempo massimo di attesa per ogni stazione NT sec. La topologia di rete usata per l 02.4 un bus, realizzato tramite un cavo 8 coassiale a larga banda. Il ring viene costruito logicamente indicando ad ogni stazione l ndirizzo del i predecessore e del successore nell nello. Ovviamente non si avr nessuna corrispondenza fra la a posizione fisica delle workstation nel bus e la posizione che esse occupano nel ring logico.

Fig. 10.2-1

1 Quando il ring inizializzato, la stazione con l dentificativo pi elevato pu trasmettere la prima i frame. Appena finisce, passa al vicino una speciale frame di controllo dettatoken. Il token viene dunque propagato lungo il ring logico, e solo la stazione che ha il token pu trasmettere evitando dunque il rischio di collisioni.

Il protocollo 802.4 molto complesso, e nel seguito faremo una panoramica solo degli aspetti pi importanti. Quando il ring viene inizializzato, le stazioni sono inserite in ordine decrescente, e tale ordine anche quello che viene seguito nel passaggio del token. Ogni qual volta una stazione ha il token abilitata a trasmettere dati per un certo tempo massimo (THT - token holding time - attorno ai 10 msec.) dopo di che deve passare il token alla stazione seguente (successiva nel ring logico). In tale intervallo di tempo possono essere inviati pi pacchetti, ed ovviamente, se la stazione non ha nulla da trasmettere passa subito il token. Il token bus gestisce messaggi con 4 differenti classi di priorit: Classe 6: usata per i messaggi urgenti; ad esempio allarmi, e funzioni di controllo associate a situazioni critiche. Classe 4: usata per i normali messaggi per le operazioni di controllo e per le funzioni di gestione del ring. Classe 2: usata per messaggi relativi alla raccolta di dati non associate a situazioni urgenti. Classe 0: usata per messaggi con la pi bassa priorit.

Ad ogni stazione appartenente al ring logico, viene assegnato staticamente un identificativo univoco.

Associata ad ogni classe di priorit vi un timer, scaduto il quale si passa alla trasmissione della classe di messaggi a priorit inferiore. Senza entrare troppo nel dettaglio sulla gestione di questi timer, possibile garantire un certo intervallo del THT alla classe 6. Ovviamente le classi a priorit inferiore dovranno accontentarsi di quello che resta. Il formato della frame differente da quello usato nell 02.3, ed rappresentato in Fig. 10.2-2. 8

Fig. 10.2-2

Il campo Frame Control usato per distinguere le frame dati da quello di controllo. Inoltre nelle frame dati esso contiene la classe di priorit del pacchetto. anche presente un campo che permette alla stazione ricevente di inviare l ck anche se non in possesso del token. a Nel caso di frame di controllo, il campo Frame Control usato per identificare il messaggio.

Frame Control Field 00000000 00000001 00000010 00000011 00000100 00001000 00001100

Name Clain_token Solit_successor_1 Solit_successor_2 Who_follows Resolve_contention Token Set_successor

Significato
Richiesta del token durante l inizializzazione del ring Permette alle stazioni di entrare nel ring Permette alle stazioni di entrare nel ring Ripristino dalla situazione di perdita del token Usata quando pi stazioni vogliono entrare nel ring Passaggio del token Permette alle stazioni di uscire dal ring

Tabella 10.2-1 I campi Destination Address e Source Address, contengono rispettivamente l ndirizzo della stazione i di destinazione e quello della stazione sorgente del messaggio. Il campo Data, pu essere al pi di 8192 byte quando vengono usati indirizzi di 2 byte, mentre limitato a 8174 byte quando sono usati indirizzi formati da 6 byte. Osserviamo che tale campo molto pi lungo del corrispondente nell 02.3, e questo giustificato dal fatto che nel token bus non 8 si hanno problemi di monopolio del canale grazie alla gestione con token.

Analizziamo ora le procedure di gestione del ring. Per permettere ad altre stazioni di entrare nel ring, periodicamente, la stazione che ha il token invia una frame di controllo di tiposolit_successor. In tale frame sono inseriti l ndirizzo della stazione e quello del successore. Le stazioni con indirizzo i compreso in tale intervallo, possono entrare nel ring. Se nessuno risponde alla solit_successor, la stazione continua le normali attivit. Se una sola stazione risponde, essa inserita nel ring logico, come successore dell ttuale workstation. Se pi stazioni a rispondono attivata una procedura di resolve_contention che permetter ad una sola delle stazioni di entrare nel ring. Le altre riproveranno successivamente. Osserviamo dunque che la politica di gestione del ring distribuita, poich tutte le stazioni appartenenti all nello possono permettere a l ngresso di ulteriori workstation nell nello. Esistono altre procedure che permettono i a l nizializzazione del ring e l uto esclusione di una stazione dall nello. i a a Sono inoltre previste delle procedure per l sclusione di stazioni guaste, e per la gestione di e situazioni anomale, quale la perdita del token. La tabella sotto indicata riassume i principali pregi e difetti del CSMA/CD:

Token Bus Vantaggi Svantaggi


Gestione del throughput eccellente a parte l overhead dovuto alla Algoritmo pesante gestione del token Dinamica ampia Accesso controllato Pu essere usato anche per applicazioni isocrone Tecnologia che non ha sfondato, dunque i costi sono rimasti elevati.

Tabella 10.2-2

10.2.2 Token Ring Lo standard IEEE 802.5, conosciuto anche con il nome di Token ring si basa su una struttura di rete ad anello, che collega le varie stazioni tramite dei link punto-punto. A differenza del token bus, il ring fisico e l rdine di percorrenza dell nello coincide con l rdine fisico delle stazioni. o a o

Fig. 10.2-3

La struttura tipica di una rete token ring riportata in Fig. 10.2-3. Da questa possiamo notare un grosso problema: se il cavo si interrompe in un qualsiasi punto, il ring stesso si interrompe e la comunicazione diviene impossibile. Per superare tale ostacolo stata proposta una nuova topologia che fa uso del wire center (Fig. 10.2-4). Le stazioni sono collegate al wire center con almeno due cavi coassiali (per ottenere i due flussi di dati dalla stazione al concentratore e viceversa). All nterno i del wire center vi sono dei rel che vengono automaticamente attivati quando la stazione a cui fanno riferimento si guasta, e come effetto producono il bypass della stazione stessa rendendo dunque il sistema insensibile ai guasti delle stazioni o dei cavi che collegano le workstation al concentratore.

Fig. 10.2-4

Il token ring, analogamente al token bus, si basa sul concetto di token che permette solo ad una stazione alla volta di trasmettere, evitando dunque le collisioni. Il token circola continuamente sul ring quando le stazioni non hanno nulla da trasmettere. Appena si ha un dato da inviare, la stazione deve prendere il token e cancellarlo dal ring prima di trasmettere la frame (questa azione si risolve semplicemente invertendo un solo bit del token). Affinch il sistema possa essere realizzato necessario che nell nello vi sia un ritardo sufficiente da contenere il token. Tale ritardo composto a da: 1 bit per ogni stazione del ring ritardo di propagazione L nterfaccia sul ring delle stazioni (Ring Interface) pu operare in due modalit: i Modalit di ascolto (listening mode), in cui la stazione copia il bit che riceve in ingresso sull scita, introducendo un ritardo di 1 bit. u

Modalit di trasmissione (Transmit mode), in cui la stazione interrompe il ring e inserisce nell nello la frame che deve inviare. Questa modalit operativa raggiunta solo dopo che a il token stato cancellato dal ring. Vediamo adesso pi in dettaglio il formato delle frame e il funzionamento di tale protocollo. Il token formato da 3 byte, e la sua struttura rappresentata in Fig. 10.2-5.

Bytes

SD

AC

ED

Token format
SD = Start Delimiter AC = Access Control ED = End Delimiter

PPP T M RRR

Fig. 10.2-5 Il bit T nel campo Access Control ha il valore 0, e contraddistingue il token dalla frame dati. La stazione che vuole trasmettere, settando tale bit a 1, elimina il token dal ring e si assicura l ccesso a esclusivo. I tre bit PPP indicano la priorit del token, e dunque le frame che possono essere trasmesse (vedremo in seguito come sono gestite le priorit nel token ring). Il bit M usato da una particolare stazione denominata Monitor Station per evitare che delle frame continuino a circolare indefinitamente sul ring. Infine i tre bitRRR sono i Reservation bit che permettono la prenotazione del token con una particolare priorit. Quindi, una stazione che rileva il token ed ha qualcosa da trasmettere, verifica che la frame da spedire abbia priorit maggiore o uguale a quella del token, dunque, in caso affermativo modifica il bit T, trasformando il token in una frame dati, e successivamente accoda la frame che deve rispettare il formato di Fig. 10.2-6. La frame inviata, percorrer tutto l nello fino a tornare alla stazione a trasmittente che avr il compito di estrarla dal ring, e reinserire il token nel caso in cui non ha pi nulla da trasmettere oppure scaduto il THT (Token Holding time), e dunque deve necessariamente passare il token. Tutto questo meccanismo supervisionato da una stazione detta Active Monitor che ha il compito di risolvere eventuali situazioni anomale.

Bytes

2-6

2-6

<5000

SD AC FC

DA

SA

DATA

FCS

ED FS

SD = Start Delimiter AC = Access Control ED = End Delimiter FC = Frame Control

SA = Source Address DA = Destination Address FS = Frame Statur

Frame format

Fig. 10.2-6

La struttura della frame riportata in Fig. 10.2-6. Osserviamo che a differenza dell 02.3 e 8 dell 02.4, dopo il campo End Delimiter, vi un ulteriore campo denominato Frame Status che 8 contiene i bit A e C. Quando la frame arriva nella stazione di destinazione, il bitA settato. Se inoltre la frame viene regolarmente processata dalla stazione ricevente, anche il bitC settato (la frame potrebbe non essere processata ad esempio a causa della mancanza di buffer disponibili). Quando la frame ritorna alla stazione sorgente del massaggio, dall nalisi di questo campo si capisce a se necessaria una ritrasmissione o meno. Infatti vi sono 3 casi possibili: 1. A=0 e C=0; la stazione di destinazione non presente, oppure momentaneamente inattiva. La ritrasmissione dunque inutile, e il messaggio non pu essere inviato a destinazione. 2. A=1 e C=0; la stazione di destinazione presente, ma la frame non stata accettata. Sar dunque necessaria una ritrasmissione. 3. A=1 e C=1; la stazione di destinazione presente e la frame stata ricevuta correttamente. Questo schema assicura un acknowledgement automatico per ogni frame. L 02.5 fornisce anche uno schema di priorit profondamente diverso da quello disponibile 8 nell 02.4. Come gi accennato in precedenza, infatti, affinch una stazione possa trasmettere, non 8 basta che catturi il token, ma il messaggio da trasmettere deve avere priorit maggiore o uguale a quella del token stesso. inoltre prevista una complessa tecnica di prenotazione la quale assicura che il prossimo token rilasciato dalla stazione che sta trasmettendo una frame, sar con la priorit prenotata dalle stazioni in attesa di trasmissione. Cos facendo evidente che i messaggi a pi alta priorit verranno trasmessi pi velocemente degli altri, ma non assicurato che tutte le stazioni riusciranno a trasmettere (cosa per altro garantita nel token bus). Prima di concludere accenniamo brevemente le funzionalit di mantenimento del ring previste dallo standard 802.5. Per ogni anello vi una stazione che monitora il funzionamento del ring monitor ( station). Se tale stazione si guasta previsto un meccanismo che permette ad un ltra workstation di a diventare monitor station. Questa stazione si occupa di risolvere tutte le condizioni di malfunzionamento del ring, in particolare quelle pi importanti sono: controllare che il token non venga perso (a causa di disturbi sull nello) a ricerca di eventuali interruzioni del ring

eliminazioni di frame che circolano sul ring. Se ad esempio una stazione trasmette una frame e si guasta, sar la monitor station a eliminare la frame dal ring. Questa operazione resa semplice dal bit M nel campo AC che viene settato dalla stazione di monitor ogni qual volta il messaggio passa. Quando tutto funziona correttamente, ogni frame dovrebbe passare una volta sul monitor; se viceversa la monitor station si accorge che c una frame con il bit in esame settato, la elimina.

10.3 Valutazione delle prestazioni Valutiamo le prestazioni dei protocolli esposti, facendo particolare attenzione allavalutazione del massimo throughput che le varie soluzioni permettono di ottenere. Introduciamo il cosiddetto fattore a, definito come il rapporto fra il tempo di propagazione e il tempo di trasmissione di un singolo messaggio.

a=

tempo di propagazione tempo di trasmissione

Eq. 10.3-1

Il fattore a indica dunque la lunghezza del mezzo di trasmissione espressa in messaggi. Si possono avere due casi: a>1 a<1 Se a<1, normalizzando il tempo rispetto al tempo di trasmissione (assumiamo dunque che il tempo di trasmissione di una frame sia pari a 1), La sequenza di eventi : 1. La stazione 1 inizia a trasmettere nell stante t0. i 2. La stazione 2 inizia a ricevere all stante t0+a. i 3. La trasmissione completata nell stante t0+1. i 4. La ricezione completata nell stante t0+a+1. i 5. Le altre stazioni possono iniziare la trasmissione di un altro messaggio. Viceversa se a>1 la sequenza di eventi : 1. La stazione 1 inizia a trasmettere nell stante t0. i 2. La trasmissione completata nell stante t0+1. i 3. La stazione 2 inizia a ricevere all stante t0+a. i 4. La ricezione completata nell stante t0+a+1. i 5. Le altre stazioni possono iniziare la trasmissione di un altro messaggio. In ogni caso, il tempo totale per un ciclo 1+a, mentre il tempo di trasmissione 1; l tilizzazione u sar dunque pari a 1/(1+a).
U= 1 1+ a

Eq. 10.3-2

Fig. 10.3-1

Fig. 10.3-2

Lo stesso effetto si ha in una rete ad anello (vedi Fig. 10.3-3) in cui vi una sola stazione che trasmette, e dunque aspetta di ricevere la frame da lei trasmessa prima che qualunque altra stazione possa inviare altri dati.

Fig. 10.3-3

In realt, nel caso pi generale, noi possiamo immaginare che dopo che la stazione sender ha rilasciato il token, ci potr essere una delle altre stazioni che potr utilizzarlo. Diventa dunque fondamentale la distinzione fra i due casi, perch nel valutare il tempo di ciclo bisogna aggiungere al tempo di propagazione del token fra la stazione e quella successiva, un tempo che nel primo caso a mentre nel secondo 1. Valuteremo adesso il massimo throughput ottenibile nelle LAN, supponendo che ad essa vi siano connesse N stazioni.

Token Passing Parlando del protocollo token ring, abbiamo avuto modo di osservare che col passare del tempo, sull nello transiteranno sia frame di dati che token. Chiameremo ciclo, il susseguirsi di una singola a frame con un token. Indichiamo dunque con: C = tempo medio per un ciclo DF = tempo medio di trasmissione di una frame dati TF = tempo medio di passaggio del token. chiaro che il rate medio di ciclo dato dall nverso di C e si ha: i
1 1 = C DF + TF

Eq. 10.3-3

Indicando dunque con S il throughput della rete locale normalizzato rispetto alle capacit del sistema, si ha:
DF DF = DF + TF C

S=

Eq. 10.3-4

S rappresenta dunque la frazione di tempo che spesa dal sistema per trasmettere i dati. Facciamo riferimento adesso allaFig. 10.3-3. Ricordiamo che il tempo normalizzato, cio il tempo di trasmissione della frame unitario, mentre il tempo di propagazione indicato con a. Sia a<1: La stazione trasmette la frame nell stante t0, inizia a ricevere quello che ha trasmesso i all stante t0+a, e completa la trasmissione all stante t0+1. La stazione, quindi, emette un i i nuovo token, che richiede un tempo pari ad a/N per raggiungere la stazione successiva (supponendo che la distanza fra le varie stazioni sia costante). Un ciclo dunque richiede un tempo pari a:
C = 1+ a N

Eq. 10.3-5

e il tempo di trasmissione pari a 1. Si avr dunque che:

S=

1 1+ a

Eq. 10.3-6

Sia a>1:

La stazione trasmette nell stante t0, completa la trasmissione all stante t0+1, e riceve la i i frame spedita all stante t0+a. A questo punto, emette il token che raggiunger la stazione i successiva dopo un tempo pari ad a/N. Il tempo di ciclo dunque:
C =a+ a N

Eq. 10.3-7

e il throughput sar dato dalla:

S=

a 1+ 1

1 N

Eq. 10.3-8

Considerando dunque i risultati ottenuti nell 10.3-6 e nellEq. 10.3-8, si ha: Eq. 1 a 1+ N S = 1 a 1+ 1 N

a <1

Eq. 10.3-9

a >1

CSMA/CD Consideriamo il tempo suddiviso in slot la cui lunghezza pari a due volte il tempo di propagazione (end-to-end) sul mezzo trasmissivo. La durata di uno slot dunque il tempo massimo richiesto, dall nizio della trasmissione, per rilevare una collisione. Supponiamo inoltre che vi sianoN stazioni i attive che generano lo stesso carico (il carico pu essere espresso come la probabilit che una stazione ha una frame da trasmettere durante un qualsiasi slot). Il tempo sul mezzo consiste in due tipi di intervalli. Il primo l ntervallo di trasmissione, che ha una i durata di 1/2a slot. Il secondo l ntervallo di contesa, che una sequenza di slot in cui o vi stata i una collisione, oppure non vi nessuna trasmissione. Il throughput la frazione di tempo spesa durante gli intervalli di trasmissione. Determiniamo dunque la lunghezza media degli intervalli di contesa. Iniziamo col calcolare la A, probabilit che esattamente una stazione tenti di trasferire in uno slot e dunque si impossessi del mezzo fisico. Questa probabilit data da: N A = p 1 (1 p) N 1 = Np (1 p ) N 1 1 Eq. 10.3-10

dove p la probabilit che una stazione trasmetta. Questa funzione assume un massimo quando p=1/N, e si ha:

1 A = 1 N

N 1

Eq. 10.3-11

Per cui la lunghezza media dell ntervallo di contesa, w, sar: i

E[ w] = i P[vi siano i collisioni oppure nessuna trasmissione seguita da uno


i =1

Eq. 10.3-12

slot con una trasmissione] = = i(1 A) A


i i =1

Tale somma converge a:


1 A A

E[w] =

Eq. 10.3-13

Possiamo dunque determinare l tilizzazione massima, che data dalla: u

1 2a S= = 1 + 1 A 1 + 2a 1 A 2a A A

Eq. 10.3-14

In Fig. 10.3-4 rappresentato il throughput normalizzato in funzione di a per vari valori di N sia per il token passing che per il CSMA/CD. Osserviamo che per entrambi i protocolli il throughput diminuisce all umentare di a. Le differenze pi evidenti, sono riportate in Fig. 10.3-5, che mostra il a throughput in funzione di N. Le prestazioni dei protocolli token-passing aumentano all umentare di a N poich diminuisce il tempo di passaggio del token stesso. Viceversa, le prestazione del CSMA/CD diminuiscono poich aumenta la probabilit di collisione. interessante notare il valore asintotico di S per N. Token:

1 a <1 lim S = 1 N a a >1

Eq. 10.3-15

Per il CSMA/CD, sapendo che lim 1 1


N

N 1

= 1 , si ha: e
1 1 + 3.44a

CSMA/CD:

lim S =

Eq. 10.3-16

Fig. 10.3-4 - Throughput normalizzato al variare di a per reti token-passing e CSMA/CD

Fig. 10.3-5 - Throughput in funzione di N per il token passing e il CSMA/CD

Nei sistemi token passing anche semplice calcolare un spressione per il ritardo massimo ottenibile. e Non appena una stazione (ad es. la stazione 1) trasmette, prima di poter inviare un ulteriore messaggio deve attendere i seguenti eventi: La stazione 1 trasmette il token alla stazione 2. La stazione 2 trasmette dei messaggi. La stazione 2 trasmette il token alla stazione 3. La stazione 3 trasmette dei messaggi. ........ ........ La stazione N-1 trasmette il token alla stazione N.

La stazione N trasmette dei messaggi. La stazione N trasmette il token alla stazione 1. Quindi il ritardo massimo consiste inN-1 cicli pi il tempo di passaggio del tokena/N. Si ha dunque: Caso a<1:

(N 1)1 +

Caso a>1:

a a a a + = N + a 1 + = N + a 1 N N N N

(N 1) a +

In definitiva:

a a a a + = Na + a a + = Na N N N N

Token:

N + a 1 a < 1 D= a >1 aN

Eq. 10.3-17

Quindi il ritardo aumenta linearmente al crescere del carico, e per un numero finito di stazioni, il ritardo costante ed finito se tutte le stazioni hanno sempre qualcosa da spedire. Il ritardo per i sistemi CSMA/CD pi difficile da calcolare, e dipende anche dai dettagli del protocollo (persistente o non persistente). In generale, possiamo dire che il ritardo aumenta indefinitamente non appena il sistema raggiunge la saturazione. All umentare di N, inoltre, la a probabilit di collisione aumenter, e dunque anche il ritardo medio per la corretta trasmissione delle frame.

10.3.1 Calcolo del Massimo Throughput nei Protocolli a Contesa Abbiamo gi visto come nel CSMA/CD le prestazioni peggiorano notevolmente all umentare del a carico o all umentare di a. Osserveremo in seguito come questa una caratteristica di tutti i a protocolli a contesa. Assumeremo che vi sono un numero infinito di stazioni, ognuna delle quali genera un traffico infinitesimo (cos che il traffico globale sulla rete risulti finito). Supponiamo inoltre che: 1. Tutte le frame hanno lunghezza costante. 2. Il canale privo di disturbi. 3. Ogni stazione ha al pi una frame da trasmettere. Cio il pacchetto successivo verr generato solo dopo aver inviato quello precedente. 4. Il carico offerto, G, distribuito secondo Poisson. 5. Per il CSMA/CD, non viene sprecato tempo per il rilevamento della portante e delle collisioni.

Aloha Per comodit normalizziamo il traffico generato dalle stazioni rispetto al tempo di trasmissione della frame. Cos facendo possiamo considerare S come il numero medio di frame generate per frame time. Poich la capacit del canale una frame per frame time,S ha anche il significato di throughput come frazione della capacit. Il traffico totale sul canale dato dalla somma delle nuove frame generate dalle stazioni pi le frame da ritrasmettere a causa di collisioni: G=S+(numero di ritrasmissioni per unit di tempo) Eq. 10.3-18

Il numero di ritrasmissioni per unit di tempo possiamo considerarlo come il prodotto: G Pr(una frame sia soggetta a collisione ) Per calcolare tale probabilit consideriamo il caso peggiore. Consideriamo dunque le due stazioni pi distanti l na dall ltra (come mostrato in Fig. 10.3-1 e in Fig. 10.3-2). Una u a frame trasmessa dalla stazione A sar soggetta a collisione se la stazione B inizier la trasmissione in un intervallo di ampiezza2(1+a) centrato rispetto all nizio della trasmissione i da parte della stazione A. Tale intervallo chiamato periodo di vulnerabilit. Sappiamo che G distribuito secondo Poisson con rate , e dunque la probabilit che vi sia un arrivo nel periodo di vulnerabilit 1 e 2(1+ a )G . Sostituendo nella Eq. 10.3-18 si avr: G = S + G 1 e 2(1+ a )G

Eq. 10.3-19

Da cui si ottiene che il throughput per il protocollo Aloha :

S = G e 2(1+ a )G

Eq. 10.3-20

Slotted Aloha Calcoliamo adesso il throughput per lo slotted Aloha. Tutte le frame iniziano ad essere trasmesse al confine fra uno slot ed un altro. Abbiamo gi avuto modo di osservare che il periodo di vulnerabilit di questo protocollo dimezzato rispetto a quello dell loha ed A pari a 1+a. Si avr dunque che il throughput sar dato da:

S = G e (1+ a )G

Eq. 10.3-21

Differenziando l Eq. 10.3-20 e lEq. 10.3-21 rispetto a G, si ottiene che il massimo throughput dato da: Aloha Slotted Aloha

S MAX = S MAX =

1 2e(1 + a) 1 e(1 + a )

Eq. 10.3-22 Eq. 10.3-23

Questi risultati differiscono da quelli normalmente riportati in letteratura, poich solitamente viene ignorato il parametro a e le Eq. 10.3-20 e Eq. 10.3-21, vengono riscritte:

Aloha: Slotted Aloha:

S = G e 2G S = G e G

Eq. 10.3-24 Eq. 10.3-25

Essi infatti vennero originariamente ricavati per canali via satellite, ma spesso vengono confrontati con il protocollo CSMA/CD per le LAN. In Fig. 10.3-6 sono riportate le prestazioni dei due protocolli Aloha e Slotted Aloha nel caso in cui a=0 (Eq. 10.3-24 e Eq. 10.3-25). In realt questi grafici sono validi anche per piccoli valori del parametroa (a<0.01).

Fig. 10.3-6 - Performance del protocollo Aloha e Slotted Aloha nel caso in cuia=0.

Il grafico di Fig. 10.3-6 mette in luce la natura instabile dei protocolli a contesa. Appena il carico offerto al sistema supera un dato valore, dipendente dal protocollo (G=0.5 nell loha e G=1 nello A Slotted Aloha), il throughput diminuisce fino a divenire praticamente nullo. Questo causato dal fatto che il numero di frame che non vengono coinvolte in collisioni diminuisce fino a diventare nullo. Il ritardo molto pi difficile da calcolare esattamente. Definiamo ritardo delay) l ntervallo di ( i tempo che intercorre dall stante in cui un nodo pronto a trasmettere una frame, all stante in cui il i i messaggio correttamente ricevuto dal destinatario. Esso sar dato dalla somma del tempo di attesa in coda, tempo di propagazione e tempo di trasmissione. Nell loha il tempo di attesa in coda nullo (infatti la stazione trasmette immediatamente, non A appena ha qualcosa da inviare). Poich per vi sono le collisioni, possiamo considerare come tempo di attesa in coda, il tempo necessario prima che la trasmissione avvenga correttamente (cio il tempo totale sprecato in trasmissioni con collisione). Si pu vedere che tale tempo pari aG/S-1 che pari a (vedi Eq. 10.3-19):
G 1 = e 2(1+ a )G 1 S

Il ritardo sar dunque dato da:

D = e 2(1+ a )G 1 + a + 1

Eq. 10.3-26

dove il ritardo medio per una ritrasmissione. Un algoritmo spesso usato nell loha esegue la A ritrasmissione dopo un tempo t distribuito uniformemente tra 1 e K volte il tempo di trasmissione di una frame. Il tempo di attesa medio sar dunque (K+1)/2. A questo bisogna aggiungere un ulteriore ritardo necessario affinch la stazione si accorga che si avuta una collisione. Esso dato dal tempo necessario per completare la trasmissione ( 1+a) pi, il tempo necessario affinch il ricevente generi il segnale di acknowledgement (w) pi, il tempo di propagazione che il messaggio di ack impiega per raggiungere la stazione (a)2. Quindi: Aloha:

K + 1 D = e 2(1+ a )G 1 1 + 2a + w + + a +1 2

Eq. 10.3-27

Per lo Slotted Aloha il ragionamento da seguire del tutto analogo, con la differenza che c un ritardo medio di slot tra quando la stazione ha una frame da trasmettere e l stante in cui il i prossimo slot inizia. Si avr dunque: Slotted Aloha:

K +1 D = e (1+a )G 1 1 + 2a + w + + 1.5a + 1.5 2

Eq. 10.3-28

Queste formule confermano l nstabilit di tali protocolli in condizioni di alto carico. i In Fig. 10.3-7 sono mostrati i grafici relativi al ritardo medio, rispetto al carico offerto G e al throughput S. Osserviamo nella Fig. 10.3-7(b) che il ritardo aumenta con l umentare del a throughput, fino al punto di massimo throughput prima calcolato. Oltre tale punto, si vede che S diminuisce mentre il ritardo continua ad aumentare.

Per semplicit assumeremo che i segnali diack non siano soggetti a collisioni e successiveritrasmissioni.

Fig. 10.3-7

Prima di concludere questa breve trattazione sulle performance osserviamo dei grafici riassuntivi che mettono a confronto i vari protocolli a contesa. In Fig. 10.3-8 riportato il grafico del throughput al variare del carico offerto al sistema per vari protocolli a contesa per a=0.01 e 0.05. Osserviamo inoltre l vidente aumento di performance dei vari protocolli CSMA rispetto all loha. Inoltre si e A vede chiaramente come all umentare di a le prestazioni peggiorano a causa dell umento del a a periodo di vulnerabilit. In particolare nellaFig. 10.3-8 si osserva come all umentare di a (da 0.5 a a 1) il throughput dei protocolli CSMA/CD si avvicina a quello dello Slotted Aloha, e cio non si ha pi nessun beneficio nell seguire il carrier sense e la collision detect. e

Fig. 10.3-8

Fig. 10.3-9

Infine in Fig. 10.3-9 mostrato il grafico del ritardo in funzione del throughput. Si vede come il protocollo CSMA/CD offre un significativo miglioramento nel ritardo e nel throughput rispetto al semplice CSMA. All umentare di a questi miglioramenti si affievoliscono fino a divenire nulli (le a prestazioni diventano simili a quello dello slotted aloha).

10.4 Altri Protocolli per LAN Vedremo adesso due protocolli che tendono a migliorare le performance (intese come massimo throughput) del token ring.

10.4.1 Slotted Ring Si basa su una struttura ad anello simile a quella del token ring. Anche in tale protocollo presente una stazione particolare detta monitor, la quale inizializza il ring in modo da contenere un numero fissato di bit, e monitora l nello per mantenere costante il numero di bit che circolano. L ntera a i sequenza di bit organizzata in un certo numero slot, capaci di contenere e trasportare una singola frame di lunghezza fissa. Il formato della frame rappresentato inFig. 10.4-1.

Fig. 10.4-1

Inizialmente tutti gli slot sono marcati come slot vuoti (empty slot). Quando una stazione desidera trasmettere, aspetta che gli arrivi uno slot vuoto, lo contrassegna come pieno e inserisce i dati. Quindi aspetta che tale dato compia il giro dell nello e non appena riceve il primo bit della frame, a marca lo slot come vuoto. Inoltre dalla lettura dei Response Bit (il cui funzionamento uguale a quello gi discusso nel token ring), determina quale azione deve essere eseguita successivamente (cio se deve ritrasmettere la frame, o se la stazione destinazione non presente, oppure se tutto andato perfettamente). Alcune varianti di questo schema permettono alla stazione ricevente di marcare lo slot come vuoto, rendendo possibile il trasporto di pi frame in uno slot durante un giro completo dell nello. Cos a facendo il throughput aumenta, ma si perde il trasporto implicito dell ck. a

10.4.2 Insertion Register Questa tecnica una versione pi sofisticata dello slotted ring. Per capire il principio di funzionamento di tale protocollo faremo riferimento alla Fig. 10.4-2, in cui rappresentata schematicamente l nterfaccia della stazione con l nello. i a

Fig. 10.4-2

L nterfaccia contiene due registri; quando la stazione ha bisogno di trasmettere, carica il pacchetto i nel Buffer di uscita. Questo implica che la dimensione dei pacchetti limitata superiormente dall mpiezza di tale registro, ma a differenza dello Slotted Ring, in questo caso le frame possono a essere di lunghezza variabile. Quando l nello avviato, il Registro a Scorrimento vuoto. Non appena arriva il primo bit viene a memorizzato nella prima posizione libera del registro e viene aggiornato il Puntatore di Ingresso che indica il primo bit libero nel registro a scorrimento. Appena arrivato tutto l ndirizzo di destinazione i della frame, l nterfaccia verifica se essa la destinataria del messaggio ed in caso affermativo inoltra i

il pacchetto verso la stazione, rimuovendolo dall nello e imposta il puntatore di ingresso nella a posizione iniziale. Viceversa, se la frame non indirizzata verso la stazione locale, l nterfaccia comincia ad inoltrarlo. i Ogni nuovo bit che arriva viene posizionato nella posizione puntata dal puntatore di ingresso. Quindi il registro a scorrimento viene traslato di una posizione verso destra, spingendo fuori sull nello il bit a pi a destra del registro stesso. Se non arriva nessuna informazione in ingresso, a causa di un intervallo fra i pacchetti, il registro viene traslato ugualmente e la posizione del puntatore decrementata di una posizione. Affinch possa essere inserito un pacchetto sull nello devono essere verificate le seguenti a condizioni: 1. Esiste un pacchetto in uscita in attesa; 2. Il numero di bit vuoti a disposizione nel registro a scorrimento almeno pari alla dimensione del pacchetto da trasmettere. In presenza delle due condizioni suddette, il messaggio pu essere inserito nel ring, e ci viene eseguito, commutando il commutatore in uscita, ed inserendo i bit in sincronismo con l ngresso. I bit i in ingresso che nel frattempo arrivano vengono accumulati nel registro a scorrimento (questo giustifica la seconda condizione). Una caratteristica di questa tecnica quella di impedire ad una stazione di monopolizzare l nello, a poich in caso di basso carico, durante la trasmissione di una frame non arriveranno molti bit in ingresso e dunque il registro a scorrimento si manterr vuoto rendendo possibile un ltra a trasmissione non appena si avr un dato da trasferire. Viceversa in condizioni di alto carico, durante la trasmissione si accumuleranno molti bit nel registro di ingresso, il che impedisce un ltra a trasmissione fino a quando non viene soddisfatta la condizione 2.

10.5 Protocolli per Reti ad Alta Velocit Negli ultimi anni si visto un notevole incremento della richiesta di banda a causa principalmente delle applicazioni multimediali, le quali devono trasferire, non solo dati, ma anche voce ed immagini. Iniziamo la trattazione di questo argomento introducendo la rete Expressnet.

10.5.1 EXPRESSNET L dea di base stata quella di sfruttare quanto pi possibile il diffusissimo protocollo CSMA/CD, i evitando i noti svantaggi (non potere andare oltre una certa velocit perch altrimenti il tempo necessario per rilevare una collisione, round trip, pari a 2, aumenterebbe troppo degradando le prestazioni). Le tre possibili topologie individuate sono rappresentate inFig. 10.5-1.

Fig. 10.5-1

Consideriamo la prima topologia; costituita da un bus unidirezionale (le frame fluiscono tutte in una sola direzione). Per assicurare che ogni stazione possa parlare con qualsiasi altra, bisogna ripiegare il bus, per fare in modo che le stazioni, oltre ad avere un canale su cui scrivere, ne hanno uno distinto da cui possono prelevare le informazioni dal bus. Le altre due strutture di Fig. 10.5-1 (a zeta e a spirale elicoidale) sono state introdotte per fare in modo che l rdine con cui le stazioni o vanno a scrivere anche quello con cui leggono. In accordo con il CSMA/CD, l dea di base quella i che ogni stazione, quando ha un messaggio pronto lo trasmette, dopo avere effettuato un carrier sensing sul bus. Se rileva il canale libero trasmette il dato altrimenti aspetta. Dato che il bus unidirezionale, il rischio di collisione pu provenire soltanto da stazioni che sono a monte rispetto alla stazione che sta tentando di trasmettere a causa sempre del ritardo di trasmissione. Ad esempio se la stazione 2 rileva che il bus libero e inizia la trasmissione, analogamente la stazione 1 comincia la trasmissione, si avr una collisione. Quello che stato introdotto un meccanismo, mediante il quale la collisione tra due stazioni non distrugge entrambi i messaggi. Per far questo le trame sono organizzate con un preambolo molto lungo, in testa alla frame. Se si ha una collisione, fra la stazione 3 1 e la stazione 2, si ha la completa distruzione del messaggio della stazione 2, ma solo il danneggiamento del preambolo (che non rappresenta un dato da consegnare correttamente a destinazione) della frame spedita dalla stazione 1 che continuer dunque il percorso verso la destinazione. La stazione 2 1-persistente (come il CSMA/CD), di conseguenza aspetta che il canale si liberi, e appende la frame da trasferire. Questo protocollo, avvantaggia le stazioni up-stream, infatti la stazione n sar sempre sopraffatta dalle frame trasmesse dalle stazioni precedenti. In realt tale problema superato in quanto ogni stazione ha diritto di trasmettere una sola volta per ogni ciclo e il ciclo pu essere rilevato facilmente, osservando nel canale di lettura un periodo di silenzio, ossia un periodo di tempo in cui non vi passaggio di frame. Cos facendo, all nterno di ogni ciclo, le stazioni up-stream avranno la possibilit i di trasferire prima delle stazioni a valle, ma in ogni caso tutte potranno inviare i propri pacchetti prima che il ciclo finisca.

10.5.2 FASNET Una rete simile a EXPRESSNET fu sviluppata nei laboratori HP e prese il nome di FASNET. Essa una rete a doppio bus unidirezionale (vedi Fig. 10.5-2) indipendenti, in cui il flusso di dati viaggia nel Bus A, dalla stazione 1 alla stazione N, mentre nelBus B, dalla stazione N alla stazione 1. Ogni stazione prima di trasmettere deve sapere dove si trova il destinatario del messaggio, e dunque inserisce la frame nell pposito bus. Le stazioni sono collegate ad ogni bus con un doppio tappo, uno a per la lettura e uno per la scrittura. Osserviamo che in entrambi i bus prima vi il canale di lettura e dopo quello di scrittura e proprio su questo si basa il funzionamento del protocollo. Infatti, anche in questo caso prima di trasmettere ogni stazione controlla se c la portante in linea, cio se gi c qualcuno che sta trasmettendo. Anche in questo caso la trasmissione avviene a cicli. Consideriamo il bus A. La stazione 1 quella che ha per prima la possibilit di trasmettere con successo. La stazione 2 non far altro che appendere le proprie frame a quelle che fluiscono nella direzione di percorrenza del bus unidirezionale.

La stazione 2 una volta rilevata la collisione bloccher immediatamente la trasmissione della frame in accordo con la tecnica Collision Detection.

Direction of Data flow on bus A Bus A Terminator

Station

Transmit Receive

Bus B

Direction of Data flow on bus B

FASNET
Fig. 10.5-2

Ogni stazione legge le trame in arrivo tramite il canale di lettura del bus A, verifica se il destinatario e, in caso affermativo processa il messaggio, viceversa lo scarta. Le stazioni 1 ed N sono un po speciali, perch hanno la possibilit di mandare dei messaggi di segnalazione sul bus opposto. Per esempio la stazione N quando si accorge che terminato il pattern di bit emette una segnalazione sul bus opposto (bus B) per avvertire tutte le altre stazioni che il ciclo terminato. Tutte le stazioni una volta che hanno trasmesso non invieranno nessun altro messaggio prima dell nizio di un nuovo ciclo, scandito da una frame trasmessa dalla stazione 1 (oppure dalla i stazione N). La soluzione molto simile a quella di expressnet, con la differenza sostanziale che in questo caso non abbiamo una lettura e scrittura sullo stesso bus. Lo svantaggio per causato dal fatto che per ogni bus si ha ciclo di trasmissione e ciclo di attesa. Perch fin quando non arriva il segnale di fine ciclo dalla stazione N alla stazione 1 (e viceversa) non si pu pi trasmettere sul bus A (bus B). L fficienza 4 di FASNET dunque decisamente inferiore all fficienza di EXPRESSNET. e e Questi due protocolli sono stati dei prototipi che successivamente hanno portato alla standardizzazione di: 1. FDDI: derivazione del token ring, arricchito per migliorare le prestazioni. 2. QPSX, poi chiamato DQDB (poi standardizzato con il nome di IEEE 802.6). Proposta che preleva da FASNET l dea di utilizzare due bus unidirezionali. i La battaglia della standardizzazione l a vinta il DQDB, mentre l DDI si dovuta accontentare h F dello standard ANSI, e successivamente fu standardizzata anche dall SO. In realt il maggiore I interesse si rivolto verso l DDI che per ormai stata abbandonata, travolta dalle nuove F proposte.

Ricordiamo che l efficienza il rapporto fra il traffico che si pu smaltire in un dato tempo e capacit della linea.

10.6 FDDI La rete FDDI (Fiber Distributed Data Interface), topologicamente simile al token ring e permette la connessione fino a 1000 stazioni. Il mezzo trasmissivo usato la fibra ottica, e le capacit in gioco sono dell rdine di 100Mbps, con distanze fino a 200Km. La rete FDDI pu essere usata sia come o LAN, ma date le elevate capacit di canale viene spesso usata come dorsale per il collegamento di pi LAN (vedi Fig. 10.6-1).

Fig. 10.6-1

La struttura tipicamente usata formata da due anelli controrotanti, i quali assicurano un elevato grado di fault tolerance, anche in caso di guasto di uno di essi o addirittura di entrambi. Supponiamo infatti che entrambi i cavi si interrompano per qualche ragione nello stesso punto. I due anelli possono essere uniti come mostrato in Fig. 10.6-2, rendendo possibile la comunicazione. Se viene usata questa struttura, la lunghezza dei singoli anelli deve essere al pi di 100Km, in modo che in caso di guasto la lunghezza del ring non superi mai i 200Km, limite massimo definito nello standard. L DDI definisce due classi di stazioni: F 1. Classe A, collegate ad entrambi i ring. 2. Classe B, collegate ad un solo ring e dunque pi economiche.
5 La codifica usata, chiamata 4 su 5, la quale codifica ogni 4 simboli con 5 bit sul mezzo fisico. Cos facendo la banda richiesta sul mezzo fisico, per ottenere la capacit di 100Mbps, di 125Mbps. Se viceversa si fosse usata la classica codifica Manchester (usata spesso nella LAN), la banda del mezzo doveva essere di 200Mbps. Ovviamente, cos facendo si perde la propriet di self-clocking della codifica Manchester, e per sincronizzare il ricevitore alla sorgente del messaggio viene usato un lungo preambolo.

Con il termine simboli, indichiamo i bit a livello di Data Link.

Fig. 10.6-2

Una miglioria apportata rispetto al token ring, riguarda l verhead sul token. Per migliorare o l tilizzazione del ring (che nell DDI potrebbe essere molto esteso), un nuovo token viene rilasciato u F subito la trasmissione del campo FS della frame. La stazione dunque inserisce dei simboliIDLE fino alla ricezione di un campo SD che indica l nizio di una nuova frame o di un nuovo token. i In Fig. 10.6-4 riportato un semplice esempio di trasmissione in una rete FDDI. Si nota che, come nel token ring, le stazioni sorgenti si occupano di eliminare le frame trasmesse dal ring, una volta che compiono il giro completo dell nello. Comunque, a causa dell levato tempo di rotazione della a e frame, pi pacchetti possono viaggiare nel ring contemporaneamente. Il formato della frame nella rete FDDI riportato in Fig. 10.6-3.

Fig. 10.6-3

Fig. 10.6-4 - Esempio di trasmissione nella rete FDDI

Vediamo adesso come viene gestito il token. A differenza del token ring, in cui il token gestito facendo uso delle priorit e delle prenotazioni nel campo access control dei pacchetti, nell DDI F viene usato lo stesso principio sfruttato nelle reti token bus. Questa tecnica viene chiamata timed token rotation protocol, e si basa sulla conoscenza del target token rotation time (TTRT), che rappresenta il tempo con cui il token dovrebbe compiere un giro completo del ring. Per ogni rotazione del token, tutte le stazioni calcolano il tempo intercorso dall ltimo arrivo del u token. Tale intervallo chiamato token rotation time (TRT). Se c poco traffico nel ring, il TRT sar basso, ma all umentare del carico sulla rete, tale tempo aumenter. Esso dunque rappresenta un a indice del carico offerto alla rete. Il protocollo timed token rotation, assicura un accesso fair a tutte le stazioni, permettendo alle stazioni stesse di inviare i dati in attesa solo se il TRT misurato inferiore al TTRT che fissato. Il principio di funzionamento piuttosto semplice: una stazione appena riceve il token calcola la differenza fra il TTRT e il TRT. Questa quantit viene indicata con token hold timer (THT) e rappresenta il massimo tempo che la stazione pu mantenere il token per trasmettere le proprie frame. Se il THT positivo, la stazione pu trasmettere, viceversa, se il THT calcolato negativo, la stazione non pu trasmettere i dati in attesa e deve rilasciare immediatamente il token. Un valore positivo del THT early token, mentre un valore negativo viene comunemente indicato come late token. Nel ciclo successivo, solo le stazioni che non hanno trasmesso avranno diritto a inviare i propri dati, in modo tale che tutte le stazioni potranno trasmettere. Attraverso un aggiustamento dinamico si pu raggiungere una situazione in cui tutte le stazioni riescono a ridurre il tempo di trasmissione e tutte riescono a trasmettere entro una determinata soglia. Un ulteriore miglioramento dell DDI chiamato FDDI II quello di prevedere esplicitamente che la F capacit del bus sia frazionata fra una sorta di commutazione gestita con il token e un ltra gestita a a circuito. Cio, si fa in modo che una certa banda, venga comunque riservata a delle stazioni che hanno bisogno di trasmettere con una cadenza regolare (alle stazioni che hanno bisogno di un servizio isocrono). Tale banda verr assegnata on demand (su richiesta), e dunque in intervalli periodici vi sono degli slot temporali che vengono comunque riservati alle stazioni che ne hanno fatta richiesta. Ovviamente il margine fra la banda riservata per i servizi isocroni e quella riservata ai servizi asincroni variabile.

10.7 DQDB La rete DQDB (Distributed Queue Dual Bus), originariamente chiamata QPSX (Queued Packet Synchronous Switch), e poi standardizzata dall EEE con il nome di IEEE 802.6, una rete I broadcast slottata particolarmente adatta per reti metropolitane o per l nterconnessione di pi LAN. i La capacit trasmissiva infatti pu arrivare a 155Mbps, ma sono previste anche delle versioni a 34, 45 e 140 Mbps. Sono inoltre previsti dei meccanismi protocollari per il supporto sia di traffico dati che di traffico isocrono. Strutturalmente simile a FASNET, infatti si basa su due bus unidirezionali, a cui le stazioni (dette anche Access Node) sono collegate6.

In realt potrebbe essere usato un singolo bus ripiegato per migliorare l affidabilit.

Fig. 10.7-1

Osserviamo che alle estremit dei due bus (vediFig. 10.7-1) vi un particolare dispositivo che ha il compito di generare continuamente degli slot in cui le stazioni inseriranno le frame, chiamate anche segmenti. Tali slot sono di lunghezza fissa pari a 53 ottetti di cui 48 utilizzabili per il trasporto di dati utente. Il primo byte del segmento contiene il campo Access Control (AC), in cui il primo bit, chiamato busy bit, indica se lo slot libero (0) oppure se occupato ( 1), e il secondo bit, chiamato request bit, usato per gestire la coda distribuita di prenotazioni per la trasmissione. L ccesso agli slot disponibili per il trasferimento di dati asincrono basato su un algoritmo di coda a distribuita, chiamato queued packed distributed switch (QPSX). Per trasmettere una frame le stazioni devono conoscere se il destinatario si trova alla destra o alla sinistra. Nel primo caso verr usato il bus A, mentre nel secondo caso il bus B. A differenza dei protocolli a contesa, non appena una stazione ha qualcosa da trasmettere si metter in coda (tale coda distribuita), e invier i dati solo dopo che tutte le altre stazioni che la precedono avranno trasmesso. Questo meccanismo necessario per evitare che le stazioni vicino glihead end occupino sempre le celle lasciando perennemente in attesa le altre stazioni. Per implementare la coda distribuita ogni stazione mantiene due contatoriRC e CC: RC (Request Counter). CC (Countdown Counter). Come mostrato in Fig. 10.7-2 (a), ogni slot contiene due bit nellAC usati dall lgoritmo: busy bit a (B-bit) e request bit (R-bit). L ccesso agli slot in entrambi i bus controllato da due distinti a contatori chiamati Request Counter. La richiesta di slot su un bus viene effettuata usando il request bit negli slot dell ltro bus. Se passa uno slot con il request bit settato, il corrispondente contatore a viene incrementato. Inoltre se passa uno slot vuoto il corrispondente contatore decrementato di una unit. Ad ogni istante, i request counter contengono il numero di richieste di slot da parte delle stazioni a valle della stazione stessa.

Fig. 10.7-2

La Fig. 10.7-2 (c) mostra che, per trasmettere una cella, la stazione trasferisce il contenuto del request counter, in un altro contatore chiamato countdown counter (CC, anche chiamato CD). Quindi riporta a zero il contenuto dell C e setta il request bit del primo slot ricevuto nel bus R opposto con R-bit pari a 0. Cos facendo si inserisce la frame da mandare nella coda distribuita. Mentre la frame accodata per la trasmissione su un bus, il passaggio di celle con R-bit pari a 1, comporta l ncremento del l C, come visto in precedenza. Gli slot nel bus in cui si deve trasmettere i R il segmento, che passano con B-bit pari a 0, causano il decremento del CC. Il messaggio in attesa viene spedito non appena il CC pari a 0 e arriva uno slot vuoto. Consideriamo, ad esempio, la Fig. 10.7-3. Inizialmente tutti i contatori sono a 0 e nessun messaggio in coda Fig. 10.7-3(a). Quindi la stazione D ha pronto un dato da trasmettere sul bus A, ed emette una richiesta di trasmissione sul bus B. Si ha dunque l ncremento dei RC delle stazioniA, B e C Fig. i 10.7-3(b). Dopo, la stazione B intende trasferire un dato sul bus A, e dunque copia l C nel CC ed R invia la richiesta sul bus B, che ha come effetto l ncremento dell C sulla stazione A Fig. 10.7-3(c). i R A questo punto, supponiamo che vengano generate delle celle sul bus A. Appena la prima di esse passa dalla stazione B, si ha il decremento del registro CC (no la trasmissione della frame). Quando la stessa cella passa dalla stazione D, viene settato il busy bit e viene trasmesso il messaggioFig. 10.7-3(d). Infine, non appena passa un ltra cella dalla stazione B, dato che il CC pari a 0, viene a settato il busy bit e viene trasmessa la frameFig. 10.7-3(e). Il maggiore vantaggio di questa architettura che la gestione della comunicazione realizzata senza introdurre overhead, e dunque l fficienza potrebbe raggiungere il 100, cio in condizioni di alto e carico tutti gli slot verrebbero utilizzati. Da un ttenta analisi delle performace si per rilevato che a l lgoritmo QPSX, in condizioni di alto carico, privilegia le stazioni vicine alla testa del bus rispetto a a quelle situate al centro del canale di comunicazione. Per capire meglio le cause di questa disparit, osserviamo che la stazione pi vicina alla testa del bus, sar la prima a ricevere la cella e dunque anche la prima a poter utilizzare il request bit, ed inoltre sar anche l ltima a ricevere le richieste di prenotazioni sul bus (che arrivano sul bus opposto) e che u impongono alla stazione di lasciar passare delle celle vuote. In condizioni di alto carico, l ffetto che e si ha riportato in Fig. 10.7-4(a). Si vede quindi come aumenta il tempo medio di accesso all umentare della dimensione della rete e del bit/rate. a Per evitare questa ingiustizia, viene introdotta una modifica all lgoritmo di accesso chiamata a bandwidth balancing mechanism. Essa consiste nell ntrodurre un contatore per ogni bus i (bandwidth balancing counter - BWB), il quale mantiene il numero di frame inviate su quel bus dalla stazione. Appena tale contatore raggiunge una soglia fissata, la stazione consente il passaggio di una cella aggiuntiva, incrementando il registro RC, e il BWB viene resettato. Il bandwidth balancing mechanism ha come effetto collaterale lo spreco di banda che maggiore per piccoli valori del modulo di BWB (che indicheremo conM). Questo effetto mostrato graficamente in Fig. 10.7-4(c), in cui graficato il tempo medio di accesso al mezzo al variare di M. Si vede chiaramente come all umentare del modulo di BWB le disparit diminuiscono ma la banda sprecata a aumenta.

Fig. 10.7-3 - (a) Inizialmente la rete idle. (b) Dopo D emette una richiesta. (c) Dopo B emette una richiesta. (d)
Quindi D trasmette. (e) Infine B trasmette.

Fig. 10.7-4

Anche in questo caso necessario un compromesso, e di solito il valore usato per M il numero 8. Nel caso peggiore, l fficienza pari a: e
efficienza = M 100% M +1

Eq. 10.7-1

e dunque nel caso anzidetto risulta:


efficienza = 8 100% = 88.9% 8 +1

Questo spreco causato dall ltima stazione che dopo la trasmissione di 8 frame, lascer passare uno u slot che non potr essere usato da nessuno. Il protocollo DQDB presenta diverse varianti che tendono a migliorare il comportamento del protocollo stesso. Una di queste si pone come obiettivo di aumentare l fficienza oltre il 100% e sfruttando la natura unidirezionale dei bus. In questa variante i nodi possono fungere da nodi di cancellazione, cio essi si rendono conto che il messaggio presente su una cella stato gi letto (perch la stazione sorgente e la stazione destinataria sono vicine) e modificano il busy bit rendendo disponibile alle stazioni a valle lo slot per un lteriore trasmissione. L nere di questa operazione u o ovviamente a carico della stazione destinataria del messaggio che dunque deve avere il tempo non solo di leggere l ttetto relativo al campo AC, ma di leggere tutto l eader in cui c scritto o h l ndirizzo della stazione destinataria. Dunque la latenza non pi di un ottetto, bens di 5 ottetti. In i base alle distribuzione del carico, al limite si pu anche raddoppiare l fficienza del canale. e Il maggiore svantaggio del DQDB che i nodi di accesso sono piuttosto elaborati, e dunque costano molto. Il successo commerciale di questa rete stato praticamente nullo. L DDI sicuramente F meno costosa del DQDB (la gestione del token sicuramente pi semplice rispetto alla gestione della coda distribuita), per ha il grosso problema del cabling; essendo basata su fibra ottica l nstallazione di queste reti molto costosa. i Il problema si riaperto, e come obiettivo si posto quello di riuscire a implementare delle reti ad alta velocit (che supportano i 100Mbps) economiche.

10.8 Ethernet Switching L dea di base quella di usare la gi affermata rete ethernet 10 base T e di sostituire i concentratori i con dei commutatori (switch), i quali permettono la trasmissione contemporanea di pi pacchetti se i mittenti e i destinatari sono diversi. Cos facendo possibile N-uplicare la capacit totale della classica ethernet.

10.9 Ethernet a 100 Mbps Successivamente si per sentita l sigenza di realizzare una rete che supportava i 100Mbps sullo e stesso dominio di collisione. Ricordiamo che, nel MAC ethernet, la velocit non un paramentro indipendente, ma legato strettamente ad altri due: la lunghezza minima del pacchetto (512 bit) e il round trip delay (51.2sec.). Se si vuole realizzare una rete a 100Mbps mantenendo lo stesso protocollo di MAC si deve aumentare di un fattore 10 la lunghezza della frame (5120 bit) oppure diminuire di un fattore 10 il round trip delay, limitando ad esempio l stensione della rete stessa. e

Nel 1992 furono presentate due proposte di ethernet a 100Mbps, la prima basata sul vecchio protocollo CSMA/CD e poi standardizzata con il nome IEEE 802.13 (o 100BaseX) la seconda, sponsorizzata da HP e AT&T, basata essenzialmente su un diverso MAC rispetto all 02.3, poi 8 standardizzata con il nome IEEE 802.12 (o 100BaseVG AnyLAN).

10.9.1 100Base-X Questa rete si basa essenzialmente sul 10Base-T, in cui si aumentato di un fattore 10 la capacit trasmissiva del canale e si ridotto di un fattore 10 la lunghezza massima della rete. Le principali caratteristiche sono dunque: Velocit trasmissiva: 100 Mbps; Bit time: 10 nsec.; Inter Packet Gap (IPG): 0.96 sec.; Slot time: 512 bit, cio 51.2 sec.; Distanze ammesse: 220 m; cio cablaggio attorno ad un hub con raggio 100m e tolleranza del 10%. L biettivo del 100Base-X ovviamente quello di mantenere a livello di schede la compatibilit con o il diffusissimo 802.3 usando esattamente lo stesso formato di pacchetto.

100m HUB BRIDGE BRIDGE HUB

100m

200m

Fig. 10.9-1 - Cablaggio di una LAN 100BaseX

10.9.2 100VG AnyLAN Lo standard 802.12 chiamato anche 100VG AnyLAN. Il simbolo VG sta per Voice Grade, e cio tale rete pu funzionare con 4 coppie di doppino intrecciato non schermato di categoria 3 (chiamato appunto Voice Grade), mentre AnyLAN perch combina la trasmissione di pacchetti ethernet e token ring in un nica tecnologia. u A differenza del 100BaseX, il protocollo 100VG AnyLAN mantiene uguale all 02.3 solo il formato 8 del pacchetto, mentre il MAC non pi a collisione, bens di tipoDemand Priority Access Method (DPAM). Grazie a questo protocollo, ad ogni stazione garantita sia una determinata velocit trasmissiva media minima, che un tempo massimo di ritardo. Queste caratteristiche rendono adatto questo standard per applicazioni multimediali. Inoltre il protocollo gestisce due livelli di priorit. La topologia usata pu essere a stella o ad albero come mostrato in Fig. 10.9-2.

HUB (a)

HUB

HUB (b)

HUB

Fig. 10.9-2 - (a) Topologia a stella. (b) Topologia ad Albero.

Il Demand Priority un metodo di accesso al mezzo trasmissivo in cui i nodi avanzano una richiesta all ub tutte le volte che devono inviare dei dati. Tale richiesta caratterizzata da un certo livello di h priorit (normale per i pacchetti dati e alta per i pacchetti di applicazioni isocrone). Ovviamente le richieste ad alta priorit verranno privilegiate dall ub rispetto alle altre. Il livello di priorit dei h pacchetti viene stabilito dal software applicativo ed passato come parte dell nformazione del i pacchetto al sottostrato MAC. La gestione delle richieste di trasmissione viene effettuata dagli hub secondo una politicaround robin. Le stazioni vengono ciclicamente interrogate in un ben determinato ordine fissato per individuare le richieste di trasmissione. Le richieste vengono soddisfatte nello stesso ordine seguito per l nterrogazione, ovviamente rispettando i due livelli di priorit. i Nel caso di struttura ad albero, come mostrato in Fig. 10.9-2, il principio di funzionamento simile. Le richieste di trasmissioni ad una porta di un hub possono pervenire da una stazione oppure da un hub di livello inferiore. Analogamente, se viene abilitato alla trasmissione un hub (l bilitazione a perviene dall ub di livello superiore), attivato il normale ciclo che permette la trasmissione ai h dispositivi connessi alle porte secondo l rdine stabilito, rispettando le priorit. I nodi singoli o possono inviare solo un pacchetto alla volta, mentre un hub di livello inferiore conn nodi collegati, potr inviare fino a n pacchetti appena viene selezionato. Per concludere, osserviamo come negli ultimi anni si sta cercando di tornare verso soluzioni elementari dal punto di vista tecnologico, perch si visto come semplicit implica efficienza e bassi costi.

10.10 Reti via Satellite Concludiamo la trattazione degli schemi ad accesso multiplo con le reti via satellite. A differenza delle altre reti precedentemente studiate che sfruttano un canale comune le reti via satellite vengono usate per realizzare delle WAN. Fondamentalmente i satelliti possono essere Low-Orbit o Geostazionari, a seconda se hanno una velocit relativa rispetto alla terra oppure no. Il loro scopo quello di ripetere il segnale proveniente dallUplink channel (canale di comunicazione usato per la trasmissione verso il satellite) sul Downlink channel (canale di comunicazione usato per la trasmissione dal satellite verso le stazioni sulla terra), dopo averlo amplificato.
7 Possono essere usati diversi schemi per l ccesso al canale comune (uplink channel), tra cui il FDM, a il TDM e il CDMA. Ricordiamo che nel TDM, l sse temporale viene suddiviso in slot i quali a vengono di volta in volta assegnati alle stazioni in maniera statica o dinamica. Nell DM la banda F viene suddivisa in tanti canali di frequenza, mentre nel CDMA viene utilizzata tutta la banda e le comunicazioni vengono differenziate attraverso un insieme di codici ortogonali.

Focalizziamo l ttenzione sulle modalit di accesso di tipo TDM dinamiche. L biettivo quello di a o assegnare gli slot temporali in modo da ottimizzare l fficienza del canale. In letteratura sono e presenti 3 schemi che poi sono spesso utilizzati nella realt: Binder Crowther Roberts

Fig. 10.10-1 - (a) Binder. (b) Crowther. (c) Roberts. In grigio sono indicati gli slot in cui si ha collisione.

Binder In tale schema si suppone che vi sono pi slot che stazioni, in modo tale che od ogni stazione viene attribuito uno slot, detto home slot. Se una stazione non ha nulla da trasmettere lascier l ome slot h vuoto. Nelle successive frame, tale slot potr essere utilizzato da una qualsiasi altra stazione che ne ha bisogno e sar dunque soggetto a contesa, risolta con un protocollo simile all loha. A

Il downlink channel non presenta alcun problema poich ha un solo trasmettitore che il satellite.

Se il proprietario desidera riappropriarsi dell ome slot, perch ha qualcosa da trasmettere, deve h semplicemente inviare dei dati su tale slot. Vi sar una collisione che segnaler alle altre stazioni di non utilizzare lo slot in questione. Quindi il legittimo proprietario riuscir a riconquistare lo slot al pi dopo due frame (lo slot infatti potrebbe non essere utilizzato da nessuno). In Fig. 10.10-1(a), la frame suddivisa in 8 slot, assegnati rispettivamente alle stazioniG, A, F, E, B, C, D. L ttavo slot o non assegnato a nessuna stazione, e dunque pu essere usato da chiunque. Osserviamo che la stazione F, non utilizza lo slot nella seconda frame. Tale slot verr dunque usato dalla stazione A nella terza trama. Nella quarta frame, la stazione F inizia una trasmissione che provocher una collisione. Nella successiva sequenza, la stazione F ritorner in possesso dell ome slot. Per h concludere osserviamo che in tale schema, per capire che lo slot libero bisogna attendere una frame, in cui tale slot sar inutilizzato. Crowther Tale schema quello pi usato nella realt, ed applicabile quando non conosciuto a priori il numero di stazioni, oppure quando tale numero varia frequentemente e lo schema Binder sarebbe piuttosto inefficiente. In questo caso gli slot non sono preassegnati, e le stazioni competono per l tilizzo degli slot stessi secondo la tecnica Slotted Aloha. Una volta conquistato il diritto di u trasmissione su uno slot, tale privilegio viene riconfermato nelle frame successive, fino a quando la stazione non ha pi nulla da trasmettere e lascia lo slot vuoto. In Fig. 10.10-1 (b), l ttavo slot o usato dalla stazione E, il quale lo utilizza per due frame. Dopo che nella terza frame questo slot viene lasciato libero, nella successiv sar utilizzato dalla stazione D. Roberts Questa tecnica richiede che le stazioni si prenotino prima della trasmissione. In ogni frame vi sono degli slot usati per le prenotazioni, i quali vengono suddivisi insubslot. Quando una stazione vuole trasmettere, inserisce la sua prenotazione in un subslot scelto casualmente. Se la prenotazione ha successo, verr riservato lo slot per la stazione in questione. Ogni stazione deve conoscere la lunghezza della coda delle richieste di trasmissione in modo da lasciare il giusto numero di slot prima di effettuare la trasmissione. Come mostrato in Fig. 10.10-1 (c), il numero di slot usati per le prenotazioni variabile e dipende dal traffico sulla rete. Nonostante gli schemi TDM siano i pi usati nella pratica, ci sono diversi punti deboli. Per prima cosa essi richiedono che tutte le stazioni siano sincronizzate, e questo complicato dal fatto che il tempo di propagazione dal satellite alle stazioni potrebbe variare. Inoltre spesso richiesto che le stazioni siano capaci di trasmettere ad un bit rate elevato, in quanto la durata dello slot piuttosto limitata. Ad esempio nello schema ACTS (Advanced Communication Technology Satellite), anche se una stazione ha un solo canale da 64 kbps, essa deve essere in grado di inserire 64 bit in 578 nsec.; in altre parole deve operare a 110 Mbps. 10.11 LAN & Internetworking Le LAN sono tipicamente interconnesse utilizzando come intermediate system dei bridge (vedi cap. 9). Ricordiamo che questi dispositivi lavorano a livello di data link, quindi possono al pi operare conversioni del formato delle frame. Come visto in precedenza tutte LAN hanno il DLL suddiviso nei sotto livelli MAC ed LLC. Ogni LAN caratterizzata da un particolare MAC, mentre il livello LLC definito nello standard 802.2, comune a tutte le LAN. Da ci segue che un bridge per interconnettere LAN differenti deve semplicemente convertire i formati delle frame da un MAC

all tro. Per esempio se si volesse connettere una 802.3 con una 802.4, il bridge dovrebbe operare a come mostrata in Fig. 10.11-1.

Fig. 10.11-1 - Modalit operativa di un bridge.

A prima vista potrebbe sembrare che un bridge per interconnettere due LAN un dispositivo di facile implementazione, ma in realt le cose non stanno cos. I problemi sono causati essenzialmente dai diversi formati delle frame (vediFig. 10.11-2), dai diversi rate a cui varie LAN lavorano, nonch dal fatto che alcune LAN, quali 802.3 e 802.4 impongono una dimensione massima per le frame, rispettivamente 1500 bytes e 8191bytes, mentre l 02.5 non impone alcun limite, per non parlare poi 8 dei problemi causati dal fatto che alcune LAN consentono di gestire traffico con diversi livelli di priorit, mentre altre no. Di seguito sono presentati due differenti approcci per l mplementazione di i un bridge. 10.11.1 Transparent Bridges L dea alla base dei Transparent Bridges quella di rendere del tutto trasparente l nterconnessione i i di pi LAN, nel senso che una volta collegato, il bridge avrebbe dovuto autonomamente costruire le tabelle di instradamento, senza richiedere alcun intervento dall sterno, inoltre nessuna modifica e doveva essere effettuata alle stazioni connesse alle varie LAN. Un transparent bridge lavora in promiscuous mode, ossia legge tutte le frame che viaggiano sulla LAN, e nel caso in cui si rende conto, consultando un pportuna tabella, che la destinazione della frame sta su un ltra LAN o a instrada quest ltima su un opportuna linea d scita, in caso contrario la frame viene scarica. La u u tabella di instradamento viene costruita utilizzando l lgoritmo di backward learning, che stato a gi descritto nel cap. 8.

Fig. 10.11-2 - Differenza nei formati delle frame delle lan 802.x.

10.11.2 Source Routing Bridge I source routing bridge garantiscono un routing generalmente migliore rispetto a quello ottenibile con i transparent bridge, ma ci a costo della trasparenza. In tal caso i nodi della rete devono determinare il percorso da far seguire alla frame, e quindi inserirlo all nterno della frame. Questo i percorso viene indicato specificando le sequenze LAN-Bridge che la frame dovr percorrere, a tal fine ad ogni LAN associato un numero da 12 bit (diverso per tutte le LAN), mentre ad ogni router associato un numero da 4 bit. Quando una stazione deve inviare un messaggio ad un utente collegato ad un ltra rete pone il bit pi significativo del destination address della frame pari ad uno. a I bridge per ogni frame che viaggia sulla LAN controllano il bit pi significativo del destination address. Nel caso in cui esso settato ad 1, controllano se il numero del bridge che segue quello della LAN da cui stata prelevata la frame coincide con il numero del bridge stesso, in tal caso instradano la frame sulla linea d scita associata alla LAN il cui numero identificativo segue il u numero bridge nel path indicato dentro la frame. Affinch la generica stazione possa indicare il percorso da far seguire alla generica frame, deve essere previsto un meccanismo mediante il quale sia possibile ricavare il percorso di routing per qualunque nodo della internet. Le soluzioni possono essere differenti, per esempio si potrebbe fare il download delle tabelle di instradamento per ogni nodo, oppure si potrebbe pensare ad una strategia in cui se una stazione non conosce il percorso di routing per raggiungere un ltra stazione chiede informazioni alle stazioni vicine oppure si potrebbe a usare una discovery frame. In quest ltimo caso, la destinazione per cui si vuole ricavare il percorso u di routing viene inserita all nterno di questa discovery frame. I bridge instradano le discovery frames i su tutte le LAN a cui sono collegati, realizzando in sostanza il flooding della discovery frame. Arrivata a destinazione la discovery frame viene rispedita indietro, e su questa frame di ritorno viene memorizzato il percorso seguito.

11. Reti Integrate


Lo scenario che si presentava allinizio degli anni 80, riguardo le reti geografiche, era costituito dalla presenza di diversi tipi di reti (a commutazione di pacchetto e di circuito) per la maggior parte analogiche. Al pi erano presenti dei collegamenti diretti numerici che permettono allutente di avere, al momento opportuno, delle linee dedicate, le quali vengono dinamicamente riutilizzate, a differenza delle leased line (linee affittate), che sono sempre a disposizione dellutente che ha stipulato il contratto. Con tali collegamenti si superava il problema del blocco della chiamata che poteva intervenire nelle reti a commutazione in particolari situazioni di carico. Questo scenario era abbastanza povero perch la trasmissione dati su reti a commutazione di pacchetto X.25 era limitata a 9600 bit/sec., mentre le reti a commutazione di circuito permettevano un pi elevato bit rate, ma non erano efficienti. Inoltre si assisteva ad un insieme di tante reti specializzate, che mettevano in stretta dipendenza la rete con il servizio richiesto dallutente. Tutto questo ha portato al concetto di ISDN (Integrated Services Digital Network), rete integrata negli utenti e nei servizi, cio la possibilit di avere ununica rete di comunicazione digitale che permetta il trasferimento di almeno 64 kbit/sec. (in modo da supportare la voce codificata in PCM), ed inoltre permetta allutente di avere dei terminali attraverso cui accedere ad un qualsiasi tipo di servizio.

11.1 Reti ISDN Le reti ISDN sono caratterizzate da: Connettivit numerica utente-utente. Capacit di gestire pi servizi. Unificazione delle interfacce terminali. Si possono individuare almeno tre stadi evolutivi: 1. Accesso integrato e sistema di trasporto differenziato per informazioni vocali e dati. In questa prima fase il sistema di trasporto rimaneva differenziato per le informazioni vocali e per le informazioni dati (praticamente si usano i sistemi di trasporto gi esistenti), ma laccesso, cio la visibilit resa allutente sullinterfaccia utente-rete di tipo integrato. 2. Accesso integrato e sistema di trasporto integrato per informazioni vocali e dati. In questa seconda fase, che tra laltro ha avuto una vita piuttosto breve, si cercato di fornire un trasporto integrato, capace di supportare informazioni audio e dati indistintamente. Questo ha portato allo studio di reti a commutazioni di pacchetto veloce. Non si comunque ritenuto lecito lo sforzo di realizzare delle reti a pacchetto veloce per supportare un traffico di soli 64 kbit/sec. perch, la richiesta di banda era superiore e la tecnologia introdotta successivamente permetteva dei rate trasmissivi decisamente pi elevati, a larga banda. Ecco come ci spostiamo subito nella fase successiva. 3. Accesso integrato e sistema di trasporto integrato per informazioni a larga banda. In questo stadio si ha un accesso integrato e un trasporto integrato con capacit dellordine di 100Mbit/sec. Quando si parla di ISDN bisogna dunque distinguere la N-ISDN, ISDN a banda stretta (Narrowband ISDN) che permette un trasferimento di 64kbit/sec (operativa in Italia dal 1993), dalla 11-1

B-ISDN, ISDN a banda larga (Broadband ISDN). In realt il lavoro di standardizzazione per la NISDN stato troppo lungo, per cui quando si arrivati alla fase operativa, la tecnologia era gi matura e la N-ISDN si rivelata inadeguata alle esigenze dellutente. Iniziamo adesso lo studio degli standard introdotti per la N-ISDN riguardo allinterfaccia utente-rete. Diciamo che laccesso stato regolamentato su dei canali numerici che sono stati denominati canale B e canale D, e successivamente si sono aggiunti i canali H.

Canali Canale numerico sincrono a 64 Kbit/sec. usato alternativamente per: voce a 64 kbit/sec. dati fino a 64 kbit/sec. voce e dati combinati Canale numerico addizionale a 16 kbit/sec. associato al canale B per multiplazione statistica di: telemetria segnalazione per servizi sul canale B dati interattivi a pacchetto a bassa velocit Tabella 11.1-1 Il canale B una canale numerico sincrono a 64 kbit/sec, e pu essere usato alternativamente per il trasferimento di voce, oppure per il trasferimento di dati, o infine per il trasferimento di voce a basso bit/rate (tramite codifiche particolari) e dati. Accanto al canale B, o ai canali B, vengono adoperati i canali D, che sono anchessi numerici ma con capacit di 16 Kbit/sec. Questo almeno nella prima fase, poich adesso i canali D possono essere anche a 64 kbit/sec. Sul canale D avviene la trasmissione o dei tradizionali dati a pacchetto (in fondo 16 kbit/sec. sono pi che sufficienti per trasportare i dati che fluivano nelle reti a commutazione di pacchetto tipo X.25 a 9600 bit/sec.), o dei dati di telemetria o, infine dei dati di segnalazione, cio informazioni che servono a controllare il trasferimento sui canali B.

Canale

2.048 kbit/sec. (standard europeo)

1.544 kbit/sec. (standard nord-americano) 64 kbit/sec. 384 kbit/sec.

B H0 H1 H2 H4 1.920 kbit/sec. 32.768 kbit/sec.

1.536 kbit/sec. 43.000 45.000 kbit/sec. 132.032 138.240

Tabella 11.1-2

I canali H hanno diverse capacit di trasferimento (vedi Tabella 11.1-2), e sono: 11-2

Il canale H0 con capacit di 384 kbit/sec. (equivalente a 6 x 64 kbit/sec.). Il canale H1 pu avere due varianti; quella corrispondente alla gerarchia numerica europea (H12) ha capacit di 1920 kbit/sec. (30 x 64 kbit/sec.), mentre quella relativa alla gerarchia numerica nord-americana (H11), ha capacit di 1536 kbit/sec. (24 x 64 kbit/sec.). I canali H sono riservati al trasporto dellinformazione dutente e le modalit di impiego sono simili a quelli del canale B. In Tabella 11.1-3 sono schematicamente riassunti i servizi sui canali D e B.

Servizi sul canale D (16 kbit/sec.) Servizi telefonici supplementari Dati a pacchetto a bassa velocit Videotex Teletex Telemetria Segnalazione per servizi sul canale B.

Servizi sul canale B (64 kbit/sec.) Voce Voce ad alta qualit Dati veloci a circuito e a pacchetto Voce e dati combinati Teletex Facsimile Video lento Posta elettronica Videotex

Tabella 11.1-3

Le interfacce fisiche utente-rete, sono conformi con delle strutture di interfaccia che sono riportate in Tabella 11.1-4:

Tipo

Composizione

Capacit del canale (kbit/sec.)

Ritmo binario netto di interfaccia (kbit/sec.) 144 2.048

Accesso base Accesso primario (Europa) Accesso primario (nord-America)

2B+D 30B+D

16 64

23B+D

64

1.544

Tabella 11.1-4

In tutte queste strutture di accesso, la banda disponibile utilizzata sfruttando una multiplazione di tipo ibrido, in cui la frame logicamente partizionata in modo fisso in due regioni: una suddivisa in 11-3

slot e laltra indivisa. La regione slottata la sede dei canali B o H; quella indivisa invece a disposizione del canale D.

B-Channel 64 kb/s - Basic Channel D-Channel 16 kb/s Packet Switched Facilities

Terminal
B-Channel D-Channel

Local Exchange
B-Channels

Circuit Switched Facilities

Local Exchange
B-Channels

Terminal
B-Channel D-Channel

Frame Relay Facilities User - Network Signalling

Common Channel Signal Facilities

User - User (end to end) Data / Signalling

Fig. 11.1-1 - Modello architetturale di base di una ISDN. In Fig. 11.1-1 riportato il modello architetturale di una ISDN. Osserviamo che tra un nodo terminale ed un altro pu esserci o una rete a commutazione di pacchetto, o una rete a commutazione di circuito, oppure una rete frame delay. Questo un servizio innovativo rispetto alla rete a commutazione di pacchetto, che permette di realizzare delle velocit pi spinte. In particolare, il controllo di errore di livello 2 e il controllo di sequenza di livello 2 e 3 non vengono effettuati in tutti i nodi intermedi, bens esclusivamente nei nodi della rete che si attestano verso lutente (controllo edge-to-edge). Questa tecnica comporta che la frame venga trasmessa dai nodi intermedi il pi velocemente possibile, senza dispendio di tempo allinterno dei nodi stessi. Vediamo adesso come pu essere trattata la cosiddetta informazione di segnalazione, cio le informazioni necessarie per gestire la comunicazione. Sono dunque informazioni di segnalazione tutti i dati scambiati per instaurare e abbattere una connessione fisica o virtuale, come anche tutti i dati necessari per modificare le caratteristiche di una comunicazione gi instaurata. Fondamentalmente possiamo distinguere due modalit di trasferimento della segnalazione: Segnalazione Associata al Canale (SAC). 11-4

Segnalazione a Canale Comune (SCC). Nel primo caso, SAC, data una comunicazione, tutte le informazioni di controllo relative a tale comunicazione sono trasferite in modo solidale ai dati. Cio, linformazione di segnalazione preposta al controllo di una chiamata, viene scambiata su un canale distinto rispetto ad altri canali che trasferiscono informazioni dello stesso tipo, ma sono riferiti ad altre chiamate. Si stabilisce dunque una corrispondenza biunivoca fra il canale su cui trasferita linformazione, che verr chiamato canale controllato, e il canale su cui viaggiano i dati di segnalazione, che verr chiamato canale controllante. Questi due canali logici possono far parte dello stesso canale fisico e in tal caso si parla di segnalazione in banda, oppure possono essere fisicamente separati e si parla di segnalazione fuori banda. Per ambedue i tipi di informazione (dati e di controllo) si attua lo stesso modo di trasferimento a circuito. Le trame PCM possono essere gestite secondo la modalit SAC fuori banda. Nel caso della X.25 si ha una segnalazione associata al canale in banda. Infatti si ha un pacchetto di call request, che di fatto apre il canale logico di comunicazione. Vedremo invece che nelle reti ATM si usa la tecnica di segnalazione associata al canale fuori banda. Una filosofia completamente diversa seguita nel caso di segnalazione a canale comune. In questo caso tutte le segnalazioni vengono indirizzate su una rete a parte, quindi su unarchitettura protocollare a parte. Questo comporta che tutti questi messaggi di controllo devono essere aggregati in opportuni pacchetti che contengono nellheader lidentificativo della comunicazione alla quale si riferisce il pacchetto di controllo stesso. Volendo confrontare la tecnica SCC con la SAC a canali separati possiamo dire che vi sono due differenze sostanziali: il canale di segnalazione agisce come controllante per una pluralit di chiamate, e il modo di trasferimento che viene impiegato del tipo orientato al pacchetto di tipo connection-less. Per un tipo di segnalazione di questo genere stata introdotta dal CCITT unarchitettura protocollare che prende il nome di SS-7 (signaling system number 7, ovvero sistema di segnalazione numero 7). Si potrebbe parlare a lungo di tale protocollo, ma in questa sede basta dire che le reti che usano la segnalazione a canale comune necessitano di una rete a parte per il trasporto dei messaggi di segnalazione. Laddove c un auto-commutatore, c sempre un Signalling Point (SP - punto di segnalazione), che ha il compito di smistare tutte le informazioni di controllo e di diramare le opportune azioni alle due reti proprio per permettere lapertura, la manutenzione e la chiusura della comunicazione. Vediamo adesso come possono essere aggregate assieme sullo stesso canale informazioni dati e informazioni foniche. Bisogna suddividere la capacit del canale in modo che una parte sia riservata per un servizio isocrono e la restante per un servizio asincrono. Questo avviene tipicamente facendo in modo che, alcuni canali, basati su intervalli temporali, vengono definiti in modo sincrono, mentre c una parte della banda indivisa che viene gestita per la trasmissione di pacchetti dati o pacchetti di segnalazione. Il confine fra queste due regioni pu essere fisso, cio si ha una ripartizione statica della banda fra servizi isocroni e servizi asincroni, oppure pu essere dinamicamente modificabile, e in questo caso si parla di strategia di moved boundary (confine mobile), che alla base del funzionamento dellaccesso integrato su ISDN. In questultimo caso si ha la possibilit di avere una riserva di canali isocroni (che vengono attribuiti alle comunicazioni) ma, nel momento in cui qualche comunicazione vocale viene disattivata, piuttosto che lasciare questa banda inutilizzata, viene usata per trasportare dei dati, cio per trasmissioni di tipo asincrono. Nel momento in cui si ha nuovamente bisogno dei canali isocroni, questi vengono rubati immediatamente alla parte asincrona. Ovviamente ai dati viene sempre riservata una parte del canale per evitare che i canali isocroni monopolizzino la banda a disposizione. interessante vedere come questa ripartizione di banda diventa piuttosto complicata nel momento in cui si trasportano informazioni multimediali, in cui la parte dati, e la parte voce e video, non sono 11-5

completamente scorrelati, bens vi una correlazione tra questi flussi monomediali, per cui non si pu banalmente dare priorit alle informazioni isocrone. Infatti i dati appartenenti ad un flusso multimediale devono essere ricompattati con le informazioni audio e video (di tipo isocrono), al ricevitore, per cui bisogna recuperare il delay gitter, cio il ritardo introdotto dalla rete per i diversi flussi monomediale fra un edge e laltro.

11.2 Reti a Larga Banda La maggior parte delle reti viste sin ora erano state progettate per la telefonia o per supportare traffico dati. LISDN stato il primo tentativo di fornire allutente un servizio integrato, in cui una sola rete poteva essere usata per trasferire qualsiasi tipo di informazioni. Daltro canto la banda passante messa a disposizione da una rete ISDN, detta anche N-ISDN1, risulta essere inadeguata rispetto alle esigenza delle applicazioni odierne, quali Video On Demand, Videoconferencing etc. Inoltre, molte di queste applicazioni, oltre a necessitare notevoli quantit di banda passante, hanno caratteristiche real-time2. In ambiente real-time la correttezza di unoperazione dipende non solo dal risultato, ma dipende fortemente dallistante in cui il risultato ottenuto. Questo significa che queste applicazioni, non solo richiedono che un messaggio arrivi corretto, ma in pi richiedono che il messaggio sia consegnato entro una certa deadline. Per soddisfare i requisiti richiesti dalle applicazioni moderne, il CCITT ha definito un nuovo tipo di rete integrata, detta Broadband ISDN (B-ISDN). La B-ISDN basata su una nuova tecnologia nota con il nome di ATM (Asynchronous Transfer Mode), inoltre a differenza dellISDN, e della vecchia rete telefonica, essa una rete di tipo packet switched. 11.3 ATM (Asynchronous Transfer Mode) Nel passato, le reti che dovevano supportare traffico di tipo CBR (Constant Bit Rate), come ad esempio la voce digitalizzata mediante PCM, sfruttavano tecniche del tipo Slotted Framed Multiplexing (vedi cap 5.1), in cui ad ogni sorgente di traffico viene assegnato uno slot, di dimensione fissa, allinterno di un frame. Mentre le reti dati usano multiplexare statisticamente frame di lunghezza diversa sul canale trasmissivo. Poich LATM deve supportare entrambi i tipi di traffico, si pensato ad uno schema che riunisce i due precedenti. Infatti le reti ATM considerano lasse temporale suddiviso in slot di dimensione fissa, i quali vengono assegnati statisticamente. Lidea alla base dellATM, quindi quella di trasmettere le informazioni in pacchetti di dimensione fissa detti celle. Poich le celle rappresentano lunit trasmissiva, la loro dimensione cruciale per quanto concerne la flessibilit e lefficienza di questo schema; infatti celle piccole garantiscono grande flessibilit ma bassa efficienza in termini di sfruttamento del canale, e viceversa. Una dimensione delle per le celle di 53 bytes sembrata costituire il miglior compromesso, in particolare 5 bytes della cella sono occupati dallheader, mentre i rimanenti 48 bytes costituiscono il campo informativo. Le reti ATM, forniscono un servizio di tipo connection oriented, gestito mediante circuiti virtuali. Questo significa che per scambiare informazioni, due entit devono prima stabilire una connessione, ci equivale a stabilire un virtual channel tra i due interlocutori. La consegna delle celle non garantita, ma ci che assicurato che, le celle vengono consegnate nello stesso ordine in cui sono state trasmesse. Inoltre come lISDN, anche lATM, prevede che la segnalazione venga

Tipicamente la rete ISDN viene detta N-ISDN, dove la N sta per Narrowband, ci per distinguerla dalla B-ISDN, dove la B sta per Broadband. 2 Per unintroduzione alle problematiche dei sistemi Real-Time vedi: John A. Stankovic. Real Time Computing Byte Agust 1992.

11-6

fatta su un canale dedicato, il protocollo usato per differente, e consente di avere connessioni di tipo Multi-Point. Volendo riassumere, i concetti chiave alla base dellATM sono: basato su packet oriented transfer mode. Usa un Asynchronous Time Division Multiplexing Organizza il flusso informativo in blocchi di dimensione fissa detti celle. Le celle sono assegnate on demand, in base allattivit della sorgente ed alle risorse disponibili. un sistema di tipo connection oriented. Usa un canale distinto per la segnalazione.

11.3.1 Modello di Riferimento In modello di riferimento delle reti B-ISDN basate su ATM, mostrato in Fig. 11.3-1, esso a differenza dei modelli di riferimento visti sin ora, ha una struttura tridimensionale. Questarchitettura

Man

ag

nt eme

Plan

Plane Management

Layer Management

Control Plane Upper Layers


CS Sublayer SAR Sublayer

User Plane Upper Layers

ATM Adaptation Layer ATM Layer

TC Sublayer PMD Sublayer

Physical Layer

Fig. 11.3-1: Modello di riferimento B-ISDN ATM. supporta tre differenti funzionalit applicative, le quali sono rispettivamente: Control Plane (C-Plane). User Plane (U-Plane). Management Plane (M-Plane). I protocolli associati al C-Plane, si preoccupano della gestione della connessione, ossia essi consentono linstaurazione e la rimozione di un circuito virtuale ogni qual volta esso sia richiesto. I protocolli dellU-Plane, dipendono tipicamente dallapplicazione, e dialogano con la peer entity posta 11-7

a destinazione, quindi questi protocolli sono tipicamente end-to-end. Infine i protocolli del M-Plane, hanno il compito di gestire le risorse del sistema e coordinare i vari livelli. Oltre alla suddivisione in planes, larchitettura dellATM (mostrata in Fig. 11.3-1), costituita da tre livelli, il Physical Layer, lATM Layer, e lATM Adaptation Layer (AAL). Sopra questi livelli lutente pu mettere ci che desidera. Prima di proseguire nellanalisi dei vari livelli, importante dire che non possibile mettere in stretta analogia i livelli del modello di riferimento dellATM, con i corrispondenti livelli OSI, La Tabella 11.3-1 contiene una descrizione delle funzionalit fondamentali di ogni livello, inoltre mostra quale livelli OSI contendono le funzionalit presenti nel dato livello dellarchitettura ATM.

Tabella 11.3-1: Funzionalit principali dei livelli dellarchitettura B-ISDN ATM.


OSI Layer ATM Layer ATM Sublayer CS 3/4 AAL SAR Functionality

Provide a standard interface Segmentation and Reassembly Flow Control Cell Header Generation Virtual Circuit/Path Management Cell Multiplexing-Demultiplexing

2/3

ATM

TC 2 Physical 1 PMD

Cell Rate Decoupling Header Checksum generation/extraction Cell Generation Packing/Unpacking cells from envelope Frame generation Bit Timing Physical Network access

11.3.1.1 Physical Layer Il Physical Layer costituito da due sotto livelli, il Transmission Convergence Sublayer (TC) ed il Physical Medium Dependent Sublayer (PMD). LATM non impone uno standard per quanto riguarda la trasmissione delle celle, ma piuttosto specifica che le celle possono essere spedite individualmente, oppure possono essere incapsulate allinterno della payload di unaltra rete, come T1, T3, SONET o FDDI. Esistono inoltre degli standard che definiscono come le celle devono essere incapsulate allinterno delle frame fornite dai sistemi suddetti. Lo standard dellATM, prevedeva inizialmente un rate di base di 155.52Mbps (OC-3) ed un altro quattro volte pi grande di 622.08 Mbps (OC-12) proprio per essere compatibile con la SONET. In particolare ricordiamo che una frame T1 generata ogni 125sec, e contiene 24 slot da 8 bit. In ogni frame il k-esimo slot assegnato alla k-esima sorgente, la trasmissione quindi sincrona (vedi Fig. 11.3-2).

T1 Frame (125sec)

...

20 21 22 23 24 1

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1

...

1 byte riservato ad ogni ciclo al canale 5.

Fig. 11.3-2: Modo di trasferimento sincrono.

11-8

Mentre nellATM non si ha alcun vincolo sulla sequenza con cui vengono spedite le celle delle varie sorgenti, che possono dunque alternarsi arbitrariamente (vedi Fig. 11.3-3). Il mezzo fisico tipicamente usato la fibra ottica, ma per distanza inferiori ai 100 m pu essere usato anche cavo coassiale o doppino intrecciato di categoria 5. Inoltre una rete ATM ha una struttura magliata, in quanto ogni link va da una stazione ad uno switch oppure connette due switch. Ogni link unidirezionale, sicch per avere un canale full-duplex necessario avere due link, uno per entrambe le direzioni. Il sublayer PMD ha il compito di trasmettere e ricevere stream di bit sul mezzo fisico a
Cell 53 bytes

...

10

...

Fig. 11.3-3: Modo di trasmissione asincrono. cui interfacciato. La sua struttura dipende inoltre dal mezzo fisico (fibra ottica, cavo coassiale o twisted pair) , dalla velocit della linea e dal tipo di codifica usata. Il PMD riceve e passa al sublayer TC, solo uno stream di bit, senza marcare linizio e la fine di una cella, compito che viene lasciato al TC sublayer. Mentre il sotto livello PMD ha grossomodo le stesse funzionalit presenti nel livello fisico del modello di riferimento OSI, il sublayer TC ha funzionalit analoghe a quelle livello 2 dellOSI. Il TC sublayer fornisce al livello ATM uninterfaccia uniforme, ed indipendente dal particolare PMD. Inoltre i suoi compiti principali sono quelli di inviare le celle come uno stream di bit al PMD, convertire lo stream di bit ricevuto dal PMD in celle, generare e verificare il checksum associato allheader (HEC). Ogni cella ha un header di 5 bytes, di cui i primi 4 costituiscono informazioni di controllo usate dai livelli superiori, mentre il quinto byte detto Header Error Control (HEC), e contiene il checksum dellheader. Questultimo ottenuto sommando la costante 01010101 al resto della divisione del polinomio associato ai primi 4 byte dellheader, con il polinomio x8+x2+x+1, ci per rendere il checksum pi robusto nel caso di header contenenti molti zeri. Notiamo che a differenza della maggior parte dei protocolli visti sin ora, in questo caso il meccanismo di error detection relativo solo allheader, ma non alla payload. Questa scelta stata fatta in modo da ridurre la probabilit che una cella sia consegnata al nodo sbagliato a causa di errori nellheader, evitando per di fare il checksum dellintera cella, per non rendere il campo di ridondanza troppo grande. Quindi il controllo delle correttezza del campo informativo rimandato ai livelli superiori. Un altro motivo, per cui stato deciso di fare il checksum del solo header che lATM nata per essere utilizzata su fibra ottica, e la fibra ottica oltre ad essere molto affidabile (non risente dei disturbi elettromagnetici), danneggia i bit singolarmente, nel 94.64% dei casi (questo risultato stato ricavato da uno studio compiuto dallAT&T e dalla Bellcore nel 1989). Lo schema di error detection utilizzato, corregge un singolo errore e rileva gli errori su pi bit. Una volta generato lHEC la cella pu essere passata, come stream di bit al PMD che si preoccupa di trasmetterla sul mezzo fisico. Un altro compito eseguito del TC sublayer quello di mappare il rate di trasmissione, con le capacit del mezzo sottostante. In ricezione, il TC ha il compito di estrarre le celle dal bit stream passatogli dal PMD sublayer, verificare il checksum, ed eventualmente passare le celle al livello ATM. Tra questi il compito pi complesso quello di estrarre le celle dal bit stream, infatti a differenza dei protocolli di linea si ora visti, in cui le frame erano incapsulate tra opportuni delimitatori, non presente in questo caso alcuna sequenza di delimitazione. Quindi per delimitare le celle il TC sublayer, mantiene uno shift register da 40 bit (ossia 5 byte, la lunghezza dellheader di una cella), nel quale fa scorrere lo stream di bit passatogli dal PMD sublayer da sinistra verso destra (vedi Fig. 11.3-4). Il sotto livello TC, 11-9

controlla quindi se gli 8 bit pi a sinistra (segnati in rosso nella Fig. 11.3-4), rappresentano il campo HEC per i rimanenti 32 bit, in caso affermativo, quanto contenuto nello shift register costituisce lheader di una cella, e quindi, essendo le celle di dimensione costante la fine della cella sar a 43 byte dal punto in esame. Altrimenti, si fa scorrere di un bit il registro e si ripete il test. Il problema di questa tecnica che linizio di una cella potrebbe essere individuato erroneamente, nel caso in cui gli 8 bit pi a sinistra dello shift register pur non rappresentando il campo HEC di una cella

In Stream Shift Register

Out Stream

Byte That Should Contain the HEC

Fig. 11.3-4: Shift Register usato dal TC per delimitare le celle.

Rilevazione di un HEC corretto Bit-by-Bit Check

Cell-by-Cell Check

Hunt
Rilevazione di un HEC errato

Pre-Synch

Rilevazione di HEC errati

Synch

Rilevazione di HEC corretti

Fig. 11.3-5 soddisfano il test. Per migliorare laccuratezza con cui le celle vengono estratte dallo stream di bit, congiuntamente allalgoritmo sin ora visto viene usato lautoma a stati finiti mostrato in Fig. 11.3-5. Nello stato di Hunt, il Transmission Convergence Sublayer (TC), ricerca un HEC valido shifttando il registro di un bit alla volta, una volta trovato un HEC valido passa allo stato di Pre-Synck, nel quale il TC fa uno shift di 424 bits (53 bytes), sullo stream di ingresso, senza peraltro controllare i bit shiftati (a differenza di quanto accadeva nello stato di Hunt). Fatto ci controlla se lo shift register contiene un HEC valido o meno. Nel caso in cui lHEC contenuto nello shift register non valido allora il TC torna allo stato di Hunt, altrimenti, continua ad estrarre le celle shiftando 424 bits alla 11-10

volta. Dopo aver indovinato linizio di celle allora il TC passa allo stato Synch. In questo stato il TC suppone di essere sincronizzato. Il TC suppone la perdita del sincronismo nel caso in cui trova HEC errati. In tal caso esso ritorna allo stato di Hunt. 11.3.1.2 ATM Layer Il livello ATM si preoccupa di risolvere alcune delle problematiche relative al trasporto delle celle, definisce la struttura delle celle stesse, ed il significato dei vari campi. Esso si preoccupa inoltre delle problematiche relative al controllo della congestione. Il livello ATM fornisce al livello superiore (AAL) un servizio di tipo connection oriented, inoltre lo stesso livello ATM opera internamente in modo connection oriented, utilizzando circuiti virtuali, detti in tal caso Virtual Channels. Nonostante il servizio messo a disposizione dal livello ATM sia connection oriented, esso non garantisce che le celle siano consegnate correttamente, ed inoltre non prevede alcun meccanismo di conferma (ACK). Lunica cosa che garantisce che le celle sono consegnate alla destinazione, nello stesso ordine con cui sono state spedite dalla sorgente. Infatti gli switch ATM, possono eventualmente scaricare alcune celle nel caso in cui dovesse insorgere la congestione, ma in nessun caso possono riordinare le celle spedite su un dato Virtual Channel. Il livello ATM supporta una two-level connection hierarchy, visibile dal livello superiore, infatti, oltre al Virtual Channel, presente il concetto di Virtual Path. Il Virtual Path costituito dallaggregazione di un certo numero di Virtual Channel, i quali condividono lo stesso percorso fisico (vedi Fig. 11.3-1).

VCs VP VCs VP VCs VP VP

VCs

Physical Media

VCs VP VP VCs

Fig. 11.3-6: Ogni physical path pu essere contenere differenti Virtual Path (VP), ognuno dei quali costituito da pi Virtual Channel (VC).

La presenza del Virtual Path, d la possibilit di reinstradare tutti i Virtual Circuit appartenenti ad un dato Virtual Path, reinstradando solo questultimo (Dynamic Rerouting). Analogamente a quanto visto per la rete X.25, anche per le reti ATM sono definite due interfacce (mostrate in Fig. 11.3-7) dette rispettivamente User-Network Interface (UNI) e Network-Network Interface. Mentre la prima interfaccia definisce il confine tra lutente e la rete, la seconda una superficie logica che separa due switch della rete ATM. Ad entrambe le interfaccie le celle sono costituite da 5 byte di header e 48 byte di payload, ma il formato dellheader leggermente differente, in quanto le celle che attaversano linterfaccia UNI hanno nellheader un campo in pi, detto GFC. Questo campo non ha per significato end-to-end, bens esso era stato pensato per gestire il controllo di flusso tra lo switch e la stazione utente (o eventualmente un dispositivo detto Remote Concentrator Unit (RCU) che consente di interconnettere ad una singola porta dello switch pi stazioni dutente). I campi VPI e VCI identificano rispettivamente il Virtual Path ed il Virtual Channel su cui instradare la cella. Il campo PTI definisce il tipo di informazione contenuto nella cella. 11-11

In particolare tutte le celle contenenti informazioni dutente hanno il bit pi significativo di questo campo posto pari a 0, mentre quelle aventi come bit pi significativo 1, sono frame di controllo. In Tabella 11.3-2 sono riportati i significati assunti dai possibili valori assunti dal PTI.

ATM ATM Switch Switch

Station2

Network-Network Interface (NNI)

Station1

ATM ATM Switch Switch

ATM ATM Switch Switch

User-Network Interface (UNI)

Fig. 11.3-7: Interfaccie User-Network e Network-Network, in una rete ATM.

11-12

16

24

32

40

bits

GFC

VPI

VCI

PTI

C L P

HEC

Fig. 11.3-8: Header delle Celle ATM allinterfaccia UNI.


0 8 16 24 32 40

bits

VPI

VCI

PTI

C L P

HEC

Fig. 11.3-9: Header delle Celle ATM allinterfaccia NNI.

GFC VPI VCI PTI CLP HEC

General Flow Control Virtual Path Identifier Virtual Channel Identifier Payload Type Identifier Cell Loss Priority Header Error Checksum

Tabella 11.3-2 PTI 000 001 010 011 100 101 110 111 Significato User Data Cell, Nessuna Congestione, cell type 0. User Data Cell, Nessuna Congestione, cell type 1. User Data Cell, Congestione, cell type 0. User Data Cell, Congestione, cell type 1. Informazione di servizio tra due switch adiacenti. Informazione di servizio tra gli switch posti alla sorgente e destinazione Resource Management Cell. Riservata per usi futuri.

Il campo CLP serve a distinguere le celle ad alta priorit (CLP = 0) da quelle a bassa priorit. In modo tale che, nel di congestione, gli switch ATM possono scegliere di scartare per prime le celle a bassa priorit (CLP = 1). Lultimo byte dellheader costituito del campo HEC, che stato gi discusso nel paragrafo precedente. LATM supporta sia Permanent Virtual Channel che Swtched Virtual Channel. Mentre i primi non necessitano una fase di setup, i secondi devono essere instaurati seguendo unopportuna procedura. 11-13

Il setup di un virtual circuit non viene gestito dal livello ATM, ma compito del control plane (CPlane) stabilire un circuito virtuale. Il protocollo usato noto come Q.2931, ed stato emesso dallITU. Ribadiamo inoltre che le reti ATM consentono il setup di canali multicast, ossia canali in cui presente un sender pi receiver. In tal caso si setta un virtual channel tra la sorgente ed una delle destinazioni, e poi si aggiungono le altre destinazioni inviando dei messaggi detti ADD PARTY. Lo standard ATM non precisa quale algoritmo di routing debba essere usato per stabilire i percorsi di instradamento, ma la scelta demandata ai gestori delle reti. Daltro canto, lo standard ATM ha introdotto, come visto precedentemente, i Virtual Path, i quali possono essere usati per rendere il routing pi efficiente. Infatti uno dei motivi dellintroduzione dei Virtual Path stata quella di effettuare il routing allinterno della rete, tenendo solo conto del VPI, ed usare il VCI solo quando le celle sono inviate dallo switch allhost. Cos facendo le decisioni di routing, allinterno della subnet, devono essere prese facendo riferimento ad un numero a 12 bit (VPI) e non tenendo conto della coppia VPI-VCI (12+16 bit). 11.3.1.3 Caratterizzazione dei Servizi Lo standard ATM prevede le seguenti classi di servizio: 1. Constant Bit Rate (CBR). 2. Variable Bit Rate (VBR) a) Real Time VBR b) Non Real Time VBR 3. Available Bit Rate (ABR). 4. Unspecified Bit Rate (UBR). La classe di servizio CBR tende di simulare un mezzo di comunicazione avente una data banda passante, nel quale si possono immettere bit da una estremit, ed ottenerli dallaltra, senza alcun controllo di errore e di flusso. Questa classe di servizio ideale per supportare traffico real time a bit rate costante, come ad esempio la voce codificata con PCM oppure uno stream audio o video. La classe di servizio VBR e divisa in due sottoclassi, per soddisfare i requisiti di real time e non. La sottoclasse RT-VBR, stata pensata per le sorgenti che necessitano un bit rate variabile, ed hanno inoltre forti vincoli temporali, come ad esempio il video interattivo compresso generato dalle applicazioni di videoconferencing. Nonostante le variazioni di bit rate prodotte da una tale sorgente la rete ATM deve fornire un servizio che assicuri non solo il delay tra sorgente e destinazione, ma che riduca per quanto possibile il jitter. La sottoclasse NRT-VBR, utilizzata per il traffico in cui la consegna tempestiva importante, ma daltro canto, non vi una grande sensibilit nei confronti del jitter. La classe di servizio ABR stata pensata per supportare traffico di tipo burstly, per il quale si conosce grossomodo il range allinterno del quale varia la banda richiesta. Questo servizio lunico per cui la rete comunica allutente le situazioni di congestione, invitandolo a ridurre il rate di trasmissione. Lultima classe di servizio prevista nello standard ATM la UBR. Questultima non garantisce nulla allutente, e non fornisce nemmeno informazioni su eventuali condizioni di congestione. Inoltre, le celle UBR sono le prime ad essere scaricate nel caso in cui insorge la congestione. Lunica attrattiva di questo servizio tipicamente il basso costo. In Tabella 11.3-3 sono riportate le caratteristiche fondamentali delle classi di servizio appena discusse. 11-14

Tabella 11.3-3: Caratteristiche principali delle classi di servizio dellATM. Servizio Garanzie sulla Banda Utilizzabile per traffico real time Utilizzabile per traffico burstly Notifica di congestione CBR Si Si No No RT-VBR Si Si No No NRT-VBR Si No Si No ABR Opzionale No Si Si UBR No No Si No

11.3.1.4 Parametri di Traffico e Qualit del Servizio Poich la rete ATM stata pensata per supportare traffico real time, indispensabile, allatto dellinstaurazione di un circuito virtuale (o al momento del contratto), definire le caratteristiche del traffico generato e la qualit del sevizio che ci si attende dalla rete (ci viene fatto per ogni direzione separatamente in quanto i requisiti potrebbero diversi). Inoltre la rete in base alla descrizione del traffico, ed al livello di QoS richiesto, deve poter stabilire se pu soddisfare o meno la richiesta, e di conseguenza se deve instaurare o meno un virtual channel. Una volta concordati i parametri che descrivono il traffico (Traffic Descriptor) ed i parametri di QoS, la sorgente si deve impegnare ad emettere celle in modo compatibile con quanto specificato nel traffic descriptor, mentre la rete deve servire queste celle, fornendo un servizio che ha una qualit compatibile con quella definita nei parametri di QoS concordati. In ogni caso la rete in accordo con il detto Fidarsi bene ma non fidarsi meglio, non si fida granch dellutente, e mette un Policier a controllare che il traffico effettivamente generato dallutente sia compatibile con quello concordato in fase di negoziazione. In Tabella 11.3-4 sono riportati alcuni parametri tipicamente utilizzati per descrivere le caratteristiche del traffico generato dalla sorgente. Mentre in Tabella 11.3-5 sono riportati alcuni dei parametri di QoS. importante notare che non tutti i parametri mostrati sono applicabili a tutte le classi di sevizio viste Tabella 11.3-4: Parametri descrittori del traffico. Parametro Packet Cell Rate Sustained Cell Rate Minimum Cell Rate Cell delay variation tollerance Acronimo PCR SCR MCR CDVT Significato Rate Massimo a cui le celle saranno spedite. Il rate medio (a lungo termine) delle celle. Il cell rate minimo accettabile. Il massimo jitter accettabile.

Tabella 11.3-5: Alcuni parametri di QoS. Parametro Cell loss radio Cell transfer delay Cell delay variation Cell error rate Cell misinsertion rate Acronim o CLR CTD CDV CER CMR Significato Frazione di celle perse o late. Tempo impiegato per la consegna (max e med). La varianza nei tempi di consegna delle celle. Frazione di celle rovinate. Frazione di celle consegnate alla destinazione errata.

11-15

Il parametro PCR rappresenta il massimo rate a cui lutente prevede di trasmettere le celle, mentre il MCR rappresenta il minimo rate che disposto ad accettare (se la rete non in grado di garantire almeno il parametro MCR deve rifiutare la connessione). Invece il parametro SCR rappresenta il cell rate medio, su un lungo intervallo temporale. Osserviamo che il rapporto PCR/SCR un indice della burstiness della sorgente (per esempio per una sorgente CBR si ha PCR = SCR). Infine il parametro CVDT d unindicazione sulla varianza con cui le celle verranno generate, questo parametro viene specificato separatamente per PCR ed SCR. I parametri presenti nella Tabella 11.3-5 rappresentano delle grandezze misurate al receiver, e dipendenti dal servizio che la rete deve fornire. Il CLR rappresenta il numero di celle perse oppure consegnate troppo tardi per essere utili (ricordiamo infatti che la correttezza in ambito real time dipende anche dalla tempestivit con cui un dato ricevuto). I parametri CTD e CDV misurano rispettivamente il tempo medio impiegato per consegnare una cella a destinazione, e luniformit con cui le celle sono consegnate. Infine i parametri CER e CMR rappresentano delle caratteristiche della rete, e non sono tipicamente oggetto di negoziazione. Abbiamo sin ora visto alcuni parametri usati per definire la caratteristica della sorgente, e per definire il livello di QoS richiesto. La rete a partire da questi parametri, deve riuscire a capire se pu soddisfare la richiesta di connessione, o meno, ed in caso affermativo deve assegnare virtualmente una porzione di banda alla nuova connessione. Lalgoritmo utilizzato per calcolare la banda da assegnare ad una sorgente, detta Banda Equivalente (Beq), molto complesso, per cui in questa sede ci limiteremo a tracciare le problematiche generali. A partire dai parametri PCR e SCR, possibile ricavare la banda massima (Bmax) e media (Bmed) richieste dalla sorgente, quindi la Beq dovr sicuramente soddisfare la relazione: Bmed Beq Bmax Eq. 11.3-1

Una volta ricavata la banda equivalente da assegnare ad una sorgente, la rete deve verificare s ha effettivamente le risorse disponibili per farlo. Quindi detta C la capacit della rete, e detta (Beq)i la banda equivalente associata alla i-esima sorgente, dovr essere:

(B
i

eq i

) + Beq C

Eq. 11.3-2

Oltre a calcolare la banda equivalente da assegnare ad una data sorgente molto importante ricavare un altro fattore detto Expansion Factor (R) il quale fornisce un indicazione di della banda in eccesso rispetto alla Beq, che pu essere assegnata temporaneamente ad una sorgente per soddisfare i suoi burst. Tipicamente dovr essere: Bmax = burstiness Bmed

1 R

Eq. 11.3-3

11-16

11.3.1.5 Policing e Traffic Shaping Abbiamo visto nella sezione precedente che la rete si preoccupa di supervisionare il traffico generato dallutente per verificare se questultimo sta rispettando i patti. Il modo pi semplice per implementare il policing consiste nellutilizzare un algoritmo noto con il nome di Leaky Bucket.
Cells

Real Flow

Host Host
Flow Observer

Fig. 11.3-10: Un esempio di Leacky Bucket.

Questo algoritmo, come dice lo stesso nome, considera una sorta di secchio che gocciola con un rate costante, il quale viene riempito dalle celle emesse dallhost. Questo secchio pu essere modellato con un sistema a coda in cui il servente ha un rate di servizio costante (vedi Fig. 11.3-10). Osserviamo che se lhost trasmette celle ad un rate pari a , la coda sar sempre vuota, e quindi in generale la lunghezza della coda dipende da quanto tempo lutente sta trasmettendo ad un rate superiore a . Il rate di servizio viene tipicamente scelto pari alla Beq (espressa in cell/sec), in modo tale da poter legare la lunghezza della coda al massimo burst che si vuole concedere allhost. Infatti cos facendo il policer potrebbe marcare tutte le celle che arrivano quando la lunghezza della coda superiore ad un certo N, in quanto queste celle non stanno rispettando il contratto. Daltro canto il policier non impedisce il passaggio di queste celle in quanto la sua un azione di monitoring, sar eventualmente il multiplexer che si preoccuper di scartare i pacchetti in caso di congestione. Nel caso in cui i pacchetti anzich essere marcati, non vengono fatti passare, ossia se il Leaky Bucket messo in serie alla sorgente, allora si parla di traffic shaping, in quanto, a differenza del policing, il traffico generato dalla sorgente viene regolato, ogni qual volta lutente tenta di evadere i parametri del contratto. 11.3.1.6 AAL Layer LATM Adaptation Layer (AAL) il livello pi alto del modello di riferimento di Fig. 11.3-1. Lobiettivo principale di questo livello quello di fornire dei servizi facilmente utilizzabili dai programmi applicativi, nascondendo i meccanismi usati per la trasmissione dei messaggi dutente. Le classi di servizio definite dallITU per questo livello sono riportate in Tabella 11.3-6.

11-17

Tabella 11.3-6: Classi di servizio supportate dal livello AAL. Parametri Time Relation Bit Rate Connection Mode Class B Required Constant CO Class A Class C Class D Not Required Variable CL

LITU ha definito un protocollo per ognuna di queste classi di servizio, detti rispettivamente AAL 1, AAL 2, AAL 3, AAL 4. Dopo qualche tempo dalla definizione i protocolli AAL3 ed AAL4 sono stati unificati nel protocollo AA 3/4, in quanto le classi di servizio a cui i protocolli facevano riferimente erano molto simili. Tutti questi protocolli risultavano per essere piuttosto complessi e pesanti, sicch stato introdotto un ulteriore protocollo, lAAL 5. Il nome di questo protocollo prima della standardizzazione era Simple Efficient Adaptation Layer (SEAL). Il livello AAL (vedi Fig. 11.3-1) suddiviso in due sublayer, detti rispettivamente Convergence Sublayer (CS), e Segmentation And Reassembly (SAR). Il compito del CS sublayer quello di fornire uninterfaccia ben definita, che consenta di accedere i servizi messi a disposizione della rete alle applicazioni. Il compito principale del SAR sublayer , in trasmissione quello di segmentare i messaggi dutente in celle; mentre ricostruire i messaggi a partire dalle celle a destinazione. 11.3.1.7 Switch ATM Le caratteristiche degli switch per reti ATM sono notevolmente differenti da quelle degli switch delle normali reti a packet switched. Infatti nelle reti ATM uno switch, per non costituire il collo di bottiglia del sistema di trasmissione, costretto a eseguire le operazioni di switching ad una velocit molto elevata (dellordine dei sec.). Ci significa che, questi switch devono avere un elevato throughput, ma devono inoltre garantire una bassa probabilit di perdita e, non devono mai riordinare le celle che fluiscono su un dato virtual channel (ricordiamo infatti che lATM garantisce che lordine con cui una sorgente immette le celle su un virtual channel uguale allordine con cui la destinazione le preleva). Per raggiungere gli obiettivi prestazionali richiesti, si usano tipicamente degli auto-commutatori (switch) auto-instradanti, i quali data una cella riescono a determinare la linea di uscita su cui instradare una cella, eseguendo una sorta di decodifica dellheader. La struttura tipica di un switch ATM quella mostrata in Fig. 11.3-11. Gli switch ATM sono tipicamente sincroni, nel senso che durante un ciclo, una cella prelevata da ogni linea di ingresso, passata alla switching fabric, posta allinterno dello switch, ed eventualmente trasmessa sullopportuna linea duscita. Nel design di uno switch, importante decidere come gestire il caso in cui che due o pi celle, provenienti da diverse input lines, richiedano la stessa output line. Chiaramente la scelta di inoltrarne una e scaricare le altre non in linea con il principio di minimizzare il numero di celle perse, per cui necessario introdurre delle code in cui accomodare le celle in conflitto. Queste code possono essere associate rispettivamente alle input lines (Input Queueing) oppure alle output lines (Output Queueing).

11-18

Input Lines

Output Lines

Switching Switching Fabric Fabric Switch


Incoming Cells Outgoing Cells

Fig. 11.3-11: Struttura generale di uno switch ATM.

Cycle 1 2 2 0 0 2 2 1 1 3 3

Cycle 2 0 0 1 1

Switch Switch

0 0

2 2

Switch Switch

2 2

(a)

(b)

Cycle 3

Cycle 4 0 0

0 0

Switch Switch

2 2 3 3

Switch Switch

(c)

(d)

Fig. 11.3-12: Input Queueing e head of head blocking.

11-19

Cycle 1 2 2 0 0 2 2 1 1 3 3

Cycle 2 0 0 1 1

Switch Switch

0 0

Switch Switch
2 2

2 2

(a)

(b)

Cycle 3 0 0

Switch Switch

2 2 3 3

(c)

Fig. 11.3-13: Output Queueing.

importante, indipendentemente dallo schema di queueing utilizzando, non favorire sempre la stessa linea, altrimenti si fornirebbe alle celle che arrivano su di essa un servizio migliore. Tipicamente tra i due schemi sopra citati si preferisce usare loutput queueing, in quanto linput queueing soffre di un problema detto head of line blocking. Questo problema (vedi Fig. 11.3-12) consiste nel fatto che nel caso di input queueing, le celle bufferizzate sulle linee di ingresso bloccano il cammino anche alle celle che gli stanno dietro, anche se queste ultime non devono andare sulla linea duscita che ha generato il conflitto. Questo problema non presente nel caso di output queueing3 come mostrato nellesempio di Fig. 11.3-13.
11.3.1.7.1 Knockout Switch

Il Knockout switch, mostrato in Fig. 11.3-14, fa uso della tecnica di output queueing. In questo switch ogni input line connessa ad un bus su cui viene fatto il broadcast delle celle che arrivano ad ogni ciclo. Per ogni cella, un dispositivo hardware si preoccupa di attivare il crosspoint associato alla corretta linea duscita, osserviamo che in questo schema il multicast pu essere ottenuto abilitando pi crosspoint in una volta, sul bus associato ad una data input line. Nel caso in cui pi celle sono destinate alla stessa output line, si ricorre alloutput queueing. Tipicamente, detta n la dimensione del buffer associato alla generica linea duscita, essa inferiore rispetto al numero di linee dingresso, quindi nel caso in cui pi di n celle, diciamo k, richiedono la stessa output line, allora k-n celle dovranno essere scartate. Il nome di questo switch deriva proprio dal fatto che leliminazione delle k-n celle in esubero, per garantire la fairness, viene fatta seguendo
3

Karol ha dimostrato che lo schema di Output Queueing pi efficiente, in generale , dello schema di Input Queueing.

11-20

uno schema simile a quello seguito nei tornei a eliminazione diretta (knockout), i quali prevedono per una data competizione quarti di finale, semifinale e finale. Le n celle vincitrici del torneo, vengono accodate in parallelo (per rendere pi veloce la bufferizzazione) in un certo numero di code, le quali vengono gestite da un opportuno circuito, in modo da apparire come ununica coda.

Fig. 11.3-14: Architettura semplificata di un Knockout Switch.

11-21

11.3.1.7.2 Batcher-Banyan Switch

Il problema principale dei knockout switch che il numero di cross point cresce con il quadrato del numero di linee presenti nello switcth, questo problema viene tipicamente risolto utilizzando degli switch a pi stadi, come ad esempio i Batcher-Banyan Switch. In Fig. 11.3-15 mostrato uno switch banyano a tre stadi. In ogni switch banyano vi un solo percorso tra ogni input line ed ogni output line; le scelte di instradamento allinterno della rete banyana, vengono fatte ispezionando serialmente i bit di un pattern posto allinizio della cella (questo pattern di bit viene attaccato alla cella in base alle informazioni contenute nel campo VPI ed eventualmente VCI, ed la rappresentazione binaria del numero della output line). Il numero di bit usati per instradare la cella pari al numero di stadi presenti nella rete banyana. Ogni elemento di commutazione contenuto in una rete banyana ha due ingressi e due uscite. Quando una cella arriva alla linea di ingresso di uno di questi elementi, esso ispeziona il bit del pattern ad esso associato (il primo stadio ispeziona il bit pi significativo mentre lultimo quello meno significativo come mostrato in Fig. 11.3-15 (a)), quindi, se questo bit 1 la cella viene spedita sulla porta duscita superiore (port 0) altrimenti viene instradata sulla porta inferiore (port 1). Nel caso di una collisione una delle celle scartata. In Fig. 11.3-15 mostrato come vengono instradate due celle che devono andare rispettivamente sulle output line 6 (110) e 1 (001). Nelle reti banyane si ha per una collisone ogni qual volta due celle devono uscire contemporaneamente dalla stessa porta di un elemento di commutazione. Inoltre una collisione pu presentarsi o meno in base a come le celle vengono presentate alla linee dingresso della rete banyana (vedi Fig. 11.3-16). In particolare, la collisione sicuramente evitata se le celle sono presentate allo switch in ordine crescente di indirizzo di output line. La soluzione a questo problema quella di porre a monte dello switch banyano, un Batcher switch, il quale ha il compito di presentare le celle alla linee di ingresso dello switch banyano in una configurazione che pu essere gestita dallo Banyan Switch senza perdite (vedi Fig. 11.3-17). Gli elementi di commutazione di un Batcher switch, per decidere su quale porta instradare una cella controllano lintero indirizzo della linea duscita a cui la cella destinata. In particolare quando un elemento di commutazione riceve due celle, confronta gli indirizzi delle linee duscita a cui sono destinate, ed instrada la cella avente indirizzo maggiore nella direzione della freccia (vedi Fig. 11.3-17), e laltra cella nella direzione opposta. Se lelemento di commutazione riceve una sola cella, essa viene instradata nella direzione opposta da quella indicata dalla freccia. In Fig. 11.3-18 mostrato un esempio di funzionamento dei due switch in cascata, interessante notare come le celle vengano proposta allo switch banyano in ordine di indirizzo crescente.

11-22

Fig. 11.3-15: (a) Un esempio di Banyan switch. (b) Routing allinterno di un banyan switch.

Fig. 11.3-16: Le collisioni allinterno di una rete banyana dipendono dallordine con cui le celle vengono presentate, come mostrato in (a) e (b).

11-23

Fig. 11.3-17: Struttura di un Batcher-Banyan Switch.

Fig. 11.3-18: Un Batcher-Banyan Switch a lavoro.

11-24

12. Reti Wireless e Reti mobili


Spesso i due termini, reti mobili e reti wireless vengono usati indifferentemente come se fossero sinonimi, ma in realt non cos. Le reti mobili, sono infatti delle reti che supportano la mobilit, mentre per reti wireless si intendono reti senza filo. Per molti anni con il concetto di mobilit si intesa la mobilit terminale cio la possibilit di avere a disposizione dei terminali che permettono la comunicazione di un utente in movimento. La mobilit terminale implica che tra il terminale e la rete vi sia uninterfaccia wireless. Successivamente si sentita lesigenza di unaltro tipo di mobilit, la mobilit personale. Cio si sentita lesigenza di disaccoppiare il terminale dallutente (ad esempio nei telefoni cellulari GSM). In realt, il terminale potrebbe anche non essere mobile. Ad esempio, nel caso delleMail, se un utente costretto a spostarsi periodicamente per un periodo piuttosto lungo, sarebbe comodo poter informare la rete del nuovo mail server su cui inviare la posta piuttosto che usare il vecchio mail server oppure, peggio ancora, comunicare un nuovo indirizzo di posta elettronica a tutto il mondo. Cio, in altre parole, sarebbe comodo poter rendere indipendenti, lindirizzo fisico di rete e lindirizzo di utente. Riassumendo, nel caso in cui c una relazione fissa fra lutente e il terminale e tra il terminale e la rete non si ha nessun tipo di mobilit. Se invece, vi una relazione fissa fra lutente e il terminale, mentre c una relazione dinamica fra il terminale e la rete mobile, allora parliamo di mobilit terminale. Infine, nel caso il cui vi una relazione dinamica fra terminale ed utente, parliamo di mobilit personale.
Line identification Terminal identification User identification

Fixed Relationship Fixed networks

Fixed Relationship

Dynamic Relationship Mobile networks

Fixed Relationship

Fixed Relationship Dynamic Relationship Dynamic Relationship

Fixed and mobile networks

Nel caso in cui possibile supportare sia la mobilit personale che la mobilit terminale si parla di Personal Communications services (PCS). Iniziamo adesso col parlare dei sistemi che supportano la mobilit terminale, in particolare dei sistemi cellulari. 12-1

12.1 Sistemi Cellulari I sistemi cellulari sono nati per applicazioni di tipo telefonico. Essi sono una derivazione di altri sistemi che non vengono chiamati cellulari ma radiomobili. I sistemi cellulari si distinguono da quelli radiomobili della prima generazione perch tendono ad aumentare le potenzialit offerte allutente. Il trasporto dellinformazione basato sulla multiplazione della frequenza FDM, (almeno nello stadio iniziale, adesso si usa anche il TDM), gestita mediante unallocazione dinamica. Dato che la banda ovviamente limitata, il numero di canali a disposizione per le comunicazioni anchesso limitato. Per rendere disponibile il servizio a molti utenti si adotta unarchitettura cellulare, che permette il riutilizzo delle frequenze (frequency reuse) senza che le interferenze rendano impossibile la comunicazione. Facendo buon uso di tale tecnica possibile N-uplicare la capacit trasmissiva totale del sistema. Larea globale suddivisa in cluster allinterno del quale vengono usate tutte le frequenze dello spettro. I cluster a loro volta sono suddivisi in celle di area circolare che per comodit supporremo esagonale. Ad ogni cella assegnato un certo numero di canali, e dunque, il numero di connessioni attive contemporaneamente su quella cella non potr superare il numero di canali a disposizione. Gli stessi canali (le stesse frequenze) possono per essere riusate in altre celle purch sufficientemente distanti (in modo che le interferenze siano trascurabili). Consideriamo un sistema cellulare che ha a disposizione S canali bidirezionali. Se in ogni cella sono allocati k canali (k<S), e gli S canali sono ripartiti in N celle risultera: S=kN Linsieme delle N celle che usano lintero spettro delle frequenze abbiamo gi detto che si chiama cluster. Se i cluster sono replicati M volte nel sistema il numero totale di canali a disposizione sar dato da: C=MkN=MS Eq. 12.1-1

Dalla Eq. 12.1-1 si nota che la capacit del sistema cellulare dunque proporzionale al numero di volte che il cluster duplicato. Il fattore N detto cluster size, mentre con frequency reuse factor indichiamo la grandezza 1/N, poich ad ogni cella associato solo 1/N della capacit associata a quelle frequenze.. Esistono poi delle regole che indicano dove conveniente riusare le frequenze per minimizzare le interferenze. Lampiezza delle celle strettamente legata al traffico. Nelle zone ad alto traffico conveniente usare microcelle in modo da avere a disposizione molti canali che permettono la comunicazione a molti utenti. Nelle zone rurali, dove vi poca richiesta, conviene usare delle macrocelle. Ovviamente lutilizzo di microcelle aumenta fortemente il problema delle interferenze, dunque necessario un compromesso per individuare lampiezza opportuna delle celle. Vediamo adesso pi in dettaglio la struttura delle PCS, facendo riferimento alle reti cellulari. In ogni cella vi unantenna ricetrasmittente (base station BS), che il punto di riferimento per i terminali mobili (mobile terminal MT) allinterno della cella stessa. Un certo numero di base station sono collegate ad un base station controller (BSC) il quale ha il compito di gestire le risorse radio delle BS ad esso collegate. Diversi BSC sono collegati a un Mobile Switching Center (MSC) che si occupa delle funzioni di switching, di location registration e call delivery. A monte dellMSC vi la rete tradizionale. In un sistema cos strutturato le funzioni necessarie sono: 1. Servire delle chiamate emesse dallutente 12-2

2. Inoltrare chiamate verso il terminale. 3. Mantenere attiva la comunicazione qualora il terminale mobile si sposta da una cella allaltra, cambiando BS o eventualmente anche MSC. Questo significa che se la connessione logica si basa su un circuito fisico o virtuale, bisogna ricostruire il canale senza che lutente se ne renda conto. Il meccanismo in gioco in questo caso si chiama Handover (passaggio di mano) o Handoff. 4. Conoscere dove si trova lutente mobile il quale pu vagabondare nella rete Questa operazione (chiamata Roming) viene fatta off-line, indipendentemente dal fatto che vi sia o meno una comunicazione in corso. 5. Disconnessione delle chiamate quando la qualit del segnale scende al di sotto di un limite prestabilito. Tutte queste funzioni vengono gestite tramite dei canali di controllo differenti rispetto a quelli usati per la comunicazione. Il protocollo usato per scambiare tali messaggi lSS7 e, la rete di segnalazione chiamata SS7 network. In Errore. L'origine riferimento non stata trovata. riportata schematicamente larchitettura del sistema cellulare.

PSTN

SS7

BS = Base Station BSC = Base Station Controller HLR = Home Location Register MSC = Mobile Switching Center PSTN = Public switching telephone neteork SS7 = Signal system number 7 VLR = Visitor Location Register

MSC BSC BSC VLR HLR

Cella BS Cella BS

Fig. 12.1-1 12-3

12.1.1 Roming In ogni MSC vi sono due database, lHome Location Register (HLR) e il Visitor Location Register (VLR). Nel HLR, vi sono le informazioni degli utenti registrati in tale dominio, e in particolare vi un campo, aggiornato dinamicamente, che indica se lutente si trova o meno (in un dato istante) nel gruppo di celle collegate al MSC. Nel VLR, viceversa sono contenute informazioni riguardanti i terminali mobili che si trovano nelle celle collegate al MSC ma che non sono registrati in tale MSC. Il numero di entry di tale database, dunque, varier continuamente. Ogni VLR memorizzer le informazioni dei terminali scaricandoli dai rispettivi HLR. Affinch sia possibile rintracciare un terminale mobile necessario che la rete sia sempre aggiornata dei movimenti dellutente (location registration). Le informazioni relative alla posizione degli utenti verranno memorizzate opportunamente nei due database prima descritti. Il terminale mobile e la stazione radiobase scambiano continuamente informazioni sullapposito canale di controllo. In particolare la stazione radiobase trasmetter un identificativo che la caratterizza univocamente. Tale numero verr memorizzato in un registro del MT. Quando il terminale si accorge che lidentificativo che riceve sul canale di controllo diverso da quello memorizzato nel registro interno (cio passato in unaltra location area1 servita da unaltra stazione radiobase) inizia una fase detta di location update. Se il MT entra in una location area che appartiene allo stesso VLR, viene semplicemente aggiornato un campo nel VLR che indica la location area in cui si trova il terminale. Altrimenti, se la nuova location area appartiene ad un altro VLR sono necessari i seguenti passi: Registrazione del terminale nel nuovo VLR Aggiornamento del HLR con lindirizzo del nuovo VLR Cancellazione del terminale nel vecchio VLR. In Fig. 12.1-2 sono riportati i passi eseguiti quando un terminale passa in una nuova location area. 1. Il terminale entra in una nuova location area ed invia una location update alla nuova base station. 2. La base station invia la location update allMSC il quale invia una query di registrazione al VLR. 3. Il VLR aggiorna il campo relativo al terminale. Se la nuova location area appartiene a un VLR differente, il VLR determina lindirizzo dellHLR in base allidentificativo del terminale mobile. Quindi invia un messaggio di location registration allHLR. Se la nuova location area appartiene allo stesso VLR, laggiornamento completato. 4. LHRL manda un ack al nuovo VLR e memorizza in un apposito campo relativo al terminale il VLR. 5. LHRL invia una query di cancellazione al vecchio VLR. 6. Il vecchio VLR invia un ack allHLR. In base alla distanza fra i VLR e lHLR, i messaggi di segnalazione potrebbero attraversare dei nodi intermedi. Dunque, loperazione di location registration potrebbe generale molto traffico sulla rete di controllo, e allaumentare del numero di utenti, il ritardo per il completamento della location registration potrebbe crescere.

Una location area linsieme di un certo numero di celle.

12-4

HLR

(3) (4) (6) (5) MSC


VLR

MSC
VLR

(1)

(2)

Cella BS

Fig. 12.1-2

Un altro compito che deve svolgere la rete la ricerca del terminale mobile in caso di una chiamata (questa operazione detta call delivery). Le operazioni da effettuare sono principalmente due: determinare il VLR in cui si trova il MT, e ricercare la cella in cui presente il terminale. In Fig. 12.1-3 riportata schematicamente la lista delle operazioni eseguita durante una call delivery.

12-5

HLR (5) (3) (6) MSC


VLR VLR

(4)

(2)

MSC (1)

Calling MT Called MT

Fig. 12.1-3

1. Il terminale chiamante invia un segnale di inizio chiamata della base station, la quale invia il segnale allMSC. 2. LMSC determina lindirizzo dellHLR dellutente chiamato e invia un messaggio location request allHLR. 3. LHLR controlla in quale VLR si trova il terminale e invia al VLR una request message. Questo VLR, invia tale messaggio allMSC in cui si trova il terminale chiamato. 4. LMSC alloca temporaneamente un identificatore, chiamato temporary local director number (TLDN) allMT e invia un messaggio allHLR contenente il TLDN. 5. LHLR invia tale informazione allMSC del terminale chiamante. 6. LMSC chiamante invia una richiesta di call setup allMSC chiamato tramite la rete di controllo SS7. Poich ad un MSC associato ad una location area, e ad ogni location area sono associate pi celle, necessario un meccanismo per identificare in quale cella si trova il terminale chiamato. Nelle attuali reti PCS, la ricerca fatta tramite la tecnica del paging (o alerting), che consiste nellinterrogare tutte le celle allinterno della location area. Alla ricezione del segnale il terminale chiamato invia un segnale che permette allMSC di identificare la cella in cui si trova.

12-6

Osserviamo che la location update presenta degli evidenti svantaggi: se un MT si trova a confine di due location area, potrebbe continuamente effettuare dei location update, introducendo un alto carico sulla rete di segnalazione. Per questo motivo, sono presenti tre diverse varianti del location update: 1. Time-based location update scheme 2. Movement-based location update scheme 3. Distance-based location update scheme Time-based location update scheme In questo schema, il terminale esegue una location update con periodo T. Con riferimento alla Fig. 12.1-4, se una location update si ha al tempo zero nella posizione contrassegnata dalla lettera A, le successive si avranno rispettivamente nei punti B, C e D, negli istanti T, 2T e 3T, supponendo che il percorso effettuato dal terminale mobile sia quello contrassegnato in rosso.

Fig. 12.1-4 12-7

Movement-based location update scheme In questo schema, il terminale effettua una location update non appena attraversa un certo numero, fissato, di celle (tale numero chiamato movement threshold). Con riferimento alla Fig. 12.1-5, supponendo che il terminale effettui gli stessi movimenti del caso precedente, e supponendo che il movement threshold sia 3, le location update si avranno nei punti B e C.

B A

Fig. 12.1-5

Distance-based location update scheme In questo schema, il terminale effettua una location update non appena la distanza fra la cella in cui si trova e quella in cui ha effettuato lultimo location update supera una certa soglia (detta distance threshold). Con riferimento alla Fig. 12.1-6, supponendo che il terminale effettui gli stessi movimenti del caso precedente, e supponendo che il distance threshold sia 4 la location update si avr nel punto B.

12-8

Fig. 12.1-6 stato dimostrato che lo schema distance based quello che massimizza le performance, ma anche il pi oneroso dal punto di vista implementativo poich obbliga la rete a fornire al terminale mobile, informazioni addizionali circa la distanza fra le varie celle. Per contro, le tecniche time-based e movement based, danno dei risultati peggiori del precedente ma sono semplici da implementare, basta infatti introdurre un timer (nel caso time-based) o un contatore (nel caso movement-based) nel terminale mobile. Si inoltre osservato che per migliorare le performance, bisogna variare dinamicamente i parametri degli schemi adottati, in base alle caratteristiche dellutente. Infatti, nel caso di un utente che presenta una bassa mobilit ed un alto traffico, conviene aggiornare sempre la posizione. Viceversa, se un utente presenta unalta mobilit ed un basso traffico, la location update potrebbe non essere effettuata sempre, ma secondo uno dei meccanismi di soglia precedentemente illustrati. In precedenza abbiamo commentato i passi causati da una location registration. Abbiamo anche avuto modo di osservare che, nel caso in cui il VLR e lHLR sono distanti, la registrazione della nuova posizione introduce un carico notevole sulla rete di controllo. Inoltre anche loperazione di call delivery impone lo scambio di un certo numero di messaggi che introducono fra laltro anche dei ritardi non indifferenti. Analizziamo adesso due tecniche Pre-user location caching e Pointer forwarding che tendono a diminuire i segnali di controllo rispettivamente nel caso di call delivery e location registration. 12-9

Pre-user location caching. Questa tecnica stata introdotta per velocizzare il ritrovamento di un terminale mobile, diminuendo oltretutto i messaggi di controllo. Lidea quella di utilizzare una tabella in cui memorizzare il VLR dei terminali precedentemente rintracciati. In altre parole, ogni qual volta viene rintracciato un nuovo terminale, viene aggiunta un elemento ad una tabella contenente lID del terminale e il VLR in cui il MT registrato. Tale tabella viene mantenuta dal Signal Transfer point (STP) pi vicino al terminale che ha effettuato la richiesta di call delivery. Quando viene effettuata una chiamata, lSTP dapprima cerca il terminale nella tabella, e se non presente avvia la procedura standard. Se il terminale presente nella cache, viene contattato il VLR indicato in tabella. Se il terminale si trova ancora nellarea di competenza di tale VLR il MT rintracciato (in questo caso si dice che si avuto un hit). Viceversa, se il terminale si spostato in unaltra area, viene utilizzato lo schema classico di ricerca e si dice che si avuto un miss. Il costo di tale tecnica superiore a quello dello schema classico nel caso di un miss mentre inferiore nel caso di hit. Affinch sia conveniente lutilizzo d tale schema dunque necessario che la percentuale di hit sia alta. Dato che la percentuale di hit dipende dalla mobilit degli utenti si possono definire dei parametri dipendenti dallutente al di sotto dei quali non conviene usare la pre-user location caching.

MT2

VLR2 STP2

STP1

MSC2 VLR2 MSC1 VLR1

MT2

MT1

Fig. 12.1-7

12-10

Pointer forwarding Lidea di base di tale tecnica consiste nel non aggiornare per ogni spostamento del terminale lHLR, bens nel settare un puntatore al nuovo VLR nel vecchio VLR. Quando si ha una chiamata per il terminale, si scandisce la lista fino a trovare il VLR (ultimo elemento) in cui si trova il MT. Ovviamente questo comporta un vantaggio nella fase di location registration, ma un grosso overhead nella call delivery quando la lista diventa lunga. Per ovviare allinconveniente basta fissare una soglia massima, oltre la quale vengono cancellati tutti i puntatori nei VLR e viene effettuata una location registration classica. In figura riportato il caso in cui la soglia 3, e alla quarta location registration viene aggiornata la posizione nellHLR e vengono cancellati tutti i puntatori nei VLR.

HLR

MSC1

MSC2

MSC3

MSC4

VLR1

VLR2

VLR3

VLR4

Fig. 12.1-8

12-11

12.1.2 Hand-Over Questo servizio il pi critico dal punto di vista temporale che il PCS deve fornire. Esso consiste nel mantenere la continuit del servizio (comunicazione in corso) di un utente in movimento. Il processo di handover possiamo pensarlo suddiviso in tre passi: 1. Misura. Durante questa fase sia il terminale mobile che la base station verificano la potenza del segnale, tenendo traccia di eventuali percorsi alternativi attraverso celle differenti. 2. Inizializzazione e controllo dellhandover. Appena la potenza del segnale scende al di sotto di una data soglia, il processo di handover inizia. Il promotore di tale processo pu essere sia la rete (network controlled) (come accadeva nei vecchi sistemi analogici) sia il terminale (mobile assisted) (i sistemi digitali usano entrambi i metodi). 3. Allocazione del canale. Una volta deciso lhandover un nuovo percorso viene scelto e la comunicazione spostata sul nuovo canale di comunicazione. Dalla Fig. 12.1-9 alla Fig. 12.1-13 sono riportati schematicamente i tre passi precedentemente elencati.

2) Verifica dei criteri di qualit

3) Richiesta di Hand-Over, invio livello di potenza misurato sul canale xxx

canale di conversazione (VC) xxx

MSC
Hand-Over Required Message

1) Conversazione sul canale xxx

Fig. 12.1-9 - Richiesta di Hand-Over da parte della stazione A 12-12

canale di conversazione (VC) xxx 4) Richiesta di misura nelle celle adiacenti Conversazione sul canale xxx

MSC

6) Confronto tra le misure ricevute. Scelta della cella migliore. 5) Misura del livello di potenza sul canale xxx

Hand-Over Request Message

B
Risultato della misura sul canale xxx

Fig. 12.1-10 - Interrogazione delle celle adiacenti

12-13

9) Invio dellordine di commutazione utilizzando il canale xxx

canale di conversazione (VC) xxx

MSC

Conversazione sul canale xxx

7) Scelta della cella B e del canale yyy

Hand-Over Request Message

8) Attivazione del trasmettitore sul canale yyy

B
Ordine di attivare il nuovo ricetrasmettitore

Fig. 12.1-11 - Invio dellordine di commutazione dallMSC alla cella A

12-14

10) Ordine di commutazione sul canale yyy (con relativa conferma) canale di conversazione (VC) xxx 11) Conferma dellordine verso lMSC Conversazione sul canale xxx

MSC

12) Reistradamento della conversazione verso la nuova cella.

13) Conferma dellordine ricevuto sul canale xxx e sintonizzazione canale yyy

B
Ordine di attivare il nuovo ricetrasmettitore

Fig. 12.1-12 - Invio dellordine di commutazione al terminale mobile e conferma sul vecchio e sul nuovo canale

12-15

Disattivazione del canale xxx

16) Messaggio allMSC per informare che il canale xxx libero

MSC
VC libero

14) Conferma dellavvenuta commutazione. La conversazione continua sul canale yyy

canale di conversazione (VC) yyy

15) Invio del messaggio di conferma allMSC Conferma dellHand-Over

Fig. 12.1-13 - Continuazione della conversazione sul canale yyy

Si differenziano diversi tipi di handover in base alle modalit con cui il percorso creato e la comunicazione spostata su di esso. Tre fra i pi importanti sono: 1. Hard handover 2. Seamless handover 3. Soft handover Hard handover Lhard handover network controlled. La rete costruisce preventivamente il nuovo percorso da usare in modo da limitare linterruzione della comunicazione. La commutazione sul nuovo canale e il trasporto delle informazioni vengono effettuate simultaneamente. In questo schema potrebbe essere possibile una breve interruzione della connessione, ma si ha il vantaggio che il terminale lavora su un singolo canale alla volta. 12-16

before

during

after

Fig. 12.1-14

Seamless handover Nel seamless handover il nuovo percorso attivato in parallelo a quello vecchio e le informazioni vengono trasmesse dal terminale in entrambi i canali. Lattivazione effettiva del nuovo canale avviene tramite uno switching nella rete e dunque, il vecchio canale rilasciato. Questo schema impone al terminale mobile di lavorare su due portanti (in time division) ma permette un handover controllato dal terminale.

before

during

after

Fig. 12.1-15

12-17

Soft handover Nel soft handover, come nel caso precedente, si hanno due canali contemporaneamente attivi, ma in questo caso il terminale riceve simultaneamente le stesse informazioni sui due canali e sar il terminale stesso a decidere quando sganciarsi dal vecchio circuito.

before

during

after

Fig. 12.1-16

Unulteriore distinzione dei tipi di handover riguarda le risorse usate per scambiare le informazioni necessarie alloperazione di handover stessa. Nel caso in cui usato il vecchi circuito si parla di backward handover, viceversa se la maggior parte delle informazioni vengono scambiate sul nuovo circuito si parla di forward handover.

La procedura di handover per i sistemi cellulari GSM riportata in Fig. 12.1-17. Essa fa riferimento al caso in cui lhandover si ha tra due celle controllate da differenti BSC. Osserviamo che le decisioni vengono prese dalla vecchia base station e le informazioni sono scambiate sul vecchio canale. Il nuovo circuito costruito dalla rete prima che esso venga attivato per trasportare le informazioni.

12-18

Old BSC BSC

New

Radio signal and field strength reporting

Handover required

Handover request Handover request ack Handover command Handover command

Handover complete

Handover command Radio signal and field strength reporting Clear complete

Fig. 12.1-17

Dopo aver analizzato il funzionamento delle procedure di hand-over, vediamo qual il compito della rete in questo processo. La rete deve reinstradare la vecchia chiamata su un nuovo canale. Ma le cose non sono cos banali poich bisogna verificare che le risorse in gioco siano sufficienti prima di accettare la comunicazione. Vi dunque una fase di set-up della chiamata in cui la rete viene 12-19

coinvolta a livello di messaggi di segnalazione e la rete stessa decide se il caso di dar seguito alla richiesta dellutente. Questa fase, nelle reti integrate, ha un ruolo molto importante e prende il nome di call admission control (controllo di ammissione delle chiamate) ed ha il compito di valutare se si hanno a disposizione le risorse per assicurare la qualit di servizio richiesta dallutente. Se supponiamo che a monte dellinterfaccia radio c una rete a larga banda, e lobiettivo quello di fornire comunque un servizio che sia uguale indipendentemente dal fatto che lutente sia fisso o mobile, ci sar comunque un controllo di ammissione di chiamata ogni volta che c una richiesta da parte di un utente mobile o che sia rivolta verso un utente mobile. Nellinterfaccia radio questo vuol dire verificare se sono disponibili di canali di frequenza (oppure canali temporali) per gestire una nuova chiamata. Questa operazione deve essere effettuata ogni qual volta si ha unattivazione di una chiamata relativamente ad una cella, poich sappiamo che la stazione radiobase ha uno spettro (una banda) da gestire. Nelle reti fisse il controllo di call admission viene fatto solo nel momento in cui si deve aprire una nuova connessione, nel caso dellutente mobile dato che esso pu spostarsi da una cella allaltra, il problema si pone ogni qual volta c un handover. Infatti se si ha una comunicazione in corso e lutente si sposta in una cella che intasata, cio una cella in cui tutti i canali sono occupati, evidente che si deve rinunciare al mantenimento della comunicazione. Si indica con call dropping probability, la probabilit di dover rinunciare ad una chiamata in corso, quando, a seguito della mobilit dellutente, si va in una cella che non ha risorse sufficienti. A fronte di situazioni di questo tipo si potrebbero riassegnare dinamicamente le risorse della rete in maniera da minimizzare tale probabilit. Come principio generale si vede che, nellassegnazione dei canali vengono sempre privilegiate le richieste di handover rispetto alle richieste di nuove chiamate. Unulteriore strategia usata quella del cosiddetto prestito del canale (borrowing). Cio a livello di MSC si effettua una gestione dinamica delle risorse fra le varie stazioni radio base ad esso collegate. In particolare, una cella che si trova in saturazione pu chiedere in prestito temporaneamente delle risorse a delle celle contigue che si trovano abbastanza scariche.

12.2 Mobilit Personale Il supporto della mobilit terminale si basa sulla gestione di alcune informazioni memorizzate sui databese HLR e VLR. Analogamente nel caso in cui si vuole realizzare una mobilit personale, bisogna estendere questa logica anche a informazioni quali la password, luser account, etc. La procedura di registrazione di utente sar semplicemente quella per cui ogni utente pu comunicare alla rete a quale terminale si sta agganciando, e da parte della rete questo significa aggiornare dinamicamente le informazioni in opportuni database. La raccolta di dati necessaria per questa gestione, viene indicata col nome di user profile contrapposta a terminal profile (profilo del terminale) che quello relativo alle informazioni di localizzazione del terminale mobile nonch alle terminal capability cio alle opzioni di servizio che possono essere messe in atto attraverso il terminale.

12-20

12.3 IEEE 802.11 Le reti locali Wireless godono di diversi vantaggi rispetto alle reti cablate, in quanto oltre a permettere la mobilit terminale (e quindi consentono allutente di spostarsi senza rinunciare ai servizi di rete), spesso sono convenienti dal punto di vista economico nei vecchi edifici, dove difficile installare nuove reti cablate. Le tecnologie pi usate per realizzare reti senza filo, sono: Infrarossi Onde Radio La tecnologia a raggi infrarossi sicuramente la pi matura tra quelle usate nellambito delle reti wireless ed gi da circa venti anni che esistono delle realizzazioni di reti di questo tipo. Nel seguito ci occuperemo essenzialmente del secondo tipo di reti wireless, basate su onde radio. Vi sono diverse organizzazioni che si stanno muovendo per standardizzare una wireless LAN. In Europa, si sviluppato un protocollo chiamato HIPERLAN, ma non sembra che esso abbia molto successo. Mentre sempre pi si sta affermando lo standard realizzato negli Stati Uniti nel 1995, chiamato IEEE 802.11. Tale standard parte dal presupposto di voler affrontare esigenze a due livelli di intervento; quello di una vera e propria rete locale dove ci sono pi stazioni che vogliono colloquiare, e quello per cui questa rete ad hoc non altro che una isola che pu essere collegata al mondo esterno attraverso una dorsale che a sua volta pu essere wireless o pi verosimilmente wired (vedi Fig. 12.3-1).

Fig. 12.3-1 - Rete ad hoc e Infrastructure Network

12-21

In questo ambito ci sono due standard che rientrano entrambi nell802.11: Il primo prevede le modalit di colloquio allinterno del cosiddetto Distribution System, che comprende di fatto la normativa riguardante linterfacciamento di appositi Access Point con il sistema di distribuzione e con le stazioni dati. Un Access Point con delle stazioni dati pu costituire di fatto una rete ad hoc. Il secondo prevede le modalit di colloquio di reti senza access point verso il distribution system. Senza dilungarci troppo su aspetti riguardanti il physical layer, si possono usare diversi metodi per la trasmissione, tra cui: frequency hopping spread spectrum. La banda suddivisa in tanti canali di frequenza fra loro separati. In virt dello spettro espanso tali canali possono essere riutilizzati dinamicamente da comunicazioni differenti e quindi si ha un passaggio automatico, in questo sistema di trasmissione, da un canale allaltro. Per ogni canale, tutte le stazioni possono trasmettere con un dato sistema per cui in realt soltanto la stazione che riconosce un certo codice, finisce col decodificare il segnale, mentre le altre stazioni come se vedessero un background noise. direct sequence spread spectrum. In questo schema, la sequenza con cui vengono assegnati i canali preordinata. In ogni caso, comunque, si parla di Banda a Spettro Espanso. Parliamo adesso delle problematiche relative al protocollo di MAC. Iniziamo col fare delle considerazioni. Il modo pi naturale di lavorare usare il protocollo CSMA/CD. Il problema principale che in un ambiente wireless non sempre vero che il segnale si propaga in maniera broadcast e raggiunge tutte le stazioni. Tale problema conosciuto con il termine di hide station (stazione nascoste), in cui una stazione funge da ostacolo rispetto ad unaltra. Bisogna dunque introdurre dei meccanismi per fare in modo che tutte le stazioni possano capire che il mezzo radio occupato. Questo ha portato ad una ridefinizione del protocollo CSMA, che ha preso il nome di CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance). Esso pu essere usato per la trasmissione asincrona, e pu essere affiancato da una funzione di coordinamento centralizzata per permettere la trasmissione di messaggi ad alta priorit. Vediamo come funziona il CSMA/CA. Una qualunque stazione che vuole trasmettere per prima cosa esegue il carrier sense, cio controlla se qualche altra stazione sta trasmettendo, e in caso affermativo si mette in attesa. Appena il mezzo si libera, si attende per un determinato intervallo, denominato DIFS (Distributed InterFrame Space), dopo di che inizia una fase di contesa per laccesso al mezzo (contention window). La stazione sceglie un intervallo casuale (backoff), al termine del quale se il mezzo ancora libero inizia la trasmissione. Tale intervallo serve per diminuire la probabilit di collisione nel caso in cui vi siano pi stazioni in attesa. Lintervallo di backoff scelto allinterno di un intervallo che viene raddoppiato ogni volta che si deve ripetere la trasmissione della frame a causa di una collisione. Cos facendo di allunga la contention window e dunque diminuisce la probabilit di collisione. Quando una stazione, in attesa che termini lintervallo di backoff, sente che il mezzo non pi libero, arresta il conto alla rovescia e appena rileva il mezzo libero per un tempo pari al DIFS, non sceglie 12-22

un nuovo intervallo di backoff, bens riprende il conteggio precedentemente interrotto. Cos facendo di evita la starvation Fig. 12.3-2.

Fig. 12.3-2 - Procedura di backoff

Osserviamo comunque che il meccanismo di backoff, da solo, non esclude la possibilit di collisioni. Per realizzare la collision avoidance, lo standard prevede un protocollo Request To Send (RTS) Clear To Send (CTS). Quando una stazione trova libero allo scadere del backoff, non invia immediatamente la frame, bens un segnale di RTS. Se riceve dal destinatario il pacchetto di controllo CTS inizia la trasmissione, altrimenti si avuta una collisione e si mette in attesa per riprovare. Per evitare che durante questa fase si entri in una contention window, il tempo di attesa per i messaggi di risposta e per linvio dei dati dopo il CTS minore del DIFS. Tale intervallo chiamato SIFS (Short InterFrame Space). Se la trasmissione ha successo, la stazione destinataria invia un messaggio di ack. Questo meccanismo riportato schematicamente in Fig. 12.3-3. Dato che un messaggio di controllo inviato sia dal sender che dal receiver del pacchetto, tutte le stazioni che potenzialmente potrebbero disturbare la comunicazione sono informate.

12-23

Fig. 12.3-3 - SIFS e DIFS in una trasmissione DATA-ACK

Quando in corso una trasmissione secondo il protocollo prima descritto, tutte le stazioni non interessate dovrebbero sentire il mezzo occupato e dunque dovrebbero astenersi dal trasmettere. Tuttavia, a causa della bassa affidabilit della trasmissione, una stazione potrebbe non ricevere i messaggi e iniziare una trasmissione generando una collisione. Per prevenire questa situazione, il protocollo implementa una sorta di carrier sense virtuale. I messaggi RTS e CTS contengono infatti informazioni riguardanti la durata della trasmissione successiva. Tale informazione viene caricata dalle altre stazioni in un registro chiamato NAV (Net Allocation Vector). Tale registro viene via via decrementato e ogni stazione ne attender lazzeramento prima di cominciare la procedura di trasmissione (Fig. 12.3-4).

Fig. 12.3-4 - Net Allocation Vector (NAV)

12-24

Il protocollo RTS/CTS ha sicuramente due grossi svantaggi: Se il pacchetto dati corso, loverhead introdotto eccessivo. Esiste dunque la possibilit (obbligatoria per i pacchetti al di sotto di una data dimensione), di effettuare la trasmissione dei dati immediatamente allo scadere dellintervallo di backoff. Tramite la classica tecnica degli ack, si pu sapere se il dato stato coinvolto da collisione oppure andato tutto bene. Non applicabile nel caso di pacchetti multicast o broadcast, poich pi stazioni potrebbero inviare lRTS. Abbiamo gi preannunciato che l802.11 prevede anche una funzione di coordinamento centralizzata (PCF - Point Coordination Function) che permette di riservare una porzione di banda per servizi isocroni. Essa pu essere gestita solamente da alcune stazioni dette per tale motivo Point Coordinator (ad esempio gli AP). prevista una Super frame (SF), dove si alternano il periodo di contesa, in cui attiva la DCF, e il periodo senza contesa (contention free), in cui attiva la PCF (Fig. 12.3-5).

Fig. 12.3-5 - Struttura a Super frame e protocollo PCF.

La massima durata del periodo contention free pari alla lunghezza della super frame (la cui lunghezza pu variare in base ai servizi supportati a livello fisico) meno la lunghezza minima del contention period che pari a quella massima di una frame. Il PC d inizio al periodo di trasmissione senza contesa. Il traffico diretto dal PC ad una stazione viene detto CF-Down mentre il traffico in direzione opposta viene detto CF-Up. Il PC diventa padrone del mezzo trasmissivo mediante un accesso prioritario. Infatti, allinizio della super frame, prima di iniziare una trasmissione CF-Down, attende che il mezzo sia libero per un periodo pari a un Point InterFrame Space (PIFS), pi grande di un SIFS ma minore del DIFS. Il PC coordina laccesso al mezzo mediante il polling, eseguito sulle stazioni che hanno richiesto laccesso contention free. Nel periodo contention free non vi sono frame di ack; le conferme vengono inserite nella frame successiva settando degli opportuni bit. Con questa rete, dunque, si riescono a realizzare velocit fra i 10Mbps e 20Mbps. 12-25

Potrebbero piacerti anche