RETI INTERNET MULTIMEDIALI. Protocolli di trasporto e applicativi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "RETI INTERNET MULTIMEDIALI. Protocolli di trasporto e applicativi"

Transcript

1 RETI INTERNET MULTIMEDIALI Protocolli di trasporto e applicativi

2 Protocolli di trasporto Protocolli end-to-end User Datagram Protocol Servizi, formati, controllo errore, porte Transmission Control Protocol Servizi, entità protocollari, formati Instaurazione della connessione Scelta del numero di sequenza Abbattimento della connessione Stima del time-out di ri-trasmissione Controllo di flusso a finestra Controllo della congestione

3 Protocolli end-to-end I sistemi terminali o host Conoscono le applicazioni Spesso conoscono la propria esigenza di capacità di rete in funzione delle applicazioni Non conoscono la capacità di rete effettivamente disponibile Non sono consapevoli della competizione nell uso delle risorse di rete I protocolli end-to-end interessano gli host e non i router ed arricchiscono il servizio offerto dallo strato di rete del modello OSI Il livello di trasporto è il primo livello end-to-end (livello 4 del modello OSI)

4 Livello di trasporto Application Presentation Session Transport Network Link Physical layer-to-layer communication Peer-layer communication Router Router Network Network Link Link Physical Physical Application Presentation Session Transport Network Link Physical

5 Due protocolli di trasporto principali User Datagram Protocol (UDP) Trasporto inaffidabile Il valore aggiunto al servizio di rete non include: garanzie sulla consegna dei dati al destinatario meccanismi espliciti per sopperire alle carenze del servizio di rete dal punto di vista dell affidabilità del trasporto dei dati e2e Transmission Control Protocol (TCP) Trasporto affidabile La protocol data unit del livello di trasporto Internet TCP si chiama segmento

6 Incapsulamento Application Message TCP Segment TCP hdr MSS TCP data IP Packet IP hdr 20 bytes IP data Ethernet Frame Ethernet 20 bytes Ethernet data 14 bytes MTU 1500 bytes MSS: Maximum Segment Size; MTU: Maximum Transfer Unit 4 bytes

7 User Datagram Protocol RFC 768 Offre un servizio connectionless L invio di dati in rete non è preceduto dalla fase di apertura di una connessione Orientato al messaggio Conserva i confini della PDU di trasporto Privo di stato Trasmettitore e ricevitore non mantengono alcuno stato per scambi di dati basati su UDP Trasporto inaffidabile Non offre: Rilevamento di perdita o duplicazione di dati Ri-trasmissione dei dati persi Consegna in sequenza Controllo di flusso

8 Servizi offerti da UDP Multiplazione di flussi di pacchetti da/verso più applicazioni contemporaneamente attive in un host Rilevamento errore opzionale Incluso, rilevamento degli errori di consegna grazie all impiego di uno pseudoheader nella fase di calcolo del checksum UDP è adatto ad offrire il servizio di trasporto ad applicazioni: orientate alle transazioni (gestione: SNMP, naming service: DNS, file transfer elementare: TFTP) tolleranti rispetto alla perdita ma sensibili alla quantità di dati trasferita nell unità di tempo ed al ritardo (streaming audio e video, voce: RTSP, RTP) B1 App UDP B2 App

9 Header del segmento UDP SOURCE PORT (16 bit): porta del processo applicativo che invia i dati DESTINATION PORT (16 bit): porta del processo applicativo destinatario dei dati MESSAGE LENGTH (16 bit): indica, in numero di byte, la lunghezza del pacchetto UDP, incluso header UDP CHECKSUM (16 bit): campo di controllo dell errore opzionale (tutti 0 se non usato) IP Datagram UDP Segment IP Header UDP Header UDP Data 20 bytes 8 bytes

10 Formato del segmento UDP 16-bit Source Port 16-bit UDP Length 16-bit Destination Port 16-bit UDP Checksum (opt) 8 Bytes Data (if any) IP Header UDP Header UDP Data IP Header UDP Header IP Pesudo-Header UDP Data

11 Controllo dell errore Il mittente: Considera il segmento UDP con appeso lo pseudoheader come una sequenza di parole di 16bit (appendo eventuale padding) Inserisce tutti 0 nel checksum Somma le parole con aritmetica in complemento a 1 Inserisce il risultato del complemento a 1 della somma nel checksum Il destinatario: Riceve il segmento UDP e, dopo aver aggiunto lo pseudoheader, opera la somma in complemento a 1 delle parole di 16 bit Se il risultato è tutti 1, la verifica del checksum è OK In caso contrario, la verifica del checksum è NOK: Rilevato errore o consegna errata

12 Verifica checksum

13 Pseudoheader 32-bit Source IP address 32-bit Destination IP address Zero Protocol UDP 16-bit UDP Length 16-bit Source Port 16-bit UDP Length 16-bit Destination Port 16-bit UDP Checksum (opt) Data (if any) 0100 Possible odd byte PAD Version (4 bits) Header Length Time to Live (8 bits) TOS (8 bits) (4 bits) Identification (16 bits) Total Length (16 bits) Flags (3) Fragment Offset (13 bits) Protocol (8 bits) 1=ICMP, 6=TCP, Header Checksum (16 bits) 17=UDP Source IP Address (32 bits) Destination IP Address (32 bits) Options (if any) Padding 20 byte

14 Rilevo destinazione errata Usa UDP come protocollo Host destinazione IP , usata nel computo del checksum UDP Router Lo strato IP compromette l indirizzo di destinazione IP e lo trasforma in Il pacchetto IP arriva alla destinazione errata (assumiamo che esista ) Viene anche calcolato il checksum dell header IP coerentemente UDP usa lo pseudo header per fare la validazione a livello trasporto Transport Layer Lo strato IP valida il checksum dell header IP Non viene validato il checksum ( in quanto era stato calcolato con l indirizzo di destinazione IP ) Messaggio UDP scartato Il checksum ricevuto non corrisponde a quello calcolato usando lo pseudoheader Scarto messaggio UDP

15 Porte standard UDP

16 Transmission Control Protocol RFCs: 793, 1122, 1323, 2018, 2581 Servizio end-to-end orientato alla connessione Orientato al flusso di byte Garantisce la consegna sequenziale il recupero dei dati persi o corrotti l eliminazione dei duplicati Offre la multiplazione di più flussi contemporanei che interessano lo stesso host Trasmissione full duplex Offre funzioni per trasmissioni privilegiate

17 TCP è orientato alla connessione TCP offre un servizio orientato alla connessione creando un associazione tra host sorgente e host destinatario Poiché lo strato di rete IP è connectionless, non vi è traccia della connessione nei nodi di rete User User Connessione end-to-end TCP IP TCP IP Nessuna connessione

18 Meccanismi del TCP Instaurazione della connessione Scelta del numero di sequenza Abbattimento della connessione Stima del time-out di ritrasmissione Controllo di flusso a finestra

19 Apertura della connessione L entità protocollare TCP comunica con: Il processo applicativo locale per stabilire:» Tipo di connessione» Parametri del trasferimento in rete L entità paritetica corrispondente sull host remoto per:» Assicurarsi che siano disponibili ed allocate risorse» Confermare che la richiesta di connessione sia mutuamente accettata» Identificare le porte cui associare i dati» Veicolare i parametri del trasferimento

20 Handshake a tre vie Il processo applicativo invia una primitiva Open all entità TCP locale L entità TCP locale risponde con una primitiva Open ID ed invia un comando di sincronizzazione (SYN) all entità paritetica remota e comunica il numero di sequenza iniziale prescelto L entità TCP remota risponde con un riscontro (SYN, ACK) e sceglie e comunica il proprio numero di sequenza iniziale L entità TCP locale invia il riscontro (ACK) dell avvenuta ricezione della disponibilità ad aprire la connessione

21 Handshake a tre vie SYN 1742: Richiedo connessione su porta 17 Usero 1742 come numero di sequenza iniziale TCP su client SYN 2856,ACK 1743: Ok, ricevo che il tuo numero di sequenza iniziale è Userò 2856 come mio numero di sequenza iniziale TCP su server ACK 2857: Ok, ho ricevuto che il tuo numero di sequenza iniziale è Scambio dati susseguente

22 Vantaggi dell handshake a tre vie Previene le false connessioni Rileva riscontri di richiesta di apertura connessione ritardati o duplicati Posso includere dati nel terzo messaggio di apertura della connessione

23 Abbattimento graceful Una delle due applicazioni in comunicazione passa una primitiva CLOSE all entità TCP locale L entità TCP informa l entità protocollare corrispondente e svuota la coda di trasmissione L entità remota informa il processo applicativo e trasmette i dati accodati Viene riscontrata la richiesta di abbattimento non appena non vi sono più dati accodati Non appena l entità che ha richiesto l abbattimento riceve il riscontro, passa una primitiva TERMINATE al processo applicativo locale L entità locale invia un riscontro all entità remota e rilascia le risorse L entità remota riceve il riscontro e passa una primitiva TERMINATE al processo applicativo corrispondente

24 Esempio abbattimento FIN 1755: Ho terminato i dati da trasmettere e chiedo l abbattimento della connessione. Please acknowledge. TCP su client ACK 1756: Ok, non attendo più dati. FIN 2869: Ho terminato i dati da trasmettere, chiedo l abbattimento della connessione. Please acknowledge. TCP su server ACK 2870: Ok, non attendo più dati

25 Chiusura abrupta della connessione Cause» Chiusura brutale per esaurimento risorse» Scade il give-up timer» Iniziativa del processo applicativo Non si accettano ulteriori dati sulla connessione L entità protocollare TCP usa la primitiva ABORT per informare il processo applicativo

26 Connection management BEGIN/socket() Server Passive Open bind(),listen(),accept() CLOSED Close() Client Active Open connect() send SYN rcv SYN send SYN,ACK LISTEN Active Open send SYN Close() send FIN SYN-RCVD rcv ACK of SYN Close() send FIN rcv RST ESTABLISHED rcv SYN send SYN,ACK rcv SYN,ACK send ACK SYN-SENT Close() rcv ACK FIN-WAIT-1 FIN-WAIT-2 rcv FIN send ACK rcv FIN,ACK send ACK CLOSING rcv ACK rcv FIN send ACK Close() send FIN CLOSE-WAIT LAST-ACK rcv ACK rcv FIN send ACK TIME-WAIT timer ~ 2 min

27 Formato del segmento TCP Source port (16) Destination port (16) Sequence number (32) Header length (4) Acknowledgement number (32) Reserved (6) Flags (6) Window (16) Checksum (16) Urgent Pointer (16) Options (0 or 32 if any) 20 Bytes Data (varies)

28 Header del segmento TCP SOURCE PORT (16 bit): porta sull host sorgente DESTINATION PORT (16 bit): porta sull host destinatario SEQUENCE NUMBER (16 bit): numero del primo byte nel segmento o numero di sequenza iniziale usato per una connessione ACKNOWLEDGMENT NO. (32 bit): numero di sequenza del prossimo byte che l host si attende di ricevere HEADER LENGTH (4 bit): numero di parole di 32-bit che compongono l header RESERVED (6 bit): riservati ad usi futuri FLAGS (6 bit): ognuno dei sei bit ha un significato particolare se posto ad 1 WINDOW (16 bit): numero massimo di byte che l host è disposto a ricevere CHECKSUM (16 bit): campo di rilevamento dell errore URGENT POINTER (16 bit): punta all ultimo byte della porzione dei dati contenenti dati urgenti (possono trasgredire i limiti dei controlli di flusso)

29 FLAG URG il segmento contiene anche dati urgenti ACK il segmento contiene un riscontro PHS funzione di PUSH (i dati devono essere trasmessi o passati allo strato applicativo ricevente immediatamente) RST messaggio di reset di una connessione SYN sincronizzazione dei numeri di sequenza e dei parametri per una connessione FIN il mittente non ha ulteriori dati da inviare e chiede l abbattimento della connessione

30 Header TCP evoluto

31 Opzioni del TCP Opzione Maximum Segment Size (MSS): Dimensione massima del segmento, scelta in modo da evitare la frammentazione a livello IP In fase di instaurazione della connessione, ogni entità esplicita nell opzione Maximum Segment Size la MSS gradita (default =536 byte) Il valore di MSS gradito è determinato in funzione della Maximum Transmission Unit delle reti fisiche interposte tra sorgente e destinazione Opzione Window scaling Attraverso l applicazione di un fattore di scala consente di ampliare la dimensione delle finestre Il fattore di scala indica la dimensione dello shift da applicare al numero di 16 bit che rappresenta in byte la finestra W Window scale: Window = W 2 Scale (W finestra in byte)

32 Opzioni del TCP End of option list kind =0 No Operation kind =1 2 bytes Max Segment Size kind =2 len=4 Max Seg Size Window Scale Factor kind =3 len=3 shift count 1 byte Timestamp kind =8 len=10 timestamp value timestamp echo reply 1 byte 1 byte 4 bytes 4 bytes

33 Controllo dell errore in TCP Controllo dell errore obbligatorio su intestazione e campo dati del segmento TCP per UDP il controllo è opzionale! IP ha un controllo dell errore limitato all header I segmenti in cui si rilevano errori vengono eliminati e quindi non viene inviato riscontro L assenza di riscontro provoca la ritrasmissione, trascorso un dato time-out Il controllo dell errore è basato sul calcolo e sulla verifica del campo checksum, in modo analogo all UDP

34 Ripristino sequenza e scarto duplicati Basati sul numero di sequenza dei segmenti ricevuti L entità TCP ricevente memorizza i segmenti pervenuti fuori sequenza e ne ripristina l ordine Analogamente scarta i segmenti pervenuti in multipla copia TCP TCP IP IP

35 Porte standard TCP

36 Numerazione Ogni byte nel campo dati di un segmento TCP ha un numero di sequenza La duplicazione dei numeri di sequenza è scongiurata attraverso una opportuna scelta del numero iniziale e un tempo di riciclo ampio I numeri di sequenza sono un elemento cardine del ripristino della sequenza, del riscontro dei dati ricevuti, della ritrasmissione e del controllo di flusso Il riscontro TCP indica il prossimo byte che ci si attende di ricevere per proseguire una sequenza ininterrotta (ack cumulativo)

37 Initial sequence number (ISN) La scelta del numero di sequenza iniziale non è indifferente in quanto ha l obiettivo di evitare che segmenti in forte ritardo vengano ricevuti creando ambiguità Si usa un orologio locale per selezionare l ISN in modo pseudocasuale, con l avvertenza che il wraparound dell orologio (ossia il ritorno sugli stessi valori) sia più grande del tempo massimo di vita del segmento Si impiega un contatore di 32 bit incrementato ogni 4 microsecondi Il rischio di ricopertura dei numeri di sequenza si ha nelle reti a larga banda in cui rapidamente avanzano i numeri di sequenza

