Comments on draft-ietf-dccp-serv-codes-04

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

 



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.


[Index of Archives]     [Linux Kernel Development]     [Linux DCCP]     [IETF Annouce]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [DDR & Rambus]

  Powered by Linux