Subject: [Softwires] Comment on draft-despres-softwire-6a44-01.txt

From: Dong Zhang <[email-masked]>
Date: Fri, 15 Oct 2010 17:14:19 +0800

Hi Remi,

The IPv6 host address is directly obtained by an indication message from the 6a44 server. Here is the format of the IPv6 address.
     +-------+-------+-------+-------+-------+-------+-------+-------+
     |  ISP 6a44 prefix (D)       | Customer IPv4 |NAT ext|   Host IPv4      |
     |                                  |   address (N)   |port(Z) |  address (A)    |
     +-------+-------+-------+-------+-------+-------+-------+-------+

According to the draft, N:Z is the address and port used on the CPE NAT44's external side. 
                         _                        .-------.
            Host      /   \       CPE         /          \     6a44 Relay
        +------+  . IP  .    +-----+     .   IPv4    .     +-------+    IPv6
        |6a44-C|--| no |--|NAT44|---| Provider  |--O 6a44-S|-- network
        +------+  . NAT .  +-----+     .  network  .   +-------+
             ^   ^   \ _ /        ^           \          /      |    ^
              |   A                  |            '---.---'       |    |
              |               A:W <-> N:Z                     |    |
              |   |                                                 |    |
              |   |                                                 |    |
              |    <- - - - - IPv6/UDP/IPv4 - - - - - -<      |
              |                                                           |
              |                                                           |
              < D.N.Z.A (/128) - - - - -  - - -IPv6 - - - - < D (/48)

Is the A:W<->N:Z mapping created staticly? Or dynimicly?When the host reqests the IPv6 address to the 6a44 server, the server gives the host IPv6 address and liftime directly.  If  the mapping on the CPE is allocated dynamically, how does the lifetime of the allocated host IPv6 address will be set? I mean this lifetime should longer than the expire time of the mapping on the CPE. It is because if the mapping is deleted first and the host still uses the IPv6 address embeded N:Z. It will arise problem. For instance, the CPE may allocate another port, A:W<->N:Y.

Therefore, there may be two ways to solve this.
a) set the lifetime of the allocated host IPv6 address shorter than the expire time of CPE NAT44. Thus, the host is able to re-request its IPv6 address within the NAT mapping expire time.
b) require the CPE comply with endpoint-independent mapping in RFC4787,RFC5382. But for this behavior, the premise is the host re-send the address request message must use the same source address and port, A:W. Thus, the NAT can provide the same N:Z.

I suppose this should be clarified in 6a44 draft, if I am correct and not missing someting.

Thanks.

2010-10-15 

Dong Zhang

---

From: Rémi Després <[email-masked]>
Date: Fri, 15 Oct 2010 18:57:02 +0200

Le 15 oct. 2010 à 11:14, Dong Zhang a écrit :

> Is the A:W<->N:Z mapping created staticly? Or dynimicly?

Dynamically when the 6a44-C starts operation.
It then remains static until the 6a44 client or the NAT is reset. 
 
> When the host reqests the IPv6 address to the 6a44 server, the server gives the host IPv6 address and liftime directly.  If  the mapping on the CPE is allocated dynamically, how does the lifetime of the allocated host IPv6 address will be set?

An ISP that doesn't plan any customer renumbering can give this lifetime a very large value.
It is only when a renumbering is planned that, a short lifetime is useful.

> I mean this lifetime should longer than the expire time of the mapping on the CPE. It is because if the mapping is deleted first and the host still uses the IPv6 address embeded N:Z. It will arise problem. For instance, the CPE may allocate another port, A:W<->N:Y.
>  

The host ensures that its current NAT44 mapping is maintained with the same timeout as SIP for the same purpose (see in section 6 - the "Waiting for having to refresh the NAT-binding" state.)
This is expected to be enough.

Actually, it is still unclear to me whether the lifetime in IPv6 Address Indication is useful enough to keep its presence. 
Since the NAT-binding-refresh time of 29 seconds is already rather short, compared to the timing of renumbering operations, I would be interested in views of others on this. 

Regards,
RD

---

From: Brian E Carpenter <[email-masked]>
Date: Sat, 16 Oct 2010 16:40:05 +1300

