Flavio De Paoli depaoli@disco.unimib.it. ITIS Lab http://www.itis.disco.unimib.it



Documenti analoghi
Tecnologie per la Comunicazione Aziendale

Internet e Reti di Calcolatori

Esercitazioni: Stefano Leonardi. Ricevimento: Dr. Andrea Vitaletti Dr. Alessandro Ficarola. Tel.:

Reti di calcolatori: Introduzione

Stratificazione protocollare (Protocol Layering )

Programmazione in Rete

Reti di Calcolatori:

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

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Reti di calcolatori e Internet

Reti di Telecomunicazione Lezione 6

Parte I: Introduzione

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

Servizi orientati alla connessione

Protocolli di rete. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 02 Protocolli - 2/30

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

Cos è un protocollo? Protocolli di rete: macchine invece di esseri umani Tutte le attività di comunicazione in Internet sono governate da protocolli

Lo scenario: la definizione di Internet

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer:

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

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA Paola Zamperlin. Internet. Parte prima

La Core Network. Domanda fondamentale: come vengono trasferiti i dati attraverso la rete? Maglia di router interconnessi

I canali di comunicazione

I canali di comunicazione

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

Parte 1. Internet: una rete di calcolatori. Scopo. avere una visione d'insieme delle reti di calcoltori. uso della rete Internet come esempio

Elementi di Informatica e Programmazione

Reti di accesso e mezzi trasmissivi

Reti di Telecomunicazione Lezione 8

Internet, così come ogni altra rete di calcolatori possiamo vederla suddivisa nei seguenti componenti:

IP Internet Protocol

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

Reti di Calcolatori. Il software

Standard di comunicazione

Introduzione (II Parte)

Elementi di Informatica e Programmazione

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

Reti: cenni storici. Who s who

Introduzione alle applicazioni di rete

INFORMATICA DISTRIBUITA. prof. Carlo Bellettini. lez 1 Informazioni Logistiche

Introduzione alla rete Internet

Transmission Control Protocol

Introduzione (II Parte)

Informazioni generali

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Programmazione in Rete

MODELLI ISO/OSI e TCP/IP

Livelli di un protocollo

Reti di Calcolatori. una rete di calcolatori è costituita da due o più calcolatori autonomi che possono interagire tra di loro una rete permette:

Introduzione alla rete Internet

Indice. Prefazione. Capitolo 1 Introduzione 1. Capitolo 2 Livello applicazione 30

Informatica per la comunicazione" - lezione 8 -

i nodi i concentratori le dorsali

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

La telematica. Informatica per le discipline umanistiche Note sulla telematica. Segnale analogico / digitale

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

Reti di Elabotori Canale 2

Modulo 1.3 Reti e servizi

Introduzione alla rete Internet

Reti: unità di misura

Introduzione. Sommario: Obiettivo:

Reti di Calcolatori. Corso di Informatica. Reti di Calcolatori. Reti di Calcolatori. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Reti di Calcolatori: nozioni generali il modello a livelli

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

Obiettivi. Strategia. Testo di Riferimento. Informatica II Reti di Calcolatori. Soluzioni tecnologichema non solo!!

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

Livello di Rete. Gaia Maselli

INFORMATICA DISTRIBUITA. prof. Carlo Bellettini. lez 2 Livelli di astrazione Network layers

Internet. Evoluzione della rete Come configurare una connessione. Internet: Storia e leggenda

Reti Locali. Lezione tenuta presso l Istituto I.I.S.S. Egidio Lanoce Maglie, 26 Ottobre 2011 Prof Antonio Cazzato

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

Livello di Applicazione in Internet

Internet e protocollo TCP/IP

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Hardware e Software nelle Reti

Capitolo 1 - parte 1. Corso Reti ed Applicazioni Mauro Campanella

Prefazione all edizione italiana

Reti di computer. Agostino Lorenzi - Reti di computer

Programmazione in Rete

Ciao. Ciao. <file> Tempo. router. Pc, workstation, server. mobile ISP. regional ISP. company network. router. workstation. server. mobile.

Reti di elaboratori. Reti di elaboratori. Reti di elaboratori INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Capitolo 15 Reti di calcolatori e sistemi distribuiti

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

Informatica Distribuita PAS

Reti di Calcolatori:

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

Page 1. Elementi Base del Modello OSI. Il modello di riferimento ISO/OSI OSI: Open Systems Interconnection. Struttura a Livelli.

