Estratto del documento

Tecnologie digitali

Introduzione e architetture

Elementi di Internet

Internet è:

  1. Un insieme di componenti fisiche interconnesse gerarchicamente.

    • Host [terminali]: sono sistemi in grado di inviare e ricevere informazioni per le loro applicazioni finali ma hanno caratteristiche molto diverse.
    • Link [collegamenti]: possono essere di natura fisica molto diversa, differiscono anche per la tecnologia e per la velocità di trasmissione dell'informazione misurate in bit al secondo e suoi multipli.
    • Router [nodi]: operano su unità informative, ovvero sequenze di bit di dimensioni finite chiamate pacchetti. Esistono altri nodi di rete che a livello locale svolgono altre funzioni di collegamento [il livello a cui opera un router è un aspetto importante della tecnologia].
  2. Un'architettura di rete.

    Internet è un puzzle di reti interconnesse, composte da tecnologie diverse, e ciò ha due risultati importanti:

    • La tecnologia di Internet [Internetworking Protocol] può essere usata per interconnettere sotto reti di tipo eterogeneo che gestiscono internamente i propri router.
    • L'intera rete Internet mondiale è composta da tante reti gestite da operatori ISP diversi [Internet Server Provider] che si accodano per collegarle insieme.

    Le reti possono essere classificate in base alla loro estensione geografica:

    • Local Area Network [LAN]: impiegate in aree limitate.
    • Metropolitan Area Network [MAN]: coprono estensioni fino ad alcune decine di chilometri.
    • Wide Area Network [WAN]: hanno copertura ampia a piacere.

    Dal punto di vista della gestione, ciascuno spezzone di rete è di competenza dell’ISP che, a seconda delle dimensioni, può essere di vari livelli.

    I modi in cui l’utente può raggiungere il primo apparato dell’ISP [generalmente un router] sono:

    • Dialup via modem: fino a 56 kbps, accesso diretto al router dell’ISP, mediante circuito telefonico, trasmissione del segnale in banda fonica.
    • Asymmetric Digital Subscriber Line [ADSL]: fino a 1 Mbps upstream e 20 Mbps downstream, accesso al router dell’ISP mediante rete dati ad alta velocità, condivisione del doppino con la rete telefonica fino alla centrale.
    • Fibra ottica: rete di nuova generazione ad alta velocità.
    • Rete cellulare: GPRS/EDGE fino a 200 kbps, HSPA fino a 14,5 Mbps downstream e 5,7 Mbps upstream, LTE fino a 300 Mbps downstream e 85 Mbps upstream.
    • Wireless LAN: accesso condiviso radio per la connessione tra host e router attraverso stazione base o porta di accesso.
  3. Un servizio di comunicazione usato dalle applicazioni e un protocollo di comunicazione tra le componenti del sistema, ovvero l’insieme delle regole per formattare, inviare e ricevere messaggi.

Commutazione

La tecnica di commutazione specifica come le unità informative ricevute da un nodo siano trasferite sui collegamenti uscenti e la scelta del tipo di commutazione determina le prestazioni della rete ed è funzione del tipo di informazione da trasportare.

  • Commutazione di circuito: le reti sono suddivise in fette, ciascuna delle quali viene allocata a un circuito, ovvero ha un flusso continuo di informazioni dedicato alla chiamata [connection-oriented].
  • Modello di nodo: la capacità [bit/s] dei canali non serve uguale alla capacità di quelli in uscita e memorizzare l'informazione lungo il circuito una volta che esso è stato instaurato. Il tempo di instaurazione della connessione si aggiunge al ritardo totale di trasferimento.

  • Commutazione di pacchetto: i dati vengono spezzati in pacchetti di lunghezza opportuna, ciascuno dei quali utilizza completamente il canale per un determinato intervallo di tempo non determinato a priori e inviati in rete [connectionless]. I pacchetti di tutti gli utenti condividono le risorse di rete, che vengono usate a seconda della necessità.
  • Modello di nodo: la capacità [bit/s] dei collegamenti è arbitrario, possono esserci conflitti temporali per la trasmissione e memorizzare temporaneamente l'informazione [coda] all'ingresso, per analizzare l'indirizzo di destinazione, e all'uscita, per gestire conflitti. Non c'è il tempo di instaurazione della connessione e in ogni hop il ritardo è dovuto a: propagazione, ritrasmissione, elaborazione, accodamento.

    • Datagram: la scelta della porta d'uscita viene fatta sulla base del solo indirizzo di destinazione e i pacchetti dello stesso flusso vengono inoltrati indipendentemente.
    • Circuito virtuale: i nodi identificano i pacchetti di informativo sulla base di un identificativo di circuito virtuale che viene instaurato in una fase di setup prima della fase di dati. I pacchetti eseguono lo stesso percorso in rete perché sono instradati sulla base dell'identificativo virtuale.

