For the most part, all of us are used to having a unique public IP address, but what do you do when that is actually not the case? What exactly is going on? With that in mind, today’s SuperUser Q&A post helps a confused reader solve an IP address mystery.
Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.
Photo courtesy of Nicolas Nova (Flickr).
SuperUser reader Spartan wants to know if it is possible for different people to have the same public IP address:
As I understand it, two computers cannot have the same public (external) IP address unless they are connected via the same router. If they are connected via the same router, then they can have (share) the same public IP address yet have different private (local) IP addresses.
The Situation I Encountered
My friend and I both use the same Internet service provider. We have different user names and passwords, and independent connections to our Internet service provider, yet we have the same public IP address! How is this possible? When we use Google to determine our IP address, we both get the same exact result, 18.104.22.168 (in my router it says 10.1.102.93, my friend’s router says 10.1.101.29).
I have installed an Apache web server on my computer and know that it can be accessed via the public IP address of my computer, but in my case I do not have a unique public IP address, so it is impossible for anyone to access my computer via http://22.214.171.124/index.html.
The friend I mentioned above is able to access my computer using this address: http://10.1.102.93/index.html, so I find myself wondering if we have some kind of common Internet service provider DNS.
If another friend of mine tries to access my computer via a different Internet service provider using the router-based link shown above (http://10.1.102.93/index.html), he is not able to access it.
How is my Internet service provider doing this? My requests to any server are pinned with my public IP address and the server responds to the request based on the that address.
Is it possible for different people to have the same public IP address?
SuperUser contributor Gestudio Cloud has the answer for us:
Well, as DavidPostill mentioned earlier, your Internet service provider is using NAT on their routers before routing your traffic to the Internet.
Basically, this means that you and the other clients inside your Internet service provider’s “service area” are in a big Metropolitan Area Network (MAN) and that works the same way your home’s router does in creating a Local Area Network (LAN), just on a much larger scale.
Why would your Internet service provider do this? Well, the answer is simple. They want and/or need to use a lower amount of public IPv4 addresses (probably because they have more customers than available public IPv4 addresses).
As you may know, the pool of free IPv4 addresses was exhausted a couple of years ago. Carriers that are growing are unable to get new IPv4 subnets unless they buy them from other Internet service providers closing down somewhere else.
The solution is to use IPv6 addresses. This obviously requires changing routers, changing configurations, investing money and time, etc., so setting up a huge Metropolitan Area Network is just easier and faster for them.
You can call them and ask about getting a dedicated IPv4 address, but they will probably require an extra payment on your part just to have a dedicated IPv4 address for your computer/location.
Have something to add to the explanation? Sound off in the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.