On 2010-10-16 15:15, Dong Zhang wrote:
> Please see inline.

...
> That is say it is similar to a kind of permanent state once the mapping is created, supposing that there no NAT reboot and power off. Right? If so, the interruption issue of CPE should be considered. 6a44 still needs to guarantee the state recovery, right?

Why? When I have to restart my IPv4-only ADSL box, I lose all
sessions, and for all I know I get a different IPv4 address.
So why do I care if 6a44 loses state too?

Certainly the IPv6 client host must be forced to restart
the 6a44 process when this happens. We do need a method of
forcing that.

   Brian

---

From: Washam Fan <[email-masked]>
Date: Sat, 16 Oct 2010 21:05:37 +0800

Hi Dong and Brian,

> the 6a44 process when this happens. We do need a method of

As I read -00, There was a method. As long as the 6a44 server detect
there was inconsistency when checking inner IPv6 address and outer UDP
header and IPv4 header, an indication message generated and forwarded
to the 6a44 client. When 6a44 clients receive indication messages,
they should realise something like restart, expircy would happened. I
think this method is fair enough to address Dong's concern.

Thanks,
washam

---

From: Dong Zhang <[email-masked]>
Date: Tue, 19 Oct 2010 10:35:37 +0800

Hi Brain,

>the 6a44 process when this happens. We do need a method of
Yes, this is what I mean. If the client still uses the old 6a44 address after ADSL restart, 6a44 will not work. So the host should realize the restart of ADSL box.

Thanks.

>   Brian

------------------				 
Dong Zhang
2010-10-19

---

From: Rémi Després <[email-masked]>
Date: Tue, 19 Oct 2010 11:20:26 +0200

Le 16 oct. 2010 à 04:15, Dong Zhang a écrit :

> That is say it is similar to a kind of permanent state once the mapping is created, supposing that there no NAT reboot and power off.

> Right?

Yes

> If so, the interruption issue of CPE should be considered. 6a44 still needs to guarantee the state recovery, right?

In my understanding, the recovery mechanism is already in the draft:
When the host send a packet to the 6a44 server (which it must do at least every 29 seconds) the CPE creates a new mapping,  and the server, finding an inconsistency between ports contained in the IPv6 address and the UDP header, returns to the host an IPv6 address indication with the updated address.

> Hmm... Now that it is an operational issue, adding some clarification could be helpful for the reader, I think.

It now seems to me that suppressing the server-provided lifetime, as discussed below, would be better (simplifying, wherever we can, is always a progress).

>> 
> IMHO, it is common tha an address  has a lease or lifetime. 

Yes (but this of course isn't sufficient to justify it here).

> I wonder what the IPv6 source is in the IPv6 ADDRESS REQUEST msg when the host sends it for the first time. If the CPE IPv4 address is renumbered, from N to M, will the host re-send the ADDRESS REQUEST still with the IPv6 source embeded with N? Then 6a44 server checks the consistency between the inner and outer addresses.

> It will find N is not equal to M.

Yes (assuming that the CPE has changed to the new address). 
Then, as above, the server returns to the host an updated IPv6 address indication containing M.

Regards,
RD

---

From: Dong Zhang <[email-masked]>
Date: Thu, 21 Oct 2010 16:42:40 +0800

Hi Brian,

>the 6a44 process when this happens. We do need a method of
Maybe after the CPE box restarts, it could send an announcement message to arise the 6a44 hosts restart the IPv6 address application process.

thanks.

>   Brian

------------------				 
Dong Zhang
2010-10-21

---

From: Rémi Després <[email-masked]>
Date: Thu, 21 Oct 2010 12:33:25 +0200

> Maybe after the CPE box restarts, it could send an announcement message to arise the 6a44 hosts restart the IPv6 address application process.

Not that the host, with the current specification, will remain at most 29 s without getting its new IPv6 address after a CPE reset:
- It refreshes its CPE port mapping at least every 29 s.
- The 6a44-S, if it notices an inconsistency between the IPv6 source address and IPv4 A+P, returns a updated address indication to the right A+P.

Regards,
RD