Simple question about network traffic

CFu

Baseband Member
Messages
53
I have a simple networking question:

My friend and I were trying to play Minecraft on Windows (7), where he was the server and I was the client. In order to join his hosted server he gave me his ipv6 address. I couldn't connect to his Minecraft server, so I connected to his machine via remote desktop and I double checked his ipv6 address like this:

ipconfig

You will see a list of IP addresses for the network interface, among which ipv4 and ipv6.
In this case, three ipv6 addresses were displayed. I chose the second ipv6 line and I copied that.
I pasted this ipv6 address in as the server address to connect to and it worked, I could connect.
Then I asked him: "Where did you get that non-working ipv6 address from?" and he said "I just looked it up on the internet" (I assume he used a "what is my IP address" website or a straight google query response).

My friend doesn't understand how this works. He complained and asked me: "Well, how come that ipv6 address you got worked and mine didn't? That's a local address, isn't it? Well, how can that possibly work? How can you as an outside user get to an internal address? I don't understand. How does that work?"
and I told him: "Well, it's simple. The router takes internal traffic and redirects it to the outside world" to which he said: "No, all a router does is it allows traffic in", to which I said: "yeah but it also routes traffic through route paths".

Anyway, the discussion got out of hand, so, since I don't know much about networking, I decided to ask here on the internet to clarify the situation.

So how come this works? How come I can connect to that ipv6 address from the outside? What's happening on the network layers in order for this to work? What's the router's role in this? Does this have to do with NAT?

Thank you.
 
Last edited:
A router with a build in firewall will only allow in traffic from the outside that is a response to a request initiated from an inside computer. Typically, the router holds one public IP address, and it uses NAT to translate requests from inside computers to that single internet routable IP.

If your friend configured his router to allow in uninitated traffic from the outside on the ports used by minecraft, you could connect from the outside.

I'm not very experienced with IPv6 but it's a little different. I think that NAT is often not used with IPv6 because there is an abundance of IPs, whereas NAT was created to remedy the issue of depleting IPv4 addresses. Even with ipv6 though, the same concepts of how a firewall works apply.
 
Today we wanted to play again but for some reason my Minecraft client couldn't connect to his server anymore. We now resolved the situation by simply port forwarding the server he's running.

Thanks for the information, it was interesting to gather that knowledge.
 
This case is so weird. Technically, if you and your friend aren't on the same LAN, there's no way to connect to your friend PC through a local IP, no matter it's IPv4 or IPv6.

Despite that NAT is enabled, you can only use the public IP, which provided by ISP to connect to your friend PC.

So weird.
 
We weren't on the same LAN, that's true, we are on different parts of the internet, different countries.

The 2607 address I got from him was his public ipv6 IP so that worked but his 2607 version didn't work (he probably looked up the wrong one). If it were the local IP it would have started with 'fe'.
 
Back
Top Bottom