38 Tempo di wraparound dei numeri di sequenza Correndo su 32 bit, il tempo di ricopertura del numero di sequenza dipende dalla velocità di trasmissione Per ovviare al problema il ricevitore considera il timestamp come una discriminante: scarto dati fuori-sequenza sia sulla base del numero di sequenza che del timestamp Bandwidth T1 (1.5Mbps) Ethernet (10Mbps) T3 (45Mbps) FDDI (100Mbps) STS-3 (155Mbps) STS-12 (622Mbps) STS-24 (1.2Gbps) Time to Wraparound 6.4 hours 57 minutes 13 minutes 6 minutes 4 minutes 55 seconds 28 seconds

39 Principi del trasporto affidabile Ogni volta che si trasmette un segmento se ne tiene copia in un buffer e si avvia un timer Quando il destinatario riceve correttamente un segmento, risponde con un riscontro o acknowledgment (ack) in cui indica il numero di sequenza del prossimo byte atteso al ricevente Se il mittente non riceve il riscontro dei byte contenuti nel segmento entro un determinato tempo limite, tali dati vengono ritrasmessi Buffers, Ack s, Retransmissions, Timeouts =BART

40 Rilevamento e recupero dell errore Rilevamento di segmenti affetti da errore Copertura su intestazione TCP e campo dati Utilizzo della tecnica di checksum usata per l IP (somma complemento a 1 di parole di 16 bit) Introduzione dello pseudoheader atto ad accertare se la consegna è avvenuta ad una destinazione erronea Il rilevamento dell errore determina lo scarto del segmento senza che vi siano ulteriori notifiche esplicite né all entità paritetica né all entità protocollare di livello superiore Ovviamente il ricevente che opera lo scarto non invia notifica di riscontro per il segmento corrotto La ritrasmissione del segmento scartato, in quanto corrotto, avviene per lo scadere del timeout di ritrasmissione senza che sia pervenuto il riscontro esplicito del segmento

41 T imeout T imeout T imeout T imeout T imeout T ime T imeout T imeout Casistiche di comportamento Sender Receiver Sender Receiver (a) (c) Sender Receiver Sender Receiver (b) (d)

42 timeout Seq=100 timeout Seq=92 timeout Esempi di ritrasmissione Host A Host B Host A Host B X loss time lost ACK scenario time premature timeout, cumulative ACKs

43 Strategia di trasmissione receive window (advertised by receiver) usable window sent and acknowledged sent and not ACKed can send ASAP can't send until window moves Size N

44 Sliding window Il controllo di flusso opera secondo il principio della finestra scorrevole (sliding window) I numeri di sequenza esplicitati dagli ACKs indicano il numero di sequenza del prossimo byte che il ricevente si attende La ricezione di un ACK informa il trasmettitore della possibilità di trasmettere ulteriori dati, compatibilmente con la dimensione della receive window Il meccanismo del windowing opera a livello di byte e non di segmento (usando i sequence number espressi negli ACK per regolare l evoluzione della trasmissione)

45 Controllo di flusso Il TCP ricevente è responsabile del flusso di dati in ingresso Esso regola la quantità di dati che il trasmettitore gli può inviare attraverso la comunicazione dello spazio di memoria disponibile in ricezione e l invio dei riscontri Il ricevitore decide quanti dati è disposto a ricevere, e lo comunica al trasmettitore Durante la connection setup, ogni partner specifica la dimensione del buffer disponibile al ricevitore (receive window), che è tipicamente un multiplo intero di MSS Per ogni connessione attiva, ogni volta che il ricevente invia un riscontro, esplicita la dimensione della finestra di ricezione disponibile (receive window) La finestra di trasmissione (transmit window) è la parte inutilizzata del buffer di trasmissione, e indica il numero di byte che possono essere trasmessi senza attendere ulteriori riscontri La quantità di dati che il trasmettitore è autorizzato a trasmettere è limitata dalla dimensione della receive window

46 Il punto di vista del trasmettitore e del ricevitore Sending application Receiving application TCP TCP LastByteWritten LastByteRead LastByteAcked LastByteSent NextByteExpected LastByteRcvd Sending side LastByteAcked < = LastByteSent LastByteSent < = LastByteWritten buffer bytes between LastByteAcked and LastByteWritten Receiving side LastByteRead < NextByteExpected NextByteExpected < = LastByteRcvd +1 buffer bytes between NextByteRead and LastByteRcvd

47 Le regole del controllo di flusso Sender buffer size: MaxSendBuffer Receive buffer size: MaxRcvBuffer Receiving side LastByteRcvd - NextByteRead <= MaxRcvBuffer ReceiveWindow = MaxRcvBuffer - (LastByteRcvd - NextByteRead) Sending side LastByteSent - LastByteAcked <= ReceiveWindow EffectiveWindow = ReceiveWindow - (LastByteSent - LastByteAcked) LastByteWritten - LastByteAcked <= MaxSendBuffer block sender if (LastByteWritten - LastByteAcked) + y > MaxSendBuffer

48 Dimensione della finestra La dimensione della finestra ha un effetto importante sulle prestazioni di una connessione TCP Come scegliere la dimensione della finestra all apertura della connessione? Come aggiornarla per ottenere prestazioni ottimali? Una finestra eccessivamente piccola può determinare spreco di risorse (mentre tornano i riscontri il trasmettitore è inattivo) Una finestra eccessivamente grande può determinare il sovraccarico dei router o del destinatario Il valore di default, usato in fase di apertura della connessione è di 4096 bytes La dimensione massima della finestra (Maximum window size) è bytes (avendo 16 bit nel campo dell header per la finestra)

49 Finestra e prestazioni Round-trip time Round-trip time Host A Window Size??? Window Size Window Size Host B ACK ACK ACK (1) RTT > Window size (2) RTT = Window size Window size : tempo per trasmettere la dimensione della finestra

50 Keep the pipe full Il massimo valore della finestra utilizzabile deve consentire di raggiungere la saturazione della rete La maximum window size con 16 bit (64KB= byte) è limitante in alcuni casi Bandwidth T1 (1.5Mbps) Ethernet (10Mbps) T3 (45Mbps) FDDI (100Mbps) STS-3 (155Mbps) STS-12 (622Mbps) STS-24 (1.2Gbps) Bandwidth-Delay Product (RTT=100msec) 18 KB 122 KB 549 KB 1.2 MB 1.8 MB 7.4 MB 14.3 MB

51 Windowing in reti LFN Long Fat Pipe Networks (LFN): esempio reti via satellite Necessitano di finestre molto ampie per non incorrere in spreco di risorse Usano la window scale option con uno shift massimo di 14 Max window = L opzione è inviata solo nei segmenti SYN e SYN/ACK RFC 1323 Kind = 3 Length = 3 Scale

52 Pipelining Il mittente ammette che vi siano molteplici dati in-flight, in attesa di ricevere ack Lo spazio dei numeri di sequenza deve essere esteso Il buffering al ricevente ed al mittente assumono più rilevo

53 Sindrome della finestra sciocca Situazione degenere in cui la trasmissione risulta essere regolata in modo frammentario e altamente inefficiente Necessità di intervenire sul comportamento del ricevitore e del trasmettitore nel controllo di flusso

54 Sindrome del ricevente lento L applicazione ricevente rimuove lentamente piccole quantità di dati dal buffer di ricezione quasi pieno (per esempio, 1 byte per volta) Se il ricevitore manda al trasmettitore un aggiornamento della RCVWND per 1 byte ogni volta, il trasmettitore invierà piccoli pacchettini con un grande overhead Proposta di Clark (1982) La soluzione proposta è semplice: il ricevitore non invia aggiornamenti della RCVWND fino a che non si è rimossa una quantità significativa di dati: Il buffer di ricezione è vuoto almeno per metà Oppure nel buffer di ricezione si può accomodare un segmento MSS il ricevitore inganna al trasmettitore indicando una finestra RCWND nulla sino a che il suo buffer di ricezione non si è svuotato per metà o per una porzione almeno pari al MSS Proposta alternativa: delayed ack, ritardare l invio dei riscontri Rischio di causare ritrasmissioni inutili Necessità di limitare il massimo ritardo possibile (500ms)

55 Sindrome da trasmittente lento L applicazione trasmittente scrive piccole quantità di dati nel buffer di trasmissione vuoto (per esempio, 1 byte per volta) Se il trasmettitore manda un segmento ogni volta che è pronto 1 byte si invieranno piccoli pacchettini con un grande overhead Proposta di Nagle (1984) Il mittente invia la prima porzione di dati, anche se si tratta di 1 solo byte Per l invio di ulteriori dati il trasmittente attende che Ci siano almeno dati per trasmettere un MSS Oppure sia stato ricevuto un ACK Problemi nel caso di protocolli fortemente interattivi: es. tracking della posizione del mouse

56 Round Trip Time Combinazione di Ritardo di trasmissione dei link interposti tra un terminale e il terminale remoto Ritardo di propagazione su tutte le tratte trasmissive Ritardi di elaborazione e di accodamento in tutti i nodi sul percorso (diretto e inverso) tra un terminale e il terminale remoto

57 Stima di RTO e RTT Timeout di ritrasmissione, Retransmission Time Out ( RTO), dopo aver inviato un segmento il TCP inizializza un timer ed attende il riscontro. Se il riscontro non arriva entro il periodo di timeout RTO, il TCP ritrasmette il segmento Se il timeout è troppo breve, il trasmettitore riempirà il canale di ritrasmissioni di segmenti, ma se è troppo lungo impedisce il recupero veloce di errori Il reale ritardo di rete dipende dalle condizioni di congestione della rete, per cui fissare un valore di RTO a priori è troppo difficile e critico, perchè il timeout ottimo dipende dalle condizioni Il TCP si adatta alle condizioni reali della rete tramite gli algoritmi di Karn e Jacobson In questi algoritmi, RTO è calcolato dinamicamente misurando il tempo di andata e ritorno Round Trip Time, RTT, definito come il tempo che passa tra la trasmissione di un segmento e la ricezione del relativo riscontro Sulla base delle misure il sender TCP calcola lo Smoothed Round Trip Time (SRTT) tramite l algoritmo di Jacobson New_SRTT = (1-a) x Old_SRTT + a x Latest_RTT Con a compreso tra 0 e 1 (tipicamente 1/8)

58 Algoritmo di Jacobson E dunque New_SRTT = 7/8 x Old_SRTT + 1/8 x Latest_RTT Il timeout di ri-trasmissione è calcolato sulla base del SRTT, tenendo conto di una stima della deviazione standard di SRTT DEV = Latest_RTT - Old_SRTT e New_SDEV = 3/4 x Old_SDEV + 1/4 x DEV Infine, il retransmission timeout RTO è calcolato come RTO = SRTT + 2 x SDEV All inizio SRTT viene posto uguale a zero e SDEV = 1,5 s, e quindi il valore del timeout RTO parte da 3 s

59 Retransmission Time Out Round-trip time (RTT) Retransmission TimeOut (RTO) Host A Guard Band Estimated RTT Data1 ACK Data2 ACK Host B

60 Algoritmo di Karn La ritrasmissione avviene quando termina il timeout RTO, oppure a seguito della ricezione di messaggi di errore ICMP, es. Source Quench A seguito di una ritrasmissione è meglio passare all algoritmo di Karn, per cui ad ogni ritrasmissione non si aggiorna il calcolo di RTT e il timeout è moltiplicato per un fattore fisso: tipicamente 2 New_RTO = 2 x Old_RTO Due valori limite sono necessari il timeout cresce fino ad un valore massimo e poi si ferma New_RTO Max_RTO (es. 16 volte la stima di Jacobson) c è un limite massimo al numero di ritrasmissioni non riscontrate, una volta superato questo limite la connessione viene chiusa Number_UNACK MAx_Number_UNACK Non appena una ritrasmissione viene riscontrata, si ripassa all algoritmo di Jacobson

61 Trattamento della Congestione Utilizzando le finestre di trasmissione e di ricezione, il TCP può eseguire un controllo di flusso efficace D altra parte, questo meccanismo non è sufficiente ad evitare la congestione nella rete Per reagire alla congestione il trasmettitore mantiene una Congestion Window, CWND, e non può trasmettere più del minimo tra RCVWND e CWND SNDWND = Min {RCVWND, CWND} Il meccanismo per il trattamento della congestione nel TCP consiste dello Slow Start e del Congestion Avoidance

62 Slow Start & Congestion Avoidance La variabile SSTHRESH è mantenuta al trasmettitore per distinguere le due fasi Slow Start: CWND < SSTHRESH Congestion Avoidance: CWND > SSTHRESH La condizione CWND = SSTHRESH è una condizione di transizione, il trasmettitore può usare sia Slow Start che Congestion Avoidance All inizio, il trasmettitore fa partire la trasmissione in Slow Start inviando un segmento MSS (per esempio 536 byte), e la finestra di congestione CWND e posta a 1 MSS Quando il trasmettitore riceve l ACK del segmento, CWND viene incrementata di 1 MSS, e cioè raddoppiata; il trasmettitore emette due segmenti e ai successivi ACK, la finestra CWND viene incrementata di altri 2 MSS, e così via: la finestra di congestione raddoppia ad ogni RTT Pertanto, sul canale la trasmissione è a burst, con lunghezza dei burst che incrementa esponenzialmente Quando la dimensione della finestra è uguale al prodotto Banda x RTT, allora la trasmissione è continua

63 Slow start 1 RTT cwnd sender 1 2 data packet ACK receiver cwnd cwnd + 1 MSS (for each ACK)

64 Congestion Avoidance Lo Slow Start continua fino a che CWND diventa grande come SSTHRESH, (valore tipico byte), valore che determina il passaggio alla fase di Congestion Avoidance (CWND > SSTHRESH), durante la quale ad ogni ACK si aumenta CWND di 1/CWND, dando origine ad una crescita lineare di CWND Se scatta un timeout, o il trasmettitore riceve in messaggio ICMP particolare (es. source quench), il TCP trasmittente reagisce ponendo SSTHRESH uguale alla metà della corrente FLIGHTHSIZE, più precisamente SSTHRESH = Max {2, FLIGHTHSIZE/2} [MSS] ove FLIGHTHSIZE è il numero di byte totali inviati e non ancora riscontrati, misurati in MSS e CWND e posta a 1 [MSS] Come risultato, CWND è minore di SSTHRESH e si entra nella fase di Slow Start; il trasmettitore invia il segmento e la sua CWND è incrementata di 1 MSS ad ogni ACK Il trasmettitore trasmette tutti i segmenti a partire da quello per cui il timeout è fallito (politica go-back-n)

65 Slow start e congestion avoidance Inizia con cwnd = 1 MSS (slow start) Ad ogni ACK ricevuto incrementa cwnd cwnd cwnd + 1 MSS Crescita esponenziale di cwnd ad ogni RTT: cwnd 2 x cwnd Si passa a Congestion Avoidance quando cwnd >= ssthresh Inizia con cwnd = ssthresh Ad ogni ACK ricevuto: cwnd cwnd + (1/cwnd)*MSS Crescita lineare di cwnd ad ogni RTT: cwnd cwnd + 1 Si passa a Slow Start quando c e una perdita (e si aggiorna ssthresh)

