Module 5: Communications and Information Literacy - IP Address Introduction

Overview of Internet Protocol (IP) Addresses

  • An Internet Protocol address (IP address) is a numerical label assigned to each device (e.g., computer, printer) connected to a computer network that uses the Internet Protocol for communication.
  • An IP address serves two principal functions:
    • Host or network interface identification
    • Location addressing
  • Networking role distinction:
    • "A name indicates what we seek. An address indicates where it is. A route indicates how to get there."
  • Global allocation of the IP address space is managed by the Internet Assigned Numbers Authority (IANA).
  • IANA delegates authority to five Regional Internet Registries (RIRs) to allocate IP address blocks to Local Internet Registries (LIRs), such as Internet Service Providers (ISPs), and other entities.

IP Versions: IPv4 vs. IPv6

  • Two versions of the Internet Protocol are in active use: IP Version 4 (IPv4) and IP Version 6 (IPv6).
  • The generic term "IP address" typically refers to addresses defined by IPv4 due to its historical ubiquity.
  • Version Sequence Gap: The sequence skipped from IPv4 directly to IPv6 because number 5 was assigned in 1979 to the experimental Internet Stream Protocol, which was never referred to as IPv5.

IPv4 Architecture and Subnetting

  • Structure and Address Space:

    • IPv4 defines an IP address as a 32-bit number, limiting the total address space to 232=4,294,967,2962^{32} = 4,294,967,296 possible unique addresses.
    • Reserved allocations include approximately 18 million addresses for private networks and ~270 million addresses for multicast communication.
  • Canonical Representation:

    • Canonically displayed in dot-decimal notation, consisting of four decimal numbers (ranging from 00 to 255255) separated by dots (e.g., 172.16.254.1).
    • Each segment represents an 8-bit group, referred to as an octet.
    • Technical writing may also display IPv4 addresses in hexadecimal, octal, or binary forms.
  • Historical Address Structure and Subnetting Evolution:

    • Two-Part IP Model (Early Protocol Design):
    • Addressed in two parts: network number portion and host number portion (also called the rest field or host identifier).
    • The highest-order octet (most significant 8 bits) served as the network number; remaining bits were used for host numbering within that network.
    • Proved inadequate as independent networks expanded beyond existing network assignments.
    • Classful Network Architecture (Introduced in 1981):
    • Standardized to accommodate larger numbers of individual network assignments and fine-grained subnetwork design.
    • The first three bits of the most significant octet determined the address class.
    • Universal unicast addressing was divided into three main classes: Class A, Class B, and Class C.

Historical classful network architecture

  • Classful Network Specifications:

    • Class A:
    • Leading bits: 0!
    • Size of network number bit field: 88\,bits
    • Size of rest bit field: 2424\,bits
    • Number of networks: 128128 (272^7)
    • Addresses per network: 16,777,21616,777,216 (2242^{24})
    • Start address: 0.0.0.0
    • End address: 127.255.255.255!
    • Class B:
    • Leading bits: 10!
    • Size of network number bit field: 1616\,bits
    • Size of rest bit field: 1616\,bits
    • Number of networks: 16,38416,384 (2142^{14})
    • Addresses per network: 65,53665,536 (2162^{16})
    • Start address: 128.0.0.0
    • End address: 191.255.255.255!
    • Class C:
    • Leading bits: 110!
    • Size of network number bit field: 2424\,bits
    • Size of rest bit field: 88\,bits
    • Number of networks: 2,097,1522,097,152 (2212^{21})
    • Addresses per network: 256256 (282^8)
    • Start address: 192.0.0.0
    • End address: 223.255.255.255!
  • Classless Inter-Domain Routing (CIDR):

    • Classful architecture lacked scalability during rapid 1990s Internet expansion.
    • Replaced in 1993 by Classless Inter-Domain Routing (CIDR), which operates on Variable-Length Subnet Masking (VLSM).
    • Allows address allocation and routing based on arbitrary-length prefixes rather than octet boundaries.
    • Classful concepts survive primarily in default configuration parameters (e.g., netmask) and administrative technical jargon.

