View
2
Download
0
Category
Preview:
Citation preview
Reti multimediali
Reti di calcolatori e Internet: Un approccio top-down
3a edizione Jim Kurose, Keith Ross
Pearson Education Italia
Internet Architettura, principali protocolli e
linee evolutiveNicola Blefari Melazzi
Mc Graw -Hill
Multimedia - Qualità del servizio: di cosa si tratta?
Applicazioni multimediali: contenuti audio e video(“applicazioni continue”)
Le reti forniscono alle applicazioni un livello di prestazioni adeguato per un corretto funzionamento dell’applicazione.
QoS
Reti multimediali Applicazioni multimediali di rete Streaming memorizzati Utilizzo ottimale del servizio best-effort: la telefonia Internet Protocolli per applicazioni interattive in tempo reale:
RTP, RTCP, SIP Reti per la distribuzione di contenuti multimediali Oltre il best-effort Scheduling e sorveglianza Servizi intergrati e servizi differenziati MPLS
Applicazioni multimediali di rete
Caratteristiche fondamentali
Sensibili al ritardo: Ritardo end-to-end Jitter
Ma tolleranti alla perdita: perdite occasionali causano solo marginali interferenze.
In antitesi con i dati: lunghi ritardi possono risultare fastidiosi ma la completezza e l’integrità dei dati trasferiti risultano di fondamentale importanza.
Classi di applicazioni multimediali:
1) Streaming audio e video memorizzato.
2) Streaming audio e video in diretta.
3) Audio e video interattivi in tempo reale.
Jitter: termine con il quale si indica la variabilità dei ritardi subita dai pacchetti dello stesso flusso.
Streaming audio e video memorizzato
Streaming: Il contenuto multimediale è
memorizzato sul server. Viene trasmesso al client. Streaming: il client può iniziare la
riproduzione di una parte del file prima di averlo interamente scaricato. La riproduzione del file multimediale procede in
sincronia con i tempi di registrazione originali.
Streaming audio e video memorizzato
1. videoregistrato
2. videoinviato 3. Video ricevuti,
riprodotti dal cliente.
streaming: in questo momento,il client può iniziare la riproduzionedi una parte del file audio/videoprima di averlo interamente scaricato.
reteinvio
tempo
Streaming audio e video memorizzato: interattività
Funzionalità simili a quelle di un videoregistratore:il cliente può mettere in pausa, mandare avanti o indietro il video 10 sec ritardo iniziale OK 1-2 sec prima che il comando abbia effetto OK Spesso usato RTSP
Streaming audio e video in diretta
Esempi: Programmi radiofonici in Internet. Eventi sportivi in diretta.Streaming Buffer di riproduzione (playout buffer). È tollerato un ritardo di una decina di secondi
prima che avvenga la riproduzione. È necessaria la continuità della riproduzione.Interattività Non è possibile usare l’avanzamento rapido. Riavvolgimento e pausa sì!
Audio e video interattivi in tempo reale
Requisiti del ritardo end-to-end: audio: < 150 msec buono, < 400 msec accettabile
• Comprende i ritardi a livello di applicazione (pacchettizzazione) e il ritardo di rete
• Ritardi superiori risultano frustranti, o impediscono addirittura la conversazione
Inizializzazione della sessione Come fa il chiamante ad allertare indirizzo IP, numero di porta,
algoritmi di codifica?
applicazioni: telefonia Internet, video conferenze
Ostacoli alla multimedialità in Internet
TCP/UDP/IP: servizio best-effort Non offre garanzie sulla consegna, né sul ritardo
Oggi le applicazioni multimediali in Internet utilizzano tecniche a livello di applicazioneper mitigare (quanto possibile) i ritardi
e le eventuali perdite.
Ma non abbiamo detto che le applicazioni multimedialirichiedono QoS e adeguati livelli di performance?
?? ?? ?
? ??
?
?
Evoluzione di Internet verso un miglior supporto alle applicazioni multimediali
Filosofia di intergrazione dei servizi:
Cambiamenti radicali, per fornire alle applicazioni la possibilità di prenotare larghezza di banda.
Software nuovi e più complessi in host e router.
Filosofia del “laissez-faire” Nessun cambiamento radicale. Più larghezza di banda quando
necessario. Reti per la distribuzione dei
contenuti
Filosofia di differenziazione dei servizi:
Piccoli interventi, limitati ai livelli di rete e di trasporto
Suddivisione dei datagrammi in due classi di servizio
Qual è la vostra opinione?
Compressione audio
Campioni di segnali analogici a tasso costante: telefono: 8.000 campioni al
secondo CD musicali: 44.100
campioni al secondo Ogni campione è quantizzato
es., 28=256 valori possibili di quantizzazione.
Tutti i valori di quantizzazione sono rapprentati con lo stesso numero di bit. 8 bit per 256 valori.
Esempio: 8.000 campioni/sec, 256 valori di quantizzazione --> 64.000 bps
Questo segnale digitale può essere riconvertito in un segnale analogico per la riproduzione: possibile perdita di
qualità.
Alcuni esempi: CD: 1.411 Mbps MP3: 96, 128, 160 kbps Telefonia Internet: 5,3 -
13 kbps
Compressione video
Un video è una sequenza d’immagini, solitamente mostrate a un tasso costante: es. 24 immagini/sec
Un’immagine digitale consiste in una sequenza di pixel.
Ogni pixel è codificato da una serie di bit.
Due tipi di ridondanza: Spaziale. Temporale.
Esempi: MPEG 1 (CD-ROM) 1,5 Mbps MPEG2 (DVD) 3-6 Mbps MPEG4 (spesso usata in
Internet < 1 Mbps)
Reti multimediali Applicazioni multimediali di rete Streaming memorizzati Utilizzo ottimale del servizio best-effort: la telefonia Internet Protocolli per applicazioni interattive in tempo reale:
RTP, RTCP, SIP Reti per la distribuzione di contenuti multimediali Oltre il best-effort Scheduling e sorveglianza Servizi intergrati e servizi differenziati MPLS
Streaming memorizzati
Tecniche di streaming a livello di applicazione per ottimizzare il servizio best effort: buffering lato client utilizzo di UDP
Rimozione del jitter Decompressione Correzione degli errori Interfaccia in cui appaiono
pulsanti e cursori interattivi.
Media Player
Accesso ad audio e video tramite server web
Audio o video sono contenuti in un unico file.
Il file viene trasferito tramite un messaggio HTTP: ricevuto per intero dal client il media player riproduce il file.
Accesso ad audio e video tramite server web
Il browser ottiene un metafile. Il browser lancia il media player e passa il metafile. Il media player contatta direttamente il server. Il server invia il file audio/video al media player. Uso di HTTP TCP
Invio di contenuti multimediali da server di streaming
Questa architettura evita l’uso del protocollo HTTP tra server e media player.
Si può anche utilizzare UDP invece che TCP.
UDP o TCP?UDP Il server invia a un tasso appropriato per il cliente
In genere: tasso di invio = tasso di codifica = tasso costante quindi, tasso di riempimento = tasso costante - perdita di
pacchetti Il media player ritarda la riproduzione di 2-5 secondi per
eliminare l’eventuale jitter indotto dalla rete.
TCP Il server immette, il più velocemente possibile, il video nella
socket TCP. Il tasso di riempimento fluttua nel tempo a causa del controllo
della congestione di TCP. Maggiore ritardo di riproduzione HTTP/TCP passano più facilmente attraverso i firewall
Protocollo di streaming in tempo reale: RTSP
HTTP Non prevede contenuti
multimediali. Non è previsto il comando
di avanzamento rapido ecc.
RTSP: RFC 2326 Protocollo di streaming in
tempo reale. Usato per il controllo della
riproduzione: pausa, fermo immagine, ricerca in avanti e all’indietro, avanzamento rapido ecc.
Cosa non può fare: Non definisce gli schemi di
compressione audio e video. Non prescrive il modo (UDP o
TCP) in cui i dati sono trasportati.
Non pone limiti a come il media player memorizza i file.
RTSP: protocollo fuori bandaFTP utilizza il concetto di
fuori banda: Un file viene trasferito su
una connessione TCP. Le informazioni di controllo
(cambio di directory, cancellazione/rinomina di file, ecc.) sono trasferite su un’altra connessione TCP.
I canali “in banda” e i canali “fuori banda” utilizzano un numero di porta diverso.
Anche i messaggi RTSP sono inviati “fuori banda”:
I messaggi di controllo RTSP usano un numero di porta diverso dal flusso multimediale: fuori banda Porta 554
Il flusso dei contenuti multimediali è considerato “in banda”.
RTSP: esempio
Scenario: Il browser richiede a un server web un file. Il browser lancia il media player. Per consentire il controllo della riproduzione, media
player e server si scambiano informazioni impiegando RTSP.
Metafile - esempio<title>Twister</title> <session>
<group language=en lipsync> <switch>
<track type=audio e="PCMU/8000/1" src = "rtsp://audio.example.com/twister/audio.en/lofi">
<track type=audio e="DVI4/16000/2" pt="90 DVI4/8000/1" src="rtsp://audio.example.com/twister/audio.en/hifi">
</switch> <track type="video/jpeg"
src="rtsp://video.example.com/twister/video"> </group>
</session>
Iterazioni tra client e server con RTSP
Esempio di una sessione RTSPC: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0
Cseq=1; Transport: rtp/udp; compression; port=3056; mode=PLAY
S: RTSP/1.0 200 OK Cseq=1 Session 4231
C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Cseq=2; Session: 4231 Range: npt=0-
S: RTSP/1.0 200 OK Cseq=2 Session 4231
C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Cseq=3; Session: 4231 Range: npt=37
S: RTSP/1.0 200 OK Cseq=3; Session 4231
C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Cseq=4; Session: 4231
S: RTSP/1.0 200 OK Cseq=4; Session 4231
Reti multimediali Applicazioni multimediali di rete Streaming memorizzati Utilizzo ottimale del servizio best-effort: la telefonia Internet Protocolli per applicazioni interattive in tempo reale:
RTP, RTCP, SIP Reti per la distribuzione di contenuti multimediali Oltre il best-effort Scheduling e sorveglianza Servizi intergrati e servizi differenziati MPLS
Applicazioni interattive in tempo reale
Telefonia da PC a PC Fornita da servizi di
messaggeria istantanea
Telefonia da PC a telefono Dialpad Net2phone
Videoconferenze con webcam.
Vediamo ora il caso di un’applicazione di telefonia Internet.
Telefonia InternetIntroduciamo la telefonia Internet con un esempio: In una normale conversazione si alternano periodi di “parlato”
e di “silenzio”: 64 kbps durante il periodo di “parlato”.
L’applicazione genera pacchetti solo nella fase di “parlato”. Genera un flusso di 8.000 byte/s. Ogni 20 ms li riunisce in
blocchi da 160 byte. Ciascun blocco ha un’intestazione a livello di applicazione. Il blocco e l’intestazione sono incapsulati in un segmento
UDP. Quindi, durante la fase di emissione, ogni 20 ms viene inviato
un segmento UDP.
Telefonia Internet: perdita dei pacchetti e ritardo
Perdita a causa della rete: è possibile quando un buffer è pieno e non può ricevere il datagramma IP che, in questo caso, viene scartato e non arriverà mai a destinazione.
Perdita per ritardo: quando i datagrammi IP arrivano con molto ritardo: Diversi “tipi” di ritardo: di trasmissione, di elaborazione,
di accodamento nei router, di propagazione e di elaborazione nei terminali lungo un collegamento.
Ritardo massimo tollerato: 400 ms. Ritardo tollerato: a seconda di come la voce è
codificata e trasmessa, e di come la perdita è mascherata in ricezione, tassi di ritardo compresi fra 1% e 10% possono essere tollerati.
trasmissionevideo con tasso costante
tempo
Ritardodi rete
variabile (jitter)
Ricezione riproduzione del video a tasso costante
Ritardo di riproduzione
buff
ered
data
Jitter di pacchetto
Ritardo di riproduzione fisso
Il ricevente tenta di riprodurre ciascun blocco esattamente q millisecondi dopo che è stato generato. Se un blocco è contrassegnato da un tempo di
generazione t, il ricevente lo riproduce dopo un intervallo t + q.
Se il blocco non è arrivato in tempo utile, lo scarta e lo considera perso.
Qual è la migliore scelta per q ? q elevato: diminuisce la perdita dei pacchetti q basso: la qualità è migliore (ma se q è inferiore a 400
ms molti pacchetti mancherebbero il tempo programmato per la riproduzione a causa del jitter)
Ritardo di riproduzione fisso
packets
time
packetsgenerated
packetsreceived
loss
rp p'
playout schedulep' - r
playout schedulep - r
• Il trasmittente genera pacchetti a intervalli regolari, supponiamo ogni 20 ms.• Il primo pacchetto è ricevuto al tempo r.• Il primo istante di riproduzione inizia al tempo p.• Il secondo istante di riproduzione inizia al tempo p’.
Ritardo di riproduzione adattativo
Questa stima è ricavata dalle marcature temporali come segue:)()1( 1 iiii trudud
dove u è una costante (es., u = 0,01).
Obiettivo: ritardo di riproduzione minimo con il vincolo che la perdita sia al di sotto dei pochi punti percentuali.
Approccio: regolare il ritardo di riproduzione: Stimare il ritardo della rete e regolare il ritardo di riproduzione
con l’inizio di ciascun periodo di attività vocale. Le pause dei trasmittenti vengono compresse o prolungate. Il trasmittente genera pacchetti a intervalli regolari, ogni 20
ms. ti = istante in cui il primo pacchetto è generato.
ri = istante in cui il pacchetto i è ricevuto.pi = istante in cui il pacchetto i è riprodotto.ri - ti = ritardo di rete end-to-end dell’i-esimo pacchetto.di = stima del valore medio del ritardo alla ricezione dell’i-esimopacchetto.
Ritardo di riproduzione adattativoVi, = stima della deviazione media dal ritardo medio stimato:
||)1( 1 iiiii dtruvuv
Le stime di di e vi sono calcolate per ogni pacchetto ricevuto, sebbene possano essere utilizzate solo per determinare il punto di riproduzione del primo pacchetto.Se i è il primo pacchetto di un periodo di attività, il suo istante di riproduzione è dato da:
iiii Kvdtp dove K è una costante positiva.
Il punto di riproduzione per ogni pacchetto successivo è calcolatocome lo spostamento dal momento in cui è riprodotto il primo pacchetto.
Recupero dei pacchetti perduti
Correzione dell’errore in avanti (FEC)
Il ricevente deve attendere di aver ricevuto l’intero gruppo di pacchetti prima di poter iniziarne la riproduzione.
Conseguenze: Aumento della banda
necessaria; ritardo di riproduzione.
Recupero dei pacchetti perduti
Interallacciamento Può migliorare la qualità con cui si
percepisce uno stream audio Non richiede l’aumento di
larghezza di banda dello stream
Incrementa la latenza, limitando così il suo utilizzo per applicazioni interattive come la telefonia
Buone prestazioni nello streaming audio memorizzato
Reti multimediali Applicazioni multimediali di rete Streaming memorizzati Utilizzo ottimale del servizio best-effort: la telefonia Internet Protocolli per applicazioni interattive in tempo reale:
RTP, RTCP, SIP Reti per la distribuzione di contenuti multimediali Oltre il best-effort Scheduling e sorveglianza Servizi intergrati e servizi differenziati MPLS
Protocolli per applicazioni interattive in tempo reale
RTP specifica la struttura di un pacchetto standardizzata per i campi dati audio/video.
RFC 1889 Il pacchetto RTP include:
Il tipo di carico utile Il numero di sequenza La marcatura temporale
RTP opera sugli end-system.
I pacchetti RTP sono incapsulati in un segmento UDP.
Interoperabilità: le applicazioni che incorporano RTP possono interagire con altri software di rete multimediali, anche se utilizzano prodotti sviluppati da differenti aziende.
RTP e QoS
RTP non offre alcun meccanismo che assicuri la consegna in tempo dei dati o fornisca altre garanzie in termini di QoS
L’incapsulamento RTP è visibile solo al sistema terminale, non dai router intermedi.
RTP utilizza UDPLe librerie RTP forniscono un’interfaccia a livello di trasporto che estende UDP:
Source port # Destination port #
Lenght Checksum (opt.)V P X C
CM PType Sequence number
TimestampSynchronization source (SSRC) identifier
Possible header extension
Payload
32 bit
UDP header
8 B
RTP header
12 B
Intestazione dei pacchetti RTP
V P X CC M PT Sequence Number
Timestamp
SSRC
CSRC_1
0 2 3 4 8 9 16 24 31
Intestazione dei pacchetti RTP
version (V) = (2 bit) Indica la versione del protocollo RTP;
Padding (P) = (1 bit)Indica che nella parte dati esistono dei byte di riempimento, che non fanno parte dei dati;
Extension (X) = (1 bit)Indica la presenza di un extension header; Dipende dal profilo o dall’applicazione.
CSRC count (CC) = (1 bit) Numero di campi CSRC presenti nell’intestazione;
Marker (M) = (1 bit) Il suo uso dipende dal profilo della sessione in corso; Il profilo definisce i codec utilizzati, mappati nel payload type (PT).
Intestazione dei pacchetti RTPPT - Tipo di carico (7 bit). Indica la codifica impiegata. Se il trasmittente decide di variare la codifica durante una sessione, per aumentare la qualità audio o per diminuire la frequenza trasmissiva del flusso RTP, può informare il ricevente del cambiamento attraverso questo campo.
•Codice 0 PCM legge , 64 kbps•Codice 3 GSM, 13 kbps•Codice 7 LPC, 2,4 kbps•Codice 26 JPEG•Codice 31 H.261•Codice 33 Video MPEG 2
Numero di sequenza (16 bit). Il numero di sequenza è incrementatodi un’unità per ogni pacchetto inviato, e può essere utilizzato dal ricevente per rilevare le perdite e ricostruire la sequenza dei pacchetti.
All’inizio della sessione viene estratto in modo casuale:minimizza la probabilità di avere pacchetti di connessioni “vecchie” ancora in rete con lo stesso numero di sequenza.
Intestazione dei pacchetti RTP Marcatura temporale (32 bit). Riporta l’istante del campionamento del
primo byte nel pacchetto dati: Serve per eliminare il jitter dei pacchetti introdotto nella rete e per
fornire la riproduzione sincronizzata al receiver; Il primo timestamp inviato nello stream RTP viene estratto in modo
casuale; Nel caso dell’audio, l’orologio è incrementato di un’unità a ogni
campionamento (per esempio, ogni 125 ms per un campionamento a 8 KHz).
Se l’applicazione audio genera blocchi costituiti da 160 campioni, allora la marcatura temporale cresce di 160 per pacchetto RTP quando la sorgente è attiva. La marcatura temporale è incrementata a tasso costante anche se la sorgente è inattiva.
Identificatore della sorgente di sincronizzazione, SSRC (32 bit). Identificativo della sorgente che ha creato il contenuto del
payload. E’ un numero scelto a caso dalla sorgente quando inizia un
nuovo stream.
Contributing source (CSRC) = fino a 15 campi da 32 bit ciascuno- Campi opzionali;- Contengono gli SSRC delle vere sorgenti del flusso.
Intestazione dei pacchetti RTP
header extension Un meccanismo di estensione è previsto per le
implementazioni individuali per sperimentare nuove funzioni payload-format indipendenti, che richiedono informazioni aggiuntive da inserire nell'header del pacchetto RTP;
lenght : lunghezza dell’estensione dell’intestazione espressa in word da 4 byte.
Defined by profile Lenght
header extension……..
0 8 16 24 31
Protocollo di controllo di RTP (RTCP)
RTP control protocol (RFC 1889).
Funziona insieme a RTP. Ogni partecipante di una
sessione RTP trasmette periodicamente pacchetti di controllo RTCP a tutti gli altri partecipanti.
Ogni pacchetto RTCP contiene i rapporti dei trasmittenti e/o riceventi Che comunicano
statistiche utili all’applicazione.
Le statistiche includono il numero dei pacchetti spediti, di quelli persi e il jitter.
Queste informazioni possono essere utilizzate per controllare le prestazioni Es., i trasmittenti
potrebbero utilizzarle per modificare la loro frequenza trasmissiva.
RTCP (continua)
- I pacchetti RTCP sono trasferiti tra i vari partecipanti a una sessione RTP utilizzando IP multicast. Per ogni sessione RTP esiste un indirizzo multicastutilizzato da tutti i pacchetti RTP e RTCP.
- I pacchetti RTP e RTCP sono distinguibili dai loro numeri di porta (quello di RTCP è dato dal numero di porta RTP più uno).
- Per limitare il traffico, ogni partecipante riduce il suo traffico RTCP quandoil numero dei partecipanti aumenta.
Pacchetti RTCP
Il ricevente genera un rapporto di ricezione:
L’identificatore SSRC del flusso RTP, la frazione di pacchetti persi, l’ultimo numero di sequenza ricevuto e il jitter negli arrivi.
Il trasmittente invia pacchetti di rapporto:
L’identificatore SSRC del flusso RTP, la marcatura temporale e l’ora effettiva di generazione dei pacchetti più recenti, il numero dei pacchetti inviati e il numero dei byte inviati nel flusso.
Il trasmittente crea anche pacchetti di descrizione della sorgente:
Indirizzo e-mail, nome del trasmittente e informazioni sull’applicazione che ha generato il flusso e il suo identificatore SSRC.
Questi pacchetti forniscono una correlazione fra SSRC e il nome dell’utente/host.
Pacchetti RTCP
• SR (Sender Report): - inviato da tutte le sorgenti attive a tutti i partecipanti; - trasporta statistiche di spedizione effettuate dai partecipanti che
trasmettono dati RTP;- riassume la quantità di informazione appena inviata;- contiene: a) Timestamp assoluto (NTP) all’istante di invio;
b) Timestamp relativo al flusso RTP in corso;c) Quantità di dati inviati dall’inizio della sessione;
- Numero totale di pacchetti RTP inviati;- Numero totale di byte inviati.
Pacchetti RTCP
RR (Receiver Report):- inviato da tutte le sorgenti passive a tutti i partecipanti;- trasporta statistiche di ricezione di un partecipanti che riceve dati RTP;- informa i mittenti della qualità della ricezione;- è inviato ad ogni sorgente da cui si è ricevuto un SR;- contiene: a) Indicazione della sorgente ascoltata;
b) Timestamp dell’ultimo SR ricevuto;c) Ritardo dalla ricezione dell’ultimo SR;d) Numero di sequenza più alto ricevuto dalla sorgente;e) Numero di pacchetti RTP della connessione persi;f) Frazione di pacchetti RTP della connessione persi;g) Stima del jitter dei pacchetti RTP della connessione.
Pacchetti RTCP SDES (Source Descriptor):
- contiene elementi di descrizione dei partecipanti;- descrive la sorgente mediante identificativo unico;- è usato dalle sorgenti e dai ricevitori per “presentarsi”;- può contenere: a) CNAME: identificativo dell’utente (user@host.domain);
b) NAME: nome della persona che usa l’applicazione;c) EMAIL;d) PHONE;e) LOC: indicazione geografica dell’utente; f) TOOL: applicazione che sta usando RTP;g) NOTE.
BYE:- indica la disconnessione di un partecipante o termine della sessione
APP: application-specific- indica che un partecipante vuole lasciare la sessione
pacchetto RTCP
Encription prefix32 bit
SR o RRAdditional
RRsSDES
(CNAME) APP BYE
Sincronizzazione dei flussi
RTCP può essere utilizzato per sincronizzare i flussi delle sessioni RTP.
Consideriamo un’applicazione di videoconferenza per la quale ciascun trasmittente genera due flussi RTP indipendenti.
Le marcature temporali in questi pacchetti sono legate agli orologi di campionamento audio e video. E non all’ora effettiva,
cioè al tempo reale.
I rapporti RTCP del trasmittente contengono: La marcatura temporale
del più recente pacchetto RTP.
L’ora effettiva di creazione.
I riceventi possono utilizzare questa corrispondenza per sincronizzare la riproduzione di audio e video.
Scalabilità di RTCPProblema !!! sessione RTP con un sender e un gran numero di receiver; ciascuno dei receiver genera pacchetti RTCP;
la velocità di trasmissione aggregata dei pacchetti puòsuperare di molto la velocità di invio dei pacchetti RTP del sender.
la quantità di traffico RTP inviato nell’albero multicast non variaall’aumentare del numero dei receiver;
la quantità di traffico RTCP cresce linearmente con il numero dei receiver.
Risoluzione: RTCP modifica la velocità a cui i partecipanti inviano i pacchetti alla
sessione.
Scalabilità di RTCP
RTCP cerca di limitare il traffico al 5% della larghezza di banda della sessione.
Esempio: Se il trasmittente sta
inviando un video a 2 Mbps, il 5% corrisponde a 100 Kbps.
Il protocollo ripartisce quindi equamente il 75% del tasso ridotto tra i riceventi e assegna il restante 25% al trasmittente.
Il tasso ridotto è equamente ripartito tra i riceventi: Dati R riceventi, ciascuno di
essi può trasmettere a una frequenza di 75/R kbps.
La frequenza del mittente sarà di 25 kbps.
I partecipanti determinano il periodo di trasmissione del pacchetto RTCP calcolandone dinamicamente la dimensione media e dividendola per il tasso di trasmissione assegnato.
Scalabilità di RTCP
Un partecipante (sender o receiver) determina il periodo di trasmissione del pacchetto RTCP calcolando dinamicamente la dimensione media del pacchetto RTCP e dividendola per la velocità che gli è stata allocata.
Ts = numero sender (dim. media pacchetto RTCP)0.25 x 0.05 x larghezza banda
sessione
Tr = numero receiver (dim. media pacchetto RTCP)0.75 x 0.05 x larghezza banda
sessione
SIP
SIP: Session Initiation Protocol Definito in ambito IETF
SIP, visione a lungo termine Tutte le telefonate e le video conferenze passano
attraverso Internet. Le persone sono identificate dal loro nome o
dall’indirizzo e-mail, piuttosto che dal loro numero di telefono.
Servizi offerti da SIP
Impostazione della chiamata Fornisce i meccanismi che
consentono al chiamante di connettersi al ricevente.
Fornisce i meccanismi che consentono ai partecipanti di accordarsi sulle codifiche dei media.
Fornisce i meccanismi che permettono di terminare le chiamate.
Determinazione dell’attuale indirizzo IP del ricevente.
Gestione della chiamata, fornisce procedure che permettono di: aggiungere nuovi flussi di
media. cambiare la codifica durante
la chiamata invitare nuovi partecipanti trasferire o mettere in
attesa.
Chiamata verso un indirizzo IP noto• Alice invia un messaggio INVITE a Bob che comprende le indicazioni del suo numero di porta, del suo indirizzo IP. Vuole ricevere l’audio codificato nel formato AVP 0 (PCM codificato con legge ).
• Bob invia un messaggio di risposta che comprende, oltre alla stringa 200 OK, anche le indicazioni del suo indirizzo IP e le preferenze di codifica (GSM).
• i messaggi SIP possono essere inviati sia con TCP sia con UDP. Qui sono inviati con RTP/UDP
• Di default, il numero di porta di SIP è 5060.
time time
Bob'sterminal rings
Alice
167.180.112.24
Bob
193.64.210.89
port 5060
port 38060 Law audio
GSMport 48753
INVITE bob@193.64.210.89c=IN IP4 167.180.112.24m=audio 38060 RTP/AVP 0port 5060
200 OKc=IN IP4 193.64.210.89
m=audio 48753 RTP/AVP 3
ACKport 5060
Esempio di un messaggio SIP
INVITE sip:bob@domain.com SIP/2.0Via: SIP/2.0/UDP 167.180.112.24From: sip:alice@hereway.comTo: sip:bob@domain.com Call-ID: a2e3a@pigeon.hereway.comContent-Type: application/sdpContent-Length: 885
c=IN IP4 167.180.112.24m=audio 38060 RTP/AVP 0
Note: Assomiglia ai messaggi HTTP. sdp = session description protocol – RFC 2327 Call-ID è unico per ogni chiamata.
• Qui non si usa l’indirizzo IP di Bob, ma il suo indirizzo SIPsip:bob@domain.com
• Alice invia e riceve messaggi SIP usandoil numero di porta di default 5060.
Traduzione dei nomi e localizzazione degli utenti
Il chiamante ha solo il nome o l’indirizzo e-mail del destinatario.
Ha bisogno di conoscere l’indirizzo IP dell’attuale host del destinatario: L’utente si sposta Protocollo DHCP L’utente ha differenti
dispositivi IP (PC, PDA,…)
I risultati si basano su: momento della giornata (al
lavoro, a casa) chiamante (non si desidera
che il capo ci rintracci a casa) status del ricevente (le
chiamate vengono dirottate su una segreteria telefonica se il destinatario sta già parlando con qualcuno)
Servizi forniti dai server SIP: Server di registrazione SIP. Server proxy SIP.
Server di registrazione SIP
REGISTER sip:domain.com SIP/2.0
Via: SIP/2.0/UDP 193.64.210.89
From: sip:bob@domain.com
To: sip:bob@domain.com
Expires: 3600
Un utente (Bob) è associato a un server di registrazione SIP al quale l’applicazione, quando viene lanciata, invia un messaggio di registrazione. Il server di registrazione di Bob memorizza il suo attuale indirizzo IP.
Messaggio di registrazione:
Messagi di refresh ogni 3600 secondi
EsempioProcedura seguita da jim@umass.edu per avviare una sessione vocale IP con keith@upenn.edu
(1) Jim invia un messaggio INVITE al proxy SIP di umass. (2) Questo fa una ricerca e quindi rilancia il Messaggio al server diregistrazione. (3) dato che Keith@eurecom.Fr non è presente nel server di upenn, quest’ultimo invia una risposta di ri-direzione.(4) Il proxy umass trasmette un INVITE al server di registrazione SIP di eurecom (5) che conosce l’indirizzo e rilancia l’INVITE al terminale 197.87.54.21, su cui gira il client SIP di Keith. (6-8) viene inviata una risposta SIP verso il client SIP (9) I media vengono scambiati direttamente tra i due client.Nota: il messaggio di riscontro SIP non è mostrato.
SIP client217.123.56.89
SIP client197.87.54.21
SIP proxyumass.edu
SIP registrarupenn.edu
SIPregistrareurecom.fr
1
2
3 4
5
6
7
8
9
Confronto con H.323
H.323 è un altro protocollo di trasmissione in tempo reale, interattivo.
H.323 è una famiglia completa di protocolli integrati verticalmente per le conferenze multimediali: segnalazione, registrazione, controllo di ammissione, trasporto e codec.
SIP è un componente monolitico. Lavora con RTP, ma non lo richiede. Può essere combinato con altri protocolli e servizi.
H.323 è di origine ITU (telefonia).
SIP è di origine IETF e adotta molti concetti del Web, di DNS e della posta elettronica in Internet.
SIP adotta il principio KISS: keep it simple stupid, fallo in modo semplice, stupido.
Reti multimediali Applicazioni multimediali di rete Streaming memorizzati Utilizzo ottimale del servizio best-effort: la telefonia Internet Protocolli per applicazioni interattive in tempo reale:
RTP, RTCP, SIP Reti per la distribuzione di contenuti multimediali Oltre il best-effort Scheduling e sorveglianza Servizi intergrati e servizi differenziati MPLS
Reti per la distribuzione dei contenuti (CDN)Distribuzione di contenuti: Distribuzione in tempo reale di
flussi di file di notevoli dimensioni (es., video) da un singolo server di origine.
Soluzione: replicare il contenuto a centinaia di server attraverso Internet: Il contenuto viene prima
caricato nel server CDN. La CDN replica i contenuti nei
server CDN La CDN fornisce un
meccanismo per cui il contenuto richiesto da un client viene fornito dal server CDN che può farglielo pervenire nel modo migliore.
Server CDN in Sud America
Server di origine in Nord America
Nodo di distribuzione CDN
Server CDNin Europa
Server CDNin Asia
Reti per la distribuzione dei contenuti (CDN)Distribuzione di contenuti: I fornitori di servizi come
CNN distribuiscono i contenuti attraverso una CDN (es., Akamai).
Ogni volta che un fornitore modifica un oggetto, provvederà a inoltrare la versione aggiornata al nodo CDN, il quale lo replica immediatamente e lo distribuisce ai server CDN.
Server di origine in Nord America
Nodo di distribuzione CDN
Server CDNin Europa
CDN - Esempio
Server di origine (www.foo.com)
Provvede a diffondere l’oggetto base HTML
sostituisce:http://www.foo.com/sports.ruth.gifconhttp://www.cdn.com/www.foo.com/sports/ruth.gif
Richiesta HTTP perwww.foo.com/sports/sports.html
Richiesta DNS per www.cdn.com
Richiesta HTTP per www.cdn.com/www.foo.com/sports/ruth.gif
1
2
3
Server di origine
Server DNS di competenza della CDN
Server CDN più vicino
Server CDN (cdn.com) Distribuisce file gif. Utilizza il server DNS
server per instradare le richieste di ridirezione
Ancora su CDN
Richieste di instradamento CDN crea una “mappa” che indica le distanze tra gli
ISP foglia e i nodi CDN Quando arriva una richiesta al server DNS :
Il server determina l’ISP dal quale è arrivata la richiesta Usa tabelle d’instradamento per determinare il miglior
server CDN.
Reti multimediali Applicazioni multimediali di rete Streaming memorizzati Utilizzo ottimale del servizio best-effort: la telefonia Internet Protocolli per applicazioni interattive in tempo reale:
RTP, RTCP, SIP Reti per la distribuzione di contenuti multimediali Oltre il best-effort Scheduling e sorveglianza Servizi intergrati e servizi differenziati MPLS
Migliorare la qualità di servizionelle reti IP
Fin qui: si è cercato di ottenere il meglio dal servizio best-effort.In futuro: una nuova generazione di Internet con garanzie di QoS.
RSVP: protocollo di segnalazione che consente alle applicazioni di prenotare le risorse.
Differenziazione dei servizi: architetture per fornire differenti garanzie.
Servizi integrati: architetture per servizi integrati.
Princìpi per fornire garanzie di QoS
Esempio: applicazione audio a 1 Mbps, collegamento a 1,5 Mbps con applicazione FTP. Una raffica (burst) di pacchetti dalla sorgente FTP può
congestionare il router, causando la perdita di alcuni pacchetti. Vogliamo dare priorità ai pacchetti audio rispetto a quelli FTP.
La marcatura dei pacchetti consente ai router di distinguerli in base alla loro classe di traffico.
Principio 1
Principi per fornire garanzie di QoS (segue)
Cosa succede se un pacchetto audio viene inviato a un un tasso più alto rispetto a quanto dichiarato? controllo: costringere la sorgente ad attenersi all’allocazione di
banda prevista Marcatura e controllo:
Simile ad ATM UNI (User Network Interface)
È auspicabile che ciascun flusso sia isolato, in modo che l’uno non subisca gli effetti negativi derivati dal comportamento non conforme degli altri.
Principio 2
Principi per fornire garanzie di QoS (segue)
Allocare banda fissa (non-sharable) al flusso: uso inefficiente della banda se il flusso non rispetta la sua allocazione
È auspicabile che l’utilizzo delle risorse sia quanto più efficiente possibile anche in presenza di isolamento dei flussi.
Principio 3
Principi per fornire garanzie di QoS (segue)
Assioma: è impossibile supportare richieste di traffico superiore alla capacità del collegamento
È necessario un processo di ammissione alla chiamata durante il quale vengono confrontati i requisiti di servizio dei flussi con le risorse disponibili in quel dato momento. Sa la richiesta può essere soddisfatta il flusso potrà accedere alla rete, altrimenti il suo ingresso sarà negato.
Principio 4
Sommario dei principi di QoS
Esamineremo ora i vari modi in cui sono implementati….
Reti multimediali Applicazioni multimediali di rete Streaming memorizzati Utilizzo ottimale del servizio best-effort: la telefonia Internet Protocolli per applicazioni interattive in tempo reale:
RTP, RTCP, SIP Reti per la distribuzione di contenuti multimediali Oltre il best-effort Scheduling e sorveglianza Servizi intergrati e servizi differenziati MPLS
Meccanismi di scheduling e sorveglianza
scheduling: procedura con cui i pacchetti sono selezionati nelle code prima di essere inoltrati.
Procedura FIFO (first in first out): i pacchetti vengono inviati in ordine di arrivo. Quindi vengono trasmessi nello stesso ordine che hanno nella coda.
Politica di esclusione: se un buffer non ha più spazio per ricevere un ulteriore pacchetto, come determina quale deve scartare?
• Tail drop: elimina il pacchetto ultimo arrivato• Priorità: elimina o rimuove in base alla priorità• Random: elimina o rimuove a caso
Modalità di scheduling
Accodamento con priorità: i pacchetti vengono trasmessi in base alla priorità e non in ordine di arrivo.
più classi, con differenti priorità Le classi dipendono da una marcatura riportata nell’intestazione
del pacchetto, es. IP sorgente o di destinazione, numero di porta, ecc.
Esempio concreto?
Modalità di schedulingAccodamento round robin: Diverse classi Le classi non hanno una rigida priorità di servizio. Infatti è
prevista una sorta di avvicendamento “circolare” tra le diverse classi.
Modalità di scheduling
Accodamento equo ponderato (weighted fair queuing-WFQ): Astrazione della strategia round robin Offre un servizio di tipo ciclico e le classi possono ricevere
un servizio differenziato.
Criteri nelle procedure di monitoraggio
Obiettivo: porre limitazioni al traffico in modo che questo non ecceda i parametri dichiarati
Tre importanti criteri: Tasso medio: è limitato il numero di pacchetti in un determinato
intervallo di tempo (a lungo termine). Aspetto cruciale: un flusso con una frequenza trasmissiva media
vincolata a 100 pacchetti al sec subisce maggiori restrizioni rispetto a una sorgente il cui limite è di 6000 pacchetti al minuto, anche se entrambi presentano un’identica media!
Tasso di picco: es., è imposto al flusso un tasso medio di 6000 pacchetti al minuto con il vincolo di non superare i 1500 pacchetti al secondo.
Dimensione della raffica (burst): vincola il numero di pacchetti che possono essere trasmessi consecutivamente al tasso di picco.
Leaky bucket (secchio bucato): meccanismo per monitorare il rispetto dei limiti imposto a un flusso di pacchetti.
Recipiente in grado di contenere fino a b gettoni (token). Generati alla frequenza di r gettoni al secondo e quindi immessi
nel contenitore. Il numero massimo di pacchetti che possono essere trasmessi
nell’intervallo di tempo t è uguale a rt + b.
Criteri nelle procedure di monitoraggio
rs
BTS
Criteri nelle procedure di monitoraggio
BTS
rs
Ps
LB LB
rs Ps
BTS
Dual Leaky-Bucket
bBrPcP
TSss
s
rs Ps
BTS
c
b
BTS
b
cPsrs
Multiplexing
bB
cCb
c
DLB1
DLB2
DLBk
...
C
B
Es. Fair-Share
Capacità Equivalente e Banda Equivalente
max oppure Dcb
bB
cC
bB
rPcP
TSss
s
BTS
b
cPsrs c0
b0
00max
max
0max0
max0 )(
bB
cCn
CBD
cDbBrPD
BPc
bB
cC
TSSS
TSS
max
00max
0max0
max0
max
,min
)(
DCBetipicament
cC
bBn
cDbBrPD
BPc
Dcb
TSSS
TSS
Fair-Share Max delay
Criteri nelle procedure di monitoraggio
WFQ
token rate, r
bucket size, bper-flowrate, R
D = b/Rmax
arrivingtraffic
Reti multimediali Applicazioni multimediali di rete Streaming memorizzati Utilizzo ottimale del servizio best-effort: la telefonia Internet Protocolli per applicazioni interattive in tempo reale:
RTP, RTCP, SIP Reti per la distribuzione di contenuti multimediali Oltre il best-effort Scheduling e sorveglianza Servizi intergrati e servizi differenziati MPLS
Servizi integrati IETF Architettura per fornire garanzie in termini di QOS nelle reti IP Prenotazione delle risorse Ammissione/negazione delle richieste di impostazione di una nuova
chiamata Per garantire opportune prestazioni di rete è necessario creare e
mantenere degli stati in ciascun nodo La gestione è più semplice ed affidabile se ogni stato ha significato
locale ed è di tipo soft Le informazioni contenute in uno stato sono relative a un flusso di
informazione. Un flusso è una sequenza di datagrammi IP trasmessi da una data sorgente, ricevuto da un dato ricevitore ed appartenenti alla medesima applicazione
Integrated Services Architecture (ISA) = estensione della classicaarchitettura Internet (RFC 1633), per supportare funzionalità di QoS
Intserv: architettura per servizi integrati
Prenotazione delle risorse Segnalazione per l’impostazione della
chiamata (RSVP). Caratterizzazione del traffico e
specifica della QoS. Ammissione della chiamata singola.
Meccanismi attuativi di QoS
(es., WFQ)
richiesta/risposta
Advanced IP Architecture
RSVP
Real Time Applications
RTP/RTCP
UDP
Elastic Applications
TCP
IPv4/IPv6
Underlying Data Link Technologies
Intserv: architettura per servizi integrati
Service Class:
Specifica il tipo di servizio ricevuto dal flusso
L’architettura IS fornisce tre Service Classes:- best effort delivery- guaranteed service- controlled load service
Intserv: architettura per servizi integrati
Guaranteed Service è definita per applicazioni real-time
Guaranteed Service QoS implica:- Larghezza di banda garantita- Ritardo massimo end-to-end prefissato (matematicamente)- Assenza di perdite
Il traffico entrante nel dominio è monitorato (policed):Il traffico non conforme è trattato in modalità best-effort
Intserv: architettura per servizi integrati
Controlled Load è definito per traffico real-time, ma conrequisiti sul ritardo meno stringenti
Controlled Load fornisce prestazioni simili a quelle ottenibilimediante il servizio best-effort con rete scarica
Il traffico entrante nel dominio è monitorato (policed):Il traffico non conforme è trattato in modalità best-effort
Reservation Setup Protocol: RSVP
RSVP è un protocollo di segnalazione che coinvolgetrasmsttitore, ricevitore e router del percorso di rete
RSVP usa stati soft:
• Gli stati path e reservation immagazzinati nei routerscadono dopo in certo intervallo di tempo, quindi sedevono essere mantenuto occorre confermarli (refresh)periodicamente; il refresh è realizzato dagli host
Quando un router RSVP riceve il messaggio di PATH:• crea o aggiorna il relativo a stato PATH associato alla sessione,
contenente: Phop (Previous hop), Sender_Tspec and Adspec• Tspec: Ps, rs, max burst size, min policed unit, max packt size• Adspec: Optional (e.g. Min Path Latency, Min Bdw, break bit, Hops, minMTU)
• Re-inizializza il timer associato allo stato PATH (refresh)• Aggiorna i campi Phop and Adspec ed inoltra il mesaggio PATH al
router successivo (eventualmente un router RSVP)
Procedure RSVP :Unicast Reservation
1st step: invio del messaggio PATH downstream
RSVP Enabled Host (SND)
RSVP Enabled Host (RCV)
RSVP Router RSVP Router
PATH
2nd step: messaggio RESV inviato indietro (upstream)
RSVP Enabled Host (SND)
RSVP Enabled Host (RCV)
RSVP Router RSVP Router
RESV
Quando un router RSVP riceve il messaggio RESV:• Legge i campi FlowSpec e Admission Control; se la richiesta è
accettabile è creato uno stato RESV e i campi Packet Classifier ePacket Scheduler sono aggiornati
• Re-inizializza il timer associato allo stato RESV (refresh)• Inoltra il messaggio RESV al nodo a monte (previous) nel percorso,
indicato dal campo Phop
RSVP Procedures:Unicast Reservation
Problemi di Scalabilità di RSVP
Le applicazioni punto-punto narrowband (come la telefonia IP)implicherebbero un elevato overhead di elaborazione nei routeruna notevole quantità di traffico di segnalazione per i refresh.
Esempio:La codifica ADPCM genera flussi vocali di 32 kb/s. Senzaconsiderare altri overhead, una singola interfaccia OC-12 (622Mb/s) nel backbone dovrebbe gestire 20000 flussi, ossia:
• il packet scheduler deve poter gestire 20000 code• 20000 stati devono essere confermati periodicamente
Problemi di Scalabilità di RSVP
Soluzioni:
• Aggregazione dei flussi
• Limitare l’uso di RSVP limited alle reti IP di accesso
• Approccio Differentiated Services (DiffServ) nelbackbone
IETF - servizi differenziati (DiffServ)
Alcune problematiche associate a Intserv: Scalabilità Modelli di servizio flessibili
Approcci DiffServ (DS): Colloca alcune semplici funzionalità nel nucleo della
rete e implementa le operazioni di controllo (più complesse) alla periferia.
DiffServ: Idee di base
DiffServ fornisce la possibilità di specificare la priorità relativa fra i pacchetti
Alcuni dati sono piu’ “importanti” di altri Servizi migliori a pagamento
The real question is to choose which packets shall be dropped. Thefirst definition of differential service is something like "not mine.” -- Christian Huitema
Obiettivi DS
Possibilità di realizzare tariffazione differenziata per servizi differenziati
Introduzione di tecniche leggere e scalabili per differenziare i servizi di rete nel backboneAssenza di stati e/o segnalazione per
flusso Evoluzione encrementaleRealizzazione di un nucleo semplice
iniziale, da espandere in futuro se necessario
Router periferico: Amministrazione del traffico
per flusso.
I pacchetti sono contrassegnati dal profilo di ingresso e dal profilo d’uscita.
Router principale: Amministrazione del traffico
per classe. È basato sulla marcatura del
pacchetto. Preferenza accordata ai
pacchetti in ingresso Inoltro assicurato.
Architettura Diffserv
scheduling
...
r
b
marking
Classificazione e condizionamento del traffico
Classifier MarkerShaper/Dropper
Meter
Campo ToS nell’intestazione IP
<RFC-791>
Historical TOS field (‘81)
Bits 0-2: Precedence.Bit 3: 0 = Normal Delay, 1 = Low Delay.Bits 4: 0 = Normal Throughput, 1 = High Throughput.Bits 5: 0 = Normal Reliability,1 = High Reliability.Bit 6-7: Reserved for Future Use.
0 1 2 3 4 5 6 7+-----+-----+-----+-----+-----+-----+-----+-----+| | | | | | || PRECEDENCE | D | T | R | 0 | 0 || | | | | | |+-----+-----+-----+-----+-----+-----+-----+-----+
011 - Flash010 - Immediate001 - Priority000 - Routine
Precedence111 - Network Control110 - Internetwork Control101 - CRITIC/ECP100 - Flash Override
Classificazione e condizionamento del traffico Diffserv
I pacchetti sono contrassegnati in base al tipo di servizio (TOS) in IPv4, e in classe di traffico in IPv6.
6 bit sono usati per il DSCP (Differentiated Service Code Point) e determinano il comportamento per-hop (PHB )
2 bit sono al momento inutilizzati.
Comportamento per-hop (PHB)
PHB (per-hop behaviour) fornisce diverse prestazioni a differenti classi di traffico. Le differenze nelle prestazioni devono essere osservabili e misurabili.
PHB definisce diverse prestazioni per le classi, ma non impone alcuna particolare procedura per raggiungerle.
Per Domain Behavior (PHB)
Un dominio DS domain è un insieme contiguo di nodi DS operanti sotto la stessa politica di provisioning e PHB implementati nei nodi Per Domain Behavior (PDB)
DS interior node
DS boundary node
DS boundary
Il campo DS deve essere usato come indice a una tabella I campi DS sono mappati nei PHB disponibili in ogni nodo Un PHB è implementato mediante meccanismi interni al nodo I servizi sono esplicitati da PHB e PDB Si puo’ immaginare come la sovrapposizione di Internet
coesistenti e sovrapposte, ciascuna operante in modalità “best effort”. Dati i diversi livelli di priorità, si puo’ parlare, quindi, di servizi “better-than-best-effort”.
... ma senza GARANZIE!
Controllo di ammissione dinamicoAdmission
ControlServer
ED
ED
ED ED
ED
ED
DS-RDS-R
User flows
SACP protocol
Diff-servcloud
RSVP relationship
R
Host R
RSVP basedaccess
networks
ED: Edge DeviceDS-R Diff-Serv RouterR: RSVP capable router
R
RR
R
Proposte di Livelli di Servizio
Assured Service (1 bit) Premium Service (1 bit) Two-bit Differentiated Services (RFC …)
Assured Service - Dave Clark (MIT)
Allocazione statistica delle risorse Risorse allocate sulla base del comportamento atteso degli
utenti Il traffico conforme (In profile) ha “bassa
probabilità” di perdita. I pacchetti non conformi (Out of profile) sono
trattati in modalità best-effort.
Definisce un servizio “better than best-effort”
Assured Service
Assured Service
Drop if congested
Congested
Uncongested
Premium Service - Van Jacobson (LBL)
Allocazione delle risorse conservativa In accordo al picco dei profili di traffico
Sagomatura ai bordi per eliminare i picchi di traffico I pacchetti non conformi (Out of profile) sono
scartati.
Definisce una “virtual leased line”: banda di picco prefissata e disponibile se necassaria.
Premium Service
Fixed Bandwidth
Drop always
Two-bit Differentiated Services
Combina i servizi Assured e Premium I servizi Assured e Premium sono realizzati mediante
meccanismi simili Premium service, indicato dal P-bit Assured service, indicato dal A-bit
Si possono considerare elementi di base per creare diversi servizi
Funzionalità del Two-Bit Border Router
Packet InputWait for
tokenData Queue
Packet OutputSetP-bit
Packet Input Test if token Packet OutputSet
A-bitData Queue
No token
Token
Premium Service
Assured Service
TokenBucket
TokenBucket
Funzionalità del Two-bit Internal Router
P-bit set?
Packets In
Low Priority Queue
High Priority Queue
If A-bit set,a_cnt++
No
Yes
RIO In/OutQueue Management
If A-bit set,a_cnt- -
Packets Out
Regione DiffServ
Una regione DS è un insieme di uno o più domini DS contigui. I domini DS in una regione DS possono avere diversi PHB e
campi DS -> PHB mappings SLA (Service Level Agreement):
Un contratto di servizio fra un utente e un service provider che specifica il servizio di inoltro (forwarding service) che l’utente dovrà ricevere.
L’utente può essere una organizzazione (source domain) o un altro dominio DS (upstream domain)
DS domain “B”DS domain “A”
<-SLA->User
<-SLA->
Regione DiffServ
Gli SLA possono essere sia statici sia dinamci Possono essere rinegoziati periodicamente (giorni… settimane …) Possono specificare un servizio tempo variante (time of day) Gli SLA dinaminci possono variare frequentemente, ad esempio al
variare del traffico offerto o modifiche nelle strategie di tariffazione dei provider
Gli SLA dinaminci possono variare senza l’intervento umano. Richiedono quindi degli agenti e dei protocolli in grado di agire autonomamente (e.g. “Bandwidth Broker”)
Si suggerisce che gli SLA facciano riferimento solo agli aggregati di traffico, e non ai flussi individuali.
Commento …
… l’approccio basato sulla forza bruta, ossia sul sovradimensionamento delle risorse di rete ha ancora consensi…
Reti multimediali Applicazioni multimediali di rete Streaming memorizzati Utilizzo ottimale del servizio best-effort: la telefonia Internet Protocolli per applicazioni interattive in tempo reale:
RTP, RTCP, SIP Reti per la distribuzione di contenuti multimediali Oltre il best-effort Scheduling e sorveglianza Servizi intergrati e servizi differenziati MPLS
“Label Substitution” cos’è?
•BROADCAST: andare ovunque e fermarsi quando si è arrivati a B, senza chiedere informazioni.
•HOP BY HOP ROUTING: chiedere continuamente cosa si trova più vicino a B, andarci e ripetere la cosa fin quando si arriva a B.
“Per andare a B? Dovresti raggiungere X, che si trova sulla strada”.
•SOURCE ROUTING: chiedere una lista (da portarsi dietro) di posti da raggiungere per arrivare a B.
“Per andare a B? Vai avanti per 5 isolati, girare a sinistra, procedere per altri 6 isolati, girare a destra al semaforo…”
Ci sono molto modi per andare da A a B:
Label Substitution
Si supponga di avere un aiutante che ci precede verso B usando una delle prime due tecniche precedenti. Per ogni strada riserva una corsia. Ad ogni incrocio lascia un’indicazione chiara sulla direzione da prendere e sulla corsia riservata.
LANE#1
LANE#2
LANE#1 TURN RIGHT USE LANE#2
Idea di base
MPLS è un modello ibrido adottato da IETF che incorpora le caratteristiche migliori delle trasmissioni a circuito e a pacchetto (o cella).
Forwarding:Label Swapping
Control:
IP Router Software
Control:
IP Router Software
Forwarding:Longest-match Lookup
Control:
ATM Forum Software
Forwarding:Label Swapping
IP Router MPLS ATM Switch
Idea di base (Cont.) I pacchetti sono commutati (switched), non instradati (routed), sulla
base di etichiette (label) Le label sono inserite nell’intestazione del pacchetto Operazioni di base:
L’ Ingress LER (Label Edge Router) inserisce (push) una label davanti all’header IP
L’ LSR (Label Switch Router) sostituisce la label (swapping) L’ Egress LER rimuove (pop) la label
La chiave di funzionamento è la costruzione della forwarding table Protocolli di routing Link state
• Scambio di informazioni fra i nodi sulla topologia della rete• Es. OSPF-TE
Protocolli di segnalazione e di distribuzione delle label• Set up LSPs (Label Switched Path)• LDP, RSVP-TE, CR-LDP
Una label può essere nota con un nome diverso ...
• ATM – la label è nota come VPI/VCI, ed è presente nella calla.
• TDM – la label è nota come timeslot its implied.
• WDM – la label è nota come lunghezza d’onda
Terminologia MPLS
LDP: Label Distribution Protocol
LSP: Label Switched Path
FEC: Forwarding Equivalence Class LSR: Label Switching Router LER: Label Edge Router (Useful term not in
standards)
CR: Constraint Routing
Funzionamento MPLS1a. Protocolli di routing (es. OSPF-TE, IS-IS-TE) scambio di informazione sulla raggiungibilità delle reti
1b. Label Distribution Protocol (LDP) Realizza il mappaggio delle label fino alla destinazione
2. L’ Ingress LER riceve i pacchetti e li etichetta
IP
3. L’LSR inoltra i pacchetti e sostituisce le label
4. L’LER rimuove le label dai pacchetti uscenti e li inoltra
IP
Caratterisctiche essenziali Label swapping:
La commutazione è più veloce del routing Separazione dei piani di utente e di controllo Gerarchia di reti realizzabile mediante label stacking
Migliora la scalabilità Realizzabilità di instradamento vincolato
Traffic Engineering Fast reroute
Facile realizzabilità di virtual private networks (VPNs) Possibilità di introdurre classi di servizio
Opportunità di mappare il campo DiffServ sulle label MPLS
ROUTING AI BORDI, SWITCHING NEL CORE
IP ForwardingLABEL SWITCHING
Impossibile v isualizzare l'immagine. La memoria del computer potrebbe essere insufficiente per aprire l'immagine oppure l'immagine potrebbe essere danneggiata. Riavviare il computer e aprire di nuovo il file. Se viene visualizzata di nuovo la x rossa, potrebbe essere necessario eliminare l'immagine e inserirla di nuovo.
Impossibile v isualizzare l'immagine. La memoria del computer potrebbe essere insufficiente per aprire l'immagine oppure l'immagine potrebbe essere danneggiata. Riavviare il computer e aprire di nuovo il file. Se viene visualizzata di nuovo la x rossa, potrebbe essere necessario eliminare l'immagine e inserirla di nuovo.
IP Forwarding
IP IP #L1 IP #L2 IP #L3 IP
Forwarding Equivalence Class
• FEC = “Un sottinsieme di pacchetti trattati nello stesso modo dal router”• Il concetto di FECs introduce flessibilità e scalabilità• Nel routing convenzionale, ad ogni salto un pacchetto è assegnato a una FEC (es. L3 look-up); in MPLS questo è fatto una sola volta all’ingresso della rete
I pacchetti sono destinati a doverso prefissi di rete, ma possono essere mappati su un percorso comune.
Impossibile v isualizzare l'immagine. La memoria del computer potrebbe essere insufficiente per aprire l'immagine oppure l'immagine potrebbe essere danneggiata. Riavviare il computer e aprire di nuovo il file. Se viene visualizzata di nuovo la x rossa, potrebbe essere necessario eliminare l'immagine e inserirla di nuovo.
Impossibile v isualizzare l'immagine. La memoria del computer potrebbe essere insufficiente per aprire l'immagine oppure l'immagine potrebbe essere danneggiata. Riavviare il computer e aprire di nuovo il file. Se viene visualizzata di nuovo la x rossa, potrebbe essere necessario eliminare l'immagine e inserirla di nuovo.
IP1
IP2
IP1
IP2
LSRLSRLER LER
LSP
IP1 #L1
IP2 #L1
IP1 #L2
IP2 #L2
IP1 #L3
IP2 #L3
MPLS FA USO DI IP STANDARD
47.1
47.247.3
D e s t O u t4 7 . 1 14 7 . 2 24 7 . 3 3
1
23
D e s t O u t4 7 .1 14 7 .2 24 7 .3 3
D e s t O u t4 7 .1 14 7 .2 24 7 .3 3
1
23
1
2
3
• Destination based forwarding tables as built by OSPF, IS-IS, RIP, etc.
L’ IP FORWARDING E’ USATO COME CONTROLLO HOP-BY-HOP
47.1
47.247.3
IP 47.1.1.1
D e s t O u t4 7 .1 14 7 .2 24 7 .3 3
1
23
D e s t O u t4 7 . 1 14 7 . 2 24 7 . 3 3
1
2
1
2
3
IP 47.1.1.1
IP 47.1.1.1IP 47.1.1.1
D e s t O u t4 7 . 1 14 7 . 2 24 7 . 3 3
IntfIn
LabelIn
Dest IntfOut
3 0.40 47.1 1
IntfIn
LabelIn
Dest IntfOut
LabelOut
3 0.50 47.1 1 0.40
MPLS Label Distribution
47.1
47.247.3
1
2
31
2
1
23
3IntfIn
Dest IntfOut
LabelOut
3 47.1 1 0.50 Mapping: 0.40
Request: 47.1
Label Switched Path (LSP)
IntfIn
LabelIn
Dest IntfOut
3 0.40 47.1 1
IntfIn
LabelIn
Dest IntfOut
LabelOut
3 0.50 47.1 1 0.40
47.1
47.247.3
1
2
31
2
1
23
3IntfIn
Dest IntfOut
LabelOut
3 47.1 1 0.50
IP 47.1.1.1
IP 47.1.1.1
IntfIn
LabelIn
Dest IntfOut
3 0.40 47.1 1
IntfIn
LabelIn
Dest IntfOut
LabelOut
3 0.50 47.1 1 0.40
47.1
47.247.3
12
3 1
2
1
23
3
In tfIn
D e s t In t fO u t
L a b e lO u t
3 4 7 .1 .1 2 1 .3 33 4 7 .1 1 0 .5 0
IP 47.1.1.1
IP 47.1.1.1
EXPLICITLY ROUTED-LSP
Vantaggi dell’ER LSP
•Flessibilità di routing per l’operatore (policy-based, QoS-based), eventualmente diverso dallo shortest path
•Possibilità di realizzare traffic engineering
Recommended