Every host on the Internet is identified by a unique, four-byte Internet Protocol (IP) address.
This is written in dotted quad format like 18.104.22.168 where each byte is an unsigned integer between 0 and 255.
There are about four billion unique IP addresses, but they aren't very efficiently allocated
IPv6 expands the address space to 2128
Network Address Translation (NAT) allows hosts to share same addresses by using proxy servers.