-
Home
- Programmazione di artefatti
- Programmazione di artefatti
- Comunicazione tra applicazioni
Si presentano i principali protocolli e strumenti per far comunicare tra loro applicazioni software e dispositivi diversi.
Socket
Il protocollo tcp/ip
La comunicazione tra macchine diverse è strutturata secondo cinque strati:
- Application layer
- Transport layer
- Internet layer
- Network access layer
- Physical layer
Il protocollo IP (Internet Protocol) viene usato nel layer 3
per instradare i messaggi tra reti diverse. Esso è presenteanche nei router, cioè in quelle macchine che fungono da snodo
per la comunicazione tra le reti.Il protocollo TCP (Transmission Control Protocol) viene usato
nel layer 2 per fornire una modalità di comunicazione che siaaffidabile e che garantisca in ricezione lo stesso ordine del
flusso di dati (
stream ) imposto in
trasmissione. TCP deve essere presente nei due terminali(host) della comunicazione.
Indirizzi
Ogni host ha un indirizzo internet univoco in senso globale,usato da IP per instradare i messaggi. Esso è di 32 bit (in
IPv4, e di 128 bit in IPv6, diventato standard nel 1996) enormalmente fornito in notazione "dotted-quad"
(e.g. 157.138.204.250) o come nome di host(e.g. www.iuav.it). La traduzione da nomi a numeri puo'
avvenire mediante il file /etc/hosts o mediante il databasedistribuito chiamato Domain Name Service (DNS).
Ogni applicazione deve avere un numero di port (di 16 bit)univoco all'interno dell'host, usato da TCP per gestire la
comunicazione da e verso l'applicazione. I numeri fino aIPPORT_RESERVED (tip. 1024) sono riservati per un accesso ai
server di sistema (HTTP, FTP, etc.).
Dati
Un blocco di dati inviato da una applicazione si arricchisce
di informazioni aggiuntive (header) mentre scende verso glistrati piu' bassi dei protocolli di comunicazione.
Affidabilità della trasmissione
All'interno del TCP header, il sequence number tiene tracciadell'ordine dei pacchetti inviati (non piu' grandi di 64KB),
in modo che in ricezione si possano individuare i pacchettipersi e ricostruire l'ordine corretto. Mediante il checksum il
ricevente è in grado di rilevare errori di trasmissione. Ilricevente notifica la corretta ricezione mediante messaggi di
risposta. Essendo questo protocollo basato sulla connessionedi due nodi, tale connessione (virtuale) deve essere stabilita
prima di iniziare la comunicazione.Il protocollo UDP (User Datagram Protocol) consente la
comunicazione priva dell'overhead dovuto ai controlli diintegrità e consistenza dei messaggi. Essenzialmente, UDP
aggiunge ad IP soltanto la capacita' di indirizzare deiport. Nell'UDP header c'è anche un campo checksum, ma non è
previsto l'acknowledgement di ricezione corretta. Ilprotocollo UDP non ha bisogno di una connessione stabilita
prima della comunicazione. Il protocollo UDP, oltre ad avereminore overhead rispetto a TCP, è anche essenziale al
supporto di certe attività. Si pensi ad esempio al programmaping, il quale verifica la qualità di una connessione. Esso
può funzionare solo se ha la possibilita' di verificare laperdita eventuale di pacchetti.
Source:
OpenStax, Programmazione di artefatti interattivi. OpenStax CNX. Dec 09, 2010 Download for free at http://cnx.org/content/col10417/1.9
Google Play and the Google Play logo are trademarks of Google Inc.