Fact-checked by Grok 2 weeks ago

IPv4

Internet Protocol version 4 (IPv4) is the fourth revision of the Internet Protocol, a core communication protocol operating at the network layer (layer 3) of the OSI model within the Internet protocol suite that functions as a connectionless, best-effort delivery mechanism for transmitting datagrams across interconnected packet-switched networks. Developed under the auspices of the Defense Advanced Research Projects Agency (DARPA) and published as RFC 791 in September 1981, IPv4 provides a standardized format for addressing and routing data packets between devices on diverse networks, forming the foundational layer for higher-level protocols like TCP and UDP. It uses 32-bit addresses, yielding a total address space of 4,294,967,296 unique identifiers. Although originally divided into classes (A through E) for allocating network and host portions, with Classes A, B, and C supporting unicast communication, modern IPv4 addressing employs Classless Inter-Domain Routing (CIDR) for more flexible allocation. Key features of IPv4 include its header structure, which encompasses fields for version, header length, type of service, total length, identification, flags, fragment offset, time to live (TTL), protocol, header checksum, source and destination addresses, and optional fields for security, routing, and timestamps, enabling fragmentation and reassembly of datagrams to accommodate varying maximum transmission unit (MTU) sizes across networks. The protocol's simplicity and lack of built-in reliability mechanisms—such as error correction or flow control—rely on upper-layer protocols for those functions, promoting interoperability in heterogeneous environments. Despite its widespread adoption since the early 1980s, which powered the explosive growth of the Internet, IPv4's limited address space led to global exhaustion of freely available addresses; regional Internet registries (RIRs) depleted their pools starting with APNIC in 2011, followed by ARIN in 2015 and RIPE NCC in 2019, prompting techniques like network address translation (NAT) and the gradual transition to IPv6. As of November 2025, IPv4 remains the dominant protocol for Internet traffic, accounting for approximately 55% of connections to major services like Google, though dual-stack implementations and IPv6 adoption—now at approximately 45%—continue to mitigate address scarcity while ensuring backward compatibility. The protocol's enduring legacy underscores its role in enabling the modern Internet, even as efforts to fully deploy IPv6 address its scalability limitations.

Overview

Purpose and Design Goals

IPv4, or Internet Protocol version 4, serves as the foundational protocol for the TCP/IP suite, enabling the connectionless transmission of datagrams across diverse interconnected networks while providing best-effort delivery without guarantees of reliability or ordering. As the fourth iteration of the Internet Protocol, it was designed to facilitate communication between hosts on a global scale by assigning unique 32-bit addresses to both end systems and intermediate routers, thus supporting the routing of packets through heterogeneous network environments. This addressing mechanism ensures that datagrams can be independently routed without establishing persistent connections, embodying a stateless approach where each packet is treated as a self-contained unit. The original design goals of IPv4, as outlined in RFC 791 published in 1981, emphasized simplicity and efficiency to accommodate a wide range of network types and scales. Key objectives included maintaining minimal state information across transmissions to reduce complexity and overhead, thereby allowing the protocol to operate effectively over varied underlying local networks such as ARPANET derivatives and emerging packet-switched systems. Reliability was addressed through the incorporation of a header checksum to detect transmission errors, without relying on end-to-end acknowledgments at the IP layer, which aligns with its best-effort philosophy. Additionally, the protocol was engineered for extensibility, permitting optional fields in the header to support future enhancements or specialized control functions while keeping the core structure lean. At its core, IPv4's datagram-based model eschews connection setup procedures, such as virtual circuits, in favor of a flexible, packet-by-packet forwarding paradigm that promotes robustness in dynamic internetworks. This design choice not only simplifies implementation across diverse hardware but also enables seamless integration into larger catenets—interconnected collections of networks—fostering the growth of what would become the modern Internet. By prioritizing these principles, IPv4 laid the groundwork for scalable, unreliable transport that higher-layer protocols like TCP could build upon for guaranteed delivery when needed.

Key Features and Limitations

IPv4 employs a 32-bit addressing scheme, which supports approximately 4.3 billion unique addresses, enabling global identification of devices and networks within the Internet. This fixed-length address format simplifies routing decisions but imposes a finite limit on scalability. The protocol's header incorporates several mechanisms to ensure reliable packet forwarding: the Time-to-Live (TTL) field, an 8-bit counter decremented by each router to prevent infinite loops in the event of routing errors, discarding packets that reach zero; the Type of Service (ToS) field, which allows senders to specify quality-of-service preferences such as low delay or high throughput to guide preferential treatment; and the Protocol field, an 8-bit identifier that demultiplexes incoming datagrams to appropriate upper-layer protocols like TCP (protocol number 6) or UDP (protocol number 17). In the layered architecture of the TCP/IP model, IPv4 functions at the network layer, bridging the link layer—responsible for framing and transmission over physical media—and the transport layer, which handles end-to-end reliability and flow control. This positioning allows IPv4 to provide best-effort, connectionless delivery of datagrams across heterogeneous networks, abstracting underlying link-layer differences. Unlike virtual circuit models, which establish dedicated paths with stateful connections for ordered delivery, IPv4's datagram approach routes each packet independently based on its destination address, promoting robustness by tolerating network failures, congestion, or topology changes without requiring per-flow state at intermediate routers. This design adheres to the robustness principle, urging implementations to be conservative in emissions and tolerant of received variations to maintain interoperability. Despite these strengths, IPv4 exhibits notable limitations that have driven protocol evolution. Its header has a fixed minimum size of 20 bytes, which introduces overhead inefficiency for short payloads, as the header constitutes a larger proportion of small datagrams compared to protocols with variable or compressed headers. Security is absent at the protocol level; IPv4 provides no native encryption, integrity checks, or authentication, necessitating external solutions like IPsec for protecting against eavesdropping, tampering, or spoofing. Mobility support is also lacking, with no built-in mechanisms for seamless host movement across networks—requiring add-on protocols such as Mobile IPv4 to maintain connectivity during handoffs. Furthermore, the linear growth of the 32-bit address space has led to exhaustion risks, as the approximately 4.3 billion addresses proved insufficient for the explosive expansion of connected devices, culminating in the Internet Assigned Numbers Authority (IANA) depleting its free pool in 2011.

History

Development and Standardization

The development of IPv4 originated from efforts to enable internetworking among diverse packet-switched networks, particularly within the ARPANET project funded by the U.S. Department of Defense's Advanced Research Projects Agency (DARPA). In the early 1970s, Vint Cerf, Yogen Dalal, and Carl Sunshine at Stanford University contributed to the initial design of the Internet Protocol as part of the broader Transmission Control Protocol (TCP) suite, with an early specification outlined in RFC 675 published in December 1974. This work aimed to replace the ARPANET's Network Control Program (NCP) with a more scalable protocol stack capable of interconnecting heterogeneous networks. The ARPANET completed its transition from NCP to TCP/IP on January 1, 1983, marking a pivotal milestone in IPv4's operational debut. The definitive specification for IPv4 was formalized in RFC 791, titled "Internet Protocol," published in September 1981 and authored by Jon Postel on behalf of the DARPA Internet Program. This document defined the core protocol mechanics, including the 32-bit address format and datagram delivery semantics, superseding earlier drafts such as RFC 760 from July 1980, which had addressed issues in prior iterations like Internet Experiment Notes (IENs) 128, 123, and others. RFC 791 established IPv4 as the version 4 protocol, reflecting refinements from six prior ARPA Internet Protocol specifications, and it became the standard for unreliable, connectionless packet delivery across the emerging internet. Early implementations accelerated IPv4's adoption, particularly through integration into widely used operating systems. In 1981, DARPA contracted BBN Technologies to port TCP/IP to Unix, resulting in an initial implementation that Berkeley researchers, including Bill Joy and Sam Leffler, incorporated into the Berkeley Software Distribution (BSD) starting that year; this effort culminated in the full release of TCP/IP support in 4.2BSD in August 1983. This BSD integration facilitated rapid deployment in academic and military environments, as Unix systems proliferated in research institutions connected to ARPANET, enabling practical testing and refinement of the protocol. IPv4's specification evolved through iterative updates via Request for Comments (RFCs) to address emerging operational needs. RFC 919, published in October 1984, standardized broadcasting mechanisms for Internet datagrams, defining rules for local network broadcasts and gateway handling to prevent network overload. In August 1985, RFC 950 introduced the Internet Standard Subnetting Procedure, allowing logical division of IP networks into subnets using host field bits, which enhanced address efficiency without altering the core protocol. Further maturation came with RFC 1812 in June 1995, which specified requirements for IPv4 routers, mandating support for features like fragmentation, ICMP handling, and TOS-based forwarding to ensure interoperability in growing internetworks. The Internet Engineering Task Force (IETF), established in 1986, assumed ongoing stewardship of IPv4, publishing updates and extensions even after the development of IPv6 in the 1990s to address address exhaustion. Despite IPv6's introduction via RFC 2460 in 1998, the IETF has reaffirmed its commitment to maintaining IPv4 as a stable, deployable protocol, with working groups continuing to issue clarifications and enhancements for coexistence scenarios. This role ensures backward compatibility and supports the protocol's persistence in global infrastructure.

