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

FW: [dccp] Re: wildcard service code?



 

>-----Original Message-----
>From: Moltchanov Vladimir (Nokia-NRC/Helsinki) 
>Sent: 23 November, 2005 09:33
>To: 'ext Eddie Kohler'
>Subject: RE: [dccp] Re: wildcard service code?
>
>Hello, all.
>
>As it was mentioned already, its not a big deal to add a line 
>in the code to set this service code. However, it IS different 
>from TCP or UDP style and that's not good, since many will hit 
>this corner at least once before it will become a general 
>knowledge. Then the question: which service code to use? 
>
>
>(quote)
>Each DCCP-Request contains a 32-bit Service Code, which identifies
>    the application-level service to which the client application is
>    trying to connect.  Service Codes should correspond to application
>    services and protocols.  For example, there might be a Service Code
>    for SIP control connections and one for RTP audio connections.
>    Middleboxes, such as firewalls, can use the Service Code 
>to identify
>    the application running on a nonstandard port (assuming the DCCP
>    header has not been encrypted).
>(/quote)
>
>I understand, that service codes are not personal (like 
>application codes in Symbian OS, for example) but a dupplicate 
>of a protocol port on a different level. I am quite sceptical 
>about automatic firewall tunneling by using this approach, 
>cause I can already see a spyware app sending an RTP request 
>on a non-standard port. So, there still should be some sort of 
>management of ports that could be non-standard for a certain 
>services on a FW. So there is no mandatory need for an 
>application that doesn't intend to go via specific firewall to 
>use a specific service numeber, then. 
>
>So, why not to have a default "private use" number that is set 
>automatically by default OR, since those service numbers are 
>not DCCP-only, to apply and to reserve a DCCP_GENERAL_SERVICE 
>number which would be the default one?
>
>B.R.
>Vladimir.
>
>
>>-----Original Message-----
>>From: dccp-bounces at ietf.org [mailto:dccp-bounces at ietf.org] On 
>Behalf Of 
>>ext Eddie Kohler
>>Sent: 22 November, 2005 22:04
>>To: Yoshifumi Nishida
>>Cc: dccp at ietf.org
>>Subject: [dccp] Re: wildcard service code?
>>
>>Hi,
>>
>>As we discussed previously, my preferred implementation would 
>have been 
>>to stick the Service Code in the sockaddr.  Then there wouldn't be an 
>>extra step to frustrate users.  You vetoed that, I forget why, but I 
>>wasn't convinced by your arguments.
>>
>>The lack of a Service Code wildcard is intentional.  As we discussed, 
>>we will not add a wildcard service code, since this would open a huge 
>>hole in the service code mechanism.  It would be better to remove 
>>Service Codes entirely, which we will not do.
>>
>>We would prefer that every application writer apply for, and use, an 
>>application-specific Service Code as soon as possible; so the current 
>>default, which encourages that behavior, is fine.  Although I would 
>>discourage this, the document does not prevent the Linux 
>implementation 
>>from starting up with Service Code 0; we say that Service Code 0 MUST 
>>NOT be *allocated*, not that it must not be used.
>
>
>
>
>>
>>Eddie
>>
>>
>>On Nov 22, 2005, at 11:05 AM, Yoshifumi Nishida wrote:
>>
>>>
>>> Eddie,
>>>
>>> Sorry, This might be too late to bring this up, but I have
>>one comment
>>> on service code. If I could have a little chance, I would
>>like to put
>>> this on the table and see what other people think.
>>>
>>> In section 8.1.2 of the draft-ietf-dccp-spec-12.txt, it says:
>>>
>>>   Service Code 0 represents the absence of a meaningful Service
>>>   Code, and MUST NOT be allocated.
>>>
>>> To comply with this, the linux implementation sets service
>>code to -1
>>> as the initial value and a program will get EPROTO if it
>>doesn't set a
>>> proper service code with setsockopt().
>>>
>>> (see: http://linux-net.osdl.org/index.php/DCCP#FAQ)
>>>
>>> It seems to me that this might cause a little confusion to some 
>>> application programmers.
>>>
>>> But, if we could have service code 0 as a wildcard service
>>code which
>>> indicates that the application doesn't care about the
>>service code and
>>> accepts any value of service code, we don't have to set a
>>service code
>>> if we don't need to use it.
>>> Or, if we could use service code 0 as the absence of a meaningful 
>>> service and use it as the initial value, we can get similar effect.
>>>
>>> I think we had better avoid mandatory use of setsockopt if it's 
>>> possible and a wildcard service code may be uselful in some 
>>> situations.
>>>
>>> Thanks,
>>> --
>>> Yoshifumi Nishida
>>> nishida at csl.sony.co.jp
>>> Sony Computer Science Laboratories, Inc.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>