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 è:

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.