IPv4 addresses are 32-bit numbers that uniquely identify devices connected to the internet. The total address space consists of over 4 billion possible addresses. Addresses are divided into classes based on the bits in the first octet, with classes A, B, and C used for general IP addressing and classes D and E reserved for other uses. Subnetting allows a single class A or B address to be divided into multiple subnets to create more networks, while supernetting combines multiple class C addresses into a larger supernetwork to create a mid-sized block of addresses.