NAT type detection from a HTTP request

Hello there

I got two JAVA class : httpServer and httpClient. Running in two different machines. Server is listening to a HTTP port in one machine and on the other hand client is sending its machine IP from other PC to the server. But the client is behind a NAT. Now I can detect in my httpServer class that it is behind a NAT. I check the requesting IP and the IP send inside the packet payload. If they are different, I decide there is a NAT in between. But how can I know from such HTTP request-response what kind of NAT I am behind? This is important to know because with symmetric NAT

(http://en.wikipedia.org/wiki/Network_address_translation) , where the NAT binding also include the outgoing address as well, my application is having problem.

I have solution like STUN/TURN server implementation. But I would like to know the type of NAT my client is behind without any extra deployment such as STUN or TURN server.

Any suggestion to detect type of NAT without any extra deployment and merely from HTTP request-response JAVA APIs?

Mohammed Jubaer Arif.

[1098 byte] By [Jubaera] at [2007-10-3 8:44:59]
# 1
You need to open the http service on the NAT and point it to the machine running the HTTP Server class.
watertownjordana at 2007-7-15 3:53:49 > top of Java-index,Archived Forums,Socket Programming...
# 2
There's not much of NAT types.
watertownjordana at 2007-7-15 3:53:49 > top of Java-index,Archived Forums,Socket Programming...
# 3

Thanks

It seems you are asking me to configure the NAT, may be with some programming. Or may be I should run the server class on the NAT machine.

But my client and server classes will be all over the world. Thus I think it is not a practical solution to ask the NATs to assist me. The intelligence should be in my client and server messaging.

So I was wondering, is there any way out for me to get the NAT type with JAVA programming, in the server side once I get a request from the client side. But without any extra deployment.

But as you said 揟here's not much of NAT types.? :(

Mohammed Jubaer Arif

Jubaera at 2007-7-15 3:53:49 > top of Java-index,Archived Forums,Socket Programming...
# 4
You could perform the comparison between the two IP Addresses as described, but instead simply check for the following IP Addresses in the HTTP header:192.168.x.x10.x.x.x172.x.x.xThis pretty much guarantees class C NAT coverage.
Suberea at 2007-7-15 3:53:49 > top of Java-index,Archived Forums,Socket Programming...