Private Addressing and Address Exhaustion

  • Private IPv4 Addressing:
    • Originally, IP addresses were intended to be globally unique for end-to-end connectivity.
    • Private networks created scenarios where computers not connected directly to the Internet (e.g., factory machinery operating over TCP/IP) do not require globally unique IP addresses.
    • RFC 1918 reserved three private network ranges that are non-routable on the public Internet and require no registration coordination.
    • Private networks connect to the Internet via Network Address Translation (NAT).

IANA-reserved private IPv4 network ranges

  • IANA-Reserved Private IPv4 Network Ranges:

    • 24-bit block (/8 prefix, 1×Class A1 \times \text{Class A}):
    • Start address: 10.0.0.0
    • End address: 10.255.255.255!
    • Total addresses: 16,777,21616,777,216
    • 20-bit block (/12 prefix, 16×Class B16 \times \text{Class B}):
    • Start address: 172.16.0.0
    • End address: 172.31.255.255!
    • Total addresses: 1,048,5761,048,576
    • 16-bit block (/16 prefix, 256×Class C256 \times \text{Class C}):
    • Start address: 192.168.0.0
    • End address: 192.168.255.255!
    • Total addresses: 65,53665,536
    • Typical home routers automatically assign subnets within 192.168.0.0 through 192.168.0.255 (192.168.0.0/24).
  • IPv4 Address Exhaustion Timeline:

    • Ongoing demand depleted available unallocated IPv4 addresses starting in the 1980s.
    • February 3, 2011: IANA's primary global address pool was fully exhausted when the last five blocks were assigned to the five RIRs.
    • April 15, 2011: APNIC became the first RIR to exhaust its regional pool (retaining a minimal pool reserved exclusively for IPv6 transition).

IPv6 Architecture and Addressing Types

  • Overview and Design Principles:

    • Developed in 1995 by the Internet Engineering Task Force (IETF) to address IPv4 depletion.
    • Standardized as RFC 2460 in 1998; active deployment began in the mid-2000s.
    • Address size increased from 32 bits to 128 bits (16 octets), providing 2128≈3.403×10382^{128} \approx 3.403 \times 10^{38} addresses.
    • Displayed in human-readable colon-separated hexadecimal notation (e.g., 2001:db8:0:1234:0:567:8:1).
    • Designed to optimize routing prefix aggregation, reducing routing table growth in routers.
    • The smallest standard individual assignment is a subnet for 2642^{64} hosts—equal to the square of the entire IPv4 Internet address space (232×2322^{32} \times 2^{32}).
    • Features built-in facilities to automatically re-prefix entire networks upon global connectivity or policy changes without host renumbering.
    • Native support exists across all modern desktop and enterprise server operating systems, though adoption lags in residential routers, VoIP, multimedia equipment, and peripherals.
  • IPv6 Private and Special Scopes:

    • Unique Local Addresses (ULA):
    • Reserved by RFC 4193 under prefix fc00::/7 (divided into two /8 blocks).
    • Includes a 40-bit pseudorandom number to prevent collisions if private networks merge or traffic is misrouted.
    • Replaced legacy site-local addresses (fec0::), which were abandoned due to ambiguous definitions of a "site" and routing problems.
    • Link-Local Addresses:
    • Reserved block fe80::/10 (addresses beginning with fe80:).
    • Automatically generated by operating systems for every network interface to enable instant host communication across attached physical links.
    • Required for low-level network administration functions, including the Neighbor Discovery Protocol (NDP).
    • Link-local and private address prefixes cannot be routed on the public Internet.

IP Subnetwork Structure and CIDR Notation

  • Subnetwork Division:
    • An IP address is logically divided into two parts:
    • Network prefix (routing prefix)
    • Host identifier (termed interface identifier in IPv6)
  • Subnet Masks and Slash Notation:
    • The term subnet mask is used exclusively within IPv4.
    • Both IPv4 and IPv6 use CIDR notation, appending a slash (/) followed by the decimal number of bits in the routing prefix.
    • Example: An IPv4 address 192.0.2.1 with subnet mask 255.255.255.0 is represented in CIDR notation as 192.0.2.1/24 (first 24 bits indicate the network/subnet).

