Tom,
The addition of service codes by DCCP allows us to break this demultiplexing/identifying duality. We can now say that the *exclusive* use of port numbers is for demultiplexing, and the *exclusive* use of service codes is for identifying applications. This implies a few rules:
We COULD say this, but why would we? It also goes against the language in the DCCP RFC, which explicitly allows a listening socket to be associated with multiple Service Codes. (Think HTTP/1.0 and HTTP/1.1.)
Similarly, the DCCP stack MUST understand Service Codes, as it is required to send an error if service codes don't match.
Gorry's draft should not be redefining the RFC in my opinion. On the other hand I still don't quite understand the goal of Gorry's draft.
Eddie
o Demultiplexing is based on the source and destination IP address and source and destination port numbers only, just as it is for the other connection-oriented transports. Only one application/socket can "listen" on a port number for incoming connection requests. o It is not necessary for the DCCP stack to know the service code associated with an application that is listening on a port number, since the DCCP stack is really only concerned with demultiplexing, not application identity. A DCCP stack SHOULD (MUST?) allow an application to check the service code in an incoming DCCP-Request and decide whether or not to proceed with the connection. A DCCP stack MUST NOT require an application to perform this check. A DCCP stack MAY (SHOULD?) allow an application to pre-specify the service code[s] that it will accept and process incoming DCCP-Requests based on that information. o A DCCP stack MUST allow an application to specify the service code to be used in DCCP_Request packets. o Applications MAY use well-known port numbers to facilitate client/server rendezvous. o Applications SHOULD register and use a service code specific to the application. o Devices, for example, firewalls, wishing to identify an application associated with a connection MUST use only the service code. Devices MUST NOT use port numbers to identify the type of application using a connection. Comments appreciated :-). Tom P.