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

Re: I-D Action:draft-ietf-v6ops-nat64-pb-statement-req-00.txt



On 18 jun 2008, at 8:32, <teemu.savolainen@nokia.com> <teemu.savolainen@nokia.com > wrote:

In a previous modified-nat-pt draft I wrote about the v4-v6-v4
case where IPv4 clients sit behind a CPE or layer in the stack
that translates their IPv4 packets into IPv6 packets using SIIT (=
stateless) and then the resulting IPv6 packets flow through the same
NAT64 translators that IPv6 hosts that want to talk to the
IPv4 world also use.

Expect to see a new or updated draft on this topic before Dublin.

I'm looking forward to it.

Unfortunately, other work came up so I didn't have time for this before the deadline... This is text from an expired draft:

http://www.muada.com/drafts/draft-van-beijnum-modified-nat-pt-02.txt

5.  IPv4-IPv6-IPv4 operation

   It would be optimistic to expect that all hosts implement IPv6 and
   the mechanisms outlined above within a limited timeframe.  As such,
   it is useful to support both hosts that don't implement the changes
   set forth in this document, and even hosts that don't implement IPv6
   at all.  In these cases, a gateway device may be employed that
   manages a block of private IPv4 address space using DHCP and
   translates these to IPv6 addresses.  The local device performs SIIT
   between the resulting IPv4 and IPv6 address pairs but not IPv4 NAT.

   Since the remote translator that translates from IPv6 to public IPv4
   requires a unique IPv6 address in order to demultiplex, the local
   gateway MUST use a dedicated IPv6 address for each local IPv4
   address.  Any [RFC1918] address may be used locally as long as the
requirements are met that only a single local IPv4 address maps to an
   IPv6 address, and that the addresses are equivalent for the purposes
of computing checksums. A way to conform to these requirements is to
   construct the IPv6 address from the IPv4 address as follows:

   +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
   | 64-bit subnet prefix  |F0|ID|CHKSM| IPv4 addr |
   +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

   Bit 70 in the address MUST be set to 0 to indicate a non globally
   unique address.  The ID bits can contain a value that allows
different gateways to live on the same subnet. In the absence of any administrative settings or the detection of duplicate addresses, this
   could be the lower 8 bits of the gateway's MAC address.  The CHKSM
   bits are chosen such that they compensate for the differences in the
   checksum generated over the IPv4 pseudo-header and the checksum
generated over the IPv6 pseudo-header. This means that this value is
   the one's complement of the one's complement addition of the 16-bit
   words from the top 96 bits of the address of remote modified NAT-PT
   translator and all the 16-bit words from the top 80 bits of IPv6
   address that is being constructed.

The local gateway SHOULD also perform IPv6 routing or otherwise allow
   IPv6 connectivity so that hosts that do support IPv6, but not
   MNAT-PT, have the ability to communicate directly over IPv6 in
   addition to being able to use translated IPv4 connectivity.

   There are two open issues: how do IPv4 hosts using different local
gateways but the same modified NAT-PT translator communicate, and how
   do NAT traversal protocols such as uPnP, NAT-PMP and others work.

We should have a solution available that
includes client side changes

Hm, client side modifications for 4-6-4 operation doesn't seem very useful...