La rete in dettaglio: rete esterna (edge): applicazioni e host rete interna (core): router interconnessione di reti reti di accesso, mezzi fisici: link di comunicazione 1-1 Elementi di una rete Circuito o Canale Client Nodo dial-up Server Host End System Host Link o Mezzo Trasmissivo End System Percorso o Circuito End-to-End 1-2 La rete esterna (edge): Host, end system, terminali: eseguono programmi applicativi es. Web, email al “bordo della rete” Modello client/server il client host richiede e riceve servizi da un server es. Web browser/server; email client/server Modello peer-peer: utilizzo minimo (o nullo) di server dedicati es. Gnutella, KaZaA 1-3 Network edge: servizio connection-oriented Obiettivo: trasferimento Servizio TCP [RFC 793] di dati tra sistemi handshaking: setup “iniziale” per il trasferimento dati Ciao, come va? protocollo umano “stato” di set up nei due host che devono comunicare TCP - Transmission Control Protocol servizio di Internet orientato alla connessione Trasferimento di flusso di byte affidabile e in ordine perdita: riscontri e ritrasmissioni controllo di flusso: la sorgente non satura il destinatario controllo di congestione: le sorgenti “diminuiscono la velocità di trasmissione” quando la rete è congestionata 1-4 Network edge: servizio connectionless Obiettivo: trasferimento Applicaz. che usano TCP: di dati tra sistemi lo stesso di prima! UDP - User Datagram Protocol [RFC 768]: servizio di Internet senza connessione trasferimento dati inaffidabile nessun controllo di flusso nessun controllo di congestione HTTP (Web), FTP (file transfer), Telnet (remote login), SMTP (email) Applicaz. che usano UDP: Audio/video streaming, videoconferenza, DNS, Internet telephony 1-5 Rete interna (core network) “Maglia” di router inteconnessi la domanda fondamentale: Come vengono trasferiti i dati attraverso la rete? Commutazione di circuito (circuit switching): circuito dedicato alla chiamata: rete telefonica Commutazione di pachetto) packet-switching: dati trasmessi a “pezzi” (pacchetti) attraverso la rete 1-6 Rete interna: Commutazione di circuito Risorse riservate end-toend per l’intera “sessione” Instaurazione della “chiamata” I commutatori di rete creano un circuito su un link di comunicazione Canale e larghezza di banda riservati Velocità di trasferimento dati costante e garantita 1-7 Rete interna: Commutazione di circuito Risorse di rete (es., banda) divisa in “parti” ogni “parte” allocata ad una chiamata “parte” della risorsa inattiva quando non utilizzata dalla chiamata (non c’è condivisione) divisione della banda di frequenze del link in “parti” divisione di frequenza divisione di tempo 1-8 Commutazione di circuito: FDM e TDM Esempio: FDM 4 utenti parte della banda per tutto il tempo frequenza tempo TDM tutta la banda per parte del tempo frequenza tempo 1-9 Commutazione di circuito: FDM e TDM FDM : Frequency Division Multiplexing banda di frequenza dedicata Es. 4 kHz per comunicazione telefonica TDM : Time Division Multiplexing frame (trama) e slot (blocco) Velocità circuito = Velocità frame * n. bit in uno slot Esempio: link trasmette a 8000 frame/s 1 slot contiene 8 bit Velocità di trasmissione = 8000 * 8 = 64 kbps link con n circuiti banda circuito = 1/n banda link 1-10 Commutazione di pacchetto ogni messaggio è suddiviso in contesa delle risorse: pacchetti domanda di risorse può i pacchetti di più utenti eccedere disponibilità condividono le stesse risorse di store and forward: i pacchetti rete si muovono di un hop (salto) alla ogni pacchetto utilizza il link volta alla massima velocità (banda) appena possibile (best effort) ricezione dell’intero risorse utilizzate quando pacchetto in ingresso necessario accodamento e trasmissione sul link di uscita ritardo di store and forward Divisione della banda in “parti” congestione: coda di pacchetti Allocazione dedicata (buffer in uscita), attesa per Risorse riservate utilizzare il link => ritardo di coda 1-11 Comm. di pacchetto: Multiplazione statistica 10 Mbps Ethernet A B statistical multiplexing C 1.5 Mbps coda di pacchetti in attesa sul link di uscita D E La sequenza dei pacchetti di A e B non segue un ordine preciso statistical multiplexing. Differente dal TDM 1-12 Comm. di pacchetto: store-and-forward L R Necessari L/R secondi R per trasmettere pacchetti di L bit su un link di R bps L’intero pacchetto deve arrivare al router prima di essere trasmesso al link successivo: store and forward ritardo (delay) = 3L/R R Esempio: L = 7.5 Mbits R = 1.5 Mbps delay = 15 sec Ritardi di propagazione e di coda trascurabili 1-13 Comm. di pacchetto vs. comm. di circuito La commutazione di pacchetto consente l’utilizzazione della rete a un numero più alto di utenti 1 Mbps link ogni utente: 100 kbps quando è “attivo” attivo il 10% del tempo circuit switching: 10 utenti packet switching: N utenti 1 Mbps link con 35 utenti, probabilità 11+ utenti attivi < .0004 stesse prestazioni con numero di utenti tre volte superiore 1-14 Comm. di pacchetto vs. comm. di circuito Packet switching ottimale per i dati di tipo “a burst” migliore suddivisione delle risorse più semplice, senza setup della chiamata Congestione eccessiva: ritardi e perdite dei pacchetti protocolli specifici necessari per trasferimento dati affidabile, controllo della congestione Come fornire un comportamento tipo circuito? garanzia sulla banda necessaria per applicazioni audio/video 1-15 Comm. pacchetto: Frammentazione messaggio Frammentazione dei messaggi in pacchetti a livello applicazione nell’host Commutazione di messaggio vs. commutazione di pacchetto Il commutatore deve ricevere l’intero messaggio prima di inviarlo al link di uscita Esempio: L = 7.5 Mbits R = 1.5 Mbps delay = 15 sec 1-16 Comm. pacchetto: Frammentazione messaggio Spezziamo il messaggio in 5000 pacchetti Ogni pacchetto: 1500 bit 1 msec per trasmettere un pacchetto in un link pipeline: ogni link lavora in parallelo Ritardo ridotto da 15 sec a 5.002 sec Eventuale ritrasmissione Svantaggi di un solo pacchetto Informazioni di controllo, inserite nell’header (intestazione), necessarie per ogni pacchetto Sovraccarico (overhead) maggiore 1-17 Comm. di pacchetto: Inoltro pacchetti Obiettivo: muovere i pacchetti attraverso i router dalla sorgente alla destinazione Reti a circuito virtuale (VC – Virtual Circuit): ogni pacchetto porta un’etichetta (virtual circuit ID), l’etichetta (tag) determina l’hop successivo percorso stabilito all’inizio della sessione (setup), rimane fissato durante la sessione i router mantengono le informazioni di stato sulle connessioni A 1 CP1 3 CP3 2 1 CP2 2 3 CP4 B Interf. n. Vc Interf. n. Vc ingresso ingresso uscita uscita 1 12 2 22 2 63 1 18 3 7 2 17 1 97 3 87 … … … … 1-18 Comm. di pacchetto: Inoltro pacchetti Reti datagram: L’indirizzo di destinazione (destination address) nel pacchetto determina l’hop successivo struttura gerarchica dell’indirizzo analogia: servizio postale ogni pacchetto può seguire un percorso diverso i router non mantengono le informazioni di stato sulle connessioni (stateless) Internet è una rete datagram 1-19 Tassonomia della rete Reti per telecomunicazioni Reti a commut. di circuito FDM TDM Reti a commut. di pacchetto Reti con VC Reti datagram • Le reti Datagram non sono nè connection-oriented nè connectionless. • Internet fornisce alle applicazioni sia servizi connectionoriented (TCP) che connectionless (UDP) 1-20