Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica December 7, 2004
Sommario 1 La suite di protocolli TCP/IP Layer 2 3 4 5 6
Sommario 1 La suite di protocolli TCP/IP Layer 2 3 4 5 6
Sommario 1 La suite di protocolli TCP/IP Layer 2 3 4 5 6
Sommario 1 La suite di protocolli TCP/IP Layer 2 3 4 5 6
Sommario 1 La suite di protocolli TCP/IP Layer 2 3 4 5 6
Sommario 1 La suite di protocolli TCP/IP Layer 2 3 4 5 6
Premessa La suite di protocolli TCP/IP Layer Queste slide rappresentano un breve sommario riguardo la suite di protocolli TCP/IP e non vogliono certo rimpiazzare un libro sull argomento (e.g. TCP/IP Illustrated Vol. 1, W. Richard Stevens).
Introduzione La suite di protocolli TCP/IP Layer la suite di protocolli TCP/IP permette la comunicazione via rete, tra computer di diverse architetture e diversi sistemi operativi; suite progettata alla fine degli anni 60 (progetto DARPA), rappresenta lo standard di comunicazione in Internet.
Layer La suite di protocolli TCP/IP Layer progettazione a strati i protocolli di rete sono normalmente sviluppati a layer; ogni layer fornisce delle funzionalità al layer sottostante e ne usa alcune di quello soprastante; ogni layer è responsabile per la gestione di determinati aspetti della comunicazione. la suite di protocolli TCP/IP è la combinazione di diversi protocolli che operano in vari livelli; il TCP/IP individua 4 layer, il link, il network, il transport e l application.
I layer del TCP/IP Layer link layer: chiamato anche data-link layer, gestice i dettagli della trasmissione fisica;, ad esempio, fornisce il link layer nella suite TCP/IP; network layer: gestice il trasferimento dei pacchetti nella rete; IP e ICMP, ad esempio, forniscono il network layer nella suite TCP/IP; transport layer: fornice un flusso di dati tra due host all application layer soprastante; TCP e UDP rappresentano questo layer nella suite TCP/IP; application layer: gestisce i dettagli particolari di un applicazione.
Layer Esempio: due host su una LAN che usano SSH Figura disponibile il prima possibile
Protocolli nei layer del TCP/IP Layer Figura disponibile il prima possibile
Layer Incapsulamento e Demultiplexing Figura disponibile il prima possibile
: un link layer Scopo spedire e ricevere datagrammi IP per conto del layer IP; eth type 0x800 IP datagram; eth type 0x806 ARP request/reply. spedire e ricevere richieste e risposte ARP al fine di poter determinare l indirizzo IP corrispondente all indirizzo fisico di un determinato host.
header 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 destination address (first 32 bits) dest (last 16 bits) source (first 16 bits) source address (last 32 bits) Type code DATA...... Checksum
IP La suite di protocolli TCP/IP Internet Protocol lo standard RFC 791 è la specifica ufficiale del protocollo (Postel, 1981); fornisce un servizio di consegna datagrammi inaffidabile e connectionless; responsabile dell instradamento dei datagrammi IP hop-by-hop; in caso di errore, IP usa un semplice algoritmo: il pacchetto viene scartato e viene spedito un messaggio ICMP.
IP header 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Version IHL Type of Service Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options Padding
IP routing se la destinazione è connessa direttamente con l host (link Point-to-Point), o se è su rete condivisa (LAN ), il datagramma IP è consegnato direttamente alla destinazione; altrimenti il datagramma viene consegnato al default gateway che lo consegnerà alla destinazione; IP routing è fatto di hop in hop esaminando una tabella di routing, contenente: indirizzi IP di destinazione; indirizzo IP del next-hop router; Flag; interfaccia di rete sulla quale viene trasmesso il datagramma.
IP: instradamento via default gateway Figura disponibile il prima possibile
ICMP La suite di protocolli TCP/IP Internet Control Message Protocol lo standard RFC 791 è la specifica ufficiale del protocollo (Postel, 1981); considerato spesso parte del layer IP; comunica messaggi di errore e altre condizioni che richiedono attenzione; sollecitati spesso da altri layer, ma possono essere spediti anche da applicazioni user-space, come il comando ping;
ICMP header Header fisso di 4 byte: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Type Code Checksum L header variabile di 8 byte dipende dal Type di messaggio, tra cui: Nome Type ICMP ECHOREPLY 0 ICMP DEST UNREACH 3 ICMP SOURCE QUENCH 4 ICMP REDIRECT 5 ICMP ECHO 8 ICMP TIME EXCED 11
ICMP code (1) Codici per ICMP di tipo destination unreachable (non tutti): Nome Code ICMP NET UNREACH 0 ICMP HOST UNREACH 1 ICMP PROT UNREACH 2 ICMP PORT UNREACH 3 ICMP FRAG NEEDED 4 ICMP SR FAILED 5 ICMP NET UNKNOWN 6 ICMP HOST UNKNOWN 7 ICMP PKT FILTERED 13
ICMP code (2) Codici per ICMP di tipo time exceeded (non tutti): Nome Code ICMP EXC TTL 0 ICMP EXC FRAGTIME 1 Per ulteriori informazioni sui codici disponibili, vedere l RFC 792 o /usr/include/netinet/ip_icmp.h
Il programma PING Figura disponibile il prima possibile
UDP La suite di protocolli TCP/IP lo standard RFC 768 è la specifica ufficiale del protocollo (Postel, 1980); semplice protocollo di trasporto datagram-oriented; ogni operazione di output eseguita da un processo, produce esattamente un datagramma UDP. non fornisce affidabilità: non c è nessuna garanzia che i datagrammi UDP raggiungano la destinazione e che arrivino ordinati.
UDP header e pseudoheader UDP Header: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Source Port Destination Port UDP length UDP checksum UDP Pseudo-header 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Source IP Address Destination IP Address Zero Proto (17) UDP length
TCP La suite di protocolli TCP/IP lo standard RFC 793 è la specifica ufficiale del protocollo (Postel, 1981); fornisce un servizio byte-stream, connection-oriented e affidabile; stabilire una connessione TCP 3-way handshake; terminare una connessione TCP 4-way termination.
TCP Header 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Source Port Destination Port Sequence Number Acknowledgment Number Data U A P R S F Offset Reserved R C S S Y I Window G K H T N N Checksum Urgent Pointer Options Padding data