Parametri di prestazione

La velocità, o rate, di trasmissione e la velocità con la quale l'informazione digitale viene trasmessa su una linea, o un canale, ed è misurata in bit/s [bps] o suoi multipli.

Il tempo di trasmissione è il tempo necessario a trasmettere L bits e dipende dalla velocità di trasmissione R.

L = TR × τ

Il ritardo di propagazione è il tempo necessario affinché un impulso trasmesso dal trasmettitore raggiunga il ricevitore e dipende dalla distanza e dalla velocità di propagazione v, prossima alla velocità della luce.

D = τ / v

Il tempo di attraversamento del canale è il ritardo tra la trasmissione del primo bit e la ricezione dell'ultimo.

Ttot = T + τ

Store & Forward [commutazione di pacchetto]

Ritardo di accodamento, tempo di elaborazione.

Nel ritardo di accodamento i pacchetti possono attendere nella coda d'uscita di un'interfaccia, interfacce diverse hanno code d'uscita separate indipendenti e se la linea è occupata occorre aspettare in coda.

Modelli di servizio e livelli dei protocolli

Possiamo descrivere il servizio di comunicazione per scambio di messaggi come un fornitore del servizio di trasporto dell’informazione, che può essere di vari tipi in funzione della qualità di servizio richiesta.

  • Possono essere trasportati brevi messaggi, in modo non affidabile.
  • Possono essere trasportate lunghe sequenze di byte in modo affidabile.

Il servizio di comunicazione gestisce lo scambio di informazioni tra due entità e può essere descritto mediante le primitive di servizio che servono a descrivere e richiedere il servizio, a ricevere informazioni sul servizio reso dal fornitore, e sono caratterizzate da parametri come: informazioni da trasferire, indicazione del destinatario, caratteristiche del servizio richiesto ecc.

Tramite protocolli di comunicazione la rete può fornire un servizio di comunicazione alle applicazioni, ovvero il servizio di trasferimento delle informazioni tra i processi remoti.

L'architettura dei protocolli in Internet è organizzata in una struttura a livelli, ognuna delle quali raggiunge un valore al servizio, e sono di due tipi:

  • Client-Server: I client chiedono il servizio e fanno domande, i server lo forniscono e rispondono.
  • Peer-to-Peer: tutti i terminali collaborano senza distinzione di ruoli.

Il servizio di comune un servizio di trasferimento di unità informative, spesso chiamate PDU [Pocket Data Unit], che possono contenere:

  • Header: informazione di controllo necessaria il coordinamento tra le entità.
  • Payload: informazione vera e propria ricevuta dai livelli superiori.

Il servizio di comunicazione offerto da Internet non è monolitico ma è organizzato in livelli, e quello offerto allo strato superiore è più ricco e complesso grazie alle funzioni implementate dallo strato inferiore.

Le entità che interagiscono a livello n offrono un servizio di trasferimento alle entità di livello n+1, che comunicano tra loro attraverso un Service Access Point [SAP].

Le funzioni svolte dell'architettura a strati sono:

  • Multiplexing: applicazioni condividono lo stessa interfaccia di rete, identificata da un suo indirizzo di rete e le applicazioni sono distinte in base al numero di porta che consente di fare la multiplazione.
  • Controllo di errore: questa funzione è implementata a livello di linea e di trasporto, e l'unità informativa affetta da errore viene sempre scartata internamente. In alcuni casi il trasmettitore può sollecitare la ritrasmissione con un NACK esplicito solo se il trasmettitore può identificare esattamente l'unità affetta da errore, ovvero quando il trasmettitore si può accorgere che manca in una sequenza ordinata.
  • Instradamento: il pacchetto può arrivare dal livello superiore passato con il parametro indirizzo, che viene scritto nell'header affinché possa essere instradato da altri nodi, e da una porta di ingresso. Quando un pacchetto arriva da una porta d'ingresso non va mai più in alto del livello che opera l'instradamento, salvo che non sia giunto alla destinazione finale.