Reti di Calcolatori. Lezione 2

Cenni di programmazione distribuita in C++ Mauro Piccolo

Concetti di base delle tecnologie ICT

Componenti della rete

Protocolli stratificati (Intro III Parte)

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

Reti LAN. IZ3MEZ Francesco Canova

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

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

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

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

Principi fondamentali

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

Transcript:

Flavio De Paoli depaoli@disco.unimib.it ITIS Lab http://www.itis.disco.unimib.it 1

Internet (parte 2) Obiettivi: Comprensione dei livelli di astrazione per le reti Comprensione del funzionamento di Internet Rassegna seconda parte: Comunicazione a livello applicazione Il livello di trasporto Socket TCP/IP UDP/IP La stratificazione di Internet Il funzionamento del core della rete Packet Switching Circuit Switching Le reti di accesso (cenni) 2: Application Layer 2

Applicazioni e protocolli applicativi Applicazione: processi ditribuiti in comunicazione In esecuzione su host remoti Si scambiano messaggi per eseguire l applicazione Es., posta, FTP, WWW Protocolli applicativi Costituiscono una parte di ogni applicazione Definiscono il formato dei messaggi scambiati e il loro significato (azioni) Usano i servizi degli strati inferiori application transport network data link physical application transport network data link physical application transport network data link physical 2: Application Layer 3

Applicazioni: terminologia essenziale Un processo è un programma in esecuzione su un host Sullo stesso host i processi comunicano mediante meccanismi definiti dal SO. Processi in esecuzione su host diversi comunicano mediante meccanismi definiti dal protocollo dello strato di applicazione (application layer protocol) Un agente utente (user agent) è un interfaccia tra l utente e l applicazione di rete. Browser Web E-mail: lettore di posta streaming audio/video: lettore di file audio/video 2: Application Layer 4

Network edge: end system (hosts): eseguono applicazioni es., WWW, email edge of network modello client/server client host requests, receives service from server e.g., WWW client (browser)/ server; email client/server modello peer-to-peer : interazione simmetrica tra host es.: teleconferenza, Gnutella 1: Introduction 5

Network edge: servizio orientato alla connessione Obiettivo: trasferire dati tra host. handshaking: scambio di informazione di controllo prima della comunicazione Hello, hello ( protocollo umano) viene creato un canale virtuale, cioè uno stato nei due host che comunicano TCP - Transmission Control Protocol Orientato alla connessione Scompone i messaggi in pacchetti Servizio TCP [RFC 793] trasferimento affidabile (reliable) di flussi di byte perdita: conferma (acknowledgement) e ritrasmissioni ordine: numerazione dei pacchetti e scarto dei duplicati controllo di flusso (flow control): il sender rallenta/accelera gli invii al receiver Controllo della congestione (congestion control): il ritmo (rate) di trasmissione diminuisce se la rete è congestionata 6

Network edge: servizio connectionless Obiettivo: trasferimento dati tra host Lo stesso di prima! UDP - User Datagram Protocol [RFC 768]: il servizio connectionless di Internet trasferimento dati non affidabile senza controllo di flusso senza controllo della congestione Applicazioni che usano TCP: HTTP (WWW), FTP (file transfer), Telnet (remote login), SMTP (email) Applicazioni che usano UDP: streaming audio/video teleconferenza, telefonia su Internet 1: Introduction 7

Protocolli di livello applicativo: servizi dagli strati inferiori e identificazione API: Application Programming Interface Definisce l interfaccia tra applicazione e strato di trasporto Socket: API Internet Due processi (applicazione nel modello client server) comunicano inviando/leggendo dati nel/dal socket D: come può un processo identificare quello con cui intende comunicare? Indirizzo IP dell host su cui l altro processo è in esecuzione Numero di porta (port number) permette all host ricevente di identificare il processo locale destinatario del messaggio 2: Application Layer 8

Socket: funzionamento di base Programmatore Sistema operativo processo socket TCP con buffer e variabili Internet processo socket TCP con buffer e variabili Programmatore Sistema operativo host o server host o server 2: Application Layer 9

Client e server TCP/IP Connessione TCP via socket 2: Application Layer 10

Funzioni per TCP/IP

Funzioni per TCP/IP

Processi e socket socket socket-bind connect accept ClientProcess write-read read-write ServerProcess 2: Application Layer 13