Deployment and Global Adoption

The deployment of IPv4 began with its adoption as the core protocol for the ARPANET, the precursor to the modern internet, on January 1, 1983, when the U.S. Department of Defense's Advanced Research Projects Agency (DARPA) mandated a full switchover from the Network Control Protocol to TCP/IP, including IPv4 for addressing. This transition connected over 200 research institutions and military sites, marking the first large-scale implementation of IPv4 in a packet-switched network and laying the groundwork for interconnected data exchange. Building on this foundation, the National Science Foundation (NSF) launched NSFNET in 1985 to link supercomputer centers and universities across the United States, using IPv4 to enable high-speed academic collaboration. Initially operating at 56 Kbps, NSFNET expanded rapidly, connecting five regional networks by 1986 and serving as a backbone for over 100,000 researchers by the late 1980s, which accelerated IPv4's role in fostering scientific data sharing and early internet experimentation. The commercialization of IPv4 accelerated in the mid-1990s with the privatization of NSFNET in 1995, which shifted control from government funding to private sector operations and allowed commercial internet service providers (ISPs) to interconnect freely. This pivotal change spurred the growth of ISPs such as America Online (AOL) and MCI, which by 1996 provided dial-up access to millions of households, transforming IPv4 from an academic tool into a commercial infrastructure supporting email, file transfers, and nascent web services. Complementing this expansion, the Border Gateway Protocol (BGP), first specified in 1989 and refined in BGP-4 by 1994, enabled scalable inter-domain routing across disparate IPv4 networks, allowing autonomous systems operated by different ISPs to exchange routing information and maintain global connectivity. During the 1990s, IPv4 underpinned the explosive growth of the World Wide Web, powering the boom in website proliferation and online services as browser adoption surged with tools like Netscape Navigator in 1994. By 2000, the number of IPv4-addressed internet hosts exceeded 100 million, reflecting the protocol's capacity to support the rapid scaling of connected devices amid the dot-com era. IPv4's addressing scheme facilitated the rise of e-commerce platforms, such as Amazon's launch in 1995, which relied on stable IP connectivity for secure transactions and inventory management, contributing to a sector that generated over $100 billion in global sales by the early 2000s. In the subsequent decades, IPv4 continued to drive mobile data growth, accommodating the proliferation of smartphones from the mid-2000s onward, where carrier-grade NAT techniques extended its limited address space to connect billions of devices for streaming, social media, and app-based services. Institutional support for IPv4's global rollout came through the Internet Assigned Numbers Authority (IANA), established in the early 1990s under the Internet Society to coordinate IP address allocation worldwide, ensuring orderly distribution from a central pool. To decentralize management, Regional Internet Registries (RIRs) were formed in the 1990s: RIPE NCC in 1992 for Europe and surrounding regions, APNIC in 1993 for Asia-Pacific, ARIN in 1997 for North America, and later LACNIC in 2002 and AFRINIC in 2005, all operating under IANA oversight to handle regional IPv4 assignments and promote equitable access. Despite the availability of IPv6 since 1998, IPv4 remains dominant in 2025, carrying approximately 55% of global internet traffic according to measurements of user access patterns, sustained by legacy infrastructure, NAT extensions, and the high cost of full migration in enterprise and mobile networks. This persistence underscores IPv4's enduring reliability in handling the majority of current data flows, even as IPv6 adoption grows in select regions.

Address Space Exhaustion

The IPv4 address space is inherently limited by its 32-bit format, providing a total of $2^{32} or 4,294,967,296 unique addresses, which proved insufficient to accommodate the rapid proliferation of Internet-connected devices, users, and services following widespread global adoption in the 1990s and 2000s. This exponential growth, driven by the expansion of personal computing, mobile networks, and emerging applications like the World Wide Web, quickly outstripped the available pool. Compounding the issue was the early classful addressing system, which allocated fixed, oversized blocks—such as Class A networks with over 16 million addresses—to organizations based on minimal projected needs, resulting in vast underutilization and fragmentation of the address space. The timeline of exhaustion unfolded progressively across managing bodies. The Internet Assigned Numbers Authority (IANA) depleted its unallocated IPv4 pool on February 3, 2011, distributing the final five /8 blocks to the five Regional Internet Registries (RIRs). APNIC, serving the Asia-Pacific region, exhausted its available allocations on April 15, 2011, marking the first RIR to reach this milestone amid high demand from rapidly growing economies like China and India. This was followed by RIPE NCC (Europe and Middle East) on September 14, 2012; LACNIC (Latin America and Caribbean) entering its final reserve phase in 2014; and ARIN (North America) on September 24, 2015. AFRINIC (Africa) delayed its depletion until 2020 due to lower regional demand but has since faced acute shortages, further complicated by a governance crisis in 2025 involving leadership turmoil and disputed elections that have disrupted stable IP address allocation, hindering network growth and exacerbating the digital divide in the region. By November 2025, secondary markets for address transfers have matured, with prices for individual IPv4 addresses often exceeding $50 in competitive sales, reflecting sustained scarcity despite conservation efforts. The depletion has imposed significant economic and operational burdens, elevating the cost of Internet infrastructure and incentivizing a secondary market for address trading, which operates under RIR oversight but has occasionally spilled into unregulated gray areas. This scarcity has intensified the urgency for IPv6 migration, yet adoption remains uneven, with global connectivity hinging on IPv4 compatibility. In developing regions, particularly in Africa and parts of Asia, the impacts are pronounced: elevated address acquisition costs hinder affordable network expansion, exacerbate digital divides, and prolong dependence on IPv4, slowing IPv6 rollout and limiting access to modern services. Several strategies have been deployed to alleviate the crisis without a full immediate transition to IPv6. Classless Inter-Domain Routing (CIDR), formalized in RFC 1519 in September 1993, revolutionized allocation by permitting flexible prefix lengths and route aggregation, reducing waste from classful rigidity and extending the address pool's viability by years. Network Address Translation (NAT), outlined in RFC 1631 in May 1994, enables multiple private devices within a network to share a single public IPv4 address through dynamic port mapping, conserving addresses at the cost of added complexity in end-to-end connectivity. Post-exhaustion, RIRs introduced transfer policies—such as ARIN's in 2011 and APNIC's in 2008—allowing justified transfers of unused legacy addresses between organizations, fostering a regulated market that has redistributed millions of addresses since 2012. These measures, including brief reliance on subnetting for internal efficiency and private address ranges for non-routable networks, have collectively postponed total collapse. Looking ahead, IPv4's phase-out is anticipated to be gradual, with projections indicating coexistence with IPv6 for at least another decade due to entrenched legacy systems, compatibility requirements, and uneven global adoption rates hovering around 40-50% in 2025. While IPv6's vast 128-bit space promises sustainability, the persistence of IPv4 dominance underscores the need for continued mitigation and policy incentives to accelerate the transition.

Addressing

Address Format and Representation

IPv4 addresses are 32-bit binary numbers that uniquely identify devices on a network. These addresses are structured as four 8-bit fields, known as octets, allowing for a total of 2^32 (approximately 4.3 billion) possible unique addresses. In binary form, an address might appear as 11000000.10101000.00001010.00000001, where each group of eight bits represents one octet. The standard human-readable representation of IPv4 addresses is dotted decimal notation, where each octet is converted to its decimal equivalent (ranging from 0 to 255) and separated by periods. For instance, the binary address 11000000.10101000.00001010.00000001 converts to 192.168.10.1 by calculating the decimal value of each octet: the first octet (11000000 in binary) equals 192 in decimal (128 + 64 = 192), the second (10101000) equals 168 (128 + 32 + 8 = 168), the third (00001010) equals 10 (8 + 2 = 10), and the fourth (00000001) equals 1. This notation, also called dotted quad, facilitates readability and is the conventional format used in network configurations and documentation. Alternative representations include hexadecimal, where the same address might be written as 0xC0A80A01, though this is less common for general use and more typical in low-level programming or packet analysis. In classless addressing, an IPv4 address is conceptually divided into a network prefix, which identifies the routing domain, and a host portion, which identifies individual devices within that domain; the boundary between these portions is determined by a variable-length prefix length rather than fixed classes. This flexible division supports efficient address allocation without rigid segmentation. Valid IPv4 addresses in dotted decimal notation must adhere to specific rules: each octet must be an integer from 0 to 255, and decimal values should not include leading zeros (e.g., 192.168.010.001 is invalid and should be written as 192.168.10.1). These constraints ensure unambiguous parsing and prevent errors in address interpretation. Common network diagnostic tools, such as ping and nslookup, display IPv4 addresses in dotted decimal notation to aid troubleshooting and verification. For example, executing ping 192.0.2.1 resolves and shows the target address in this format, while nslookup example.com returns associated IP addresses similarly.

