Sei sulla pagina 1di 18

I protocolli di comunicazione

Bibliografia:
•Peter Wainwright Apache2 ISBN 88-503-2114-7
Conoscenze di base

• Computer
• Sistema Operativo
• File
• Programma
• Esecuzione di un programma
• Linguaggio di programmazione
Comunicazione client-server

• Relazione fra due programmi in cui il


client fa una richiesta di servizio, il
server soddisfa la richiesta.
• I programmi possono essere allocati
sullo stesso computer oppure su una
rete.
TCP/IP

• TCP/IP è un protocollo di comunicazione che


permette a computer (hosts) attestati su una
rete di comunicare tra loro
• I computer tramite il protocollo possono
scambiarsi dei messaggi
• TCP è un protocollo client-server

Computer 1 Computer 2

msg
TCP/IP

• Transport Communication Protocol/Internet


Protocol.
• In realtà sono due protocolli TCP e IP.
• IP si preoccupa dell’instradamento del msg tra
mittente e destinatario identificati mediante il
loro indirizzo IP
Indirizzi IP

• Per scambiarsi correttamente messaggi


mediante TCP/IP i computer di una rete
hanno degli indirizzi che permettono di
distinguerli, tali indirizzi sono detti
indirizzi IP.
• Un indirizzo IP è rappresentato da 4
campi separati da “.” Ad esempio:
192.168.123.1
• Ogni campo può assumere valori fra
0..255
Indirizzi IP

• All’interno di una rete isolata possono


essere assegnati indirizzi IP a piacere
(IP address).
• Connettendo la rete privata a Internet è
necessario registrare l’indirizzo IP
(Internet Address) per evitare duplicati.
Indirizzi IP

• Reti di classe A: il primo numero è


[1:126]. Solo il primo numero è fisso.
Tot: 16.581.375 hosts
• Reti di classe B: il primo numero è
[128:191]. Il primo e il secondo num
sono fissi. Tot: 16382 reti, 65.560 hosts
• Reti di classe C: il primo numero è
[192:223]. I primi 3 numeri sono fissi.
Oltre 2 milioni di reti ognuna con 254
hosts.
IPv6

• A causa della divisione in A, B, C si


rischia di esaurire gli IP
• IPv6 fornisce indirizzi a 128 bit anziché
a 32
• E’ una rete separata (6bone)
Connessioni a Internet

• Dial up
• ISDN
• ADSL
• xDSL
UDP

• Il TCP non è l’unico protocollo che utilizza IP,


c’è anche UDP
• TCP è un protocollo affidabile orientato alla
connessione
• UDP no, per questo è usato per trasmissioni di
dati no critici, per esempio broadcast
(trasmissioni radiotelevisive)
• UDP è più leggero per questo viene usato nelle
comunicazioni peer2peer (kazaa…) e nei giochi
multiplayer.
Il modello di rete TCP/IP

SMTP, HTTP,
application FTP…

TCP, UDP,
transport
ICMP

internet IP

PPP, SLIP,
data link ISDN,
Ethernet
Le “porte”

• I protocolli di internet comunicano


mediante le porte del TCP
• Le porte del TCP sono identificate da
numeri
• Alcuni numeri identificano server
(ovvero servizi) specifici
Porte speciali
ftp 21/tcp File ntp 123/tcp Netw time
transfer
123/udp protocol
finger 79/tcp imap2 143/tcp Interactive
143/udp mail access
www 80/tcp http snmp 161/udp Simple net
mgmt prot
80/udp
pop-2 109/tcp Post imap3 220/tcp
109/udp office 220/udp
protocol
pop-3 110/tcp https 443/tcp Secure http
110/udp 443/udp
nntp 119/tcp News uucp 540/tcp Unix to unix
transfer copy
protocol
Standard

• I protocolli sono realizzati sui computer con


dei programmi speciali detti driver.
• Due driver diversi, sviluppati da produttori
diversi come fanno a capirsi?

1. I protocolli sono definiti da standard


2. Ci sono organizzazioni che si preoccupano di
definire standard e verificare l’aderenza dei
prodotti
HTTP

• Hypertext Transfer Protocol è il


protocollo fra i client e i server web
• Si basa su TCP
• E’ un protocollo stateless di gestione
richieste e risposte
• Client = browser
• Server = http server
Richieste e risposte

• Richiesta = URI (Uniform Resource


Identifier)
GET /index.html HTTP/1.1
Host: www.pippo.com
• Risposta OK: HTTP/1.1 200 OK…
• Risposta Not OK:
HTTP/1.1 404 Not Found
Metodi HTTP

• GET Ö richiesta di una risorsa dal


server
• POST Öinvio dati al server
• In entrambi i casi il server invia una
risposta contenente un documento