Note per esercizi su commutazione di pacchetto

Caso 1: Nel caso in cui la capacità di un collegamento sia minore della capacità del collegamento successivo, il pacchetto verrà raffigurato più piccolo. In questo caso non si creano ritardi di propagazione. È importante fare attenzione al disegno e gestire al meglio i punti in cui i valori dei pacchetti possono essere moltiplicati.

Ttot1 = T1 + τ1 + T2 + T2τ

Caso 2: Nel caso in cui la capacità di un collegamento sia maggiore della capacità del collegamento successivo, il pacchetto verrà raffigurato più grande. In questo caso si creano ritardi di propagazione. È importante riconoscere i punti in cui si possono sommare i tempi di trasmissione dei vari pacchetti.

Ttot2 = T1 + τ1 + 2T + T τ2

In generale i due casi possono essere applicati a qualsiasi rete che abbia al proprio interno delle capacità di trasmissione miste: quando calcoli i tempi di propagazione dei singoli pacchetti devi tenere conto dei vari tempi di propagazione dei pacchetti e, tramite il disegno, capire se posso sommare dei valori.

Potrebbe succedere che l'esercizio chieda di valutare il tempo di propagazione di pacchetti passanti per link diversi e quindi con capacità di trasmissione, tempi di propagazione e di trasmissione diversi. In questo caso valuto il tempo totale di trasmissione dei singoli pacchetti in base a quanto richiesto dal testo dell'esercizio, stando sempre attenta al disegno e ai valori che posso sommare.

Nel caso siano presenti dei nodi come in figura non ci sarà accodamento dei pacchetti diretti a client diversi. In generale:

  • Calcolo tutti i tempi di trasmissione.
  • Faccio bene il disegno con i quadretti [aiuta a verificare se i tempi sono giusti].
  • Se ho due pacchetti, il secondo deve far finire la trasmissione del primo [caso 1].
  • Se ho due pacchetti in coda, il secondo deve aspettare la trasmissione del primo [caso 2].
  • 1 byte = 8 bit
  • 1 Mb/s = 1000 kb/s = 1,000,000 bit/s = 1 ms

Se mi chiede di aggiungere dei pacchetti al tempo allora nel mio disegno andrò a posizionare il pacchetto a t = 0.210 s (210 ms) e da lì svolgo l’esercizio come qualsiasi altro esercizio, stando attenta a possibili modifiche dei tempi totali degli altri pacchetti.

Livello applicativo

Introduzione

Creare un'applicazione di rete significa scrivere un software che possa essere eseguito su diversi terminali e possa comunicare con altri software remoti tramite la rete. Le applicazioni sono solo nei terminali e possono essere facilmente sviluppate e diffuse.

Architettura client-server

I dispositivi coinvolti nella comunicazione implementano o solo il processo client [effettuare richieste] o solo il processo server [emettere risposte a richieste ricevute].

  • Client: comunicano solo con il server, e non con altri client, possono essere connessi in modo discontinuo, cambiare indirizzo IP e inviare più richieste allo stesso server.
  • Server: possono ricevere molte richieste da molti client, hanno un indirizzo IP permanente e l'host sempre attivo.

Architettura peer to peer

I dispositivi coinvolti, ovvero i peer, implementano tutti sia il processo client sia il processo server, comunicano direttamente, sono collegati in modo intermittente e possono cambiare indirizzo IP.

Gli elementi fondamentali di un'applicazione sono:

  • Host: dispositivo dell’utente.
  • Processo: programma software in esecuzione su un host. Molti processi possono essere in esecuzione simultaneamente sullo stesso host.
  • Comunicazione inter-processo [IPC]: tecnologie software il cui scopo è consentire a diversi processi di comunicare scambiandosi informazioni e dati. I processi sono:
    • Locali: rispondono sullo stesso host.
    • Remoti: risiedono su host diversi e comunicano attraverso:
      • Indirizzamento: bisogna conoscere l'indirizzo del processo e dell'host su cui il processo è in esecuzione. Ogni processo è associato a un SAP del livello inferiore, al quale è associata l'informazione di indirizzamento del processo nell’host.
  • Le socket sono delle porte di comunicazione; il processo trasmittente mette il messaggio fuori porta, la rete lo accoglie e lo trasporta fino alla porta del destinatario.

    Socket = Indirizzo IP + Numero porta

  • Protocollo: bisogna conoscere il tipo, la semantica e le regole dello scambio di dati, facendo riferimento ad affidabilità, ritardo e banda.

