There are 5 classes of IP addresses - A, B, C, D and E - defined by TCP/IP, with classes A, B and C used for host addresses and classes D and E used for multicast and experimental purposes respectively. The value of the first octet determines the class and range of valid IP addresses. Special IP address ranges include 0.0.0.0/8 for communicating with the local network, 127.0.0.0/8 for loopback addresses, and 169.254.0.0/16 for link-local addresses.