Cosa è Internet? - Dipartimento di Informatica
Transcript
Cosa è Internet? - Dipartimento di Informatica
Internet router • Milioni di dispositivi computazionali connessi in rete: hosts, end-systems Cosa è Internet? server workstation mobile ISP: Milano – Pc, workstation, server – PDA, cellulari, frigoriferi ISP: Catania • Collegamenti – Fibre ottiche, ponti radio, satellite, • router: compito di inoltrare pezzi di dati lungo la rete Rete di Ateneo Pisa 1 Internet • Protocolli di comunicazione: meccanismi per la trasmissione dei messaggi – TCP, IP, HTTP, FTP, PPP 2 Internet: una visione a servizi router server workstation mobile ISP Milano • Internet: “network of networks” ISP Catania – gerarchica • Internet: standard • Infrastruttura di comunicazione che permette lesecuzione di applicazioni distribuite: – WWW, email, e-commerce, Information Retrieval, sit, P2P, e-goverment – altro? • Servizi: – RFC: Request for comments – IETF: Internet Engineering Task Force – connectionless – connection-oriented Rete di Ateneo Pisa • cyberspazio 3 4 1 Protocolli di comunicazione? Comunicazione tra persone: • “Che tempo fa?” • “Mi consenta” • Presentazione formale … invio di determinati msg … azioni di risposta alla recezione del msg Protocolli di comunicazione Comunicazione di rete: • Scambio di informazioni tra dispositivi computazionali • Protocolli regolano il flusso delle comunicazioni Ciao TCP connection req. Ciao TCP connection reply. Che ora è? Get http://www.di.unipi.it/index.htm 2:30 Protocollo definisce: Formato Ordine dei msg Azioni di risposta <file> tempo Comunicazione tra persione vs comunicazione di rete: 5 La struttura di Internet: 6 • hosts: Internet: Servizi – Applicazioni e servizi di rete – e.g., WWW, email • Applicazioni e Host • Nucleo della rete: • Modello client/server – Host (client) host rinvia una richiesta di servizio, host (server) fornisce il servizio – e.g., WWW client (browser)/ server; email client/server – router – network of networks • Collegamenti fisici: • peer2peer: – Non ci sono server dedicati – Interazione è simmetrica – e.g.: FreeNet, GNUTELLA 7 8 2 Servizi orientati alla connessione Servizi non orientati alla connessione TCP [RFC 793] Obiettivo: trasferimento di dati tra host • handshaking: fase iniziale di inizializzazione – Servizio orientato alla connessione di Internet dati tra host • UDP - User Datagram Protocol [RFC 768]: – Trasferimento non affidabile – Non sono previsti meccanismi per il controllo del flusso e della congestione – Ack+Ritrasmissione • Controllo del flusso: – Sender non deve trasmettere troppo velocemente – “set up” dello stato • TCP - Transmission Control Protocol Obiettivo: trasferimento di • Trasferimento di dati affidabile • Controllo della congestione control: – Sender non deve congestionare il traffico di rete TCP: • HTTP (WWW), FTP (file transfer), Telnet (remote login), SMTP (email) UDP: • Apps video/Audio, teleconferenze, telefonia su Internet 9 10 Nucleo della rete • • Commutazione di circuito Ragnatela di router La domanda fondamentale: Come avviene il trasferimento dei dati nelle reti? – Commutazione di circuito: circuito dedicato per ogni chiamata (rete telefonica) – Commutazione di pacchetto: i dati sono inviati in rete scomponendoli in “pezzi” Allocazione delle risorse per la gestione della chiamata • • • • 11 Banda di trasmissione Risorse dedicate Performance elevata Fase di inizializzazione 12 3 Commutazione di circuito Le risorse di comunicazione di rete (bandwidth) sono suddivise in “parti” allocate alle Commutazione di circuito Due soluzioni possibili frequency division (FDM) time division (TDM) Banda di trasmissione viene suddivisa in parti” – FDM: frequency division – TDM: time division chiamate • Una parte della risorsa rimane inattiva ( idle) se non viene utilizzata (no sharing) 13 Packet Switching FDM -- TDM : FDM 14 Dati sono suddivisi in packets • Packet degli utenti A e B condividono le risorse di rete • ogni packet utilizza la banda al massimo della sua capacità • “resources used as needed” . Non è necessaria una allocazione iniziale di tutte le risorse 4 users frequency time TDM Problematiche: Richiesta di risorse può essere superiore della disponibilità congestione: code “store and forward”: packet fanno un passo alla volta Trasmissione su un link Attesa al link successivo frequency time 15 16 4 Considerazioni finali • Commutazione di pacchetto – Condivisione delle risorse – Non è necessaria la fase di inizializzazione • Congestione: perdita dei pacchetti, ordine di trasmissione – Necessità di meccanismi per garantire laffidabilità del trasferimento • Cosa succede per le applicazioni video/audio? – Ampiezza di banda elevata Problema aperto!! Routing • Obiettivo: Inviare i pacchetti • Reti datagram: – Lindirizzo di destinazione determina il cammino tra i router – Router non hanno informazioni di stato • Circuiti virtuali: – Ogni pacchetto è caratterizzato di un identificatore (virtual circuit ID), – Cammino individuato nella fase di inizializzazione – Router con informazioni di stato 17 Network Taxonomy Come si accede alla rete? Telecommunication networks Circuit-switched networks FDM TDM • Provider (eg tin.it) • Company (e.g SERRA) • Reti mobili (wireless) Packet-switched networks Networks with VCs 18 Datagram Networks • Internet: connection-oriented (TCP) e connectionless services (UDP) alle apps. 19 20 5 Provider Residential access: cable modems • Modem – 56Kbps con accesso diretto • ISDN: intergrated services digital network: 128Kbps • ADSL: asymmetric digital subscriber line – 1 Mbps home-to-router – 8 Mbps router-to-home 21 22 Diagram: http://www.cabledatacomnews.com/cmic/diagram.html Cable Network Architecture: Overview Cable Network Architecture: Overview Typically 500 to 5,000 homes cable headend cable distribution network (simplified) cable headend home cable distribution network (simplified) 23 home 24 6 Cable Network Architecture: Overview Cable Network Architecture: Overview FDM: server(s) V I D E O V I D E O V I D E O V I D E O V I D E O V I D E O D A T A C O N D T A R T O A L 1 2 3 4 5 6 7 8 9 Channels cable headend cable headend cable distribution network home cable distribution network home 25 Reti locali 26 Wireless • Rete locale local area network (LAN) • Ethernet: – 10 Mbs, 100Mbps, Gigabit Ethernet • Accesso tramite una base • LAN wireless: – Comunicazioni radio – e.g., Lucent Wavelan 10 Mbps, BlueTooth router base station • wider-area wireless – Rete dei cellulari – E.g. GPRS, UMTS 27 mobile hosts 28 7 Home networks Componenti di base: • ADSL oppure cable modem • router/firewall • Ethernet • wireless access point to/from cable headend cable modem La struttura di Internet wireless laptops router/ firewall wireless access point Ethernet (switched) Internet structure: network of networks • roughly hierarchical • at center: “tier-1” ISPs (e.g., UUNet, BBN/Genuity, Sprint, AT&T), national/international coverage – treat each other as equals Tier-1 providers interconnect (peer) privately Tier 1 ISP Tier 1 ISP 30 29 NAP Tier-1 ISP: e.g., Sprint Sprint US backbone network Tier-1 providers also interconnect at public network access points (NAPs) Tier 1 ISP 31 32 8 Internet structure: network of networks • “Tier-2” ISPs: smaller (often regional) ISPs – Connect to one or more tier-1 ISPs, possibly other tier-2 ISPs Tier-2 ISP Tier-2 ISP pays tier-1 ISP for connectivity to rest of Internet tier-2 ISP is c ustomer of tier-1 provider Tier-2 ISP Tier 1 ISP Tier 1 ISP Tier 1 ISP Tier-2 ISP NAP Tier-2 ISPs also peer privately with each other, interconnect at NAP Tier-2 ISP Tier-2 ISP 33 Internet structure: network of networks 34 Internet structure: network of networks • “Tier-3” ISPs and local ISPs • a packet passes through many networks! – last hop (“access”) network (closest to end systems) local ISP Local and tier3 ISPs are customers of higher tier ISPs connecting them to rest of Internet Tier 3 ISP Tier-2 ISP local ISP local ISP Tier-2 ISP Tier 1 ISP Tier 1 ISP Tier-2 ISP local local ISP ISP local ISP local ISP local ISP local ISP local ISP Tier-2 ISP Tier 1 ISP NAP Tier 1 ISP Tier-2 ISP local ISP Tier 3 ISP Tier-2 ISP Tier 1 ISP Tier-2 ISP local ISP 35 Tier-2 ISP local local ISP ISP NAP Tier 1 ISP Tier-2 ISP local ISP Tier-2 ISP local ISP 36 9 37 Protocolli e servizi Astrazione Reti sono complicate! • Numerose entità – host – router – collegamenti fisici diversi – applicazioni – servizi – hardware, software 38 • Soluzione informatica per affrontare il problema della complesita • Astrazione porta ad una gerarchia di livelli funzionali Domanda: Siamo in grado di organizzare e gestire in modo coerente tutte queste entità? …. perlomeno in questo corso? 39 – Livello insieme di servizi omogenei – Un livello fornisce servizi al livello superiore 40 10 Livelli: Perchè? Protocolli Stratificazione dei servizi: meccanismo per la gestione della complessità • Struttura di base dellarchitettura di rete • Ogni entita del protocollo e caratterizzata da due interfacce – service interface: operations on this protocol – peer-to-peer interface: messages exchanged with peer • Meccanismo esplicito di strutturazione • Modello di riferimento • Modularità: facilita le modifiche – Modifica di un servizio è locale 41 42 Interfaces Internet Architecture Host 1 High-level object • Internet Engineering Task Force (IETF) • Application vs Application Protocol (FTP, HTTP) Host 2 Service interface High-level object FTP HTTP NV TCP Protocol TFTP UDP Protocol Peer-to-peer interface IP NET1 43 NET2 … NETn 44 11 Stratificazione a livelli Internet protocol stack • application: Ogni livello riceve i dati dal livello superiore • Crea una nuova struttura dati (header) • Invia i dati al livello inferiore application – ftp, smtp, http • transport: transport – tcp, udp • network: routing dei datagrams – ip, routing protocols • link: trasferimento dei dati M Ht M Hn Ht M Hl Hn Ht M link – ppp, ethernet • physical: “on the wire” source network physical destination application transport network link physical application transport network link physical M message Ht M Hn Ht M Hl Hn Ht M segment datagram frame 45 Internet: comunicazione logica Stratificazione a livelli Caratteristiche: • distribuito • Componenti su ogni nodo che realizzano le funzionalità previste • Scambio msg Transport application transport network link physical network application transport network link physical 46 link physical application transport network link physical application transport network link physical 47 • Dati dalle Apps • Crea il “datagram” con lindirizzo • Invia il datagram • Attende il riscontro di ricezione (ack) • Trasporto = Ufficio Postale data application transport transport network link physical application transport network link physical ack data network link physical data application transport network link physical application transport transport network link physical 48 12 Layering: physical communication Web• • Pagina Web: – Insieme di “objects” – Indirizzo tramite URL. • URL: Unifor Resource Locator è lindirizzo di rete di una risorsa (Network Reference) – nome host + path: – www.di.unipi.it/index.html data application transport network link physical network link physical application transport network link physical data application transport network link physical application transport network link physical User agent = browser: – MS Internet Explorer – Netscape Communicator • Server = Web server: – Apache (public domain) – MS Internet Information Server 49 50 HTTPhttp è senza memoria HTTP http: hypertext transfer protocol • Protocollo del WEB • Modello client/server – client: browser che richiede oggetti WEB – server: Web server invia gli oggetti WEB • http1.0: RFC 1945 • http1.1: RFC 2068 PC running Explorer http: basato su TCP: htt pr equ est htt pr esp ons e • • est equ e Server pr ons htt running esp pr NCSA Web htt server Mac running Navigator • • 51 client attiva una connessione TCP (crea il socket) verso il server (porta 80) server accetta la richiesta TCP del client Avviene lo scambio di msg http (application-layer protocol messages) tra il browser (http client) e il Web server (http server) Si chiude la connessione TCP. “stateless” • server non ha informazioni di stato sulle richieste passate problema Protocolli con stato sono complicati! Gestione dello stato Fallimenti 52 13 HTTP: Esempi Connessioni HTTP Non Persistenti • Un oggetto viene trasmesso su una connessione TCP. • HTTP/1.0: nonpersistent HTTP Supponiamo di voler aprire una pagina con indirizzo www.someSchool.edu/someDepartment/home.index (testo e riferimenti a 10 oggetti JPEG) Persistenti • Un insieme di oggetti possono essere scambiati sulla stessa connessione TCP • HTTP/1.1: persistent connections -- default mode 1a. http (client) richiede una connessione TCP con il WEB server allindirizzo www.someSchool.edu. La porta 80 è la porta di default per I server http. 1b. http (server) all’indirizzo www.someSchool.edu è in attesa sulla porta 80. Accetta la richiesta di connessione 2. http (client) invia un messaggio di richiesta (con la URL) nella connessione TCP 53 3. http (server) riceve la richiesta e invia il messaggio di risposta con l’informazione richiesta (la pagina WEB someDepartment/home.index), sulla connessione TCP time 54 Connessioni persistenti e nonpersistenti Esempio (cont.) Non-persistenti • HTTP/1.0 • Server: 4. http (server) chiude la connessione TCP. 5. http (client) riceve la risposta con il file html. “Parsing” del file html si trovano i 10 riferimenti agli oggetti jpeg – valutare la richiesta, – inviare la risposta, – chiudere la connessione TCP • 2 RTT per scaricare un oggetto time 6. Si ripetono i passi 1-5 per tutti gli oggetti JPEG 55 Persistenti • default per la versione HTTP/1.1 • Server utilizza la stessa connessione TCP per – valutare la richiesta, – inviare la risposta, – chiudere la connessione • Client invia le richieste subito dopo aver determinato lindirizzo (minore RTT). 56 14 Connessioni HTTP Nonpersistent HTTP: • richiede 2 RTTs per oggetto • Allocazione delle risorse per ogni connessione TCP – Ma spesso I brower aprono connessioni parallele Persistent HTTP • server lascia le connessioni aperte dopo aver inviato la risposta • Messaggi consecutivi utilizzano la stessa connessione Persistent without pipelining: • client effettua una richiesta solamente dopo aver ricevuto la risposta della richieste precedente Persistent with pipelining: • default -- HTTP/1.1 • Il cliente invia una richiesta non appena incontra un riferimento 57 15