Your description of NAT and firewalls is entirely correct.
Unfortunately, NAT is not a good description for what is actually
happening on the cell network.  In the case of your home PC behind a
NAT and Google (or the Internet) on the other side... both networks on
each side of the NAT are in fact using TCP/IP to transport data
packets around.

However, in the case of the cell network, the transport protocol is
NOT TCP/IP.  The use of TCP/IP is only relevant on the Internet side
of the gateway.  An IP address is entirely meaningless within the cell
network.

The part which is similar to the operation of NAT is that the gateway
maintains a table of which port numbers are associated with which cell
phones (the PDP Context).  Outgoing packets create a context which
includes the gateway IP address and a port number on that gateway.
The gateway creates a table of port numbers and their associated
devices, responses coming back to that specific port are then routed
to the device using whatever transport protocol the cell network uses
(GSM, EDGE, GPRS, CDMA, etc).  It is quite likely (depending on how
busy the gateway is) that once the response has been received, the PDP
Context is freed and your next PDP Context will almost certainly have
a diffierent port number, if not a different IP address.

And (on the same topic) this explains why you might sometimes see two
different IP adresses as being "associated" with your cell phone at
the same time.  Each and every connection to the Internet follows its
own path and those paths can easily be assigned a different gateway...
which cell tower you are connected to is entirely irrelevant in this
context.

- Mike
NAVTEQ Network for Developers
http://NN4D.com

Disclaimer: I work for NAVTEQ and these are my personal opinions which
do not necessarily reflect NAVTEQ’s views

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to