RFC 791 - Internet Protocol - Summary

RFC 791 è stato scritto nel 1981 per DARPA (Defense Advanced Research Projects Agency) dall'Università delle Scienze dell'Informazione della California del Sud. Il documento è suddiviso in tre sezioni, Introduzione, Panoramica e Specifiche. Anche se l'Introduzione e la Panoramica hanno informazioni molto buone questo riassunto si concentrerà sulle specifiche, ma metterà in evidenza le sezioni afew dalla panoramica.

Intestazione

Come visto nell'articolo Frames and Packets su questo sito l'intestazione IP sembra:

IPv4 Header (32 bits)
Starting Byte Byte Byte Byte Byte
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 Version IHL (header Len) Type Of Server (TOS) Total Length
4 Identification IP Flag Fragment Offset
8 Time To Line (TTL) Protocol Header Checksum
12 Source Address
16 Destination Address
20 IP Option (Variable Length, Optional, not common)
Dettagli di intestazione

Come si può vedere il datagram contiene diversi elementi. La funzione per ogni elemento è:

  • Versione - RFC 791 si riferisce specificamente alla versione 4
  • Internet Header Lunghezza (IHL) - Informa i sistemi di recinzione la lunghezza dell'intestazione e quando i dati iniziano
  • Tipo di servizio (TOS) - Questo valore a 8 bit viene utilizzato per la qualità del servizio.
    • bit 0-2 sono per Precedence
      • 000 - Routine
      • 001 - Priorità
      • 010 - Immediato
      • 011 - Flash
      • 100 - Flash Override
      • 101 - CRITIC/ECP
      • 110 - Controllo Internet
      • 111 - Controllo di rete
    • bit 3 è per ritardo normale (0) o ritardo basso (1)
    • bit 4 è per il throughput normale (0) o ad alta produttività (1)
    • bit 5 è per affidabilità normale (0) o alta affidabilità (1)
    • Quando RFC 791 è stato scritto bit 6 e 7 dove si riserva per uso futuro
  • Lunghezza totale - È la lunghezza totale del datagramma in byte fino a 65535 ottetti. Tuttavia un sistema deve essere in grado di accettare un minimo di 567 ottetti.
  • Identificazione - Utilizzato in rimontaggio di datagrammi frammentati
  • Bandiere - utilizzate con frammentazione dei datagram
    • bit 0 è riservato e deve essere 0
    • bit 1 se impostato a 0 consente di frammentare un datagram. Se impostato su 1 il datagramma non può essere frammentato
    • bit 2 se impostato a 0 indica l'ultimo frazionamento. Se impostato su 1 ulteriori frammenti stanno arrivando
  • Fragment Offset - Indica i sistemi che eseguono la frammentazione dei datagram dove può frammentare
  • Tempo di vivere - Indicato quanto tempo il datagram può persistere sulla rete. Se raggiunge 0 il datagramma deve essere scartato
  • Protocollo - Indica il protocollo di livello successivo utilizzato nel datagramma
  • Header Checksum - Convalida il datagramma ad ogni punto attraverso la rete
  • Indirizzo sorgente - 32 bit
  • Indirizzo della destinazione - 32 bit
  • Opzioni - Ci sono un sacco di opzioni IPv4 che possono o non possono essere applicate. Per ulteriori dettagli si prega di leggere l'intero RFC specifica pagina 15 - 22
  • Alla fine dell'intestazione il datagram è imbottito di 0 fino a quando non termina su un limite di 32 bit
Sintesi della RFC

Come per tutti i RFC questo RFC richiede che qualsiasi indivduale che implementa il datagram IP allinea con lo standard tale che qualsiasi parte possa interagire con il datagram su sistemi diversi. Nella sezione 3 lo schema di indirizzi IPv4 viene discusso in lunghezza come le funzioni sopra riassunte. In relazione a IPv4 questo RFC definisce le dimensioni della rete Classe A, B e C. Classe A assegna 7 bit per rete e 24 bit per host. Classe B assegna 14 bit per rete e 16 bit per host. Classe C assegna 21 bit per rete e 8 bit per host. Oltre ad affrontare i programmi le funzioni specifiche di frammentazione e riassemblaggio dei datagrammi sono discusse in grande dettaglio all'interno della RFC. Specificare che alcune opzioni possono o non possono essere incluse quando un pacchetto è frammentato.

Riferendosi a un precedente statment sull'implementazione del Datagram IP, RFC fornisce anche esempi su ciò che dovrebbe essere presentato ai protocolli di livello superiore per gli elementi di configurazione per facilitare una comunicazione e una configurazione più facile tra i sistemi. Questi elemenets sono gli stessi elementi utilizzati per costruire il datagram.