[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: on NAT-PT



Hi Jonne,

Thanks for the response, but maybe I'm still not getting it...

I believe I have explained this very thing on this very mailing list already a couple of times. However, repeating never hurts... ;)
As said before (by Juha, and Karim, and myself) IMS is v6 only. This means that the only version of IP that can be used is the version 6.
Alright, I am with you so far.  IMS is IPv6 only.

IMS consists of both the SIP signaling (SIP messages to the SIP proxies, and SIP servers), and the "media stream" either between two mobiles, or between a mobile and an IMS service. This media stream (according SIP specifications) can be virtually anything. Theoretically, you can signal with SIP a session of FTP between two nodes.
Okay, this is where we start to diverge. I understand that you can theoretically
use SIP to signal anything. And, there may be reasons why someone would want
to use IMS/SIP to signal an FTP session between two IMS-capable nodes (I can't think
of one, but I'll take your word for it). But why would you ever want to use
IMS/SIP to signal an FTP (or other) session between an IMS-capable node and a
non-IMS-capable IPv4-only node? What makes you think that this would work?
I don't think that most non-IMS nodes will be capable of having their FTP sessions
signalled through SIP.

In this case, the media stream would be the FTP session. The media stream is end-to-end - not hopping through proxies and servers like the SIP signaling.
Right, but it is also possible to establish an IPv4 end-to-end session without
IMS/SIP signalling, right?  So, can you explain why anyone would want to use
IMS/SIP signaling to establish an arbitrary application connection with an
IPv4-only node?

These two things combined it means that the IMS mobile has to be IPv6 only when it is using the IMS to set up a session (with another mobile, a fixed node, or a server). This means that no IPv4 is permitted in any form or another. (No, not even on top of v6 as then it is still v4, right?)
This smacks of religion to me... Is there some technical reason why it wouldn't
work to tunnel IPv4 in IPv6 over the IMS parts of the infrastructure? Or is
this just dogma -- "No IPv4 Allowed!"?

>
> I don't see any advantages that would outweigh the serious
> disadvantages
> of using NAT-PT... Why do you consider it such a problem to
> open an IPv4
> PDP context to communicate to IPv4-only nodes and services?
>

Let's assume for a second that what you say is true, and we start to use v4 with IMS as well. So, how would that work:
I don't _think_ that I'm suggesting this.  I'm suggesting that, when you
need to set-up a session with a non-IMS, IPv4-only node or service, that
you shouldn't use IMS.

If an IPv4 node is on the other side of the communication, the IMS mobile would get the non-IMS phone's IPv4 address in the SIP signaling. You say that the IMS mobile would then get an IPv4 address and submit that to the non-IMS phone via SIP. First, where is the IPv6 here?
Why do we need IPv6 here? For a dual-stack node to communicate with an IPv4-only
node, no IPv6 is needed.

Secondly, what does this mean technically for the IMS phone? It means that there has to be an IPv4 stack on the phone in case this phone calls at some point of its life to somebody that has an IPv4 phone. Thus, as long as there is a single potential node in an IPv4 network that could be contacted, all the IMS phones in the world (new or old) have to have support for IPv4!
Well, yes. I am actually proposing that, for now at least, all phones should be
dual-stack. Eventually, when the huge majority of nodes and services are
available via IPv6, it might make sense to use NAT-PT (in the other direction)
to allow IPv6 access to legacy IPv4 servers. But, in the meantime, I think that
any node that wants to connect to both IPv4 and IPv6 nodes and services
should be dual-stack.

Thirdly, there may or actually most probably will be NAT in the media path. This NAT can be either on the IMS phone's operator's network, or in the non-IMS phone's network. Most probably there will be NAT in both. The problem in v4 nat is that you don't know where it is! This means that this does not work in reality at all!
In _reality_ IPv4 NAT works just fine for most purposes... I'm writing to you from
behind one right now.

That argument aside, however... I agree that an IPv4 network is quite likely to
include NAT. This is one of several reasons why IPv6 is needed. However,
declaring the IMS system IPv6-only will not change the fact that 3GPP providers
will need to provide some sort of IPv4 services (perhaps native or perhaps via IPv4
over IPv6 tunnels), and that IPv4 network is likely to include NAT.

In fact, in your example, you have replaced the IMS network NAT with NAT-PT
(not necessarily an improvement) and haven't done anything that will remove
the NAT from the non-IMS phone's network. So, there will still be two NATs
in the path, and there will still be no way to know where they are. Why
is it better that one of the NATs is NAT-PT?

After this I really have to conclude that NAT-PT (or actually a translator that is not NAT-PT but a subset of it) is lesser evil in dual-stack!
Maybe I'm missing something, but I still don't understand.  How can it be
better to end-up with an IPv6 <-> IPv4 translated session than to end-up with
a native IPv4 session?

It may be that for some applications, and for old software dual-stack may be a cleaner solution, though - but not in this case.
Perhaps this is one of the places we are disconnecting.  I tend to think of
the 3G "phone" as a clever little modem that will allow my PC and PDA to
connect to the Internet.  And, my PC and PDA do run old software, for
which dual-stack would be a cleaner solution...

Margaret