RFC 791 foi escrito em 1981 para DARPA (Defense Advanced Research Projects Agency) pela Information Sciences Institute University of Southern California. O documento é quebrado em três seções, Introdução, Visão geral e especificações. Embora a Introdução e Visão Geral tenham informações muito boas, este resumo se concentrará nas especificações, mas destacará algumas seções da visão geral.
Como visto no artigo Frames and Packets neste site o cabeçalho IP se parece com:
| 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) | |||||||||||||||||||||||||||||||
Como você pode ver o datagram contém vários elementos. A função para cada elemento é:
Como com todos os RFC's este RFC requer que qualquer indivdual que implementa o IP datagram alinha-se com o padrão de tal forma que qualquer parte pode interagir com o datagram em diversos sistemas. Na Secção 3, o esquema de tratamento IPv4 é discutido em comprimento como são as funções resumidas acima. Em relação ao IPv4 este RFC define tamanhos de rede Classe A, B e C. Classe A aloca 7 bits para rede e 24 bits para hosts. Classe B aloca 14 bits para rede e 16 bits para hosts. Classe C aloca 21 bits para rede e 8 bits para hosts. Além de abordar os esquemas, as funções específicas de fragmentação e reassemblagem de dados são discutidas em grande detalhe no âmbito da RFC. Especificando que algumas opções podem ou não ser incluídas quando um pacote está fragmentado.
Referendo-se a um statment anterior sobre a implementação do IP Datagram, o RFC também dá exemplos sobre o que deve ser apresentado aos protocolos de camada superior para elementos de configuração para facilitar uma comunicação e configuração mais fácil entre sistemas. Estes elemenets são os mesmos elementos usados para construir o datagram.