Skip to main content

RFC 791: Internet Protocol

Overview

RFC 791 defines the Internet Protocol (IP) as the fundamental, connectionless, best-effort packet delivery service that underpins the Internet. It specifies a datagram model where independent packets are routed from source to destination without prior setup, leaving reliability, ordering, and flow control to higher-level protocols. The specification establishes the core semantics and operational behaviors required for interoperable internetworking among heterogeneous networks.

Datagram Format and Header Fields

The IP datagram begins with a variable-length header followed by payload data. The fixed portion of the header is 20 bytes and includes fields for version, header length, type of service, and a 16-bit total length that sets an upper bound of 65, 535 bytes for the entire datagram. Essential control fields include an identification value, fragment-related flags and offset, an 8-bit time-to-live (TTL) to prevent indefinite forwarding loops, an 8-bit protocol number to demultiplex upper-layer protocols, and a 16-bit header checksum that covers only the header.
Header options, when present, extend the header length in 32-bit words and permit features such as source routing, record route, and timestamping. The Internet Header Length (IHL) field indicates the header size so receivers can locate payload data. Options are optional and may impose processing costs on routers, so they are used sparingly.

Addressing and Address Classes

IP uses 32-bit addresses to identify hosts and routers on the internetwork. The addressing architecture described in the specification supports hierarchical allocation and includes the notion of address classes as a means to partition the address space for different network sizes. Source and destination addresses in the header provide the basis for routing decisions; routers forward datagrams based on destination addresses without maintaining per-flow state.
Broadcast semantics are supported for local networks, allowing a datagram to be delivered to all hosts on a directly attached network segment. The document establishes how addresses are to be interpreted by gateways and hosts and outlines considerations for address organization to facilitate scalable routing.

Fragmentation and Reassembly

To accommodate diverse network maximum transmission units (MTUs), RFC 791 defines fragmentation: a datagram may be split into multiple fragments for transmission over a network with a smaller MTU. Each fragment carries the same identification field so the destination can recognize fragments that belong together. Fragment offsets are expressed in 8-byte units and flags indicate whether more fragments follow.
Reassembly is performed only at the final destination; routers do not reassemble fragments except under special circumstances. The specification details how to handle missing or overlapping fragments, including timeout considerations and the requirement that incomplete fragment sets be discarded if reassembly cannot be completed within a reasonable interval. The "don't fragment" (DF) flag allows a sender to request that a datagram not be fragmented.

Operational Behavior and Reliability

IP provides an unreliable, best-effort delivery service: datagrams may be lost, duplicated, or delivered out of order. Reliably delivered services are the responsibility of higher-layer protocols such as TCP. The TTL field limits packet lifetime to inhibit routing loops, and the header checksum detects corruption in the header during transit. Routers perform forwarding and minimal processing, consulting routing tables maintained by routing protocols or administrative configuration.
Error reporting and informational messages are delegated to companion protocols, notably the Internet Control Message Protocol (ICMP), which uses IP to carry its messages. Encapsulation of higher-layer protocols is mediated by the protocol field, enabling multiple transport and management protocols to coexist over IP.

Impact and Limitations

RFC 791 established a simple, extensible framework for internetworking that prioritized interoperability and router simplicity. Its design choices, 32-bit addressing, connectionless datagrams, header checksum, fragmentation model, and minimal in-network state, shaped the architecture and scaling characteristics of the Internet. Limitations noted by the specification include lack of built-in reliability, potential inefficiencies from fragmentation, and the need for careful address management; these constraints motivated later protocol evolutions and complementary technologies.

Citation Formats

APA Style (7th ed.)
Rfc 791: Internet protocol. (2025, November 22). FixQuotes. https://fixquotes.com/works/rfc-791-internet-protocol/

Chicago Style
"RFC 791: Internet Protocol." FixQuotes. November 22, 2025. https://fixquotes.com/works/rfc-791-internet-protocol/.

MLA Style (9th ed.)
"RFC 791: Internet Protocol." FixQuotes, 22 Nov. 2025, https://fixquotes.com/works/rfc-791-internet-protocol/. Accessed 12 Feb. 2026.

RFC 791: Internet Protocol

This work details the Internet Protocol (IP), a widely adopted communications protocol for packet-switched internetworks that forms the basis of the Internet. It covers addressing, data packet, fragmentation and reassembly, and other essential features.

About the Author

Jon Postel

Jon Postel

Jon Postel quotes and biography detailing his role as an internet pioneer, RFC editor, and computer scientist who shaped early network consensus.

View Profile