Comments
Description
Transcript
Reti
Introduzione alle reti Sommario: ! cosa e’ Internet ! cosa e’ un protocollo ! estremita’ della rete ! nucleo della rete ! rete di accesso, mezzi fisici ! performance: perdita, ritardo ! livelli dei protocolli, modelli di servizio ! backbones, NAPs, ISPs ! storia Introduction Kurose, Ross, Internet e reti di calcolatori 1 Internet: visione fisica ! milioni di dispositivi di calcolo : router hosts, end-systems (terminali) ! ! pc’s workstations, servers PDA’s phones, toasters su cui girano applicazioni di rete ! communication links (collegamenti) ! ! server workstation mobile local ISP regional ISP fibra di vetro, rame, radio, satellite routers: spediscono pacchetti (chunks) di dati attraverso la rete company network Introduction Kurose, Ross, Internet e reti di calcolatori 2 Internet: visione fisica ! protocolli: regole per router controllare lo scmabio di messaggi: ! e.g., TCP, IP, HTTP, FTP, PPP ! Internet: “rete di reti” ! debolmente gerarchica ! Internet pubblica versus intranet privata ! Internet standards ! RFC: Request for comments ! IETF: Internet Engineering Task Force server workstation mobile local ISP regional ISP company network Introduction Kurose, Ross, Internet e reti di calcolatori 3 Internet: visione orientata ai servizi ! Infrastruttura di communicazione permette applicazioni distribuite: ! ! WWW, email, giochi, ecommerce, database, voto elettronico, more? ! Servizi di comunicazione forniti: ! ! senza connessione orientati alla connessione ! cyberspace [Gibson]: “a consensual hallucination experienced daily by billions of operators, in every nation, ...." Introduction Kurose, Ross, Internet e reti di calcolatori 4 Cosa e’ un protocollo? Protocolli umani: ! “che ora e’?” ! “I have a question” ! introduzioni … specifici msg spediti … specificche azioni intraprese quando i msg sono ricevuti Protocolli di rete: ! macchine (invece che umani) ! tutta l’attivita’ di communicazione in Internet regolata da protocolli I protocolli definiscono il formato e l’ordine dei msg spediti fra entita’ di rete, e le azioni da fare alla trasmissione o al ricevimento di msg Introduction Kurose, Ross, Internet e reti di calcolatori 5 Cosa e’ un protocollo? Un protocollo umano ed un protocollo di rete: Ciao TCP connection req. Ciao TCP connection reply. Che ora e’ ? Get http://gaia.cs.umass.edu/index.htm 2:00 <file> time Q: Altri protocolli umani ? Introduction Kurose, Ross, Internet e reti di calcolatori 6 La struttura della rete ! Estremita’ della rete: applicazioni e host ! nucleo della rete: routers ! rete di reti ! ! rete di accesso e mezzi fisici: communication links (collegamenti) Introduction Kurose, Ross, Internet e reti di calcolatori 7 Le estremita’ della rete: ! end systems (hosts, terminali): ! ! ! ci ``girano’’ i programmi applicativi e.g., WWW, email at “edge of network” ! modello client/server ! ! il client richiede e riceve servizi dal server e.g., WWW client (browser)/ server; email client/server ! peer-peer model: ! ! interazioni simmetrica fra host ``pari’’ e.g.: teleconferenza Introduction Kurose, Ross, Internet e reti di calcolatori 8 Servizio orientato alla connessione Scopo: trasferimento di dati fra end-systems (terminali). ! handshaking: fase di preparazione prima del trasferimento dei dati: ! ! ! Ciao -- Ciao (protocollo umano) prepara lo ``stato’’ in due terminali che devono comunicare ! TCP - Transmission Control Protocol ! e’ il servizio orientato alla connessione di Internet Servizio fornito daTCP [RFC 793] ! traserimento di byte-stream affidabile e ordinato ! ! controllo del flusso: ! ! perdita: segnali di ack (riscontro) e ritrasmissione il sender non sovraccarica il receiver controllo congestione: ! sender rallenta la velocita’ di invio se la rete e’ congestionata Introduction Kurose, Ross, Internet e reti di calcolatori 9 Servizio senza connessione Scopo: trasferimento di dati fra terminali (come prima) ! UDP - User Datagram Protocol [RFC 768]: e’ il servizio senza connessione di Internet ! trasferimento dati inaffidabile ! no controllo flusso ! no controllo congestione Applicazioni che usano TCP: ! HTTP (WWW), FTP (file transfer), Telnet (remote login), SMTP (email) Applicazioni che usanoUDP: ! app. multimediali, teleconferenze, telefonia via Internet .. Introduction Kurose, Ross, Internet e reti di calcolatori 10 Il nucleo della rete ! mesh (maglia) di routers interconessi ! domanda di base: come sono trasferiti idati attraverso la rete ? ! Commutazione di circuito: un circuito dedicato per chiamata (rete telefonica) ! commutazione di pacchetto: dati spediti attraverso la rete in pacchetti discreti Introduction Kurose, Ross, Internet e reti di calcolatori 11 Commutazione di circuito Risorse riservate per ogni ‘’chiamata’’ ! capacita’ del circuito = 1/n banda del link ! risorse mantenute per tutto il collegamento (nessuna condivisione) ! performance (garantita) simile ad un circuito fisico ! richiesta fase di inizializzazione della chiamata (call-setup) Introduction Kurose, Ross, Internet e reti di calcolatori 12 Commutazione di pacchetto end-end data stream diviso a pachetti ! pacchetti di utenti diversi condividono le risorse ! ogni pacchetto usa tutta la banda del link ! risorse usate in base al bisogno Divisione della banda in parti allocazione dedicata prenotazione risorse Competizione per risorse: ! la domanda totale puo’ eccedere la disponibilita’ ! congestione: pacchetti si accodano aspettando di usare il link ! store and forward: packets si muovono un passo alla volta: ! trasmetti sul link ! aspetta il turno al prossimo link Introduction Kurose, Ross, Internet e reti di calcolatori 13 Commutazione di pacchetto 10 Mbs Ethernet A B statistical multiplexing C 1.5 Mbs Coda di pacchetti in attesa per il link di output D 45 Mbs E Commutazione di pacchetto -- commutazione di circuito: analogia con il ristorante ! altre ? Introduction Kurose, Ross, Internet e reti di calcolatori 14 Commutazione di pacchetto* Comportamento store and forward (memorizza e trasmetti) Perche’ non commutazione di messaggio ? Introduction Kurose, Ross, Internet e reti di calcolatori 15 Commutazione di pacchetto vs. commutazione di circuito* Commutazione di pacchetto permette l’utilizzo della rete a piu’ utenti ! 1 Mbit link ! ogni utente: ! ! 100Kbps se “attivo” attivo 10% del tempo N users ! circuit-switching: ! 1 Mbps link 10 utenti ! packet switching: ! ! con 35 utenti, probabilita’ > 10 attivi minore di .0004 Introduction Kurose, Ross, Internet e reti di calcolatori 16 Commutazione di pacchetto vs. commutazione di circuito* Commutazione pacchetto ! Ottima per dati ``a ondate’’ ! condivisione ! no di risorse call setup ! Eccessiva congestione: ritardo e perdita di pacchetti ! protocolli necessari per trasferimenti affidabili, controllo della congestione ! Come procurare un comportamento tipo circuito ? ! Garanzia di banda necessaria per applicazioni audio/video (problema ancora aperto) Introduction 17 Kurose, Ross, Internet e reti di calcolatori Reti a commutazione di pacchetto: routing ! Goal: spostarei pacchetti attraverso i routers dalla sorgente a destinazione ! rete datagram: ! l’indirizzo di destinazione determina il prossimo salto ! il cammino puo’ cambiare durante la sessione ! analogia: guidare e chiedere indicazioni Introduction Kurose, Ross, Internet e reti di calcolatori 18 Reti di accesso e mezzi fisici Q: Come connettere gli end sytems al router ? ! Reti di accesso domestiche ! reti di accesso istituzionali (scuola, azienda) ! reti mobili Nota: ! banda (bits per secondo) della rete di accesso ? ! Condivisa o dedicata? Introduction Kurose, Ross, Internet e reti di calcolatori 19 Reti domestiche: accesso punto a punto ! Collegamento tramite modem fino a 56Kbps per l’accesso diretto al router (in principio) ! ISDN: intergrated services digital network: 128Kbps connessione interamente digitale al router ! ADSL: asymmetric digital subscriber line ! fino a 1 Mbps home-to-router ! fino a 8 Mbps router-to-home ! Introduction Kurose, Ross, Internet e reti di calcolatori 20 Reti domestiche: accesso condiviso (modem per cavi coassiali) ! HFC: hybrid fiber coax ! asimmetric: fino a 10Mbps upstream, 1 Mbps downstream ! reti di cavi e fibra ottica collegano le case al router ! ! ! trasmissione per broadcast accesso condiviso al router (anche con la televisione) congestione (dimensionamento) ! disponibile mediante le compagnie che forniscono servizi via cavo Introduction Kurose, Ross, Internet e reti di calcolatori 21 Reti istituzionali: LAN ! La local area network (LAN) di una istituzione collega endsystems ad un edge router ! Ethernet: ! cavo condiviso o dedicato connette end system e router ! 10 Mbs, 100Mbps, Gigabit Ethernet ! diffusa presso istituzioni, comunque esistono anche LAN domestiche Introduction Kurose, Ross, Internet e reti di calcolatori 22 Reti wireless wireless condivisa connette end system al router ! wireless LANs: ! Rete di acesso radio invece del cavo ! e.g., Lucent Wavelan 10 Mbps ! router base station ! accesso senza fili per reti wide-area ! CDPD: accesso wireless al router dell’ ISP router via rete cellulare Introduction Kurose, Ross, Internet e reti di calcolatori mobile hosts 23 Mezzi fisici ! Link fisico: i bit trasmessi si propagano attraverso il mezzo trasmissivo ! mezzi guidati: ! i segnali si propagano attraverso mezzi solidi: rame, fibra Doppino (TP) ! due fili di rame isolati Categoria 3: fili telefonici tradizionali, 10 Mbps ethernet ! Categoria : 100Mbps ethernet ! ! mezzi non guidati: ! i segnali si preparano liberamente (radio) Introduction Kurose, Ross, Internet e reti di calcolatori 24 Mezzi fisici: cavo coassiale, fibra ottica Cavo coassiale: ! cavo (segnale) dentro un altro cavo (shield) banda base: canale singolo sul cavo ! banda larga: canali multipli sul cavo ! ! bidirezionale ! use comune in 10Mbs Ethernet Cavo in fibra ottica: ! fibra di vetro che trasmette impulsi luminosi ! alta velocita’: 100Mbps Ethernet ! punto a punto veloce (e.g., 5 Gps) ! ! pochi errori Introduction Kurose, Ross, Internet e reti di calcolatori 25 Mezzi fisici: radio ! Segnale nello spettro elettromagnetico ! nessuno cavo ! bidirezionale ! effetti ambientali sulla propagazione: riflessi ! ostacoli ! interferenza ! Tipi di collegamenti radio: ! microwave ! canali fino a 45 Mbps channels ! LAN (e.g., waveLAN) ! 2Mbps, 11Mbps ! wide-area (e.g., cellular) ! e.g. CDPD, 10’s Kbps ! satellite ! fino a 50Mbps channel (ocanali multipli inferiori) ! 270 Msec ritardo end-end ! geosincroni o orbita fissa Introduction Kurose, Ross, Internet e reti di calcolatori 26 Ritardo nella reti a commutazione di pacchetto* ! Eleborazione del nodo: I pacchetti accumulano un ritado nel cammino end-to-end ! quattro sorgenti ritardo ad ogni salto ! ! ! controllo bit di errore determina l’ output link Ordine microsecondi ! accodamento ! ! ! tempo in attesa di un link per la trasmissione dipende dal livello di congestione del router Millisecondi-microsec. transmission A propagation B nodal processing queueing Introduction Kurose, Ross, Internet e reti di calcolatori 27 Ritardo nella reti a commutazione di pacchetto * Ritardo di trasmissione: ! R=banda del link (bps) ! L=lunghezza pacchetto (bits) ! tempo per spedire bits nel link = L/R Ritardo di propagazione: ! d = lunghezza fisica del link ! s = vel. di propagazione (~2x108 m/sec) ! ritardo di propagazione = d/s transmission A propagation Nota: s microsec. nodal R millisec. Reti regionali queueing processing Introduction 28 Kurose, Ross, Internet e reti di calcolatori B Ritardo di accodamento* ! R=banda del link (bps) ! L=lunghezza pacchetto (bits) ! a=velocita media di arrivo dei pacchetti Intensita’ del traffico =La/R ! La/R ~ 0: ritardo accodamento medio piccolo ! La/R -> 1: ritardo grande ! La/R > = 1: ritardo infinito (arrivano piu’ pacchetti di quanti possano essere serviti) ! Introduction Kurose, Ross, Internet e reti di calcolatori 29 Protocolli organizzati a livelli Le resti sono complesse molti ``ingredienti’’ hosts routers links di vari tipi applicazioni protocolli hardware, software Domanda: Come organizzare la struttura della rete ? (O almeno la presentazione delle reti) Introduction Kurose, Ross, Internet e reti di calcolatori 30 Organizzazione di una viaggio aereo biglietto (acquisto) biglietto (reclamo) bagaglio (check) bagaglio (recupero) gates (imbarco) gates (sbarco) pista (decollo) pista (atterraggio) aero (rotta) aereo (rotta) aero (routing) !Una serie di passi Introduction Kurose, Ross, Internet e reti di calcolatori 31 Organizzazione di un viaggio aereo: una vista diversa biglietto (acquisto) biglietto (reclamo) bagaglio (check) bagaglio (recupero) gates (imbarco) gates (sbarco) pista (decollo) pista (atterraggio) aero (rotta) aereo (rotta) Aereo routing Livelli: ogni livello implementa un servizio ! attraverso le proprie azioni interne (al livello) ! usando servizi offerti dai livelli sottostanti Introduction Kurose, Ross, Internet e reti di calcolatori 32 Viaggio aereo a livelli: servizi Sportello-Sportello: consegna persone+bagagli cons.bagaglio-rec. bagaglio: consegna bagagli gate partenza- gate arrivo: trasfer. persone: pista-a-pista: consegna dell’aereo aero routing dall’origine alla destinazione Introduction Kurose, Ross, Internet e reti di calcolatori 33 biglietto (acquisto) biglietto (reclamo) bagaglio (check) bagaglio (recupero) gates (imbarco) gates (sbarco) pista (decollo) pista (atterraggio) aero (rotta) aereo (rotta) Aeroporto arri. Aeroporto Part. Implementazione distribuita delle funzionalita’ dei livelli Luoghi intermerdi del traffico aereo Rotta aereo Rotta aereo Rotta aereo Introduction Kurose, Ross, Internet e reti di calcolatori 34 Perche’ i livelli Trattamento sistemi complessi: ! la struttura esplicita permette l’identificazione e la relazione di parti di sistemi complessi ! reference model a livelli per la discussione ! la modularizzazione facilita il mantenimento, e l’updating del sistema ! cambiamenti nella implementazione dei servizi di un livello sono trasparenti al resto del ! per esempio, un cambio nelle procedure del gate non modifica il resto del sistem. ! livelli considerati pericolosi ? Introduction Kurose, Ross, Internet e reti di calcolatori 35 Pila dei protocolli di Internet ! applicazione: supporta le applicazioni di rete ! ftp, smtp, http ! trasporto: trasferimento dati host-host ! tcp, udp ! rete: routing dei datagrams dal sorgente alla destinazione ! ip, protocolli di routingh ! link: trasferimento dati fra elementi della rete vicini ! ppp, ethernet ! fisico: bits “sul cavo” Introduction Kurose, Ross, Internet e reti di calcolatori Applicazione trasporto rete link fisico 36 Livelli: comunicazione logica Ogni livello: ! distribuito ! “entita’ ” implementano le funzioni del livello ad ogni nodo ! entita’ eseguono azioni, scambiano messaggi con pari applicazione trasporto rete link fisico rete link fisico applicazione trasporto rete link fisico applicazione trasporto rete link fisico Introduction Kurose, Ross, Internet e reti di calcolatori applicazione trasporto rete link fisico 37 Livelli:comunicazione logica E.g.: trasporto ! prende dati da app ! aggiunge indirizzamento, controlli per affidabilita’, informazioni per formare “segmenti” ! spedisce segmenti ad un ``pari’’ ! aspetta la ricevuta (ack) ! analogia: ufficio postale dati applicazione trasporto trasporto rete link fisico applicazione trasporto rete link fisico ack dati rete link fisico applicazione trasporto rete link fisico Introduction Kurose, Ross, Internet e reti di calcolatori dati applicazione trasporto trasporto rete link fisico 38 Livelli: comunicazione fisica data applicazione trasporto rete link fisico applicazione trasporto rete link fisico rete link fisico applicazione trasporto rete link fisico Introduction Kurose, Ross, Internet e reti di calcolatori data applicazione trasporto rete link fisico 39 Livelli dei protocolli e dati Ogni livello prende i dati da sopra ! aggiunge intestazioni per formare nuove data unit ! passa le nuove data unit al livello sottostante sorgente M applicazione trasporto Ht M rete Hn Ht M link Hl Hn Ht M fisico destinazione applicazione Ht trasporto rete Hn Ht link Hl Hn Ht fisico Introduction Kurose, Ross, Internet e reti di calcolatori M messaggio M segmento M M datagram frame 40 Struttura di Internet: rete di reti ! Piu’ o meno gerarchica ! nazionali/internazonali backbone providers (NBP) ! ! e.g. BBN/GTE, Sprint, AT&T, IBM, UUNet si connettono (come pari) privatamente oppure usando Network Access Point (NAP) pubblici ! ISP regionali ! si connettono agli NBP ! ISP locali, azienda ! ISP locale ISP regionale NBP B NAP NAP NBP A si connettono agli ISP regionali ISP regionale ISP locale Introduction Kurose, Ross, Internet e reti di calcolatori 41 National Backbone Provider e.g. BBN/GTE US backbone network Introduction Kurose, Ross, Internet e reti di calcolatori 42 Storia di Internet 1961-1972: primi principi della commutazione di pacchetto ! 1961: Kleinrock - la teoria della coda mostra la fattibilita’ della commutazione di pacchetto ! 1964: Baran commutazione di pacchetto in reti militari ! 1967: ARPAnet concepita Advanced Reearch Projects Agency ! 1969: primo nodo ARPAnet operativo ! 1972: ARPAnet mostrata in pubblico ! NCP (Network Control Protocol) primo protocollo ! primo proramma per email ! ARPAnet ha 15 nodi ! Introduction Kurose, Ross, Internet e reti di calcolatori 43 Storia di Internet 1972-1980: Internetworking, reti nuove e proprietarie ! 1970: ALOHAnet rete satellitare ! ! ! ! ! alle Hawaii 1973: Tesi PhD di Metcalfe propone Ethernet 1974: Cerf and Kahn architetture per connettere reti fine anni 70: architetture proprietarie: DECnet, SNA, XNA fine anni 70 : commutazione di pacchetti a lunghezza fissa (precursore ATM) 1979: ARPAnet ha 200 nodi I principi di interconnessione di Cerf and Kahn’s: ! minimalismo, autonomia nessun cambiamento interno richiesto per connettere reti fra loro ! modello di servzio ``best effort’’ (miglior sforzo) ! routers senza stato ! controllo decentralizzato definiscono l’architettura di Internet di oggi! Introduction Kurose, Ross, Internet e reti di calcolatori 44 Storia di Internet 1980-1990: nuovi protocolli, proliferazione di reti ! 1983: sviluppo di TCP/IP ! 1982: definizione protocollo smtp e-mail ! 1983: definito DNS per traduzione nome-indirizzo IP ! 1985: definizione protocollo ftp ! 1988: controllo congestione TCP ! Nuove reti nazionali: Csnet, BITnet, NSFnet, Minitel ! 100,000 host connessi a confederazioni di reti Introduction Kurose, Ross, Internet e reti di calcolatori 45 Internet History Anni 90: commercializazione, il WWW ! Primi anni 90: ARPAnet chiusa ! 1991: NSF impone restrizione dull’uso commrciale di NSFnet (chiusa 1995) ! Primi anni 90: WWW ! ipertesto [Bush 1945, Nelson 1960’s] ! HTML, http: Berners-Lee ! 1994: Mosaic, dopo Netscape ! fine anni 90: commercializazione del WWW Fine anni 90: ! stimati 50 milioni di computer su Internet ! stimati + di 100 millioni di utenti ! link di backbone a 1 Gbps Introduction Kurose, Ross, Internet e reti di calcolatori 46