Kelly,This is probably a bit late, but...
An IP address is a binary number that
represents a computer on a TCP/IP network like as the Internet. TCP/IP stands
for Transmission Control Protocol/Internet Protocol -- it's one of many digital languages
that computers speak. Just like you have a mailing address (444 Example Road,
Portland, Oregon, USA 12345), every computer on the Internet has an address so that
it can talk to the other computers and receive replies. Since computers speak
in ones and zeroes at the lowest level, a typical address looks something like this:
0100
1001 1110 1111 0101 0000 0110 1100
Now, this doesn't mean a whole lot to human
beings so we generally translate it to look something like this:
73.239.48.108
And
then we attach a name to it with what's called a Domain Name Server, so that you
can access it like this:
www.example.com
The issue that is arising is that the
original designers of the ARPANet (the predecessor to the Internet) did not foresee
the vast growth of the Internet and use of IP addresses. For them, a 32-digit
binary address (a 32-bit address) was an impossibly huge amount of addresses that
would never all be used.
Well, things change. :) A 32 bit address space can
have 2^32 total addresses, or 4,294,967,296 possible addresses. In reality
this number is smaller due to certain constraints that I won't go into here.
You'll notice, however, that we have only four billion addresses (for the sake of
discussion), and there are over 6 billion people on the earth today. Some people
have more than one computer, and some companies have thousands of computers.
If we had stuck to one-IP-address-per-computer, we would have run out by now.
There
were two ways we could deal with this, and both have actually been pursued.
One is to use a computer called a proxy server to serve as a proxy or intermediary
for hundreds of other computers. The other computers do not have a valid Internet
IP address, but they have ones that the proxy server can talk to. The proxy
server, on the other hand, does have a valid Internet IP address. It can pass requests
from the other computers (it's clients) out to the Internet and return the reply
to the correct client. Instead of needing hundreds of Internet IP addresses,
you only need one.
The second way is to make the address space larger -- instead
of using only a 32-bit address, you use a 128-bit address, which allows for 340,282,366,920,938,463,463,374,607,431,768,211,456
addresses. The problem with this is that it requires a re-structuring of how
the Internet works -- all of the network cards, computers, routers, hubs, bridges,
and pieces of networking hardware all over the Internet have to be upgraded or replaced.
Add to that some contention over the way these new addresses are being constructed,
and you have slowed the adoption of the new addressing scheme to a crawl. There
are some networks out there that are running this new IP addressing type, but it
has not gone into widespread use.
The current addressing scheme is known as IP
version 4 or IPv4; The new addressing scheme is known as IP version 6, or IPv6.
Some
people contend that we are making the same mistake that the makers of the ARPANet
made in thinking that no one could ever use this many addresses, and then finding
out twenty years down the road that we were hopelessly wrong. Just because
this seems like a lot of addresses now, it may not be in the future. These
people believe that if we are going to go to the expense of upgrading the entire
Internet, we should use a 512-bit address space or even a 1024-bit address space
in order to accomodate future exponential growth. This is a strong argument
except for one thing -- current technology is not powerful enough to deal with addresses
this large as fast as it can deal with the current addresses. Managing the
traffic between the computers that make up the Internet is a Herculean task, and
if we started using 1024-bit addresses today's Internet would slow to a crawl.
There is hope on this front, as processors are always getting more powerful, but
it will be a while before this is feasible.
That's it in a nutshell -- if you have
any further questions, feel free to post them.
Aetius