66 Slow start and congestion avoidance Open connection CWND = 1 MSS Slow Start Congestion Avoidance Incremento Esponenziale Incrementa CWND finche CWND= SSTHRESH Cwnd = SSTHRESH Retransmission Timeout SSTHRESH = FLIGHTSIZE/2 CWND = 1 MSS Incremento Lineare Retransmission Timeout SSTHRESH = CWND/2 CWND = 1 MSS Incremento Esponenziale: CWND = CWND +1 MSS (per ogni ACK) Incremento lineare: CWND = CWND + (1 / CWND)*MSS (per ogni ACK)

67 CWND esempio di traccia cwnd Timeout AIMD Timeout AIMD ssthresh Slow Start Slow Start Slow Start Time

68 Fast Retransmit e Fast Recovery Algoritmi implementati nella versione TCP detta TCP Reno ACK duplicati = immediate Acknowledgement; se al TCP ricevente pervengono pacchetti fuori sequenza, successivi a quello atteso, esso invia immediatamente un ACK con l ACK Number contenente il segmento atteso ACK duplicati possono essere causati da perdite di pacchetti isolati I meccanismi di Fast Retrasmit e Fast Recovery cercano di recuperare velocemente queste perdite Quando si perde un pacchetto isolato, il ricevitore non può riscontrare i successivi pacchetti ricevuti correttamente e continua a richiedere il pacchetto perso al trasmettitore Il trasmettitore ritrasmetterà il pacchetto perso soltanto alla scadenza del timeout, nonostante gli ACK duplicati che gli arrivano. Allora si ricorre al Fast Retransmit

69 Fast Retransmit e Fast Recovery Fast Retransmit Alla ricezione del terzo ACK duplicato consecutivo, con lo stesso ACK Number, il trasmettitore pone SSTHRESH = Max {2, FLIGHTHSIZE/2} [MSS] CWND = SSTHRESH + 3 [MSS] e ritrasmette il pacchetto indicato dall ACK Number Fast Recovery Per ogni ulteriore ACK duplicato ricevuto la CWND viene incrementata di 1 MSS Vengono trasmessi nuovi segmenti se consentito dai valori di CWND e RWND Appena arriva un ACK che riscontra nuovi segmenti si esce dalla fase di Fast Recovery e si pone di nuovo CWND = SSTHRESH = Max {2, FLIGHTHSIZE/2} [MSS]

70 mittente destinatario PCKT 1 PCKT 2 PCKT 3 PCKT 4 PCKT 5 PCKT 6 PCKT 3 ACK 1 ACK 2 ACK 2 ACK 2 ACK 2 ACK 6 Esempio Fast Retransmit RTT

71 Fast retransmit e fast recovery cwnd Ritrasmetto dopo aver ricevuto 3 duplicate-ack Evito di attendere lunghi time-out Riduco l impiego dello slow-start In regime stazionario la CWND oscilla attorno al valore ottimale della finestra Slow Start AI/MD Fast retransmit Time

72 Fast retransmit e fast recovery Slow start threshold Congestion detected through 3 duplicate ACKs ssthresh set to half flight-size; congestion window set to ssthresh + 3 MSS; ( retransmit lost segment re-transmitted (fast ACK received for Re-transmitted Segment Congestion Window Size Slow start begins Time cwnd deflated to value of ssthresh. Fast recovery ends. Congestion avoidance begins Congestion window opens by 1 MSS for each Extra duplicate ACK received

73 Confronto

74 Fast recovery Slow Start Open connection CWND = 1 MSS Incremento Esponenziale Incrementa CWND finche CWND= SSTHRESH Cwnd = SSTHRESH Retransmission Timeout SSTHRESH = FLIGHTSIZE/2 CWND = 1 MSS Congestion Avoidance Incremento Lineare Retransmission Timeout SSTHRESH = FLIGHTSIZE/2 CWND = 1 MSS 3 DUP ACK 3 DUP ACK Fast Recovery Incremento Esponenziale Ricevuto ACK mancante CWND = CWND/2 Retransmission Timeout SSTHRESH = FLIGHTSIZE/2 CWND = 1 MSS

75 Modello del TCP Application A e.g., FTP Server e.g., FTP Client Application B CWND SSTHRESH BUFFER TR SNDWND Servizio di Rete IP BUFFER RC RCVWND RCVWND BUFFER RC SNDWND BUFFER TR TCP A TCP B CWND SSTHRESH

76 Read() and write() byte streams write() s read() s tcp segments write() s TCP sends data in these segments read() s

77 Un protocollo di trasporto addizionale Stream Control Transmission Protocol (SCTP) nuovo standard IETF per il livello di trasporto RFC4960 del 2007 (rende obsoleti RFC2960 e RFC3309) Alternativa a TCP e UDP Proposto dalla comunità di ricercatori e tecnici operanti nel settore del trasporto dei protocolli di segnalazione telefonica (telephony over IP) In grado di colmare lacune di TCP e UDP Le peculiarità del trasporto della segnalazione su IP che hanno spinto la nuova iniziativa: Messaggi di piccole dimensioni Requisito di affidabilità elevata e ritardo contenuto Applications UDP TCP SCTP IP Physical

78 Funzionalità aggiuntive di SCTP (1/6) Multi-homing (host con più interfacce di rete) Scopo: migliorare l affidabilità del trasferimento dei dati in presenza di guasti anche dell interfacce dell host In una connessione TCP si specificano <IP addr,port> sorgente e <IP addr, port> destinazione e se un host è multi-homed devo scegliere un solo indirizzo IP a ciascun capo della comunicazione Se l interfaccia associata a quell indirizzo è in avaria, la connessione non lavora Con SCTP posso aprire una connessione tra due terminazioni specificando più indirizzi e, basta almeno una interfaccia attiva per far lavorare la connessione

79 Multihoming

80 Funzionalità aggiuntive di SCTP (2/6) Multi-streaming Scopo: ridurre il ritardo L introduzione della possibilità di avere un criterio di ordinamento parziale supera il limite del TCP che pretende che i dati siano passati allo strato applicativo solo se pervenuti tutti e nell ordine con cui sono stati inviati dal mittente Head of Line (HOL) blocking in caso di perdita di dati all inizio del flusso: i dati pervenuti correttamente a destinazione ritardano se non sono pervenuti i dati che li precedono In SCTP si possono inviare contemporaneamente 64K flussi (stream) indipendenti, applicando a ciascuno un criterio di ordinamento autonomo (parziale rispetto all intero flusso)

81 Multistreaming

82 Funzionalità aggiuntive di SCTP (3/6) Conservazione dei confini dei messaggi Scopo: semplificazione della codifica delle applicazioni TCP non conserva i confini dei messaggi e quindi le operazioni di write e di read sono indipendenti SCTP conserva i confini dei messaggi e quindi le operazioni di read e write dei buffer di trasmissione e ricezione operano in modo congruente, semplificando protocolli e applicazioni

83 Funzionalità aggiuntive di SCTP (4/6) Protezione da attacchi SYN-flood Scopo: migliorare la protezione da attacchi DOS Four way handshake (4WHS) anzichè 3WHS di TCP Lo stato del socket in listen non evolve fino a quando non viene validata la connessione

84 Funzionalità aggiuntive di SCTP (5/6) Parametri impostabili (Timeout, Retrans, etc.) Scopo: più flessibilità Nel TCP la modifica dei valori di alcuni parametri richiede privilegi amministrativi e modifiche del kernel del sistema operativo SCTP consente l impostazione del valore dei parametri all atto dell apertura del socket

85 Funzionalità aggiuntive di SCTP (6/6) Consegna di dati inaffidabile/fuori-sequenza, ma con controllo della congestione Scopo: più flessibilità TCP offre controllo della congestione, ma non ammette la consegna inaffidabile/fuori-sequenza UDP offre la consegna inaffidabile/fuori-sequenza, ma non ammette controllo della congestione SCTP offre sempre il controllo della congestione, ma ammette una gamma di servizi di consegna, da affidabile a inaffidabile, da completamente in sequenza a fuori-sequenza Nella medesima connessione SCTP si possono multiplare dati con consegna affidabile e inaffidabile

86 RETI INTERNET MULTIMEDIALI Protocolli Applicativi

87 Protocolli Applicativi HyperText Transfer Protocol (HTTP) Protocolli per i servizi real-time RTP/RTCP RTSP Architetture VoIP e protocolli di segnalazione H.323 SIP HTTP streaming Telefonia su IP: H.323 e SIP WebRTC

88 HyperText Transfer Protocol Protocollo introdotto per la comunicazione tra server WWW e client WWW (browser) per l accesso a ipertesti multimediali distribuiti Protocollo stateless che usa TCP (porta 80) Connessione aperta e chiusa per ogni oggetto trasferito Uso di codifica MIME-like per offrire l indipendenza dalla rappresentazione dell informazione (testo, audio, video, )

89 WWW Client-Server Model CLIENT Browser (Firfox, Opera,IExplorer ecc..) HTML Interpreter HTTP Server SERVER FTP Server Other Servers HTTP FTP... TCP-IP Stack HTTP FTP... TCP-IP Stack

90 HTTP 1.0 Client Server connect() write() Retrieve Data From Disk close() connect() write() Retrieve Image From Disk close()

91 HTTP 1.1 connect() Client Server write() write() Retrieve Data From Disk Retrieve Image From Disk close() Persistent connection

92 Semantica del protocollo HTTP Messaggi Request Response Struttura dei messaggi Request METHOD URI HEADERS BODY Response STATUS-CODE HEADERS BODY

93 Richieste HTTP Metodi GET HEAD POST» Scarica l oggetto identificato da URI» Scarica le meta-info di un URI (es. verifica se presente in cache di un proxy)» Primitiva di invio di oggetto da browser a server Metodi diagnostici OPTIONS TRACE» Richiesta lista opzioni del server» Echo Altri metodi meno utilizzati PUT, DELETE

94 Struttura richiesta HTTP

95 Codici di stato delle risposte HTTP Successful 2xx 200 OK Redirection 3xx 301 Moved permanently 304 Not modified Client Error 4xx 400 Bad request 401 Unauthorized 404 Not found Server Error 5xx 500 Internal server error 501 Not implemented 504 Gateway time-out 505 HTTP version not supported

96 Esempio di richiesta HTTP GET /index.html HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/ jpeg, image/pjpeg, */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT) Host: hypothetical.ora.com Connection: Keep-Alive Versione Lingua preferita Host con più di un nome Connessione persistente

97 Esempio di risposta HTTP Codice stato HTTP/ OK Date: Mon, 06 Dec :54:26 GMT Greenwich Mean Time Server: Apache/1.3.6 (Unix) Last-Modified: Fri, 04 Oct :06:11 GMT Content-length: 327 Connection: close Il client si riconnetterà nel caso di più richieste Mime_version: 1.0 MIME content type Content-type: text/html Riga vuota <html><head><title>sample Homepage</title></head> <body><img src="/images/oreilly_mast.gif"> Contenuto pagina <h1>welcome</h1>hi there, this is a simple web page. Granted, it may not be as elegant as some other web pages...

98 Uso di Proxy HTTP Browser Proxy Server Miss Hit Hit Ratio (HR ) HR number of documents served from the cache number of documents served Fractional Bandwidth Savings (BT) BT number of bytes served with documents number of bytes served inthe cache

99 Protocolli per i servizi real-time: voce, audio, video I segnali voce, audio e video digitalizzati hanno requisiti di ritardo stringenti (valore assoluto e varianza), generano traffico con regolarità, sono limitatamente sensibili alle perdite (la compressione riduce la robustezza) Traffico conversazionale interattivo Le parti della sessione di comunicazione sono contestualmente presenti ed esiste una interazione che richiede tempi di risposta limitati Traffico streaming La comunicazione è asimmetrica e coinvolge una sorgente e una o più fruitori di un servizio di accesso a informazione sotto forma di flussi multimediali (es. broadcast audio o video, sia live che differito)

100 Video-streaming su Internet Si partiziona il flusso video in pacchetti Il playback inizia mentre il flusso viene scaricato (5-15 sec di ritardo) La simultaneità della delivery e del playback (con piccolo ritardo) ha alcuni vantaggi: Si riduce il ritardo di visualizzazione (non si deve attendere il completamento del download del file) Si minimizzano i requisiti di storage (si consuma il flusso progressivamente) Tuttavia si devono affrontare una serie di problemi dovuti alla variabilità del canale di comunicazione

101 Problemi del video streaming su Internet Le caratteristiche dinamiche e non note a priori della rete best-effort comportano problemi di Banda (o throughput) Si deve adattare il bitrate alla banda disponibile Ritardo (o latency) Si deve compensare la variabilità dei ritardi con un playout buffer Perdita di dati (o loss) Si deve contrastare la perdita con Forward Error Control, ritrasmissioni, error-concealment e codifica error-resilient

102 Problemi di banda nel video streaming La banda disponibile cambia col tempo e non può essere riservata (almeno con best-effort) Rate control: Stimare la banda disponibile e adattare il bitrate della sorgente in modo conseguente Rate control può essere attuato alla sorgente o al ricevente La stima della banda può essere fatta con probe di misura o con modelli (equazioni di stima)

103 Problemi di banda nel video streaming Source-based rate control: La sorgente adatta esplicitamente il video rate Si usa un feedback del ricevente per stimare la banda disponibile Il feedback contiene anche informazioni sul tasso di perdita Receiver-based rate control: Il ricevitore esplicitamente seleziona il video rate tra un numero di alternative disponibili, ad esempio Layered multicast: La sorgente codifica il video in modo scalabile (a livelli) e invia diversi livelli su diversi gruppi multicast Ogni ricevente stima la banda e si unisce al numero di gruppi multicast che consegnano livelli compatibili con la banda disponibile

104 Problemi di ritardo nel video streaming Delay jitter: Il ritardo di consegna end-to-end fluttua se si considerano i pacchetti che appartengono ad un medesimo flusso video streaming Jitter: variazione del ritardo end-to-end Per compensare il jitter si introduce un buffer al ricevitore Corrisponde ad aggiungere un offset al playout time di ogni pacchetto If (packet delay < offset) then OK Buffer packet until its playout time If (packet delay > offset) then problem Un playout buffer tipicamente introduce un offset di 5-15 sec Compensa il jitter e consente la ritrasmissione di pacchetti persi

105 Problemi di ritardo nel video streaming E importante disegnare una strategia di playout appropriata per il caso d uso Tradeoff tra ritardo di playout e perdita (pacchetti consegnati oltre la deadline) Ritardi maggiori riducono il numero di pacchetti in ritardo (e quindi persi) Ritardi inferiori aumentano il numero di pacchetti in ritardo (e quindi persi) Lo Streaming di video memorizzato può tollerare ritardi maggiori (es sec) Lo streaming real-time di video interattivo non tollera ritardi elevati (ordine di grandezza 150 ms) Il Jitter è tempo-variante L impiego di un playout delay fisso è una condizione sub-ottima L uso di un playout delay dinamico adattativo è una soluzione più valida (richiede la stima del jitter e di adattare il playout delay)

106 audio in buffer Compensazione della varianza del ritardo Trasmissione audio Ritardo di rete variabile Ricezione audio Riproduzione di audio Ritardo di playout al ricevitore tempo variable fill rate, x(t) Constant drain rate, d buffered content

107 Esempio Sender RouterA V IP Network Receiver RouterB V 20ms 20ms C B RTP Timestamp From Router A Interframe gap of 20ms A ms 80ms 20ms 20ms C B A C B A RTP Timestamp From Router A Dejitter Buffer removes Variation RTP Timestamp From Router A Variable Interframe Gap (Jitter)

108 Il ruolo dei silenzi nella comunicazione vocale Monologo 15% silenzi Conversazione telefonica 20% silenzio per tutta la conversazione 60% silenzio per ogni utente La soppressione dei silenzi riduce l esigenza di banda L emissione della sorgente risulta essere discontinua S silence ~ 15% S silence ~ 60%

109 Sincronizzazione inter-media Sincronizzo i diversi media: orchestration La sincronizzazione audio e video si chiama: lip synchronization Non necessità di sincronizzazioni spinte Una tolleranza contenuta entro ms è oltre il limite della percezione umana Net < 100 ms

110 RTP e RTCP: protocolli applicativi Per le applicazioni conversazionali real-time, IETF ha introdotto il Real Time Protocol (RTP), accompagnato dal Real Time Control Protocol (RTCP) Application Application Decoding Encoding Encoding Decoding RTP RTCP RTCP RTP UDP/IP UDP/IP

111 Real-Time Protocol RTP (RFC 3550 del 2003, rende obsoleto l RFC 1889) Protocollo applicativo per servizi real-time multimediali RTP trasporto dati RTCP (Real Time Control Protocol) Monitorare e riferire prestazioni Veicolare informazioni sui partecipanti alla sessione Servizi offerti Pacchettizzazione dei dati con identificazione del media Header RTP numerati (2 byte) Per rilevare perdite e consegne fuori sequenza Timestamp in header RTP (4 byte) Intra-media synchronization Inter-media synchronization (e.g. for lip-synch) Usa UDP come trasporto Non interviene sulla QoS di rete Data applications (FTP, HTTP) TCP IP Real Time audio or video application UDP RTP

112 Formato della PDU RTP Version 2 bit attualmente versione 2 extension 1 bit CC (CSRC Count) 4 bit) Marker 1bit Marker Può essere usato per indicare estremi di un fotogramma PType Indica il tipo di codifica usato nel payload del pacchetto Sequence number Sequenza monotona crescente (+1 per ogni RTP PDU) Padding 1 bit indica riempitivo presente Source port Length V P X CC M PType Synchronization SouRCe (SSRC) Contributing SouRCe (CSRC) 32 bits Timestamp Destination port Checksum Sequence number Synchronization source (SSRC) identifier Possible header extension: Contributing Source (CSRC) identifier [0-15] UDP Header 8 B RTP Header 12 B Timestamp Istante in cui l informazione contenuta nella PDU è stata prodotta. Diverse PDU possono avere lo stesso timestamp. Il timestamp è generato da un clock indipendente dall applicazione Payload SSRC Identificativo della sorgente che ha creato il contenuto del payload. L identificativo è scelto a caso dalla sorgente Contenuto in formato dipendente dall applicazione

