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

Re: [dccp] Re: wildcard service code?



On Wed, Nov 23, 2005 at 08:27:28AM -0800, Eddie Kohler wrote:
> were intending to contact.  Think of a NAT, for example; a NAT that  
> changed payload could work for connections using nonstandard ports,  
> if it knew which app was running on which port.

I think the service code is a very good idea for the NAT case.  However, since
some service codes mangle the payload, when I write my new application, I will
have to choose a random service code which doesn't, for my application to work.

> But if most connections on the Internet have the default Service  
> Code, we will never know how much Service Codes could have helped.   
> This is why I'm pushing back.

Similary you will never know if they didn't help as you are forcing people to
use them =D  Perhaps the NULL service code will emerge naturally since not all
applications writers want to interact with the Service Code allocation
authority.

TCP's port number is needed for practical purposes [de-multiplexing].  However,
the Service Code is just polishing the protocol, therefore I believe there
should be a way of making sure it doesn't interact with your application.

> Again, there's always Service Code 0, which "represents the absence  
> of a meaningful Service Code".  This should be the default, if you  
> desperately want a default.  A Linux- or DCCP-specific default  
> Service Code would be strictly worse than 0.

Shouldn't this be made explicit?  This way an application writer knows that by
using service code 0, no one will modify / drop the payload [unless explicitly
configured].

In practice, everyone will probably start using the WWW SC since it will be the
only one which doesn't get dropped blindly or gets mangled [perhaps a
transparent proxy on the way might do strange stuff].

> application.  For instance, Section 14 says that "fragmentation  
> SHOULD NOT be the default", meaning that DCCP should by default  
> refuse to send any datagram that would lead to a packet larger than  
> the MTU.  Although an implementer might ignore this advice, that  
> would be a shame, since it will lead to worse-performing applications  
> in the end.

Yes agreed.  But the service code doesn't contribute to performance and may
become a niusance for a "I am not patient" developer [which probably shouldn't
code at all =D ].