Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

As I understand two computers can't have the same public (external) IP address. Except for if those two computers are connected via the same router, then they can have (share) the same public IP address and have different private (local) IP addresses.

The situation

My friend and I are using a Internet service provider "X". We both have different usernames and passwords (different connections), but ISP is common between us. Yet we have the same public IP address! How is this possible? When we both Google "Whats my ip" we're getting 112.133.229.29 this as a public IP address and in my router it says 10.1.102.93.

And

I've Installed an Apache webserver on my PC. I know an Apache server can be accessed by the public IP of my computer. But in my case I do not have a unique public IP address. So it is impossible. No one can access my PC with this public IP http://112.133.229.29/index.html

My friend (who using the same ISP) can access my PC by this address: http://10.1.102.93/index.html, and his router's IP is 10.1.101.29.

Do we have some common ISP DNS?

If another friend is trying to access my pc with Y Internet Service Provider using this link http://10.1.102.93/index.html he is not able to access it.

How is my ISP doing this? My requests to any server is pinned with my public IP, and then the server responds to the request based on the Public IP. But we both have the same public IPs.

share|improve this question
17  
Carrier Grade NAT. – DavidPostill Mar 26 at 11:29
    
can you summarize please? @DavidPostill – Sathish Mar 26 at 11:33
7  
    
got it! Thank you so much :) – Sathish Mar 26 at 11:38
    
by the way... What ISP and country is this? – Gestudio Cloud Mar 28 at 1:50
up vote 16 down vote accepted

Well, as DavidPostill said 26 mins ago, your ISP is using NAT on their routers before enrouting your traffic to the internet.

This means that basically, you and other clients inside your ISP are in a big Metropolitan Area Network (MAN), The same way your home router is creating a Local Area Network (LAN) but in a bigger scale.

Why would your ISP do this?

Well, the answer is simple; 1) they want to,2) or need to use a lower amount of public IPv4's, probably because they have more customers than public IPv4.

As you may know, the pool of free IPv4 exhausted a couple of years ago. Carriers that are growing can not get new IPv4 subnets unless they buy them from other IPSs closing somewhere else.

The solution is to use IPv6, but obviously requires changing routers, changing configurations, investing money and time, so doing a huge MAN is just easier and faster for them.

You can call them and ask about getting a dedicated IPv4, but probably, they will require an extra payment from your part to have a dedicated public IPv4 address.

share|improve this answer
    
It could also be a web proxy. – Lightness Races in Orbit Mar 26 at 18:58
    
@BarryTheHatchet If it was a web proxy, then the friend of the OP cannot connect using the internal ip address – Ferrybig Mar 26 at 20:09
    
@Ferrybig: I suppose. It's not impossible, but you're most likely right because any other network layout would be kinda silly. – Lightness Races in Orbit Mar 26 at 20:11
    
Is there a chance I could get a port forward from my ISP? – Jan Dvorak Mar 26 at 21:06
1  
@JanDvorak You'd have to ask them, but I doubt it. Leads to conflicts if someone else on your MAN wants the same port forwarded. The only option is probably a dedicated public IP. – Mast Mar 26 at 21:42

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.