Funzionamento dei servizi offerti dai protocolli di trasporto Internet Servizio UDP: Scompone i messaggi in pacchetti Li invia, uno per volta, ai servizi network Servizio TCP: Scompone e invia come UDP Ogni pacchetto viene numerato per garantire Riordinamento dei pacchetti arrivati Controllo delle duplicazioni (scarto dei pacchetti con ugual numero d ordine) Controllo delle perdite (richiesta dei pacchetti mancanti) 2: Application Layer 14

Sintesi dei servizi offerti dai protocolli di trasporto Internet Servizio TCP : Orientato alla connessione: richiesto setup tra client e server Trasporto affidabile (reliable transfer) tra processi mittente e ricevente Controllo di flusso) flow control: il mittente rallenta per non sommergere il ricevente Controllo della congestione (congestion control): il mittente rallenta quando la rete è sovraccarica Non offre: garanzie di banda e ritardo minimi Servizio UDP : Trasporto non affidabile tra processi mittente e ricevente Non offre: connessione, affidabilità, controllo di flusso, controllo di congestione, garanzie di ritardo e banda D: perché esiste UDP? Può essere conveniente per le applicazioni (si vedrà più avanti) 2: Application Layer 15

Requisiti delle applicazioni Perdita (Data loss) Alcune app.ni (es., audio) sono tolleranti (fino a un certo punto) Altre (es., FTP, telnet) richiedono affidabilità totale Banda Alcune app.ni (soprattutto multimediali) richiedono una banda minima Altre (dette elastiche ) usano la banda a disposizione Ritardo Alcune applicazioni (es., telefonia Internet, giochi interattivi in rete) richiedono una banda minima per funzionare con qualità sufficiente Nota: alcuni requisiti sono determinati da esigenze percettive umane (es. ritardo nella telefonia Internet) 2: Application Layer 16

Requisiti per il servizio di trasposrto per alcune applicazioni comuni Application Data loss Bandwidth Time Sensitive file transfer e-mail Web documents real-time audio/video stored audio/video interactive games financial apps no loss no loss loss-tolerant loss-tolerant loss-tolerant loss-tolerant no loss elastic elastic elastic audio: 5Kb-1Mb video:10kb-5mb same as above few Kbps up elastic no no no yes, 100 s msec yes, few secs yes, 100 s msec yes and no 2: Application Layer 17

Applicazioni Internet: loro protocolli e protocollo di transporto usato Applicazione e-mail remote terminal access Web file transfer streaming multimedia remote file server Internet telephony Protocollo applicativo smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietario (es. RealNetworks) NFS proprietary (e.g., Vocaltec) Protocollo di trasporto usato TCP TCP TCP TCP TCP o UDP TCP o UDP tipicamente UDP 2: Application Layer 18

Stratificazione protocollare (Protocol Layering ) Le reti sono complesse! Molti elementi: host router link fisici dalle caratteristiche diverse applicazioni protocolli hardware, software Domanda: Come organizzare la struttura della rete? 1: Introduction 19

Esempio di stratificazione: servizio postale Lettera (consegna) Controllo destinazione (ufficio postale di origine) Consegna a corriere Consegna a dest. Controllo destinazione (uff. postale di dest.) Consegna a ufficio di destinazione Spedizione effettiva 1: Introduction 20

Servizio postale: una prospettiva diversa Sorgente Lettera (consegna) Controllo destinazione (consegna a corriere) Corriere Destinazione Lettera (cons. a dest.) Controllo destinazione (ric. da corriere) Corriere (consegna) Trasporto (aereo, treno...) Strati: ogni strato implementa un servizio Mediante funzionalità interne Usando i servizi messi a disposizione dagli strati inferiori 1: Introduction 21

Stratificazione del servizio postale Consegna da mittente a destinatario Consegna da ufficio postale sorgente a ufficio postale di destinazione Trasferimento da sede locale a sede destinazione del corriere Trasporto 1: Introduction 22

Perché la stratificazione? I sistemi sono complessi: La stratificazione permette una più facile organizzazione e individuazione delle funzionalità La modularità facilita la manutenzione e la modifica dei sistemi La modifica dell implementazione dei servizi resi da uno strato è trasparente (non si modifica l interfaccia) Es., cambiare il corriere non altera il funzionamento complessivo del servizio postale 1: Introduction 23

