Hi Gorry,
 
Section 1.1:
When you use the term "Well Known" port, do you mean just "Well Known" or "Well 
Known and Registered"?  The discussion about rendezvous ports would seem to 
apply to both ranges.
 
Is there such a thing as "Well Known Service Codes"?  As opposed to 
not-well-known?  Aren't all service codes well-known?
 
Section 2.1:
Why are you suggesting that the ephemeral ports should include 1024-49151?  So 
going back to above, that seems to be advocating only Well Known ports and 
eliminating Registered.  That doesn't sound like a good idea to me...
 
Section 2.7:
I'm not sure that I see the need for this, although as a general concept I 
guess it doesn't hurt and could be helpful.  However, the given algorithm 
produces ports that are in the dynamic port ranges and will conflict with 
assignments of ports for requests.  If we keep this hashing SCs thing, the 
results need to be between 1024 and 49151.
 
Section 3:
I think the heading "A sending host" is ambiguous.  Maybe something like "A 
DCCP Client" would be more clear (or "A host initiating a connection").
 
Section 3.2:
I don't think it's a good idea to open the door to allowing NATs to change 
Service Codes.  Maybe we could be strong and say NATs MUST NOT change Service 
Codes, or we should be totally silent and allow the BEHAVE document to say that.
 
Should the middlebox requirements be specified in the BEHAVE document, and not 
here?  I guess BEHAVE is just for NATs, and here we're talking about all 
middleboxes.  If we decide to keep these requirements here for that reason, 
then I think the middle one should be MUST NOT change Service Codes.
 
Section 3.3:
You list the four cases, but the fourth case includes a requirement and the 
others don't.  Shouldn't the other cases include requirements too?  Case 1 MUST 
be supported, cases 2 and 3 SHOULD or MAY?
 
The following section gives requirements, so probably the best thing is to 
eliminate the requirement from case 4 in the list.
 
It's unclear to me what portion of RFC 4340 is being updated?  Are you 
replacing the MUST, MAY lines with the update, or adding to them?  At any rate, 
I think the resulting text should explicitly define actions for each of the 
four cases you list above.
 
Section 3.3.1:
A middlebox may only need to create one pinhole for a connection to SCs on the 
same server port?  I don't see how this would be possible, unless it does the, 
I forget the term, but one of the "cone" connections used by UDP -- any 
incoming packet with the destination port gets through regardless of the source 
port and address.  That's reasonable for connectionless UDP but I don't think 
it's a good idea for connection-oriented DCCP.  The main point here though is 
that you can support more than the usual number of servers with DCCP, and the 
middlebox thing doesn't seem to be particularly relevant.  So probably the best 
thing is to remove the mention of middleboxes.
 
Section 3.3.2:
Is the requirement here a repetition  of an earlier req at a lower strength -- 
one port MAY be associated with multiple SCs as opposed to SHOULD in a previous 
req?
 
And what does "although only a single port is registered with IANA" mean?  Is 
there really any relationship between what's registered with IANA here?  Do you 
mean that only one port can be registered with IANA?
 
Section 6.2:
"IANA should normally assign a value above 1024" -- shouldn't that be "in the 
range 1024-49151"?
 
"IANA MUST NOT allocate more than one DCCP server port with single Service Code 
value" -- by this do you mean that a single Service Code can't be allocated to 
more than one port?  If so, maybe there's some clearer way to phrase it.
 
I don't like the idea of making the service name from the hexadecimal value of 
the Service Code.  It seems to me that service names are meant to human 
readable, and the hex value is anything but.
 
Tom P.

Reply via email to