Questions tagged [nat-traversal]

NAT traversal is a general term for techniques that establish and maintain Internet protocol connections traversing network address translation (NAT) gateways.

NAT traversal is a general term for techniques that establish and maintain Internet protocol connections traversing network address translation (NAT) gateways.

SOCKS is the oldest NAT traversal protocol.

Read more about NAT traversal at Wikipedia..

72 questions
14
votes
2 answers

Practical NAT traversal for reliable network connections

I've seen and read a lot of similar questions, and the corresponding Wikipedia articles (NAT traversal, STUN, TURN, TCP hole punching), but the overwhelming amount of information doesn't really help me with my very simple problem: I'm writing a P2P…
Vladimir Panteleev
  • 24,651
  • 6
  • 70
  • 114
13
votes
3 answers

UDP, NAT and setting up "connections"

I know the word "connection" isn't really appropriate when talking about UDP, but... How does a server (the one with the known IP) get its UDP packets through the Internet to a client that is behind NAT? For example: say a client connects and…
chardy
  • 1,233
  • 1
  • 10
  • 18
12
votes
3 answers

I want to build a decentralized, reddit-like system using P2P. What existing p2p library should I base it on?

I want to build a decentralized, reddit-like system using P2P. Basically, I want to retain the basic capabilities of reddit, but make it decentralized, to make it more robust and immune to censorship. This will also allow people to develop different…
static_rtti
  • 53,760
  • 47
  • 136
  • 192
12
votes
2 answers

Behind NAT to behind NAT connection

I've come across an interesting problem. Basically I have 2 mobile phones that are both behind NATs. I want to communicate directly between the 2 devices using UDP. I know if I initiate a connection from the phones to a server then I can push data…
Goz
  • 61,365
  • 24
  • 124
  • 204
9
votes
1 answer

How to programmatically find the external IP address of a device without using external host?

When I read the IP address of the device I always get the local IP address. I use the following code snippet to do that. public String getIpAddress() { try { for (Enumeration en =…
Durai Amuthan.H
  • 31,670
  • 10
  • 160
  • 241
8
votes
2 answers

Is ICE Necessary for Client-Server WebRTC Applications?

I have a WebRTC MCU (kurento) running on a public IP address serving some clients that only send or only receive audio So every clients is directly connected with MCU (not with each other ) that has a public IP address . Q1: Is there still a…
Geak RN
  • 83
  • 1
  • 3
7
votes
2 answers

How does peer2peer work through a router?

How does one PC connect to another over the internet to another PC? An example would be a program listening for connections on PC 1. PC 1 sits behind Router 1. PC 2 has a client program trying to connect to PC 1. What is the correct…
BeerHugger
  • 103
  • 1
  • 7
7
votes
1 answer

Nat Punchthrough understanding P2P concept

So, i have been reading up on NAT-Punchthrough. I seem to be getting the idea, but i have a hard time implementing it, and i feel that i am missing a step here. Testing this functionality is kind of hard because i have little control over the…
Smileynator
  • 677
  • 8
  • 24
6
votes
1 answer

Best practices for .Net WCF NAT Traversal

I'm looking for suggestions or a solution for peer-to-peer NAT traversal in .Net. Say I have a chat application and two clients need to connect but both are behind NAT: For home scenarios, uPNP is probably ok since only a cable modem or consumer…
znelson
  • 919
  • 1
  • 10
  • 24
6
votes
1 answer

How to implement NAT traversal using STUN/ICE on my Raspberry Pi

I am trying to setup an implementation on my raspberry pi that is able to break through behind NAT routers so that I can connect to it remotely regardless of which network it is residing behind. I've tried out pagekite.me which is great as a…
David C
  • 3,659
  • 5
  • 34
  • 46
6
votes
0 answers

cellular network NAT traversal

I tried to implement UDP hole punching algorithm for my application. When both peers contacted the server revealing their public IP the 3G cellular NAT assigned constant external port for the same internal UDP port,however, the 3G cellular NAT…
Solo
  • 389
  • 1
  • 10
5
votes
1 answer

Programmatically determine the Router NAT type

I need to programmatically determine the Router NAT type in my program. I did look at some of the STUN related answers and UPnP related information on SO. But did not get any definitive answers. I looked at STUN RFC (rfc 5389) and it does not…
sthustfo
  • 1,209
  • 4
  • 19
  • 35
5
votes
1 answer

libutp (µTP) and NAT traversal (UDP hole punching)

According to the Wikipedia article the Micro Transport Protocol supports NAT traversal using UDP hole punching. But looking at the libutp's project page I can't find any such reference in the header files. Am I missing something obvious? Or has the…
Petr
  • 62,528
  • 13
  • 153
  • 317
4
votes
3 answers

NAT traversal without an external server

I have been reading about TURN and STUN servers because I would like to develop a browser-to-browser application so that BrowserA (behind a NAT) could communicate with BrowserB (behind a NAT). In this case, I think I should use TURN protocol. My…
user411103
3
votes
2 answers

Why doesn't WebRTC work with Symmetric NAT?

Let's say we have two peers - A & B - trying to establish a WebRTC peer connection through Symmetric NAT. They exchanged the ICE candidates via signalling. A's public address: IP_A : Port_A B's public address: IP_B : Port_B First, A tries to connect…
Manu Soman
  • 153
  • 11
1
2 3 4 5