Re: New draft :draft-ietf-dccp-serv-codes-01.txt

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

 



Thanks for your answers, I shall update this draft this weekend. I removed the items that I've now put it in the new rev. I have a few questions in-line, on some topics:

Gorry

Eddie Kohler wrote:
Gorry,

<snip>


=> "A Service Code of zero MUST only be accepted for servers that
   have no associated Service Code or are explicitly associated with the
   Service Code value of zero."
==> Delete "have no associated Service Code or". As RFC4340 and this draft state, every socket has at least one service code. An implementation may choose to supply a default of zero, of course, but that still associates a service code with the app
 >
On this we seem to be all at cross-purposes. My take is that RFC4340 says this is "permanently reserved (it represents the absence of a meaningful Service Code)".

Do we NEED to revise RFC4340 to allow use at all? and if so why?

RFC4340 doesn't prevent use. RFC4340 reserves two ranges of Service Codes: (1) the single service code SC=0, and (2) the range SC=1056964608 to SC=1073741823 (the Private Use range). These "reserved" codes are not allocated by the normal process, but they can still be used in the normal way.

Here's what RFC4340 means

- Service Code SC=0 means "no application info provided". It can be used in Requests and socket identification. It acts like any other Service Code;
>
That then is how the draft shall describe RFC4340.

it must match exactly and is not a wildcard, etc.
>
The term 'wildcard', relating to applications, seems to have caused problems - sorry for introducing this.

My immediate goal is to make sure I understand how RFC4340 should be read:

* If my understanding is correct, RFC4340 says exactly ONE application (we do not indicate which) can be associated with a specific SC of zero on a particular server port.

* Which set of ports do you expect SC=0 to be valid for? All?

The next rev will use this description of RFC4340.

However, at the moment, I can still see issues with multiple applications using SC=0. Is this indeed what we want: It would help me a lot, if you can propose a use-case where SC=0 is more useful than simply SC=?foo (with ?foo chosen by developer). The latter seems at least an attempt to assure both client and server are using what they this is the "?foo" service.


- Service Code SC=xFFFFFFFF is INVALID. Sockets should be prevented from using this SC; any Request with this SC is dropped. The Invalid Service Code is provided so implementations can use a special four-byte value to indicate "no valid service code". They can't use 0 because 0 IS a valid service code, meaning "no application info provided".

Right, that is now clear to me.


I am now suggesting: "This document clarifies section 19.8 of RFC 4340:
"Implementations MUST NOT permit applications to listen with a Service Code of zero"."

Disagree.

See above.

That is MUST reject connection using the reserved service code (zero), and MUST NOT permit applications to listen to this Service Code.

Disagree. We have SC=xFFFFFFFF for that. SC=0 is for "no application info provided".

I'll ammend.

5.1

=> I would cut this section. I disagree with it. In particular I do not think we should recommend a change in the way OSes allocate DCCP port numbers.

Could you say more?

I think that's really all I had to say. I see no reason to recommend a change in the way OSes allocate DCCP port numbers. I think changing this procedure from TCP/UDP/SCTP to DCCP,
>
To me (no WG Chair hat - just asking questions to get the draft correct), it seems we still have a (short) time to reflect on whether we got this right - we're seeing the first real applications emerge, and the first implementations that are near complete.

especially when they all share a port numbers registry, asks for confusion, with no corresponding gain of usability except something theoretical/religious.

The overloading of a registry with two different approaches would concern me to. If we go forward with any of the new ideas, the use of a single common registry would be something that would need to be thought through.

6

=> It does not make sense to allocate a single PERF service code for a number of different and incompatible applications ("e.g., iperf, ttcp, etc."). This allocation should be dropped or made more specific.

Well, yes and no. I can see why one would comment so from the host-side, the tools need different servers, hence different service codes.

I can see why this was suggested as a way to identify performance tests in the network and let such applications transit middlebox interfaces. Inventing a separate treatment for each perf test seems annoying.

The rationale cited to me is that SC=RTPV covers many different codecs that do alsorts of different things and are used by a range of incompatible applications. They all however carry video over RTP. So, is there a case for all test applications that try to measure performance be allowed to call them selves "SC=PERF". If not, why not?

RTP has common headers, I believe.
>
Indeed.

So a middlebox can DTRT with an RTPV service code; based on the service code the middlebox can parse the contents, to first order.
>
That for me is what service codes fundamentally mean. If the headers fundamentally differ, so should the service code. If middleboxes can't use the service code to differentiate parsers, what good is it for?

It can parse as far as it is able to interpret (seeing the SDP would help) - unless for example, it is encrypted.

I am still thinking: I think there *IS* still value in encrypted content being assigned an appropriate midbox treatment (based on SDP and/or SC) and then possibly also checking if it conforms to the expected characteristics.

That would seem to suggest to me, that knowing traffic was being used for benchmarking would be better than using a private SC. Clearly one separate SC for each performance tool/technique would also be possible, although in this case, I wonder if there is anything "more" in benchmarking headers that it would be worthwhile to parse.

Eddie

Gorry



[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