01. Protocolli
Il protocollo IP
Il protocollo IP è un protocollo disconnesso di tipo best effort ("faccio il meglio che posso"). Questo significa che i datagram IP possono essere:
consegnati con ritardo;
duplicati;
distribuiti fuori ordine;
persi (in questo caso dovranno essere rispediti);
indirizzati in modo diverso gli uni dagli altri (anche datagram dello stesso messaggio).
Il formato dell'header del datagram IP è il seguente:
Il campo Options può avere una dimensione variabile che va da 0 Word a 10 Word che, in termini di Byte, corrisponde all'intervallo 0-40 Byte, con il vincolo che il valore sia multiplo di 4.
La dimensione dell'header del datagram IP quindi varia tra 20 Byte a 60 Byte.
Di seguito analizzeremo il significato di alcuni campi:
Version: è la versione del protocollo.
Internet Header Length (IHL): indica la lunghezza dell'header del pacchetto IP.
Totale Length: lunghezza totale del pacchetto, inclusivo della parte dati.
Fragment Offset: nel caso in cui il datagram sia frammentato, questo campo contiene le informazioni necessarie per la ricomposizione del payload.
Time to Live (TTL): questo campo introduce un comportamento rilevante per il protocollo. Esso viene decrementato ad ogni passaggio (hop) del datagram su un router. Quando il contatore arriva a zero il datagram viene scartato e il router notifica lo scarto al mittente con il protocollo ICMP. E' uno dei pochi campi dell'header che viene modificato durante il cammino e ciò causa il ricalcolo del campo Header Chechsum.
Protocol: specifica quale protocollo è trasportato dal datagram (payload): TCP, UDP, ICMP ecc..
Source Address: Indirizzo IP del mittente.
Header Checksum: specifica il Checksum per il controllo dell'integrità dell'Header. Dopo l'attraversamento di ciascun nodo il Checksum viene ricalcolato. Da notare che la verifica di integrità del payload non è eseguita da questo livello ma è demandata ai livelli superiori.
Destination Address: Indirizzo IP di destinazione.
Il protocollo ARP
Il protocollo ARP (Address Resolution Protocol) è utilizzato per ottenere il MAC address di una destinazione di cui si conosce l'indirizzo IP.
Il pacchetto di questo protocollo ha una propria struttura ed è incapsulato nei frame del livello sottostante al pari di IP.
Il protocollo memorizza tramite il sistema operativo una tabella (detta ARP cache) che contiene le coppie Indirizzo IP, Mac address.
In ambiente Windows tale tabella è consultabile da prompt dei comandi digitando arp -a.
Il protocollo RARP
Il protocollo RARP (Reverse Address Resolution Protocol) opera in modo inverso rispetto al protocollo ARP: conoscendo il MAC address consente di risalire all'indirizzo IP.
Il protocollo ICMP
Il protocollo ICMP (Internet Control Message Protocol) è dichiarato di livello 3 e quindi appartiene alla famiglia dei protocolli del livello Internet, anche se è incapsulato all'interno di datagram IP.
IP usa ICMP in varie occasioni, per segnalare al mittente situazioni anomali o condizioni di errore. Alcune di queste situazioni sono elencate di seguito:
Il datagram non può essere frammentato ma deve attraversare una rete con MTU inferiore alla sua ampiezza
Su un host o un router il timer per il riassemblaggio scade senza che siano stati ricevuti tutti i frammenti
Il campo TTL si è azzerato senza che si sia raggiunta la destinazione
Un gateway non trova una rotta compatibile con la destinazione.
ICMP prevede, inoltre, che un host possa richiedere la subnet mask, in modo che possa essere impostata automaticamente (Address Mask request/Address Mask Replay).
Il protocollo IGMP
Il protocollo IGMP (Internet Group Management Protocol) è un protocollo per la gestione dei gruppi multicast.
Sulla rete Internet questo tipo di comunicazione è implementata solo parzialmente e richiede che tutti i router coinvolti nella comunicazione implementino speciali protocolli (mrouter).
Sito: 7ecnologie
Sezione: 13. Reti
Capitolo: 03. La suite TCP/IP
Paragrafo: 02. Livello Internet
Approfondimento: 01. Protocolli
Indice dei capitoli: 00. Risorse - 01. Le telecomunicazioni - 02. Il modello OSI - 03. La suite TCP/IP - 04. Il cablaggio strutturato - 05. LAB - 07. Tutorial - 98. Esercizi
Indice dei paragrafi: 01. Network Access - 02. Livello Internet - 03. Livello Transport - 04. Livello Application
Indice degli approfondimenti: 01. Protocolli - 02. Classificazione degli indirizzi IP - 03. Subnetting - 04. Subnetting: esempi - 05. Ping e traceroute - 06. Routing - 07. NAT - 08. Autonomous System - 09. Carrier-Grade NAT - 10. NAT Traversal