So che la lunghezza dell'intestazione IP è un minimo di 20 byte e un massimo di 60 byte. Ma perché? Perché la lunghezza dell'intestazione IP è limitata a 60 byte? C'è qualcuno qui che può spiegarmelo? Grazie.
So che la lunghezza dell'intestazione IP è un minimo di 20 byte e un massimo di 60 byte. Ma perché? Perché la lunghezza dell'intestazione IP è limitata a 60 byte? C'è qualcuno qui che può spiegarmelo? Grazie.
Risposte:
L' Internet Protocol (IP) è definito in RFC 791 . RFC specifica il formato dell'intestazione IP. Nell'intestazione c'è il campo IHL ( Internet Header Length ) che è lungo 4 bit e specifica la lunghezza dell'intestazione in parole a 32 bit . Il campo IHL può contenere valori compresi tra 0 (binario 0000) e 15 (binario 1111).
Pertanto, la dimensione più lunga dell'intestazione Internet (intestazione IP) può essere di 15 * 32 bit = 480 bit = 60 byte . Questo è il motivo per cui l'intestazione ha una dimensione massima di 60 byte.
La dimensione dell'intestazione più breve è di 20 byte, dove il campo IHL ha il valore 5 (0101). Questo perché tutti i campi obbligatori nell'intestazione richiedono 20 byte di spazio. Quindi, mentre in teoria potresti impostare l'IHL su un valore <5, questo sarebbe sempre un valore errato e quindi un'intestazione del pacchetto non valida.
Per RFC 791 dove è definito, vedere pagina 12 dove tratta i datagrammi:
Lunghezza totale è la lunghezza del datagramma, misurata in ottetti, inclusi intestazione e dati di Internet. Questo campo consente la lunghezza di un datagramma fino a 65.535 ottetti. Datagrammi così lunghi sono poco pratici per la maggior parte degli host e delle reti. Tutti gli host devono essere pronti ad accettare datagrammi fino a 576 ottetti (che arrivino interi o in frammenti). Si consiglia agli host di inviare datagrammi di dimensioni superiori a 576 ottetti se hanno la certezza che la destinazione è pronta ad accettare i datagrammi più grandi.
Il numero 576 è selezionato per consentire la trasmissione di un blocco dati di dimensioni ragionevoli oltre alle informazioni di intestazione richieste. Ad esempio, questa dimensione consente a un blocco di dati di 512 ottetti più 64 ottetti di intestazione di adattarsi a un datagramma. L'intestazione massima di Internet è di 60 ottetti e un'intestazione tipica di Internet di 20 ottetti, che consente un margine per le intestazioni di protocolli di livello superiore. "
Fondamentalmente la lunghezza è stata definita tra 20 e 60 per consentire diversi usi del protocollo e adattarsi alla dimensione del datagramma consigliata.