Allocation and Assignment

The allocation and assignment of IPv4 addresses follow a hierarchical structure managed by authoritative bodies to ensure efficient global distribution. The Internet Assigned Numbers Authority (IANA), under the oversight of the Internet Corporation for Assigned Names and Numbers (ICANN), holds ultimate responsibility for the top-level delegation of IPv4 address space. IANA allocates large blocks, typically in /8 increments representing over 16 million addresses each, to the five Regional Internet Registries (RIRs) based on global policies and the demonstrated needs of each region. These RIRs—ARIN for North America (established December 22, 1997), RIPE NCC for Europe, APNIC for Asia-Pacific, LACNIC for Latin America and the Caribbean, and AFRINIC for Africa—receive allocations sufficient to meet regional demands for at least 18 months. RIRs subsequently assign portions of their allocated space to Local Internet Registries (LIRs), such as Internet Service Providers (ISPs), and National Internet Registries (NIRs) in applicable regions, following needs-based criteria that require justification of projected usage over a defined period, typically 12 to 24 months. Assignment sizes vary by RIR policy but often start with blocks like /20 (4,096 addresses) for initial allocations to LIRs, with subsequent additions granted upon demonstrating at least 80% utilization of prior space. This process ensures conservation, especially post-exhaustion of free pools, where smaller transfers or waitlists may apply. LIRs and NIRs must adhere to transparency and audit requirements to maintain accountability. At the local level, LIRs assign IPv4 addresses to end-users and organizations, typically in smaller subnets such as /24 (256 addresses) or below, depending on the customer's requirements. These assignments occur through dynamic methods like the Dynamic Host Configuration Protocol (DHCP), which automatically leases addresses from a pool for temporary use, or static configurations for persistent needs, such as servers requiring unchanging IPs. End-user assignments prioritize efficient utilization, often limited to the minimum block size justified by the recipient's network scale, and are registered in public WHOIS databases for traceability. Historically, IPv4 allocation relied on a classful system defined in RFC 791, dividing the address space into fixed classes based on the leading bits. Class A networks (first octet 1-126) supported up to 16,777,214 hosts each across 128 possible networks, Class B (first octet 128-191) up to 65,534 hosts across 16,384 networks, and Class C (first octet 192-223) up to 254 hosts across over 2 million networks; Class D (224-239) was reserved for multicast, and Class E (240-255) for experimental use. This structure, while simplifying early routing, led to inefficiencies, as Class B allocations—which comprised 25% of the total IPv4 space—often resulted in substantial waste when assigned to organizations needing far fewer than 65,534 addresses, sometimes leaving over 90% unused. The shift to classless allocation began with the adoption of Classless Inter-Domain Routing (CIDR) in 1993 via RFC 1519, replacing rigid class boundaries with flexible, prefix-length-based assignments tailored to actual needs rather than predefined sizes. This transition enabled variable-length subnet masking (VLSM) and address aggregation, significantly reducing waste and extending the usability of the IPv4 space before full exhaustion. RIR policies now universally emphasize needs-based evaluations over classful defaults, promoting conservation through mechanisms like waiting lists and transfers.

Subnetting and CIDR

Subnetting is a technique used to partition a single IPv4 network into multiple smaller subnetworks, enabling more efficient use of address space within an organization by borrowing bits from the host portion of the IP address to extend the network identifier. This process relies on a subnet mask, a 32-bit value that distinguishes the network prefix from the host suffix in an IP address through a bitwise AND operation. For instance, the subnet mask 255.255.255.0, often denoted in slash notation as /24, allocates the first 24 bits for the network and leaves 8 bits for hosts, providing up to 256 addresses per subnet (though two are reserved for network and broadcast, yielding 254 usable hosts). The number of subnets created equals 2 raised to the power of the number of borrowed bits, while the number of usable hosts per subnet is 2 raised to the power of the remaining host bits minus 2 (to exclude the all-zeroes network address and all-oneses broadcast address). For example, subnetting a Class B network with a /16 prefix (originally 65,534 usable hosts) by borrowing 3 bits produces 8 subnets (/19 each), with each subnet supporting 8,190 usable hosts. This hierarchical division supports logical segmentation for security, traffic management, and scalability in internal networks. Classless Inter-Domain Routing (CIDR), introduced in 1993, extends subnetting principles to the inter-domain level by allowing variable-length subnet masking (VLSM), where subnet masks of arbitrary lengths can be applied without adhering to fixed class boundaries. CIDR enables route aggregation, also known as supernetting, by combining multiple contiguous networks into a single routing entry; for example, the prefix 192.168.0.0/16 aggregates 256 /24 subnets, reducing the size of routing tables. This addressed the rapid growth of routing tables under classful addressing, which had exceeded 10,000 entries by the early 1990s due to inefficient allocation. VLSM, a core component of CIDR, permits subnets of varying sizes within the same major network, optimizing address utilization—for instance, assigning a /25 (128 addresses) for a small department and a /23 (512 addresses) for a larger one from the same /24 block. The Border Gateway Protocol version 4 (BGP-4) was enhanced to propagate CIDR prefixes, supporting aggregation through prefix length advertisements and path attributes, which facilitated scalable inter-provider routing. Overall, VLSM and CIDR minimize address waste in hierarchical topologies, conserving IPv4 space by enabling precise allocations that align with actual host requirements.

Address Resolution

In IPv4 networks, address resolution is the process of mapping an IPv4 address to the corresponding link-layer (hardware) address, such as a Media Access Control (MAC) address on Ethernet, to enable direct communication within a local broadcast domain. This mapping is essential because IPv4 operates at the network layer while data link protocols require hardware addresses for frame delivery on the local segment. The primary mechanism for this in IPv4 is the Address Resolution Protocol (ARP), which dynamically resolves these addresses without requiring manual configuration for every host pair. ARP, defined in RFC 826 (1982), functions by broadcasting ARP requests from a sender host to query the hardware address associated with a target IPv4 address on the local subnet. The sender constructs an ARP request packet with its own hardware and protocol addresses in the sender fields, sets the target protocol address to the desired IPv4 address, and leaves the target hardware address empty; the operation code is set to 1 (request). This packet is broadcast using the Ethernet type field value of 0x0806, reaching all devices on the broadcast domain. The target host, upon matching its IPv4 address, responds with a unicast ARP reply packet, swapping the sender and target fields to provide its hardware address and setting the operation code to 2 (reply). To optimize efficiency and reduce broadcast traffic, hosts maintain an ARP cache—a temporary table of resolved <protocol address, hardware address> mappings—that is consulted before sending a new request; entries are updated upon receiving replies and aged out based on implementation-specific timeouts, often around 20 minutes, with verification mechanisms like periodic probes to confirm validity. A variant of ARP, known as gratuitous ARP, allows a host to proactively announce or update its own address mappings without an incoming request, aiding in duplicate address detection and cache refreshes. In this case, a host sends an ARP request or reply with its own IPv4 address as both sender and target, broadcasting it to inform neighbors of changes, such as after interface reconfiguration or IP address assignment; this helps prevent conflicts by prompting other hosts to update their caches or detect duplicates if a reply claims the same address. Gratuitous ARP inherits ARP's broadcast nature and is particularly useful in dynamic environments like mobile or virtualized networks. For non-broadcast media like Frame Relay, where hardware addresses (e.g., Data Link Connection Identifiers or DLCIs) are known but protocol addresses are not, the Inverse Address Resolution Protocol (InARP) provides the reverse mapping. Specified in RFC 1293 (1992) and updated in RFC 2390 (1998), InARP extends the ARP packet format with operation codes 8 (request) and 9 (reply); a station unicasts an InARP request over a virtual circuit with its own addresses and a zero-filled target protocol address, prompting the remote station to reply with its protocol address. Unlike standard ARP, InARP avoids broadcasting and is confined to point-to-point or multipoint virtual circuits, enabling dynamic discovery without static routing tables. Proxy ARP extends ARP to support router transparency across multiple local area networks (LANs) treated as a single subnet. As described in RFC 925 (1984), a gateway (or "proxy") intercepts ARP requests for remote hosts on other subnets and replies on their behalf using its own hardware address on the local LAN, directing traffic to itself for forwarding; this hides subnet boundaries from end hosts, simplifying configuration in bridged or multi-LAN setups. The proxy maintains mappings in its ARP cache and may propagate unresolved requests across LANs if needed, with timeouts to prevent stale entries. Proxy ARP is IPv4-specific and operates within broadcast domains, but it can increase broadcast traffic in large networks. ARP's reliance on unauthenticated broadcasts introduces significant security vulnerabilities, particularly ARP spoofing (or poisoning), where a malicious host sends forged replies to associate its hardware address with a victim's IPv4 address, intercepting or redirecting traffic. This can enable man-in-the-middle attacks, denial of service via cache exhaustion, or session hijacking, as ARP lacks verification of sender claims and trusts replies implicitly. Such vulnerabilities stem from ARP's design assumptions of a trusted local network and are exacerbated in shared broadcast domains. Mitigations for ARP spoofing include configuring static ARP entries in host or router caches to override dynamic updates for critical addresses, preventing unauthorized substitutions, though this scales poorly in large networks. Dynamic ARP inspection (DAI), implemented on switches, validates ARP packets against a trusted binding table derived from DHCP snooping— which monitors DHCP messages to build legitimate IP-MAC-port mappings—and drops invalid replies; this confines spoofing to local ports without affecting legitimate traffic. Additional measures, such as port security to limit MAC addresses per switch port or cryptographic extensions like Secure ARP (though not widely standardized), further harden IPv4 local communication. These approaches are most effective when combined with broader network segmentation to limit broadcast domain size.

