Thanks Tom for your quick reply. A few comments in-line, you can safely
assume I'd be happy with the changes where there is no comment - this is
starting to look good.
On 25/06/2010 16:24, Phelan, Tom wrote:
Thanks for the comments -- see inline...
From: dccp-bounces@xxxxxxxx [mailto:dccp-bounces@xxxxxxxx] On Behalf
Sent: Thursday, June 24, 2010 8:55 PM
Subject: [dccp] Comments on :draft-ietf-dccp-udpencap-01.txt
I have a few comments on rev -01 of the above draft,
I hesitate to use the words "This is the long-term objective for
since this can be seen as a euphemism for "never". I'd suggest we
actually need to promote this view by using the words "long-term".
[Tom P.] This was originally written when 5597 was just a gleam in
Remi's eyes and probably needs more major surgery. How about replacing
the two paragraphs starting with "In order for" with this:
[RFC5597] specifies how DCCP should be handled by NAT devices, but there
is a significant installed base of NAT devices that do not support
[RFC5597]. In the short term, it would be useful to have an
encapsulation for DCCP that is compatible with the installed base that
supports [RFC4787] but does not support [RFC5597]. This document
- One could even insert "yet" here, if you wish:-)
specifies that encapsulation, which is referred to as DCCP-UDP. For
convenience, the [RFC4340] encapsulation is referred to as DCCP-STD.
I like this text.
I wasn't meaning to add a story, I was more thinking of making sure that
readers new all the appropriate pieces...
Is there merit in the introduction pointing to RFC 5596 when
the goals for DCCP NAT traversal?
[Tom P.] I like the idea but I'm having trouble seeing how to include it
without making it seem like an arbitrary interjection -- it's one of the
many features of DCCP, albeit one that's important to NAT traversal, but
any way I think of phrasing it seems like arbitrarily mentioning one
One possible way could be to change the last sentence above to:
convenience, the [RFC4340] encapsulation (updated by RFC 5596 as
required) is referred to as DCCP-STD.
I'm not sure I understand the standards language here:
support for ECN might be impractical for some implementations.
implementations MAY choose to not support ECN."
- If this is "impractical" whatever that means, then they can choose
to? This seems odd, and seems to contradict later
- I would much prefer "Implementations SHOULD support ECN (see section
[Tom P.] I think this sentence can be removed from section 1.
OK, that would fix this for me.
Checksum: 16 bits
- I think the checksum field MUST be non-zero, if you over-riding the
DCCP checksum function, as per RFC 5405.
[Tom P.] I think you mean section 3 here, and I agree. Although I think
the place to mention that is in section 3.3 DCCP-UDP Checksum
" For DCCP-UDP, all generic header fields except for Checksum
as specified in [RFC4340]."
I think this could be better reworded:
"All generic header fields, except for the Checksum field have the
meaning as specified in [RFC4340]"
It could also be useful to say: "(including the update specified in
[Tom P.] OK
3.3.1. Minimum Checksum Coverage Feature
- I agree with not including special support for DCCP partial checksum
support. If you wanted to do this, you should have encapsulated in
UDP-Lite. It would be nice to think NATs will support UDP-Lite, but my
guess is that NATs are just as likely to natively support DCCP, If
does happen to prove wrong we can redefine UDP-Lite encaps for DCCP!
That said, I do not see why we need to also mandate this:
implementation MUST NOT send a "Change R(Minimum Checksum
value)" with any "value" other than 0, and MUST answer all "Change
R(Minimum Checksum Coverage, value)" with "Confirm L(Minimum
It is allowable for apps to call the API and say they are willing to
less checksum coverage, even if the links on the way do not support
as a special treatment. I'd argue that it's equally OK to negotiate to
use this, even though they happen to routed over a tunnel that will
discard all types of corruption. To me, this seems better to encourage
use of the function, so that when we go Native it can still be used (I
dislike the idea of different features for different transports).
[Tom P.] I put this in because I was uncomfortable with false
advertising, but I see your point. This section can be eliminated.
3.4 Explicit Congestion Notification
"(e.g., user-space implementations using the
- I guess this is a comment on Windows? - I'd rather not go there, we
have Linux stacks we have "used" where we set ECN on sockets. I'd
suggest we don't imply it has to be so, and say:
[Tom P.] Well, Windows and Linux are not the only operating systems out
there. Android, for example, doesn't support ECN via (the java
equivalent of) sockets.
Hey, I live in hope :-)
"(e.g., a user-space implementation that uses a socket interface that
does not support ECN)."
[Tom P.] But I do see your point. I suggest we eliminate talk of
practicality and replace the last paragraph with:
Implementations that do not support ECN MUST follow the procedures in
DCCP-STD section 12.1 for implementations that are not ECN capable.
That would work for me :-)
" There is one Service Code registry and one DCCP port registry and
they apply to all combinations of encapsulation and IP version. "
- I think was OK when the work started, but the proposed changes to
ports and services registry (about to be WGLC'ed in TSVWG) would make
this out of date.
" There is one Service Code registry and one DCCP port registration
that applies to all combinations of encapsulation and IP version. "
- It may be helpful to cite RFC 5595 (since service codes are
:-) alien to non-DCCP people).
[Tom P.] OK
I agree with the IANA instruction not to register variegates per
I'd however much prefer that we were to omit this last phrase:
the port registry supports multiple applications registering the
port (as long as the Service Codes are different), other
MAY register on the same port, but those registrations are also
applicable to all combinations of encapsulation and IP version."
- this would avoid ambiguity for the updated IANA procedure, since the
new procedure calls out how IANA should handle this in the TSVWG
[Tom P.] OK