113 RTP Payload Type

114 Overhead IP+UDP+RTP headers = 40 bytes (12 di RTP, 8 di UDP, 20 di IP) 64 Kbps PCM 20 ms = 160 Bytes Banda lorda = 80 Kbps IP UDP RTP audio data Kbps (G.729) 20 ms = 20 Bytes Banda lorda = 24 Kbps IP UDP RTP data 40 20

115 Compressione dell header Overhead porta a 20 byte di payload IP header 20; UDP header 8; RTP header 12 2X payload!!!!!!!! Header compression 40Bytes to 2 bytes if no UDP checksum 4 bytes if UDP checksum used Hop-by-Hop on slow links <512kbps CRTP Compressed Real-time protocol

116 Pacchetto VoIP CSRC ID: Contributing Source ID for payload RTP datagram Version, flags & CC Payload Type Sequence Number Timestamp Synchronization Source ID CSRC ID (if any) Codec Data UDP datagram Source Port Number Destination Port Number UDP length UDP checksum Data Version & header length IP packet Protocol TOS Total Length Packet ID Flags & Frag Offset TTL Header Checksum Source Address Destination Address Options (if any) Data Ethernet Frame Start of frame delimiter Length or Ethertype Inter-frame gap Preamble Destination Address Source Address Data Pad Checksum

117 Pacchetti VoIP G.729 (30ms) Clear Channel Voice 30 byte voice bundles UDP Datagram RTP Frame RTP Header Voice Payload Destination Source Length Destination Checksum RTP Header Voice Payload IP Packet Header Source UDP Header RTP Header Voice Payload G.729 (20ms) Clear Channel Voice IP Packet 20 byte voice bundles UDP Datagram Header RTP Frame RTP Header Voice Payload Destination Destination Source Length Checksum RTP Header Voice Payload Source UDP Header RTP Header Voice Payload

118 Real Time Control Protocol Protocollo di controllo usato per monitorare la qualità RTP e2e Vari tipi di PDU RTCP: SR (sender report): inviato da tutte le sorgenti attive a tutti i partecipanti Contiene: Timestamp assoluto (NTP) relativo all istante di invio; Timestamp relativo al flusso RTP in corso; Quantità di dati inviati dall inizio della sessione (Numero totale di pacchetti RTP inviati e Numero totale di byte inviati) RR (receiver report): inviato da tutti i ricevitori a tutti i partecipanti a una sessione per informare sulla qualità percepita Contiene: Sorgente ascoltata, Timestamp dell ultimo SR ricevuto, Ritardo dalla ricezione dell ultimo SR, Numero di sequenza più alto ricevuto dalla sorgente, Numero di pacchetti RTP della connessione persi, Frazione di pacchetti RTP della connessione persi, Stima del jitter dei pacchetti RTP della connessione SDES: descrizione della sorgente BYE: fine della sessione APP: application-specific

119 Report Blocks Sender Info Header RTCP sender report V=2 P Reception Packet Type=SR=200 Length Report Count Synchronization Source Identifier (SSRC) of Sender NTP Timestamp, Most Significant Word NTP Timestamp, Least Significant Word RTP Timestamp Sender s Packet Count Sender s Octet Count Report Blocks and Profile Specific Extensions Maps format specific timestamp to wall clock time. Used to synchronize different media streams. Report blocks used in both Sender and Receiver Reports

120 RTCP reception record block Synchronization Source Identifier 1 (SSRC_1) Fraction Lost Cumulative Number of Packets Lost Extended Highest Sequence Number Received Interarrival Jitter Last Sender Report (LSR) Delay Since Last Sender Report (DLSR) Synchronization Source Identifier 2 (SSRC_2)...

121 Cadenza di invio di messaggi RTCP Periodicità dipendente dal numero dei partecipanti della sessione Conteggio dei partecipanti Per ogni RTP, source ID si incrementa I membri che non denotano attività per 5 intervalli consecutivi si marcano come inattivi Allocazione di banda per la descrizione della sorgente (SDES) Alcune informazioni inviate di frequente (e.g. name) Altre informazioni inviate raramente (e.g. address) RTCP Control Traffic (5%) RTP Data Traffic (95%) Receiver messages (75%) Sender messages (25%)

122 Real Time Streaming Protocol Real Time Streaming Protocol (RTSP): RFC 2326 Protocollo usato per lo scaricamento di file audio/video da server remoti Streaming: fruizione del media contestuale allo scaricamento (a differenza dello scaricamento e della fruizione batch) Supporta controllo utente come un telecomando di rete : rewind, FF, pausa, riprendi Protocollo fuori banda: Una porta (554) per messaggi di controllo e segnalazione Una porta per lo stream multimediale Uso TCP o UDP per connessione di controllo Operazioni Invio di un metafile al browser Il browser attiva il player appropriato Il player attiva una connessione di controllo RTSP e una connessione dati RTP verso il server

123 Scenario RTSP I data stream (linea tratteggiata) usano RTP/RTCP I control channel (linea continua) usano RTSP

124 RTSP in azione HTTP GET Session description Web Server Setup Client Play RTP audio RTP video RTCP Pause Media Server Teardown

125 La prospettiva utente User Interface RTSP Player RTSP Server OpenURL SETUP response1 audio Activate RTP PLAY response2 Activate RTP PAUSE response3 Quit TEARDOWN response10

126 Controllo RTSP RTSP client RTSP server RTSP control connection(tcp) DESCRIBE request SETUP request PLAY request ANNOUNCE reply SETUP reply PLAY reply RTSP client RTSP control (TCP) RTP data (UDP) RTCP feedback (UDP) RTSP server

127 Comandi RTSP OPTIONS SETUP ANNOUNCE DESCRIBE PLAY RECORD REDIRECT PAUSE SET PARAMETER TEARDOWN richiesta di metodi disponibili attiva il trasporto annuncia/aggiorna la descrizione di un media object richiesta di descrizione di un media object avvio playback avvio registrazione del server ridirezione del client a un altro server pausa controllo del dispositivo o della codifica abbattimento sessione

128 Esempio di sessione RTSP: accesso alla descrizione C->W: GET /twister.sdp HTTP/1.1 Host: Accept: application/sdp W->C: HTTP/ OK Content-Type: application/sdp v=0 o= IN IP s=rtsp Session m=audio 0 RTP/AVP 0 a=control:rtsp://audio.example.com/twister/audio. en m=video 0 RTP/AVP 31 a=control:rtsp://video.example.com/twister/video

129 Esempio di sessione RTSP: apertura stream C->A: SETUP rtsp://audio.example.com/twister/audio.en RTSP/1.0 CSeq: 1 Transport: RTP/AVP/UDP;unicast;client_port= A->C: RTSP/ OK CSeq: 1 Session: Transport: RTP/AVP/UDP;unicast;client_port= ; server_port= C->V: SETUP rtsp://video.example.com/twister/video RTSP/1.0 CSeq: 1 Transport: RTP/AVP/UDP;unicast;client_port= V->C: RTSP/ OK CSeq: 1 Session: Transport: RTP/AVP/UDP;unicast;client_port= ; server_port=

130 Esempio di sessione RTSP: play C->V: PLAY rtsp://video.example.com/twister/video RTSP/1.0 CSeq: 2 Session: Range: smpte=0:10:00- SMPTE (Society of Motion Picture and Television Engineers) timecode V->C: RTSP/ OK CSeq: 2 Session: Range: smpte=0:10:00-0:20:00 RTP-Info: url=rtsp://video.example.com/twister/video; seq= ;rtptime= C->A: PLAY rtsp://audio.example.com/twister/audio.en RTSP/1.0 CSeq: 2 Session: Range: smpte=0:10:00- A->C: RTSP/ OK CSeq: 2 Session: Range: smpte=0:10:00-0:20:00 RTP-Info: url=rtsp://audio.example.com/twister/audio.en; seq=876655;rtptime=

131 Streaming video Lo streaming è la trasmissione di un flusso di contenuti continuo da un server a un client che lo consuma contestualmente Il tasso di consumo può essere influenzato da vincoli di real-time oltre a quelli di disponibilità di banda Il tasso di trasmissione del server corrisponde in modo più o meno stringente al tasso di consumo del client Progressive download Il server invia un file più rapidamente possibile Il client inizia il playout dopo un certo tempo iniziale di buffering Quando la rete non consegna dati con qualità sufficiente il buffer di playout si svuota: si ha il «freeze» Pseudo Streaming Il server governa il tasso di trasmissione dei dati del file Il client può saltare Devono essere usati alcuni metadati Full Streaming Il client richiede piccoli tratti (chunk) del flusso video scaricando messaggi distinti Utilizzabile per contenuto dal vivo ed on-demand

132 Streaming adattativo La diffusione del video su Internet ha determinato l esigenza di sviluppare soluzioni specifiche: Fruizione di contenuti video in streaming da parte di utenti che sperimentano qualità di rete diverse tra loro e mutevoli nel tempo Lo streaming adattativo rappresenta l insieme delle tecniche di rappresentazione stratificata del video e fruizione adattativa in funzione dei vincoli sperimentati dal client Sono state proposte soluzioni proprietarie basate su uso di HTTP (IIS Smooth Streaming di Microsoft, Apple HTTP Live Streaming)

133 Adaptive Streaming over HTTP Ibrido tra progressive download e streaming Effetto analogo allo streaming attraverso una sequenza intelligente di brevi download Piccoli download per minimizzare lo spreco di banda Abilita il monitoraggio del progresso e il controllo dei client Adattamento alle condizioni dinamiche ed alle caratteristiche del terminale Si adatta elle condizioni variabili della rete Si adatta alla risoluzione del display, alle risorse CPU e memoria del client: facilita il paradigma any device, anywhere, anytime Migliora la Quality of Experience Abilita avvio veloce e ricerca e salto Riduce skip, freeze e stutter Usa HTTP Infrastruttura ben conosciuta per naming/addressing approach, autenticazione/autorizzazione Facile attraversamento delle middlebox (es. NAT, firewall) Abilita l impiego del paradigma cloud e l uso delle infrastrutture di caching e CDN

134 Codifica e decodifica adattativa Lo streaming adattativo richiede che l informazione si codificata in modo stratificato per poter determinare qualità differenti, compatibili con le caratteristiche di rete

135 Streaming push e pull Nel paradigma streaming push, i server prendono l iniziativa (es. video streaming live) Nel paradigma pull, i client prendono l iniziativa (es. Youtube) Real Time Messaging Protocol (RTMP)

136 Architettura di riferimento per il video push: IPTV

137 Architettura di riferimento per video pull

138 Architettura di riferimento per video pull

139 MPEG Dynamic Adaptive Streaming over HTTP (MPEG-DASH) MPEG DASH ISO/IEC

140 DASH DASH non è: Un nuovo sistema, protocollo, presentazione, codec, specifica di client o browser DASH è un fattore abilitante Fornisce soluzioni per streaming adattativo su Internet basato su convenzioni aperte e condivise a livello di standard ISO Viene considerato un componente di un servizio end-to-end Riusa tecnologie esistenti (contenitori MPEG2-TS e MPEG4, coded, DRM, ) Abilita all uso su infrastrutture HTTP-CDN (infrastrutture Web based, caching) Migliora l esperienza dell utente Muove l intelligenza dalla rete al client, rendendo possibile la differenziazione dei client e dei terminali Uso flessibile (live, on-demand, time-shift)

141 Architettura di riferimento