IP Address Assignment Methods

  • Static vs. Dynamic Assignment:
    • Static IP Address: Fixed, permanent configuration assigned manually or via persistent software/hardware settings.
    • Dynamic IP Address: Assigned automatically upon booting or connecting to a network.
  • Dynamic Assignment Protocols:
    • Primary method: Dynamic Host Configuration Protocol (DHCP) on LANs and broadband networks. Reduces administrative burden and allows address sharing among intermittently connected devices.
    • Enabled by default on most modern desktop operating systems.
    • Dialup and certain broadband networks utilize dynamic address features of the Point-to-Point Protocol (PPP).
    • Dynamically Assigned Static IPs: A DHCP server is configured centrally to always assign the same reserved IP address to a specific device based on hardware identification.
  • Sticky Dynamic IP Addresses:
    • Informal term in cable/DSL Internet connections describing dynamically assigned DHCP addresses that rarely change.
    • Occurs because modems remain powered on across long lease periods, causing continuous renewal of the same address.
  • Address Autoconfiguration (Link-Local):
    • IPv4 Address Autoconfiguration:
    • RFC 3330 reserved 169.254.0.0/16 for IPv4 link-local addressing.
    • Microsoft implemented Automatic Private IP Addressing (APIPA), establishing an industry de facto standard.
    • Standardized by the IETF under RFC 3927 (Dynamic Configuration of IPv4 Link-Local Addresses).
    • IPv6 Address Autoconfiguration:
    • Every interface automatically obtains a link-local address in fe80::/10 regardless of static or stateful configuration.
  • Applications of Static Addressing:
    • Required for fixed infrastructure entities, such as Domain Name System (DNS) hosts.
    • Convenient for enterprise servers.
    • DNS query results return addresses accompanied by a time to live (TTL) / caching time limit.
    • Static IPs can change over time due to network administration updates (RFC 2072).

Operational Routing Classifications

  • Unicast Addressing:
    • One-to-one communication (single sender to single receiver); supported in IPv4 and IPv6.
    • A single device or host interface can possess multiple distinct unicast addresses.
    • Transmitting to multiple destinations requires sending separate individual unicast transmissions for each recipient.
  • Broadcast Addressing:
    • One-to-all communication; supported exclusively in IPv4.
    • Local Broadcast: Address 255.255.255.255 broadcasts data locally to all hosts.
    • Directed Broadcast: Combines the network prefix with a host suffix composed entirely of binary 1s (e.g., destination 192.0.2.255 on subnet 192.0.2.0/24).
    • IPv6 Migration: IPv6 completely omits broadcast addressing, replacing it with multicast to dedicated all-nodes multicast groups.
  • Multicast Addressing:
    • One-to-many communication to a group of subscribed receivers.
    • IPv4 Multicast Range: Addresses 224.0.0.0 through 239.255.255.255 (formerly Class D).
    • IPv6 Multicast Range: Prefix block ff00::/8 (noted as V00::/8 in early specifications).
    • A single unicast datagram sent to a multicast address is replicated by intermediary routers to all joined receivers.
  • Anycast Addressing:
    • One-to-nearest topologic routing.
    • Delivers a data stream to the single logically closest node as determined by routing topology.
    • Native feature of IPv6. In IPv4, anycast operates via Border Gateway Protocol (BGP) shortest-path metrics without factoring in path congestion.
    • Used for global load balancing and distributed DNS systems.
  • Public Addressing:
    • Standard globally routable unicast IP addresses, explicitly excluding private and link-local ranges.

Network Security, Modifications, and Diagnostic Tools

  • IP Blocking and Firewalls:
    • Firewalls block traffic based on client IP addresses using blacklists or whitelists.
    • Blocking a single IP address associated with a proxy or NAT device blocks all underlying clients sharing that IP address.
  • Network Address Translation (NAT):
    • Hides private internal IP addresses behind a smaller set of public external addresses.
    • Maps internal private addresses to specific TCP or UDP port numbers on the public interface.
    • Implemented in residential gateway routers to allow multiple local devices to share a single public IP address.
  • Diagnostic Utilities by Platform:
    • Windows CLI Tools: ipconfig, netsh!
    • Unix-like Command-Line Tools: ifconfig, netstat, route, lanstat, fstat, iproute2!