Tcpip 1
Tcpip 1
un’introduzione
Introduzione
• Il successo di Internet (rate di crescita
annuo > 200 %) e’ dovuto all’uso di
protocolli standard “aperti” (IETF)
7 Applicazione
6 Presentazione
5 Sessione
4 Trasporto
3 Rete
2 Data Link
1 Fisico
Livelli del TCP/IP (1)
Applicazione
IP
Trasporto
ARP
RARP Rete
ATM Data link
Ethernet
Hardware
HDLC
PPP
Livelli del TCP/IP (2)
• Livello Trasporto – assicura la comunicazione
end-end tra applicazioni su host diversi
• Livello Internet – assicura la comunicazione tra
host diversi (datagrammi IP)
• Livello Data Link – responsabile dell’inoltro dei
datagrammi IP su uno specifico tipo di rete (es.
Ethernet, ATM, PPP, HDLC etc..)
Incapsulamento
h. TCP Applicazione Trasporto
1 Fisico Hardware
Address Resolution Protocol
• Mapping indirizzi IP in indirizzi “fisici”
– Host A chiede con un broadcast PB di Host B
– Host B risponde con IPB
– Host A memorizza abbinamento (cache)
Indirizzo sorgente
Indirizzo destinazione
Indirizzamento IPv6 (1)
3 13 8 24 16 64
FP TLA RES NLA SLA INTERFACE
Applicazione
Trasporto
IPSEC
Internet
Data link
Hardware
IP Security (1)
• IPSec RFC 2401
– Protezione a livello 3 (Internet)
– Opzionale in IPv4, parte integrante di IPv6
• ISAKMP (RFC 2408)
– Negoziazione policy
– Generazione chiavi
IP Security (2)
IP AHAH TCP
Header EPS UDP
Applicazione
UDP
TCP Trasporto
Internet
Data link
ICMP
Hardware
Porta
• Astrazione usata dai protocolli di trasporto
per distinguere fra piu’ processi sullo stesso
host
• Intero a 16 bit (0-65535)
• Per servizi standard identificativo assegnato
dalla IANA
Socket
• Coppia (indirizzo IP, porta)
• Generalizzazione del meccanismo di
accesso a file
User Datagram Protocol (1)
• Protocollo connectionless (come IP)
– nessuna garanzia di consegna
– assenza controllo di flusso
– assenza di correzione di errore
Indirizzo IP sorgente
Indirizzo IP destinazione
zero protocollo Lunghezza UDP
• Consigliabile filtrare
BOOTstrap Protocol
• Risoluzione indirizzo IP client, subnet mask,
gateway, boot server
– Broadcast limitato (255.255.255.255) sia in
richiesta che in risposta
– Il protocollo si basa su UDP
– Il server puo’ essere DHCP
• Il download del S.O. avviene poi con altro
protocollo (es.: TFTP)
Trasmission Control Protocol (1)
• Protocollo connection-oriented
– Controllo del flusso
– Affidabilita’ della consegna
• Connessione virtuale tra due socket
Porta sorgente Porta destinazione
Numero sequenza
Numero di ACKW
Lun. H. Res. codice finestra
checksum Urgent pointer
options padding
DATA
.......
Trasmission Control Protocol (2)
• Inizio sessione TCP (handshake a 3 vie)
Ricezione ACK
Invio ACK y+1
Ricezione SYN ACK
Invio SYN seq=y, ACK x+1
Ricezione SYN
Invio SYN seq=x
Trasmission Control Protocol (3)
• Controllo trasmissione pacchetti
Ricezione pacchetto 2
Invio pacchetto 2
Ricezione ACK 1
Invio ACK 1
Ricezione pacchetto 1
Invio pacchetto 1
Ricezione ACK
Invio ACK
Applicazione
TLS
Trasporto
Internet
Data link
Hardware
Transport Layer Security
• Sicurezza sopra il livello di trasporto
• Evoluzione delle specifiche introdotte da
NETSCAPE con SSL 3.0
• RFC 2246,2712,2817,2818
• Implementazioni basate su SSL 3.0:
– OpenSSL
– SSH
SSL/TLS (1)
• SSL Handshake Protocol (SSLHP)
• Autenticazione server (client)
• Negoziazione algoritmo simmetrico da usare
• Invio chiave segreta
• SSL Record Protocol (SSLRP)
• Organizzazione dei dati
• Criptazione/decriptazione dati
• SSL Alert Protocol
• Inoltro messaggi di errore / allarme
• SSL Application Data Protocol
• Trasporto dati
tcpdump
SSL/TLS (2)
proxy
Applicazione
IP filter Trasporto
NAT-PAT
Internet
VPN Data link
Hardware
Bibliografia (1)
• IPv4
– Indirizzamento con CIDR: RFC 1518
– Indirizzamento per intranet: RFC 1918
• IPv6
– Definizione del protocollo: RFC 2460
– Architettura degli indirizzi: RFC 2373
– Estensioni al DNS: RFC 1886, RFC 2874
Bibliografia (2)
• ARP
– Risoluzione indirizzi IP-Ethernet: RFC 826
• RARP
– Descrizione del protocollo: RFC 903
• BOOTP
– RFC 2132
– Interoperabilita’ tra DHCP e BOOTP: RFC 1534
Bibliografia (3)
• IPSEC
– Definizione protocollo: RFC 2401
– Authentication Header: RFC 2402
– Encapsulating Security Payload: RFC 2406
– ISAKMP: RFC 2408
• TLS
– Definizione protocollo: RFC 2246
– Integrazione di Kerberos in TLS: RFC 2712
– HTTP e TLS: RFC 2817,2818