142 Struttura dati Segment Info Initialization Segment Media Presentation Period, start=0s Period, start=100s Period, start=295s Period, start=100 baseurl= Representation 1 500kbit/s Representation 2 100kbit/s Representation 1 bandwidth=500kbit/s width 640, height 480 Segment Info duration=10s Template:./ahs-5-$Index$.3gs Media Segment 1 start=0s Media Segment 2 start=10s Media Segment 3 start=20s Media Segment 20 start=190s

143 Analisi comparata SS: Smooth Streaming HLS: HTTP Live Streaming

144 Protocolli per servizi conversazionali real-time Servizi conversazionali real-time richiedono una relazione tra soggetti (due o più) creata per l esigenza di comunicazione (on-demand su base esigenza) con esigenze di servizio di trasporto di tipo real-time Es. telefonia, videotelefonia, videoconferenza multiparty, sessione di lavoro cooperativo in rete, Per questi servizi orientati alla rete Internet si sono sviluppate famiglie di soluzioni che utilizzano la segnalazione (scambio di dati di controllo dei terminali delle comunicazioni, tra loro e con la rete) per gestire l attivazione del servizio, in analogia con quanto fatto per i servizi della rete telefonica tradizionale

145 Funzioni della segnalazione Nella rete telefonica la segnalazione ha uno scopo molteplice. Essa colloquia con la rete, per instradare la chiamata e prenotare i circuiti con il chiamato per instaurare la chiamata con la rete per fornire servizi aggiuntivi Sulla base della segnalazione la rete predispone servizi per il controllo d accesso identificare il chiamato/chiamante predisporre la documentazione d addebito

146 Funzioni della segnalazione Sulla rete IP la segnalazione può essere ridotta al minimo perché l indirizzo IP è fornito sulla base del nome ( address) da meccanismi DNS l instradamento dei flussi stream è effettuato normalmente dal protocollo IP Potrebbe essere sufficiente l aggiunta di un protocollo di connessione (alerting dell utente chiamato) un protocollo di Session Negotiation (capacità dei terminali, diversi media stream, )

147 Funzioni della segnalazione In realtà esistono funzioni di controllo controllo degli accessi controllo delle risorse (QoS) controllo di sessioni multiparty tariffazione che rendono necessario l utilizzo, o meglio il filtro, di particolari server e relativi protocolli (segnalazione). Altri server sono poi necessari per l erogazione di servizi di rete quali quelli forniti oggi dalla rete Intelligente (Intelligent Network)

148 Architetture di segnalazione Esistono molte architetture di segnalazione Le due più utilizzate sono

149 Call Connection Control ITU E basato sull utilizzo dell architettura H.323 per video-conferenza su reti a pacchetto Versione 1 (1996) multimedia su LAN Versione 2 (1998) telefonia su IP Versione 3 (1999) Versione 4 (2000) Versione 5 (2003)

150 Famiglia ITU multimedia Altre raccomandazioni collegate sono H.323 multimedia su LAN H multimedia su ISDN H multimedia su rete telefonica normale H multimedia su BISDN H multimedia su LAN con QoS

151 Raccomandazione H.323 dell ITU Visual telephone for LANs with nonguaranteed QoS Nonostante il titolo riporti la dicitura LAN, lo standard non è limitato alle LAN Altri standard ITU di riferimento G.7xx series per audio codecs H.26x series per video codecs H.3xx per funzioni di controllo e trasporto Assume che il trasporto dei flussi voce pacchettizzati si avvalga di RTP

152 Famiglia H.323 H.323 Annessi H.323 H (Call Signaling and RAS) H.245 (Media Control) H.235 (Security) H.341 (SNMP) H.450 (Servizi Supplementari) H.246 (Interworking Gateways) H.248 Gateway Control Protocol (MEGACO)

153 Scope of H.323 Pila protocollare H.323 System Control Interface User Data Apps Audio I/O equipment Video I/O equipment RAS Control (H.225.0) Call Control (H.225.0) H.245 Control Data Interface (T.120) Audio Codec (G711, G722, G723, G728, G729) RTP Video Codec (H261, H263) UDP TCP TCP UDP IP Network Interface RAS: Registration Admission and Status

154 Anatomia del terminale H.323 Scope of Recommendation H.323 Audio Codec G.711 G.723 G.729 Video Codec H.261 H.263 RTP Mandatory for H.323 compliance Data Interface T.120 System control H.245 Control H.225 (Q.931) Control RAS Gatekeeper Interface Network Interface

155 H.323 Components MCU Gatekeeper Gateway PC Endpoint H.323 IP network H.320 PC PC Endpoint H.323 Proxy ISDN / PSTN

156 EndPoint H.323 E la terminazione dei canali logici (media) (non H.323) E la terminazione della segnalazione per la connessione e il set up dei canali logici (media) Può operare direttamente end-to-end utilizzando l indirizzo IP e le porte TCP/UDP dei terminali segnalazione media: canale logico IP

157 Gatekeeper H.323 Il Gatekeeper è l analogo della centrale nella rete classica Associa l indirizzo IP al numero telefonico (o altro alias) del terminale della sua ZONA Gestisce una ZONA Può essere l interfaccia per altri servizi registrazione GK Zona registration admission control bandwidth and QoS address translation

158 Proxy H.323 Entità che rilanciano e instradano la segnalazione Scompone una sessione H.323 in due distinte fasi di chiamata I Gatekeeper possono fare da proxy setup setup GK GK setup Zona 1 Zona 2

159 Gateway H.323 Consente l interlavoro verso le altre reti setup GK setup PSTN/ISDN IP

160 H.323 Multi-Point Control Unit (MCU) Fornisce supporto a conferenza di tre o più terminali Stabilisce modalità comuni, governa le risorse, riceve i contributi, miscela l audio, sceglie il video e trasmette ai partecipanti Due modalità di scambio Centralizzata Decentralizzata Non utilizzata in telefonia

161 H.323: Protocolli Introduce tre fasi di segnalazione H RAS (Registration, Admission, Status) Registration Address Resolution Call Admission H Call Control : versione estesa di Q.931. H.245: Connection and media Control: endpoint capability exchange, definisce canali logici unidirezionali per i vari flussi multimediali definendo le porte per RTP e RTCP Utilizza la sintassi ASN.1

162 H.323 Operazioni Base I terminali si registrano col Gatekeeper (H RAS, Registration Admission and Status) I terminali chiedono al Gatekeeper il permesso di instaurare una chiamata con un altro terminale (H RAS) I terminali si scambiano la segnalazione di chiamata (H Call Control - Q.931) I terminali si scambiano la segnalazione per instaurare i media (capability e canali logici con porte per RTP) H.245. I terminali si sconnettono e segnalano al GK

163 H RAS Colloquia col Gatekeeper per Registration, Address Resolution, Call Admission. Funzione Request Conf/Response Reject Gatekeeper GRQ GCF GRJ Registration RRQ RCF RRJ Unregistration URQ UCF URJ Admission ARQ ACF ARJ Bandwidth BRQ BCF BRJ Location LRQ LCF LRJ Information IRQ IRR Disengage DRQ DCF DRJ

164 H Registration Scoperta del gatekeeper automatica (o manuale) tramite un GRQ verso multicast address con well known transport port 1718 GRQ T GCF GK Il gatekeeper può accettare (GCF), rifiutare (GRJ), + indicare gatekeeper alternativi. Indica il proprio indirizzo e la porta UDP per il RAS channel

165 H Registration La registrazione (RRQ) può avvenire sulla well known port 1719 Il terminale comunica l indirizzo, una o più porte e gli alias del terminale (ammesso un indirizzo addizionale) Ha un tempo di vita finito e necessita di keep alive RRQ T RCF GK