Special Addresses

Private and Reserved Networks

Private IPv4 addresses are designated for use in internal networks that do not require connectivity to the global Internet, allowing organizations to conserve public address space through mechanisms like Network Address Translation (NAT). These addresses, defined in RFC 1918, consist of three distinct blocks: 10.0.0.0/8, which provides approximately 16 million addresses for large-scale private networks; 172.16.0.0/12, offering about 1 million addresses suitable for medium-sized enterprises; and 192.168.0.0/16, encompassing roughly 65,000 addresses commonly used in small networks such as home or office LANs. Routers on the public Internet are prohibited from forwarding packets with these source or destination addresses, preventing them from being routed globally and ensuring isolation from external traffic. In addition to private addresses, several IPv4 blocks are reserved for specific non-global uses to avoid conflicts in network operations. The 0.0.0.0/8 block is reserved for denoting the default route or current network source hosts, with 0.0.0.0/32 specifically used as a source address for hosts on the local network before configuration. For carrier-grade NAT (CGN) implementations at the ISP level, the 100.64.0.0/10 block serves as a shared address space, enabling service providers to assign addresses to customer equipment behind large-scale translation devices, distinct from traditional private space to manage overlapping allocations. Documentation purposes utilize reserved blocks such as 192.0.2.0/24 (TEST-NET-1), 198.51.100.0/24 (TEST-NET-2), and 203.0.113.0/24 (TEST-NET-3), which are intended for examples in technical documents and code without requiring allocation from the public registry. The primary benefit of private and reserved addresses lies in address space conservation, as multiple internal networks can reuse the same ranges without collision on the public Internet, typically accessed externally via NAT or Port Address Translation (PAT). However, if these addresses leak into global routing tables—such as through misconfigured border gateways—they can cause reachability issues, blackholing traffic or creating routing loops across the Internet. While blocks like 127.0.0.0/8 for loopback and 169.254.0.0/16 for link-local addresses are also reserved, their detailed configurations are addressed in other contexts. Link-local addresses in IPv4 are automatically configured addresses within the 169.254.0.0/16 prefix, designed for zero-configuration networking on a single physical link without requiring manual intervention or a DHCP server. These addresses are assigned by the host operating system when dynamic address acquisition fails, such as in the absence of a DHCP response, enabling basic communication between devices on the same local network segment. The scope of link-local addresses is strictly limited to the local link; routers are required to ignore packets destined for this prefix, preventing them from being forwarded beyond the immediate network. The loopback address block, 127.0.0.0/8, is reserved exclusively for internal communication within a single host, with 127.0.0.1 serving as the conventional loopback address, often referred to as "localhost." This mechanism provides a software loopback interface that allows applications on the host to communicate with themselves as if they were networked, facilitating local testing, diagnostics, and inter-process communication without involving external network hardware. Packets addressed to the loopback range never leave the host and are not routable to any external network, ensuring isolation from wider internet traffic. In terms of address selection and priority, link-local addresses are assigned a lower preference than globally routable addresses, ensuring that devices prefer DHCP-assigned or static global addresses when available for outbound communication. Loopback addresses, by design, take precedence for local self-referencing due to their intrinsic role in host-internal operations. Both types support essential diagnostic functions; for instance, the command ping 127.0.0.1 verifies the TCP/IP stack's functionality on the local machine without network dependency. Implementation of these addresses involves automated processes by the operating system. For link-local addresses, hosts generate a random address from the 169.254.0.0/16 range and use ARP probes to detect conflicts with other devices on the link, retrying with a new random value if a duplicate is found. Loopback addresses are predefined and do not require generation or conflict resolution, as they are inherently local to the host. This auto-configuration promotes plug-and-play networking in environments like small ad-hoc setups or during DHCP troubleshooting. Prior to the standardization in RFC 3927 (2005), the use of the 169.254.0.0/16 range for automatic addressing was implemented as Automatic Private IP Addressing (APIPA) by Microsoft starting with Windows 98 in 1998, but lacked a full interoperability specification and conflict resolution protocol.

Multicast and Broadcast Addresses

In IPv4, multicast addresses enable one-to-many communication by allowing a single packet to be delivered to multiple recipients that have joined a specific group, contrasting with unicast's one-to-one delivery. These addresses fall within Class D, spanning the range 224.0.0.0 to 239.255.255.255, where the high-order four bits are fixed as 1110. A notable example is 224.0.0.1, designated as the permanent "all-hosts" group address for reaching all IP hosts on a directly connected network. Group membership is managed using the Internet Group Management Protocol (IGMP), which allows hosts to report their interest in receiving multicast traffic for specific groups. Certain subranges within the multicast block are reserved for specific purposes to ensure controlled usage. The 224.0.0.0/24 block is allocated for link-local protocols, where traffic is not forwarded beyond the local network; for instance, 224.0.0.5 serves as the "all-OSPF-routers" address used by the Open Shortest Path First (OSPF) routing protocol. Additionally, the 239.0.0.0/8 block is designated for administratively scoped multicast, enabling organizations to define private multicast domains without global routing implications. IPv4 broadcast addresses facilitate network-wide delivery to all hosts on a subnet or link, but they are handled with restrictions to prevent misuse. The limited broadcast address 255.255.255.255 targets all hosts on the local network and must not be forwarded by routers beyond the directly connected segment. Subnet broadcasts, also known as directed broadcasts, use an address formed by setting all host bits to 1 within a specific network prefix—for example, 192.168.1.255 for the 192.168.1.0/24 subnet—and may be forwarded by routers until reaching the target network, after which they are broadcast locally. To transmit IPv4 multicast packets over Ethernet, the IP multicast address is mapped to a layer-2 multicast MAC address using the prefix 01:00:5E, with the low-order 23 bits of the IP address placed into the low-order 23 bits of the Ethernet address; this mapping can result in multiple IP addresses colliding to the same Ethernet address due to the reduced bit field. Both multicast and broadcast mechanisms carry inherent limitations that affect their deployment. Broadcasts risk causing "broadcast storms," where excessive flooding leads to network congestion or loops, prompting routers to implement configurable controls to limit or disable forwarding of directed broadcasts by default. IPv4 multicast, while efficient for group communication, lacks universal support across networks due to challenges in address allocation and routing infrastructure, with dynamic assignment protocols often abandoned in favor of static or scoped methods. Applications of these addresses include routing protocols like OSPF, which rely on link-local multicast for neighbor discovery and updates, and service discovery mechanisms such as Multicast DNS (mDNS), which uses 224.0.0.251 to enable zero-configuration name resolution on local links.

Packet Structure

Header Format

