Subject: [dcp] DCP comment: Support for IPv6

From: [email-masked]
Date: Sat, 4 May 2002 19:28:05 +0300

Hi all!

	I have taken a look to the DCP draft, and I was so surprised when I saw that the DCP-Move Packet has the following structure:

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    /                       Generic DCP Header                      /
    /                          (12 octets)                          /
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   Reserved    |           Acknowledgement Number              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         Old IP Address                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |          Old Port             |           Reserved            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         Mobility Nonce                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                     Options                   |    Padding    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                             data                              |
    |                              ...                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

	Obviously, there is no support for IPv6 addresses... I know that the support for mobility that DCP offers is very limited, and that it is the intention of the authors to keep DCP as simple as possible. However, wouldn't it be better something like this?

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    /                       Generic DCP Header                      /
    /                          (12 octets)                          /
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   Reserved    |           Acknowledgement Number              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |          Old Port             |       Old IP Address Type     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    \                                                               \
    /                         Old IP Address                        /
    \                                                               \
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         Mobility Nonce                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                     Options                   |    Padding    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                             data                              |
    |                              ...                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

	And then making the "Old IP Address" a 4-byte or 16-byte long field. Since this kind of packet is not supposed to be a common one, you can always use always a 16-byte long field and then use only the first 4 bytes if the old address was an IPv4.

	For the "Old IP Address Type", you can use the types 4 or 6 for IPv4 and IPv6 (or 5 and 6 as done in SCTP, :->), or simply 4 and 16 (and then call this field "Old IP Address Length"), so the calculation of the position is easier to do...

	Instead of using the second 16-bit Reserved field, you could use the first one. Or use only one byte of that second Reserved field, so you still have space to include more fields in the future...

	In my opinion, giving support only for IPv4 is somehow shortsighted... :-/. Note than I'm not an expert at all in DCP and I might be saying something silly.

	Thanks!

	BR Iván Arias Rodríguez

_______________________________________________
dcp mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/dcp

---

From: Eddie Kohler <[email-masked]>
Date: Sat, 04 May 2002 10:18:36 -0700

Hi Ivan,

> Obviously, there is no support for IPv6 addresses...

You're right; that was an oversight. Derek Fawcus brought this up a couple
weeks ago. Our current working draft changes the DCCP-Move packet format
much like you suggest.

Eddie

---

From: Derek Fawcus <[email-masked]>
Date: Sat, 4 May 2002 20:14:13 +0100

> weeks ago. Our current working draft changes the DCCP-Move packet format

Actually I don't like that whole approach (of embedding the address there).

Mind I don't have a better suggestion at the moment,  just a vague idea
which I need to think about a bit more.

I'd prefer some mechanism whereby a varient of the DCP-Request message
could be used to add another address to an existing connection.  This
would then give both multihoming support and mobility support (by sending
a DCP-Close once the new address has been added).

This would obviously require some way to identify the connection without
embedding the existing address pair.  Possibly a varient on the mobility
nonce that can encompass more info.

DF

---

From: Eddie Kohler <[email-masked]>
Date: Sat, 04 May 2002 13:32:47 -0700

> a DCP-Close once the new address has been added).

In some mobility scenarios, the mobile host couldn't send a DCCP-Close from
its old address without spoofing. That aside, how different is this idea
from DCCP-Move? I think of DCCP-Move like a simultaneous open and close.
What does your plan buy us except for no embedded addresses?

Eddie