RFC 791 ble skrevet i 1981 for DARPA (Defense Advanced Research Projects Agency) av Information Sciences Institute University of Southern California. Dokumentet er delt inn i tre deler, Introduksjon, Oversikt og spesifikasjoner. Selv om introduksjonen og oversikten har veldig god informasjon, vil dette sammendraget fokusere på spesifikasjonene, men vil markere few-seksjoner fra oversikten.
Som sett i Frames and Packets-artikkelen på dette nettstedet ser IP-headeren ut som:
| 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) | |||||||||||||||||||||||||||||||
Som du kan se dataprogrammet inneholder flere elementer. Funksjonen for hvert element er:
Som med alle RFC-er krever denne RFC at alle indivduelle som implementerer IP-datagrammet, tilpasser seg standarden slik at alle parter kan samhandle med datagrammet på ulike systemer. I avsnitt 3 diskuteres IPv4-adresseringsskjemaet i lengden som de funksjoner som er oppsummert ovenfor. I forhold til IPv4 definerer denne RFC klasse A, B og C nettverksstørrelser. Klasse A tildeler 7 biter for nettverk og 24 biter for verter. Klasse B tildeler 14 biter for nettverk og 16 biter for verter. Klasse C tildeler 21 biter for nettverk og 8 biter for verter. I tillegg til å adressere ordninger diskuteres de spesifikke funksjonene til datagramfragmentering og ommontering i stor detalj i RFC. Angi at noen alternativer kan eller ikke kan inkluderes når en pakke er fragmentert.
Referer tilbake til en tidligere statement om å implementere IP-datagrammet, gir RFC også eksempler på hva som skal presenteres til øvre lagprotokoller for konfigurasjonselementer for å forenkle en lettere kommunikasjon og konfigurasjon mellom systemer. Disse elemenets er de samme elementene som brukes til å konstruere datagrammet.