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 evolutive Nicola Blefari Melazzi Mc Graw -Hill Multimedia - Qualità del servizio: di cosa si tratta? Applicazioni multimediali: contenuti audio e video (“applicazioni continue”) QoS Le reti forniscono alle applicazioni un livello di prestazioni adeguato per un corretto funzionamento dell’applicazione. 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 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. 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. 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. video registrato 2. video inviato rete invio 3. Video ricevuti, riprodotti dal cliente. tempo streaming: in questo momento, il client può iniziare la riproduzione di una parte del file audio/video prima di averlo interamente scaricato. 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 applicazioni: telefonia Internet, video conferenze 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? Ostacoli alla multimedialità in Internet TCP/UDP/IP: servizio best-effort Non offre garanzie sulla consegna, né sul ritardo ? ? ? ? ? ? Ma non abbiamo detto che le applicazioni multimediali richiedono QoS e adeguati livelli di performance? ? ? ? ? Oggi le applicazioni multimediali in Internet utilizzano tecniche a livello di applicazione per mitigare (quanto possibile) i ritardi e le eventuali perdite. Evoluzione di Internet verso un miglior supporto alle applicazioni multimediali Filosofia di intergrazione dei servizi: Filosofia di differenziazione dei servizi: Cambiamenti radicali, per Piccoli interventi, limitati ai fornire alle applicazioni la possibilità di prenotare larghezza di banda. Software nuovi e più complessi in host e router. livelli di rete e di trasporto Suddivisione dei datagrammi in due classi di servizio Filosofia del “laissez-faire” Nessun cambiamento radicale. Più larghezza di banda quando necessario. Reti per la distribuzione dei contenuti 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 Media Player Rimozione del jitter Decompressione Correzione degli errori Interfaccia in cui appaiono pulsanti e cursori interattivi. 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 banda FTP 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 RTSP C: 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=0S: 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 Internet Introduciamo 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. Jitter di pacchetto Ricezione Ritardo di rete variabile (jitter) Ritardo di riproduzione riproduzione del video a tasso costante buffered data trasmissione video con tasso costante tempo 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 • 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’. packets loss packets generated packets received playout schedule p' - r playout schedule p-r time r p p' Ritardo di riproduzione adattativo 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-esimo pacchetto. Questa stima è ricavata dalle marcature temporali come segue: d i (1 u )d i 1 u( ri ti ) dove u è una costante (es., u = 0,01). Ritardo di riproduzione adattativo Vi, = stima della deviazione media dal ritardo medio stimato: vi (1 u )vi 1 u | ri ti d i | 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: pi ti d i Kvi dove K è una costante positiva. Il punto di riproduzione per ogni pacchetto successivo è calcolato come 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 UDP Le librerie RTP forniscono un’interfaccia a livello di trasporto che estende UDP: 32 bit Source port # Destination port # Lenght Checksum (opt.) V P X C C M PType Sequence number Timestamp Synchronization source (SSRC) identifier Possible header extension Payload UDP header 8B RTP header 12 B Intestazione dei pacchetti RTP 0 V 2 P 3 4 X 8 9 CC M 16 PT 24 Sequence Number Timestamp SSRC CSRC_1 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 RTP PT - 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 è incrementato di 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 0 8 16 Defined by profile 24 31 Lenght header extension …….. 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. Protocollo di controllo di RTP (RTCP) RTP control protocol Le statistiche includono il (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 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. Che comunicano statistiche utili all’applicazione. 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 multicast utilizzato 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 quando il 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 ([email protected]); 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 prefix 32 bit SR o RR Additional RRs SDES (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 RTCP Problema !!! 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 varia all’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 Il tasso ridotto è equamente traffico al 5% della ripartito tra i riceventi: larghezza di banda della Dati R riceventi, ciascuno di sessione. essi può trasmettere a una Esempio: frequenza di 75/R kbps. Se il trasmittente sta La frequenza del mittente sarà inviando un video a 2 Mbps, di 25 kbps. il 5% corrisponde a 100 I partecipanti determinano il Kbps. periodo di trasmissione del Il protocollo ripartisce pacchetto RTCP calcolandone quindi equamente il 75% del dinamicamente la dimensione tasso ridotto tra i riceventi media e dividendola per il e assegna il restante 25% tasso di trasmissione al trasmittente. 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 0.75 x 0.05 x larghezza banda sessione (dim. media pacchetto RTCP) 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 Bob Alice 167.180.112.24 INVITE bob @193.64.2 10.89 c=IN IP4 16 7.180.112.2 4 m=audio 38 060 RTP/A VP 0 193.64.210.89 port 5060 port 5060 Bob's terminal rings 200 OK .210.89 c=IN IP4 193.64 RTP/AVP 3 3 m=audio 4875 ACK port 5060 Law audio time • 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 port 38060 GSM • 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 ). port 48753 time • Di default, il numero di porta di SIP è 5060. Esempio di un messaggio SIP INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP 167.180.112.24 From: sip:[email protected] To: sip:[email protected] Call-ID: [email protected] Content-Type: application/sdp Content-Length: 885 c=IN IP4 167.180.112.24 m=audio 38060 RTP/AVP 0 • Qui non si usa l’indirizzo IP di Bob, ma il suo indirizzo SIP sip:[email protected] • Alice invia e riceve messaggi SIP usando il numero di porta di default 5060. Note: Assomiglia ai messaggi HTTP. sdp = session description protocol – RFC 2327 Call-ID è unico per ogni chiamata. Traduzione dei nomi e localizzazione degli utenti Il chiamante ha solo il nome o l’indirizzo email 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 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: REGISTER sip:domain.com SIP/2.0 Via: SIP/2.0/UDP 193.64.210.89 From: sip:[email protected] To: sip:[email protected] Expires: 3600 Messagi di refresh ogni 3600 secondi Esempio Procedura seguita da [email protected] per avviare una sessione vocale IP con [email protected] SIP registrar upenn.edu SIP registrar eurecom.fr 2 SIP proxy umass.edu 3 4 (1) Jim invia un messaggio INVITE al proxy SIP 1 5 7 di umass. (2) Questo fa una 8 6 ricerca e quindi rilancia il Messaggio al server di 9 registrazione. (3) dato che SIP client 197.87.54.21 SIP client [email protected] non è 217.123.56.89 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. 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 di origine in Nord America Nodo di distribuzione CDN Server CDN in Sud America Server CDN in Europa Server CDN in 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 CDN in Europa CDN - Esempio 1 Richiesta HTTP per www.foo.com/sports/sports.html Server di origine 2 3 Richiesta DNS per www.cdn.com Server DNS di competenza della CDN Richiesta HTTP per www.cdn.com/www.foo.com/sports/ruth.gif Server CDN più vicino Server di origine (www.foo.com) Provvede a diffondere l’oggetto base HTML sostituisce: http://www.foo.com/sports.ruth.gif con http://www.cdn.com/www.foo.com/sports/ruth.gif 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 servizio nelle 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. Principio 1 La marcatura dei pacchetti consente ai router di distinguerli in base alla loro classe di traffico. 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) Principio 2 È auspicabile che ciascun flusso sia isolato, in modo che l’uno non subisca gli effetti negativi derivati dal comportamento non conforme degli altri. 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 Principio 3 È auspicabile che l’utilizzo delle risorse sia quanto più efficiente possibile anche in presenza di isolamento dei flussi. Principi per fornire garanzie di QoS (segue) Assioma: è impossibile supportare richieste di traffico superiore alla capacità del collegamento Principio 4 È 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. 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 scheduling Accodamento 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. Criteri nelle procedure di monitoraggio Leaky bucket (secchio bucato): meccanismo per monitorare il rispetto dei limiti imposto a un flusso di pacchetti. BTS rs 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 LB BTS LB Ps rs BTS rs Ps Dual Leaky-Bucket b c BTS rs Ps c BTS b Ps rs Ps b BTS rs Ps c Multiplexing DLB1 B C DLB2 ... Es. Fair-Share b DLBk C B c b c Capacità Equivalente e Banda Equivalente b Ps c BTS b Ps rs BTS Fair-Share PS BTS c0 Dmax ( PS rS ) BTS B Dmax C C B nmax c0 b0 oppure b0 C B c b b0 Dmax c0 C B c b b Dmax c Max delay rs c0 Ps c b Dmax c c0 PS BTS Dmax ( PS rS ) BTS b0 Dmax c0 B C nmax min , b0 c0 B tipicamente Dmax C Criteri nelle procedure di monitoraggio arriving token rate, r traffic bucket size, b per-flow rate, R WFQ D = b/R max 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 classica architettura 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. richiesta/ risposta Meccanismi attuativi di QoS (es., WFQ) Advanced IP Architecture Real Time Applications RSVP RTP/RTCP Elastic Applications UDP IPv4/IPv6 Underlying Data Link Technologies TCP 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 con requisiti sul ritardo meno stringenti Controlled Load fornisce prestazioni simili a quelle ottenibili mediante 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 coinvolge trasmsttitore, ricevitore e router del percorso di rete RSVP usa stati soft: • Gli stati path e reservation immagazzinati nei router scadono dopo in certo intervallo di tempo, quindi se devono essere mantenuto occorre confermarli (refresh) periodicamente; il refresh è realizzato dagli host Procedure RSVP :Unicast Reservation 1st step: invio del messaggio PATH downstream PATH RSVP Enabled Host (SND) RSVP Router RSVP Router RSVP Enabled Host (RCV) 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, min MTU) • 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) RSVP Procedures:Unicast Reservation 2nd step: messaggio RESV inviato indietro (upstream) RESV RSVP Enabled Host (SND) RSVP Router RSVP Router RSVP Enabled Host (RCV) 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 e Packet 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 Problemi di Scalabilità di RSVP Esempio: La codifica ADPCM genera flussi vocali di 32 kb/s. Senza considerare altri overhead, una singola interfaccia OC-12 (622 Mb/s) nel backbone dovrebbe gestire 20000 flussi, ossia: • il packet scheduler deve poter gestire 20000 code • 20000 stati devono essere confermati periodicamente Le applicazioni punto-punto narrowband (come la telefonia IP) implicherebbero un elevato overhead di elaborazione nei router una notevole quantità di traffico di segnalazione per i refresh. Problemi di Scalabilità di RSVP Soluzioni: • Aggregazione dei flussi • Limitare l’uso di RSVP limited alle reti IP di accesso • Approccio backbone Differentiated Services (DiffServ) nel 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 The real question is to choose which packets shall be dropped. The first definition of differential service is something like "not mine.” -- Christian Huitema DiffServ fornisce la possibilità di specificare la priorità relativa fra i pacchetti Alcuni dati sono piu’ “importanti” di altri Servizi migliori a pagamento Obiettivi DS Possibilità di realizzare tariffazione differenziata per servizi differenziati Introduzione di tecniche leggere e scalabili per differenziare i servizi di rete nel backbone Assenza di stati e/o segnalazione per flusso Evoluzione encrementale Realizzazione di un nucleo semplice iniziale, da espandere in futuro se necessario Architettura Diffserv Router periferico: r marking scheduling 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. b .. . Classificazione e condizionamento del traffico Meter Classifier Marker Shaper/ Dropper Campo ToS nell’intestazione IP Historical TOS field (‘81) Precedence 011 111 - Network Control 110 - Internetwork Control010 001 101 - CRITIC/ECP 000 100 - Flash Override - Flash Immediate Priority Routine 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 | | | | | | | | +-----+-----+-----+-----+-----+-----+-----+-----+ <RFC-791> 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) DS interior node DS boundary DS boundary node 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) 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 dinamico Admission Control Server Host R R ED RSVP based access networks ED DS-R ED DS-R R ED R ED Diff-serv cloud ED R R ED: Edge Device DS-R Diff-Serv Router R: RSVP capable router User flows SACP protocol RSVP relationship 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 Drop if congested Uncongested Congested Assured Service 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 Drop always Fixed Bandwidth 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 Premium Service Token Bucket Wait for token Packet Input Set P-bit Packet Output Data Queue Assured Service Packet Input Token Bucket No token Test if token Token Set A-bit Packet Output Data Queue Funzionalità del Two-bit Internal Router High Priority Queue Packets In P-bit set? Yes No Packets Out Low Priority Queue If A-bit set, a_cnt++ If A-bit set, a_cnt- - RIO In/Out Queue Management Regione DiffServ DS domain “A” DS domain “B” User <-SLA-> <-SLA-> 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) 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’è? Ci sono molto modi per andare da A a B: •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…” 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 TURN RIGHT USE LANE#2 LANE#1 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). IP Router Control: MPLS Control: IP Router Software IP Router Software Forwarding: Forwarding: Longest-match Lookup Label Swapping ATM Switch Control: ATM Forum Software Forwarding: Label Swapping 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 MPLS 1a. 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 4. L’LER rimuove le label dai pacchetti uscenti e li inoltra IP IP 2. L’ Ingress LER riceve i pacchetti e li etichetta 3. L’LSR inoltra i pacchetti e sostituisce le label 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 Impossibile v isualizzare l'immagine. La memoria del computer potrebbe essere insufficiente per aprire l'immagine oppure l'immagine potrebbe essere danneggiata. Riav v iare il computer e aprire di nuov o il file. Se v iene v isualizzata di nuov o la x rossa, potrebbe essere necessario eliminare l'immagine e inserirla di nuov o. IP IP IP Forwarding #L1 Impossibile v isualizzare l'immagine. La memoria del computer potrebbe essere insufficiente per aprire l'immagine oppure l'immagine potrebbe essere danneggiata. Riav v iare il computer e aprire di nuov o il file. Se v iene v isualizzata di nuov o la x rossa, potrebbe essere necessario eliminare l'immagine e inserirla di nuov o. IP #L2 LABEL SWITCHING IP #L3 IP IP Forwarding Forwarding Equivalence Class LSR LER LSP LSR Impossibile v isualizzare l'immagine. La memoria del computer potrebbe essere insufficiente per aprire l'immagine oppure l'immagine potrebbe essere danneggiata. Riav v iare il computer e aprire di nuov o il file. Se v iene v isualizzata di nuov o la x rossa, potrebbe essere necessario eliminare l'immagine e inserirla di nuov o. LER Impossibile v isualizzare l'immagine. La memoria del computer potrebbe essere insufficiente per aprire l'immagine oppure l'immagine potrebbe essere danneggiata. Riav v iare il computer e aprire di nuov o il file. Se v iene v isualizzata di nuov o la x rossa, potrebbe essere necessario eliminare l'immagine e inserirla di nuov o. IP1 IP1 IP1 #L1 IP1 #L2 IP1 #L3 IP2 #L1 IP2 #L2 IP2 #L3 IP2 IP2 I pacchetti sono destinati a doverso prefissi di rete, ma possono essere mappati su un percorso comune. • 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 MPLS FA USO DI IP STANDARD D est 4 7 .1 4 7 .2 4 7 .3 D est 4 7 .1 4 7 .2 4 7 .3 O ut 1 2 3 O ut 1 2 3 1 47.1 3 1 D est 4 7 .1 4 7 .2 4 7 .3 2 3 O ut 1 2 3 2 1 47.2 47.3 3 2 • Destination based forwarding tables as built by OSPF, IS-IS, RIP, etc. L’ IP FORWARDING E’ USATO COME CONTROLLO HOPBY-HOP D est 4 7 .1 4 7 .2 4 7 .3 D est 4 7 .1 4 7 .2 4 7 .3 O ut 1 2 3 1 47.1 1 D est 4 7 .1 4 7 .2 4 7 .3 O ut 1 2 3 IP 47.1.1.1 2 IP 47.1.1.1 3 O ut 1 2 3 2 IP 47.1.1.1 1 47.2 47.3 3 2 IP 47.1.1.1 MPLS Label Distribution Intf Label Dest Intf Label In In Out Out 3 0.50 47.1 1 0.40 Intf In 3 Label Dest Intf In Out 0.40 47.1 1 1 Request: 47.1 3 Intf Dest Intf Label In Out Out 3 47.1 1 0.50 3 2 1 1 47.3 3 47.1 Mapping: 0.40 2 47.2 2 Label Switched Path (LSP) Intf Label Dest Intf Label In In Out Out 3 0.50 47.1 1 0.40 Intf Dest Intf Label In Out Out 3 47.1 1 0.50 2 2 47.2 2 IP 47.1.1.1 3 1 47.3 3 Label Dest Intf In Out 0.40 47.1 1 IP 47.1.1.1 1 47.1 3 1 Intf In 3 EXPLICITLY ROUTED-LSP Intf Label Dest Intf Label In In Out Out 3 0.50 47.1 1 0.40 I n tf In 3 3 D est 4 7 .1 . 1 4 7 .1 In t f O ut 2 1 Label O ut 1 .3 3 0 .5 0 3 1 47.3 3 2 2 47.2 2 IP 47.1.1.1 Label Dest Intf In Out 0.40 47.1 1 IP 47.1.1.1 1 47.1 3 1 Intf In 3 Vantaggi dell’ER LSP •Flessibilità di routing per l’operatore (policybased, QoS-based), eventualmente diverso dallo shortest path •Possibilità di realizzare traffic engineering