La stratificazione di Internet application: supporto per le applicazioni di rete ftp, smtp, http transport: trasferimento dati end-to-end tcp, udp network: trasferimento di datagrammi da sorgente a destinazione (host-tohost) ip, routing protocols link: trasferimento di dati tra elementi di rete adiacenti ppp, ethernet physical: bit sul cavo application transport network link physical 1: Introduction 24

Stratificazione: comunicazione logica Ogni strato: distribuito entità implementano le funzionalità di strato in ogni nodo Le entità eseguono azioni e scambiano messaggi con le entità pari (peer entities) application transport network link physical application transport network link physical application transport network link physical network link physical application transport network link physical 1: Introduction 25

Layering: logical communication Es.: transport Preleva dati da app. Indirizzamento, crea datagramma Invia il datagramma all entità pari del lato destinazione Attendi che il peer confermi il ricevimento analogia: ufficio postale data application transport network link physical application transport network link physical data ack application transport network link physical network link physical data application transport network link physical 1: Introduction 26

Layering: physical communication data application transport network link physical application transport network link physical application transport network link physical network link physical data application transport network link physical 1: Introduction 27

Stratificazione e dati Ogni strato riceve dati dallo strato superiore Aggiunge header e crea nuova unità dati Passa nuova unità dati a strato inferiore source destination H l Ht HnHt HnHt M M M M application transport network link physical application transport network link physical H l Ht HnHt HnHt M M M M message segment datagram frame 1: Introduction 28

Il funzionamento del core della rete

Network Core Rete di router interconnessi Questione fondamentale : come avviene il trasferimento dei dati? circuit switching: circuito dedicato per ogni connessione: rete telefonica packet-switching: i dati sono trasferiti a blocchi, non viene preallocato un circuito 1: Introduction 30

Network Core: Circuit Switching Pre-allocazione di risorse end-to-end per chiamata Banda dei link, capacità degli switch Risorse dedicate : nessuna condivisione Prestazioni garantite per ogni connessione Ogni chiamata richiede una fase di instaurazione 1: Introduction 31

Network Core: Circuit Switching Le risorse di rete non sono condivise divisione della banda in pezzi divisione di frequenza divisione di tempo la risorsa non usata (idle) dalla chiamata a cui è allocata è sprecata 1: Introduction 32

Network Core: Packet Switching ogni messaggio è diviso in pacchetti (packets) i pacchetti di piu utenti condividono le risorse ogni pacchetto usa tutta la banda le risorse sono usate quando servono contesa per le risorse: congestione: possibilità di eccedere la capacità; i pacchetti sono in coda store and forward (memorizza e inoltra) : i pacchetti si muovono un salto alla volta 1. Attraversa un link 2. Aspetta il turno al prossimo link Trasmissione in ordine di arrivo 1: Introduction 33

Network Core: Packet Switching A 10 Mbs Ethernet multiplexing statistico C B 1.5 Mbs Coda di pacchetti in attesa sul link di uscita 45 Mbs D E 1: Introduction 34

Network Core: Packet Switching Esempio Messaggio di 7.5 Mbit Suddivisione in 5000 pacchetti da 1.5 Kbit Capacità dei link: 1.5 Mbps Tempi di processamento nei router trascurabili Esercizio: calcolare tempo di trasferimento se il messaggio non fosse diviso Attenzione: 1 Mbit=1000 Kbit!! 1: Introduction 35

Packet switching versus circuit switching Packet switching permette a più utenti di usare la rete! Link da 1 Mbit/s Per ogni utente: 100Kbps se attivo attivo 10% del tempo circuit-switching: Max. 10 utenti attivi packet switching: con 35 utenti, Prob > 10 utenti attivi <.004 N utenti link da 1 Mbps 1: Introduction 36

Packet switching versus circuit switching Ottimo per dati a raffica (bursty) Condivisione di risorse Nessuna instaurazione di chiamata MA: Possibilità di congestione: ritardo e perdita di pacchetti Servono protocolli per il trasporto affidabile e per gestire la congestione Come ottenere un comportamento di tipo circuit switched? Problema aperto (cap. 6) 1: Introduction 37

Packet-switched networks: instradamento (routing) Obiettivo: trasferire i pacchetti da sorgente a destinazione seguendo un cammino nella rete Molti algoritmi di selezione dei cammini (cap. 4) Reti a datagramma (datagram networks): Prossimo salto (hop) determinato dall indirizzo di destinazione Il percorso può mutare nel corso della sessione analogia: servizio postale Reti a circuito virtuale (virtual circuit networks): Ogni pacchetto contiene un identificatore che detetmina il prossimo salto Il cammino è fissato una volta per tutte in fase di instaurazione I router attraversati mantengono informazione su ogni chiamata Attenzione: circuito virtuale e circuit switching sono diversi!! 1: Introduction 38

