IPv4 (Internet Protocol Version 4)
Overview
IPv4 is the fourth version of the Internet Protocol and remains the most widely deployed IP version in the Internet. It uses a 32-bit addressing scheme providing approximately 4.3 billion unique addresses. Despite its limitations in address space, IPv4 continues to be the backbone of internet communications, employing various technologies like NAT to extend its usability. The protocol defines how addresses are assigned, how packets are formatted, and how routing occurs across the Internet.
Detailed Explanation
IPv4 serves as the fundamental protocol for internet communication, defining the addressing and routing principles for data delivery across networks.
Address Structure
-
Format
- 32-bit address space
- Four 8-bit octets
- Dotted decimal notation
- Range: 0.0.0.0 to 255.255.255.255
-
Address Components
- Network portion
- Host portion
- Subnet mask application
- CIDR notation usage
IPv4 Packet Structure
-
Header Format
- Version (4 bits)
- Header length (4 bits)
- Type of service (8 bits)
- Total length (16 bits)
- Identification and flags
- Fragment offset
- Time to live
- Protocol
- Header checksum
- Source and destination addresses
-
Data Portion
- Variable length
- Maximum 65,535 bytes
- Fragmentation handling
- Reassembly process
Special Address Ranges
-
Private Addresses (RFC 1918)
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
-
Reserved Addresses
- Loopback: 127.0.0.0/8
- Multicast: 224.0.0.0/4
- Broadcast: 255.255.255.255/32
IPv4 Features
-
Addressing Capabilities
- Host identification
- Network identification
- Broadcast support
- Multicast support
-
Protocol Operations
- Best-effort delivery
- Connectionless service
- Packet fragmentation
- Header checksums
Common IPv4 Protocols
-
Transport Layer
- TCP (Transmission Control Protocol)
- UDP (User Datagram Protocol)
- ICMP (Internet Control Message Protocol)
-
Application Layer
- HTTP/HTTPS
- FTP
- SMTP
- DNS
References
- RFC 791 - Internet Protocol
- Stevens, W. R. (1994). TCP/IP Illustrated, Volume 1
- Hunt, C. (2002). TCP/IP Network Administration