166 H Address Resolution Il terminale è identificato dall indirizzo IP Sono permessi più alias (E.164, URL, L alias può essere usato, da terminali o gatekeeper, per interrogare un gatekeeper specifico (LRQ location request), o via multicast Il gatekeeper del terminale richiesto risponde con l indirizzo RAS e Signaling del terminale, o quello del gateway (se il terminale non è raggiungibile in IP)

167 H Call Admission Il messaggio ARQ (admission request) indica la destinazione (anche con alias) Specifica al gatekeeper la banda complessivamente richiesta dal terminale (sono esclusi header), canale dati e canali di controllo Indica la sua possibilità di effettuare la riservazione delle risorse (QoS) Tutte le richieste di una chiamata sono legate dal CRV (Call Reference Value) ARQ T ACF GK

168 H Call Admission Nella risposta di accettazione (ACF) il gatekeeper indica l indirizzo di trasporto per la segnalazione può indicare al terminale di effettuare la prenotazione delle risorse può effettuare la prenotazione per conto del terminale può indicare che la prenotazione non serve può ridurre la banda In ogni istante si può cambiare l uso della banda col comando BRQ ARQ T ACF GK

169 H Call Admission La chiusura della conversazione va segnalata T DRQ DCF GK Oppure può essere imposta DRQ T DCF GK

170 H ARQ Message AdmissionRequest ::= SEQUENCE --(ARQ) { requestseqnum RequestSeqNum, calltype CallType, callmodel CallModel OPTIONAL, endpointidentifier EndpointIdentifier, destinationinfo SEQUENCE OF AliasAddress OPTIONAL, -- Note 1 destcallsignaladdress TransportAddress OPTIONAL, -- Note 1 destextracallinfo SEQUENCE OF AliasAddress OPTIONAL, srcinfo SEQUENCE OF AliasAddress, srccallsignaladdress TransportAddress OPTIONAL, bandwidth BandWidth, callreferencevalue CallReferenceValue, nonstandarddata NonStandardParameter OPTIONAL, callservices QseriesOptions OPTIONAL, conferenceid ConferenceIdentifier, activemc BOOLEAN, answercall BOOLEAN, -- answering a call..., canmapalias BOOLEAN, -- can handle alias address callidentifier CallIdentifier, srcalternatives SEQUENCE OF Endpoint OPTIONAL, destalternatives SEQUENCE OF Endpoint OPTIONAL, gatekeeperidentifier GatekeeperIdentifier OPTIONAL, tokens SEQUENCE OF ClearToken OPTIONAL, cryptotokens SEQUENCE OF CryptoH32 3Token OPTIONAL, integritycheckvalue ICV OPTIONAL, transportqos TransportQOS OPTIONAL, willsupplyuuies BOOLEAN, calllinkage CallLinkage OPTIONAL, gatewaydatarate DataRate OPTIONAL, capacity CallCapacity OPTIONAL, circuitinfo CircuitInfo OPTIONAL, desiredprotocols SEQUENCE OF SupportedProtocols OPTIONAL, desiredtunnelledprotocol TunnelledProtocol OPTIONAL, featureset FeatureSet OPTIONAL, genericdata SEQUENCE OF GenericData OPTIONAL }

171 H Call Control Segnalazione fra gli end point per il set-up della chiamata multimediale Derivato da Q.931 con adattamento di header EP1 Setup Alerting Connect EP2 Release Complete Ci sono diverse modalità di segnalazione

172 H Call Control Utilizza una connessione TCP sulla porta segnalata in RAS ACF o sulla porta well known 1720 Tutte le informazioni che servono alle nuove funzionalità trovano sede nell Elemento Informativo User-User Trasferisce l indirizzo (Porta TCP dinamica) per stabilire il canale H.245 Contiene strumenti per invocare i Servizi Supplementari (H.450.x)

173 Chiamata telefonica PSTN Local Station Idle Originating Office Idle Terminating Office Idle Local Station Line connect Dial tone Dial pulsing Trunk connect Start dial Answer Ringback Dial pulsing Answer Busy Ringing Answer

174 Esempio RQ: request CF: Confirm H.323 Zone-1 gatekeeper gatekeeper H.323 Zone-2 GRQ GRQ GCF Gatekeeper discovery GCF RRQ RRQ RCF Registration with gatekeeper RCF ARQ Admission control via gatekeeper ACF LRQ LCF Location of endpoints in a different zone H setup message ACF Admission control via gatekeeper ARQ DRQ Disengage an active call DCF H and H.245 signaling. Media established,active call DCF Disengage an active call DRQ

175 Instaurazione chiamata H.323 Zone-1 gatekeeper ARQ ACF SETUP CALL PROCEEDING ALERTING CONNECT SETUP CALL PROCEEDING ALERTING CONNECT

176 H.323 Direct Call RAS Q.931 Gatekeeper 1 Gatekeeper 2 H.245

177 H.323 Routed Call Gatekeeper 1 Gatekeeper 2 RAS Q.931 H.245 Per esercitare maggior controllo, agire come MCU, fornire servizi

178 H.323 Routed Call Gatekeeper 1 Gatekeeper 2 Q.931 H.245

179 H.245 Media Control Funzioni che usano un canale di controllo, e includono Capability exchange tipi di media, numero di canali contemporanei, bit rate e altre opzioni (es. QOSCapability: la possibilità di usare RSVP) Apertura e chiusura di canali logici per i media (RTP,RTPC), unidirezionali per audio e video e bidirezionali per dati Preferenze Messaggi di flow control Messaggi per la gestione della conferenza

180 H.245 Media Control Esistono anche comandi (richiedono un azione ma non una risposta) Send Terminal Capability Set Flow Control End session Indication (solo informativi, non richiedono azione né risposta) Jitter Indication Function Not Understood User Input (usato per trasmettere le codifiche dei tasti, es. per trasmettere DTMF)

181 RAS H.323: fase RAS Terminale 1 Gatekeeper Terminale 2 LOCATION REQUEST LOCATION CONFIRM ADMISSION REQUEST ADMISSION CONFIRM In questa fase il chiamante ottiene i permessi e l indirizzo TCP/IP a cui inviare la segnalazione di Set Up

182 H.323: fase Q.931 Terminale 1 LOCATION REQUEST LOCATION CONFIRM ADMISSION REQUEST ADMISSION CONFIRM Gatekeeper Terminale 2 RAS SETUP CALL PROCEEDING ADMISSION REQUEST ADMISSION CONFIRM CALL PROCEEDING Q.931 RAS Q.931 In questa fase i terminali si scambiano le porte TCP su cui scambiarsi la segnalazione H.245

183 H.323: fase H.245 Terminale 1 Gatekeeper Terminale 2 LOCATION REQUEST LOCATION CONFIRM ADMISSION REQUEST ADMISSION CONFIRM In questa SETUP fase i terminali si scambiano le caratteristiche dei terminali e le porte UDP su cui scambiare i flussi TERMINAL CAPABILTY SET CALL PROCEEDING ADMISSION REQUEST ADMISSION CONFIRM CALL PROCEEDING RAS Q.931 RAS Q.931 TERMINAL CAPABILTY ACK OPEN LOGICAL CHANNEL QoS: non H.323 H.245 CONNECT

184 H.323: fasi di scambio media Terminale 1 LOCATION REQUEST LOCATION CONFIRM ADMISSION REQUEST ADMISSION CONFIRM Gatekeeper Terminale 2 RAS SETUP CALL PROCEEDING ADMISSION REQUEST ADMISSION CONFIRM CALL PROCEEDING TERMINAL CAPABILTY SET TERMINAL CAPABILTY ACK OPEN LOGICAL CHANNEL CONNECT Q.931 RAS Q.931 H.245 media

185 H.323 Gateway Traduzione di: H.323 Endpoint H.323 Endpoint Protocolli di trasporto Formato dei media Non- H.323 Endpoint Non-H.323 Endpoint Protocolli di segnalazione

186 H.323 Gateway Gatekeeper RAS IP network Q.931 H.245 Gateway PSTN/ISDN

187 H H.320 Gateway H.246 H.245 H.242 H.243 H (Q.931) Q.931 Q.921 TCP H.221 IP network D channel ISDN n x 64 kb/s

188 Terminale telef. PSTN/ ISDN SETUP CALL PROCEEDING H.323 PSTN Gateway Gateway LOCATION REQUEST LOCATION CONFIRM Gatekeeper Terminale H.323 ADMISSION REQUEST ADMISSION CONFIRM SETUP CALL PROCEEDING ADMISSION REQUEST ADMISSION CONFIRM ALERTING ALERTING TERMINAL CAPABILTY SET TERMINAL CAPABILTY ACK OPEN LOGICAL CHANNEL CONNECT OPEN LOGICAL CHANNEL CONNECT

189 Session Initiation Protocol SIP è l alternativa IETF alla segnalazione H.323 Nata a partire dal 1995 nel WG MMUSIC Sfociata nel 99 nella RFC 2543 (46 pagine) Evoluta al 11/2000 nel Draft rfc2543bis-02 (171 pagine) Sostituita nel giugno 2002 da RFC 3261 (269 pagine)

190 Introduzione SIP serve a iniziare, modificare e terminare sessioni relative ad applicazioni multimedia: chiamate telefoniche multiparty conference con più flussi multimediali real-time e non real-time ma anche: instant messaging event notification distributed games

191 Introduzione Può anche collaborare con altri protocolli definiti dall IETF che compongono la suite di protocolli per applicazioni multimediali SIP generalmente usa i seguenti protocolli SDP - Session Description Protocol (RFC 2327) RTP - Real Time Protocol (RFC 3550) RTCP - Real Time Control Protocol (RFC 3550) RTSP - Real Time Streaming Protocol (RFC 2326) MGCP - Media Gateway Control Protocol (RFC 3435)

192 SIP Compiti SIP gestisce lo scambio per l instaurazione e la gestione della sessione, ma per i flussi relativi alla sessione non si preoccupa: del trasporto (si fa uso al solito di RTP) del monitoraggio della qualità (RTCP) della descrizione dei flussi della sessione (messaggi SDP sono incapsulati in messaggi SIP)

193 SIP Compiti I messaggi SIP possono essere trasferiti usando qualunque servizio di trasporto anche se viene consigliato l uso di UDP SIP consente il colloquio tra utenti individuabili grazie ad identificativi come quelli dell (proposto proprio come identificativo dell utente) o di numeri (solo per rimanere compatibili con le vecchie abitudini)

194 SIP Identificativi L identificativo è dell utente (o del terminale) E garantita la mobilità dell utente che può accedere al servizio da terminali diversi (personal mobility) e per questo sono richieste le funzioni di Registration User Location Inoltre l identificativo d utente può essere allo stesso tempo associato a terminali diversi (con capability diverse, come videotelefono, portatile, segreteria telefonica, ecc.) Più identificativi possono essere associati allo stesso terminale

195 SIP Identificativi L identificativo è dell utente (livello applicativo) (come per l ) e non del terminale (di rete) E un Uniform Resource Identifier - URI: Sip:user@domain. Esempio: sip:j.doe@big.com sip:j.doe:secret@big.com;transport=tcp sip:j.doe@big.com?subject=project%20x&priority=urgent sip: :1234@gateway.com;user=phone sip:1212@gateway.com sip:alice@ sip:alice@example.com sip:alice%40example.com@gateway.com sip:alice@registrar.com;method=register

196 Protocollo SIP I messaggi di SIP sono implementati in modalità testuale come in molti altri protocolli applicativi IP (es. HTTP, SMTP, ecc.) SIP è un protocollo di tipo client-server richieste CLIENT risposte SERVER Negli elementi di rete sono normalmente implementati sia la parte client che la parte server

197 SIP Methods Le richieste dei client si chiamano methods INVITE ACK BYE CANCEL OPTIONS REGISTER Inizia la chiamata invitando un utente ad una sessione conferma la avvenuta connessione termina la chiamata resetta la chiamata chiede informazioni sulle capability registra presso il location service Non si assume affidabilità della consegna: le richieste possono essere ritrasmesse

198 SIP Response Codes Le risposte contengono un codice che descrive l esito dell elaborazione della richiesta da parte del server 1xx continue (request received, continuing) 2xx success 3xx redirection (further action needed) 4xx client error (request cannot be fulfilled) 5xx server error (failed to fulfill) 6xx global failure (request not fulfilled at any server)

199 SIP Response Codes 100 continue 180 ringing 181 forwarding 182 queuing 200 OK 300 multiple choices 301 moved permanently 302 moved temporarily 400 bad request 401 unauthorized 403 forbidden 404 not found 408 request timeout 480 Unavailable 481 Invalid Call-ID 482 Loop detected 500 internal error 501 not implemented 600 busy 601 decline 604 does not exist 606 not acceptable

200 SIP Transaction Richieste e risposte sono raggruppate in SIP transaction Una transaction è composta: Una richiesta Eventuali risposte di call progress (1xx) Una risposta finale Un ACK finale (solo per i messaggi di INVITE) che conferma l apertura della sessione Rappresentato come un altra transazione senza risposta

201 SIP Transaction Instaurazione di una sessione INVITE: 100 PROGRESS 200 OK ACK:

202 SIP Message Formato delle richieste INVITE SIP/2.0 Via: SIP/2.0/UDP proxy.cs.columbia.edu Via: SIP/2.0/UDP sipserv.elet.polimi.it From: To: Call-Id: CSeq: 1 INVITE Subject: meeting. Content-Type: application/sdp Content-Length:... Contact: hgs@host1.cs.columbia.edu corpo messaggio SDP Method Header Message body

203 SIP Message SIP/ OK Via: SIP/2.0/UDP proxy.cs.columbia.edu Via: SIP/2.0/UDP sipserv.elet.polimi.it From: To: Call-Id: CSeq: 1 INVITE Subject: meeting. Content-Type: application/sdp Content-Length:... Contact: voic @host4.polimi.it corpo messaggio SDP Formato delle risposte Method Header Header variato Message body

204 SIP elementi di rete Proxy server Registrar User Agent (UA) IP network Redirect server UA

205 SIP User Agent (UA) User Agent (UA): Genera le richieste (UA client) ed è anche, normalmente, il Destinatario finale (UA server) Esempi: internet phone, software per teleconferenza, caselle vocali, etc. UA client INVITE: UA server 100 PROGRESS 200 OK ACK:

206 SIP Registrar All interno di un dominio associa lo URI dell utente all indirizzo del terminale su cui l utente viene rintracciato Uno UA per essere raggiungibile deve registrarsi presso i registrar inviando periodicamente un richiesta di REGISTER C->S:REGISTER sip:bell-tel.com SIP/2.0 (Request URI) Via: SIP/2.0/UDP saturn.bell-tel.com From: <sip:watson@bell-tel.com>;tag=19 To:sip:watson@bell-tel.com (user URI) Call-ID: 70710@saturn.bell-tel.com (costante per UA) CSeq: 1 REGISTER (contatore) Contact: <sip:watson@saturn.bell-tel.com:3890;transport=udp> Expires: 7200

207 Localizzazione del Registrar/Proxy Si hanno 3 possibilità per ottenere l indirizzo del Registrar: 1. Per configurazione 2. Utilizzando lo address-of-record dei servizi di localizzazione (DNS) Per l utente sip:carol@chicago.com si può tentare sip:chicago.com 3. Utilizzando multicast address sip.mcast.net ( )

208 SIP Proxy Server Sono di fatto dei router di livello applicativo che instradano le richieste e le risposte, in ingresso e/o in uscita DB Proxy INVITE: henning@columbia.edu Proxy Registrar INVITE: henning 200 OK ACK: henning 200 OK ACK: henning@columbia.edu ACK: hgs@play 200 OK INVITE: hgs@play

209 SIP Redirect Server Ricevono le richieste e rispondono con l indicazione della localizzazione di un altro server o di uno UA Possono essere implementati sull host o su server INVITE: henning@columbia.edu 200 OK Proxy Registrar INVITE: hgs@field 200 OK INVITE: hgs@play 302 Moved temporarily hgs@field

210 SIP Forking Un proxy server che riceve una richiesta da un client può inoltrare tale richiesta a più destinazioni (branch) Ciò può avvenire o in sequenza o in parallelo Se viene fatto in parallelo, si suppone che solo uno dei server a valle risponda positivamente In ogni caso viene mantenuta la prima risposta positiva INVITE proxy sistemi di Automatic Call Distribution

211 Affidabilità dei messaggi di SIP I messaggi SIP non assumono affidabilità di trasporto Se una risposta ad una richiesta non giunge entro un certo tempo T, la richiesta viene ripetuta Se il fenomeno si ripete, la richiesta successiva viene ripetuta dopo 2T, poi 4T, e così via Nel caso dell INVITE i tempi devono essere più lunghi e devono essere ripetute anche le risposte

212 SIP Descrizione delle sessioni SIP usa attualmente SDP (Session Description Protocol) per la descrizione delle sessioni I messaggi SDP sono trasportati in modo trasparente all interno dei messaggi di SIP Normalmente il messaggio di INVITE contiene un corpo SDP che descrive Indirizzi e porte Codifiche supportate Il server inserisce un corpo SDP normalmente nel riscontro finale 200 OK Se il client non ha inserito il messaggio SDP nell INVITE deve farlo nell ACK finale

213 Session Description Protocol (SDP) SDP (RFC 4566) è un formato per la descrizione di sessioni multimediali Viene utilizzato in SIP, RTSP, con estensione MIME, e HTTP SDP include Nome e scopo della sessione Durata della sessione I vari media utilizzati L informazione per ricevere tali media (porte, indirizzi) Informazioni sulla banda Informazioni di contatto

214 Session Description Protocol (SDP) Le descrizioni sono testuali del tipo <Type>=<value> v= (protocol version) o= <username> <session id> <version> <network type> <address type> <address> s= <session name> i= <session description> u=<uri> (pointer to additional information about the conference) e=< address> (contact information for the person responsible for the conference) c=<network type> <address type> <connection address> t=<start time> <stop time> a=<attribute>:<value> (primary means for extending SDP) m=<media> <port> <transport> <fmt list>

215 Esempio SDP (version) (origin/identifier) (session name) (description) (URI) ( ) (connnection inf.) (start stop t.) (attribute) (media/port) v=0 o=mhandley IN IP s=sdp Seminar i=a Seminar on the session description protocol u= (Mark Handley) c=in IP /127 t= a=recvonly m=audio RTP/AVP 0 m=video RTP/AVP 31 m=application udp wb a=orient:portrait

216 Esempio di INVITE per telefonata Bell chiama lista di rilanci aggiornata a partire dalla sorgente; rimossi nelle risposte Numera le transazioni Descrizione SDP (version) (origin) (session) (con. address) (media) INVITE sip:watson@boston.bell-tel.com SIP/2.0 Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:watson@bell-tel.com> Call-ID: @kton.bell-tel.com CSeq: 1 INVITE Subject: Mr. Watson, come here. Content-Type: application/sdp Content-Length:... v=0 o=bell IN IP s=mr. Watson, come here. c=in IP4 kton.bell-tel.com m=audio 3456 RTP/AVP (PCM, GSM, G.723, DVI4)

217 Esempio di INVITE per telefonata Watson risponde Watson risponde SIP/ Trying Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell To: T. Watson ;tag= Call-ID: CSeq: 1 INVITE Content-Length: 0 distingue istanze multiple dello stesso utente x forking SIP/ Ringing Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:watson@bell-tel.com> ;tag= Call-ID: @kton.bell-tel.com CSeq: 1 INVITE Content-Length: 0

218 Esempio di INVITE per telefonata Watson risponde SIP/ OK Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell To: ;tag= Call-ID: CSeq: 1 INVITE Contact: sip:watson@boston.bell-tel.com Content-Type: application/sdp Content-Length:... v=0 o=watson IN IP s=i'm on my way c=in IP4 boston.bell-tel.com m=audio 5004 RTP/AVP 0 3 (PCM, GSM)

219 Esempio di INVITE per telefonata Bell conferma Bell chiude ACK SIP/2.0 Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell To: T. Watson ;tag= Call-ID: CSeq: 1 ACK BYE sip:watson@boston.bell-tel.com SIP/2.0 Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. A. Watson <sip:watson@bell-tel.com> ;tag= Call-ID: @kton.bell-tel.com CSeq: 2 BYE

220

221 SIP Descrizione delle sessioni Se durante una sessione la descrizione deve essere cambiata (cambio di tipo di media, di indirizzo, di porta, ecc.) basta inviare un nuovo messaggio di INVITE (chiamato o chiamante) con lo stesso Call-ID Questi nuovi messaggi sono trattati allo stesso modo fatta eccezione per il fatto che non viene allertato l utente e in caso di fallimento non viene chiusa la sessione SI NOTI che i messaggi SIP e SDP non sono legati, quindi risulta possibile invitare ad una sessione un host senza che tale host sia poi coinvolto nella sessione stessa

222 Third Party Call Control Molti servizi richiedono che entità terze possano creare chiamate fra due utenti o servizi IVR (Interactive Voice Response) Click to dial Prepaid calling Questo tipo di controllo viene effettuato in modo naturale dagli User Agent manipolando il SDP A 200 SDP-A 1 INVITE no SDP RTP 2 5 INVITE SDP -A ACK SDP-B B SDP-B 4 6 ACK Application Server

223 SIP Call Forwarding e Mobilità Personale Interna shannon.elet.polimi.it INVITE sip:bob@columbia.edu SIP/2.0 To: bob@columbia.edu From:Antonio.Capone@polimi.it Cseq: 1 INVITE Contact:sip:antonio@shannon.elet.polimi.it 2 1 SIP/ Trying SIP/ Ringing 7 SIP/ OK To: <bob@columbia.edu>:tag=17 From:Antonio.Capone@polimi.it Cseq: 1 INVITE Contact: sip:carol@sec.cs.columbia.edu 9 proxy sip.columbia.edu ACK sip:carol@sec.cs.clombia.edu SIP/ INVITE sip:bob@play.cs.columbia.edu SIP/2.0 To: bob@columbia.edu From:Antonio.Capone@polimi.it 4 3 SIP/ Moved Temporarily Contact: sip:carol@sec.cs.columbia.edu INVITE sip:carol@sec.cs.columbia.edu SIP/2.0 To: bob@columbia.edu From:Antonio.Capone@polimi.it 6 5 SIP/ Ringing 8 SIP/ OK To: <bob@columbia.edu>:tag=17 From:Antonio.Capone@polimi.it Cseq: 1 INVITE Contact: sip:carol@sec.cs.columbia.edu play sec

224 SIP Servizi di Telefonia Molti servizi telefonici classici sono già forniti dalla modalità operativa base di SIP; ad esempio: Caller ID Number Mapping (numeri 800) Call Forwarding Call Hold L idea base di questi sistemi è però diversa: Non considerare un insieme di servizi da fornire Ma un insieme di strumenti con il quale i servizi possono essere creati o adattati da parte dell utente o operatore o fornitore di servizi

225 SIP Creazione di Servizi Essendo molto simile nella sintassi, SIP si può facilmente integrare con altri applicativi IP per fornire nuovi servizi non disponibili nelle reti telefoniche classiche Esempi: Instant message when busy Se il chiamato è occupato in un altra conversazione, il chiamante può fargli pervenire direttamente un instant message per avvisarlo lo stesso di qualcosa

226 SIP Creazione di Servizi Forward to Se il chiamato non può rispondere, le informazioni sulla chiamata ricevuta vengono inviate per Redirection to Web Il chiamante si può presentare con una web page ricca di informazioni e figure Il chiamato può mettere in attesa il chiamante con una pagina web che contiene informazioni utili

227 Esempio Utilizzo di applicazioni per la rivelazione della presenza presso un terminale 1 Invites Conversation 2 Embedded Presence Projection 3 One Click ecall servizio HearMe

228 Esempio Utilizzo di applicazioni per la messaggistica di tutti i tipi Servizio di messag.

229 Esempio: PIZZERIA Quando viene fatta una chiamata ad una pizzeria il proxy automaticamente visualizza presso il client il menu in forma di documento http ASB SIP UA Proxy SIP UA User at Home Pizza Company

230 Strumenti per i Servizi Gli strumenti più utilizzati per la creazione dei servizi sono: Endpoint Service Markup Language Processing ability SIP CGI (Common Gateway Interface) Call Processing Language Java applets

231 SIP Sicurezza La sicurezza richiesta ai servizi forniti da SIP riguarda soprattutto l autenticazione degli utenti SIP eredita i meccanismi base di autenticazione da HTTP che richiedono l invio in chiaro di account e password Questi meccanismi anche se semplici sono sufficienti se il livello di trasporto è già reso sicuro mediante altri meccanismi di crittazione a livello IP E inoltre fornito un meccanismo di Digest authentication basato su un meccanismo a sfidarisposta che assicura che le due parti condividano un codice segreto (simile GSM)

232 SIP Sicurezza Parte dei messaggi delle richieste SIP possono essere firmati digitalmente e crittati con PGP Non si possono crittare la status line e l Header Via messaggio crittato: INVITE sip:watson@boston.bell-telephone.com SIP/ Encryption: PGP version=2.6.2,encoding=ascii hqemaxkp5gpd+j5xaqf/zdifgd/... parte in chiaro: Subject: Mr. Watson, come here. Content-Type: application/sdp SDP può trasportare chiavi di crittazione per i media (quando il corpo è crittato)

233 Firewall and NAT I messaggi (applicativi) H.323 e SIP contengono indirizzi IP e n. di porta (molteplici) Problemi di interoperabilità se una rete privata è collegata a Internet attraverso un dispositivo che esegue NAT o Firewall H.323 RAS RRQ requestseqnum protocolidentifier nonstandarddata discoverycomplete callsignaladdress rasaddress terminaltype terminalalias gatekeeperidentifier endpointvendor SIP INVITE C->S: INVITE sip:watson@boston.bell-tel.com SIP/2.0 Via: SIP/2.0/UDP kton.bell-tel.com From: A. Bell <sip:a.g.bell@bell-tel.com> To: T. Watson <sip:watson@bell-tel.com> Call-ID: @kton.bell-tel.com... v=0 o=bell IN IP s=mr. Watson, come here. c=in IP m=audio 3456 RTP/AVP (PCM, GSM, G.723)

234 Application Level Gateway (ALG) Possibile soluzione: Application Level Gateway che cambi tutti gli indirizzi, e le numerose porte nei messaggi di segnalazione (Header e SDP in SIP) e che deve essere context aware perché i vari messaggi sono legati in modo complesso Livello TCP-UDP Livello IP

235 Application Level Gateway (ALG) Svantaggi di ALG inglobato nei NAT è complesso ne servono uno per applicazione va aggiornato ad ogni aggiornamento dell applicazione impedisce la crittografia end-to-end del corpo della segnalazione

236 MIDCOM Architecture La Middlebox Communication Architecture (RFC 3303) definisce un framework in cui dalle apparecchiature di controllo di rete (Middlebox) si isola l intelligenza di comando in MIDCOM agent ciascuno dei quali può essere specializzato in particolari applicazioni (scinde le funzioni di ALG e di NAT/FW ) Caratteristiche: Consente il riuso delle risorse La fornitura third party SIP MIDCOM protocol Firewall/NAT Midcom agent Media SIP

237 MIDCOM Architecture Il MIDCOM protocol consente agli agenti con intelligenza legata alle applicazioni di fare in modo che l applicazione risulti trasparente al Middlebox Midcom agent (nel proxy) SIP MIDCOM protocol SIP alloca e rilascia le associazioni NAT apre e chiude i passaggi Firewall/NAT Media

238 Es: Chiamata Entrante in Firewall

239 Es: Chiamata Entrante in NAPTP

240 Management and Auto-Configuration SIP MIB per proxy, redirect, registrar e user agent DHCP per i SIP Server Gli User agent possono sapere dove registrarsi e mandare richieste Service Location Protocol (SLP) Templates SLP permette ai client di scoprire i server in base ai loro servizi SLP template permette di scoprire i servizi IPSec and TLS transport CPL support Support for caller preference

241 HTML5 e WebRTC HTML5 è la versione più evoluta del linguaggio di markup utilizzato nell architettura applicativa WWW Introduce nuovi elementi anche multimediali (audio, video) e una nuova API basata su Javascript Apre la via all evoluzione dell architettura WWW alle comunicazioni multimediali real-time: WebRTC: il browser diventa il nuovo hub delle comunicazioni

242 WebRTC WebRTC (Web Real-Time Communication) è un API in via di standardizzazione presso il World Wide Web Consortium (W3C) per consentire di sviluppare applicazioni browser-to-browser per: Comunicazioni vocali Video chat multiparty Condivisione di file P2P SENZA IMPIEGARE PLUGIN

243 API WebRTC

244 Codificatori I client WebRTC devono implementare i seguenti codec audio Opus [RFC6716] G.711 (PCMA e PCMU) Per i codec video i giochi sono ancora aperti H.264 (tecnologia coperta da numerosi brevetti, opensource di Cisco da ottobre 2013, sostenuto da molte aziende: licenze gratuite per innovazione V8 (IPR di Google, da acquisizione di On2 Technologies nel 2010)

245 WebRTC in azione Le API WebRTC rendono disponibili chiamate di controllo per stabilire una comunicazione tra browser P2P anche superando i NAT (con apposite soluzioni: ICE, STUN e TURN) I flussi P2P possono usare i protocolli SRTP, SCTP e DTLS

246 Attraversamento dei NAT STUN (Session Traversal Utilities for NAT) - RFC 5389 Traversal Using Relay NAT (TURN) - RFC 5766 Interactive Connectivity Establishment (ICE) - RFC 5245

Livello di Trasporto

Livello di Trasporto Livello di Trasporto Introduzione Problemi e requisiti Livello di trasporto in Internet UDP -UserDatagramProtocol TCP - Transmission Control Protocol Meccanismo di ritrasmissione Controllo del flusso Three-way

Dettagli

Transmission Control Protocol

Transmission Control Protocol Transmission Control Protocol Franco Callegati Franco Callegati IC3N 2000 N. 1 Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione

Dettagli

Gestione della Connessione in TCP

Gestione della Connessione in TCP I semestre 03/04 Gestione della Connessione in TCP Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Riscontro e Ritrasmissione Per ogni segmento spedito la sorgente

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00 Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome:

Dettagli

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta auletta@dia.unisa.it

Dettagli

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Dettagli

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport. ICMP Application Presentation Session Transport Telnet FTP SMTP SNMP TCP e UDP NFS XDR RPC Network Data Link Physical OSI ICMP ARP e RARP IP Non Specificati Protocolli di routing Internet Protocol Suite

Dettagli

Reti di Calcolatori in Tecnologia IP

Reti di Calcolatori in Tecnologia IP Reti di Calcolatori in Tecnologia IP Il Livello Transport e TCP Dott. Marco Bianchi 04/12/2001 1 Agenda Introduzione Indirizzamento Protocolli di livello transport Attivazione e rilascio di una connessione

Dettagli

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+... Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad

Dettagli

4 - Il livello di trasporto

4 - Il livello di trasporto Università di Bergamo Dipartimento di Ingegneria Gestionale e dell Informazione 4 - Il livello di trasporto Architetture e Protocolli per Internet Servizio di trasporto il livello di trasporto ha il compito

Dettagli

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità Standard: OSi vs TCP/IP Application Presentation Session NFS XDR RPC Telnet, FTP SMTP, HTTP SNMP, DNS RTP,... Protocolli per la comunicazione tra applicativi: le raisons d etre della rete Transport TCP

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 200, ore 1.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

TCP: trasmissione Source port [16 bit] - Identifica il numero di porta sull'host mittente associato alla connessione TCP. Destination port [16 bit] - Identifica il numero di porta sull'host destinatario

Dettagli

Introduzione (parte III)

Introduzione (parte III) Introduzione (parte III) Argomenti della lezione Ripasso degli argomenti del primo corso: il livello di trasporto, il meccanismo di controllo delle congestioni e le applicazioni Il livello di trasporto

Dettagli

Il livello trasporto Protocolli TCP e UDP

Il livello trasporto Protocolli TCP e UDP Il livello trasporto Protocolli TCP e UDP Standard: OSi vs TCP/IP Application Presentation Session NFS XDR RPC Telnet, FTP SMTP, HTTP SNMP, DNS RTP,... Protocolli per la comunicazione tra applicativi:

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Livello trasporto in Internet Livello trasporto in Internet Due protocolli di trasporto alternativi: TCP e UDP Modelli di servizio diversi TCP orientato alla connessione, affidabile, controllo di flusso

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005 Si svolga il compito su questi fogli. Nel caso di domande a risposta aperta, lo spazio lasciato sul foglio

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

Prof. Ing. Maurizio Casoni Dipartimento di Ingegneria dell Informazione Università degli Studi di Modena e Reggio Emilia

Prof. Ing. Maurizio Casoni Dipartimento di Ingegneria dell Informazione Università degli Studi di Modena e Reggio Emilia Controllo di flusso in TCP Prof. Ing. Maurizio Casoni Dipartimento di Ingegneria dell Informazione Università degli Studi di Modena e Reggio Emilia Meccanismo a finestra La dimensione della finestra viene

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II Lezione 5 Giovedì 19-03-2015 1 Intensità del traffico e perdita dei pacchetti La componente

Dettagli

Il Trasporto di Dati Real-time

Il Trasporto di Dati Real-time Il Trasporto di Dati Real-time Ormai molte applicazioni scambiano informazioni in cui le relazioni temporali sono molto importanti. La Telefonia via Internet, Videoconferenza, Lezioni a distanza, Meeting

Dettagli

CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.3 9 novembre 2005 Laura Ricci IL LIVELLO TRASPORTO realizza un supporto per la comunicazione logica tra processi distribuiti comunicazione logica = astrazione che consente

Dettagli

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il livello rete in Internet Il protocollo

Dettagli

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008 Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome: Corso di laurea e anno: Matricola:

Dettagli

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto Livello Trasporto Fornire un trasporto affidabile ed efficace dall'host di origine a quello di destinazione, indipendentemente dalla rete utilizzata Gestisce una conversazione diretta fra sorgente e destinazione

Dettagli

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) PARTE 1 richiami SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) Parte 1 Modulo 1: Stack TCP/IP TCP/IP Protocol Stack (standard de facto) Basato su 5 livelli invece che sui 7 dello stack ISO/OSI Application

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

