Hi DCCPers,

In Montreal, we had a discussion about what service codes should be used by 
apps using DTLS over DCCP.  The discussion was inconclusive, and we decided to 
continue it on the list, so let's do it :-).

Remember that the Service Code is a field in DCCP-Request packets that 
"Describes the application-level service to which the client application wants 
to connect." (from RFC4340).

This is complicated because we're moving from a world where apps are identified 
by ports to a world where they're identified by service codes -- and just what 
do ports mean in this world?.  Well-known ports are useful; they allow you to 
connect without some sort of extra lookup.  But if you have a well-known port 
for an app there's going to be the tendency to identify it by that.  And what's 
the difference between a well-known port and a well-known service code?  Why do 
we have ports?

Personally, my view is that service codes should identify apps, and ports allow 
you to run multiple instances of an app on a server or client.

Then there's the question of whether App A running over DCCP is different from 
App A running over DTLS/DCCP.  My conclusion is that they are different, 
because the app over DTLS/DCCP can offer more services/functions 
(confidentiality and authentication) than the app over just DCCP (unless these 
functions were built directly into the app, and then why bother with DTLS?).  
HTTP and HTTPS (and SIP and SIPS) use different URIs because they offer 
different services -- similar, sure, but different in some details.  I would 
expect apps that use DCCP to similarly offer different URIs for DTLS or not.

So given that, here's some proposed text as a straw man:

"An application using DTLS over DCCP MUST register a new service code for the 
combination."

Tom P.

Reply via email to