IP addresses are numerical labels assigned to devices connected to a network that uses the Internet Protocol. They can be static or dynamically assigned. There are two main types: IPv4 and IPv6. IPv4 addresses are organized into five classes - A, B, C, D and E - which determine the number of networks and hosts. Domain names provide easy-to-remember addresses that map to IP addresses through the Domain Name System (DNS). DNS works by resolving domain names into IP addresses through a hierarchy of root, TLD and name servers.