12.5 UDP (User Datagram Protocol)



Documenti analoghi
Transmission Control Protocol

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

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Reti di Telecomunicazione Lezione 8

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Reti di Telecomunicazione Lezione 6

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

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

Lo scenario: la definizione di Internet

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

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

Protocolli applicativi: FTP

Dal protocollo IP ai livelli superiori

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

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

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

InterNet: rete di reti

Informatica per la comunicazione" - lezione 8 -

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

FTP. Appunti a cura del prof. ing. Mario Catalano

Firewall e Abilitazioni porte (Port Forwarding)

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

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

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

Reti di Calcolatori. Il Livello delle Applicazioni

Standard di comunicazione

Reti di Calcolatori. Il software

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

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

appunti delle lezioni Architetture client/server: applicazioni client

2.1 Configurare il Firewall di Windows

Introduzione alle applicazioni di rete

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

Allegato 3 Sistema per l interscambio dei dati (SID)

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Inizializzazione degli Host. BOOTP e DHCP

Cenni di programmazione distribuita in C++ Mauro Piccolo

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

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. Reti di calcolatori

Reti e Internet: introduzione

TCP/IP: INDIRIZZI IP SIMBOLICI

1) GESTIONE DELLE POSTAZIONI REMOTE

Configurazione di Outlook Express

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software.

Il livello trasporto Protocolli TCP e UDP

Elementi di Informatica e Programmazione

Informatica per la comunicazione" - lezione 9 -

Le Reti Informatiche

Creare connessioni cifrate con stunnel

ACCESS LIST. Pietro Nicoletti

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

MODELLI ISO/OSI e TCP/IP

Protocolli di Comunicazione

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

Elementi di Informatica e Programmazione

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

Internet e protocollo TCP/IP

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

Reti di Telecomunicazione Lezione 7

Siti web centrati sui dati (Data-centric web applications)

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Software di gestione della stampante

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

Indice. Prefazione XIII

Sicurezza nelle applicazioni multimediali: lezione 9, firewall. I firewall

Progettare un Firewall

P2-11: BOOTP e DHCP (Capitolo 23)

Classe bit: net id host id. 1 0 net id host id net id host id multicast address

I canali di comunicazione

Applicazioni web centrati sui dati (Data-centric web applications)

Reti diverse: la soluzione nativa

Internet. Introduzione alle comunicazioni tra computer

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

Antonio Cianfrani. Extended Access Control List (ACL)

MyFRITZ!, Dynamic DNS e Accesso Remoto

Internet: architettura e servizi

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Elementi sull uso dei firewall

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

Introduzione alla rete Internet

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

Impostazione dell'indirizzo IP del dispositivo di autenticazione di Xerox Secure Access Unified ID System Carta bianca

Applicazioni distribuite

MANUALE UTENTE FORMULA PEC

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

Cos è. Protocollo TCP/IP e indirizzi IP. Cos è. Cos è

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

UTILIZZO DELLA RETE WIRELESS DIPARTIMENTALE

Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e

Prof. Filippo Lanubile

Reti commutate. Reti commutate. Reti commutate. Reti commutate. Reti e Web

Intel One Boot Flash Update Utility Guida dell utente

Transcript:

CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che demanda l eventuale gestione degli errori di trasmissione e del riordinamento dei pacchetti in ricezione ad un livello superiore. Mentre il protocollo IP si occupa del trasferimento dei pacchetti tra due host, il protocollo UDP aggiunge la possibilitá di distinguere tra piú destinazioni (i programmi applicativi) sullo stesso host. Piú che l host, il vero destinatario di un pacchetto é infatti un applicazione (programma) che gira su di esso, sia allo scopo di realizzare un servizio (server e mail, web, ecc.) che allo scopo di consentire ad un utente di usufruire di un servizio (client). Infatti, i dati o le richieste che un utente formula attraverso un client devono poter giungere ad un programma in esecuzione (server) in grado di elaborarle. L UDP, cosí come l altro protocollo di trasporto, consente di indirizzare un pacchetto verso uno specifico servizio (realizzato da un applicazione) su un determinato host. Ció é fatto tramite un insieme di punti astratti di destinazione (e sorgente), detti porte di protocollo. Una porta, definita da un numero intero a 16 bit (per un totale di 65536 possibili porte) viene utilizzata da un processo (programma in esecuzione) per stabilire un collegamento con un altro processo che gira su un altro host. L header del pacchetto UDP conterrá quindi i numeri di porta di destinazione e sorgente (l header del pacchetto IP che lo contiene conterrá invece gli indirizzi IP degli host destinazione e sorgente). Un applicazione che vuole inviare un pacchetto ad un altra applicazione che realizza un certo servizio su un certo host (server) invierá un pacchetto UDP indicando il numero di porta appropriato (su cui l applicazione destinazione é nota essere in ascolto). Il sistema operativo dell host destinazione analizzerá l header del pacchetto UDP e provvederá ad inviare il pacchetto all applicazione in ascolto (se c é) sul numero di porta specificato. Tale applicazione userá la porta sorgente per comunicare con l applicazione che ha iniziato la comunicazione. Per iniziare la comunicazione, l applicazione sorgente deve conoscere il numero di porta a cui indirizzare i pacchetti. A tale scopo un certo numero di porte sono state assegnate a determinati servizi (well known ports) da parte di un autoritá centrale. Ad esempio, tra di esse troviamo (sono usualmente memorizzate in un file denominato services) ftp-data 20/tcp ftp-data 20/udp # 21 is registered to ftp, but also used by fsp ftp 21/tcp

CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 89 ftp 21/udp fsp fspd ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp # SSH Remote Login Protocol telnet 23/tcp telnet 23/udp # 24 - private mail system smtp 25/tcp mail smtp 25/udp mail time 37/tcp timserver time 37/udp timserver rlp 39/tcp resource # resource location rlp 39/udp resource # resource location nameserver 42/tcp name # IEN 116 nameserver 42/udp name # IEN 116.......... http 80/tcp www www-http # WorldWideWeb HTTP http 80/udp www www-http # HyperText Transfer Protocol pop2 109/tcp pop-2 postoffice # POP version 2 pop2 109/udp pop-2 pop3 110/tcp pop-3 # POP version 3 pop3 110/udp pop-3.......... imap 143/tcp imap2 # Interim Mail Access Proto v2 imap 143/udp imap2 Richiedendo un servizio, ad esempio la visualizzazione di una pagina web, il client utilizzato invierá una richiesta alla porta 80 dell host destinazione. Tale assegnazione puó essere anche forzata dall utente. Ad esempio, se nel browser (client) web utilizzato digitiamo www.unifi.it:8080 il client invierá la richiesta di verso la porta 8080. Se peró nessun server web é in ascolto su di essa, la richiesta non verrá raccolta. La maggior parte delle porte ĺasciato libero. Ognuna di esse puó essere assegnata dinamicamente dal sistema operativo ad un processo che ne fa richiesta. 12.6 TCP (Transmission Control Protocol) Il TCP (Transmission Control Protocol) é l altro protocollo del livello di trasporto. É nato e si é sviluppato con Internet e non é mai stato completamente standardizzato. Per esso vengono definite solo le caratteristiche dei servizi del protocollo, lasciando libera l implementazione degli stessi.

CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 90 Come l altro protocollo di trasporto, l obiettivo del TCP é mettere in comunicazione le applicazioni che girano su diversi host. Al contrario dell UDP, peró, il TCP mira a realizzare una connessione affidabile tra due host, impiegando una tecnica di conferma di ricezione con ritrasmissione. Ció vuol dire che l host di destinazione provvede a inviare delle conferme di avvenuta e corretta ricezione dei pacchetti. Per non sottoutilizzare la rete, l host sorgente invia comunque un certo numero di pacchetti senza aspettare conferma. Nel pacchetto inviato per confermare una corretta ricezione viene indicato il numero del primo byte dei dati che non é stato ancora ricevuto. Si conferma cosí l avvenuta corretta ricezione dei byte precedenti e si indica quale pacchetto é eventualmente da ritrasmettere, se la conferma non giunge entro un tempo di time out. Le caratteristiche fondamentali del protocollo TCP sono le seguenti. Orientato al flusso (stream). Con ció si intende che i dati sono ricevuti con l identica sequenza dei byte trasmessi (provvede all eventuale riordinamento). Connessione a circuito virtuale. Viene fornita una visione del collegamento come un circuito fisico dedicato (circuito virtuale), in cui si ha una fase di richiesta e accettazione del collegamento, una fase di scambio di dati, e la chiusura della connessione, anche se si appoggia al protocollo IP (che é senza connessione, ossia a datagramma). Trasferimento bufferizzato. A meno di richieste esplicite da parte dei livelli superiori, per ottimizzare il numero dei pacchetti da trasmettere, i dati da trasmettere vengono suddivisi in pacchetti e trasmessi solo quando sono sufficienti a riempire un datagramma relativamente grande. Flusso non strutturato. Il protocollo TCP non entra nel merito del formato o del tipo dei dati trasmessi, demandando alle applicazioni l estrazione e l interpretazione corretta dei dati dai pacchetti ricevuti. Connessione full duplex. É consentito il trasferimento in entrambe le direzioni. Il protocollo TCP assicura quindi una trasmissione affidabile dei pacchetti. L UDP mira invece ad un invio rapido degli stessi. Ció fa preferire l UDP nel caso di un trasferimento voce/video, in cui lo scarto di un numero limitato di pacchetti é meno dannoso del ritardo introdotto da un eventuale ritrasmissione. Il TCP é invece utilizzato quando si vuole assicurare la ricezione dei dati spediti (es. e mail, ftp, web, ecc.).

CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 91 Host 1 client web 155.215.6.33 porta 1234 Host 2 client web 187.233.1.34 porta 1234 (client 1) porta 2555 (client 2) Internet Server web 150.217.8.124 porta 80 Figura 12.2: Connessione di piú client ad un unico server mediante TCP. Come per l UDP, per identificare l applicazione sorgente e destinazione del pacchetto, viene utilizzato il numero di porta. Al solito, tale informazione é contenuta nell header del datagramma TCP. Al contrario dell UDP peró, il TCP lavora in termini di connessione, dove questa é caratterizzata da due punti (due applicazioni su due host), ognuno dei quali é caratterizzato da un indirizzo IP e un numero di porta. La connessione é quindi individuata da 4 numeri (Fig. 12.2) host 1 host 2 indirizzo IP indirizzo IP numero di porta numero di porta Ció permette che una porta su di un certo host su cui, ad esempio, é in ascolto un certo server, possa essere condivisa simultaneamente da piú connessioni (piú client dallo stesso o da diversi host). Il protocollo distingue comunque le connesioni poiché almeno uno dei 4 numeri é diverso per le diverse connessioni. Cosí, ad esempio, piú utenti si possono collegare al solito server di posta. Non si ha ambiguitá anche se i protocolli TCP e UDP condividono la stessa porta, dato che i pacchetti IP contengono l informazione del tipo di protocollo contenuto.

Capitolo 13 Protocolli applicativi In questo capitolo prenderemo brevemente in considerazione alcuni protocolli applicativi della suite TCP/IP, alla base di altrettanti servizi messi a disposizione degli utenti della rete. 13.1 Telnet Ogni sistema operativo prevede un interfaccia a linea di comando, da cui un utente puó avviare processi, gestire il file system, ecc. ecc. Ad esempio, il prompt del DOS (cmd o command) nei sistemi Windows. Telnet é un protocollo, che si appoggia sul TCP, che consente l accesso all interfaccia a linea di comando di un sistema remoto. Per utilizzare tale servizio, un utente avvierá un client Telnet (ad esempio Telnet, per i sistemi Windows e Linux/Unix) per connettersi ad un host su cui girerá un server Telnet. Dopo una fase di autenticazione, in cui l utente deve fornire un login ed una password validi per l host a cui ci si collega, il client passa tutto ció che é digitato sull host dell utente al server remoto, come se fosse digitato alla tastiera di quest ultimo. Tutte le risposte vengono quindi visualizzate sul monitor del client (Fig. 13.1). Il protocollo consente inoltre la negoziazione di alcune opzioni da parte del client e del server. Per consentirne l uso con sistemi operativi quanto piú eterogenei possibile, il protocollo definisce il formato con cui le sequenze dei comandi e dati sono inviati sulla rete (NVT: Network Virtual Terminal). La particolare versione del server e del client si occuperá della traduzione da e verso il sistema operativo ospite. Nonostante ció che si puó pensare, l utilizzo di terminali a linea di comando risulta estremamente utile. Ció avviene, ad esempio, nel caso in cui 92

CAPITOLO 13. PROTOCOLLI APPLICATIVI 93 I/O utente (tastiera/monitor) host A client Telnet sistema operativo host B server Telnet sistema operativo Internet Figura 13.1: Connessione tra client e server Telnet. un host non sia facilmente raggiungibile e, comunque, per consentire a piú utenti di accedere contemporaneamente ad una certa macchina, ad esempio, per sfruttrne le capacitá di calcolo. Sotto i sistemi operativi come gli Unix/Linux, l interfaccia a linea di comando mette a disposizione un insieme di strumenti molto potenti per la gestione e la configurazione della macchina stessa. Inoltre un interfaccia a linea di comando richiede pochissime risorse, e puó funzionare anche in condizioni critiche. Secondo il protocollo Telnet, tutto il traffico, compreso il nome di login e la password, transita in chiaro, ossia come stringa di testo, quindi potenzialmente visibili anche ad altri utenti. Per questo, in molti casi, per problemi di sicurezza, viene preferito l utilizzo del protocollo (e di server/client) SSH (Secure Shell), che prevede la crittatura di tutti i dati e messaggi in transito tra client e server, comprese le informazioni di login e password di un utente autorizzato a collegarsi. In tal caso, l utente avvierá un client ssh, per connettersi ad un host su cui gira un server ssh. 13.2 FTP (File Transfer Protocol) Il protocollo FTP (File Transfer Protocol) implementa un meccanismo per il trasferimento di file tra due host. Oltre a poter esser utilizzato dalle applicazioni, é prevista una semplice interfaccia utente testuale per l accesso al file system dell host remoto. Inoltre é prevista un autenticazione dell utente tramite un nome di login ed una password, e puó essere specificato il formato dei dati da trasferire, allo scopo di effettuare una conversione automatica