DA SA Type Data (IP, ARP, etc.) Padding FCS 6 6 2 0-1500 0-46 4

DA SA Type Data (IP, ARP, etc.) Padding FCS 6 6 2 0-1500 0-46 4 Esercizio Data la rete in figura, si assuma che i terminali T1-T12 e T13-T24 siano connessi tramite collegamenti di tipo UTP a due switch Fast Ethernet. Si assuma che le tabelle ARP di tutti i dispositivi

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette.

Dettagli

IL LIVELLO TRASPORTO Protocolli TCP e UDP

IL LIVELLO TRASPORTO Protocolli TCP e UDP Reti di Calcolatori ed Internet IL LIVELLO TRASPORTO Protocolli TCP e UDP 5-1 Il Livello Trasporto I servizi del livello Trasporto Le primitive di Trasporto Indirizzamento Protocolli di Trasporto Livello

Dettagli

Protocolli di Comunicazione

Protocolli di Comunicazione Protocolli di Comunicazione La rete Internet si è sviluppata al di fuori dal modello ISO-OSI e presenta una struttura solo parzialmente aderente al modello OSI. L'architettura di rete Internet Protocol

Dettagli

Parte II: Reti di calcolatori Lezione 13

Parte II: Reti di calcolatori Lezione 13 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 13 Martedì 15-04-2014 1 Instaurazione della

Dettagli

Reti di Calcolatori. Il software

Reti di Calcolatori. Il software Reti di Calcolatori Il software Lo Stack Protocollare Application: supporta le applicazioni che usano la rete; Transport: trasferimento dati tra host; Network: instradamento (routing) di datagram dalla

Dettagli

IP Internet Protocol

IP Internet Protocol IP Internet Protocol Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 13 IP - 1/20 IP IP è un protocollo a datagrammi In spedizione: Riceve i dati dal livello trasporto e

Dettagli

I protocolli UDP e TCP

I protocolli UDP e TCP I protocolli UDP e TCP A.A. 2005/2006 Walter Cerroni Il livello di trasporto in Internet APP. APP. TCP UDP IP collegamento logico tra diversi processi applicativi collegamento logico tra diversi host IP

Dettagli

ICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it http://staff.polito.it/mario.

ICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it http://staff.polito.it/mario. ICMP Internet Control Message Protocol Silvano GAI sgai[at]cisco.com Mario BALDI mario.baldi[at]polito.it http://staff.polito.it/mario.baldi Fulvio RISSO fulvio.risso[at]polito.it ICMP - 1 Copyright: si

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Livello trasporto in Internet Gruppo Reti TLC Nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE ALLE RETI TELEMATICHE - 1 Copyright Quest opera è protetta dalla licenza Creative Commons

Dettagli

VideoStreaming su IP

VideoStreaming su IP VideoStreaming su IP Anno Accademico 2007/2008 Agenda Principi di video Streaming Come prevenire gli errori e come mascherarli Appendice Come si realizza la codifica/decodifca Protocollidirete Overview

