Estratto del documento

Applicazioni web e cloud

Giovedì 1 ottobre 2015 13:31

Appunti di Alessandro Sperotti

Introduzione alle reti di calcolatori

Le reti di calcolatori vengono utilizzate da organizzazioni e utenti. Esse si distinguono principalmente su scala dimensionale, ossia da quanti nodi è composta la rete.

Tipi di reti di calcolatori

  • La rete LAN (Local Area Network) sono reti di "piccole dimensioni", che spesso sono private, o all'interno di un edificio. Hanno estensione di qualche chilometro e vengono usate per connettere pc o workstation.
  • La rete MAN (Metropolitan Area Network) si estende maggiormente della LAN, fino ad arrivare a dimensioni di una città: a contrario della maggior parte delle LAN, sono pubbliche e sono molto più estese.
  • Le reti WAN (geografiche) sono estese a livello di nazione/continente: sono costituite da un insieme di calcolatori e anche dei subnet di comunicazione.
  • Internet (rete di reti): Internet è distribuita, simile ad una WAN, ma la sua differenza sta nel fatto che connette reti eterogenee: è appunto la rete delle reti.

Topologie

Una rete è distinguibile anche dalla sua topologia, ossia come sono disposti i nodi nella rete.

  • Topologia a stella
  • Topologia ad anello
  • Topologia a bus

Standard

Per fare in modo che i nodi comunichino tra loro secondo protocolli ben definiti, esistono gli standard. Essi permettono di far comunicare tra loro piattaforme hardware/software differenti.

Vantaggi degli standard:

  • Assicurano vasto mercato per dispositivi
  • Consentono a prodotti diversi di comunicare tra loro

Svantaggi:

  • La tecnologia è "congelata" (evolve lentamente)
  • Possono esserci più standard per una funzione

Al di là degli standard "codificati", dall'alba dell'informatica esistono 2 tipi di standard:

  • Standard de iure
  • Standard de facto

Standard ISO-OSI

L'ISO-OSI è uno standard, un modello creato dalla International Standard Organization: OSI sta per (Open System Interconnection), che rappresenta lo standard. (vedi tesina). Il modello ISO-OSI si divide in strati:

Ogni strato è codificato da serie di regole e convenzioni per comunicare con lo strato corrispondente. Ogni strato definisce un protocollo: "un Protocollo è un insieme di regole e convenzioni seguite da entità, dislocate su nodi distinti, che intendono comunicare per scolgere un compito comune". Un protocollo è formato da 3 parti principali:

  • Sintassi: insieme dei comandi e delle risposte (formato dei messaggi)
  • Semantica: il significato di questi comandi, azioni e risposte da effettuare al momento della trasmissione dei messaggi (il significato non deve essere ambiguo)
  • Temporizzazione: specifica delle possibili sequenze temporali di emissione e ricezione dei messaggi

In un protocollo abbiamo due "approcci" su cui si scambiano messaggi: un approccio logico, definito con la peer2peer interface (orizzontale tra i livelli ISO-OSI) ed un approccio (verticale che comunica su strati diversi).

In un protocollo, un messaggio si compone di:

  • Header: Protocol Control Information (PCI)
  • Dati: Service Data Unit

L'header dà informazioni sul tipo di messaggio che stiamo mandando (metadato), il contenuto stesso del messaggio.

La comunicazione spesso avviene logicamente tra peer, ma in realtà vengono attraversati tutti i livelli sottostanti, tramite incapsulamento. L'insieme dei protocolli che cooperano tra loro si dice protocol stack.

Alcuni esempi di protocolli più "famosi" sono HTTP, SMTP (posta), ecc.

I livelli ISO OSI

  • Presentazione: riguarda la rappresentazione dei dati durante il trasferimento e contiene informazioni su sicurezza dei dati.
  • Sessione: consente a due entità di comunicare tra loro ("apre" la sessione).
  • Trasporto: funge da interfaccia tra gli strati superiori e quelli inferiori.
  • Rete: regola il flusso di dati nella rete, inclusi, apertura/chiusura, indirizzamento, ecc.
  • Data Link: si basa sulla connessione fisica fornita dalla rete per garantire affidabilità nel trasferimento: permette di connettersi e recapitare dati ad un nodo adiacente. Due tipi di servizio:
    • Senza Connessione (ogni porzione di messaggio è una entità a sé stante. Approccio best try se vengono individuati degli errori)
    • Orientato alla connessione: fornisce un trasferimento di inf. senza errori
  • Fisico: riguarda le interfacce fisiche tra il calcolatore e la rete.

ISO-OSI vs TCP/IP

Il TCP/IP è un modello OSI semplificato, formato da 3 livelli:

  • Livello applicazione: le applicazioni vere e proprie
  • Livello trasporto: aggiunge funzionalità quali affidabilità e tolleranza
  • Livello rete: comunicazione tra reti diverse

