IP Addresses and DNS Servers
Each computer that is connected to the Internet needs to have a unique identification called an IP address.
An IP address is simply a number between zero and approximately 4.3 billion.
It is often shown as four "octets" (numbers between 0 and 255) in "dotted decimal" notation, e.g.: "18.104.22.168".
(The IP address in the example happens to belong to the CNN web server, as you can see by entering: http://22.214.171.124/))
The IP addresses for web servers and other computers with a permanent Internet connection normally do not change; therefore, they are called static IP addresses.
Unlike computers with a permanent (cable or xDSL) connection, computers on dial-up connections typically have an IP address that changes each time they connect to the Internet.
These so-called dynamic IP addresses are assigned by the ISP (from a "pool" of currently available IP addresses) for the duration of the connection.
Scarcity of IP Addresses
This dynamic assignment is used because IP addresses have become relatively "scarce". In theory, there are "only" 4.3 billion different numbers available, and in practice even less, because certain ranges are used for special purposes.
So, for example, we could not give a unique IP address to each person on our planet if we wanted.
Fortunately, the "scarcity" only applies to the IP address type that is currently most commonly used (IPv4, or version 4).
An improved version (IPv6) has been designed that offers 4 billion times 4 billion times 4 billion times 4 billion different numbers; in practice, that's an almost "infinite" number of IP addresses!
However, in order to switch to IPv6, ISPs and web hosts need to invest in new equipment, so we can expect IPv4 to be around for a few more years.
As a result, ISPs and web hosts will often try to limit the number of IP addresses that they make available to customers, by sharing the same address amongst a group of customers.
A rare exception to this rule is IX Webhosting: with their "Unlimited Pro" plan, you get fifteen (15!) dedicated IP addresses, in addition to unlimited bandwidth and web space, on which you can host an unlimited number of domains (i.e., web sites).
The plan offers top ranked MS SQL, MySQL, PostGreSQL web hosting from $7.95/mo. (Linux) or $9.95/mo. (Windows).
(Note: there's also an "Expert Plan" starting at $3.95/mo., but that only includes 2 IP addresses, not 15.)
We have already seen how ISPs use dynamic IP addresses for this purpose; web hosts do something similar using "name-based virtual hosting".
DNS or "Domain Name Servers"
For humans, it's much easier to remember CNN's domain name "cnn.com" than its associated IP address. Computers, however, deal with the underlying number, so they need a way to find an IP address based on the domain name.
This is done using DNS or Domain Name Servers. When you register a domain name, you must specify (at least) two name servers.
You need two or more for reasons of redundancy: even if one name server should ever go down, the other would likely still work.
Using a rather complicated "distributed database" process, the name servers will "translate" the domain name into the associated IP address.
If you ever want to move your site to another computer (e.g., because you have chosen a new web host), you will have to update the IP address in the name server.