Dettagli

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella Corso di Sistemi di Elaborazione delle informazioni Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella Una definizione di Rete Una moderna rete di calcolatori può essere definita come:

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00 Alcune domande hanno risposta multipla: si richiede di identificare tutte le risposte corrette.

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine. ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione

Dettagli

Transmission Control Protocol (TCP) Andrea Detti

Transmission Control Protocol (TCP) Andrea Detti Transmission Control Protocol (TCP) Andrea Detti Transmission Control Protocol (TCP) Trasferisce un flusso informativo bi-direzionale non strutturato tra due host ed effettua operazioni di multiplazione

Dettagli

IL LIVELLO TRASPORTO Protocolli TCP e UDP

IL LIVELLO TRASPORTO Protocolli TCP e UDP Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP D. Talia RETI DI CALCOLATORI - UNICAL 5-1 Il Livello Trasporto I servizi del livello Trasporto Le primitive di Trasporto Indirizzamento Protocolli

Dettagli

Internetworking TCP/IP: esercizi

Internetworking TCP/IP: esercizi Politecnico di Milano Facoltà di Ingegneria dell Informazione Fondamenti di Reti di Telecomunicazione prof. A. Capone Internetworking TCP/IP: esercizi 1 Esercizio 7.1 Si consideri la rete in figura dove

Dettagli

Reti di Calcolatori:

Reti di Calcolatori: Reti di Calcolatori: Internet, Intranet e Mobile Computing a.a. 2007/2008 http://www.di.uniba.it/~lisi/courses/reti/reti0708.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì

Dettagli

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 1 Reti di Calcolatori MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 2 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1 Introduzione Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio Livello applicativo Principi delle applicazioni di rete 2-1 Pila di protocolli Internet Software applicazione: di

Dettagli

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Confronto tra ISO-OSI e TCP/IP, con approfondimento di quest ultimo e del livello di trasporto in cui agiscono i SOCKET. TCP/IP

Dettagli

HTTP adaptation layer per generico protocollo di scambio dati

HTTP adaptation layer per generico protocollo di scambio dati HTTP adaptation layer per generico protocollo di scambio dati Sandro Cavalieri Foschini 101786 Emanuele Richiardone 101790 Programmazione in Ambienti Distribuiti I - 01FQT prof. Antonio Lioy A.A. 2002-2003

Dettagli

Trasporto traffico multimediale in Internet

Trasporto traffico multimediale in Internet Trasporto traffico multimediale in Internet Andrea BIANCO Andrea.Bianco@polito.it http://www.telematica.polito.it/ MULTIMEDIA IN INTERNET - 1 Tassonomia delle applicazioni Due classi (dal punto di vista

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

Il livello Network del TCP/IP. Il protocollo IP (versione 4) Il livello Network del TCP/IP. Il protocollo IP (versione 4) L architettura TCP/IP (il cui nome più preciso è ) è formata da diversi componenti, che si posizionano nello stack dei protocolli a partire

Dettagli

Il protocollo TCP. Obiettivo. Procedura

Il protocollo TCP. Obiettivo. Procedura Il protocollo TCP Obiettivo In questo esercizio studieremo il funzionamento del protocollo TCP. In particolare analizzeremo la traccia di segmenti TCP scambiati tra il vostro calcolatore ed un server remoto.

Dettagli

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1

Dettagli

Trasporto traffico multimediale in Internet

Trasporto traffico multimediale in Internet Trasporto traffico multimediale in Internet Andrea BIANCO Andrea.Bianco@polito.it http://www.telematica.polito.it/ MULTIMEDIA IN INTERNET - 1 Tassonomia delle applicazioni Due classi (dal punto di vista

Dettagli

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) PARTE 2 SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) Parte 2 Modulo 1: Stack TCP/IP TCP/IP Protocol Stack (standard de facto) Basato su 5 livelli invece che sui 7 dello stack ISO/OSI Application

Dettagli

Internet Control Message Protocol ICMP. Struttura di un Messaggio ICMP. Segnalazione degli Errori

Internet Control Message Protocol ICMP. Struttura di un Messaggio ICMP. Segnalazione degli Errori I semestre 03/04 Internet Control Message Protocol ICMP Comunica messaggi di errore o altre situazioni che richiedono intervento Errore di indirizzo o di istradamento Congestione in un router Richiesta

Dettagli

esercizi-voip-v1.doc (era esercizi-2007-04-v6.doc) Esercizio 1

esercizi-voip-v1.doc (era esercizi-2007-04-v6.doc) Esercizio 1 esercizi-voip-v1.doc (era esercizi-2007-04-v6.doc) Esercizio 1 Si consideri un sistema VoIP che operi con codifica GSM a R=13 kb/s. L'intervallo di pacchettizzazione è fissato a T=40ms. Si abbia a disposizione

Dettagli

Livello di Rete. Gaia Maselli maselli@di.uniroma1.it

Livello di Rete. Gaia Maselli maselli@di.uniroma1.it Livello di Rete Gaia Maselli maselli@di.uniroma1.it Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. All material copyright 1996-2007 J.F Kurose

Dettagli

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.2. 2 Novembre 2005 Laura Ricci IL DOMAIN NAME SYSTEM (DNS) Indirizzi IP poco adatti per essere memorizzati da utenti umani è prevista la possibiltà di associare nomi simbolici

Dettagli

Livello Trasporto Protocolli TCP e UDP

Livello Trasporto Protocolli TCP e UDP Livello Trasporto Protocolli TCP e UDP Davide Quaglia Reti di Calcolatori - Liv Trasporto TCP/UDP 1 Motivazioni Su un host vengono eseguiti diversi processi che usano la rete Problemi Distinguere le coppie

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

L architettura di TCP/IP

L architettura di TCP/IP L architettura di TCP/IP Mentre non esiste un accordo unanime su come descrivere il modello a strati di TCP/IP, è generalmente accettato il fatto che sia descritto da un numero di livelli inferiore ai

Dettagli

I protocolli UDP e TCP

I protocolli UDP e TCP I protocolli UDP e TCP Corso di Reti di Telecomunicazione a.a. 2013/14 - Ingegneria Elettronica e delle Telecomunicazioni - Ingegneria Informatica e dell Automazione - - Ing. G. Boggia Protocolli di trasporto:

Dettagli

Avoidance, Fast Retransmit, And Fast Recovery

Avoidance, Fast Retransmit, And Fast Recovery Università degli Studi di Modena e Reggio Emilia Dipartimento di Ingegneria dell Informazione TCP: Algoritmi di Slow Start, Congestion Avoidance, Fast Retransmit, And Fast Recovery rfc 2001 M.L. Merani

Dettagli

Il protocollo IP (Internet Protocol)

Il protocollo IP (Internet Protocol) Politecnico di Milano Advanced Network Technologies Laboratory Il protocollo IP (Internet Protocol) -Servizi offerti da IP -Formato del pacchetto IP 1 Il servizio di comunicazione offerto da IP Connectionless

Dettagli

Telematica di Base. IL Livello di Trasporto TCP

Telematica di Base. IL Livello di Trasporto TCP Telematica di Base IL Livello di Trasporto TCP TCP RFCs: 793, 1122, 1323, 2018, 2581 point-to-point: Un sender, un receiver affidabile protocollo di tipo pipeline: Meccanismi per evitare la congestione,

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Laurea in INFORMATICA

Laurea in INFORMATICA Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 24/25 Capitolo MESSAGGI di ERRORE e di CONTROLLO alberto.polzonetti@unicam.it Internet Control Message Protocol Il protocollo è un servizio best

Dettagli

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

Dettagli

Introduzione alle Reti Telematiche

Introduzione alle Reti Telematiche Introduzione alle Reti Telematiche Esercizi Copyright Gruppo Reti Politecnico di Torino INTROUZIONE ALLE RETI TELEMATICHE - 1 Copyright Quest opera è protetta dalla licenza Creative Commons Noerivs-NonCommercial.

Dettagli

Protocollo ICMP, comandi ping e traceroute

Protocollo ICMP, comandi ping e traceroute Protocollo ICMP, comandi ping e traceroute Internet Control Message Protocol Internet Control Message Protocol (ICMP): usato dagli host, router e gateway per comunicare informazioni riguardanti il livello

Dettagli

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Dettagli

Indice. Prefazione XIII

Indice. Prefazione XIII Indice Prefazione XIII 1 Introduzione 1 1.1 Breve storia della rete Internet 1 1.2 Protocolli e standard 6 1.3 Le organizzazioni che definiscono gli standard 7 1.4 Gli standard Internet 10 1.5 Amministrazione

Dettagli

Il firewall Packet filtering statico in architetture avanzate

Il firewall Packet filtering statico in architetture avanzate protezione delle reti Il firewall Packet filtering statico in architetture avanzate FABIO GARZIA DOCENTE ESPERTO DI SECURITY UN FIREWALL PERIMETRALE È IL PUNTO CENTRALE DI DIFESA NEL PERIMETRO DI UNA RETE

Dettagli

Standard di comunicazione

Standard di comunicazione Standard di comunicazione Organizzato a livelli per ridurne la complessità e aumentarne la flessibilità il numero dei livelli e le loro funzionalità dipendono dal tipo di rete ogni livello formalizza un

Dettagli

Gestione degli indirizzi

Gestione degli indirizzi Politecnico di Milano Facoltà di Ingegneria dell Informazione Gestione degli indirizzi -Address Resolution Protocol (ARP) -Reverse Address Resolution Protocol (RARP) -Dynamic Host Configuration Protocol

Dettagli

Reti: unità di misura

Reti: unità di misura Reti: unità di misura bandwidth: range di frequenze usate per la trasmissione del segnale elettromagnetico che codifica l informazione misurata in Hertz (Hz) bit rate: #bit trasmissibili su canale per

Dettagli

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale

Dettagli

Dipartimento di Ingegneria dell Informazione e Metodi Matematici Laboratorio di Reti Prof. Fabio Martignon

Dipartimento di Ingegneria dell Informazione e Metodi Matematici Laboratorio di Reti Prof. Fabio Martignon Università di Bergamo Dipartimento di Ingegneria dell Informazione e Metodi Matematici Laboratorio di Reti Prof. Fabio Martignon Università di Bergamo Dipartimento di Ingegneria dell Informazione e Metodi

Dettagli

Tecniche di Comunicazione Multimediale

Tecniche di Comunicazione Multimediale Tecniche di Comunicazione Multimediale Standard di Comunicazione Multimediale Le applicazioni multimediali richiedono l uso congiunto di diversi tipi di media che devono essere integrati per la rappresentazione.

Dettagli

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 2

Reti di Calcolatori. Master Bio Info Reti e Basi di Dati Lezione 2 Reti di Calcolatori Sommario Software di rete TCP/IP Livello Applicazione Http Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) I Protocolli di comunicazione

Dettagli

Approfondimento di Marco Mulas

Approfondimento di Marco Mulas Approfondimento di Marco Mulas Affidabilità: TCP o UDP Throughput: banda a disposizione Temporizzazione: realtime o piccoli ritardi Sicurezza Riservatezza dei dati Integrità dei dati Autenticazione di

Dettagli

Livello trasporto: TCP / UDP. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 14 TCP/UDP - 1/35.

Livello trasporto: TCP / UDP. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 14 TCP/UDP - 1/35. Livello trasporto: TCP / UDP Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 14 TCP/UDP - 1/35 TCP e UDP Internet Protocol (IP) fornisce un servizio non affidabile di trasmissione

Dettagli

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

Dettagli

Gestione degli indirizzi

Gestione degli indirizzi Politecnico di Milano Advanced Network Technologies Laboratory Gestione degli indirizzi - Address Resolution Protocol (ARP) - Reverse Address Resolution Protocol (RARP) - Dynamic Host Configuration Protocol

Dettagli

Sicurezza delle reti 1. Lezione IV: Port scanning. Stato di una porta. Port scanning. Mattia Monga. a.a. 2010/11

Sicurezza delle reti 1. Lezione IV: Port scanning. Stato di una porta. Port scanning. Mattia Monga. a.a. 2010/11 1 Mattia Lezione IV: Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2010/11 1 c 2011 M.. Creative Commons Attribuzione-Condividi allo stesso modo

Dettagli

Uso di UDP per client-server UDP. Porte e multiplexing. TCP e UDP. Connessione TCP (o messaggio UDP) Caratteristiche delle porte TCP e UDP

Uso di UDP per client-server UDP. Porte e multiplexing. TCP e UDP. Connessione TCP (o messaggio UDP) Caratteristiche delle porte TCP e UDP CP e UDP: il livello trasporto dell'architettura CP/IP Antonio Lioy < lioy@polito.it > 7 6 5 4 3 network OSI vs. CP/IP packet process (DNS, HP, SMP, ) (CP, UDP) network (IP) Politecnico di orino Dip. Automatica

Dettagli

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet Indirizzi Internet e Protocolli I livelli di trasporto delle informazioni Comunicazione e naming in Internet Tre nuovi standard Sistema di indirizzamento delle risorse (URL) Linguaggio HTML Protocollo

Dettagli

Reti diverse: la soluzione nativa

Reti diverse: la soluzione nativa Reti diverse: la soluzione nativa Quando si deve trasmettere un messaggio attraverso reti diverse, per il mezzo fisico, per il protocollo di accesso o altro, a che livello si colloca la procedura di traduzione

Dettagli

La Videosorveglianza Criteri per il dimensionamento dello storage

La Videosorveglianza Criteri per il dimensionamento dello storage La Videosorveglianza Criteri per il dimensionamento dello storage Serie vol 1005/2010 L importanza di registrare le immagini video Il valore di un sistema di videosorveglianza non dipende solo dall abilità

Dettagli

Reti e Sistemi per l Automazione MODBUS. Stefano Panzieri Modbus - 1

Reti e Sistemi per l Automazione MODBUS. Stefano Panzieri Modbus - 1 MODBUS Stefano Panzieri Modbus - 1 La Storia Diventa uno STANDARD nel 1979 Nato come protocollo di comunicazione SERIALE si è successivamente adattato alle specifiche TCP/IP Permette una comunicazione

Dettagli

Elementi sull uso dei firewall

Elementi sull uso dei firewall Laboratorio di Reti di Calcolatori Elementi sull uso dei firewall Carlo Mastroianni Firewall Un firewall è una combinazione di hardware e software che protegge una sottorete dal resto di Internet Il firewall

Dettagli

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO Corso DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO Docente: Ing. Luca Romanelli Mail: romanelli@baxsrl.com Networking NAT 1 Sommario L indirizzamento privato e pubblico I meccanismi di address

Dettagli

Universal Serial Bus (USB)

Universal Serial Bus (USB) Universal Serial Bus (USB) Standard per la connessione di periferiche al personal computer (proposto verso la metà degli anni 90 da un pool di società tra cui Intel, IBM, Microsoft,..) Obiettivi principali:

Dettagli