The IPv4 packet header consists of a fixed minimum length of 20 bytes, which can be extended by optional fields to a maximum of 60 bytes, ensuring alignment on 32-bit boundaries through padding if necessary. This structure is defined in the original Internet Protocol specification, where the header precedes the payload data and encapsulates the necessary routing and delivery information. The header begins with the Version field, a 4-bit value set to 4 to indicate the IPv4 format, followed immediately by the Internet Header Length (IHL) field, which is 4 bits long and specifies the header length in 32-bit words (ranging from 5 to 15, corresponding to 20 to 60 bytes). Next is the 8-bit Type of Service (ToS) field, which provides quality-of-service indicators, and the 16-bit Total Length field, which denotes the entire packet length in octets, with a maximum value of 65,535. Subsequent fields support fragmentation and routing: the 16-bit Identification field assigns a unique value to datagrams that may be fragmented for reassembly; this is followed by a 3-bit Flags field (including the Don't Fragment (DF) bit to prevent fragmentation and the More Fragments (MF) bit to indicate additional fragments) and a 13-bit Fragment Offset field, which measures the fragment's position in the original datagram in units of 8 bytes. The 8-bit Time to Live (TTL) field is decremented by at least 1 at each router hop to prevent indefinite looping, and the 8-bit Protocol field identifies the upper-layer protocol (for example, 6 for TCP). The 16-bit Header Checksum field ensures header integrity and is recalculated at each modification point, such as during TTL decrement. The header concludes with the 32-bit Source Address and 32-bit Destination Address fields, specifying the sender and recipient IP addresses, respectively. Any optional fields follow these addresses, with padding bytes (zeros) added as needed to reach the next 32-bit boundary, maintaining the IHL value's accuracy. The byte-level layout of the minimum 20-byte IPv4 header (bytes 0 through 19) is illustrated below:
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version|  IHL  |   Type of Service |          Total Length         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Identification        |Flags|      Fragment Offset    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Time to Live |    Protocol   |         Header Checksum       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Source Address                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Destination Address                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This diagram represents the fixed portion without options; variable options and padding would extend beyond byte 19 if present.

Header Fields and Options

The IPv4 header begins with the Version field, a 4-bit value set to 4 to indicate the protocol version and ensure compatibility with processing equipment. Adjacent to it is the Internet Header Length (IHL) field, also 4 bits, which specifies the header length in 32-bit words, ranging from 5 (20 octets, no options) to 15 (60 octets). The minimum IHL of 5 is the most common configuration, as it accommodates the fixed portion of the header without extensions. The Type of Service (ToS) field, an 8-bit octet originally defined for specifying precedence, delay, throughput, and reliability preferences, has evolved significantly. The original IP precedence bits (the high-order 3 bits) are now deprecated in favor of the Differentiated Services (DiffServ) architecture, where the 6 high-order bits form the Differentiated Services Code Point (DSCP) to select per-hop behaviors for quality of service (QoS). The two low-order bits support Explicit Congestion Notification (ECN), enabling routers to signal incipient congestion by setting the Congestion Experienced (CE) codepoint instead of dropping packets, thus avoiding unnecessary retransmissions in ECN-capable transports. The Identification field, 16 bits long, assigns a unique value to each datagram to facilitate reassembly of fragmented packets. Accompanying it are the Flags field (3 bits) and Fragment Offset field (13 bits), which control fragmentation: the Don't Fragment (DF) bit, when set, prohibits fragmentation and supports Path MTU Discovery (PMTUD) by prompting routers to return an ICMP "Datagram Too Big" message if the packet exceeds the path MTU; the More Fragments (MF) bit indicates whether additional fragments follow; and the offset specifies the position of the fragment in the original datagram, measured in 8-octet units. The Time to Live (TTL) field, 8 bits, limits the datagram's lifespan to prevent indefinite looping in the network, with each router decrementing it by at least 1 before forwarding. Though nominally in seconds, it functions as a hop count in practice, with typical initial values of 64 (common in Unix-like systems) or 128 (common in Windows systems) to exceed the internet's diameter. The Protocol field, also 8 bits, identifies the higher-layer protocol encapsulated in the datagram, such as 1 for ICMP, 6 for TCP, or 17 for UDP. The Header Checksum field provides a 16-bit one's complement checksum computed over the header fields only, excluding the payload, to detect transmission errors; it is recalculated at each hop due to changes like TTL decrement. This checksum covers the header as a sequence of 16-bit words, with the checksum field itself set to zero during computation. Options are variable-length extensions (up to 40 octets) for additional control functions, padded to a 32-bit boundary, with the IHL adjusted accordingly. Each option begins with an 8-bit type field. The most significant bit is the Copy flag (set to 1 if the option is to be copied into all fragments, 0 otherwise). The next two bits specify the class (00 for control, 01 reserved for future use, 10 for debugging and measurement, 11 reserved). The remaining five bits are the option number. Type 0 marks the end of the options list (no length or data), and type 1 is the No Operation option (for padding/alignment, also no length or data). Examples include the Record Route option (type 7), which records the IP addresses of routers along the path, and the Timestamp option (type 68), which appends timestamps at each router to measure transit delays. IPv4 provides no cryptographic integrity protection beyond the header checksum, which only verifies against accidental bit errors and can be bypassed by non-compliant implementations or malicious alterations. This vulnerability enables header tampering, such as source address spoofing for denial-of-service attacks, underscoring the need for higher-layer security mechanisms like IPsec.

Fragmentation and Reassembly

Fragmentation Process

In IPv4, fragmentation occurs when a router or host determines that an incoming datagram's total length exceeds the maximum transmission unit (MTU) of the outgoing interface. If the Don't Fragment (DF) bit in the datagram's header is set to 1, the router discards the datagram and sends an ICMP Destination Unreachable message with code 4 ("Fragmentation Needed and DF Set") back to the source, including the MTU of the next hop in the message. Otherwise, if the DF bit is 0, the router proceeds to fragment the datagram to fit within the MTU. The fragmentation process begins by copying the original datagram's 16-bit Identification field into each fragment to enable reassembly at the destination. The first fragment is assigned a Fragment Offset of 0, and if additional fragments are needed, its More Fragments (MF) flag is set to 1; subsequent fragments have offsets calculated in units of 8 octets (bytes), representing their position relative to the start of the original datagram's data portion, with the MF flag set to 1 for all but the last fragment. Fragments are divided such that the data payload of each (excluding the header) does not exceed the MTU minus the length of the IP header, and the data length of each fragment must be a multiple of 8 octets except possibly the last one. Each fragment receives a complete copy of the original IP header, which is at least 20 octets long and may be longer if options are present, followed by a portion of the original data. The router adjusts the Total Length field in each fragment's header to reflect the combined length of the header and its data payload, sets the appropriate Fragment Offset and MF flag, and recalculates the Header Checksum for the modified header. These fragments are then transmitted independently over the network, with reassembly handled solely at the final destination host. To mitigate fragmentation, IPv4 implements Path MTU Discovery (PMTUD) as described in RFC 1191, where the source host initially sets the DF bit to 1 and probes the path by sending datagrams of increasing size up to an estimated maximum. Upon receiving an ICMP "Fragmentation Needed" message, the source reduces its Path MTU estimate to the reported value (or a conservative fallback like 576 octets if unspecified) and retransmits smaller datagrams accordingly, periodically probing for potential increases in path MTU. IPv4 fragmentation introduces reliability issues, as the loss of even a single fragment results in the entire original datagram being discarded during reassembly, since all fragments must arrive for reconstruction. Additionally, firewalls or security policies that block ICMP "Fragmentation Needed" messages can prevent PMTUD from functioning, causing persistent datagram drops without the source adjusting its MTU estimate.

Reassembly Mechanism

In IPv4, the reassembly of fragmented datagrams occurs exclusively at the destination end-system, where the receiving host buffers incoming fragments for reconstruction into the original datagram. Fragments are identified and grouped using a combination of the source and destination IP addresses, the upper-layer protocol (from the Protocol field), and the 16-bit Identification field, which ensures that fragments from different datagrams are not intermingled. Upon receipt, the receiver sorts the fragments based on the Fragment Offset field, measured in units of 8 octets (64 bits), starting from offset 0 for the first fragment. The receiver maintains a reassembly buffer for each unique datagram identifier and holds the fragments until the datagram is complete, indicated by the arrival of the final fragment with the More Fragments (MF) flag set to 0, or until a reassembly timer expires—typically initialized to 15 seconds and adjusted to not exceed the datagram's Time to Live (TTL) value multiplied by one second, up to a maximum of 255 seconds. During the assembly process, the receiver places each fragment's data payload into the appropriate position in the reassembly buffer according to its offset and total length, effectively concatenating the payloads to form the complete datagram. Implementations may handle overlapping fragments differently, often retaining the data from the first or most recent arrival and discarding fragments that do not align properly with the expected offsets to prevent corruption. Once complete, the reassembled datagram is passed to the upper-layer protocol, with the IP header reconstructed using the values from the first fragment. If the datagram remains incomplete after the timer expires, all associated fragments and buffer resources are discarded; in such cases, the receiver may optionally generate an ICMP Time Exceeded message with the code "Fragment Reassembly Time Exceeded" to notify the sender, though this is not mandatory. A key design principle of IPv4 reassembly is that it is performed only by end-systems, not by intermediate routers, to prevent memory overload and performance bottlenecks in the network core. Routers must forward each fragment independently based on its header without attempting reassembly, as specified in the requirements for IPv4 routers, which explicitly prohibit this function during transit to maintain scalability and avoid single points of failure. This end-system-only approach aligns with the protocol's layered model, delegating reconstruction to the ultimate destination. IPv4's reassembly has specific limitations inherent to its header design: the 13-bit Fragment Offset field provides granularity in 8-byte units, requiring data alignment to these boundaries. Additionally, the maximum reassembly buffer size is constrained by the 16-bit Total Length field to approximately 64 KB (65,535 octets including header), beyond which larger datagrams cannot be fully reconstructed. Modern implementations of IPv4 reassembly vary in efficiency, with many operating systems performing the process in software within the network stack, which can consume CPU cycles for buffering and sorting, especially under high fragment rates. However, some high-performance network interface cards (NICs) and specialized hardware, such as content processors in security appliances, offer hardware-accelerated reassembly to offload this task from the CPU, using dedicated tables and logic to handle fragment buffering and concatenation at line rates, thereby reducing latency and resource usage in demanding environments.

Supporting Protocols

ICMP for Diagnostics

The Internet Control Message Protocol (ICMP) serves as a vital component of the IPv4 protocol suite, providing mechanisms for error reporting, diagnostics, and network control messages. Defined in RFC 792 published in 1981, ICMP messages are encapsulated directly within IPv4 datagrams using the IP protocol number 1 in the header, without employing port numbers as in transport protocols. This encapsulation allows ICMP to operate at the network layer, enabling hosts and routers to exchange diagnostic information essential for troubleshooting and maintaining IP connectivity. A primary use case is the ping utility, which relies on ICMP Echo Request messages (type 8, code 0) to query a destination and Echo Reply messages (type 0, code 0) to confirm reachability. ICMP includes a range of error messages to report issues encountered during packet processing. The Destination Unreachable message (type 3) indicates that delivery failed, with codes specifying the reason, such as code 0 for an unreachable network, code 1 for an unreachable host, code 3 for an unreachable port, and code 4 for fragmentation needed but not permitted. The Time Exceeded message (type 11) signals timeouts, with code 0 for a packet's time-to-live (TTL) expiring at a router and code 1 for a reassembly timeout during fragmentation. Additionally, the Parameter Problem message (type 12, code 0) notifies of errors in the IP header, pointing to the problematic octet via a parameter field. These error messages are generated only for non-ICMP IP datagrams to prevent infinite loops, and the original offending packet's header is included in the ICMP payload for context. Beyond errors, ICMP supports informational messages for network diagnostics and optimization. The Redirect message (type 5) allows a router to inform a host of a better route, with codes like 0 for network redirection or 1 for host redirection, though its use is limited in modern routed environments to avoid security risks. The Timestamp Request (type 13, code 0) and Timestamp Reply (type 14, code 0) messages facilitate measuring round-trip times for performance analysis. The Address Mask Request (type 17, code 0) and Address Mask Reply (type 18, code 0) were originally intended for subnet mask discovery but are now deprecated in favor of more secure configuration methods like DHCP. To mitigate denial-of-service threats, ICMP implementations incorporate rate limiting on message generation and processing, as excessive responses could overwhelm network resources. For instance, path MTU discovery integrates ICMP Destination Unreachable (type 3, code 4) to report the maximum transmission unit, but rate limiting prevents abuse during these exchanges. ICMP for IPv4 has known security vulnerabilities, notably the Smurf attack, where an attacker spoofs the source address of an Echo Request to a broadcast or multicast address, amplifying traffic through replies from multiple hosts. Modern best practices recommend ingress filtering to block spoofed packets and selective rate limiting or dropping of non-essential ICMP types at firewalls and routers, while permitting critical messages like Time Exceeded for traceroute functionality and Destination Unreachable for proper operation.

ARP for Address Mapping

The Address Resolution Protocol (ARP) is a communication protocol used in IPv4 networks to map IP addresses to corresponding MAC addresses within a local network segment. When an IPv4 host needs to send data to another host on the same local network, it encapsulates the IP packet in a link-layer frame requiring the destination MAC address; ARP resolves this by querying the target IP address. The protocol operates at the data link layer and relies on broadcast and unicast messages to perform this resolution dynamically. ARP messages are encapsulated in Ethernet frames with EtherType value 0x0806. The ARP payload consists of a 28-byte structure for standard Ethernet/IPv4 usage, comprising fixed fields followed by variable-length addresses. Key fields include: hardware type (e.g., 1 for Ethernet), protocol type (e.g., 0x0800 for IPv4), hardware address length (6 bytes for MAC), protocol address length (4 bytes for IPv4), sender MAC address, sender IP address, target MAC address (often zero in requests), and target IP address. The opcode field specifies the message type: 1 for request and 2 for reply. Hosts maintain an ARP cache to store resolved IP-to-MAC mappings, reducing the need for repeated queries. Entries are dynamic and subject to timeouts, typically configurable on the order of minutes to hours (e.g., up to several hours in common implementations) to detect changes or failures. Static entries can be manually configured for critical devices like servers to override dynamic updates. Gratuitous ARP, where a host sends an unsolicited ARP message (request or reply) with its own IP and MAC, serves to announce address changes, update caches, or detect IP conflicts during duplicate address detection. In operation, a host broadcasts an ARP request on the local network, setting the target IP in the target protocol address field and padding the target hardware address with zeros; the Ethernet destination is the broadcast MAC (ff:ff:ff:ff:ff:ff). The intended recipient replies unicast to the requester's MAC, swapping sender and target fields to provide its own MAC address. The Reverse Address Resolution Protocol (RARP), defined in RFC 903, reverses this process to allow diskless workstations to obtain their IP address from a known MAC during bootstrap, using opcodes 3 (request) and 4 (reply); it is now obsolete, superseded by protocols like DHCP. IPv4-specific extensions enhance ARP functionality. Proxy ARP enables a router to respond to ARP requests on behalf of hosts on remote networks, transparently extending the local broadcast domain across subnets. Inverse ARP (InARP) adapts ARP for non-broadcast networks like Frame Relay, mapping virtual circuit identifiers (e.g., DLCI) to IP addresses via targeted requests over point-to-point links. ARP is specific to IPv4 and Ethernet-like networks; IPv6 uses Neighbor Discovery Protocol (NDP) instead. A key limitation is vulnerability to ARP poisoning attacks, where malicious replies insert false IP-to-MAC mappings into caches, enabling man-in-the-middle interception. Mitigations include switch-level features like Dynamic ARP Inspection, which validates ARP packets against trusted bindings from DHCP snooping to block spoofed messages.

References

  1. [1]
    RFC 791 - Internet Protocol - IETF Datatracker
    RFC 791 defines the Internet Protocol, designed for transmitting data blocks (datagrams) through interconnected networks, using addressing and fragmentation.
  2. [2]
    Understanding IP Addressing and CIDR Charts - RIPE NCC
    For IPv4, this pool is 32-bits (232) in size and contains 4,294,967,296 IPv4 addresses. The IPv6 address space is 128-bits (2128) in size, containing 340,282, ...
  3. [3]
    IPv4 address pool ran out in the Asia Pacific region - JPNIC
    The free pool of IPv4 addresses in the Asia Pacific region ran out on April 15, 2011, but this doesn't mean the existing internet will stop working.
  4. [4]
    What is IPv4 Run Out? - RIPE NCC
    In November 2019, we exhausted our remaining IPv4 pool. This means that networks in Europe, the Middle East and parts of Central Asia are no longer able to ...
  5. [5]
    IPv4 Addressing Options - American Registry for Internet Numbers
    ARIN's free pool of IPv4 address space was depleted on 24 September 2015. As a result, we no longer can fulfill requests for IPv4 addresses unless you meet ...IPv4 Waiting List · IPv4 Addresses Cleared for... · Request IPv4 Addresses<|control11|><|separator|>
  6. [6]
    IPv6 Adoption - Google
    The graph shows the percentage of users that access Google over IPv6. Native: 47.18% 6to4/Teredo: 0.00% Total IPv6: 47.18% | Oct 26, 2025.
  7. [7]
    RFC 1122 - Requirements for Internet Hosts - Communication Layers
    This is one RFC of a pair that defines and discusses the requirements for Internet host software. This RFC covers the communications protocol layers.
  8. [8]
    RFC 4301 - Security Architecture for the Internet Protocol
    This document describes an updated version of the "Security Architecture for IP", which is designed to provide security services for traffic at the IP layer.
  9. [9]
    IPv4 Address Space - Internet Assigned Numbers Authority
    Oct 10, 2025 · Originally, all the IPv4 address spaces was managed directly by the IANA. Later parts of the address space were allocated to various other ...
  10. [10]
    RFC 801: NCP/TCP transition plan
    The goal is to make a complete switch over from the NCP to IP/TCP by 1 January 1983. It is the task of each host organization to implement IP/TCP for its own ...
  11. [11]
    RFC 791 - Internet Protocol - IETF Datatracker
    RFC: 791 INTERNET PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION September 1981 prepared for Defense Advanced Research Projects ...
  12. [12]
    Twenty Years of Berkeley Unix : From AT&T-Owned to Freely - O'Reilly
    In the fall of 1981, Sam Leffler joined the CSRG as a full-time staff member to work with Bill Joy. When Rob Gurwitz released an early implementation of the TCP ...Missing: IPv4 | Show results with:IPv4
  13. [13]
    TCP/IP and XNS 1981 - 1983 | History of Computer Communications
    In 1981, DARPA awarded seven contracts to create computer host code. The contract to port TCP/IP to UNIX went to BBN.
  14. [14]
    RFC 919: Broadcasting Internet Datagrams
    RFC 919 October 1984 Broadcasting Internet Datagrams The address 255.255.255.255 denotes a broadcast on a local hardware network, which must not be forwarded.Missing: IPv4 | Show results with:IPv4
  15. [15]
    RFC 950: Internet Standard Subnetting Procedure
    This memo discusses the utility of "subnets" of Internet networks, which are logically visible sub-sections of a single Internet network.
  16. [16]
    The IETF Will Continue Maintaining IPv4
    Aug 22, 2022 · Since version 4 of the Internet Protocol (IPv4) was created as an experiment in 1981 in RFC0791 · The Internet has grown by many orders of ...
  17. [17]
    ARPANET - DARPA
    ARPANET geographic map, May 1977. 1983. Switch to Transmission Control Protocol (TCP) and the Internet Protocol (IP) (TCP/IP). ARPANET packet switching ...Need And Opportunity · Resources · Darpa Solution
  18. [18]
    A Brief History of the Internet & Related Networks
    The Internet Activities Board (IAB) was created in 1983 to guide the evolution of the TCP/IP Protocol Suite and to provide research advice to the Internet ...
  19. [19]
    History - About NSF | NSF - National Science Foundation
    NSF links the centers and its regional university network to form NSFNET, forerunner of the internet. ... From 1985 to 1989, he was president of Universities ...
  20. [20]
    NSFNET - IBM
    Not long after, in 1985, the National Science Foundation (NSF) launched an initiative to build a more powerful, flexible and inclusive backbone to link ...
  21. [21]
    [PDF] Commercialization of the Internet
    In retrospect, two key events of 1995 set the stage for the commercial. ISP market for the remainder of the decade. The first was the Netscape. IPO in August ...
  22. [22]
    How The Internet Works: All You Need To Know - Bloomberg
    Jul 19, 1998 · When the government privatized the NSFNET in 1995, companies such as MCI, UUNET Technologies (now owned by WorldCom), BBN (now owned by GTE) ...
  23. [23]
    A short history of the internet | National Science and Media Museum
    Dec 3, 2020 · Between 1986 and 1987, the network grew from 2,000 hosts to 30,000. People were now using the internet to send messages to each other, read news ...Missing: IPv4 | Show results with:IPv4
  24. [24]
    Revolution of Information Transfer Internet Host Counts 1990-2000
    The number of hosts of the Internet is expected to exceed 100 million by the year 2000. The key to better health in the 21st century would depend on how ...
  25. [25]
    History of E-Commerce - Fleximize
    Think of the history of e-commerce, and you'd probably think of the 1990s. But you'd be wrong. Here's our short guide, from ARPANET to Google algorithms.The Age Of Great Dreams · The Birth Of The Internet · Http & Ssl<|separator|>
  26. [26]
    [PDF] Making Cents of IPv4 | A10 Networks
    In developed countries such as the U.S., mobile subscriptions are expected to grow at 2% or less for the next five years, but mobile data traffic will grow at ...
  27. [27]
    Development of the Regional Internet Registry System
    Dec 2, 2010 · In October 1999, the existing RIRs and ICANN jointly signed a Memorandum of Understanding (MoU) to establish the principles for forming and ...Before The Rirs · Emergence Of The Rirs · The Rir System<|separator|>
  28. [28]
    IPv6 in 2025 – Where Are We? - Cisco Blogs
    Jan 29, 2025 · As of 2022, Akamai saw 52% of their US traffic as IPv6 and Facebook was seeing over 61% in the US. And yet when one digs into the data, you find ...
  29. [29]
    IPv4 Consumption - CAIDA
    Jul 22, 2020 · This analysis examines the rate of consumption of the IPv4 address space allocated by IANA to the RIRs and ultimately to end users.Missing: exact | Show results with:exact
  30. [30]
    RFC 1519 - Classless Inter-Domain Routing (CIDR) - IETF Datatracker
    This memo discusses strategies for address assignment of the existing IP address space with a view to conserve the address space and stem the explosive growth ...
  31. [31]
    The IANA IPv4 Address Free Pool is now Depleted [Archived] - ARIN
    Feb 3, 2011 · At a ceremony held on 3 February, 2011 the Internet Assigned Numbers Authority (IANA) allocated the remaining last five /8s of IPv4 address ...Missing: exhaustion | Show results with:exhaustion
  32. [32]
    IPv4 exhaustion - APNIC
    The APNIC community ensured it would take many years for APNIC's IPv4 pool to run out by creating policies to limit the amount of address space delegated to ...Missing: exact IANA
  33. [33]
    ARIN Reaches IPv4 Depletion [Archived]
    Sep 24, 2015 · ARIN will continue satisfying IPv6 requests, as normal. ARIN has reached depletion of the general IPv4 free pool today, 24 September 2015.
  34. [34]
    IPv4 Exhaustion - AFRINIC - Regional Internet Registry for Africa
    Jan 27, 2023 · 14 September 2012: The RIPE NCC Announces that it has Exhausted its IPv4 Pool. 15 April 2011: APNIC Announces it has Exhausted its IPv4 Pool.Afrinic Ipv4 Exhaustion · Ipv4 Exhaustion Phases · Phase 1Missing: exact | Show results with:exact
  35. [35]
    IPv4 Price History - IPXO
    Due to global IPv4 exhaustion, companies trade, buy, sell and lease IPv4 addresses. Here is your detailed IPv4 price history report.Ipv4 Price History · Slow Ipv6 Adoption · Ipv4 Sale Price History...<|control11|><|separator|>
  36. [36]
    IPv4 exhaustion and address transfers, and their impact on IPv6 ...
    The current address space supply, provided by the IPv4 standard, is close to exhaustion; as a result, sustainable future growth will require the deployment of ...
  37. [37]
    Information on RFC 1519 - » RFC Editor
    RFC 1519. Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy, September 1993 ... RFC 1519. Abstract. This memo discusses ...
  38. [38]
    Information on RFC 1631 - » RFC Editor
    The address reuse solution is to place Network Address Translators (NAT) at the borders of stub domains. This memo provides information for the Internet ...
  39. [39]
    IPv6 in 2025 – The Freedom of Address Space - Cisco Blogs
    Sep 8, 2025 · We can use the plentiful address space to create an IPv6 addressing plan that will look substantially different from your IPv4 one. If you ...
  40. [40]
    RFC 1166 - Internet numbers - IETF Datatracker
    ... addresses by the Internet Protocol (IP) [14,26]. The IP uses a 32-bit address field and divides that address into a network part and a "rest" or local ...
  41. [41]
    Number Resources - Internet Assigned Numbers Authority
    IPv4 addresses are 32-bit numbers often expressed as 4 octets in “dotted decimal” notation (for example, 192.0.2.53). Deployment of the IPv6 protocol began ...Autonomous System · About us · Making Internet Number... · RIR Allocation Data
  42. [42]
    RFC 4632 - Classless Inter-domain Routing (CIDR) - IETF Datatracker
    This memo discusses the strategy for address assignment of the existing 32-bit IPv4 address space with a view toward conserving the address space.
  43. [43]
    Internet Assigned Numbers Authority (IANA) Policy For Allocation of ...
    The IANA will allocate sufficient IPv4 address space to the RIRs to support their registration needs for at least an 18 month period. The IANA will allow for ...
  44. [44]
    Regional Internet Registries - The Number Resource Organization
    Jan 4, 2025 · The Number Resource Organization (NRO) was established in 2003 as a coordinating body for the five Regional Internet Registries (RIRs) to act on ...IPv4 Exhaustion FAQs · Internet Number Resources · The Internet Registry System<|control11|><|separator|>
  45. [45]
    [PDF] History and Services - ARIN
    Established in December 1997 as a Regional Internet Registry, the American Registry for Internet Numbers. (ARIN) is responsible for the management and ...
  46. [46]
    IPv4 Address Allocation and Assignment Policies for the ... - RIPE NCC
    Jun 20, 2024 · This document describes the policies for the responsible management of globally unique IPv4 Internet address space in the RIPE NCC service region.
  47. [47]
    Number Resource Policy Manual - American Registry for Internet ...
    Mar 4, 2025 · The IANA shall establish a Recovered IPv4 Pool to be utilized post RIR IPv4 exhaustion. The Recovered IPv4 Pool will initially contain any ...
  48. [48]
    Free Pool of IPv4 Address Space Depleted
    Feb 3, 2011 · IANA assigns IPv4 addresses to the RIRs in blocks that equate to 1/256th of the entire IPv4 address space. Each block is referred to as a “/8” ...
  49. [49]
    IPv4 Allocation Policy - AFRINIC
    An assignment is an IP block given by an LIR to the end-users for their own usage. To "assign" means to delegate address space to an ISP or End User for ...
  50. [50]
    RFC 1466 - Guidelines for Management of IP Address Space
    Guidelines for Management of IP Address Space May 1993 assignments of Class A numbers will take place in the near future, any organization petitioning the ...Missing: IPv4 | Show results with:IPv4
  51. [51]
    Problems With "Classful" IP Addressing - The TCP/IP Guide!
    Inefficient Use of Address Space: The existence of only three block sizes (classes A, B and C) leads to waste of limited IP address space.
  52. [52]
    RFC 1519: Classless Inter-Domain Routing (CIDR)
    This memo discusses strategies for address assignment of the existing IP address space with a view to conserve the address space and stem the explosive growth ...Missing: inefficiencies | Show results with:inefficiencies
  53. [53]
    RFC 950 - Internet Standard Subnetting Procedure - IETF Datatracker
    RFC 950 August 1985 Internet Standard Subnetting Procedure Source address: 36.40.0.62 Destination address: 255.255.255.255 Protocol: ICMP = 1 Type: Address ...
  54. [54]
    RFC 4271 - A Border Gateway Protocol 4 (BGP-4) - IETF Datatracker
    This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.
  55. [55]
    RFC 826 - An Ethernet Address Resolution Protocol - IETF Datatracker
    The purpose of this RFC is to present a method of Converting Protocol Addresses (eg, IP addresses) to Local Network Addresses (eg, Ethernet addresses).
  56. [56]
    RFC 5227: IPv4 Address Conflict Detection
    ### Summary of Security Considerations for ARP from RFC 5227
  57. [57]
    RFC 1293 - Inverse Address Resolution Protocol - IETF Datatracker
    Inverse Address Resolution Protocol (InARP) will allow a Frame Relay station to discover the protocol address of a station associated with the virtual circuit.
  58. [58]
    RFC 925 - Multi-LAN address resolution - IETF Datatracker
    ... Protocol [2]. OVERVIEW To quickly review the Address Resolution Protocol (ARP). Each host on a broadcast LAN knows both its own physical hardware address ...Missing: Proxy | Show results with:Proxy
  59. [59]
    RFC 4732: Internet Denial-of-Service Considerations
    ### Summary of ARP Spoofing and Mitigations in RFC 4732
  60. [60]
  61. [61]
    RFC 1918 - Address Allocation for Private Internets - IETF Datatracker
    This document describes address allocation for private internets. The allocation permits full network layer connectivity among all hosts inside an enterprise.
  62. [62]
    RFC 5735 - Special Use IPv4 Addresses - IETF Datatracker
    This document obsoletes RFC 3330. It describes the global and other specialized IPv4 address blocks that have been assigned by the Internet Assigned Numbers ...
  63. [63]
    RFC 6598 - IANA-Reserved IPv4 Prefix for Shared Address Space
    ... 1918 private address space because it is intended for use on Service Provider networks. However, it may be used in a manner similar to RFC 1918 private address ...
  64. [64]
  65. [65]
    RFC 3927 - Dynamic Configuration of IPv4 Link-Local Addresses
    This document describes how a host may automatically configure an interface with an IPv4 address within the 169.254/16 prefix that is valid for communication ...
  66. [66]
    RFC 1112 - Host extensions for IP multicasting - IETF Datatracker
    This memo specifies the extensions required of a host implementation of the Internet Protocol (IP) to support multicasting.
  67. [67]
    RFC 5771 - IANA Guidelines for IPv4 Multicast Address Assignments
    This document provides guidance for the Internet Assigned Numbers Authority (IANA) in assigning IPv4 multicast addresses.
  68. [68]
    RFC 919 - Broadcasting Internet Datagrams - IETF Datatracker
    RFC 919 October 1984 Broadcasting Internet Datagrams The address 255.255.255.255 denotes a broadcast on a local hardware network, which must not be forwarded.
  69. [69]
    RFC 1812 - Requirements for IP Version 4 Routers - IETF Datatracker
    RFC 1812 Requirements for IP Version 4 Routers June 1995 router's IP addresses (a router is required to have at least one IP address). This router-id is ...
  70. [70]
    RFC 6308 - Overview of the Internet Multicast Addressing Architecture
    RFC 6308 Multicast Address Allocation June 2011 ; 2.3. Static IANA Allocation ; 2.4. Dynamic Allocation ; 3. Multicast Address Assignment ; 3.1. Derived Assignment ...
  71. [71]
    RFC 6762 - Multicast DNS - IETF Datatracker
    Multicast DNS (mDNS) provides the ability to perform DNS-like operations on the local link in the absence of any conventional Unicast DNS server.
  72. [72]
    RFC 2474: Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers
    ### Summary of IPv4 ToS Field Usage in Differentiated Services (DiffServ) per RFC 2474
  73. [73]
  74. [74]
    RFC 1191: Path MTU discovery
    ### Summary of Use of Don't Fragment (DF) Bit in IPv4 for Path MTU Discovery (PMTUD) in RFC 1191
  75. [75]
  76. [76]
  77. [77]
    RFC 8900 - IP Fragmentation Considered Fragile - IETF Datatracker
    RFC 8900 describes IP fragmentation and how it introduces fragility to Internet communication, and proposes alternatives.<|control11|><|separator|>
  78. [78]
    Reassembling and offloading fragmented packets
    NP7 processors use DFR to reassemble fragmented packets into two pieces, using a table. This is disabled by default, and can be enabled for performance.
  79. [79]
    RFC 792: Internet Control Message Protocol
    ### Summary of ICMP Message Structure (RFC 792)
  80. [80]
  81. [81]
    RFC 903 - A Reverse Address Resolution Protocol - IETF Datatracker
    Plummer's "Address Resolution Protocol" (ARP) [1] is designed to solve a complementary problem, resolving a host's hardware address given its protocol address.Missing: Inverse | Show results with:Inverse
  82. [82]
    RFC 1027 - Using ARP to implement transparent subnet gateways
    This RFC describes the use of the Ethernet Address Resolution Protocol (ARP) by subnet gateways to permit hosts on the connected subnets to communicate without ...
  83. [83]
    RFC 2390 - Inverse Address Resolution Protocol - IETF Datatracker
    Using figure 1 as an example, station A may use Inverse ARP to discover the protocol address of the station associated with its DLCI 50. The Inverse ARP ...
  84. [84]
    RFC 4861 - Neighbor Discovery for IP version 6 (IPv6)
    This document specifies the Neighbor Discovery protocol for IP Version 6. IPv6 nodes on the same link use Neighbor Discovery to discover each other's presence.
  85. [85]
  86. [86]
    Network layer, layer 3
    IBM documentation stating that the most significant protocol at layer 3 (network layer) of the OSI model is the Internet Protocol (IP).
  87. [87]
    RFC 1519 - Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy
    IETF standard defining CIDR for flexible IPv4 address allocation and aggregation, superseding classful addressing.