I servizi di trasporto utilizzati sono:

  • Transmission Control Protocol [TCP]: è un servizio connection oriented, ovvero instaura la connessione prima dello scambio dei dati, ed è affidabile, ovvero i dati non vengono persi. Presenta tre tipi di controllo:
    • Di flusso: il trasmettitore regola la velocità in base al ricevitore.
    • Di congestione: per non sovraccaricare la rete.
    • Di errore: per garantire l'integrità dell'informazione.
  • User Datagram Protocol [UDP]: opposto al TCP.

Servizio web-browsing [offerta da Hyper Text Transfer Protocol – http]

Le pagine web sono generalmente costituite da un file HTML base che chiama gli altri oggetti. Ogni oggetto, incluso il base HTML, è indirizzato da una Uniform Resource Locator [URL].

La comunicazione http si basa sull'architettura client-server:

  • Client: browser che effettua richieste http di pagine web, le riceve e le mostra all'utente finale.
  • Server: invia gli oggetti richiesti tramite risposte http che possono essere contenute nel server in diverse versioni. Presenta un protocollo stateless, ovvero non viene mantenuto nel server la memoria delle richieste precedentemente ricevute da un client.

L’http si appoggia su TCP a livello di trasporto:

  1. Il client http inizia una connessione TCP verso il server [porta 80].
  2. Il server http accetta connessioni da client http.
  3. Client e server http si scambiano informazioni [pagine web e messaggi di controllo].
  4. La connessione tra client e server http viene chiusa.

La modalità di connessione tra client e server http può essere:

  • Non persistente: una connessione TCP per una sola sessione richiesta-risposta; inviato l'oggetto il server chiude la connessione TCP e tale procedura viene ripetuta per tutti i file collegati al base HTML. Le connessioni per più oggetti possono essere aperti in parallelo per minimizzare il ritardo.
  • Persistente: una connessione TCP rimane aperta ed è usata per trasferire più oggetti della stessa pagina web.
    • Without pipeling: richieste inviate in serie, ovvero si aspetta la risposta prima di fare una nuova richiesta [opposto di with pipeling].

Il Round Trip Time [RTT] è il tempo necessario per trasferire un messaggio, di dimensione trascurabile, dal client al server e ritorno, e per ricevere il relativo ACK. In http il tempo di trasferimento ha bisogno di:

  • Un RTT per iniziare la connessione TCP.
  • Un RTT per inviare i primi byte della richiesta http e ricevere i primi byte di risposta.
  • Tempo di trasmissione dell’oggetto.

Supponendo che le pagine web, oltre al file HTML, includano altri 10 oggetti, il tempo di download:

∑(10 RTT + T) = ∑(2 RTT + T)

Per le richieste, i messaggi sono codificati in ASCII:

  • Metodo: tipo di operazione che il client richiede al server.
  • URL: identifica la risorsa locale rispetto al server.
  • Version: indica la versione del protocollo http.
  • Header field name/value: nome del campo e valore assunto dall’header. L’header serve a cambiare le informazioni di servizio aggiuntivo ed è possibile inserire più linee di header per messaggio.
  • Cache control: informazione sulla cache.
  • Accept: formati accettati.
  • Accept language: linguaggio accettato.
Anteprima
Vedrai una selezione di 10 pagine su 42
Tecnologie digitali 2 - programma Pag. 1 Tecnologie digitali 2 - programma Pag. 2
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Tecnologie digitali 2 - programma Pag. 6
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Tecnologie digitali 2 - programma Pag. 11
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Tecnologie digitali 2 - programma Pag. 16
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Tecnologie digitali 2 - programma Pag. 21
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Tecnologie digitali 2 - programma Pag. 26
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Tecnologie digitali 2 - programma Pag. 31
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Tecnologie digitali 2 - programma Pag. 36
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Tecnologie digitali 2 - programma Pag. 41
1 su 42
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/03 Telecomunicazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher mayrapasqualetti_ di informazioni apprese con la frequenza delle lezioni di Tecnologie digitali 2 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Milano o del prof Troia Sebastian.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community