Dispositivi d'interconnessione

  • Ripetitore: dispositivo a livello fisico (basso livello) che amplifica e rigenera segnali deboli. Viene usato per aumentare la lunghezza totale della rete.
  • Hub: dispositivo che funge da "punto di convergenza" in cui i dati arrivano da una o più direzioni: fungono anche da ripetitore, connettono dispositivi creando una LAN.
  • Bridge: dispositivo a livello data link che connette due LAN che usano lo stesso protocollo (Ethernet o Token Ring). Può apportare cambiamenti minori al frame.
  • Switch: uno switch è uno speciale tipo di Hub "intelligente". Opera a più livelli OSI: più precisamente al livello 2 e al livello 3, inoltrando i pacchetti utilizzando le informazioni di livello 3.
  • Router: un router opera a livello 3, instradando, secondo i vari protocolli, le informazioni al punto successivo della rete in cui deve essere inviato il pacchetto verso la sua destinazione finale.
  • Gateway: un gateway è un tipo di router "speciale" usato per connettere reti che utilizzano protocolli diversi.

Indirizzo IP

Ogni interfaccia di rete ha un unico indirizzo IP di lunghezza fissa (4 byte ossia 32 bit). Gli indirizzi IP si dividono in 5 classi, A, B, C, D, E. Ognuna di queste classi si differenzia dalla dimensione del net_ID e dell'host_ID, ossia, l'identificativo della rete e l'identificativo del dispositivo.

Per chiarire, un provider di internet dovrebbe scegliere un indirizzo di classe A o B, in modo da avere un sacco di host_ID disponibili, per far collegare il maggior numero di computer alla rete. Tuttavia questo servizio di ripartizione non è il modo più pratico: un altro modo per ottenere una diversa ripartizione tra host_id e net_id si può ottenere corredando l'indirizzo IP ad una maschera di sottorete (subnet mask) definita come il numero binario che messo in AND con l'indirizzo IP da il prefisso effettivo. Vi sono 3 tipi di subnet mask, per le prime 3 classi A, B, C.

TCP/IP

Il TCP/IP (Transmission Control Protocol / Internet Protocol) è un software di rete disponibile che permette alle applicazioni di comunicare tramite un protocollo instradabile. Esso definisce una porzione di header fisso e 3 header speciali:

  • Un header semplice per il best effort (UDP)
  • Un header complesso per il servizio reliable flow (TCP)
  • Uno per i messaggi di controllo (Internet Control Message Protocol)

Il TCP è un protocollo orientato alla connessione. Il software che implementa il TCP deve assicurarsi che l'applicativo destinatario sia attivo e che tutti i pacchetti inviati raggiungano la destinazione. Inoltre, il TCP garantisce un trasporto affidabile dei dati e un controllo del flusso di dati. I protocolli TCP e UDP utilizzano le porte per mappare i dati in ingresso con un particolare processo attivo in un computer. In questo modo ogni socket è legato a un numero di porta così che il livello TCP possa identificare l'applicazione a cui i dati devono essere inviati.

Le porte sono rappresentate da valori interi positivi da 16 bit. Esse rappresentano un "punto di collegamento" tra strato fisico e applicazioni. Generalmente i processi a livello utente usano un numero di porta >= 1024, poiché alcuni dei numeri precedenti sono riservati per altri tipi di servizi.

Il flusso di dati TCP è diviso in tanti pacchetti, inviati in ordine sequenziale. Il numero di sequenza (sequence number) stabilisce l'ordine con cui la destinazione riassemblerà i segmenti. Quando un pc destinatario riceve un pacchetto IP, risponde al mittente con un pacchetto di conferma detto ACK. Esso equivale al numero di sequenza del pacchetto ricevuto + 1.

L'UDP invece, è molto più "alla buona" del TCP: infatti nel caso dell'UDP i pacchetti vengono spediti senza sapere se il destinatario è pronto alla ricezione ed in generale questo protocollo di trasporto non è orientato alla connessione. L'header UDP aggiunge al pacchetto IP solamente le porte per la comunicazione con l'applicazione. È molto più semplice rispetto al TCP, però da ciò ne deriva anche una minore affidabilità.

Standard ISO/OSI

Analizziamo più attentamente i livelli dello standard ISO/OSI.

Livello applicativo

Il livello applicativo è il livello OSI più vicino all'utente. Questo livello interagisce direttamente con l'applicativo software. Tra le varie funzioni del livello applicativo vi sono l'identificazione dei partner di comunicazione, ossia controlla la disponibilità dei partner per comunicare (pensa ad email), la disponibilità di risorse ossia il livello controlla se si hanno abbastanza risorse per supportare la comunicazione.

Anteprima
Vedrai una selezione di 5 pagine su 18
Applicazioni Web e Cloud - Reti, Cloud, SOAP Pag. 1 Applicazioni Web e Cloud - Reti, Cloud, SOAP Pag. 2
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Applicazioni Web e Cloud - Reti, Cloud, SOAP Pag. 6
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Applicazioni Web e Cloud - Reti, Cloud, SOAP Pag. 11
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Applicazioni Web e Cloud - Reti, Cloud, SOAP Pag. 16
1 su 18
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher sk8erb0y di informazioni apprese con la frequenza delle lezioni di Applicazioni Web e Cloud e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Milano o del prof Ardagna Claudio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community