Helping people with computers... one answer at a time.

Using tools on my machine, I can see that my IP address is one thing, in my case 192.168.1.100. But when I go to an internet site that shows me my IP, it shows my something completely different. Which is right?

The answer won't clarify anything, but I'll tell you anyway.

They're both right.

No, your machine doesn't really have two IP addresses, but the IP it shows as depends on who's looking, and from where.

What you're seeing is the result of what's called a NAT router. NAT stands for "Network Address Translation". The router manages the IP addresses on a LAN, or Local Area Network, and then translates to the appropriate IP address it was assigned on the external network, usually the internet.

Let's back up and look at how IP addresses are assigned.

In most cases, internet addresses are assigned dynamically:

Simple DHCP assignment

In this example, using a protocol called DHCP, for "Dynamic Host Configuration Protocol", when the computer connects to its ISP or network provider, it asks for an IP address, and that IP address is then assigned by the ISP. It's that IP address that the computer will be identified by on the internet. The IP address may change - the next time the computer connects it may be given a different address - hence this is called a "dynamic" IP address.

A static IP address is assigned ... well, statically. There is no request. Both the computer, and the ISP, are simply configured manually to "know" the IP address, and the computer that it refers to:

Simple Static assignment

There's no request or response involved. (I'll now leave static IP assignments behind. Most of the rest of this applies equally well to static and dynamic assignment, except in the details of how the IP addresses are actually assigned. Dynamic is what most situations we're trying to clarify here involve.)

Now let's insert a router into the mix. It sits between the computer and the rest of the network. It requests an IP address of your ISP using DHCP:

Router requesting an IP address

Note that the router asked for, and got, an IP address like any other, that now identifies it on the internet.

Now, your computer behind the router, must also ask for an IP address:

PC requesting an IP address from a router

The computer makes its request of the router this time, and receives an IP address back from the router. Note that the "192.168." address is special - you'll never see that on the internet, those are reserved for local networks, like the one we're building. In fact, if you connect a second computer to your router, you are in fact building a local area network:

Two PC's requesting IP addresses

Note that the two computers each have a unique IP address assigned from the router.

Now, what happens one of those computers makes a request that accesses the internet? The computers get to the internet through the router, so the first step looks like this:

PC making internet request

The router must then pass on that request to the internet:

PC making internet request

Notice: to the internet, it "looks like" the router is making the request. Remember, the internet cannot see your internal IP addresses, so the router translates from the internal address (192.168.1.100) to the external (1.2.3.4 in this example). When the response arrives, the same translation happens, in reverse:

Response heading back to PC

The router keeps track of which of the computers on the LAN side the request belongs to, and routes the response appropriately.

One of the side effects of using a NAT router in this manner is that regardless of which local computer on your LAN the request came from, to the internet it all "looks like" it came from your router. In our example, even if there were 100 computers on our LAN, all the requests made of the internet would look like they came from "1.2.3.4". Because they did.

So if you're behind a router, let's look at your local computer's assigned IP address. I like to do this from a command prompt: click Start, Run, type "CMD" and press OK, then in the resulting Command Prompt window type ipconfig followed by enter:

C:\Documents and Settings\LeoN>ipconfig

Windows IP Configuration


Ethernet adapter Wireless Network Connection:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 192.168.1.106
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.1.1

There you can see that this machine's IP address is 192.168.1.106. But if, on that same machine, I visit http://www.whatismyip.com, I get told a completely different number: "Your IP Is 206.124...." (truncated for privacy). That's the IP address of my router, on the internet. Regardless of what the IP address of the machine on my local network, on the internet I "look like" that one IP address.

There are other side effects as well, and I'll cover those in future articles.

Article C2506 - December 30, 2005 « »

Share this article with your friends:

Share this article on Facebook Tweet this article Email a link to this article
Leo Leo A. Notenboom has been playing with computers since he was required to take a programming class in 1976. An 18 year career as a programmer at Microsoft soon followed. After "retiring" in 2001, Leo started Ask Leo! in 2003 as a place for answers to common computer and technical questions. More about Leo.

Not what you needed?

Recent Comments
22 Comments
raj
February 5, 2009 2:50 AM

I have made a tcp ip program but I am able to connect from my laptop to my office computer. ie laptop runs server and office runs client but I am not able to connect wise versa. I showed the demo but it does not work for any one else as we need server at office. please any one can respond...

Mahadev
February 28, 2010 1:30 AM

That was a great article indeed. I am new to networking and this was a good stepping stone.

I have a question:
I am having a wireless broadband connection at home and connect to the internet via a modem which my service provider has given me. I have 2 laptops connected to the broadband network. Can this be called a Local Area Network. That is, if i want to access my other Laptop through say Remote Desktop Connection, would that be possible?

It depends on the specifics, but I'd assume it's possible.
Leo
28-Feb-2010

Bill
August 6, 2010 1:46 PM

So, does that mean if I'm on a LAN and I sign in to my Facebook page on different machines, Facebook will simply see that "1.2.3.4" is logged in, but not detect that each machine's unique address and/or name is logged in? It sounds like you're saying everything gets filtered/stripped by the router, so that when it reaches the internet, only the IP address provided by your service(say, w.x.y.z.) is recorded.

Thanks.

john
February 28, 2011 7:42 AM

My question is that if I go into Whatismyip.com I get one ip address when I access it through AOL and a different address when using internet explorer........Cant explain it, can you.....

I believe the AOL browser is proxied through AOL servers, so the IP address you get in that case is probably AOLs. I think. I don't use AOL so I can't verify this myself. (I'm guessing you usd the AOL browser to post this comment, as it came from an IP address which has a reverse-DNS name of cache-dtc-ab07.proxy.aol.com).
Leo
28-Feb-2011

Greg
February 10, 2012 8:22 PM

Spot on - simplist and best expalnation of a topic I've seen anywhere on the net - ever. Thanks.