Utenze domestiche Reti di istituzioni (università, aziende) Reti mobili Aspetti importanti: banda (bit al secondo) della rete di accesso Condivisa o dedicata? Reti di accesso 1: Introduction 39

Residential access: point to point access Modem Fino a 56Kbps, accesso diretto al router (conversione D/A A/D) ISDN: integrated services digital network: 128Kbps fino al router (digitale) ADSL: asymmetric digital subscriber line Capacità maggiori 1: Introduction 40

Istituzioni: reti locali Rete locale (LAN) che connette end system a edge router Ethernet: Cavo condiviso che connette sistemi terminali a un router 10 Mbs, 100Mbps, Gigabit Ethernet 1: Introduction 41

Reti di accesso wireless Connettono sistemi terminali a un router mediante un mezzo condiviso wireless LAN: Collegamento radio al posto del cavo es., Lucent Wavelan 10 Mbps Accesso wireless su aree più vaste Es. CDPD (Cellular Digital Packet Data): accesso wireless a router di ISP attraverso una rete cellulare router Punto di accesso Terminali mobili 1: Introduction 42

Physical Media Bit: propagato tra le coppie trasmettitore/ ricevente physical link: cio che connette trasmettitore e ricevente guided media: I segnali si propagano in media solidi: rame, fibra ottica, cavo coassiale unguided media: I segnali si propagano liberamente, e.g., radio Doppino telefonico Twisted Pair (TP) Due fili di rame isolati Categoria 3: cavo telefonico tradizionale, 10 Mbps Ethernet Categoria 5: 100Mbps Ethernet 1: Introduction 43

Physical Media: coax, fiber Coaxial cable: Due conduttori concentrici in rame bidirezionale Banda fissa: Cavi a canale singolo legacy Ethernet Broadband (banda larga): Cavi a canale multiplo HFC Fiber optic cable: Fibra ottica che conduce impulsi luminosi, ogni impulso e un bit Alata velocita operativa: high-speed point-to-point transmission (e.g., 10 s-100 s Gps) Bassa probabilita di errore: ripetitori molto lontani; immune da rumore electromagnetico 1: Introduction 44

Physical media: radio Signale trasmesso nello spettro elettromagnetico no wire cavo fisico bidirezionale Effetti di propagazione nell ambiente: riflessione ostacolato dagli oggetti interferenze Radio link types: terrestrial microwave e.g. up to 45 Mbps channels LAN (e.g., Wifi) 2Mbps, 11Mbps, 54 Mbps wide-area (e.g., cellular) e.g. 3G: hundreds of kbps satellite Kbps to 45Mbps channel (or multiple smaller channels) 270 msec end-end delay geosynchronous versus low altitude 1: Introduction 45

Ritardo di trasferimento nelle reti a pacchetto Quattro sorgenti di ritardo ad ogni salto A Trasmissione 1. Processamento al nodo: Correzione di errore sui bit calcolo link di uscita 2. Attesa in coda Propagazione Attesa per la trasmissione Dipende dalla congestione nel router B Elaborazione nel nodo Accodamento 1: Introduction 46

Ritardo di trasferimento nelle reti a pacchetto (2) 3. Ritardo di trasmissione A R= banda sul link (bps) L=lunghezza pacchetto (bit) Tempo per trasmettere pacchetto sul link = L/R Trasmissione 4. Ritardo di propagazione: d = lunghezza link fisico s = vel. propagazione nel mezzo (~2x10 8 m/ sec) Ritardo di propagazione nel mezzo = d/s Attenzione: 3 e 4 sono quantità diverse! Propagazione B Elaborazione nel nodo Accodamaento 1: Introduction 47

Ritardo di coda nelle reti a pacchetto (3) R=banda del link (bps) L=lungh. pacchetto (bit) a=frequenza (rate) di arrivo dei pacchetti (packets/sec) Intensità del traffico = La/R La/R ~ 0: ritardo medio di coda piccolo La/R -> 1: ritardo medio di coda grande La/R > 1: più pacchetti di quanti possano essere smaltiti, il tempo di attesa in coda tende a divenire infinito! (in realtà perdita) 1: Introduction 48